mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-20 13:23:45 -07:00
[Rando] Shuffle Crates (#5017)
* location list + enums * add identity function * add new files + hook handlers + settings + crate struct * add dungeon struct + large crate locations * fix wasteland name + add overworld hints * add dungeon hints * add to item pool * opt desc + check tracker + overworld locs * add VB funcs + fix fire locs + dmc crate + shuffle crates not pots again * fix crate option def * fix gy crate area * add ow locs * context + more location_list * fix kak crate * add gv child crates + make exceptions for OOB GF crates + fix GF rht name * finish adding gv crates + align GF child crates + fix adult GF locs * fix VB draw + adjust color * begin logic * add child archery crate + overworld logic * deku + dc + rename dc locs * gtg + spirit * fire temple logic * start water temple + some renaming * finish water temple + renames * fix dmc crate * remove child GV + GF crates :( + simplify hints + french * fix dungeon hint + add french attempt * cleanup * smol crate loc list + enums * setup small crates * fix fire temple fairy hints * add logic * fix small crates + locs * align GF crates without moving * add child GV-GF crates for No Logic * convert to shipinit * whitespace * remove old comments * assets * proper cap * better comments on not-shuffled crates * update for context changes * update for rest of context changes * cleanup * fix shadow hint RHT * more cleanup * count to three * child gf logic * gv cow crate * loc list spacing * remove redundant small crates * remove left over vb funcs * split out location list * fix van spawns * move NL crates to new type * rm whitespace * more whitespacing * more more whitespace * update VB * restore support for custom models * prep dungeon for develop * update context for location changes * finish context post-develop merge * add heart crates to CSMC * update loc list + logic fix * update breakroom crates to adult only * newline to make github happy * revise vbshoulds * formatting sheesh * update vb info * BRACKET * whitespacent * ws finalfinal
This commit is contained in:
parent
9ff49403a8
commit
47c653a0e5
174 changed files with 3667 additions and 119 deletions
|
@ -61,6 +61,8 @@ bool showOverworldPots;
|
|||
bool showDungeonPots;
|
||||
bool showOverworldGrass;
|
||||
bool showDungeonGrass;
|
||||
bool showOverworldCrates;
|
||||
bool showDungeonCrates;
|
||||
bool showFrogSongRupees;
|
||||
bool showFairies;
|
||||
bool showStartingMapsCompasses;
|
||||
|
@ -1290,6 +1292,25 @@ void LoadSettings() {
|
|||
showDungeonGrass = false;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_SHUFFLE_CRATES)) {
|
||||
case RO_SHUFFLE_CRATES_ALL:
|
||||
showOverworldCrates = true;
|
||||
showDungeonCrates = true;
|
||||
break;
|
||||
case RO_SHUFFLE_CRATES_OVERWORLD:
|
||||
showOverworldCrates = true;
|
||||
showDungeonCrates = false;
|
||||
break;
|
||||
case RO_SHUFFLE_CRATES_DUNGEONS:
|
||||
showOverworldCrates = false;
|
||||
showDungeonCrates = true;
|
||||
break;
|
||||
default:
|
||||
showOverworldCrates = false;
|
||||
showDungeonCrates = false;
|
||||
break;
|
||||
}
|
||||
} else { // Vanilla
|
||||
showOverworldTokens = true;
|
||||
showDungeonTokens = true;
|
||||
|
@ -1297,6 +1318,8 @@ void LoadSettings() {
|
|||
showDungeonPots = false;
|
||||
showOverworldGrass = false;
|
||||
showDungeonGrass = false;
|
||||
showOverworldCrates = false;
|
||||
showDungeonCrates = false;
|
||||
}
|
||||
|
||||
fortressFast = false;
|
||||
|
@ -1380,6 +1403,17 @@ bool IsCheckShuffled(RandomizerCheck rc) {
|
|||
(loc->GetRCType() != RCTYPE_GRASS ||
|
||||
(showOverworldGrass && RandomizerCheckObjects::AreaIsOverworld(loc->GetArea())) ||
|
||||
(showDungeonGrass && RandomizerCheckObjects::AreaIsDungeon(loc->GetArea()))) &&
|
||||
(loc->GetRCType() != RCTYPE_CRATE ||
|
||||
(showOverworldCrates && RandomizerCheckObjects::AreaIsOverworld(loc->GetArea())) ||
|
||||
(showDungeonCrates && RandomizerCheckObjects::AreaIsDungeon(loc->GetArea()))) &&
|
||||
(loc->GetRCType() != RCTYPE_NLCRATE ||
|
||||
(showOverworldCrates && RandomizerCheckObjects::AreaIsOverworld(loc->GetArea()) &&
|
||||
OTRGlobals::Instance->gRandomizer->GetRandoSettingValue(RSK_LOGIC_RULES) ==
|
||||
RO_LOGIC_NO_LOGIC) ||
|
||||
(showDungeonCrates && RandomizerCheckObjects::AreaIsDungeon(loc->GetArea()))) &&
|
||||
(loc->GetRCType() != RCTYPE_SMALL_CRATE ||
|
||||
(showOverworldCrates && RandomizerCheckObjects::AreaIsOverworld(loc->GetArea())) ||
|
||||
(showDungeonCrates && RandomizerCheckObjects::AreaIsDungeon(loc->GetArea()))) &&
|
||||
(loc->GetRCType() != RCTYPE_COW || showCows) &&
|
||||
(loc->GetRCType() != RCTYPE_FISH || OTRGlobals::Instance->gRandoContext->GetFishsanity()->GetFishLocationIncluded(loc)) &&
|
||||
(loc->GetRCType() != RCTYPE_FREESTANDING ||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue