SkyFire_548 icon indicating copy to clipboard operation
SkyFire_548 copied to clipboard

[SPELL/ROGUE] Nerve Strike

Open lingxDEV opened this issue 5 years ago • 2 comments
trafficstars

Description:

Nerve Strike not working

Current behaviour:

Doesn't apply the Nerve Strike debuff when Kidney Shot / Cheap Shot wears off the target.

Expected behaviour:

After a Kidney Shot or Cheap Shot ends, target should get the debuff.

Steps to reproduce the problem:

  1. Make a rogue,
  2. spec into Nerve Strike> Cheap Shot a target > wait till it wears off > see that no debuff is applied

SF rev. hash/commit:

Skyfire rev. 7f1a4abd1b9f+

SFDB version:

stable5

Operating system:

win10 64

lingxDEV avatar Sep 14 '20 13:09 lingxDEV

This is what I have so far - working as intended.

    ROGUE_SPELL_NERVE_STRIKE_AURA                   = 108210,
    ROGUE_SPELL_NERVE_STRIKE_REDUCE_DAMAGE_DONE     = 112947



// Called by Cheap Shot 1833, Kidney Shot 408
// Nerve Strike - 108210
class spell_rog_nerve_strike : public SpellScriptLoader
{
public:
    spell_rog_nerve_strike() : SpellScriptLoader("spell_rog_nerve_strike") { }

    class spell_rog_nerve_strike_AuraScript : public AuraScript
    {
        PrepareAuraScript(spell_rog_nerve_strike_AuraScript);

        void HandleRemove(AuraEffect const*, AuraEffectHandleModes mode)
        {
            if (!GetCaster())
                return;

            if (GetCaster() && GetTarget())
                if (GetCaster()->HasAura(ROGUE_SPELL_NERVE_STRIKE_AURA))
                    GetCaster()->CastSpell(GetTarget(), ROGUE_SPELL_NERVE_STRIKE_REDUCE_DAMAGE_DONE, true);
        }

        void Register()
        {
            AfterEffectRemove += AuraEffectRemoveFn(spell_rog_nerve_strike_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_MOD_STUN, AURA_EFFECT_HANDLE_REAL);
        }
    };

    AuraScript* GetAuraScript() const OVERRIDE
    {
        return new spell_rog_nerve_strike_AuraScript();
    }
};



new spell_rog_nerve_strike();



INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES ('408', 'spell_rog_nerve_strike');
INSERT INTO `spell_script_names` (`spell_id`, `ScriptName`) VALUES ('1833', 'spell_rog_nerve_strike');

lingxDEV avatar Sep 27 '20 13:09 lingxDEV

this is not correct you should script the dummy aura of spell 108210 instead of hacking kidney or cheapshot spells.

AriDEV avatar Sep 28 '20 05:09 AriDEV