Skip to content

Commit 678b71c

Browse files
authored
Merge pull request #1837 from kjbranch/spawnat-removal
Remove Spawn At Schema, etc.
2 parents 9f7563c + 6589311 commit 678b71c

7 files changed

Lines changed: 6 additions & 29 deletions

File tree

region/maridia/outer/Fish Tank.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@
6363
},
6464
{
6565
"id": 7,
66-
"name": "Spawn At Junction Near Top Right Door",
66+
"name": "Platform Below Top Right Door",
6767
"nodeType": "junction",
6868
"nodeSubType": "junction"
6969
}

region/maridia/outer/Glass Tunnel.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@
7575
},
7676
{
7777
"id": 6,
78-
"name": "Top Spawn At Junction",
78+
"name": "Platform Below Top Door",
7979
"nodeType": "junction",
8080
"nodeSubType": "junction"
8181
}

region/maridia/outer/Mt. Everest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@
7979
},
8080
{
8181
"id": 9,
82-
"name": "Spawn At Junction Below Top Door",
82+
"name": "Platform Below Top Door",
8383
"nodeType": "junction",
8484
"nodeSubType": "junction"
8585
},

region/region-readme.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,9 +51,6 @@ By default every door node has an implicit strat from the node to itself, for [u
5151

5252
Most doors have a closing animation that occurs when entering through them. However, certain doors are immediately closed when the room is loaded. When entering through such a door in direct G-mode, the door will be closed, making it not possible to return back through the door without first exiting G-mode. It would also not be possible to get stuck inside the door shell using an X-ray climb setup.
5353

54-
#### spawnAt
55-
The `spawnAt` property is used to represent situations where Samus enters a room via a node, but can quickly end up at another node without user input. This is only relevant in situations where there are requirements for getting back to the door Samus entered through. When a node has a `null` value for this property, Samus simply spawns at that node as normal.
56-
5754
#### utility
5855
The `utility` property is an array of utility functions available to Samus at a node. Those include saving, map stations, as well as resource refills. Possible utilities are:
5956
* _save_

schema/m3-room.schema.json

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1611,12 +1611,6 @@
16111611
"default": false,
16121612
"description": "Whether this door is immediately closed on entry, rather than having a closing animation."
16131613
},
1614-
"spawnAt": {
1615-
"type": "integer",
1616-
"title": "Node to spawn at",
1617-
"description": "ID of the node at which Samus spawns when entering a room through this node. If this is null, Samus just spawns at the node she entered through",
1618-
"default": null
1619-
},
16201614
"locks": {
16211615
"type": "array",
16221616
"title": "Node Locks",

strats.md

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1535,8 +1535,6 @@ With certain exceptions described below, by default every door node and entrance
15351535

15361536
This implicit strat can be disabled by setting the node property `"useImplicitComeInNormally": false`.
15371537

1538-
If the node has a `spawnAt` property, then this implicit strat ends at the `spawnAt` node, rather than ending at the door node.
1539-
15401538
### Implicit Come In With Mockball
15411539

15421540
With certain exceptions described below, by default every horizontal door node has an implicit strat from the node to itself, for entering the room through the door while in a mockball (or speedball). This implicit strat has a `comeInWithMockball` entrance condition. In unheated rooms, it has the following form:
@@ -1579,8 +1577,6 @@ This implicit strat is to cover cases where leaving with a mockball may be desir
15791577

15801578
This implicit strat can be disabled by setting the node property `"useImplicitComeInWithMockball": false`.
15811579

1582-
If the node has a `spawnAt` property, then this implicit strat is disabled, and should never be marked with `"useImplicitComeInWithMockball": true`.
1583-
15841580
### Implicit Carry G-Mode Back Through
15851581

15861582
With certain exceptions described below, by default every door node has an implicit strat from the node to itself, for entering the room in direct G-mode through the door and then walking back out through the open doorway while still in G-mode. This implicit strat has a `comeInWithGMode` entrance condition and a `leaveWithGMode` exit condition and is of the following form:
@@ -1608,7 +1604,7 @@ Note that if there are strats from this door node to itself with `"gModeRegainMo
16081604

16091605
This implicit strat can be disabled by setting the node property `"useImplicitCarryGModeBackThrough": false`.
16101606

1611-
If the node has a `spawnAt` property, or if it has `"isDoorImmediatelyClosed": true`, then this implicit strat is disabled unless the node is explicitly marked as `"useImplicitCarryGModeBackThrough": true`.
1607+
If the node has `"isDoorImmediatelyClosed": true`, then this implicit strat is disabled unless the node is explicitly marked as `"useImplicitCarryGModeBackThrough": true`.
16121608

16131609
### Implicit Carry G-Mode Morph Back Through
16141610

@@ -1639,7 +1635,7 @@ As with other `comeInWithGMode` strats having `"morphed": true`, it is assumed h
16391635

16401636
This implicit strat can be disabled by setting the node property `"useImplicitCarryGModeMorphBackThrough": false`.
16411637

1642-
If the node has a `spawnAt` property, or if it has `"isDoorImmediatelyClosed": true`, or if the node is a vertical door in bottom position (leading up), then this implicit strat is disabled unless the node is explicitly marked as `"useImplicitCarryGModeMorphBackThrough": true`. Note that the exception about the node being a door in bottom position differs from unmorphed implicit strats for carrying G-mode back through a door, described in the previous section, which have no such exception.
1638+
If the node has `"isDoorImmediatelyClosed": true`, or if the node is a vertical door in bottom position (leading up), then this implicit strat is disabled unless the node is explicitly marked as `"useImplicitCarryGModeMorphBackThrough": true`. Note that the exception about the node being a door in bottom position differs from unmorphed implicit strats for carrying G-mode back through a door, described in the previous section, which have no such exception.
16431639

16441640
## Run Speed
16451641

tests/asserts/keywords.py

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -623,7 +623,6 @@ def check_speed_states(strat, err_fn):
623623
"tos": [],
624624
"ids": [],
625625
"names": [],
626-
"spawnAts": [],
627626
"leaveCharged": {
628627
"from": {}
629628
}
@@ -670,8 +669,6 @@ def check_speed_states(strat, err_fn):
670669
else:
671670
roomData["nodes"]["names"].append(node["name"])
672671
roomData["nodes"]["ids"].append(node["id"])
673-
if "spawnAt" in node and node["spawnAt"] not in roomData["nodes"]["spawnAts"]:
674-
roomData["nodes"]["tos"].append(node["spawnAt"])
675672

676673
if node.get("useImplicitDoorUnlocks") is False:
677674
nodes_without_implicit_unlocks.add(node['id'])
@@ -1046,14 +1043,7 @@ def check_for_notables(req):
10461043
nodeRef = f"{roomRef}:{node['id']}:{node['name']}"
10471044
orphaned = True
10481045

1049-
foundNode = False
1050-
if "spawnAt" in node:
1051-
foundNode = node["spawnAt"] in roomData["nodes"]["froms"]
1052-
orphaned = not foundNode
1053-
if orphaned:
1054-
msg = f"🔴ERROR: Orphaned SpawnAt! {nodeRef}::{node['spawnAt']}"
1055-
messages["reds"].append(msg)
1056-
messages["counts"]["reds"] += 1
1046+
foundNode = False # spawnAts were removed, so this code can be simplified
10571047

10581048
# If it's orphaned, try to find a connection
10591049
if orphaned:

0 commit comments

Comments
 (0)