diff -r 255c2978b366 -r cb29ec085767 share/hedgewars/Data/Scripts/Animate.lua --- a/share/hedgewars/Data/Scripts/Animate.lua Thu Oct 26 21:14:55 2017 +0200 +++ b/share/hedgewars/Data/Scripts/Animate.lua Thu Oct 26 22:40:17 2017 +0200 @@ -1,4 +1,5 @@ local animPos, lastx, lasty, jumpTypes, jumpTimes, moveDirs, jumpStarted +local moveTime = 0 local backJumped, jTimer, awTime, globalWait, stageEvents, seNum, curEvent local needtoDecrease local AnimList, AnimListNum @@ -166,13 +167,22 @@ return true end -function AnimMove(gear, dir, posx, posy) +function AnimMove(gear, dir, posx, posy, maxMoveTime) dirr = moveDirs[dir] SetGearMessage(gear, dirr) - if GetX(gear) == posx or GetY(gear) == posy then + moveTime = moveTime + 1 + if (maxMoveTime and moveTime > maxMoveTime) then + SetGearMessage(gear, 0) + SetGearPosition(gear, posx, posy) + lastx = GetX(gear) + lasty = GetY(gear) + moveTime = 0 + return true + elseif GetX(gear) == posx or GetY(gear) == posy then SetGearMessage(gear, 0) lastx = GetX(gear) lasty = GetY(gear) + moveTime = 0 return true end return false