diff options
Diffstat (limited to 'src/game')
-rw-r--r-- | src/game/Creature.cpp | 1 | ||||
-rw-r--r-- | src/game/CreatureAI.h | 6 |
2 files changed, 7 insertions, 0 deletions
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp index ad3f435ae53..19d23162873 100644 --- a/src/game/Creature.cpp +++ b/src/game/Creature.cpp @@ -616,6 +616,7 @@ bool Creature::AIM_Initialize(CreatureAI* ai) i_motionMaster.Initialize(); i_AI = ai ? ai : FactorySelector::selectAI(this); IsAIEnabled = true; + i_AI->Reset(); return true; } diff --git a/src/game/CreatureAI.h b/src/game/CreatureAI.h index 1cfeb6555f2..275ecbeb3b4 100644 --- a/src/game/CreatureAI.h +++ b/src/game/CreatureAI.h @@ -79,9 +79,15 @@ class TRINITY_DLL_SPEC UnitAI virtual void AttackStart(Unit *); virtual void UpdateAI(const uint32 diff) = 0; + // Initialize + virtual void Reset() {}; + // Called when unit is charmed virtual void OnCharmed(bool apply) = 0; + // Pass parameters between AI + virtual void DoAction(const int32 param) {} + //Do melee swing of current victim if in rnage and ready and not casting void DoMeleeAttackIfReady(); }; |