*Use updatecombatstate to replace updatevictim. This should fix the bug of MoveSeekAssistance is replace by MoveChase immediately. Thanks to totoro

--HG--
branch : trunk
This commit is contained in:
megamage
2009-08-31 13:56:26 -05:00
parent a4f6659f7a
commit ad1acedea7
2 changed files with 42 additions and 20 deletions

View File

@@ -125,26 +125,6 @@ void CreatureAI::SelectNearestTarget(Unit *who)
}
}
bool CreatureAI::UpdateCombatState()
{
if(!me->isInCombat())
return false;
if(!me->HasReactState(REACT_PASSIVE))
{
if(Unit *victim = me->SelectVictim())
AttackStart(victim);
return me->getVictim();
}
else if(me->getThreatManager().isThreatListEmpty())
{
EnterEvadeMode();
return false;
}
return true;
}
void CreatureAI::EnterEvadeMode()
{
if(!_EnterEvadeMode())

View File

@@ -287,6 +287,47 @@ inline bool CreatureAI::UpdateVictimWithGaze()
return me->getVictim();
}
inline bool CreatureAI::UpdateCombatState()
{
if(!me->isInCombat())
return false;
if(!me->HasReactState(REACT_PASSIVE))
{
if(Unit *victim = me->SelectVictim())
AttackStart(victim);
return me->getVictim();
}
else if(me->getThreatManager().isThreatListEmpty())
{
EnterEvadeMode();
return false;
}
return true;
}
inline bool CreatureAI::UpdateVictim()
{
if(!me->isInCombat())
return false;
if(!me->HasReactState(REACT_PASSIVE))
{
if(Unit *victim = me->SelectVictim())
AttackStart(victim);
return me->getVictim();
}
else if(me->getThreatManager().isThreatListEmpty())
{
EnterEvadeMode();
return false;
}
return true;
}
/*
inline bool CreatureAI::UpdateVictim()
{
if(!me->isInCombat())
@@ -295,6 +336,7 @@ inline bool CreatureAI::UpdateVictim()
AttackStart(victim);
return me->getVictim();
}
*/
inline bool CreatureAI::_EnterEvadeMode()
{