From 01d08d3ceeccec0a6d2f8fc848fa0655aec63f38 Mon Sep 17 00:00:00 2001 From: Evan Date: Sat, 22 Aug 2020 15:25:41 -0600 Subject: [PATCH] fix sand onto sideways stairs bug --- include/constants/global.h | 2 +- src/event_object_movement.c | 11 ++++++++--- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/include/constants/global.h b/include/constants/global.h index 643421709..d99ff1392 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -119,6 +119,6 @@ #define DIR_NORTHEAST 8 #define SLOW_MOVEMENT_ON_STAIRS TRUE -#define FOLLOW_ME_IMPLEMENTED TRUE //for stairs movement. see ObjectMovingOnRockStairs in src/field_player_avatar.c +#define FOLLOW_ME_IMPLEMENTED FALSE //for stairs movement. see ObjectMovingOnRockStairs in src/field_player_avatar.c #endif // GUARD_CONSTANTS_GLOBAL_H diff --git a/src/event_object_movement.c b/src/event_object_movement.c index 54252db1e..88b269da6 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -7900,12 +7900,17 @@ static void GetGroundEffectFlags_LongGrassOnBeginStep(struct ObjectEvent *objEve static void GetGroundEffectFlags_Tracks(struct ObjectEvent *objEvent, u32 *flags) { - if (MetatileBehavior_IsDeepSand(objEvent->previousMetatileBehavior)) + u8 behavior = objEvent->previousMetatileBehavior; + + if (objEvent->directionOverwrite) + return; + + if (MetatileBehavior_IsDeepSand(behavior)) { *flags |= GROUND_EFFECT_FLAG_DEEP_SAND; } - else if (MetatileBehavior_IsSandOrDeepSand(objEvent->previousMetatileBehavior) - || MetatileBehavior_IsFootprints(objEvent->previousMetatileBehavior)) + else if (MetatileBehavior_IsSandOrDeepSand(behavior) + || MetatileBehavior_IsFootprints(behavior)) { *flags |= GROUND_EFFECT_FLAG_SAND; }