summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris <f1ana@users.noreply.github.com>2026-06-27 15:58:50 -0400
committerGitHub <noreply@github.com>2026-06-27 19:58:50 +0000
commit2ba368e7e7a76b247791c5b9d4e7f2dcff262b1f (patch)
tree1fb2dcaab9264ecebe2ff51b4438694009b79e51
parent3ac67f14cc023b6d7201c3d124c2ea0d74c881a2 (diff)
[Bugfix] Skull house checks showing as 0 rupees in tracker (#6822)
-rw-r--r--soh/soh/Enhancements/randomizer/item_location.cpp5
-rw-r--r--soh/soh/Enhancements/randomizer/item_location.h1
-rw-r--r--soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp2
3 files changed, 7 insertions, 1 deletions
diff --git a/soh/soh/Enhancements/randomizer/item_location.cpp b/soh/soh/Enhancements/randomizer/item_location.cpp
index b21b71661..70697d8b0 100644
--- a/soh/soh/Enhancements/randomizer/item_location.cpp
+++ b/soh/soh/Enhancements/randomizer/item_location.cpp
@@ -126,6 +126,11 @@ bool ItemLocation::HasCustomPrice() const {
return hasCustomPrice;
}
+bool ItemLocation::CanBePurchased() const {
+ const RandomizerCheckType checkType = StaticData::GetLocation(rc)->GetRCType();
+ return checkType == RCTYPE_SHOP || checkType == RCTYPE_SCRUB || checkType == RCTYPE_MERCHANT;
+}
+
void ItemLocation::SetCustomPrice(const uint16_t price_) {
price = price_;
hasCustomPrice = true;
diff --git a/soh/soh/Enhancements/randomizer/item_location.h b/soh/soh/Enhancements/randomizer/item_location.h
index 5d7440681..d96ab16ad 100644
--- a/soh/soh/Enhancements/randomizer/item_location.h
+++ b/soh/soh/Enhancements/randomizer/item_location.h
@@ -32,6 +32,7 @@ class ItemLocation {
void SetPrice(uint16_t price_);
bool HasCustomPrice() const;
void SetCustomPrice(uint16_t price_);
+ bool CanBePurchased() const;
bool HasObtained() const;
void SetCheckStatus(RandomizerCheckStatus status_);
RandomizerCheckStatus GetCheckStatus();
diff --git a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp
index a3c2ec049..75d29df08 100644
--- a/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp
+++ b/soh/soh/Enhancements/randomizer/randomizer_check_tracker.cpp
@@ -2073,7 +2073,7 @@ void DrawLocation(RandomizerCheck rc) {
} else if (revealItemName) {
txt = itemLoc->GetPlacedItem().GetName().GetForLanguage(gSaveContext.language);
}
- if (IsVisibleInCheckTracker(rc) && status == RCSHOW_IDENTIFIED) {
+ if (itemLoc->CanBePurchased() && IsVisibleInCheckTracker(rc) && status == RCSHOW_IDENTIFIED) {
auto price = OTRGlobals::Instance->gRandoContext->GetItemLocation(rc)->GetPrice();
txt = !txt.empty() ? fmt::format("{} - {}", txt, price) : fmt::format("{}", price);
}