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,854 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "vehicles.json",
4
+ "version": "1.7.0",
5
+ "type": "object",
6
+ "$defs": {
7
+ "vehicleTerrain": {
8
+ "description": "Note that a vehicle's \"primary\" terrain should be listed first.",
9
+ "type": "array",
10
+ "items": {
11
+ "type": "string",
12
+ "examples": [
13
+ "land",
14
+ "sea",
15
+ "air",
16
+ "space"
17
+ ]
18
+ }
19
+ },
20
+ "_vehicleCost": {
21
+ "description": "In copper pieces.",
22
+ "type": "number"
23
+ },
24
+ "spelljammerPaceObj": {
25
+ "type": "object",
26
+ "properties": {
27
+ "walk": {
28
+ "$ref": "#/$defs/_spelljammerPace"
29
+ },
30
+ "burrow": {
31
+ "$ref": "#/$defs/_spelljammerPace"
32
+ },
33
+ "climb": {
34
+ "$ref": "#/$defs/_spelljammerPace"
35
+ },
36
+ "fly": {
37
+ "$ref": "#/$defs/_spelljammerPace"
38
+ },
39
+ "swim": {
40
+ "$ref": "#/$defs/_spelljammerPace"
41
+ }
42
+ },
43
+ "additionalProperties": false
44
+ },
45
+ "_spelljammerPace": {
46
+ "type": [
47
+ "string",
48
+ "number"
49
+ ]
50
+ },
51
+ "vehicle": {
52
+ "oneOf": [
53
+ {
54
+ "$ref": "#/$defs/vehicleShip"
55
+ },
56
+ {
57
+ "$ref": "#/$defs/vehicleSpelljammer"
58
+ },
59
+ {
60
+ "$ref": "#/$defs/vehicleInfernalWarMachine"
61
+ },
62
+ {
63
+ "$ref": "#/$defs/vehicleCreature"
64
+ },
65
+ {
66
+ "$ref": "#/$defs/vehicleObject"
67
+ }
68
+ ]
69
+ },
70
+ "vehicleUpgrade": {
71
+ "type": "object",
72
+ "properties": {
73
+ "name": {
74
+ "type": "string"
75
+ },
76
+ "entries": {
77
+ "type": "array",
78
+ "items": {
79
+ "$ref": "entry.json"
80
+ }
81
+ },
82
+ "source": {
83
+ "type": "string"
84
+ },
85
+ "page": {
86
+ "$ref": "util.json#/$defs/page"
87
+ },
88
+ "otherSources": {
89
+ "$ref": "util.json#/$defs/otherSources"
90
+ },
91
+ "upgradeType": {
92
+ "type": "array",
93
+ "items": {
94
+ "$ref": "util.json#/$defs/dataOptionalfeatureType",
95
+ "type": "string"
96
+ }
97
+ },
98
+ "hasFluff": {
99
+ "type": "boolean"
100
+ },
101
+ "hasFluffImages": {
102
+ "type": "boolean"
103
+ }
104
+ },
105
+ "required": [
106
+ "name",
107
+ "entries",
108
+ "source",
109
+ "upgradeType"
110
+ ],
111
+ "additionalProperties": false
112
+ },
113
+ "vehicleShip": {
114
+ "type": "object",
115
+ "properties": {
116
+ "name": {
117
+ "type": "string"
118
+ },
119
+ "source": {
120
+ "type": "string"
121
+ },
122
+ "page": {
123
+ "$ref": "util.json#/$defs/page"
124
+ },
125
+ "otherSources": {
126
+ "$ref": "util.json#/$defs/otherSources"
127
+ },
128
+ "vehicleType": {
129
+ "const": "SHIP"
130
+ },
131
+ "terrain": {
132
+ "$ref": "#/$defs/vehicleTerrain"
133
+ },
134
+ "size": {
135
+ "type": "string"
136
+ },
137
+ "dimensions": {
138
+ "type": "array",
139
+ "items": {
140
+ "type": "string"
141
+ }
142
+ },
143
+ "capCrew": {
144
+ "type": "integer"
145
+ },
146
+ "capPassenger": {
147
+ "type": "integer"
148
+ },
149
+ "capCargo": {
150
+ "type": [
151
+ "number",
152
+ "string"
153
+ ]
154
+ },
155
+ "pace": {
156
+ "type": [
157
+ "number"
158
+ ]
159
+ },
160
+ "str": {
161
+ "type": "integer"
162
+ },
163
+ "dex": {
164
+ "type": "integer"
165
+ },
166
+ "con": {
167
+ "type": "integer"
168
+ },
169
+ "int": {
170
+ "type": "integer"
171
+ },
172
+ "wis": {
173
+ "type": "integer"
174
+ },
175
+ "cha": {
176
+ "type": "integer"
177
+ },
178
+ "conditionImmune": {
179
+ "type": "array",
180
+ "items": {
181
+ "$ref": "entry.json#/$defs/dataCondImmune"
182
+ }
183
+ },
184
+ "immune": {
185
+ "type": "array",
186
+ "items": {
187
+ "$ref": "entry.json#/$defs/dataDamImmune"
188
+ }
189
+ },
190
+ "actionThresholds": {
191
+ "type": "object",
192
+ "description": "A map of \"number of vehicle actions\": \"number of remaining crew members\"",
193
+ "patternProperties": {
194
+ "\\d+": {
195
+ "type": "integer"
196
+ }
197
+ }
198
+ },
199
+ "action": {
200
+ "type": "array",
201
+ "items": {
202
+ "$ref": "entry.json"
203
+ }
204
+ },
205
+ "hull": {
206
+ "type": "object",
207
+ "properties": {
208
+ "ac": {
209
+ "type": "integer"
210
+ },
211
+ "hp": {
212
+ "type": "integer"
213
+ },
214
+ "hpNote": {
215
+ "type": "string"
216
+ },
217
+ "dt": {
218
+ "type": "integer",
219
+ "description": "Damage Threshold"
220
+ }
221
+ },
222
+ "required": [
223
+ "ac",
224
+ "hp"
225
+ ],
226
+ "additionalProperties": false
227
+ },
228
+ "control": {
229
+ "type": "array",
230
+ "items": {
231
+ "type": "object",
232
+ "properties": {
233
+ "name": {
234
+ "type": "string"
235
+ },
236
+ "ac": {
237
+ "type": "integer"
238
+ },
239
+ "hp": {
240
+ "type": "integer"
241
+ },
242
+ "dt": {
243
+ "type": "integer",
244
+ "description": "Damage Threshold"
245
+ },
246
+ "entries": {
247
+ "type": "array",
248
+ "items": {
249
+ "$ref": "entry.json"
250
+ }
251
+ }
252
+ },
253
+ "required": [
254
+ "ac",
255
+ "hp",
256
+ "entries"
257
+ ],
258
+ "additionalProperties": false
259
+ }
260
+ },
261
+ "movement": {
262
+ "type": "array",
263
+ "items": {
264
+ "type": "object",
265
+ "properties": {
266
+ "name": {
267
+ "type": "string"
268
+ },
269
+ "isControl": {
270
+ "type": "boolean"
271
+ },
272
+ "ac": {
273
+ "type": "integer"
274
+ },
275
+ "hp": {
276
+ "type": "integer"
277
+ },
278
+ "hpNote": {
279
+ "type": "string"
280
+ },
281
+ "dt": {
282
+ "type": "integer",
283
+ "description": "Damage Threshold"
284
+ },
285
+ "locomotion": {
286
+ "description": "Legacy format, from the original UA release.",
287
+ "type": "array",
288
+ "items": {
289
+ "type": "object",
290
+ "properties": {
291
+ "mode": {
292
+ "type": "string"
293
+ },
294
+ "entries": {
295
+ "type": "array",
296
+ "items": {
297
+ "$ref": "entry.json"
298
+ }
299
+ }
300
+ },
301
+ "required": [
302
+ "mode",
303
+ "entries"
304
+ ],
305
+ "additionalProperties": false
306
+ }
307
+ },
308
+ "speed": {
309
+ "type": "array",
310
+ "items": {
311
+ "type": "object",
312
+ "properties": {
313
+ "mode": {
314
+ "type": "string"
315
+ },
316
+ "entries": {
317
+ "type": "array",
318
+ "items": {
319
+ "$ref": "entry.json"
320
+ }
321
+ }
322
+ },
323
+ "required": [
324
+ "mode",
325
+ "entries"
326
+ ],
327
+ "additionalProperties": false
328
+ }
329
+ }
330
+ },
331
+ "required": [
332
+ "ac",
333
+ "hp"
334
+ ],
335
+ "additionalProperties": false
336
+ }
337
+ },
338
+ "weapon": {
339
+ "type": "array",
340
+ "items": {
341
+ "type": "object",
342
+ "properties": {
343
+ "name": {
344
+ "type": "string"
345
+ },
346
+ "ac": {
347
+ "type": "integer"
348
+ },
349
+ "hp": {
350
+ "type": "integer"
351
+ },
352
+ "count": {
353
+ "type": "integer"
354
+ },
355
+ "dt": {
356
+ "type": "integer",
357
+ "description": "Damage Threshold"
358
+ },
359
+ "entries": {
360
+ "type": "array",
361
+ "items": {
362
+ "$ref": "entry.json"
363
+ }
364
+ }
365
+ },
366
+ "required": [
367
+ "name",
368
+ "entries"
369
+ ],
370
+ "additionalProperties": false
371
+ }
372
+ },
373
+ "other": {
374
+ "type": "array",
375
+ "items": {
376
+ "type": "object",
377
+ "properties": {
378
+ "name": {
379
+ "type": "string"
380
+ },
381
+ "entries": {
382
+ "type": "array",
383
+ "items": {
384
+ "$ref": "entry.json"
385
+ }
386
+ }
387
+ },
388
+ "required": [
389
+ "entries"
390
+ ],
391
+ "additionalProperties": false
392
+ }
393
+ },
394
+ "trait": {
395
+ "oneOf": [
396
+ {
397
+ "type": "array",
398
+ "items": {
399
+ "type": "object",
400
+ "properties": {
401
+ "name": {
402
+ "type": "string"
403
+ },
404
+ "entries": {
405
+ "type": "array",
406
+ "items": {
407
+ "$ref": "entry.json"
408
+ }
409
+ },
410
+ "type": {
411
+ "type": "string",
412
+ "enum": [
413
+ "entries",
414
+ "inset"
415
+ ]
416
+ },
417
+ "sort": {
418
+ "description": "Forces a sort order. Traits with sort orders will always be arranged before those without.",
419
+ "type": "integer"
420
+ }
421
+ },
422
+ "required": [
423
+ "name",
424
+ "entries"
425
+ ],
426
+ "additionalProperties": false
427
+ }
428
+ },
429
+ {
430
+ "type": "null"
431
+ }
432
+ ]
433
+ },
434
+ "hasToken": {
435
+ "type": "boolean"
436
+ },
437
+ "hasFluff": {
438
+ "type": "boolean"
439
+ },
440
+ "hasFluffImages": {
441
+ "type": "boolean"
442
+ },
443
+ "fluff": {
444
+ "description": "This is intended to be used for Homebrew only - site data should include a fluff file per source",
445
+ "$ref": "util.json#/$defs/fluffObject"
446
+ },
447
+ "tokenUrl": {
448
+ "type": "string"
449
+ },
450
+ "foundrySystem": {
451
+ "$ref": "util.json#/$defs/foundrySystemObject"
452
+ },
453
+ "foundryFlags": {
454
+ "$ref": "util.json#/$defs/foundryFlagsObject"
455
+ },
456
+ "foundryImg": {
457
+ "$ref": "util.json#/$defs/foundryImg"
458
+ }
459
+ },
460
+ "required": [
461
+ "name",
462
+ "source"
463
+ ],
464
+ "additionalProperties": false
465
+ },
466
+ "vehicleSpelljammer": {
467
+ "type": "object",
468
+ "properties": {
469
+ "name": {
470
+ "type": "string"
471
+ },
472
+ "source": {
473
+ "type": "string"
474
+ },
475
+ "page": {
476
+ "$ref": "util.json#/$defs/page"
477
+ },
478
+ "otherSources": {
479
+ "$ref": "util.json#/$defs/otherSources"
480
+ },
481
+ "vehicleType": {
482
+ "const": "SPELLJAMMER"
483
+ },
484
+ "terrain": {
485
+ "$ref": "#/$defs/vehicleTerrain"
486
+ },
487
+ "dimensions": {
488
+ "type": "array",
489
+ "items": {
490
+ "type": "string"
491
+ }
492
+ },
493
+ "capCrew": {
494
+ "type": "integer"
495
+ },
496
+ "capCrewNote": {
497
+ "type": "string"
498
+ },
499
+ "capCargo": {
500
+ "type": [
501
+ "number",
502
+ "string"
503
+ ]
504
+ },
505
+ "pace": {
506
+ "$ref": "#/$defs/spelljammerPaceObj"
507
+ },
508
+ "speed": {
509
+ "$ref": "util.json#/$defs/speed"
510
+ },
511
+ "hull": {
512
+ "type": "object",
513
+ "properties": {
514
+ "ac": {
515
+ "type": "integer"
516
+ },
517
+ "acFrom": {
518
+ "type": "array",
519
+ "items": {
520
+ "type": "string"
521
+ }
522
+ },
523
+ "hp": {
524
+ "type": "integer"
525
+ },
526
+ "dt": {
527
+ "type": "integer",
528
+ "description": "Damage Threshold"
529
+ }
530
+ },
531
+ "required": [
532
+ "ac",
533
+ "hp"
534
+ ],
535
+ "additionalProperties": false
536
+ },
537
+ "cost": {
538
+ "$ref": "#/$defs/_vehicleCost"
539
+ },
540
+ "weapon": {
541
+ "type": "array",
542
+ "items": {
543
+ "type": "object",
544
+ "properties": {
545
+ "name": {
546
+ "type": "string"
547
+ },
548
+ "ac": {
549
+ "type": "integer"
550
+ },
551
+ "hp": {
552
+ "type": "integer"
553
+ },
554
+ "count": {
555
+ "type": "integer"
556
+ },
557
+ "crew": {
558
+ "type": "integer"
559
+ },
560
+ "costs": {
561
+ "type": "array",
562
+ "items": {
563
+ "type": "object",
564
+ "properties": {
565
+ "cost": {
566
+ "$ref": "#/$defs/_vehicleCost"
567
+ },
568
+ "note": {
569
+ "type": "string"
570
+ }
571
+ },
572
+ "additionalProperties": false
573
+ }
574
+ },
575
+ "entries": {
576
+ "type": "array",
577
+ "items": {
578
+ "$ref": "entry.json"
579
+ }
580
+ },
581
+ "action": {
582
+ "type": "array",
583
+ "items": {
584
+ "type": "object",
585
+ "properties": {
586
+ "name": {
587
+ "type": "string"
588
+ },
589
+ "entries": {
590
+ "type": "array",
591
+ "items": {
592
+ "$ref": "entry.json"
593
+ }
594
+ }
595
+ },
596
+ "additionalProperties": false
597
+ }
598
+ }
599
+ },
600
+ "required": [
601
+ "name",
602
+ "entries"
603
+ ],
604
+ "additionalProperties": false
605
+ }
606
+ },
607
+ "hasToken": {
608
+ "type": "boolean"
609
+ },
610
+ "hasFluff": {
611
+ "type": "boolean"
612
+ },
613
+ "hasFluffImages": {
614
+ "type": "boolean"
615
+ },
616
+ "fluff": {
617
+ "description": "This is intended to be used for Homebrew only - site data should include a fluff file per source",
618
+ "$ref": "util.json#/$defs/fluffObject"
619
+ },
620
+ "tokenUrl": {
621
+ "type": "string"
622
+ },
623
+ "foundrySystem": {
624
+ "$ref": "util.json#/$defs/foundrySystemObject"
625
+ },
626
+ "foundryFlags": {
627
+ "$ref": "util.json#/$defs/foundryFlagsObject"
628
+ },
629
+ "foundryImg": {
630
+ "$ref": "util.json#/$defs/foundryImg"
631
+ }
632
+ },
633
+ "required": [
634
+ "name",
635
+ "source"
636
+ ],
637
+ "additionalProperties": false
638
+ },
639
+ "vehicleInfernalWarMachine": {
640
+ "type": "object",
641
+ "properties": {
642
+ "name": {
643
+ "type": "string"
644
+ },
645
+ "source": {
646
+ "type": "string"
647
+ },
648
+ "page": {
649
+ "$ref": "util.json#/$defs/page"
650
+ },
651
+ "otherSources": {
652
+ "$ref": "util.json#/$defs/otherSources"
653
+ },
654
+ "vehicleType": {
655
+ "const": "INFWAR"
656
+ },
657
+ "terrain": {
658
+ "$ref": "#/$defs/vehicleTerrain"
659
+ },
660
+ "size": {
661
+ "type": "string"
662
+ },
663
+ "weight": {
664
+ "type": "integer"
665
+ },
666
+ "capCreature": {
667
+ "type": "number"
668
+ },
669
+ "capCargo": {
670
+ "type": "number"
671
+ },
672
+ "speed": {
673
+ "type": "integer"
674
+ },
675
+ "str": {
676
+ "type": "integer"
677
+ },
678
+ "dex": {
679
+ "type": "integer"
680
+ },
681
+ "con": {
682
+ "type": "integer"
683
+ },
684
+ "int": {
685
+ "type": "integer"
686
+ },
687
+ "wis": {
688
+ "type": "integer"
689
+ },
690
+ "cha": {
691
+ "type": "integer"
692
+ },
693
+ "hp": {
694
+ "type": "object",
695
+ "properties": {
696
+ "hp": {
697
+ "type": "integer",
698
+ "description": "Hit Points"
699
+ },
700
+ "dt": {
701
+ "type": "integer",
702
+ "description": "Damage Threshold"
703
+ },
704
+ "mt": {
705
+ "type": "integer",
706
+ "description": "Mishap Threshold"
707
+ }
708
+ },
709
+ "additionalProperties": false,
710
+ "required": [
711
+ "hp",
712
+ "dt",
713
+ "mt"
714
+ ]
715
+ },
716
+ "conditionImmune": {
717
+ "type": "array",
718
+ "items": {
719
+ "$ref": "entry.json#/$defs/dataCondImmune"
720
+ }
721
+ },
722
+ "immune": {
723
+ "type": "array",
724
+ "items": {
725
+ "$ref": "entry.json#/$defs/dataDamImmune"
726
+ }
727
+ },
728
+ "trait": {
729
+ "type": "array",
730
+ "items": {
731
+ "type": "object",
732
+ "properties": {
733
+ "name": {
734
+ "type": "string"
735
+ },
736
+ "entries": {
737
+ "type": "array",
738
+ "items": {
739
+ "$ref": "entry.json"
740
+ }
741
+ }
742
+ }
743
+ }
744
+ },
745
+ "actionStation": {
746
+ "type": "array",
747
+ "description": "The Action Stations section of a vehicle block, for example the \"Helm\" or a weapon.",
748
+ "items": {
749
+ "type": "object",
750
+ "properties": {
751
+ "name": {
752
+ "type": "string"
753
+ },
754
+ "entries": {
755
+ "type": "array",
756
+ "items": {
757
+ "$ref": "entry.json"
758
+ }
759
+ }
760
+ }
761
+ }
762
+ },
763
+ "reaction": {
764
+ "type": "array",
765
+ "items": {
766
+ "type": "object",
767
+ "properties": {
768
+ "name": {
769
+ "type": "string"
770
+ },
771
+ "entries": {
772
+ "type": "array",
773
+ "items": {
774
+ "$ref": "entry.json"
775
+ }
776
+ }
777
+ }
778
+ }
779
+ },
780
+ "hasToken": {
781
+ "type": "boolean"
782
+ },
783
+ "hasFluff": {
784
+ "type": "boolean"
785
+ },
786
+ "hasFluffImages": {
787
+ "type": "boolean"
788
+ },
789
+ "fluff": {
790
+ "description": "This is intended to be used for Homebrew only - site data should include a fluff file per source",
791
+ "$ref": "util.json#/$defs/fluffObject"
792
+ },
793
+ "tokenUrl": {
794
+ "type": "string"
795
+ },
796
+ "foundrySystem": {
797
+ "$ref": "util.json#/$defs/foundrySystemObject"
798
+ },
799
+ "foundryFlags": {
800
+ "$ref": "util.json#/$defs/foundryFlagsObject"
801
+ },
802
+ "foundryImg": {
803
+ "$ref": "util.json#/$defs/foundryImg"
804
+ }
805
+ },
806
+ "required": [
807
+ "name",
808
+ "source"
809
+ ],
810
+ "additionalProperties": false
811
+ },
812
+ "vehicleCreature": {
813
+ "type": "object",
814
+ "properties": {
815
+ "vehicleType": {
816
+ "const": "CREATURE"
817
+ },
818
+ "terrain": {
819
+ "$ref": "#/$defs/vehicleTerrain"
820
+ }
821
+ }
822
+ },
823
+ "vehicleObject": {
824
+ "type": "object",
825
+ "properties": {
826
+ "vehicleType": {
827
+ "const": "OBJECT"
828
+ },
829
+ "terrain": {
830
+ "$ref": "#/$defs/vehicleTerrain"
831
+ }
832
+ }
833
+ }
834
+ },
835
+ "properties": {
836
+ "vehicle": {
837
+ "type": "array",
838
+ "minItems": 1,
839
+ "uniqueItems": true,
840
+ "items": {
841
+ "$ref": "#/$defs/vehicle"
842
+ }
843
+ },
844
+ "vehicleUpgrade": {
845
+ "type": "array",
846
+ "minItems": 1,
847
+ "uniqueItems": true,
848
+ "items": {
849
+ "$ref": "#/$defs/vehicleUpgrade"
850
+ }
851
+ }
852
+ },
853
+ "additionalProperties": false
854
+ }