Log in

View Full Version : a couple of skill-up fixes... (taunt & fd)


nattini
04-10-2004, 01:08 PM
these are just a few minor fixes I've made to a couple of skills that i noticed weren't raising as expected. here are the relevent snip-its... the changes are commented, but its pretty obvious.

1) taunt skill was only checked for skillup if you were not already #1 on the hate list... so when soloing, (or when tanking) you would never see a skill up. *sidenote: its possible that even when 1st on the hate list, taunt should do something though

client_process.cpp line starting ~2477:

case OP_Taunt: {
if (this->GetTarget() == 0)
break;
if (!this->GetTarget()->IsNPC())
break;
sint32 newhate, tauntvalue;
if (app->size != sizeof(ClientTarget_Struct)) {
cout << "Wrong size on OP_Taunt. Got: " << app->size << ", Expected: "<< sizeof(ClientTarget_Struct) << endl;
break;
}

// nattini: moved skillup check before GetTopHate() check- otherwise no skillup while soloing
CheckIncreaseSkill(TAUNT);

// Check to see if we're already at the top of the target's hate list
if ((target->CastToNPC()->GetHateTop() != this) && (target->GetLevel() < level))
{
// no idea how taunt success is actually calculated
// TODO: chance for level 50+ mobs should be lower
float tauntchance;
int level_difference = level - target->GetLevel();


2) feign death wasnt being checked for skillups... at all, as far as i can tell.

client_process.cpp starting line ~1190

case OP_FeignDeath: {
if(GetClass() != MONK)
break;
int16 primfeign = GetSkill(FEIGN_DEATH);
int16 secfeign = GetSkill(FEIGN_DEATH);
if (primfeign > 100) {
primfeign = 100;
secfeign = secfeign - 100;
secfeign = secfeign / 2;
}
else
secfeign = 0;

// nattini: added skill up check
CheckIncreaseSkill(FEIGN_DEATH);

int16 totalfeign = primfeign + secfeign;


enjoy!
-nattini