diff --git a/ootrando_overworldmap_hamsda.zip b/ootrando_overworldmap_hamsda.zip index 3fa61829..e51d9c34 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 deb6159d..faafedbd 100644 --- a/ootrando_overworldmap_hamsda/README.md +++ b/ootrando_overworldmap_hamsda/README.md @@ -97,12 +97,12 @@ I have not found a good way to represent that a trial started as dispelled. #### Starting Age -This setting determines which age you started as. Most relevant in combination with Closed Door of Time. +This setting determines which age you started as. - ![Child Start](images/setting_age_child.png "Child Start") Link started as child. - ![Adult Start](images/setting_age_adult.png "Adult Start") Link started as adult. -Getting ![Time Travel](images/sword2.png "Time Travel") from Temple of Time unlocks checks for the other age. +If you have selected ![Open Door](images/setting_door_open.png "Open Door") or collected an ![Ocarina](images/fairyocarina.png "Ocarina") and ![Song of Time](images/time_colored.png "Song of Time") the checks for the other age will unlock. #### Bombchus Are Considered in Logic diff --git a/ootrando_overworldmap_hamsda/changelog.md b/ootrando_overworldmap_hamsda/changelog.md index 10d9e296..07fcb236 100644 --- a/ootrando_overworldmap_hamsda/changelog.md +++ b/ootrando_overworldmap_hamsda/changelog.md @@ -1,5 +1,11 @@ # Changelog +## 2.9.2.0 + +- changed spirit boulder gs to be peekable +- changed time travel behavior +- fixed some child logic on Death Mountain + ## 2.9.1.0 - added available/in logic skulltula counters diff --git a/ootrando_overworldmap_hamsda/locations/dung_mq.json b/ootrando_overworldmap_hamsda/locations/dung_mq.json index d8e66a98..74fef24b 100644 --- a/ootrando_overworldmap_hamsda/locations/dung_mq.json +++ b/ootrando_overworldmap_hamsda/locations/dung_mq.json @@ -214,7 +214,7 @@ "access_rules": [ "dodongo_mq,$has_age|adult", "dodongo_mq,$has_explosives", - "dodongo_mq,lift1" + "dodongo_mq,$child_death_mountain,lift1" ], "sections": [ { diff --git a/ootrando_overworldmap_hamsda/locations/dung_reg.json b/ootrando_overworldmap_hamsda/locations/dung_reg.json index 78a1fe6d..bb176911 100644 --- a/ootrando_overworldmap_hamsda/locations/dung_reg.json +++ b/ootrando_overworldmap_hamsda/locations/dung_reg.json @@ -126,7 +126,7 @@ "access_rules": [ "dodongo_reg,$has_age|adult", "dodongo_reg,$has_explosives", - "dodongo_reg,lift1" + "dodongo_reg,$child_death_mountain,lift1" ], "sections": [ { @@ -1532,8 +1532,8 @@ "access_rules": [ "@Water Temple/Dive,ocarina,lullaby,lift1,ironboots,hookshot", "@Water Temple/Dive,ocarina,lullaby,lift1,[logic_water_dragon_bombchu],$has_bombchus,scale", - "@Water Temple/Dark Link Region,ocarina,time,bow,ironboots,$FTR_or_zora", - "@Water Temple/Dark Link Region,ocarina,time,bow,[logic_water_dragon_jump_dive]", + "@Water Temple/Dark Link Region,ocarina,time,bow,ironboots,$FTR_or_zora", + "@Water Temple/Dark Link Region,ocarina,time,bow,[logic_water_dragon_jump_dive]", "@Water Temple/Dark Link Region,ocarina,time,bow,[logic_water_dragon_bombchu],$has_bombchus,scale" ], "chest_unopened_img": "images/chest_brown_small_key.png", @@ -2164,11 +2164,13 @@ "name": "GS99 - Boulder Room", "short_name": "Boulders", "access_rules": [ - "@Spirit Temple/Early Adult Right Chest,ocarina,time" + "@Spirit Temple/Early Adult Right Chest,ocarina,time", + "{@Spirit Temple/Early Adult Right Chest}" ], "visibility_rules": [ "setting_tokens_dungeons" ], + "capture_item": true, "chest_unopened_img": "images/skulltula.png", "chest_opened_img": "images/skulltula_token.png", "item_count": 1 diff --git a/ootrando_overworldmap_hamsda/locations/overworld.json b/ootrando_overworldmap_hamsda/locations/overworld.json index d6303586..6121160c 100644 --- a/ootrando_overworldmap_hamsda/locations/overworld.json +++ b/ootrando_overworldmap_hamsda/locations/overworld.json @@ -2599,7 +2599,7 @@ "sling", "$has_bombchus", "[logic_kakariko_tower_gs],sticks,$damage_single_instance_ohko", - "[logic_kakariko_tower_gs],sword1,$damage_single_instance_ohko" + "[logic_kakariko_tower_gs],sword1,$damage_single_instance_ohko" ], "visibility_rules": [ "setting_tokens_overworld" @@ -2940,12 +2940,6 @@ { "name": "Death Mountain", "color": "#a01009", - "access_rules": [ - "postzelda", - "$has_age|adult", - "$has_explosives", - "dinsfire,magic" - ], "children": [ { "name": "Goron City", @@ -3027,7 +3021,7 @@ "name": "Blow him up", "access_rules": [ "$has_age|child,$has_explosives", - "$has_age|child,lift1,[$has_explosives]" + "$child_death_mountain,lift1,[$has_explosives]" ], "item_count": 1 } @@ -3049,11 +3043,13 @@ "short_name": "HP :)", "access_rules": [ "$has_age|child,ocarina,lullaby,sticks,bombs", - "$has_age|child,ocarina,lullaby,sticks,lift1,[logic_goron_city_pot_with_strength]", + "$has_age|child,ocarina,lullaby,sticks,bombchu,[bombs]", "$has_age|child,ocarina,lullaby,sticks,$has_bombchus,[logic_goron_city_pot]", + "$child_death_mountain,ocarina,lullaby,sticks,lift1,[logic_goron_city_pot_with_strength]", "$has_age|child,dinsfire,magic,bombs", - "$has_age|child,dinsfire,magic,lift1,[logic_goron_city_pot_with_strength]", + "$has_age|child,dinsfire,magic,bombchu,[bombs]", "$has_age|child,dinsfire,magic,$has_bombchus,[logic_goron_city_pot]", + "$has_age|child,dinsfire,magic,lift1,[logic_goron_city_pot_with_strength]", "{$hintable}" ], "capture_item": true, @@ -3076,7 +3072,7 @@ { "name": "Play Sarias Song", "access_rules": [ - "$has_age|child,ocarina,lullaby,saria", + "$child_death_mountain,ocarina,lullaby,saria", "{$hintable}" ], "capture_item": true, @@ -3180,10 +3176,9 @@ "access_rules": [ "$link_the_goron", "$has_age|child,$has_explosives", - "$has_age|child,lift1", "$has_age|child,dinsfire,magic", - "$has_age|child,ocarina,lullaby,sticks,postzelda", - "$has_age|child,ocarina,lullaby,sticks,$has_age|adult,hammer" + "$child_death_mountain,lift1", + "$child_death_mountain,ocarina,lullaby,sticks" ], "sections": [ { @@ -3289,6 +3284,10 @@ { "name": "DM Trail Freestanding PoH", "short_name": "HP", + "access_rules": [ + "$has_age|adult", + "$child_death_mountain" + ], "chest_unopened_img": "images/HP.png", "chest_opened_img": "images/HP_grey.png", "item_count": 1 @@ -3315,7 +3314,7 @@ "name": "Blast it", "access_rules": [ "$can_blast", - "$has_age|child,lift1,[logic_dmt_bombable]" + "$child_death_mountain,lift1,[logic_dmt_bombable]" ], "item_count": 1 } @@ -3341,6 +3340,10 @@ "sections": [ { "name": "Chest", + "access_rules": [ + "$has_age|adult", + "$child_death_mountain" + ], "item_count": 1 } ], @@ -3385,8 +3388,8 @@ "name": "Biggoron", "access_rules": [ "$has_age|adult,$can_blast", - "$has_age|adult,ocarina,bolero,setting_plant_no,beans", - "$has_age|adult,ocarina,bolero,bean_crater_yes", + "$has_age|both,ocarina,bolero,setting_plant_no,beans", + "$has_age|both,ocarina,bolero,bean_crater_yes", "$has_age|adult,ocarina,bolero,hoverboots", "$has_age|adult,ocarina,bolero,hookshot", "$link_the_goron", @@ -3523,7 +3526,7 @@ "name": "Plant Bean", "access_rules": [ "$has_age|child,beans,bean_trail_no,$has_explosives", - "$has_age|child,beans,bean_trail_no,lift1" + "$child_death_mountain,beans,bean_trail_no,lift1" ], "visibility_rules": [ "setting_plant_yes" @@ -3534,8 +3537,8 @@ "name": "GS30", "access_rules": [ "$has_age|child,$has_bottle,$has_explosives", - "$has_age|child,$has_bottle,lift1", - "$has_age|child,$has_bottle,[lift1],boomerang" + "$child_death_mountain,$has_bottle,lift1", + "$child_death_mountain,$has_bottle,[lift1],boomerang" ], "visibility_rules": [ "setting_tokens_overworld" @@ -3700,8 +3703,8 @@ "short_name": "HP", "access_rules": [ "$can_blast", - "ocarina,bolero,$has_age|adult,setting_plant_no,beans", - "ocarina,bolero,$has_age|adult,bean_crater_yes", + "ocarina,bolero,$has_age|both,setting_plant_no,beans", + "ocarina,bolero,$has_age|both,bean_crater_yes", "ocarina,bolero,$has_age|adult,hookshot", "ocarina,bolero,$has_age|adult,hoverboots", "$link_the_goron", @@ -3733,8 +3736,8 @@ "name": "Freestanding PoH", "short_name": "HP", "access_rules": [ - "$has_age|adult,ocarina,bolero,setting_plant_no,beans", - "$has_age|adult,ocarina,bolero,bean_crater_yes", + "$has_age|both,ocarina,bolero,setting_plant_no,beans", + "$has_age|both,ocarina,bolero,bean_crater_yes", "$has_age|adult,ocarina,bolero,[logic_crater_bean_poh_with_hovers],hoverboots", "$has_age|adult,hammer,[logic_crater_bean_poh_with_hovers],hoverboots", "$link_the_goron,[logic_crater_bean_poh_with_hovers],hoverboots", @@ -4216,38 +4219,13 @@ } ] }, - { - "name": "Door of Time", - "sections": [ - { - "name": "Open Sesame", - "access_rules": [ - "open_door", - "ocarina,time" - ], - "hosted_item": "time_travel" - } - ], - "map_locations": [ - { - "map": "child", - "x": 1539, - "y": 294 - }, - { - "map": "adult", - "x": 1539, - "y": 294 - } - ] - }, { "name": "Temple of Time", "sections": [ { "name": "Sheik at Temple", "access_rules": [ - "$has_age|adult,forestmed", + "$can_time_travel,forestmed", "{$hintable}" ], "capture_item": true, diff --git a/ootrando_overworldmap_hamsda/manifest.json b/ootrando_overworldmap_hamsda/manifest.json index 87e45d40..8b58a892 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.1.0", + "package_version": "2.9.2.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 6e1be39f..98b59345 100644 --- a/ootrando_overworldmap_hamsda/scripts/logic.lua +++ b/ootrando_overworldmap_hamsda/scripts/logic.lua @@ -8,17 +8,28 @@ function has(item, amount) end end +function can_time_travel() + if has("open_door") + or (has("ocarina") and has("time")) + then + return 1 + end + return 0 +end + function has_age(age) if not age then print("missing argument: age") end + local time_travel = can_time_travel() > 0 + if age == "child" then - return (has("time_travel") or has("setting_age_child")) and 1 or 0 + return (time_travel or has("setting_age_child")) and 1 or 0 elseif age == "adult" then - return (has("time_travel") or has("setting_age_adult")) and 1 or 0 + return (time_travel or has("setting_age_adult")) and 1 or 0 elseif age == "both" then - return has("time_travel") and 1 or 0 + return time_travel and 1 or 0 else print("wrong argument: age") end @@ -327,6 +338,26 @@ function adult_colossus() return 1, level end +function child_death_mountain() + if has_age("child") == 0 then + return 0 + end + + if has("postzelda") + or (has("dinsfire") and has("magic")) + then + return 1 + end + + if has_age("adult") > 0 + and (has("lift1") or has("bow") or has("hammer")) + then + return 1 + end + + return has_explosives() +end + function link_the_goron() if has_age("adult") == 0 then return 0 diff --git a/repository.json b/repository.json index 6e10390c..1733aceb 100644 --- a/repository.json +++ b/repository.json @@ -10,7 +10,7 @@ "pins", "chathud" ], - "version": "2.9.1.0", + "version": "2.9.2.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",