mirror of
https://github.com/liyunfan1223/mod-playerbots.git
synced 2026-02-21 02:20:00 +01:00
Ensure move to rpg target a valid position
This commit is contained in:
parent
f801fbdf30
commit
22bb8d83c7
@ -94,15 +94,21 @@ bool MoveToRpgTargetAction::Execute(Event event)
|
|||||||
|
|
||||||
x += cos(angle) * INTERACTION_DISTANCE * distance;
|
x += cos(angle) * INTERACTION_DISTANCE * distance;
|
||||||
y += sin(angle) * INTERACTION_DISTANCE * distance;
|
y += sin(angle) * INTERACTION_DISTANCE * distance;
|
||||||
|
if (!wo->GetMap()->CheckCollisionAndGetValidCoords(wo, wo->GetPositionX(), wo->GetPositionY(), wo->GetPositionZ(),
|
||||||
|
x, y, z))
|
||||||
|
{
|
||||||
|
x = wo->GetPositionX();
|
||||||
|
y = wo->GetPositionY();
|
||||||
|
z = wo->GetPositionZ();
|
||||||
|
}
|
||||||
// WaitForReach(distance);
|
// WaitForReach(distance);
|
||||||
|
|
||||||
bool couldMove = false;
|
bool couldMove = false;
|
||||||
|
|
||||||
if (bot->IsWithinLOS(x, y, z))
|
// if (bot->IsWithinLOS(x, y, z))
|
||||||
couldMove = MoveNear(mapId, x, y, z, 0);
|
// couldMove = MoveNear(mapId, x, y, z, 0);
|
||||||
else
|
// else
|
||||||
couldMove = MoveTo(mapId, x, y, z);
|
couldMove = MoveTo(mapId, x, y, z, false, false, false, true);
|
||||||
|
|
||||||
if (!couldMove && WorldPosition(mapId, x, y, z).distance(bot) > INTERACTION_DISTANCE)
|
if (!couldMove && WorldPosition(mapId, x, y, z).distance(bot) > INTERACTION_DISTANCE)
|
||||||
{
|
{
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user