Project 1999

Project 1999 (/forums/index.php)
-   Bugs (/forums/forumdisplay.php?f=6)
-   -   Game Mechanics: pet agro issue (/forums/showthread.php?t=1147)

guineapig 11-23-2009 09:51 PM

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.

Haynar 11-23-2009 11:11 PM

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;
                }

To this:
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;
                }

This will stop it from ignoring the hate list for any mob feared or fleeing, since both return true on the IsFeared().

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

Jify 11-23-2009 11:36 PM

Anyone notice that PC's don't get low HP agro either? I've successfully dumped agro onto my pet at 2% HP and crawled far enough to gate before. Shouldn't be able to, might be the same deal.

;)

Haynar 11-23-2009 11:47 PM

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

guineapig 11-24-2009 08:30 AM

What have I done?!?!

Aeolwind 11-24-2009 11:56 AM

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.

Takshaka 11-24-2009 12:08 PM

Quote:

Originally Posted by guineapig (Post 6752)
What have I done?!?!

yeah seriously man... now I wont be able to have my pet save me as it has on a number of occasions when I am at like 4-5% hp.

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.

guineapig 11-24-2009 12:15 PM

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. :p

Insidious 11-24-2009 03:28 PM

I love how you guys are asking to get nerfed. Sweet.

Aeolwind 11-24-2009 03:47 PM

Quote:

Originally Posted by Insidious (Post 6859)
I love how you guys are asking to get nerfed. Sweet.

Yeah, this is a bit too easy. It's like fishing with dynamite. You feel that it is wrong, but you immediately light another stick.


All times are GMT -4. The time now is 02:05 AM.

Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.