diff options
| author | Garrett Cox <garrettjcox@gmail.com> | 2025-01-20 21:33:58 -0600 |
|---|---|---|
| committer | Garrett Cox <garrettjcox@gmail.com> | 2025-01-20 21:33:58 -0600 |
| commit | f08e820aa79184d2c1aeaeaaa64b003e6bd3f32a (patch) | |
| tree | c1b4e988b4ff67a860060b1ddc4ec99184a4e51c /mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp | |
| parent | 722164296eb6029c23417f6358ce931a338dbd81 (diff) | |
Grant mask salesman checks when beginning seed, and prep for starting items
Diffstat (limited to 'mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp')
| -rw-r--r-- | mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp b/mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp index ee9b378fb..591ed34b7 100644 --- a/mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp +++ b/mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp @@ -37,10 +37,10 @@ void Rando::MiscBehavior::OnFileCreate(s16 fileNum) { // initialized with a value of 48 gSaveContext.save.saveInfo.playerData.magic = 0; - // TODO: Starting item configuration. Currently if you don't start with ocarina & SoT glitchless logic will fail - // because of looping condition of needing Deku mask to get ocarina, and needing ocarina to get deku mask. - GiveItem(RI_OCARINA); - GiveItem(RI_SONG_TIME); + // Remove Sword & Shield + SET_EQUIP_VALUE(EQUIP_TYPE_SWORD, EQUIP_VALUE_SWORD_NONE); + BUTTON_ITEM_EQUIP(0, EQUIP_SLOT_B) = ITEM_NONE; + SET_EQUIP_VALUE(EQUIP_TYPE_SHIELD, EQUIP_VALUE_SHIELD_NONE); try { // SpoilerFileIndex == 0 means we're generating a new one @@ -69,6 +69,9 @@ void Rando::MiscBehavior::OnFileCreate(s16 fileNum) { } if (RANDO_SAVE_OPTIONS[RO_LOGIC] == RO_LOGIC_VANILLA) { + GiveItem(RI_SWORD_KOKIRI); + GiveItem(RI_SHIELD_HERO); + for (auto& [randoCheckId, randoStaticCheck] : Rando::StaticData::Checks) { if (randoStaticCheck.randoCheckId != RC_UNKNOWN) { RANDO_SAVE_CHECKS[randoCheckId].randoItemId = randoStaticCheck.randoItemId; @@ -88,6 +91,9 @@ void Rando::MiscBehavior::OnFileCreate(s16 fileNum) { std::to_string(RANDO_SAVE_OPTIONS[RO_LOGIC])); } + RANDO_SAVE_CHECKS[RC_STARTING_ITEM_DEKU_MASK].eligible = true; + RANDO_SAVE_CHECKS[RC_STARTING_ITEM_SONG_OF_HEALING].eligible = true; + if (CVarGetInteger("gRando.GenerateSpoiler", 0)) { nlohmann::json spoiler = Rando::Spoiler::GenerateFromSaveContext(); spoiler["inputSeed"] = inputSeed; |
