diff --git a/src/bindings/scripts/include/sc_creature.h b/src/bindings/scripts/include/sc_creature.h index a545d47332..40a331b7d6 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 8e1be5145c..0681dcddd0 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 275ecbeb3b..b7a584fd36 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