|
304 | 304 | { |
305 | 305 | "id": 13, |
306 | 306 | "link": [1, 2], |
307 | | - "name": "Precise Grapple", |
| 307 | + "name": "Precise Grapple Fling with Morph", |
308 | 308 | "requires": [ |
309 | 309 | "canPreciseGrapple", |
310 | | - "canTrickyJump", |
| 310 | + "canLateralMidAirMorph", |
| 311 | + "canResetFallSpeed", |
311 | 312 | {"or": [ |
312 | 313 | "canInsaneJump", |
313 | | - {"and": [ |
314 | | - "canLateralMidAirMorph", |
315 | | - {"thornHits": 5} |
316 | | - ]} |
| 314 | + {"thornHits": 5} |
317 | 315 | ]} |
318 | 316 | ], |
319 | 317 | "note": [ |
320 | | - "Fling Samus from the first set of grapple blocks to the second set without falling. Requires precise timing.", |
321 | | - "It can help to perform a lateral mid-air morph and unmorph." |
322 | | - ] |
| 318 | + "Fling Samus from the first set of grapple blocks to the second set without falling.", |
| 319 | + "This requires precise timing but is made easier by morphing and unmorphing to reset Samus' fall speed." |
| 320 | + ], |
| 321 | + "devNote": [ |
| 322 | + "The 5 thornHits are for lenience since it is difficult to get this first try." |
| 323 | + ] |
| 324 | + }, |
| 325 | + { |
| 326 | + "link": [1, 2], |
| 327 | + "name": "Very Precise Grapple Fling", |
| 328 | + "requires": [ |
| 329 | + "canPreciseGrapple", |
| 330 | + "canInsaneJump", |
| 331 | + {"or": [ |
| 332 | + "canBeVeryPatient", |
| 333 | + {"thornHits": 5} |
| 334 | + ]} |
| 335 | + ], |
| 336 | + "note": [ |
| 337 | + "Fling Samus from the first set of grapple blocks to the second set without falling.", |
| 338 | + "This requires a frame-perfect release of Grapple and a 2-frame window to fire Grapple again." |
| 339 | + ], |
| 340 | + "devNote": [ |
| 341 | + "The 5 thornHits are for lenience since it is very difficult to get this first try." |
| 342 | + ] |
323 | 343 | }, |
324 | 344 | { |
325 | 345 | "id": 14, |
|
333 | 353 | { |
334 | 354 | "id": 15, |
335 | 355 | "link": [1, 2], |
336 | | - "name": "Phantoon is Alive Wall Jump", |
| 356 | + "name": "Wall Jump (Power Off)", |
337 | 357 | "requires": [ |
338 | 358 | {"thornHits": 1}, |
339 | 359 | {"or": [ |
|
354 | 374 | { |
355 | 375 | "id": 16, |
356 | 376 | "link": [1, 2], |
357 | | - "name": "Phantoon is Alive Speed Walljump", |
| 377 | + "name": "Speedy Jump Wall Jump (Power Off)", |
358 | 378 | "entranceCondition": { |
359 | 379 | "comeInRunning": { |
360 | 380 | "speedBooster": true, |
361 | | - "minTiles": 3 |
| 381 | + "minTiles": 5 |
362 | 382 | } |
363 | 383 | }, |
364 | 384 | "requires": [ |
|
370 | 390 | "Run from the adjacent room and jump at the end of the platform.", |
371 | 391 | "From the top right platform, jump to the left and wall jump just above the spikes and climb the left wall." |
372 | 392 | ], |
373 | | - "devNote": "Because this requires canCarefulJump, there is no canRiskPermanentLossOfAccess as there is a path across with or without f_DefeatedPhantoon." |
| 393 | + "devNote": [ |
| 394 | + "Because this requires canCarefulJump, there is no canRiskPermanentLossOfAccess as there is a path across with or without f_DefeatedPhantoon.", |
| 395 | + "This variant of the strat includes an extra couple of tiles of runway for lenience." |
| 396 | + ] |
| 397 | + }, |
| 398 | + { |
| 399 | + "link": [1, 2], |
| 400 | + "name": "Tricky Speedy Jump Wall Jump (Power Off)", |
| 401 | + "entranceCondition": { |
| 402 | + "comeInRunning": { |
| 403 | + "speedBooster": true, |
| 404 | + "minTiles": 3 |
| 405 | + } |
| 406 | + }, |
| 407 | + "requires": [ |
| 408 | + "canTrickyJump", |
| 409 | + "canConsecutiveWalljump", |
| 410 | + {"not": "f_DefeatedPhantoon"} |
| 411 | + ], |
| 412 | + "note": [ |
| 413 | + "Run from the adjacent room and jump at the end of the platform.", |
| 414 | + "From the top right platform, jump to the left and wall jump just above the spikes and climb the left wall." |
| 415 | + ] |
| 416 | + }, |
| 417 | + { |
| 418 | + "link": [1, 2], |
| 419 | + "name": "Insane Speedy Jump Wall Jump (Power Off)", |
| 420 | + "entranceCondition": { |
| 421 | + "comeInRunning": { |
| 422 | + "speedBooster": true, |
| 423 | + "minTiles": 2 |
| 424 | + } |
| 425 | + }, |
| 426 | + "requires": [ |
| 427 | + "canInsaneJump", |
| 428 | + "canConsecutiveWalljump", |
| 429 | + {"not": "f_DefeatedPhantoon"} |
| 430 | + ], |
| 431 | + "note": [ |
| 432 | + "Run from the adjacent room and jump at the end of the platform.", |
| 433 | + "From the top right platform, jump to the left and wall jump just above the spikes and climb the left wall." |
| 434 | + ], |
| 435 | + "detailNote": [ |
| 436 | + "With minimal runway length (2 tiles), this has a 2-frame window for the jump.", |
| 437 | + "With a last-frame jump it has a 3-frame window for wall jump,", |
| 438 | + "otherwise the wall jump is frame-perfect." |
| 439 | + ] |
| 440 | + }, |
| 441 | + { |
| 442 | + "link": [1, 2], |
| 443 | + "name": "Speedy Jump Ceiling Mockball (Power Off)", |
| 444 | + "entranceCondition": { |
| 445 | + "comeInRunning": { |
| 446 | + "speedBooster": true, |
| 447 | + "minTiles": 23 |
| 448 | + } |
| 449 | + }, |
| 450 | + "requires": [ |
| 451 | + "canTrickyJump", |
| 452 | + "canMomentumConservingMorph", |
| 453 | + {"or": [ |
| 454 | + "canInsaneJump", |
| 455 | + {"thornHits": 5} |
| 456 | + ]}, |
| 457 | + {"not": "f_DefeatedPhantoon"} |
| 458 | + ], |
| 459 | + "note": [ |
| 460 | + "Using speed from the adjacent room, perform a ceiling mockball to make it across the gap." |
| 461 | + ], |
| 462 | + "devNote": [ |
| 463 | + "The 5 thornHits are for lenience since it is very difficult to get this first try." |
| 464 | + ] |
| 465 | + }, |
| 466 | + { |
| 467 | + "link": [1, 2], |
| 468 | + "name": "Speedy Jump Spring Fling (Power Off)", |
| 469 | + "entranceCondition": { |
| 470 | + "comeInRunning": { |
| 471 | + "speedBooster": true, |
| 472 | + "minTiles": 12 |
| 473 | + } |
| 474 | + }, |
| 475 | + "requires": [ |
| 476 | + "canTrickyJump", |
| 477 | + "canMomentumConservingMorph", |
| 478 | + "canSpringFling", |
| 479 | + {"or": [ |
| 480 | + "canInsaneJump", |
| 481 | + {"thornHits": 5} |
| 482 | + ]}, |
| 483 | + {"not": "f_DefeatedPhantoon"} |
| 484 | + ], |
| 485 | + "note": [ |
| 486 | + "Using speed from the adjacent room, perform a ceiling mockball and equip or unequip Spring Ball to make it across the gap." |
| 487 | + ], |
| 488 | + "devNote": [ |
| 489 | + "The 5 thornHits are for lenience since it is very difficult to get this first try." |
| 490 | + ] |
| 491 | + }, |
| 492 | + { |
| 493 | + "link": [1, 2], |
| 494 | + "name": "Spring Ball Bounce Spring Fling (Power Off)", |
| 495 | + "entranceCondition": { |
| 496 | + "comeInWithMockball": { |
| 497 | + "speedBooster": true, |
| 498 | + "remoteAndLandingMinTiles": [[19, 0]] |
| 499 | + } |
| 500 | + }, |
| 501 | + "requires": [ |
| 502 | + "canTrickyJump", |
| 503 | + "canSpringBallBounce", |
| 504 | + "canSpringFling", |
| 505 | + {"or": [ |
| 506 | + "canInsaneJump", |
| 507 | + {"thornHits": 5} |
| 508 | + ]}, |
| 509 | + {"not": "f_DefeatedPhantoon"} |
| 510 | + ], |
| 511 | + "devNote": [ |
| 512 | + "The 5 thornHits are for lenience since it is difficult to get this first try." |
| 513 | + ] |
| 514 | + }, |
| 515 | + { |
| 516 | + "link": [1, 2], |
| 517 | + "name": "Insane Speedy Jump (Power Off)", |
| 518 | + "entranceCondition": { |
| 519 | + "comeInRunning": { |
| 520 | + "speedBooster": true, |
| 521 | + "minTiles": 36 |
| 522 | + } |
| 523 | + }, |
| 524 | + "requires": [ |
| 525 | + "canInsaneJump", |
| 526 | + {"or": [ |
| 527 | + "canBeVeryPatient", |
| 528 | + {"thornHits": 5} |
| 529 | + ]}, |
| 530 | + {"not": "f_DefeatedPhantoon"} |
| 531 | + ], |
| 532 | + "note": [ |
| 533 | + "Run from the adjacent room and jump at the end of the platform.", |
| 534 | + "Aim down just before bonking the ceiling." |
| 535 | + ], |
| 536 | + "detailNote": [ |
| 537 | + "This requires a last-frame jump and has a 2-frame window for the aim-down." |
| 538 | + ], |
| 539 | + "devNote": [ |
| 540 | + "The 5 thornHits are for lenience since it is very difficult to get this first try." |
| 541 | + ] |
374 | 542 | }, |
375 | 543 | { |
376 | 544 | "id": 17, |
|
0 commit comments