Skip to content

Commit 1936bc7

Browse files
authored
Merge pull request #2144 from blkerby/bowling-alley
More Bowling Alley X-Ray climbs
2 parents b62bcca + 05e2f87 commit 1936bc7

2 files changed

Lines changed: 186 additions & 3 deletions

File tree

region/wreckedship/main/Bowling Alley.json

Lines changed: 156 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -195,6 +195,7 @@
195195
{
196196
"from": 2,
197197
"to": [
198+
{"id": 1},
198199
{"id": 2},
199200
{"id": 6},
200201
{"id": 7}
@@ -438,6 +439,71 @@
438439
"clearsObstacles": ["B"],
439440
"note": "The camera will not follow Samus after clipping."
440441
},
442+
{
443+
"link": [2, 1],
444+
"name": "Shinespark Slope Clip X-Ray Climb (Power Off)",
445+
"requires": [
446+
{"not": "f_DefeatedPhantoon"},
447+
"canRiskPermanentLossOfAccess",
448+
"h_shinechargeMaxRunway",
449+
"canShinechargeMovement",
450+
{"shinespark": {"frames": 1, "excessFrames": 1}},
451+
"canShinesparkSlopeClip",
452+
"canXRayClimb",
453+
{"or": [
454+
{"getBlueSpeed": {"usedTiles": 16, "steepDownTiles": 4, "openEnd": 0}},
455+
"can4HighMidAirMorph"
456+
]}
457+
],
458+
"exitCondition": {
459+
"leaveNormally": {}
460+
},
461+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
462+
"note": [
463+
"Gain a shinecharge near the Chozo statue, jump on top of it,",
464+
"press against the wall to the right, and activate a horizontal shinespark to the right.",
465+
"Samus will clip into the wall and be able to X-Ray climb to the space above."
466+
],
467+
"detailNote": [
468+
"This trick works because the wall is made of half-tile slopes, rather than regular solid tiles."
469+
],
470+
"devNote": [
471+
"The leaveNormally is to ensure it won't be required to do the Speed block moondance blind up there."
472+
]
473+
},
474+
{
475+
"link": [2, 1],
476+
"name": "Shinespark Slope Clip X-Ray Climb (Come in Shinecharged)",
477+
"entranceCondition": {
478+
"comeInShinecharged": {}
479+
},
480+
"requires": [
481+
{"shineChargeFrames": 50},
482+
"canShinechargeMovementTricky",
483+
{"shinespark": {"frames": 88, "excessFrames": 0}},
484+
"canShinesparkSlopeClip",
485+
"canXRayClimb",
486+
{"or": [
487+
{"getBlueSpeed": {"usedTiles": 16, "steepDownTiles": 4, "openEnd": 0}},
488+
"can4HighMidAirMorph"
489+
]}
490+
],
491+
"exitCondition": {
492+
"leaveNormally": {}
493+
},
494+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
495+
"note": [
496+
"Jump close to ceiling, and activate a shinespark to the right.",
497+
"If successful, Samus will clip into the wall behind the Chozo statue and be able to X-Ray climb up."
498+
],
499+
"detailNote": [
500+
"Only certain horizontal positions will cause Samus to clip into the wall.",
501+
"It will work to activate the spark while Samus is centered under the second Grapple block or slightly to the left."
502+
],
503+
"devNote": [
504+
"The leaveNormally is to ensure it won't be required to do the Speed block moondance blind up there."
505+
]
506+
},
441507
{
442508
"id": 11,
443509
"link": [2, 2],
@@ -971,6 +1037,10 @@
9711037
]}
9721038
]}
9731039
],
1040+
"exitCondition": {
1041+
"leaveNormally": {}
1042+
},
1043+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
9741044
"flashSuitChecked": true,
9751045
"note": [
9761046
"Climb up about half a screen.",
@@ -988,7 +1058,8 @@
9881058
"devNote": [
9891059
"FIXME: The canBeVeryPatient is for difficulty placement, as the damageless Space Jump version would likely require many attempts.",
9901060
"The resourceCapacity requirement is to ensure that reserve energy management will not be needed for the lower-difficulty version of the strat;",
991-
"this could be refined since suits can affect spike damage, but we don't yet have a good way to represent that cleanly, given that randomizers are likely to modify suit damage protection."
1061+
"this could be refined since suits can affect spike damage, but we don't yet have a good way to represent that cleanly, given that randomizers are likely to modify suit damage protection.",
1062+
"The leaveNormally is because the camera will be broken and we don't want to require unreasonable things without being able to reset it."
9921063
]
9931064
},
9941065
{
@@ -1402,6 +1473,10 @@
14021473
"Grapple",
14031474
{"obstaclesNotCleared": ["B"]}
14041475
],
1476+
"exitCondition": {
1477+
"leaveNormally": {}
1478+
},
1479+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
14051480
"flashSuitChecked": true,
14061481
"note": "Menu to Grappling Beam before the crystal flash ends and mash shoot while holding down."
14071482
},
@@ -1418,6 +1493,10 @@
14181493
{"canShineCharge": {"usedTiles": 25, "openEnd": 1}},
14191494
{"shinespark": {"frames": 0, "excessFrames": 0}}
14201495
],
1496+
"exitCondition": {
1497+
"leaveNormally": {}
1498+
},
1499+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
14211500
"flashSuitChecked": true,
14221501
"note": [
14231502
"Fall through the Crumble blocks in order to damage down using either the spikes or repeated Shinesparks.",
@@ -1486,6 +1565,10 @@
14861565
]}
14871566
]}
14881567
],
1568+
"exitCondition": {
1569+
"leaveNormally": {}
1570+
},
1571+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
14891572
"flashSuitChecked": true,
14901573
"note": [
14911574
"Jump or Spring Ball jump into a breakable Grapple block.",
@@ -1516,6 +1599,10 @@
15161599
"h_CrystalFlash",
15171600
"canXRayClimb"
15181601
],
1602+
"exitCondition": {
1603+
"leaveNormally": {}
1604+
},
1605+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
15191606
"flashSuitChecked": true,
15201607
"note": [
15211608
"IBJ into a breakable Grapple block.",
@@ -1525,6 +1612,73 @@
15251612
],
15261613
"devNote": "FIXME: This may be possible without a spike hit."
15271614
},
1615+
{
1616+
"link": [6, 1],
1617+
"name": "Grapple Fling into Grapple Block, Crystal Flash, X-Ray Climb",
1618+
"requires": [
1619+
{"notable": "Grapple Block Crystal Flash"},
1620+
"canPreciseGrapple",
1621+
"canJumpIntoRespawningBlock",
1622+
"canInsaneJump",
1623+
"h_bombThings",
1624+
"h_CrystalFlash",
1625+
"canXRayClimb",
1626+
{"or": [
1627+
"h_fourTileJumpMorph",
1628+
"h_useSpringBall",
1629+
"canIBJ",
1630+
"SpeedBooster",
1631+
{"and": [
1632+
{"not": "f_DefeatedPhantoon"},
1633+
"canRiskPermanentLossOfAccess"
1634+
]}
1635+
]}
1636+
],
1637+
"exitCondition": {
1638+
"leaveNormally": {}
1639+
},
1640+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
1641+
"flashSuitChecked": true,
1642+
"note": [
1643+
"Use a Grapple fling to get stuck inside a breakable Grapple block.",
1644+
"It can help to break two or more Grapple blocks in a row.",
1645+
"Crystal Flash then X-ray climb to the region above (less than 1 screen).",
1646+
"There is a chance that Samus will not be able to Crystal Flash unless first placing a Bomb or Power Bomb."
1647+
]
1648+
},
1649+
{
1650+
"link": [6, 1],
1651+
"name": "Shinespark Slope Clip X-Ray Climb (X-Mode)",
1652+
"requires": [
1653+
"canXMode",
1654+
"h_XModeSpikeHit",
1655+
"h_shinechargeMaxRunway",
1656+
"canShinechargeMovement",
1657+
{"shinespark": {"frames": 1, "excessFrames": 1}},
1658+
"canShinesparkSlopeClip",
1659+
"canXRayClimb",
1660+
{"or": [
1661+
{"getBlueSpeed": {"usedTiles": 16, "steepDownTiles": 4, "openEnd": 0}},
1662+
"can4HighMidAirMorph"
1663+
]}
1664+
],
1665+
"exitCondition": {
1666+
"leaveNormally": {}
1667+
},
1668+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
1669+
"note": [
1670+
"Use X-mode to gain a shinecharge near the Chozo statue.",
1671+
"Jump onto the Chozo statue, press against the wall, and shinespark into it to clip in;",
1672+
"then X-Ray climb up."
1673+
],
1674+
"detailNote": [
1675+
"A second spike hit can be avoided by holding an angle button to turn around while in X-mode;",
1676+
"arm pump to move out of the spikes before activating the shinecharge and exiting X-mode."
1677+
],
1678+
"devNote": [
1679+
"The leaveNormally is to ensure it won't be required to do the Speed block moondance blind up there."
1680+
]
1681+
},
15281682
{
15291683
"id": 54,
15301684
"link": [6, 3],
@@ -1635,5 +1789,5 @@
16351789
}
16361790
],
16371791
"nextStratId": 69,
1638-
"nextNotableId": 6
1792+
"nextNotableId": 7
16391793
}

tech.json

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2009,8 +2009,25 @@
20092009
"otherRequires": [],
20102010
"note": [
20112011
"Activating a shinespark to get deep stuck in a door.",
2012-
"This is done by shooting open the door and spin-jumping towards it with a shine charge, then pressing angle up to activate a shinespark on the same frame as getting a wall jump check by moving away from the transition tiles.",
2012+
"This is done by spin jumping, facing away from the door, and pressing angle up to activate a shinespark on the same frame as getting a wall jump check.",
20132013
"While going through the transition, hold jump and angle up."
2014+
],
2015+
"detailNote": [
2016+
"If enough shinecharge frames are available, the recommended method is to moonwalk back into the doorway and perform a stationary spin jump:",
2017+
"with this method, the deep stuck will always succeed as long as the forward press and angle-up press happen on the same frame.",
2018+
"If instead approaching the door with momentum,",
2019+
"backward must be pressed before Samus is in wall-jump check range,",
2020+
"but close enough that Samus will reach wall-jump check range during the turnaround deceleration;",
2021+
"angle-up must then be pressed on the frame that the wall-jump check triggers.",
2022+
"This will need to happen after a delay of at least 1 frame after the backward press, but possibly more at high speeds.",
2023+
"Note that if backward is pressed while already in wall-jump check range, there is no timing for the angle-up press that will work:",
2024+
"if angle-up is pressed on the same frame as the wall-jump check, Samus will be facing the wrong direction when the spark activates,",
2025+
"and if not, then the spark will not activate at all.",
2026+
"With a walking spin-jump toward the door (i.e. no dash speed), the angle-up press will usually need to be delayed by exactly 1 frame after the backward press,",
2027+
"and the backward press will usually also be frame-perfect, right at the edge of the wall-jump check range.",
2028+
"At higher speeds, there will be a larger frame window for the backward press as the turnaround deceleration will last longer,",
2029+
"but the angle-up press is still frame-perfect,",
2030+
"and its required timing (relative to the backward press) will vary based on Samus' X position when the backward press happens."
20142031
]
20152032
}
20162033
]
@@ -2079,6 +2096,18 @@
20792096
"note": [
20802097
"The ability to control where a shinespark ends, by starting with a certain amount of energy."
20812098
]
2099+
},
2100+
{
2101+
"name": "canShinesparkSlopeClip",
2102+
"techRequires": [
2103+
"canShinespark"
2104+
],
2105+
"otherRequires": [],
2106+
"note": [
2107+
"The ability to clip into a slope-type wall by shinesparking into it.",
2108+
"In some cases this may require activating the spark at a precise horizontal position.",
2109+
"Clipping into a wall in this way can be used to set up an X-Ray climb."
2110+
]
20822111
}
20832112
]
20842113
},

0 commit comments

Comments
 (0)