From d80cf0a193711b8d8c902b50f9cd286f4acc7b8a Mon Sep 17 00:00:00 2001 From: ghoulslash Date: Wed, 24 May 2023 20:48:11 -0400 Subject: [PATCH] fix exiting sideways stairs onto ice. thanks to Agustin --- src/field_player_avatar.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 44fe6e0c6e..db793d10c0 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -444,7 +444,22 @@ static bool8 ForcedMovement_None(void) static bool8 DoForcedMovement(u8 direction, void (*moveFunc)(u8)) { struct PlayerAvatar *playerAvatar = &gPlayerAvatar; - u8 collision = CheckForPlayerAvatarCollision(direction); + u8 collision; + + // Check for sideways stairs onto ice movement. + switch (direction) + { + case DIR_NORTHWEST: + case DIR_SOUTHWEST: + direction = DIR_WEST; + break; + case DIR_NORTHEAST: + case DIR_SOUTHEAST: + direction = DIR_EAST; + break; + } + + collision = CheckForPlayerAvatarCollision(direction); playerAvatar->flags |= PLAYER_AVATAR_FLAG_FORCED_MOVE; if (collision)