5etools-utils 0.8.32 → 0.8.34

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