diff --git a/engines/ultima/ultima8/world/actors/u8_avatar_mover_process.cpp b/engines/ultima/ultima8/world/actors/u8_avatar_mover_process.cpp index 535c3bf0d8b..5beb7e097e4 100644 --- a/engines/ultima/ultima8/world/actors/u8_avatar_mover_process.cpp +++ b/engines/ultima/ultima8/world/actors/u8_avatar_mover_process.cpp @@ -691,6 +691,13 @@ void U8AvatarMoverProcess::step(Animation::Sequence action, Direction direction, action = Animation::stand; } + if (action == Animation::walk && res == Animation::END_OFF_LAND) { + action = Animation::step; + } + + if (action == Animation::run && res == Animation::END_OFF_LAND) { + action = Animation::walk; + } bool moving = (action == Animation::run || action == Animation::walk);