diff --git a/region/maridia/outer/Fish Tank.json b/region/maridia/outer/Fish Tank.json index 56e67cba20..be8ac7b9da 100644 --- a/region/maridia/outer/Fish Tank.json +++ b/region/maridia/outer/Fish Tank.json @@ -353,6 +353,63 @@ "Use Gravity jumps to navigate to the left, chaining temporary blue through the door." ] }, + { + "link": [1, 1], + "name": "Skultera Farm (Single Skultera)", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 140} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 170} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 190} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 210} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 290} + ]}, + {"cycleFrames": 390} + ]} + ]}, + {"and": [ + {"or": [ + "Plasma", + "Wave", + "Spazer" + ]}, + {"cycleFrames": 270} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 330} + ]}, + {"and": [ + {"or": [ + "canDodgeWhileShooting", + "HiJump" + ]}, + {"cycleFrames": 450} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Skultera", "count": 1} + ] + }, { "id": 7, "link": [1, 1], @@ -1361,6 +1418,22 @@ } } }, + { + "link": [2, 2], + "name": "Pirate Farm (Single Pirate)", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 630}, + "Plasma" + ], + "farmCycleDrops": [ + {"enemy": "Pink Space Pirate (standing)", "count": 1} + ], + "devNote": [ + "This is for farming suitless.", + "If Gravity is available, it is instead worthwhile to farm all the Pirates in the room." + ] + }, { "id": 33, "link": [2, 2], @@ -2842,18 +2915,100 @@ ] }, { - "id": 74, "link": [6, 6], - "name": "Space Pirate Farm", + "name": "Skultera Farm (All Skulteras)", "requires": [ "Gravity", + "canConsecutiveWalljump", + {"or": [ + {"and": [ + {"resetRoom": {"nodes": [3]}}, + {"cycleFrames": 1300} + ]}, + {"and": [ + {"resetRoom": {"nodes": [1]}}, + {"cycleFrames": 1540} + ]}, + {"and": [ + {"resetRoom": {"nodes": [4]}}, + "canPreciseWalljump", + {"cycleFrames": 1690} + ]}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 1890} + ]} + ]}, {"or": [ "Plasma", - "ScrewAttack" + "ScrewAttack", + {"and": [ + "Wave", + {"cycleFrames": 365} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 480} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 1250} + ]}, + {"cycleFrames": 1685} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Skultera", "count": 4} + ], + "devNote": [ + "Farming Skulteras with Plasma or Screw Attack is included for completeness,", + "though with these items it would be better to farm the Pirates.", + "FIXME: there are other, slower ways to farm here, e.g. without Gravity." + ] + }, + { + "id": 74, + "link": [6, 6], + "name": "Pirate Farm (All Pirates)", + "requires": [ + "Gravity", + {"or": [ + {"and": [ + {"resetRoom": {"nodes": [3]}}, + {"cycleFrames": 950} + ]}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"cycleFrames": 1260} + ]}, + {"and": [ + {"resetRoom": {"nodes": [4]}}, + "canPreciseWalljump", + {"cycleFrames": 1440} + ]}, + {"and": [ + {"resetRoom": {"nodes": [1]}}, + "canConsecutiveWalljump", + {"cycleFrames": 1600} + ]} ]}, - {"resetRoom": {"nodes": [2, 3]}}, - {"partialRefill": {"type": "Energy", "limit": 200}}, - {"partialRefill": {"type": "Missile", "limit": 8}} + {"or": [ + "canWalljump", + {"cycleFrames": 90} + ]}, + {"or": [ + "ScrewAttack", + {"and": [ + "Plasma", + {"cycleFrames": 150} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Pink Space Pirate (standing)", "count": 4} + ], + "devNote": [ + "FIXME: there are other, slower ways to farm here, e.g. without Gravity." ] }, { diff --git a/region/maridia/outer/Main Street.json b/region/maridia/outer/Main Street.json index b31c4b8456..38fea5da49 100644 --- a/region/maridia/outer/Main Street.json +++ b/region/maridia/outer/Main Street.json @@ -2451,6 +2451,105 @@ ], "flashSuitChecked": true }, + { + "link": [3, 3], + "name": "Sciser Farm (Single Sciser)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + {"or": [ + "Gravity", + {"cycleFrames": 300} + ]}, + {"or": [ + {"and": [ + "Gravity", + "ScrewAttack", + {"cycleFrames": 280} + ]}, + {"and": [ + "Gravity", + "canPseudoScrew", + {"cycleFrames": 280} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 285} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 320} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 335} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 400} + ]}, + {"and": [ + "canFarmWhileShooting", + {"cycleFrames": 430} + ]}, + {"cycleFrames": 550} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Sciser", "count": 1}] + }, + { + "link": [3, 3], + "name": "Skultera Farm (Single Skultera)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + "HiJump", + "canWalljump", + "SpaceJump" + ]}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 590} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 590} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 615} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 640} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 690} + ]}, + {"cycleFrames": 920} + ]} + ]}, + {"and": [ + "canCameraManip", + "canFarmWhileShooting", + {"or": [ + {"and": [ + "Gravity", + {"cycleFrames": 770} + ]}, + {"cycleFrames": 1155} + ]} + ]} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Skultera", "count": 1}] + }, { "id": 67, "link": [3, 3], @@ -3676,13 +3775,131 @@ { "id": 103, "link": [4, 4], - "name": "Sciser Farm", + "name": "Sciser Farm (Two Scisers)", "requires": [ {"resetRoom": {"nodes": [4]}}, - {"partialRefill": {"type": "Energy", "limit": 100}}, - {"partialRefill": {"type": "PowerBomb", "limit": 4}} + "Gravity", + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 250} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 310} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 310} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 330} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 360} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 420} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 550} + ]}, + {"cycleFrames": 710} + ]} ], - "resetsObstacles": ["A", "B", "C"] + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Sciser", "count": 2}], + "devNote": [ + "This strat only considers having Gravity.", + "Without Gravity, it can still be possible to farm two Scisers,", + "but it usually would be better to just farm one." + ] + }, + { + "link": [4, 4], + "name": "Sciser Farm (One Sciser)", + "requires": [ + {"resetRoom": {"nodes": [4]}}, + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 140} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 165} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 180} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 210} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 270} + ]}, + {"cycleFrames": 280} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Sciser", "count": 1}], + "devNote": [ + "This strat only considers the suitless case.", + "If Gravity is available, it would be better to farm two Scisers," + ] + }, + { + "link": [4, 4], + "name": "Skultera Farm (One Skultera)", + "requires": [ + {"resetRoom": {"nodes": [4]}}, + {"or": [ + {"and": [ + "Gravity", + "ScrewAttack", + {"cycleFrames": 335} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 360} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 420} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 460} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 510} + ]}, + {"cycleFrames": 600} + ]}, + {"or": [ + "Gravity", + {"and": [ + "HiJump", + {"cycleFrames": 320} + ]}, + {"and": [ + "canSpringBallJumpMidAir", + {"cycleFrames": 700}, + "h_doubleEquipmentScreenCycleFrames", + "h_doubleEquipmentScreenCycleFrames" + ]} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Skultera", "count": 1}] }, { "id": 104, @@ -3920,6 +4137,112 @@ }, "devNote": "This depends on how far the Morph tunnel is expanded, but this is both the minimum distance and the distance Map Rando has expanded." }, + { + "link": [5, 5], + "name": "Sciser Farm", + "requires": [ + "Morph", + {"resetRoom": {"nodes": [5]}}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 350} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 450} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 450} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 480} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 480} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 480} + ]}, + {"and": [ + "Charge", + "canDodgeWhileShooting", + {"cycleFrames": 480} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 500} + ]}, + {"and": [ + "canFarmWhileShooting", + {"cycleFrames": 510} + ]}, + {"cycleFrames": 1620} + ]} + ]}, + {"and": [ + "Gravity", + "h_useSpringBall", + {"or": [ + {"and": [ + "ScrewAttack", + {"cycleFrames": 350} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 350} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 370} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 390} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 430} + ]} + ]} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 520} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 690} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 690} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 690} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 710} + ]}, + {"and": [ + "canFarmWhileShooting", + {"cycleFrames": 720} + ]}, + {"cycleFrames": 1770} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Sciser", "count": 1}] + }, { "id": 113, "link": [5, 5], @@ -4378,13 +4701,145 @@ { "id": 134, "link": [8, 8], - "name": "Sciser Farm", + "name": "Sciser Farm (Single Sciser)", "requires": [ - {"resetRoom": {"nodes": [1, 2]}}, - {"partialRefill": {"type": "Energy", "limit": 100}}, - {"partialRefill": {"type": "PowerBomb", "limit": 4}} + {"or": [ + {"resetRoom": {"nodes": [1]}}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "Gravity", + {"cycleFrames": 40} + ]}, + {"cycleFrames": 100} + ]} + ]} + ]}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 165} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 170} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 170} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 180} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 190} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 190} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 270} + ]}, + {"cycleFrames": 300} + ]} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 240} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 290} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 300} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 300} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 350} + ]}, + {"cycleFrames": 380} + ]} ], - "resetsObstacles": ["A", "B", "C"] + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Sciser", "count": 1}] + }, + { + "link": [8, 8], + "name": "Skultera Farm (Single Skultera)", + "requires": [ + {"or": [ + {"resetRoom": {"nodes": [1]}}, + {"and": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "Gravity", + {"cycleFrames": 40} + ]}, + {"cycleFrames": 100} + ]} + ]} + ]}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 160} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 165} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 220} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 250} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 315} + ]}, + {"and": [ + "canFarmWhileShooting", + {"cycleFrames": 480} + ]}, + {"cycleFrames": 600} + ]}, + {"or": [ + "Gravity", + {"and": [ + "Grapple", + {"cycleFrames": 150} + ]}, + {"and": [ + "HiJump", + {"cycleFrames": 135} + ]}, + {"and": [ + "canTrickySpringBallJump", + {"cycleFrames": 315}, + "h_doubleEquipmentScreenCycleFrames" + ]} + ]} + ], + "resetsObstacles": ["A", "B", "C"], + "farmCycleDrops": [{"enemy": "Skultera", "count": 1}] }, { "id": 135,