refactor(Scripts/RubySanctum): Spell Scripts registry macros (#19487)
This commit is contained in:
@@ -0,0 +1,12 @@
|
||||
--
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_meteor_strike_marker_aura' WHERE `spell_id`=74641 AND `ScriptName`='spell_halion_meteor_strike_marker';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_meteor_strike_spread_aura' WHERE `spell_id`=74696 AND `ScriptName`='spell_halion_meteor_strike_spread';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_soul_consumption_aura' WHERE `spell_id`=74792 AND `ScriptName`='spell_halion_soul_consumption';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_fiery_combustion_aura' WHERE `spell_id`=74562 AND `ScriptName`='spell_halion_fiery_combustion';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_soul_consumption_aura' WHERE `spell_id`=74792 AND `ScriptName`='spell_halion_soul_consumption';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_fiery_combustion_aura' WHERE `spell_id`=74562 AND `ScriptName`='spell_halion_fiery_combustion';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_mark_of_combustion_aura' WHERE `spell_id`=74567 AND `ScriptName`='spell_halion_mark_of_combustion';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_mark_of_consumption_aura' WHERE `spell_id`=74795 AND `ScriptName`='spell_halion_mark_of_consumption';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_twilight_realm_aura' WHERE `spell_id`=74807 AND `ScriptName`='spell_halion_twilight_realm';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_leave_twilight_realm_aura' WHERE `spell_id`=74812 AND `ScriptName`='spell_halion_leave_twilight_realm';
|
||||
UPDATE `spell_script_names` SET `ScriptName`='spell_halion_twilight_cutter_periodic_aura' WHERE `spell_id`=74768 AND `ScriptName`='spell_halion_twilight_cutter_periodic';
|
||||
+7
-13
@@ -334,14 +334,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_baltharus_enervating_brand_trigger : public SpellScriptLoader
|
||||
class spell_baltharus_enervating_brand_trigger : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_baltharus_enervating_brand_trigger() : SpellScriptLoader("spell_baltharus_enervating_brand_trigger") { }
|
||||
PrepareSpellScript(spell_baltharus_enervating_brand_trigger);
|
||||
|
||||
class spell_baltharus_enervating_brand_trigger_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_baltharus_enervating_brand_trigger_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_SIPHONED_MIGHT });
|
||||
}
|
||||
|
||||
void CheckDistance()
|
||||
{
|
||||
@@ -355,13 +355,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger_SpellScript::CheckDistance);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_baltharus_enervating_brand_trigger_SpellScript();
|
||||
OnHit += SpellHitFn(spell_baltharus_enervating_brand_trigger::CheckDistance);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -486,7 +480,7 @@ void AddSC_boss_baltharus_the_warborn()
|
||||
{
|
||||
new boss_baltharus_the_warborn();
|
||||
new npc_baltharus_the_warborn_clone();
|
||||
new spell_baltharus_enervating_brand_trigger();
|
||||
RegisterSpellScript(spell_baltharus_enervating_brand_trigger);
|
||||
new npc_xerestrasza();
|
||||
new at_baltharus_plateau();
|
||||
}
|
||||
|
||||
@@ -798,14 +798,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_meteor_strike_targeting : public SpellScriptLoader
|
||||
class spell_halion_meteor_strike_targeting : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_halion_meteor_strike_targeting() : SpellScriptLoader("spell_halion_meteor_strike_targeting") { }
|
||||
PrepareSpellScript(spell_halion_meteor_strike_targeting);
|
||||
|
||||
class spell_halion_meteor_strike_targeting_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_halion_meteor_strike_targeting_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_METEOR_STRIKE });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -815,24 +815,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_meteor_strike_targeting_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_meteor_strike_targeting::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_halion_meteor_strike_marker_aura : public AuraScript
|
||||
{
|
||||
return new spell_halion_meteor_strike_targeting_SpellScript();
|
||||
PrepareAuraScript(spell_halion_meteor_strike_marker_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_METEOR_STRIKE_AOE_DAMAGE, SPELL_METEOR_STRIKE_FIRE_AURA_1 });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_meteor_strike_marker : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_meteor_strike_marker() : SpellScriptLoader("spell_halion_meteor_strike_marker") { }
|
||||
|
||||
class spell_halion_meteor_strike_marker_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_meteor_strike_marker_AuraScript);
|
||||
|
||||
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -855,25 +849,19 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_halion_meteor_strike_marker_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_meteor_strike_marker_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_halion_meteor_strike_marker_aura::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_meteor_strike_marker_aura::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_halion_meteor_strike_spread_aura : public AuraScript
|
||||
{
|
||||
return new spell_halion_meteor_strike_marker_AuraScript();
|
||||
PrepareAuraScript(spell_halion_meteor_strike_spread_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SUMMON_METEOR_FLAME1, SPELL_SUMMON_METEOR_FLAME2, SPELL_SUMMON_METEOR_FLAME3 });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_meteor_strike_spread : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_meteor_strike_spread() : SpellScriptLoader("spell_halion_meteor_strike_spread") { }
|
||||
|
||||
class spell_halion_meteor_strike_spread_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_meteor_strike_spread_AuraScript);
|
||||
|
||||
void HandlePeriodic(AuraEffect const* /*aurEff*/)
|
||||
{
|
||||
@@ -886,24 +874,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_halion_meteor_strike_spread_AuraScript::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_halion_meteor_strike_spread_aura::HandlePeriodic, EFFECT_0, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_halion_blazing_aura : public SpellScript
|
||||
{
|
||||
return new spell_halion_meteor_strike_spread_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_blazing_aura : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_blazing_aura() : SpellScriptLoader("spell_halion_blazing_aura") { }
|
||||
|
||||
class spell_halion_blazing_aura_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_halion_blazing_aura_SpellScript);
|
||||
PrepareSpellScript(spell_halion_blazing_aura);
|
||||
|
||||
void HandleForceCast(SpellEffIndex effIndex)
|
||||
{
|
||||
@@ -914,27 +891,16 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_blazing_aura_SpellScript::HandleForceCast, EFFECT_1, SPELL_EFFECT_FORCE_CAST);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_blazing_aura::HandleForceCast, EFFECT_1, SPELL_EFFECT_FORCE_CAST);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_halion_combustion_consumption_aura : public AuraScript
|
||||
{
|
||||
return new spell_halion_blazing_aura_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_combustion_consumption : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_combustion_consumption(char const* scriptName, uint32 spell) : SpellScriptLoader(scriptName), _spellID(spell) { }
|
||||
|
||||
class spell_halion_combustion_consumption_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_combustion_consumption_AuraScript);
|
||||
PrepareAuraScript(spell_halion_combustion_consumption_aura);
|
||||
|
||||
public:
|
||||
spell_halion_combustion_consumption_AuraScript(uint32 spellID) : AuraScript(), _markSpell(spellID) { }
|
||||
spell_halion_combustion_consumption_aura(uint32 spellID) : AuraScript(), _markSpell(spellID) { }
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
@@ -953,34 +919,21 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_halion_combustion_consumption_AuraScript::AddMarkStack, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_halion_combustion_consumption_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_combustion_consumption_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
|
||||
uint32 _markSpell;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_halion_combustion_consumption_AuraScript(_spellID);
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_halion_combustion_consumption_aura::AddMarkStack, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_halion_combustion_consumption_aura::OnApply, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_combustion_consumption_aura::OnRemove, EFFECT_0, SPELL_AURA_PERIODIC_DAMAGE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 _spellID;
|
||||
uint32 _markSpell;
|
||||
};
|
||||
|
||||
class spell_halion_marks : public SpellScriptLoader
|
||||
class spell_halion_marks_aura : public AuraScript
|
||||
{
|
||||
public:
|
||||
spell_halion_marks(char const* scriptName, uint32 summonSpell, uint32 removeSpell) : SpellScriptLoader(scriptName), _summonSpell(summonSpell), _removeSpell(removeSpell) { }
|
||||
|
||||
class spell_halion_marks_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_marks_AuraScript);
|
||||
PrepareAuraScript(spell_halion_marks_aura);
|
||||
|
||||
public:
|
||||
spell_halion_marks_AuraScript(uint32 summonSpell, uint32 removeSpell) : AuraScript(), _summonSpellId(summonSpell), _removeSpellId(removeSpell) { }
|
||||
spell_halion_marks_aura(uint32 summonSpell, uint32 removeSpell) : AuraScript(), _summonSpellId(summonSpell), _removeSpellId(removeSpell) { }
|
||||
|
||||
void BeforeDispel(DispelInfo* dispelData)
|
||||
{
|
||||
@@ -1004,35 +957,26 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnDispel += AuraDispelFn(spell_halion_marks_AuraScript::BeforeDispel);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_marks_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
OnDispel += AuraDispelFn(spell_halion_marks_aura::BeforeDispel);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_marks_aura::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 _summonSpellId;
|
||||
uint32 _removeSpellId;
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_halion_damage_aoe_summon : public SpellScript
|
||||
{
|
||||
return new spell_halion_marks_AuraScript(_summonSpell, _removeSpell);
|
||||
PrepareSpellScript(spell_halion_damage_aoe_summon);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SCALE_AURA });
|
||||
}
|
||||
|
||||
private:
|
||||
uint32 _summonSpell;
|
||||
uint32 _removeSpell;
|
||||
};
|
||||
|
||||
class spell_halion_damage_aoe_summon : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_damage_aoe_summon(char const* scriptName, uint32 explosionSpell, uint32 auraSpell) : SpellScriptLoader(scriptName), _explosionSpell(explosionSpell), _auraSpell(auraSpell) { }
|
||||
|
||||
class spell_halion_damage_aoe_summon_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_halion_damage_aoe_summon_SpellScript);
|
||||
|
||||
public:
|
||||
spell_halion_damage_aoe_summon_SpellScript(uint32 explosionSpell, uint32 auraSpell) : SpellScript(), _explosionSpell(explosionSpell), _auraSpell(auraSpell) { }
|
||||
spell_halion_damage_aoe_summon(uint32 explosionSpell, uint32 auraSpell) : SpellScript(), _explosionSpell(explosionSpell), _auraSpell(auraSpell) { }
|
||||
|
||||
void HandleSummon(SpellEffIndex effIndex)
|
||||
{
|
||||
@@ -1065,16 +1009,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHit += SpellEffectFn(spell_halion_damage_aoe_summon_SpellScript::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
|
||||
}
|
||||
|
||||
uint32 _explosionSpell;
|
||||
uint32 _auraSpell;
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_halion_damage_aoe_summon_SpellScript(_explosionSpell, _auraSpell);
|
||||
OnEffectHit += SpellEffectFn(spell_halion_damage_aoe_summon::HandleSummon, EFFECT_0, SPELL_EFFECT_SUMMON);
|
||||
}
|
||||
|
||||
private:
|
||||
@@ -1082,14 +1017,14 @@ private:
|
||||
uint32 _auraSpell;
|
||||
};
|
||||
|
||||
class spell_halion_clear_debuffs : public SpellScriptLoader
|
||||
class spell_halion_clear_debuffs : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_halion_clear_debuffs() : SpellScriptLoader("spell_halion_clear_debuffs") { }
|
||||
PrepareSpellScript(spell_halion_clear_debuffs);
|
||||
|
||||
class spell_halion_clear_debuffs_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_halion_clear_debuffs_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_FIERY_COMBUSTION });
|
||||
}
|
||||
|
||||
void HandleScriptEffect(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -1103,24 +1038,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_clear_debuffs_SpellScript::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_clear_debuffs::HandleScriptEffect, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_halion_twilight_phasing : public SpellScript
|
||||
{
|
||||
return new spell_halion_clear_debuffs_SpellScript();
|
||||
PrepareSpellScript(spell_halion_twilight_phasing);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SUMMON_TWILIGHT_PORTAL });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_twilight_phasing : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_twilight_phasing() : SpellScriptLoader("spell_halion_twilight_phasing") { }
|
||||
|
||||
class spell_halion_twilight_phasing_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_halion_twilight_phasing_SpellScript);
|
||||
|
||||
bool Load() override
|
||||
{
|
||||
@@ -1136,18 +1065,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnHit += SpellHitFn(spell_halion_twilight_phasing_SpellScript::Phase);
|
||||
OnHit += SpellHitFn(spell_halion_twilight_phasing::Phase);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_halion_twilight_phasing_aura : public AuraScript
|
||||
{
|
||||
return new spell_halion_twilight_phasing_SpellScript();
|
||||
}
|
||||
|
||||
class spell_halion_twilight_phasing_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_twilight_phasing_AuraScript);
|
||||
PrepareAuraScript(spell_halion_twilight_phasing_aura);
|
||||
|
||||
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*handle*/)
|
||||
{
|
||||
@@ -1171,25 +1095,19 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectApply += AuraEffectApplyFn(spell_halion_twilight_phasing_AuraScript::OnApply, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_halion_twilight_phasing_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectApply += AuraEffectApplyFn(spell_halion_twilight_phasing_aura::OnApply, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
OnEffectRemove += AuraEffectRemoveFn(spell_halion_twilight_phasing_aura::OnRemove, EFFECT_0, SPELL_AURA_TRANSFORM, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_halion_twilight_realm_aura : public AuraScript
|
||||
{
|
||||
return new spell_halion_twilight_phasing_AuraScript();
|
||||
PrepareAuraScript(spell_halion_twilight_realm_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_FIERY_COMBUSTION });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_twilight_realm : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_twilight_realm() : SpellScriptLoader("spell_halion_twilight_realm") { }
|
||||
|
||||
class spell_halion_twilight_realm_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_twilight_realm_AuraScript);
|
||||
|
||||
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*handle*/)
|
||||
{
|
||||
@@ -1205,24 +1123,18 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_halion_twilight_realm_AuraScript::OnApply, EFFECT_0, SPELL_AURA_PHASE, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_halion_twilight_realm_aura::OnApply, EFFECT_0, SPELL_AURA_PHASE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_halion_leave_twilight_realm_aura : public AuraScript
|
||||
{
|
||||
return new spell_halion_twilight_realm_AuraScript();
|
||||
PrepareAuraScript(spell_halion_leave_twilight_realm_aura);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SOUL_CONSUMPTION, SPELL_TWILIGHT_REALM });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_leave_twilight_realm : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_leave_twilight_realm() : SpellScriptLoader("spell_halion_leave_twilight_realm") { }
|
||||
|
||||
class spell_halion_leave_twilight_realm_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_leave_twilight_realm_AuraScript);
|
||||
|
||||
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*handle*/)
|
||||
{
|
||||
@@ -1244,25 +1156,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_halion_leave_twilight_realm_AuraScript::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_leave_twilight_realm_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_halion_leave_twilight_realm_aura::OnApply, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_halion_leave_twilight_realm_aura::OnRemove, EFFECT_0, SPELL_AURA_DUMMY, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
class spell_halion_twilight_cutter_periodic_aura : public AuraScript
|
||||
{
|
||||
return new spell_halion_leave_twilight_realm_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_twilight_cutter_periodic : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_twilight_cutter_periodic() : SpellScriptLoader("spell_halion_twilight_cutter_periodic") { }
|
||||
|
||||
class spell_halion_twilight_cutter_periodic_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_halion_twilight_cutter_periodic_AuraScript);
|
||||
PrepareAuraScript(spell_halion_twilight_cutter_periodic_aura);
|
||||
|
||||
void HandlePeriodic(AuraEffect const* aurEff)
|
||||
{
|
||||
@@ -1272,13 +1173,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_halion_twilight_cutter_periodic_AuraScript::HandlePeriodic, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript* GetAuraScript() const override
|
||||
{
|
||||
return new spell_halion_twilight_cutter_periodic_AuraScript();
|
||||
OnEffectPeriodic += AuraEffectPeriodicFn(spell_halion_twilight_cutter_periodic_aura::HandlePeriodic, EFFECT_1, SPELL_AURA_PERIODIC_TRIGGER_SPELL);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1297,14 +1192,9 @@ private:
|
||||
WorldObject* _cutterCaster;
|
||||
};
|
||||
|
||||
class spell_halion_twilight_cutter : public SpellScriptLoader
|
||||
class spell_halion_twilight_cutter : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_halion_twilight_cutter() : SpellScriptLoader("spell_halion_twilight_cutter") { }
|
||||
|
||||
class spell_halion_twilight_cutter_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_halion_twilight_cutter_SpellScript);
|
||||
PrepareSpellScript(spell_halion_twilight_cutter);
|
||||
|
||||
void RemoveNotBetween(std::list<WorldObject*>& unitList)
|
||||
{
|
||||
@@ -1323,24 +1213,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_halion_twilight_cutter_SpellScript::RemoveNotBetween, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
OnObjectAreaTargetSelect += SpellObjectAreaTargetSelectFn(spell_halion_twilight_cutter::RemoveNotBetween, EFFECT_0, TARGET_UNIT_SRC_AREA_ENEMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_halion_summon_exit_portals : public SpellScript
|
||||
{
|
||||
return new spell_halion_twilight_cutter_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_summon_exit_portals : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_summon_exit_portals() : SpellScriptLoader("spell_halion_summon_exit_portals") { }
|
||||
|
||||
class spell_halion_summon_exit_portals_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_halion_summon_exit_portals_SpellScript);
|
||||
PrepareSpellScript(spell_halion_summon_exit_portals);
|
||||
|
||||
void OnSummon(SpellEffIndex effIndex)
|
||||
{
|
||||
@@ -1359,25 +1238,19 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectLaunch += SpellEffectFn(spell_halion_summon_exit_portals_SpellScript::OnSummon, EFFECT_0, SPELL_EFFECT_SUMMON_OBJECT_WILD);
|
||||
OnEffectLaunch += SpellEffectFn(spell_halion_summon_exit_portals_SpellScript::OnSummon, EFFECT_1, SPELL_EFFECT_SUMMON_OBJECT_WILD);
|
||||
OnEffectLaunch += SpellEffectFn(spell_halion_summon_exit_portals::OnSummon, EFFECT_0, SPELL_EFFECT_SUMMON_OBJECT_WILD);
|
||||
OnEffectLaunch += SpellEffectFn(spell_halion_summon_exit_portals::OnSummon, EFFECT_1, SPELL_EFFECT_SUMMON_OBJECT_WILD);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_halion_twilight_division : public SpellScript
|
||||
{
|
||||
return new spell_halion_summon_exit_portals_SpellScript();
|
||||
PrepareSpellScript(spell_halion_twilight_division);
|
||||
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
return ValidateSpellInfo({ SPELL_SUMMON_EXIT_PORTALS_NORMAL, SPELL_SUMMON_EXIT_PORTALS, SPELL_TWILIGHT_PHASING });
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_twilight_division : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_twilight_division() : SpellScriptLoader("spell_halion_twilight_division") { }
|
||||
|
||||
class spell_halion_twilight_division_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_halion_twilight_division_SpellScript);
|
||||
|
||||
void HandleDummy(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -1406,24 +1279,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_twilight_division_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_twilight_division::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_halion_twilight_mending : public SpellScript
|
||||
{
|
||||
return new spell_halion_twilight_division_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_halion_twilight_mending : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_halion_twilight_mending() : SpellScriptLoader("spell_halion_twilight_mending") { }
|
||||
|
||||
class spell_halion_twilight_mending_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_halion_twilight_mending_SpellScript);
|
||||
PrepareSpellScript(spell_halion_twilight_mending);
|
||||
|
||||
void HandleHealPct(SpellEffIndex /*effIndex*/)
|
||||
{
|
||||
@@ -1433,13 +1295,7 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_twilight_mending_SpellScript::HandleHealPct, EFFECT_ALL, SPELL_EFFECT_HEAL_PCT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_halion_twilight_mending_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_halion_twilight_mending::HandleHealPct, EFFECT_ALL, SPELL_EFFECT_HEAL_PCT);
|
||||
}
|
||||
};
|
||||
|
||||
@@ -1482,24 +1338,24 @@ void AddSC_boss_halion()
|
||||
new npc_orb_carrier();
|
||||
new npc_living_inferno();
|
||||
|
||||
new spell_halion_meteor_strike_targeting();
|
||||
new spell_halion_meteor_strike_marker();
|
||||
new spell_halion_meteor_strike_spread();
|
||||
new spell_halion_blazing_aura();
|
||||
new spell_halion_combustion_consumption("spell_halion_soul_consumption", SPELL_MARK_OF_CONSUMPTION);
|
||||
new spell_halion_combustion_consumption("spell_halion_fiery_combustion", SPELL_MARK_OF_COMBUSTION);
|
||||
new spell_halion_marks("spell_halion_mark_of_combustion", SPELL_FIERY_COMBUSTION_SUMMON, SPELL_FIERY_COMBUSTION);
|
||||
new spell_halion_marks("spell_halion_mark_of_consumption", SPELL_SOUL_CONSUMPTION_SUMMON, SPELL_SOUL_CONSUMPTION);
|
||||
new spell_halion_damage_aoe_summon("spell_halion_combustion_summon", SPELL_FIERY_COMBUSTION_EXPLOSION, SPELL_COMBUSTION_DAMAGE_AURA);
|
||||
new spell_halion_damage_aoe_summon("spell_halion_consumption_summon", SPELL_SOUL_CONSUMPTION_EXPLOSION, SPELL_CONSUMPTION_DAMAGE_AURA);
|
||||
new spell_halion_clear_debuffs();
|
||||
new spell_halion_twilight_phasing();
|
||||
new spell_halion_twilight_realm();
|
||||
new spell_halion_leave_twilight_realm();
|
||||
new spell_halion_twilight_cutter_periodic();
|
||||
new spell_halion_twilight_cutter();
|
||||
new spell_halion_summon_exit_portals();
|
||||
new spell_halion_twilight_division();
|
||||
new spell_halion_twilight_mending();
|
||||
RegisterSpellScript(spell_halion_meteor_strike_targeting);
|
||||
RegisterSpellScript(spell_halion_meteor_strike_marker_aura);
|
||||
RegisterSpellScript(spell_halion_meteor_strike_spread_aura);
|
||||
RegisterSpellScript(spell_halion_blazing_aura);
|
||||
RegisterSpellScriptWithArgs(spell_halion_combustion_consumption_aura, "spell_halion_soul_consumption_aura", SPELL_MARK_OF_CONSUMPTION);
|
||||
RegisterSpellScriptWithArgs(spell_halion_combustion_consumption_aura, "spell_halion_fiery_combustion_aura", SPELL_MARK_OF_COMBUSTION);
|
||||
RegisterSpellScriptWithArgs(spell_halion_marks_aura, "spell_halion_mark_of_combustion_aura", SPELL_FIERY_COMBUSTION_SUMMON, SPELL_FIERY_COMBUSTION);
|
||||
RegisterSpellScriptWithArgs(spell_halion_marks_aura, "spell_halion_mark_of_consumption_aura", SPELL_SOUL_CONSUMPTION_SUMMON, SPELL_SOUL_CONSUMPTION);
|
||||
RegisterSpellScriptWithArgs(spell_halion_damage_aoe_summon, "spell_halion_combustion_summon", SPELL_FIERY_COMBUSTION_EXPLOSION, SPELL_COMBUSTION_DAMAGE_AURA);
|
||||
RegisterSpellScriptWithArgs(spell_halion_damage_aoe_summon, "spell_halion_consumption_summon", SPELL_SOUL_CONSUMPTION_EXPLOSION, SPELL_CONSUMPTION_DAMAGE_AURA);
|
||||
RegisterSpellScript(spell_halion_clear_debuffs);
|
||||
RegisterSpellAndAuraScriptPair(spell_halion_twilight_phasing, spell_halion_twilight_phasing_aura);
|
||||
RegisterSpellScript(spell_halion_twilight_realm_aura);
|
||||
RegisterSpellScript(spell_halion_leave_twilight_realm_aura);
|
||||
RegisterSpellScript(spell_halion_twilight_cutter_periodic_aura);
|
||||
RegisterSpellScript(spell_halion_twilight_cutter);
|
||||
RegisterSpellScript(spell_halion_summon_exit_portals);
|
||||
RegisterSpellScript(spell_halion_twilight_division);
|
||||
RegisterSpellScript(spell_halion_twilight_mending);
|
||||
}
|
||||
|
||||
|
||||
+11
-28
@@ -185,14 +185,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_saviana_conflagration_init : public SpellScriptLoader
|
||||
class spell_saviana_conflagration_init : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_saviana_conflagration_init() : SpellScriptLoader("spell_saviana_conflagration_init") { }
|
||||
PrepareSpellScript(spell_saviana_conflagration_init);
|
||||
|
||||
class spell_saviana_conflagration_init_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_saviana_conflagration_init_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_FLAME_BEACON, SPELL_CONFLAGRATION_MISSLE });
|
||||
}
|
||||
|
||||
void HandleDummy(SpellEffIndex effIndex)
|
||||
{
|
||||
@@ -203,24 +203,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_init_SpellScript::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_init::HandleDummy, EFFECT_0, SPELL_EFFECT_DUMMY);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
class spell_saviana_conflagration_throwback : public SpellScript
|
||||
{
|
||||
return new spell_saviana_conflagration_init_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_saviana_conflagration_throwback : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_saviana_conflagration_throwback() : SpellScriptLoader("spell_saviana_conflagration_throwback") { }
|
||||
|
||||
class spell_saviana_conflagration_throwback_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_saviana_conflagration_throwback_SpellScript);
|
||||
PrepareSpellScript(spell_saviana_conflagration_throwback);
|
||||
|
||||
void HandleScript(SpellEffIndex effIndex)
|
||||
{
|
||||
@@ -230,20 +219,14 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_throwback_SpellScript::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_saviana_conflagration_throwback_SpellScript();
|
||||
OnEffectHitTarget += SpellEffectFn(spell_saviana_conflagration_throwback::HandleScript, EFFECT_0, SPELL_EFFECT_SCRIPT_EFFECT);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_boss_saviana_ragefire()
|
||||
{
|
||||
new boss_saviana_ragefire();
|
||||
new spell_saviana_conflagration_init();
|
||||
new spell_saviana_conflagration_throwback();
|
||||
RegisterSpellScript(spell_saviana_conflagration_init);
|
||||
RegisterSpellScript(spell_saviana_conflagration_throwback);
|
||||
}
|
||||
|
||||
|
||||
+7
-13
@@ -245,14 +245,14 @@ public:
|
||||
}
|
||||
};
|
||||
|
||||
class spell_ruby_sanctum_rallying_shout : public SpellScriptLoader
|
||||
class spell_ruby_sanctum_rallying_shout : public SpellScript
|
||||
{
|
||||
public:
|
||||
spell_ruby_sanctum_rallying_shout() : SpellScriptLoader("spell_ruby_sanctum_rallying_shout") { }
|
||||
PrepareSpellScript(spell_ruby_sanctum_rallying_shout);
|
||||
|
||||
class spell_ruby_sanctum_rallying_shout_SpellScript : public SpellScript
|
||||
bool Validate(SpellInfo const* /*spellInfo*/) override
|
||||
{
|
||||
PrepareSpellScript(spell_ruby_sanctum_rallying_shout_SpellScript);
|
||||
return ValidateSpellInfo({ SPELL_RALLY });
|
||||
}
|
||||
|
||||
void CountAllies()
|
||||
{
|
||||
@@ -267,19 +267,13 @@ public:
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_ruby_sanctum_rallying_shout_SpellScript::CountAllies);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_ruby_sanctum_rallying_shout_SpellScript();
|
||||
AfterHit += SpellHitFn(spell_ruby_sanctum_rallying_shout::CountAllies);
|
||||
}
|
||||
};
|
||||
|
||||
void AddSC_instance_ruby_sanctum()
|
||||
{
|
||||
new instance_ruby_sanctum();
|
||||
new spell_ruby_sanctum_rallying_shout();
|
||||
RegisterSpellScript(spell_ruby_sanctum_rallying_shout);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user