summaryrefslogtreecommitdiff
path: root/mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp
diff options
context:
space:
mode:
authorGarrett Cox <garrettjcox@gmail.com>2025-01-20 21:33:58 -0600
committerGarrett Cox <garrettjcox@gmail.com>2025-01-20 21:33:58 -0600
commitf08e820aa79184d2c1aeaeaaa64b003e6bd3f32a (patch)
treec1b4e988b4ff67a860060b1ddc4ec99184a4e51c /mm/2s2h/Rando/MiscBehavior/OnFileCreate.cpp
parent722164296eb6029c23417f6358ce931a338dbd81 (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.cpp14
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;