Skip to content
Merged
Show file tree
Hide file tree
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
6 changes: 6 additions & 0 deletions region/tourian/main/Tourian Escape Room 4.json
Original file line number Diff line number Diff line change
Expand Up @@ -658,6 +658,7 @@
"requires": [{"acidFrames": 110}]
}
],
"wallJumpAvoid": true,
"note": [
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
"After reaching the top, fall down the right side to land on the platform below the door, taking a dip in acid before jumping into the door."
Expand Down Expand Up @@ -692,6 +693,7 @@
"requires": [{"acidFrames": 110}]
}
],
"wallJumpAvoid": true,
"note": [
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
"With each Space Jump, release jump early rather than doing a full-height jump, in order to be able to Space Jump again more quickly.",
Expand Down Expand Up @@ -728,6 +730,7 @@
"leaveNormally": {}
},
"unlocksDoors": [{"types": ["ammo"], "requires": ["never"]}],
"wallJumpAvoid": true,
"note": [
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
"With each Space Jump, release jump early rather than doing a full-height jump, in order to be able to Space Jump again more quickly.",
Expand Down Expand Up @@ -760,6 +763,7 @@
"leaveNormally": {}
},
"unlocksDoors": [{"types": ["ammo"], "requires": ["never"]}],
"wallJumpAvoid": true,
"note": [
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
"With each Space Jump, release jump early rather than doing a full-height jump, in order to be able to Space Jump again more quickly.",
Expand Down Expand Up @@ -812,6 +816,7 @@
"leaveNormally": {}
},
"unlocksDoors": [{"types": ["ammo"], "requires": ["never"]}],
"wallJumpAvoid": true,
"note": [
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
"With each Space Jump, release jump early rather than doing a full-height jump, in order to be able to Space Jump again more quickly.",
Expand Down Expand Up @@ -1006,6 +1011,7 @@
{
"id": 4,
"name": "Bootless Walljumpless Space Jump",
"wallJumpAvoid": true,
"note": [
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
"It is possible to climb faster by releasing jump early, rather than doing full-height jumps, in order to be able to Space Jump again more quickly."
Expand Down
12 changes: 12 additions & 0 deletions schema/m3-room.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -1499,6 +1499,12 @@
}
}
},
"wallJumpAvoid": {
"type": "boolean",
"title": "Wall Jump Avoid",
"default": false,
"description": "If true, indicates that the strat is only useful if the wall jump ability were somehow not possible to use."
},
"flashSuitChecked": {
"type": "boolean",
"title": "Flash Suit Checked",
Expand Down Expand Up @@ -2331,6 +2337,12 @@
],
"pattern": "^(.*)$"
},
"wallJumpAvoid": {
"type": "boolean",
"title": "Wall Jump Avoid",
"default": false,
"description": "If true, indicates that the notable is only useful if the wall jump ability were somehow not possible to use."
},
"note": {
"type": ["string", "array"],
"title": "Strat Description",
Expand Down
9 changes: 9 additions & 0 deletions strats.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ A `strat` can have the following properties:
* _collectsItems_: An array listing items that are collected as part of this strat (e.g. for G-mode remote item acquire).
* _setsFlags_: An array listing game flags that are set as part of this strat.
These properties are described below in more detail.
* _wallJumpAvoid_: A boolean, which if true indicates that the strat is only useful if wall jump were somehow not possible to use.
* _flashSuitChecked_: Indicates that the logical requirements of the strat have been verified to be logically sound with respect to whether a flash suit can be carried or not. Note that a `true` value does not necessarily mean that a flash suit can be carried with this strat, only that its logical requirements can be relied on to determine whether it can or not.
### Example

Expand Down Expand Up @@ -1729,6 +1730,14 @@ A `setsFlags` array lists the names of game flags that become set (if not alread
}
```

## Wall Jump Avoid

A `wallJumpAvoid` boolean can be used to indicate that a strat is only useful if wall jump is for some reason not possible to do, e.g. in case the wall jump ability is disabled due to a randomizer modification. By default, this property is `false`.

This property should not be used in every case where a wall jump could be an alternative to the strat. Rather, it should only be used on strats that would be pointless if the player has the ability to wall jump. In other words, strats with `"wallJumpAvoid": true` should be ones where if the player has the ability to wall jump, then there would be no reason to ever do the strat. This property can then be used to filter out irrelevant strats in contexts where wall jump is available.

Some strats may have components (as alternatives within an `or`) that are useful only in scenarios without the wall jump ability. However, the `"wallJumpAvoid": true` should only be used if the entire strat becomes useless in the presence of an ability to wall jump.

## Starts With Shinecharge

The `startsWithShineCharge` property indicates that a strat must start while in a shinecharge state, from a shinecharge obtained in an earlier strat. The amount of frames required is determined by `shineChargeFrames` requirements in this strat. A strat with `"startsWithShineCharge": true` is only logically valid if it immediately follows a strat with `"endsWithShineCharge": true`.
Expand Down