Skip to content

Commit f20c396

Browse files
committed
add wallJumpAvoid to strat and notable schema
1 parent 08e76b0 commit f20c396

3 files changed

Lines changed: 27 additions & 0 deletions

File tree

region/tourian/main/Tourian Escape Room 4.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -658,6 +658,7 @@
658658
"requires": [{"acidFrames": 110}]
659659
}
660660
],
661+
"wallJumpAvoid": true,
661662
"note": [
662663
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
663664
"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."
@@ -692,6 +693,7 @@
692693
"requires": [{"acidFrames": 110}]
693694
}
694695
],
696+
"wallJumpAvoid": true,
695697
"note": [
696698
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
697699
"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.",
@@ -728,6 +730,7 @@
728730
"leaveNormally": {}
729731
},
730732
"unlocksDoors": [{"types": ["ammo"], "requires": ["never"]}],
733+
"wallJumpAvoid": true,
731734
"note": [
732735
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
733736
"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.",
@@ -760,6 +763,7 @@
760763
"leaveNormally": {}
761764
},
762765
"unlocksDoors": [{"types": ["ammo"], "requires": ["never"]}],
766+
"wallJumpAvoid": true,
763767
"note": [
764768
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
765769
"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.",
@@ -812,6 +816,7 @@
812816
"leaveNormally": {}
813817
},
814818
"unlocksDoors": [{"types": ["ammo"], "requires": ["never"]}],
819+
"wallJumpAvoid": true,
815820
"note": [
816821
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
817822
"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.",
@@ -1006,6 +1011,7 @@
10061011
{
10071012
"id": 4,
10081013
"name": "Bootless Walljumpless Space Jump",
1014+
"wallJumpAvoid": true,
10091015
"note": [
10101016
"Climbing the shaft with Space Jump is slower than other methods, so it is necessary to move quickly in order to minimize acid damage.",
10111017
"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."

schema/m3-room.schema.json

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1499,6 +1499,12 @@
14991499
}
15001500
}
15011501
},
1502+
"wallJumpAvoid": {
1503+
"type": "boolean",
1504+
"title": "Wall Jump Avoid",
1505+
"default": false,
1506+
"description": "If true, indicates that the strat is only useful if the wall jump ability were somehow not possible to use."
1507+
},
15021508
"flashSuitChecked": {
15031509
"type": "boolean",
15041510
"title": "Flash Suit Checked",
@@ -2331,6 +2337,12 @@
23312337
],
23322338
"pattern": "^(.*)$"
23332339
},
2340+
"wallJumpAvoid": {
2341+
"type": "boolean",
2342+
"title": "Wall Jump Avoid",
2343+
"default": false,
2344+
"description": "If true, indicates that the notable is only useful if the wall jump ability were somehow not possible to use."
2345+
},
23342346
"note": {
23352347
"type": ["string", "array"],
23362348
"title": "Strat Description",

strats.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ A `strat` can have the following properties:
1919
* _collectsItems_: An array listing items that are collected as part of this strat (e.g. for G-mode remote item acquire).
2020
* _setsFlags_: An array listing game flags that are set as part of this strat.
2121
These properties are described below in more detail.
22+
* _wallJumpAvoid_: A boolean, which if true indicates that the strat is only useful if wall jump were somehow not possible to use.
2223
* _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.
2324
### Example
2425

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

1733+
## Wall Jump Avoid
1734+
1735+
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`.
1736+
1737+
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.
1738+
1739+
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.
1740+
17321741
## Starts With Shinecharge
17331742

17341743
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`.

0 commit comments

Comments
 (0)