From c42004bc420571bd360ccd7801494fa279a57d51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philip=20Dub=C3=A9?= <159546+serprex@users.noreply.github.com> Date: Mon, 28 Sep 2026 16:16:27 +0000 Subject: [PATCH] Fix AddCheckToLogic bombchu handling (#7274) 1. consistently include shop bombchus 2. fix boolean flip typo, that was filtering out ITEMTYPE_SHOP branch that coerces matching LogicVals --- soh/soh/Enhancements/randomizer/3drando/fill.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/soh/soh/Enhancements/randomizer/3drando/fill.cpp b/soh/soh/Enhancements/randomizer/3drando/fill.cpp index 5618502374..0f8f0ccbf2 100644 --- a/soh/soh/Enhancements/randomizer/3drando/fill.cpp +++ b/soh/soh/Enhancements/randomizer/3drando/fill.cpp @@ -423,12 +423,12 @@ bool AddCheckToLogic(LocationAccess& locPair, GetAccessibleLocationsStruct& gals ApplyOrStoreItem(location, gals, addToPlaythrough); } // If we want to ignore bombchus, only add if bombchu is not in the name - else if (IsBombchus(ignore) && !IsBombchus(locItem, true)) { + else if (IsBombchus(ignore, true) && !IsBombchus(locItem, true)) { ApplyOrStoreItem(location, gals, addToPlaythrough); } // We want to ignore a specific Buy item. Buy items with different RandomizerGets are recognised by a // shared GetLogicVal - else if (ignore != RG_GOLD_SKULLTULA_TOKEN && IsBombchus(ignore)) { + else if (ignore != RG_GOLD_SKULLTULA_TOKEN && !IsBombchus(ignore, true)) { if ((type == ITEMTYPE_SHOP && Rando::StaticData::GetItemTable()[ignore].GetLogicVal() != location->GetPlacedItem().GetLogicVal()) || type != ITEMTYPE_SHOP) {