Skip to content

Commit

Permalink
Logic Fixes (#30)
Browse files Browse the repository at this point in the history
* Logic Fixes

-Removes West Clock Town Postbox as it doesnt exist lol
- Adds/Adjusts Goron Village checks to account for checks in Spring time
- Adjusts several locations' repeatable variable to prevent softlocks
- Adjusts Gilded Sword flag value to fix override
- Adjusts Great Bay Lab Fish HP flag value to fix override
- Adjusts Cremia Escort's Scene to fix override
- Adjusts SPI Guest Room requirements from GoronMask to RoomKey as it should be
- Adjusts Bomb Shop Goron to require PowderKeg as he wont sell until you obtain the first one
- Adjusts Dog Race to require MaskOfTruth to prevent RNG annoyance
- Adjusts description of SkipBombersMinigame to reflect new value of 12345 instead of 11111
- Adjusts description of Vanilla Logic to remove erronious leftover text from OOT3DR
- Adds hint locations to new Goron Village Spring locations so it doesnt break if the randomzier decides to hint those locations

* Update custom_messages.cpp

ow

* Remove empty ZAR generation.

Bump version to 1.1

---------

Co-authored-by: Phlex <[email protected]>
  • Loading branch information
Tacoman369 and PhlexPlexico authored Jan 26, 2024
1 parent d5f44dd commit d2e113e
Show file tree
Hide file tree
Showing 9 changed files with 69 additions and 41 deletions.
2 changes: 1 addition & 1 deletion source/custom_messages.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ void CreateBaselineCustomMessages() {

// Great Bay
CreateMessage(0x6141, 0xFFFF, 0x3FFFFFFF, 0xFF0000,
"You got the #boss key# for the #Great Bay Temple#! ow you can enter the chamber where the boss lurks!",
"You got the #boss key# for the #Great Bay Temple#! Now you can enter the chamber where the boss lurks!",
{QM_GREEN, QM_RED}, {}, {}, 0x0, false, false);

// Stone Tower
Expand Down
5 changes: 4 additions & 1 deletion source/hint_list.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -272,6 +272,10 @@ void HintTable_Init() {
hintTable[GORON_VILLAGE_LENS_OF_TRUTH_CHEST] = HintText::Sometimes({ Text{"a lonely peak contains", "", ""}});
hintTable[GORON_VILLAGE_SCRUB_TRADE] = HintText::Sometimes({ Text{"a northern merchant trades", "", ""}});
hintTable[GORON_VILLAGE_LEDGE] = HintText::Sometimes({ Text{"a cold ledge contains", "", ""}});
hintTable[GORON_VILLAGE_POWDER_KEG_CHALLENGE_SPRING] = HintText::Sometimes({ Text{"a large goron rewards", "", ""}});
hintTable[GORON_VILLAGE_SCRUB_PURCHASE_SPRING] = HintText::Sometimes({ Text{"a northern merchant sells", "", ""}});
hintTable[GORON_VILLAGE_SCRUB_TRADE_SPRING] = HintText::Sometimes({ Text{"a northern merchant trades", "", ""}});
hintTable[GORON_VILLAGE_LEDGE_SPRING] = HintText::Sometimes({ Text{"a cold ledge contains", "", ""}});
hintTable[GORON_VILLAGE_GORON_LULLABY] = HintText::Sometimes({ Text{"a lonely child teaches", "", ""}});
hintTable[LENS_CAVE_RED_RUPEE] = HintText::Sometimes({ Text{"a lonely peak contains", "", ""}});
hintTable[LENS_CAVE_PURPLE_RUPEE] = HintText::Sometimes({ Text{"a lonely peak contains", "", ""}});
Expand Down Expand Up @@ -448,7 +452,6 @@ void HintTable_Init() {
hintTable[W_CLOCK_TOWN_SWORDSMANS_SCHOOL] = HintText::Sometimes({Text{"a town game rewards", "", ""}});
hintTable[W_CLOCK_TOWN_ALL_NIGHT_MASK_BUY] = HintText::Sometimes({Text{"a shady town merchant sells", "", ""}});
hintTable[W_CLOCK_TOWN_BOMB_SHOP_GORON] = HintText::Sometimes({Text{"a town goron merchant sells", "", ""}});
hintTable[W_CLOCK_TOWN_POSTBOX] = HintText::Sometimes({Text{"a correspondence box contains", "", ""}});
//hintTable[W_CLOCK_TOWN_LOTTERY] = HintText::Sometimes({Text{"", "", ""}});
hintTable[TRADING_POST_ITEM_1] = HintText::Sometimes({Text{"a town merchant sells", "", ""}});
hintTable[TRADING_POST_ITEM_2] = HintText::Sometimes({Text{"a town merchant sells", "", ""}});
Expand Down
5 changes: 4 additions & 1 deletion source/include/keys.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -281,6 +281,10 @@ typedef enum {
GORON_VILLAGE_LEDGE,
LENS_CAVE_RED_RUPEE,
LENS_CAVE_PURPLE_RUPEE,
GORON_VILLAGE_POWDER_KEG_CHALLENGE_SPRING,
GORON_VILLAGE_SCRUB_PURCHASE_SPRING,
GORON_VILLAGE_SCRUB_TRADE_SPRING,
GORON_VILLAGE_LEDGE_SPRING,
GORON_SHOP_ITEM_1,
GORON_SHOP_ITEM_2,
GORON_SHOP_ITEM_3,
Expand Down Expand Up @@ -455,7 +459,6 @@ typedef enum {
W_CLOCK_TOWN_ALL_NIGHT_MASK_BUY,
W_CLOCK_TOWN_LOTTERY,
W_CLOCK_TOWN_BOMB_SHOP_GORON,
W_CLOCK_TOWN_POSTBOX,
TRADING_POST_ITEM_1,
TRADING_POST_ITEM_2,
TRADING_POST_ITEM_3,
Expand Down
2 changes: 1 addition & 1 deletion source/include/version.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
#pragma once

#define RANDOMIZER_VERSION "v1.0.1"
#define RANDOMIZER_VERSION "v1.1"
#define COMMIT_NUMBER "develop"
65 changes: 40 additions & 25 deletions source/item_location.cpp

Large diffs are not rendered by default.

7 changes: 6 additions & 1 deletion source/item_pool.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -353,6 +353,7 @@ static void PlaceVanillaMainInventory() {
PlaceItemInLocation(STONE_TOWER_TEMPLE_LIGHT_ARROW_CHEST, LIGHT_ARROWS);
//PlaceItemInLocation(DEKU_PALACE_BEAN_DADDY, MAGIC_BEAN);//Shopsanity
PlaceItemInLocation(GORON_VILLAGE_POWDER_KEG_CHALLENGE, POWDER_KEG);
PlaceItemInLocation(GORON_VILLAGE_POWDER_KEG_CHALLENGE_SPRING, POWDER_KEG);
PlaceItemInLocation(SOUTHERN_SWAMP_KOTAKE, PICTOGRAPH_BOX);
PlaceItemInLocation(PF_INTERIOR_HOOKSHOT_CHEST, HOOKSHOT);
PlaceItemInLocation(GORON_VILLAGE_LENS_OF_TRUTH_CHEST, LENS_OF_TRUTH);
Expand Down Expand Up @@ -809,6 +810,7 @@ static void PlaceVanillaShopItems() {
PlaceItemInLocation(ZORA_SHOP_ITEM_2, BUY_ARROWS_10);
PlaceItemInLocation(ZORA_SHOP_ITEM_3, BUY_RED_POTION);
PlaceItemInLocation(GORON_VILLAGE_SCRUB_PURCHASE, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(GORON_VILLAGE_SCRUB_PURCHASE_SPRING, PROGRESSIVE_BOMB_BAG);
PlaceItemInLocation(IKANA_CANYON_SCRUB_PURCHASE, BLUE_POTION_REFILL);
PlaceItemInLocation(ZORA_HALL_SCRUB_PURCHASE, GREEN_POTION_REFILL);
PlaceItemInLocation(MILK_ROAD_GORMAN_MILK_BUY, MILK);
Expand Down Expand Up @@ -894,8 +896,11 @@ void GenerateItemPool() {
PlaceItemInLocation(SOUTHERN_SWAMP_KOTAKE_IN_WOODS, BLUE_RUPEE);
PlaceItemInLocation(N_CLOCK_TOWN_POSTBOX, BLUE_RUPEE);
PlaceItemInLocation(E_CLOCK_TOWN_POSTBOX, BLUE_RUPEE);
PlaceItemInLocation(W_CLOCK_TOWN_POSTBOX, BLUE_RUPEE);
PlaceItemInLocation(MILK_ROAD_KEATON_QUIZ, BLUE_RUPEE);
PlaceItemInLocation(GORON_VILLAGE_POWDER_KEG_CHALLENGE_SPRING, BLUE_RUPEE);
PlaceItemInLocation(GORON_VILLAGE_SCRUB_PURCHASE_SPRING, BLUE_RUPEE);
PlaceItemInLocation(GORON_VILLAGE_SCRUB_TRADE_SPRING, BLUE_RUPEE);
PlaceItemInLocation(GORON_VILLAGE_LEDGE_SPRING, BLUE_RUPEE);

//Check Non Dungeon Settings

Expand Down
12 changes: 7 additions & 5 deletions source/location_access.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -303,7 +303,7 @@ void AreaTable_Init() {
},
{
//Exits
Entrance(STOCKPOTINN_GUEST_ROOM, {[]{return GoronMask;}}),
Entrance(STOCKPOTINN_GUEST_ROOM, {[]{return RoomKey;}}),
Entrance(STOCKPOTINN_STAFF_ROOM, {[]{return true;}}),
Entrance(STOCKPOTINN_GRANDMA_ROOM, {[]{return true;}}),
Entrance(E_CLOCK_TOWN, {[]{return true;}}),
Expand Down Expand Up @@ -433,8 +433,6 @@ void AreaTable_Init() {
{
//Locations
LocationAccess(W_CLOCK_TOWN_ROSA_SISTERS, {[] {return KamarosMask;}}),
LocationAccess(W_CLOCK_TOWN_POSTBOX, {[]{return PostmansHat;}}),

},
{
//Exits
Expand Down Expand Up @@ -495,7 +493,7 @@ void AreaTable_Init() {
LocationAccess(BOMB_SHOP_ITEM_2, {[]{return true;}}),
LocationAccess(W_CLOCK_TOWN_BOMB_BAG_BUY, {[] {return true;}}),
LocationAccess(W_CLOCK_TOWN_BIG_BOMB_BAG_BUY, {[] {return OldLadySaved;}}),
LocationAccess(W_CLOCK_TOWN_BOMB_SHOP_GORON, {[] {return GoronMask;}}),
LocationAccess(W_CLOCK_TOWN_BOMB_SHOP_GORON, {[] {return GoronMask && PowderKeg;}}),
},
{
//Exits
Expand Down Expand Up @@ -1147,6 +1145,10 @@ void AreaTable_Init() {
LocationAccess(GORON_VILLAGE_SCRUB_PURCHASE, {[] {return AnyWallet && GoronMask;}}),
LocationAccess(GORON_VILLAGE_SCRUB_TRADE, {[] {return DekuMask && SwampTitle;}}),
LocationAccess(GORON_VILLAGE_LEDGE, {[] {return DekuMask && SwampTitle;}}),
LocationAccess(GORON_VILLAGE_POWDER_KEG_CHALLENGE_SPRING, {[] {return GoronMask && (SnowheadClear || (Bow && FireArrows && MagicMeter));}}),
LocationAccess(GORON_VILLAGE_SCRUB_PURCHASE_SPRING, {[] {return AnyWallet && GoronMask;}}),
LocationAccess(GORON_VILLAGE_SCRUB_TRADE_SPRING, {[] {return DekuMask && SwampTitle;}}),
LocationAccess(GORON_VILLAGE_LEDGE_SPRING, {[] {return DekuMask && SwampTitle;}}),
},
{
//Exits
Expand Down Expand Up @@ -1312,7 +1314,7 @@ void AreaTable_Init() {
},
{
//Locations
LocationAccess(ROMANI_RANCH_DOG_RACE, {[] {return true;}}),
LocationAccess(ROMANI_RANCH_DOG_RACE, {[] {return MaskOfTruth;}}),
LocationAccess(DOGGY_RACETRACK_ROOF_CHEST, {[] {return Hookshot || (WaterForBeans && MagicBean);}}),
//Gossip Stones
LocationAccess(DOGGY_RACETRACK_GOSSIP, {[] {return true;}}),
Expand Down
4 changes: 2 additions & 2 deletions source/patch.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -356,7 +356,7 @@ bool WriteAllPatches() {


// Delete assets if it exists
Handle assetsOut;
/*Handle assetsOut;
const char* assetsOutPath = "/luma/titles/0004000000125500/romfs/actor/zelda_gi_melody.zar";
const char* assetsInPath = "romfs:/zelda_gi_melody.zar";
FSUSER_DeleteFile(sdmcArchive, fsMakePath(PATH_ASCII, assetsOutPath));
Expand Down Expand Up @@ -390,7 +390,7 @@ bool WriteAllPatches() {
}
FSFILE_Close(assetsOut);
//FSUSER_CloseArchive(sdmcArchive);
//FSUSER_CloseArchive(sdmcArchive);*/

/*-------------------
| TITLESCREEN LZS |
Expand Down
8 changes: 4 additions & 4 deletions source/setting_descriptions.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,9 @@ string_view logicVanilla = "For those who want to play the game nor
"locations will contain their vanilla items. This\n"
"supercedes all item shuffle, logic, hint, and\n" //
"item pool settings. You can still use non-vanilla\n"
"world settings such as adult start or entrance\n" //
"shuffle, but the game may require glitches to\n" //
"complete if you do."; //
"world settings such as entrance shuffle, \n" //
"but the game may require glitches to complete\n" //
"if you do."; //
/*------------------------------ //
| ALL LOCATIONS REACHABLE | //
------------------------------*/ //
Expand Down Expand Up @@ -639,7 +639,7 @@ string_view ingameSpoilersButtonDesc = "Change the button to open the ingame Spo
| BOMBERS MINIGAME SKIP | //
-------------------------------*/ //
string_view skipBombersMinigameDesc = "Skip Bomber's Minigame to get the code.\n" //
"Sets the code to 11111."; //
"Sets the code to 12345."; //

/*------------------------------ //
| GLITCHES | //
Expand Down

0 comments on commit d2e113e

Please sign in to comment.