5etools-utils 0.9.61 → 0.9.63

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.
Files changed (37) hide show
  1. package/package.json +1 -1
  2. package/schema/brew/bestiary/bestiary.json +31 -175
  3. package/schema/brew/items-base.json +91 -1
  4. package/schema/brew/magicvariants.json +1411 -368
  5. package/schema/brew/objects.json +10 -4
  6. package/schema/brew/util-token.json +161 -0
  7. package/schema/brew/vehicles.json +28 -10
  8. package/schema/brew-fast/bestiary/bestiary.json +31 -175
  9. package/schema/brew-fast/items-base.json +91 -1
  10. package/schema/brew-fast/magicvariants.json +1411 -368
  11. package/schema/brew-fast/objects.json +10 -4
  12. package/schema/brew-fast/util-token.json +161 -0
  13. package/schema/brew-fast/vehicles.json +28 -10
  14. package/schema/site/bestiary/bestiary.json +4 -91
  15. package/schema/site/items-base.json +91 -1
  16. package/schema/site/magicvariants.json +1286 -328
  17. package/schema/site/objects.json +1 -4
  18. package/schema/site/util-token.json +152 -0
  19. package/schema/site/vehicles.json +1 -1
  20. package/schema/site-fast/bestiary/bestiary.json +4 -91
  21. package/schema/site-fast/items-base.json +91 -1
  22. package/schema/site-fast/magicvariants.json +1286 -328
  23. package/schema/site-fast/objects.json +1 -4
  24. package/schema/site-fast/util-token.json +152 -0
  25. package/schema/site-fast/vehicles.json +1 -1
  26. package/schema/ua/bestiary/bestiary.json +31 -91
  27. package/schema/ua/items-base.json +91 -1
  28. package/schema/ua/magicvariants.json +1338 -342
  29. package/schema/ua/objects.json +10 -4
  30. package/schema/ua/util-token.json +152 -0
  31. package/schema/ua/vehicles.json +28 -1
  32. package/schema/ua-fast/bestiary/bestiary.json +31 -91
  33. package/schema/ua-fast/items-base.json +91 -1
  34. package/schema/ua-fast/magicvariants.json +1338 -342
  35. package/schema/ua-fast/objects.json +10 -4
  36. package/schema/ua-fast/util-token.json +152 -0
  37. package/schema/ua-fast/vehicles.json +28 -1
@@ -3,383 +3,1007 @@
3
3
  "$id": "magicvariants.json",
4
4
  "version": "1.8.13",
5
5
  "type": "object",
6
- "properties": {
7
- "magicvariant": {
8
- "type": "array",
9
- "minItems": 1,
10
- "uniqueItems": true,
11
- "items": {
12
- "type": "object",
13
- "properties": {
14
- "name": {
15
- "type": "string"
16
- },
17
- "type": {
18
- "$ref": "items-shared.json#/$defs/itemType"
19
- },
20
- "entries": {
21
- "type": "array",
22
- "items": {
23
- "$ref": "entry.json"
24
- }
25
- },
26
- "requires": {
27
- "type": "array",
28
- "items": {
29
- "type": "object",
30
- "properties": {
31
- "name": {
32
- "type": "string"
33
- },
34
- "property": {
35
- "type": "string"
36
- },
37
- "armor": {
38
- "type": "boolean"
39
- },
40
- "axe": {
41
- "type": "boolean"
42
- },
43
- "bow": {
44
- "type": "boolean"
45
- },
46
- "crossbow": {
47
- "type": "boolean"
48
- },
49
- "sword": {
50
- "type": "boolean"
51
- },
52
- "weapon": {
53
- "type": "boolean"
54
- },
55
- "firearm": {
56
- "type": "boolean"
57
- },
58
- "mace": {
59
- "type": "boolean"
60
- },
61
- "spear": {
62
- "type": "boolean"
63
- },
64
- "hammer": {
65
- "type": "boolean"
66
- },
67
- "club": {
68
- "type": "boolean"
69
- },
70
- "dagger": {
71
- "type": "boolean"
72
- },
73
- "dmgType": {
74
- "$ref": "util.json#/$defs/dataDamageTags"
75
- },
76
- "source": {
77
- "$ref": "util.json#/$defs/source"
78
- },
79
- "type": {
80
- "$ref": "items-shared.json#/$defs/itemType"
81
- },
82
- "scfType": {
83
- "$ref": "items-shared.json#/$defs/itemScfType"
84
- },
85
- "net": {
86
- "type": "boolean"
87
- },
88
- "polearm": {
89
- "type": "boolean"
90
- },
91
- "arrow": {
92
- "type": "boolean"
93
- },
94
- "bolt": {
95
- "type": "boolean"
96
- },
97
- "weaponCategory": {
98
- "$ref": "items-shared.json#/$defs/itemWeaponCategory"
99
- },
100
- "customProperties": {
101
- "description": "A more restrictive area for custom boolean-only properties to be stored.",
102
- "type": "object",
103
- "additionalProperties": {
104
- "type": [
105
- "boolean"
106
- ]
107
- }
108
- }
109
- },
110
- "additionalProperties": false
111
- }
112
- },
113
- "inherits": {
6
+ "$defs": {
7
+ "_magicvariantItemBase": {
8
+ "type": "object",
9
+ "properties": {
10
+ "name": {
11
+ "type": "string"
12
+ },
13
+ "type": {
14
+ "$ref": "items-shared.json#/$defs/itemType"
15
+ },
16
+ "entries": {
17
+ "type": "array",
18
+ "items": {
19
+ "$ref": "entry.json"
20
+ }
21
+ },
22
+ "requires": {
23
+ "type": "array",
24
+ "items": {
114
25
  "type": "object",
115
26
  "properties": {
116
- "type": {
117
- "description": "Generally this should be omitted, as the type of the base item will be used.",
118
- "$ref": "items-shared.json#/$defs/itemType"
119
- },
120
- "typeAlt": {
121
- "$ref": "items-shared.json#/$defs/itemType"
27
+ "name": {
28
+ "type": "string"
122
29
  },
123
30
  "property": {
124
- "description": "Generally this should be omitted, as the properties of the base item will be used.",
125
- "$ref": "items-shared.json#/$defs/itemProperty"
126
- },
127
- "propertyAdd": {
128
- "description": "Additional properties to grant the specific variant, if not already present on the base item.",
129
- "$ref": "items-shared.json#/$defs/itemProperty"
130
- },
131
- "propertyRemove": {
132
- "description": "Properties to remove from the specific variant, if present on the base item.",
133
- "$ref": "items-shared.json#/$defs/itemProperty"
134
- },
135
- "range": {
136
31
  "type": "string"
137
32
  },
138
- "ac": {
139
- "type": "integer"
140
- },
141
- "age": {
142
- "$ref": "items-shared.json#/$defs/itemAge"
33
+ "armor": {
34
+ "type": "boolean"
143
35
  },
144
- "bonusAc": {
145
- "type": "string"
36
+ "axe": {
37
+ "type": "boolean"
146
38
  },
147
- "bonusWeapon": {
148
- "type": "string"
39
+ "bow": {
40
+ "type": "boolean"
149
41
  },
150
- "bonusWeaponAttack": {
151
- "type": "string"
42
+ "crossbow": {
43
+ "type": "boolean"
152
44
  },
153
- "bonusWeaponDamage": {
154
- "type": "string"
45
+ "sword": {
46
+ "type": "boolean"
155
47
  },
156
- "bonusSpellAttack": {
157
- "type": "string"
48
+ "weapon": {
49
+ "type": "boolean"
158
50
  },
159
- "bonusSpellDamage": {
160
- "type": "string"
51
+ "firearm": {
52
+ "type": "boolean"
161
53
  },
162
- "bonusSpellSaveDc": {
163
- "type": "string"
54
+ "mace": {
55
+ "type": "boolean"
164
56
  },
165
- "bonusSavingThrow": {
166
- "type": "string"
57
+ "spear": {
58
+ "type": "boolean"
167
59
  },
168
- "bonusAbilityCheck": {
169
- "type": "string"
60
+ "hammer": {
61
+ "type": "boolean"
170
62
  },
171
- "dmg1": {
172
- "type": "string"
63
+ "club": {
64
+ "type": "boolean"
173
65
  },
174
- "dmg2": {
175
- "type": "string",
176
- "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
66
+ "dagger": {
67
+ "type": "boolean"
177
68
  },
178
69
  "dmgType": {
179
70
  "$ref": "util.json#/$defs/dataDamageTags"
180
71
  },
181
- "modifySpeed": {
182
- "$ref": "items-shared.json#/$defs/itemModifySpeed"
183
- },
184
- "tier": {
185
- "$ref": "items-shared.json#/$defs/itemTier"
186
- },
187
- "rarity": {
188
- "$ref": "items-shared.json#/$defs/itemRarity"
189
- },
190
72
  "source": {
191
73
  "$ref": "util.json#/$defs/source"
192
74
  },
193
- "page": {
194
- "$ref": "util.json#/$defs/page"
195
- },
196
- "reprintedAs": {
197
- "$ref": "util.json#/$defs/reprintedAs"
198
- },
199
- "namePrefix": {
200
- "type": "string"
201
- },
202
- "nameSuffix": {
203
- "type": "string"
75
+ "type": {
76
+ "$ref": "items-shared.json#/$defs/itemType"
204
77
  },
205
- "nameRemove": {
206
- "type": "string"
78
+ "scfType": {
79
+ "$ref": "items-shared.json#/$defs/itemScfType"
207
80
  },
208
- "grantsProficiency": {
81
+ "net": {
209
82
  "type": "boolean"
210
83
  },
211
- "grantsLanguage": {
84
+ "polearm": {
212
85
  "type": "boolean"
213
86
  },
214
- "reqAttune": {
215
- "type": [
216
- "string",
217
- "boolean"
218
- ]
219
- },
220
- "curse": {
87
+ "arrow": {
221
88
  "type": "boolean"
222
89
  },
223
- "vulnerable": {
224
- "$ref": "util.json#/$defs/damageVulnerabilityArray"
90
+ "bolt": {
91
+ "type": "boolean"
225
92
  },
226
- "resist": {
227
- "$ref": "util.json#/$defs/damageResistArray"
93
+ "weaponCategory": {
94
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
228
95
  },
229
- "immune": {
230
- "$ref": "util.json#/$defs/damageImmunityArray"
96
+ "customProperties": {
97
+ "description": "A more restrictive area for custom boolean-only properties to be stored.",
98
+ "type": "object",
99
+ "additionalProperties": {
100
+ "type": [
101
+ "boolean"
102
+ ]
103
+ }
104
+ }
105
+ },
106
+ "additionalProperties": false
107
+ }
108
+ },
109
+ "inherits": {
110
+ "type": "object",
111
+ "properties": {
112
+ "type": {
113
+ "description": "Generally this should be omitted, as the type of the base item will be used.",
114
+ "$ref": "items-shared.json#/$defs/itemType"
115
+ },
116
+ "typeAlt": {
117
+ "$ref": "items-shared.json#/$defs/itemType"
118
+ },
119
+ "property": {
120
+ "description": "Generally this should be omitted, as the properties of the base item will be used.",
121
+ "$ref": "items-shared.json#/$defs/itemProperty"
122
+ },
123
+ "propertyAdd": {
124
+ "description": "Additional properties to grant the specific variant, if not already present on the base item.",
125
+ "$ref": "items-shared.json#/$defs/itemProperty"
126
+ },
127
+ "propertyRemove": {
128
+ "description": "Properties to remove from the specific variant, if present on the base item.",
129
+ "$ref": "items-shared.json#/$defs/itemProperty"
130
+ },
131
+ "range": {
132
+ "type": "string"
133
+ },
134
+ "ac": {
135
+ "type": "integer"
136
+ },
137
+ "age": {
138
+ "$ref": "items-shared.json#/$defs/itemAge"
139
+ },
140
+ "bonusAc": {
141
+ "type": "string"
142
+ },
143
+ "bonusWeapon": {
144
+ "type": "string"
145
+ },
146
+ "bonusWeaponAttack": {
147
+ "type": "string"
148
+ },
149
+ "bonusWeaponDamage": {
150
+ "type": "string"
151
+ },
152
+ "bonusWeaponCritDamage": {
153
+ "type": "string"
154
+ },
155
+ "bonusSpellAttack": {
156
+ "type": "string"
157
+ },
158
+ "bonusSpellDamage": {
159
+ "type": "string"
160
+ },
161
+ "bonusSpellSaveDc": {
162
+ "type": "string"
163
+ },
164
+ "bonusSavingThrow": {
165
+ "type": "string"
166
+ },
167
+ "bonusAbilityCheck": {
168
+ "type": "string"
169
+ },
170
+ "bonusProficiencyBonus": {
171
+ "type": "string"
172
+ },
173
+ "dmg1": {
174
+ "type": "string"
175
+ },
176
+ "dmg2": {
177
+ "type": "string",
178
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
179
+ },
180
+ "dmgType": {
181
+ "$ref": "util.json#/$defs/dataDamageTags"
182
+ },
183
+ "modifySpeed": {
184
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
185
+ },
186
+ "tier": {
187
+ "$ref": "items-shared.json#/$defs/itemTier"
188
+ },
189
+ "rarity": {
190
+ "$ref": "items-shared.json#/$defs/itemRarity"
191
+ },
192
+ "source": {
193
+ "$ref": "util.json#/$defs/source"
194
+ },
195
+ "page": {
196
+ "$ref": "util.json#/$defs/page"
197
+ },
198
+ "reprintedAs": {
199
+ "$ref": "util.json#/$defs/reprintedAs"
200
+ },
201
+ "namePrefix": {
202
+ "type": "string"
203
+ },
204
+ "nameSuffix": {
205
+ "type": "string"
206
+ },
207
+ "nameRemove": {
208
+ "type": "string"
209
+ },
210
+ "grantsProficiency": {
211
+ "type": "boolean"
212
+ },
213
+ "grantsLanguage": {
214
+ "type": "boolean"
215
+ },
216
+ "reqAttune": {
217
+ "type": [
218
+ "string",
219
+ "boolean"
220
+ ]
221
+ },
222
+ "curse": {
223
+ "type": "boolean"
224
+ },
225
+ "vulnerable": {
226
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
227
+ },
228
+ "resist": {
229
+ "$ref": "util.json#/$defs/damageResistArray"
230
+ },
231
+ "immune": {
232
+ "$ref": "util.json#/$defs/damageImmunityArray"
233
+ },
234
+ "conditionImmune": {
235
+ "$ref": "util.json#/$defs/conditionImmunityArray"
236
+ },
237
+ "stealth": {
238
+ "type": "boolean"
239
+ },
240
+ "strength": {
241
+ "type": [
242
+ "string",
243
+ "null"
244
+ ]
245
+ },
246
+ "wondrous": {
247
+ "type": "boolean"
248
+ },
249
+ "entries": {
250
+ "type": "array",
251
+ "items": {
252
+ "$ref": "entry.json"
253
+ }
254
+ },
255
+ "charges": {
256
+ "type": [
257
+ "string",
258
+ "integer"
259
+ ]
260
+ },
261
+ "recharge": {
262
+ "$ref": "items-shared.json#/$defs/itemRecharge"
263
+ },
264
+ "rechargeAmount": {
265
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
266
+ },
267
+ "attachedSpells": {
268
+ "type": "array",
269
+ "items": {
270
+ "type": "string"
271
+ }
272
+ },
273
+ "lootTables": {
274
+ "type": "array",
275
+ "items": {
276
+ "oneOf": [
277
+ {
278
+ "type": "string"
279
+ },
280
+ {
281
+ "type": "object",
282
+ "properties": {
283
+ "name": {
284
+ "type": "string"
285
+ },
286
+ "source": {
287
+ "$ref": "util.json#/$defs/source"
288
+ }
289
+ }
290
+ }
291
+ ]
292
+ }
293
+ },
294
+ "srd": {
295
+ "$ref": "util.json#/$defs/srd"
296
+ },
297
+ "basicRules": {
298
+ "$ref": "util.json#/$defs/basicRules"
299
+ },
300
+ "legacy": {
301
+ "$ref": "util.json#/$defs/legacy"
302
+ },
303
+ "otherSources": {
304
+ "$ref": "util.json#/$defs/otherSources"
305
+ },
306
+ "valueMult": {
307
+ "type": "number"
308
+ },
309
+ "valueExpression": {
310
+ "description": "Expression used to calculate each specific variant's value.",
311
+ "type": "string"
312
+ },
313
+ "weaponCategory": {
314
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
315
+ },
316
+ "weightMult": {
317
+ "type": "number"
318
+ },
319
+ "weightExpression": {
320
+ "description": "Expression used to calculate each specific variant's weight.",
321
+ "type": "string"
322
+ },
323
+ "barding": {
324
+ "type": "boolean"
325
+ },
326
+ "reqAttuneTags": {
327
+ "$ref": "util.json#/$defs/reqAttuneTags"
328
+ },
329
+ "reqAttuneAltTags": {
330
+ "$ref": "util.json#/$defs/reqAttuneTags"
331
+ },
332
+ "mastery": {
333
+ "$ref": "items-shared.json#/$defs/itemMastery"
334
+ },
335
+ "reach": {
336
+ "$ref": "items-shared.json#/$defs/itemReach"
337
+ },
338
+ "hasRefs": {
339
+ "type": "boolean",
340
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
341
+ },
342
+ "customProperties": {
343
+ "description": "An unrestricted area for custom properties to be stored.",
344
+ "type": "object"
345
+ }
346
+ },
347
+ "additionalProperties": false
348
+ },
349
+ "excludes": {
350
+ "type": "object",
351
+ "properties": {
352
+ "name": {
353
+ "oneOf": [
354
+ {
355
+ "type": "string"
356
+ },
357
+ {
358
+ "type": "array",
359
+ "items": {
360
+ "type": "string"
361
+ }
362
+ }
363
+ ]
364
+ },
365
+ "page": {
366
+ "$ref": "util.json#/$defs/page"
367
+ },
368
+ "property": {
369
+ "oneOf": [
370
+ {
371
+ "type": "string"
372
+ },
373
+ {
374
+ "type": "array",
375
+ "items": {
376
+ "type": "string"
377
+ }
378
+ }
379
+ ]
380
+ },
381
+ "armor": {
382
+ "type": "boolean"
383
+ },
384
+ "axe": {
385
+ "type": "boolean"
386
+ },
387
+ "bow": {
388
+ "type": "boolean"
389
+ },
390
+ "crossbow": {
391
+ "type": "boolean"
392
+ },
393
+ "sword": {
394
+ "type": "boolean"
395
+ },
396
+ "weapon": {
397
+ "type": "boolean"
398
+ },
399
+ "firearm": {
400
+ "type": "boolean"
401
+ },
402
+ "mace": {
403
+ "type": "boolean"
404
+ },
405
+ "spear": {
406
+ "type": "boolean"
407
+ },
408
+ "hammer": {
409
+ "type": "boolean"
410
+ },
411
+ "club": {
412
+ "type": "boolean"
413
+ },
414
+ "dagger": {
415
+ "type": "boolean"
416
+ },
417
+ "dmgType": {
418
+ "$ref": "util.json#/$defs/dataDamageTags"
419
+ },
420
+ "source": {
421
+ "$ref": "util.json#/$defs/source"
422
+ },
423
+ "type": {
424
+ "$ref": "items-shared.json#/$defs/itemType"
425
+ },
426
+ "scfType": {
427
+ "$ref": "items-shared.json#/$defs/itemScfType"
428
+ },
429
+ "net": {
430
+ "type": "boolean"
431
+ },
432
+ "polearm": {
433
+ "type": "boolean"
434
+ },
435
+ "arrow": {
436
+ "type": "boolean"
437
+ },
438
+ "bolt": {
439
+ "type": "boolean"
440
+ },
441
+ "weaponCategory": {
442
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
443
+ },
444
+ "customProperties": {
445
+ "$ref": "items-shared.json#/$defs/customProperties"
446
+ }
447
+ },
448
+ "additionalProperties": false
449
+ },
450
+ "noDisplay": {
451
+ "type": "boolean"
452
+ },
453
+ "charges": {
454
+ "type": [
455
+ "string",
456
+ "integer"
457
+ ]
458
+ },
459
+ "attachedSpells": {
460
+ "type": "array",
461
+ "items": {
462
+ "type": "string"
463
+ }
464
+ },
465
+ "ammo": {
466
+ "description": "Adds ammunition text to the header of the generic variant.",
467
+ "type": "boolean"
468
+ },
469
+ "reqAttuneTags": {
470
+ "$ref": "util.json#/$defs/reqAttuneTags"
471
+ },
472
+ "reqAttuneAltTags": {
473
+ "$ref": "util.json#/$defs/reqAttuneTags"
474
+ },
475
+ "weaponCategory": {
476
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
477
+ },
478
+ "hasFluff": {
479
+ "type": "boolean"
480
+ },
481
+ "hasFluffImages": {
482
+ "type": "boolean"
483
+ },
484
+ "customProperties": {
485
+ "$ref": "items-shared.json#/$defs/customProperties"
486
+ }
487
+ },
488
+ "additionalProperties": false
489
+ },
490
+ "_magicvariantItemSite": {
491
+ "type": "object",
492
+ "properties": {
493
+ "name": {
494
+ "type": "string"
495
+ },
496
+ "type": {
497
+ "$ref": "items-shared.json#/$defs/itemType"
498
+ },
499
+ "entries": {
500
+ "type": "array",
501
+ "items": {
502
+ "$ref": "entry.json"
503
+ }
504
+ },
505
+ "requires": {
506
+ "type": "array",
507
+ "items": {
508
+ "type": "object",
509
+ "properties": {
510
+ "name": {
511
+ "type": "string"
231
512
  },
232
- "conditionImmune": {
233
- "$ref": "util.json#/$defs/conditionImmunityArray"
513
+ "property": {
514
+ "type": "string"
234
515
  },
235
- "stealth": {
516
+ "armor": {
236
517
  "type": "boolean"
237
518
  },
238
- "strength": {
239
- "type": [
240
- "string",
241
- "null"
242
- ]
243
- },
244
- "wondrous": {
519
+ "axe": {
245
520
  "type": "boolean"
246
521
  },
247
- "entries": {
248
- "type": "array",
249
- "items": {
250
- "$ref": "entry.json"
251
- }
252
- },
253
- "charges": {
254
- "type": [
255
- "string",
256
- "integer"
257
- ]
522
+ "bow": {
523
+ "type": "boolean"
258
524
  },
259
- "recharge": {
260
- "$ref": "items-shared.json#/$defs/itemRecharge"
525
+ "crossbow": {
526
+ "type": "boolean"
261
527
  },
262
- "rechargeAmount": {
263
- "$ref": "items-shared.json#/$defs/itemRechargeAmount"
528
+ "sword": {
529
+ "type": "boolean"
264
530
  },
265
- "attachedSpells": {
266
- "type": "array",
267
- "items": {
268
- "type": "string"
269
- }
531
+ "weapon": {
532
+ "type": "boolean"
270
533
  },
271
- "lootTables": {
272
- "type": "array",
273
- "items": {
274
- "oneOf": [
275
- {
276
- "type": "string"
277
- },
278
- {
279
- "type": "object",
280
- "properties": {
281
- "name": {
282
- "type": "string"
283
- },
284
- "source": {
285
- "$ref": "util.json#/$defs/source"
286
- }
287
- }
288
- }
289
- ]
290
- }
534
+ "firearm": {
535
+ "type": "boolean"
291
536
  },
292
- "srd": {
293
- "$ref": "util.json#/$defs/srd"
537
+ "mace": {
538
+ "type": "boolean"
294
539
  },
295
- "basicRules": {
296
- "$ref": "util.json#/$defs/basicRules"
540
+ "spear": {
541
+ "type": "boolean"
297
542
  },
298
- "legacy": {
299
- "$ref": "util.json#/$defs/legacy"
543
+ "hammer": {
544
+ "type": "boolean"
300
545
  },
301
- "otherSources": {
302
- "$ref": "util.json#/$defs/otherSources"
546
+ "club": {
547
+ "type": "boolean"
303
548
  },
304
- "valueMult": {
305
- "type": "number"
549
+ "dagger": {
550
+ "type": "boolean"
306
551
  },
307
- "valueExpression": {
308
- "description": "Expression used to calculate each specific variant's value.",
309
- "type": "string"
552
+ "dmgType": {
553
+ "$ref": "util.json#/$defs/dataDamageTags"
310
554
  },
311
- "weaponCategory": {
312
- "$ref": "items-shared.json#/$defs/itemWeaponCategory"
555
+ "source": {
556
+ "$ref": "util.json#/$defs/source"
313
557
  },
314
- "weightMult": {
315
- "type": "number"
558
+ "type": {
559
+ "$ref": "items-shared.json#/$defs/itemType"
316
560
  },
317
- "weightExpression": {
318
- "description": "Expression used to calculate each specific variant's weight.",
319
- "type": "string"
561
+ "scfType": {
562
+ "$ref": "items-shared.json#/$defs/itemScfType"
320
563
  },
321
- "barding": {
564
+ "net": {
322
565
  "type": "boolean"
323
566
  },
324
- "reqAttuneTags": {
325
- "$ref": "util.json#/$defs/reqAttuneTags"
326
- },
327
- "reqAttuneAltTags": {
328
- "$ref": "util.json#/$defs/reqAttuneTags"
567
+ "polearm": {
568
+ "type": "boolean"
329
569
  },
330
- "mastery": {
331
- "$ref": "items-shared.json#/$defs/itemMastery"
570
+ "arrow": {
571
+ "type": "boolean"
332
572
  },
333
- "reach": {
334
- "$ref": "items-shared.json#/$defs/itemReach"
573
+ "bolt": {
574
+ "type": "boolean"
335
575
  },
336
- "hasRefs": {
337
- "type": "boolean",
338
- "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
576
+ "weaponCategory": {
577
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
339
578
  },
340
579
  "customProperties": {
341
- "description": "An unrestricted area for custom properties to be stored.",
342
- "type": "object"
580
+ "description": "A more restrictive area for custom boolean-only properties to be stored.",
581
+ "type": "object",
582
+ "additionalProperties": {
583
+ "type": [
584
+ "boolean"
585
+ ]
586
+ }
343
587
  }
344
588
  },
345
- "required": [
346
- "rarity",
347
- "source",
348
- "page"
349
- ],
350
589
  "additionalProperties": false
351
- },
352
- "excludes": {
353
- "type": "object",
354
- "properties": {
355
- "name": {
590
+ }
591
+ },
592
+ "inherits": {
593
+ "type": "object",
594
+ "properties": {
595
+ "type": {
596
+ "description": "Generally this should be omitted, as the type of the base item will be used.",
597
+ "$ref": "items-shared.json#/$defs/itemType"
598
+ },
599
+ "typeAlt": {
600
+ "$ref": "items-shared.json#/$defs/itemType"
601
+ },
602
+ "property": {
603
+ "description": "Generally this should be omitted, as the properties of the base item will be used.",
604
+ "$ref": "items-shared.json#/$defs/itemProperty"
605
+ },
606
+ "propertyAdd": {
607
+ "description": "Additional properties to grant the specific variant, if not already present on the base item.",
608
+ "$ref": "items-shared.json#/$defs/itemProperty"
609
+ },
610
+ "propertyRemove": {
611
+ "description": "Properties to remove from the specific variant, if present on the base item.",
612
+ "$ref": "items-shared.json#/$defs/itemProperty"
613
+ },
614
+ "range": {
615
+ "type": "string"
616
+ },
617
+ "ac": {
618
+ "type": "integer"
619
+ },
620
+ "age": {
621
+ "$ref": "items-shared.json#/$defs/itemAge"
622
+ },
623
+ "bonusAc": {
624
+ "type": "string"
625
+ },
626
+ "bonusWeapon": {
627
+ "type": "string"
628
+ },
629
+ "bonusWeaponAttack": {
630
+ "type": "string"
631
+ },
632
+ "bonusWeaponDamage": {
633
+ "type": "string"
634
+ },
635
+ "bonusWeaponCritDamage": {
636
+ "type": "string"
637
+ },
638
+ "bonusSpellAttack": {
639
+ "type": "string"
640
+ },
641
+ "bonusSpellDamage": {
642
+ "type": "string"
643
+ },
644
+ "bonusSpellSaveDc": {
645
+ "type": "string"
646
+ },
647
+ "bonusSavingThrow": {
648
+ "type": "string"
649
+ },
650
+ "bonusAbilityCheck": {
651
+ "type": "string"
652
+ },
653
+ "bonusProficiencyBonus": {
654
+ "type": "string"
655
+ },
656
+ "dmg1": {
657
+ "type": "string"
658
+ },
659
+ "dmg2": {
660
+ "type": "string",
661
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
662
+ },
663
+ "dmgType": {
664
+ "$ref": "util.json#/$defs/dataDamageTags"
665
+ },
666
+ "modifySpeed": {
667
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
668
+ },
669
+ "tier": {
670
+ "$ref": "items-shared.json#/$defs/itemTier"
671
+ },
672
+ "rarity": {
673
+ "$ref": "items-shared.json#/$defs/itemRarity"
674
+ },
675
+ "source": {
676
+ "$ref": "util.json#/$defs/source"
677
+ },
678
+ "page": {
679
+ "$ref": "util.json#/$defs/page"
680
+ },
681
+ "reprintedAs": {
682
+ "$ref": "util.json#/$defs/reprintedAs"
683
+ },
684
+ "namePrefix": {
685
+ "type": "string"
686
+ },
687
+ "nameSuffix": {
688
+ "type": "string"
689
+ },
690
+ "nameRemove": {
691
+ "type": "string"
692
+ },
693
+ "grantsProficiency": {
694
+ "type": "boolean"
695
+ },
696
+ "grantsLanguage": {
697
+ "type": "boolean"
698
+ },
699
+ "reqAttune": {
700
+ "type": [
701
+ "string",
702
+ "boolean"
703
+ ]
704
+ },
705
+ "curse": {
706
+ "type": "boolean"
707
+ },
708
+ "vulnerable": {
709
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
710
+ },
711
+ "resist": {
712
+ "$ref": "util.json#/$defs/damageResistArray"
713
+ },
714
+ "immune": {
715
+ "$ref": "util.json#/$defs/damageImmunityArray"
716
+ },
717
+ "conditionImmune": {
718
+ "$ref": "util.json#/$defs/conditionImmunityArray"
719
+ },
720
+ "stealth": {
721
+ "type": "boolean"
722
+ },
723
+ "strength": {
724
+ "type": [
725
+ "string",
726
+ "null"
727
+ ]
728
+ },
729
+ "wondrous": {
730
+ "type": "boolean"
731
+ },
732
+ "entries": {
733
+ "type": "array",
734
+ "items": {
735
+ "$ref": "entry.json"
736
+ }
737
+ },
738
+ "charges": {
739
+ "type": [
740
+ "string",
741
+ "integer"
742
+ ]
743
+ },
744
+ "recharge": {
745
+ "$ref": "items-shared.json#/$defs/itemRecharge"
746
+ },
747
+ "rechargeAmount": {
748
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
749
+ },
750
+ "attachedSpells": {
751
+ "type": "array",
752
+ "items": {
753
+ "type": "string"
754
+ }
755
+ },
756
+ "lootTables": {
757
+ "type": "array",
758
+ "items": {
356
759
  "oneOf": [
357
760
  {
358
761
  "type": "string"
359
762
  },
360
763
  {
361
- "type": "array",
362
- "items": {
363
- "type": "string"
764
+ "type": "object",
765
+ "properties": {
766
+ "name": {
767
+ "type": "string"
768
+ },
769
+ "source": {
770
+ "$ref": "util.json#/$defs/source"
771
+ }
364
772
  }
365
773
  }
366
774
  ]
367
- },
368
- "page": {
369
- "$ref": "util.json#/$defs/page"
370
- },
371
- "property": {
372
- "oneOf": [
373
- {
775
+ }
776
+ },
777
+ "srd": {
778
+ "$ref": "util.json#/$defs/srd"
779
+ },
780
+ "basicRules": {
781
+ "$ref": "util.json#/$defs/basicRules"
782
+ },
783
+ "legacy": {
784
+ "$ref": "util.json#/$defs/legacy"
785
+ },
786
+ "otherSources": {
787
+ "$ref": "util.json#/$defs/otherSources"
788
+ },
789
+ "valueMult": {
790
+ "type": "number"
791
+ },
792
+ "valueExpression": {
793
+ "description": "Expression used to calculate each specific variant's value.",
794
+ "type": "string"
795
+ },
796
+ "weaponCategory": {
797
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
798
+ },
799
+ "weightMult": {
800
+ "type": "number"
801
+ },
802
+ "weightExpression": {
803
+ "description": "Expression used to calculate each specific variant's weight.",
804
+ "type": "string"
805
+ },
806
+ "barding": {
807
+ "type": "boolean"
808
+ },
809
+ "reqAttuneTags": {
810
+ "$ref": "util.json#/$defs/reqAttuneTags"
811
+ },
812
+ "reqAttuneAltTags": {
813
+ "$ref": "util.json#/$defs/reqAttuneTags"
814
+ },
815
+ "mastery": {
816
+ "$ref": "items-shared.json#/$defs/itemMastery"
817
+ },
818
+ "reach": {
819
+ "$ref": "items-shared.json#/$defs/itemReach"
820
+ },
821
+ "hasRefs": {
822
+ "type": "boolean",
823
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
824
+ },
825
+ "customProperties": {
826
+ "description": "An unrestricted area for custom properties to be stored.",
827
+ "type": "object"
828
+ }
829
+ },
830
+ "additionalProperties": false,
831
+ "required": [
832
+ "rarity",
833
+ "source",
834
+ "page"
835
+ ]
836
+ },
837
+ "excludes": {
838
+ "type": "object",
839
+ "properties": {
840
+ "name": {
841
+ "oneOf": [
842
+ {
843
+ "type": "string"
844
+ },
845
+ {
846
+ "type": "array",
847
+ "items": {
374
848
  "type": "string"
375
- },
376
- {
377
- "type": "array",
378
- "items": {
379
- "type": "string"
380
- }
381
849
  }
382
- ]
850
+ }
851
+ ]
852
+ },
853
+ "page": {
854
+ "$ref": "util.json#/$defs/page"
855
+ },
856
+ "property": {
857
+ "oneOf": [
858
+ {
859
+ "type": "string"
860
+ },
861
+ {
862
+ "type": "array",
863
+ "items": {
864
+ "type": "string"
865
+ }
866
+ }
867
+ ]
868
+ },
869
+ "armor": {
870
+ "type": "boolean"
871
+ },
872
+ "axe": {
873
+ "type": "boolean"
874
+ },
875
+ "bow": {
876
+ "type": "boolean"
877
+ },
878
+ "crossbow": {
879
+ "type": "boolean"
880
+ },
881
+ "sword": {
882
+ "type": "boolean"
883
+ },
884
+ "weapon": {
885
+ "type": "boolean"
886
+ },
887
+ "firearm": {
888
+ "type": "boolean"
889
+ },
890
+ "mace": {
891
+ "type": "boolean"
892
+ },
893
+ "spear": {
894
+ "type": "boolean"
895
+ },
896
+ "hammer": {
897
+ "type": "boolean"
898
+ },
899
+ "club": {
900
+ "type": "boolean"
901
+ },
902
+ "dagger": {
903
+ "type": "boolean"
904
+ },
905
+ "dmgType": {
906
+ "$ref": "util.json#/$defs/dataDamageTags"
907
+ },
908
+ "source": {
909
+ "$ref": "util.json#/$defs/source"
910
+ },
911
+ "type": {
912
+ "$ref": "items-shared.json#/$defs/itemType"
913
+ },
914
+ "scfType": {
915
+ "$ref": "items-shared.json#/$defs/itemScfType"
916
+ },
917
+ "net": {
918
+ "type": "boolean"
919
+ },
920
+ "polearm": {
921
+ "type": "boolean"
922
+ },
923
+ "arrow": {
924
+ "type": "boolean"
925
+ },
926
+ "bolt": {
927
+ "type": "boolean"
928
+ },
929
+ "weaponCategory": {
930
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
931
+ },
932
+ "customProperties": {
933
+ "$ref": "items-shared.json#/$defs/customProperties"
934
+ }
935
+ },
936
+ "additionalProperties": false
937
+ },
938
+ "noDisplay": {
939
+ "type": "boolean"
940
+ },
941
+ "charges": {
942
+ "type": [
943
+ "string",
944
+ "integer"
945
+ ]
946
+ },
947
+ "attachedSpells": {
948
+ "type": "array",
949
+ "items": {
950
+ "type": "string"
951
+ }
952
+ },
953
+ "ammo": {
954
+ "description": "Adds ammunition text to the header of the generic variant.",
955
+ "type": "boolean"
956
+ },
957
+ "reqAttuneTags": {
958
+ "$ref": "util.json#/$defs/reqAttuneTags"
959
+ },
960
+ "reqAttuneAltTags": {
961
+ "$ref": "util.json#/$defs/reqAttuneTags"
962
+ },
963
+ "weaponCategory": {
964
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
965
+ },
966
+ "hasFluff": {
967
+ "type": "boolean"
968
+ },
969
+ "hasFluffImages": {
970
+ "type": "boolean"
971
+ },
972
+ "customProperties": {
973
+ "$ref": "items-shared.json#/$defs/customProperties"
974
+ }
975
+ },
976
+ "additionalProperties": false,
977
+ "required": [
978
+ "name",
979
+ "inherits"
980
+ ]
981
+ },
982
+ "_magicvariantItemBrewBaseRarity": {
983
+ "type": "object",
984
+ "properties": {
985
+ "name": {
986
+ "type": "string"
987
+ },
988
+ "type": {
989
+ "$ref": "items-shared.json#/$defs/itemType"
990
+ },
991
+ "entries": {
992
+ "type": "array",
993
+ "items": {
994
+ "$ref": "entry.json"
995
+ }
996
+ },
997
+ "requires": {
998
+ "type": "array",
999
+ "items": {
1000
+ "type": "object",
1001
+ "properties": {
1002
+ "name": {
1003
+ "type": "string"
1004
+ },
1005
+ "property": {
1006
+ "type": "string"
383
1007
  },
384
1008
  "armor": {
385
1009
  "type": "boolean"
@@ -445,54 +1069,426 @@
445
1069
  "$ref": "items-shared.json#/$defs/itemWeaponCategory"
446
1070
  },
447
1071
  "customProperties": {
448
- "$ref": "items-shared.json#/$defs/customProperties"
1072
+ "description": "A more restrictive area for custom boolean-only properties to be stored.",
1073
+ "type": "object",
1074
+ "additionalProperties": {
1075
+ "type": [
1076
+ "boolean"
1077
+ ]
1078
+ }
449
1079
  }
450
1080
  },
451
1081
  "additionalProperties": false
452
- },
453
- "noDisplay": {
454
- "type": "boolean"
455
- },
456
- "charges": {
457
- "type": [
458
- "string",
459
- "integer"
460
- ]
461
- },
462
- "attachedSpells": {
463
- "type": "array",
464
- "items": {
1082
+ }
1083
+ },
1084
+ "inherits": {
1085
+ "type": "object",
1086
+ "properties": {
1087
+ "type": {
1088
+ "description": "Generally this should be omitted, as the type of the base item will be used.",
1089
+ "$ref": "items-shared.json#/$defs/itemType"
1090
+ },
1091
+ "typeAlt": {
1092
+ "$ref": "items-shared.json#/$defs/itemType"
1093
+ },
1094
+ "property": {
1095
+ "description": "Generally this should be omitted, as the properties of the base item will be used.",
1096
+ "$ref": "items-shared.json#/$defs/itemProperty"
1097
+ },
1098
+ "propertyAdd": {
1099
+ "description": "Additional properties to grant the specific variant, if not already present on the base item.",
1100
+ "$ref": "items-shared.json#/$defs/itemProperty"
1101
+ },
1102
+ "propertyRemove": {
1103
+ "description": "Properties to remove from the specific variant, if present on the base item.",
1104
+ "$ref": "items-shared.json#/$defs/itemProperty"
1105
+ },
1106
+ "range": {
1107
+ "type": "string"
1108
+ },
1109
+ "ac": {
1110
+ "type": "integer"
1111
+ },
1112
+ "age": {
1113
+ "$ref": "items-shared.json#/$defs/itemAge"
1114
+ },
1115
+ "bonusAc": {
1116
+ "type": "string"
1117
+ },
1118
+ "bonusWeapon": {
1119
+ "type": "string"
1120
+ },
1121
+ "bonusWeaponAttack": {
1122
+ "type": "string"
1123
+ },
1124
+ "bonusWeaponDamage": {
1125
+ "type": "string"
1126
+ },
1127
+ "bonusWeaponCritDamage": {
1128
+ "type": "string"
1129
+ },
1130
+ "bonusSpellAttack": {
1131
+ "type": "string"
1132
+ },
1133
+ "bonusSpellDamage": {
1134
+ "type": "string"
1135
+ },
1136
+ "bonusSpellSaveDc": {
1137
+ "type": "string"
1138
+ },
1139
+ "bonusSavingThrow": {
1140
+ "type": "string"
1141
+ },
1142
+ "bonusAbilityCheck": {
1143
+ "type": "string"
1144
+ },
1145
+ "bonusProficiencyBonus": {
1146
+ "type": "string"
1147
+ },
1148
+ "dmg1": {
1149
+ "type": "string"
1150
+ },
1151
+ "dmg2": {
1152
+ "type": "string",
1153
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
1154
+ },
1155
+ "dmgType": {
1156
+ "$ref": "util.json#/$defs/dataDamageTags"
1157
+ },
1158
+ "modifySpeed": {
1159
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
1160
+ },
1161
+ "tier": {
1162
+ "$ref": "items-shared.json#/$defs/itemTier"
1163
+ },
1164
+ "rarity": {
1165
+ "$ref": "items-shared.json#/$defs/itemRarity"
1166
+ },
1167
+ "source": {
1168
+ "$ref": "util.json#/$defs/source"
1169
+ },
1170
+ "page": {
1171
+ "$ref": "util.json#/$defs/page"
1172
+ },
1173
+ "reprintedAs": {
1174
+ "$ref": "util.json#/$defs/reprintedAs"
1175
+ },
1176
+ "namePrefix": {
1177
+ "type": "string"
1178
+ },
1179
+ "nameSuffix": {
1180
+ "type": "string"
1181
+ },
1182
+ "nameRemove": {
1183
+ "type": "string"
1184
+ },
1185
+ "grantsProficiency": {
1186
+ "type": "boolean"
1187
+ },
1188
+ "grantsLanguage": {
1189
+ "type": "boolean"
1190
+ },
1191
+ "reqAttune": {
1192
+ "type": [
1193
+ "string",
1194
+ "boolean"
1195
+ ]
1196
+ },
1197
+ "curse": {
1198
+ "type": "boolean"
1199
+ },
1200
+ "vulnerable": {
1201
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
1202
+ },
1203
+ "resist": {
1204
+ "$ref": "util.json#/$defs/damageResistArray"
1205
+ },
1206
+ "immune": {
1207
+ "$ref": "util.json#/$defs/damageImmunityArray"
1208
+ },
1209
+ "conditionImmune": {
1210
+ "$ref": "util.json#/$defs/conditionImmunityArray"
1211
+ },
1212
+ "stealth": {
1213
+ "type": "boolean"
1214
+ },
1215
+ "strength": {
1216
+ "type": [
1217
+ "string",
1218
+ "null"
1219
+ ]
1220
+ },
1221
+ "wondrous": {
1222
+ "type": "boolean"
1223
+ },
1224
+ "entries": {
1225
+ "type": "array",
1226
+ "items": {
1227
+ "$ref": "entry.json"
1228
+ }
1229
+ },
1230
+ "charges": {
1231
+ "type": [
1232
+ "string",
1233
+ "integer"
1234
+ ]
1235
+ },
1236
+ "recharge": {
1237
+ "$ref": "items-shared.json#/$defs/itemRecharge"
1238
+ },
1239
+ "rechargeAmount": {
1240
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
1241
+ },
1242
+ "attachedSpells": {
1243
+ "type": "array",
1244
+ "items": {
1245
+ "type": "string"
1246
+ }
1247
+ },
1248
+ "lootTables": {
1249
+ "type": "array",
1250
+ "items": {
1251
+ "oneOf": [
1252
+ {
1253
+ "type": "string"
1254
+ },
1255
+ {
1256
+ "type": "object",
1257
+ "properties": {
1258
+ "name": {
1259
+ "type": "string"
1260
+ },
1261
+ "source": {
1262
+ "$ref": "util.json#/$defs/source"
1263
+ }
1264
+ }
1265
+ }
1266
+ ]
1267
+ }
1268
+ },
1269
+ "srd": {
1270
+ "$ref": "util.json#/$defs/srd"
1271
+ },
1272
+ "basicRules": {
1273
+ "$ref": "util.json#/$defs/basicRules"
1274
+ },
1275
+ "legacy": {
1276
+ "$ref": "util.json#/$defs/legacy"
1277
+ },
1278
+ "otherSources": {
1279
+ "$ref": "util.json#/$defs/otherSources"
1280
+ },
1281
+ "valueMult": {
1282
+ "type": "number"
1283
+ },
1284
+ "valueExpression": {
1285
+ "description": "Expression used to calculate each specific variant's value.",
1286
+ "type": "string"
1287
+ },
1288
+ "weaponCategory": {
1289
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1290
+ },
1291
+ "weightMult": {
1292
+ "type": "number"
1293
+ },
1294
+ "weightExpression": {
1295
+ "description": "Expression used to calculate each specific variant's weight.",
465
1296
  "type": "string"
1297
+ },
1298
+ "barding": {
1299
+ "type": "boolean"
1300
+ },
1301
+ "reqAttuneTags": {
1302
+ "$ref": "util.json#/$defs/reqAttuneTags"
1303
+ },
1304
+ "reqAttuneAltTags": {
1305
+ "$ref": "util.json#/$defs/reqAttuneTags"
1306
+ },
1307
+ "mastery": {
1308
+ "$ref": "items-shared.json#/$defs/itemMastery"
1309
+ },
1310
+ "reach": {
1311
+ "$ref": "items-shared.json#/$defs/itemReach"
1312
+ },
1313
+ "hasRefs": {
1314
+ "type": "boolean",
1315
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1316
+ },
1317
+ "customProperties": {
1318
+ "description": "An unrestricted area for custom properties to be stored.",
1319
+ "type": "object"
466
1320
  }
467
1321
  },
468
- "ammo": {
469
- "description": "Adds ammunition text to the header of the generic variant.",
470
- "type": "boolean"
471
- },
472
- "reqAttuneTags": {
473
- "$ref": "util.json#/$defs/reqAttuneTags"
474
- },
475
- "reqAttuneAltTags": {
476
- "$ref": "util.json#/$defs/reqAttuneTags"
477
- },
478
- "weaponCategory": {
479
- "$ref": "items-shared.json#/$defs/itemWeaponCategory"
480
- },
481
- "hasFluff": {
482
- "type": "boolean"
483
- },
484
- "hasFluffImages": {
485
- "type": "boolean"
1322
+ "additionalProperties": false,
1323
+ "required": [
1324
+ "source",
1325
+ "page"
1326
+ ]
1327
+ },
1328
+ "excludes": {
1329
+ "type": "object",
1330
+ "properties": {
1331
+ "name": {
1332
+ "oneOf": [
1333
+ {
1334
+ "type": "string"
1335
+ },
1336
+ {
1337
+ "type": "array",
1338
+ "items": {
1339
+ "type": "string"
1340
+ }
1341
+ }
1342
+ ]
1343
+ },
1344
+ "page": {
1345
+ "$ref": "util.json#/$defs/page"
1346
+ },
1347
+ "property": {
1348
+ "oneOf": [
1349
+ {
1350
+ "type": "string"
1351
+ },
1352
+ {
1353
+ "type": "array",
1354
+ "items": {
1355
+ "type": "string"
1356
+ }
1357
+ }
1358
+ ]
1359
+ },
1360
+ "armor": {
1361
+ "type": "boolean"
1362
+ },
1363
+ "axe": {
1364
+ "type": "boolean"
1365
+ },
1366
+ "bow": {
1367
+ "type": "boolean"
1368
+ },
1369
+ "crossbow": {
1370
+ "type": "boolean"
1371
+ },
1372
+ "sword": {
1373
+ "type": "boolean"
1374
+ },
1375
+ "weapon": {
1376
+ "type": "boolean"
1377
+ },
1378
+ "firearm": {
1379
+ "type": "boolean"
1380
+ },
1381
+ "mace": {
1382
+ "type": "boolean"
1383
+ },
1384
+ "spear": {
1385
+ "type": "boolean"
1386
+ },
1387
+ "hammer": {
1388
+ "type": "boolean"
1389
+ },
1390
+ "club": {
1391
+ "type": "boolean"
1392
+ },
1393
+ "dagger": {
1394
+ "type": "boolean"
1395
+ },
1396
+ "dmgType": {
1397
+ "$ref": "util.json#/$defs/dataDamageTags"
1398
+ },
1399
+ "source": {
1400
+ "$ref": "util.json#/$defs/source"
1401
+ },
1402
+ "type": {
1403
+ "$ref": "items-shared.json#/$defs/itemType"
1404
+ },
1405
+ "scfType": {
1406
+ "$ref": "items-shared.json#/$defs/itemScfType"
1407
+ },
1408
+ "net": {
1409
+ "type": "boolean"
1410
+ },
1411
+ "polearm": {
1412
+ "type": "boolean"
1413
+ },
1414
+ "arrow": {
1415
+ "type": "boolean"
1416
+ },
1417
+ "bolt": {
1418
+ "type": "boolean"
1419
+ },
1420
+ "weaponCategory": {
1421
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1422
+ },
1423
+ "customProperties": {
1424
+ "$ref": "items-shared.json#/$defs/customProperties"
1425
+ }
486
1426
  },
487
- "customProperties": {
488
- "$ref": "items-shared.json#/$defs/customProperties"
1427
+ "additionalProperties": false
1428
+ },
1429
+ "noDisplay": {
1430
+ "type": "boolean"
1431
+ },
1432
+ "charges": {
1433
+ "type": [
1434
+ "string",
1435
+ "integer"
1436
+ ]
1437
+ },
1438
+ "attachedSpells": {
1439
+ "type": "array",
1440
+ "items": {
1441
+ "type": "string"
489
1442
  }
490
1443
  },
491
- "required": [
492
- "name",
493
- "inherits"
494
- ],
495
- "additionalProperties": false
1444
+ "ammo": {
1445
+ "description": "Adds ammunition text to the header of the generic variant.",
1446
+ "type": "boolean"
1447
+ },
1448
+ "reqAttuneTags": {
1449
+ "$ref": "util.json#/$defs/reqAttuneTags"
1450
+ },
1451
+ "reqAttuneAltTags": {
1452
+ "$ref": "util.json#/$defs/reqAttuneTags"
1453
+ },
1454
+ "weaponCategory": {
1455
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1456
+ },
1457
+ "hasFluff": {
1458
+ "type": "boolean"
1459
+ },
1460
+ "hasFluffImages": {
1461
+ "type": "boolean"
1462
+ },
1463
+ "customProperties": {
1464
+ "$ref": "items-shared.json#/$defs/customProperties"
1465
+ },
1466
+ "rarity": {
1467
+ "$ref": "items-shared.json#/$defs/itemRarity"
1468
+ }
1469
+ },
1470
+ "additionalProperties": false,
1471
+ "required": [
1472
+ "name",
1473
+ "rarity",
1474
+ "inherits"
1475
+ ]
1476
+ },
1477
+ "magicvariantItem": {
1478
+ "anyOf": [
1479
+ {
1480
+ "$ref": "#/$defs/_magicvariantItemSite"
1481
+ }
1482
+ ]
1483
+ }
1484
+ },
1485
+ "properties": {
1486
+ "magicvariant": {
1487
+ "type": "array",
1488
+ "minItems": 1,
1489
+ "uniqueItems": true,
1490
+ "items": {
1491
+ "$ref": "#/$defs/magicvariantItem"
496
1492
  }
497
1493
  },
498
1494
  "linkedLootTables": {