Pets breaking mez and not aggroing targets
I've ran a few tests with this and so far I'm having these two issues.
Pets & Mez: If a pet is targeting a mob and you mez it, he will continue attacking. If a mezzed mob that your pet is not attacking happens to be on your pet's hate list, he will eventually switch to the mezzed mob and attack it, breaking mez. Pets should be avoiding mezzed mobs and telling you they cannot attack mezzed targets. Pets & Aggro: Pets are only storing one assist target at a time. If you send pet to attack a mob, but then get attacked by a different mob, the pet will not attack that second mob unless you manually tell it to OR that mob lands a hit on you (or the pet) AFTER the first mob is dead. This is true no matter how many mobs are pulled. In my tests I pulled waves of mobs and the pet would kill the first one that hit me, then reset back to my side until another hit landed. The way it should work is pet will gain all mobs that hit it's owner onto it's hate list and attack in order of hate built. |
I noticed this too, the former really irritates since I don't have pet hold yet!
|
I'm assuming this is standard player pets and not bot pets.
I thought this had come up before and been addressed. |
Yes, normal pc pets. Especially annoying for enchanters; the pet is mostly useless anyway but now your own pet breaks mez- basically you can't run a chanter with a pet.
|
Yep normal pets. No mercs or bots on my server.
I also tested all variations earth/water/necro/enchanter/etc (not like it matters) and various levels of pet. |
I think I see what's going on...
Gonna take modifying several functions with this - I'll work on this tonight. |
Quote:
|
I honestly don't have a full grasp of the hate list system as yet...
But, I did manage to add a few lines that will stop an attacking pet from breaking a newly mezzed mob - so, I know it can be done. I'll keep messing with this and see what comes of it. Problems with this approach: - All pets are affected (npcs as well) - Pet does not return to owner while pet's hate list is populated - If Mob::hate_list is ever accessed without pet being center/hater, the exclusion rules are not observed |
Ok, I do have some modified code that will allow hate list checks with an optional 'ignore_mezzed' argument.
It's a little different than my original approach..but, is probably a better solution. Pets (all) will select a new target if their current one is mezzed..or will return to their owners side instead of standing there gawking at a mezzed mob. Unfortunately, I'm hitting the 'single mob on hatelist' problem atm and am looking into that. (Not sure if I can modify that without actually finding it first...) EDIT: I tested using pet:attack and was able to get a second mob added to the hate list. If the more hated mob is mezzed, and then breaks, the pet will switch to the more hated one. I think the auto-add problem is related to IsFocused() and/or other specialized code. |
I have a more refined branch started here: [deleted branch]
..if anyone would like to experiment with/test it. I'm a little hesitant to arbitrarily add mobs to the hate list without knowing a little more about pet behavior/aa specializations. As-is: - multiple hate entities added through pet->attack still work as normal - any mezzed entity will not be attacked by the hating pet - pets will return to their owners side if no non-mezzed targets are available - all HateList::GetEnt## functions have been modified to accept an 'ignore_mezzed' parameter (only two are actively used atm) |
Here's a more recent 'dev' branch of this work: https://github.com/EQEmu/Server/tree...ezzable_combat
Pets actually do return to owner this time (instead of ghosting off...) Feel free to test it and provide feedback :D |
This was on my list to look at and get a resolution, hitching a ride on the thread :)
|
One thing I do notice with this code..
When a mob is mezzed and a mem-wipe is associated/performed, the mob wanders off correctly..but, the pet will re-agro. Not sure if that is the desired behavior..but, there is a newer pet AA that will mem-wipe the pet, alleviating this problem. |
All times are GMT -4. The time now is 01:10 PM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.