Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion Z3DR
4 changes: 4 additions & 0 deletions source/include/settings.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -346,6 +346,10 @@ namespace Settings {
extern Option StartingTwinmoldRemains;
extern Option StartingSwampToken;
extern Option StartingOceanToken;
extern Option StartingWoodfallStrays;
extern Option StartingSnowheadStrays;
extern Option StartingGreatBayStrays;
extern Option StartingStoneTowerStrays;
extern Option StartingStickCapacity;
extern Option StartingPowderKeg;
extern Option StartingPictographBox;
Expand Down
2 changes: 1 addition & 1 deletion source/item_pool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1141,7 +1141,7 @@ void GenerateItemPool() {

//CLOCK TOWN STRAY FAIRY (Separated because it's not in a dungeon)
if (!ShuffleCTStray) {
PlaceItemInLocation(CT_STRAY_FAIRY, LAUNDRY_POOL_SF);
PlaceItemInLocation(LAUNDRY_POOL_SF, CT_STRAY_FAIRY);
}
else {
AddItemToMainPool(CT_STRAY_FAIRY, 1);
Expand Down
2 changes: 1 addition & 1 deletion source/location_access.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -556,7 +556,7 @@ void AreaTable_Init() {
LocationAccess(S_CLOCK_TOWN_FINAL_DAY_CHEST, {[] {return Hookshot || (DekuMask && MoonsTear);}}),
LocationAccess(S_CLOCK_TOWN_BANK_REWARD_1, {[] {return true;}}),
LocationAccess(S_CLOCK_TOWN_BANK_REWARD_2, {[] {return AnyWallet;}}),//Adult Wallet for lenience
LocationAccess(S_CLOCK_TOWN_BANK_REWARD_3, {[] {return (OceanWallet500 || ProgressiveWallet > 1);}}),//Giant Wallet for lenience
LocationAccess(S_CLOCK_TOWN_BANK_REWARD_3, {[] {return ProgressiveWallet > 1;}}),//Giant Wallet for lenience
},
{
//Exits
Expand Down
24 changes: 23 additions & 1 deletion source/settings.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,10 @@ namespace Settings {
Option StartingTwinmoldRemains = Option::U8("Twinmold's Remains", { "None", "TwinMold's R." }, { "" });
Option StartingSwampToken = Option::U8("Swamp Skulltula Tokens", {/*Options 0-30 defined in InitSettings()*/ }, { "" }, OptionCategory::Setting, 0);
Option StartingOceanToken = Option::U8("Ocean Skulltula Tokens", {/*Options 0-30 defined in InitSettings()*/ }, { "" }, OptionCategory::Setting, 0);
Option StartingWoodfallStrays = Option::U8("Woodfall Stray Fairies", {/*Options 0-15 defined in InitSettings()*/ }, { "" }, OptionCategory::Setting, 0);
Option StartingSnowheadStrays = Option::U8("Snowhead Stray Fairies", {/*Options 0-15 defined in InitSettings()*/ }, { "" }, OptionCategory::Setting, 0);
Option StartingGreatBayStrays = Option::U8("Great Bay Stray Fairies", {/*Options 0-15 defined in InitSettings()*/ }, { "" }, OptionCategory::Setting, 0);
Option StartingStoneTowerStrays = Option::U8("Stone Tower Stray Fairies", {/*Options 0-15 defined in InitSettings()*/ }, { "" }, OptionCategory::Setting, 0);
//Starting Masks
Option StartingMaskToggle = Option::U8("Masks", { "All Off", "All On", "Choose" }, { "" });
Option StartingDekuMask = Option::U8("Deku Mask", { "None", "Deku M." }, { "" });
Expand Down Expand Up @@ -282,6 +286,10 @@ namespace Settings {
std::vector<Option*> startingInventoryTokensFairys = {
&StartingSwampToken,
&StartingOceanToken,
&StartingWoodfallStrays,
&StartingSnowheadStrays,
&StartingGreatBayStrays,
&StartingStoneTowerStrays,
};

//Excluded Locations (Individual definitions made in ItemLocation class)
Expand Down Expand Up @@ -832,6 +840,11 @@ namespace Settings {
//Tokens
ctx.startingSwampTokens = StartingSwampToken.Value<u8>();
ctx.startingOceanTokens = StartingOceanToken.Value<u8>();
//Stray Fairies
ctx.startingWoodfallStrays = StartingWoodfallStrays.Value<u8>();
ctx.startingSnowheadStrays = StartingSnowheadStrays.Value<u8>();
ctx.startingGreatBayStrays = StartingGreatBayStrays.Value<u8>();
ctx.startingStoneTowerStrays = StartingStoneTowerStrays.Value<u8>();
//Masks
ctx.startingDekuMask = StartingDekuMask.Value<u8>();
ctx.startingGoronMask = StartingGoronMask.Value<u8>();
Expand Down Expand Up @@ -1058,10 +1071,19 @@ namespace Settings {
OtokenOptions.reserve(31);
for (int i = 0; i <= 30; i++) {
OtokenOptions.push_back(std::to_string(i));
}
std::vector<std::string> StrayOptions;
StrayOptions.reserve(16);
for (int i = 0; i <= 15; i++) {
StrayOptions.push_back(std::to_string(i));
}
StartingSwampToken.SetOptions(StokenOptions);
StartingOceanToken.SetOptions(OtokenOptions);

StartingWoodfallStrays.SetOptions(StrayOptions);
StartingSnowheadStrays.SetOptions(StrayOptions);
StartingGreatBayStrays.SetOptions(StrayOptions);
StartingStoneTowerStrays.SetOptions(StrayOptions);

//Create Location Exclude settings
AddExcludedOptions();

Expand Down
4 changes: 4 additions & 0 deletions source/starting_inventory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,10 @@ void GenerateStartingInventory() {
AddItemToInventory(TWINMOLDS_REMAINS, StartingTwinmoldRemains.Value<u8>());
AddItemToInventory(SWAMP_SKULLTULA_TOKEN, StartingSwampToken.Value<u8>());
AddItemToInventory(OCEANSIDE_SKULLTULA_TOKEN, StartingOceanToken.Value<u8>());
AddItemToInventory(WF_STRAY_FAIRY, StartingWoodfallStrays.Value<u8>());
AddItemToInventory(SH_STRAY_FAIRY, StartingSnowheadStrays.Value<u8>());
AddItemToInventory(GBT_STRAY_FAIRY, StartingGreatBayStrays.Value<u8>());
AddItemToInventory(ST_STRAY_FAIRY, StartingStoneTowerStrays.Value<u8>());

AddItemToInventory(DEKU_MASK, StartingDekuMask.Value<u8>());
AddItemToInventory(GORON_MASK, StartingGoronMask.Value<u8>());
Expand Down