mirror of
https://github.com/mod-playerbots/azerothcore-wotlk.git
synced 2026-01-29 08:33:47 +00:00
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:
@@ -115,6 +115,10 @@ bool ChaseMovementGenerator<T>::DoUpdate(T* owner, uint32 time_diff)
|
|||||||
if (owner->IsWithinMeleeRange(this->i_target.getTarget()))
|
if (owner->IsWithinMeleeRange(this->i_target.getTarget()))
|
||||||
{
|
{
|
||||||
owner->Attack(this->i_target.getTarget(), true);
|
owner->Attack(this->i_target.getTarget(), true);
|
||||||
|
if (Creature* cOwner2 = owner->ToCreature())
|
||||||
|
{
|
||||||
|
cOwner2->SetCannotReachTarget();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
else if (i_path && i_path->GetPathType() & PATHFIND_INCOMPLETE)
|
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();
|
_lastTargetPosition = i_target->GetPosition();
|
||||||
|
|
||||||
if (PositionOkay(owner, target, maxRange, angle) && !owner->HasUnitState(UNIT_STATE_CHASE_MOVE))
|
if (PositionOkay(owner, target, maxRange, angle) && !owner->HasUnitState(UNIT_STATE_CHASE_MOVE))
|
||||||
|
{
|
||||||
|
if (Creature* cOwner2 = owner->ToCreature())
|
||||||
|
{
|
||||||
|
cOwner2->SetCannotReachTarget();
|
||||||
|
}
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
float tarX, tarY, tarZ;
|
float tarX, tarY, tarZ;
|
||||||
target->GetPosition(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())
|
switch (cOwner->GetMovementTemplate().GetChase())
|
||||||
{
|
{
|
||||||
case CreatureChaseMovementType::CanWalk:
|
case CreatureChaseMovementType::CanWalk:
|
||||||
if (owner->IsWalking())
|
if (owner->IsWalking())
|
||||||
|
walk = true;
|
||||||
|
break;
|
||||||
|
case CreatureChaseMovementType::AlwaysWalk:
|
||||||
walk = true;
|
walk = true;
|
||||||
break;
|
break;
|
||||||
case CreatureChaseMovementType::AlwaysWalk:
|
default:
|
||||||
walk = true;
|
break;
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user