From bbea07ba9e6cbd714faec215ea86685c08e5b7d5 Mon Sep 17 00:00:00 2001 From: gymnast86 Date: Sat, 6 Jun 2026 21:41:16 -0700 Subject: [PATCH] fix boomerang sometimes not spinning as freestanding item --- src/d/actor/d_a_obj_item.cpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/d/actor/d_a_obj_item.cpp b/src/d/actor/d_a_obj_item.cpp index 9d012cb470..73c134e559 100644 --- a/src/d/actor/d_a_obj_item.cpp +++ b/src/d/actor/d_a_obj_item.cpp @@ -832,8 +832,15 @@ void daItem_c::mode_wait() { itemActionForArrow(); break; case dItemNo_BOOMERANG_e: +#if TARGET_PC + if (!randomizer_IsActive()) { + itemActionForBoomerang(); + break; + } +#else itemActionForBoomerang(); break; +#endif case dItemNo_GREEN_RUPEE_e: case dItemNo_BLUE_RUPEE_e: case dItemNo_YELLOW_RUPEE_e: @@ -1050,11 +1057,8 @@ void daItem_c::itemGet() { break; case dItemNo_BOOMERANG_e: #if TARGET_PC - if (randomizer_IsActive()) { - // Some kind of sound should play, otherwise it feels weird - mDoAud_seStart(Z2SE_CONSUMP_ITEM_GET, NULL, 0, 0); - execItemGet(m_itemNo); - } + // Let boomerang fall through in rando + if (!randomizer_IsActive()) #endif break; case dItemNo_ARROW_10_e: