aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/bindings/scripts/include/sc_creature.h2
-rw-r--r--src/game/Creature.cpp2
-rw-r--r--src/game/CreatureAI.h3
3 files changed, 4 insertions, 3 deletions
diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h
index a545d47332b..40a331b7d6b 100644
--- a/src/bindings/scripts/include/sc_creature.h
+++ b/src/bindings/scripts/include/sc_creature.h
@@ -98,7 +98,7 @@ struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
//*************
//Called at creature reset either by death or evade
- virtual void Reset() = 0;
+ void Reset() {}
//Called at creature aggro either by MoveInLOS or Attack Start
virtual void Aggro(Unit*) = 0;
diff --git a/src/game/Creature.cpp b/src/game/Creature.cpp
index 8e1be5145c4..0681dcddd04 100644
--- a/src/game/Creature.cpp
+++ b/src/game/Creature.cpp
@@ -620,7 +620,7 @@ bool Creature::AIM_Initialize(CreatureAI* ai)
i_motionMaster.Initialize();
i_AI = ai ? ai : FactorySelector::selectAI(this);
IsAIEnabled = true;
- i_AI->Reset();
+ i_AI->InitializeAI();
return true;
}
diff --git a/src/game/CreatureAI.h b/src/game/CreatureAI.h
index 275ecbeb3b4..b7a584fd36e 100644
--- a/src/game/CreatureAI.h
+++ b/src/game/CreatureAI.h
@@ -79,7 +79,8 @@ class TRINITY_DLL_SPEC UnitAI
virtual void AttackStart(Unit *);
virtual void UpdateAI(const uint32 diff) = 0;
- // Initialize
+ virtual void InitializeAI() { Reset(); }
+
virtual void Reset() {};
// Called when unit is charmed