diff options
author | ariel- <ariel-@users.noreply.github.com> | 2018-02-08 23:18:45 -0300 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2021-06-19 23:33:25 +0200 |
commit | 3485cb38ed38aa241b6c6c19981c6df3e274e90c (patch) | |
tree | a2f8a7a7798175e296c3993e78899fc6e36936ee | |
parent | a22ffcc18a197eb024adb3c4db087d971e439f79 (diff) |
Core/Spells: remove 'Vanish Purge' hack, the spell is present on DB and is copy of one in vanilla DBC
Thanks to killerwife for the heads-up
(cherry picked from commit 303efcf0e4ee9ce3cfe308a3d6aa2aece1aa39da)
-rw-r--r-- | src/server/game/Spells/SpellEffects.cpp | 7 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_rogue.cpp | 99 |
2 files changed, 38 insertions, 68 deletions
diff --git a/src/server/game/Spells/SpellEffects.cpp b/src/server/game/Spells/SpellEffects.cpp index 69a37a4ebd1..79843c5d10f 100644 --- a/src/server/game/Spells/SpellEffects.cpp +++ b/src/server/game/Spells/SpellEffects.cpp @@ -635,13 +635,6 @@ void Spell::EffectTriggerSpell(SpellEffIndex /*effIndex*/) // special cases switch (triggered_spell_id) { - // Vanish (not exist) - case 18461: - { - unitTarget->RemoveMovementImpairingAuras(true); - unitTarget->RemoveAurasByType(SPELL_AURA_MOD_STALKED); - return; - } // Demonic Empowerment -- succubus case 54437: { diff --git a/src/server/scripts/Spells/spell_rogue.cpp b/src/server/scripts/Spells/spell_rogue.cpp index 033e8b255be..6141e0f1a41 100644 --- a/src/server/scripts/Spells/spell_rogue.cpp +++ b/src/server/scripts/Spells/spell_rogue.cpp @@ -431,80 +431,57 @@ class spell_rog_stealth : public SpellScriptLoader }; // 1856 - Vanish -class spell_rog_vanish : public SpellScriptLoader +class spell_rog_vanish : public SpellScript { - public: - spell_rog_vanish() : SpellScriptLoader("spell_rog_vanish") { } - - class spell_rog_vanish_SpellScript : public SpellScript - { - PrepareSpellScript(spell_rog_vanish_SpellScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_ROGUE_VANISH_AURA, SPELL_ROGUE_STEALTH_SHAPESHIFT_AURA }); - } + PrepareSpellScript(spell_rog_vanish); - void OnLaunchTarget(SpellEffIndex effIndex) - { - PreventHitDefaultEffect(effIndex); + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_ROGUE_VANISH_AURA, SPELL_ROGUE_STEALTH_SHAPESHIFT_AURA }); + } - Unit* target = GetHitUnit(); + void OnLaunchTarget(SpellEffIndex effIndex) + { + PreventHitDefaultEffect(effIndex); - target->RemoveMovementImpairingAuras(true); - target->RemoveAurasByType(SPELL_AURA_MOD_STALKED); - if (target->GetTypeId() != TYPEID_PLAYER) - return; + Unit* target = GetHitUnit(); - if (target->HasAura(SPELL_ROGUE_VANISH_AURA)) - return; + target->RemoveAurasByType(SPELL_AURA_MOD_STALKED); + if (target->GetTypeId() != TYPEID_PLAYER) + return; - target->CastSpell(target, SPELL_ROGUE_VANISH_AURA, TRIGGERED_FULL_MASK); - target->CastSpell(target, SPELL_ROGUE_STEALTH_SHAPESHIFT_AURA, TRIGGERED_FULL_MASK); - } + if (target->HasAura(SPELL_ROGUE_VANISH_AURA)) + return; - void Register() override - { - OnEffectLaunchTarget += SpellEffectFn(spell_rog_vanish_SpellScript::OnLaunchTarget, EFFECT_1, SPELL_EFFECT_TRIGGER_SPELL); - } - }; + target->CastSpell(target, SPELL_ROGUE_VANISH_AURA, TRIGGERED_FULL_MASK); + target->CastSpell(target, SPELL_ROGUE_STEALTH_SHAPESHIFT_AURA, TRIGGERED_FULL_MASK); + } - SpellScript* GetSpellScript() const override - { - return new spell_rog_vanish_SpellScript(); - } + void Register() override + { + OnEffectLaunchTarget += SpellEffectFn(spell_rog_vanish::OnLaunchTarget, EFFECT_1, SPELL_EFFECT_TRIGGER_SPELL); + } }; // 11327 - Vanish -class spell_rog_vanish_aura : public SpellScriptLoader +class spell_rog_vanish_aura : public AuraScript { - public: - spell_rog_vanish_aura() : SpellScriptLoader("spell_rog_vanish_aura") { } - - class spell_rog_vanish_aura_AuraScript : public AuraScript - { - PrepareAuraScript(spell_rog_vanish_aura_AuraScript); + PrepareAuraScript(spell_rog_vanish_aura); - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_ROGUE_STEALTH }); - } - - void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) - { - GetTarget()->CastSpell(GetTarget(), SPELL_ROGUE_STEALTH, TRIGGERED_FULL_MASK); - } + bool Validate(SpellInfo const* /*spellInfo*/) override + { + return ValidateSpellInfo({ SPELL_ROGUE_STEALTH }); + } - void Register() override - { - AfterEffectRemove += AuraEffectRemoveFn(spell_rog_vanish_aura_AuraScript::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); - } - }; + void HandleEffectRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) + { + GetTarget()->CastSpell(GetTarget(), SPELL_ROGUE_STEALTH, TRIGGERED_FULL_MASK); + } - AuraScript* GetAuraScript() const override - { - return new spell_rog_vanish_aura_AuraScript(); - } + void Register() override + { + AfterEffectRemove += AuraEffectRemoveFn(spell_rog_vanish_aura::HandleEffectRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); + } }; // 57934 - Tricks of the Trade @@ -699,8 +676,8 @@ void AddSC_rogue_spell_scripts() new spell_rog_killing_spree(); new spell_rog_rupture(); new spell_rog_stealth(); - new spell_rog_vanish(); - new spell_rog_vanish_aura(); + RegisterSpellScript(spell_rog_vanish); + RegisterAuraScript(spell_rog_vanish_aura); RegisterSpellAndAuraScriptPair(spell_rog_tricks_of_the_trade, spell_rog_tricks_of_the_trade_aura); RegisterAuraScript(spell_rog_tricks_of_the_trade_proc); new spell_rog_honor_among_thieves(); |