Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
194 changes: 181 additions & 13 deletions region/wreckedship/main/Wrecked Ship Energy Tank Room.json
Original file line number Diff line number Diff line change
Expand Up @@ -304,22 +304,42 @@
{
"id": 13,
"link": [1, 2],
"name": "Precise Grapple",
"name": "Precise Grapple Fling with Morph",
"requires": [
"canPreciseGrapple",
"canTrickyJump",
"canLateralMidAirMorph",
"canResetFallSpeed",
{"or": [
"canInsaneJump",
{"and": [
"canLateralMidAirMorph",
{"thornHits": 5}
]}
{"thornHits": 5}
]}
],
"note": [
"Fling Samus from the first set of grapple blocks to the second set without falling. Requires precise timing.",
"It can help to perform a lateral mid-air morph and unmorph."
]
"Fling Samus from the first set of grapple blocks to the second set without falling.",
"This requires precise timing but is made easier by morphing and unmorphing to reset Samus' fall speed."
],
"devNote": [
"The 5 thornHits are for lenience since it is difficult to get this first try."
]
},
{
"link": [1, 2],
"name": "Very Precise Grapple Fling",
"requires": [
"canPreciseGrapple",
"canInsaneJump",
{"or": [
"canBeVeryPatient",
{"thornHits": 5}
]}
],
"note": [
"Fling Samus from the first set of grapple blocks to the second set without falling.",
"This requires a frame-perfect release of Grapple and a 2-frame window to fire Grapple again."
],
"devNote": [
"The 5 thornHits are for lenience since it is very difficult to get this first try."
]
},
{
"id": 14,
Expand All @@ -333,7 +353,7 @@
{
"id": 15,
"link": [1, 2],
"name": "Phantoon is Alive Wall Jump",
"name": "Wall Jump (Power Off)",
"requires": [
{"thornHits": 1},
{"or": [
Expand All @@ -354,11 +374,11 @@
{
"id": 16,
"link": [1, 2],
"name": "Phantoon is Alive Speed Walljump",
"name": "Speedy Jump Wall Jump (Power Off)",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"minTiles": 3
"minTiles": 5
}
},
"requires": [
Expand All @@ -370,7 +390,155 @@
"Run from the adjacent room and jump at the end of the platform.",
"From the top right platform, jump to the left and wall jump just above the spikes and climb the left wall."
],
"devNote": "Because this requires canCarefulJump, there is no canRiskPermanentLossOfAccess as there is a path across with or without f_DefeatedPhantoon."
"devNote": [
"Because this requires canCarefulJump, there is no canRiskPermanentLossOfAccess as there is a path across with or without f_DefeatedPhantoon.",
"This variant of the strat includes an extra couple of tiles of runway for lenience."
]
},
{
"link": [1, 2],
"name": "Tricky Speedy Jump Wall Jump (Power Off)",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"minTiles": 3
}
},
"requires": [
"canTrickyJump",
"canConsecutiveWalljump",
{"not": "f_DefeatedPhantoon"}
],
"note": [
"Run from the adjacent room and jump at the end of the platform.",
"From the top right platform, jump to the left and wall jump just above the spikes and climb the left wall."
]
},
{
"link": [1, 2],
"name": "Insane Speedy Jump Wall Jump (Power Off)",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"minTiles": 2
}
},
"requires": [
"canInsaneJump",
"canConsecutiveWalljump",
{"not": "f_DefeatedPhantoon"}
],
"note": [
"Run from the adjacent room and jump at the end of the platform.",
"From the top right platform, jump to the left and wall jump just above the spikes and climb the left wall."
],
"detailNote": [
"With minimal runway length (2 tiles), this has a 2-frame window for the jump.",
"With a last-frame jump it has a 3-frame window for wall jump,",
"otherwise the wall jump is frame-perfect."
]
},
{
"link": [1, 2],
"name": "Speedy Jump Ceiling Mockball (Power Off)",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"minTiles": 23
}
},
"requires": [
"canTrickyJump",
"canMomentumConservingMorph",
{"or": [
"canInsaneJump",
{"thornHits": 5}
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does 5 thorn hits mean?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The trick can be fairly precise (especially at lower speeds) so I thought it was probably unreasonable to expect getting it first try on Expert. So the 5 thorn hits are to give some lenience to retry. It's not perfect because it can't account for requirements to redo the setup in the other room since we don't have a way to model that. I think the worst-case setup room is Upper Norfair Farming Room, which is heated and has barely long enough runway; so for Expert the lenience will ensure you have either a tank or Varia in this case.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  • An airball version should be added, without canMomentumConservingMorph, with about 3 more tiles of runway.
  • A full speed jump version, with no items but speed, seems like it should be added as well. You have to time a pose change somewhat well to make it.
  • A dev note should be added to explain thornHits are listed for leniency.

UN farm looked approximately frame perfect on the jump. If you rush everything you can make it back to the farm on no tanks, which is nice for retries and escaping with the item, and good that expert gets an extra etank.
I don't know how many runways have 23 tiles but not 26 for an easier jump.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Airball is technically possible, but I don't think there's any runway length where it's easier to do it with an airball than with a ceiling mockball, so it would seem maybe redundant/misleading to add a separate strat for it?

Added a full speed jump version (without Morph) and dev notes about the thornHits. I originally copied the 5 thornHits from the Precise Grapple strat, so I added a devNote there now too.

I also refined the grapple strat, splitting off the morphless version as a separate strat to better represent its difficulty.

]},
{"not": "f_DefeatedPhantoon"}
],
"note": [
"Using speed from the adjacent room, perform a ceiling mockball to make it across the gap."
],
"devNote": [
"The 5 thornHits are for lenience since it is very difficult to get this first try."
]
},
{
"link": [1, 2],
"name": "Speedy Jump Spring Fling (Power Off)",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"minTiles": 12
}
},
"requires": [
"canTrickyJump",
"canMomentumConservingMorph",
"canSpringFling",
{"or": [
"canInsaneJump",
{"thornHits": 5}
]},
{"not": "f_DefeatedPhantoon"}
],
"note": [
"Using speed from the adjacent room, perform a ceiling mockball and equip or unequip Spring Ball to make it across the gap."
],
"devNote": [
"The 5 thornHits are for lenience since it is very difficult to get this first try."
]
},
{
"link": [1, 2],
"name": "Spring Ball Bounce Spring Fling (Power Off)",
"entranceCondition": {
"comeInWithMockball": {
"speedBooster": true,
"remoteAndLandingMinTiles": [[19, 0]]
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does this include this rooms runway? Because the slope is hard to land on.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The comeInWithMockball condition assumes you are rolling into the room in a mockball, and then jump in a controlled way at the end of the platform. Maybe the name "Spring Ball Bounce" is not the most accurate since there's not really a "bounce" happening, but I think it's what we've used elsewhere and I'm not sure what else to call it; "Spring Ball Jump" seems more accurate but too likely to be confused with a mid-air jump. 🤔

I did mess around with entering with comeInWithSpringBallBounce. Landing Site (Gauntlet door) was the only example I saw in logic where you may be able to leave with a bounce but not a mockball with enough speed; with the high momentum required, I couldn't get the bounce to work at the bottom of the slope.

}
},
"requires": [
"canTrickyJump",
"canSpringBallBounce",
"canSpringFling",
{"or": [
"canInsaneJump",
{"thornHits": 5}
]},
{"not": "f_DefeatedPhantoon"}
],
"devNote": [
"The 5 thornHits are for lenience since it is difficult to get this first try."
]
},
{
"link": [1, 2],
"name": "Insane Speedy Jump (Power Off)",
"entranceCondition": {
"comeInRunning": {
"speedBooster": true,
"minTiles": 36
}
},
"requires": [
"canInsaneJump",
{"or": [
"canBeVeryPatient",
{"thornHits": 5}
]},
{"not": "f_DefeatedPhantoon"}
],
"note": [
"Run from the adjacent room and jump at the end of the platform.",
"Aim down just before bonking the ceiling."
],
"detailNote": [
"This requires a last-frame jump and has a 2-frame window for the aim-down."
],
"devNote": [
"The 5 thornHits are for lenience since it is very difficult to get this first try."
]
},
{
"id": 17,
Expand Down