diff --git a/README.md b/README.md index 634fdb4a..7060bbdc 100644 --- a/README.md +++ b/README.md @@ -31,7 +31,7 @@ The small key maximum amounts in the keysanity variants will dynamically update Some of this functionality might not be immediately obvious: -- Right clicking ![Fairy Ocarina](ootrando_overworldmap_hamsda/images/fairyocarina.png "Fairy Ocarina")/![Ocarina of Time](ootrando_overworldmap_hamsda/images/ocarina.png "Ocarina of Time") will overlay it with ![Scarecrow](ootrando_overworldmap_hamsda/images/scarecrow_badge.png "Scarecrow"), indicating that you have confirmed the scarecrow song or started with free scarecrow. Locations that make use of the scarecrow will show up as sequence breaks unless this is turned on. +- Right clicking ![Fairy Ocarina](ootrando_overworldmap_hamsda/images/fairyocarina.png "Fairy Ocarina")/![Ocarina of Time](ootrando_overworldmap_hamsda/images/ocarina.png "Ocarina of Time") will overlay it with ![Scarecrow](ootrando_overworldmap_hamsda/images/overlay_scarecrow.png "Scarecrow"), indicating that you have confirmed the scarecrow song or started with free scarecrow. Locations that make use of the scarecrow will show up as sequence breaks unless this is turned on. - ![Ice Trap](ootrando_overworldmap_hamsda/images/icetrap.png "Ice Trap") is used as a counter for ice traps. This is somewhat useful to evaluate freestanding items during racing, but mostly just for fun with settings that include higher numbers of ice traps. ## Settings (for map variants) diff --git a/changelog.md b/changelog.md index c902e8dc..0ae90177 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,9 @@ # Changelog +## 2.3.3.7 + +- changed carpenter rescue to be sequence breakable + ## 2.3.3.6 - changed capture layout diff --git a/ootrando_overworldmap_hamsda.zip b/ootrando_overworldmap_hamsda.zip index 047e9e39..5b5b6199 100644 Binary files a/ootrando_overworldmap_hamsda.zip and b/ootrando_overworldmap_hamsda.zip differ diff --git a/ootrando_overworldmap_hamsda/images/scarecrow_badge.png b/ootrando_overworldmap_hamsda/images/overlay_scarecrow.png similarity index 100% rename from ootrando_overworldmap_hamsda/images/scarecrow_badge.png rename to ootrando_overworldmap_hamsda/images/overlay_scarecrow.png diff --git a/ootrando_overworldmap_hamsda/items/items.json b/ootrando_overworldmap_hamsda/items/items.json index e1ef8763..7ea08ae2 100644 --- a/ootrando_overworldmap_hamsda/items/items.json +++ b/ootrando_overworldmap_hamsda/items/items.json @@ -374,7 +374,7 @@ "name": "Ocarina w/ Scarecrow", "type": "toggle_badged", "base_item": "ocarina", - "img": "images/scarecrow_badge.png", + "img": "images/overlay_scarecrow.png", "codes": "ocarinacrow,scarecrow,pierre" }, { diff --git a/ootrando_overworldmap_hamsda/locations/dung_mq_keys.json b/ootrando_overworldmap_hamsda/locations/dung_mq_keys.json index 8168f0d1..683f0677 100644 --- a/ootrando_overworldmap_hamsda/locations/dung_mq_keys.json +++ b/ootrando_overworldmap_hamsda/locations/dung_mq_keys.json @@ -1409,8 +1409,8 @@ "name": "Gerudo Training Grounds MQ", "parent": "Gerudo Fortress", "access_rules": [ - "gtg_mq,carpenter_rescue,card", - "gtg_mq,gerudo_fortress_open,card" + "gtg_mq,[carpenter_rescue],$gtg_card", + "gtg_mq,gerudo_fortress_open,$gtg_card" ], "sections": [ { diff --git a/ootrando_overworldmap_hamsda/locations/dung_reg_keys.json b/ootrando_overworldmap_hamsda/locations/dung_reg_keys.json index 26f7633e..b7d19832 100644 --- a/ootrando_overworldmap_hamsda/locations/dung_reg_keys.json +++ b/ootrando_overworldmap_hamsda/locations/dung_reg_keys.json @@ -1483,8 +1483,8 @@ "name": "Gerudo Training Grounds", "parent": "Gerudo Fortress", "access_rules": [ - "gtg_reg,carpenter_rescue,card", - "gtg_reg,gerudo_fortress_open,card" + "gtg_reg,[carpenter_rescue],$gtg_card", + "gtg_reg,gerudo_fortress_open,$gtg_card" ], "sections": [ { diff --git a/ootrando_overworldmap_hamsda/locations/overworld.json b/ootrando_overworldmap_hamsda/locations/overworld.json index dc6ecfd2..a821e319 100644 --- a/ootrando_overworldmap_hamsda/locations/overworld.json +++ b/ootrando_overworldmap_hamsda/locations/overworld.json @@ -5496,14 +5496,7 @@ { "name": "Bridge Crossing", "access_rules": [ - "sword2,carpenter_rescue", - "sword2,gerudo_fortress_open", - "sword2,ocarina,epona", - "sword2,longshot", - "sword2,ocarina,requiem,[carpenter_rescue]", - "sword2,ocarina,requiem,[gerudo_fortress_open]", - "sword2,ocarina,requiem,[epona]", - "sword2,ocarina,requiem,[longshot]", + "$gerudo_bridge" ], "children": [ { @@ -5665,7 +5658,7 @@ { "name": "1000", "access_rules": [ - "ocarina,epona,bow,carpenter_rescue", + "ocarina,epona,bow,[carpenter_rescue]", "ocarina,epona,bow,gerudo_fortress_open" ], "item_count": 1 @@ -5673,7 +5666,7 @@ { "name": "1500", "access_rules": [ - "ocarina,epona,bow,carpenter_rescue", + "ocarina,epona,bow,[carpenter_rescue]", "ocarina,epona,bow,gerudo_fortress_open", "{$hintable}" ], @@ -5756,14 +5749,7 @@ { "name": "Haunted Wasteland", "access_rules": [ - "sword2,carpenter_rescue,[hoverboots]", - "sword2,carpenter_rescue,[longshot]", - "sword2,gerudo_fortress_open,[hoverboots]", - "sword2,gerudo_fortress_open,[longshot]", - "ocarina,requiem,[sword2],[carpenter_rescue],[hoverboots]", - "ocarina,requiem,[sword2],[carpenter_rescue],[longshot]", - "ocarina,requiem,[sword2],[gerudo_fortress_open],[hoverboots]", - "ocarina,requiem,[sword2],[gerudo_fortress_open],[longshot]", + "$wasteland", "{$hintable}" ], "children": [ diff --git a/ootrando_overworldmap_hamsda/manifest.json b/ootrando_overworldmap_hamsda/manifest.json index 749f6e9b..c31d38aa 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.3.3.6", + "package_version": "2.3.3.7", "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 67dd691c..dd6d2a90 100644 --- a/ootrando_overworldmap_hamsda/scripts/logic.lua +++ b/ootrando_overworldmap_hamsda/scripts/logic.lua @@ -132,6 +132,36 @@ function can_leave_forest() end end +function gerudo_bridge() + if has("sword2", 0) then + return 0 + elseif has("longshot") + or has("ocarina") and has("epona") + or has("gerudo_fortress_open") + then + return 1, AccessibilityLevel.Normal + elseif has("ocarina") + and has("requiem") + then + return 1, AccessibilityLevel.SequenceBreak + else + return 0 + end +end + +function wasteland() + local count, level = gerudo_bridge() + if has("carpenter_rescue", 0) then + level = AccessibilityLevel.SequenceBreak + end + if has("hoverboots", 0) + and has("longshot", 0) + then + level = AccessibilityLevel.SequenceBreak + end + return count, level +end + function colossus() if has("ocarina") and has("requiem") @@ -139,25 +169,38 @@ function colossus() return 1 elseif has("sword2", 0) then return 0 - elseif has("carpenter_rescue", 0) - and has("gerudo_fortress_open", 0) - then - return 0 else - if has("hoverboots", 0) - and has("longshot", 0) - then - return 1, AccessibilityLevel.SequenceBreak - end - - if has("setting_lens_chest", 0) - and (has("lens", 0) - or has("magic", 0)) - then - return 1, AccessibilityLevel.SequenceBreak + local bridge = gerudo_bridge() + if bridge == 0 then + return 0 + else + local level = AccessibilityLevel.Normal + if has("carpenter_rescue", 0) then + level = AccessibilityLevel.SequenceBreak + end + if has("hoverboots", 0) + and has("longshot", 0) + then + level = AccessibilityLevel.SequenceBreak + end + if has("setting_lens_chest", 0) + and (has("lens", 0) + or has("magic", 0)) + then + level = AccessibilityLevel.SequenceBreak + end + return 1, level end + end +end - return 1 +function gtg_card() + local card = has("card") + if has("setting_shuffle_card_yes") then + return card and 1 or 0 + else + local level = card and AccessibilityLevel.Normal or AccessibilityLevel.SequenceBreak + return 1, level end end diff --git a/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_mq_keys.json b/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_mq_keys.json index ad82823c..6d6ddf0a 100644 --- a/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_mq_keys.json +++ b/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_mq_keys.json @@ -1416,8 +1416,8 @@ "name": "Gerudo Training Grounds MQ", "parent": "Gerudo Fortress", "access_rules": [ - "gtg_mq,carpenter_rescue,card", - "gtg_mq,gerudo_fortress_open,card" + "gtg_mq,[carpenter_rescue],$gtg_card", + "gtg_mq,gerudo_fortress_open,$gtg_card" ], "sections": [ { diff --git a/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_reg_keys.json b/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_reg_keys.json index 9eeabac5..c82b1c56 100644 --- a/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_reg_keys.json +++ b/ootrando_overworldmap_hamsda/var_keysanity/locations/dung_reg_keys.json @@ -1529,8 +1529,8 @@ "name": "Gerudo Training Grounds", "parent": "Gerudo Fortress", "access_rules": [ - "gtg_reg,carpenter_rescue,card", - "gtg_reg,gerudo_fortress_open,card" + "gtg_reg,[carpenter_rescue],$gtg_card", + "gtg_reg,gerudo_fortress_open,$gtg_card" ], "sections": [ { diff --git a/repository.json b/repository.json index c391943a..6b253cc6 100644 --- a/repository.json +++ b/repository.json @@ -10,7 +10,7 @@ "pins", "chathud" ], - "version": "2.3.3.6", + "version": "2.3.3.7", "uid": "ootrando_overworldmap_hamsda", "link": "https://hamsda.github.io/OoTRMapTracker/ootrando_overworldmap_hamsda.zip", "variants": [