1
0
mirror of https://gitlab.com/OpenMW/openmw.git synced 2025-02-25 03:40:40 +00:00

check the real distance to target in aipursue

This commit is contained in:
Miloslav Číž 2017-11-02 20:01:22 +01:00
parent 5e69f6033f
commit f34223fce9

View File

@ -50,8 +50,13 @@ bool AiPursue::execute (const MWWorld::Ptr& actor, CharacterController& characte
//Set the target desition from the actor
ESM::Pathgrid::Point dest = target.getRefData().getPosition().pos;
ESM::Position aPos = actor.getRefData().getPosition();
if (pathTo(actor, dest, duration, 100)) {
float pathTolerance = 100.0;
if (pathTo(actor, dest, duration, pathTolerance) &&
MWMechanics::distance(dest,aPos.pos[0],aPos.pos[1],aPos.pos[2]) < pathTolerance) // check the true distance in case the target is far away in Z-direction
{
target.getClass().activate(target,actor).get()->execute(actor); //Arrest player when reached
return true;
}