aboutsummaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
Diffstat (limited to 'src/game')
-rw-r--r--src/game/Creature.cpp1
-rw-r--r--src/game/CreatureAI.h6
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();
};