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