Core/AI: Added CreatureAI hook that is getting triggered when a spell cast has been successfully finished. (#21774)

This commit is contained in:
Ovah
2018-04-12 20:26:45 +02:00
committed by Aokromes
parent 4aebd4de3b
commit 327d515ede
2 changed files with 8 additions and 0 deletions

View File

@@ -153,6 +153,9 @@ class TC_GAME_API CreatureAI : public UnitAI
// Called when a spell cast gets interrupted
virtual void OnSpellCastInterrupt(SpellInfo const* /*spell*/) { }
// Called when a spell cast has been successfully finished
virtual void OnSuccessfulSpellCast(SpellInfo const* /*spell*/) { }
// Called at reaching home after evade
virtual void JustReachedHome() { }

View File

@@ -3468,6 +3468,11 @@ void Spell::_cast(bool skipCheck)
hitMask |= PROC_HIT_NORMAL;
m_originalCaster->ProcSkillsAndAuras(nullptr, procAttacker, PROC_FLAG_NONE, PROC_SPELL_TYPE_MASK_ALL, PROC_SPELL_PHASE_CAST, hitMask, this, nullptr, nullptr);
// Call CreatureAI hook OnSuccessfulSpellCast
if (Creature* caster = m_originalCaster->ToCreature())
if (caster->IsAIEnabled)
caster->AI()->OnSuccessfulSpellCast(GetSpellInfo());
}
void Spell::handle_immediate()