Project 1999

Go Back   Project 1999 > Server Issues > Bugs

Reply
 
Thread Tools Display Modes
  #1  
Old 11-23-2009, 09:51 PM
guineapig guineapig is offline
Planar Protector

guineapig's Avatar

Join Date: Oct 2009
Posts: 4,028
Default 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.
__________________
Quote:
Originally Posted by nilbog View Post
Server chat is for civil conversation. Personal attacks/generally being confrontational will not be tolerated.
Reply With Quote
  #2  
Old 11-23-2009, 11:11 PM
Haynar Haynar is offline
Developer

Haynar's Avatar

Join Date: Oct 2009
Location: West of the Mississippi
Posts: 2,955
Default

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
Last edited by Haynar; 11-23-2009 at 11:38 PM.. Reason: Edited for clarity
Reply With Quote
  #3  
Old 11-23-2009, 11:36 PM
Jify Jify is offline
Fire Giant

Jify's Avatar

Join Date: Oct 2009
Location: Alberta, Canada
Posts: 697
Send a message via MSN to Jify
Default

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.

[You must be logged in to view images. Log in or Register.]
Reply With Quote
  #4  
Old 11-23-2009, 11:47 PM
Haynar Haynar is offline
Developer

Haynar's Avatar

Join Date: Oct 2009
Location: West of the Mississippi
Posts: 2,955
Default

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
Reply With Quote
  #5  
Old 11-24-2009, 08:30 AM
guineapig guineapig is offline
Planar Protector

guineapig's Avatar

Join Date: Oct 2009
Posts: 4,028
Default

What have I done?!?!
__________________
Quote:
Originally Posted by nilbog View Post
Server chat is for civil conversation. Personal attacks/generally being confrontational will not be tolerated.
Reply With Quote
  #6  
Old 11-24-2009, 11:56 AM
Aeolwind Aeolwind is offline
Developer

Aeolwind's Avatar

Join Date: Oct 2009
Location: Watauga, TN
Posts: 1,641
Send a message via AIM to Aeolwind Send a message via MSN to Aeolwind Send a message via Yahoo to Aeolwind
Default

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.
Reply With Quote
  #7  
Old 11-24-2009, 12:08 PM
Takshaka Takshaka is offline
Aviak


Join Date: Nov 2009
Posts: 82
Default

Quote:
Originally Posted by guineapig [You must be logged in to view images. Log in or Register.]
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.
__________________
Firal - Erudite Magician
My Classic EQ info sourceJust to avoid waiting for archive.org to load focused on zone item listing and zone map.
Reply With Quote
  #8  
Old 11-24-2009, 12:15 PM
guineapig guineapig is offline
Planar Protector

guineapig's Avatar

Join Date: Oct 2009
Posts: 4,028
Default

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.]
__________________
Quote:
Originally Posted by nilbog View Post
Server chat is for civil conversation. Personal attacks/generally being confrontational will not be tolerated.
Last edited by guineapig; 11-24-2009 at 12:18 PM..
Reply With Quote
  #9  
Old 11-24-2009, 03:28 PM
Insidious Insidious is offline
Orc


Join Date: Oct 2009
Posts: 44
Default

I love how you guys are asking to get nerfed. Sweet.
Reply With Quote
  #10  
Old 11-24-2009, 03:47 PM
Aeolwind Aeolwind is offline
Developer

Aeolwind's Avatar

Join Date: Oct 2009
Location: Watauga, TN
Posts: 1,641
Send a message via AIM to Aeolwind Send a message via MSN to Aeolwind Send a message via Yahoo to Aeolwind
Default

Quote:
Originally Posted by Insidious [You must be logged in to view images. Log in or Register.]
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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 10:41 AM.


Everquest is a registered trademark of Daybreak Game Company LLC.
Project 1999 is not associated or affiliated in any way with Daybreak Game Company LLC.
Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.