summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoraMannus <mannusmenting@gmail.com>2022-12-08 00:16:08 +0100
committerGitHub <noreply@github.com>2022-12-08 00:16:08 +0100
commitb593e27384dfdf29ab04c0f3dbfc14ce7d24e89b (patch)
treedc006bf0ab808f53ad657ac0f8ca7a406039425a
parent924e9147aa69f446316789d2932789a15507d961 (diff)
ER - Shabom timer fix (#2110)
-rw-r--r--soh/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/soh/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c b/soh/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c
index f71b0589c..2410f8ec4 100644
--- a/soh/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c
+++ b/soh/src/overlays/actors/ovl_Obj_Roomtimer/z_obj_roomtimer.c
@@ -32,7 +32,13 @@ void ObjRoomtimer_Init(Actor* thisx, PlayState* play) {
ObjRoomtimer* this = (ObjRoomtimer*)thisx;
s16 params = this->actor.params;
- this->switchFlag = (params >> 10) & 0x3F;
+ // Shabom room in Jabu Jabu has a lengthened timer in Enemy Randomizer. Flag doesn't match what the game
+ // expects. Instead set it back to the same flag as what it would be in vanilla.
+ if (CVar_GetS32("gRandomizedEnemies", 0) && play->sceneNum == SCENE_BDAN && play->roomCtx.curRoom.num == 12) {
+ this->switchFlag = 30;
+ } else {
+ this->switchFlag = (params >> 10) & 0x3F;
+ }
this->actor.params = params & 0x3FF;
params = this->actor.params;