diff --git a/region/brinstar/kraid/Baby Kraid Room.json b/region/brinstar/kraid/Baby Kraid Room.json index dca2d84a29..2e2e983aa4 100644 --- a/region/brinstar/kraid/Baby Kraid Room.json +++ b/region/brinstar/kraid/Baby Kraid Room.json @@ -262,6 +262,70 @@ }, "flashSuitChecked": true }, + { + "link": [1, 1], + "name": "Pirate Farm", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 255} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 280} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 300} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 315} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 400} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 450} + ]}, + {"and": [ + "Charge", + "canDodgeWhileShooting", + {"cycleFrames": 600} + ]}, + {"and": [ + "h_useMorphBombs", + "canTrickyDodgeEnemies", + {"cycleFrames": 620} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Green Space Pirate (standing)", "count": 3} + ], + "resetsObstacles": ["A"] + }, + { + "link": [1, 1], + "name": "Pirate and Mini-Kraid Farm (Blue Speed)", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"enemyDamage": {"enemy": "Green Space Pirate (standing)", "type": "contact", "hits": 1}}, + {"enemyDamage": {"enemy": "Mini-Kraid", "type": "spike", "hits": 1}}, + "canUseIFrames", + "h_getBlueSpeedMaxRunway", + {"cycleFrames": 720} + ], + "farmCycleDrops": [ + {"enemy": "Green Space Pirate (standing)", "count": 3}, + {"enemy": "Mini-Kraid", "count": 1} + ], + "clearsObstacles": ["A"] + }, { "id": 8, "link": [1, 1], @@ -593,6 +657,59 @@ }, "bypassesDoorShell": true }, + { + "link": [2, 2], + "name": "Mini-Kraid Farm", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + {"or": [ + "Plasma", + "ScrewAttack", + {"ammo": {"type": "Super", "count": 1}} + ]}, + {"cycleFrames": 225} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 310} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 330} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 440} + ]}, + {"cycleFrames": 600} + ]}, + {"or": [ + {"enemyDamage": {"enemy": "Mini-Kraid", "type": "stone", "hits": 1}}, + "Plasma", + "ScrewAttack", + {"and": [ + "Ice", + "Wave", + "Spazer" + ]}, + {"and": [ + "canDodgeWhileShooting", + {"or": [ + "Ice", + "Wave", + "Spazer" + ]} + ]}, + "canTrickyDodgeEnemies" + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mini-Kraid", "count": 1} + ], + "resetsObstacles": ["A"] + }, { "id": 26, "link": [2, 2], diff --git a/region/brinstar/kraid/Kraid Eye Door Room.json b/region/brinstar/kraid/Kraid Eye Door Room.json index a93b92c77d..92ddc8c5df 100644 --- a/region/brinstar/kraid/Kraid Eye Door Room.json +++ b/region/brinstar/kraid/Kraid Eye Door Room.json @@ -92,8 +92,10 @@ "link": [1, 1], "name": "Zeb Farm", "requires": [ - {"refill": ["Energy", "Missile", "Super"]} - ] + {"simpleCycleFrames": 85}, + {"cycleFrames": 20} + ], + "farmCycleDrops": [{"enemy": "Zeb", "count": 1}] }, { "id": 2, diff --git a/region/brinstar/kraid/Warehouse Energy Tank Room.json b/region/brinstar/kraid/Warehouse Energy Tank Room.json index bed0de8833..6c488690c6 100644 --- a/region/brinstar/kraid/Warehouse Energy Tank Room.json +++ b/region/brinstar/kraid/Warehouse Energy Tank Room.json @@ -91,34 +91,48 @@ "nodes": [1] }}, {"or": [ - "ScrewAttack", + {"and": [ + "ScrewAttack", + {"cycleFrames": 130} + ]}, {"and": [ {"or": [ "Ice", - "canTrickyJump", + "canTrickyDodgeEnemies", {"enemyDamage": {"enemy": "Beetom", "type": "contact", "hits": 1}} ]}, {"or": [ - "h_useMorphBombs", - {"and": [ - "Morph", - {"resourceAvailable": [{"type": "Energy", "count": 50}]}, - {"or": [ - {"ammo": {"type": "Missile", "count": 1}}, - {"ammo": {"type": "Super", "count": 1}}, - {"ammo": {"type": "PowerBomb", "count": 1}} - ]} - ]} - ]} + {"resourceAvailable": [{"type": "Energy", "count": 50}]}, + {"resourceAvailable": [{"type": "PowerBomb", "count": 4}]} + ]}, + "h_usePowerBomb", + {"cycleFrames": 290} + ]}, + {"and": [ + "h_useMorphBombs", + "canTrickyDodgeEnemies", + "canInsaneJump", + {"cycleFrames": 425} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + "h_useMorphBombs", + {"cycleFrames": 720} ]} - ]}, - {"refill": ["PowerBomb"]} + ]} ], "clearsObstacles": ["A"], - "note": "Kill the Beetoms with Screw Attack or by freezing or carefully avoiding them and using Bombs or Power Bombs.", + "farmCycleDrops": [ + {"enemy": "Beetom", "count": 4} + ], + "note": [ + "Kill the Beetoms with Screw Attack or using Bombs or Power Bombs,", + "either freezing them or carefully avoiding them to minimize damage." + ], "devNote": [ "Health Bomb ends at 50 energy.", - "One ammo can be used to gain a power bomb and then power bombs can be used to farm more power bombs." + "FIXME: One Missile or Super can be used to gain a power bomb and then power bombs can be used to farm more power bombs." ] }, { diff --git a/region/brinstar/kraid/Warehouse Kihunter Room.json b/region/brinstar/kraid/Warehouse Kihunter Room.json index 6c6241b6c8..ec210f664f 100644 --- a/region/brinstar/kraid/Warehouse Kihunter Room.json +++ b/region/brinstar/kraid/Warehouse Kihunter Room.json @@ -247,6 +247,50 @@ "It might be possible to avoid enemy damage but this would be even more difficult." ] }, + { + "link": [1, 1], + "name": "Kihunter Farm", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "ScrewAttack", + {"cycleFrames": 360} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 360} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 390} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 390} + ]}, + {"and": [ + "Ice", + "canDodgeWhileShooting", + {"cycleFrames": 600} + ]}, + {"and": [ + "canPseudoScrew", + "canTrickyDodgeEnemies", + {"cycleFrames": 600} + ]}, + {"and": [ + "canTrickyDodgeEnemies", + {"cycleFrames": 1000} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Kihunter (green)", "count": 4} + ], + "resetsObstacles": ["A", "B", "D"], + "clearsObstacles": ["C"] + }, { "id": 6, "link": [1, 1], @@ -373,6 +417,59 @@ } } }, + { + "link": [2, 2], + "name": "Kihunter Farm", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + "canDodgeWhileShooting", + {"or": [ + "HiJump", + "canWalljump", + "h_crouchJumpDownGrab", + "SpaceJump" + ]}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 480} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 570} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 660} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 660} + ]}, + {"and": [ + "Charge", + {"cycleFrames": 780} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 840} + ]}, + {"and": [ + "canTrickyDodgeEnemies", + {"cycleFrames": 1200} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Kihunter (green)", "count": 4} + ], + "resetsObstacles": ["A", "B"], + "clearsObstacles": ["C", "D"], + "note": [ + "If Samus runs into the room and quickly destroys the shot block, a Kihunter will immediately fall down.", + "To avoid this, either spin jump into the room, or wait a moment before shooting the block." + ] + }, { "id": 15, "link": [2, 2], @@ -481,6 +578,49 @@ "Then continue chaining temporary blue through the door." ] }, + { + "link": [3, 3], + "name": "Kihunter Farm", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + "h_useMorphBombs", + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 750} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 810} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 870} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 840} + ]}, + {"and": [ + "Charge", + {"cycleFrames": 945} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 1005} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1125} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Kihunter (green)", "count": 4} + ], + "resetsObstacles": ["A", "D"], + "clearsObstacles": ["B", "C"] + }, { "id": 22, "link": [3, 3], diff --git a/region/brinstar/kraid/Warehouse Zeela Room.json b/region/brinstar/kraid/Warehouse Zeela Room.json index 3020a8a200..e0bfa0ce5a 100644 --- a/region/brinstar/kraid/Warehouse Zeela Room.json +++ b/region/brinstar/kraid/Warehouse Zeela Room.json @@ -118,13 +118,32 @@ "link": [1, 1], "name": "Zeela Farm", "requires": [ - {"resetRoom": { - "nodes": [1, 2] - }}, - {"refill": ["Energy", "Missile", "Super"]} + {"or": [ + {"and": [ + {"resetRoom": { + "nodes": [1] + }}, + {"cycleFrames": 200} + ]}, + {"and": [ + {"resetRoom": { + "nodes": [2]} + }, + {"cycleFrames": 380} + ]}, + {"and": [ + "h_useMorphBombs", + {"resetRoom": { + "nodes": [3]} + }, + {"cycleFrames": 900} + ]} + ]} ], "resetsObstacles": ["A"], - "devNote": ["FIXME: Node 3 could be used to reset the room, with additional requirements."] + "farmCycleDrops": [ + {"enemy": "Zeela", "count": 3} + ] }, { "id": 2,