5etools-utils 0.2.2 → 0.3.0

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 (281) hide show
  1. package/package.json +3 -2
  2. package/schema/brew/actions.json +109 -0
  3. package/schema/brew/adventure/adventure.json +12 -0
  4. package/schema/brew/adventures.json +249 -0
  5. package/schema/brew/backgrounds.json +425 -0
  6. package/schema/brew/bestiary/bestiary.json +3766 -0
  7. package/schema/brew/bestiary/fluff-bestiary.json +15 -0
  8. package/schema/brew/bestiary/foundry.json +15 -0
  9. package/schema/brew/bestiary/legendarygroups.json +202 -0
  10. package/schema/brew/bestiary/traits.json +85 -0
  11. package/schema/brew/book/book.json +12 -0
  12. package/schema/brew/books.json +137 -0
  13. package/schema/brew/charcreationoptions.json +96 -0
  14. package/schema/brew/class/class.json +2059 -0
  15. package/schema/brew/class/foundry.json +373 -0
  16. package/schema/brew/conditionsdiseases.json +103 -0
  17. package/schema/brew/cultsboons.json +196 -0
  18. package/schema/brew/deities.json +482 -0
  19. package/schema/brew/encounters.json +99 -0
  20. package/schema/brew/entry.json +3538 -0
  21. package/schema/brew/feats.json +215 -0
  22. package/schema/brew/fluff-backgrounds.json +15 -0
  23. package/schema/brew/fluff-charcreationoptions.json +43 -0
  24. package/schema/brew/fluff-conditionsdiseases.json +43 -0
  25. package/schema/brew/fluff-feats.json +15 -0
  26. package/schema/brew/fluff-items.json +15 -0
  27. package/schema/brew/fluff-languages.json +42 -0
  28. package/schema/brew/fluff-objects.json +15 -0
  29. package/schema/brew/fluff-races.json +214 -0
  30. package/schema/brew/fluff-recipes.json +42 -0
  31. package/schema/brew/fluff-vehicles.json +63 -0
  32. package/schema/brew/foundry-actions.json +15 -0
  33. package/schema/brew/foundry-backgrounds.json +47 -0
  34. package/schema/brew/foundry-feats.json +15 -0
  35. package/schema/brew/foundry-items.json +57 -0
  36. package/schema/brew/foundry-optionalfeatures.json +15 -0
  37. package/schema/brew/foundry-psionics.json +50 -0
  38. package/schema/brew/foundry-races.json +52 -0
  39. package/schema/brew/foundry-rewards.json +15 -0
  40. package/schema/brew/foundry-vehicles.json +15 -0
  41. package/schema/brew/generated/bookref-quick.json +72 -0
  42. package/schema/brew/homebrew.json +564 -0
  43. package/schema/brew/items-base.json +460 -0
  44. package/schema/brew/items-shared.json +295 -0
  45. package/schema/brew/items.json +1866 -0
  46. package/schema/brew/languages.json +127 -0
  47. package/schema/brew/loot.json +510 -0
  48. package/schema/brew/magicvariants.json +387 -0
  49. package/schema/brew/makebrew-creature.json +40 -0
  50. package/schema/brew/makecards.json +43 -0
  51. package/schema/brew/monsterfeatures.json +53 -0
  52. package/schema/brew/msbcr.json +60 -0
  53. package/schema/brew/names.json +91 -0
  54. package/schema/brew/objects.json +172 -0
  55. package/schema/brew/optionalfeatures.json +139 -0
  56. package/schema/brew/psionics.json +185 -0
  57. package/schema/brew/races.json +1799 -0
  58. package/schema/brew/recipes.json +191 -0
  59. package/schema/brew/renderdemo.json +16 -0
  60. package/schema/brew/rewards.json +102 -0
  61. package/schema/brew/senses.json +54 -0
  62. package/schema/brew/skills.json +54 -0
  63. package/schema/brew/spells/fluff-spells.json +15 -0
  64. package/schema/brew/spells/foundry.json +15 -0
  65. package/schema/brew/spells/roll20.json +112 -0
  66. package/schema/brew/spells/spells.json +1841 -0
  67. package/schema/brew/tables.json +202 -0
  68. package/schema/brew/trapshazards.json +249 -0
  69. package/schema/brew/util.json +3867 -0
  70. package/schema/brew/variantrules.json +74 -0
  71. package/schema/brew/vehicles.json +854 -0
  72. package/schema/brew-fast/actions.json +109 -0
  73. package/schema/brew-fast/adventure/adventure.json +12 -0
  74. package/schema/brew-fast/adventures.json +249 -0
  75. package/schema/brew-fast/backgrounds.json +425 -0
  76. package/schema/brew-fast/bestiary/bestiary.json +3766 -0
  77. package/schema/brew-fast/bestiary/fluff-bestiary.json +15 -0
  78. package/schema/brew-fast/bestiary/foundry.json +15 -0
  79. package/schema/brew-fast/bestiary/legendarygroups.json +202 -0
  80. package/schema/brew-fast/bestiary/traits.json +85 -0
  81. package/schema/brew-fast/book/book.json +12 -0
  82. package/schema/brew-fast/books.json +137 -0
  83. package/schema/brew-fast/charcreationoptions.json +96 -0
  84. package/schema/brew-fast/class/class.json +2059 -0
  85. package/schema/brew-fast/class/foundry.json +373 -0
  86. package/schema/brew-fast/conditionsdiseases.json +103 -0
  87. package/schema/brew-fast/cultsboons.json +196 -0
  88. package/schema/brew-fast/deities.json +482 -0
  89. package/schema/brew-fast/encounters.json +99 -0
  90. package/schema/brew-fast/entry.json +3538 -0
  91. package/schema/brew-fast/feats.json +215 -0
  92. package/schema/brew-fast/fluff-backgrounds.json +15 -0
  93. package/schema/brew-fast/fluff-charcreationoptions.json +43 -0
  94. package/schema/brew-fast/fluff-conditionsdiseases.json +43 -0
  95. package/schema/brew-fast/fluff-feats.json +15 -0
  96. package/schema/brew-fast/fluff-items.json +15 -0
  97. package/schema/brew-fast/fluff-languages.json +42 -0
  98. package/schema/brew-fast/fluff-objects.json +15 -0
  99. package/schema/brew-fast/fluff-races.json +214 -0
  100. package/schema/brew-fast/fluff-recipes.json +42 -0
  101. package/schema/brew-fast/fluff-vehicles.json +63 -0
  102. package/schema/brew-fast/foundry-actions.json +15 -0
  103. package/schema/brew-fast/foundry-backgrounds.json +47 -0
  104. package/schema/brew-fast/foundry-feats.json +15 -0
  105. package/schema/brew-fast/foundry-items.json +57 -0
  106. package/schema/brew-fast/foundry-optionalfeatures.json +15 -0
  107. package/schema/brew-fast/foundry-psionics.json +50 -0
  108. package/schema/brew-fast/foundry-races.json +52 -0
  109. package/schema/brew-fast/foundry-rewards.json +15 -0
  110. package/schema/brew-fast/foundry-vehicles.json +15 -0
  111. package/schema/brew-fast/generated/bookref-quick.json +72 -0
  112. package/schema/brew-fast/homebrew.json +562 -0
  113. package/schema/brew-fast/items-base.json +460 -0
  114. package/schema/brew-fast/items-shared.json +295 -0
  115. package/schema/brew-fast/items.json +1866 -0
  116. package/schema/brew-fast/languages.json +127 -0
  117. package/schema/brew-fast/loot.json +510 -0
  118. package/schema/brew-fast/magicvariants.json +387 -0
  119. package/schema/brew-fast/makebrew-creature.json +40 -0
  120. package/schema/brew-fast/makecards.json +43 -0
  121. package/schema/brew-fast/monsterfeatures.json +53 -0
  122. package/schema/brew-fast/msbcr.json +60 -0
  123. package/schema/brew-fast/names.json +91 -0
  124. package/schema/brew-fast/objects.json +172 -0
  125. package/schema/brew-fast/optionalfeatures.json +139 -0
  126. package/schema/brew-fast/psionics.json +185 -0
  127. package/schema/brew-fast/races.json +1799 -0
  128. package/schema/brew-fast/recipes.json +191 -0
  129. package/schema/brew-fast/renderdemo.json +16 -0
  130. package/schema/brew-fast/rewards.json +102 -0
  131. package/schema/brew-fast/senses.json +54 -0
  132. package/schema/brew-fast/skills.json +54 -0
  133. package/schema/brew-fast/spells/fluff-spells.json +15 -0
  134. package/schema/brew-fast/spells/foundry.json +15 -0
  135. package/schema/brew-fast/spells/roll20.json +112 -0
  136. package/schema/brew-fast/spells/spells.json +1841 -0
  137. package/schema/brew-fast/tables.json +202 -0
  138. package/schema/brew-fast/trapshazards.json +249 -0
  139. package/schema/brew-fast/util.json +3867 -0
  140. package/schema/brew-fast/variantrules.json +74 -0
  141. package/schema/brew-fast/vehicles.json +854 -0
  142. package/schema/site/actions.json +97 -0
  143. package/schema/site/adventure/adventure.json +12 -0
  144. package/schema/site/adventures.json +211 -0
  145. package/schema/site/backgrounds.json +306 -0
  146. package/schema/site/bestiary/bestiary.json +3537 -0
  147. package/schema/site/bestiary/fluff-bestiary.json +15 -0
  148. package/schema/site/bestiary/foundry.json +15 -0
  149. package/schema/site/bestiary/legendarygroups.json +202 -0
  150. package/schema/site/bestiary/traits.json +85 -0
  151. package/schema/site/book/book.json +12 -0
  152. package/schema/site/books.json +137 -0
  153. package/schema/site/charcreationoptions.json +80 -0
  154. package/schema/site/class/class.json +1792 -0
  155. package/schema/site/class/foundry.json +373 -0
  156. package/schema/site/conditionsdiseases.json +82 -0
  157. package/schema/site/cultsboons.json +172 -0
  158. package/schema/site/deities.json +461 -0
  159. package/schema/site/encounters.json +99 -0
  160. package/schema/site/entry.json +3471 -0
  161. package/schema/site/feats.json +199 -0
  162. package/schema/site/fluff-backgrounds.json +15 -0
  163. package/schema/site/fluff-charcreationoptions.json +43 -0
  164. package/schema/site/fluff-conditionsdiseases.json +43 -0
  165. package/schema/site/fluff-feats.json +15 -0
  166. package/schema/site/fluff-items.json +15 -0
  167. package/schema/site/fluff-languages.json +42 -0
  168. package/schema/site/fluff-objects.json +15 -0
  169. package/schema/site/fluff-races.json +214 -0
  170. package/schema/site/fluff-recipes.json +42 -0
  171. package/schema/site/fluff-vehicles.json +63 -0
  172. package/schema/site/foundry-actions.json +15 -0
  173. package/schema/site/foundry-backgrounds.json +47 -0
  174. package/schema/site/foundry-feats.json +15 -0
  175. package/schema/site/foundry-items.json +57 -0
  176. package/schema/site/foundry-optionalfeatures.json +15 -0
  177. package/schema/site/foundry-psionics.json +50 -0
  178. package/schema/site/foundry-races.json +52 -0
  179. package/schema/site/foundry-rewards.json +15 -0
  180. package/schema/site/foundry-vehicles.json +15 -0
  181. package/schema/site/generated/bookref-quick.json +72 -0
  182. package/schema/site/homebrew.json +564 -0
  183. package/schema/site/items-base.json +425 -0
  184. package/schema/site/items-shared.json +259 -0
  185. package/schema/site/items.json +1722 -0
  186. package/schema/site/languages.json +120 -0
  187. package/schema/site/loot.json +510 -0
  188. package/schema/site/magicvariants.json +355 -0
  189. package/schema/site/makebrew-creature.json +39 -0
  190. package/schema/site/makecards.json +43 -0
  191. package/schema/site/monsterfeatures.json +53 -0
  192. package/schema/site/msbcr.json +60 -0
  193. package/schema/site/names.json +91 -0
  194. package/schema/site/objects.json +165 -0
  195. package/schema/site/optionalfeatures.json +127 -0
  196. package/schema/site/psionics.json +173 -0
  197. package/schema/site/races.json +1708 -0
  198. package/schema/site/recipes.json +185 -0
  199. package/schema/site/renderdemo.json +16 -0
  200. package/schema/site/rewards.json +90 -0
  201. package/schema/site/senses.json +54 -0
  202. package/schema/site/skills.json +54 -0
  203. package/schema/site/spells/fluff-spells.json +15 -0
  204. package/schema/site/spells/foundry.json +15 -0
  205. package/schema/site/spells/roll20.json +112 -0
  206. package/schema/site/spells/spells.json +1238 -0
  207. package/schema/site/tables.json +185 -0
  208. package/schema/site/trapshazards.json +227 -0
  209. package/schema/site/util.json +3857 -0
  210. package/schema/site/variantrules.json +71 -0
  211. package/schema/site/vehicles.json +807 -0
  212. package/schema/site-fast/actions.json +97 -0
  213. package/schema/site-fast/adventure/adventure.json +12 -0
  214. package/schema/site-fast/adventures.json +211 -0
  215. package/schema/site-fast/backgrounds.json +306 -0
  216. package/schema/site-fast/bestiary/bestiary.json +3537 -0
  217. package/schema/site-fast/bestiary/fluff-bestiary.json +15 -0
  218. package/schema/site-fast/bestiary/foundry.json +15 -0
  219. package/schema/site-fast/bestiary/legendarygroups.json +202 -0
  220. package/schema/site-fast/bestiary/traits.json +85 -0
  221. package/schema/site-fast/book/book.json +12 -0
  222. package/schema/site-fast/books.json +137 -0
  223. package/schema/site-fast/charcreationoptions.json +80 -0
  224. package/schema/site-fast/class/class.json +1792 -0
  225. package/schema/site-fast/class/foundry.json +373 -0
  226. package/schema/site-fast/conditionsdiseases.json +82 -0
  227. package/schema/site-fast/cultsboons.json +172 -0
  228. package/schema/site-fast/deities.json +461 -0
  229. package/schema/site-fast/encounters.json +99 -0
  230. package/schema/site-fast/entry.json +3471 -0
  231. package/schema/site-fast/feats.json +199 -0
  232. package/schema/site-fast/fluff-backgrounds.json +15 -0
  233. package/schema/site-fast/fluff-charcreationoptions.json +43 -0
  234. package/schema/site-fast/fluff-conditionsdiseases.json +43 -0
  235. package/schema/site-fast/fluff-feats.json +15 -0
  236. package/schema/site-fast/fluff-items.json +15 -0
  237. package/schema/site-fast/fluff-languages.json +42 -0
  238. package/schema/site-fast/fluff-objects.json +15 -0
  239. package/schema/site-fast/fluff-races.json +214 -0
  240. package/schema/site-fast/fluff-recipes.json +42 -0
  241. package/schema/site-fast/fluff-vehicles.json +63 -0
  242. package/schema/site-fast/foundry-actions.json +15 -0
  243. package/schema/site-fast/foundry-backgrounds.json +47 -0
  244. package/schema/site-fast/foundry-feats.json +15 -0
  245. package/schema/site-fast/foundry-items.json +57 -0
  246. package/schema/site-fast/foundry-optionalfeatures.json +15 -0
  247. package/schema/site-fast/foundry-psionics.json +50 -0
  248. package/schema/site-fast/foundry-races.json +52 -0
  249. package/schema/site-fast/foundry-rewards.json +15 -0
  250. package/schema/site-fast/foundry-vehicles.json +15 -0
  251. package/schema/site-fast/generated/bookref-quick.json +72 -0
  252. package/schema/site-fast/homebrew.json +562 -0
  253. package/schema/site-fast/items-base.json +425 -0
  254. package/schema/site-fast/items-shared.json +259 -0
  255. package/schema/site-fast/items.json +1722 -0
  256. package/schema/site-fast/languages.json +120 -0
  257. package/schema/site-fast/loot.json +510 -0
  258. package/schema/site-fast/magicvariants.json +355 -0
  259. package/schema/site-fast/makebrew-creature.json +39 -0
  260. package/schema/site-fast/makecards.json +43 -0
  261. package/schema/site-fast/monsterfeatures.json +53 -0
  262. package/schema/site-fast/msbcr.json +60 -0
  263. package/schema/site-fast/names.json +91 -0
  264. package/schema/site-fast/objects.json +165 -0
  265. package/schema/site-fast/optionalfeatures.json +127 -0
  266. package/schema/site-fast/psionics.json +173 -0
  267. package/schema/site-fast/races.json +1708 -0
  268. package/schema/site-fast/recipes.json +185 -0
  269. package/schema/site-fast/renderdemo.json +16 -0
  270. package/schema/site-fast/rewards.json +90 -0
  271. package/schema/site-fast/senses.json +54 -0
  272. package/schema/site-fast/skills.json +54 -0
  273. package/schema/site-fast/spells/fluff-spells.json +15 -0
  274. package/schema/site-fast/spells/foundry.json +15 -0
  275. package/schema/site-fast/spells/roll20.json +112 -0
  276. package/schema/site-fast/spells/spells.json +1238 -0
  277. package/schema/site-fast/tables.json +185 -0
  278. package/schema/site-fast/trapshazards.json +227 -0
  279. package/schema/site-fast/util.json +3857 -0
  280. package/schema/site-fast/variantrules.json +71 -0
  281. package/schema/site-fast/vehicles.json +807 -0
@@ -0,0 +1,1238 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "spells.json",
4
+ "version": "1.9.1",
5
+ "title": "Spells",
6
+ "type": "object",
7
+ "$defs": {
8
+ "spellData": {
9
+ "type": "object",
10
+ "properties": {
11
+ "name": {
12
+ "type": "string"
13
+ },
14
+ "level": {
15
+ "type": "integer"
16
+ },
17
+ "school": {
18
+ "type": "string",
19
+ "enum": [
20
+ "A",
21
+ "V",
22
+ "E",
23
+ "I",
24
+ "D",
25
+ "N",
26
+ "T",
27
+ "C",
28
+ "P"
29
+ ]
30
+ },
31
+ "meta": {
32
+ "type": "object",
33
+ "properties": {
34
+ "ritual": {
35
+ "type": "boolean"
36
+ },
37
+ "technomagic": {
38
+ "type": "boolean"
39
+ }
40
+ },
41
+ "additionalProperties": false
42
+ },
43
+ "time": {
44
+ "type": "array",
45
+ "items": {
46
+ "$ref": "#/$defs/time"
47
+ }
48
+ },
49
+ "range": {
50
+ "type": "object",
51
+ "properties": {
52
+ "type": {
53
+ "type": "string",
54
+ "enum": [
55
+ "special",
56
+ "point",
57
+ "line",
58
+ "cube",
59
+ "cone",
60
+ "radius",
61
+ "sphere",
62
+ "hemisphere",
63
+ "cylinder"
64
+ ]
65
+ },
66
+ "distance": {
67
+ "type": "object",
68
+ "properties": {
69
+ "type": {
70
+ "type": "string",
71
+ "enum": [
72
+ "feet",
73
+ "miles",
74
+ "self",
75
+ "touch",
76
+ "unlimited",
77
+ "plane",
78
+ "sight"
79
+ ]
80
+ },
81
+ "amount": {
82
+ "type": "integer"
83
+ }
84
+ },
85
+ "required": [
86
+ "type"
87
+ ],
88
+ "additionalProperties": false
89
+ }
90
+ },
91
+ "required": [
92
+ "type"
93
+ ],
94
+ "additionalProperties": false
95
+ },
96
+ "components": {
97
+ "type": "object",
98
+ "properties": {
99
+ "v": {
100
+ "type": "boolean"
101
+ },
102
+ "s": {
103
+ "type": "boolean"
104
+ },
105
+ "m": {
106
+ "oneOf": [
107
+ {
108
+ "type": "object",
109
+ "properties": {
110
+ "text": {
111
+ "type": "string"
112
+ },
113
+ "cost": {
114
+ "description": "In copper pieces.",
115
+ "type": "number"
116
+ },
117
+ "consume": {
118
+ "oneOf": [
119
+ {
120
+ "type": "boolean"
121
+ },
122
+ {
123
+ "type": "string",
124
+ "const": "optional"
125
+ }
126
+ ]
127
+ }
128
+ },
129
+ "required": [
130
+ "text"
131
+ ],
132
+ "additionalProperties": false
133
+ },
134
+ {
135
+ "type": [
136
+ "boolean",
137
+ "string"
138
+ ]
139
+ }
140
+ ]
141
+ },
142
+ "r": {
143
+ "description": "\"Royalty\" components, as introduced in Acquisitions Incorporated",
144
+ "type": "boolean"
145
+ }
146
+ },
147
+ "additionalProperties": false
148
+ },
149
+ "duration": {
150
+ "type": "array",
151
+ "items": {
152
+ "$ref": "#/$defs/duration"
153
+ }
154
+ },
155
+ "entries": {
156
+ "type": "array",
157
+ "items": {
158
+ "$ref": "../entry.json"
159
+ }
160
+ },
161
+ "entriesHigherLevel": {
162
+ "type": "array",
163
+ "items": {
164
+ "$ref": "../entry.json"
165
+ }
166
+ },
167
+ "source": {
168
+ "type": "string"
169
+ },
170
+ "page": {
171
+ "$ref": "../util.json#/$defs/page"
172
+ },
173
+ "additionalSources": {
174
+ "$ref": "../util.json#/$defs/additionalSources"
175
+ },
176
+ "otherSources": {
177
+ "$ref": "../util.json#/$defs/otherSources"
178
+ },
179
+ "damageInflict": {
180
+ "type": "array",
181
+ "uniqueItems": true,
182
+ "items": {
183
+ "$ref": "../util.json#/$defs/dataDamageType"
184
+ }
185
+ },
186
+ "damageResist": {
187
+ "type": "array",
188
+ "minItems": 1,
189
+ "uniqueItems": true,
190
+ "items": {
191
+ "$ref": "../util.json#/$defs/dataDamageType"
192
+ }
193
+ },
194
+ "damageImmune": {
195
+ "type": "array",
196
+ "minItems": 1,
197
+ "uniqueItems": true,
198
+ "items": {
199
+ "$ref": "../util.json#/$defs/dataDamageType"
200
+ }
201
+ },
202
+ "damageVulnerable": {
203
+ "type": "array",
204
+ "minItems": 1,
205
+ "uniqueItems": true,
206
+ "items": {
207
+ "$ref": "../util.json#/$defs/dataDamageType"
208
+ }
209
+ },
210
+ "conditionInflict": {
211
+ "$ref": "../util.json#/$defs/tagsConditions"
212
+ },
213
+ "conditionImmune": {
214
+ "$ref": "../util.json#/$defs/tagsConditions"
215
+ },
216
+ "savingThrow": {
217
+ "type": "array",
218
+ "minItems": 1,
219
+ "uniqueItems": true,
220
+ "items": {
221
+ "type": "string",
222
+ "enum": [
223
+ "strength",
224
+ "constitution",
225
+ "dexterity",
226
+ "intelligence",
227
+ "wisdom",
228
+ "charisma"
229
+ ]
230
+ }
231
+ },
232
+ "abilityCheck": {
233
+ "type": "array",
234
+ "minItems": 1,
235
+ "uniqueItems": true,
236
+ "items": {
237
+ "type": "string",
238
+ "enum": [
239
+ "strength",
240
+ "constitution",
241
+ "dexterity",
242
+ "intelligence",
243
+ "wisdom",
244
+ "charisma"
245
+ ]
246
+ }
247
+ },
248
+ "spellAttack": {
249
+ "type": "array",
250
+ "minItems": 1,
251
+ "uniqueItems": true,
252
+ "items": {
253
+ "type": "string",
254
+ "description": "M: Melee\n R: Ranged\n O: Other/Unknown",
255
+ "enum": [
256
+ "M",
257
+ "R",
258
+ "O"
259
+ ]
260
+ }
261
+ },
262
+ "areaTags": {
263
+ "description": "By convention, only the effects of the spell cast at its base level are considered when populating these.\n C: Cube\n H: Hemisphere\n L: Line\n MT: Multiple Targets\n N: Cone\n Q: Square\n R: Circle\n ST: Single Target\n S: Sphere\n W: Wall\n Y: Cylinder",
264
+ "type": "array",
265
+ "minItems": 1,
266
+ "uniqueItems": true,
267
+ "items": {
268
+ "type": "string",
269
+ "enum": [
270
+ "ST",
271
+ "MT",
272
+ "R",
273
+ "N",
274
+ "C",
275
+ "Y",
276
+ "H",
277
+ "L",
278
+ "S",
279
+ "Q",
280
+ "W"
281
+ ]
282
+ }
283
+ },
284
+ "miscTags": {
285
+ "type": "array",
286
+ "description": "FMV: Forced Movement\n HL: Healing\n LGT: Creates Light\n LGTS: Creates Sunlight\n MAC: Modifies AC\n PRM: Permanent Effects\n PS: Plane Shifting\nRO: Rollable Effects\n SCL: Scaling Effects\n SMN: Summons Creature\n SGT: Requires Sight\n THP: Grants Temporary Hit Points\n TP: Teleportation\n UBA: Uses Bonus Action",
287
+ "minItems": 1,
288
+ "uniqueItems": true,
289
+ "items": {
290
+ "type": "string",
291
+ "enum": [
292
+ "FMV",
293
+ "HL",
294
+ "LGT",
295
+ "LGTS",
296
+ "MAC",
297
+ "PRM",
298
+ "PS",
299
+ "RO",
300
+ "SCL",
301
+ "SMN",
302
+ "SGT",
303
+ "THP",
304
+ "TP",
305
+ "UBA"
306
+ ]
307
+ }
308
+ },
309
+ "affectsCreatureType": {
310
+ "type": "array",
311
+ "minItems": 1,
312
+ "uniqueItems": true,
313
+ "items": {
314
+ "$ref": "../util.json#/$defs/creatureType"
315
+ }
316
+ },
317
+ "srd": {
318
+ "$ref": "../util.json#/$defs/srd"
319
+ },
320
+ "basicRules": {
321
+ "$ref": "../util.json#/$defs/basicRules"
322
+ },
323
+ "scalingLevelDice": {
324
+ "oneOf": [
325
+ {
326
+ "type": "array",
327
+ "items": {
328
+ "$ref": "#/$defs/scalingLevelDiceItem"
329
+ }
330
+ },
331
+ {
332
+ "$ref": "#/$defs/scalingLevelDiceItem"
333
+ }
334
+ ]
335
+ },
336
+ "hasFluff": {
337
+ "type": "boolean"
338
+ },
339
+ "hasFluffImages": {
340
+ "type": "boolean"
341
+ }
342
+ },
343
+ "additionalProperties": false
344
+ },
345
+ "spell": {
346
+ "anyOf": [
347
+ {
348
+ "type": "object",
349
+ "properties": {
350
+ "name": {
351
+ "type": "string"
352
+ },
353
+ "level": {
354
+ "type": "integer"
355
+ },
356
+ "school": {
357
+ "type": "string",
358
+ "enum": [
359
+ "A",
360
+ "V",
361
+ "E",
362
+ "I",
363
+ "D",
364
+ "N",
365
+ "T",
366
+ "C",
367
+ "P"
368
+ ]
369
+ },
370
+ "meta": {
371
+ "type": "object",
372
+ "properties": {
373
+ "ritual": {
374
+ "type": "boolean"
375
+ },
376
+ "technomagic": {
377
+ "type": "boolean"
378
+ }
379
+ },
380
+ "additionalProperties": false
381
+ },
382
+ "time": {
383
+ "type": "array",
384
+ "items": {
385
+ "$ref": "#/$defs/time"
386
+ }
387
+ },
388
+ "range": {
389
+ "type": "object",
390
+ "properties": {
391
+ "type": {
392
+ "type": "string",
393
+ "enum": [
394
+ "special",
395
+ "point",
396
+ "line",
397
+ "cube",
398
+ "cone",
399
+ "radius",
400
+ "sphere",
401
+ "hemisphere",
402
+ "cylinder"
403
+ ]
404
+ },
405
+ "distance": {
406
+ "type": "object",
407
+ "properties": {
408
+ "type": {
409
+ "type": "string",
410
+ "enum": [
411
+ "feet",
412
+ "miles",
413
+ "self",
414
+ "touch",
415
+ "unlimited",
416
+ "plane",
417
+ "sight"
418
+ ]
419
+ },
420
+ "amount": {
421
+ "type": "integer"
422
+ }
423
+ },
424
+ "required": [
425
+ "type"
426
+ ],
427
+ "additionalProperties": false
428
+ }
429
+ },
430
+ "required": [
431
+ "type"
432
+ ],
433
+ "additionalProperties": false
434
+ },
435
+ "components": {
436
+ "type": "object",
437
+ "properties": {
438
+ "v": {
439
+ "type": "boolean"
440
+ },
441
+ "s": {
442
+ "type": "boolean"
443
+ },
444
+ "m": {
445
+ "oneOf": [
446
+ {
447
+ "type": "object",
448
+ "properties": {
449
+ "text": {
450
+ "type": "string"
451
+ },
452
+ "cost": {
453
+ "description": "In copper pieces.",
454
+ "type": "number"
455
+ },
456
+ "consume": {
457
+ "oneOf": [
458
+ {
459
+ "type": "boolean"
460
+ },
461
+ {
462
+ "type": "string",
463
+ "const": "optional"
464
+ }
465
+ ]
466
+ }
467
+ },
468
+ "required": [
469
+ "text"
470
+ ],
471
+ "additionalProperties": false
472
+ },
473
+ {
474
+ "type": [
475
+ "boolean",
476
+ "string"
477
+ ]
478
+ }
479
+ ]
480
+ },
481
+ "r": {
482
+ "description": "\"Royalty\" components, as introduced in Acquisitions Incorporated",
483
+ "type": "boolean"
484
+ }
485
+ },
486
+ "additionalProperties": false
487
+ },
488
+ "duration": {
489
+ "type": "array",
490
+ "items": {
491
+ "$ref": "#/$defs/duration"
492
+ }
493
+ },
494
+ "entries": {
495
+ "type": "array",
496
+ "items": {
497
+ "$ref": "../entry.json"
498
+ }
499
+ },
500
+ "entriesHigherLevel": {
501
+ "type": "array",
502
+ "items": {
503
+ "$ref": "../entry.json"
504
+ }
505
+ },
506
+ "source": {
507
+ "type": "string"
508
+ },
509
+ "page": {
510
+ "$ref": "../util.json#/$defs/page"
511
+ },
512
+ "additionalSources": {
513
+ "$ref": "../util.json#/$defs/additionalSources"
514
+ },
515
+ "otherSources": {
516
+ "$ref": "../util.json#/$defs/otherSources"
517
+ },
518
+ "damageInflict": {
519
+ "type": "array",
520
+ "uniqueItems": true,
521
+ "items": {
522
+ "$ref": "../util.json#/$defs/dataDamageType"
523
+ }
524
+ },
525
+ "damageResist": {
526
+ "type": "array",
527
+ "minItems": 1,
528
+ "uniqueItems": true,
529
+ "items": {
530
+ "$ref": "../util.json#/$defs/dataDamageType"
531
+ }
532
+ },
533
+ "damageImmune": {
534
+ "type": "array",
535
+ "minItems": 1,
536
+ "uniqueItems": true,
537
+ "items": {
538
+ "$ref": "../util.json#/$defs/dataDamageType"
539
+ }
540
+ },
541
+ "damageVulnerable": {
542
+ "type": "array",
543
+ "minItems": 1,
544
+ "uniqueItems": true,
545
+ "items": {
546
+ "$ref": "../util.json#/$defs/dataDamageType"
547
+ }
548
+ },
549
+ "conditionInflict": {
550
+ "$ref": "../util.json#/$defs/tagsConditions"
551
+ },
552
+ "conditionImmune": {
553
+ "$ref": "../util.json#/$defs/tagsConditions"
554
+ },
555
+ "savingThrow": {
556
+ "type": "array",
557
+ "minItems": 1,
558
+ "uniqueItems": true,
559
+ "items": {
560
+ "type": "string",
561
+ "enum": [
562
+ "strength",
563
+ "constitution",
564
+ "dexterity",
565
+ "intelligence",
566
+ "wisdom",
567
+ "charisma"
568
+ ]
569
+ }
570
+ },
571
+ "abilityCheck": {
572
+ "type": "array",
573
+ "minItems": 1,
574
+ "uniqueItems": true,
575
+ "items": {
576
+ "type": "string",
577
+ "enum": [
578
+ "strength",
579
+ "constitution",
580
+ "dexterity",
581
+ "intelligence",
582
+ "wisdom",
583
+ "charisma"
584
+ ]
585
+ }
586
+ },
587
+ "spellAttack": {
588
+ "type": "array",
589
+ "minItems": 1,
590
+ "uniqueItems": true,
591
+ "items": {
592
+ "type": "string",
593
+ "description": "M: Melee\n R: Ranged\n O: Other/Unknown",
594
+ "enum": [
595
+ "M",
596
+ "R",
597
+ "O"
598
+ ]
599
+ }
600
+ },
601
+ "areaTags": {
602
+ "description": "By convention, only the effects of the spell cast at its base level are considered when populating these.\n C: Cube\n H: Hemisphere\n L: Line\n MT: Multiple Targets\n N: Cone\n Q: Square\n R: Circle\n ST: Single Target\n S: Sphere\n W: Wall\n Y: Cylinder",
603
+ "type": "array",
604
+ "minItems": 1,
605
+ "uniqueItems": true,
606
+ "items": {
607
+ "type": "string",
608
+ "enum": [
609
+ "ST",
610
+ "MT",
611
+ "R",
612
+ "N",
613
+ "C",
614
+ "Y",
615
+ "H",
616
+ "L",
617
+ "S",
618
+ "Q",
619
+ "W"
620
+ ]
621
+ }
622
+ },
623
+ "miscTags": {
624
+ "type": "array",
625
+ "description": "FMV: Forced Movement\n HL: Healing\n LGT: Creates Light\n LGTS: Creates Sunlight\n MAC: Modifies AC\n PRM: Permanent Effects\n PS: Plane Shifting\nRO: Rollable Effects\n SCL: Scaling Effects\n SMN: Summons Creature\n SGT: Requires Sight\n THP: Grants Temporary Hit Points\n TP: Teleportation\n UBA: Uses Bonus Action",
626
+ "minItems": 1,
627
+ "uniqueItems": true,
628
+ "items": {
629
+ "type": "string",
630
+ "enum": [
631
+ "FMV",
632
+ "HL",
633
+ "LGT",
634
+ "LGTS",
635
+ "MAC",
636
+ "PRM",
637
+ "PS",
638
+ "RO",
639
+ "SCL",
640
+ "SMN",
641
+ "SGT",
642
+ "THP",
643
+ "TP",
644
+ "UBA"
645
+ ]
646
+ }
647
+ },
648
+ "affectsCreatureType": {
649
+ "type": "array",
650
+ "minItems": 1,
651
+ "uniqueItems": true,
652
+ "items": {
653
+ "$ref": "../util.json#/$defs/creatureType"
654
+ }
655
+ },
656
+ "srd": {
657
+ "$ref": "../util.json#/$defs/srd"
658
+ },
659
+ "basicRules": {
660
+ "$ref": "../util.json#/$defs/basicRules"
661
+ },
662
+ "scalingLevelDice": {
663
+ "oneOf": [
664
+ {
665
+ "type": "array",
666
+ "items": {
667
+ "$ref": "#/$defs/scalingLevelDiceItem"
668
+ }
669
+ },
670
+ {
671
+ "$ref": "#/$defs/scalingLevelDiceItem"
672
+ }
673
+ ]
674
+ },
675
+ "hasFluff": {
676
+ "type": "boolean"
677
+ },
678
+ "hasFluffImages": {
679
+ "type": "boolean"
680
+ }
681
+ },
682
+ "additionalProperties": false,
683
+ "required": [
684
+ "name",
685
+ "level",
686
+ "school",
687
+ "time",
688
+ "range",
689
+ "duration",
690
+ "entries",
691
+ "source"
692
+ ]
693
+ },
694
+ {
695
+ "type": "object",
696
+ "properties": {
697
+ "name": {
698
+ "type": "string"
699
+ },
700
+ "level": {
701
+ "type": "integer"
702
+ },
703
+ "school": {
704
+ "type": "string",
705
+ "enum": [
706
+ "A",
707
+ "V",
708
+ "E",
709
+ "I",
710
+ "D",
711
+ "N",
712
+ "T",
713
+ "C",
714
+ "P"
715
+ ]
716
+ },
717
+ "meta": {
718
+ "type": "object",
719
+ "properties": {
720
+ "ritual": {
721
+ "type": "boolean"
722
+ },
723
+ "technomagic": {
724
+ "type": "boolean"
725
+ }
726
+ },
727
+ "additionalProperties": false
728
+ },
729
+ "time": {
730
+ "type": "array",
731
+ "items": {
732
+ "$ref": "#/$defs/time"
733
+ }
734
+ },
735
+ "range": {
736
+ "type": "object",
737
+ "properties": {
738
+ "type": {
739
+ "type": "string",
740
+ "enum": [
741
+ "special",
742
+ "point",
743
+ "line",
744
+ "cube",
745
+ "cone",
746
+ "radius",
747
+ "sphere",
748
+ "hemisphere",
749
+ "cylinder"
750
+ ]
751
+ },
752
+ "distance": {
753
+ "type": "object",
754
+ "properties": {
755
+ "type": {
756
+ "type": "string",
757
+ "enum": [
758
+ "feet",
759
+ "miles",
760
+ "self",
761
+ "touch",
762
+ "unlimited",
763
+ "plane",
764
+ "sight"
765
+ ]
766
+ },
767
+ "amount": {
768
+ "type": "integer"
769
+ }
770
+ },
771
+ "required": [
772
+ "type"
773
+ ],
774
+ "additionalProperties": false
775
+ }
776
+ },
777
+ "required": [
778
+ "type"
779
+ ],
780
+ "additionalProperties": false
781
+ },
782
+ "components": {
783
+ "type": "object",
784
+ "properties": {
785
+ "v": {
786
+ "type": "boolean"
787
+ },
788
+ "s": {
789
+ "type": "boolean"
790
+ },
791
+ "m": {
792
+ "oneOf": [
793
+ {
794
+ "type": "object",
795
+ "properties": {
796
+ "text": {
797
+ "type": "string"
798
+ },
799
+ "cost": {
800
+ "description": "In copper pieces.",
801
+ "type": "number"
802
+ },
803
+ "consume": {
804
+ "oneOf": [
805
+ {
806
+ "type": "boolean"
807
+ },
808
+ {
809
+ "type": "string",
810
+ "const": "optional"
811
+ }
812
+ ]
813
+ }
814
+ },
815
+ "required": [
816
+ "text"
817
+ ],
818
+ "additionalProperties": false
819
+ },
820
+ {
821
+ "type": [
822
+ "boolean",
823
+ "string"
824
+ ]
825
+ }
826
+ ]
827
+ },
828
+ "r": {
829
+ "description": "\"Royalty\" components, as introduced in Acquisitions Incorporated",
830
+ "type": "boolean"
831
+ }
832
+ },
833
+ "additionalProperties": false
834
+ },
835
+ "duration": {
836
+ "type": "array",
837
+ "items": {
838
+ "$ref": "#/$defs/duration"
839
+ }
840
+ },
841
+ "entries": {
842
+ "type": "array",
843
+ "items": {
844
+ "$ref": "../entry.json"
845
+ }
846
+ },
847
+ "entriesHigherLevel": {
848
+ "type": "array",
849
+ "items": {
850
+ "$ref": "../entry.json"
851
+ }
852
+ },
853
+ "source": {
854
+ "type": "string"
855
+ },
856
+ "page": {
857
+ "$ref": "../util.json#/$defs/page"
858
+ },
859
+ "additionalSources": {
860
+ "$ref": "../util.json#/$defs/additionalSources"
861
+ },
862
+ "otherSources": {
863
+ "$ref": "../util.json#/$defs/otherSources"
864
+ },
865
+ "damageInflict": {
866
+ "type": "array",
867
+ "uniqueItems": true,
868
+ "items": {
869
+ "$ref": "../util.json#/$defs/dataDamageType"
870
+ }
871
+ },
872
+ "damageResist": {
873
+ "type": "array",
874
+ "minItems": 1,
875
+ "uniqueItems": true,
876
+ "items": {
877
+ "$ref": "../util.json#/$defs/dataDamageType"
878
+ }
879
+ },
880
+ "damageImmune": {
881
+ "type": "array",
882
+ "minItems": 1,
883
+ "uniqueItems": true,
884
+ "items": {
885
+ "$ref": "../util.json#/$defs/dataDamageType"
886
+ }
887
+ },
888
+ "damageVulnerable": {
889
+ "type": "array",
890
+ "minItems": 1,
891
+ "uniqueItems": true,
892
+ "items": {
893
+ "$ref": "../util.json#/$defs/dataDamageType"
894
+ }
895
+ },
896
+ "conditionInflict": {
897
+ "$ref": "../util.json#/$defs/tagsConditions"
898
+ },
899
+ "conditionImmune": {
900
+ "$ref": "../util.json#/$defs/tagsConditions"
901
+ },
902
+ "savingThrow": {
903
+ "type": "array",
904
+ "minItems": 1,
905
+ "uniqueItems": true,
906
+ "items": {
907
+ "type": "string",
908
+ "enum": [
909
+ "strength",
910
+ "constitution",
911
+ "dexterity",
912
+ "intelligence",
913
+ "wisdom",
914
+ "charisma"
915
+ ]
916
+ }
917
+ },
918
+ "abilityCheck": {
919
+ "type": "array",
920
+ "minItems": 1,
921
+ "uniqueItems": true,
922
+ "items": {
923
+ "type": "string",
924
+ "enum": [
925
+ "strength",
926
+ "constitution",
927
+ "dexterity",
928
+ "intelligence",
929
+ "wisdom",
930
+ "charisma"
931
+ ]
932
+ }
933
+ },
934
+ "spellAttack": {
935
+ "type": "array",
936
+ "minItems": 1,
937
+ "uniqueItems": true,
938
+ "items": {
939
+ "type": "string",
940
+ "description": "M: Melee\n R: Ranged\n O: Other/Unknown",
941
+ "enum": [
942
+ "M",
943
+ "R",
944
+ "O"
945
+ ]
946
+ }
947
+ },
948
+ "areaTags": {
949
+ "description": "By convention, only the effects of the spell cast at its base level are considered when populating these.\n C: Cube\n H: Hemisphere\n L: Line\n MT: Multiple Targets\n N: Cone\n Q: Square\n R: Circle\n ST: Single Target\n S: Sphere\n W: Wall\n Y: Cylinder",
950
+ "type": "array",
951
+ "minItems": 1,
952
+ "uniqueItems": true,
953
+ "items": {
954
+ "type": "string",
955
+ "enum": [
956
+ "ST",
957
+ "MT",
958
+ "R",
959
+ "N",
960
+ "C",
961
+ "Y",
962
+ "H",
963
+ "L",
964
+ "S",
965
+ "Q",
966
+ "W"
967
+ ]
968
+ }
969
+ },
970
+ "miscTags": {
971
+ "type": "array",
972
+ "description": "FMV: Forced Movement\n HL: Healing\n LGT: Creates Light\n LGTS: Creates Sunlight\n MAC: Modifies AC\n PRM: Permanent Effects\n PS: Plane Shifting\nRO: Rollable Effects\n SCL: Scaling Effects\n SMN: Summons Creature\n SGT: Requires Sight\n THP: Grants Temporary Hit Points\n TP: Teleportation\n UBA: Uses Bonus Action",
973
+ "minItems": 1,
974
+ "uniqueItems": true,
975
+ "items": {
976
+ "type": "string",
977
+ "enum": [
978
+ "FMV",
979
+ "HL",
980
+ "LGT",
981
+ "LGTS",
982
+ "MAC",
983
+ "PRM",
984
+ "PS",
985
+ "RO",
986
+ "SCL",
987
+ "SMN",
988
+ "SGT",
989
+ "THP",
990
+ "TP",
991
+ "UBA"
992
+ ]
993
+ }
994
+ },
995
+ "affectsCreatureType": {
996
+ "type": "array",
997
+ "minItems": 1,
998
+ "uniqueItems": true,
999
+ "items": {
1000
+ "$ref": "../util.json#/$defs/creatureType"
1001
+ }
1002
+ },
1003
+ "srd": {
1004
+ "$ref": "../util.json#/$defs/srd"
1005
+ },
1006
+ "basicRules": {
1007
+ "$ref": "../util.json#/$defs/basicRules"
1008
+ },
1009
+ "scalingLevelDice": {
1010
+ "oneOf": [
1011
+ {
1012
+ "type": "array",
1013
+ "items": {
1014
+ "$ref": "#/$defs/scalingLevelDiceItem"
1015
+ }
1016
+ },
1017
+ {
1018
+ "$ref": "#/$defs/scalingLevelDiceItem"
1019
+ }
1020
+ ]
1021
+ },
1022
+ "hasFluff": {
1023
+ "type": "boolean"
1024
+ },
1025
+ "hasFluffImages": {
1026
+ "type": "boolean"
1027
+ },
1028
+ "_copy": {
1029
+ "type": "object",
1030
+ "properties": {
1031
+ "name": {
1032
+ "type": "string"
1033
+ },
1034
+ "source": {
1035
+ "type": "string"
1036
+ },
1037
+ "pantheon": {
1038
+ "description": "Used in deity data",
1039
+ "type": "string"
1040
+ },
1041
+ "shortName": {
1042
+ "description": "Used in subclass data",
1043
+ "type": "string"
1044
+ },
1045
+ "className": {
1046
+ "description": "Used in subclass data",
1047
+ "type": "string"
1048
+ },
1049
+ "classSource": {
1050
+ "description": "Used in subclass data",
1051
+ "type": "string"
1052
+ },
1053
+ "_mod": {
1054
+ "$ref": "../util.json#/$defs/_modObject"
1055
+ },
1056
+ "_trait": {
1057
+ "type": "object",
1058
+ "properties": {
1059
+ "name": {
1060
+ "type": "string"
1061
+ },
1062
+ "source": {
1063
+ "type": "string"
1064
+ }
1065
+ },
1066
+ "required": [
1067
+ "name",
1068
+ "source"
1069
+ ]
1070
+ },
1071
+ "_preserve": {
1072
+ "type": "object",
1073
+ "patternProperties": {
1074
+ ".*": {
1075
+ "const": true
1076
+ }
1077
+ }
1078
+ }
1079
+ },
1080
+ "required": [
1081
+ "name",
1082
+ "source"
1083
+ ],
1084
+ "additionalProperties": false
1085
+ }
1086
+ },
1087
+ "additionalProperties": false,
1088
+ "required": [
1089
+ "_copy"
1090
+ ]
1091
+ }
1092
+ ]
1093
+ },
1094
+ "time": {
1095
+ "type": "object",
1096
+ "properties": {
1097
+ "number": {
1098
+ "type": "integer"
1099
+ },
1100
+ "unit": {
1101
+ "type": "string",
1102
+ "enum": [
1103
+ "action",
1104
+ "bonus",
1105
+ "reaction",
1106
+ "round",
1107
+ "minute",
1108
+ "hour"
1109
+ ]
1110
+ },
1111
+ "condition": {
1112
+ "type": "string"
1113
+ }
1114
+ },
1115
+ "required": [
1116
+ "unit"
1117
+ ],
1118
+ "additionalProperties": false
1119
+ },
1120
+ "duration": {
1121
+ "type": "object",
1122
+ "properties": {
1123
+ "type": {
1124
+ "type": "string",
1125
+ "enum": [
1126
+ "instant",
1127
+ "timed",
1128
+ "permanent",
1129
+ "special"
1130
+ ]
1131
+ },
1132
+ "duration": {
1133
+ "type": "object",
1134
+ "properties": {
1135
+ "type": {
1136
+ "type": "string",
1137
+ "enum": [
1138
+ "hour",
1139
+ "minute",
1140
+ "turn",
1141
+ "round",
1142
+ "week",
1143
+ "day",
1144
+ "year"
1145
+ ]
1146
+ },
1147
+ "amount": {
1148
+ "type": "integer"
1149
+ },
1150
+ "upTo": {
1151
+ "type": "boolean"
1152
+ }
1153
+ },
1154
+ "required": [
1155
+ "type"
1156
+ ],
1157
+ "additionalProperties": false
1158
+ },
1159
+ "concentration": {
1160
+ "type": "boolean"
1161
+ },
1162
+ "ends": {
1163
+ "type": "array",
1164
+ "items": {
1165
+ "type": "string",
1166
+ "description": "The examples given are short forms that are automatically expanded to \"discharged\", \"dispelled\" & \"triggered\".\nHomebrew files should state custom end conditions in full.",
1167
+ "enum": [
1168
+ "dispel",
1169
+ "trigger",
1170
+ "discharge"
1171
+ ]
1172
+ }
1173
+ },
1174
+ "condition": {
1175
+ "type": "string"
1176
+ }
1177
+ },
1178
+ "required": [
1179
+ "type"
1180
+ ],
1181
+ "additionalProperties": false
1182
+ },
1183
+ "class": {
1184
+ "type": "object",
1185
+ "properties": {
1186
+ "name": {
1187
+ "type": "string"
1188
+ },
1189
+ "source": {
1190
+ "type": "string"
1191
+ },
1192
+ "definedInSource": {
1193
+ "type": "string"
1194
+ }
1195
+ },
1196
+ "required": [
1197
+ "name",
1198
+ "source"
1199
+ ],
1200
+ "additionalProperties": false
1201
+ },
1202
+ "scalingLevelDiceItem": {
1203
+ "type": "object",
1204
+ "properties": {
1205
+ "label": {
1206
+ "type": "string"
1207
+ },
1208
+ "scaling": {
1209
+ "type": "object",
1210
+ "patternProperties": {
1211
+ "\\d+": {
1212
+ "type": "string"
1213
+ }
1214
+ },
1215
+ "additionalProperties": false
1216
+ }
1217
+ },
1218
+ "additionalProperties": false
1219
+ }
1220
+ },
1221
+ "properties": {
1222
+ "spell": {
1223
+ "type": "array",
1224
+ "items": {
1225
+ "$ref": "#/$defs/spell"
1226
+ },
1227
+ "minItems": 1,
1228
+ "uniqueItems": true
1229
+ },
1230
+ "_meta": {
1231
+ "$ref": "../util.json#/$defs/metaBlock"
1232
+ }
1233
+ },
1234
+ "required": [
1235
+ "spell"
1236
+ ],
1237
+ "additionalProperties": false
1238
+ }