mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-20 01:15:35 +01:00
@@ -39,6 +39,58 @@ enum HunterSpells
|
||||
HUNTER_SPELL_CHIMERA_SHOT_SERPENT = 53353,
|
||||
HUNTER_SPELL_CHIMERA_SHOT_VIPER = 53358,
|
||||
HUNTER_SPELL_CHIMERA_SHOT_SCORPID = 53359,
|
||||
HUNTER_SPELL_ASPECT_OF_THE_BEAST_PET = 61669,
|
||||
};
|
||||
|
||||
// 13161 Aspect of the Beast
|
||||
class spell_hun_aspect_of_the_beast : public SpellScriptLoader
|
||||
{
|
||||
public:
|
||||
spell_hun_aspect_of_the_beast() : SpellScriptLoader("spell_hun_aspect_of_the_beast") { }
|
||||
|
||||
class spell_hun_aspect_of_the_beast_AuraScript : public AuraScript
|
||||
{
|
||||
PrepareAuraScript(spell_hun_aspect_of_the_beast_AuraScript)
|
||||
bool Validate(SpellInfo const* /*entry*/)
|
||||
{
|
||||
if (!sSpellMgr->GetSpellInfo(HUNTER_SPELL_ASPECT_OF_THE_BEAST_PET))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
|
||||
void OnRemove(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (!GetCaster())
|
||||
return;
|
||||
|
||||
Unit* caster = GetCaster();
|
||||
if (caster->ToPlayer())
|
||||
if (Pet* pet = caster->ToPlayer()->GetPet())
|
||||
pet->RemoveAurasDueToSpell(HUNTER_SPELL_ASPECT_OF_THE_BEAST_PET);
|
||||
}
|
||||
|
||||
void OnApply(AuraEffect const* /*aurEff*/, AuraEffectHandleModes /*mode*/)
|
||||
{
|
||||
if (!GetCaster())
|
||||
return;
|
||||
|
||||
Unit* caster = GetCaster();
|
||||
if (caster->ToPlayer())
|
||||
if (Pet* pet = caster->ToPlayer()->GetPet())
|
||||
caster->CastSpell(caster, HUNTER_SPELL_ASPECT_OF_THE_BEAST_PET, true);
|
||||
}
|
||||
|
||||
void Register()
|
||||
{
|
||||
AfterEffectApply += AuraEffectApplyFn(spell_hun_aspect_of_the_beast_AuraScript::OnApply, EFFECT_0, SPELL_AURA_UNTRACKABLE, AURA_EFFECT_HANDLE_REAL);
|
||||
AfterEffectRemove += AuraEffectRemoveFn(spell_hun_aspect_of_the_beast_AuraScript::OnRemove, EFFECT_0, SPELL_AURA_UNTRACKABLE, AURA_EFFECT_HANDLE_REAL);
|
||||
}
|
||||
};
|
||||
|
||||
AuraScript *GetAuraScript() const
|
||||
{
|
||||
return new spell_hun_aspect_of_the_beast_AuraScript();
|
||||
}
|
||||
};
|
||||
|
||||
// 53209 Chimera Shot
|
||||
@@ -512,6 +564,7 @@ public:
|
||||
|
||||
void AddSC_hunter_spell_scripts()
|
||||
{
|
||||
new spell_hun_aspect_of_the_beast();
|
||||
new spell_hun_chimera_shot();
|
||||
new spell_hun_invigoration();
|
||||
new spell_hun_last_stand_pet();
|
||||
|
||||
Reference in New Issue
Block a user