Skip to content

Commit 0ef761d

Browse files
authored
Merge pull request #1789 from kjbranch/question-id
Remove $id in schema
2 parents b2af8c0 + 500faba commit 0ef761d

10 files changed

Lines changed: 57 additions & 597 deletions

schema/m3-bossScenarios.schema.json

Lines changed: 7 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
{
22
"$schema": "http://json-schema.org/draft-07/schema#",
3-
"id": "https://raw.githubusercontent.com/vg-json-data/sm-json-data/master/schema/m3-bossScenarios.schema.json",
3+
"$id": "https://raw.githubusercontent.com/vg-json-data/sm-json-data/master/schema/m3-bossScenarios.schema.json",
44
"type": "object",
55
"title": "Super Metroid Boss Scenario Schema",
66
"description": "A list of boss fight scenarios, which can each be resolved into an energy requirement",
77
"properties": {
88
"scenarios": {
99
"type": "array",
1010
"items": {
11-
"$id": "#/properties/scenarios/items",
1211
"type": "object",
1312
"title": "Scenario Object",
1413
"description": "An object that describes one boss fight scenario. For a given item loadout, it can be resolved into a fight duration and an energy requirement.",
@@ -21,7 +20,6 @@
2120
],
2221
"properties": {
2322
"id": {
24-
"$id": "#/properties/scenarios/items/properties/id",
2523
"type": "integer",
2624
"title": "Weapon ID",
2725
"description": "Numerical identifier for this scenario, unique across the entire game",
@@ -31,7 +29,6 @@
3129
]
3230
},
3331
"name": {
34-
"$id": "#/properties/scenarios/items/properties/name",
3532
"type": "string",
3633
"title": "Scenario Name",
3734
"description": "A name for the scenario, intended to be used as a recognizable ID for customization purposes",
@@ -42,7 +39,6 @@
4239
"pattern": "^(.*)$"
4340
},
4441
"boss": {
45-
"$id": "#/properties/scenarios/items/properties/boss",
4642
"type": "string",
4743
"title": "Boss Name",
4844
"description": "The name of the boss for which this scenario applies. Must match an entry in the bosses/main.json file.",
@@ -53,7 +49,6 @@
5349
"pattern": "^(.*)$"
5450
},
5551
"explicitWeapons": {
56-
"$id": "#/properties/scenarios/items/properties/explicitWeapons",
5752
"type": [ "array" ],
5853
"title": "Explicit Weapons",
5954
"description": "A list containing the only weapons that are applicable for this scenario. If this is missing, all non-situational weapons the boss takes damage from are applicable by default.",
@@ -64,7 +59,6 @@
6459
}
6560
},
6661
"excludedWeapons": {
67-
"$id": "#/properties/scenarios/items/properties/excludedWeapons",
6862
"type": [ "array" ],
6963
"title": "Excluded Weapons",
7064
"description": "A list containing weapons that are not applicable for this scenario, even though they would normally be based on the value of the explicitWeapons property.",
@@ -76,12 +70,10 @@
7670
},
7771
"requires": {
7872
"$ref" : "m3-requirements.schema.json#/definitions/logicalRequirements",
79-
"$id": "#/properties/scenarios/items/properties/requires",
8073
"title": "Scenario Requirements",
8174
"description": "Equipment, tech, and flag requirements for this boss scenario to even be possible"
8275
},
8376
"bossDodgeRate": {
84-
"$id": "#/properties/scenarios/items/properties/bossDodgeRate",
8577
"type": "number",
8678
"title": "Boss Dodge Rate",
8779
"description": "A value specific to the scenario which indicates a percentage of shots taken by Samus which are expected not to hit. This should be calculated separately from player accuracy values.",
@@ -91,13 +83,11 @@
9183
]
9284
},
9385
"attackOpportunityDuration": {
94-
"$id": "#/properties/scenarios/tems/properties/attackOpportunityDuration",
9586
"type": "integer",
9687
"title": "Attack Opportunity Duration",
9788
"description": "Serves to indicate that the damage window is broken up into opportunities that last the specified amount of frames."
9889
},
9990
"damageWindows": {
100-
"$id": "#/properties/scenarios/items/properties/damageWindows",
10191
"type": [
10292
"array",
10393
"null"
@@ -106,14 +96,12 @@
10696
"description": "An array of objects that describe how often Samus can hit the boss",
10797
"default": null,
10898
"items": {
109-
"$id": "#/properties/scenarios/items/properties/damageWindows/items",
11099
"type": "object",
111100
"title": "Damage Window Object",
112101
"description": "An object that describes a percentage of total fight time where Samus can attack, and the requirements that must be met in order to be able to use it.",
113102
"required": [ "name", "requires", "windowPercent" ],
114103
"properties": {
115104
"name": {
116-
"$id": "#/properties/scenarios/items/properties/damageWindows/items/properties/name",
117105
"type": "string",
118106
"title": "Damage Window Name",
119107
"description": "A name for this damage window, intended to be used as a recognizable ID for customization purposes",
@@ -124,30 +112,25 @@
124112
"pattern": "^(.*)$"
125113
},
126114
"windowPercent": {
127-
"$id": "#/properties/scenarios/items/properties/damageWindows/items/properties/windowPercent",
128115
"type": "number",
129116
"title": "Window Percent",
130117
"description": "An amount of percentage points by which the damage window is widened if the requirements are met"
131118
},
132119
"requires": {
133120
"$ref" : "m3-requirements.schema.json#/definitions/logicalRequirements",
134-
"$id": "#/properties/scenarios/items/properties/damageWindows/items/properties/requires",
135121
"title": "Damage Window Requirements",
136122
"description": "Equipment, tech, and flag requirements to use this damage window"
137123
},
138124
"note": {
139-
"$ref" : "m3-note.schema.json#/definitions/note",
140-
"$id": "#/properties/scenarios/items/properties/damageWindows/items/properties/note"
125+
"$ref" : "m3-note.schema.json#/definitions/note"
141126
},
142127
"devNote": {
143-
"$ref" : "m3-note.schema.json#/definitions/devNote",
144-
"$id": "#/properties/scenarios/items/properties/damageWindows/items/properties/devNote"
128+
"$ref" : "m3-note.schema.json#/definitions/devNote"
145129
}
146130
}
147131
}
148132
},
149133
"incomingDamage":{
150-
"$id": "#/properties/scenarios/items/properties/incomingDamage",
151134
"type": [
152135
"array",
153136
"null"
@@ -156,14 +139,12 @@
156139
"description": "An array of objects that describe attacks that are expected to hit Samus, unless she meets some requirements",
157140
"default": null,
158141
"items": {
159-
"$id": "#/properties/scenarios/items/properties/incomingDamage/items",
160142
"type": "object",
161143
"title": "Incoming Damage Object",
162144
"description": "An object that describes one attack that is expected to hit Samus at a specific frequency, unless requirements are met",
163145
"required": ["name", "attack", "frequencyFrames", "avoidingRequires"],
164146
"properties": {
165147
"name": {
166-
"$id": "#/properties/scenarios/items/properties/incomingDamage/items/properties/name",
167148
"type": "string",
168149
"title": "Incoming Damage Name",
169150
"description": "A name for this incoming damage, intended to be used as a recognizable ID for customization purposes",
@@ -174,7 +155,6 @@
174155
"pattern": "^(.*)$"
175156
},
176157
"attack": {
177-
"$id": "#/properties/scenarios/items/properties/incomingDamage/items/properties/attack",
178158
"type": "string",
179159
"title": "Attack Name",
180160
"description": "The name of the attack that will hit Samus. Should be the name of an attack the boss has.",
@@ -185,30 +165,25 @@
185165
"pattern": "^(.*)$"
186166
},
187167
"frequencyFrames": {
188-
"$id": "#/properties/scenarios/items/properties/incomingDamage/items/properties/frequencyFrames",
189168
"type": "integer",
190169
"title": "Frequency Frames",
191170
"description": "Indicates the frequency (in frames) at which Samus is expected to be hit by the attack"
192171
},
193172
"avoidingRequires": {
194173
"$ref" : "m3-requirements.schema.json#/definitions/logicalRequirements",
195-
"$id": "#/properties/scenarios/items/properties/incomingDamage/items/properties/avoidingRequires",
196174
"title": "Avoidance Requirements",
197175
"description": "Equipment, tech, and flag requirements that are needed to avoid getting hit by the attack"
198176
},
199177
"note": {
200-
"$ref" : "m3-note.schema.json#/definitions/note",
201-
"$id": "#/properties/scenarios/items/properties/incomingDamage/items/properties/note"
178+
"$ref" : "m3-note.schema.json#/definitions/note"
202179
},
203180
"devNote": {
204-
"$ref" : "m3-note.schema.json#/definitions/devNote",
205-
"$id": "#/properties/scenarios/items/properties/incomingDamage/items/properties/devNote"
181+
"$ref" : "m3-note.schema.json#/definitions/devNote"
206182
}
207183
}
208184
}
209185
},
210186
"particleFrequencyFrames": {
211-
"$id": "#/properties/scenarios/items/properties/particleFrequencyFrames",
212187
"type": "integer",
213188
"title": "Particle Frequency Frames",
214189
"description": "Indicates the frequency (in frames), at which Samus will destroy a farmable particle spawned by the boss. This has a chance to yield energy drops.",
@@ -218,12 +193,10 @@
218193
]
219194
},
220195
"note": {
221-
"$ref" : "m3-note.schema.json#/definitions/note",
222-
"$id": "#/properties/scenarios/items/properties/note"
196+
"$ref" : "m3-note.schema.json#/definitions/note"
223197
},
224198
"devNote": {
225-
"$ref" : "m3-note.schema.json#/definitions/devNote",
226-
"$id": "#/properties/scenarios/items/properties/devNote"
199+
"$ref" : "m3-note.schema.json#/definitions/devNote"
227200
}
228201
}
229202
}

schema/m3-connection.schema.json

Lines changed: 5 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,13 @@
11
{
22
"$schema": "http://json-schema.org/draft-07/schema#",
3-
"id": "https://raw.githubusercontent.com/vg-json-data/sm-json-data/master/schema/m3-connection.schema.json",
3+
"$id": "https://raw.githubusercontent.com/vg-json-data/sm-json-data/master/schema/m3-connection.schema.json",
44
"type": "object",
55
"title": "Super Metroid Connection Pathway Schema",
66
"description": "A list of connections between rooms, comprised of two nodes each",
77
"properties": {
88
"connections": {
99
"type": "array",
1010
"items": {
11-
"$id": "#/properties/connections/items",
1211
"type": "object",
1312
"title": "An object that describes one connection between two Super Metroid rooms",
1413
"required": [
@@ -19,7 +18,6 @@
1918
"additionalProperties": false,
2019
"properties": {
2120
"connectionType": {
22-
"$id": "#/properties/connections/items/properties/connectionType",
2321
"type": "string",
2422
"title": "Connection Type",
2523
"examples": [
@@ -40,7 +38,6 @@
4038
"pattern": "^(.*)$"
4139
},
4240
"direction": {
43-
"$id": "#/properties/connections/items/properties/direction",
4441
"type": "string",
4542
"title": "Connection Direction",
4643
"description": "Forward means one-way, first node to second node. Bidirectional is both.",
@@ -55,22 +52,19 @@
5552
"pattern": "^(.*)$"
5653
},
5754
"description": {
58-
"$id": "#/properties/connections/items/properties/description",
5955
"type": "string",
6056
"title": "Connection description",
6157
"description": "A textual description of the connection",
6258
"default": "",
6359
"pattern": "^(.*)$"
6460
},
6561
"nodes": {
66-
"$id": "#/properties/connections/items/properties/nodes",
6762
"type": "array",
6863
"title": "Connection nodes",
6964
"description": "An array of 2 nodes that each represent one end of a Connection. Those nodes are most often doors",
7065
"minItems": 2,
7166
"maxItems": 2,
7267
"items": {
73-
"$id": "#/properties/connections/items/properties/nodes/items",
7468
"type": "object",
7569
"title": "Connection Node",
7670
"description": "A node that represents one end of a Connection. This is most often a door",
@@ -86,7 +80,6 @@
8680
"additionalProperties": false,
8781
"properties": {
8882
"area": {
89-
"$id": "#/properties/connections/items/properties/nodes/items/properties/area",
9083
"type": "string",
9184
"title": "Area Name",
9285
"default": "",
@@ -96,7 +89,6 @@
9689
"pattern": "^(.*)$"
9790
},
9891
"subarea": {
99-
"$id": "#/properties/connections/items/properties/nodes/items/properties/subarea",
10092
"type": "string",
10193
"title": "Area Subname",
10294
"default": "",
@@ -106,7 +98,6 @@
10698
"pattern": "^(.*)$"
10799
},
108100
"roomid": {
109-
"$id": "#/properties/connections/items/properties/nodes/items/properties/roomid",
110101
"type": "integer",
111102
"title": "Room ID",
112103
"description": "ID of the room in which the node exists",
@@ -115,28 +106,24 @@
115106
]
116107
},
117108
"roomName": {
118-
"$id": "#/properties/connections/items/properties/nodes/items/properties/roomName",
119109
"type": "string",
120110
"title": "Room Name",
121111
"description": "Name of the room in which the node exists",
122112
"examples": ["Landing Site"]
123113
},
124114
"nodeid": {
125-
"$id": "#/properties/connections/items/properties/nodes/items/properties/nodeid",
126115
"type": "integer",
127116
"title": "Node ID",
128117
"description": "ID of the node within the room in which it exists",
129118
"examples": [1]
130119
},
131120
"nodeName": {
132-
"$id": "#/properties/connections/items/properties/nodes/items/properties/nodeName",
133121
"type": "string",
134122
"title": "Node Name",
135123
"description": "Name of the node",
136124
"examples": ["Landing Site Top Left Door (to Gauntlet)"]
137125
},
138126
"position": {
139-
"$id": "#/properties/connections/items/properties/nodes/items/properties/position",
140127
"type": "string",
141128
"title": "Node position",
142129
"description": "The position of a node within a connection",
@@ -155,23 +142,19 @@
155142
"pattern": "^(.*)$"
156143
},
157144
"note": {
158-
"$ref" : "m3-note.schema.json#/definitions/note",
159-
"$id": "#/properties/connections/items/properties/nodes/items/properties/note"
145+
"$ref" : "m3-note.schema.json#/definitions/note"
160146
},
161147
"devNote": {
162-
"$ref" : "m3-note.schema.json#/definitions/devNote",
163-
"$id": "#/properties/connections/items/properties/nodes/items/properties/devNote"
148+
"$ref" : "m3-note.schema.json#/definitions/devNote"
164149
}
165150
}
166151
}
167152
},
168153
"note": {
169-
"$ref" : "m3-note.schema.json#/definitions/note",
170-
"$id": "#/properties/connections/items/properties/note"
154+
"$ref" : "m3-note.schema.json#/definitions/note"
171155
},
172156
"devNote": {
173-
"$ref" : "m3-note.schema.json#/definitions/devNote",
174-
"$id": "#/properties/connections/items/properties/devNote"
157+
"$ref" : "m3-note.schema.json#/definitions/devNote"
175158
}
176159
}
177160
}

0 commit comments

Comments
 (0)