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": [
@@ -3748,6 +3787,9 @@
3748
3787
  "rest": {
3749
3788
  "$ref": "#/$defs/entrySpellcasting_frequency"
3750
3789
  },
3790
+ "restLong": {
3791
+ "$ref": "#/$defs/entrySpellcasting_frequency"
3792
+ },
3751
3793
  "daily": {
3752
3794
  "$ref": "#/$defs/entrySpellcasting_frequency"
3753
3795
  },
@@ -3766,6 +3808,9 @@
3766
3808
  "recharge": {
3767
3809
  "$ref": "#/$defs/entrySpellcasting_recharge"
3768
3810
  },
3811
+ "legendary": {
3812
+ "$ref": "#/$defs/entrySpellcasting_frequency"
3813
+ },
3769
3814
  "spells": {
3770
3815
  "type": "object",
3771
3816
  "properties": {
@@ -3824,6 +3869,7 @@
3824
3869
  "constant",
3825
3870
  "will",
3826
3871
  "rest",
3872
+ "restLong",
3827
3873
  "daily",
3828
3874
  "weekly",
3829
3875
  "monthly",
@@ -3831,7 +3877,8 @@
3831
3877
  "ritual",
3832
3878
  "spells",
3833
3879
  "charges",
3834
- "recharge"
3880
+ "recharge",
3881
+ "legendary"
3835
3882
  ]
3836
3883
  }
3837
3884
  },
@@ -3851,7 +3898,9 @@
3851
3898
  "trait",
3852
3899
  "action",
3853
3900
  "bonus",
3854
- "reaction"
3901
+ "reaction",
3902
+ "legendary",
3903
+ "mythic"
3855
3904
  ]
3856
3905
  },
3857
3906
  "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"
@@ -204,7 +204,7 @@
204
204
  "$ref": "util.json#/$defs/dataFeatCategory"
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"
@@ -346,7 +346,7 @@
346
346
  "$ref": "util.json#/$defs/dataFeatCategory"
347
347
  },
348
348
  "additionalSpells": {
349
- "$ref": "util.json#/$defs/additionalSpellsArray"
349
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
350
350
  },
351
351
  "languageProficiencies": {
352
352
  "$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"
@@ -189,7 +189,7 @@
189
189
  "type": "boolean"
190
190
  },
191
191
  "additionalSpells": {
192
- "$ref": "util.json#/$defs/additionalSpellsArray"
192
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
193
193
  },
194
194
  "languageProficiencies": {
195
195
  "$ref": "util.json#/$defs/languageProficiencies"
@@ -314,7 +314,7 @@
314
314
  "type": "boolean"
315
315
  },
316
316
  "additionalSpells": {
317
- "$ref": "util.json#/$defs/additionalSpellsArray"
317
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
318
318
  },
319
319
  "languageProficiencies": {
320
320
  "$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
  },
@@ -437,7 +437,7 @@
437
437
  "type": "null"
438
438
  },
439
439
  {
440
- "$ref": "util.json#/$defs/additionalSpellsArray"
440
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
441
441
  }
442
442
  ]
443
443
  },
@@ -783,7 +783,7 @@
783
783
  "type": "null"
784
784
  },
785
785
  {
786
- "$ref": "util.json#/$defs/additionalSpellsArray"
786
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
787
787
  }
788
788
  ]
789
789
  },
@@ -1051,7 +1051,7 @@
1051
1051
  "type": "null"
1052
1052
  },
1053
1053
  {
1054
- "$ref": "util.json#/$defs/additionalSpellsArray"
1054
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
1055
1055
  }
1056
1056
  ]
1057
1057
  },
@@ -1325,7 +1325,7 @@
1325
1325
  "type": "null"
1326
1326
  },
1327
1327
  {
1328
- "$ref": "util.json#/$defs/additionalSpellsArray"
1328
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
1329
1329
  }
1330
1330
  ]
1331
1331
  },
@@ -1604,7 +1604,7 @@
1604
1604
  "type": "null"
1605
1605
  },
1606
1606
  {
1607
- "$ref": "util.json#/$defs/additionalSpellsArray"
1607
+ "$ref": "util-additionalspells.json#/$defs/additionalSpellsArray"
1608
1608
  }
1609
1609
  ]
1610
1610
  },
@@ -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
+ }