Skip to content

Commit

Permalink
added 3 more tricks
Browse files Browse the repository at this point in the history
rewrote gerudo/wasteland/colossus logic
  • Loading branch information
Hamsda committed May 14, 2020
1 parent 6ecd126 commit 0881c04
Show file tree
Hide file tree
Showing 7 changed files with 122 additions and 42 deletions.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
21 changes: 21 additions & 0 deletions ootrando_overworldmap_hamsda/items/tricks.json
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,20 @@
"img": "images/logic_fire_boss_door_jump.png",
"codes": "logic_fire_boss_door_jump"
},
{
"name": "Diving in the Lab without Gold Scale",
"type": "toggle",
"initial_active_state": false,
"img": "images/logic_lab_diving.png",
"codes": "logic_lab_diving"
},
{
"name": "Wasteland Crossing without Hover Boots or Longshot",
"type": "toggle",
"initial_active_state": false,
"img": "images/logic_wasteland_crossing.png",
"codes": "logic_wasteland_crossing"
},
{
"name": "Water Temple Boss Key Region with Hover Boots",
"type": "toggle",
Expand Down Expand Up @@ -223,6 +237,13 @@
"img": "images/logic_water_hookshot_entry.png",
"codes": "logic_water_hookshot_entry"
},
{
"name": "Reverse Wasteland",
"type": "toggle",
"initial_active_state": false,
"img": "images/logic_reverse_wasteland.png",
"codes": "logic_reverse_wasteland"
},
{
"name": "Lost Woods Adult GS without Bean",
"type": "toggle",
Expand Down
18 changes: 18 additions & 0 deletions ootrando_overworldmap_hamsda/layouts/options.json
Original file line number Diff line number Diff line change
Expand Up @@ -245,6 +245,18 @@
"width": 200,
"height": 16
},
{
"type": "item",
"item": "logic_lab_diving",
"width": 200,
"height": 16
},
{
"type": "item",
"item": "logic_wasteland_crossing",
"width": 200,
"height": 16
},
{
"type": "item",
"item": "logic_water_boss_key_region",
Expand All @@ -269,6 +281,12 @@
"width": 200,
"height": 16
},
{
"type": "item",
"item": "logic_reverse_wasteland",
"width": 200,
"height": 16
},
{
"type": "item",
"item": "logic_lost_woods_gs_bean",
Expand Down
6 changes: 3 additions & 3 deletions ootrando_overworldmap_hamsda/locations/overworld.json
Original file line number Diff line number Diff line change
Expand Up @@ -1447,7 +1447,7 @@
"short_name": "Dive down",
"access_rules": [
"scale2",
"$has_age|adult,hookshot,ironboots,[scale2]"
"$has_age|adult,[logic_lab_diving],ironboots,hookshot"
],
"item_count": 1
},
Expand Down Expand Up @@ -5438,7 +5438,7 @@
"access_rules": [
"$has_age|child",
"$has_age|adult,longshot",
"$gerudo_bridge,[longshot],hoverboots"
"$gerudo_valley_far_side,[longshot],hoverboots"
],
"chest_unopened_img": "images/HP.png",
"chest_opened_img": "images/HP_grey.png",
Expand Down Expand Up @@ -5591,7 +5591,7 @@
{
"name": "Bridge Crossing",
"access_rules": [
"$gerudo_bridge"
"$gerudo_valley_far_side"
],
"children": [
{
Expand Down
119 changes: 80 additions & 39 deletions ootrando_overworldmap_hamsda/scripts/logic.lua
Original file line number Diff line number Diff line change
Expand Up @@ -195,48 +195,98 @@ end
function gerudo_bridge()
if has_age("adult") == 0 then
return 0
elseif has("longshot")
end
if has("longshot")
or has("ocarina") and has("epona")
or has("gerudo_fortress_open")
then
return 1, AccessibilityLevel.Normal
elseif has("ocarina")
and has("requiem")
return 1
else
return 0
end
end

function quicksand()
if has("longshot")
or has("hoverboots")
or has("logic_wasteland_crossing")
then
return 1
else
return 1, AccessibilityLevel.SequenceBreak
end
end

function wasteland_forward()
if has("setting_lens_chest")
or has("lens") and has("magic")
then
return 1
else
return 1, AccessibilityLevel.SequenceBreak
end
end

function wasteland_reverse()
if has("logic_reverse_wasteland") then
return 1
else
return 1, AccessibilityLevel.SequenceBreak
end
end

function gerudo_valley_far_side()
if has_age("adult") == 0 then
return 0
end

if gerudo_bridge() > 0 then
return 1
end

if has("ocarina") and has("requiem") then
local _, reverse_level = wasteland_reverse()
local _, quicksand_level = quicksand()

if reverse_level == AccessibilityLevel.SequenceBreak
or quicksand_level == AccessibilityLevel.SequenceBreak
then
return 1, AccessibilityLevel.SequenceBreak
else
return 1
end
end

return 0
end

function wasteland()
local count = 0
local level = AccessibilityLevel.Normal
local forward_count = 0
local forward_level = AccessibilityLevel.Normal

local bridge_count, bridge_level = gerudo_bridge()
local bridge_count = gerudo_bridge()
local card_count, card_level = gerudo_card()
local _, quicksand_level = quicksand()

if bridge_count > 0
and card_count > 0
then
count = 1
forward_count = 1

if bridge_level == AccessibilityLevel.SequenceBreak
or card_level == AccessibilityLevel.SequenceBreak
or has("hoverboots", 0) and has("longshot", 0)
if card_level == AccessibilityLevel.SequenceBreak
or quicksand_level == AccessibilityLevel.SequenceBreak
then
level = AccessibilityLevel.SequenceBreak
forward_level = AccessibilityLevel.SequenceBreak
else
return 1
end
end

if count == 0
and has("ocarina")
and has("requiem")
then
return 1, AccessibilityLevel.SequenceBreak
if has("ocarina") and has("requiem") then
return wasteland_reverse()
end

return count, level
return forward_count, forward_level
end

function child_colossus()
Expand All @@ -251,38 +301,29 @@ function child_colossus()
end

function adult_colossus()
if has("ocarina")
and has("requiem")
then
if has("ocarina") and has("requiem") then
return 1
end

local level = AccessibilityLevel.Normal

local bridge = gerudo_bridge()
if bridge == 0 then

local bridge_count = gerudo_bridge()
if bridge_count == 0 then
return 0
end

local card_count, card_level = gerudo_card()
if card_count == 0 then
return 0
end
level = card_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))
local level = card_level

local _, quicksand_level = quicksand()
local _, forward_level = wasteland_forward()
if quicksand_level == AccessibilityLevel.SequenceBreak
or forward_level == AccessibilityLevel.SequenceBreak
then
level = AccessibilityLevel.SequenceBreak
end

return 1, level
end

Expand Down

0 comments on commit 0881c04

Please sign in to comment.