5etools-utils 0.12.75 → 0.12.77

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