Skip to content

Commit 7c2a695

Browse files
committed
Remove nodesToAvoid, mustStayPut
1 parent bdb96ac commit 7c2a695

7 files changed

Lines changed: 9 additions & 47 deletions

File tree

logicalRequirements.md

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -557,14 +557,10 @@ __Example:__
557557
#### resetRoom object
558558
A `resetRoom` object represents the need for the room to be in an initial state in order to perform a strat. A `resetRoom` object can have the following properties:
559559
* _nodes:_ An array containing the in-room ID of nodes at which entering the room can work.
560-
* _nodesToAvoid:_ An array containing the in-room ID of nodes that Samus must not visit after resetting the room. If any of those nodes have to be visited, the `resetRoom` object cannot be fulfilled, regardless of where Samus entered the room.
561-
* _mustStayPut:_ This property is mutually exclusive with `nodesToAvoid` and is only meaningful for `resetRoom` objects whose only `nodes` is the one they are at. If it is present and `true`, it is equivalent to having a `nodesToAvoid` property containing all other nodes in the room.
562560

563561
In order to fulfill a `resetRoom` object, Samus must be able to do all of the following:
564562
* Enter the room at one of the listed `nodes`
565563
* Reach the node where the logic contains the `resetRoom` object
566-
* If `mustStayPut` is true, Samus should be entering the room at the correct node and staying there
567-
* Do this while visiting none of the listed `nodesToAvoid`. However, it's ok if a node to avoid ends up being visited directly afterwards, as a result of fulfilling the `resetRoom` object.
568564
* If Samus is already in the room and has done one of the actions to avoid, she must be able to exit at one of the listed `nodes` and re-enter, following all other rules.
569565
* Please note that if fulfilling a `resetRoom` object involves exiting and re-entering, it will indeed reset the room and cause all obstacles to respawn.
570566

region/brinstar/pink/Big Pink.json

Lines changed: 1 addition & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1139,12 +1139,7 @@
11391139
"canXRayClimb"
11401140
],
11411141
"flashSuitChecked": true,
1142-
"note": "Climb up 1 screen.",
1143-
"devNote": [
1144-
"Normally, an XRayClimb's resetRoom has mustStayPut true, but because node 5 is configured to spawn at 14, Samus will be expected to visit 14 before 5 when setting up.",
1145-
"This is a technicality based on the spawnAt at 14, since in reality Samus just gets doorstuck at 5 immediately in this scenario.",
1146-
"It's also possible to X-Ray Climb to 13, but that's reachable for free just by falling down the crumble blocks anyway."
1147-
]
1142+
"note": "Climb up 1 screen."
11481143
},
11491144
{
11501145
"id": 41,

region/crateria/west/Green Pirates Shaft.json

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1337,16 +1337,9 @@
13371337
"hits": 9,
13381338
"type": "contact"
13391339
}},
1340-
{"or": [
1341-
{"resetRoom": {
1342-
"nodes": [1, 2, 3, 4],
1343-
"nodesToAvoid": [5]
1344-
}},
1345-
{"resetRoom": {
1346-
"nodes": [1, 2, 3, 4],
1347-
"nodesToAvoid": [6]
1348-
}}
1349-
]}
1340+
{"resetRoom": {
1341+
"nodes": [2, 3, 4]
1342+
}}
13501343
],
13511344
"flashSuitChecked": true,
13521345
"note": [

region/maridia/outer/Mt. Everest.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1862,8 +1862,7 @@
18621862
"canTrickyUseFrozenEnemies",
18631863
{"or": [
18641864
{"resetRoom": {
1865-
"nodes": [3],
1866-
"mustStayPut": true
1865+
"nodes": [3]
18671866
}},
18681867
"canPrepareForNextRoom"
18691868
]},

region/norfair/east/Volcano Room.json

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -241,12 +241,10 @@
241241
"id": 8,
242242
"link": [2, 2],
243243
"name": "Leave with Runway",
244-
"requires": [
245-
{"resetRoom": {
246-
"nodes": [2],
247-
"mustStayPut": true
248-
}}
249-
],
244+
"entranceCondition": {
245+
"comeInNormally": {}
246+
},
247+
"requires": [],
250248
"exitCondition": {
251249
"leaveWithRunway": {
252250
"length": 6,

schema/m3-requirements.schema.json

Lines changed: 0 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -862,24 +862,6 @@
862862
"title": "Node ID",
863863
"description": "The in-room ID of a node."
864864
}
865-
},
866-
"nodesToAvoid": {
867-
"$id": "#/definitions/logicalRequirement/items/properties/resetRoom/properties/nodesToAvoid",
868-
"type": "array",
869-
"title": "Nodes to Avoid",
870-
"description": "The list of nodes that must not have been visited since entering the room in order to fulfill this logical element.",
871-
"items": {
872-
"$id": "#/definitions/logicalRequirement/items/properties/resetRoom/properties/nodesToAvoid/items",
873-
"type": "integer",
874-
"title": "Node ID",
875-
"description": "The in-room ID of a node."
876-
}
877-
},
878-
"mustStayPut": {
879-
"$id": "#/definitions/logicalRequirement/items/properties/resetRoom/properties/mustStayPut",
880-
"type": "boolean",
881-
"title": "Must Stay Put",
882-
"description": "Indicates that no other node but the entry node may be visited in order to fulfill this logical element. Must not be defined when it is intended to be false, unless there are no nodes or obstacles to avoid."
883865
}
884866
}
885867
},

tests/asserts/keywords.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -641,7 +641,6 @@ def process_strats(src, paramData):
641641
"fromNodes.",
642642
"inRoomPath.",
643643
"resetRoom.nodes.",
644-
"nodesToAvoid.",
645644
"itemNotCollectedAtNode"
646645
],
647646
"room",

0 commit comments

Comments
 (0)