diff --git a/region/brinstar/green/Brinstar Pre-Map Room.json b/region/brinstar/green/Brinstar Pre-Map Room.json index 0a5aedecf6..7a3944deb6 100644 --- a/region/brinstar/green/Brinstar Pre-Map Room.json +++ b/region/brinstar/green/Brinstar Pre-Map Room.json @@ -127,6 +127,18 @@ }, "flashSuitChecked": true }, + { + "link": [1, 1], + "name": "Zeela Farm", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"cycleFrames": 120} + ], + "farmCycleDrops": [ + {"enemy": "Zeela", "count": 1} + ], + "resetsObstacles": ["A"] + }, { "id": 2, "link": [1, 1], @@ -433,12 +445,30 @@ {"resetRoom": { "nodes": [2] }}, - {"partialRefill": {"type": "Energy", "limit": 240}}, - {"partialRefill": {"type": "Missile", "limit": 20}}, - {"partialRefill": {"type": "Super", "limit": 4}} + {"cycleFrames": 320}, + {"or": [ + "canDodgeWhileShooting", + "Plasma", + {"and": [ + "Wave", + "Spazer" + ]}, + {"and": [ + "Ice", + "Wave" + ]}, + {"and": [ + "Ice", + "Spazer" + ]} + ]} ], "resetsObstacles": ["A"], - "flashSuitChecked": true + "flashSuitChecked": true, + "farmCycleDrops": [ + {"enemy": "Zeela", "count": 2}, + {"enemy": "Sm. Sidehopper", "count": 1} + ] }, { "id": 24, diff --git a/region/brinstar/green/Early Supers Room.json b/region/brinstar/green/Early Supers Room.json index fb0ba667e2..778dae8e52 100644 --- a/region/brinstar/green/Early Supers Room.json +++ b/region/brinstar/green/Early Supers Room.json @@ -272,7 +272,10 @@ "link": [1, 1], "name": "Zeb Farm", "requires": [ - {"refill": ["Energy", "Missile", "Super"]} + {"cycleFrames": 105} + ], + "farmCycleDrops": [ + {"enemy": "Zeb", "count": 1} ], "flashSuitChecked": true }, @@ -802,6 +805,45 @@ "leaveWithTemporaryBlue": {} } }, + { + "link": [2, 2], + "name": "Waver and Sidehopper Farm", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + "canWalljump", + "canCrouchJump" + ]}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 600} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 700} + ]}, + {"and": [ + {"or": [ + "Wave", + "Spazer" + ]}, + {"cycleFrames": 750} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1050} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Waver", "count": 4}, + {"enemy": "Sm. Sidehopper", "count": 3} + ], + "clearsObstacles": ["A"], + "resetsObstacles": ["B"], + "flashSuitChecked": true + }, { "id": 30, "link": [2, 2], diff --git a/region/brinstar/green/Etecoon Energy Tank Room.json b/region/brinstar/green/Etecoon Energy Tank Room.json index 94bb3f1660..3ee15bac11 100644 --- a/region/brinstar/green/Etecoon Energy Tank Room.json +++ b/region/brinstar/green/Etecoon Energy Tank Room.json @@ -1040,6 +1040,38 @@ ], "devNote": "This does not require canRiskPermanentLossOfAccess if Samus returns through the crumble blocks." }, + { + "link": [3, 3], + "name": "Zebbo and Beetom Farm", + "requires": [ + "Morph", + {"resetRoom": { + "nodes": [3] + }}, + {"cycleFrames": 630}, + {"or": [ + {"enemyKill": { + "enemies": [["Beetom", "Beetom"]], + "explicitWeapons": ["ScrewAttack", "Missile", "PowerBomb"] + }}, + {"and": [ + "h_useMorphBombs", + {"or": [ + "Ice", + "canTrickyDodgeEnemies" + ]}, + {"cycleFrames": 400} + ]} + ]} + ], + "clearsObstacles": ["A"], + "resetsObstacles": ["B"], + "flashSuitChecked": true, + "farmCycleDrops": [ + {"enemy": "Beetom", "count": 2}, + {"enemy": "Zebbo", "count": 1} + ] + }, { "id": 75, "link": [3, 4], @@ -1549,15 +1581,28 @@ {"resetRoom": { "nodes": [4] }}, - {"enemyKill": { - "enemies": [["Beetom"]] - }}, - {"refill": ["Energy", "Missile", "Super", "PowerBomb"]} + {"cycleFrames": 530}, + {"or": [ + {"enemyKill": { + "enemies": [["Beetom", "Beetom"]], + "explicitWeapons": ["ScrewAttack", "Missile", "PowerBomb"] + }}, + {"and": [ + {"or": [ + "Ice", + "canTrickyDodgeEnemies" + ]}, + "h_useMorphBombs" + ]} + ]} ], "clearsObstacles": ["A"], "resetsObstacles": ["B"], "flashSuitChecked": true, - "devNote": ["FIXME: Node 3 could be used to reset the room, with additional requirements."] + "farmCycleDrops": [ + {"enemy": "Beetom", "count": 2}, + {"enemy": "Zebbo", "count": 2} + ] }, { "id": 52, @@ -1565,9 +1610,12 @@ "name": "Zebbo Farm", "requires": [ {"obstaclesCleared": ["A"]}, - {"refill": ["Energy", "Missile", "Super"]} + {"cycleFrames": 115} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "farmCycleDrops": [ + {"enemy": "Zebbo", "count": 1} + ] }, { "id": 80, diff --git a/region/brinstar/green/Green Brinstar Beetom Room.json b/region/brinstar/green/Green Brinstar Beetom Room.json index 6819b64f20..740078f0ba 100644 --- a/region/brinstar/green/Green Brinstar Beetom Room.json +++ b/region/brinstar/green/Green Brinstar Beetom Room.json @@ -182,16 +182,35 @@ "nodes": [1, 2] }}, {"or": [ - "ScrewAttack", + {"and": [ + "ScrewAttack", + {"cycleFrames": 180} + ]}, {"and": [ "Ice", - "h_useMorphBombs" + "h_useMorphBombs", + {"cycleFrames": 300} + ]}, + {"and": [ + {"or": [ + "Ice", + "canTrickyDodgeEnemies", + {"enemyDamage": {"enemy": "Beetom", "type": "contact", "hits": 1}} + ]}, + {"or": [ + {"resourceAvailable": [{"type": "Energy", "count": 50}]}, + {"resourceAvailable": [{"type": "PowerBomb", "count": 4}]} + ]}, + "h_usePowerBomb", + {"cycleFrames": 210} ]} - ]}, - {"refill": ["PowerBomb"]} + ]} ], "clearsObstacles": ["A"], "flashSuitChecked": true, + "farmCycleDrops": [ + {"enemy": "Beetom", "count": 4} + ], "note": "Kill the Beetoms with Screw Attack or by freezing them and using Bombs or Power Bombs.", "devNote": [ "Using an adjacent 2-tile runway doesn't seem workable since heat frames may be too much to maintain energy.", diff --git a/region/brinstar/green/Green Brinstar Fireflea Room.json b/region/brinstar/green/Green Brinstar Fireflea Room.json index c9518101f3..52ea014558 100644 --- a/region/brinstar/green/Green Brinstar Fireflea Room.json +++ b/region/brinstar/green/Green Brinstar Fireflea Room.json @@ -170,10 +170,23 @@ "link": [1, 1], "name": "Fireflea Farm", "requires": [ - {"resetRoom": { - "nodes": [1, 2] - }}, - {"refill": ["Energy", "PowerBomb"]} + {"or": [ + {"and": [ + {"resetRoom": { + "nodes": [1] + }}, + {"cycleFrames": 630} + ]}, + {"and": [ + {"resetRoom": { + "nodes": [2] + }}, + {"cycleFrames": 900} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Fireflea", "count": 5} ], "flashSuitChecked": true }, diff --git a/region/brinstar/green/Green Brinstar Main Shaft.json b/region/brinstar/green/Green Brinstar Main Shaft.json index e2008521c6..dedd883e6a 100644 --- a/region/brinstar/green/Green Brinstar Main Shaft.json +++ b/region/brinstar/green/Green Brinstar Main Shaft.json @@ -5009,14 +5009,68 @@ "link": [12, 12], "name": "Zeela Farm", "requires": [ - {"resetRoom": { - "nodes": [1, 2, 3, 4, 5, 6] - }}, - {"refill": ["Energy", "Missile", "Super"]} + {"or": [ + {"and": [ + {"resetRoom": { + "nodes": [2, 3, 4] + }}, + {"cycleFrames": 660} + ]}, + {"and": [ + {"resetRoom": { + "nodes": [5, 6] + }}, + {"cycleFrames": 760} + ]}, + {"and": [ + {"resetRoom": { + "nodes": [1] + }}, + {"cycleFrames": 1700} + ]} + ]}, + {"or": [ + "Wave", + "Spazer", + "Plasma", + {"cycleFrames": 120} + ]} ], "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Zeela", "count": 4} + ], "flashSuitChecked": true }, + { + "link": [12, 12], + "name": "Ripper Farm", + "requires": [ + "ScrewAttack", + {"or": [ + {"and": [ + {"resetRoom": {"nodes": [2, 3]}}, + {"cycleFrames": 375} + ]}, + {"and": [ + {"resetRoom": {"nodes": [4]}}, + {"cycleFrames": 445} + ]}, + {"and": [ + {"resetRoom": {"nodes": [5, 6]}}, + {"cycleFrames": 600} + ]}, + {"and": [ + {"resetRoom": {"nodes": [1]}}, + {"cycleFrames": 1530} + ]} + ]} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Ripper 2 (red)", "count": 2} + ] + }, { "id": 229, "link": [12, 12], @@ -5124,6 +5178,31 @@ "The pixel window is larger and higher with Morph and an X-Ray Stand Up." ] }, + { + "link": [13, 13], + "name": "Zeela Farm", + "requires": [ + {"or": [ + {"and": [ + {"resetRoom": { + "nodes": [7] + }}, + {"cycleFrames": 270} + ]}, + {"and": [ + {"resetRoom": { + "nodes": [8] + }}, + {"cycleFrames": 620} + ]} + ]} + ], + "resetsObstacles": ["A"], + "farmCycleDrops": [ + {"enemy": "Zeela", "count": 1} + ], + "flashSuitChecked": true + }, { "id": 237, "link": [13, 13], diff --git a/region/brinstar/green/Green Hill Zone.json b/region/brinstar/green/Green Hill Zone.json index e1285460a0..72445924fd 100644 --- a/region/brinstar/green/Green Hill Zone.json +++ b/region/brinstar/green/Green Hill Zone.json @@ -314,7 +314,10 @@ "link": [1, 1], "name": "Geega Farm", "requires": [ - {"refill": ["Energy", "Missile", "Super"]} + {"cycleFrames": 125} + ], + "farmCycleDrops": [ + {"enemy": "Geega", "count": 1} ], "flashSuitChecked": true }, @@ -1454,6 +1457,35 @@ "leaveWithTemporaryBlue": {} } }, + { + "link": [3, 3], + "name": "Sidehopper Farm", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 240} + ]}, + {"and": [ + {"or": [ + "Spazer", + "Wave", + "ScrewAttack" + ]}, + {"cycleFrames": 300} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 390} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Sm. Sidehopper", "count": 3} + ], + "resetsObstacles": ["B"] + }, { "id": 65, "link": [3, 3], diff --git a/region/brinstar/green/Noob Bridge.json b/region/brinstar/green/Noob Bridge.json index 7d0af4ece2..856e5bbdfe 100644 --- a/region/brinstar/green/Noob Bridge.json +++ b/region/brinstar/green/Noob Bridge.json @@ -220,9 +220,24 @@ "name": "Cacatac and Zeela Farm", "requires": [ {"resetRoom": { - "nodes": [1, 2] + "nodes": [1] }}, - {"refill": ["Energy", "Missile", "Super"]} + {"cycleFrames": 560}, + {"or": [ + "Plasma", + "Spazer", + "Wave", + "Grapple", + {"and": [ + "ScrewAttack", + {"cycleFrames": 200} + ]}, + {"cycleFrames": 370} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Zeela", "count": 4}, + {"enemy": "Cacatac", "count": 3} ], "flashSuitChecked": true }, @@ -323,6 +338,35 @@ "bypassesDoorShell": true, "flashSuitChecked": true }, + { + "link": [2, 2], + "name": "Cacatac and Zeela Farm", + "requires": [ + {"resetRoom": { + "nodes": [2] + }}, + {"cycleFrames": 1000}, + {"or": [ + "Plasma", + "Spazer", + "Wave", + {"and": [ + "Grapple", + {"cycleFrames": 60} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 200} + ]}, + {"cycleFrames": 370} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Zeela", "count": 4}, + {"enemy": "Cacatac", "count": 4} + ], + "flashSuitChecked": true + }, { "id": 18, "link": [2, 2], diff --git a/region/brinstar/green/Spore Spawn Kihunter Room.json b/region/brinstar/green/Spore Spawn Kihunter Room.json index f3b37a9d51..98627f9a85 100644 --- a/region/brinstar/green/Spore Spawn Kihunter Room.json +++ b/region/brinstar/green/Spore Spawn Kihunter Room.json @@ -208,6 +208,37 @@ "leaveWithTemporaryBlue": {} } }, + { + "link": [1, 1], + "name": "Kihunter Farm", + "requires": [ + {"or": [ + {"resetRoom": {"nodes": [1]}}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 90} + ]} + ]}, + {"or": [ + {"and": [ + {"or": [ + "Plasma", + "Spazer", + "Wave", + "ScrewAttack" + ]}, + {"cycleFrames": 500} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 660} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Kihunter (green)", "count": 3} + ] + }, { "id": 8, "link": [1, 1],