Treesanity (#5541)

* treesanity

co-authored-by: turbofist

* market tree at night

* NL Trees

* remove LUSLOG

* feedback

* format

* golden skulltula tree qol

* post-rebase

* trust -129

* remove tree graphic, crate csmc

* format

* feedback

* ObjectExtension
This commit is contained in:
Philip Dubé
2025-10-02 18:24:18 +00:00
committed by GitHub
parent e10b882c08
commit 545cc396b4
26 changed files with 687 additions and 25 deletions
@@ -81,6 +81,7 @@ bool showOverworldGrass;
bool showDungeonGrass;
bool showOverworldCrates;
bool showDungeonCrates;
bool showTrees;
bool showFrogSongRupees;
bool showFairies;
bool showStartingMapsCompasses;
@@ -1469,6 +1470,7 @@ void LoadSettings() {
showDungeonCrates = false;
break;
}
showTrees = OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHUFFLE_TREES);
} else { // Vanilla
showOverworldTokens = true;
showDungeonTokens = true;
@@ -1478,6 +1480,7 @@ void LoadSettings() {
showDungeonGrass = false;
showOverworldCrates = false;
showDungeonCrates = false;
showTrees = false;
}
fortressFast = false;
@@ -1554,9 +1557,9 @@ bool IsCheckShuffled(RandomizerCheck rc) {
return (loc->GetArea() != RCAREA_INVALID) && // don't show Invalid locations
(loc->GetRCType() != RCTYPE_GOSSIP_STONE) && // TODO: Don't show hints until tracker supports them
(loc->GetRCType() != RCTYPE_STATIC_HINT) && // TODO: Don't show hints until tracker supports them
(loc->GetRCType() !=
RCTYPE_CHEST_GAME) && // don't show non final reward chest game checks until we support shuffling them
(rc != RC_HC_ZELDAS_LETTER) && // don't show zeldas letter until we support shuffling it
(loc->GetRCType() != RCTYPE_CHEST_GAME) && // don't show non final reward chest game checks until we
// support shuffling them
(rc != RC_HC_ZELDAS_LETTER) && // don't show zeldas letter until we support shuffling it
(rc != RC_LINKS_POCKET || showLinksPocket) &&
OTRGlobals::Instance->gRandoContext->IsQuestOfLocationActive(rc) &&
(loc->GetRCType() != RCTYPE_SHOP ||
@@ -1590,6 +1593,10 @@ bool IsCheckShuffled(RandomizerCheck rc) {
(loc->GetRCType() != RCTYPE_SMALL_CRATE ||
(showOverworldCrates && RandomizerCheckObjects::AreaIsOverworld(loc->GetArea())) ||
(showDungeonCrates && RandomizerCheckObjects::AreaIsDungeon(loc->GetArea()))) &&
(loc->GetRCType() != RCTYPE_TREE || showTrees) &&
(loc->GetRCType() != RCTYPE_NLTREE ||
(showTrees &&
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_LOGIC_RULES) == RO_LOGIC_NO_LOGIC)) &&
(loc->GetRCType() != RCTYPE_COW || showCows) &&
(loc->GetRCType() != RCTYPE_FISH ||
OTRGlobals::Instance->gRandoContext->GetFishsanity()->GetFishLocationIncluded(loc)) &&