5etools-utils 0.12.64 → 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 (67) 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/entry.json +53 -4
  7. package/schema/brew/feats.json +3 -3
  8. package/schema/brew/optionalfeatures.json +3 -3
  9. package/schema/brew/races.json +6 -6
  10. package/schema/brew/util-additionalspells.json +302 -0
  11. package/schema/brew/util-foundry.json +1 -1
  12. package/schema/brew/util.json +10 -295
  13. package/schema/brew-fast/backgrounds.json +3 -3
  14. package/schema/brew-fast/bestiary/bestiary.json +164 -13
  15. package/schema/brew-fast/class/class.json +6 -6
  16. package/schema/brew-fast/class/fluff-class.json +9 -0
  17. package/schema/brew-fast/entry.json +53 -4
  18. package/schema/brew-fast/feats.json +3 -3
  19. package/schema/brew-fast/optionalfeatures.json +3 -3
  20. package/schema/brew-fast/races.json +6 -6
  21. package/schema/brew-fast/util-additionalspells.json +302 -0
  22. package/schema/brew-fast/util-foundry.json +1 -1
  23. package/schema/brew-fast/util.json +10 -295
  24. package/schema/site/backgrounds.json +3 -3
  25. package/schema/site/bestiary/bestiary.json +164 -13
  26. package/schema/site/class/class.json +6 -6
  27. package/schema/site/class/fluff-class.json +9 -0
  28. package/schema/site/entry.json +53 -4
  29. package/schema/site/feats.json +3 -3
  30. package/schema/site/optionalfeatures.json +3 -3
  31. package/schema/site/races.json +6 -6
  32. package/schema/site/util-additionalspells.json +302 -0
  33. package/schema/site/util-foundry.json +1 -1
  34. package/schema/site/util.json +10 -295
  35. package/schema/site-fast/backgrounds.json +3 -3
  36. package/schema/site-fast/bestiary/bestiary.json +164 -13
  37. package/schema/site-fast/class/class.json +6 -6
  38. package/schema/site-fast/class/fluff-class.json +9 -0
  39. package/schema/site-fast/entry.json +53 -4
  40. package/schema/site-fast/feats.json +3 -3
  41. package/schema/site-fast/optionalfeatures.json +3 -3
  42. package/schema/site-fast/races.json +6 -6
  43. package/schema/site-fast/util-additionalspells.json +302 -0
  44. package/schema/site-fast/util-foundry.json +1 -1
  45. package/schema/site-fast/util.json +10 -295
  46. package/schema/ua/backgrounds.json +3 -3
  47. package/schema/ua/bestiary/bestiary.json +164 -13
  48. package/schema/ua/class/class.json +6 -6
  49. package/schema/ua/class/fluff-class.json +9 -0
  50. package/schema/ua/entry.json +53 -4
  51. package/schema/ua/feats.json +3 -3
  52. package/schema/ua/optionalfeatures.json +3 -3
  53. package/schema/ua/races.json +6 -6
  54. package/schema/ua/util-additionalspells.json +302 -0
  55. package/schema/ua/util-foundry.json +1 -1
  56. package/schema/ua/util.json +10 -295
  57. package/schema/ua-fast/backgrounds.json +3 -3
  58. package/schema/ua-fast/bestiary/bestiary.json +164 -13
  59. package/schema/ua-fast/class/class.json +6 -6
  60. package/schema/ua-fast/class/fluff-class.json +9 -0
  61. package/schema/ua-fast/entry.json +53 -4
  62. package/schema/ua-fast/feats.json +3 -3
  63. package/schema/ua-fast/optionalfeatures.json +3 -3
  64. package/schema/ua-fast/races.json +6 -6
  65. package/schema/ua-fast/util-additionalspells.json +302 -0
  66. package/schema/ua-fast/util-foundry.json +1 -1
  67. package/schema/ua-fast/util.json +10 -295
@@ -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
+ }
@@ -51,7 +51,7 @@
51
51
  "$ref": "util.json#/$defs/sensesArray"
52
52
  },
53
53
  "additionalSpells": {
54
- "$ref": "util.json#/$defs/additionalSpellsArray"
54
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
55
55
  }
56
56
  },
57
57
  "additionalProperties": false
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.17.19",
6
+ "version": "1.17.20",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -2898,6 +2898,9 @@
2898
2898
  "name": {
2899
2899
  "type": "string"
2900
2900
  },
2901
+ "preserveName": {
2902
+ "const": true
2903
+ },
2901
2904
  "source": {
2902
2905
  "$ref": "util.json#/$defs/source"
2903
2906
  },
@@ -2935,6 +2938,9 @@
2935
2938
  "name": {
2936
2939
  "type": "string"
2937
2940
  },
2941
+ "preserveName": {
2942
+ "const": true
2943
+ },
2938
2944
  "source": {
2939
2945
  "$ref": "util.json#/$defs/source"
2940
2946
  },
@@ -2971,6 +2977,9 @@
2971
2977
  "name": {
2972
2978
  "type": "string"
2973
2979
  },
2980
+ "preserveName": {
2981
+ "const": true
2982
+ },
2974
2983
  "source": {
2975
2984
  "$ref": "util.json#/$defs/source"
2976
2985
  },
@@ -3074,300 +3083,6 @@
3074
3083
  }
3075
3084
  }
3076
3085
  },
3077
- "_additionalSpellObject": {
3078
- "type": "object",
3079
- "patternProperties": {
3080
- "^\\d+$": {
3081
- "description": "Spells keyed by character/class level.",
3082
- "oneOf": [
3083
- {
3084
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3085
- },
3086
- {
3087
- "$ref": "#/$defs/_additionalSpellLevelObject"
3088
- }
3089
- ]
3090
- },
3091
- "^s\\d+$": {
3092
- "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)",
3093
- "oneOf": [
3094
- {
3095
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3096
- },
3097
- {
3098
- "$ref": "#/$defs/_additionalSpellLevelObject"
3099
- }
3100
- ]
3101
- }
3102
- },
3103
- "properties": {
3104
- "_": {
3105
- "description": "Spells gained when gaining a particular feature, regardless of level or caster level",
3106
- "oneOf": [
3107
- {
3108
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3109
- },
3110
- {
3111
- "$ref": "#/$defs/_additionalSpellLevelObject"
3112
- }
3113
- ]
3114
- }
3115
- }
3116
- },
3117
- "_additionalSpellLevelObject": {
3118
- "type": "object",
3119
- "properties": {
3120
- "rest": {
3121
- "description": "Spells which recharge on short or long rest",
3122
- "$ref": "#/$defs/_additionalSpellRechargeObject"
3123
- },
3124
- "daily": {
3125
- "description": "Spells which recharge on long rest",
3126
- "$ref": "#/$defs/_additionalSpellRechargeObject"
3127
- },
3128
- "will": {
3129
- "description": "At-will spells",
3130
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3131
- },
3132
- "ritual": {
3133
- "description": "Ritual-only spells",
3134
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3135
- },
3136
- "resource": {
3137
- "description": "Spells which cost a specific resource to use (such as Ki), but otherwise have no restrictions",
3138
- "$ref": "#/$defs/_additionalSpellRechargeObject"
3139
- },
3140
- "_": {
3141
- "description": "Spells which do not fall into the above categories (i.e. have no specific recharge, and are simply known)",
3142
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3143
- }
3144
- },
3145
- "additionalProperties": false
3146
- },
3147
- "_additionalSpellRechargeObject": {
3148
- "type": "object",
3149
- "properties": {
3150
- "1": {
3151
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3152
- },
3153
- "2": {
3154
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3155
- },
3156
- "3": {
3157
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3158
- },
3159
- "4": {
3160
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3161
- },
3162
- "5": {
3163
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3164
- },
3165
- "6": {
3166
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3167
- },
3168
- "7": {
3169
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3170
- },
3171
- "8": {
3172
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3173
- },
3174
- "9": {
3175
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3176
- },
3177
- "9e": {
3178
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3179
- },
3180
- "8e": {
3181
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3182
- },
3183
- "7e": {
3184
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3185
- },
3186
- "6e": {
3187
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3188
- },
3189
- "5e": {
3190
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3191
- },
3192
- "4e": {
3193
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3194
- },
3195
- "3e": {
3196
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3197
- },
3198
- "2e": {
3199
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3200
- },
3201
- "1e": {
3202
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3203
- },
3204
- "pb": {
3205
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3206
- },
3207
- "pbe": {
3208
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3209
- },
3210
- "str": {
3211
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3212
- },
3213
- "dex": {
3214
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3215
- },
3216
- "con": {
3217
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3218
- },
3219
- "int": {
3220
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3221
- },
3222
- "wis": {
3223
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3224
- },
3225
- "cha": {
3226
- "$ref": "#/$defs/_additionalSpellArrayOfStringOrFilterObject"
3227
- }
3228
- },
3229
- "additionalProperties": false
3230
- },
3231
- "_additionalSpellArrayOfStringOrFilterObject": {
3232
- "type": "array",
3233
- "minItems": 1,
3234
- "items": {
3235
- "oneOf": [
3236
- {
3237
- "type": "string"
3238
- },
3239
- {
3240
- "type": "object",
3241
- "properties": {
3242
- "all": {
3243
- "type": "string",
3244
- "description": "A range of spells to be added, formatted similarly to the options in a {@filter ...} tag. \nFor example: \"level=0|class=Wizard\""
3245
- }
3246
- },
3247
- "required": [
3248
- "all"
3249
- ],
3250
- "additionalProperties": false
3251
- },
3252
- {
3253
- "type": "object",
3254
- "properties": {
3255
- "choose": {
3256
- "type": "string",
3257
- "description": "A range of spells to be chosen from, formatted similarly to the options in a {@filter ...} tag. \nFor example: \"level=0|class=Wizard\""
3258
- },
3259
- "count": {
3260
- "type": "integer"
3261
- }
3262
- },
3263
- "required": [
3264
- "choose"
3265
- ],
3266
- "additionalProperties": false
3267
- },
3268
- {
3269
- "type": "object",
3270
- "properties": {
3271
- "choose": {
3272
- "type": "object",
3273
- "properties": {
3274
- "from": {
3275
- "description": "An array of spell UIDs to be chosen from.",
3276
- "type": "array",
3277
- "items": {
3278
- "type": "string"
3279
- },
3280
- "minItems": 2,
3281
- "uniqueItems": true
3282
- },
3283
- "count": {
3284
- "type": "integer"
3285
- }
3286
- },
3287
- "required": [
3288
- "from"
3289
- ],
3290
- "additionalProperties": false
3291
- }
3292
- },
3293
- "required": [
3294
- "choose"
3295
- ],
3296
- "additionalProperties": false
3297
- }
3298
- ]
3299
- }
3300
- },
3301
- "additionalSpellsArray": {
3302
- "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.",
3303
- "type": "array",
3304
- "minItems": 1,
3305
- "items": {
3306
- "type": "object",
3307
- "properties": {
3308
- "name": {
3309
- "description": "Optional display name for the group",
3310
- "type": "string"
3311
- },
3312
- "ability": {
3313
- "description": "Optionally specify the ability score used for e.g. racial spellcasting",
3314
- "oneOf": [
3315
- {
3316
- "type": "object",
3317
- "properties": {
3318
- "choose": {
3319
- "type": "array",
3320
- "items": {
3321
- "$ref": "#/$defs/abilityScoreAbbreviation"
3322
- },
3323
- "uniqueItems": true
3324
- }
3325
- },
3326
- "required": [
3327
- "choose"
3328
- ],
3329
- "additionalProperties": false
3330
- },
3331
- {
3332
- "description": "\"inherit\" is used for special cases, where the ability score matches a choice the player made when taking the feature",
3333
- "type": "string",
3334
- "enum": [
3335
- "str",
3336
- "dex",
3337
- "con",
3338
- "int",
3339
- "wis",
3340
- "cha",
3341
- "inherit"
3342
- ]
3343
- }
3344
- ]
3345
- },
3346
- "resourceName": {
3347
- "description": "Optional resource name for resource-cast spells in this group",
3348
- "type": "string"
3349
- },
3350
- "innate": {
3351
- "description": "Spells which can be innately cast, without expending normal spell resources",
3352
- "$ref": "#/$defs/_additionalSpellObject"
3353
- },
3354
- "known": {
3355
- "description": "Spells which are always known",
3356
- "$ref": "#/$defs/_additionalSpellObject"
3357
- },
3358
- "prepared": {
3359
- "description": "Spells which are always prepared",
3360
- "$ref": "#/$defs/_additionalSpellObject"
3361
- },
3362
- "expanded": {
3363
- "description": "Expansions to a class' default spell list, from which spells can be chosen (e.g. Warlock Patron spells)",
3364
- "$ref": "#/$defs/_additionalSpellObject"
3365
- }
3366
- },
3367
- "additionalProperties": false,
3368
- "minProperties": 1
3369
- }
3370
- },
3371
3086
  "_startingEquipment_equipmentType": {
3372
3087
  "type": "string",
3373
3088
  "enum": [