Skip to content

Commit

Permalink
Update Exclusion Settings (#118)
Browse files Browse the repository at this point in the history
* RepeatableItemsOnTokens And No Logic

- Adjusts Fill algorithm to account for No Logic (removes need for separate NoLogicFill which will fix oddities where settings may not carry over properly)
- Adjust Tingle Shop text... again
- Rename "Version" to "Game Version" in Game Settings Menu for clarity on which version it's referencing
- Adjusts all vanilla Gold Skulltula Token locations to be non-repeatable locations
- Added "Repeat Items on Tokens" toggle inside of Item Pool Settings menu which allows repeatable items (items potentially needed more than once in a play through such as Title Deeds or Anju & Kafei quest items) to be placed inside spider houses in vanilla gold skulltula token locations
- Update Z3DR

* Update Exclusion Settings

Updates settings so that if you start with Song of Healing you are unable to exclude the Deku Mask and Bombers Notebook locations in the Exclude Loactions menu preventing a generation issue.

- Note when starting with Song of Healing if you have Deku Mask or Bombers Notebook unshuffled you will start with the unshuffled item(s) even if you did not select that in the starting inventory. Starting with Song of Healing will fill in the Deku Mask and Bombers Notebook with junk so no important items are placed there preventing softlocks.
  • Loading branch information
Tacoman369 authored Nov 23, 2024
1 parent 241af15 commit 9756518
Showing 1 changed file with 18 additions and 7 deletions.
25 changes: 18 additions & 7 deletions source/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1268,11 +1268,11 @@ namespace Settings {

//Force Include Bombers Notebook
std::vector<LocationKey> notebookLocation = GetLocations(everyPossibleLocation, Category::cNotebook);
if (ShuffleBombersNotebook) {
Unhide(notebookLocation);
if (!ShuffleBombersNotebook || (StartingSongOfHealing.Value<u8>()==1)) {
IncludeAndHide(notebookLocation);
}
else {
IncludeAndHide(notebookLocation);
Unhide(notebookLocation);
}

//Force Include Zora Eggs
Expand Down Expand Up @@ -1312,11 +1312,14 @@ namespace Settings {

//Force include Transformation Masks
std::vector<LocationKey> transformLocations = GetLocations(everyPossibleLocation, Category::cTransformMask);
if (ShuffleTransformation) {
Unhide(transformLocations);
if (!ShuffleTransformation) {
IncludeAndHide(transformLocations);
}
else {
IncludeAndHide(transformLocations);
Unhide(transformLocations);
if (StartingSongOfHealing.Value<u8>()==1) {
IncludeAndHide({HMS_DEKU_MASK});
}
}

//Force include Piece of Heart
Expand Down Expand Up @@ -1468,6 +1471,9 @@ namespace Settings {
}*/
//If starting with Song of Healing and transformation masks / notebook are unshuffled then also start with those
if (StartingSongOfHealing.Value<u8>() == 1){
//if starting with Song of Healing hide the exclude locations for Deku Mask and Notebook
IncludeAndHide({HMS_DEKU_MASK});
IncludeAndHide({HMS_BOMBERS_NOTEBOOK});
if (!ShuffleTransformation) {
StartingDekuMask.SetSelectedIndex(1);
StartingDekuMask.Lock();
Expand All @@ -1486,7 +1492,12 @@ namespace Settings {
StartingNotebook.Unlock();
StartingNotebook.Unhide();
}
}
}
//if not starting with Song of Healing unhide the exclude locations for Deku Mask and Notebook
else{
Unhide({HMS_BOMBERS_NOTEBOOK});
Unhide({HMS_DEKU_MASK});
}

if (RemoveDoubleDefense) {
StartingDoubleDefense.SetSelectedIndex(0);
Expand Down

0 comments on commit 9756518

Please sign in to comment.