diff --git a/changelog.md b/changelog.md index 9349558d..fa6fc4fe 100644 --- a/changelog.md +++ b/changelog.md @@ -1,5 +1,10 @@ # Changelog +## 2.6.0.3 + +- fixed Gerudo Fortress guard behavior around card +- fixed visibility after latest EmoTracker update + ## 2.6.0.2 - removed visibility restrictions based on items diff --git a/ootrando_overworldmap_hamsda.zip b/ootrando_overworldmap_hamsda.zip index 7c6bc175..c116a5ba 100644 Binary files a/ootrando_overworldmap_hamsda.zip and b/ootrando_overworldmap_hamsda.zip differ diff --git a/ootrando_overworldmap_hamsda/items/quest.json b/ootrando_overworldmap_hamsda/items/quest.json index 5a2f4749..e317c711 100644 --- a/ootrando_overworldmap_hamsda/items/quest.json +++ b/ootrando_overworldmap_hamsda/items/quest.json @@ -11,42 +11,6 @@ "img": "images/gerudocard.png", "codes": "gerudocard,card" }, - { - "name": "Carpenter Rescue", - "type": "toggle", - "img": "images/gerudosymbol.png", - "codes": "carpenter_rescue" - }, - { - "name": "Gerudo Card and Carpenter Rescue", - "type": "composite_toggle", - "codes": "fortress", - "item_left": "card", - "item_right": "carpenter_rescue", - "images": [ - { - "left": false, - "right": false, - "img": "images/gerudofortress.png", - "img_mods": "@disabled" - }, - { - "left": true, - "right": false, - "img": "images/gerudocard.png" - }, - { - "left": false, - "right": true, - "img": "images/gerudosymbol.png" - }, - { - "left": true, - "right": true, - "img": "images/gerudofortress.png" - } - ] - }, { "name": "Gold Skulltula Tokens", "type": "consumable", diff --git a/ootrando_overworldmap_hamsda/layouts/item_grids.json b/ootrando_overworldmap_hamsda/layouts/item_grids.json index 7903b7b1..54c73099 100644 --- a/ootrando_overworldmap_hamsda/layouts/item_grids.json +++ b/ootrando_overworldmap_hamsda/layouts/item_grids.json @@ -59,7 +59,7 @@ [ "wallet1", "magic", - "fortress", + "card", "agony", "icetrap", "skulltula" @@ -159,7 +159,7 @@ "requiemcheck", "nocturnecheck", "preludecheck", - "fortress", + "card", "agony", "icetrap" ] diff --git a/ootrando_overworldmap_hamsda/locations/dung_mq.json b/ootrando_overworldmap_hamsda/locations/dung_mq.json index 68d6ee87..81d48abb 100644 --- a/ootrando_overworldmap_hamsda/locations/dung_mq.json +++ b/ootrando_overworldmap_hamsda/locations/dung_mq.json @@ -151,7 +151,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "deku_reg" ], "x": 2426, @@ -370,7 +370,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "dodongo_reg" ], "x": 1684, @@ -378,7 +378,7 @@ }, { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "dodongo_reg" ], "x": 1684, @@ -564,7 +564,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "jabu_reg" ], "x": 2458, @@ -659,7 +659,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "ice_reg" ], "x": 2471, @@ -869,7 +869,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "forest_reg" ], "x": 2178, @@ -1070,7 +1070,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "fire_reg" ], "x": 1912, @@ -1227,7 +1227,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "water_reg" ], "x": 985, @@ -1472,7 +1472,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "shadow_reg" ], "x": 2144, @@ -1763,7 +1763,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "spirit_reg" ], "x": 55, @@ -1771,7 +1771,7 @@ }, { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "spirit_reg" ], "x": 55, @@ -1880,7 +1880,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "botw_reg" ], "x": 1920, @@ -2016,7 +2016,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "gc_reg" ], "x": 1409, @@ -2028,8 +2028,7 @@ "name": "Gerudo Training Grounds MQ", "parent": "Gerudo Fortress", "access_rules": [ - "[carpenter_rescue],$gtg_card", - "gerudo_fortress_open,$gtg_card" + "$gerudo_card" ], "sections": [ { @@ -2161,7 +2160,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "gtg_reg" ], "x": 481, diff --git a/ootrando_overworldmap_hamsda/locations/dung_reg.json b/ootrando_overworldmap_hamsda/locations/dung_reg.json index 6261119c..380b74eb 100644 --- a/ootrando_overworldmap_hamsda/locations/dung_reg.json +++ b/ootrando_overworldmap_hamsda/locations/dung_reg.json @@ -110,7 +110,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "deku_mq" ], "x": 2426, @@ -363,7 +363,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "dodongo_mq" ], "x": 1684, @@ -371,7 +371,7 @@ }, { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "dodongo_mq" ], "x": 1684, @@ -509,7 +509,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "jabu_mq" ], "x": 2488, @@ -610,7 +610,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "ice_mq" ], "x": 2501, @@ -924,7 +924,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "forest_mq" ], "x": 2148, @@ -1202,7 +1202,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "fire_mq" ], "x": 1912, @@ -1506,7 +1506,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "water_mq" ], "x": 1015, @@ -1780,7 +1780,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "shadow_mq" ], "x": 2144, @@ -2138,7 +2138,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "spirit_mq" ], "x": 85, @@ -2146,7 +2146,7 @@ }, { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "spirit_mq" ], "x": 85, @@ -2327,7 +2327,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "botw_mq" ], "x": 1890, @@ -2445,7 +2445,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "gc_mq" ], "x": 1439, @@ -2459,18 +2459,14 @@ "sections": [ { "name": "North F1 Carpenter", - "access_rules": [ - "gerudo_fortress_normal", - "gerudo_fortress_fast" - ], "item_count": 1 }, { "name": "North F2 Carpenter", "access_rules": [ - "gerudo_fortress_normal,[bow]", - "gerudo_fortress_normal,[hookshot]", - "gerudo_fortress_normal,[hoverboots]" + "[bow]", + "[hookshot]", + "[hoverboots]" ], "visibility_rules": [ "gerudo_fortress_normal" @@ -2479,9 +2475,6 @@ }, { "name": "South F1 Carpenter", - "access_rules": [ - "gerudo_fortress_normal" - ], "visibility_rules": [ "gerudo_fortress_normal" ], @@ -2489,9 +2482,6 @@ }, { "name": "South F2 Carpenter", - "access_rules": [ - "gerudo_fortress_normal" - ], "visibility_rules": [ "gerudo_fortress_normal" ], @@ -2506,14 +2496,13 @@ "gerudo_fortress_fast,gf_small_keys:1" ], "capture_item": true, - "hosted_item": "carpenter_rescue", "item_count": 1 } ], "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "gerudo_fortress_open" ], "x": 503, @@ -2525,8 +2514,7 @@ "name": "Gerudo Training Grounds", "parent": "Gerudo Fortress", "access_rules": [ - "[carpenter_rescue],$gtg_card", - "gerudo_fortress_open,$gtg_card" + "$gerudo_card" ], "sections": [ { @@ -2773,7 +2761,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "gtg_mq" ], "x": 481, diff --git a/ootrando_overworldmap_hamsda/locations/overworld.json b/ootrando_overworldmap_hamsda/locations/overworld.json index e778f9a2..e1d35dd6 100644 --- a/ootrando_overworldmap_hamsda/locations/overworld.json +++ b/ootrando_overworldmap_hamsda/locations/overworld.json @@ -102,7 +102,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 2220, @@ -110,7 +110,7 @@ }, { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 2220, @@ -2402,7 +2402,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 1814, @@ -2440,7 +2440,7 @@ "map_locations": [ { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 1780, @@ -3193,7 +3193,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 1646, @@ -3201,7 +3201,7 @@ }, { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 1646, @@ -4103,7 +4103,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 1386, @@ -4139,7 +4139,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 1493, @@ -4175,7 +4175,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 1493, @@ -5124,7 +5124,7 @@ "map_locations": [ { "map": "child", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 2619, @@ -5132,7 +5132,7 @@ }, { "map": "adult", - "restrict_visibility_rules": [ + "force_invisibility_rules": [ "setting_shopsanity_no" ], "x": 2619, @@ -5686,16 +5686,14 @@ { "name": "1000", "access_rules": [ - "ocarina,epona,bow,[carpenter_rescue]", - "ocarina,epona,bow,gerudo_fortress_open" + "ocarina,epona,bow,$gerudo_card" ], "item_count": 1 }, { "name": "1500", "access_rules": [ - "ocarina,epona,bow,[carpenter_rescue]", - "ocarina,epona,bow,gerudo_fortress_open", + "ocarina,epona,bow,$gerudo_card", "{$hintable}" ], "capture_item": true, @@ -5713,8 +5711,7 @@ { "name": "Archery Range", "access_rules": [ - "setting_skulltulas_overworld,carpenter_rescue", - "setting_skulltulas_overworld,gerudo_fortress_open" + "setting_skulltulas_overworld,$gerudo_card" ], "sections": [ { diff --git a/ootrando_overworldmap_hamsda/manifest.json b/ootrando_overworldmap_hamsda/manifest.json index c7767637..448b3f14 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.6.0.2", + "package_version": "2.6.0.3", "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 663b6dd8..96badf62 100644 --- a/ootrando_overworldmap_hamsda/scripts/logic.lua +++ b/ootrando_overworldmap_hamsda/scripts/logic.lua @@ -131,6 +131,16 @@ function can_leave_forest() end end +function gerudo_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 + function gerudo_bridge() if has("sword2", 0) then return 0 @@ -149,15 +159,32 @@ function gerudo_bridge() end function wasteland() - local count, level = gerudo_bridge() - if has("carpenter_rescue", 0) then - level = AccessibilityLevel.SequenceBreak + local count = 0 + local level = AccessibilityLevel.Normal + + local bridge_count, bridge_level = gerudo_bridge() + local card_count, card_level = gerudo_card() + + if bridge_count > 0 + and card_count > 0 + then + count = 1 + + if bridge_level == AccessibilityLevel.SequenceBreak + or card_level == AccessibilityLevel.SequenceBreak + or has("hoverboots", 0) and has("longshot", 0) + then + level = AccessibilityLevel.SequenceBreak + end end - if has("hoverboots", 0) - and has("longshot", 0) + + if count == 0 + and has("ocarina") + and has("requiem") then - level = AccessibilityLevel.SequenceBreak + return 1, AccessibilityLevel.SequenceBreak end + return count, level end @@ -177,40 +204,34 @@ function adult_colossus() then return 1 end + + local level = AccessibilityLevel.Normal 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 - return 0 -end + local card_count, card_level = gerudo_card() + if card_count == 0 then + return 0 + end + level = card_level -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 + 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 function link_the_goron() diff --git a/ootrando_overworldmap_hamsda/scripts/update.lua b/ootrando_overworldmap_hamsda/scripts/update.lua index 1a8cc648..d084d362 100644 --- a/ootrando_overworldmap_hamsda/scripts/update.lua +++ b/ootrando_overworldmap_hamsda/scripts/update.lua @@ -78,7 +78,6 @@ function update_fortress() local setting_fast = has("gerudo_fortress_fast") local setting_open = has("gerudo_fortress_open") - local item_carpenters = Tracker:FindObjectForCode("carpenter_rescue") local item_card = Tracker:FindObjectForCode("gerudocard") local item_gf_keys = Tracker:FindObjectForCode("gf_small_keys") @@ -95,14 +94,6 @@ function update_fortress() end end - if item_carpenters then - if setting_open then - item_carpenters.Active = true - elseif not_like_cache("gerudo_fortress_open", setting_open) then - item_carpenters.Active = false - end - end - if item_card and setting_open then if not setting_card then item_card.Active = true diff --git a/repository.json b/repository.json index a5dcf16f..31958cea 100644 --- a/repository.json +++ b/repository.json @@ -10,7 +10,7 @@ "pins", "chathud" ], - "version": "2.6.0.2", + "version": "2.6.0.3", "uid": "ootrando_overworldmap_hamsda", "link": "https://hamsda.github.io/OoTRMapTracker/ootrando_overworldmap_hamsda.zip", "variants": [