Project 1999

Go Back   Project 1999 > Server Issues > Resolved Issues

Closed Thread
 
Thread Tools Display Modes
  #1  
Old 10-20-2009, 11:53 AM
Feittin Feittin is offline
Large Rat


Join Date: Oct 2009
Posts: 6
Default

I looked at the code on project eq svn for Taunt while I was looking into Endurance today, and learned a few things. This is only relevant if p1999 hasn't modified the Taunt logic from what was on project eq. I am playing a warrior I find that sometimes I can taunt mobs off others, and sometimes I cannot. So I am not sure if I am seeing the exact same results as you.

Here are the elements I looked into that make up taunt:

1. Hate Added From Attacking - Every attack adds hate even if the attack misses, is blocked, etc. The hate added is according to the the maximum weapon damage. This also includes DW and DA, so if you do two attacks, then your hate is bumped up two times that round according to weapon damage.

2. Taunt Skill - Taunt performs different logic depending on key conditions:

Move to Top of Hate List
Conditions:
A. Not already at top of hate list
B. Targeted mob is not at 20% hp or below
C. Mob's level is less than your level

If conditions A, B, and C above are all met, then there is a probability that you will move directly to the top of the hate list. This probability increases depending on the level difference between you and the mob.

Code:
int level_difference = level - who->GetLevel();
if (level_difference <= 5) {
        tauntchance = 25.0;     // minimum
        tauntchance += tauntchance * (float)GetSkill(TAUNT) / 200.0;    // skill modifier
        if (tauntchance > 65.0)
                tauntchance = 65.0;
}
else if (level_difference <= 10) {
        tauntchance = 30.0;     // minimum
        tauntchance += tauntchance * (float)GetSkill(TAUNT) / 200.0;    // skill modifier
        if (tauntchance > 85.0)
                tauntchance = 85.0;
}
else if (level_difference <= 15) {
        tauntchance = 40.0;     // minimum
        tauntchance += tauntchance * (float)GetSkill(TAUNT) / 200.0;    // skill modifier
        if (tauntchance > 90.0)
                tauntchance = 90.0;
}
else {
        tauntchance = 50.0;     // minimum
        tauntchance += tauntchance * (float)GetSkill(TAUNT) / 200.0;    // skill modifier
        if (tauntchance > 95.0)
                tauntchance = 95.0;
}
Add Hate
Regardless of whether the conditions to move to the top of the hate list above are met or not, an additional amount of hate is always randomly added for yourself when you use Taunt. This is a random value multiplied by your level.

Code:
who->CastToNPC()->AddToHateList(this, (MakeRandomInt(5, 10)*level));

So basically it means that warriors should always press taunt whenever it is available to add hate, especially when you are fighting even con mobs or higher. It also means that when fighting blue or green cons, there is a chance that no matter how much hate others have registered if you walk up and taunt the mob you will immediate be at the top of the hate list. For even and higher mobs...just keeping on spamming. Can anyone confirm p1999 source for taunt is similar to this one?

I should add that the above is just considering hate generation from the warrior. For the full picture we would have to look at how hate is generated for casters and how mobs react to their hate list, since there could be something that is causing the hate to not work as expected in those areas.
Last edited by Feittin; 10-20-2009 at 12:08 PM..
  #2  
Old 10-20-2009, 01:32 PM
scumbag scumbag is offline
Scrawny Gnoll


Join Date: Oct 2009
Posts: 21
Default

I think Nagrak's test shows that it's not working like the code in the default eqemu. I've definitely noticed my threat generation sucks even though I'm somewhat twinked out. I'll do some of my own tests later when the server is back up to verify.
[You must be logged in to view images. Log in or Register.]
Last edited by scumbag; 10-20-2009 at 01:35 PM..
Closed Thread


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 08:56 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 - 2025, Jelsoft Enterprises Ltd.