Skip to content

Commit ddcdead

Browse files
authored
Merge pull request #1989 from blkerby/side-platforms-4
Colosseum side platform applications
2 parents 08e76b0 + 42ecf66 commit ddcdead

7 files changed

Lines changed: 311 additions & 5 deletions

File tree

region/brinstar/blue/Blue Brinstar Energy Tank Room.json

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -299,7 +299,9 @@
299299
"1) Most easily, with a momentum-conserving morph against the ceiling through the transition,",
300300
"2) With a momentum-conserving turnaround through the transition, or",
301301
"3) Jumping and aiming down through the transition.",
302-
"Either back into the corner, or press against it and turn around; it doesn't matter which."
302+
"To maximize the lenience for the jump, back into the Power Bomb block corner,",
303+
"and while running perform a single-pixel arm pump (e.g. by firing a shot);",
304+
"this only matters in certain situations, but in all cases it won't hurt."
303305
],
304306
"devNote": [
305307
"Max extra run speed $5.4.",

region/maridia/inner-pink/Below Botwoon Energy Tank.json

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,7 +175,10 @@
175175
]}
176176
],
177177
"clearsObstacles": ["A"],
178-
"note": "The Owtch can be killed with a Power Bomb or blue speed, or while it is moving leftward with a Super, Charge, or Plasma."
178+
"note": "The Owtch can be killed with a Power Bomb or blue speed, or while it is moving leftward with a Super, Charge, or Plasma.",
179+
"devNote": [
180+
"FIXME: Add alternatives that evade the Owtch rather than killing it (either here or on the strats that rely on obstacle 'A' cleared)."
181+
]
179182
},
180183
{
181184
"id": 22,
@@ -184,7 +187,7 @@
184187
"requires": [
185188
{"obstaclesCleared": ["A"]},
186189
"Gravity",
187-
"canInsaneJump",
190+
"canTrickyDashJump",
188191
{"or": [
189192
"canMomentumConservingMorph",
190193
"canMomentumConservingTurnaround"
@@ -203,7 +206,11 @@
203206
"obstruction": [3, 0]
204207
}
205208
},
206-
"devNote": ["Max extra run speed $4.B."]
209+
"devNote": [
210+
"Max extra run speed $4.B.",
211+
"FIXME: The canTrickyDashJump is for difficulty placement but could probably be replaced by a more fitting tech,",
212+
"since this isn't actually relying on a spike in jump height based on gaining a specific speed."
213+
]
207214
},
208215
{
209216
"id": 5,

region/maridia/inner-pink/Colosseum.json

Lines changed: 283 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1194,6 +1194,289 @@
11941194
],
11951195
"note": "Uses a runway of two tiles in the adjacent room."
11961196
},
1197+
{
1198+
"link": [2, 3],
1199+
"name": "Side Platform Cross Room Jump",
1200+
"entranceCondition": {
1201+
"comeInWithSidePlatform": {
1202+
"platforms": [
1203+
{
1204+
"minHeight": 2,
1205+
"maxHeight": 2,
1206+
"minTiles": 27.4375,
1207+
"speedBooster": true,
1208+
"obstructions": [[1, 0]],
1209+
"requires": [
1210+
"canMomentumConservingTurnaround"
1211+
],
1212+
"note": ["This applies to Dust Torizo Room and Noob Bridge."],
1213+
"devNote": [
1214+
"The jump could also be done with a shorter runway, with a tricky dash jump using run speed $4.0 or $4.1.",
1215+
"But it wouldn't apply to any more rooms in the game."
1216+
]
1217+
},
1218+
{
1219+
"minHeight": 3,
1220+
"maxHeight": 3,
1221+
"minTiles": 28.2472,
1222+
"speedBooster": true,
1223+
"obstructions": [[1, 0]],
1224+
"requires": [
1225+
"canMomentumConservingTurnaround"
1226+
],
1227+
"note": ["This applies to Double Chamber."],
1228+
"devNote": [
1229+
"The jump could also be done with a shorter runway, with a tricky dash jump using run speed $4.0 or $4.1.",
1230+
"But it wouldn't apply to any more rooms in the game."
1231+
]
1232+
},
1233+
{
1234+
"minHeight": 1,
1235+
"maxHeight": 1,
1236+
"minTiles": 23.8731,
1237+
"speedBooster": true,
1238+
"obstructions": [[3, 0]],
1239+
"environment": "water",
1240+
"requires": [
1241+
"canTrickyDashJump",
1242+
"canGravityJump",
1243+
"canMomentumConservingTurnaround"
1244+
],
1245+
"note": [
1246+
"This applies to Below Botwoon Energy Tank and Botwoon Energy Tank Room",
1247+
"gain run speed, and time a pause to unequip Gravity after Samus jumps;",
1248+
"hold down and back through the unpause to buffer a turnaround."
1249+
],
1250+
"detailNote": [
1251+
"With a momentum conserving turnaround, this has a 3-frame window for the jump,",
1252+
"and between a 5-frame and 7-frame window for the pause, depending on the jump timing",
1253+
"(with later jumps corresponding to larger windows for the pause to hit).",
1254+
"A ceiling mockball is also possible but with greater difficulty."
1255+
],
1256+
"devNote": [
1257+
"FIXME: The `canTrickyDashJump` is for difficulty placement but could probably be replaced by a more fitting tech,",
1258+
"since this isn't actually relying on a spike in jump height based on gaining a specific speed."
1259+
]
1260+
},
1261+
{
1262+
"minHeight": 2,
1263+
"maxHeight": 2,
1264+
"minTiles": 45,
1265+
"speedBooster": true,
1266+
"obstructions": [[3, 0]],
1267+
"requires": [
1268+
"canInsaneJump",
1269+
{"or": [
1270+
"canMomentumConservingMorph",
1271+
"canMomentumConservingTurnaround"
1272+
]}
1273+
],
1274+
"note": ["This applies to Statues Hallway and Baby Kraid Room."],
1275+
"devNote": [
1276+
"With a momentum conserving morph, this has a 2-frame window for the jump,",
1277+
"and a 1-frame or 2-frame window for the morph depending on the jump timing",
1278+
"(with a last-frame jump giving the larger window for the morph).",
1279+
"With a turnaround, this requires a last-frame jump, with a 2-frame window for the turnaround."
1280+
]
1281+
},
1282+
{
1283+
"minHeight": 3,
1284+
"maxHeight": 3,
1285+
"minTiles": 21.4375,
1286+
"speedBooster": true,
1287+
"obstructions": [[3, 0]],
1288+
"environment": "water",
1289+
"requires": [
1290+
"canTrickyDashJump",
1291+
"canInsaneJump",
1292+
"canGravityJump",
1293+
"canMomentumConservingTurnaround"
1294+
],
1295+
"note": [
1296+
"This applies to Draygon's Room.",
1297+
"Start about a tile away from the wall, gain run speed, and time a pause to unequip Gravity after Samus jumps;",
1298+
"hold down and back through the unpause to buffer a turnaround."
1299+
],
1300+
"detailNote": [
1301+
"Gain extra run speed of $4.0 or $4.1.",
1302+
"A last-frame jump with a speed of $4.1 gives a 5-frame window for the pause/turnaround,",
1303+
"while a second-to-last-frame jump with a speed of $4.0 gives a 2-frame window."
1304+
],
1305+
"devNote": [
1306+
"If Spring Ball is available, the frame window for the turnaround with $4.0 speed can be larger,",
1307+
"but it doesn't seem like a big enough difference to justify separate logical requirements."
1308+
]
1309+
},
1310+
{
1311+
"minHeight": 3,
1312+
"maxHeight": 3,
1313+
"minTiles": 41.4375,
1314+
"speedBooster": true,
1315+
"obstructions": [[3, 0]],
1316+
"requires": [
1317+
"canInsaneJump",
1318+
"canMomentumConservingTurnaround"
1319+
],
1320+
"note": [
1321+
"This applies to Blue Brinstar Energy Tank Room (Power Bomb blocks broken), Bowling Alley (middle), and Basement."
1322+
],
1323+
"detailNote": [
1324+
"With ideal starting position, this has a 2-frame window for the jump,",
1325+
"and a 1-frame or 3-frame window for the turnaround based on the jump timing",
1326+
"(with a last-frame jump giving the larger window for the turnaround).",
1327+
"A ceiling mockball is also possible but more difficult, requiring a last-frame jump and a 2-frame window for the morph."
1328+
],
1329+
"devNote": [
1330+
"The trick is more difficult if using the full runway in the long rooms Bowling Alley or Basement,",
1331+
"requiring a last-frame jump and a 2-frame window for the turnaround."
1332+
]
1333+
},
1334+
{
1335+
"minHeight": 3,
1336+
"maxHeight": 3,
1337+
"minTiles": 39.4375,
1338+
"speedBooster": true,
1339+
"obstructions": [[3, 2]],
1340+
"requires": [
1341+
"canMomentumConservingTurnaround"
1342+
],
1343+
"note": ["This applies to Metal Pirates Room."],
1344+
"detailNote": ["Starting the turnaround before the transition helps make this easier."]
1345+
},
1346+
{
1347+
"minHeight": 3,
1348+
"maxHeight": 3,
1349+
"minTiles": 39.4375,
1350+
"speedBooster": true,
1351+
"obstructions": [[5, 2]],
1352+
"requires": [
1353+
{"or": [
1354+
"canMomentumConservingTurnaround",
1355+
"canMomentumConservingMorph"
1356+
]}
1357+
],
1358+
"note": ["This applies to Flyway"],
1359+
"devNote": [
1360+
"This requires a last-frame jump, with a 3-frame window for the turnaround.",
1361+
"A ceiling mockball is also possible, with somewhat greater difficulty:",
1362+
"it needs a last-frame jump, with a 2-frame window for the morph."
1363+
]
1364+
}
1365+
]
1366+
}
1367+
},
1368+
"requires": [
1369+
"canCrossRoomJumpIntoWater",
1370+
"canTrickyJump"
1371+
]
1372+
},
1373+
{
1374+
"link": [2, 3],
1375+
"name": "Side Platform Cross Room Jump into Spring Ball Jump",
1376+
"entranceCondition": {
1377+
"comeInWithSidePlatform": {
1378+
"platforms": [
1379+
{
1380+
"minHeight": 1,
1381+
"maxHeight": 1,
1382+
"minTiles": 4,
1383+
"speedBooster": false,
1384+
"obstructions": [[1, 0]],
1385+
"note": "Applies to Skree Boost Room, Screw Attack Room, and Lava Dive"
1386+
},
1387+
{
1388+
"minHeight": 2,
1389+
"maxHeight": 2,
1390+
"minTiles": 5.4375,
1391+
"speedBooster": false,
1392+
"obstructions": [[1, 0]],
1393+
"requires": [
1394+
"canTrickySpringBallJump",
1395+
"canTrickyJump"
1396+
],
1397+
"note": "Applies to Early Supers Room, Blue Hopper Room, Bowling Alley (bottom), Dust Torizo Room, and Noob Bridge"
1398+
},
1399+
{
1400+
"minHeight": 3,
1401+
"maxHeight": 3,
1402+
"minTiles": 9.4375,
1403+
"speedBooster": false,
1404+
"obstructions": [[1, 0]],
1405+
"requires": [
1406+
"canTrickySpringBallJump",
1407+
"canTrickyJump"
1408+
],
1409+
"note": "Applies to Bomb Torizo Room, Pink Brinstar Hopper Room, Phantoon's Room, Big Boy Room, and Double Chamber."
1410+
},
1411+
{
1412+
"minHeight": 3,
1413+
"maxHeight": 3,
1414+
"minTiles": 9.4375,
1415+
"speedBooster": false,
1416+
"obstructions": [[3, 2]],
1417+
"requires": [
1418+
"canTrickySpringBallJump",
1419+
"canTrickyJump",
1420+
"canJumpIntoIBJ",
1421+
{"enemyDamage": {"enemy": "Mochtroid", "type": "contact", "hits": 1}}
1422+
],
1423+
"note": "Applies to Metal Pirates Room."
1424+
},
1425+
{
1426+
"minHeight": 2,
1427+
"maxHeight": 2,
1428+
"minTiles": 31,
1429+
"speedBooster": true,
1430+
"obstructions": [[3, 0]],
1431+
"requires": [
1432+
"canInsaneJump",
1433+
{"or": [
1434+
"canMomentumConservingTurnaround",
1435+
"canMomentumConservingMorph"
1436+
]}
1437+
],
1438+
"note": ["This applies to Metroid Room 1."],
1439+
"detailNote": [
1440+
"With ideal positioning, starting 5 or 6 pixels from the end of the runway,",
1441+
"this has a 2-frame window for the jump, and a 1-frame or 3-frame window for the turnaround based on the jump timing",
1442+
"(with a last-frame jump giving the larger window for the turnaround).",
1443+
"This can also be done with a momentum conserving morph:",
1444+
"it has a 2-frame window for the jump, and a 1-frame or 2-frame window for the turnaround based on the jump timing."
1445+
]
1446+
},
1447+
{
1448+
"minHeight": 3,
1449+
"maxHeight": 3,
1450+
"minTiles": 30.4375,
1451+
"speedBooster": true,
1452+
"obstructions": [[3, 0]],
1453+
"requires": [
1454+
"canInsaneJump",
1455+
"canMomentumConservingTurnaround"
1456+
],
1457+
"note": [
1458+
"This applies to Blue Brinstar Energy Tank Room (Power Bomb blocks intact)."
1459+
],
1460+
"detailNote": [
1461+
"With ideal starting position, this has a 2-frame window for the jump,",
1462+
"and a 1-frame or 3-frame window for the turnaround based on the jump timing",
1463+
"(with a last-frame jump giving the larger window for the turnaround)."
1464+
]
1465+
}
1466+
]
1467+
}
1468+
},
1469+
"requires": [
1470+
"canCrossRoomJumpIntoWater",
1471+
"canMomentumConservingTurnaround",
1472+
"canSpringBallJumpMidAir"
1473+
],
1474+
"devNote": [
1475+
"This strat is included for completeness even though it's not really useful;",
1476+
"it would be easier to use the runway attached to the door, even if it is only 1 tile long,",
1477+
"i.e. with the 'Cross Room Jump with Spring Ball' strat (id: 51)."
1478+
]
1479+
},
11971480
{
11981481
"id": 52,
11991482
"link": [2, 3],

region/maridia/outer/Crab Hole.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1164,7 +1164,7 @@
11641164
"minHeight": 2,
11651165
"maxHeight": 2,
11661166
"minTiles": 23,
1167-
"speedBooster": "any",
1167+
"speedBooster": true,
11681168
"obstructions": [[3, 0]],
11691169
"requires": [
11701170
"canInsaneJump",

region/tourian/main/Metroid Room 1.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,10 @@
166166
"obstruction": [3, 0]
167167
}
168168
},
169+
"note": [
170+
"It is best to start 4 or 5 pixels from the end of the runway;",
171+
"equivalently, start at the end of the runway and use arm pumps to advance 4 or 5 pixels while running."
172+
],
169173
"devNote": "Max extra run speed $5.7."
170174
},
171175
{

region/wreckedship/main/Bowling Alley.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -454,6 +454,7 @@
454454
"obstruction": [3, 0]
455455
}
456456
},
457+
"note": "If using the full runway, back into the corner against the Chozo statue.",
457458
"devNote": ["Max extra run speed $7.0."]
458459
},
459460
{

schema/m3-room.schema.json

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -716,13 +716,22 @@
716716
}
717717
}
718718
},
719+
"environment": {
720+
"type": "string",
721+
"description": "Environment that Samus is in while exiting the previous room.",
722+
"enum": ["water", "air", "any"],
723+
"default": "any"
724+
},
719725
"requires": {
720726
"$ref" : "m3-requirements.schema.json#/definitions/logicalRequirements",
721727
"description": "Logical requirements specific to using this platform geometry."
722728
},
723729
"note": {
724730
"$ref" : "m3-note.schema.json#/definitions/note"
725731
},
732+
"detailNote": {
733+
"$ref" : "m3-note.schema.json#/definitions/detailNote"
734+
},
726735
"devNote": {
727736
"$ref" : "m3-note.schema.json#/definitions/devNote"
728737
}

0 commit comments

Comments
 (0)