SkyFire_548
SkyFire_548 copied to clipboard
[SPELL/ROGUE] Nerve Strike
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:
- Make a rogue,
- 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
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');
this is not correct you should script the dummy aura of spell 108210 instead of hacking kidney or cheapshot spells.