diff options
author | Matan Shukry <matanshukry@gmail.com> | 2021-02-27 14:56:41 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-27 13:56:41 +0100 |
commit | 1fa33b1dc87f04ff0184012b9aa1e90d1a968374 (patch) | |
tree | 8a6f5b14a59abb76750560c73bc314ad23ae1191 | |
parent | 18a82d980193e7a4ff6bfc8b896d765a7add1a49 (diff) |
Scripts/Spells: Removed unused warlock spell scripts (#26159)
-rw-r--r-- | sql/updates/world/master/2021_02_27_04_world_warlock_spells_remove_unused.sql | 13 | ||||
-rw-r--r-- | src/server/scripts/Spells/spell_warlock.cpp | 538 |
2 files changed, 13 insertions, 538 deletions
diff --git a/sql/updates/world/master/2021_02_27_04_world_warlock_spells_remove_unused.sql b/sql/updates/world/master/2021_02_27_04_world_warlock_spells_remove_unused.sql new file mode 100644 index 00000000000..f0520f15414 --- /dev/null +++ b/sql/updates/world/master/2021_02_27_04_world_warlock_spells_remove_unused.sql @@ -0,0 +1,13 @@ +-- Remove old unused spell scripts +DELETE FROM `spell_script_names` WHERE `ScriptName` IN +('spell_warl_bane_of_doom', +'spell_warl_conflagrate', +'spell_warl_demonic_empowerment', +'spell_warl_demon_soul', +'spell_warl_everlasting_affliction', +'spell_warl_fel_synergy', +'spell_warl_glyph_of_shadowflame', +'spell_warl_improved_soul_fire', +'spell_warl_nether_ward_overrride', +'spell_warl_shadow_ward', +'spell_warl_soul_leech'); diff --git a/src/server/scripts/Spells/spell_warlock.cpp b/src/server/scripts/Spells/spell_warlock.cpp index 16315308aed..c8ef3fdf238 100644 --- a/src/server/scripts/Spells/spell_warlock.cpp +++ b/src/server/scripts/Spells/spell_warlock.cpp @@ -35,43 +35,22 @@ enum WarlockSpells { - SPELL_WARLOCK_BANE_OF_DOOM_EFFECT = 18662, SPELL_WARLOCK_CREATE_HEALTHSTONE = 23517, SPELL_WARLOCK_DEMONIC_CIRCLE_ALLOW_CAST = 62388, SPELL_WARLOCK_DEMONIC_CIRCLE_SUMMON = 48018, SPELL_WARLOCK_DEMONIC_CIRCLE_TELEPORT = 48020, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELGUARD = 54508, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELHUNTER = 54509, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_IMP = 54444, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_SUCCUBUS = 54435, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER = 54443, - SPELL_WARLOCK_DEMON_SOUL_IMP = 79459, - SPELL_WARLOCK_DEMON_SOUL_FELHUNTER = 79460, - SPELL_WARLOCK_DEMON_SOUL_FELGUARD = 79452, - SPELL_WARLOCK_DEMON_SOUL_SUCCUBUS = 79453, - SPELL_WARLOCK_DEMON_SOUL_VOIDWALKER = 79454, SPELL_WARLOCK_DEVOUR_MAGIC_HEAL = 19658, - SPELL_WARLOCK_FEL_SYNERGY_HEAL = 54181, SPELL_WARLOCK_GLYPH_OF_DEMON_TRAINING = 56249, - SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME = 63311, SPELL_WARLOCK_GLYPH_OF_SOUL_SWAP = 56226, SPELL_WARLOCK_GLYPH_OF_SUCCUBUS = 56250, - SPELL_WARLOCK_HAUNT_HEAL = 48210, - SPELL_WARLOCK_IMMOLATE = 348, SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_BUFF_R1 = 60955, SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_BUFF_R2 = 60956, SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_R1 = 18703, SPELL_WARLOCK_IMPROVED_HEALTH_FUNNEL_R2 = 18704, - SPELL_WARLOCK_IMPROVED_SOUL_FIRE_PCT = 85383, - SPELL_WARLOCK_IMPROVED_SOUL_FIRE_STATE = 85385, - SPELL_WARLOCK_NETHER_WARD = 91711, - SPELL_WARLOCK_NETHER_TALENT = 91713, SPELL_WARLOCK_RAIN_OF_FIRE = 5740, SPELL_WARLOCK_RAIN_OF_FIRE_DAMAGE = 42223, SPELL_WARLOCK_SEED_OF_CORRUPTION_DAMAGE = 27285, SPELL_WARLOCK_SEED_OF_CORRUPTION_GENERIC = 32865, - SPELL_WARLOCK_SHADOW_TRANCE = 17941, - SPELL_WARLOCK_SHADOW_WARD = 6229, SPELL_WARLOCK_SOULSHATTER = 32835, SPELL_WARLOCK_SOUL_SWAP_CD_MARKER = 94229, SPELL_WARLOCK_SOUL_SWAP_OVERRIDE = 86211, @@ -128,40 +107,6 @@ class spell_warl_banish : public SpellScriptLoader } }; -// 17962 - Conflagrate - Updated to 4.3.4 -class spell_warl_conflagrate : public SpellScriptLoader -{ - public: - spell_warl_conflagrate() : SpellScriptLoader("spell_warl_conflagrate") { } - - class spell_warl_conflagrate_SpellScript : public SpellScript - { - PrepareSpellScript(spell_warl_conflagrate_SpellScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_WARLOCK_IMMOLATE }); - } - - // 6.x dmg formula in tooltip - // void HandleHit(SpellEffIndex /*effIndex*/) - // { - // if (AuraEffect const* aurEff = GetHitUnit()->GetAuraEffect(SPELL_WARLOCK_IMMOLATE, EFFECT_2, GetCaster()->GetGUID())) - // SetHitDamage(CalculatePct(aurEff->GetAmount(), GetSpellInfo()->Effects[EFFECT_1].CalcValue(GetCaster()))); - // } - - void Register() override - { - //OnEffectHitTarget += SpellEffectFn(spell_warl_conflagrate_SpellScript::HandleHit, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_warl_conflagrate_SpellScript(); - } -}; - // 77220 - Mastery: Chaotic Energies class spell_warl_chaotic_energies : public AuraScript { @@ -227,52 +172,6 @@ class spell_warl_create_healthstone : public SpellScriptLoader } }; -// 603 - Bane of Doom -/// Updated 4.3.4 -class spell_warl_bane_of_doom : public SpellScriptLoader -{ - public: - spell_warl_bane_of_doom() : SpellScriptLoader("spell_warl_bane_of_doom") { } - - class spell_warl_curse_of_doom_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_curse_of_doom_AuraScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_WARLOCK_BANE_OF_DOOM_EFFECT }); - } - - bool Load() override - { - return GetCaster() && GetCaster()->GetTypeId() == TYPEID_PLAYER; - } - - void OnRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) - { - if (!GetCaster()) - return; - - AuraRemoveMode removeMode = GetTargetApplication()->GetRemoveMode(); - if (removeMode != AURA_REMOVE_BY_DEATH || !IsExpired()) - return; - - if (GetCaster()->ToPlayer()->isHonorOrXPTarget(GetTarget())) - GetCaster()->CastSpell(GetTarget(), SPELL_WARLOCK_BANE_OF_DOOM_EFFECT, true, nullptr, aurEff); - } - - void Register() override - { - AfterEffectRemove += AuraEffectRemoveFn(spell_warl_curse_of_doom_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_warl_curse_of_doom_AuraScript(); - } -}; - // 48018 - Demonic Circle: Summon /// Updated 4.3.4 class spell_warl_demonic_circle_summon : public SpellScriptLoader @@ -361,142 +260,6 @@ class spell_warl_demonic_circle_teleport : public SpellScriptLoader } }; -// 77801 - Demon Soul - Updated to 4.3.4 -class spell_warl_demon_soul : public SpellScriptLoader -{ - public: - spell_warl_demon_soul() : SpellScriptLoader("spell_warl_demon_soul") { } - - class spell_warl_demon_soul_SpellScript : public SpellScript - { - PrepareSpellScript(spell_warl_demon_soul_SpellScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo( - { - SPELL_WARLOCK_DEMON_SOUL_IMP, - SPELL_WARLOCK_DEMON_SOUL_FELHUNTER, - SPELL_WARLOCK_DEMON_SOUL_FELGUARD, - SPELL_WARLOCK_DEMON_SOUL_SUCCUBUS, - SPELL_WARLOCK_DEMON_SOUL_VOIDWALKER - }); - } - - void OnHitTarget(SpellEffIndex /*effIndex*/) - { - Unit* caster = GetCaster(); - if (Creature* targetCreature = GetHitCreature()) - { - if (targetCreature->IsPet()) - { - CreatureTemplate const* ci = targetCreature->GetCreatureTemplate(); - switch (ci->family) - { - case CREATURE_FAMILY_SUCCUBUS: - caster->CastSpell(caster, SPELL_WARLOCK_DEMON_SOUL_SUCCUBUS); - break; - case CREATURE_FAMILY_VOIDWALKER: - caster->CastSpell(caster, SPELL_WARLOCK_DEMON_SOUL_VOIDWALKER); - break; - case CREATURE_FAMILY_FELGUARD: - caster->CastSpell(caster, SPELL_WARLOCK_DEMON_SOUL_FELGUARD); - break; - case CREATURE_FAMILY_FELHUNTER: - caster->CastSpell(caster, SPELL_WARLOCK_DEMON_SOUL_FELHUNTER); - break; - case CREATURE_FAMILY_IMP: - caster->CastSpell(caster, SPELL_WARLOCK_DEMON_SOUL_IMP); - break; - default: - break; - } - } - } - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_warl_demon_soul_SpellScript::OnHitTarget, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_warl_demon_soul_SpellScript; - } -}; - -// 47193 - Demonic Empowerment -/// Updated 4.3.4 -class spell_warl_demonic_empowerment : public SpellScriptLoader -{ - public: - spell_warl_demonic_empowerment() : SpellScriptLoader("spell_warl_demonic_empowerment") { } - - class spell_warl_demonic_empowerment_SpellScript : public SpellScript - { - PrepareSpellScript(spell_warl_demonic_empowerment_SpellScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo( - { - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_SUCCUBUS, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELGUARD, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELHUNTER, - SPELL_WARLOCK_DEMONIC_EMPOWERMENT_IMP - }); - } - - void HandleScriptEffect(SpellEffIndex /*effIndex*/) - { - if (Creature* targetCreature = GetHitCreature()) - { - if (targetCreature->IsPet()) - { - CreatureTemplate const* ci = targetCreature->GetCreatureTemplate(); - switch (ci->family) - { - case CREATURE_FAMILY_SUCCUBUS: - targetCreature->CastSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_SUCCUBUS, true); - break; - case CREATURE_FAMILY_VOIDWALKER: - { - SpellInfo const* spellInfo = sSpellMgr->AssertSpellInfo(SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER, GetCastDifficulty()); - int32 hp = int32(targetCreature->CountPctFromMaxHealth(GetCaster()->CalculateSpellDamage(targetCreature, spellInfo, 0))); - targetCreature->CastCustomSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_VOIDWALKER, &hp, nullptr, nullptr, true); - break; - } - case CREATURE_FAMILY_FELGUARD: - targetCreature->CastSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELGUARD, true); - break; - case CREATURE_FAMILY_FELHUNTER: - targetCreature->CastSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_FELHUNTER, true); - break; - case CREATURE_FAMILY_IMP: - targetCreature->CastSpell(targetCreature, SPELL_WARLOCK_DEMONIC_EMPOWERMENT_IMP, true); - break; - default: - break; - } - } - } - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_warl_demonic_empowerment_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_warl_demonic_empowerment_SpellScript(); - } -}; - // 67518, 19505 - Devour Magic class spell_warl_devour_magic : public SpellScriptLoader { @@ -540,124 +303,6 @@ class spell_warl_devour_magic : public SpellScriptLoader } }; -// 47422 - Everlasting Affliction -/// Updated 4.3.4 -class spell_warl_everlasting_affliction : public SpellScriptLoader -{ - public: - spell_warl_everlasting_affliction() : SpellScriptLoader("spell_warl_everlasting_affliction") { } - - class spell_warl_everlasting_affliction_SpellScript : public SpellScript - { - PrepareSpellScript(spell_warl_everlasting_affliction_SpellScript); - - void HandleScriptEffect(SpellEffIndex effIndex) - { - Unit* caster = GetCaster(); - if (Unit* target = GetHitUnit()) - { - // Refresh corruption on target - if (AuraEffect* aurEff = target->GetAuraEffect(SPELL_AURA_PERIODIC_DAMAGE, SPELLFAMILY_WARLOCK, flag128(0x2, 0, 0), caster->GetGUID())) - { - uint32 damage = std::max(aurEff->GetAmount(), 0); - sScriptMgr->ModifyPeriodicDamageAurasTick(target, caster, damage); - aurEff->SetDamage(caster->SpellDamageBonusDone(target, aurEff->GetSpellInfo(), damage, DOT, GetEffectInfo(effIndex)) * aurEff->GetDonePct()); - aurEff->CalculatePeriodic(caster, false, false); - aurEff->GetBase()->RefreshDuration(true); - } - } - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_warl_everlasting_affliction_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); - } - }; - - SpellScript* GetSpellScript() const override - { - return new spell_warl_everlasting_affliction_SpellScript(); - } -}; - -// -47230 - Fel Synergy -class spell_warl_fel_synergy : public SpellScriptLoader -{ - public: - spell_warl_fel_synergy() : SpellScriptLoader("spell_warl_fel_synergy") { } - - class spell_warl_fel_synergy_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_fel_synergy_AuraScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_WARLOCK_FEL_SYNERGY_HEAL }); - } - - bool CheckProc(ProcEventInfo& eventInfo) - { - DamageInfo* damageInfo = eventInfo.GetDamageInfo(); - if (!damageInfo || !damageInfo->GetDamage()) - return false; - - return GetTarget()->GetGuardianPet() != nullptr; - } - - void OnProc(AuraEffect* aurEff, ProcEventInfo& eventInfo) - { - PreventDefaultAction(); - - int32 heal = CalculatePct(static_cast<int32>(eventInfo.GetDamageInfo()->GetDamage()), aurEff->GetAmount()); - GetTarget()->CastCustomSpell(SPELL_WARLOCK_FEL_SYNERGY_HEAL, SPELLVALUE_BASE_POINT0, heal, nullptr, true, nullptr, aurEff); // TARGET_UNIT_PET - } - - void Register() override - { - DoCheckProc += AuraCheckProcFn(spell_warl_fel_synergy_AuraScript::CheckProc); - OnEffectProc += AuraEffectProcFn(spell_warl_fel_synergy_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_warl_fel_synergy_AuraScript(); - } -}; - -// 63310 - Glyph of Shadowflame -class spell_warl_glyph_of_shadowflame : public SpellScriptLoader -{ - public: - spell_warl_glyph_of_shadowflame() : SpellScriptLoader("spell_warl_glyph_of_shadowflame") { } - - class spell_warl_glyph_of_shadowflame_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_glyph_of_shadowflame_AuraScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME }); - } - - void OnProc(AuraEffect* aurEff, ProcEventInfo& eventInfo) - { - PreventDefaultAction(); - GetTarget()->CastSpell(eventInfo.GetProcTarget(), SPELL_WARLOCK_GLYPH_OF_SHADOWFLAME, true, nullptr, aurEff); - } - - void Register() override - { - OnEffectProc += AuraEffectProcFn(spell_warl_glyph_of_shadowflame_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_warl_glyph_of_shadowflame_AuraScript(); - } -}; - // 48181 - Haunt /// Updated 4.3.4 class spell_warl_haunt : public SpellScriptLoader @@ -682,39 +327,10 @@ class spell_warl_haunt : public SpellScriptLoader } }; - class spell_warl_haunt_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_haunt_AuraScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_WARLOCK_HAUNT_HEAL }); - } - - void HandleRemove(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) - { - if (Unit* caster = GetCaster()) - { - int32 amount = aurEff->GetAmount(); - GetTarget()->CastCustomSpell(caster, SPELL_WARLOCK_HAUNT_HEAL, &amount, nullptr, nullptr, true, nullptr, aurEff, GetCasterGUID()); - } - } - - void Register() override - { - OnEffectRemove += AuraEffectApplyFn(spell_warl_haunt_AuraScript::HandleRemove, EFFECT_1, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL_OR_REAPPLY_MASK); - } - }; - SpellScript* GetSpellScript() const override { return new spell_warl_haunt_SpellScript(); } - - AuraScript* GetAuraScript() const override - { - return new spell_warl_haunt_AuraScript(); - } }; // 755 - Health Funnel @@ -808,81 +424,6 @@ class spell_warl_healthstone_heal : public SpellScriptLoader } }; -// -18119 - Improved Soul Fire -class spell_warl_improved_soul_fire : public SpellScriptLoader -{ - public: - spell_warl_improved_soul_fire() : SpellScriptLoader("spell_warl_improved_soul_fire") { } - - class spell_warl_improved_soul_fire_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_improved_soul_fire_AuraScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_WARLOCK_IMPROVED_SOUL_FIRE_PCT, SPELL_WARLOCK_IMPROVED_SOUL_FIRE_STATE }); - } - - void OnProc(AuraEffect* aurEff, ProcEventInfo& /*eventInfo*/) - { - PreventDefaultAction(); - GetTarget()->CastCustomSpell(SPELL_WARLOCK_IMPROVED_SOUL_FIRE_PCT, SPELLVALUE_BASE_POINT0, aurEff->GetAmount(), GetTarget(), true, nullptr, aurEff); - GetTarget()->CastSpell(GetTarget(), SPELL_WARLOCK_IMPROVED_SOUL_FIRE_STATE, true, nullptr, aurEff); - } - - void Register() override - { - OnEffectProc += AuraEffectProcFn(spell_warl_improved_soul_fire_AuraScript::OnProc, EFFECT_0, SPELL_AURA_DUMMY); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_warl_improved_soul_fire_AuraScript(); - } -}; - -// 687 - Demon Armor -// 28176 - Fel Armor -class spell_warl_nether_ward_overrride : public SpellScriptLoader -{ - public: - spell_warl_nether_ward_overrride() : SpellScriptLoader("spell_warl_nether_ward_overrride") { } - - class spell_warl_nether_ward_overrride_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_nether_ward_overrride_AuraScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo( - { - SPELL_WARLOCK_NETHER_TALENT, - SPELL_WARLOCK_NETHER_WARD, - SPELL_WARLOCK_SHADOW_WARD - }); - } - - void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& /*canBeRecalculated*/) - { - if (GetUnitOwner()->HasAura(SPELL_WARLOCK_NETHER_TALENT)) - amount = SPELL_WARLOCK_NETHER_WARD; - else - amount = SPELL_WARLOCK_SHADOW_WARD; - } - - void Register() override - { - DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_nether_ward_overrride_AuraScript::CalculateAmount, EFFECT_2, SPELL_AURA_OVERRIDE_ACTIONBAR_SPELLS); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_warl_nether_ward_overrride_AuraScript(); - } -}; - // 6358 - Seduction (Special Ability) class spell_warl_seduction : public SpellScriptLoader { @@ -1060,74 +601,6 @@ class spell_warl_seed_of_corruption_generic : public SpellScriptLoader } }; -// -7235 - Shadow Ward -class spell_warl_shadow_ward : public SpellScriptLoader -{ - public: - spell_warl_shadow_ward() : SpellScriptLoader("spell_warl_shadow_ward") { } - - class spell_warl_shadow_ward_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_shadow_ward_AuraScript); - - void CalculateAmount(AuraEffect const* /*aurEff*/, int32& amount, bool& canBeRecalculated) - { - canBeRecalculated = false; - if (Unit* caster = GetCaster()) - { - // +80.68% from sp bonus - float bonus = 0.8068f; - - bonus *= caster->SpellBaseHealingBonusDone(GetSpellInfo()->GetSchoolMask()); - - amount += int32(bonus); - } - } - - void Register() override - { - DoEffectCalcAmount += AuraEffectCalcAmountFn(spell_warl_shadow_ward_AuraScript::CalculateAmount, EFFECT_0, SPELL_AURA_SCHOOL_ABSORB); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_warl_shadow_ward_AuraScript(); - } -}; - -// -30293 - Soul Leech -class spell_warl_soul_leech : public SpellScriptLoader -{ - public: - spell_warl_soul_leech() : SpellScriptLoader("spell_warl_soul_leech") { } - - class spell_warl_soul_leech_AuraScript : public AuraScript - { - PrepareAuraScript(spell_warl_soul_leech_AuraScript); - - bool Validate(SpellInfo const* /*spellInfo*/) override - { - return ValidateSpellInfo({ SPELL_GEN_REPLENISHMENT }); - } - - void OnProc(AuraEffect* aurEff, ProcEventInfo& /*eventInfo*/) - { - GetTarget()->CastSpell(nullptr, SPELL_GEN_REPLENISHMENT, true, nullptr, aurEff); - } - - void Register() override - { - OnEffectProc += AuraEffectProcFn(spell_warl_soul_leech_AuraScript::OnProc, EFFECT_0, SPELL_AURA_PROC_TRIGGER_SPELL_WITH_VALUE); - } - }; - - AuraScript* GetAuraScript() const override - { - return new spell_warl_soul_leech_AuraScript(); - } -}; - // 86121 - Soul Swap class spell_warl_soul_swap : public SpellScriptLoader { @@ -1481,30 +954,19 @@ public: void AddSC_warlock_spell_scripts() { - new spell_warl_bane_of_doom(); new spell_warl_banish(); RegisterAuraScript(spell_warl_chaotic_energies); - new spell_warl_conflagrate(); new spell_warl_create_healthstone(); new spell_warl_demonic_circle_summon(); new spell_warl_demonic_circle_teleport(); - new spell_warl_demonic_empowerment(); - new spell_warl_demon_soul(); new spell_warl_devour_magic(); - new spell_warl_everlasting_affliction(); - new spell_warl_fel_synergy(); - new spell_warl_glyph_of_shadowflame(); new spell_warl_haunt(); new spell_warl_health_funnel(); new spell_warl_healthstone_heal(); - new spell_warl_improved_soul_fire(); - new spell_warl_nether_ward_overrride(); new spell_warl_seduction(); new spell_warl_seed_of_corruption(); new spell_warl_seed_of_corruption_dummy(); new spell_warl_seed_of_corruption_generic(); - new spell_warl_shadow_ward(); - new spell_warl_soul_leech(); new spell_warl_soul_swap(); new spell_warl_soul_swap_dot_marker(); new spell_warl_soul_swap_exhale(); |