mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-21 01:37:37 +01:00
Core/Spells: Moved applying exclusive aura spells to scripts
This commit is contained in:
@@ -3371,6 +3371,71 @@ class spell_gen_tournament_pennant : public SpellScriptLoader
|
||||
}
|
||||
};
|
||||
|
||||
class spell_gen_trigger_exclude_caster_aura_spell : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_gen_trigger_exclude_caster_aura_spell() : SpellScriptLoader("spell_gen_trigger_exclude_caster_aura_spell") { }
|
||||
|
||||
class spell_gen_trigger_exclude_caster_aura_spell_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_gen_trigger_exclude_caster_aura_spell_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo({ spellInfo->ExcludeCasterAuraSpell });
|
||||
}
|
||||
|
||||
void HandleTrigger()
|
||||
{
|
||||
// Blizz seems to just apply aura without bothering to cast
|
||||
GetCaster()->AddAura(GetSpellInfo()->ExcludeCasterAuraSpell, GetCaster());
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterCast += SpellCastFn(spell_gen_trigger_exclude_caster_aura_spell_SpellScript::HandleTrigger);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_gen_trigger_exclude_caster_aura_spell_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
class spell_gen_trigger_exclude_target_aura_spell : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_gen_trigger_exclude_target_aura_spell() : SpellScriptLoader("spell_gen_trigger_exclude_target_aura_spell") { }
|
||||
|
||||
class spell_gen_trigger_exclude_target_aura_spell_SpellScript : public SpellScript
|
||||
{
|
||||
PrepareSpellScript(spell_gen_trigger_exclude_target_aura_spell_SpellScript);
|
||||
|
||||
bool Validate(SpellInfo const* spellInfo) override
|
||||
{
|
||||
return ValidateSpellInfo({ spellInfo->ExcludeTargetAuraSpell });
|
||||
}
|
||||
|
||||
void HandleTrigger()
|
||||
{
|
||||
if (Unit* target = GetHitUnit())
|
||||
// Blizz seems to just apply aura without bothering to cast
|
||||
GetCaster()->AddAura(GetSpellInfo()->ExcludeTargetAuraSpell, target);
|
||||
}
|
||||
|
||||
void Register() override
|
||||
{
|
||||
AfterHit += SpellHitFn(spell_gen_trigger_exclude_target_aura_spell_SpellScript::HandleTrigger);
|
||||
}
|
||||
};
|
||||
|
||||
SpellScript* GetSpellScript() const override
|
||||
{
|
||||
return new spell_gen_trigger_exclude_target_aura_spell_SpellScript();
|
||||
}
|
||||
};
|
||||
|
||||
enum PvPTrinketTriggeredSpells
|
||||
{
|
||||
SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER = 72752,
|
||||
@@ -4629,6 +4694,8 @@ void AddSC_generic_spell_scripts()
|
||||
new spell_gen_throw_shield();
|
||||
new spell_gen_tournament_duel();
|
||||
new spell_gen_tournament_pennant();
|
||||
new spell_gen_trigger_exclude_caster_aura_spell();
|
||||
new spell_gen_trigger_exclude_target_aura_spell();
|
||||
new spell_pvp_trinket_wotf_shared_cd<SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER>("spell_pvp_trinket_shared_cd");
|
||||
new spell_pvp_trinket_wotf_shared_cd<SPELL_WILL_OF_THE_FORSAKEN_COOLDOWN_TRIGGER_WOTF>("spell_wotf_shared_cd");
|
||||
new spell_gen_turkey_marker();
|
||||
|
||||
Reference in New Issue
Block a user