mirror of
https://github.com/TrinityCore/TrinityCore.git
synced 2026-01-19 08:55:32 +01:00
*Fix the behavior of mob assistance.
--HG-- branch : trunk
This commit is contained in:
@@ -1706,8 +1706,16 @@ bool Creature::canStartAttack(Unit const* who, bool force) const
|
||||
// TODO: should switch to range attack
|
||||
return false;
|
||||
|
||||
if(!force && (IsNeutralToAll() || !IsWithinDistInMap(who, GetAttackDistance(who) + m_CombatDistance)))
|
||||
return false;
|
||||
if(!force)
|
||||
{
|
||||
if(who->isInCombat())
|
||||
if(Unit *victim = who->getAttackerForHelper())
|
||||
if(IsWithinDistInMap(victim, sWorld.getConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS)))
|
||||
force = true;
|
||||
|
||||
if(!force && (IsNeutralToAll() || !IsWithinDistInMap(who, GetAttackDistance(who) + m_CombatDistance)))
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!canCreatureAttack(who, force))
|
||||
return false;
|
||||
|
||||
@@ -110,11 +110,10 @@ void CreatureAI::MoveInLineOfSight(Unit *who)
|
||||
|
||||
if(me->canStartAttack(who, false))
|
||||
AttackStart(who);
|
||||
else if(who->getVictim() && me->IsFriendlyTo(who)
|
||||
&& me->IsWithinDistInMap(who, sWorld.getConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS))
|
||||
//&& me->canStartAttack(who->getVictim(), true))
|
||||
&& me->canStartAttack(who->getVictim(), false)) // TODO: if we use true, it will not attack it when it arrives
|
||||
me->GetMotionMaster()->MoveChase(who->getVictim());
|
||||
//else if(who->getVictim() && me->IsFriendlyTo(who)
|
||||
// && me->IsWithinDistInMap(who, sWorld.getConfig(CONFIG_CREATURE_FAMILY_ASSISTANCE_RADIUS))
|
||||
// && me->canStartAttack(who->getVictim(), true)) // TODO: if we use true, it will not attack it when it arrives
|
||||
// me->GetMotionMaster()->MoveChase(who->getVictim());
|
||||
}
|
||||
|
||||
void CreatureAI::SelectNearestTarget(Unit *who)
|
||||
|
||||
Reference in New Issue
Block a user