fix(Core/Movement): Falling/Jumping/Knockback effects should not make… (#14044)
fix(Core/Movement): Falling/Jumping/Knockback effects should not make mobs to evade.
This commit is contained in:
parent
b87170a36f
commit
0f4e8f07ff
1 changed files with 19 additions and 8 deletions
|
|
@ -115,6 +115,10 @@ bool ChaseMovementGenerator<T>::DoUpdate(T* owner, uint32 time_diff)
|
|||
if (owner->IsWithinMeleeRange(this->i_target.getTarget()))
|
||||
{
|
||||
owner->Attack(this->i_target.getTarget(), true);
|
||||
if (Creature* cOwner2 = owner->ToCreature())
|
||||
{
|
||||
cOwner2->SetCannotReachTarget();
|
||||
}
|
||||
}
|
||||
else if (i_path && i_path->GetPathType() & PATHFIND_INCOMPLETE)
|
||||
{
|
||||
|
|
@ -134,7 +138,14 @@ bool ChaseMovementGenerator<T>::DoUpdate(T* owner, uint32 time_diff)
|
|||
_lastTargetPosition = i_target->GetPosition();
|
||||
|
||||
if (PositionOkay(owner, target, maxRange, angle) && !owner->HasUnitState(UNIT_STATE_CHASE_MOVE))
|
||||
{
|
||||
if (Creature* cOwner2 = owner->ToCreature())
|
||||
{
|
||||
cOwner2->SetCannotReachTarget();
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
float tarX, tarY, tarZ;
|
||||
target->GetPosition(tarX, tarY, tarZ);
|
||||
|
|
@ -207,15 +218,15 @@ bool ChaseMovementGenerator<T>::DoUpdate(T* owner, uint32 time_diff)
|
|||
{
|
||||
switch (cOwner->GetMovementTemplate().GetChase())
|
||||
{
|
||||
case CreatureChaseMovementType::CanWalk:
|
||||
if (owner->IsWalking())
|
||||
case CreatureChaseMovementType::CanWalk:
|
||||
if (owner->IsWalking())
|
||||
walk = true;
|
||||
break;
|
||||
case CreatureChaseMovementType::AlwaysWalk:
|
||||
walk = true;
|
||||
break;
|
||||
case CreatureChaseMovementType::AlwaysWalk:
|
||||
walk = true;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue