|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Spell Support Broken Spells? Want them Fixed? Request it here. |
09-09-2011, 04:51 PM
|
Hill Giant
|
|
Join Date: Jan 2010
Location: Baltimore Maryland
Posts: 152
|
|
Beastlord Pet Illusion
Hoping someone might be able to help me with this one. I tried to change the race of a beastlord pet, namely BLpet39, went to npc types table and changed the race from 0 to XX (illusion #).
Won't work, did a search and came up with a post, something about the race determines pet in the global models or something? So how would you say, change the wolf to a eh. race 13, aviak without going crazy deep into coding?
__________________
Expletus / Volgar
|
09-09-2011, 05:10 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
If you look in Mob::MakePet you can see how Beastlord pets are made. Since they are a different race for each player race, some of the database information is overridden.
This is what you'd need to change:
Code:
//handle beastlord pet appearance
if(strncmp(pettype, "BLpet", 5) == 0)
{
switch(GetBaseRace())
{
case VAHSHIR:
npc_type->race = TIGER;
npc_type->size *= 0.8f;
break;
case TROLL:
npc_type->race = ALLIGATOR;
npc_type->size *= 2.5f;
break;
case OGRE:
npc_type->race = BEAR;
npc_type->texture = 3;
npc_type->gender = 2;
break;
case BARBARIAN:
npc_type->race = WOLF;
npc_type->texture = 2;
break;
case IKSAR:
npc_type->race = WOLF;
npc_type->texture = 0;
npc_type->gender = 1;
npc_type->size *= 2.0f;
npc_type->luclinface = 0;
break;
default:
npc_type->race = WOLF;
npc_type->texture = 0;
}
}
|
09-09-2011, 07:04 PM
|
Hill Giant
|
|
Join Date: Jan 2010
Location: Baltimore Maryland
Posts: 152
|
|
Alright, so it's in the /zone folder and I tried to edit it, hell I even took it out and nothing. I am even more confused now...
__________________
Expletus / Volgar
|
09-09-2011, 08:17 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
Did you recompile the code and update your server executables after you changed it?
|
09-11-2011, 11:27 PM
|
Hill Giant
|
|
Join Date: Jan 2010
Location: Baltimore Maryland
Posts: 152
|
|
Nope! I figured it would have something to do with re-compiling. If I take that whole section out, will that allow me to just change it in the npc types table for future use? Or would I have to recompile it every time I want to change the illusion?
Thank you for the assistance btw.
__________________
Expletus / Volgar
|
09-11-2011, 11:53 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
If you remove the code that is overriding the race then whatever is in the npc_types table would be used.
|
09-12-2011, 08:06 PM
|
Hill Giant
|
|
Join Date: Jan 2010
Location: Baltimore Maryland
Posts: 152
|
|
Worked (not that I doubted you)! Thank you very much!
__________________
Expletus / Volgar
|
09-12-2011, 08:51 PM
|
|
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
technically there is an easier way to go around this, if you looking to get rid of racial pet assignment.
You simply switch your pet summon spell type from warder to a regular pet, and this code never even triggers.
The only difference is, that you will loose "soandso warder" tag over the pet, and pet instead will get a name like Gabantik or the like.
|
09-12-2011, 09:03 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
I wouldn't really call that an easier way. You'd need to change all of the beastlord pet summoning spells as well as the data in the pets and npc_types tables to match to get around the name check in the code. Definitely a bigger job than the 5 minutes it takes to comment out a few lines of code.
|
09-12-2011, 09:29 PM
|
|
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
not for me - this is more like 30-60 sec with a good sql query
and you only need to replace warder summon type with a regular summon type - npc_types race edits are optional
+a bonus - no compiling headache
|
09-12-2011, 11:25 PM
|
Demi-God
|
|
Join Date: Aug 2010
Posts: 1,742
|
|
Except the effectid doesn't have anything to do with this. It is a string compare based on the name from the spell file, pet table, and npc_types table. They would need to be changed to avoid that code, and all must match.
Feel free to try your way and let us know how that goes.
|
09-13-2011, 12:26 AM
|
|
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
ok i see what you mean, its specifically checks for "BLpet" in the string.
still, i would prefer to run sql query that will swap "BLpet" with say "customX" rather than recompile the code.
But wait there is a 3rd way to do it
a perl script attached to spawning of a pet can also be used to alter its race
|
|
|
|
09-25-2012, 09:36 PM
|
Discordant
|
|
Join Date: Aug 2009
Location: 2131231231
Posts: 255
|
|
Does anybody know if this is still viable? I found the code in trunk/eqemu/zone/pets.cpp. Changed it to this but I still had human warders. I also did the globalload change for object6_Chr and I got the iksar warders but it messed up a lot of other classical models. Ghost wolves were froze sliding, skeletons frozen sliding, troll and ogre warders became wolves, and more.
I did recompile it with 0 errors and copied the files over as well.
Thank you.
Quote:
Originally Posted by lerxst2112
If you look in Mob::MakePet you can see how Beastlord pets are made. Since they are a different race for each player race, some of the database information is overridden.
This is what you'd need to change:
Code:
//handle beastlord pet appearance
if(strncmp(pettype, "BLpet", 5) == 0)
{
switch(GetBaseRace())
{
case VAHSHIR:
npc_type->race = TIGER;
npc_type->size *= 0.8f;
break;
case TROLL:
npc_type->race = ALLIGATOR;
npc_type->size *= 2.5f;
break;
case OGRE:
npc_type->race = BEAR;
npc_type->texture = 3;
npc_type->gender = 2;
break;
case BARBARIAN:
npc_type->race = WOLF;
npc_type->texture = 2;
break;
case IKSAR:
npc_type->race = WOLF;
npc_type->texture = 0;
npc_type->gender = 1;
npc_type->size *= 2.0f;
npc_type->luclinface = 0;
break;
default:
npc_type->race = WOLF;
npc_type->texture = 0;
}
}
|
|
|
|
|
09-25-2012, 09:59 PM
|
|
Demi-God
|
|
Join Date: Mar 2009
Location: Umm
Posts: 1,492
|
|
umm technically the code posted doesn't change anything - its what the pets suppose to be (unless current code is different)
what exactly you trying to achieve?
|
09-25-2012, 10:50 PM
|
Discordant
|
|
Join Date: Aug 2009
Location: 2131231231
Posts: 255
|
|
Trying to get the cat, alligator, and scalewolf warders to load instead of being humans. Its in classic type era, I am assuming thats the problem. I did the global6_chr addition to globalload but it messed up alot of the classic models. I didnt know if there was a way to force the models, and if this change was it. Apparently not lol.
I did however add these to my globalload and it gave me the models needed for the warders.
1,0,TFFF,fieldofbone_chr,Loading Characters
1,0,TFFF,emeraldjungle_chr,Loading Characters
1,0,TFFF,innothule_chr,Loading Characters
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 09:04 AM.
|
|
|
|
|
|
|
|
|
|
|
|
|