nattini |
04-10-2004 01:08 PM |
a couple of skill-up fixes... (taunt & fd)
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:
Code:
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
Code:
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
|