#1
|
|||
|
pet agro issue
First of all I would like to thank you guys for fixing the rooted mob issue where pets ignore them.
I encountered something new today while in Oasis. I pulled a mob and pet was attacking it, got it down to about 10% and the mob started hobbling away. At that time a seond mob agroed the pet and the pet stopped figthing the mob that was trying to get away and turned its attention on the new mob. Now what should happen is the pet finishes off it's current target before attacking something else but my pet just decided to switch targets and this is a behavior I have never seen before in an Enchanter Animation. If it means anything my pet was the level 16 spell and the mobs were a Dervish Cutthroat and an orc warrior of some sort. | ||
#2
|
|||
|
A mob fleeing, will return true on the fear check, and it will dump it from aggro checks (or move it to a minimum value of 0). If there is more than one mob on the aggro list, it will take the non-feared mob, no matter how low the HPs of the feared mob.
There is normally code to increase aggro for a mob low on HPs, but since it is fleeing, it will not get applied. For this to work, we need to change the fear check part of the code to only work with feared clients. So in hatelist.cpp, function "Mob *HateList::GetTop(Mob *center)" Change this: Code:
if(cur->ent->DivineAura() || cur->ent->IsMezzed() || cur->ent->IsFeared()){ if(hate == -1) { top = cur->ent; hate = 0; } iterator.Advance(); continue; } Code:
if(cur->ent->DivineAura() || cur->ent->IsMezzed() || (cur->ent->IsFeared() && cur->ent->IsClient())){ if(hate == -1) { top = cur->ent; hate = 0; } iterator.Advance(); continue; } Then when it gets to the low HP check in the code, it will add 100% aggro on the low HP mob, the way it normally would. Haynar | ||
Last edited by Haynar; 11-23-2009 at 11:38 PM..
Reason: Edited for clarity
|
#4
|
|||
|
It is a different issue for clients.
For clients, it will just add 100% to your current aggro on the hate list. If that is not enough to move you to the top, then it wont. It would be possible, to make it go crazy for someone low on HPs. The way i would do it, would be for client checks, if you are <20% hps, it moves you to the top of the list for aggro. Putting the lowest of all those <20% at the top. It would be a pretty easy fix. If you just barely put the client to the top, with low HP aggro, then you have a chance at not dying if you get a heal. The way it currently is written is just doubles your hate. If the admins say how they want it to work, I will put them some code together. Haynar | ||
#5
|
|||
|
What have I done?!?!
| ||
#6
|
|||
|
Yeah, pet honestly shouldn't be capable of saving you from LHPA. I'll do some testing and see if I need to crank that amp to 11 in the DB...to coin a phrase.
| ||
#7
|
||||
|
Quote:
Never played a mage in classic so I didnt know that this was not functioning correctly. Well, I thought it was a little too easy heh.
__________________
Firal - Erudite Magician
My Classic EQ info sourceJust to avoid waiting for archive.org to load focused on zone item listing and zone map. | |||
#8
|
|||
|
When you're getting chased non-stop for pulling a mob using a level 1 spell and I loose 40% health before pet can gain agro, it's not "too easy". Well, that's how it goes with chanters anyway. At least now I can root without pet loosing interest which is great!
EDIT: Granted this doesn't happen all the time, just when I'm low on mana to begin with. I think the devs added a few Murphy's Law equasions into the codebase. [You must be logged in to view images. Log in or Register.] | ||
Last edited by guineapig; 11-24-2009 at 12:18 PM..
|
#9
|
|||
|
I love how you guys are asking to get nerfed. Sweet.
| ||
|
|