diff --git a/region/maridia/inner-pink/East Cactus Alley.json b/region/maridia/inner-pink/East Cactus Alley.json index 34e35d7a85..0ae9e8cbbc 100644 --- a/region/maridia/inner-pink/East Cactus Alley.json +++ b/region/maridia/inner-pink/East Cactus Alley.json @@ -172,31 +172,93 @@ { "id": 2, "link": [1, 1], - "name": "Cacatac Farm", + "name": "Cacatac Farm (1 Cacatac)", "requires": [ + {"resetRoom": {"nodes": [1]}}, {"or": [ {"and": [ "Gravity", {"or": [ - "SpaceJump", {"and": [ - "canPreciseWalljump", - "canConsecutiveWalljump" + "HiJump", + "SpeedBooster", + "canCarefulJump", + {"cycleFrames": 300} ]}, {"and": [ "HiJump", - "canWalljump" + "canWalljump", + {"cycleFrames": 310} + ]}, + {"and": [ + "SpaceJump", + {"cycleFrames": 360} + ]}, + {"and": [ + "canTrickyWalljump", + {"cycleFrames": 380} + ]}, + {"and": [ + "canSpringBallJumpMidAir", + {"or": [ + "HiJump", + "canSpringwall", + {"and": [ + "canTrickySpringBallJump", + "canTrickyJump" + ]} + ]}, + {"cycleFrames": 340}, + "h_doubleEquipmentScreenCycleFrames" + ]}, + {"and": [ + "canDoubleBombJump", + {"cycleFrames": 830} ]} ]} ]}, {"and": [ - "canSpaceJumpWaterBounce", - "canWalljump" + "canSuitlessMaridia", + {"or": [ + {"and": [ + "HiJump", + "canTrickyJump", + "canMidairWiggle", + "canTrickyWalljump", + {"cycleFrames": 360} + ]}, + {"and": [ + "HiJump", + "canSpaceJumpWaterBounce", + "canWalljump", + {"cycleFrames": 390} + ]}, + {"and": [ + "HiJump", + "canSpaceJumpWaterEscape", + {"cycleFrames": 430} + ]}, + {"and": [ + {"notable": "Suitless Bootless Space Jump"}, + "canSpaceJumpWaterBounce", + "canWalljump", + {"cycleFrames": 440} + ]}, + {"and": [ + "HiJump", + "canTrickySpringBallJump", + {"or": [ + "canTrickyJump", + "canFlatleyJump" + ]}, + {"cycleFrames": 360}, + "h_doubleEquipmentScreenCycleFrames" + ]} + ]} ]} - ]}, - {"resetRoom": {"nodes": [1]}}, - {"refill": ["Super"]} - ] + ]} + ], + "farmCycleDrops": [{"enemy": "Cacatac", "count": 1}] }, { "id": 68, @@ -556,25 +618,68 @@ { "id": 16, "link": [2, 2], - "name": "Cacatac Farm", + "name": "Cacatac Farm (2 Cacatacs)", "requires": [ + {"resetRoom": {"nodes": [2]}}, {"or": [ {"and": [ "Gravity", {"or": [ - "SpaceJump", - "canWalljump" + {"and": [ + "canWalljump", + {"cycleFrames": 740} + ]}, + {"and": [ + "SpaceJump", + {"cycleFrames": 790} + ]}, + {"and": [ + "HiJump", + "canTrickyDashJump", + {"cycleFrames": 795} + ]}, + {"and": [ + "canSpringBallJumpMidAir", + {"or": [ + "HiJump", + "canSpringFling" + ]}, + {"cycleFrames": 920}, + "h_doubleEquipmentScreenCycleFrames" + ]}, + {"and": [ + "canDiagonalBombJump", + {"cycleFrames": 1380} + ]} ]} ]}, {"and": [ - "HiJump", - "canSpaceJumpWaterBounce", - "canWalljump" + "canSuitlessMaridia", + {"or": [ + {"and": [ + "HiJump", + "canSpaceJumpWaterBounce", + "canWalljump", + {"cycleFrames": 810} + ]}, + {"and": [ + "HiJump", + "canSpaceJumpWaterEscape", + {"cycleFrames": 850} + ]}, + {"and": [ + "HiJump", + "h_maxHeightSpringBallJump", + "canTrickyJump", + "canStationaryLateralMidAirMorph", + {"cycleFrames": 1070}, + "h_doubleEquipmentScreenCycleFrames" + ]} + ]} ]} - ]}, - {"resetRoom": {"nodes": [2]}}, - {"refill": ["Energy", "Super"]} - ] + ]} + ], + "farmCycleDrops": [{"enemy": "Cacatac", "count": 2}] }, { "id": 17, diff --git a/region/maridia/inner-pink/Halfie Climb Room.json b/region/maridia/inner-pink/Halfie Climb Room.json index c635075f5d..4f31ae3120 100644 --- a/region/maridia/inner-pink/Halfie Climb Room.json +++ b/region/maridia/inner-pink/Halfie Climb Room.json @@ -241,6 +241,41 @@ ], "devNote": "There are many other ways to get into position, but they would require manipulating the Mochtroid as much as canMochtroidIceClimb expects." }, + { + "link": [1, 1], + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [1]}}, + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 75} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 75} + ]}, + {"and": [ + "Gravity", + "ScrewAttack", + {"cycleFrames": 75} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 85} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 90} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 135} + ]} + ]} + ], + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}] + }, { "id": 3, "link": [1, 1], @@ -1748,29 +1783,107 @@ } } }, + { + "link": [2, 2], + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [2]}}, + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 80} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 80} + ]}, + {"and": [ + "Gravity", + "ScrewAttack", + {"cycleFrames": 80} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 85} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 90} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 135} + ]} + ]} + ], + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}] + }, { "id": 53, "link": [2, 2], - "name": "Mochtroid Farm", + "name": "Mochtroid Farm (3 Mochtroids)", "requires": [ "Gravity", + {"cycleFrames": 330}, {"or": [ - "SpaceJump", - "Grapple", - "canConsecutiveWalljump" + {"resetRoom": {"nodes": [2]}}, + {"and": [ + {"resetRoom": {"nodes": [4]}}, + {"cycleFrames": 70} + ]}, + {"and": [ + {"resetRoom": {"nodes": [1]}}, + {"cycleFrames": 90} + ]}, + {"and": [ + {"resetRoom": {"nodes": [3]}}, + "Morph", + {"cycleFrames": 1210} + ]} ]}, {"or": [ - "canDodgeWhileShooting", - "ScrewAttack", - "Wave", - "Spazer", - "Plasma", - "Grapple" + "canConsecutiveWalljump", + {"and": [ + "SpaceJump", + {"cycleFrames": 40} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 150} + ]}, + {"and": [ + "canGravityJump", + {"cycleFrames": 120}, + "h_doubleEquipmentScreenCycleFrames" + ]} ]}, - {"resetRoom": {"nodes": [1, 2, 4]}}, - {"partialRefill": {"type": "Super", "limit": 4}}, - {"partialRefill": {"type": "Energy", "limit": 200}}, - {"partialRefill": {"type": "Missile", "limit": 10}} + {"or": [ + "ScrewAttack", + {"and": [ + "Grapple", + {"cycleFrames": 40} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 20} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 160} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 180} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 315} + ]} + ]} + ], + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 3}], + "devNote": [ + "FIXME: other options for this are possible (e.g. suitless)" ] }, { @@ -3910,6 +4023,40 @@ ], "devNote": "There are many other ways to get into position, but they would require manipulating the Mochtroid as much as canMochtroidIceClimb expects." }, + { + "link": [4, 4], + "name": "Mochtroid Farm (1 Mochtroid)", + "requires": [ + {"resetRoom": {"nodes": [4]}}, + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 80} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 80} + ]}, + {"and": [ + "ScrewAttack", + {"cycleFrames": 80} + ]}, + {"and": [ + "Wave", + {"cycleFrames": 85} + ]}, + {"and": [ + "Spazer", + {"cycleFrames": 90} + ]}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 120} + ]} + ]} + ], + "farmCycleDrops": [{"enemy": "Mochtroid", "count": 1}] + }, { "id": 127, "link": [4, 4], diff --git a/region/maridia/inner-pink/West Cactus Alley.json b/region/maridia/inner-pink/West Cactus Alley.json index d8496d2ea9..b887e04f30 100644 --- a/region/maridia/inner-pink/West Cactus Alley.json +++ b/region/maridia/inner-pink/West Cactus Alley.json @@ -92,14 +92,30 @@ } }, { - "id": 2, "link": [1, 1], - "name": "Single Cacatac Farm", + "name": "Cacatac Farm (1 Cacatac)", "requires": [ {"resetRoom": {"nodes": [1]}}, - {"partialRefill": {"type": "Energy", "limit": 140}}, - {"partialRefill": {"type": "Super", "limit": 8}} - ] + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 90} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 120} + ]}, + {"and": [ + {"or": [ + "Spazer", + "Wave" + ]}, + {"cycleFrames": 140} + ]}, + {"cycleFrames": 160} + ]} + ], + "farmCycleDrops": [{"enemy": "Cacatac", "count": 1}] }, { "id": 3, @@ -1070,14 +1086,89 @@ } }, { - "id": 37, "link": [2, 2], - "name": "Cacatac Farm", + "name": "Cacatac Farm (2 Cacatac)", "requires": [ {"resetRoom": {"nodes": [2]}}, - {"partialRefill": {"type": "Energy", "limit": 300}}, - {"partialRefill": {"type": "Super", "limit": 16}} - ] + {"or": [ + {"and": [ + "Grapple", + {"cycleFrames": 185} + ]}, + {"and": [ + "Plasma", + {"cycleFrames": 200} + ]}, + {"and": [ + {"or": [ + "Spazer", + "Wave" + ]}, + {"cycleFrames": 220} + ]}, + {"cycleFrames": 465} + ]} + ], + "farmCycleDrops": [{"enemy": "Cacatac", "count": 2}] + }, + { + "id": 2, + "link": [2, 2], + "name": "Cacatac Farm (4 Cacatac)", + "requires": [ + "Gravity", + {"resetRoom": {"nodes": [1, 2]}}, + {"or": [ + {"enemyDamage": {"enemy": "Cacatac", "type": "spike", "hits": 1}}, + {"and": [ + "canDodgeWhileShooting", + {"cycleFrames": 100} + ]} + ]}, + {"or": [ + {"and": [ + "HiJump", + {"cycleFrames": 360} + ]}, + {"and": [ + "canWalljump", + {"cycleFrames": 390} + ]}, + {"and": [ + "h_crouchJumpDownGrab", + {"cycleFrames": 490} + ]} + ]}, + {"or": [ + "Plasma", + {"and": [ + "ScrewAttack", + {"cycleFrames": 80} + ]}, + {"and": [ + {"or": [ + "Spazer", + "Wave" + ]}, + {"cycleFrames": 50} + ]}, + {"and": [ + "Grapple", + {"cycleFrames": 60} + ]}, + {"and": [ + {"cycleFrames": 180}, + {"or": [ + {"enemyDamage": {"enemy": "Cacatac", "type": "spike", "hits": 1}}, + {"and": [ + "canTrickyDodgeEnemies", + {"cycleFrames": 100} + ]} + ]} + ]} + ]} + ], + "farmCycleDrops": [{"enemy": "Cacatac", "count": 4}] }, { "id": 38,