5etools-utils 0.12.63 → 0.12.65

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 (97) hide show
  1. package/package.json +1 -1
  2. package/schema/brew/backgrounds.json +3 -3
  3. package/schema/brew/bestiary/bestiary.json +164 -13
  4. package/schema/brew/class/class.json +6 -6
  5. package/schema/brew/class/fluff-class.json +9 -0
  6. package/schema/brew/class/foundry.json +17 -1
  7. package/schema/brew/entry.json +53 -4
  8. package/schema/brew/feats.json +3 -3
  9. package/schema/brew/foundry-backgrounds.json +3 -0
  10. package/schema/brew/foundry-items.json +3 -0
  11. package/schema/brew/foundry-psionics.json +3 -0
  12. package/schema/brew/foundry-races.json +15 -0
  13. package/schema/brew/optionalfeatures.json +3 -3
  14. package/schema/brew/races.json +6 -6
  15. package/schema/brew/util-additionalspells.json +302 -0
  16. package/schema/brew/util-foundry.json +11 -2
  17. package/schema/brew/util.json +10 -295
  18. package/schema/brew-fast/backgrounds.json +3 -3
  19. package/schema/brew-fast/bestiary/bestiary.json +164 -13
  20. package/schema/brew-fast/class/class.json +6 -6
  21. package/schema/brew-fast/class/fluff-class.json +9 -0
  22. package/schema/brew-fast/class/foundry.json +17 -1
  23. package/schema/brew-fast/entry.json +53 -4
  24. package/schema/brew-fast/feats.json +3 -3
  25. package/schema/brew-fast/foundry-backgrounds.json +3 -0
  26. package/schema/brew-fast/foundry-items.json +3 -0
  27. package/schema/brew-fast/foundry-psionics.json +3 -0
  28. package/schema/brew-fast/foundry-races.json +15 -0
  29. package/schema/brew-fast/optionalfeatures.json +3 -3
  30. package/schema/brew-fast/races.json +6 -6
  31. package/schema/brew-fast/util-additionalspells.json +302 -0
  32. package/schema/brew-fast/util-foundry.json +11 -2
  33. package/schema/brew-fast/util.json +10 -295
  34. package/schema/site/backgrounds.json +3 -3
  35. package/schema/site/bestiary/bestiary.json +164 -13
  36. package/schema/site/class/class.json +6 -6
  37. package/schema/site/class/fluff-class.json +9 -0
  38. package/schema/site/class/foundry.json +17 -1
  39. package/schema/site/entry.json +53 -4
  40. package/schema/site/feats.json +3 -3
  41. package/schema/site/foundry-backgrounds.json +3 -0
  42. package/schema/site/foundry-items.json +3 -0
  43. package/schema/site/foundry-psionics.json +3 -0
  44. package/schema/site/foundry-races.json +15 -0
  45. package/schema/site/optionalfeatures.json +3 -3
  46. package/schema/site/races.json +6 -6
  47. package/schema/site/util-additionalspells.json +302 -0
  48. package/schema/site/util-foundry.json +11 -2
  49. package/schema/site/util.json +10 -295
  50. package/schema/site-fast/backgrounds.json +3 -3
  51. package/schema/site-fast/bestiary/bestiary.json +164 -13
  52. package/schema/site-fast/class/class.json +6 -6
  53. package/schema/site-fast/class/fluff-class.json +9 -0
  54. package/schema/site-fast/class/foundry.json +17 -1
  55. package/schema/site-fast/entry.json +53 -4
  56. package/schema/site-fast/feats.json +3 -3
  57. package/schema/site-fast/foundry-backgrounds.json +3 -0
  58. package/schema/site-fast/foundry-items.json +3 -0
  59. package/schema/site-fast/foundry-psionics.json +3 -0
  60. package/schema/site-fast/foundry-races.json +15 -0
  61. package/schema/site-fast/optionalfeatures.json +3 -3
  62. package/schema/site-fast/races.json +6 -6
  63. package/schema/site-fast/util-additionalspells.json +302 -0
  64. package/schema/site-fast/util-foundry.json +11 -2
  65. package/schema/site-fast/util.json +10 -295
  66. package/schema/ua/backgrounds.json +3 -3
  67. package/schema/ua/bestiary/bestiary.json +164 -13
  68. package/schema/ua/class/class.json +6 -6
  69. package/schema/ua/class/fluff-class.json +9 -0
  70. package/schema/ua/class/foundry.json +17 -1
  71. package/schema/ua/entry.json +53 -4
  72. package/schema/ua/feats.json +3 -3
  73. package/schema/ua/foundry-backgrounds.json +3 -0
  74. package/schema/ua/foundry-items.json +3 -0
  75. package/schema/ua/foundry-psionics.json +3 -0
  76. package/schema/ua/foundry-races.json +15 -0
  77. package/schema/ua/optionalfeatures.json +3 -3
  78. package/schema/ua/races.json +6 -6
  79. package/schema/ua/util-additionalspells.json +302 -0
  80. package/schema/ua/util-foundry.json +11 -2
  81. package/schema/ua/util.json +10 -295
  82. package/schema/ua-fast/backgrounds.json +3 -3
  83. package/schema/ua-fast/bestiary/bestiary.json +164 -13
  84. package/schema/ua-fast/class/class.json +6 -6
  85. package/schema/ua-fast/class/fluff-class.json +9 -0
  86. package/schema/ua-fast/class/foundry.json +17 -1
  87. package/schema/ua-fast/entry.json +53 -4
  88. package/schema/ua-fast/feats.json +3 -3
  89. package/schema/ua-fast/foundry-backgrounds.json +3 -0
  90. package/schema/ua-fast/foundry-items.json +3 -0
  91. package/schema/ua-fast/foundry-psionics.json +3 -0
  92. package/schema/ua-fast/foundry-races.json +15 -0
  93. package/schema/ua-fast/optionalfeatures.json +3 -3
  94. package/schema/ua-fast/races.json +6 -6
  95. package/schema/ua-fast/util-additionalspells.json +302 -0
  96. package/schema/ua-fast/util-foundry.json +11 -2
  97. package/schema/ua-fast/util.json +10 -295
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "foundry-class.json",
4
- "version": "1.4.5",
4
+ "version": "1.4.6",
5
5
  "type": "object",
6
6
  "properties": {
7
7
  "class": {
@@ -31,6 +31,9 @@
31
31
  "img": {
32
32
  "type": "string"
33
33
  },
34
+ "migrationVersion": {
35
+ "type": "integer"
36
+ },
34
37
  "_merge": {
35
38
  "type": "object",
36
39
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -109,6 +112,7 @@
109
112
  "type": "object",
110
113
  "required": [
111
114
  "name",
115
+ "shortName",
112
116
  "source",
113
117
  "className",
114
118
  "classSource"
@@ -136,6 +140,9 @@
136
140
  "img": {
137
141
  "type": "string"
138
142
  },
143
+ "migrationVersion": {
144
+ "type": "integer"
145
+ },
139
146
  "_merge": {
140
147
  "type": "object",
141
148
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -157,6 +164,9 @@
157
164
  }
158
165
  }
159
166
  },
167
+ "shortName": {
168
+ "type": "string"
169
+ },
160
170
  "className": {
161
171
  "type": "string"
162
172
  },
@@ -244,6 +254,9 @@
244
254
  "img": {
245
255
  "type": "string"
246
256
  },
257
+ "migrationVersion": {
258
+ "type": "integer"
259
+ },
247
260
  "_merge": {
248
261
  "type": "object",
249
262
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -354,6 +367,9 @@
354
367
  "img": {
355
368
  "type": "string"
356
369
  },
370
+ "migrationVersion": {
371
+ "type": "integer"
372
+ },
357
373
  "_merge": {
358
374
  "type": "object",
359
375
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -3,7 +3,7 @@
3
3
  "$id": "entry.json",
4
4
  "title": "Entry",
5
5
  "description": "A recursively renderable object.",
6
- "version": "1.9.3",
6
+ "version": "1.9.5",
7
7
  "$defs": {
8
8
  "_arrayOfSpell": {
9
9
  "type": "array",
@@ -39,7 +39,46 @@
39
39
  },
40
40
  "_entryDataData": {
41
41
  "description": "A generic object for storing special data for external use-cases. Keys prefixed with \"rd-\" should be added as \"data-\" HTML attributes when rendering to HTML.",
42
- "type": "object"
42
+ "type": "object",
43
+ "properties": {
44
+ "genTables": {
45
+ "type": "object",
46
+ "properties": {
47
+ "tableIgnore": {
48
+ "const": true
49
+ },
50
+ "tableChapterIgnore": {
51
+ "const": true
52
+ },
53
+ "tableInclude": {
54
+ "const": true
55
+ },
56
+ "tableNamePrefix": {
57
+ "type": "string"
58
+ },
59
+ "tableName": {
60
+ "type": "string"
61
+ },
62
+ "skipSectionPrefix": {
63
+ "const": true
64
+ },
65
+ "fauxGroupName": {
66
+ "type": "string"
67
+ },
68
+ "fauxGroupSource": {
69
+ "$ref": "util.json#/$defs/source"
70
+ },
71
+ "fauxGroupPage": {
72
+ "$ref": "util.json#/$defs/page"
73
+ },
74
+ "isFauxGroupAdditional": {
75
+ "const": true
76
+ }
77
+ },
78
+ "additionalProperties": false,
79
+ "minProperties": 1
80
+ }
81
+ }
43
82
  },
44
83
  "_entryTableColLabelItem": {
45
84
  "anyOf": [
@@ -3798,6 +3837,9 @@
3798
3837
  "rest": {
3799
3838
  "$ref": "#/$defs/entrySpellcasting_frequency"
3800
3839
  },
3840
+ "restLong": {
3841
+ "$ref": "#/$defs/entrySpellcasting_frequency"
3842
+ },
3801
3843
  "daily": {
3802
3844
  "$ref": "#/$defs/entrySpellcasting_frequency"
3803
3845
  },
@@ -3816,6 +3858,9 @@
3816
3858
  "recharge": {
3817
3859
  "$ref": "#/$defs/entrySpellcasting_recharge"
3818
3860
  },
3861
+ "legendary": {
3862
+ "$ref": "#/$defs/entrySpellcasting_frequency"
3863
+ },
3819
3864
  "spells": {
3820
3865
  "type": "object",
3821
3866
  "properties": {
@@ -3874,6 +3919,7 @@
3874
3919
  "constant",
3875
3920
  "will",
3876
3921
  "rest",
3922
+ "restLong",
3877
3923
  "daily",
3878
3924
  "weekly",
3879
3925
  "monthly",
@@ -3881,7 +3927,8 @@
3881
3927
  "ritual",
3882
3928
  "spells",
3883
3929
  "charges",
3884
- "recharge"
3930
+ "recharge",
3931
+ "legendary"
3885
3932
  ]
3886
3933
  }
3887
3934
  },
@@ -3901,7 +3948,9 @@
3901
3948
  "trait",
3902
3949
  "action",
3903
3950
  "bonus",
3904
- "reaction"
3951
+ "reaction",
3952
+ "legendary",
3953
+ "mythic"
3905
3954
  ]
3906
3955
  },
3907
3956
  "chargesItem": {
@@ -65,7 +65,7 @@
65
65
  "$ref": "util.json#/$defs/dataFeatCategory"
66
66
  },
67
67
  "additionalSpells": {
68
- "$ref": "util.json#/$defs/additionalSpellsArray"
68
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
69
69
  },
70
70
  "languageProficiencies": {
71
71
  "$ref": "util.json#/$defs/languageProficiencies"
@@ -220,7 +220,7 @@
220
220
  "$ref": "util.json#/$defs/dataFeatCategory"
221
221
  },
222
222
  "additionalSpells": {
223
- "$ref": "util.json#/$defs/additionalSpellsArray"
223
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
224
224
  },
225
225
  "languageProficiencies": {
226
226
  "$ref": "util.json#/$defs/languageProficiencies"
@@ -378,7 +378,7 @@
378
378
  "$ref": "util.json#/$defs/dataFeatCategory"
379
379
  },
380
380
  "additionalSpells": {
381
- "$ref": "util.json#/$defs/additionalSpellsArray"
381
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
382
382
  },
383
383
  "languageProficiencies": {
384
384
  "$ref": "util.json#/$defs/languageProficiencies"
@@ -39,6 +39,9 @@
39
39
  "img": {
40
40
  "type": "string"
41
41
  },
42
+ "migrationVersion": {
43
+ "type": "integer"
44
+ },
42
45
  "_merge": {
43
46
  "type": "object",
44
47
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -36,6 +36,9 @@
36
36
  "img": {
37
37
  "type": "string"
38
38
  },
39
+ "migrationVersion": {
40
+ "type": "integer"
41
+ },
39
42
  "_merge": {
40
43
  "type": "object",
41
44
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -42,6 +42,9 @@
42
42
  "img": {
43
43
  "type": "string"
44
44
  },
45
+ "migrationVersion": {
46
+ "type": "integer"
47
+ },
45
48
  "_merge": {
46
49
  "type": "object",
47
50
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -29,6 +29,9 @@
29
29
  "img": {
30
30
  "type": "string"
31
31
  },
32
+ "migrationVersion": {
33
+ "type": "integer"
34
+ },
32
35
  "_merge": {
33
36
  "type": "object",
34
37
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -89,6 +92,9 @@
89
92
  "img": {
90
93
  "type": "string"
91
94
  },
95
+ "migrationVersion": {
96
+ "type": "integer"
97
+ },
92
98
  "_merge": {
93
99
  "type": "object",
94
100
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -150,6 +156,9 @@
150
156
  "img": {
151
157
  "type": "string"
152
158
  },
159
+ "migrationVersion": {
160
+ "type": "integer"
161
+ },
153
162
  "_merge": {
154
163
  "type": "object",
155
164
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -212,6 +221,9 @@
212
221
  "img": {
213
222
  "type": "string"
214
223
  },
224
+ "migrationVersion": {
225
+ "type": "integer"
226
+ },
215
227
  "_merge": {
216
228
  "type": "object",
217
229
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -274,6 +286,9 @@
274
286
  "img": {
275
287
  "type": "string"
276
288
  },
289
+ "migrationVersion": {
290
+ "type": "integer"
291
+ },
277
292
  "_merge": {
278
293
  "type": "object",
279
294
  "description": "If our \"X\" (e.g. \"system\") should be merged with any base \"X\", rather than overwriting.",
@@ -68,7 +68,7 @@
68
68
  "type": "boolean"
69
69
  },
70
70
  "additionalSpells": {
71
- "$ref": "util.json#/$defs/additionalSpellsArray"
71
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
72
72
  },
73
73
  "languageProficiencies": {
74
74
  "$ref": "util.json#/$defs/languageProficiencies"
@@ -204,7 +204,7 @@
204
204
  "type": "boolean"
205
205
  },
206
206
  "additionalSpells": {
207
- "$ref": "util.json#/$defs/additionalSpellsArray"
207
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
208
208
  },
209
209
  "languageProficiencies": {
210
210
  "$ref": "util.json#/$defs/languageProficiencies"
@@ -344,7 +344,7 @@
344
344
  "type": "boolean"
345
345
  },
346
346
  "additionalSpells": {
347
- "$ref": "util.json#/$defs/additionalSpellsArray"
347
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
348
348
  },
349
349
  "languageProficiencies": {
350
350
  "$ref": "util.json#/$defs/languageProficiencies"
@@ -173,7 +173,7 @@
173
173
  "type": "null"
174
174
  },
175
175
  {
176
- "$ref": "util.json#/$defs/additionalSpellsArray"
176
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
177
177
  }
178
178
  ]
179
179
  },
@@ -449,7 +449,7 @@
449
449
  "type": "null"
450
450
  },
451
451
  {
452
- "$ref": "util.json#/$defs/additionalSpellsArray"
452
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
453
453
  }
454
454
  ]
455
455
  },
@@ -807,7 +807,7 @@
807
807
  "type": "null"
808
808
  },
809
809
  {
810
- "$ref": "util.json#/$defs/additionalSpellsArray"
810
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
811
811
  }
812
812
  ]
813
813
  },
@@ -1087,7 +1087,7 @@
1087
1087
  "type": "null"
1088
1088
  },
1089
1089
  {
1090
- "$ref": "util.json#/$defs/additionalSpellsArray"
1090
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
1091
1091
  }
1092
1092
  ]
1093
1093
  },
@@ -1373,7 +1373,7 @@
1373
1373
  "type": "null"
1374
1374
  },
1375
1375
  {
1376
- "$ref": "util.json#/$defs/additionalSpellsArray"
1376
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
1377
1377
  }
1378
1378
  ]
1379
1379
  },
@@ -1665,7 +1665,7 @@
1665
1665
  "type": "null"
1666
1666
  },
1667
1667
  {
1668
- "$ref": "util.json#/$defs/additionalSpellsArray"
1668
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
1669
1669
  }
1670
1670
  ]
1671
1671
  },
@@ -0,0 +1,302 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "util-additionalspells.json",
4
+ "version": "1.0.0",
5
+ "title": "Util: Additional Spells",
6
+ "$defs": {
7
+ "_additionalSpellObject": {
8
+ "type": "object",
9
+ "patternProperties": {
10
+ "^\\d+$": {
11
+ "description": "Spells keyed by character/class level.",
12
+ "oneOf": [
13
+ {
14
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
15
+ },
16
+ {
17
+ "$ref": "#/$defs/_additionalSpellLevelObject"
18
+ }
19
+ ]
20
+ },
21
+ "^s\\d+$": {
22
+ "description": "Spells keyed by spell level, access to which is gated behind the character advancing to a point where they could cast those spells with e.g. a Spellcasting class feature (Mark spells from ERLW races)",
23
+ "oneOf": [
24
+ {
25
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
26
+ },
27
+ {
28
+ "$ref": "#/$defs/_additionalSpellLevelObject"
29
+ }
30
+ ]
31
+ }
32
+ },
33
+ "properties": {
34
+ "_": {
35
+ "description": "Spells gained when gaining a particular feature, regardless of level or caster level",
36
+ "oneOf": [
37
+ {
38
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
39
+ },
40
+ {
41
+ "$ref": "#/$defs/_additionalSpellLevelObject"
42
+ }
43
+ ]
44
+ }
45
+ }
46
+ },
47
+ "_additionalSpellLevelObject": {
48
+ "type": "object",
49
+ "properties": {
50
+ "rest": {
51
+ "description": "Spells which recharge on short or long rest",
52
+ "$ref": "#/$defs/_additionalSpellRechargeObject"
53
+ },
54
+ "daily": {
55
+ "description": "Spells which recharge on long rest",
56
+ "$ref": "#/$defs/_additionalSpellRechargeObject"
57
+ },
58
+ "will": {
59
+ "description": "At-will spells",
60
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
61
+ },
62
+ "ritual": {
63
+ "description": "Ritual-only spells",
64
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
65
+ },
66
+ "resource": {
67
+ "description": "Spells which cost a specific resource to use (such as Ki), but otherwise have no restrictions",
68
+ "$ref": "#/$defs/_additionalSpellRechargeObject"
69
+ },
70
+ "_": {
71
+ "description": "Spells which do not fall into the above categories (i.e. have no specific recharge, and are simply known)",
72
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
73
+ }
74
+ },
75
+ "additionalProperties": false
76
+ },
77
+ "_additionalSpellRechargeObject": {
78
+ "type": "object",
79
+ "properties": {
80
+ "1": {
81
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
82
+ },
83
+ "2": {
84
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
85
+ },
86
+ "3": {
87
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
88
+ },
89
+ "4": {
90
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
91
+ },
92
+ "5": {
93
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
94
+ },
95
+ "6": {
96
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
97
+ },
98
+ "7": {
99
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
100
+ },
101
+ "8": {
102
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
103
+ },
104
+ "9": {
105
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
106
+ },
107
+ "9e": {
108
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
109
+ },
110
+ "8e": {
111
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
112
+ },
113
+ "7e": {
114
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
115
+ },
116
+ "6e": {
117
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
118
+ },
119
+ "5e": {
120
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
121
+ },
122
+ "4e": {
123
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
124
+ },
125
+ "3e": {
126
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
127
+ },
128
+ "2e": {
129
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
130
+ },
131
+ "1e": {
132
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
133
+ },
134
+ "pb": {
135
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
136
+ },
137
+ "pbe": {
138
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
139
+ },
140
+ "str": {
141
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
142
+ },
143
+ "dex": {
144
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
145
+ },
146
+ "con": {
147
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
148
+ },
149
+ "int": {
150
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
151
+ },
152
+ "wis": {
153
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
154
+ },
155
+ "cha": {
156
+ "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
157
+ }
158
+ },
159
+ "additionalProperties": false
160
+ },
161
+ "_additionalSpellArrayOfStringOrFilterObject": {
162
+ "type": "array",
163
+ "minItems": 1,
164
+ "items": {
165
+ "oneOf": [
166
+ {
167
+ "type": "string"
168
+ },
169
+ {
170
+ "type": "object",
171
+ "properties": {
172
+ "all": {
173
+ "type": "string",
174
+ "description": "A range of spells to be added, formatted similarly to the options in a {@filter ...} tag. \nFor example: \"level=0|class=Wizard\""
175
+ }
176
+ },
177
+ "required": [
178
+ "all"
179
+ ],
180
+ "additionalProperties": false
181
+ },
182
+ {
183
+ "type": "object",
184
+ "properties": {
185
+ "choose": {
186
+ "type": "string",
187
+ "description": "A range of spells to be chosen from, formatted similarly to the options in a {@filter ...} tag. \nFor example: \"level=0|class=Wizard\""
188
+ },
189
+ "count": {
190
+ "type": "integer"
191
+ }
192
+ },
193
+ "required": [
194
+ "choose"
195
+ ],
196
+ "additionalProperties": false
197
+ },
198
+ {
199
+ "type": "object",
200
+ "properties": {
201
+ "choose": {
202
+ "type": "object",
203
+ "properties": {
204
+ "from": {
205
+ "description": "An array of spell UIDs to be chosen from.",
206
+ "type": "array",
207
+ "items": {
208
+ "type": "string"
209
+ },
210
+ "minItems": 2,
211
+ "uniqueItems": true
212
+ },
213
+ "count": {
214
+ "type": "integer"
215
+ }
216
+ },
217
+ "required": [
218
+ "from"
219
+ ],
220
+ "additionalProperties": false
221
+ }
222
+ },
223
+ "required": [
224
+ "choose"
225
+ ],
226
+ "additionalProperties": false
227
+ }
228
+ ]
229
+ }
230
+ },
231
+ "additionalSpellsArray": {
232
+ "description": "A collection of additional spells which a feature grants.\nThis array enables import functionality for VTTs, and should be used in addition to \"classSpells\"/\"subclassSpells\"/\"subSubclassSpells\" blocks which enable references on the site.",
233
+ "type": "array",
234
+ "minItems": 1,
235
+ "items": {
236
+ "type": "object",
237
+ "properties": {
238
+ "name": {
239
+ "description": "Optional display name for the group",
240
+ "type": "string"
241
+ },
242
+ "ability": {
243
+ "description": "Optionally specify the ability score used for e.g. racial spellcasting",
244
+ "oneOf": [
245
+ {
246
+ "type": "object",
247
+ "properties": {
248
+ "choose": {
249
+ "type": "array",
250
+ "items": {
251
+ "$ref": "util.json#/$defs/abilityScoreAbbreviation"
252
+ },
253
+ "uniqueItems": true
254
+ }
255
+ },
256
+ "required": [
257
+ "choose"
258
+ ],
259
+ "additionalProperties": false
260
+ },
261
+ {
262
+ "description": "\"inherit\" is used for special cases, where the ability score matches a choice the player made when taking the feature",
263
+ "type": "string",
264
+ "enum": [
265
+ "str",
266
+ "dex",
267
+ "con",
268
+ "int",
269
+ "wis",
270
+ "cha",
271
+ "inherit"
272
+ ]
273
+ }
274
+ ]
275
+ },
276
+ "resourceName": {
277
+ "description": "Optional resource name for resource-cast spells in this group",
278
+ "type": "string"
279
+ },
280
+ "innate": {
281
+ "description": "Spells which can be innately cast, without expending normal spell resources",
282
+ "$ref": "#/$defs/_additionalSpellObject"
283
+ },
284
+ "known": {
285
+ "description": "Spells which are always known",
286
+ "$ref": "#/$defs/_additionalSpellObject"
287
+ },
288
+ "prepared": {
289
+ "description": "Spells which are always prepared",
290
+ "$ref": "#/$defs/_additionalSpellObject"
291
+ },
292
+ "expanded": {
293
+ "description": "Expansions to a class' default spell list, from which spells can be chosen (e.g. Warlock Patron spells)",
294
+ "$ref": "#/$defs/_additionalSpellObject"
295
+ }
296
+ },
297
+ "additionalProperties": false,
298
+ "minProperties": 1
299
+ }
300
+ }
301
+ }
302
+ }