Skip to content

Commit 225e683

Browse files
authored
Merge pull request #2274 from blkerby/missing-grapple-teleports
Miscellaneous grapple teleport updates
2 parents e7878a5 + 122665a commit 225e683

45 files changed

Lines changed: 938 additions & 154 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

helpers.json

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1267,6 +1267,22 @@
12671267
]}
12681268
],
12691269
"note": "There is a delay after using X-Ray before shooting, but the shot cannot be buffered, as it instantly despawns. Grapple can bypass this cooldown."
1270+
},
1271+
{
1272+
"name": "h_heatedGrappleTeleportWallEscape",
1273+
"requires": [
1274+
{"tech": "canGrappleTeleportWallEscape"},
1275+
{"or": [
1276+
{"and": [
1277+
"Morph",
1278+
{"heatFrames": 90}
1279+
]},
1280+
{"and": [
1281+
"canXRayClimb",
1282+
{"heatFrames": 120}
1283+
]}
1284+
]}
1285+
]
12701286
}
12711287
]
12721288
},

region/brinstar/blue/Blue Brinstar Boulder Room.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -659,6 +659,23 @@
659659
"since you could just do a running jump through the door and airball."
660660
]
661661
},
662+
{
663+
"link": [2, 1],
664+
"name": "Grapple Teleport Door Escape",
665+
"entranceCondition": {
666+
"comeInWithGrappleTeleport": {
667+
"blockPositions": [[3, 12], [3, 13]]
668+
}
669+
},
670+
"requires": [
671+
{"or": [
672+
"canGrappleTeleportWallEscape",
673+
{"doorUnlockedAtNode": 1}
674+
]}
675+
],
676+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
677+
"flashSuitChecked": true
678+
},
662679
{
663680
"id": 27,
664681
"link": [2, 1],

region/brinstar/blue/Construction Zone.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -866,6 +866,23 @@
866866
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
867867
"flashSuitChecked": true
868868
},
869+
{
870+
"link": [3, 2],
871+
"name": "Grapple Teleport Door Escape",
872+
"entranceCondition": {
873+
"comeInWithGrappleTeleport": {
874+
"blockPositions": [[12, 12], [12, 13]]
875+
}
876+
},
877+
"requires": [
878+
{"or": [
879+
"canGrappleTeleportWallEscape",
880+
{"doorUnlockedAtNode": 2}
881+
]}
882+
],
883+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
884+
"flashSuitChecked": true
885+
},
869886
{
870887
"id": 34,
871888
"link": [3, 2],

region/brinstar/green/Brinstar Pre-Map Room.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -314,6 +314,23 @@
314314
"requires": [],
315315
"flashSuitChecked": true
316316
},
317+
{
318+
"link": [2, 1],
319+
"name": "Grapple Teleport Door Escape",
320+
"entranceCondition": {
321+
"comeInWithGrappleTeleport": {
322+
"blockPositions": [[3, 12], [3, 13]]
323+
}
324+
},
325+
"requires": [
326+
{"or": [
327+
"canGrappleTeleportWallEscape",
328+
{"doorUnlockedAtNode": 1}
329+
]}
330+
],
331+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
332+
"flashSuitChecked": true
333+
},
317334
{
318335
"id": 15,
319336
"link": [2, 1],

region/brinstar/green/Etecoon Energy Tank Room.json

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -443,6 +443,23 @@
443443
"Make small jumps to reset the camera then quickly kill the Beetom as it jumps at Samus, or precisely jump underneath it."
444444
]
445445
},
446+
{
447+
"link": [2, 1],
448+
"name": "Grapple Teleport Door Escape",
449+
"entranceCondition": {
450+
"comeInWithGrappleTeleport": {
451+
"blockPositions": [[3, 12], [3, 13]]
452+
}
453+
},
454+
"requires": [
455+
{"or": [
456+
"canGrappleTeleportWallEscape",
457+
{"doorUnlockedAtNode": 1}
458+
]}
459+
],
460+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
461+
"flashSuitChecked": true
462+
},
446463
{
447464
"id": 10,
448465
"link": [2, 1],
@@ -1245,6 +1262,23 @@
12451262
"requires": [],
12461263
"flashSuitChecked": true
12471264
},
1265+
{
1266+
"link": [4, 1],
1267+
"name": "Grapple Teleport Door Escape",
1268+
"entranceCondition": {
1269+
"comeInWithGrappleTeleport": {
1270+
"blockPositions": [[3, 12], [3, 13]]
1271+
}
1272+
},
1273+
"requires": [
1274+
{"or": [
1275+
"canGrappleTeleportWallEscape",
1276+
{"doorUnlockedAtNode": 1}
1277+
]}
1278+
],
1279+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
1280+
"flashSuitChecked": true
1281+
},
12481282
{
12491283
"id": 39,
12501284
"link": [4, 1],

region/brinstar/green/Green Hill Zone.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1263,6 +1263,23 @@
12631263
"requires": [],
12641264
"flashSuitChecked": true
12651265
},
1266+
{
1267+
"link": [3, 1],
1268+
"name": "Grapple Teleport Door Escape",
1269+
"entranceCondition": {
1270+
"comeInWithGrappleTeleport": {
1271+
"blockPositions": [[3, 12], [3, 13]]
1272+
}
1273+
},
1274+
"requires": [
1275+
{"or": [
1276+
"canGrappleTeleportWallEscape",
1277+
{"doorUnlockedAtNode": 1}
1278+
]}
1279+
],
1280+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
1281+
"flashSuitChecked": true
1282+
},
12661283
{
12671284
"id": 51,
12681285
"link": [3, 1],

region/brinstar/kraid/Warehouse Entrance.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -472,6 +472,23 @@
472472
},
473473
"requires": []
474474
},
475+
{
476+
"link": [3, 1],
477+
"name": "Grapple Teleport Door Escape",
478+
"entranceCondition": {
479+
"comeInWithGrappleTeleport": {
480+
"blockPositions": [[3, 12], [3, 13]]
481+
}
482+
},
483+
"requires": [
484+
{"or": [
485+
"canGrappleTeleportWallEscape",
486+
{"doorUnlockedAtNode": 1}
487+
]}
488+
],
489+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
490+
"flashSuitChecked": true
491+
},
475492
{
476493
"id": 22,
477494
"link": [3, 1],

region/brinstar/pink/Dachora Room.json

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,23 @@
474474
"flashSuitChecked": true,
475475
"note": "Use a Power Bomb to destroy the bomb block wall."
476476
},
477+
{
478+
"link": [1, 3],
479+
"name": "Grapple Teleport Door Escape",
480+
"entranceCondition": {
481+
"comeInWithGrappleTeleport": {
482+
"blockPositions": [[108, 12], [108, 13]]
483+
}
484+
},
485+
"requires": [
486+
{"or": [
487+
"canGrappleTeleportWallEscape",
488+
{"doorUnlockedAtNode": 3}
489+
]}
490+
],
491+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
492+
"flashSuitChecked": true
493+
},
477494
{
478495
"id": 18,
479496
"link": [1, 3],
@@ -745,6 +762,23 @@
745762
"A single IBJ is slow enough at the top to overload them before Samus can hit the blocks."
746763
]
747764
},
765+
{
766+
"link": [2, 3],
767+
"name": "Grapple Teleport Door Escape",
768+
"entranceCondition": {
769+
"comeInWithGrappleTeleport": {
770+
"blockPositions": [[108, 12], [108, 13]]
771+
}
772+
},
773+
"requires": [
774+
{"or": [
775+
"canGrappleTeleportWallEscape",
776+
{"doorUnlockedAtNode": 3}
777+
]}
778+
],
779+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
780+
"flashSuitChecked": true
781+
},
748782
{
749783
"id": 35,
750784
"link": [2, 3],
@@ -919,6 +953,23 @@
919953
},
920954
"requires": []
921955
},
956+
{
957+
"link": [3, 1],
958+
"name": "Grapple Teleport Door Escape",
959+
"entranceCondition": {
960+
"comeInWithGrappleTeleport": {
961+
"blockPositions": [[3, 12], [3, 13]]
962+
}
963+
},
964+
"requires": [
965+
{"or": [
966+
"canGrappleTeleportWallEscape",
967+
{"doorUnlockedAtNode": 1}
968+
]}
969+
],
970+
"unlocksDoors": [{"types": ["ammo"], "requires": []}],
971+
"flashSuitChecked": true
972+
},
922973
{
923974
"id": 45,
924975
"link": [3, 1],

region/brinstar/pink/Mission Impossible Room.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,9 @@
671671
"Then hold right to release Grapple while standing.",
672672
"Samus should get pushed up onto the floor.",
673673
"Run to the right and reach the door, taking just one hit from a Hopper."
674+
],
675+
"devNote": [
676+
"This doesn't require `canGrappleTeleportWallEscape` tech, because the lower floor height makes it easier."
674677
]
675678
},
676679
{

region/brinstar/pink/Pink Brinstar Wave Gate Room.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1961,7 +1961,7 @@
19611961
"after just one pixel of Samus' feet are visible while crouching facing left, perform exactly 7 more X-Ray stand-ups.",
19621962
"Use X-ray to face left, then run and jump to barely make it onto the ledge."
19631963
],
1964-
"devNote": ["3 pixels stuck in the door is X position 478 (0x1DE)."]
1964+
"devNote": ["3 pixels stuck in the door is X position $1DE."]
19651965
},
19661966
{
19671967
"id": 65,
@@ -1987,9 +1987,9 @@
19871987
"Use X-ray to face left, then run and jump to barely make it onto the ledge."
19881988
],
19891989
"devNote": [
1990-
"9 pixels stuck in the door is X position 484 (0x1E4).",
1991-
"The correct Y positions for the jump are 193 (0xC1), 188 (0xBC), and 187 (0xBB)",
1992-
"FIXME: Some of the X position to the left (482, 483) could also work; maybe investigate which vertical positions work for them?"
1990+
"9 pixels stuck in the door is X position $1E4.",
1991+
"The correct Y positions for the jump are $C1, $BC, and $BB",
1992+
"FIXME: Some of the X position to the left ($1E2, $1E3) could also work; maybe investigate which vertical positions work for them?"
19931993
]
19941994
},
19951995
{

0 commit comments

Comments
 (0)