From 6b11f9a511ac5893b93f693b5320e3a89bb5f349 Mon Sep 17 00:00:00 2001 From: megamage Date: Mon, 13 Apr 2009 17:53:09 -0500 Subject: *Call new function InitializeAI() instead of Reset() to do one-time work. --HG-- branch : trunk --- src/bindings/scripts/include/sc_creature.h | 2 +- src/game/Creature.cpp | 2 +- src/game/CreatureAI.h | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) (limited to 'src') 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 -- cgit v1.2.3