refactor(Scripts/SunwellPlateau): Spell Scripts registry macros (#19223)

This commit is contained in:
Jelle Meeus
2024-06-29 11:06:38 +02:00
committed by GitHub
parent 77be5bb19d
commit 0d7f4c43e8
8 changed files with 532 additions and 746 deletions
@@ -0,0 +1,11 @@
--
UPDATE `spell_script_names` SET `ScriptName`='spell_kiljaeden_shadow_spike_aura' WHERE `spell_id`=46680;
UPDATE `spell_script_names` SET `ScriptName`='spell_kiljaeden_darkness_aura' WHERE `spell_id`=46605;
UPDATE `spell_script_names` SET `ScriptName`='spell_kiljaeden_vengeance_of_the_blue_flight_aura' WHERE `spell_id`=45839;
UPDATE `spell_script_names` SET `ScriptName`='spell_kiljaeden_armageddon_periodic_aura' WHERE `spell_id`=45921;
UPDATE `spell_script_names` SET `ScriptName`='spell_muru_summon_blood_elves_periodic_aura' WHERE `spell_id`=46041;
UPDATE `spell_script_names` SET `ScriptName`='spell_muru_darkness_aura' WHERE `spell_id`=45996;
UPDATE `spell_script_names` SET `ScriptName`='spell_entropius_void_zone_visual_aura' WHERE `spell_id`=46265;
UPDATE `spell_script_names` SET `ScriptName`='spell_kalecgos_curse_of_boundless_agony_aura' WHERE `spell_id`=45032;
UPDATE `spell_script_names` SET `ScriptName`='spell_kalecgos_spectral_realm_aura' WHERE `spell_id`=46021;
UPDATE `spell_script_names` SET `ScriptName`='spell_felmyst_fog_of_corruption_charm_aura' WHERE `spell_id`=45717;
@@ -406,14 +406,9 @@ public:
} }
}; };
class spell_madrigosa_activate_barrier : public SpellScriptLoader class spell_madrigosa_activate_barrier : public SpellScript
{ {
public: PrepareSpellScript(spell_madrigosa_activate_barrier);
spell_madrigosa_activate_barrier() : SpellScriptLoader("spell_madrigosa_activate_barrier") { }
class spell_madrigosa_activate_barrier_SpellScript : public SpellScript
{
PrepareSpellScript(spell_madrigosa_activate_barrier_SpellScript);
void HandleActivateObject(SpellEffIndex effIndex) void HandleActivateObject(SpellEffIndex effIndex)
{ {
@@ -439,24 +434,13 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_madrigosa_activate_barrier_SpellScript::HandleActivateObject, EFFECT_0, SPELL_EFFECT_ACTIVATE_OBJECT); OnEffectHitTarget += SpellEffectFn(spell_madrigosa_activate_barrier::HandleActivateObject, EFFECT_0, SPELL_EFFECT_ACTIVATE_OBJECT);
} }
}; };
SpellScript* GetSpellScript() const override class spell_madrigosa_deactivate_barrier : public SpellScript
{ {
return new spell_madrigosa_activate_barrier_SpellScript(); PrepareSpellScript(spell_madrigosa_deactivate_barrier);
}
};
class spell_madrigosa_deactivate_barrier : public SpellScriptLoader
{
public:
spell_madrigosa_deactivate_barrier() : SpellScriptLoader("spell_madrigosa_deactivate_barrier") { }
class spell_madrigosa_deactivate_barrier_SpellScript : public SpellScript
{
PrepareSpellScript(spell_madrigosa_deactivate_barrier_SpellScript);
void HandleActivateObject(SpellEffIndex effIndex) void HandleActivateObject(SpellEffIndex effIndex)
{ {
@@ -482,24 +466,18 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_madrigosa_deactivate_barrier_SpellScript::HandleActivateObject, EFFECT_0, SPELL_EFFECT_ACTIVATE_OBJECT); OnEffectHitTarget += SpellEffectFn(spell_madrigosa_deactivate_barrier::HandleActivateObject, EFFECT_0, SPELL_EFFECT_ACTIVATE_OBJECT);
} }
}; };
SpellScript* GetSpellScript() const override class spell_brutallus_burn : public SpellScript
{ {
return new spell_madrigosa_deactivate_barrier_SpellScript(); PrepareSpellScript(spell_brutallus_burn);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_BURN_DAMAGE });
} }
};
class spell_brutallus_burn : public SpellScriptLoader
{
public:
spell_brutallus_burn() : SpellScriptLoader("spell_brutallus_burn") { }
class spell_brutallus_burn_SpellScript : public SpellScript
{
PrepareSpellScript(spell_brutallus_burn_SpellScript);
void HandleScriptEffect(SpellEffIndex effIndex) void HandleScriptEffect(SpellEffIndex effIndex)
{ {
@@ -511,13 +489,7 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_brutallus_burn_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); OnEffectHitTarget += SpellEffectFn(spell_brutallus_burn::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_brutallus_burn_SpellScript();
} }
}; };
@@ -545,9 +517,9 @@ void AddSC_boss_brutallus()
{ {
new boss_brutallus(); new boss_brutallus();
new npc_madrigosa(); new npc_madrigosa();
new spell_madrigosa_activate_barrier(); RegisterSpellScript(spell_madrigosa_activate_barrier);
new spell_madrigosa_deactivate_barrier(); RegisterSpellScript(spell_madrigosa_deactivate_barrier);
new spell_brutallus_burn(); RegisterSpellScript(spell_brutallus_burn);
new AreaTrigger_at_sunwell_madrigosa(); new AreaTrigger_at_sunwell_madrigosa();
} }
@@ -366,14 +366,14 @@ public:
}; };
}; };
class spell_eredar_twins_apply_dark_touched : public SpellScriptLoader class spell_eredar_twins_apply_dark_touched : public SpellScript
{ {
public: PrepareSpellScript(spell_eredar_twins_apply_dark_touched);
spell_eredar_twins_apply_dark_touched() : SpellScriptLoader("spell_eredar_twins_apply_dark_touched") { }
class spell_eredar_twins_apply_dark_touched_SpellScript : public SpellScript bool Validate(SpellInfo const* /*spellInfo*/) override
{ {
PrepareSpellScript(spell_eredar_twins_apply_dark_touched_SpellScript); return ValidateSpellInfo({ SPELL_DARK_TOUCHED });
}
void HandleApplyTouch() void HandleApplyTouch()
{ {
@@ -383,24 +383,18 @@ public:
void Register() override void Register() override
{ {
AfterHit += SpellHitFn(spell_eredar_twins_apply_dark_touched_SpellScript::HandleApplyTouch); AfterHit += SpellHitFn(spell_eredar_twins_apply_dark_touched::HandleApplyTouch);
} }
}; };
SpellScript* GetSpellScript() const override class spell_eredar_twins_apply_flame_touched : public SpellScript
{ {
return new spell_eredar_twins_apply_dark_touched_SpellScript(); PrepareSpellScript(spell_eredar_twins_apply_flame_touched);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_FLAME_TOUCHED });
} }
};
class spell_eredar_twins_apply_flame_touched : public SpellScriptLoader
{
public:
spell_eredar_twins_apply_flame_touched() : SpellScriptLoader("spell_eredar_twins_apply_flame_touched") { }
class spell_eredar_twins_apply_flame_touched_SpellScript : public SpellScript
{
PrepareSpellScript(spell_eredar_twins_apply_flame_touched_SpellScript);
void HandleApplyTouch() void HandleApplyTouch()
{ {
@@ -410,24 +404,18 @@ public:
void Register() override void Register() override
{ {
AfterHit += SpellHitFn(spell_eredar_twins_apply_flame_touched_SpellScript::HandleApplyTouch); AfterHit += SpellHitFn(spell_eredar_twins_apply_flame_touched::HandleApplyTouch);
} }
}; };
SpellScript* GetSpellScript() const override class spell_eredar_twins_handle_touch : public SpellScript
{ {
return new spell_eredar_twins_apply_flame_touched_SpellScript(); PrepareSpellScript(spell_eredar_twins_handle_touch);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_DARK_FLAME, SPELL_FLAME_TOUCHED, SPELL_DARK_TOUCHED });
} }
};
class spell_eredar_twins_handle_touch : public SpellScriptLoader
{
public:
spell_eredar_twins_handle_touch() : SpellScriptLoader("spell_eredar_twins_handle_touch") { }
class spell_eredar_twins_handle_touch_SpellScript : public SpellScript
{
PrepareSpellScript(spell_eredar_twins_handle_touch_SpellScript);
SpellCastResult CheckCast() SpellCastResult CheckCast()
{ {
@@ -457,24 +445,18 @@ public:
void Register() override void Register() override
{ {
OnCheckCast += SpellCheckCastFn(spell_eredar_twins_handle_touch_SpellScript::CheckCast); OnCheckCast += SpellCheckCastFn(spell_eredar_twins_handle_touch::CheckCast);
} }
}; };
SpellScript* GetSpellScript() const override class spell_eredar_twins_blaze : public SpellScript
{ {
return new spell_eredar_twins_handle_touch_SpellScript(); PrepareSpellScript(spell_eredar_twins_blaze);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_BLAZE_SUMMON });
} }
};
class spell_eredar_twins_blaze : public SpellScriptLoader
{
public:
spell_eredar_twins_blaze() : SpellScriptLoader("spell_eredar_twins_blaze") { }
class spell_eredar_twins_blaze_SpellScript : public SpellScript
{
PrepareSpellScript(spell_eredar_twins_blaze_SpellScript);
void HandleScript(SpellEffIndex effIndex) void HandleScript(SpellEffIndex effIndex)
{ {
@@ -485,13 +467,7 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_eredar_twins_blaze_SpellScript::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT); OnEffectHitTarget += SpellEffectFn(spell_eredar_twins_blaze::HandleScript, EFFECT_1, SPELL_EFFECT_SCRIPT_EFFECT);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_eredar_twins_blaze_SpellScript();
} }
}; };
@@ -520,10 +496,10 @@ void AddSC_boss_eredar_twins()
{ {
new boss_sacrolash(); new boss_sacrolash();
new boss_alythess(); new boss_alythess();
new spell_eredar_twins_apply_dark_touched(); RegisterSpellScript(spell_eredar_twins_apply_dark_touched);
new spell_eredar_twins_apply_flame_touched(); RegisterSpellScript(spell_eredar_twins_apply_flame_touched);
new spell_eredar_twins_handle_touch(); RegisterSpellScript(spell_eredar_twins_handle_touch);
new spell_eredar_twins_blaze(); RegisterSpellScript(spell_eredar_twins_blaze);
new AreaTrigger_at_sunwell_eredar_twins(); new AreaTrigger_at_sunwell_eredar_twins();
} }
@@ -476,14 +476,14 @@ public:
}; };
}; };
class spell_felmyst_fog_of_corruption : public SpellScriptLoader class spell_felmyst_fog_of_corruption : public SpellScript
{ {
public: PrepareSpellScript(spell_felmyst_fog_of_corruption);
spell_felmyst_fog_of_corruption() : SpellScriptLoader("spell_felmyst_fog_of_corruption") { }
class spell_felmyst_fog_of_corruption_SpellScript : public SpellScript bool Validate(SpellInfo const* /*spellInfo*/) override
{ {
PrepareSpellScript(spell_felmyst_fog_of_corruption_SpellScript); return ValidateSpellInfo({ SPELL_FOG_OF_CORRUPTION_CHARM });
}
void HandleScriptEffect(SpellEffIndex effIndex) void HandleScriptEffect(SpellEffIndex effIndex)
{ {
@@ -494,24 +494,18 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_felmyst_fog_of_corruption_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); OnEffectHitTarget += SpellEffectFn(spell_felmyst_fog_of_corruption::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
} }
}; };
SpellScript* GetSpellScript() const override class spell_felmyst_fog_of_corruption_charm_aura : public AuraScript
{ {
return new spell_felmyst_fog_of_corruption_SpellScript(); PrepareAuraScript(spell_felmyst_fog_of_corruption_charm_aura);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_FOG_OF_CORRUPTION_CHARM2, SPELL_FOG_OF_CORRUPTION_CHARM });
} }
};
class spell_felmyst_fog_of_corruption_charm : public SpellScriptLoader
{
public:
spell_felmyst_fog_of_corruption_charm() : SpellScriptLoader("spell_felmyst_fog_of_corruption_charm") { }
class spell_felmyst_fog_of_corruption_charm_AuraScript : public AuraScript
{
PrepareAuraScript(spell_felmyst_fog_of_corruption_charm_AuraScript);
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{ {
@@ -527,14 +521,8 @@ public:
void Register() override void Register() override
{ {
OnEffectApply += AuraEffectApplyFn(spell_felmyst_fog_of_corruption_charm_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_AOE_CHARM, AURA_EFFECT_HANDLE_REAL); OnEffectApply += AuraEffectApplyFn(spell_felmyst_fog_of_corruption_charm_aura::HandleApply, EFFECT_0, SPELL_AURA_AOE_CHARM, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_felmyst_fog_of_corruption_charm_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_AOE_CHARM, AURA_EFFECT_HANDLE_REAL); OnEffectRemove += AuraEffectRemoveFn(spell_felmyst_fog_of_corruption_charm_aura::HandleRemove, EFFECT_0, SPELL_AURA_AOE_CHARM, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const override
{
return new spell_felmyst_fog_of_corruption_charm_AuraScript();
} }
}; };
@@ -551,14 +539,9 @@ public:
} }
}; };
class spell_felmyst_open_brutallus_back_doors : public SpellScriptLoader class spell_felmyst_open_brutallus_back_doors : public SpellScript
{ {
public: PrepareSpellScript(spell_felmyst_open_brutallus_back_doors);
spell_felmyst_open_brutallus_back_doors() : SpellScriptLoader("spell_felmyst_open_brutallus_back_doors") { }
class spell_felmyst_open_brutallus_back_doors_SpellScript : public SpellScript
{
PrepareSpellScript(spell_felmyst_open_brutallus_back_doors_SpellScript);
void FilterTargets(std::list<WorldObject*>& unitList) void FilterTargets(std::list<WorldObject*>& unitList)
{ {
@@ -567,13 +550,7 @@ public:
void Register() override void Register() override
{ {
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_felmyst_open_brutallus_back_doors_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY); OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_felmyst_open_brutallus_back_doors::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENTRY);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_felmyst_open_brutallus_back_doors_SpellScript();
} }
}; };
@@ -582,8 +559,8 @@ void AddSC_boss_felmyst()
new boss_felmyst(); new boss_felmyst();
new npc_demonic_vapor(); new npc_demonic_vapor();
new npc_demonic_vapor_trail(); new npc_demonic_vapor_trail();
new spell_felmyst_fog_of_corruption(); RegisterSpellScript(spell_felmyst_fog_of_corruption);
new spell_felmyst_fog_of_corruption_charm(); RegisterSpellScript(spell_felmyst_fog_of_corruption_charm_aura);
new spell_felmyst_open_brutallus_back_doors(); RegisterSpellScript(spell_felmyst_open_brutallus_back_doors);
} }
@@ -633,14 +633,14 @@ private:
Unit* _victim; Unit* _victim;
}; };
class spell_kalecgos_spectral_blast_dummy : public SpellScriptLoader class spell_kalecgos_spectral_blast_dummy : public SpellScript
{ {
public: PrepareSpellScript(spell_kalecgos_spectral_blast_dummy);
spell_kalecgos_spectral_blast_dummy() : SpellScriptLoader("spell_kalecgos_spectral_blast_dummy") { }
class spell_kalecgos_spectral_blast_dummy_SpellScript : public SpellScript bool Validate(SpellInfo const* /*spellInfo*/) override
{ {
PrepareSpellScript(spell_kalecgos_spectral_blast_dummy_SpellScript); return ValidateSpellInfo({ SPELL_SPECTRAL_BLAST_PORTAL, SPELL_SPECTRAL_BLAST_AA, SPELL_TELEPORT_SPECTRAL });
}
void FilterTargets(std::list<WorldObject*>& targets) void FilterTargets(std::list<WorldObject*>& targets)
{ {
@@ -661,25 +661,19 @@ public:
void Register() override void Register() override
{ {
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kalecgos_spectral_blast_dummy_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kalecgos_spectral_blast_dummy::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_kalecgos_spectral_blast_dummy_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY); OnEffectHitTarget += SpellEffectFn(spell_kalecgos_spectral_blast_dummy::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
} }
}; };
SpellScript* GetSpellScript() const override class spell_kalecgos_curse_of_boundless_agony_aura : public AuraScript
{ {
return new spell_kalecgos_spectral_blast_dummy_SpellScript(); PrepareAuraScript(spell_kalecgos_curse_of_boundless_agony_aura);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_CURSE_OF_BOUNDLESS_AGONY_PLR });
} }
};
class spell_kalecgos_curse_of_boundless_agony : public SpellScriptLoader
{
public:
spell_kalecgos_curse_of_boundless_agony() : SpellScriptLoader("spell_kalecgos_curse_of_boundless_agony") { }
class spell_kalecgos_curse_of_boundless_agony_AuraScript : public AuraScript
{
PrepareAuraScript(spell_kalecgos_curse_of_boundless_agony_AuraScript);
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{ {
@@ -696,25 +690,19 @@ public:
void Register() override void Register() override
{ {
AfterEffectRemove += AuraEffectRemoveFn(spell_kalecgos_curse_of_boundless_agony_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL); AfterEffectRemove += AuraEffectRemoveFn(spell_kalecgos_curse_of_boundless_agony_aura::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_kalecgos_curse_of_boundless_agony_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE); OnEffectPeriodic += AuraEffectPeriodicFn(spell_kalecgos_curse_of_boundless_agony_aura::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
} }
}; };
AuraScript* GetAuraScript() const override class spell_kalecgos_spectral_realm_dummy : public SpellScript
{ {
return new spell_kalecgos_curse_of_boundless_agony_AuraScript(); PrepareSpellScript(spell_kalecgos_spectral_realm_dummy);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_SPECTRAL_EXHAUSTION, SPELL_TELEPORT_SPECTRAL });
} }
};
class spell_kalecgos_spectral_realm_dummy : public SpellScriptLoader
{
public:
spell_kalecgos_spectral_realm_dummy() : SpellScriptLoader("spell_kalecgos_spectral_realm_dummy") { }
class spell_kalecgos_spectral_realm_dummy_SpellScript : public SpellScript
{
PrepareSpellScript(spell_kalecgos_spectral_realm_dummy_SpellScript);
SpellCastResult CheckCast() SpellCastResult CheckCast()
{ {
@@ -732,25 +720,19 @@ public:
void Register() override void Register() override
{ {
OnCheckCast += SpellCheckCastFn(spell_kalecgos_spectral_realm_dummy_SpellScript::CheckCast); OnCheckCast += SpellCheckCastFn(spell_kalecgos_spectral_realm_dummy::CheckCast);
OnEffectHitTarget += SpellEffectFn(spell_kalecgos_spectral_realm_dummy_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); OnEffectHitTarget += SpellEffectFn(spell_kalecgos_spectral_realm_dummy::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
} }
}; };
SpellScript* GetSpellScript() const override class spell_kalecgos_spectral_realm_aura : public AuraScript
{ {
return new spell_kalecgos_spectral_realm_dummy_SpellScript(); PrepareAuraScript(spell_kalecgos_spectral_realm_aura);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_SPECTRAL_EXHAUSTION, SPELL_TELEPORT_NORMAL_REALM });
} }
};
class spell_kalecgos_spectral_realm : public SpellScriptLoader
{
public:
spell_kalecgos_spectral_realm() : SpellScriptLoader("spell_kalecgos_spectral_realm") { }
class spell_kalecgos_spectral_realm_AuraScript : public AuraScript
{
PrepareAuraScript(spell_kalecgos_spectral_realm_AuraScript);
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{ {
@@ -760,13 +742,7 @@ public:
void Register() override void Register() override
{ {
OnEffectRemove += AuraEffectRemoveFn(spell_kalecgos_spectral_realm_AuraScript::OnRemove, EFFECT_1, SPELL_AURA_MOD_INVISIBILITY, AURA_EFFECT_HANDLE_REAL); OnEffectRemove += AuraEffectRemoveFn(spell_kalecgos_spectral_realm_aura::OnRemove, EFFECT_1, SPELL_AURA_MOD_INVISIBILITY, AURA_EFFECT_HANDLE_REAL);
}
};
AuraScript* GetAuraScript() const override
{
return new spell_kalecgos_spectral_realm_AuraScript();
} }
}; };
@@ -775,9 +751,9 @@ void AddSC_boss_kalecgos()
new boss_kalecgos(); new boss_kalecgos();
new boss_sathrovarr(); new boss_sathrovarr();
new boss_kalec(); new boss_kalec();
new spell_kalecgos_spectral_blast_dummy(); RegisterSpellScript(spell_kalecgos_spectral_blast_dummy);
new spell_kalecgos_curse_of_boundless_agony(); RegisterSpellScript(spell_kalecgos_curse_of_boundless_agony_aura);
new spell_kalecgos_spectral_realm_dummy(); RegisterSpellScript(spell_kalecgos_spectral_realm_dummy);
new spell_kalecgos_spectral_realm(); RegisterSpellScript(spell_kalecgos_spectral_realm_aura);
} }
@@ -1027,14 +1027,9 @@ public:
}; };
}; };
class spell_kiljaeden_shadow_spike : public SpellScriptLoader class spell_kiljaeden_shadow_spike_aura : public AuraScript
{ {
public: PrepareAuraScript(spell_kiljaeden_shadow_spike_aura);
spell_kiljaeden_shadow_spike() : SpellScriptLoader("spell_kiljaeden_shadow_spike") { }
class spell_kiljaeden_shadow_spike_AuraScript : public AuraScript
{
PrepareAuraScript(spell_kiljaeden_shadow_spike_AuraScript);
void HandlePeriodic(AuraEffect const* aurEff) void HandlePeriodic(AuraEffect const* aurEff)
{ {
@@ -1045,24 +1040,18 @@ public:
void Register() override void Register() override
{ {
OnEffectPeriodic += AuraEffectPeriodicFn(spell_kiljaeden_shadow_spike_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); OnEffectPeriodic += AuraEffectPeriodicFn(spell_kiljaeden_shadow_spike_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
} }
}; };
AuraScript* GetAuraScript() const override class spell_kiljaeden_sinister_reflection : public SpellScript
{ {
return new spell_kiljaeden_shadow_spike_AuraScript(); PrepareSpellScript(spell_kiljaeden_sinister_reflection);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_SINISTER_REFLECTION_SUMMON, SPELL_SINISTER_REFLECTION_CLONE });
} }
};
class spell_kiljaeden_sinister_reflection : public SpellScriptLoader
{
public:
spell_kiljaeden_sinister_reflection() : SpellScriptLoader("spell_kiljaeden_sinister_reflection") { }
class spell_kiljaeden_sinister_reflection_SpellScript : public SpellScript
{
PrepareSpellScript(spell_kiljaeden_sinister_reflection_SpellScript);
void FilterTargets(std::list<WorldObject*>& targets) void FilterTargets(std::list<WorldObject*>& targets)
{ {
@@ -1081,25 +1070,14 @@ public:
void Register() override void Register() override
{ {
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kiljaeden_sinister_reflection_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kiljaeden_sinister_reflection::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_kiljaeden_sinister_reflection_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); OnEffectHitTarget += SpellEffectFn(spell_kiljaeden_sinister_reflection::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
} }
}; };
SpellScript* GetSpellScript() const override class spell_kiljaeden_sinister_reflection_clone : public SpellScript
{ {
return new spell_kiljaeden_sinister_reflection_SpellScript(); PrepareSpellScript(spell_kiljaeden_sinister_reflection_clone);
}
};
class spell_kiljaeden_sinister_reflection_clone : public SpellScriptLoader
{
public:
spell_kiljaeden_sinister_reflection_clone() : SpellScriptLoader("spell_kiljaeden_sinister_reflection_clone") { }
class spell_kiljaeden_sinister_reflection_clone_SpellScript : public SpellScript
{
PrepareSpellScript(spell_kiljaeden_sinister_reflection_clone_SpellScript);
void FilterTargets(std::list<WorldObject*>& targets) void FilterTargets(std::list<WorldObject*>& targets)
{ {
@@ -1116,24 +1094,18 @@ public:
void Register() override void Register() override
{ {
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kiljaeden_sinister_reflection_clone_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENEMY); OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kiljaeden_sinister_reflection_clone::FilterTargets, EFFECT_ALL, TARGET_UNIT_SRC_AREA_ENEMY);
} }
}; };
SpellScript* GetSpellScript() const override class spell_kiljaeden_flame_dart : public SpellScript
{ {
return new spell_kiljaeden_sinister_reflection_clone_SpellScript(); PrepareSpellScript(spell_kiljaeden_flame_dart);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_FLAME_DART_EXPLOSION });
} }
};
class spell_kiljaeden_flame_dart : public SpellScriptLoader
{
public:
spell_kiljaeden_flame_dart() : SpellScriptLoader("spell_kiljaeden_flame_dart") { }
class spell_kiljaeden_flame_dart_SpellScript : public SpellScript
{
PrepareSpellScript(spell_kiljaeden_flame_dart_SpellScript);
void HandleSchoolDamage(SpellEffIndex /*effIndex*/) void HandleSchoolDamage(SpellEffIndex /*effIndex*/)
{ {
@@ -1143,24 +1115,18 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_kiljaeden_flame_dart_SpellScript::HandleSchoolDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE); OnEffectHitTarget += SpellEffectFn(spell_kiljaeden_flame_dart::HandleSchoolDamage, EFFECT_0, SPELL_EFFECT_SCHOOL_DAMAGE);
} }
}; };
SpellScript* GetSpellScript() const override class spell_kiljaeden_darkness_aura : public AuraScript
{ {
return new spell_kiljaeden_flame_dart_SpellScript(); PrepareAuraScript(spell_kiljaeden_darkness_aura);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_DARKNESS_OF_A_THOUSAND_SOULS_DAMAGE });
} }
};
class spell_kiljaeden_darkness : public SpellScriptLoader
{
public:
spell_kiljaeden_darkness() : SpellScriptLoader("spell_kiljaeden_darkness") { }
class spell_kiljaeden_darkness_AuraScript : public AuraScript
{
PrepareAuraScript(spell_kiljaeden_darkness_AuraScript);
void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) void HandleRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{ {
@@ -1172,24 +1138,18 @@ public:
void Register() override void Register() override
{ {
OnEffectRemove += AuraEffectRemoveFn(spell_kiljaeden_darkness_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); OnEffectRemove += AuraEffectRemoveFn(spell_kiljaeden_darkness_aura::HandleRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
} }
}; };
AuraScript* GetAuraScript() const override class spell_kiljaeden_power_of_the_blue_flight : public SpellScript
{ {
return new spell_kiljaeden_darkness_AuraScript(); PrepareSpellScript(spell_kiljaeden_power_of_the_blue_flight);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_SUMMON_BLUE_DRAKE, SPELL_VENGEANCE_OF_THE_BLUE_FLIGHT });
} }
};
class spell_kiljaeden_power_of_the_blue_flight : public SpellScriptLoader
{
public:
spell_kiljaeden_power_of_the_blue_flight() : SpellScriptLoader("spell_kiljaeden_power_of_the_blue_flight") { }
class spell_kiljaeden_power_of_the_blue_flight_SpellScript : public SpellScript
{
PrepareSpellScript(spell_kiljaeden_power_of_the_blue_flight_SpellScript);
void HandleScriptEffect(SpellEffIndex effIndex) void HandleScriptEffect(SpellEffIndex effIndex)
{ {
@@ -1203,24 +1163,18 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_kiljaeden_power_of_the_blue_flight_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); OnEffectHitTarget += SpellEffectFn(spell_kiljaeden_power_of_the_blue_flight::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
} }
}; };
SpellScript* GetSpellScript() const override class spell_kiljaeden_vengeance_of_the_blue_flight_aura : public AuraScript
{ {
return new spell_kiljaeden_power_of_the_blue_flight_SpellScript(); PrepareAuraScript(spell_kiljaeden_vengeance_of_the_blue_flight_aura);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_POSSESS_DRAKE_IMMUNITY });
} }
};
class spell_kiljaeden_vengeance_of_the_blue_flight : public SpellScriptLoader
{
public:
spell_kiljaeden_vengeance_of_the_blue_flight() : SpellScriptLoader("spell_kiljaeden_vengeance_of_the_blue_flight") { }
class spell_kiljaeden_vengeance_of_the_blue_flight_AuraScript : public AuraScript
{
PrepareAuraScript(spell_kiljaeden_vengeance_of_the_blue_flight_AuraScript);
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{ {
@@ -1234,27 +1188,16 @@ public:
void Register() override void Register() override
{ {
OnEffectApply += AuraEffectApplyFn(spell_kiljaeden_vengeance_of_the_blue_flight_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_MOD_POSSESS, AURA_EFFECT_HANDLE_REAL); OnEffectApply += AuraEffectApplyFn(spell_kiljaeden_vengeance_of_the_blue_flight_aura::HandleApply, EFFECT_0, SPELL_AURA_MOD_POSSESS, AURA_EFFECT_HANDLE_REAL);
OnEffectApply += AuraEffectApplyFn(spell_kiljaeden_vengeance_of_the_blue_flight_AuraScript::HandleApply, EFFECT_2, SPELL_AURA_MOD_PACIFY_SILENCE, AURA_EFFECT_HANDLE_REAL); OnEffectApply += AuraEffectApplyFn(spell_kiljaeden_vengeance_of_the_blue_flight_aura::HandleApply, EFFECT_2, SPELL_AURA_MOD_PACIFY_SILENCE, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_kiljaeden_vengeance_of_the_blue_flight_AuraScript::HandleRemove, EFFECT_0, SPELL_AURA_MOD_POSSESS, AURA_EFFECT_HANDLE_REAL); OnEffectRemove += AuraEffectRemoveFn(spell_kiljaeden_vengeance_of_the_blue_flight_aura::HandleRemove, EFFECT_0, SPELL_AURA_MOD_POSSESS, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_kiljaeden_vengeance_of_the_blue_flight_AuraScript::HandleRemove, EFFECT_2, SPELL_AURA_MOD_PACIFY_SILENCE, AURA_EFFECT_HANDLE_REAL); OnEffectRemove += AuraEffectRemoveFn(spell_kiljaeden_vengeance_of_the_blue_flight_aura::HandleRemove, EFFECT_2, SPELL_AURA_MOD_PACIFY_SILENCE, AURA_EFFECT_HANDLE_REAL);
} }
}; };
AuraScript* GetAuraScript() const override class spell_kiljaeden_armageddon_periodic_aura : public AuraScript
{ {
return new spell_kiljaeden_vengeance_of_the_blue_flight_AuraScript(); PrepareAuraScript(spell_kiljaeden_armageddon_periodic_aura);
}
};
class spell_kiljaeden_armageddon_periodic : public SpellScriptLoader
{
public:
spell_kiljaeden_armageddon_periodic() : SpellScriptLoader("spell_kiljaeden_armageddon_periodic") { }
class spell_kiljaeden_armageddon_periodic_AuraScript : public AuraScript
{
PrepareAuraScript(spell_kiljaeden_armageddon_periodic_AuraScript);
void HandlePeriodic(AuraEffect const* aurEff) void HandlePeriodic(AuraEffect const* aurEff)
{ {
@@ -1265,24 +1208,13 @@ public:
void Register() override void Register() override
{ {
OnEffectPeriodic += AuraEffectPeriodicFn(spell_kiljaeden_armageddon_periodic_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL); OnEffectPeriodic += AuraEffectPeriodicFn(spell_kiljaeden_armageddon_periodic_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
} }
}; };
AuraScript* GetAuraScript() const override class spell_kiljaeden_armageddon_missile : public SpellScript
{ {
return new spell_kiljaeden_armageddon_periodic_AuraScript(); PrepareSpellScript(spell_kiljaeden_armageddon_missile);
}
};
class spell_kiljaeden_armageddon_missile : public SpellScriptLoader
{
public:
spell_kiljaeden_armageddon_missile() : SpellScriptLoader("spell_kiljaeden_armageddon_missile") { }
class spell_kiljaeden_armageddon_missile_SpellScript : public SpellScript
{
PrepareSpellScript(spell_kiljaeden_armageddon_missile_SpellScript);
void SetDest(SpellDestination& dest) void SetDest(SpellDestination& dest)
{ {
@@ -1292,24 +1224,13 @@ public:
void Register() override void Register() override
{ {
OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_kiljaeden_armageddon_missile_SpellScript::SetDest, EFFECT_0, TARGET_DEST_CASTER); OnDestinationTargetSelect += SpellDestinationTargetSelectFn(spell_kiljaeden_armageddon_missile::SetDest, EFFECT_0, TARGET_DEST_CASTER);
} }
}; };
SpellScript* GetSpellScript() const override class spell_kiljaeden_dragon_breath : public SpellScript
{ {
return new spell_kiljaeden_armageddon_missile_SpellScript(); PrepareSpellScript(spell_kiljaeden_dragon_breath);
}
};
class spell_kiljaeden_dragon_breath : public SpellScriptLoader
{
public:
spell_kiljaeden_dragon_breath() : SpellScriptLoader("spell_kiljaeden_dragon_breath") { }
class spell_kiljaeden_dragon_breath_SpellScript : public SpellScript
{
PrepareSpellScript(spell_kiljaeden_dragon_breath_SpellScript);
void FilterTargets(std::list<WorldObject*>& targets) void FilterTargets(std::list<WorldObject*>& targets)
{ {
@@ -1318,13 +1239,7 @@ public:
void Register() override void Register() override
{ {
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kiljaeden_dragon_breath_SpellScript::FilterTargets, EFFECT_ALL, TARGET_UNIT_CONE_ALLY); OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_kiljaeden_dragon_breath::FilterTargets, EFFECT_ALL, TARGET_UNIT_CONE_ALLY);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_kiljaeden_dragon_breath_SpellScript();
} }
}; };
@@ -1333,15 +1248,15 @@ void AddSC_boss_kiljaeden()
new npc_kiljaeden_controller(); new npc_kiljaeden_controller();
new boss_kiljaeden(); new boss_kiljaeden();
new npc_kalecgos_kj(); new npc_kalecgos_kj();
new spell_kiljaeden_shadow_spike(); RegisterSpellScript(spell_kiljaeden_shadow_spike_aura);
new spell_kiljaeden_sinister_reflection(); RegisterSpellScript(spell_kiljaeden_sinister_reflection);
new spell_kiljaeden_sinister_reflection_clone(); RegisterSpellScript(spell_kiljaeden_sinister_reflection_clone);
new spell_kiljaeden_flame_dart(); RegisterSpellScript(spell_kiljaeden_flame_dart);
new spell_kiljaeden_darkness(); RegisterSpellScript(spell_kiljaeden_darkness_aura);
new spell_kiljaeden_power_of_the_blue_flight(); RegisterSpellScript(spell_kiljaeden_power_of_the_blue_flight);
new spell_kiljaeden_vengeance_of_the_blue_flight(); RegisterSpellScript(spell_kiljaeden_vengeance_of_the_blue_flight_aura);
new spell_kiljaeden_armageddon_periodic(); RegisterSpellScript(spell_kiljaeden_armageddon_periodic_aura);
new spell_kiljaeden_armageddon_missile(); RegisterSpellScript(spell_kiljaeden_armageddon_missile);
new spell_kiljaeden_dragon_breath(); RegisterSpellScript(spell_kiljaeden_dragon_breath);
} }
@@ -326,14 +326,14 @@ public:
}; };
}; };
class spell_muru_summon_blood_elves_periodic : public SpellScriptLoader class spell_muru_summon_blood_elves_periodic_aura : public AuraScript
{ {
public: PrepareAuraScript(spell_muru_summon_blood_elves_periodic_aura);
spell_muru_summon_blood_elves_periodic() : SpellScriptLoader("spell_muru_summon_blood_elves_periodic") { }
class spell_muru_summon_blood_elves_periodic_AuraScript : public AuraScript bool Validate(SpellInfo const* /*spellInfo*/) override
{ {
PrepareAuraScript(spell_muru_summon_blood_elves_periodic_AuraScript); return ValidateSpellInfo({ SPELL_SUMMON_FURY_MAGE1, SPELL_SUMMON_FURY_MAGE2, SPELL_SUMMON_BERSERKER1, SPELL_SUMMON_BERSERKER2 });
}
void HandleApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/) void HandleApply(AuraEffect const* aurEff, AuraEffectHandleModes /*mode*/)
{ {
@@ -353,25 +353,19 @@ public:
void Register() override void Register() override
{ {
OnEffectApply += AuraEffectApplyFn(spell_muru_summon_blood_elves_periodic_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL); OnEffectApply += AuraEffectApplyFn(spell_muru_summon_blood_elves_periodic_aura::HandleApply, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectPeriodic += AuraEffectPeriodicFn(spell_muru_summon_blood_elves_periodic_AuraScript::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY); OnEffectPeriodic += AuraEffectPeriodicFn(spell_muru_summon_blood_elves_periodic_aura::OnPeriodic, EFFECT_0, SPELL_AURA_PERIODIC_DUMMY);
} }
}; };
AuraScript* GetAuraScript() const override class spell_muru_darkness_aura : public AuraScript
{ {
return new spell_muru_summon_blood_elves_periodic_AuraScript(); PrepareAuraScript(spell_muru_darkness_aura);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_SUMMON_DARK_FIEND });
} }
};
class spell_muru_darkness : public SpellScriptLoader
{
public:
spell_muru_darkness() : SpellScriptLoader("spell_muru_darkness") { }
class spell_muru_darkness_AuraScript : public AuraScript
{
PrepareAuraScript(spell_muru_darkness_AuraScript);
void OnPeriodic(AuraEffect const* aurEff) void OnPeriodic(AuraEffect const* aurEff)
{ {
@@ -382,24 +376,18 @@ public:
void Register() override void Register() override
{ {
OnEffectPeriodic += AuraEffectPeriodicFn(spell_muru_darkness_AuraScript::OnPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY); OnEffectPeriodic += AuraEffectPeriodicFn(spell_muru_darkness_aura::OnPeriodic, EFFECT_2, SPELL_AURA_PERIODIC_DUMMY);
} }
}; };
AuraScript* GetAuraScript() const override class spell_entropius_negative_energy : public SpellScript
{ {
return new spell_muru_darkness_AuraScript(); PrepareSpellScript(spell_entropius_negative_energy);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_NEGATIVE_ENERGY_CHAIN });
} }
};
class spell_entropius_negative_energy : public SpellScriptLoader
{
public:
spell_entropius_negative_energy() : SpellScriptLoader("spell_entropius_negative_energy") { }
class spell_entropius_negative_energy_SpellScript : public SpellScript
{
PrepareSpellScript(spell_entropius_negative_energy_SpellScript);
bool Load() override bool Load() override
{ {
@@ -420,25 +408,19 @@ public:
void Register() override void Register() override
{ {
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_entropius_negative_energy_SpellScript::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY); OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_entropius_negative_energy::FilterTargets, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
OnEffectHitTarget += SpellEffectFn(spell_entropius_negative_energy_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT); OnEffectHitTarget += SpellEffectFn(spell_entropius_negative_energy::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
} }
}; };
SpellScript* GetSpellScript() const override class spell_entropius_void_zone_visual_aura : public AuraScript
{ {
return new spell_entropius_negative_energy_SpellScript(); PrepareAuraScript(spell_entropius_void_zone_visual_aura);
bool Validate(SpellInfo const* /*spellInfo*/) override
{
return ValidateSpellInfo({ SPELL_SUMMON_DARK_FIEND_ENTROPIUS });
} }
};
class spell_entropius_void_zone_visual : public SpellScriptLoader
{
public:
spell_entropius_void_zone_visual() : SpellScriptLoader("spell_entropius_void_zone_visual") { }
class spell_entropius_void_zone_visual_AuraScript : public AuraScript
{
PrepareAuraScript(spell_entropius_void_zone_visual_AuraScript);
void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/) void HandleApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
{ {
@@ -452,25 +434,14 @@ public:
void Register() override void Register() override
{ {
OnEffectApply += AuraEffectApplyFn(spell_entropius_void_zone_visual_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); OnEffectApply += AuraEffectApplyFn(spell_entropius_void_zone_visual_aura::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
OnEffectRemove += AuraEffectRemoveFn(spell_entropius_void_zone_visual_AuraScript::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL); OnEffectRemove += AuraEffectRemoveFn(spell_entropius_void_zone_visual_aura::HandleApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
} }
}; };
AuraScript* GetAuraScript() const override class spell_entropius_black_hole_effect : public SpellScript
{ {
return new spell_entropius_void_zone_visual_AuraScript(); PrepareSpellScript(spell_entropius_black_hole_effect);
}
};
class spell_entropius_black_hole_effect : public SpellScriptLoader
{
public:
spell_entropius_black_hole_effect() : SpellScriptLoader("spell_entropius_black_hole_effect") { }
class spell_entropius_black_hole_effect_SpellScript : public SpellScript
{
PrepareSpellScript(spell_entropius_black_hole_effect_SpellScript);
void HandlePull(SpellEffIndex effIndex) void HandlePull(SpellEffIndex effIndex)
{ {
@@ -496,13 +467,7 @@ public:
void Register() override void Register() override
{ {
OnEffectHitTarget += SpellEffectFn(spell_entropius_black_hole_effect_SpellScript::HandlePull, EFFECT_0, SPELL_EFFECT_PULL_TOWARDS_DEST); OnEffectHitTarget += SpellEffectFn(spell_entropius_black_hole_effect::HandlePull, EFFECT_0, SPELL_EFFECT_PULL_TOWARDS_DEST);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_entropius_black_hole_effect_SpellScript();
} }
}; };
@@ -512,10 +477,10 @@ void AddSC_boss_muru()
new boss_entropius(); new boss_entropius();
new npc_singularity(); new npc_singularity();
new spell_muru_summon_blood_elves_periodic(); RegisterSpellScript(spell_muru_summon_blood_elves_periodic_aura);
new spell_muru_darkness(); RegisterSpellScript(spell_muru_darkness_aura);
new spell_entropius_negative_energy(); RegisterSpellScript(spell_entropius_negative_energy);
new spell_entropius_void_zone_visual(); RegisterSpellScript(spell_entropius_void_zone_visual_aura);
new spell_entropius_black_hole_effect(); RegisterSpellScript(spell_entropius_black_hole_effect);
} }
@@ -271,14 +271,14 @@ enum cataclysmBreath
SPELL_WITHERED_TOUCH = 46300 SPELL_WITHERED_TOUCH = 46300
}; };
class spell_cataclysm_breath : public SpellScriptLoader class spell_cataclysm_breath : public SpellScript
{ {
public: PrepareSpellScript(spell_cataclysm_breath);
spell_cataclysm_breath() : SpellScriptLoader("spell_cataclysm_breath") { }
class spell_cataclysm_breath_SpellScript : public SpellScript bool Validate(SpellInfo const* /*spellInfo*/) override
{ {
PrepareSpellScript(spell_cataclysm_breath_SpellScript); return ValidateSpellInfo({ SPELL_CORROSIVE_POISON, SPELL_FEVERED_FATIGUE, SPELL_HEX, SPELL_NECROTIC_POISON, SPELL_PIERCING_SHADOW, SPELL_SHRINK, SPELL_WAVERING_WILL, SPELL_WITHERED_TOUCH });
}
void HandleAfterCast() void HandleAfterCast()
{ {
@@ -289,19 +289,13 @@ public:
void Register() override void Register() override
{ {
AfterCast += SpellCastFn(spell_cataclysm_breath_SpellScript::HandleAfterCast); AfterCast += SpellCastFn(spell_cataclysm_breath::HandleAfterCast);
}
};
SpellScript* GetSpellScript() const override
{
return new spell_cataclysm_breath_SpellScript();
} }
}; };
void AddSC_instance_sunwell_plateau() void AddSC_instance_sunwell_plateau()
{ {
new instance_sunwell_plateau(); new instance_sunwell_plateau();
new spell_cataclysm_breath(); RegisterSpellScript(spell_cataclysm_breath);
} }