Index: /trunk/src/bindings/scripts/include/sc_creature.h
===================================================================
--- /trunk/src/bindings/scripts/include/sc_creature.h (revision 174)
+++ /trunk/src/bindings/scripts/include/sc_creature.h (revision 202)
@@ -26,5 +26,5 @@
 struct TRINITY_DLL_DECL ScriptedAI : public CreatureAI
 {
-    ScriptedAI(Creature* creature) : m_creature(creature), InCombat(false) {}
+    ScriptedAI(Creature* creature) : m_creature(creature), InCombat(false), IsFleeing(false) {}
     ~ScriptedAI() {}
 
Index: /trunk/src/bindings/scripts/scripts/creature/mob_event_ai.cpp
===================================================================
--- /trunk/src/bindings/scripts/scripts/creature/mob_event_ai.cpp (revision 186)
+++ /trunk/src/bindings/scripts/scripts/creature/mob_event_ai.cpp (revision 202)
@@ -1241,17 +1241,22 @@
             return;
 
-        if ((TimetoFleeLeft < diff || (m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE && m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() != FLEEING_MOTION_TYPE)) && IsFleeing)
-        {
-            m_creature->GetMotionMaster()->Clear(false);
-            m_creature->SetNoCallAssistence(false);
-            m_creature->CallAssistence();
-            m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim());
-            IsFleeing = false;
-        }
-        else
-            TimetoFleeLeft -= diff;
-
-        if(IsFleeing)
+        if (IsFleeing)
+        {
+            if(TimetoFleeLeft < diff 
+                || m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() != POINT_MOTION_TYPE 
+                && m_creature->GetMotionMaster()->GetCurrentMovementGeneratorType() != FLEEING_MOTION_TYPE)
+            {
+                m_creature->GetMotionMaster()->Clear(false);
+                m_creature->SetNoCallAssistence(false);
+                m_creature->CallAssistence();
+                if(m_creature->getVictim())
+                    m_creature->GetMotionMaster()->MoveChase(m_creature->getVictim());
+                IsFleeing = false;
+            }
+            else
+                TimetoFleeLeft -= diff;
+
             return;
+        }
 
         //Events are only updated once every EVENT_UPDATE_TIME ms to prevent lag with large amount of events
@@ -1275,5 +1280,5 @@
                     }
                 }
-	        }
+            }
 
             //Check for time based events
@@ -1282,9 +1287,8 @@
                 //Decrement Timers
                 if ((*i).Time)
-
                 {
                     if ((*i).Time > EventDiff)
                     {
-                         //Do not decrement timers if event cannot trigger in this phase
+                        //Do not decrement timers if event cannot trigger in this phase
                         if (!((*i).Event.event_inverse_phase_mask & (1 << Phase)))
                             (*i).Time -= EventDiff;
@@ -1308,12 +1312,13 @@
                     case EVENT_T_FRIENDLY_HP:
                         if( Combat )
-                                ProcessEvent(*i);
+                            ProcessEvent(*i);
                         break;
-                    }
+                }
             }
 
             EventDiff = 0;
             EventUpdateTime = EVENT_UPDATE_TIME;
-        }else
+        }
+        else
         {
             EventDiff += diff;
@@ -1324,5 +1329,4 @@
         if (Combat && MeleeEnabled)
             DoMeleeAttackIfReady();
-
     }
 };
Index: /trunk/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp
===================================================================
--- /trunk/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp (revision 90)
+++ /trunk/src/bindings/scripts/scripts/zone/zulaman/boss_hexlord.cpp (revision 202)
@@ -482,6 +482,4 @@
             return;
 
-        boss_hexlord_addAI::UpdateAI(diff);
-
         if(bloodlust_timer < diff)
         {
@@ -500,4 +498,6 @@
             cleave_timer = 12000; //3 sec cast
         }else cleave_timer -= diff;
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
@@ -549,7 +549,4 @@
         if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
             return;
-
-        boss_hexlord_addAI::UpdateAI(diff);
-
 
         if(flashheal_timer < diff)
@@ -593,4 +590,6 @@
         dispelmagic_timer = 12000;
         }else dispelmagic_timer -= diff;*/
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
@@ -635,6 +634,4 @@
         if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
             return;
-
-        boss_hexlord_addAI::UpdateAI(diff);
 
         if(firebolt_timer < diff)
@@ -643,4 +640,6 @@
             firebolt_timer = 700;
         }else firebolt_timer -= diff;
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
@@ -668,6 +667,4 @@
         if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
             return;
-
-        boss_hexlord_addAI::UpdateAI(diff);
 
         if (thunderclap_timer < diff)
@@ -682,4 +679,6 @@
             flamebreath_timer = 12000;
         }else flamebreath_timer -= diff;
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
@@ -704,6 +703,4 @@
         if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
             return;
-
-        boss_hexlord_addAI::UpdateAI(diff);
 
         if (psychicwail_timer < diff)
@@ -712,4 +709,6 @@
             psychicwail_timer = 12000;
         }else psychicwail_timer -= diff;
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
@@ -755,5 +754,4 @@
         if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
             return;
-        boss_hexlord_addAI::UpdateAI(diff);
 
         if (venomspit_timer < diff)
@@ -763,4 +761,6 @@
             venomspit_timer = 2500;
         }else venomspit_timer -= diff;
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
@@ -786,6 +786,4 @@
         if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
             return;
-
-        boss_hexlord_addAI::UpdateAI(diff);
 
         if (volatileinf_timer < diff)
@@ -795,4 +793,6 @@
             volatileinf_timer = 12000;
         }else volatileinf_timer -= diff;
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
@@ -822,6 +822,4 @@
         if(!m_creature->SelectHostilTarget() || !m_creature->getVictim() )
             return;
-
-        boss_hexlord_addAI::UpdateAI(diff);
 
         if (mightyblow_timer < diff)
@@ -836,4 +834,6 @@
             coldstare_timer = 12000;
         }
+
+        boss_hexlord_addAI::UpdateAI(diff);
     }
 };
