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