5etools-utils 0.12.4 → 0.12.6

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.json",
4
- "version": "1.14.11",
4
+ "version": "1.14.12",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "itemData": {
@@ -518,518 +518,521 @@
518
518
  "type": "string"
519
519
  }
520
520
  },
521
- "item": {
522
- "anyOf": [
523
- {
524
- "type": "object",
525
- "properties": {
526
- "name": {
527
- "type": "string"
528
- },
529
- "alias": {
530
- "$ref": "util.json#/$defs/alias"
531
- },
532
- "type": {
533
- "$ref": "items-shared.json#/$defs/itemType"
534
- },
535
- "typeAlt": {
536
- "$ref": "items-shared.json#/$defs/itemType"
537
- },
538
- "rarity": {
539
- "$ref": "items-shared.json#/$defs/itemRarity"
540
- },
541
- "source": {
542
- "$ref": "util.json#/$defs/source"
543
- },
544
- "page": {
545
- "$ref": "util.json#/$defs/page"
546
- },
547
- "additionalSources": {
548
- "$ref": "util.json#/$defs/additionalSources"
549
- },
550
- "reprintedAs": {
551
- "$ref": "util.json#/$defs/reprintedAs"
552
- },
553
- "baseItem": {
554
- "type": "string"
555
- },
556
- "ac": {
557
- "type": "integer"
558
- },
559
- "age": {
560
- "$ref": "items-shared.json#/$defs/itemAge"
561
- },
562
- "carryingCapacity": {
563
- "$ref": "items-shared.json#/$defs/itemCarryingCapacity"
564
- },
565
- "dmg1": {
566
- "type": "string"
567
- },
568
- "dmg2": {
569
- "type": "string",
570
- "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
571
- },
572
- "dmgType": {
573
- "$ref": "util.json#/$defs/dataDamageTags"
574
- },
575
- "entries": {
576
- "type": "array",
577
- "items": {
578
- "$ref": "entry.json"
579
- }
580
- },
581
- "additionalEntries": {
582
- "type": "array",
583
- "items": {
584
- "$ref": "entry.json"
585
- }
586
- },
587
- "property": {
588
- "$ref": "items-shared.json#/$defs/itemProperty"
589
- },
590
- "range": {
591
- "type": "string"
592
- },
593
- "reload": {
594
- "type": [
595
- "string",
596
- "integer"
597
- ]
598
- },
599
- "reqAttune": {
600
- "type": [
601
- "string",
602
- "boolean"
603
- ]
604
- },
605
- "reqAttuneAlt": {
606
- "description": "Used for filtering.",
607
- "type": [
608
- "string",
609
- "boolean"
610
- ]
611
- },
612
- "curse": {
613
- "type": "boolean"
614
- },
615
- "vulnerable": {
616
- "$ref": "util.json#/$defs/damageVulnerabilityArray"
617
- },
618
- "resist": {
619
- "$ref": "util.json#/$defs/damageResistArray"
620
- },
621
- "immune": {
622
- "$ref": "util.json#/$defs/damageImmunityArray"
623
- },
624
- "conditionImmune": {
625
- "$ref": "util.json#/$defs/conditionImmunityArray"
626
- },
627
- "detail1": {
628
- "description": "A descriptive field that can be used to complete entries in variants.",
629
- "type": "string"
630
- },
631
- "scfType": {
632
- "$ref": "items-shared.json#/$defs/itemScfType"
633
- },
634
- "speed": {
635
- "$ref": "items-shared.json#/$defs/itemSpeed"
636
- },
637
- "stealth": {
638
- "type": "boolean"
639
- },
640
- "strength": {
641
- "type": [
642
- "string",
643
- "null"
644
- ]
645
- },
646
- "dexterityMax": {
647
- "$ref": "items-shared.json#/$defs/itemDexterityMax"
648
- },
649
- "firearm": {
650
- "type": "boolean"
651
- },
652
- "staff": {
653
- "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
654
- "type": "boolean"
655
- },
656
- "tier": {
657
- "$ref": "items-shared.json#/$defs/itemTier"
658
- },
659
- "value": {
660
- "description": "In copper pieces.",
661
- "type": [
662
- "number",
663
- "null"
664
- ]
665
- },
666
- "valueMult": {
667
- "type": "number"
668
- },
669
- "weaponCategory": {
670
- "$ref": "items-shared.json#/$defs/itemWeaponCategory"
671
- },
672
- "weight": {
673
- "type": "number"
674
- },
675
- "weightMult": {
676
- "type": "number"
677
- },
678
- "weightNote": {
679
- "type": "string"
680
- },
681
- "wondrous": {
682
- "type": "boolean"
683
- },
684
- "tattoo": {
685
- "type": "boolean"
686
- },
687
- "sentient": {
688
- "type": "boolean"
689
- },
690
- "poison": {
691
- "type": "boolean"
692
- },
693
- "poisonTypes": {
694
- "type": "array",
695
- "items": {
696
- "type": "string",
697
- "enum": [
698
- "contact",
699
- "ingested",
700
- "injury",
701
- "inhaled"
702
- ]
703
- }
704
- },
705
- "crew": {
706
- "type": "integer"
707
- },
708
- "crewMin": {
709
- "description": "For crews specified as an X-Y min-max.",
710
- "type": "integer"
711
- },
712
- "crewMax": {
713
- "description": "For crews specified as an X-Y min-max.",
714
- "type": "integer"
715
- },
716
- "capPassenger": {
717
- "type": "integer"
718
- },
719
- "capCargo": {
720
- "type": "number"
721
- },
722
- "vehSpeed": {
723
- "type": "number"
724
- },
725
- "vehAc": {
726
- "type": "integer"
727
- },
728
- "vehHp": {
729
- "type": "integer"
730
- },
731
- "vehDmgThresh": {
732
- "type": "integer"
733
- },
734
- "travelCost": {
735
- "description": "In copper pieces per mile per passenger.",
736
- "type": "integer"
737
- },
738
- "shippingCost": {
739
- "description": "In copper pieces per 100 lbs per mile.",
740
- "type": "integer"
741
- },
742
- "charges": {
743
- "type": [
744
- "string",
745
- "integer"
746
- ]
747
- },
748
- "recharge": {
749
- "$ref": "items-shared.json#/$defs/itemRecharge"
750
- },
751
- "rechargeAmount": {
752
- "$ref": "items-shared.json#/$defs/itemRechargeAmount"
753
- },
754
- "optionalfeatures": {
755
- "type": "array",
756
- "items": {
757
- "type": "string"
758
- }
759
- },
760
- "attachedSpells": {
521
+ "_item": {
522
+ "type": "object",
523
+ "properties": {
524
+ "name": {
525
+ "type": "string"
526
+ },
527
+ "alias": {
528
+ "$ref": "util.json#/$defs/alias"
529
+ },
530
+ "type": {
531
+ "$ref": "items-shared.json#/$defs/itemType"
532
+ },
533
+ "typeAlt": {
534
+ "$ref": "items-shared.json#/$defs/itemType"
535
+ },
536
+ "rarity": {
537
+ "$ref": "items-shared.json#/$defs/itemRarity"
538
+ },
539
+ "source": {
540
+ "$ref": "util.json#/$defs/source"
541
+ },
542
+ "page": {
543
+ "$ref": "util.json#/$defs/page"
544
+ },
545
+ "additionalSources": {
546
+ "$ref": "util.json#/$defs/additionalSources"
547
+ },
548
+ "reprintedAs": {
549
+ "$ref": "util.json#/$defs/reprintedAs"
550
+ },
551
+ "baseItem": {
552
+ "type": "string"
553
+ },
554
+ "ac": {
555
+ "type": "integer"
556
+ },
557
+ "age": {
558
+ "$ref": "items-shared.json#/$defs/itemAge"
559
+ },
560
+ "carryingCapacity": {
561
+ "$ref": "items-shared.json#/$defs/itemCarryingCapacity"
562
+ },
563
+ "dmg1": {
564
+ "type": "string"
565
+ },
566
+ "dmg2": {
567
+ "type": "string",
568
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
569
+ },
570
+ "dmgType": {
571
+ "$ref": "util.json#/$defs/dataDamageTags"
572
+ },
573
+ "entries": {
574
+ "type": "array",
575
+ "items": {
576
+ "$ref": "entry.json"
577
+ }
578
+ },
579
+ "additionalEntries": {
580
+ "type": "array",
581
+ "items": {
582
+ "$ref": "entry.json"
583
+ }
584
+ },
585
+ "property": {
586
+ "$ref": "items-shared.json#/$defs/itemProperty"
587
+ },
588
+ "range": {
589
+ "type": "string"
590
+ },
591
+ "reload": {
592
+ "type": [
593
+ "string",
594
+ "integer"
595
+ ]
596
+ },
597
+ "reqAttune": {
598
+ "type": [
599
+ "string",
600
+ "boolean"
601
+ ]
602
+ },
603
+ "reqAttuneAlt": {
604
+ "description": "Used for filtering.",
605
+ "type": [
606
+ "string",
607
+ "boolean"
608
+ ]
609
+ },
610
+ "curse": {
611
+ "type": "boolean"
612
+ },
613
+ "vulnerable": {
614
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
615
+ },
616
+ "resist": {
617
+ "$ref": "util.json#/$defs/damageResistArray"
618
+ },
619
+ "immune": {
620
+ "$ref": "util.json#/$defs/damageImmunityArray"
621
+ },
622
+ "conditionImmune": {
623
+ "$ref": "util.json#/$defs/conditionImmunityArray"
624
+ },
625
+ "detail1": {
626
+ "description": "A descriptive field that can be used to complete entries in variants.",
627
+ "type": "string"
628
+ },
629
+ "scfType": {
630
+ "$ref": "items-shared.json#/$defs/itemScfType"
631
+ },
632
+ "speed": {
633
+ "$ref": "items-shared.json#/$defs/itemSpeed"
634
+ },
635
+ "stealth": {
636
+ "type": "boolean"
637
+ },
638
+ "strength": {
639
+ "type": [
640
+ "string",
641
+ "null"
642
+ ]
643
+ },
644
+ "dexterityMax": {
645
+ "$ref": "items-shared.json#/$defs/itemDexterityMax"
646
+ },
647
+ "firearm": {
648
+ "type": "boolean"
649
+ },
650
+ "staff": {
651
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
652
+ "type": "boolean"
653
+ },
654
+ "tier": {
655
+ "$ref": "items-shared.json#/$defs/itemTier"
656
+ },
657
+ "value": {
658
+ "description": "In copper pieces.",
659
+ "type": [
660
+ "number",
661
+ "null"
662
+ ]
663
+ },
664
+ "valueMult": {
665
+ "type": "number"
666
+ },
667
+ "weaponCategory": {
668
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
669
+ },
670
+ "weight": {
671
+ "type": "number"
672
+ },
673
+ "weightMult": {
674
+ "type": "number"
675
+ },
676
+ "weightNote": {
677
+ "type": "string"
678
+ },
679
+ "wondrous": {
680
+ "type": "boolean"
681
+ },
682
+ "tattoo": {
683
+ "type": "boolean"
684
+ },
685
+ "sentient": {
686
+ "type": "boolean"
687
+ },
688
+ "poison": {
689
+ "type": "boolean"
690
+ },
691
+ "poisonTypes": {
692
+ "type": "array",
693
+ "items": {
694
+ "type": "string",
695
+ "enum": [
696
+ "contact",
697
+ "ingested",
698
+ "injury",
699
+ "inhaled"
700
+ ]
701
+ }
702
+ },
703
+ "crew": {
704
+ "type": "integer"
705
+ },
706
+ "crewMin": {
707
+ "description": "For crews specified as an X-Y min-max.",
708
+ "type": "integer"
709
+ },
710
+ "crewMax": {
711
+ "description": "For crews specified as an X-Y min-max.",
712
+ "type": "integer"
713
+ },
714
+ "capPassenger": {
715
+ "type": "integer"
716
+ },
717
+ "capCargo": {
718
+ "type": "number"
719
+ },
720
+ "vehSpeed": {
721
+ "type": "number"
722
+ },
723
+ "vehAc": {
724
+ "type": "integer"
725
+ },
726
+ "vehHp": {
727
+ "type": "integer"
728
+ },
729
+ "vehDmgThresh": {
730
+ "type": "integer"
731
+ },
732
+ "travelCost": {
733
+ "description": "In copper pieces per mile per passenger.",
734
+ "type": "integer"
735
+ },
736
+ "shippingCost": {
737
+ "description": "In copper pieces per 100 lbs per mile.",
738
+ "type": "integer"
739
+ },
740
+ "charges": {
741
+ "type": [
742
+ "string",
743
+ "integer"
744
+ ]
745
+ },
746
+ "recharge": {
747
+ "$ref": "items-shared.json#/$defs/itemRecharge"
748
+ },
749
+ "rechargeAmount": {
750
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
751
+ },
752
+ "optionalfeatures": {
753
+ "type": "array",
754
+ "items": {
755
+ "type": "string"
756
+ }
757
+ },
758
+ "attachedSpells": {
759
+ "type": "array",
760
+ "minItems": 1,
761
+ "uniqueItems": true,
762
+ "items": {
763
+ "type": "string"
764
+ }
765
+ },
766
+ "ability": {
767
+ "description": "Item ability score adjustments.",
768
+ "type": "object",
769
+ "properties": {
770
+ "choose": {
761
771
  "type": "array",
762
- "minItems": 1,
763
- "uniqueItems": true,
764
772
  "items": {
765
- "type": "string"
766
- }
767
- },
768
- "ability": {
769
- "description": "Item ability score adjustments.",
770
- "type": "object",
771
- "properties": {
772
- "choose": {
773
- "type": "array",
774
- "items": {
775
- "type": "object",
776
- "properties": {
777
- "from": {
778
- "type": "array",
779
- "items": {
780
- "enum": [
781
- "str",
782
- "dex",
783
- "con",
784
- "int",
785
- "wis",
786
- "cha"
787
- ]
788
- },
789
- "uniqueItems": true
790
- },
791
- "count": {
792
- "type": "integer"
793
- },
794
- "amount": {
795
- "type": "integer"
796
- }
797
- },
798
- "required": [
799
- "from"
800
- ],
801
- "additionalProperties": false
802
- }
803
- },
804
- "static": {
805
- "type": "object",
806
- "properties": {
807
- "str": {
808
- "type": "integer"
809
- },
810
- "dex": {
811
- "type": "integer"
812
- },
813
- "con": {
814
- "type": "integer"
815
- },
816
- "int": {
817
- "type": "integer"
818
- },
819
- "wis": {
820
- "type": "integer"
773
+ "type": "object",
774
+ "properties": {
775
+ "from": {
776
+ "type": "array",
777
+ "items": {
778
+ "enum": [
779
+ "str",
780
+ "dex",
781
+ "con",
782
+ "int",
783
+ "wis",
784
+ "cha"
785
+ ]
821
786
  },
822
- "cha": {
823
- "type": "integer"
824
- }
787
+ "uniqueItems": true
825
788
  },
826
- "additionalProperties": false
827
- },
828
- "str": {
829
- "type": "integer"
830
- },
831
- "dex": {
832
- "type": "integer"
833
- },
834
- "con": {
835
- "type": "integer"
836
- },
837
- "int": {
838
- "type": "integer"
839
- },
840
- "wis": {
841
- "type": "integer"
842
- },
843
- "cha": {
844
- "type": "integer"
845
- }
846
- }
847
- },
848
- "focus": {
849
- "description": "Item can be used as a spellcasting focus",
850
- "oneOf": [
851
- {
852
- "type": "boolean"
853
- },
854
- {
855
- "type": "array",
856
- "items": {
857
- "type": "string",
858
- "enum": [
859
- "Artificer",
860
- "Bard",
861
- "Cleric",
862
- "Druid",
863
- "Paladin",
864
- "Ranger",
865
- "Sorcerer",
866
- "Warlock",
867
- "Wizard"
868
- ]
869
- }
870
- }
871
- ]
872
- },
873
- "lootTables": {
874
- "type": "array",
875
- "items": {
876
- "type": "string"
877
- }
878
- },
879
- "critThreshold": {
880
- "type": "integer"
881
- },
882
- "bonusAc": {
883
- "type": "string"
884
- },
885
- "bonusWeapon": {
886
- "type": "string"
887
- },
888
- "bonusWeaponAttack": {
889
- "type": "string"
890
- },
891
- "bonusWeaponDamage": {
892
- "type": "string"
893
- },
894
- "bonusWeaponCritDamage": {
895
- "type": "string"
896
- },
897
- "bonusSpellAttack": {
898
- "type": "string"
899
- },
900
- "bonusSpellDamage": {
901
- "type": "string"
902
- },
903
- "bonusSpellSaveDc": {
904
- "type": "string"
905
- },
906
- "bonusSavingThrow": {
907
- "type": "string"
908
- },
909
- "bonusAbilityCheck": {
910
- "type": "string"
911
- },
912
- "bonusProficiencyBonus": {
913
- "type": "string"
914
- },
915
- "bonusSavingThrowConcentration": {
916
- "type": "string"
917
- },
918
- "modifySpeed": {
919
- "$ref": "items-shared.json#/$defs/itemModifySpeed"
920
- },
921
- "otherSources": {
922
- "$ref": "util.json#/$defs/otherSources"
923
- },
924
- "srd": {
925
- "$ref": "util.json#/$defs/srd"
926
- },
927
- "basicRules": {
928
- "$ref": "util.json#/$defs/basicRules"
929
- },
930
- "legacy": {
931
- "$ref": "util.json#/$defs/legacy"
932
- },
933
- "atomicPackContents": {
934
- "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
935
- "type": "boolean"
789
+ "count": {
790
+ "type": "integer"
791
+ },
792
+ "amount": {
793
+ "type": "integer"
794
+ }
795
+ },
796
+ "required": [
797
+ "from"
798
+ ],
799
+ "additionalProperties": false
800
+ }
936
801
  },
937
- "containerCapacity": {
802
+ "static": {
938
803
  "type": "object",
939
804
  "properties": {
940
- "weight": {
941
- "type": "array",
942
- "items": {
943
- "type": "integer"
944
- }
805
+ "str": {
806
+ "type": "integer"
945
807
  },
946
- "item": {
947
- "type": "array",
948
- "items": {
949
- "type": "object",
950
- "patternProperties": {
951
- ".*": {
952
- "type": "integer"
953
- }
954
- },
955
- "additionalProperties": false
956
- }
808
+ "dex": {
809
+ "type": "integer"
957
810
  },
958
- "weightless": {
959
- "description": "If the container renders its contents weightless.",
960
- "type": "boolean"
811
+ "con": {
812
+ "type": "integer"
813
+ },
814
+ "int": {
815
+ "type": "integer"
816
+ },
817
+ "wis": {
818
+ "type": "integer"
819
+ },
820
+ "cha": {
821
+ "type": "integer"
961
822
  }
962
823
  },
963
824
  "additionalProperties": false
964
825
  },
965
- "ammoType": {
966
- "$ref": "items-shared.json#/$defs/itemAmmoType"
826
+ "str": {
827
+ "type": "integer"
967
828
  },
968
- "packContents": {
969
- "$ref": "items-shared.json#/$defs/packContents"
829
+ "dex": {
830
+ "type": "integer"
970
831
  },
971
- "grantsProficiency": {
972
- "type": "boolean"
832
+ "con": {
833
+ "type": "integer"
973
834
  },
974
- "grantsLanguage": {
975
- "type": "boolean"
835
+ "int": {
836
+ "type": "integer"
976
837
  },
977
- "spellScrollLevel": {
838
+ "wis": {
978
839
  "type": "integer"
979
840
  },
980
- "seeAlsoDeck": {
841
+ "cha": {
842
+ "type": "integer"
843
+ }
844
+ }
845
+ },
846
+ "focus": {
847
+ "description": "Item can be used as a spellcasting focus",
848
+ "oneOf": [
849
+ {
850
+ "type": "boolean"
851
+ },
852
+ {
981
853
  "type": "array",
982
854
  "items": {
983
855
  "type": "string",
984
- "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\nEx.: \"deck of many things|dmg\"."
856
+ "enum": [
857
+ "Artificer",
858
+ "Bard",
859
+ "Cleric",
860
+ "Druid",
861
+ "Paladin",
862
+ "Ranger",
863
+ "Sorcerer",
864
+ "Warlock",
865
+ "Wizard"
866
+ ]
985
867
  }
986
- },
987
- "seeAlsoVehicle": {
868
+ }
869
+ ]
870
+ },
871
+ "lootTables": {
872
+ "type": "array",
873
+ "items": {
874
+ "type": "string"
875
+ }
876
+ },
877
+ "critThreshold": {
878
+ "type": "integer"
879
+ },
880
+ "bonusAc": {
881
+ "type": "string"
882
+ },
883
+ "bonusWeapon": {
884
+ "type": "string"
885
+ },
886
+ "bonusWeaponAttack": {
887
+ "type": "string"
888
+ },
889
+ "bonusWeaponDamage": {
890
+ "type": "string"
891
+ },
892
+ "bonusWeaponCritDamage": {
893
+ "type": "string"
894
+ },
895
+ "bonusSpellAttack": {
896
+ "type": "string"
897
+ },
898
+ "bonusSpellDamage": {
899
+ "type": "string"
900
+ },
901
+ "bonusSpellSaveDc": {
902
+ "type": "string"
903
+ },
904
+ "bonusSavingThrow": {
905
+ "type": "string"
906
+ },
907
+ "bonusAbilityCheck": {
908
+ "type": "string"
909
+ },
910
+ "bonusProficiencyBonus": {
911
+ "type": "string"
912
+ },
913
+ "bonusSavingThrowConcentration": {
914
+ "type": "string"
915
+ },
916
+ "modifySpeed": {
917
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
918
+ },
919
+ "otherSources": {
920
+ "$ref": "util.json#/$defs/otherSources"
921
+ },
922
+ "srd": {
923
+ "$ref": "util.json#/$defs/srd"
924
+ },
925
+ "basicRules": {
926
+ "$ref": "util.json#/$defs/basicRules"
927
+ },
928
+ "legacy": {
929
+ "$ref": "util.json#/$defs/legacy"
930
+ },
931
+ "atomicPackContents": {
932
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
933
+ "type": "boolean"
934
+ },
935
+ "containerCapacity": {
936
+ "type": "object",
937
+ "properties": {
938
+ "weight": {
988
939
  "type": "array",
989
940
  "items": {
990
- "type": "string",
991
- "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
941
+ "type": "integer"
992
942
  }
993
943
  },
994
- "reqAttuneTags": {
995
- "$ref": "util.json#/$defs/reqAttuneTags"
996
- },
997
- "reqAttuneAltTags": {
998
- "$ref": "util.json#/$defs/reqAttuneTags"
999
- },
1000
- "miscTags": {
944
+ "item": {
1001
945
  "type": "array",
1002
946
  "items": {
1003
- "description": "CF/W: Creates Food/Water\nTT: Trinket Table",
1004
- "enum": [
1005
- "CF/W",
1006
- "TT"
1007
- ]
947
+ "type": "object",
948
+ "patternProperties": {
949
+ ".*": {
950
+ "type": "integer"
951
+ }
952
+ },
953
+ "additionalProperties": false
1008
954
  }
1009
955
  },
1010
- "mastery": {
1011
- "$ref": "items-shared.json#/$defs/itemMastery"
1012
- },
1013
- "reach": {
1014
- "$ref": "items-shared.json#/$defs/itemReach"
1015
- },
1016
- "hasFluff": {
1017
- "type": "boolean"
1018
- },
1019
- "hasFluffImages": {
956
+ "weightless": {
957
+ "description": "If the container renders its contents weightless.",
1020
958
  "type": "boolean"
1021
- },
1022
- "hasRefs": {
1023
- "type": "boolean",
1024
- "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1025
959
  }
1026
960
  },
1027
- "additionalProperties": false,
1028
- "required": [
1029
- "name",
1030
- "rarity",
1031
- "source"
1032
- ]
961
+ "additionalProperties": false
962
+ },
963
+ "ammoType": {
964
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
965
+ },
966
+ "packContents": {
967
+ "$ref": "items-shared.json#/$defs/packContents"
968
+ },
969
+ "grantsProficiency": {
970
+ "type": "boolean"
971
+ },
972
+ "grantsLanguage": {
973
+ "type": "boolean"
974
+ },
975
+ "spellScrollLevel": {
976
+ "type": "integer"
977
+ },
978
+ "seeAlsoDeck": {
979
+ "type": "array",
980
+ "items": {
981
+ "type": "string",
982
+ "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\nEx.: \"deck of many things|dmg\"."
983
+ }
984
+ },
985
+ "seeAlsoVehicle": {
986
+ "type": "array",
987
+ "items": {
988
+ "type": "string",
989
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
990
+ }
991
+ },
992
+ "reqAttuneTags": {
993
+ "$ref": "util.json#/$defs/reqAttuneTags"
994
+ },
995
+ "reqAttuneAltTags": {
996
+ "$ref": "util.json#/$defs/reqAttuneTags"
997
+ },
998
+ "miscTags": {
999
+ "type": "array",
1000
+ "items": {
1001
+ "description": "CF/W: Creates Food/Water\nTT: Trinket Table",
1002
+ "enum": [
1003
+ "CF/W",
1004
+ "TT"
1005
+ ]
1006
+ }
1007
+ },
1008
+ "mastery": {
1009
+ "$ref": "items-shared.json#/$defs/itemMastery"
1010
+ },
1011
+ "reach": {
1012
+ "$ref": "items-shared.json#/$defs/itemReach"
1013
+ },
1014
+ "hasFluff": {
1015
+ "type": "boolean"
1016
+ },
1017
+ "hasFluffImages": {
1018
+ "type": "boolean"
1019
+ },
1020
+ "hasRefs": {
1021
+ "type": "boolean",
1022
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1023
+ }
1024
+ },
1025
+ "additionalProperties": false,
1026
+ "required": [
1027
+ "name",
1028
+ "rarity",
1029
+ "source"
1030
+ ]
1031
+ },
1032
+ "item": {
1033
+ "anyOf": [
1034
+ {
1035
+ "$ref": "#/$defs/_item"
1033
1036
  },
1034
1037
  {
1035
1038
  "type": "object",
@@ -1250,301 +1253,823 @@
1250
1253
  "description": "In copper pieces per 100 lbs per mile.",
1251
1254
  "type": "integer"
1252
1255
  },
1253
- "charges": {
1254
- "type": [
1255
- "string",
1256
- "integer"
1257
- ]
1256
+ "charges": {
1257
+ "type": [
1258
+ "string",
1259
+ "integer"
1260
+ ]
1261
+ },
1262
+ "recharge": {
1263
+ "$ref": "items-shared.json#/$defs/itemRecharge"
1264
+ },
1265
+ "rechargeAmount": {
1266
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
1267
+ },
1268
+ "optionalfeatures": {
1269
+ "type": "array",
1270
+ "items": {
1271
+ "type": "string"
1272
+ }
1273
+ },
1274
+ "attachedSpells": {
1275
+ "type": "array",
1276
+ "minItems": 1,
1277
+ "uniqueItems": true,
1278
+ "items": {
1279
+ "type": "string"
1280
+ }
1281
+ },
1282
+ "ability": {
1283
+ "description": "Item ability score adjustments.",
1284
+ "type": "object",
1285
+ "properties": {
1286
+ "choose": {
1287
+ "type": "array",
1288
+ "items": {
1289
+ "type": "object",
1290
+ "properties": {
1291
+ "from": {
1292
+ "type": "array",
1293
+ "items": {
1294
+ "enum": [
1295
+ "str",
1296
+ "dex",
1297
+ "con",
1298
+ "int",
1299
+ "wis",
1300
+ "cha"
1301
+ ]
1302
+ },
1303
+ "uniqueItems": true
1304
+ },
1305
+ "count": {
1306
+ "type": "integer"
1307
+ },
1308
+ "amount": {
1309
+ "type": "integer"
1310
+ }
1311
+ },
1312
+ "required": [
1313
+ "from"
1314
+ ],
1315
+ "additionalProperties": false
1316
+ }
1317
+ },
1318
+ "static": {
1319
+ "type": "object",
1320
+ "properties": {
1321
+ "str": {
1322
+ "type": "integer"
1323
+ },
1324
+ "dex": {
1325
+ "type": "integer"
1326
+ },
1327
+ "con": {
1328
+ "type": "integer"
1329
+ },
1330
+ "int": {
1331
+ "type": "integer"
1332
+ },
1333
+ "wis": {
1334
+ "type": "integer"
1335
+ },
1336
+ "cha": {
1337
+ "type": "integer"
1338
+ }
1339
+ },
1340
+ "additionalProperties": false
1341
+ },
1342
+ "str": {
1343
+ "type": "integer"
1344
+ },
1345
+ "dex": {
1346
+ "type": "integer"
1347
+ },
1348
+ "con": {
1349
+ "type": "integer"
1350
+ },
1351
+ "int": {
1352
+ "type": "integer"
1353
+ },
1354
+ "wis": {
1355
+ "type": "integer"
1356
+ },
1357
+ "cha": {
1358
+ "type": "integer"
1359
+ }
1360
+ }
1361
+ },
1362
+ "focus": {
1363
+ "description": "Item can be used as a spellcasting focus",
1364
+ "oneOf": [
1365
+ {
1366
+ "type": "boolean"
1367
+ },
1368
+ {
1369
+ "type": "array",
1370
+ "items": {
1371
+ "type": "string",
1372
+ "enum": [
1373
+ "Artificer",
1374
+ "Bard",
1375
+ "Cleric",
1376
+ "Druid",
1377
+ "Paladin",
1378
+ "Ranger",
1379
+ "Sorcerer",
1380
+ "Warlock",
1381
+ "Wizard"
1382
+ ]
1383
+ }
1384
+ }
1385
+ ]
1386
+ },
1387
+ "lootTables": {
1388
+ "type": "array",
1389
+ "items": {
1390
+ "type": "string"
1391
+ }
1392
+ },
1393
+ "critThreshold": {
1394
+ "type": "integer"
1395
+ },
1396
+ "bonusAc": {
1397
+ "type": "string"
1398
+ },
1399
+ "bonusWeapon": {
1400
+ "type": "string"
1401
+ },
1402
+ "bonusWeaponAttack": {
1403
+ "type": "string"
1404
+ },
1405
+ "bonusWeaponDamage": {
1406
+ "type": "string"
1407
+ },
1408
+ "bonusWeaponCritDamage": {
1409
+ "type": "string"
1410
+ },
1411
+ "bonusSpellAttack": {
1412
+ "type": "string"
1413
+ },
1414
+ "bonusSpellDamage": {
1415
+ "type": "string"
1416
+ },
1417
+ "bonusSpellSaveDc": {
1418
+ "type": "string"
1419
+ },
1420
+ "bonusSavingThrow": {
1421
+ "type": "string"
1422
+ },
1423
+ "bonusAbilityCheck": {
1424
+ "type": "string"
1425
+ },
1426
+ "bonusProficiencyBonus": {
1427
+ "type": "string"
1428
+ },
1429
+ "bonusSavingThrowConcentration": {
1430
+ "type": "string"
1431
+ },
1432
+ "modifySpeed": {
1433
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
1434
+ },
1435
+ "otherSources": {
1436
+ "$ref": "util.json#/$defs/otherSources"
1437
+ },
1438
+ "srd": {
1439
+ "$ref": "util.json#/$defs/srd"
1440
+ },
1441
+ "basicRules": {
1442
+ "$ref": "util.json#/$defs/basicRules"
1443
+ },
1444
+ "legacy": {
1445
+ "$ref": "util.json#/$defs/legacy"
1446
+ },
1447
+ "atomicPackContents": {
1448
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
1449
+ "type": "boolean"
1450
+ },
1451
+ "containerCapacity": {
1452
+ "type": "object",
1453
+ "properties": {
1454
+ "weight": {
1455
+ "type": "array",
1456
+ "items": {
1457
+ "type": "integer"
1458
+ }
1459
+ },
1460
+ "item": {
1461
+ "type": "array",
1462
+ "items": {
1463
+ "type": "object",
1464
+ "patternProperties": {
1465
+ ".*": {
1466
+ "type": "integer"
1467
+ }
1468
+ },
1469
+ "additionalProperties": false
1470
+ }
1471
+ },
1472
+ "weightless": {
1473
+ "description": "If the container renders its contents weightless.",
1474
+ "type": "boolean"
1475
+ }
1476
+ },
1477
+ "additionalProperties": false
1478
+ },
1479
+ "ammoType": {
1480
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
1481
+ },
1482
+ "packContents": {
1483
+ "$ref": "items-shared.json#/$defs/packContents"
1484
+ },
1485
+ "grantsProficiency": {
1486
+ "type": "boolean"
1487
+ },
1488
+ "grantsLanguage": {
1489
+ "type": "boolean"
1490
+ },
1491
+ "spellScrollLevel": {
1492
+ "type": "integer"
1493
+ },
1494
+ "seeAlsoDeck": {
1495
+ "type": "array",
1496
+ "items": {
1497
+ "type": "string",
1498
+ "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\nEx.: \"deck of many things|dmg\"."
1499
+ }
1258
1500
  },
1259
- "recharge": {
1260
- "$ref": "items-shared.json#/$defs/itemRecharge"
1501
+ "seeAlsoVehicle": {
1502
+ "type": "array",
1503
+ "items": {
1504
+ "type": "string",
1505
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
1506
+ }
1261
1507
  },
1262
- "rechargeAmount": {
1263
- "$ref": "items-shared.json#/$defs/itemRechargeAmount"
1508
+ "reqAttuneTags": {
1509
+ "$ref": "util.json#/$defs/reqAttuneTags"
1264
1510
  },
1265
- "optionalfeatures": {
1511
+ "reqAttuneAltTags": {
1512
+ "$ref": "util.json#/$defs/reqAttuneTags"
1513
+ },
1514
+ "miscTags": {
1266
1515
  "type": "array",
1267
1516
  "items": {
1268
- "type": "string"
1517
+ "description": "CF/W: Creates Food/Water\nTT: Trinket Table",
1518
+ "enum": [
1519
+ "CF/W",
1520
+ "TT"
1521
+ ]
1269
1522
  }
1270
1523
  },
1271
- "attachedSpells": {
1524
+ "mastery": {
1525
+ "$ref": "items-shared.json#/$defs/itemMastery"
1526
+ },
1527
+ "reach": {
1528
+ "$ref": "items-shared.json#/$defs/itemReach"
1529
+ },
1530
+ "hasFluff": {
1531
+ "type": "boolean"
1532
+ },
1533
+ "hasFluffImages": {
1534
+ "type": "boolean"
1535
+ },
1536
+ "hasRefs": {
1537
+ "type": "boolean",
1538
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1539
+ },
1540
+ "_copy": {
1541
+ "$ref": "util.json#/$defs/copyBlock_copy_generic"
1542
+ }
1543
+ },
1544
+ "additionalProperties": false,
1545
+ "required": [
1546
+ "_copy"
1547
+ ]
1548
+ }
1549
+ ]
1550
+ },
1551
+ "subEntityItem": {
1552
+ "type": "object",
1553
+ "properties": {
1554
+ "name": {
1555
+ "type": "string"
1556
+ },
1557
+ "alias": {
1558
+ "$ref": "util.json#/$defs/alias"
1559
+ },
1560
+ "type": {
1561
+ "$ref": "items-shared.json#/$defs/itemType"
1562
+ },
1563
+ "typeAlt": {
1564
+ "$ref": "items-shared.json#/$defs/itemType"
1565
+ },
1566
+ "rarity": {
1567
+ "$ref": "items-shared.json#/$defs/itemRarity"
1568
+ },
1569
+ "source": {
1570
+ "$ref": "util.json#/$defs/source"
1571
+ },
1572
+ "page": {
1573
+ "$ref": "util.json#/$defs/page"
1574
+ },
1575
+ "additionalSources": {
1576
+ "$ref": "util.json#/$defs/additionalSources"
1577
+ },
1578
+ "reprintedAs": {
1579
+ "$ref": "util.json#/$defs/reprintedAs"
1580
+ },
1581
+ "baseItem": {
1582
+ "type": "string"
1583
+ },
1584
+ "ac": {
1585
+ "type": "integer"
1586
+ },
1587
+ "age": {
1588
+ "$ref": "items-shared.json#/$defs/itemAge"
1589
+ },
1590
+ "carryingCapacity": {
1591
+ "$ref": "items-shared.json#/$defs/itemCarryingCapacity"
1592
+ },
1593
+ "dmg1": {
1594
+ "type": "string"
1595
+ },
1596
+ "dmg2": {
1597
+ "type": "string",
1598
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
1599
+ },
1600
+ "dmgType": {
1601
+ "$ref": "util.json#/$defs/dataDamageTags"
1602
+ },
1603
+ "entries": {
1604
+ "type": "array",
1605
+ "items": {
1606
+ "$ref": "entry.json"
1607
+ }
1608
+ },
1609
+ "additionalEntries": {
1610
+ "type": "array",
1611
+ "items": {
1612
+ "$ref": "entry.json"
1613
+ }
1614
+ },
1615
+ "property": {
1616
+ "$ref": "items-shared.json#/$defs/itemProperty"
1617
+ },
1618
+ "range": {
1619
+ "type": "string"
1620
+ },
1621
+ "reload": {
1622
+ "type": [
1623
+ "string",
1624
+ "integer"
1625
+ ]
1626
+ },
1627
+ "reqAttune": {
1628
+ "type": [
1629
+ "string",
1630
+ "boolean"
1631
+ ]
1632
+ },
1633
+ "reqAttuneAlt": {
1634
+ "description": "Used for filtering.",
1635
+ "type": [
1636
+ "string",
1637
+ "boolean"
1638
+ ]
1639
+ },
1640
+ "curse": {
1641
+ "type": "boolean"
1642
+ },
1643
+ "vulnerable": {
1644
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
1645
+ },
1646
+ "resist": {
1647
+ "$ref": "util.json#/$defs/damageResistArray"
1648
+ },
1649
+ "immune": {
1650
+ "$ref": "util.json#/$defs/damageImmunityArray"
1651
+ },
1652
+ "conditionImmune": {
1653
+ "$ref": "util.json#/$defs/conditionImmunityArray"
1654
+ },
1655
+ "detail1": {
1656
+ "description": "A descriptive field that can be used to complete entries in variants.",
1657
+ "type": "string"
1658
+ },
1659
+ "scfType": {
1660
+ "$ref": "items-shared.json#/$defs/itemScfType"
1661
+ },
1662
+ "speed": {
1663
+ "$ref": "items-shared.json#/$defs/itemSpeed"
1664
+ },
1665
+ "stealth": {
1666
+ "type": "boolean"
1667
+ },
1668
+ "strength": {
1669
+ "type": [
1670
+ "string",
1671
+ "null"
1672
+ ]
1673
+ },
1674
+ "dexterityMax": {
1675
+ "$ref": "items-shared.json#/$defs/itemDexterityMax"
1676
+ },
1677
+ "firearm": {
1678
+ "type": "boolean"
1679
+ },
1680
+ "staff": {
1681
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
1682
+ "type": "boolean"
1683
+ },
1684
+ "tier": {
1685
+ "$ref": "items-shared.json#/$defs/itemTier"
1686
+ },
1687
+ "value": {
1688
+ "description": "In copper pieces.",
1689
+ "type": [
1690
+ "number",
1691
+ "null"
1692
+ ]
1693
+ },
1694
+ "valueMult": {
1695
+ "type": "number"
1696
+ },
1697
+ "weaponCategory": {
1698
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1699
+ },
1700
+ "weight": {
1701
+ "type": "number"
1702
+ },
1703
+ "weightMult": {
1704
+ "type": "number"
1705
+ },
1706
+ "weightNote": {
1707
+ "type": "string"
1708
+ },
1709
+ "wondrous": {
1710
+ "type": "boolean"
1711
+ },
1712
+ "tattoo": {
1713
+ "type": "boolean"
1714
+ },
1715
+ "sentient": {
1716
+ "type": "boolean"
1717
+ },
1718
+ "poison": {
1719
+ "type": "boolean"
1720
+ },
1721
+ "poisonTypes": {
1722
+ "type": "array",
1723
+ "items": {
1724
+ "type": "string",
1725
+ "enum": [
1726
+ "contact",
1727
+ "ingested",
1728
+ "injury",
1729
+ "inhaled"
1730
+ ]
1731
+ }
1732
+ },
1733
+ "crew": {
1734
+ "type": "integer"
1735
+ },
1736
+ "crewMin": {
1737
+ "description": "For crews specified as an X-Y min-max.",
1738
+ "type": "integer"
1739
+ },
1740
+ "crewMax": {
1741
+ "description": "For crews specified as an X-Y min-max.",
1742
+ "type": "integer"
1743
+ },
1744
+ "capPassenger": {
1745
+ "type": "integer"
1746
+ },
1747
+ "capCargo": {
1748
+ "type": "number"
1749
+ },
1750
+ "vehSpeed": {
1751
+ "type": "number"
1752
+ },
1753
+ "vehAc": {
1754
+ "type": "integer"
1755
+ },
1756
+ "vehHp": {
1757
+ "type": "integer"
1758
+ },
1759
+ "vehDmgThresh": {
1760
+ "type": "integer"
1761
+ },
1762
+ "travelCost": {
1763
+ "description": "In copper pieces per mile per passenger.",
1764
+ "type": "integer"
1765
+ },
1766
+ "shippingCost": {
1767
+ "description": "In copper pieces per 100 lbs per mile.",
1768
+ "type": "integer"
1769
+ },
1770
+ "charges": {
1771
+ "type": [
1772
+ "string",
1773
+ "integer"
1774
+ ]
1775
+ },
1776
+ "recharge": {
1777
+ "$ref": "items-shared.json#/$defs/itemRecharge"
1778
+ },
1779
+ "rechargeAmount": {
1780
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
1781
+ },
1782
+ "optionalfeatures": {
1783
+ "type": "array",
1784
+ "items": {
1785
+ "type": "string"
1786
+ }
1787
+ },
1788
+ "attachedSpells": {
1789
+ "type": "array",
1790
+ "minItems": 1,
1791
+ "uniqueItems": true,
1792
+ "items": {
1793
+ "type": "string"
1794
+ }
1795
+ },
1796
+ "ability": {
1797
+ "description": "Item ability score adjustments.",
1798
+ "type": "object",
1799
+ "properties": {
1800
+ "choose": {
1272
1801
  "type": "array",
1273
- "minItems": 1,
1274
- "uniqueItems": true,
1275
1802
  "items": {
1276
- "type": "string"
1803
+ "type": "object",
1804
+ "properties": {
1805
+ "from": {
1806
+ "type": "array",
1807
+ "items": {
1808
+ "enum": [
1809
+ "str",
1810
+ "dex",
1811
+ "con",
1812
+ "int",
1813
+ "wis",
1814
+ "cha"
1815
+ ]
1816
+ },
1817
+ "uniqueItems": true
1818
+ },
1819
+ "count": {
1820
+ "type": "integer"
1821
+ },
1822
+ "amount": {
1823
+ "type": "integer"
1824
+ }
1825
+ },
1826
+ "required": [
1827
+ "from"
1828
+ ],
1829
+ "additionalProperties": false
1277
1830
  }
1278
1831
  },
1279
- "ability": {
1280
- "description": "Item ability score adjustments.",
1832
+ "static": {
1281
1833
  "type": "object",
1282
1834
  "properties": {
1283
- "choose": {
1284
- "type": "array",
1285
- "items": {
1286
- "type": "object",
1287
- "properties": {
1288
- "from": {
1289
- "type": "array",
1290
- "items": {
1291
- "enum": [
1292
- "str",
1293
- "dex",
1294
- "con",
1295
- "int",
1296
- "wis",
1297
- "cha"
1298
- ]
1299
- },
1300
- "uniqueItems": true
1301
- },
1302
- "count": {
1303
- "type": "integer"
1304
- },
1305
- "amount": {
1306
- "type": "integer"
1307
- }
1308
- },
1309
- "required": [
1310
- "from"
1311
- ],
1312
- "additionalProperties": false
1313
- }
1314
- },
1315
- "static": {
1316
- "type": "object",
1317
- "properties": {
1318
- "str": {
1319
- "type": "integer"
1320
- },
1321
- "dex": {
1322
- "type": "integer"
1323
- },
1324
- "con": {
1325
- "type": "integer"
1326
- },
1327
- "int": {
1328
- "type": "integer"
1329
- },
1330
- "wis": {
1331
- "type": "integer"
1332
- },
1333
- "cha": {
1334
- "type": "integer"
1335
- }
1336
- },
1337
- "additionalProperties": false
1338
- },
1339
1835
  "str": {
1340
1836
  "type": "integer"
1341
1837
  },
1342
1838
  "dex": {
1343
1839
  "type": "integer"
1344
1840
  },
1345
- "con": {
1346
- "type": "integer"
1347
- },
1348
- "int": {
1349
- "type": "integer"
1350
- },
1351
- "wis": {
1352
- "type": "integer"
1353
- },
1354
- "cha": {
1355
- "type": "integer"
1356
- }
1357
- }
1358
- },
1359
- "focus": {
1360
- "description": "Item can be used as a spellcasting focus",
1361
- "oneOf": [
1362
- {
1363
- "type": "boolean"
1364
- },
1365
- {
1366
- "type": "array",
1367
- "items": {
1368
- "type": "string",
1369
- "enum": [
1370
- "Artificer",
1371
- "Bard",
1372
- "Cleric",
1373
- "Druid",
1374
- "Paladin",
1375
- "Ranger",
1376
- "Sorcerer",
1377
- "Warlock",
1378
- "Wizard"
1379
- ]
1380
- }
1381
- }
1382
- ]
1383
- },
1384
- "lootTables": {
1385
- "type": "array",
1386
- "items": {
1387
- "type": "string"
1388
- }
1389
- },
1390
- "critThreshold": {
1391
- "type": "integer"
1392
- },
1393
- "bonusAc": {
1394
- "type": "string"
1395
- },
1396
- "bonusWeapon": {
1397
- "type": "string"
1398
- },
1399
- "bonusWeaponAttack": {
1400
- "type": "string"
1401
- },
1402
- "bonusWeaponDamage": {
1403
- "type": "string"
1404
- },
1405
- "bonusWeaponCritDamage": {
1406
- "type": "string"
1407
- },
1408
- "bonusSpellAttack": {
1409
- "type": "string"
1410
- },
1411
- "bonusSpellDamage": {
1412
- "type": "string"
1413
- },
1414
- "bonusSpellSaveDc": {
1415
- "type": "string"
1416
- },
1417
- "bonusSavingThrow": {
1418
- "type": "string"
1419
- },
1420
- "bonusAbilityCheck": {
1421
- "type": "string"
1422
- },
1423
- "bonusProficiencyBonus": {
1424
- "type": "string"
1425
- },
1426
- "bonusSavingThrowConcentration": {
1427
- "type": "string"
1428
- },
1429
- "modifySpeed": {
1430
- "$ref": "items-shared.json#/$defs/itemModifySpeed"
1431
- },
1432
- "otherSources": {
1433
- "$ref": "util.json#/$defs/otherSources"
1434
- },
1435
- "srd": {
1436
- "$ref": "util.json#/$defs/srd"
1437
- },
1438
- "basicRules": {
1439
- "$ref": "util.json#/$defs/basicRules"
1440
- },
1441
- "legacy": {
1442
- "$ref": "util.json#/$defs/legacy"
1443
- },
1444
- "atomicPackContents": {
1445
- "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
1446
- "type": "boolean"
1447
- },
1448
- "containerCapacity": {
1449
- "type": "object",
1450
- "properties": {
1451
- "weight": {
1452
- "type": "array",
1453
- "items": {
1454
- "type": "integer"
1455
- }
1456
- },
1457
- "item": {
1458
- "type": "array",
1459
- "items": {
1460
- "type": "object",
1461
- "patternProperties": {
1462
- ".*": {
1463
- "type": "integer"
1464
- }
1465
- },
1466
- "additionalProperties": false
1467
- }
1841
+ "con": {
1842
+ "type": "integer"
1468
1843
  },
1469
- "weightless": {
1470
- "description": "If the container renders its contents weightless.",
1471
- "type": "boolean"
1844
+ "int": {
1845
+ "type": "integer"
1846
+ },
1847
+ "wis": {
1848
+ "type": "integer"
1849
+ },
1850
+ "cha": {
1851
+ "type": "integer"
1472
1852
  }
1473
1853
  },
1474
1854
  "additionalProperties": false
1475
1855
  },
1476
- "ammoType": {
1477
- "$ref": "items-shared.json#/$defs/itemAmmoType"
1856
+ "str": {
1857
+ "type": "integer"
1478
1858
  },
1479
- "packContents": {
1480
- "$ref": "items-shared.json#/$defs/packContents"
1859
+ "dex": {
1860
+ "type": "integer"
1481
1861
  },
1482
- "grantsProficiency": {
1483
- "type": "boolean"
1862
+ "con": {
1863
+ "type": "integer"
1484
1864
  },
1485
- "grantsLanguage": {
1486
- "type": "boolean"
1865
+ "int": {
1866
+ "type": "integer"
1487
1867
  },
1488
- "spellScrollLevel": {
1868
+ "wis": {
1489
1869
  "type": "integer"
1490
1870
  },
1491
- "seeAlsoDeck": {
1871
+ "cha": {
1872
+ "type": "integer"
1873
+ }
1874
+ }
1875
+ },
1876
+ "focus": {
1877
+ "description": "Item can be used as a spellcasting focus",
1878
+ "oneOf": [
1879
+ {
1880
+ "type": "boolean"
1881
+ },
1882
+ {
1492
1883
  "type": "array",
1493
1884
  "items": {
1494
1885
  "type": "string",
1495
- "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\nEx.: \"deck of many things|dmg\"."
1886
+ "enum": [
1887
+ "Artificer",
1888
+ "Bard",
1889
+ "Cleric",
1890
+ "Druid",
1891
+ "Paladin",
1892
+ "Ranger",
1893
+ "Sorcerer",
1894
+ "Warlock",
1895
+ "Wizard"
1896
+ ]
1496
1897
  }
1497
- },
1498
- "seeAlsoVehicle": {
1898
+ }
1899
+ ]
1900
+ },
1901
+ "lootTables": {
1902
+ "type": "array",
1903
+ "items": {
1904
+ "type": "string"
1905
+ }
1906
+ },
1907
+ "critThreshold": {
1908
+ "type": "integer"
1909
+ },
1910
+ "bonusAc": {
1911
+ "type": "string"
1912
+ },
1913
+ "bonusWeapon": {
1914
+ "type": "string"
1915
+ },
1916
+ "bonusWeaponAttack": {
1917
+ "type": "string"
1918
+ },
1919
+ "bonusWeaponDamage": {
1920
+ "type": "string"
1921
+ },
1922
+ "bonusWeaponCritDamage": {
1923
+ "type": "string"
1924
+ },
1925
+ "bonusSpellAttack": {
1926
+ "type": "string"
1927
+ },
1928
+ "bonusSpellDamage": {
1929
+ "type": "string"
1930
+ },
1931
+ "bonusSpellSaveDc": {
1932
+ "type": "string"
1933
+ },
1934
+ "bonusSavingThrow": {
1935
+ "type": "string"
1936
+ },
1937
+ "bonusAbilityCheck": {
1938
+ "type": "string"
1939
+ },
1940
+ "bonusProficiencyBonus": {
1941
+ "type": "string"
1942
+ },
1943
+ "bonusSavingThrowConcentration": {
1944
+ "type": "string"
1945
+ },
1946
+ "modifySpeed": {
1947
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
1948
+ },
1949
+ "otherSources": {
1950
+ "$ref": "util.json#/$defs/otherSources"
1951
+ },
1952
+ "srd": {
1953
+ "$ref": "util.json#/$defs/srd"
1954
+ },
1955
+ "basicRules": {
1956
+ "$ref": "util.json#/$defs/basicRules"
1957
+ },
1958
+ "legacy": {
1959
+ "$ref": "util.json#/$defs/legacy"
1960
+ },
1961
+ "atomicPackContents": {
1962
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
1963
+ "type": "boolean"
1964
+ },
1965
+ "containerCapacity": {
1966
+ "type": "object",
1967
+ "properties": {
1968
+ "weight": {
1499
1969
  "type": "array",
1500
1970
  "items": {
1501
- "type": "string",
1502
- "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
1971
+ "type": "integer"
1503
1972
  }
1504
1973
  },
1505
- "reqAttuneTags": {
1506
- "$ref": "util.json#/$defs/reqAttuneTags"
1507
- },
1508
- "reqAttuneAltTags": {
1509
- "$ref": "util.json#/$defs/reqAttuneTags"
1510
- },
1511
- "miscTags": {
1974
+ "item": {
1512
1975
  "type": "array",
1513
1976
  "items": {
1514
- "description": "CF/W: Creates Food/Water\nTT: Trinket Table",
1515
- "enum": [
1516
- "CF/W",
1517
- "TT"
1518
- ]
1977
+ "type": "object",
1978
+ "patternProperties": {
1979
+ ".*": {
1980
+ "type": "integer"
1981
+ }
1982
+ },
1983
+ "additionalProperties": false
1519
1984
  }
1520
1985
  },
1521
- "mastery": {
1522
- "$ref": "items-shared.json#/$defs/itemMastery"
1523
- },
1524
- "reach": {
1525
- "$ref": "items-shared.json#/$defs/itemReach"
1526
- },
1527
- "hasFluff": {
1528
- "type": "boolean"
1529
- },
1530
- "hasFluffImages": {
1986
+ "weightless": {
1987
+ "description": "If the container renders its contents weightless.",
1531
1988
  "type": "boolean"
1532
- },
1533
- "hasRefs": {
1534
- "type": "boolean",
1535
- "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1536
- },
1537
- "_copy": {
1538
- "$ref": "util.json#/$defs/copyBlock_copy_generic"
1539
1989
  }
1540
1990
  },
1541
- "additionalProperties": false,
1542
- "required": [
1543
- "_copy"
1544
- ]
1991
+ "additionalProperties": false
1992
+ },
1993
+ "ammoType": {
1994
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
1995
+ },
1996
+ "packContents": {
1997
+ "$ref": "items-shared.json#/$defs/packContents"
1998
+ },
1999
+ "grantsProficiency": {
2000
+ "type": "boolean"
2001
+ },
2002
+ "grantsLanguage": {
2003
+ "type": "boolean"
2004
+ },
2005
+ "spellScrollLevel": {
2006
+ "type": "integer"
2007
+ },
2008
+ "seeAlsoDeck": {
2009
+ "type": "array",
2010
+ "items": {
2011
+ "type": "string",
2012
+ "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\nEx.: \"deck of many things|dmg\"."
2013
+ }
2014
+ },
2015
+ "seeAlsoVehicle": {
2016
+ "type": "array",
2017
+ "items": {
2018
+ "type": "string",
2019
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
2020
+ }
2021
+ },
2022
+ "reqAttuneTags": {
2023
+ "$ref": "util.json#/$defs/reqAttuneTags"
2024
+ },
2025
+ "reqAttuneAltTags": {
2026
+ "$ref": "util.json#/$defs/reqAttuneTags"
2027
+ },
2028
+ "miscTags": {
2029
+ "type": "array",
2030
+ "items": {
2031
+ "description": "CF/W: Creates Food/Water\nTT: Trinket Table",
2032
+ "enum": [
2033
+ "CF/W",
2034
+ "TT"
2035
+ ]
2036
+ }
2037
+ },
2038
+ "mastery": {
2039
+ "$ref": "items-shared.json#/$defs/itemMastery"
2040
+ },
2041
+ "reach": {
2042
+ "$ref": "items-shared.json#/$defs/itemReach"
2043
+ },
2044
+ "hasFluff": {
2045
+ "type": "boolean"
2046
+ },
2047
+ "hasFluffImages": {
2048
+ "type": "boolean"
2049
+ },
2050
+ "hasRefs": {
2051
+ "type": "boolean",
2052
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
2053
+ },
2054
+ "foundrySystem": {
2055
+ "$ref": "util-foundry.json#/$defs/foundrySystemObject"
1545
2056
  }
2057
+ },
2058
+ "additionalProperties": false,
2059
+ "required": [
2060
+ "name",
2061
+ "rarity",
2062
+ "source"
1546
2063
  ]
1547
2064
  },
2065
+ "subEntityItemArray": {
2066
+ "type": "array",
2067
+ "items": {
2068
+ "$ref": "#/$defs/subEntityItem"
2069
+ },
2070
+ "uniqueItems": true,
2071
+ "minItems": 1
2072
+ },
1548
2073
  "itemGroup": {
1549
2074
  "anyOf": [
1550
2075
  {