aboutsummaryrefslogtreecommitdiff
path: root/src/game/CreatureAI.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/game/CreatureAI.cpp')
-rw-r--r--src/game/CreatureAI.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/game/CreatureAI.cpp b/src/game/CreatureAI.cpp
index e9f01098b03..9753008e3de 100644
--- a/src/game/CreatureAI.cpp
+++ b/src/game/CreatureAI.cpp
@@ -104,6 +104,17 @@ void CreatureAI::DoZoneInCombat(Creature* creature)
}
}
+// scripts does not take care about MoveInLineOfSight loops
+// MoveInLineOfSight can be called inside another MoveInLineOfSight and cause stack overflow
+void CreatureAI::MoveInLineOfSight_Safe(Unit *who)
+{
+ if(m_MoveInLineOfSight_locked == true)
+ return;
+ m_MoveInLineOfSight_locked = true;
+ MoveInLineOfSight(who);
+ m_MoveInLineOfSight_locked = false;
+}
+
void CreatureAI::MoveInLineOfSight(Unit *who)
{
if(me->getVictim())