diff options
author | megamage <none@none> | 2009-01-29 19:35:49 -0600 |
---|---|---|
committer | megamage <none@none> | 2009-01-29 19:35:49 -0600 |
commit | b0bf621a139aaa6e620098fc7a4411a800fda43d (patch) | |
tree | a80cfed503a562c4e436814dc056e8b22386efef /src/game/NullCreatureAI.cpp | |
parent | 25ab1fa4adfe1e9be1f8bfb6701f6a0d48887770 (diff) | |
parent | adee7cab17e191ab9d735c326cd611f0380736d6 (diff) |
*Merge.
--HG--
branch : trunk
Diffstat (limited to 'src/game/NullCreatureAI.cpp')
-rw-r--r-- | src/game/NullCreatureAI.cpp | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/src/game/NullCreatureAI.cpp b/src/game/NullCreatureAI.cpp index 4c1cb592967..164aa2f7974 100644 --- a/src/game/NullCreatureAI.cpp +++ b/src/game/NullCreatureAI.cpp @@ -19,7 +19,23 @@ */ #include "NullCreatureAI.h" +#include "Creature.h" -NullCreatureAI::~NullCreatureAI() +void PassiveAI::UpdateAI(const uint32) { + if(me->isInCombat() && me->getAttackers().empty()) + EnterEvadeMode(); +} + +void CritterAI::DamageTaken(Unit *done_by, uint32 &) +{ + if(!me->hasUnitState(UNIT_STAT_FLEEING)) + me->SetControlled(true, UNIT_STAT_FLEEING); +} + +void CritterAI::EnterEvadeMode() +{ + if(me->hasUnitState(UNIT_STAT_FLEEING)) + me->SetControlled(false, UNIT_STAT_FLEEING); + CreatureAI::EnterEvadeMode(); } |