5etools-utils 0.10.2 → 0.10.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,7 @@
3
3
  "$id": "items-shared.json",
4
4
  "title": "Shared Item Schema",
5
5
  "description": "Shared item definitions to be used in item schemas.",
6
- "version": "1.0.6",
6
+ "version": "1.0.7",
7
7
  "$defs": {
8
8
  "_itemModifySpeedEqual": {
9
9
  "type": "string",
@@ -156,9 +156,12 @@
156
156
  "itemType": {
157
157
  "type": "string",
158
158
  "$comment": "Dumped from `Object(Parser.ITEM_TYPE_JSON_TO_ABV)`",
159
- "description": "$: Treasure\n A: Ammunition\n AF: Ammunition (futuristic)\n AIR: Vehicle (air)\n AT: Artisan Tool\n EM: Eldritch Machine\n EXP: Explosive\n FD: Food and Drink\n G: Adventuring Gear\n GS: Gaming Set\n GV: Generic Variant\n HA: Heavy Armor\n IDG: Illegal Drug\n INS: Instrument\n LA: Light Armor\n M: Melee Weapon\n MA: Medium Armor\n MNT: Mount\n MR: Master Rune \n OTH: Other\n P: Potion\n R: Ranged Weapon\n RD: Rod\n RG: Ring\n S: Shield\n SC: Scroll\n SCF: Spellcasting Focus\n SHP: Vehicle (water)\n SPC: Vehicle (space)\n T: Tool\n TAH: Tack and Harness\n TG: Trade Good\n VEH: Vehicle (land)\n WD: Wand",
159
+ "description": "$: Treasure\n $A: Treasure (Art Object)\n $A: Treasure (Coinage)\n $G: Treasure (Gemstone)\n A: Ammunition\n AF: Ammunition (futuristic)\n AIR: Vehicle (air)\n AT: Artisan Tool\n EM: Eldritch Machine\n EXP: Explosive\n FD: Food and Drink\n G: Adventuring Gear\n GS: Gaming Set\n GV: Generic Variant\n HA: Heavy Armor\n IDG: Illegal Drug\n INS: Instrument\n LA: Light Armor\n M: Melee Weapon\n MA: Medium Armor\n MNT: Mount\n MR: Master Rune \n OTH: Other\n P: Potion\n R: Ranged Weapon\n RD: Rod\n RG: Ring\n S: Shield\n SC: Scroll\n SCF: Spellcasting Focus\n SHP: Vehicle (water)\n SPC: Vehicle (space)\n T: Tool\n TAH: Tack and Harness\n TG: Trade Good\n VEH: Vehicle (land)\n WD: Wand",
160
160
  "enum": [
161
161
  "$",
162
+ "$A",
163
+ "$C",
164
+ "$G",
162
165
  "A",
163
166
  "AF",
164
167
  "AIR",
@@ -1,11 +1,11 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "optionalfeatures.json",
4
- "version": "1.12.2",
4
+ "version": "1.12.3",
5
5
  "title": "Optional Features",
6
6
  "type": "object",
7
7
  "$defs": {
8
- "optionalfeature": {
8
+ "optionalfeatureData": {
9
9
  "type": "object",
10
10
  "properties": {
11
11
  "name": {
@@ -113,16 +113,249 @@
113
113
  "const": true
114
114
  }
115
115
  },
116
- "required": [
117
- "name",
118
- "entries",
119
- "source",
120
- "featureType"
121
- ],
122
116
  "additionalProperties": false
117
+ },
118
+ "optionalfeature": {
119
+ "anyOf": [
120
+ {
121
+ "type": "object",
122
+ "properties": {
123
+ "name": {
124
+ "type": "string"
125
+ },
126
+ "prerequisite": {
127
+ "$ref": "util.json#/$defs/prerequisite"
128
+ },
129
+ "entries": {
130
+ "type": "array",
131
+ "items": {
132
+ "$ref": "entry.json"
133
+ }
134
+ },
135
+ "previousVersion": {
136
+ "type": "object",
137
+ "properties": {
138
+ "name": {
139
+ "type": "string"
140
+ },
141
+ "source": {
142
+ "$ref": "util.json#/$defs/source"
143
+ }
144
+ },
145
+ "required": [
146
+ "name",
147
+ "source"
148
+ ],
149
+ "additionalProperties": false
150
+ },
151
+ "source": {
152
+ "$ref": "util.json#/$defs/source"
153
+ },
154
+ "page": {
155
+ "$ref": "util.json#/$defs/page"
156
+ },
157
+ "featureType": {
158
+ "type": "array",
159
+ "items": {
160
+ "$ref": "util.json#/$defs/dataOptionalfeatureType"
161
+ },
162
+ "uniqueItems": true
163
+ },
164
+ "otherSources": {
165
+ "$ref": "util.json#/$defs/otherSources"
166
+ },
167
+ "srd": {
168
+ "$ref": "util.json#/$defs/srd"
169
+ },
170
+ "legacy": {
171
+ "$ref": "util.json#/$defs/legacy"
172
+ },
173
+ "isClassFeatureVariant": {
174
+ "type": "boolean"
175
+ },
176
+ "additionalSpells": {
177
+ "$ref": "util.json#/$defs/additionalSpellsArray"
178
+ },
179
+ "languageProficiencies": {
180
+ "$ref": "util.json#/$defs/languageProficiencies"
181
+ },
182
+ "skillProficiencies": {
183
+ "$ref": "util.json#/$defs/skillProficiencies"
184
+ },
185
+ "weaponProficiencies": {
186
+ "$ref": "util.json#/$defs/weaponProficiencies"
187
+ },
188
+ "armorProficiencies": {
189
+ "$ref": "util.json#/$defs/armorProficiencies"
190
+ },
191
+ "toolProficiencies": {
192
+ "$ref": "util.json#/$defs/toolProficiencies"
193
+ },
194
+ "skillToolLanguageProficiencies": {
195
+ "$ref": "util.json#/$defs/skillToolLanguageProficiencies"
196
+ },
197
+ "consumes": {
198
+ "$ref": "util.json#/$defs/consumesObject"
199
+ },
200
+ "senses": {
201
+ "$ref": "util.json#/$defs/sensesArray"
202
+ },
203
+ "optionalfeatureProgression": {
204
+ "$ref": "util.json#/$defs/optionalfeatureProgression"
205
+ },
206
+ "expertise": {
207
+ "$ref": "util.json#/$defs/expertise"
208
+ },
209
+ "resist": {
210
+ "$ref": "util.json#/$defs/damageResistArrayPlayer"
211
+ },
212
+ "immune": {
213
+ "$ref": "util.json#/$defs/damageImmunityArrayPlayer"
214
+ },
215
+ "vulnerable": {
216
+ "$ref": "util.json#/$defs/damageVulnerabilityArrayPlayer"
217
+ },
218
+ "conditionImmune": {
219
+ "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
220
+ },
221
+ "hasFluff": {
222
+ "const": true
223
+ },
224
+ "hasFluffImages": {
225
+ "const": true
226
+ }
227
+ },
228
+ "additionalProperties": false,
229
+ "required": [
230
+ "name",
231
+ "entries",
232
+ "source",
233
+ "featureType"
234
+ ]
235
+ },
236
+ {
237
+ "type": "object",
238
+ "properties": {
239
+ "name": {
240
+ "type": "string"
241
+ },
242
+ "prerequisite": {
243
+ "$ref": "util.json#/$defs/prerequisite"
244
+ },
245
+ "entries": {
246
+ "type": "array",
247
+ "items": {
248
+ "$ref": "entry.json"
249
+ }
250
+ },
251
+ "previousVersion": {
252
+ "type": "object",
253
+ "properties": {
254
+ "name": {
255
+ "type": "string"
256
+ },
257
+ "source": {
258
+ "$ref": "util.json#/$defs/source"
259
+ }
260
+ },
261
+ "required": [
262
+ "name",
263
+ "source"
264
+ ],
265
+ "additionalProperties": false
266
+ },
267
+ "source": {
268
+ "$ref": "util.json#/$defs/source"
269
+ },
270
+ "page": {
271
+ "$ref": "util.json#/$defs/page"
272
+ },
273
+ "featureType": {
274
+ "type": "array",
275
+ "items": {
276
+ "$ref": "util.json#/$defs/dataOptionalfeatureType"
277
+ },
278
+ "uniqueItems": true
279
+ },
280
+ "otherSources": {
281
+ "$ref": "util.json#/$defs/otherSources"
282
+ },
283
+ "srd": {
284
+ "$ref": "util.json#/$defs/srd"
285
+ },
286
+ "legacy": {
287
+ "$ref": "util.json#/$defs/legacy"
288
+ },
289
+ "isClassFeatureVariant": {
290
+ "type": "boolean"
291
+ },
292
+ "additionalSpells": {
293
+ "$ref": "util.json#/$defs/additionalSpellsArray"
294
+ },
295
+ "languageProficiencies": {
296
+ "$ref": "util.json#/$defs/languageProficiencies"
297
+ },
298
+ "skillProficiencies": {
299
+ "$ref": "util.json#/$defs/skillProficiencies"
300
+ },
301
+ "weaponProficiencies": {
302
+ "$ref": "util.json#/$defs/weaponProficiencies"
303
+ },
304
+ "armorProficiencies": {
305
+ "$ref": "util.json#/$defs/armorProficiencies"
306
+ },
307
+ "toolProficiencies": {
308
+ "$ref": "util.json#/$defs/toolProficiencies"
309
+ },
310
+ "skillToolLanguageProficiencies": {
311
+ "$ref": "util.json#/$defs/skillToolLanguageProficiencies"
312
+ },
313
+ "consumes": {
314
+ "$ref": "util.json#/$defs/consumesObject"
315
+ },
316
+ "senses": {
317
+ "$ref": "util.json#/$defs/sensesArray"
318
+ },
319
+ "optionalfeatureProgression": {
320
+ "$ref": "util.json#/$defs/optionalfeatureProgression"
321
+ },
322
+ "expertise": {
323
+ "$ref": "util.json#/$defs/expertise"
324
+ },
325
+ "resist": {
326
+ "$ref": "util.json#/$defs/damageResistArrayPlayer"
327
+ },
328
+ "immune": {
329
+ "$ref": "util.json#/$defs/damageImmunityArrayPlayer"
330
+ },
331
+ "vulnerable": {
332
+ "$ref": "util.json#/$defs/damageVulnerabilityArrayPlayer"
333
+ },
334
+ "conditionImmune": {
335
+ "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
336
+ },
337
+ "hasFluff": {
338
+ "const": true
339
+ },
340
+ "hasFluffImages": {
341
+ "const": true
342
+ },
343
+ "_copy": {
344
+ "$ref": "util.json#/$defs/copyBlock_copy_generic"
345
+ }
346
+ },
347
+ "additionalProperties": false,
348
+ "required": [
349
+ "_copy"
350
+ ]
351
+ }
352
+ ]
123
353
  }
124
354
  },
125
355
  "properties": {
356
+ "_meta": {
357
+ "$ref": "util.json#/$defs/metaBlock"
358
+ },
126
359
  "optionalfeature": {
127
360
  "type": "array",
128
361
  "uniqueItems": true,
@@ -132,5 +365,8 @@
132
365
  }
133
366
  }
134
367
  },
368
+ "required": [
369
+ "optionalfeature"
370
+ ],
135
371
  "additionalProperties": false
136
372
  }
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.15.4",
6
+ "version": "1.16.0",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -3502,20 +3502,26 @@
3502
3502
  "_mod": {
3503
3503
  "$ref": "#/$defs/_modObject"
3504
3504
  },
3505
- "_trait": {
3506
- "type": "object",
3507
- "properties": {
3508
- "name": {
3509
- "type": "string"
3505
+ "_templates": {
3506
+ "type": "array",
3507
+ "items": {
3508
+ "type": "object",
3509
+ "properties": {
3510
+ "name": {
3511
+ "type": "string"
3512
+ },
3513
+ "source": {
3514
+ "$ref": "util.json#/$defs/source"
3515
+ }
3510
3516
  },
3511
- "source": {
3512
- "$ref": "util.json#/$defs/source"
3513
- }
3517
+ "required": [
3518
+ "name",
3519
+ "source"
3520
+ ],
3521
+ "additionalProperties": false
3514
3522
  },
3515
- "required": [
3516
- "name",
3517
- "source"
3518
- ]
3523
+ "minItems": 1,
3524
+ "uniqueItems": true
3519
3525
  },
3520
3526
  "_preserve": {
3521
3527
  "type": "object",
@@ -3534,20 +3540,26 @@
3534
3540
  "_mod": {
3535
3541
  "$ref": "#/$defs/_modObject"
3536
3542
  },
3537
- "_trait": {
3538
- "type": "object",
3539
- "properties": {
3540
- "name": {
3541
- "type": "string"
3543
+ "_templates": {
3544
+ "type": "array",
3545
+ "items": {
3546
+ "type": "object",
3547
+ "properties": {
3548
+ "name": {
3549
+ "type": "string"
3550
+ },
3551
+ "source": {
3552
+ "$ref": "util.json#/$defs/source"
3553
+ }
3542
3554
  },
3543
- "source": {
3544
- "$ref": "util.json#/$defs/source"
3545
- }
3555
+ "required": [
3556
+ "name",
3557
+ "source"
3558
+ ],
3559
+ "additionalProperties": false
3546
3560
  },
3547
- "required": [
3548
- "name",
3549
- "source"
3550
- ]
3561
+ "minItems": 1,
3562
+ "uniqueItems": true
3551
3563
  },
3552
3564
  "_preserve": {
3553
3565
  "type": "object",
@@ -3632,7 +3644,7 @@
3632
3644
  {
3633
3645
  "type": "object",
3634
3646
  "properties": {
3635
- "_template": {
3647
+ "_abstract": {
3636
3648
  "type": "object",
3637
3649
  "properties": {
3638
3650
  "name": {
@@ -3671,7 +3683,7 @@
3671
3683
  }
3672
3684
  },
3673
3685
  "required": [
3674
- "_template",
3686
+ "_abstract",
3675
3687
  "_implementations"
3676
3688
  ]
3677
3689
  }
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.3",
4
+ "version": "1.6.4",
5
5
  "type": "object",
6
6
  "$defs": {
7
- "feat": {
7
+ "featData": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "name": {
@@ -99,15 +99,222 @@
99
99
  "const": true
100
100
  }
101
101
  },
102
- "required": [
103
- "name",
104
- "source",
105
- "entries"
106
- ],
107
102
  "additionalProperties": false
103
+ },
104
+ "feat": {
105
+ "anyOf": [
106
+ {
107
+ "type": "object",
108
+ "properties": {
109
+ "name": {
110
+ "type": "string"
111
+ },
112
+ "prerequisite": {
113
+ "$ref": "util.json#/$defs/prerequisite"
114
+ },
115
+ "source": {
116
+ "$ref": "util.json#/$defs/source"
117
+ },
118
+ "additionalSources": {
119
+ "$ref": "util.json#/$defs/additionalSources"
120
+ },
121
+ "page": {
122
+ "$ref": "util.json#/$defs/page"
123
+ },
124
+ "entries": {
125
+ "type": "array",
126
+ "items": {
127
+ "$ref": "entry.json"
128
+ }
129
+ },
130
+ "ability": {
131
+ "$ref": "util.json#/$defs/abilityScores"
132
+ },
133
+ "srd": {
134
+ "$ref": "util.json#/$defs/srd"
135
+ },
136
+ "otherSources": {
137
+ "$ref": "util.json#/$defs/otherSources"
138
+ },
139
+ "repeatable": {
140
+ "type": "boolean"
141
+ },
142
+ "repeatableNote": {
143
+ "type": "string"
144
+ },
145
+ "category": {
146
+ "type": "string",
147
+ "enum": [
148
+ "general",
149
+ "background"
150
+ ]
151
+ },
152
+ "additionalSpells": {
153
+ "$ref": "util.json#/$defs/additionalSpellsArray"
154
+ },
155
+ "languageProficiencies": {
156
+ "$ref": "util.json#/$defs/languageProficiencies"
157
+ },
158
+ "skillProficiencies": {
159
+ "$ref": "util.json#/$defs/skillProficiencies"
160
+ },
161
+ "weaponProficiencies": {
162
+ "$ref": "util.json#/$defs/weaponProficiencies"
163
+ },
164
+ "armorProficiencies": {
165
+ "$ref": "util.json#/$defs/armorProficiencies"
166
+ },
167
+ "toolProficiencies": {
168
+ "$ref": "util.json#/$defs/toolProficiencies"
169
+ },
170
+ "skillToolLanguageProficiencies": {
171
+ "$ref": "util.json#/$defs/skillToolLanguageProficiencies"
172
+ },
173
+ "savingThrowProficiencies": {
174
+ "$ref": "util.json#/$defs/savingThrowProficiencies"
175
+ },
176
+ "optionalfeatureProgression": {
177
+ "$ref": "util.json#/$defs/optionalfeatureProgression"
178
+ },
179
+ "expertise": {
180
+ "$ref": "util.json#/$defs/expertise"
181
+ },
182
+ "resist": {
183
+ "$ref": "util.json#/$defs/damageResistArrayPlayer"
184
+ },
185
+ "immune": {
186
+ "$ref": "util.json#/$defs/damageImmunityArrayPlayer"
187
+ },
188
+ "vulnerable": {
189
+ "$ref": "util.json#/$defs/damageVulnerabilityArrayPlayer"
190
+ },
191
+ "conditionImmune": {
192
+ "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
193
+ },
194
+ "hasFluff": {
195
+ "const": true
196
+ },
197
+ "hasFluffImages": {
198
+ "const": true
199
+ }
200
+ },
201
+ "additionalProperties": false,
202
+ "required": [
203
+ "name",
204
+ "source",
205
+ "entries"
206
+ ]
207
+ },
208
+ {
209
+ "type": "object",
210
+ "properties": {
211
+ "name": {
212
+ "type": "string"
213
+ },
214
+ "prerequisite": {
215
+ "$ref": "util.json#/$defs/prerequisite"
216
+ },
217
+ "source": {
218
+ "$ref": "util.json#/$defs/source"
219
+ },
220
+ "additionalSources": {
221
+ "$ref": "util.json#/$defs/additionalSources"
222
+ },
223
+ "page": {
224
+ "$ref": "util.json#/$defs/page"
225
+ },
226
+ "entries": {
227
+ "type": "array",
228
+ "items": {
229
+ "$ref": "entry.json"
230
+ }
231
+ },
232
+ "ability": {
233
+ "$ref": "util.json#/$defs/abilityScores"
234
+ },
235
+ "srd": {
236
+ "$ref": "util.json#/$defs/srd"
237
+ },
238
+ "otherSources": {
239
+ "$ref": "util.json#/$defs/otherSources"
240
+ },
241
+ "repeatable": {
242
+ "type": "boolean"
243
+ },
244
+ "repeatableNote": {
245
+ "type": "string"
246
+ },
247
+ "category": {
248
+ "type": "string",
249
+ "enum": [
250
+ "general",
251
+ "background"
252
+ ]
253
+ },
254
+ "additionalSpells": {
255
+ "$ref": "util.json#/$defs/additionalSpellsArray"
256
+ },
257
+ "languageProficiencies": {
258
+ "$ref": "util.json#/$defs/languageProficiencies"
259
+ },
260
+ "skillProficiencies": {
261
+ "$ref": "util.json#/$defs/skillProficiencies"
262
+ },
263
+ "weaponProficiencies": {
264
+ "$ref": "util.json#/$defs/weaponProficiencies"
265
+ },
266
+ "armorProficiencies": {
267
+ "$ref": "util.json#/$defs/armorProficiencies"
268
+ },
269
+ "toolProficiencies": {
270
+ "$ref": "util.json#/$defs/toolProficiencies"
271
+ },
272
+ "skillToolLanguageProficiencies": {
273
+ "$ref": "util.json#/$defs/skillToolLanguageProficiencies"
274
+ },
275
+ "savingThrowProficiencies": {
276
+ "$ref": "util.json#/$defs/savingThrowProficiencies"
277
+ },
278
+ "optionalfeatureProgression": {
279
+ "$ref": "util.json#/$defs/optionalfeatureProgression"
280
+ },
281
+ "expertise": {
282
+ "$ref": "util.json#/$defs/expertise"
283
+ },
284
+ "resist": {
285
+ "$ref": "util.json#/$defs/damageResistArrayPlayer"
286
+ },
287
+ "immune": {
288
+ "$ref": "util.json#/$defs/damageImmunityArrayPlayer"
289
+ },
290
+ "vulnerable": {
291
+ "$ref": "util.json#/$defs/damageVulnerabilityArrayPlayer"
292
+ },
293
+ "conditionImmune": {
294
+ "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
295
+ },
296
+ "hasFluff": {
297
+ "const": true
298
+ },
299
+ "hasFluffImages": {
300
+ "const": true
301
+ },
302
+ "_copy": {
303
+ "$ref": "util.json#/$defs/copyBlock_copy_generic"
304
+ }
305
+ },
306
+ "additionalProperties": false,
307
+ "required": [
308
+ "_copy"
309
+ ]
310
+ }
311
+ ]
108
312
  }
109
313
  },
110
314
  "properties": {
315
+ "_meta": {
316
+ "$ref": "util.json#/$defs/metaBlock"
317
+ },
111
318
  "feat": {
112
319
  "type": "array",
113
320
  "minItems": 1,
@@ -1021,20 +1021,26 @@
1021
1021
  "_mod": {
1022
1022
  "$ref": "util.json#/$defs/_modObject"
1023
1023
  },
1024
- "_trait": {
1025
- "type": "object",
1026
- "properties": {
1027
- "name": {
1028
- "type": "string"
1024
+ "_templates": {
1025
+ "type": "array",
1026
+ "items": {
1027
+ "type": "object",
1028
+ "properties": {
1029
+ "name": {
1030
+ "type": "string"
1031
+ },
1032
+ "source": {
1033
+ "$ref": "util.json#/$defs/source"
1034
+ }
1029
1035
  },
1030
- "source": {
1031
- "$ref": "util.json#/$defs/source"
1032
- }
1036
+ "required": [
1037
+ "name",
1038
+ "source"
1039
+ ],
1040
+ "additionalProperties": false
1033
1041
  },
1034
- "required": [
1035
- "name",
1036
- "source"
1037
- ]
1042
+ "minItems": 1,
1043
+ "uniqueItems": true
1038
1044
  },
1039
1045
  "_preserve": {
1040
1046
  "type": "object",