PDA

View Full Version : NPC Pets: I need your opinion


Angelox
09-10-2006, 12:27 AM
I'm considering making some changes to the default NPC pet list, I have some thoughts but not 100% sure.
It seems to me that most NPC through out the game do not carry pets. In fact, in Droga, Nurga, I don't recall seen any , I don't remember seen any pets in LoY Zones either. I do remember Magician pets in Najina. I'm thinking, just because the NPC is a caster (SK, Wizard, etc) doesn't mean he has to carry a pet.
A pet should be a "special" thing, that creates an impression on the player when he sees a caster *with* a pet too. Go to a place like Droga, and the whole zone is crowded with pets, it just doesn't look right.
I want to get my Live account active and verify, but Im out of money for a while.
What do you all think about this?

eq4me
09-10-2006, 03:01 AM
Yes, not every pet capable caster NPC should cast a pet by default.

The info at Allakhazam can help you to find out what NPC in what zone has a pet.

http://eqbeastiary.allakhazam.com/zonelist.html

Look for "<NPC> pet"

Eg. in Old Sebilis:
...
froglok krup mage
froglok krup mage pet
...
Tolapumj
Tolapumj pet

Anyone knows how EQEmu determines if and how a NPC gets a pet?
I did have a look into the table npc_types but didnt see anything resembling an 'has_pet = 0/1' entry.

Btw.: According to Allakhazam there are no pets in droga.

Aramid
09-10-2006, 04:07 AM
This is just a thought off the top of my head!

I would think that these NPC's have a Spell Set assigned to them? As a test, remove their spell set and see if they still cast a pet! If not, then an adjusted spell set may be the key for these NPC's

Going to answer this myself. It works. If they have a Pet Spell assigned to them, their going to cast it.....

I removed the Spell ID off an NPC in The Nexus who always cast a Pet Spell, when I removed her Spells, she no longer had a pet.

So, you will have to make New Spell Lists for these NPC's without any Pet Spells in the list. If you remove pet spells from the Default Lists, no one will have a pet that uses that Spell Set.

Angelox
09-10-2006, 04:14 AM
Anyone knows how EQEmu determines if and how a NPC gets a pet?
I did have a look into the table npc_types but didnt see anything resembling an 'has_pet = 0/1' entry.

Btw.: According to Allakhazam there are no pets in droga.

Here's how I see it, and I could be wrong, because I have't tried it or studied it yet;
All npc's have a default list of spells for each class. Normally, if you make a wizard, you give him the wizards default list. These lists are in npc_spells_entries, and npc_spells. If you notice, there *are* specific spell lists made for specific npcs.
So the thing to do, would be to alter all default class/spell lists and remove all pet references.
Then make special lists for special mobs, that would include pets, or whatever else they need.
Since most caster npc's do not carry pets, you'd have a lot less work to do, if the defaults were changed.

vales
09-10-2006, 07:40 AM
That sounds awesome. I think it'll work, but what do I know. :p

One thing I've noticed though, is that if you leave PerisitentZoneState to 1 in the variables section, NPCs won't keep buffing and casting pets when you zone in. Seems like the buffs they have already cast on themselves carry over when you zone in or reboot the server. However, if you leave this option on you get strange things at the safe locs when you zone in. Some of the names are SumSword, SkelPet, SumFireR, etc. They're all in the pets tables. Also, if you leave this on and reboot the server and a player has already has summoned a pet, the pet is detached from the player now. This happened to my wizard's familiar, and I haven't tested it yet with other pets for Shamans, etc.

This would be awesome if it was working. I just made a Dark Elf Mage last night and I couldn't even see anything when I spawned in the game. The spawn point has multiple casters and they pretty much all had pets. You can imagine what a nightmare it was to even hail, train or even find the NPC down there. :p

fathernitwit
09-11-2006, 02:10 AM
yes, NPCs cast pets because they have the pet spell in their spell set. The best course of action would be to make a new spell set for each pet class which has the default list as a parent list, and move all the pet spells into that list. Then assign that list to each NPC which should get a pet.

This would take a bit of work but I think it would be worth it. I think PEQ would be interested in this work if you do it, so if you want to contribute it, make sure you log your SQL updates somehow. PEQ editor would log all these actions if you used it.

Angelox
09-11-2006, 12:01 PM
I fixed/updated the pet-caster situation on my DB;

Now there is a "default" caster-npc spellset with NO pets, and new "default" pet/caster npc spell sets. If you look in Najena, you'll see the magicians there have pets, but no pets in Droga. etc. I just set the Nagena pet- casters, still a lot of work left.

Angelox
09-11-2006, 12:25 PM
yes, NPCs cast pets because they have the pet spell in their spell set. The best course of action would be to make a new spell set for each pet class which has the default list as a parent list, and move all the pet spells into that list. Then assign that list to each NPC which should get a pet.

This would take a bit of work but I think it would be worth it. I think PEQ would be interested in this work if you do it, so if you want to contribute it, make sure you log your SQL updates somehow. PEQ editor would log all these actions if you used it.

I don't have these records, but I can explain to you how I did this, it's fast and easy, just took me a while to "dream it up";
first , I dumped the table/rows I would be re-numbering into an sql file - http://www.nahunta.org/~angelox/files/DefaultSpells.sql
Then, if all npc spells are still same in PEQ, this will work, else you have to fix the numbers:
UPDATE npc_spells_entries SET id=id+1614 WHERE (npc_spells_id>=1 AND npc_spells_id<=12);
UPDATE npc_spells_entries SET npc_spells_id=npc_spells_id+212 WHERE (id>=1615 AND id<=2725);
UPDATE npc_spells SET id=id+212 WHERE (id>=1 AND id<=12);

Now, since my defaults have been moved to the higher numbers, I have the original rows clear, so I can re-insert the original rows i dumped in DefaultSpells.sql. Next, I delete the pets from the first group of defaults;
http://www.nahunta.org/~angelox/files/SpellsDelete.sql
Now all I had left to do was rename the new groups of spellsets i made into something like "DefaultPetWizardSpells".

John Adams
09-11-2006, 02:58 PM
Cool, it was annoying seeing every mage-based NPC in Nexus with pets flying around. I did exactly that to test, by switching their class to something else and removing their Spell set. No pets.

Angelox, not sure if anyone mentioned, but in Live, I seem to recall certain times when you would aggro (hit) an NPC that was a pet class, and Poof - a pet would step out of the shadows (like insta-cast or something). Not sure that's important, but it may be why visually speaking we do not see pets just because an NPC is spawned.

Maybe?

Angelox
09-11-2006, 10:02 PM
Cool, it was annoying seeing every mage-based NPC in Nexus with pets flying around. I did exactly that to test, by switching their class to something else and removing their Spell set. No pets.

Angelox, not sure if anyone mentioned, but in Live, I seem to recall certain times when you would aggro (hit) an NPC that was a pet class, and Poof - a pet would step out of the shadows (like insta-cast or something). Not sure that's important, but it may be why visually speaking we do not see pets just because an NPC is spawned.

Maybe?

Magician class has a pet spell that does just that - probably what you saw. When the pet is not in "fight" mode, it turns invisible.