5etools-utils 0.8.31 → 0.8.33

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "items-base.json",
4
- "version": "1.5.7",
4
+ "version": "1.5.8",
5
5
  "$defs": {
6
6
  "itemPropertyLookupArray": {
7
7
  "type": "array",
@@ -166,265 +166,825 @@
166
166
  ]
167
167
  }
168
168
  ]
169
- }
170
- },
171
- "type": "object",
172
- "properties": {
173
- "baseitem": {
174
- "type": "array",
175
- "minItems": 1,
176
- "uniqueItems": true,
177
- "items": {
178
- "type": "object",
179
- "properties": {
180
- "name": {
181
- "type": "string"
182
- },
183
- "type": {
184
- "$ref": "items-shared.json#/$defs/itemType"
185
- },
186
- "rarity": {
187
- "$ref": "items-shared.json#/$defs/itemRarity"
188
- },
189
- "source": {
190
- "$ref": "util.json#/$defs/source"
191
- },
192
- "page": {
193
- "$ref": "util.json#/$defs/page"
194
- },
195
- "ac": {
196
- "type": "integer"
197
- },
198
- "age": {
199
- "$ref": "items-shared.json#/$defs/itemAge"
200
- },
201
- "armor": {
202
- "description": "Flag used when merging generic variants",
203
- "type": "boolean"
204
- },
205
- "axe": {
206
- "type": "boolean"
207
- },
208
- "dmg1": {
209
- "type": "string"
210
- },
211
- "dmg2": {
169
+ },
170
+ "baseitemData": {
171
+ "type": "object",
172
+ "properties": {
173
+ "name": {
174
+ "type": "string"
175
+ },
176
+ "type": {
177
+ "$ref": "items-shared.json#/$defs/itemType"
178
+ },
179
+ "rarity": {
180
+ "$ref": "items-shared.json#/$defs/itemRarity"
181
+ },
182
+ "source": {
183
+ "$ref": "util.json#/$defs/source"
184
+ },
185
+ "page": {
186
+ "$ref": "util.json#/$defs/page"
187
+ },
188
+ "ac": {
189
+ "type": "integer"
190
+ },
191
+ "age": {
192
+ "$ref": "items-shared.json#/$defs/itemAge"
193
+ },
194
+ "armor": {
195
+ "description": "Flag used when merging generic variants",
196
+ "type": "boolean"
197
+ },
198
+ "axe": {
199
+ "type": "boolean"
200
+ },
201
+ "dmg1": {
202
+ "type": "string"
203
+ },
204
+ "dmg2": {
205
+ "type": "string"
206
+ },
207
+ "dmgType": {
208
+ "$ref": "util.json#/$defs/dataDamageTags"
209
+ },
210
+ "entries": {
211
+ "type": "array",
212
+ "items": {
213
+ "$ref": "entry.json"
214
+ }
215
+ },
216
+ "property": {
217
+ "$ref": "items-shared.json#/$defs/itemProperty"
218
+ },
219
+ "range": {
220
+ "type": "string"
221
+ },
222
+ "reload": {
223
+ "type": "integer"
224
+ },
225
+ "scfType": {
226
+ "$ref": "items-shared.json#/$defs/itemScfType"
227
+ },
228
+ "vulnerable": {
229
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
230
+ },
231
+ "resist": {
232
+ "$ref": "util.json#/$defs/damageResistArray"
233
+ },
234
+ "immune": {
235
+ "$ref": "util.json#/$defs/damageImmunityArray"
236
+ },
237
+ "conditionImmune": {
238
+ "$ref": "util.json#/$defs/conditionImmunityArray"
239
+ },
240
+ "stealth": {
241
+ "type": "boolean"
242
+ },
243
+ "strength": {
244
+ "type": "string"
245
+ },
246
+ "sword": {
247
+ "type": "boolean"
248
+ },
249
+ "mace": {
250
+ "type": "boolean"
251
+ },
252
+ "spear": {
253
+ "type": "boolean"
254
+ },
255
+ "hammer": {
256
+ "type": "boolean"
257
+ },
258
+ "bow": {
259
+ "type": "boolean"
260
+ },
261
+ "crossbow": {
262
+ "type": "boolean"
263
+ },
264
+ "club": {
265
+ "type": "boolean"
266
+ },
267
+ "dagger": {
268
+ "type": "boolean"
269
+ },
270
+ "net": {
271
+ "type": "boolean"
272
+ },
273
+ "firearm": {
274
+ "type": "boolean"
275
+ },
276
+ "staff": {
277
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
278
+ "type": "boolean"
279
+ },
280
+ "value": {
281
+ "description": "In copper pieces.",
282
+ "type": "number"
283
+ },
284
+ "valueMult": {
285
+ "type": "number"
286
+ },
287
+ "weapon": {
288
+ "type": "boolean"
289
+ },
290
+ "weaponCategory": {
291
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
292
+ },
293
+ "weight": {
294
+ "type": "number"
295
+ },
296
+ "weightMult": {
297
+ "type": "number"
298
+ },
299
+ "quantity": {
300
+ "type": "integer"
301
+ },
302
+ "srd": {
303
+ "$ref": "util.json#/$defs/srd"
304
+ },
305
+ "basicRules": {
306
+ "$ref": "util.json#/$defs/basicRules"
307
+ },
308
+ "legacy": {
309
+ "$ref": "util.json#/$defs/legacy"
310
+ },
311
+ "otherSources": {
312
+ "$ref": "util.json#/$defs/otherSources"
313
+ },
314
+ "ammoType": {
315
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
316
+ },
317
+ "packContents": {
318
+ "type": "array",
319
+ "items": {
320
+ "oneOf": [
321
+ {
322
+ "type": "string"
323
+ },
324
+ {
325
+ "type": "object",
326
+ "properties": {
327
+ "special": {
328
+ "type": "string"
329
+ },
330
+ "quantity": {
331
+ "type": "integer"
332
+ }
333
+ },
334
+ "additionalProperties": false,
335
+ "required": [
336
+ "special"
337
+ ]
338
+ },
339
+ {
340
+ "type": "object",
341
+ "properties": {
342
+ "item": {
343
+ "type": "string"
344
+ },
345
+ "quantity": {
346
+ "type": "integer"
347
+ }
348
+ },
349
+ "additionalProperties": false,
350
+ "required": [
351
+ "item",
352
+ "quantity"
353
+ ]
354
+ }
355
+ ]
356
+ }
357
+ },
358
+ "lootTables": {
359
+ "type": "array",
360
+ "items": {
212
361
  "type": "string"
213
- },
214
- "dmgType": {
215
- "$ref": "util.json#/$defs/dataDamageTags"
216
- },
217
- "entries": {
218
- "type": "array",
219
- "items": {
220
- "$ref": "entry.json"
362
+ }
363
+ },
364
+ "mastery": {
365
+ "$ref": "items-shared.json#/$defs/itemMastery"
366
+ },
367
+ "hasFluff": {
368
+ "type": "boolean"
369
+ },
370
+ "hasFluffImages": {
371
+ "type": "boolean"
372
+ },
373
+ "currencyConversion": {
374
+ "description": "ID of a value conversion table. Homebrew only.",
375
+ "type": "string"
376
+ },
377
+ "foundryType": {
378
+ "description": "Homebrew only: used to manually specify the exact Foundry item type an item should be imported as. \n\"CONFIG.Item.typeLabels\" correct as of Foundry v0.8.9",
379
+ "type": "string",
380
+ "enum": [
381
+ "weapon",
382
+ "equipment",
383
+ "consumable",
384
+ "tool",
385
+ "loot",
386
+ "class",
387
+ "spell",
388
+ "feat",
389
+ "backpack"
390
+ ]
391
+ },
392
+ "foundrySystem": {
393
+ "$ref": "util.json#/$defs/foundrySystemObject"
394
+ },
395
+ "foundryFlags": {
396
+ "$ref": "util.json#/$defs/foundryFlagsObject"
397
+ },
398
+ "foundryEffects": {
399
+ "$ref": "util.json#/$defs/foundryEffectsArray"
400
+ },
401
+ "foundryImg": {
402
+ "$ref": "util.json#/$defs/foundryImg"
403
+ },
404
+ "fluff": {
405
+ "$ref": "items-shared.json#/$defs/fluff"
406
+ }
407
+ },
408
+ "additionalProperties": {
409
+ "type": [
410
+ "boolean",
411
+ "integer",
412
+ "string"
413
+ ]
414
+ }
415
+ },
416
+ "baseitem": {
417
+ "anyOf": [
418
+ {
419
+ "type": "object",
420
+ "properties": {
421
+ "name": {
422
+ "type": "string"
423
+ },
424
+ "type": {
425
+ "$ref": "items-shared.json#/$defs/itemType"
426
+ },
427
+ "rarity": {
428
+ "$ref": "items-shared.json#/$defs/itemRarity"
429
+ },
430
+ "source": {
431
+ "$ref": "util.json#/$defs/source"
432
+ },
433
+ "page": {
434
+ "$ref": "util.json#/$defs/page"
435
+ },
436
+ "ac": {
437
+ "type": "integer"
438
+ },
439
+ "age": {
440
+ "$ref": "items-shared.json#/$defs/itemAge"
441
+ },
442
+ "armor": {
443
+ "description": "Flag used when merging generic variants",
444
+ "type": "boolean"
445
+ },
446
+ "axe": {
447
+ "type": "boolean"
448
+ },
449
+ "dmg1": {
450
+ "type": "string"
451
+ },
452
+ "dmg2": {
453
+ "type": "string"
454
+ },
455
+ "dmgType": {
456
+ "$ref": "util.json#/$defs/dataDamageTags"
457
+ },
458
+ "entries": {
459
+ "type": "array",
460
+ "items": {
461
+ "$ref": "entry.json"
462
+ }
463
+ },
464
+ "property": {
465
+ "$ref": "items-shared.json#/$defs/itemProperty"
466
+ },
467
+ "range": {
468
+ "type": "string"
469
+ },
470
+ "reload": {
471
+ "type": "integer"
472
+ },
473
+ "scfType": {
474
+ "$ref": "items-shared.json#/$defs/itemScfType"
475
+ },
476
+ "vulnerable": {
477
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
478
+ },
479
+ "resist": {
480
+ "$ref": "util.json#/$defs/damageResistArray"
481
+ },
482
+ "immune": {
483
+ "$ref": "util.json#/$defs/damageImmunityArray"
484
+ },
485
+ "conditionImmune": {
486
+ "$ref": "util.json#/$defs/conditionImmunityArray"
487
+ },
488
+ "stealth": {
489
+ "type": "boolean"
490
+ },
491
+ "strength": {
492
+ "type": "string"
493
+ },
494
+ "sword": {
495
+ "type": "boolean"
496
+ },
497
+ "mace": {
498
+ "type": "boolean"
499
+ },
500
+ "spear": {
501
+ "type": "boolean"
502
+ },
503
+ "hammer": {
504
+ "type": "boolean"
505
+ },
506
+ "bow": {
507
+ "type": "boolean"
508
+ },
509
+ "crossbow": {
510
+ "type": "boolean"
511
+ },
512
+ "club": {
513
+ "type": "boolean"
514
+ },
515
+ "dagger": {
516
+ "type": "boolean"
517
+ },
518
+ "net": {
519
+ "type": "boolean"
520
+ },
521
+ "firearm": {
522
+ "type": "boolean"
523
+ },
524
+ "staff": {
525
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
526
+ "type": "boolean"
527
+ },
528
+ "value": {
529
+ "description": "In copper pieces.",
530
+ "type": "number"
531
+ },
532
+ "valueMult": {
533
+ "type": "number"
534
+ },
535
+ "weapon": {
536
+ "type": "boolean"
537
+ },
538
+ "weaponCategory": {
539
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
540
+ },
541
+ "weight": {
542
+ "type": "number"
543
+ },
544
+ "weightMult": {
545
+ "type": "number"
546
+ },
547
+ "quantity": {
548
+ "type": "integer"
549
+ },
550
+ "srd": {
551
+ "$ref": "util.json#/$defs/srd"
552
+ },
553
+ "basicRules": {
554
+ "$ref": "util.json#/$defs/basicRules"
555
+ },
556
+ "legacy": {
557
+ "$ref": "util.json#/$defs/legacy"
558
+ },
559
+ "otherSources": {
560
+ "$ref": "util.json#/$defs/otherSources"
561
+ },
562
+ "ammoType": {
563
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
564
+ },
565
+ "packContents": {
566
+ "type": "array",
567
+ "items": {
568
+ "oneOf": [
569
+ {
570
+ "type": "string"
571
+ },
572
+ {
573
+ "type": "object",
574
+ "properties": {
575
+ "special": {
576
+ "type": "string"
577
+ },
578
+ "quantity": {
579
+ "type": "integer"
580
+ }
581
+ },
582
+ "additionalProperties": false,
583
+ "required": [
584
+ "special"
585
+ ]
586
+ },
587
+ {
588
+ "type": "object",
589
+ "properties": {
590
+ "item": {
591
+ "type": "string"
592
+ },
593
+ "quantity": {
594
+ "type": "integer"
595
+ }
596
+ },
597
+ "additionalProperties": false,
598
+ "required": [
599
+ "item",
600
+ "quantity"
601
+ ]
602
+ }
603
+ ]
604
+ }
605
+ },
606
+ "lootTables": {
607
+ "type": "array",
608
+ "items": {
609
+ "type": "string"
610
+ }
611
+ },
612
+ "mastery": {
613
+ "$ref": "items-shared.json#/$defs/itemMastery"
614
+ },
615
+ "hasFluff": {
616
+ "type": "boolean"
617
+ },
618
+ "hasFluffImages": {
619
+ "type": "boolean"
620
+ },
621
+ "currencyConversion": {
622
+ "description": "ID of a value conversion table. Homebrew only.",
623
+ "type": "string"
624
+ },
625
+ "foundryType": {
626
+ "description": "Homebrew only: used to manually specify the exact Foundry item type an item should be imported as. \n\"CONFIG.Item.typeLabels\" correct as of Foundry v0.8.9",
627
+ "type": "string",
628
+ "enum": [
629
+ "weapon",
630
+ "equipment",
631
+ "consumable",
632
+ "tool",
633
+ "loot",
634
+ "class",
635
+ "spell",
636
+ "feat",
637
+ "backpack"
638
+ ]
639
+ },
640
+ "foundrySystem": {
641
+ "$ref": "util.json#/$defs/foundrySystemObject"
642
+ },
643
+ "foundryFlags": {
644
+ "$ref": "util.json#/$defs/foundryFlagsObject"
645
+ },
646
+ "foundryEffects": {
647
+ "$ref": "util.json#/$defs/foundryEffectsArray"
648
+ },
649
+ "foundryImg": {
650
+ "$ref": "util.json#/$defs/foundryImg"
651
+ },
652
+ "fluff": {
653
+ "$ref": "items-shared.json#/$defs/fluff"
221
654
  }
222
655
  },
223
- "property": {
224
- "$ref": "items-shared.json#/$defs/itemProperty"
225
- },
226
- "range": {
227
- "type": "string"
228
- },
229
- "reload": {
230
- "type": "integer"
231
- },
232
- "scfType": {
233
- "$ref": "items-shared.json#/$defs/itemScfType"
234
- },
235
- "vulnerable": {
236
- "$ref": "util.json#/$defs/damageVulnerabilityArray"
237
- },
238
- "resist": {
239
- "$ref": "util.json#/$defs/damageResistArray"
240
- },
241
- "immune": {
242
- "$ref": "util.json#/$defs/damageImmunityArray"
243
- },
244
- "conditionImmune": {
245
- "$ref": "util.json#/$defs/conditionImmunityArray"
246
- },
247
- "stealth": {
248
- "type": "boolean"
249
- },
250
- "strength": {
251
- "type": "string"
252
- },
253
- "sword": {
254
- "type": "boolean"
255
- },
256
- "mace": {
257
- "type": "boolean"
258
- },
259
- "spear": {
260
- "type": "boolean"
261
- },
262
- "hammer": {
263
- "type": "boolean"
264
- },
265
- "bow": {
266
- "type": "boolean"
267
- },
268
- "crossbow": {
269
- "type": "boolean"
270
- },
271
- "club": {
272
- "type": "boolean"
273
- },
274
- "dagger": {
275
- "type": "boolean"
276
- },
277
- "net": {
278
- "type": "boolean"
279
- },
280
- "firearm": {
281
- "type": "boolean"
282
- },
283
- "staff": {
284
- "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
285
- "type": "boolean"
286
- },
287
- "value": {
288
- "description": "In copper pieces.",
289
- "type": "number"
290
- },
291
- "valueMult": {
292
- "type": "number"
293
- },
294
- "weapon": {
295
- "type": "boolean"
296
- },
297
- "weaponCategory": {
298
- "$ref": "items-shared.json#/$defs/itemWeaponCategory"
299
- },
300
- "weight": {
301
- "type": "number"
302
- },
303
- "weightMult": {
304
- "type": "number"
305
- },
306
- "quantity": {
307
- "type": "integer"
308
- },
309
- "srd": {
310
- "$ref": "util.json#/$defs/srd"
311
- },
312
- "basicRules": {
313
- "$ref": "util.json#/$defs/basicRules"
314
- },
315
- "legacy": {
316
- "$ref": "util.json#/$defs/legacy"
317
- },
318
- "otherSources": {
319
- "$ref": "util.json#/$defs/otherSources"
320
- },
321
- "ammoType": {
322
- "$ref": "items-shared.json#/$defs/itemAmmoType"
656
+ "additionalProperties": {
657
+ "type": [
658
+ "boolean",
659
+ "integer",
660
+ "string"
661
+ ]
323
662
  },
324
- "packContents": {
325
- "type": "array",
326
- "items": {
327
- "oneOf": [
328
- {
663
+ "required": [
664
+ "name",
665
+ "type",
666
+ "rarity",
667
+ "source"
668
+ ]
669
+ },
670
+ {
671
+ "type": "object",
672
+ "properties": {
673
+ "name": {
674
+ "type": "string"
675
+ },
676
+ "type": {
677
+ "$ref": "items-shared.json#/$defs/itemType"
678
+ },
679
+ "rarity": {
680
+ "$ref": "items-shared.json#/$defs/itemRarity"
681
+ },
682
+ "source": {
683
+ "$ref": "util.json#/$defs/source"
684
+ },
685
+ "page": {
686
+ "$ref": "util.json#/$defs/page"
687
+ },
688
+ "ac": {
689
+ "type": "integer"
690
+ },
691
+ "age": {
692
+ "$ref": "items-shared.json#/$defs/itemAge"
693
+ },
694
+ "armor": {
695
+ "description": "Flag used when merging generic variants",
696
+ "type": "boolean"
697
+ },
698
+ "axe": {
699
+ "type": "boolean"
700
+ },
701
+ "dmg1": {
702
+ "type": "string"
703
+ },
704
+ "dmg2": {
705
+ "type": "string"
706
+ },
707
+ "dmgType": {
708
+ "$ref": "util.json#/$defs/dataDamageTags"
709
+ },
710
+ "entries": {
711
+ "type": "array",
712
+ "items": {
713
+ "$ref": "entry.json"
714
+ }
715
+ },
716
+ "property": {
717
+ "$ref": "items-shared.json#/$defs/itemProperty"
718
+ },
719
+ "range": {
720
+ "type": "string"
721
+ },
722
+ "reload": {
723
+ "type": "integer"
724
+ },
725
+ "scfType": {
726
+ "$ref": "items-shared.json#/$defs/itemScfType"
727
+ },
728
+ "vulnerable": {
729
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
730
+ },
731
+ "resist": {
732
+ "$ref": "util.json#/$defs/damageResistArray"
733
+ },
734
+ "immune": {
735
+ "$ref": "util.json#/$defs/damageImmunityArray"
736
+ },
737
+ "conditionImmune": {
738
+ "$ref": "util.json#/$defs/conditionImmunityArray"
739
+ },
740
+ "stealth": {
741
+ "type": "boolean"
742
+ },
743
+ "strength": {
744
+ "type": "string"
745
+ },
746
+ "sword": {
747
+ "type": "boolean"
748
+ },
749
+ "mace": {
750
+ "type": "boolean"
751
+ },
752
+ "spear": {
753
+ "type": "boolean"
754
+ },
755
+ "hammer": {
756
+ "type": "boolean"
757
+ },
758
+ "bow": {
759
+ "type": "boolean"
760
+ },
761
+ "crossbow": {
762
+ "type": "boolean"
763
+ },
764
+ "club": {
765
+ "type": "boolean"
766
+ },
767
+ "dagger": {
768
+ "type": "boolean"
769
+ },
770
+ "net": {
771
+ "type": "boolean"
772
+ },
773
+ "firearm": {
774
+ "type": "boolean"
775
+ },
776
+ "staff": {
777
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
778
+ "type": "boolean"
779
+ },
780
+ "value": {
781
+ "description": "In copper pieces.",
782
+ "type": "number"
783
+ },
784
+ "valueMult": {
785
+ "type": "number"
786
+ },
787
+ "weapon": {
788
+ "type": "boolean"
789
+ },
790
+ "weaponCategory": {
791
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
792
+ },
793
+ "weight": {
794
+ "type": "number"
795
+ },
796
+ "weightMult": {
797
+ "type": "number"
798
+ },
799
+ "quantity": {
800
+ "type": "integer"
801
+ },
802
+ "srd": {
803
+ "$ref": "util.json#/$defs/srd"
804
+ },
805
+ "basicRules": {
806
+ "$ref": "util.json#/$defs/basicRules"
807
+ },
808
+ "legacy": {
809
+ "$ref": "util.json#/$defs/legacy"
810
+ },
811
+ "otherSources": {
812
+ "$ref": "util.json#/$defs/otherSources"
813
+ },
814
+ "ammoType": {
815
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
816
+ },
817
+ "packContents": {
818
+ "type": "array",
819
+ "items": {
820
+ "oneOf": [
821
+ {
822
+ "type": "string"
823
+ },
824
+ {
825
+ "type": "object",
826
+ "properties": {
827
+ "special": {
828
+ "type": "string"
829
+ },
830
+ "quantity": {
831
+ "type": "integer"
832
+ }
833
+ },
834
+ "additionalProperties": false,
835
+ "required": [
836
+ "special"
837
+ ]
838
+ },
839
+ {
840
+ "type": "object",
841
+ "properties": {
842
+ "item": {
843
+ "type": "string"
844
+ },
845
+ "quantity": {
846
+ "type": "integer"
847
+ }
848
+ },
849
+ "additionalProperties": false,
850
+ "required": [
851
+ "item",
852
+ "quantity"
853
+ ]
854
+ }
855
+ ]
856
+ }
857
+ },
858
+ "lootTables": {
859
+ "type": "array",
860
+ "items": {
861
+ "type": "string"
862
+ }
863
+ },
864
+ "mastery": {
865
+ "$ref": "items-shared.json#/$defs/itemMastery"
866
+ },
867
+ "hasFluff": {
868
+ "type": "boolean"
869
+ },
870
+ "hasFluffImages": {
871
+ "type": "boolean"
872
+ },
873
+ "currencyConversion": {
874
+ "description": "ID of a value conversion table. Homebrew only.",
875
+ "type": "string"
876
+ },
877
+ "foundryType": {
878
+ "description": "Homebrew only: used to manually specify the exact Foundry item type an item should be imported as. \n\"CONFIG.Item.typeLabels\" correct as of Foundry v0.8.9",
879
+ "type": "string",
880
+ "enum": [
881
+ "weapon",
882
+ "equipment",
883
+ "consumable",
884
+ "tool",
885
+ "loot",
886
+ "class",
887
+ "spell",
888
+ "feat",
889
+ "backpack"
890
+ ]
891
+ },
892
+ "foundrySystem": {
893
+ "$ref": "util.json#/$defs/foundrySystemObject"
894
+ },
895
+ "foundryFlags": {
896
+ "$ref": "util.json#/$defs/foundryFlagsObject"
897
+ },
898
+ "foundryEffects": {
899
+ "$ref": "util.json#/$defs/foundryEffectsArray"
900
+ },
901
+ "foundryImg": {
902
+ "$ref": "util.json#/$defs/foundryImg"
903
+ },
904
+ "fluff": {
905
+ "$ref": "items-shared.json#/$defs/fluff"
906
+ },
907
+ "_copy": {
908
+ "type": "object",
909
+ "properties": {
910
+ "name": {
911
+ "type": "string"
912
+ },
913
+ "source": {
914
+ "$ref": "util.json#/$defs/source"
915
+ },
916
+ "pantheon": {
917
+ "description": "Used in deity data",
918
+ "type": "string"
919
+ },
920
+ "shortName": {
921
+ "description": "Used in subclass data",
329
922
  "type": "string"
330
923
  },
331
- {
924
+ "className": {
925
+ "description": "Used in subclass data",
926
+ "type": "string"
927
+ },
928
+ "classSource": {
929
+ "description": "Used in subclass data",
930
+ "$ref": "util.json#/$defs/source"
931
+ },
932
+ "_mod": {
933
+ "$ref": "util.json#/$defs/_modObject"
934
+ },
935
+ "_trait": {
332
936
  "type": "object",
333
937
  "properties": {
334
- "special": {
938
+ "name": {
335
939
  "type": "string"
336
940
  },
337
- "quantity": {
338
- "type": "integer"
941
+ "source": {
942
+ "$ref": "util.json#/$defs/source"
339
943
  }
340
944
  },
341
- "additionalProperties": false,
342
945
  "required": [
343
- "special"
946
+ "name",
947
+ "source"
344
948
  ]
345
949
  },
346
- {
950
+ "_preserve": {
347
951
  "type": "object",
348
- "properties": {
349
- "item": {
350
- "type": "string"
351
- },
352
- "quantity": {
353
- "type": "integer"
952
+ "patternProperties": {
953
+ ".*": {
954
+ "const": true
354
955
  }
355
- },
356
- "additionalProperties": false,
357
- "required": [
358
- "item",
359
- "quantity"
360
- ]
956
+ }
361
957
  }
362
- ]
363
- }
364
- },
365
- "lootTables": {
366
- "type": "array",
367
- "items": {
368
- "type": "string"
958
+ },
959
+ "required": [
960
+ "name",
961
+ "source"
962
+ ],
963
+ "additionalProperties": false
369
964
  }
370
965
  },
371
- "mastery": {
372
- "$ref": "items-shared.json#/$defs/itemMastery"
373
- },
374
- "hasFluff": {
375
- "type": "boolean"
376
- },
377
- "hasFluffImages": {
378
- "type": "boolean"
379
- },
380
- "currencyConversion": {
381
- "description": "ID of a value conversion table. Homebrew only.",
382
- "type": "string"
383
- },
384
- "foundryType": {
385
- "description": "Homebrew only: used to manually specify the exact Foundry item type an item should be imported as. \n\"CONFIG.Item.typeLabels\" correct as of Foundry v0.8.9",
386
- "type": "string",
387
- "enum": [
388
- "weapon",
389
- "equipment",
390
- "consumable",
391
- "tool",
392
- "loot",
393
- "class",
394
- "spell",
395
- "feat",
396
- "backpack"
966
+ "additionalProperties": {
967
+ "type": [
968
+ "boolean",
969
+ "integer",
970
+ "string"
397
971
  ]
398
972
  },
399
- "foundrySystem": {
400
- "$ref": "util.json#/$defs/foundrySystemObject"
401
- },
402
- "foundryFlags": {
403
- "$ref": "util.json#/$defs/foundryFlagsObject"
404
- },
405
- "foundryEffects": {
406
- "$ref": "util.json#/$defs/foundryEffectsArray"
407
- },
408
- "foundryImg": {
409
- "$ref": "util.json#/$defs/foundryImg"
410
- },
411
- "fluff": {
412
- "$ref": "items-shared.json#/$defs/fluff"
413
- }
414
- },
415
- "required": [
416
- "name",
417
- "type",
418
- "rarity",
419
- "source"
420
- ],
421
- "additionalProperties": {
422
- "type": [
423
- "boolean",
424
- "integer",
425
- "string"
973
+ "required": [
974
+ "_copy"
426
975
  ]
427
976
  }
977
+ ]
978
+ }
979
+ },
980
+ "type": "object",
981
+ "properties": {
982
+ "baseitem": {
983
+ "type": "array",
984
+ "minItems": 1,
985
+ "uniqueItems": true,
986
+ "items": {
987
+ "$ref": "#/$defs/baseitem"
428
988
  }
429
989
  },
430
990
  "itemProperty": {