5etools-utils 0.9.1 → 0.9.2

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,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "2.11.5",
3
+ "version": "2.11.6",
4
4
  "$id": "class.json",
5
5
  "type": "object",
6
6
  "$defs": {
@@ -92,6 +92,105 @@
92
92
  }
93
93
  ]
94
94
  },
95
+ "casterProgression": {
96
+ "enum": [
97
+ "full",
98
+ "1/2",
99
+ "1/3",
100
+ "pact",
101
+ "artificer"
102
+ ]
103
+ },
104
+ "spellcastingAbility": {
105
+ "enum": [
106
+ "str",
107
+ "dex",
108
+ "con",
109
+ "int",
110
+ "wis",
111
+ "cha"
112
+ ]
113
+ },
114
+ "cantripProgression": {
115
+ "type": "array",
116
+ "items": {
117
+ "type": "integer"
118
+ },
119
+ "minItems": 20,
120
+ "maxItems": 20
121
+ },
122
+ "preparedSpells": {
123
+ "type": "string",
124
+ "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
125
+ },
126
+ "preparedSpellsProgression": {
127
+ "type": "array",
128
+ "items": {
129
+ "type": "integer"
130
+ },
131
+ "minItems": 20,
132
+ "maxItems": 20
133
+ },
134
+ "spellsKnownProgression": {
135
+ "type": "array",
136
+ "items": {
137
+ "type": "integer"
138
+ },
139
+ "minItems": 20,
140
+ "maxItems": 20
141
+ },
142
+ "spellsKnownProgressionFixed": {
143
+ "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
144
+ "type": "array",
145
+ "items": {
146
+ "type": "integer"
147
+ },
148
+ "minItems": 20,
149
+ "maxItems": 20
150
+ },
151
+ "spellsKnownProgressionFixedAllowLowerLevel": {
152
+ "type": "boolean"
153
+ },
154
+ "spellsKnownProgressionFixedByLevel": {
155
+ "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
156
+ "type": "object",
157
+ "patternProperties": {
158
+ "^\\d+$": {
159
+ "type": "object",
160
+ "properties": {
161
+ "1": {
162
+ "type": "integer"
163
+ },
164
+ "2": {
165
+ "type": "integer"
166
+ },
167
+ "3": {
168
+ "type": "integer"
169
+ },
170
+ "4": {
171
+ "type": "integer"
172
+ },
173
+ "5": {
174
+ "type": "integer"
175
+ },
176
+ "6": {
177
+ "type": "integer"
178
+ },
179
+ "7": {
180
+ "type": "integer"
181
+ },
182
+ "8": {
183
+ "type": "integer"
184
+ },
185
+ "9": {
186
+ "type": "integer"
187
+ }
188
+ },
189
+ "additionalProperties": false
190
+ }
191
+ },
192
+ "additionalProperties": false
193
+ },
95
194
  "classFeature": {
96
195
  "type": "object",
97
196
  "properties": {
@@ -348,39 +447,34 @@
348
447
  "$ref": "../util.json#/$defs/page"
349
448
  },
350
449
  "casterProgression": {
351
- "enum": [
352
- "full",
353
- "1/2",
354
- "1/3",
355
- "pact",
356
- "artificer"
357
- ]
450
+ "$ref": "#/$defs/casterProgression"
358
451
  },
359
452
  "spellcastingAbility": {
360
- "enum": [
361
- "str",
362
- "dex",
363
- "con",
364
- "int",
365
- "wis",
366
- "cha"
367
- ]
453
+ "$ref": "#/$defs/spellcastingAbility"
368
454
  },
369
455
  "cantripProgression": {
370
- "type": "array",
371
- "items": {
372
- "type": "integer"
373
- },
374
- "minItems": 20,
375
- "maxItems": 20
456
+ "$ref": "#/$defs/cantripProgression"
457
+ },
458
+ "preparedSpells": {
459
+ "$ref": "#/$defs/preparedSpells"
460
+ },
461
+ "preparedSpellsProgression": {
462
+ "$ref": "#/$defs/preparedSpellsProgression"
376
463
  },
377
464
  "spellsKnownProgression": {
378
- "type": "array",
379
- "items": {
380
- "type": "integer"
381
- },
382
- "minItems": 20,
383
- "maxItems": 20
465
+ "$ref": "#/$defs/spellsKnownProgression"
466
+ },
467
+ "spellsKnownProgressionFixed": {
468
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
469
+ },
470
+ "spellsKnownProgressionFixedAllowLowerLevel": {
471
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
472
+ },
473
+ "spellsKnownProgressionFixedByLevel": {
474
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
475
+ },
476
+ "optionalfeatureProgression": {
477
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
384
478
  },
385
479
  "subclassFeatures": {
386
480
  "type": "array",
@@ -414,9 +508,6 @@
414
508
  ]
415
509
  }
416
510
  },
417
- "optionalfeatureProgression": {
418
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
419
- },
420
511
  "subclassTableGroups": {
421
512
  "type": "array",
422
513
  "items": {
@@ -497,39 +588,34 @@
497
588
  "$ref": "../util.json#/$defs/page"
498
589
  },
499
590
  "casterProgression": {
500
- "enum": [
501
- "full",
502
- "1/2",
503
- "1/3",
504
- "pact",
505
- "artificer"
506
- ]
591
+ "$ref": "#/$defs/casterProgression"
507
592
  },
508
593
  "spellcastingAbility": {
509
- "enum": [
510
- "str",
511
- "dex",
512
- "con",
513
- "int",
514
- "wis",
515
- "cha"
516
- ]
594
+ "$ref": "#/$defs/spellcastingAbility"
517
595
  },
518
596
  "cantripProgression": {
519
- "type": "array",
520
- "items": {
521
- "type": "integer"
522
- },
523
- "minItems": 20,
524
- "maxItems": 20
597
+ "$ref": "#/$defs/cantripProgression"
598
+ },
599
+ "preparedSpells": {
600
+ "$ref": "#/$defs/preparedSpells"
601
+ },
602
+ "preparedSpellsProgression": {
603
+ "$ref": "#/$defs/preparedSpellsProgression"
525
604
  },
526
605
  "spellsKnownProgression": {
527
- "type": "array",
528
- "items": {
529
- "type": "integer"
530
- },
531
- "minItems": 20,
532
- "maxItems": 20
606
+ "$ref": "#/$defs/spellsKnownProgression"
607
+ },
608
+ "spellsKnownProgressionFixed": {
609
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
610
+ },
611
+ "spellsKnownProgressionFixedAllowLowerLevel": {
612
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
613
+ },
614
+ "spellsKnownProgressionFixedByLevel": {
615
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
616
+ },
617
+ "optionalfeatureProgression": {
618
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
533
619
  },
534
620
  "subclassFeatures": {
535
621
  "type": "array",
@@ -563,9 +649,6 @@
563
649
  ]
564
650
  }
565
651
  },
566
- "optionalfeatureProgression": {
567
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
568
- },
569
652
  "subclassTableGroups": {
570
653
  "type": "array",
571
654
  "items": {
@@ -701,39 +784,34 @@
701
784
  "$ref": "../util.json#/$defs/page"
702
785
  },
703
786
  "casterProgression": {
704
- "enum": [
705
- "full",
706
- "1/2",
707
- "1/3",
708
- "pact",
709
- "artificer"
710
- ]
787
+ "$ref": "#/$defs/casterProgression"
711
788
  },
712
789
  "spellcastingAbility": {
713
- "enum": [
714
- "str",
715
- "dex",
716
- "con",
717
- "int",
718
- "wis",
719
- "cha"
720
- ]
790
+ "$ref": "#/$defs/spellcastingAbility"
721
791
  },
722
792
  "cantripProgression": {
723
- "type": "array",
724
- "items": {
725
- "type": "integer"
726
- },
727
- "minItems": 20,
728
- "maxItems": 20
793
+ "$ref": "#/$defs/cantripProgression"
794
+ },
795
+ "preparedSpells": {
796
+ "$ref": "#/$defs/preparedSpells"
797
+ },
798
+ "preparedSpellsProgression": {
799
+ "$ref": "#/$defs/preparedSpellsProgression"
729
800
  },
730
801
  "spellsKnownProgression": {
731
- "type": "array",
732
- "items": {
733
- "type": "integer"
734
- },
735
- "minItems": 20,
736
- "maxItems": 20
802
+ "$ref": "#/$defs/spellsKnownProgression"
803
+ },
804
+ "spellsKnownProgressionFixed": {
805
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
806
+ },
807
+ "spellsKnownProgressionFixedAllowLowerLevel": {
808
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
809
+ },
810
+ "spellsKnownProgressionFixedByLevel": {
811
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
812
+ },
813
+ "optionalfeatureProgression": {
814
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
737
815
  },
738
816
  "subclassFeatures": {
739
817
  "type": "array",
@@ -767,9 +845,6 @@
767
845
  ]
768
846
  }
769
847
  },
770
- "optionalfeatureProgression": {
771
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
772
- },
773
848
  "subclassTableGroups": {
774
849
  "type": "array",
775
850
  "items": {
@@ -991,103 +1066,31 @@
991
1066
  "additionalProperties": false
992
1067
  },
993
1068
  "casterProgression": {
994
- "enum": [
995
- "full",
996
- "1/2",
997
- "1/3",
998
- "pact",
999
- "artificer"
1000
- ]
1001
- },
1002
- "preparedSpells": {
1003
- "type": "string",
1004
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1005
- },
1006
- "preparedSpellsProgression": {
1007
- "type": "array",
1008
- "items": {
1009
- "type": "integer"
1010
- },
1011
- "minItems": 20,
1012
- "maxItems": 20
1069
+ "$ref": "#/$defs/casterProgression"
1013
1070
  },
1014
1071
  "spellcastingAbility": {
1015
- "enum": [
1016
- "str",
1017
- "dex",
1018
- "con",
1019
- "int",
1020
- "wis",
1021
- "cha"
1022
- ]
1072
+ "$ref": "#/$defs/spellcastingAbility"
1023
1073
  },
1024
1074
  "cantripProgression": {
1025
- "type": "array",
1026
- "items": {
1027
- "type": "integer"
1028
- },
1029
- "minItems": 20,
1030
- "maxItems": 20
1075
+ "$ref": "#/$defs/cantripProgression"
1076
+ },
1077
+ "preparedSpells": {
1078
+ "$ref": "#/$defs/preparedSpells"
1079
+ },
1080
+ "preparedSpellsProgression": {
1081
+ "$ref": "#/$defs/preparedSpellsProgression"
1031
1082
  },
1032
1083
  "spellsKnownProgression": {
1033
- "type": "array",
1034
- "items": {
1035
- "type": "integer"
1036
- },
1037
- "minItems": 20,
1038
- "maxItems": 20
1084
+ "$ref": "#/$defs/spellsKnownProgression"
1039
1085
  },
1040
1086
  "spellsKnownProgressionFixed": {
1041
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1042
- "type": "array",
1043
- "items": {
1044
- "type": "integer"
1045
- },
1046
- "minItems": 20,
1047
- "maxItems": 20
1087
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1048
1088
  },
1049
1089
  "spellsKnownProgressionFixedAllowLowerLevel": {
1050
- "type": "boolean"
1090
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1051
1091
  },
1052
1092
  "spellsKnownProgressionFixedByLevel": {
1053
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1054
- "type": "object",
1055
- "patternProperties": {
1056
- "^\\d+$": {
1057
- "type": "object",
1058
- "properties": {
1059
- "1": {
1060
- "type": "integer"
1061
- },
1062
- "2": {
1063
- "type": "integer"
1064
- },
1065
- "3": {
1066
- "type": "integer"
1067
- },
1068
- "4": {
1069
- "type": "integer"
1070
- },
1071
- "5": {
1072
- "type": "integer"
1073
- },
1074
- "6": {
1075
- "type": "integer"
1076
- },
1077
- "7": {
1078
- "type": "integer"
1079
- },
1080
- "8": {
1081
- "type": "integer"
1082
- },
1083
- "9": {
1084
- "type": "integer"
1085
- }
1086
- },
1087
- "additionalProperties": false
1088
- }
1089
- },
1090
- "additionalProperties": false
1093
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1091
1094
  },
1092
1095
  "optionalfeatureProgression": {
1093
1096
  "$ref": "../util.json#/$defs/optionalfeatureProgression"
@@ -1297,103 +1300,31 @@
1297
1300
  "additionalProperties": false
1298
1301
  },
1299
1302
  "casterProgression": {
1300
- "enum": [
1301
- "full",
1302
- "1/2",
1303
- "1/3",
1304
- "pact",
1305
- "artificer"
1306
- ]
1307
- },
1308
- "preparedSpells": {
1309
- "type": "string",
1310
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1311
- },
1312
- "preparedSpellsProgression": {
1313
- "type": "array",
1314
- "items": {
1315
- "type": "integer"
1316
- },
1317
- "minItems": 20,
1318
- "maxItems": 20
1303
+ "$ref": "#/$defs/casterProgression"
1319
1304
  },
1320
1305
  "spellcastingAbility": {
1321
- "enum": [
1322
- "str",
1323
- "dex",
1324
- "con",
1325
- "int",
1326
- "wis",
1327
- "cha"
1328
- ]
1306
+ "$ref": "#/$defs/spellcastingAbility"
1329
1307
  },
1330
1308
  "cantripProgression": {
1331
- "type": "array",
1332
- "items": {
1333
- "type": "integer"
1334
- },
1335
- "minItems": 20,
1336
- "maxItems": 20
1309
+ "$ref": "#/$defs/cantripProgression"
1310
+ },
1311
+ "preparedSpells": {
1312
+ "$ref": "#/$defs/preparedSpells"
1313
+ },
1314
+ "preparedSpellsProgression": {
1315
+ "$ref": "#/$defs/preparedSpellsProgression"
1337
1316
  },
1338
1317
  "spellsKnownProgression": {
1339
- "type": "array",
1340
- "items": {
1341
- "type": "integer"
1342
- },
1343
- "minItems": 20,
1344
- "maxItems": 20
1318
+ "$ref": "#/$defs/spellsKnownProgression"
1345
1319
  },
1346
1320
  "spellsKnownProgressionFixed": {
1347
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1348
- "type": "array",
1349
- "items": {
1350
- "type": "integer"
1351
- },
1352
- "minItems": 20,
1353
- "maxItems": 20
1321
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1354
1322
  },
1355
1323
  "spellsKnownProgressionFixedAllowLowerLevel": {
1356
- "type": "boolean"
1324
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1357
1325
  },
1358
1326
  "spellsKnownProgressionFixedByLevel": {
1359
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1360
- "type": "object",
1361
- "patternProperties": {
1362
- "^\\d+$": {
1363
- "type": "object",
1364
- "properties": {
1365
- "1": {
1366
- "type": "integer"
1367
- },
1368
- "2": {
1369
- "type": "integer"
1370
- },
1371
- "3": {
1372
- "type": "integer"
1373
- },
1374
- "4": {
1375
- "type": "integer"
1376
- },
1377
- "5": {
1378
- "type": "integer"
1379
- },
1380
- "6": {
1381
- "type": "integer"
1382
- },
1383
- "7": {
1384
- "type": "integer"
1385
- },
1386
- "8": {
1387
- "type": "integer"
1388
- },
1389
- "9": {
1390
- "type": "integer"
1391
- }
1392
- },
1393
- "additionalProperties": false
1394
- }
1395
- },
1396
- "additionalProperties": false
1327
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1397
1328
  },
1398
1329
  "optionalfeatureProgression": {
1399
1330
  "$ref": "../util.json#/$defs/optionalfeatureProgression"
@@ -1661,103 +1592,31 @@
1661
1592
  "additionalProperties": false
1662
1593
  },
1663
1594
  "casterProgression": {
1664
- "enum": [
1665
- "full",
1666
- "1/2",
1667
- "1/3",
1668
- "pact",
1669
- "artificer"
1670
- ]
1671
- },
1672
- "preparedSpells": {
1673
- "type": "string",
1674
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1675
- },
1676
- "preparedSpellsProgression": {
1677
- "type": "array",
1678
- "items": {
1679
- "type": "integer"
1680
- },
1681
- "minItems": 20,
1682
- "maxItems": 20
1595
+ "$ref": "#/$defs/casterProgression"
1683
1596
  },
1684
1597
  "spellcastingAbility": {
1685
- "enum": [
1686
- "str",
1687
- "dex",
1688
- "con",
1689
- "int",
1690
- "wis",
1691
- "cha"
1692
- ]
1598
+ "$ref": "#/$defs/spellcastingAbility"
1693
1599
  },
1694
1600
  "cantripProgression": {
1695
- "type": "array",
1696
- "items": {
1697
- "type": "integer"
1698
- },
1699
- "minItems": 20,
1700
- "maxItems": 20
1601
+ "$ref": "#/$defs/cantripProgression"
1602
+ },
1603
+ "preparedSpells": {
1604
+ "$ref": "#/$defs/preparedSpells"
1605
+ },
1606
+ "preparedSpellsProgression": {
1607
+ "$ref": "#/$defs/preparedSpellsProgression"
1701
1608
  },
1702
1609
  "spellsKnownProgression": {
1703
- "type": "array",
1704
- "items": {
1705
- "type": "integer"
1706
- },
1707
- "minItems": 20,
1708
- "maxItems": 20
1610
+ "$ref": "#/$defs/spellsKnownProgression"
1709
1611
  },
1710
1612
  "spellsKnownProgressionFixed": {
1711
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1712
- "type": "array",
1713
- "items": {
1714
- "type": "integer"
1715
- },
1716
- "minItems": 20,
1717
- "maxItems": 20
1613
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1718
1614
  },
1719
1615
  "spellsKnownProgressionFixedAllowLowerLevel": {
1720
- "type": "boolean"
1616
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1721
1617
  },
1722
1618
  "spellsKnownProgressionFixedByLevel": {
1723
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1724
- "type": "object",
1725
- "patternProperties": {
1726
- "^\\d+$": {
1727
- "type": "object",
1728
- "properties": {
1729
- "1": {
1730
- "type": "integer"
1731
- },
1732
- "2": {
1733
- "type": "integer"
1734
- },
1735
- "3": {
1736
- "type": "integer"
1737
- },
1738
- "4": {
1739
- "type": "integer"
1740
- },
1741
- "5": {
1742
- "type": "integer"
1743
- },
1744
- "6": {
1745
- "type": "integer"
1746
- },
1747
- "7": {
1748
- "type": "integer"
1749
- },
1750
- "8": {
1751
- "type": "integer"
1752
- },
1753
- "9": {
1754
- "type": "integer"
1755
- }
1756
- },
1757
- "additionalProperties": false
1758
- }
1759
- },
1760
- "additionalProperties": false
1619
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1761
1620
  },
1762
1621
  "optionalfeatureProgression": {
1763
1622
  "$ref": "../util.json#/$defs/optionalfeatureProgression"