diff --git a/region/maridia/outer/Crab Hole.json b/region/maridia/outer/Crab Hole.json index b2acac430f..ad21921ca2 100644 --- a/region/maridia/outer/Crab Hole.json +++ b/region/maridia/outer/Crab Hole.json @@ -712,9 +712,12 @@ "Gravity", "h_artificialMorphBombHorizontally", {"or": [ - "h_artificialMorphBombThings", - "canTrickyJump", - {"enemyDamage": {"enemy": "Sciser", "type": "contact", "hits": 1}} + "h_additionalBomb", + "canTrickyGMode", + {"and": [ + "canTrickyDodgeEnemies", + "canGravityJump" + ]} ]} ]} ]} @@ -725,9 +728,10 @@ } }, "flashSuitChecked": true, - "note": [ - "To save a bomb, it is possible but difficult to roll from the doorway onto the platform with Gravity turned off.", - "This requires backing up slightly after entering the room then quickly rolling before the crabs. It is a bit tighter in direct G-Mode." + "note": "To save a bomb, it is possible to roll from the doorway onto the platform with movement similar to a Gravity jump - hold forward just before the pause to disable gravity.", + "devNote": [ + "It is possible to cross with a single Power Bomb, but it requires a last pixel jump with a frame perfect forward press.", + "A crab hit could bounce Samus onto the middle platform, but the gravity jump is better. If Samus has a blue suit and cant pause, then she also cant boost from the crab." ] }, { @@ -3524,7 +3528,15 @@ ]}, {"and": [ "Gravity", - "h_artificialMorphBombHorizontally" + "h_artificialMorphBombHorizontally", + {"or": [ + "h_additionalBomb", + "canTrickyGMode", + {"and": [ + "canTrickyJump", + "canGravityJump" + ]} + ]} ]} ]} ], @@ -3534,7 +3546,11 @@ } }, "flashSuitChecked": true, - "note": "To save a bomb, it is possible to roll from the doorway onto the platform with Gravity turned off." + "note": "To save a bomb, it is possible to roll from the doorway onto the platform with similar to a Gravity jump - hold forward just before the pause to disable gravity.", + "devNote": [ + "It is possible to cross with a single Power Bomb, but it requires a last pixel jump with a frame perfect forward press.", + "A crab hit could bounce Samus onto the middle platform, but the gravity jump is better. If Samus has a blue suit and cant pause, then she also cant boost from the crab." + ] }, { "id": 100, diff --git a/region/maridia/outer/Fish Tank.json b/region/maridia/outer/Fish Tank.json index b154887fd1..bce33c2e3c 100644 --- a/region/maridia/outer/Fish Tank.json +++ b/region/maridia/outer/Fish Tank.json @@ -713,15 +713,6 @@ "canJumpIntoIBJ", "canBombHorizontally" ]}, - {"and": [ - "HiJump", - "canTrickyDashJump" - ]}, - {"and": [ - "canUseFrozenEnemies", - "HiJump", - "SpeedBooster" - ]}, "h_maxHeightSpringBallJump", {"and": [ "HiJump", @@ -738,6 +729,31 @@ "canGravityJump" ] }, + { + "link": [1, 5], + "name": "Jump to the Frozen Fish", + "requires": [ + "Gravity", + "canUseFrozenEnemies", + "HiJump", + "SpeedBooster" + ] + }, + { + "link": [1, 5], + "name": "Tricky Dash Jump", + "requires": [ + "Gravity", + "HiJump", + "canTrickyDashJump", + "canDownGrab" + ], + "note": [ + "Get a tricky dash jump running up the hill, then precisely down grab at the top.", + "It is best to start a few pixels away from the edge of the runway, so that Samus can jump at the correct frame and while being higher up the hill." + ], + "devNote": "A down grab is not strictly necessary, but it makes it much easier." + }, { "id": 14, "link": [1, 5], @@ -2304,6 +2320,33 @@ "bypassesDoorShell": "free", "flashSuitChecked": true }, + { + "link": [3, 3], + "name": "Carry G-Mode Back Up, Bomb Into Spring Ball Jump", + "entranceCondition": { + "comeInWithGMode": { + "mode": "direct", + "morphed": true + }, + "comesThroughToilet": "any" + }, + "requires": [ + "h_artificialMorphUnderwaterBombIntoSpringBallJump" + ], + "exitCondition": { + "leaveWithGMode": { + "morphed": false + } + }, + "bypassesDoorShell": "free", + "flashSuitChecked": true, + "note": [ + "Pause and jump just before the fade out finishes. Turn off Spring Ball and place a Bomb just above where Samus' head would be if standing.", + "Pause again between 23-25 frames later and equip Spring Ball; Samus has a three frame window where she has upward momentum from the Bomb and can jump again.", + "The positioning of the Bomb is quite lenient, with an 11 frame window for where it can be placed.", + "Unmorph at the top of the jump to touch the transition blocks." + ] + }, { "id": 47, "link": [3, 7], @@ -2374,7 +2417,8 @@ ]}, {"and": [ "HiJump", - "canTrickyDashJump" + "canTrickyDashJump", + "canDownGrab" ]}, "h_maxHeightSpringBallJump", {"and": [ diff --git a/region/maridia/outer/Main Street.json b/region/maridia/outer/Main Street.json index 060c730517..55a4b1968c 100644 --- a/region/maridia/outer/Main Street.json +++ b/region/maridia/outer/Main Street.json @@ -195,7 +195,8 @@ [1, 1, 0], [1, 1, 1], [1, 1, 0] - ] + ], + "devNote": "Currently this node is only used to overload the speed blocks then use global crab to collect the item." }, { "id": 11, @@ -211,7 +212,8 @@ [1, 1, 0], [1, 1, 1], [1, 1, 0] - ] + ], + "devNote": "Currently this node is only used to overload the speed blocks then use global crab to collect the item." }, { "id": 12, @@ -227,7 +229,8 @@ [1, 1, 0], [1, 1, 2], [1, 1, 0] - ] + ], + "devNote": "Currently this node is only used to overload the speed blocks then use global crab to collect the item." }, { "id": 13, @@ -1158,6 +1161,7 @@ "comesThroughToilet": "no" }, "requires": [ + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"}, "h_navigateUnderwater", {"or": [ "canGravityJump", @@ -1210,6 +1214,7 @@ "comesThroughToilet": "any" }, "requires": [ + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"}, "h_navigateUnderwater", {"or": [ "canGravityJump", @@ -1264,7 +1269,17 @@ {"or": [ {"and": [ "Gravity", - "h_artificialMorphIBJ" + {"or": [ + "h_artificialMorphIBJ", + {"and": [ + "h_artificialMorphSpringBall", + "HiJump" + ]}, + {"and": [ + "h_artificialMorphSpringBall", + "canGravityJump" + ]} + ]} ]}, "h_artificialMorphDoubleSpringBallJump" ]} @@ -2184,6 +2199,7 @@ } }, "requires": [ + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"}, "h_navigateUnderwater", {"or": [ "canGravityJump", @@ -2235,6 +2251,7 @@ } }, "requires": [ + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"}, "h_navigateUnderwater", {"or": [ "canGravityJump", @@ -2288,7 +2305,17 @@ {"or": [ {"and": [ "Gravity", - "h_artificialMorphIBJ" + {"or": [ + "h_artificialMorphIBJ", + {"and": [ + "h_artificialMorphSpringBall", + "HiJump" + ]}, + {"and": [ + "h_artificialMorphSpringBall", + "canGravityJump" + ]} + ]} ]}, "h_artificialMorphDoubleSpringBallJump" ]} @@ -3396,7 +3423,9 @@ "morphed": false } }, - "requires": [], + "requires": [ + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"} + ], "clearsObstacles": ["B"], "flashSuitChecked": true, "devNote": "FIXME: Immobile strats may need canBeVeryPatient if they can't be done before the crab is in position" @@ -3411,7 +3440,9 @@ "morphed": false } }, - "requires": [], + "requires": [ + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"} + ], "flashSuitChecked": true, "devNote": "FIXME: Immobile strats may need canBeVeryPatient if they can't be done before the crab is in position" }, @@ -4381,30 +4412,11 @@ ]} ], "flashSuitChecked": true, - "note": "The crab will not come through the whole tunnel, so wait for it to pass before going through the vertical portion." - }, - { - "id": 119, - "link": [5, 7], - "name": "Direct G-Mode Morph", - "entranceCondition": { - "comeInWithGMode": { - "mode": "direct", - "morphed": true - } - }, - "requires": [ - "h_EverestMorphTunnelExpanded", - {"or": [ - "h_artificialMorphSpringBall", - {"and": [ - "Gravity", - "h_artificialMorphBombThings" - ]} - ]} - ], - "flashSuitChecked": true, - "note": "The crab will not come through the whole tunnel, so wait for it to pass before going through the vertical portion." + "note": "The crab will not come through the whole tunnel, so wait for it to pass before going through the vertical portion.", + "devNote": [ + "The tunnel does not need to be expanded for Samus to get into the morph tunnel without getting stuck,", + "regardless of if she has Morph or artificial morph, and is in direct or indirect G-mode." + ] }, { "id": 120, @@ -4420,6 +4432,7 @@ "name": "Kill Frozen Crab with Wave", "requires": [ "canEnterGMode", + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"}, "Wave", {"obstaclesCleared": ["C"]} ], @@ -4432,6 +4445,7 @@ "name": "Kago Frozen Crab", "requires": [ "canEnterGMode", + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"}, "canKago", {"or": [ {"enemyDamage": {"enemy": "Sciser", "type": "contact", "hits": 1}}, @@ -5256,6 +5270,7 @@ "name": "Indirect G-Mode Crystal Flash", "requires": [ "canEnterGMode", + {"notable": "G-Mode Overload Speed Blocks then use Global Crab"}, "h_artificialMorphCrystalFlash", {"obstaclesNotCleared": ["B"]} ], diff --git a/region/maridia/outer/Maridia Tube.json b/region/maridia/outer/Maridia Tube.json index 5c83d3592c..07a52ebc2d 100644 --- a/region/maridia/outer/Maridia Tube.json +++ b/region/maridia/outer/Maridia Tube.json @@ -1199,6 +1199,32 @@ }, "flashSuitChecked": true }, + { + "link": [2, 1], + "name": "Carry G-Mode Morph Through Tube, Bomb Into Spring Ball Jump", + "entranceCondition": { + "comeInWithGMode": { + "mode": "any", + "morphed": true + } + }, + "requires": [ + "f_MaridiaTubeBroken", + "h_artificialMorphUnderwaterBombIntoSpringBallJump" + ], + "exitCondition": { + "leaveWithGMode": { + "morphed": true + } + }, + "flashSuitChecked": true, + "note": [ + "Pause and jump just before the fade out finishes. Turn off Spring Ball and place a Bomb just above where Samus' head would be if standing.", + "Pause again between 23-25 frames later and equip Spring Ball; Samus has a three frame window where she has upward momentum from the Bomb and can jump again.", + "The positioning of the Bomb is quite lenient, with an 11 frame window for where it can be placed.", + "This must be done twice to climb the room." + ] + }, { "id": 19, "link": [2, 1], @@ -1351,7 +1377,13 @@ }, "requires": [ "h_artificialMorphPowerBomb", - "h_artificialMorphMovement" + {"or": [ + "h_artificialMorphSpringBall", + {"and": [ + "Gravity", + "h_artificialMorphIBJ" + ]} + ]} ], "setsFlags": ["f_MaridiaTubeBroken"], "flashSuitChecked": true, @@ -1605,6 +1637,32 @@ }, "flashSuitChecked": true }, + { + "link": [2, 3], + "name": "Carry G-Mode Morph Through Tube, Bomb Into Spring Ball Jump", + "entranceCondition": { + "comeInWithGMode": { + "mode": "any", + "morphed": true + } + }, + "requires": [ + "f_MaridiaTubeBroken", + "h_artificialMorphUnderwaterBombIntoSpringBallJump" + ], + "exitCondition": { + "leaveWithGMode": { + "morphed": true + } + }, + "flashSuitChecked": true, + "note": [ + "Pause and jump just before the fade out finishes. Turn off Spring Ball and place a Bomb just above where Samus' head would be if standing.", + "Pause again between 23-25 frames later and equip Spring Ball; Samus has a three frame window where she has upward momentum from the Bomb and can jump again.", + "The positioning of the Bomb is quite lenient, with an 11 frame window for where it can be placed.", + "This must be done twice to climb the room." + ] + }, { "id": 31, "link": [2, 4], @@ -1875,6 +1933,7 @@ {"notable": "Breaking the Tube Gravity Jump"}, {"not": "f_MaridiaTubeBroken"}, "canRiskPermanentLossOfAccess", + "h_artificialMorphSpringBall", "h_artificialMorphPowerBomb", "canSuitlessMaridia", "canTrickyJump" @@ -2955,14 +3014,42 @@ "comesThroughToilet": "any" }, "requires": [ - "f_MaridiaTubeBroken" + {"or": [ + "f_MaridiaTubeBroken", + {"and": [ + {"notable": "Tube Clip"}, + "canTunnelCrawl" + ]} + ]} ], "exitCondition": { "leaveWithGMode": { "morphed": false } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "note": "If the tube is unbroken, this requires a tunnel crawl or unmorph at the top right of the tube in order to clip down through it." + }, + { + "link": [4, 1], + "name": "G-Mode Morph, Carry G-Mode Through Tube (Top to Left)", + "entranceCondition": { + "comeInWithGMode": { + "mode": "any", + "morphed": true + }, + "comesThroughToilet": "any" + }, + "requires": [ + {"notable": "Tube Clip"} + ], + "exitCondition": { + "leaveWithGMode": { + "morphed": false + } + }, + "flashSuitChecked": true, + "note": "If the tube is unbroken, this requires unmorphing at the top right of the tube in order to clip down through it." }, { "id": 63, @@ -3048,14 +3135,42 @@ "comesThroughToilet": "any" }, "requires": [ - "f_MaridiaTubeBroken" + {"or": [ + "f_MaridiaTubeBroken", + {"and": [ + {"notable": "Tube Clip"}, + "canTunnelCrawl" + ]} + ]} ], "exitCondition": { "leaveWithGMode": { "morphed": false } }, - "flashSuitChecked": true + "flashSuitChecked": true, + "note": "If the tube is unbroken, this requires a tunnel crawl or unmorph at the top right of the tube in order to clip down through it." + }, + { + "link": [4, 3], + "name": "G-Mode Morph, Carry G-Mode Through Tube (Top to Right)", + "entranceCondition": { + "comeInWithGMode": { + "mode": "any", + "morphed": true + }, + "comesThroughToilet": "any" + }, + "requires": [ + {"notable": "Tube Clip"} + ], + "exitCondition": { + "leaveWithGMode": { + "morphed": false + } + }, + "flashSuitChecked": true, + "note": "If the tube is unbroken, this requires unmorphing at the top right of the tube in order to clip down through it." }, { "id": 65, @@ -3122,6 +3237,7 @@ "requires": [ {"or": [ "Gravity", + "h_artificialMorphDoubleSpringBallJump", {"and": [ {"not": "f_MaridiaTubeBroken"}, "canRiskPermanentLossOfAccess" diff --git a/region/maridia/outer/Mt. Everest.json b/region/maridia/outer/Mt. Everest.json index 8ee81abfd1..d0c06bdbe7 100644 --- a/region/maridia/outer/Mt. Everest.json +++ b/region/maridia/outer/Mt. Everest.json @@ -927,6 +927,7 @@ {"or": [ "Morph", "h_artificialMorphSpringBall", + "h_artificialMorphPowerBomb", {"and": [ "Gravity", "h_artificialMorphLongIBJ" @@ -944,7 +945,8 @@ ]} ]} ], - "flashSuitChecked": true + "flashSuitChecked": true, + "note": "It is possible to place a Power Bomb on the ledge above to kill the crab before going down and into the tunnel." }, { "id": 24, @@ -3532,6 +3534,10 @@ {"and": [ "HiJump", "h_artificialMorphSpringBall" + ]}, + {"and": [ + "canGravityJump", + "h_artificialMorphSpringBall" ]} ]} ]}, @@ -3689,29 +3695,15 @@ } }, "requires": [ - "h_EverestMorphTunnelExpanded", "h_artificialMorphLongIBJ", "Gravity" ], "flashSuitChecked": true, - "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab." - }, - { - "id": 134, - "link": [6, 4], - "name": "G-Mode Morph Indirect IBJ", - "entranceCondition": { - "comeInWithGMode": { - "mode": "indirect", - "morphed": true - } - }, - "requires": [ - "h_artificialMorphLongIBJ", - "Gravity" - ], - "flashSuitChecked": true, - "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab." + "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab.", + "devNote": [ + "The tunnel does not need to be expanded for Samus to get into the morph tunnel without getting stuck,", + "regardless of if she has Morph or artificial morph, and is in direct or indirect G-mode." + ] }, { "id": 135, @@ -3795,11 +3787,19 @@ "link": [6, 6], "name": "G-Mode Regain Mobility", "requires": [ - "h_EverestMorphTunnelExpanded", + {"or": [ + "Morph", + "canOffScreenMovement" + ]}, {"enemyDamage": {"enemy": "Sciser", "type": "contact", "hits": 1}} ], "gModeRegainMobility": {}, - "flashSuitChecked": true + "flashSuitChecked": true, + "devNote": [ + "The tunnel does not need to be expanded for Samus to get into the morph tunnel without getting stuck, regardless of if she has Morph or is artificial morphing.", + "Timing the artificial morph turnaround without being able to see Samus or the crab requires canOffScreenMovement.", + "FIXME: This should not be needed if the tunnel is expanded and Samus is leaving without being morphed, but there currently isnt a way to represent that." + ] }, { "id": 253, @@ -3841,7 +3841,11 @@ }, "bypassesDoorShell": "free", "flashSuitChecked": true, - "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab." + "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab.", + "devNote": [ + "The tunnel does not need to be expanded for Samus to get into the morph tunnel without getting stuck,", + "regardless of if she has Morph or artificial morph, and is in direct or indirect G-mode." + ] }, { "id": 139, @@ -3854,7 +3858,6 @@ } }, "requires": [ - "h_EverestMorphTunnelExpanded", "Gravity", {"or": [ "h_artificialMorphIBJ", @@ -3862,27 +3865,11 @@ ]} ], "flashSuitChecked": true, - "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab." - }, - { - "id": 140, - "link": [6, 7], - "name": "G-Mode Morph Indirect IBJ or SpringBall Bomb Jump", - "entranceCondition": { - "comeInWithGMode": { - "mode": "indirect", - "morphed": true - } - }, - "requires": [ - "Gravity", - {"or": [ - "h_artificialMorphIBJ", - "h_artificialMorphSpringBallBombJump" - ]} - ], - "flashSuitChecked": true, - "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab." + "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab.", + "devNote": [ + "The tunnel does not need to be expanded for Samus to get into the morph tunnel without getting stuck,", + "regardless of if she has Morph or artificial morph, and is in direct or indirect G-mode." + ] }, { "id": 141, @@ -3892,12 +3879,15 @@ "canInsaneJump", "h_useSpringBall" ], - "note": "Jump using Springball with the right timing leaving the Morph tunnel to avoid falling." + "note": [ + "Jump using Springball with the right timing leaving the Morph tunnel to avoid falling.", + "If the morph tunnel is not expanded, enter the room in a standing pose, crouch, then rapidly shoot and kill the crab before morphing." + ] }, { "id": 142, "link": [6, 8], - "name": "SpringBall out of Morph Tunnel (Artificial Morph)", + "name": "G-Mode Morph, SpringBall out of Morph Tunnel", "entranceCondition": { "comeInWithGMode": { "mode": "any", @@ -3905,29 +3895,28 @@ } }, "requires": [ - "h_EverestMorphTunnelExpanded", - "canInsaneJump", - "h_artificialMorphSpringBall" - ], - "flashSuitChecked": true, - "note": "Jump using Springball with the right timing leaving the Morph tunnel to avoid falling." - }, - { - "id": 143, - "link": [6, 8], - "name": "SpringBall out of Morph Tunnel (Artificial Morph, Indirect)", - "entranceCondition": { - "comeInWithGMode": { - "mode": "indirect", - "morphed": true - } - }, - "requires": [ + {"or": [ + "h_EverestMorphTunnelExpanded", + "h_artificialMorphPowerBomb", + {"and": [ + "canTrickyGMode", + "h_artificialMorphBombs" + ]}, + {"and": [ + "h_artificialMorphBombs", + {"enemyDamage": {"enemy": "Sciser", "type": "contact", "hits": 1}} + ]}, + {"enemyDamage": {"enemy": "Sciser", "type": "contact", "hits": 2}} + ]}, "canInsaneJump", "h_artificialMorphSpringBall" ], "flashSuitChecked": true, - "note": "Jump using Springball with the right timing leaving the Morph tunnel to avoid falling." + "note": "Quickly kill the crab. Jump using Springball with the right timing leaving the Morph tunnel to avoid falling.", + "devNote": [ + "The tunnel does not need to be expanded for Samus to get into the morph tunnel without getting stuck,", + "regardless of if she has Morph or artificial morph, and is in direct or indirect G-mode." + ] }, { "id": 144, @@ -3939,30 +3928,16 @@ "morphed": true } }, - "requires": [ - "h_EverestMorphTunnelExpanded", - "h_artificialMorphLongIBJ", - "Gravity" - ], - "flashSuitChecked": true, - "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab." - }, - { - "id": 145, - "link": [6, 9], - "name": "G-Mode Morph Indirect IBJ", - "entranceCondition": { - "comeInWithGMode": { - "mode": "indirect", - "morphed": true - } - }, "requires": [ "h_artificialMorphLongIBJ", "Gravity" ], "flashSuitChecked": true, - "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab." + "note": "After entering the room, quickly leave the morph tunnel in order to prevent getting hit by the crab.", + "devNote": [ + "The tunnel does not need to be expanded for Samus to get into the morph tunnel without getting stuck,", + "regardless of if she has Morph or artificial morph, and is in direct or indirect G-mode." + ] }, { "id": 146, @@ -5615,7 +5590,7 @@ { "id": 221, "link": [12, 6], - "name": "Carry G-Mode Through the Tunnel", + "name": "Carry G-Mode Morph Through the Tunnel", "requires": [ "canEnterGMode" ],