diff options
author | offl <11556157+offl@users.noreply.github.com> | 2021-11-24 17:05:01 +0200 |
---|---|---|
committer | Shauren <shauren.trinity@gmail.com> | 2022-03-23 00:06:37 +0100 |
commit | 83b4c8cd37bd3b6894cfbd1f48c1c7e7234f853f (patch) | |
tree | f11585c048cac1e49ecb36634e22494428ec61bd /src | |
parent | 4281049e0c0d38a968d1d37bdd3ec04e35b81850 (diff) |
Scripts/Spells: Small cleanup for gen/item spell scripts (#27311)
(cherry picked from commit ef4c878d260c0e01a6ab2f4391af46c261d04785)
Diffstat (limited to 'src')
5 files changed, 65 insertions, 102 deletions
diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp index 37f3488e2ad..8bb98703bf3 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_brutallus.cpp @@ -25,6 +25,8 @@ EndScriptData */ #include "InstanceScript.h" #include "Log.h" #include "ScriptedCreature.h" +#include "SpellAuraEffects.h" +#include "SpellScript.h" #include "sunwell_plateau.h" enum Quotes @@ -343,7 +345,25 @@ public: } }; +// 46394 - Burn +class spell_brutallus_burn : public AuraScript +{ + PrepareAuraScript(spell_brutallus_burn); + + void HandleEffectPeriodicUpdate(AuraEffect* aurEff) + { + if (aurEff->GetTickNumber() % 11 == 0) + aurEff->SetAmount(aurEff->GetAmount() * 2); + } + + void Register() override + { + OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_brutallus_burn::HandleEffectPeriodicUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); + } +}; + void AddSC_boss_brutallus() { new boss_brutallus(); + RegisterSpellScript(spell_brutallus_burn); } diff --git a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp index a1b2cb54d8f..7487fe51f28 100644 --- a/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp +++ b/src/server/scripts/EasternKingdoms/SunwellPlateau/boss_muru.cpp @@ -608,6 +608,31 @@ class spell_summon_blood_elves_periodic : public AuraScript } }; +// 46284 - Negative Energy Periodic +class spell_muru_negative_energy_periodic : public AuraScript +{ + PrepareAuraScript(spell_muru_negative_energy_periodic); + + bool Validate(SpellInfo const* spellInfo) override + { + return !spellInfo->GetEffects().empty() && ValidateSpellInfo({ spellInfo->GetEffect(EFFECT_0).TriggerSpell }); + } + + void PeriodicTick(AuraEffect const* aurEff) + { + PreventDefaultAction(); + + CastSpellExtraArgs args(aurEff); + args.AddSpellMod(SPELLVALUE_MAX_TARGETS, aurEff->GetTickNumber() / 10 + 1); + GetTarget()->CastSpell(nullptr, aurEff->GetSpellEffectInfo().TriggerSpell, args); + } + + void Register() override + { + OnEffectPeriodic += AuraEffectPeriodicFn(spell_muru_negative_energy_periodic::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); + } +}; + void AddSC_boss_muru() { RegisterSunwellPlateauCreatureAI(boss_muru); @@ -621,4 +646,5 @@ void AddSC_boss_muru() RegisterSpellScript(spell_dark_fiend_skin); RegisterSpellScript(spell_transform_visual_missile_periodic); RegisterSpellScript(spell_summon_blood_elves_periodic); + RegisterSpellScript(spell_muru_negative_energy_periodic); } diff --git a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp index 0bde38f7a19..94289b63e14 100644 --- a/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp +++ b/src/server/scripts/Outland/BlackTemple/boss_reliquary_of_souls.cpp @@ -745,6 +745,24 @@ class spell_reliquary_of_souls_aura_of_desire : public AuraScript } }; +// 41337 - Aura of Anger +class spell_reliquary_of_souls_aura_of_anger : public AuraScript +{ + PrepareAuraScript(spell_reliquary_of_souls_aura_of_anger); + + void HandleEffectPeriodicUpdate(AuraEffect* aurEff) + { + if (AuraEffect* aurEff1 = aurEff->GetBase()->GetEffect(EFFECT_1)) + aurEff1->ChangeAmount(aurEff1->GetAmount() + 5); + aurEff->SetAmount(100 * aurEff->GetTickNumber()); + } + + void Register() override + { + OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_reliquary_of_souls_aura_of_anger::HandleEffectPeriodicUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); + } +}; + // 28819 - Submerge Visual class spell_reliquary_of_souls_submerge : public AuraScript { @@ -815,6 +833,7 @@ void AddSC_boss_reliquary_of_souls() RegisterBlackTempleCreatureAI(npc_enslaved_soul); RegisterBlackTempleCreatureAI(npc_reliquary_combat_trigger); RegisterSpellScript(spell_reliquary_of_souls_aura_of_desire); + RegisterSpellScript(spell_reliquary_of_souls_aura_of_anger); RegisterSpellScript(spell_reliquary_of_souls_submerge); RegisterSpellScript(spell_reliquary_of_souls_spite); RegisterSpellScript(spell_reliquary_of_souls_frenzy); diff --git a/src/server/scripts/Spells/spell_generic.cpp b/src/server/scripts/Spells/spell_generic.cpp index db787cd53b3..459f8417194 100644 --- a/src/server/scripts/Spells/spell_generic.cpp +++ b/src/server/scripts/Spells/spell_generic.cpp @@ -225,27 +225,6 @@ class spell_spawn_blood_pool : public SpellScript } }; -class spell_gen_arcane_charge : public SpellScript -{ - PrepareSpellScript(spell_gen_arcane_charge); - - SpellCastResult CheckRequirement() - { - if (Unit* target = GetExplTargetUnit()) - { - if (!(target->GetCreatureTypeMask() & CREATURE_TYPEMASK_DEMON_OR_UNDEAD)) - return SPELL_FAILED_DONT_REPORT; - } - - return SPELL_CAST_OK; - } - - void Register() override - { - OnCheckCast += SpellCheckCastFn(spell_gen_arcane_charge::CheckRequirement); - } -}; - // 430 Drink // 431 Drink // 432 Drink @@ -348,24 +327,6 @@ class spell_gen_arena_drink : public AuraScript } }; -// 41337 Aura of Anger -class spell_gen_aura_of_anger : public AuraScript -{ - PrepareAuraScript(spell_gen_aura_of_anger); - - void HandleEffectPeriodicUpdate(AuraEffect* aurEff) - { - if (AuraEffect* aurEff1 = aurEff->GetBase()->GetEffect(EFFECT_1)) - aurEff1->ChangeAmount(aurEff1->GetAmount() + 5); - aurEff->SetAmount(100 * aurEff->GetTickNumber()); - } - - void Register() override - { - OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_aura_of_anger::HandleEffectPeriodicUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); - } -}; - // 28313 - Aura of Fear class spell_gen_aura_of_fear : public AuraScript { @@ -685,23 +646,6 @@ class spell_gen_break_shield: public SpellScript } }; -// 46394 Brutallus Burn -class spell_gen_burn_brutallus : public AuraScript -{ - PrepareAuraScript(spell_gen_burn_brutallus); - - void HandleEffectPeriodicUpdate(AuraEffect* aurEff) - { - if (aurEff->GetTickNumber() % 11 == 0) - aurEff->SetAmount(aurEff->GetAmount() * 2); - } - - void Register() override - { - OnEffectUpdatePeriodic += AuraEffectUpdatePeriodicFn(spell_gen_burn_brutallus::HandleEffectPeriodicUpdate, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); - } -}; - // 48750 - Burning Depths Necrolyte Image class spell_gen_burning_depths_necrolyte_image : public AuraScript { @@ -2208,31 +2152,6 @@ class spell_gen_moss_covered_feet : public AuraScript } }; -// 46284 - Negative Energy Periodic -class spell_gen_negative_energy_periodic : public AuraScript -{ - PrepareAuraScript(spell_gen_negative_energy_periodic); - - bool Validate(SpellInfo const* spellInfo) override - { - return !spellInfo->GetEffects().empty() && ValidateSpellInfo({ spellInfo->GetEffect(EFFECT_0).TriggerSpell }); - } - - void PeriodicTick(AuraEffect const* aurEff) - { - PreventDefaultAction(); - - CastSpellExtraArgs args(aurEff); - args.AddSpellMod(SPELLVALUE_MAX_TARGETS, aurEff->GetTickNumber() / 10 + 1); - GetTarget()->CastSpell(nullptr, aurEff->GetSpellEffectInfo().TriggerSpell, args); - } - - void Register() override - { - OnEffectPeriodic += AuraEffectPeriodicFn(spell_gen_negative_energy_periodic::PeriodicTick, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); - } -}; - enum Netherbloom : uint32 { SPELL_NETHERBLOOM_POLLEN_1 = 28703 @@ -4796,9 +4715,7 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_allow_cast_from_item_only); RegisterSpellScript(spell_gen_animal_blood); RegisterSpellScript(spell_spawn_blood_pool); - RegisterSpellScript(spell_gen_arcane_charge); RegisterSpellScript(spell_gen_arena_drink); - RegisterSpellScript(spell_gen_aura_of_anger); RegisterSpellScript(spell_gen_aura_of_fear); RegisterSpellScript(spell_gen_aura_service_uniform); RegisterSpellScript(spell_gen_av_drekthar_presence); @@ -4807,7 +4724,6 @@ void AddSC_generic_spell_scripts() RegisterSpellScript(spell_gen_bonked); RegisterSpellScriptWithArgs(spell_gen_break_shield, "spell_gen_break_shield"); RegisterSpellScriptWithArgs(spell_gen_break_shield, "spell_gen_tournament_counterattack"); - RegisterSpellScript(spell_gen_burn_brutallus); RegisterSpellScript(spell_gen_burning_depths_necrolyte_image); RegisterSpellScript(spell_gen_cannibalize); RegisterSpellScript(spell_gen_chains_of_ice); @@ -4859,7 +4775,6 @@ void AddSC_generic_spell_scripts() RegisterSpellScriptWithArgs(spell_gen_lifebloom, "spell_faction_champion_dru_lifebloom", SPELL_FACTION_CHAMPIONS_DRU_LIFEBLOOM_FINAL_HEAL); RegisterSpellScript(spell_gen_mounted_charge); RegisterSpellScript(spell_gen_moss_covered_feet); - RegisterSpellScript(spell_gen_negative_energy_periodic); RegisterSpellScript(spell_gen_netherbloom); RegisterSpellScript(spell_gen_nightmare_vine); RegisterSpellScript(spell_gen_nitrous_boost); diff --git a/src/server/scripts/Spells/spell_item.cpp b/src/server/scripts/Spells/spell_item.cpp index c1c23d1cf0a..45c90903109 100644 --- a/src/server/scripts/Spells/spell_item.cpp +++ b/src/server/scripts/Spells/spell_item.cpp @@ -2738,22 +2738,6 @@ class spell_magic_eater_food : public AuraScript } }; -class spell_item_shimmering_vessel : public SpellScript -{ - PrepareSpellScript(spell_item_shimmering_vessel); - - void HandleDummy(SpellEffIndex /* effIndex */) - { - if (Creature* target = GetHitCreature()) - target->setDeathState(JUST_RESPAWNED); - } - - void Register() override - { - OnEffectHitTarget += SpellEffectFn(spell_item_shimmering_vessel::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); - } -}; - enum PurifyHelboarMeat { SPELL_SUMMON_PURIFIED_HELBOAR_MEAT = 29277, @@ -4509,7 +4493,6 @@ void AddSC_item_spell_scripts() RegisterSpellScript(spell_item_ashbringer); RegisterSpellScript(spell_magic_eater_food); - RegisterSpellScript(spell_item_shimmering_vessel); RegisterSpellScript(spell_item_purify_helboar_meat); RegisterSpellScript(spell_item_crystal_prison_dummy_dnd); RegisterSpellScript(spell_item_nigh_invulnerability); |