EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Archive::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=621)
-   -   a couple of skill-up fixes... (taunt & fd) (https://www.eqemulator.org/forums/showthread.php?t=12997)

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


All times are GMT -4. The time now is 06:51 PM.

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