From 5455f59ad52c566470927f124fc731f0e62573ec Mon Sep 17 00:00:00 2001 From: MysterD Date: Tue, 29 Mar 2022 18:59:05 -0700 Subject: [PATCH] Prevent LLL puzzle from dropping more coins on late join --- src/game/behaviors/bowser_puzzle_piece.inc.c | 10 ++++++++++ src/pc/controller/controller_keyboard_debug.c | 2 +- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/src/game/behaviors/bowser_puzzle_piece.inc.c b/src/game/behaviors/bowser_puzzle_piece.inc.c index f546b4bdd..c19ba1fea 100644 --- a/src/game/behaviors/bowser_puzzle_piece.inc.c +++ b/src/game/behaviors/bowser_puzzle_piece.inc.c @@ -129,6 +129,15 @@ void bhv_lll_bowser_puzzle_loop(void) { struct Object* player = nearest_player_to_object(o); int distanceToPlayer = dist_between_objects(o, player); + if (!network_sync_object_initialized(o)) { + struct SyncObject *so = network_init_object(o, SYNC_DISTANCE_ONLY_EVENTS); + if (so) { + network_init_object_field(o, &o->oAction); + network_init_object_field(o, &o->oPrevAction); + network_init_object_field(o, &o->oBowserPuzzleCompletionFlags); + } + } + switch (o->oAction) { case BOWSER_PUZZLE_ACT_SPAWN_PIECES: bhv_lll_bowser_puzzle_spawn_pieces(480.0f); @@ -145,6 +154,7 @@ void bhv_lll_bowser_puzzle_loop(void) { // Go to next action so we don't spawn 5 coins ever again. o->oAction++; + network_send_object(o); } break; case BOWSER_PUZZLE_ACT_DONE: diff --git a/src/pc/controller/controller_keyboard_debug.c b/src/pc/controller/controller_keyboard_debug.c index 2222b15a6..74772e0b3 100644 --- a/src/pc/controller/controller_keyboard_debug.c +++ b/src/pc/controller/controller_keyboard_debug.c @@ -46,7 +46,7 @@ static void debug_warp_level1() { } static void debug_warp_level2() { - dynos_warp_to_level(LEVEL_WDW, 1, 1); + dynos_warp_to_level(LEVEL_LLL, 1, 1); } static void debug_grand_star(void) {