You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: strats.md
+7-5Lines changed: 7 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -979,18 +979,20 @@ The direction of the spark is assumed to be horizontal when sparking through hor
979
979
980
980
A strat with a `comeInWithSpark` condition should include a `shinespark` requirement in its `requires`.
981
981
982
-
A `comeInWithSpark` condition must match with either a `leaveWithSpark`, `leaveShinecharged`, `leaveWithRunway`, or `leaveNormally` condition on the other side of the door:
982
+
A `comeInWithSpark` condition must match with either a `leaveWithSpark`, `leaveShinecharged`, `leaveWithRunway`, or `leaveNormally` condition on the other side of the door. In all three cases, if the door is horizontally oriented, then there is an implicit requirement of `canHorizontalShinespark`.
983
983
984
-
- A match with `leaveWithSpark` is valid as long as the `position` properties are compatible. The `position` properties of a `leaveWithSpark` and `comeInWithSpark` are compatible if they are equal or if at least one of them are unspecified.
985
-
- A match with `leaveShinecharged` is always valid. It comes with an implicit requirement of `canShinechargeMovement`.
984
+
- A match with `leaveWithSpark` is valid as long as the `position` properties are compatible. The `position` properties of a `leaveWithSpark` and `comeInWithSpark` are compatible if they are equal or if at least one of them is unspecified.
985
+
- An implicit requirement of `canHorizontalMidairShinespark` is included if the `grounded` property of the `leaveWithSpark` is `false`, or if ` "grounded"` is unspecified while `position` is `"top"` in the `leaveWithSpark` or `comeInWithSpark` or both.
986
+
- A match with `leaveShinecharged` is always valid, with the following implicit requirements:
987
+
- A requirement of `canShinechargeMovement` is always included.
988
+
- A requirement of `canHorizontalMidairShinespark` is included if the `position` property of the `comeInWithSpark` is "top".
986
989
- A match with `leaveWithRunway` comes with the following implicit requirements (the same as for `comeInShinecharged`) for actions to be performed in the previous room:
987
990
- A `canShinecharge` requirement is included based on the runway length. This includes a `SpeedBooster` item requirement, a check that the effective runway length is enough that charging a shinespark is possible, and the loss of any blue suit or flash suit.
988
991
- If the previous room is heated, then `heatFrames` are included based on the time spent running in that room. The minimally required heat frames are calculated the same way as in `comeInShinecharging`, except here with `comeInShinecharged` there is no second runway to combine with.
989
992
- If the previous door environment is water, then `Gravity` is required.
993
+
- A requirement of `canHorizontalMidairShinespark` is included if the `position` property of the `comeInWithSpark` is "top".
990
994
- A match with `leaveNormally` comes with a `"or": [{"useFlashSuit": {}}, {"blueSuitShinecharge": {}}]` requirement.
991
995
992
-
In all three cases, there is an implicit requirement of `canHorizontalShinespark` when sparking through a horizontal door. There is also an implicit requirement of `canHorizontalMidairShinespark` when a shinespark is initiated midair (when it is not "grounded") as specified with the `grounded` property of the `leaveWithSpark`. If the `grounded` property is unspecified, then a spark is assumed to be not grounded if the `position` property is "top" or if it is unspecified and matched with a `comeInWithSpark` in the next room with a `position` property that is "top".
0 commit comments