diff --git a/game/engines/default/engine/interface/PlayerRun.lua b/game/engines/default/engine/interface/PlayerRun.lua index 4b63873c81c428ed36fa8edbfcdc4015b7089bc2..c1c769ab5053a927778fde024d047155ed62f2d1 100644 --- a/game/engines/default/engine/interface/PlayerRun.lua +++ b/game/engines/default/engine/interface/PlayerRun.lua @@ -224,7 +224,14 @@ function _M:runStep() if not self.running then return false end if not self.running.busy then self.running.cnt = self.running.cnt + 1 - elseif self.running.busy.no_energy then + end + -- Check after running to spot actors that may slip away from us; we still won't get a turn but we'll get the next one + ret, msg = self:runCheck() + if not ret then + self:runStop(msg) + return false + end + if self.running.busy and self.running.busy.no_energy then return self:runStep() end return true