5etools-utils 0.12.75 → 0.12.76

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,10 +1,10 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "magicvariants.json",
4
- "version": "1.9.9",
4
+ "version": "1.9.10",
5
5
  "type": "object",
6
6
  "$defs": {
7
- "_magicvariantItemBase": {
7
+ "_magicvariantDataBase": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "name": {
@@ -572,7 +572,1738 @@
572
572
  },
573
573
  "additionalProperties": false
574
574
  },
575
- "_magicvariantItemSite": {
575
+ "_magicvariantDataSite": {
576
+ "$ref": "#/$defs/_magicvariantDataBase"
577
+ },
578
+ "_magicvariantDataBrewRootRarity": {
579
+ "type": "object",
580
+ "properties": {
581
+ "name": {
582
+ "type": "string"
583
+ },
584
+ "alias": {
585
+ "$ref": "util.json#/$defs/alias"
586
+ },
587
+ "edition": {
588
+ "$ref": "util-edition.json#/$defs/edition"
589
+ },
590
+ "type": {
591
+ "$ref": "items-shared.json#/$defs/itemType"
592
+ },
593
+ "entries": {
594
+ "type": "array",
595
+ "items": {
596
+ "$ref": "entry.json"
597
+ }
598
+ },
599
+ "requires": {
600
+ "type": "array",
601
+ "items": {
602
+ "type": "object",
603
+ "properties": {
604
+ "name": {
605
+ "type": "string"
606
+ },
607
+ "property": {
608
+ "type": "string"
609
+ },
610
+ "armor": {
611
+ "type": "boolean"
612
+ },
613
+ "axe": {
614
+ "type": "boolean"
615
+ },
616
+ "bow": {
617
+ "type": "boolean"
618
+ },
619
+ "crossbow": {
620
+ "type": "boolean"
621
+ },
622
+ "sword": {
623
+ "type": "boolean"
624
+ },
625
+ "weapon": {
626
+ "type": "boolean"
627
+ },
628
+ "firearm": {
629
+ "type": "boolean"
630
+ },
631
+ "mace": {
632
+ "type": "boolean"
633
+ },
634
+ "spear": {
635
+ "type": "boolean"
636
+ },
637
+ "hammer": {
638
+ "type": "boolean"
639
+ },
640
+ "club": {
641
+ "type": "boolean"
642
+ },
643
+ "dagger": {
644
+ "type": "boolean"
645
+ },
646
+ "dmgType": {
647
+ "$ref": "util.json#/$defs/dataDamageTags"
648
+ },
649
+ "source": {
650
+ "$ref": "util.json#/$defs/source"
651
+ },
652
+ "type": {
653
+ "$ref": "items-shared.json#/$defs/itemType"
654
+ },
655
+ "scfType": {
656
+ "$ref": "items-shared.json#/$defs/itemScfType"
657
+ },
658
+ "net": {
659
+ "type": "boolean"
660
+ },
661
+ "polearm": {
662
+ "type": "boolean"
663
+ },
664
+ "lance": {
665
+ "type": "boolean"
666
+ },
667
+ "rapier": {
668
+ "type": "boolean"
669
+ },
670
+ "whip": {
671
+ "type": "boolean"
672
+ },
673
+ "halberd": {
674
+ "type": "boolean"
675
+ },
676
+ "glaive": {
677
+ "type": "boolean"
678
+ },
679
+ "arrow": {
680
+ "type": "boolean"
681
+ },
682
+ "bolt": {
683
+ "type": "boolean"
684
+ },
685
+ "bulletFirearm": {
686
+ "type": "boolean"
687
+ },
688
+ "bulletSling": {
689
+ "type": "boolean"
690
+ },
691
+ "cellEnergy": {
692
+ "type": "boolean"
693
+ },
694
+ "needleBlowgun": {
695
+ "type": "boolean"
696
+ },
697
+ "weaponCategory": {
698
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
699
+ },
700
+ "staff": {
701
+ "type": "boolean"
702
+ }
703
+ },
704
+ "minProperties": 1,
705
+ "additionalProperties": false
706
+ }
707
+ },
708
+ "inherits": {
709
+ "type": "object",
710
+ "properties": {
711
+ "type": {
712
+ "description": "Generally this should be omitted, as the type of the base item will be used.",
713
+ "$ref": "items-shared.json#/$defs/itemType"
714
+ },
715
+ "typeAlt": {
716
+ "$ref": "items-shared.json#/$defs/itemType"
717
+ },
718
+ "property": {
719
+ "description": "Generally this should be omitted, as the properties of the base item will be used.",
720
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
721
+ },
722
+ "propertyAdd": {
723
+ "description": "Additional properties to grant the specific variant, if not already present on the base item.",
724
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
725
+ },
726
+ "propertyRemove": {
727
+ "description": "Properties to remove from the specific variant, if present on the base item.",
728
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
729
+ },
730
+ "range": {
731
+ "type": "string"
732
+ },
733
+ "ac": {
734
+ "type": "integer"
735
+ },
736
+ "age": {
737
+ "$ref": "items-shared.json#/$defs/itemAge"
738
+ },
739
+ "critThreshold": {
740
+ "type": "integer"
741
+ },
742
+ "bonusAc": {
743
+ "type": "string"
744
+ },
745
+ "bonusWeapon": {
746
+ "type": "string"
747
+ },
748
+ "bonusWeaponAttack": {
749
+ "type": "string"
750
+ },
751
+ "bonusWeaponDamage": {
752
+ "type": "string"
753
+ },
754
+ "bonusWeaponCritDamage": {
755
+ "type": "string"
756
+ },
757
+ "bonusSpellAttack": {
758
+ "type": "string"
759
+ },
760
+ "bonusSpellDamage": {
761
+ "type": "string"
762
+ },
763
+ "bonusSpellSaveDc": {
764
+ "type": "string"
765
+ },
766
+ "bonusSavingThrow": {
767
+ "type": "string"
768
+ },
769
+ "bonusAbilityCheck": {
770
+ "type": "string"
771
+ },
772
+ "bonusProficiencyBonus": {
773
+ "type": "string"
774
+ },
775
+ "bonusSavingThrowConcentration": {
776
+ "type": "string"
777
+ },
778
+ "dmg1": {
779
+ "type": "string"
780
+ },
781
+ "dmg2": {
782
+ "type": "string",
783
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
784
+ },
785
+ "dmgType": {
786
+ "$ref": "util.json#/$defs/dataDamageTags"
787
+ },
788
+ "modifySpeed": {
789
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
790
+ },
791
+ "tier": {
792
+ "$ref": "items-shared.json#/$defs/itemTier"
793
+ },
794
+ "rarity": {
795
+ "$ref": "items-shared.json#/$defs/itemRarity"
796
+ },
797
+ "source": {
798
+ "$ref": "util.json#/$defs/source"
799
+ },
800
+ "page": {
801
+ "$ref": "util.json#/$defs/page"
802
+ },
803
+ "reprintedAs": {
804
+ "$ref": "util.json#/$defs/reprintedAs"
805
+ },
806
+ "namePrefix": {
807
+ "type": "string"
808
+ },
809
+ "nameSuffix": {
810
+ "type": "string"
811
+ },
812
+ "nameRemove": {
813
+ "type": "string"
814
+ },
815
+ "grantsProficiency": {
816
+ "type": "boolean"
817
+ },
818
+ "grantsLanguage": {
819
+ "type": "boolean"
820
+ },
821
+ "reqAttune": {
822
+ "type": [
823
+ "string",
824
+ "boolean"
825
+ ]
826
+ },
827
+ "curse": {
828
+ "type": "boolean"
829
+ },
830
+ "vulnerable": {
831
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
832
+ },
833
+ "resist": {
834
+ "$ref": "util.json#/$defs/damageResistArray"
835
+ },
836
+ "immune": {
837
+ "$ref": "util.json#/$defs/damageImmunityArray"
838
+ },
839
+ "conditionImmune": {
840
+ "$ref": "util.json#/$defs/conditionImmunityArray"
841
+ },
842
+ "stealth": {
843
+ "type": "boolean"
844
+ },
845
+ "strength": {
846
+ "type": [
847
+ "string",
848
+ "null"
849
+ ]
850
+ },
851
+ "dexterityMax": {
852
+ "$ref": "items-shared.json#/$defs/itemDexterityMax"
853
+ },
854
+ "wondrous": {
855
+ "type": "boolean"
856
+ },
857
+ "sentient": {
858
+ "const": true
859
+ },
860
+ "entries": {
861
+ "type": "array",
862
+ "items": {
863
+ "$ref": "entry.json"
864
+ }
865
+ },
866
+ "charges": {
867
+ "type": [
868
+ "string",
869
+ "integer"
870
+ ]
871
+ },
872
+ "recharge": {
873
+ "$ref": "items-shared.json#/$defs/itemRecharge"
874
+ },
875
+ "rechargeAmount": {
876
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
877
+ },
878
+ "attachedSpells": {
879
+ "type": "array",
880
+ "items": {
881
+ "type": "string"
882
+ }
883
+ },
884
+ "ability": {
885
+ "$ref": "items-shared.json#/$defs/itemAbility"
886
+ },
887
+ "lootTables": {
888
+ "type": "array",
889
+ "items": {
890
+ "oneOf": [
891
+ {
892
+ "type": "string"
893
+ },
894
+ {
895
+ "type": "object",
896
+ "properties": {
897
+ "name": {
898
+ "type": "string"
899
+ },
900
+ "source": {
901
+ "$ref": "util.json#/$defs/source"
902
+ }
903
+ }
904
+ }
905
+ ]
906
+ }
907
+ },
908
+ "srd": {
909
+ "$ref": "util.json#/$defs/srd"
910
+ },
911
+ "srd52": {
912
+ "$ref": "util.json#/$defs/srd"
913
+ },
914
+ "basicRules": {
915
+ "$ref": "util.json#/$defs/basicRules"
916
+ },
917
+ "freeRules2024": {
918
+ "$ref": "util.json#/$defs/basicRules"
919
+ },
920
+ "legacy": {
921
+ "$ref": "util.json#/$defs/legacy"
922
+ },
923
+ "otherSources": {
924
+ "$ref": "util.json#/$defs/otherSources"
925
+ },
926
+ "valueMult": {
927
+ "type": "number"
928
+ },
929
+ "valueExpression": {
930
+ "description": "Expression used to calculate each specific variant's value.",
931
+ "type": "string"
932
+ },
933
+ "valueRarity": {
934
+ "$ref": "items-shared.json#/$defs/itemRarity"
935
+ },
936
+ "weaponCategory": {
937
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
938
+ },
939
+ "weight": {
940
+ "type": "number"
941
+ },
942
+ "weightMult": {
943
+ "type": "number"
944
+ },
945
+ "weightExpression": {
946
+ "description": "Expression used to calculate each specific variant's weight.",
947
+ "type": "string"
948
+ },
949
+ "barding": {
950
+ "type": "boolean"
951
+ },
952
+ "spellScrollLevel": {
953
+ "type": "integer"
954
+ },
955
+ "reqAttuneTags": {
956
+ "$ref": "util.json#/$defs/reqAttuneTags"
957
+ },
958
+ "reqAttuneAltTags": {
959
+ "$ref": "util.json#/$defs/reqAttuneTags"
960
+ },
961
+ "miscTags": {
962
+ "$ref": "items-shared.json#/$defs/itemMiscTags"
963
+ },
964
+ "mastery": {
965
+ "$ref": "items-shared.json#/$defs/itemMastery"
966
+ },
967
+ "reach": {
968
+ "$ref": "items-shared.json#/$defs/itemReach"
969
+ },
970
+ "light": {
971
+ "$ref": "items-shared.json#/$defs/itemLight"
972
+ },
973
+ "hasRefs": {
974
+ "type": "boolean",
975
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
976
+ }
977
+ },
978
+ "additionalProperties": false
979
+ },
980
+ "excludes": {
981
+ "type": "object",
982
+ "properties": {
983
+ "name": {
984
+ "oneOf": [
985
+ {
986
+ "type": "string"
987
+ },
988
+ {
989
+ "type": "array",
990
+ "items": {
991
+ "type": "string"
992
+ }
993
+ }
994
+ ]
995
+ },
996
+ "page": {
997
+ "$ref": "util.json#/$defs/page"
998
+ },
999
+ "property": {
1000
+ "oneOf": [
1001
+ {
1002
+ "type": "string"
1003
+ },
1004
+ {
1005
+ "type": "array",
1006
+ "items": {
1007
+ "type": "string"
1008
+ }
1009
+ }
1010
+ ]
1011
+ },
1012
+ "armor": {
1013
+ "type": "boolean"
1014
+ },
1015
+ "axe": {
1016
+ "type": "boolean"
1017
+ },
1018
+ "bow": {
1019
+ "type": "boolean"
1020
+ },
1021
+ "crossbow": {
1022
+ "type": "boolean"
1023
+ },
1024
+ "sword": {
1025
+ "type": "boolean"
1026
+ },
1027
+ "weapon": {
1028
+ "type": "boolean"
1029
+ },
1030
+ "firearm": {
1031
+ "type": "boolean"
1032
+ },
1033
+ "mace": {
1034
+ "type": "boolean"
1035
+ },
1036
+ "spear": {
1037
+ "type": "boolean"
1038
+ },
1039
+ "hammer": {
1040
+ "type": "boolean"
1041
+ },
1042
+ "club": {
1043
+ "type": "boolean"
1044
+ },
1045
+ "dagger": {
1046
+ "type": "boolean"
1047
+ },
1048
+ "dmgType": {
1049
+ "$ref": "util.json#/$defs/dataDamageTags"
1050
+ },
1051
+ "source": {
1052
+ "$ref": "util.json#/$defs/source"
1053
+ },
1054
+ "type": {
1055
+ "$ref": "items-shared.json#/$defs/itemType"
1056
+ },
1057
+ "scfType": {
1058
+ "$ref": "items-shared.json#/$defs/itemScfType"
1059
+ },
1060
+ "net": {
1061
+ "type": "boolean"
1062
+ },
1063
+ "polearm": {
1064
+ "type": "boolean"
1065
+ },
1066
+ "lance": {
1067
+ "type": "boolean"
1068
+ },
1069
+ "rapier": {
1070
+ "type": "boolean"
1071
+ },
1072
+ "whip": {
1073
+ "type": "boolean"
1074
+ },
1075
+ "halberd": {
1076
+ "type": "boolean"
1077
+ },
1078
+ "glaive": {
1079
+ "type": "boolean"
1080
+ },
1081
+ "arrow": {
1082
+ "type": "boolean"
1083
+ },
1084
+ "bolt": {
1085
+ "type": "boolean"
1086
+ },
1087
+ "bulletFirearm": {
1088
+ "type": "boolean"
1089
+ },
1090
+ "bulletSling": {
1091
+ "type": "boolean"
1092
+ },
1093
+ "cellEnergy": {
1094
+ "type": "boolean"
1095
+ },
1096
+ "needleBlowgun": {
1097
+ "type": "boolean"
1098
+ },
1099
+ "weaponCategory": {
1100
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1101
+ },
1102
+ "staff": {
1103
+ "type": "boolean"
1104
+ }
1105
+ },
1106
+ "minProperties": 1,
1107
+ "additionalProperties": false
1108
+ },
1109
+ "noDisplay": {
1110
+ "type": "boolean"
1111
+ },
1112
+ "charges": {
1113
+ "type": [
1114
+ "string",
1115
+ "integer"
1116
+ ]
1117
+ },
1118
+ "attachedSpells": {
1119
+ "type": "array",
1120
+ "items": {
1121
+ "type": "string"
1122
+ }
1123
+ },
1124
+ "ammo": {
1125
+ "description": "Adds ammunition text to the header of the generic variant.",
1126
+ "type": "boolean"
1127
+ },
1128
+ "reqAttuneTags": {
1129
+ "$ref": "util.json#/$defs/reqAttuneTags"
1130
+ },
1131
+ "reqAttuneAltTags": {
1132
+ "$ref": "util.json#/$defs/reqAttuneTags"
1133
+ },
1134
+ "weaponCategory": {
1135
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1136
+ },
1137
+ "hasFluff": {
1138
+ "type": "boolean"
1139
+ },
1140
+ "hasFluffImages": {
1141
+ "type": "boolean"
1142
+ },
1143
+ "rarity": {
1144
+ "$ref": "items-shared.json#/$defs/itemRarity"
1145
+ }
1146
+ },
1147
+ "additionalProperties": false
1148
+ },
1149
+ "_magicvariantSite": {
1150
+ "type": "object",
1151
+ "properties": {
1152
+ "name": {
1153
+ "type": "string"
1154
+ },
1155
+ "alias": {
1156
+ "$ref": "util.json#/$defs/alias"
1157
+ },
1158
+ "edition": {
1159
+ "$ref": "util-edition.json#/$defs/edition"
1160
+ },
1161
+ "type": {
1162
+ "$ref": "items-shared.json#/$defs/itemType"
1163
+ },
1164
+ "entries": {
1165
+ "type": "array",
1166
+ "items": {
1167
+ "$ref": "entry.json"
1168
+ }
1169
+ },
1170
+ "requires": {
1171
+ "type": "array",
1172
+ "items": {
1173
+ "type": "object",
1174
+ "properties": {
1175
+ "name": {
1176
+ "type": "string"
1177
+ },
1178
+ "property": {
1179
+ "type": "string"
1180
+ },
1181
+ "armor": {
1182
+ "type": "boolean"
1183
+ },
1184
+ "axe": {
1185
+ "type": "boolean"
1186
+ },
1187
+ "bow": {
1188
+ "type": "boolean"
1189
+ },
1190
+ "crossbow": {
1191
+ "type": "boolean"
1192
+ },
1193
+ "sword": {
1194
+ "type": "boolean"
1195
+ },
1196
+ "weapon": {
1197
+ "type": "boolean"
1198
+ },
1199
+ "firearm": {
1200
+ "type": "boolean"
1201
+ },
1202
+ "mace": {
1203
+ "type": "boolean"
1204
+ },
1205
+ "spear": {
1206
+ "type": "boolean"
1207
+ },
1208
+ "hammer": {
1209
+ "type": "boolean"
1210
+ },
1211
+ "club": {
1212
+ "type": "boolean"
1213
+ },
1214
+ "dagger": {
1215
+ "type": "boolean"
1216
+ },
1217
+ "dmgType": {
1218
+ "$ref": "util.json#/$defs/dataDamageTags"
1219
+ },
1220
+ "source": {
1221
+ "$ref": "util.json#/$defs/source"
1222
+ },
1223
+ "type": {
1224
+ "$ref": "items-shared.json#/$defs/itemType"
1225
+ },
1226
+ "scfType": {
1227
+ "$ref": "items-shared.json#/$defs/itemScfType"
1228
+ },
1229
+ "net": {
1230
+ "type": "boolean"
1231
+ },
1232
+ "polearm": {
1233
+ "type": "boolean"
1234
+ },
1235
+ "lance": {
1236
+ "type": "boolean"
1237
+ },
1238
+ "rapier": {
1239
+ "type": "boolean"
1240
+ },
1241
+ "whip": {
1242
+ "type": "boolean"
1243
+ },
1244
+ "halberd": {
1245
+ "type": "boolean"
1246
+ },
1247
+ "glaive": {
1248
+ "type": "boolean"
1249
+ },
1250
+ "arrow": {
1251
+ "type": "boolean"
1252
+ },
1253
+ "bolt": {
1254
+ "type": "boolean"
1255
+ },
1256
+ "bulletFirearm": {
1257
+ "type": "boolean"
1258
+ },
1259
+ "bulletSling": {
1260
+ "type": "boolean"
1261
+ },
1262
+ "cellEnergy": {
1263
+ "type": "boolean"
1264
+ },
1265
+ "needleBlowgun": {
1266
+ "type": "boolean"
1267
+ },
1268
+ "weaponCategory": {
1269
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1270
+ },
1271
+ "staff": {
1272
+ "type": "boolean"
1273
+ }
1274
+ },
1275
+ "minProperties": 1,
1276
+ "additionalProperties": false
1277
+ }
1278
+ },
1279
+ "inherits": {
1280
+ "type": "object",
1281
+ "properties": {
1282
+ "type": {
1283
+ "description": "Generally this should be omitted, as the type of the base item will be used.",
1284
+ "$ref": "items-shared.json#/$defs/itemType"
1285
+ },
1286
+ "typeAlt": {
1287
+ "$ref": "items-shared.json#/$defs/itemType"
1288
+ },
1289
+ "property": {
1290
+ "description": "Generally this should be omitted, as the properties of the base item will be used.",
1291
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
1292
+ },
1293
+ "propertyAdd": {
1294
+ "description": "Additional properties to grant the specific variant, if not already present on the base item.",
1295
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
1296
+ },
1297
+ "propertyRemove": {
1298
+ "description": "Properties to remove from the specific variant, if present on the base item.",
1299
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
1300
+ },
1301
+ "range": {
1302
+ "type": "string"
1303
+ },
1304
+ "ac": {
1305
+ "type": "integer"
1306
+ },
1307
+ "age": {
1308
+ "$ref": "items-shared.json#/$defs/itemAge"
1309
+ },
1310
+ "critThreshold": {
1311
+ "type": "integer"
1312
+ },
1313
+ "bonusAc": {
1314
+ "type": "string"
1315
+ },
1316
+ "bonusWeapon": {
1317
+ "type": "string"
1318
+ },
1319
+ "bonusWeaponAttack": {
1320
+ "type": "string"
1321
+ },
1322
+ "bonusWeaponDamage": {
1323
+ "type": "string"
1324
+ },
1325
+ "bonusWeaponCritDamage": {
1326
+ "type": "string"
1327
+ },
1328
+ "bonusSpellAttack": {
1329
+ "type": "string"
1330
+ },
1331
+ "bonusSpellDamage": {
1332
+ "type": "string"
1333
+ },
1334
+ "bonusSpellSaveDc": {
1335
+ "type": "string"
1336
+ },
1337
+ "bonusSavingThrow": {
1338
+ "type": "string"
1339
+ },
1340
+ "bonusAbilityCheck": {
1341
+ "type": "string"
1342
+ },
1343
+ "bonusProficiencyBonus": {
1344
+ "type": "string"
1345
+ },
1346
+ "bonusSavingThrowConcentration": {
1347
+ "type": "string"
1348
+ },
1349
+ "dmg1": {
1350
+ "type": "string"
1351
+ },
1352
+ "dmg2": {
1353
+ "type": "string",
1354
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
1355
+ },
1356
+ "dmgType": {
1357
+ "$ref": "util.json#/$defs/dataDamageTags"
1358
+ },
1359
+ "modifySpeed": {
1360
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
1361
+ },
1362
+ "tier": {
1363
+ "$ref": "items-shared.json#/$defs/itemTier"
1364
+ },
1365
+ "rarity": {
1366
+ "$ref": "items-shared.json#/$defs/itemRarity"
1367
+ },
1368
+ "source": {
1369
+ "$ref": "util.json#/$defs/source"
1370
+ },
1371
+ "page": {
1372
+ "$ref": "util.json#/$defs/page"
1373
+ },
1374
+ "reprintedAs": {
1375
+ "$ref": "util.json#/$defs/reprintedAs"
1376
+ },
1377
+ "namePrefix": {
1378
+ "type": "string"
1379
+ },
1380
+ "nameSuffix": {
1381
+ "type": "string"
1382
+ },
1383
+ "nameRemove": {
1384
+ "type": "string"
1385
+ },
1386
+ "grantsProficiency": {
1387
+ "type": "boolean"
1388
+ },
1389
+ "grantsLanguage": {
1390
+ "type": "boolean"
1391
+ },
1392
+ "reqAttune": {
1393
+ "type": [
1394
+ "string",
1395
+ "boolean"
1396
+ ]
1397
+ },
1398
+ "curse": {
1399
+ "type": "boolean"
1400
+ },
1401
+ "vulnerable": {
1402
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
1403
+ },
1404
+ "resist": {
1405
+ "$ref": "util.json#/$defs/damageResistArray"
1406
+ },
1407
+ "immune": {
1408
+ "$ref": "util.json#/$defs/damageImmunityArray"
1409
+ },
1410
+ "conditionImmune": {
1411
+ "$ref": "util.json#/$defs/conditionImmunityArray"
1412
+ },
1413
+ "stealth": {
1414
+ "type": "boolean"
1415
+ },
1416
+ "strength": {
1417
+ "type": [
1418
+ "string",
1419
+ "null"
1420
+ ]
1421
+ },
1422
+ "dexterityMax": {
1423
+ "$ref": "items-shared.json#/$defs/itemDexterityMax"
1424
+ },
1425
+ "wondrous": {
1426
+ "type": "boolean"
1427
+ },
1428
+ "sentient": {
1429
+ "const": true
1430
+ },
1431
+ "entries": {
1432
+ "type": "array",
1433
+ "items": {
1434
+ "$ref": "entry.json"
1435
+ }
1436
+ },
1437
+ "charges": {
1438
+ "type": [
1439
+ "string",
1440
+ "integer"
1441
+ ]
1442
+ },
1443
+ "recharge": {
1444
+ "$ref": "items-shared.json#/$defs/itemRecharge"
1445
+ },
1446
+ "rechargeAmount": {
1447
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
1448
+ },
1449
+ "attachedSpells": {
1450
+ "type": "array",
1451
+ "items": {
1452
+ "type": "string"
1453
+ }
1454
+ },
1455
+ "ability": {
1456
+ "$ref": "items-shared.json#/$defs/itemAbility"
1457
+ },
1458
+ "lootTables": {
1459
+ "type": "array",
1460
+ "items": {
1461
+ "oneOf": [
1462
+ {
1463
+ "type": "string"
1464
+ },
1465
+ {
1466
+ "type": "object",
1467
+ "properties": {
1468
+ "name": {
1469
+ "type": "string"
1470
+ },
1471
+ "source": {
1472
+ "$ref": "util.json#/$defs/source"
1473
+ }
1474
+ }
1475
+ }
1476
+ ]
1477
+ }
1478
+ },
1479
+ "srd": {
1480
+ "$ref": "util.json#/$defs/srd"
1481
+ },
1482
+ "srd52": {
1483
+ "$ref": "util.json#/$defs/srd"
1484
+ },
1485
+ "basicRules": {
1486
+ "$ref": "util.json#/$defs/basicRules"
1487
+ },
1488
+ "freeRules2024": {
1489
+ "$ref": "util.json#/$defs/basicRules"
1490
+ },
1491
+ "legacy": {
1492
+ "$ref": "util.json#/$defs/legacy"
1493
+ },
1494
+ "otherSources": {
1495
+ "$ref": "util.json#/$defs/otherSources"
1496
+ },
1497
+ "valueMult": {
1498
+ "type": "number"
1499
+ },
1500
+ "valueExpression": {
1501
+ "description": "Expression used to calculate each specific variant's value.",
1502
+ "type": "string"
1503
+ },
1504
+ "valueRarity": {
1505
+ "$ref": "items-shared.json#/$defs/itemRarity"
1506
+ },
1507
+ "weaponCategory": {
1508
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1509
+ },
1510
+ "weight": {
1511
+ "type": "number"
1512
+ },
1513
+ "weightMult": {
1514
+ "type": "number"
1515
+ },
1516
+ "weightExpression": {
1517
+ "description": "Expression used to calculate each specific variant's weight.",
1518
+ "type": "string"
1519
+ },
1520
+ "barding": {
1521
+ "type": "boolean"
1522
+ },
1523
+ "spellScrollLevel": {
1524
+ "type": "integer"
1525
+ },
1526
+ "reqAttuneTags": {
1527
+ "$ref": "util.json#/$defs/reqAttuneTags"
1528
+ },
1529
+ "reqAttuneAltTags": {
1530
+ "$ref": "util.json#/$defs/reqAttuneTags"
1531
+ },
1532
+ "miscTags": {
1533
+ "$ref": "items-shared.json#/$defs/itemMiscTags"
1534
+ },
1535
+ "mastery": {
1536
+ "$ref": "items-shared.json#/$defs/itemMastery"
1537
+ },
1538
+ "reach": {
1539
+ "$ref": "items-shared.json#/$defs/itemReach"
1540
+ },
1541
+ "light": {
1542
+ "$ref": "items-shared.json#/$defs/itemLight"
1543
+ },
1544
+ "hasRefs": {
1545
+ "type": "boolean",
1546
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1547
+ }
1548
+ },
1549
+ "additionalProperties": false,
1550
+ "required": [
1551
+ "rarity",
1552
+ "source"
1553
+ ]
1554
+ },
1555
+ "excludes": {
1556
+ "type": "object",
1557
+ "properties": {
1558
+ "name": {
1559
+ "oneOf": [
1560
+ {
1561
+ "type": "string"
1562
+ },
1563
+ {
1564
+ "type": "array",
1565
+ "items": {
1566
+ "type": "string"
1567
+ }
1568
+ }
1569
+ ]
1570
+ },
1571
+ "page": {
1572
+ "$ref": "util.json#/$defs/page"
1573
+ },
1574
+ "property": {
1575
+ "oneOf": [
1576
+ {
1577
+ "type": "string"
1578
+ },
1579
+ {
1580
+ "type": "array",
1581
+ "items": {
1582
+ "type": "string"
1583
+ }
1584
+ }
1585
+ ]
1586
+ },
1587
+ "armor": {
1588
+ "type": "boolean"
1589
+ },
1590
+ "axe": {
1591
+ "type": "boolean"
1592
+ },
1593
+ "bow": {
1594
+ "type": "boolean"
1595
+ },
1596
+ "crossbow": {
1597
+ "type": "boolean"
1598
+ },
1599
+ "sword": {
1600
+ "type": "boolean"
1601
+ },
1602
+ "weapon": {
1603
+ "type": "boolean"
1604
+ },
1605
+ "firearm": {
1606
+ "type": "boolean"
1607
+ },
1608
+ "mace": {
1609
+ "type": "boolean"
1610
+ },
1611
+ "spear": {
1612
+ "type": "boolean"
1613
+ },
1614
+ "hammer": {
1615
+ "type": "boolean"
1616
+ },
1617
+ "club": {
1618
+ "type": "boolean"
1619
+ },
1620
+ "dagger": {
1621
+ "type": "boolean"
1622
+ },
1623
+ "dmgType": {
1624
+ "$ref": "util.json#/$defs/dataDamageTags"
1625
+ },
1626
+ "source": {
1627
+ "$ref": "util.json#/$defs/source"
1628
+ },
1629
+ "type": {
1630
+ "$ref": "items-shared.json#/$defs/itemType"
1631
+ },
1632
+ "scfType": {
1633
+ "$ref": "items-shared.json#/$defs/itemScfType"
1634
+ },
1635
+ "net": {
1636
+ "type": "boolean"
1637
+ },
1638
+ "polearm": {
1639
+ "type": "boolean"
1640
+ },
1641
+ "lance": {
1642
+ "type": "boolean"
1643
+ },
1644
+ "rapier": {
1645
+ "type": "boolean"
1646
+ },
1647
+ "whip": {
1648
+ "type": "boolean"
1649
+ },
1650
+ "halberd": {
1651
+ "type": "boolean"
1652
+ },
1653
+ "glaive": {
1654
+ "type": "boolean"
1655
+ },
1656
+ "arrow": {
1657
+ "type": "boolean"
1658
+ },
1659
+ "bolt": {
1660
+ "type": "boolean"
1661
+ },
1662
+ "bulletFirearm": {
1663
+ "type": "boolean"
1664
+ },
1665
+ "bulletSling": {
1666
+ "type": "boolean"
1667
+ },
1668
+ "cellEnergy": {
1669
+ "type": "boolean"
1670
+ },
1671
+ "needleBlowgun": {
1672
+ "type": "boolean"
1673
+ },
1674
+ "weaponCategory": {
1675
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1676
+ },
1677
+ "staff": {
1678
+ "type": "boolean"
1679
+ }
1680
+ },
1681
+ "minProperties": 1,
1682
+ "additionalProperties": false
1683
+ },
1684
+ "noDisplay": {
1685
+ "type": "boolean"
1686
+ },
1687
+ "charges": {
1688
+ "type": [
1689
+ "string",
1690
+ "integer"
1691
+ ]
1692
+ },
1693
+ "attachedSpells": {
1694
+ "type": "array",
1695
+ "items": {
1696
+ "type": "string"
1697
+ }
1698
+ },
1699
+ "ammo": {
1700
+ "description": "Adds ammunition text to the header of the generic variant.",
1701
+ "type": "boolean"
1702
+ },
1703
+ "reqAttuneTags": {
1704
+ "$ref": "util.json#/$defs/reqAttuneTags"
1705
+ },
1706
+ "reqAttuneAltTags": {
1707
+ "$ref": "util.json#/$defs/reqAttuneTags"
1708
+ },
1709
+ "weaponCategory": {
1710
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1711
+ },
1712
+ "hasFluff": {
1713
+ "type": "boolean"
1714
+ },
1715
+ "hasFluffImages": {
1716
+ "type": "boolean"
1717
+ }
1718
+ },
1719
+ "additionalProperties": false,
1720
+ "required": [
1721
+ "name",
1722
+ "inherits",
1723
+ "requires"
1724
+ ]
1725
+ },
1726
+ "_magicvariantBrewRootRarity": {
1727
+ "type": "object",
1728
+ "properties": {
1729
+ "name": {
1730
+ "type": "string"
1731
+ },
1732
+ "alias": {
1733
+ "$ref": "util.json#/$defs/alias"
1734
+ },
1735
+ "edition": {
1736
+ "$ref": "util-edition.json#/$defs/edition"
1737
+ },
1738
+ "type": {
1739
+ "$ref": "items-shared.json#/$defs/itemType"
1740
+ },
1741
+ "entries": {
1742
+ "type": "array",
1743
+ "items": {
1744
+ "$ref": "entry.json"
1745
+ }
1746
+ },
1747
+ "requires": {
1748
+ "type": "array",
1749
+ "items": {
1750
+ "type": "object",
1751
+ "properties": {
1752
+ "name": {
1753
+ "type": "string"
1754
+ },
1755
+ "property": {
1756
+ "type": "string"
1757
+ },
1758
+ "armor": {
1759
+ "type": "boolean"
1760
+ },
1761
+ "axe": {
1762
+ "type": "boolean"
1763
+ },
1764
+ "bow": {
1765
+ "type": "boolean"
1766
+ },
1767
+ "crossbow": {
1768
+ "type": "boolean"
1769
+ },
1770
+ "sword": {
1771
+ "type": "boolean"
1772
+ },
1773
+ "weapon": {
1774
+ "type": "boolean"
1775
+ },
1776
+ "firearm": {
1777
+ "type": "boolean"
1778
+ },
1779
+ "mace": {
1780
+ "type": "boolean"
1781
+ },
1782
+ "spear": {
1783
+ "type": "boolean"
1784
+ },
1785
+ "hammer": {
1786
+ "type": "boolean"
1787
+ },
1788
+ "club": {
1789
+ "type": "boolean"
1790
+ },
1791
+ "dagger": {
1792
+ "type": "boolean"
1793
+ },
1794
+ "dmgType": {
1795
+ "$ref": "util.json#/$defs/dataDamageTags"
1796
+ },
1797
+ "source": {
1798
+ "$ref": "util.json#/$defs/source"
1799
+ },
1800
+ "type": {
1801
+ "$ref": "items-shared.json#/$defs/itemType"
1802
+ },
1803
+ "scfType": {
1804
+ "$ref": "items-shared.json#/$defs/itemScfType"
1805
+ },
1806
+ "net": {
1807
+ "type": "boolean"
1808
+ },
1809
+ "polearm": {
1810
+ "type": "boolean"
1811
+ },
1812
+ "lance": {
1813
+ "type": "boolean"
1814
+ },
1815
+ "rapier": {
1816
+ "type": "boolean"
1817
+ },
1818
+ "whip": {
1819
+ "type": "boolean"
1820
+ },
1821
+ "halberd": {
1822
+ "type": "boolean"
1823
+ },
1824
+ "glaive": {
1825
+ "type": "boolean"
1826
+ },
1827
+ "arrow": {
1828
+ "type": "boolean"
1829
+ },
1830
+ "bolt": {
1831
+ "type": "boolean"
1832
+ },
1833
+ "bulletFirearm": {
1834
+ "type": "boolean"
1835
+ },
1836
+ "bulletSling": {
1837
+ "type": "boolean"
1838
+ },
1839
+ "cellEnergy": {
1840
+ "type": "boolean"
1841
+ },
1842
+ "needleBlowgun": {
1843
+ "type": "boolean"
1844
+ },
1845
+ "weaponCategory": {
1846
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1847
+ },
1848
+ "staff": {
1849
+ "type": "boolean"
1850
+ }
1851
+ },
1852
+ "minProperties": 1,
1853
+ "additionalProperties": false
1854
+ }
1855
+ },
1856
+ "inherits": {
1857
+ "type": "object",
1858
+ "properties": {
1859
+ "type": {
1860
+ "description": "Generally this should be omitted, as the type of the base item will be used.",
1861
+ "$ref": "items-shared.json#/$defs/itemType"
1862
+ },
1863
+ "typeAlt": {
1864
+ "$ref": "items-shared.json#/$defs/itemType"
1865
+ },
1866
+ "property": {
1867
+ "description": "Generally this should be omitted, as the properties of the base item will be used.",
1868
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
1869
+ },
1870
+ "propertyAdd": {
1871
+ "description": "Additional properties to grant the specific variant, if not already present on the base item.",
1872
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
1873
+ },
1874
+ "propertyRemove": {
1875
+ "description": "Properties to remove from the specific variant, if present on the base item.",
1876
+ "$ref": "items-shared.json#/$defs/itemPropertyOrWrapperArray"
1877
+ },
1878
+ "range": {
1879
+ "type": "string"
1880
+ },
1881
+ "ac": {
1882
+ "type": "integer"
1883
+ },
1884
+ "age": {
1885
+ "$ref": "items-shared.json#/$defs/itemAge"
1886
+ },
1887
+ "critThreshold": {
1888
+ "type": "integer"
1889
+ },
1890
+ "bonusAc": {
1891
+ "type": "string"
1892
+ },
1893
+ "bonusWeapon": {
1894
+ "type": "string"
1895
+ },
1896
+ "bonusWeaponAttack": {
1897
+ "type": "string"
1898
+ },
1899
+ "bonusWeaponDamage": {
1900
+ "type": "string"
1901
+ },
1902
+ "bonusWeaponCritDamage": {
1903
+ "type": "string"
1904
+ },
1905
+ "bonusSpellAttack": {
1906
+ "type": "string"
1907
+ },
1908
+ "bonusSpellDamage": {
1909
+ "type": "string"
1910
+ },
1911
+ "bonusSpellSaveDc": {
1912
+ "type": "string"
1913
+ },
1914
+ "bonusSavingThrow": {
1915
+ "type": "string"
1916
+ },
1917
+ "bonusAbilityCheck": {
1918
+ "type": "string"
1919
+ },
1920
+ "bonusProficiencyBonus": {
1921
+ "type": "string"
1922
+ },
1923
+ "bonusSavingThrowConcentration": {
1924
+ "type": "string"
1925
+ },
1926
+ "dmg1": {
1927
+ "type": "string"
1928
+ },
1929
+ "dmg2": {
1930
+ "type": "string",
1931
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
1932
+ },
1933
+ "dmgType": {
1934
+ "$ref": "util.json#/$defs/dataDamageTags"
1935
+ },
1936
+ "modifySpeed": {
1937
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
1938
+ },
1939
+ "tier": {
1940
+ "$ref": "items-shared.json#/$defs/itemTier"
1941
+ },
1942
+ "rarity": {
1943
+ "$ref": "items-shared.json#/$defs/itemRarity"
1944
+ },
1945
+ "source": {
1946
+ "$ref": "util.json#/$defs/source"
1947
+ },
1948
+ "page": {
1949
+ "$ref": "util.json#/$defs/page"
1950
+ },
1951
+ "reprintedAs": {
1952
+ "$ref": "util.json#/$defs/reprintedAs"
1953
+ },
1954
+ "namePrefix": {
1955
+ "type": "string"
1956
+ },
1957
+ "nameSuffix": {
1958
+ "type": "string"
1959
+ },
1960
+ "nameRemove": {
1961
+ "type": "string"
1962
+ },
1963
+ "grantsProficiency": {
1964
+ "type": "boolean"
1965
+ },
1966
+ "grantsLanguage": {
1967
+ "type": "boolean"
1968
+ },
1969
+ "reqAttune": {
1970
+ "type": [
1971
+ "string",
1972
+ "boolean"
1973
+ ]
1974
+ },
1975
+ "curse": {
1976
+ "type": "boolean"
1977
+ },
1978
+ "vulnerable": {
1979
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
1980
+ },
1981
+ "resist": {
1982
+ "$ref": "util.json#/$defs/damageResistArray"
1983
+ },
1984
+ "immune": {
1985
+ "$ref": "util.json#/$defs/damageImmunityArray"
1986
+ },
1987
+ "conditionImmune": {
1988
+ "$ref": "util.json#/$defs/conditionImmunityArray"
1989
+ },
1990
+ "stealth": {
1991
+ "type": "boolean"
1992
+ },
1993
+ "strength": {
1994
+ "type": [
1995
+ "string",
1996
+ "null"
1997
+ ]
1998
+ },
1999
+ "dexterityMax": {
2000
+ "$ref": "items-shared.json#/$defs/itemDexterityMax"
2001
+ },
2002
+ "wondrous": {
2003
+ "type": "boolean"
2004
+ },
2005
+ "sentient": {
2006
+ "const": true
2007
+ },
2008
+ "entries": {
2009
+ "type": "array",
2010
+ "items": {
2011
+ "$ref": "entry.json"
2012
+ }
2013
+ },
2014
+ "charges": {
2015
+ "type": [
2016
+ "string",
2017
+ "integer"
2018
+ ]
2019
+ },
2020
+ "recharge": {
2021
+ "$ref": "items-shared.json#/$defs/itemRecharge"
2022
+ },
2023
+ "rechargeAmount": {
2024
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
2025
+ },
2026
+ "attachedSpells": {
2027
+ "type": "array",
2028
+ "items": {
2029
+ "type": "string"
2030
+ }
2031
+ },
2032
+ "ability": {
2033
+ "$ref": "items-shared.json#/$defs/itemAbility"
2034
+ },
2035
+ "lootTables": {
2036
+ "type": "array",
2037
+ "items": {
2038
+ "oneOf": [
2039
+ {
2040
+ "type": "string"
2041
+ },
2042
+ {
2043
+ "type": "object",
2044
+ "properties": {
2045
+ "name": {
2046
+ "type": "string"
2047
+ },
2048
+ "source": {
2049
+ "$ref": "util.json#/$defs/source"
2050
+ }
2051
+ }
2052
+ }
2053
+ ]
2054
+ }
2055
+ },
2056
+ "srd": {
2057
+ "$ref": "util.json#/$defs/srd"
2058
+ },
2059
+ "srd52": {
2060
+ "$ref": "util.json#/$defs/srd"
2061
+ },
2062
+ "basicRules": {
2063
+ "$ref": "util.json#/$defs/basicRules"
2064
+ },
2065
+ "freeRules2024": {
2066
+ "$ref": "util.json#/$defs/basicRules"
2067
+ },
2068
+ "legacy": {
2069
+ "$ref": "util.json#/$defs/legacy"
2070
+ },
2071
+ "otherSources": {
2072
+ "$ref": "util.json#/$defs/otherSources"
2073
+ },
2074
+ "valueMult": {
2075
+ "type": "number"
2076
+ },
2077
+ "valueExpression": {
2078
+ "description": "Expression used to calculate each specific variant's value.",
2079
+ "type": "string"
2080
+ },
2081
+ "valueRarity": {
2082
+ "$ref": "items-shared.json#/$defs/itemRarity"
2083
+ },
2084
+ "weaponCategory": {
2085
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
2086
+ },
2087
+ "weight": {
2088
+ "type": "number"
2089
+ },
2090
+ "weightMult": {
2091
+ "type": "number"
2092
+ },
2093
+ "weightExpression": {
2094
+ "description": "Expression used to calculate each specific variant's weight.",
2095
+ "type": "string"
2096
+ },
2097
+ "barding": {
2098
+ "type": "boolean"
2099
+ },
2100
+ "spellScrollLevel": {
2101
+ "type": "integer"
2102
+ },
2103
+ "reqAttuneTags": {
2104
+ "$ref": "util.json#/$defs/reqAttuneTags"
2105
+ },
2106
+ "reqAttuneAltTags": {
2107
+ "$ref": "util.json#/$defs/reqAttuneTags"
2108
+ },
2109
+ "miscTags": {
2110
+ "$ref": "items-shared.json#/$defs/itemMiscTags"
2111
+ },
2112
+ "mastery": {
2113
+ "$ref": "items-shared.json#/$defs/itemMastery"
2114
+ },
2115
+ "reach": {
2116
+ "$ref": "items-shared.json#/$defs/itemReach"
2117
+ },
2118
+ "light": {
2119
+ "$ref": "items-shared.json#/$defs/itemLight"
2120
+ },
2121
+ "hasRefs": {
2122
+ "type": "boolean",
2123
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
2124
+ }
2125
+ },
2126
+ "additionalProperties": false,
2127
+ "required": [
2128
+ "source"
2129
+ ]
2130
+ },
2131
+ "excludes": {
2132
+ "type": "object",
2133
+ "properties": {
2134
+ "name": {
2135
+ "oneOf": [
2136
+ {
2137
+ "type": "string"
2138
+ },
2139
+ {
2140
+ "type": "array",
2141
+ "items": {
2142
+ "type": "string"
2143
+ }
2144
+ }
2145
+ ]
2146
+ },
2147
+ "page": {
2148
+ "$ref": "util.json#/$defs/page"
2149
+ },
2150
+ "property": {
2151
+ "oneOf": [
2152
+ {
2153
+ "type": "string"
2154
+ },
2155
+ {
2156
+ "type": "array",
2157
+ "items": {
2158
+ "type": "string"
2159
+ }
2160
+ }
2161
+ ]
2162
+ },
2163
+ "armor": {
2164
+ "type": "boolean"
2165
+ },
2166
+ "axe": {
2167
+ "type": "boolean"
2168
+ },
2169
+ "bow": {
2170
+ "type": "boolean"
2171
+ },
2172
+ "crossbow": {
2173
+ "type": "boolean"
2174
+ },
2175
+ "sword": {
2176
+ "type": "boolean"
2177
+ },
2178
+ "weapon": {
2179
+ "type": "boolean"
2180
+ },
2181
+ "firearm": {
2182
+ "type": "boolean"
2183
+ },
2184
+ "mace": {
2185
+ "type": "boolean"
2186
+ },
2187
+ "spear": {
2188
+ "type": "boolean"
2189
+ },
2190
+ "hammer": {
2191
+ "type": "boolean"
2192
+ },
2193
+ "club": {
2194
+ "type": "boolean"
2195
+ },
2196
+ "dagger": {
2197
+ "type": "boolean"
2198
+ },
2199
+ "dmgType": {
2200
+ "$ref": "util.json#/$defs/dataDamageTags"
2201
+ },
2202
+ "source": {
2203
+ "$ref": "util.json#/$defs/source"
2204
+ },
2205
+ "type": {
2206
+ "$ref": "items-shared.json#/$defs/itemType"
2207
+ },
2208
+ "scfType": {
2209
+ "$ref": "items-shared.json#/$defs/itemScfType"
2210
+ },
2211
+ "net": {
2212
+ "type": "boolean"
2213
+ },
2214
+ "polearm": {
2215
+ "type": "boolean"
2216
+ },
2217
+ "lance": {
2218
+ "type": "boolean"
2219
+ },
2220
+ "rapier": {
2221
+ "type": "boolean"
2222
+ },
2223
+ "whip": {
2224
+ "type": "boolean"
2225
+ },
2226
+ "halberd": {
2227
+ "type": "boolean"
2228
+ },
2229
+ "glaive": {
2230
+ "type": "boolean"
2231
+ },
2232
+ "arrow": {
2233
+ "type": "boolean"
2234
+ },
2235
+ "bolt": {
2236
+ "type": "boolean"
2237
+ },
2238
+ "bulletFirearm": {
2239
+ "type": "boolean"
2240
+ },
2241
+ "bulletSling": {
2242
+ "type": "boolean"
2243
+ },
2244
+ "cellEnergy": {
2245
+ "type": "boolean"
2246
+ },
2247
+ "needleBlowgun": {
2248
+ "type": "boolean"
2249
+ },
2250
+ "weaponCategory": {
2251
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
2252
+ },
2253
+ "staff": {
2254
+ "type": "boolean"
2255
+ }
2256
+ },
2257
+ "minProperties": 1,
2258
+ "additionalProperties": false
2259
+ },
2260
+ "noDisplay": {
2261
+ "type": "boolean"
2262
+ },
2263
+ "charges": {
2264
+ "type": [
2265
+ "string",
2266
+ "integer"
2267
+ ]
2268
+ },
2269
+ "attachedSpells": {
2270
+ "type": "array",
2271
+ "items": {
2272
+ "type": "string"
2273
+ }
2274
+ },
2275
+ "ammo": {
2276
+ "description": "Adds ammunition text to the header of the generic variant.",
2277
+ "type": "boolean"
2278
+ },
2279
+ "reqAttuneTags": {
2280
+ "$ref": "util.json#/$defs/reqAttuneTags"
2281
+ },
2282
+ "reqAttuneAltTags": {
2283
+ "$ref": "util.json#/$defs/reqAttuneTags"
2284
+ },
2285
+ "weaponCategory": {
2286
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
2287
+ },
2288
+ "hasFluff": {
2289
+ "type": "boolean"
2290
+ },
2291
+ "hasFluffImages": {
2292
+ "type": "boolean"
2293
+ },
2294
+ "rarity": {
2295
+ "$ref": "items-shared.json#/$defs/itemRarity"
2296
+ }
2297
+ },
2298
+ "additionalProperties": false,
2299
+ "required": [
2300
+ "name",
2301
+ "rarity",
2302
+ "inherits",
2303
+ "requires"
2304
+ ]
2305
+ },
2306
+ "_magicvariantSiteCopy": {
576
2307
  "type": "object",
577
2308
  "properties": {
578
2309
  "name": {
@@ -972,11 +2703,7 @@
972
2703
  "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
973
2704
  }
974
2705
  },
975
- "additionalProperties": false,
976
- "required": [
977
- "rarity",
978
- "source"
979
- ]
2706
+ "additionalProperties": false
980
2707
  },
981
2708
  "excludes": {
982
2709
  "type": "object",
@@ -1140,16 +2867,21 @@
1140
2867
  },
1141
2868
  "hasFluffImages": {
1142
2869
  "type": "boolean"
2870
+ },
2871
+ "_copy": {
2872
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
2873
+ },
2874
+ "source": {
2875
+ "$ref": "util.json#/$defs/source"
1143
2876
  }
1144
2877
  },
1145
2878
  "additionalProperties": false,
1146
2879
  "required": [
1147
- "name",
1148
- "inherits",
1149
- "requires"
2880
+ "_copy",
2881
+ "source"
1150
2882
  ]
1151
2883
  },
1152
- "_magicvariantItemBrewBaseRarity": {
2884
+ "_magicvariantBrewRootRarityCopy": {
1153
2885
  "type": "object",
1154
2886
  "properties": {
1155
2887
  "name": {
@@ -1549,10 +3281,7 @@
1549
3281
  "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1550
3282
  }
1551
3283
  },
1552
- "additionalProperties": false,
1553
- "required": [
1554
- "source"
1555
- ]
3284
+ "additionalProperties": false
1556
3285
  },
1557
3286
  "excludes": {
1558
3287
  "type": "object",
@@ -1719,20 +3448,27 @@
1719
3448
  },
1720
3449
  "rarity": {
1721
3450
  "$ref": "items-shared.json#/$defs/itemRarity"
3451
+ },
3452
+ "_copy": {
3453
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
3454
+ },
3455
+ "source": {
3456
+ "$ref": "util.json#/$defs/source"
1722
3457
  }
1723
3458
  },
1724
3459
  "additionalProperties": false,
1725
3460
  "required": [
1726
- "name",
1727
- "rarity",
1728
- "inherits",
1729
- "requires"
3461
+ "_copy",
3462
+ "source"
1730
3463
  ]
1731
3464
  },
1732
3465
  "magicvariantItem": {
1733
3466
  "anyOf": [
1734
3467
  {
1735
- "$ref": "#/$defs/_magicvariantItemSite"
3468
+ "$ref": "#/$defs/_magicvariantSite"
3469
+ },
3470
+ {
3471
+ "$ref": "#/$defs/_magicvariantSiteCopy"
1736
3472
  }
1737
3473
  ]
1738
3474
  }