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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.9.1",
3
+ "version": "0.9.2",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -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": {
@@ -438,39 +537,34 @@
438
537
  "$ref": "../util.json#/$defs/page"
439
538
  },
440
539
  "casterProgression": {
441
- "enum": [
442
- "full",
443
- "1/2",
444
- "1/3",
445
- "pact",
446
- "artificer"
447
- ]
540
+ "$ref": "#/$defs/casterProgression"
448
541
  },
449
542
  "spellcastingAbility": {
450
- "enum": [
451
- "str",
452
- "dex",
453
- "con",
454
- "int",
455
- "wis",
456
- "cha"
457
- ]
543
+ "$ref": "#/$defs/spellcastingAbility"
458
544
  },
459
545
  "cantripProgression": {
460
- "type": "array",
461
- "items": {
462
- "type": "integer"
463
- },
464
- "minItems": 20,
465
- "maxItems": 20
546
+ "$ref": "#/$defs/cantripProgression"
547
+ },
548
+ "preparedSpells": {
549
+ "$ref": "#/$defs/preparedSpells"
550
+ },
551
+ "preparedSpellsProgression": {
552
+ "$ref": "#/$defs/preparedSpellsProgression"
466
553
  },
467
554
  "spellsKnownProgression": {
468
- "type": "array",
469
- "items": {
470
- "type": "integer"
471
- },
472
- "minItems": 20,
473
- "maxItems": 20
555
+ "$ref": "#/$defs/spellsKnownProgression"
556
+ },
557
+ "spellsKnownProgressionFixed": {
558
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
559
+ },
560
+ "spellsKnownProgressionFixedAllowLowerLevel": {
561
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
562
+ },
563
+ "spellsKnownProgressionFixedByLevel": {
564
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
565
+ },
566
+ "optionalfeatureProgression": {
567
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
474
568
  },
475
569
  "subclassFeatures": {
476
570
  "type": "array",
@@ -504,9 +598,6 @@
504
598
  ]
505
599
  }
506
600
  },
507
- "optionalfeatureProgression": {
508
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
509
- },
510
601
  "subclassTableGroups": {
511
602
  "type": "array",
512
603
  "items": {
@@ -599,39 +690,34 @@
599
690
  "$ref": "../util.json#/$defs/page"
600
691
  },
601
692
  "casterProgression": {
602
- "enum": [
603
- "full",
604
- "1/2",
605
- "1/3",
606
- "pact",
607
- "artificer"
608
- ]
693
+ "$ref": "#/$defs/casterProgression"
609
694
  },
610
695
  "spellcastingAbility": {
611
- "enum": [
612
- "str",
613
- "dex",
614
- "con",
615
- "int",
616
- "wis",
617
- "cha"
618
- ]
696
+ "$ref": "#/$defs/spellcastingAbility"
619
697
  },
620
698
  "cantripProgression": {
621
- "type": "array",
622
- "items": {
623
- "type": "integer"
624
- },
625
- "minItems": 20,
626
- "maxItems": 20
699
+ "$ref": "#/$defs/cantripProgression"
700
+ },
701
+ "preparedSpells": {
702
+ "$ref": "#/$defs/preparedSpells"
703
+ },
704
+ "preparedSpellsProgression": {
705
+ "$ref": "#/$defs/preparedSpellsProgression"
627
706
  },
628
707
  "spellsKnownProgression": {
629
- "type": "array",
630
- "items": {
631
- "type": "integer"
632
- },
633
- "minItems": 20,
634
- "maxItems": 20
708
+ "$ref": "#/$defs/spellsKnownProgression"
709
+ },
710
+ "spellsKnownProgressionFixed": {
711
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
712
+ },
713
+ "spellsKnownProgressionFixedAllowLowerLevel": {
714
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
715
+ },
716
+ "spellsKnownProgressionFixedByLevel": {
717
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
718
+ },
719
+ "optionalfeatureProgression": {
720
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
635
721
  },
636
722
  "subclassFeatures": {
637
723
  "type": "array",
@@ -665,9 +751,6 @@
665
751
  ]
666
752
  }
667
753
  },
668
- "optionalfeatureProgression": {
669
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
670
- },
671
754
  "subclassTableGroups": {
672
755
  "type": "array",
673
756
  "items": {
@@ -815,39 +898,34 @@
815
898
  "$ref": "../util.json#/$defs/page"
816
899
  },
817
900
  "casterProgression": {
818
- "enum": [
819
- "full",
820
- "1/2",
821
- "1/3",
822
- "pact",
823
- "artificer"
824
- ]
901
+ "$ref": "#/$defs/casterProgression"
825
902
  },
826
903
  "spellcastingAbility": {
827
- "enum": [
828
- "str",
829
- "dex",
830
- "con",
831
- "int",
832
- "wis",
833
- "cha"
834
- ]
904
+ "$ref": "#/$defs/spellcastingAbility"
835
905
  },
836
906
  "cantripProgression": {
837
- "type": "array",
838
- "items": {
839
- "type": "integer"
840
- },
841
- "minItems": 20,
842
- "maxItems": 20
907
+ "$ref": "#/$defs/cantripProgression"
908
+ },
909
+ "preparedSpells": {
910
+ "$ref": "#/$defs/preparedSpells"
911
+ },
912
+ "preparedSpellsProgression": {
913
+ "$ref": "#/$defs/preparedSpellsProgression"
843
914
  },
844
915
  "spellsKnownProgression": {
845
- "type": "array",
846
- "items": {
847
- "type": "integer"
848
- },
849
- "minItems": 20,
850
- "maxItems": 20
916
+ "$ref": "#/$defs/spellsKnownProgression"
917
+ },
918
+ "spellsKnownProgressionFixed": {
919
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
920
+ },
921
+ "spellsKnownProgressionFixedAllowLowerLevel": {
922
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
923
+ },
924
+ "spellsKnownProgressionFixedByLevel": {
925
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
926
+ },
927
+ "optionalfeatureProgression": {
928
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
851
929
  },
852
930
  "subclassFeatures": {
853
931
  "type": "array",
@@ -881,9 +959,6 @@
881
959
  ]
882
960
  }
883
961
  },
884
- "optionalfeatureProgression": {
885
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
886
- },
887
962
  "subclassTableGroups": {
888
963
  "type": "array",
889
964
  "items": {
@@ -1121,103 +1196,31 @@
1121
1196
  "additionalProperties": false
1122
1197
  },
1123
1198
  "casterProgression": {
1124
- "enum": [
1125
- "full",
1126
- "1/2",
1127
- "1/3",
1128
- "pact",
1129
- "artificer"
1130
- ]
1131
- },
1132
- "preparedSpells": {
1133
- "type": "string",
1134
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1135
- },
1136
- "preparedSpellsProgression": {
1137
- "type": "array",
1138
- "items": {
1139
- "type": "integer"
1140
- },
1141
- "minItems": 20,
1142
- "maxItems": 20
1199
+ "$ref": "#/$defs/casterProgression"
1143
1200
  },
1144
1201
  "spellcastingAbility": {
1145
- "enum": [
1146
- "str",
1147
- "dex",
1148
- "con",
1149
- "int",
1150
- "wis",
1151
- "cha"
1152
- ]
1202
+ "$ref": "#/$defs/spellcastingAbility"
1153
1203
  },
1154
1204
  "cantripProgression": {
1155
- "type": "array",
1156
- "items": {
1157
- "type": "integer"
1158
- },
1159
- "minItems": 20,
1160
- "maxItems": 20
1205
+ "$ref": "#/$defs/cantripProgression"
1206
+ },
1207
+ "preparedSpells": {
1208
+ "$ref": "#/$defs/preparedSpells"
1209
+ },
1210
+ "preparedSpellsProgression": {
1211
+ "$ref": "#/$defs/preparedSpellsProgression"
1161
1212
  },
1162
1213
  "spellsKnownProgression": {
1163
- "type": "array",
1164
- "items": {
1165
- "type": "integer"
1166
- },
1167
- "minItems": 20,
1168
- "maxItems": 20
1214
+ "$ref": "#/$defs/spellsKnownProgression"
1169
1215
  },
1170
1216
  "spellsKnownProgressionFixed": {
1171
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1172
- "type": "array",
1173
- "items": {
1174
- "type": "integer"
1175
- },
1176
- "minItems": 20,
1177
- "maxItems": 20
1217
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1178
1218
  },
1179
1219
  "spellsKnownProgressionFixedAllowLowerLevel": {
1180
- "type": "boolean"
1220
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1181
1221
  },
1182
1222
  "spellsKnownProgressionFixedByLevel": {
1183
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1184
- "type": "object",
1185
- "patternProperties": {
1186
- "^\\d+$": {
1187
- "type": "object",
1188
- "properties": {
1189
- "1": {
1190
- "type": "integer"
1191
- },
1192
- "2": {
1193
- "type": "integer"
1194
- },
1195
- "3": {
1196
- "type": "integer"
1197
- },
1198
- "4": {
1199
- "type": "integer"
1200
- },
1201
- "5": {
1202
- "type": "integer"
1203
- },
1204
- "6": {
1205
- "type": "integer"
1206
- },
1207
- "7": {
1208
- "type": "integer"
1209
- },
1210
- "8": {
1211
- "type": "integer"
1212
- },
1213
- "9": {
1214
- "type": "integer"
1215
- }
1216
- },
1217
- "additionalProperties": false
1218
- }
1219
- },
1220
- "additionalProperties": false
1223
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1221
1224
  },
1222
1225
  "optionalfeatureProgression": {
1223
1226
  "$ref": "../util.json#/$defs/optionalfeatureProgression"
@@ -1447,103 +1450,31 @@
1447
1450
  "additionalProperties": false
1448
1451
  },
1449
1452
  "casterProgression": {
1450
- "enum": [
1451
- "full",
1452
- "1/2",
1453
- "1/3",
1454
- "pact",
1455
- "artificer"
1456
- ]
1457
- },
1458
- "preparedSpells": {
1459
- "type": "string",
1460
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1461
- },
1462
- "preparedSpellsProgression": {
1463
- "type": "array",
1464
- "items": {
1465
- "type": "integer"
1466
- },
1467
- "minItems": 20,
1468
- "maxItems": 20
1453
+ "$ref": "#/$defs/casterProgression"
1469
1454
  },
1470
1455
  "spellcastingAbility": {
1471
- "enum": [
1472
- "str",
1473
- "dex",
1474
- "con",
1475
- "int",
1476
- "wis",
1477
- "cha"
1478
- ]
1456
+ "$ref": "#/$defs/spellcastingAbility"
1479
1457
  },
1480
1458
  "cantripProgression": {
1481
- "type": "array",
1482
- "items": {
1483
- "type": "integer"
1484
- },
1485
- "minItems": 20,
1486
- "maxItems": 20
1459
+ "$ref": "#/$defs/cantripProgression"
1460
+ },
1461
+ "preparedSpells": {
1462
+ "$ref": "#/$defs/preparedSpells"
1463
+ },
1464
+ "preparedSpellsProgression": {
1465
+ "$ref": "#/$defs/preparedSpellsProgression"
1487
1466
  },
1488
1467
  "spellsKnownProgression": {
1489
- "type": "array",
1490
- "items": {
1491
- "type": "integer"
1492
- },
1493
- "minItems": 20,
1494
- "maxItems": 20
1468
+ "$ref": "#/$defs/spellsKnownProgression"
1495
1469
  },
1496
1470
  "spellsKnownProgressionFixed": {
1497
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1498
- "type": "array",
1499
- "items": {
1500
- "type": "integer"
1501
- },
1502
- "minItems": 20,
1503
- "maxItems": 20
1471
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1504
1472
  },
1505
1473
  "spellsKnownProgressionFixedAllowLowerLevel": {
1506
- "type": "boolean"
1474
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1507
1475
  },
1508
1476
  "spellsKnownProgressionFixedByLevel": {
1509
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1510
- "type": "object",
1511
- "patternProperties": {
1512
- "^\\d+$": {
1513
- "type": "object",
1514
- "properties": {
1515
- "1": {
1516
- "type": "integer"
1517
- },
1518
- "2": {
1519
- "type": "integer"
1520
- },
1521
- "3": {
1522
- "type": "integer"
1523
- },
1524
- "4": {
1525
- "type": "integer"
1526
- },
1527
- "5": {
1528
- "type": "integer"
1529
- },
1530
- "6": {
1531
- "type": "integer"
1532
- },
1533
- "7": {
1534
- "type": "integer"
1535
- },
1536
- "8": {
1537
- "type": "integer"
1538
- },
1539
- "9": {
1540
- "type": "integer"
1541
- }
1542
- },
1543
- "additionalProperties": false
1544
- }
1545
- },
1546
- "additionalProperties": false
1477
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1547
1478
  },
1548
1479
  "optionalfeatureProgression": {
1549
1480
  "$ref": "../util.json#/$defs/optionalfeatureProgression"
@@ -1831,103 +1762,31 @@
1831
1762
  "additionalProperties": false
1832
1763
  },
1833
1764
  "casterProgression": {
1834
- "enum": [
1835
- "full",
1836
- "1/2",
1837
- "1/3",
1838
- "pact",
1839
- "artificer"
1840
- ]
1841
- },
1842
- "preparedSpells": {
1843
- "type": "string",
1844
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1845
- },
1846
- "preparedSpellsProgression": {
1847
- "type": "array",
1848
- "items": {
1849
- "type": "integer"
1850
- },
1851
- "minItems": 20,
1852
- "maxItems": 20
1765
+ "$ref": "#/$defs/casterProgression"
1853
1766
  },
1854
1767
  "spellcastingAbility": {
1855
- "enum": [
1856
- "str",
1857
- "dex",
1858
- "con",
1859
- "int",
1860
- "wis",
1861
- "cha"
1862
- ]
1768
+ "$ref": "#/$defs/spellcastingAbility"
1863
1769
  },
1864
1770
  "cantripProgression": {
1865
- "type": "array",
1866
- "items": {
1867
- "type": "integer"
1868
- },
1869
- "minItems": 20,
1870
- "maxItems": 20
1771
+ "$ref": "#/$defs/cantripProgression"
1772
+ },
1773
+ "preparedSpells": {
1774
+ "$ref": "#/$defs/preparedSpells"
1775
+ },
1776
+ "preparedSpellsProgression": {
1777
+ "$ref": "#/$defs/preparedSpellsProgression"
1871
1778
  },
1872
1779
  "spellsKnownProgression": {
1873
- "type": "array",
1874
- "items": {
1875
- "type": "integer"
1876
- },
1877
- "minItems": 20,
1878
- "maxItems": 20
1780
+ "$ref": "#/$defs/spellsKnownProgression"
1879
1781
  },
1880
1782
  "spellsKnownProgressionFixed": {
1881
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1882
- "type": "array",
1883
- "items": {
1884
- "type": "integer"
1885
- },
1886
- "minItems": 20,
1887
- "maxItems": 20
1783
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1888
1784
  },
1889
1785
  "spellsKnownProgressionFixedAllowLowerLevel": {
1890
- "type": "boolean"
1786
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1891
1787
  },
1892
1788
  "spellsKnownProgressionFixedByLevel": {
1893
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1894
- "type": "object",
1895
- "patternProperties": {
1896
- "^\\d+$": {
1897
- "type": "object",
1898
- "properties": {
1899
- "1": {
1900
- "type": "integer"
1901
- },
1902
- "2": {
1903
- "type": "integer"
1904
- },
1905
- "3": {
1906
- "type": "integer"
1907
- },
1908
- "4": {
1909
- "type": "integer"
1910
- },
1911
- "5": {
1912
- "type": "integer"
1913
- },
1914
- "6": {
1915
- "type": "integer"
1916
- },
1917
- "7": {
1918
- "type": "integer"
1919
- },
1920
- "8": {
1921
- "type": "integer"
1922
- },
1923
- "9": {
1924
- "type": "integer"
1925
- }
1926
- },
1927
- "additionalProperties": false
1928
- }
1929
- },
1930
- "additionalProperties": false
1789
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1931
1790
  },
1932
1791
  "optionalfeatureProgression": {
1933
1792
  "$ref": "../util.json#/$defs/optionalfeatureProgression"