diff --git a/region/maridia/inner-yellow/Plasma Tutorial Room.json b/region/maridia/inner-yellow/Plasma Tutorial Room.json index dcfed2c98e..7a7b398e32 100644 --- a/region/maridia/inner-yellow/Plasma Tutorial Room.json +++ b/region/maridia/inner-yellow/Plasma Tutorial Room.json @@ -94,8 +94,41 @@ "link": [1, 1], "name": "Puyo Farm", "requires": [ - {"resetRoom": {"nodes": [1, 2]}}, - {"refill": ["Energy", "Missile", "PowerBomb"]} + {"or": [ + {"resetRoom": {"nodes": [1]}}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 20} + ]} + ]}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 85} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 90} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 160} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 180} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 200} + ]}, + {"cycleFrames": 240} + ]} + ], + "farmCycleDrops": [{"enemy": "Puyo", "count": 6}], + "note": [ + "It helps to crouch and use angle-down shots, to hit many or all of the Puyos at once;", + "this works best from the right side." ] }, { diff --git a/region/maridia/inner-yellow/The Beach.json b/region/maridia/inner-yellow/The Beach.json index 948ad5fbe7..4bbcee9138 100644 --- a/region/maridia/inner-yellow/The Beach.json +++ b/region/maridia/inner-yellow/The Beach.json @@ -298,29 +298,48 @@ "link": [1, 1], "name": "Choot Farm", "requires": [ - {"resetRoom": {"nodes": [1]}}, - {"partialRefill": {"type": "Energy", "limit": 140}}, - {"partialRefill": {"type": "Super", "limit": 4}}, - {"partialRefill": {"type": "Missile", "limit": 20}} - ] - }, - { - "id": 67, - "link": [1, 1], - "name": "Fast Choot Farm", - "requires": [ - {"resetRoom": {"nodes": [1]}}, {"or": [ - "Wave", - "Spazer", - "Plasma", - "ScrewAttack", - "canUseGrapple", - "canPseudoScrew" + {"resetRoom": {"nodes": [1]}}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + "Gravity", + {"or": [ + "h_crouchJumpDownGrab", + "canWalljump" + ]}, + {"cycleFrames": 130} + ]} ]}, - {"partialRefill": {"type": "Energy", "limit": 300}}, - {"partialRefill": {"type": "Super", "limit": 4}}, - {"refill": ["Missile"]} + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 740} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 800} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 860} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 890} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 960} + ]}, + {"cycleFrames": 1500} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Choot", "count": 5} + ], + "devNote": [ + "There is a sixth Choot on the far right but it's not worth going for.", + "FIXME: add other movement options for reaching the top of the room from node 2." ] }, { @@ -709,6 +728,37 @@ }, "note": ["Destroy the Owtch using blue speed."] }, + { + "link": [2, 2], + "name": "Skultera Farm", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + "canSuitlessMaridia", + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 360} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 420} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 450} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 530} + ]}, + {"cycleFrames": 710} + ]} + ], + "farmCycleDrops": [{"enemy": "Skultera", "count": 2}], + "devNote": [ + "If Gravity is available, the Choot farm at the top of the room would be used instead." + ] + }, { "id": 30, "link": [2, 2], diff --git a/region/maridia/inner-yellow/Thread The Needle Room.json b/region/maridia/inner-yellow/Thread The Needle Room.json index 247e06edcd..21fa472a41 100644 --- a/region/maridia/inner-yellow/Thread The Needle Room.json +++ b/region/maridia/inner-yellow/Thread The Needle Room.json @@ -416,50 +416,50 @@ } } }, - { - "id": 17, - "link": [1, 1], - "name": "Basic Choot and Puyo Farm", - "requires": [ - {"or": [ - "h_hasBeamUpgrade", - "canDodgeWhileShooting", - "Grapple", - "ScrewAttack" - ]}, - {"resetRoom": {"nodes": [1]}}, - {"refill": ["Energy", "Missile"]} - ] - }, { "id": 18, "link": [1, 1], "name": "Choot and Puyo Farm", "requires": [ - {"or": [ - "Wave", - "Spazer", - "Plasma", - "Grapple", - "ScrewAttack" - ]}, {"resetRoom": {"nodes": [1]}}, - {"refill": ["Energy", "Missile", "Super", "PowerBomb"]} - ] - }, - { - "id": 19, - "link": [1, 1], - "name": "Patient Choot and Puyo Farm", - "requires": [ - "canBePatient", {"or": [ - "canDodgeWhileShooting", - "Charge", - "Ice" + "Gravity", + {"cycleFrames": 330} ]}, - {"resetRoom": {"nodes": [1]}}, - {"refill": ["Super", "PowerBomb"]} + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 1110} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 1240} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 1330} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 1380} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 1440} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 2010} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 2670} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Choot", "count": 5}, + {"enemy": "Puyo", "count": 5} ] }, { @@ -942,47 +942,40 @@ { "id": 47, "link": [2, 2], - "name": "Basic Choot and Puyo Farm", - "requires": [ - {"or": [ - "h_hasBeamUpgrade", - "canDodgeWhileShooting", - "Grapple", - "ScrewAttack" - ]}, - {"resetRoom": {"nodes": [2]}}, - {"refill": ["Energy", "Missile"]} - ] - }, - { - "id": 48, - "link": [2, 2], "name": "Choot and Puyo Farm", "requires": [ - {"or": [ - "Wave", - "Spazer", - "Plasma", - "Grapple", - "ScrewAttack" - ]}, {"resetRoom": {"nodes": [2]}}, - {"refill": ["Energy", "Missile", "Super", "PowerBomb"]} - ] - }, - { - "id": 49, - "link": [2, 2], - "name": "Patient Choot and Puyo Farm", - "requires": [ - "canBePatient", {"or": [ - "canDodgeWhileShooting", - "Charge", - "Ice" + "Gravity", + {"cycleFrames": 120} ]}, - {"resetRoom": {"nodes": [2]}}, - {"refill": ["Super", "PowerBomb"]} + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 610} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 660} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 700} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 720} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 820} + ]}, + {"cycleFrames": 1070} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Choot", "count": 3}, + {"enemy": "Puyo", "count": 3} ] }, { diff --git a/region/maridia/inner-yellow/Watering Hole.json b/region/maridia/inner-yellow/Watering Hole.json index b1df2f8132..836ec94780 100644 --- a/region/maridia/inner-yellow/Watering Hole.json +++ b/region/maridia/inner-yellow/Watering Hole.json @@ -211,7 +211,21 @@ "link": [1, 1], "name": "Zeb Farm", "requires": [ - {"refill": ["Energy", "Missile", "Super"]} + {"simpleCycleFrames": 80}, + {"cycleFrames": 30} + ], + "farmCycleDrops": [{"enemy": "Zeb", "count": 1}] + }, + { + "link": [1, 1], + "name": "Double Zeb Farm", + "requires": [ + "canTrickyDodgeEnemies", + {"cycleFrames": 170} + ], + "farmCycleDrops": [{"enemy": "Zeb", "count": 2}], + "note": [ + "Run back and forth between the two Zeb spawners to farm them simultaneously." ] }, { diff --git a/region/maridia/inner-yellow/Yoink Room.json b/region/maridia/inner-yellow/Yoink Room.json index 33becb6905..646c3f89bd 100644 --- a/region/maridia/inner-yellow/Yoink Room.json +++ b/region/maridia/inner-yellow/Yoink Room.json @@ -69,6 +69,18 @@ ] } ], + "obstacles": [ + { + "id": "A", + "name": "Left Yapping Maw", + "obstacleType": "enemies" + }, + { + "id": "B", + "name": "Right Yapping Maw", + "obstacleType": "enemies" + } + ], "enemies": [ { "id": "e1", @@ -117,6 +129,7 @@ "to": [ {"id": 1}, {"id": 2}, + {"id": 4}, {"id": 5} ] }, @@ -125,7 +138,8 @@ "to": [ {"id": 2}, {"id": 3}, - {"id": 4} + {"id": 4}, + {"id": 5} ] } ], @@ -169,6 +183,7 @@ "Gravity", {"or": [ {"ammo": {"type": "Super", "count": 1}}, + {"obstaclesCleared": ["A"]}, "canTrickyDodgeEnemies" ]} ], @@ -223,6 +238,25 @@ ], "flashSuitChecked": true }, + { + "link": [1, 1], + "name": "Zoa Farm (Door Frame)", + "requires": [ + {"or": [ + {"and": [ + "Grapple", + {"simpleCycleFrames": 90}, + {"cycleFrames": 30} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"simpleCycleFrames": 300}, + {"cycleFrames": 60} + ]} + ]} + ], + "farmCycleDrops": [{"enemy": "Zoa", "count": 1}] + }, { "id": 5, "link": [1, 1], @@ -734,6 +768,8 @@ {"or": [ "Ice", {"ammo": {"type": "Super", "count": 1}}, + {"obstaclesCleared": ["A"]}, + {"obstaclesCleared": ["B"]}, "canTrickyGMode", {"and": [ "canInsaneJump", @@ -1170,6 +1206,7 @@ "Gravity", {"or": [ {"ammo": {"type": "Super", "count": 1}}, + {"obstaclesCleared": ["B"]}, "canTrickyDodgeEnemies" ]} ], @@ -1215,6 +1252,25 @@ ], "unlocksDoors": [{"types": ["ammo"], "requires": []}] }, + { + "link": [3, 3], + "name": "Zoa Farm (Door Frame)", + "requires": [ + {"or": [ + {"and": [ + "Grapple", + {"simpleCycleFrames": 90}, + {"cycleFrames": 30} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"simpleCycleFrames": 300}, + {"cycleFrames": 60} + ]} + ]} + ], + "farmCycleDrops": [{"enemy": "Zoa", "count": 1}] + }, { "id": 35, "link": [3, 3], @@ -1384,7 +1440,10 @@ "name": "Kill Yapping Maw With Super", "requires": [ "canSuitlessMaridia", - {"ammo": {"type": "Super", "count": 1}}, + {"or": [ + {"ammo": {"type": "Super", "count": 1}}, + {"obstaclesCleared": ["A"]} + ]}, {"or": [ "canWalljump", "h_crouchJumpDownGrab", @@ -1413,6 +1472,89 @@ "name": "Base", "requires": [] }, + { + "link": [4, 4], + "name": "Zoa Farm (Suitless Dodge Yapping Maws)", + "requires": [ + "canSuitlessMaridia", + "canPlayInSand", + "canTrickyDodgeEnemies", + {"cycleFrames": 170}, + {"or": [ + "Plasma", + "Wave", + "Spazer", + "Grapple", + {"cycleFrames": 10} + ]}, + {"or": [ + "HiJump", + "canInsaneJump" + ]} + ], + "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], + "note": [ + "While farming the Zoas, jump back and forth across the room to avoid the Yapping Maws." + ] + }, + { + "link": [4, 4], + "name": "Zoa Farm (Gravity Dodge Yapping Maws)", + "requires": [ + "Gravity", + "canPlayInSand", + "canTrickyDodgeEnemies", + {"cycleFrames": 120}, + {"or": [ + "Plasma", + "Wave", + "Spazer", + "Grapple", + {"cycleFrames": 10} + ]} + ], + "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], + "note": [ + "While farming the Zoas, jump back and forth across the room to avoid the Yapping Maws." + ] + }, + { + "link": [4, 4], + "name": "Zoa Farm (Freeze Yapping Maw)", + "requires": [ + "Ice", + "canDodgeWhileShooting", + {"simpleCycleFrames": 200}, + {"cycleFrames": 40} + ], + "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], + "note": [ + "Freeze a Yapping Maw to farm the Zoas safely." + ] + }, + { + "link": [4, 4], + "name": "Kill Yapping Maw With Super", + "requires": [ + {"obstaclesNotCleared": ["A"]}, + "canSuitlessMaridia", + {"ammo": {"type": "Super", "count": 1}} + ], + "clearsObstacles": ["A"] + }, + { + "link": [4, 4], + "name": "Zoa Farm (Yapping Maw Killed)", + "requires": [ + {"obstaclesCleared": ["A"]}, + {"simpleCycleFrames": 200}, + {"cycleFrames": 40} + ], + "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], + "note": [ + "With the Yapping Maw killed, the Zoas can be farmed safely." + ] + }, { "id": 46, "link": [4, 5], @@ -1457,8 +1599,12 @@ "requires": [ "canSuitlessMaridia", "canPlayInSand", - {"ammo": {"type": "Super", "count": 1}} + {"or": [ + {"ammo": {"type": "Super", "count": 1}}, + {"obstaclesCleared": ["A"]} + ]} ], + "clearsObstacles": ["A"], "devNote": "One Super to cross the room, a second is likely used before getting up to the door." }, { @@ -1530,7 +1676,10 @@ "name": "Kill Yapping Maw With Super", "requires": [ "canSuitlessMaridia", - {"ammo": {"type": "Super", "count": 1}}, + {"or": [ + {"ammo": {"type": "Super", "count": 1}}, + {"obstaclesCleared": ["B"]} + ]}, {"or": [ "canWalljump", "h_crouchJumpDownGrab", @@ -1597,8 +1746,12 @@ "requires": [ "canSuitlessMaridia", "canPlayInSand", - {"ammo": {"type": "Super", "count": 1}} + {"or": [ + {"ammo": {"type": "Super", "count": 1}}, + {"obstaclesCleared": ["B"]} + ]} ], + "clearsObstacles": ["B"], "devNote": "One Super to cross the room, a second is likely used before getting up to the door." }, { @@ -1616,6 +1769,29 @@ "Kill the Zoa and quickly jump across the sand.", "Hitting the Zoas will drop Samus deep into the sand below." ] + }, + { + "link": [5, 5], + "name": "Kill Yapping Maw With Super", + "requires": [ + {"obstaclesNotCleared": ["B"]}, + "canSuitlessMaridia", + {"ammo": {"type": "Super", "count": 1}} + ], + "clearsObstacles": ["B"] + }, + { + "link": [5, 5], + "name": "Zoa Farm (Yapping Maw Killed)", + "requires": [ + {"obstaclesCleared": ["B"]}, + {"simpleCycleFrames": 200}, + {"cycleFrames": 40} + ], + "farmCycleDrops": [{"enemy": "Zoa", "count": 1}], + "note": [ + "With the Yapping Maw killed, the Zoas can be farmed safely." + ] } ], "notables": [