diff options
| author | chartergirl64 <chartergirl64@gmail.com> | 2026-03-29 03:32:40 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-29 07:32:40 +0000 |
| commit | 0b3ebd584d1e8d5b7669f3f3ba09e110dd8e9e17 (patch) | |
| tree | 6f7af872c9e758b0f0deeef696fefbc6682b8e6d | |
| parent | 1be7533675660ec7c33fe303d707e8bac486a4ac (diff) | |
[bug fix] Changes item tracker capacity to recognize progressive chu bag limits (#6436)
| -rw-r--r-- | soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp index c2d6cf3be..0ccc205a6 100644 --- a/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp +++ b/soh/soh/Enhancements/randomizer/randomizer_item_tracker.cpp @@ -537,11 +537,24 @@ ItemTrackerNumbers GetItemCurrentAndMax(ItemTrackerItem item) { : 500; result.currentAmmo = gSaveContext.rupees; break; - case ITEM_BOMBCHU: - result.currentCapacity = INV_CONTENT(ITEM_BOMBCHU) == ITEM_BOMBCHU ? 50 : 0; + case ITEM_BOMBCHU: { + auto bombchuBag = RAND_GET_OPTION(RSK_BOMBCHU_BAG); + + uint8_t capacity = 0; + + if (INV_CONTENT(ITEM_BOMBCHU) == ITEM_BOMBCHU) { + if (bombchuBag.Is(RO_BOMBCHU_BAG_PROGRESSIVE)) { + capacity = OTRGlobals::Instance->gRandoContext->GetBombchuCapacity(); + } else { + capacity = 50; + } + } + + result.currentCapacity = capacity; result.maxCapacity = 50; result.currentAmmo = AMMO(ITEM_BOMBCHU); break; + } case ITEM_BEAN: result.currentCapacity = INV_CONTENT(ITEM_BEAN) == ITEM_BEAN ? 10 : 0; result.maxCapacity = 10; @@ -702,7 +715,7 @@ void DrawItemCount(ItemTrackerItem item, bool hideMax) { bool shouldDisplayAmmo = trackerNumberDisplayMode == ITEM_TRACKER_NUMBER_AMMO || trackerNumberDisplayMode == ITEM_TRACKER_NUMBER_CURRENT_AMMO_ONLY || // These items have a static capacity, so display ammo instead - item.id == ITEM_BOMBCHU || item.id == ITEM_BEAN || item.id == QUEST_SKULL_TOKEN || + item.id == ITEM_BEAN || item.id == QUEST_SKULL_TOKEN || item.id == ITEM_HEART_CONTAINER || item.id == ITEM_HEART_PIECE; bool shouldDisplayMax = !(trackerNumberDisplayMode == ITEM_TRACKER_NUMBER_CURRENT_CAPACITY_ONLY || |
