From 65c7c3e4a95eb74607ea32e28c8a6b32785551bf Mon Sep 17 00:00:00 2001 From: Christopher Leggett Date: Fri, 6 Feb 2026 02:18:06 +0000 Subject: [PATCH] Fix Heart Containers/Pieces Item Pool Calculation (#6226) This calc ends up with 8 heart containers in the pool with the default 3 starting hearts, just like the 8 heart containers in the vanilla game. Changing starting hearts results in half of the remaining hearts being filled by heart containers and half of the remaining hearts being filled by heart pieces. --- soh/soh/Enhancements/randomizer/3drando/item_pool.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp b/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp index e48f30d61..15ccebba7 100644 --- a/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/item_pool.cpp @@ -871,7 +871,7 @@ void GenerateItemPool() { break; case RO_ITEM_POOL_BALANCED: { int heartsToPlace = maxHearts - startingHearts; - int halfHearts = maxHearts >> 2; + int halfHearts = heartsToPlace / 2; AddFixedItemToPool(RG_HEART_CONTAINER, heartsToPlace - halfHearts, false); AddFixedItemToPool(RG_PIECE_OF_HEART, halfHearts * 4, false); break;