X-Git-Url: https://git.jsancho.org/?p=lugaru.git;a=blobdiff_plain;f=Source%2FObjects%2FPerson.cpp;h=55b62090c51b4016e23403852765e6ad9d129c2c;hp=891646ab830aef23d6852817c6e843ec3cb970ab;hb=762fb78d53f8be2003944fbdcc84f87e7851f453;hpb=4da2d867e24687b29e1f812980664ee1493ad416 diff --git a/Source/Objects/Person.cpp b/Source/Objects/Person.cpp index 891646a..55b6209 100644 --- a/Source/Objects/Person.cpp +++ b/Source/Objects/Person.cpp @@ -1,6 +1,6 @@ /* Copyright (C) 2003, 2010 - Wolfire Games -Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) +Copyright (C) 2010-2017 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. @@ -8443,10 +8443,11 @@ void Person::doAI() //chase player XYZ rotatetarget = Person::players[0]->coords + Person::players[0]->velocity; XYZ targetpoint = Person::players[0]->coords; - if (findLength(&velocity) != 0 && + float vellength = findLength(&velocity); + if (vellength != 0 && distsq(&Person::players[0]->coords, &coords) < distsq(&rotatetarget, &coords)) { targetpoint += Person::players[0]->velocity * - findDistance(&Person::players[0]->coords, &coords) / findLength(&velocity); + findDistance(&Person::players[0]->coords, &coords) / vellength; } targetyaw = roughDirectionTo(coords, targetpoint); lookyaw = targetyaw;