diff --git a/ootrando_overworldmap_hamsda.zip b/ootrando_overworldmap_hamsda.zip index 251e7d28..650bd1d9 100644 Binary files a/ootrando_overworldmap_hamsda.zip and b/ootrando_overworldmap_hamsda.zip differ diff --git a/ootrando_overworldmap_hamsda/README.md b/ootrando_overworldmap_hamsda/README.md index 4ed1369c..062ac64b 100644 --- a/ootrando_overworldmap_hamsda/README.md +++ b/ootrando_overworldmap_hamsda/README.md @@ -51,6 +51,14 @@ This setting determines if you can leave the Kokiri Forest without beating the D - ![Closed Deku](images/setting_forest_deku.png "Closed Deku") You can leave Kokiri Forest but will need the Kokiri Sword and Deku Shield to go to the Deku Tree. - ![Open Forest](images/setting_forest_open.png "Open Forest") You can immediately leave Kokiri Forest and go to the Deku Tree. +#### Kakariko Gate + +This setting determines the behaviour of the Kakariko Gate to Death Mountain Trail as child as well as the Happy Mask Shop. + +- ![Open Gate](images/setting_kak_open.png "Open Gate") The gate is always open. The Happy Mask Shop opens once you obtain Zelda's Letter. +- ![Zelda's Letter Opens Gate](images/setting_kak_letter.png "Zelda's Letter Opens Gate") Both the gate and the Happy Mask Shop open once you obtain Zelda's Letter. +- ![Closed Gate](images/setting_kak_closed.png "Closed Gate") Both the gate and the Happy Mask Shop are closed until showing Zelda's Letter to the guard. + #### Door of Time This setting determines whether the Door of Time starts open or closed. @@ -176,6 +184,13 @@ This setting determines if Magic Beans are shuffled. - ![Magic Beans not shuffled](images/setting_shuffle_beans_no.png "Magic Beans not shuffled") Magic Beans are not shuffled and will be captured in the corresponding chest by default. - ![Magic Beans shuffled](images/setting_shuffle_beans_yes.png "Magic Beans shuffled") The Magic Beans are shuffled into the item pool and will not be captured. +#### Complete Mask Quest + +This setting determines if all masks will be available once the Happy Mask Shop is open. + +- ![Mask Quest not complete](images/setting_masks_off.png "Mask Quest not complete") The mask quest has to be completed step by step like in the vanilla game. +- ![Mask Quest complete](images/setting_masks_complete.png "Mask Quest complete") All the masks will be available once the Happy Mask Shop is open. + #### Hints This setting determines when hintable locations will show up on the map ([see wiki](https://wiki.ootrandomizer.com/index.php?title=Readme#Other)). diff --git a/ootrando_overworldmap_hamsda/changelog.md b/ootrando_overworldmap_hamsda/changelog.md index b29a03fb..ddde3e10 100644 --- a/ootrando_overworldmap_hamsda/changelog.md +++ b/ootrando_overworldmap_hamsda/changelog.md @@ -1,5 +1,10 @@ # Changelog +## 2.9.6.0 + +- added Kakariko Gate and Complete Mask Quest settings +- fixed chu bowling sequence break showing when it shouldn't + ## 2.9.5.1 - fixed error in bombchu function diff --git a/ootrando_overworldmap_hamsda/images/setting_kak_closed.png b/ootrando_overworldmap_hamsda/images/setting_kak_closed.png new file mode 100644 index 00000000..a4e788bc Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_kak_closed.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_kak_letter.png b/ootrando_overworldmap_hamsda/images/setting_kak_letter.png new file mode 100644 index 00000000..01527b1d Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_kak_letter.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_kak_open.png b/ootrando_overworldmap_hamsda/images/setting_kak_open.png new file mode 100644 index 00000000..0bf08943 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_kak_open.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_masks_complete.png b/ootrando_overworldmap_hamsda/images/setting_masks_complete.png new file mode 100644 index 00000000..4dc4b18d Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_masks_complete.png differ diff --git a/ootrando_overworldmap_hamsda/images/setting_masks_off.png b/ootrando_overworldmap_hamsda/images/setting_masks_off.png new file mode 100644 index 00000000..4ea07e09 Binary files /dev/null and b/ootrando_overworldmap_hamsda/images/setting_masks_off.png differ diff --git a/ootrando_overworldmap_hamsda/items/items.json b/ootrando_overworldmap_hamsda/items/items.json index c3d7cd41..b0499a10 100644 --- a/ootrando_overworldmap_hamsda/items/items.json +++ b/ootrando_overworldmap_hamsda/items/items.json @@ -229,52 +229,52 @@ }, { "img": "images/sold_out.png", - "codes": "kidtrade,soldout,lettershown,postzelda", + "codes": "kidtrade,lettershown,postguard,postzelda", "inherit_codes": false }, { "img": "images/keaton.png", - "codes": "kidtrade,keaton,keatonmask,postzelda", + "codes": "kidtrade,keaton,keatonmask,postguard,postzelda", "inherit_codes": false }, { "img": "images/sold_out.png", - "codes": "kidtrade,soldout,keatonsold,postzelda", + "codes": "kidtrade,keatonsold,postguard,postzelda", "inherit_codes": false }, { "img": "images/skull.png", - "codes": "kidtrade,skullmask,skull,postzelda", + "codes": "kidtrade,skullmask,skull,postguard,postzelda", "inherit_codes": false }, { "img": "images/sold_out.png", - "codes": "kidtrade,soldout,skullsold,postzelda", + "codes": "kidtrade,skullsold,postguard,postzelda", "inherit_codes": false }, { "img": "images/spooky.png", - "codes": "kidtrade,spooky,spookymask,postzelda", + "codes": "kidtrade,spooky,spookymask,postguard,postzelda", "inherit_codes": false }, { "img": "images/sold_out.png", - "codes": "kidtrade,soldout,spookysold,postzelda", + "codes": "kidtrade,spookysold,postguard,postzelda", "inherit_codes": false }, { "img": "images/bunny.png", - "codes": "kidtrade,bunny,bunnyhood,postzelda", + "codes": "kidtrade,bunny,bunnyhood,postguard,postzelda", "inherit_codes": false }, { "img": "images/sold_out.png", - "codes": "kidtrade,soldout,bunnysold,postzelda", + "codes": "kidtrade,bunnysold,postguard,postzelda", "inherit_codes": false }, { "img": "images/truth.png", - "codes": "kidtrade,truth,maskoftruth,mot,postzelda", + "codes": "kidtrade,truth,maskoftruth,mot,postguard,postzelda", "inherit_codes": false } ] diff --git a/ootrando_overworldmap_hamsda/items/options.json b/ootrando_overworldmap_hamsda/items/options.json index c8d8abac..b17f2baa 100644 --- a/ootrando_overworldmap_hamsda/items/options.json +++ b/ootrando_overworldmap_hamsda/items/options.json @@ -22,6 +22,29 @@ } ] }, + { + "name": "Kakariko Gate", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "initial_stage_idx": 2, + "stages": [ + { + "img": "images/setting_kak_open.png", + "codes": "setting_kak,setting_kak_open" + }, + { + "img": "images/setting_kak_letter.png", + "codes": "setting_kak,setting_kak_letter", + "inherit_codes": false + }, + { + "img": "images/setting_kak_closed.png", + "codes": "setting_kak,setting_kak_closed", + "inherit_codes": false + } + ] + }, { "name": "Door of Time", "type": "progressive", @@ -330,6 +353,23 @@ } ] }, + { + "name": "Complete Mask Quest", + "type": "progressive", + "allow_disabled": false, + "loop": true, + "stages": [ + { + "img": "images/setting_masks_off.png", + "codes": "setting_masks,setting_masks_off" + }, + { + "img": "images/setting_masks_complete.png", + "codes": "setting_masks,setting_masks_complete", + "inherit_codes": false + } + ] + }, { "name": "Hints", "type": "progressive", diff --git a/ootrando_overworldmap_hamsda/layouts/options.json b/ootrando_overworldmap_hamsda/layouts/options.json index d5ab4fef..52eb9c5e 100644 --- a/ootrando_overworldmap_hamsda/layouts/options.json +++ b/ootrando_overworldmap_hamsda/layouts/options.json @@ -14,34 +14,41 @@ "setting_age", "setting_shopsanity", "setting_shuffle_sword1", - "setting_hints" + "setting_masks" ], [ - "setting_door", + "setting_kak", "setting_logic_chus", "setting_tokens_off", "setting_shuffle_ocarinas", - "setting_damage" + "setting_hints" ], [ - "setting_fountain", + "setting_door", "", "setting_scrub_shuffle", "setting_shuffle_egg", - "setting_plant" + "setting_damage" ], [ - "setting_gerudo", + "setting_fountain", "", "setting_cowsanity", "setting_shuffle_card", + "setting_plant" + ], + [ + "setting_gerudo", + "", + "", + "setting_shuffle_beans", "" ], [ "setting_bridge", "", "", - "setting_shuffle_beans", + "", "" ], [ diff --git a/ootrando_overworldmap_hamsda/locations/overworld.json b/ootrando_overworldmap_hamsda/locations/overworld.json index 07d08d76..87ead9e8 100644 --- a/ootrando_overworldmap_hamsda/locations/overworld.json +++ b/ootrando_overworldmap_hamsda/locations/overworld.json @@ -2273,22 +2273,19 @@ }, { "name": "Guard", + "access_rules": [ + "$has_age|child" + ], "sections": [ { "name": "Show Letter", - "access_rules": [ - "$has_age|child,letter" - ], "visibility_rules": [ - "letter" + "setting_kak_closed,letter" ], "hosted_item": "capture_lettershown" }, { "name": "Sell Keaton Mask", - "access_rules": [ - "$has_age|child,keaton" - ], "visibility_rules": [ "keaton" ], @@ -4016,54 +4013,49 @@ }, { "name": "Mask Shop", + "access_rules": [ + "$has_age|child" + ], "sections": [ { "name": "Get Keaton Mask", - "access_rules": [ - "$has_age|child,lettershown" - ], "visibility_rules": [ - "lettershown" + "setting_masks_off,setting_kak_open,letter", + "setting_masks_off,setting_kak_letter,letter", + "setting_masks_off,setting_kak_closed,lettershown", + "setting_masks_complete,$mask_shop_open" ], "hosted_item": "capture_keaton" }, { "name": "Get Skull Mask", - "access_rules": [ - "$has_age|child,keatonsold" - ], "visibility_rules": [ - "keatonsold" + "keatonsold", + "setting_masks_complete,$mask_shop_open" ], "hosted_item": "capture_skullmask" }, { "name": "Get Spooky Mask", - "access_rules": [ - "$has_age|child,skullsold" - ], "visibility_rules": [ - "skullsold" + "skullsold", + "setting_masks_complete,$mask_shop_open" ], "hosted_item": "capture_spooky" }, { "name": "Get Bunny Hood", - "access_rules": [ - "$has_age|child,spookysold" - ], "visibility_rules": [ - "spookysold" + "spookysold", + "setting_masks_complete,$mask_shop_open" ], "hosted_item": "capture_bunny" }, { "name": "Get Mask of Truth", - "access_rules": [ - "$has_age|child,bunnysold" - ], "visibility_rules": [ - "bunnysold" + "bunnysold", + "setting_masks_complete,$mask_shop_open" ], "hosted_item": "capture_truth" } @@ -4079,7 +4071,8 @@ { "name": "Bombchu Bowling", "access_rules": [ - "$has_age|child,$has_bombchus", + "$has_age|child,setting_logic_chus_yes,bombchu", + "$has_age|child,setting_logic_chus_no,bombs", "{$hintable}" ], "sections": [ diff --git a/ootrando_overworldmap_hamsda/manifest.json b/ootrando_overworldmap_hamsda/manifest.json index 939c4769..adbb24f9 100644 --- a/ootrando_overworldmap_hamsda/manifest.json +++ b/ootrando_overworldmap_hamsda/manifest.json @@ -1,7 +1,7 @@ { "name": "OoT Randomizer - Map and Item Tracker", "game_name": "Ocarina of Time Randomizer", - "package_version": "2.9.5.1", + "package_version": "2.9.6.0", "package_uid": "ootrando_overworldmap_hamsda", "author": "Hamsda", "variants": { diff --git a/ootrando_overworldmap_hamsda/scripts/logic.lua b/ootrando_overworldmap_hamsda/scripts/logic.lua index 84c002ad..204a9ea5 100644 --- a/ootrando_overworldmap_hamsda/scripts/logic.lua +++ b/ootrando_overworldmap_hamsda/scripts/logic.lua @@ -379,12 +379,24 @@ function adult_colossus() return 1, level end +function mask_shop_open() + if (has("setting_kak_open") and has("postzelda")) + or (has("setting_kak_letter") and has("postzelda")) + or (has("setting_kak_closed") and has("postguard")) + then + return 1, AccessibilityLevel.Normal + end + return 0, AccessibilityLevel.None +end + function child_death_mountain() if has_age("child") == 0 then return 0, AccessibilityLevel.None end - if has("postzelda") + if has("setting_kak_open") + or (has("setting_kak_letter") and has("postzelda")) + or (has("setting_kak_closed") and has("postguard")) or (has("dinsfire") and has("magic")) then return 1, AccessibilityLevel.Normal diff --git a/repository.json b/repository.json index da7c5ab6..c48af88b 100644 --- a/repository.json +++ b/repository.json @@ -10,7 +10,7 @@ "pins", "chathud" ], - "version": "2.9.5.1", + "version": "2.9.6.0", "uid": "ootrando_overworldmap_hamsda", "link": "https://hamsda.github.io/EmoTrackerPacks/ootrando_overworldmap_hamsda.zip", "documentation_url": "https://github.com/Hamsda/EmoTrackerPacks/blob/master/ootrando_overworldmap_hamsda/README.md",