diff --git a/region/maridia/inner-pink/Botwoon Hallway.json b/region/maridia/inner-pink/Botwoon Hallway.json index c9b6b1155a..727c0edaaf 100644 --- a/region/maridia/inner-pink/Botwoon Hallway.json +++ b/region/maridia/inner-pink/Botwoon Hallway.json @@ -108,19 +108,95 @@ "requires": [ {"resetRoom": {"nodes": [1]}}, {"or": [ - "canDodgeWhileShooting", - "Wave", - "Spazer", - "Plasma", - "canUseGrapple", {"and": [ - "ScrewAttack", - "Gravity" + "Gravity", + {"or": [ + {"and": [ + {"or": [ + "Grapple", + "Plasma", + "Wave", + "Spazer", + "ScrewAttack" + ]}, + {"cycleFrames": 160} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 210} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 300} + ]} + ]} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 180} + ]}, + {"and": [ + {"or":[ + "Plasma", + "Wave", + "Spazer" + ]}, + {"cycleFrames": 240} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 360} ]} - ]}, - {"partialRefill": {"type": "Super", "limit": 4}}, - {"partialRefill": {"type": "Energy", "limit": 200}}, - {"partialRefill": {"type": "Missile", "limit": 10}} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 2} + ] + }, + { + "link": [1, 1], + "name": "Puyo Farm", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + {"or": [ + "Plasma", + "Wave", + "Spazer" + ]}, + {"cycleFrames": 720} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 770} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 770} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1020} + ]} + ]} + ]}, + {"and": [ + "HiJump", + {"cycleFrames": 1650} + ]}, + {"and": [ + "canTrickyJump", + "h_crouchJumpDownGrab", + {"cycleFrames": 2280} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Puyo", "count": 2} ] }, { @@ -790,6 +866,78 @@ } } }, + { + "link": [2, 2], + "name": "Mochtroid and Puyo Farm", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 720} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 760} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 785} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 800} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 820} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1060} + ]} + ]}, + {"or": [ + "canWalljump", + "h_crouchJumpDownGrab", + {"cycleFrames": 150} + ]} + ]}, + {"and": [ + {"or": [ + {"and": [ + {"or": [ + "Plasma", + "Wave", + "Spazer", + "Grapple" + ]}, + {"cycleFrames": 1710} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 2010} + ]} + ]}, + {"or": [ + "HiJump", + {"and": [ + "canTrickyJump", + "h_crouchJumpDownGrab", + {"cycleFrames": 315} + ]} + ]} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1}, + {"enemy": "Puyo", "count": 2} + ] + }, { "id": 31, "link": [2, 2], diff --git a/region/maridia/inner-pink/Colosseum.json b/region/maridia/inner-pink/Colosseum.json index 08317152dc..67a8dee388 100644 --- a/region/maridia/inner-pink/Colosseum.json +++ b/region/maridia/inner-pink/Colosseum.json @@ -138,14 +138,75 @@ { "id": 3, "link": [1, 1], - "name": "Mochtroid Farm", + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 70} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 70} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 75} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 80} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 90} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 120} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1} + ] + }, + { + "link": [1, 1], + "name": "Mochtroid Farm (4 Mochtroids)", "requires": [ {"resetRoom": {"nodes": [1]}}, "SpaceJump", - "ScrewAttack", - {"partialRefill": {"type": "Super", "limit": 4}}, - {"partialRefill": {"type": "Energy", "limit": 200}}, - {"partialRefill": {"type": "Missile", "limit": 10}} + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 1035} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 1050} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 1080} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 1090} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 1150} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 1260} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 4} ] }, { @@ -950,6 +1011,43 @@ "Maintain a half-tile gap between the Mochtroid and the runway in order to extend it as much as possible." ] }, + { + "link": [2, 2], + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 95} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 95} + ]}, + {"and": [ + "Gravity", + "ScrewAttack", + {"cycleFrames": 95} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 105} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 115} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 145} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1} + ] + }, { "id": 38, "link": [2, 2], @@ -2549,6 +2647,80 @@ "then roll from right to down-right to enter the transition (at horizontal positon 1771)." ] }, + { + "link": [3, 3], + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 70} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 70} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 75} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 80} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 90} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 120} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 1} + ] + }, + { + "link": [3, 3], + "name": "Mochtroid Farm (3 Mochtroids)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + "SpaceJump", + {"or": [ + {"and": [ + "ScrewAttack", + {"cycleFrames": 710} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 730} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 770} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 810} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 855} + ]}, + {"and": [ + "canDodgeWhileShooting", + "canTrickyJump", + {"cycleFrames": 1140} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Mochtroid", "count": 3} + ] + }, { "id": 83, "link": [3, 3], diff --git a/region/maridia/inner-pink/Crab Shaft.json b/region/maridia/inner-pink/Crab Shaft.json index 1e936fcebf..c2a77871e4 100644 --- a/region/maridia/inner-pink/Crab Shaft.json +++ b/region/maridia/inner-pink/Crab Shaft.json @@ -403,19 +403,34 @@ { "id": 3, "link": [1, 1], - "name": "Sciser Farm", + "name": "Sciser Farm (2 Scisers)", "requires": [ {"resetRoom": {"nodes": [1]}}, - {"partialRefill": {"type": "Energy", "limit": 240}}, - {"partialRefill": {"type": "PowerBomb", "limit": 6}}, {"or": [ - "Gravity", - "Spazer", - "Wave", - "Plasma", - "canUseGrapple", - "canBePatient" + {"and": [ + "Grapple", + {"cycleFrames": 560} + ]}, + {"and": [ + {"or": [ + "Plasma", + "Wave", + "Spazer" + ]}, + {"cycleFrames": 620} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 780} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 860} + ]} ]} + ], + "farmCycleDrops": [ + {"enemy": "Sciser", "count": 2} ] }, { @@ -1356,25 +1371,96 @@ { "id": 43, "link": [2, 2], - "name": "Sciser Farm", + "name": "Sciser Farm (3 Scisers)", "requires": [ - {"resetRoom": {"nodes": [2]}}, {"or": [ + {"resetRoom": {"nodes": [2]}}, {"and": [ - {"partialRefill": {"type": "Energy", "limit": 240}}, - {"partialRefill": {"type": "PowerBomb", "limit": 6}} + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Gravity", + {"cycleFrames": 180} + ]}, + {"and": [ + "HiJump", + "h_crouchJumpDownGrab", + {"cycleFrames": 540} + ]} + ]} ]}, {"and": [ - {"refill": ["Energy", "PowerBomb"]}, + {"resetRoom": {"nodes": [3]}}, + "Gravity", {"or": [ - "Gravity", - "Spazer", - "Wave", - "Plasma", - "canUseGrapple" - ]} + "canWalljump", + "HiJump", + "SpaceJump" + ]}, + {"cycleFrames": 460} ]} + ]}, + {"or": [ + {"and": [ + "Gravity", + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 300} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 360} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 370} + ]}, + {"and": [ + "canPseudoScrew", + {"cycleFrames": 400} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 430} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 460} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 690} + ]}, + {"cycleFrames": 800} + ]} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 640} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 670} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 720} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 750} + ]}, + {"and": [ + "Ice", + {"cycleFrames": 1050} + ]}, + {"cycleFrames": 1120} ]} + ], + "farmCycleDrops": [{"enemy": "Sciser", "count": 3}], + "devNote": [ + "Other, slower methods are possible for resetting the room using the upper doors." ] }, { @@ -1918,6 +2004,56 @@ "Knocking the crab off while it is on the the door or ceiling will not work." ] }, + { + "link": [4, 4], + "name": "Sciser Farm (1 Sciser, Fast Cycle)", + "requires": [ + {"resetRoom": {"nodes": [3]}}, + {"or": [ + "canCrouchJump", + "h_underwaterCrouchJumpWithFlashSuit" + ]}, + "canTrickyJump", + {"or": [ + {"and": [ + "Plasma", + {"cycleFrames": 150} + ]}, + {"and": [ + "canFarmWhileShooting", + "Wave", + "Spazer", + {"cycleFrames": 160} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 160} + ]} + ]}, + {"or": [ + {"and": [ + "Grapple", + "canPrepareForNextRoom", + {"or": [ + "canResetFallSpeed", + "canPreciseWalljump" + ]}, + "canFarmWhileShooting" + ]}, + "HiJump", + "Gravity", + {"and": [ + "canSpringBallJumpMidAir", + "h_doubleEquipmentScreenCycleFrames", + {"cycleFrames": 55} + ]} + ]} + ], + "farmCycleDrops": [ + {"enemy": "Sciser", "count": 1} + ], + "devNote": "FIXME: for the Grapple case, a water entry above can work as an alternative to wall jump or unmorph." + }, { "id": 59, "link": [4, 4],