From 7ccbc3a0942afad3075d153dc3d60516f7a2c37d Mon Sep 17 00:00:00 2001 From: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com> Date: Thu, 27 Feb 2025 13:51:43 +1000 Subject: [PATCH] flip merry go round boo spawning logic rather than checking if all players are near the merry go round, check if any player is near the merry go round. --- src/game/behaviors/boo.inc.c | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/src/game/behaviors/boo.inc.c b/src/game/behaviors/boo.inc.c index 7a7127c66..224ea2f3e 100644 --- a/src/game/behaviors/boo.inc.c +++ b/src/game/behaviors/boo.inc.c @@ -58,9 +58,9 @@ static s32 boo_should_be_stopped(void) { if (cur_obj_has_behavior(bhvMerryGoRoundBigBoo) || cur_obj_has_behavior(bhvMerryGoRoundBoo)) { for (s32 i = 0; i < MAX_PLAYERS; i++) { if (!is_player_active(&gMarioStates[i])) { continue; } - if (gMarioStates[i].currentRoom == BBH_DYNAMIC_SURFACE_ROOM || gMarioStates[i].currentRoom == BBH_NEAR_MERRY_GO_ROUND_ROOM) { return FALSE; } + if (gMarioStates[i].currentRoom != BBH_DYNAMIC_SURFACE_ROOM && gMarioStates[i].currentRoom != BBH_NEAR_MERRY_GO_ROUND_ROOM) { return TRUE; } } - return TRUE; + return FALSE; /*if (!gMarioOnMerryGoRound) { return TRUE; } else { @@ -623,19 +623,7 @@ static void big_boo_act_1(void) { attackStatus = boo_get_attack_status(); - // redundant; this check is in boo_should_be_stopped - if (cur_obj_has_behavior(bhvMerryGoRoundBigBoo)) { - u8 inRoom = FALSE; - for (s32 i = 0; i < MAX_PLAYERS; i++) { - if (!is_player_active(&gMarioStates[i])) { continue; } - if (gMarioStates[i].currentRoom == BBH_DYNAMIC_SURFACE_ROOM || gMarioStates[i].currentRoom == BBH_NEAR_MERRY_GO_ROUND_ROOM) { inRoom = TRUE; } - } - - //if (!gMarioOnMerryGoRound) { - if (!inRoom) { - o->oAction = 0; - } - } else if (boo_should_be_stopped()) { + if (boo_should_be_stopped()) { o->oAction = 0; }