5etools-utils 0.9.0 → 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.
Files changed (39) hide show
  1. package/lib/BrewTester.js +1 -1
  2. package/lib/TestJson.js +5 -3
  3. package/package.json +1 -1
  4. package/schema/brew/backgrounds.json +13 -13
  5. package/schema/brew/class/class.json +205 -346
  6. package/schema/brew/items-shared.json +1 -1
  7. package/schema/brew/races.json +1 -1
  8. package/schema/brew/spells/spells.json +61 -61
  9. package/schema/brew/util.json +47 -1
  10. package/schema/brew-fast/backgrounds.json +13 -13
  11. package/schema/brew-fast/class/class.json +205 -346
  12. package/schema/brew-fast/items-shared.json +1 -1
  13. package/schema/brew-fast/races.json +1 -1
  14. package/schema/brew-fast/spells/spells.json +61 -61
  15. package/schema/brew-fast/util.json +47 -1
  16. package/schema/site/backgrounds.json +1 -1
  17. package/schema/site/class/class.json +205 -346
  18. package/schema/site/items-shared.json +1 -1
  19. package/schema/site/races.json +1 -1
  20. package/schema/site/spells/spells.json +1 -1
  21. package/schema/site/util.json +47 -1
  22. package/schema/site-fast/backgrounds.json +1 -1
  23. package/schema/site-fast/class/class.json +205 -346
  24. package/schema/site-fast/items-shared.json +1 -1
  25. package/schema/site-fast/races.json +1 -1
  26. package/schema/site-fast/spells/spells.json +1 -1
  27. package/schema/site-fast/util.json +47 -1
  28. package/schema/ua/backgrounds.json +13 -1
  29. package/schema/ua/class/class.json +304 -346
  30. package/schema/ua/items-shared.json +2 -2
  31. package/schema/ua/races.json +19 -1
  32. package/schema/ua/spells/spells.json +62 -2
  33. package/schema/ua/util.json +48 -2
  34. package/schema/ua-fast/backgrounds.json +13 -1
  35. package/schema/ua-fast/class/class.json +304 -346
  36. package/schema/ua-fast/items-shared.json +2 -2
  37. package/schema/ua-fast/races.json +19 -1
  38. package/schema/ua-fast/spells/spells.json +62 -2
  39. package/schema/ua-fast/util.json +48 -2
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "2.11.4",
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": {
@@ -473,39 +564,34 @@
473
564
  "$ref": "../util.json#/$defs/page"
474
565
  },
475
566
  "casterProgression": {
476
- "enum": [
477
- "full",
478
- "1/2",
479
- "1/3",
480
- "pact",
481
- "artificer"
482
- ]
567
+ "$ref": "#/$defs/casterProgression"
483
568
  },
484
569
  "spellcastingAbility": {
485
- "enum": [
486
- "str",
487
- "dex",
488
- "con",
489
- "int",
490
- "wis",
491
- "cha"
492
- ]
570
+ "$ref": "#/$defs/spellcastingAbility"
493
571
  },
494
572
  "cantripProgression": {
495
- "type": "array",
496
- "items": {
497
- "type": "integer"
498
- },
499
- "minItems": 20,
500
- "maxItems": 20
573
+ "$ref": "#/$defs/cantripProgression"
574
+ },
575
+ "preparedSpells": {
576
+ "$ref": "#/$defs/preparedSpells"
577
+ },
578
+ "preparedSpellsProgression": {
579
+ "$ref": "#/$defs/preparedSpellsProgression"
501
580
  },
502
581
  "spellsKnownProgression": {
503
- "type": "array",
504
- "items": {
505
- "type": "integer"
506
- },
507
- "minItems": 20,
508
- "maxItems": 20
582
+ "$ref": "#/$defs/spellsKnownProgression"
583
+ },
584
+ "spellsKnownProgressionFixed": {
585
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
586
+ },
587
+ "spellsKnownProgressionFixedAllowLowerLevel": {
588
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
589
+ },
590
+ "spellsKnownProgressionFixedByLevel": {
591
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
592
+ },
593
+ "optionalfeatureProgression": {
594
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
509
595
  },
510
596
  "subclassFeatures": {
511
597
  "type": "array",
@@ -539,9 +625,6 @@
539
625
  ]
540
626
  }
541
627
  },
542
- "optionalfeatureProgression": {
543
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
544
- },
545
628
  "subclassTableGroups": {
546
629
  "type": "array",
547
630
  "items": {
@@ -653,39 +736,34 @@
653
736
  "$ref": "../util.json#/$defs/page"
654
737
  },
655
738
  "casterProgression": {
656
- "enum": [
657
- "full",
658
- "1/2",
659
- "1/3",
660
- "pact",
661
- "artificer"
662
- ]
739
+ "$ref": "#/$defs/casterProgression"
663
740
  },
664
741
  "spellcastingAbility": {
665
- "enum": [
666
- "str",
667
- "dex",
668
- "con",
669
- "int",
670
- "wis",
671
- "cha"
672
- ]
742
+ "$ref": "#/$defs/spellcastingAbility"
673
743
  },
674
744
  "cantripProgression": {
675
- "type": "array",
676
- "items": {
677
- "type": "integer"
678
- },
679
- "minItems": 20,
680
- "maxItems": 20
745
+ "$ref": "#/$defs/cantripProgression"
746
+ },
747
+ "preparedSpells": {
748
+ "$ref": "#/$defs/preparedSpells"
749
+ },
750
+ "preparedSpellsProgression": {
751
+ "$ref": "#/$defs/preparedSpellsProgression"
681
752
  },
682
753
  "spellsKnownProgression": {
683
- "type": "array",
684
- "items": {
685
- "type": "integer"
686
- },
687
- "minItems": 20,
688
- "maxItems": 20
754
+ "$ref": "#/$defs/spellsKnownProgression"
755
+ },
756
+ "spellsKnownProgressionFixed": {
757
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
758
+ },
759
+ "spellsKnownProgressionFixedAllowLowerLevel": {
760
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
761
+ },
762
+ "spellsKnownProgressionFixedByLevel": {
763
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
764
+ },
765
+ "optionalfeatureProgression": {
766
+ "$ref": "../util.json#/$defs/optionalfeatureProgression"
689
767
  },
690
768
  "subclassFeatures": {
691
769
  "type": "array",
@@ -719,9 +797,6 @@
719
797
  ]
720
798
  }
721
799
  },
722
- "optionalfeatureProgression": {
723
- "$ref": "../util.json#/$defs/optionalfeatureProgression"
724
- },
725
800
  "subclassTableGroups": {
726
801
  "type": "array",
727
802
  "items": {
@@ -919,103 +994,31 @@
919
994
  "additionalProperties": false
920
995
  },
921
996
  "casterProgression": {
922
- "enum": [
923
- "full",
924
- "1/2",
925
- "1/3",
926
- "pact",
927
- "artificer"
928
- ]
929
- },
930
- "preparedSpells": {
931
- "type": "string",
932
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
933
- },
934
- "preparedSpellsProgression": {
935
- "type": "array",
936
- "items": {
937
- "type": "integer"
938
- },
939
- "minItems": 20,
940
- "maxItems": 20
997
+ "$ref": "#/$defs/casterProgression"
941
998
  },
942
999
  "spellcastingAbility": {
943
- "enum": [
944
- "str",
945
- "dex",
946
- "con",
947
- "int",
948
- "wis",
949
- "cha"
950
- ]
1000
+ "$ref": "#/$defs/spellcastingAbility"
951
1001
  },
952
1002
  "cantripProgression": {
953
- "type": "array",
954
- "items": {
955
- "type": "integer"
956
- },
957
- "minItems": 20,
958
- "maxItems": 20
1003
+ "$ref": "#/$defs/cantripProgression"
1004
+ },
1005
+ "preparedSpells": {
1006
+ "$ref": "#/$defs/preparedSpells"
1007
+ },
1008
+ "preparedSpellsProgression": {
1009
+ "$ref": "#/$defs/preparedSpellsProgression"
959
1010
  },
960
1011
  "spellsKnownProgression": {
961
- "type": "array",
962
- "items": {
963
- "type": "integer"
964
- },
965
- "minItems": 20,
966
- "maxItems": 20
1012
+ "$ref": "#/$defs/spellsKnownProgression"
967
1013
  },
968
1014
  "spellsKnownProgressionFixed": {
969
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
970
- "type": "array",
971
- "items": {
972
- "type": "integer"
973
- },
974
- "minItems": 20,
975
- "maxItems": 20
1015
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
976
1016
  },
977
1017
  "spellsKnownProgressionFixedAllowLowerLevel": {
978
- "type": "boolean"
1018
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
979
1019
  },
980
1020
  "spellsKnownProgressionFixedByLevel": {
981
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
982
- "type": "object",
983
- "patternProperties": {
984
- "^\\d+$": {
985
- "type": "object",
986
- "properties": {
987
- "1": {
988
- "type": "integer"
989
- },
990
- "2": {
991
- "type": "integer"
992
- },
993
- "3": {
994
- "type": "integer"
995
- },
996
- "4": {
997
- "type": "integer"
998
- },
999
- "5": {
1000
- "type": "integer"
1001
- },
1002
- "6": {
1003
- "type": "integer"
1004
- },
1005
- "7": {
1006
- "type": "integer"
1007
- },
1008
- "8": {
1009
- "type": "integer"
1010
- },
1011
- "9": {
1012
- "type": "integer"
1013
- }
1014
- },
1015
- "additionalProperties": false
1016
- }
1017
- },
1018
- "additionalProperties": false
1021
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1019
1022
  },
1020
1023
  "optionalfeatureProgression": {
1021
1024
  "$ref": "../util.json#/$defs/optionalfeatureProgression"
@@ -1216,103 +1219,31 @@
1216
1219
  "additionalProperties": false
1217
1220
  },
1218
1221
  "casterProgression": {
1219
- "enum": [
1220
- "full",
1221
- "1/2",
1222
- "1/3",
1223
- "pact",
1224
- "artificer"
1225
- ]
1226
- },
1227
- "preparedSpells": {
1228
- "type": "string",
1229
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1230
- },
1231
- "preparedSpellsProgression": {
1232
- "type": "array",
1233
- "items": {
1234
- "type": "integer"
1235
- },
1236
- "minItems": 20,
1237
- "maxItems": 20
1222
+ "$ref": "#/$defs/casterProgression"
1238
1223
  },
1239
1224
  "spellcastingAbility": {
1240
- "enum": [
1241
- "str",
1242
- "dex",
1243
- "con",
1244
- "int",
1245
- "wis",
1246
- "cha"
1247
- ]
1225
+ "$ref": "#/$defs/spellcastingAbility"
1248
1226
  },
1249
1227
  "cantripProgression": {
1250
- "type": "array",
1251
- "items": {
1252
- "type": "integer"
1253
- },
1254
- "minItems": 20,
1255
- "maxItems": 20
1228
+ "$ref": "#/$defs/cantripProgression"
1229
+ },
1230
+ "preparedSpells": {
1231
+ "$ref": "#/$defs/preparedSpells"
1232
+ },
1233
+ "preparedSpellsProgression": {
1234
+ "$ref": "#/$defs/preparedSpellsProgression"
1256
1235
  },
1257
1236
  "spellsKnownProgression": {
1258
- "type": "array",
1259
- "items": {
1260
- "type": "integer"
1261
- },
1262
- "minItems": 20,
1263
- "maxItems": 20
1237
+ "$ref": "#/$defs/spellsKnownProgression"
1264
1238
  },
1265
1239
  "spellsKnownProgressionFixed": {
1266
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1267
- "type": "array",
1268
- "items": {
1269
- "type": "integer"
1270
- },
1271
- "minItems": 20,
1272
- "maxItems": 20
1240
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1273
1241
  },
1274
1242
  "spellsKnownProgressionFixedAllowLowerLevel": {
1275
- "type": "boolean"
1243
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1276
1244
  },
1277
1245
  "spellsKnownProgressionFixedByLevel": {
1278
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1279
- "type": "object",
1280
- "patternProperties": {
1281
- "^\\d+$": {
1282
- "type": "object",
1283
- "properties": {
1284
- "1": {
1285
- "type": "integer"
1286
- },
1287
- "2": {
1288
- "type": "integer"
1289
- },
1290
- "3": {
1291
- "type": "integer"
1292
- },
1293
- "4": {
1294
- "type": "integer"
1295
- },
1296
- "5": {
1297
- "type": "integer"
1298
- },
1299
- "6": {
1300
- "type": "integer"
1301
- },
1302
- "7": {
1303
- "type": "integer"
1304
- },
1305
- "8": {
1306
- "type": "integer"
1307
- },
1308
- "9": {
1309
- "type": "integer"
1310
- }
1311
- },
1312
- "additionalProperties": false
1313
- }
1314
- },
1315
- "additionalProperties": false
1246
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1316
1247
  },
1317
1248
  "optionalfeatureProgression": {
1318
1249
  "$ref": "../util.json#/$defs/optionalfeatureProgression"
@@ -1571,103 +1502,31 @@
1571
1502
  "additionalProperties": false
1572
1503
  },
1573
1504
  "casterProgression": {
1574
- "enum": [
1575
- "full",
1576
- "1/2",
1577
- "1/3",
1578
- "pact",
1579
- "artificer"
1580
- ]
1581
- },
1582
- "preparedSpells": {
1583
- "type": "string",
1584
- "description": "Formula for the number of spells the class can prepare, for example:\n\"<$level$> / 2 + <$int_mod$>\""
1585
- },
1586
- "preparedSpellsProgression": {
1587
- "type": "array",
1588
- "items": {
1589
- "type": "integer"
1590
- },
1591
- "minItems": 20,
1592
- "maxItems": 20
1505
+ "$ref": "#/$defs/casterProgression"
1593
1506
  },
1594
1507
  "spellcastingAbility": {
1595
- "enum": [
1596
- "str",
1597
- "dex",
1598
- "con",
1599
- "int",
1600
- "wis",
1601
- "cha"
1602
- ]
1508
+ "$ref": "#/$defs/spellcastingAbility"
1603
1509
  },
1604
1510
  "cantripProgression": {
1605
- "type": "array",
1606
- "items": {
1607
- "type": "integer"
1608
- },
1609
- "minItems": 20,
1610
- "maxItems": 20
1511
+ "$ref": "#/$defs/cantripProgression"
1512
+ },
1513
+ "preparedSpells": {
1514
+ "$ref": "#/$defs/preparedSpells"
1515
+ },
1516
+ "preparedSpellsProgression": {
1517
+ "$ref": "#/$defs/preparedSpellsProgression"
1611
1518
  },
1612
1519
  "spellsKnownProgression": {
1613
- "type": "array",
1614
- "items": {
1615
- "type": "integer"
1616
- },
1617
- "minItems": 20,
1618
- "maxItems": 20
1520
+ "$ref": "#/$defs/spellsKnownProgression"
1619
1521
  },
1620
1522
  "spellsKnownProgressionFixed": {
1621
- "description": "For e.g. Wizard, where the spells taken at each level must be <= the max spellcasting level, and cannot be swapped out afterward.",
1622
- "type": "array",
1623
- "items": {
1624
- "type": "integer"
1625
- },
1626
- "minItems": 20,
1627
- "maxItems": 20
1523
+ "$ref": "#/$defs/spellsKnownProgressionFixed"
1628
1524
  },
1629
1525
  "spellsKnownProgressionFixedAllowLowerLevel": {
1630
- "type": "boolean"
1526
+ "$ref": "#/$defs/spellsKnownProgressionFixedAllowLowerLevel"
1631
1527
  },
1632
1528
  "spellsKnownProgressionFixedByLevel": {
1633
- "description": "For e.g. Warlock Mystic Arcanum. A map of <class level> -> <spell level> -> <number of spells known>",
1634
- "type": "object",
1635
- "patternProperties": {
1636
- "^\\d+$": {
1637
- "type": "object",
1638
- "properties": {
1639
- "1": {
1640
- "type": "integer"
1641
- },
1642
- "2": {
1643
- "type": "integer"
1644
- },
1645
- "3": {
1646
- "type": "integer"
1647
- },
1648
- "4": {
1649
- "type": "integer"
1650
- },
1651
- "5": {
1652
- "type": "integer"
1653
- },
1654
- "6": {
1655
- "type": "integer"
1656
- },
1657
- "7": {
1658
- "type": "integer"
1659
- },
1660
- "8": {
1661
- "type": "integer"
1662
- },
1663
- "9": {
1664
- "type": "integer"
1665
- }
1666
- },
1667
- "additionalProperties": false
1668
- }
1669
- },
1670
- "additionalProperties": false
1529
+ "$ref": "#/$defs/spellsKnownProgressionFixedByLevel"
1671
1530
  },
1672
1531
  "optionalfeatureProgression": {
1673
1532
  "$ref": "../util.json#/$defs/optionalfeatureProgression"
@@ -3,7 +3,7 @@
3
3
  "$id": "items-shared.json",
4
4
  "title": "Shared Item Schema",
5
5
  "description": "Shared item definitions to be used in item schemas.",
6
- "version": "1.0.2",
6
+ "version": "1.0.3",
7
7
  "$defs": {
8
8
  "_itemModifySpeedEqual": {
9
9
  "type": "string",