From 80a3a3b7efcab7735a58eafe06bda417fb392bc6 Mon Sep 17 00:00:00 2001 From: cornixsenex <80906795+cornixsenex@users.noreply.github.com> Date: Fri, 8 Aug 2025 02:22:42 -0700 Subject: [PATCH] Remove shadow and hide follower on stair warp (#7368) --- include/field_effect.h | 1 + src/field_effect.c | 2 +- src/field_screen_effect.c | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/include/field_effect.h b/include/field_effect.h index 2e13879353..8a3de2b8de 100644 --- a/include/field_effect.h +++ b/include/field_effect.h @@ -37,6 +37,7 @@ bool8 FieldEffectCmd_loadgfx_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadtiles_callnative(u8 **script, u32 *val); bool8 FieldEffectCmd_loadfadedpal_callnative(u8 **script, u32 *val); void FieldCB_FallWarpExit(void); +void HideFollowerForFieldEffect(void); void StartEscalatorWarp(u8 metatileBehavior, u8 priority); void StartLavaridgeGymB1FWarp(u8 priority); void StartLavaridgeGym1FWarp(u8 priority); diff --git a/src/field_effect.c b/src/field_effect.c index 1f2feaba8f..82a5394821 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -1650,7 +1650,7 @@ static bool8 FallWarpEffect_End(struct Task *task) #define tState data[0] #define tGoingUp data[1] -static void HideFollowerForFieldEffect(void) +void HideFollowerForFieldEffect(void) { struct ObjectEvent *followerObj = GetFollowerObject(); if (!followerObj || followerObj->invisible) diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 7b17f53666..0cf752fd6a 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -1571,12 +1571,14 @@ static void Task_ExitStairs(u8 taskId) tState++; break; } + gObjectEvents[gPlayerAvatar.objectEventId].noShadow = FALSE; } static void ForceStairsMovement(u32 metatileBehavior, s16 *speedX, s16 *speedY) { ObjectEventForceSetHeldMovement(&gObjectEvents[gPlayerAvatar.objectEventId], GetWalkInPlaceNormalMovementAction(GetPlayerFacingDirection())); GetStairsMovementDirection(metatileBehavior, speedX, speedY); + gObjectEvents[gPlayerAvatar.objectEventId].noShadow = TRUE; } #undef tSpeedX #undef tSpeedY @@ -1620,6 +1622,7 @@ static void Task_StairWarp(u8 taskId) LockPlayerFieldControls(); FreezeObjectEvents(); CameraObjectFreeze(); + HideFollowerForFieldEffect(); tState++; break; case 1: