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,1722 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "items.json",
4
+ "version": "1.13.0",
5
+ "type": "object",
6
+ "$defs": {
7
+ "itemData": {
8
+ "type": "object",
9
+ "properties": {
10
+ "name": {
11
+ "type": "string"
12
+ },
13
+ "type": {
14
+ "$ref": "items-shared.json#/$defs/itemType"
15
+ },
16
+ "typeAlt": {
17
+ "$ref": "items-shared.json#/$defs/itemType"
18
+ },
19
+ "rarity": {
20
+ "$ref": "items-shared.json#/$defs/itemRarity"
21
+ },
22
+ "source": {
23
+ "type": "string"
24
+ },
25
+ "page": {
26
+ "$ref": "util.json#/$defs/page"
27
+ },
28
+ "additionalSources": {
29
+ "$ref": "util.json#/$defs/additionalSources"
30
+ },
31
+ "baseItem": {
32
+ "type": "string"
33
+ },
34
+ "ac": {
35
+ "type": "integer"
36
+ },
37
+ "age": {
38
+ "$ref": "items-shared.json#/$defs/itemAge"
39
+ },
40
+ "axe": {
41
+ "type": "boolean"
42
+ },
43
+ "carryingCapacity": {
44
+ "type": "integer",
45
+ "description": "Of a mount/beast, not a container."
46
+ },
47
+ "dmg1": {
48
+ "type": "string"
49
+ },
50
+ "dmg2": {
51
+ "type": "string",
52
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
53
+ },
54
+ "dmgType": {
55
+ "$ref": "util.json#/$defs/dataDamageTags"
56
+ },
57
+ "entries": {
58
+ "type": "array",
59
+ "items": {
60
+ "$ref": "entry.json"
61
+ }
62
+ },
63
+ "additionalEntries": {
64
+ "type": "array",
65
+ "items": {
66
+ "$ref": "entry.json"
67
+ }
68
+ },
69
+ "property": {
70
+ "$ref": "items-shared.json#/$defs/itemProperty"
71
+ },
72
+ "range": {
73
+ "type": "string"
74
+ },
75
+ "reload": {
76
+ "type": [
77
+ "string",
78
+ "integer"
79
+ ]
80
+ },
81
+ "reqAttune": {
82
+ "type": [
83
+ "string",
84
+ "boolean"
85
+ ]
86
+ },
87
+ "reqAttuneAlt": {
88
+ "description": "Used for filtering.",
89
+ "type": [
90
+ "string",
91
+ "boolean"
92
+ ]
93
+ },
94
+ "curse": {
95
+ "type": "boolean"
96
+ },
97
+ "vulnerable": {
98
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
99
+ },
100
+ "resist": {
101
+ "$ref": "util.json#/$defs/damageResistArray"
102
+ },
103
+ "immune": {
104
+ "$ref": "util.json#/$defs/damageImmunityArray"
105
+ },
106
+ "conditionImmune": {
107
+ "$ref": "util.json#/$defs/conditionImmunityArray"
108
+ },
109
+ "detail1": {
110
+ "description": "A descriptive field that can be used to complete entries in variants.",
111
+ "type": "string"
112
+ },
113
+ "scfType": {
114
+ "$ref": "items-shared.json#/$defs/itemScfType"
115
+ },
116
+ "speed": {
117
+ "type": "integer"
118
+ },
119
+ "stealth": {
120
+ "type": "boolean"
121
+ },
122
+ "strength": {
123
+ "type": [
124
+ "string",
125
+ "null"
126
+ ]
127
+ },
128
+ "dexterityMax": {
129
+ "description": "Maximum dexterity modifier for medium armor.",
130
+ "type": [
131
+ "integer",
132
+ "null"
133
+ ]
134
+ },
135
+ "sword": {
136
+ "type": "boolean"
137
+ },
138
+ "firearm": {
139
+ "type": "boolean"
140
+ },
141
+ "staff": {
142
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
143
+ "type": "boolean"
144
+ },
145
+ "tier": {
146
+ "$ref": "items-shared.json#/$defs/itemTier"
147
+ },
148
+ "value": {
149
+ "description": "In copper pieces.",
150
+ "type": [
151
+ "number",
152
+ "null"
153
+ ]
154
+ },
155
+ "valueMult": {
156
+ "type": "number"
157
+ },
158
+ "weapon": {
159
+ "type": "boolean"
160
+ },
161
+ "weaponCategory": {
162
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
163
+ },
164
+ "weight": {
165
+ "type": "number"
166
+ },
167
+ "weightMult": {
168
+ "type": "number"
169
+ },
170
+ "weightNote": {
171
+ "type": "string"
172
+ },
173
+ "wondrous": {
174
+ "type": "boolean"
175
+ },
176
+ "tattoo": {
177
+ "type": "boolean"
178
+ },
179
+ "sentient": {
180
+ "type": "boolean"
181
+ },
182
+ "poison": {
183
+ "type": "boolean"
184
+ },
185
+ "poisonTypes": {
186
+ "type": "array",
187
+ "items": {
188
+ "type": "string",
189
+ "enum": [
190
+ "contact",
191
+ "ingested",
192
+ "injury",
193
+ "inhaled"
194
+ ]
195
+ }
196
+ },
197
+ "crew": {
198
+ "type": "integer"
199
+ },
200
+ "crewMin": {
201
+ "description": "For crews specified as an X-Y min-max.",
202
+ "type": "integer"
203
+ },
204
+ "crewMax": {
205
+ "description": "For crews specified as an X-Y min-max.",
206
+ "type": "integer"
207
+ },
208
+ "capPassenger": {
209
+ "type": "integer"
210
+ },
211
+ "capCargo": {
212
+ "type": "number"
213
+ },
214
+ "vehSpeed": {
215
+ "type": "number"
216
+ },
217
+ "vehAc": {
218
+ "type": "integer"
219
+ },
220
+ "vehHp": {
221
+ "type": "integer"
222
+ },
223
+ "vehDmgThresh": {
224
+ "type": "integer"
225
+ },
226
+ "travelCost": {
227
+ "description": "In copper pieces per mile per passenger.",
228
+ "type": "integer"
229
+ },
230
+ "shippingCost": {
231
+ "description": "In copper pieces per 100 lbs per mile.",
232
+ "type": "integer"
233
+ },
234
+ "charges": {
235
+ "type": [
236
+ "string",
237
+ "integer"
238
+ ]
239
+ },
240
+ "recharge": {
241
+ "$ref": "items-shared.json#/$defs/itemRecharge"
242
+ },
243
+ "rechargeAmount": {
244
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
245
+ },
246
+ "optionalfeatures": {
247
+ "type": "array",
248
+ "items": {
249
+ "type": "string"
250
+ }
251
+ },
252
+ "attachedSpells": {
253
+ "type": "array",
254
+ "items": {
255
+ "type": "string"
256
+ }
257
+ },
258
+ "items": {
259
+ "description": "This is required for itemGroup entries.",
260
+ "type": "array",
261
+ "minItems": 1,
262
+ "uniqueItems": true,
263
+ "items": {
264
+ "type": "string"
265
+ }
266
+ },
267
+ "ability": {
268
+ "description": "Item ability score adjustments.",
269
+ "type": "object",
270
+ "properties": {
271
+ "choose": {
272
+ "type": "array",
273
+ "items": {
274
+ "type": "object",
275
+ "properties": {
276
+ "from": {
277
+ "type": "array",
278
+ "items": {
279
+ "enum": [
280
+ "str",
281
+ "dex",
282
+ "con",
283
+ "int",
284
+ "wis",
285
+ "cha"
286
+ ]
287
+ },
288
+ "uniqueItems": true
289
+ },
290
+ "count": {
291
+ "type": "integer"
292
+ },
293
+ "amount": {
294
+ "type": "integer"
295
+ }
296
+ },
297
+ "required": [
298
+ "from"
299
+ ],
300
+ "additionalProperties": false
301
+ }
302
+ },
303
+ "static": {
304
+ "type": "object",
305
+ "properties": {
306
+ "str": {
307
+ "type": "integer"
308
+ },
309
+ "dex": {
310
+ "type": "integer"
311
+ },
312
+ "con": {
313
+ "type": "integer"
314
+ },
315
+ "int": {
316
+ "type": "integer"
317
+ },
318
+ "wis": {
319
+ "type": "integer"
320
+ },
321
+ "cha": {
322
+ "type": "integer"
323
+ }
324
+ },
325
+ "additionalProperties": false
326
+ },
327
+ "str": {
328
+ "type": "integer"
329
+ },
330
+ "dex": {
331
+ "type": "integer"
332
+ },
333
+ "con": {
334
+ "type": "integer"
335
+ },
336
+ "int": {
337
+ "type": "integer"
338
+ },
339
+ "wis": {
340
+ "type": "integer"
341
+ },
342
+ "cha": {
343
+ "type": "integer"
344
+ }
345
+ }
346
+ },
347
+ "focus": {
348
+ "description": "Item can be used as a spellcasting focus",
349
+ "oneOf": [
350
+ {
351
+ "type": "boolean"
352
+ },
353
+ {
354
+ "type": "array",
355
+ "items": {
356
+ "type": "string",
357
+ "enum": [
358
+ "Artificer",
359
+ "Bard",
360
+ "Cleric",
361
+ "Druid",
362
+ "Paladin",
363
+ "Ranger",
364
+ "Sorcerer",
365
+ "Warlock",
366
+ "Wizard"
367
+ ]
368
+ }
369
+ }
370
+ ]
371
+ },
372
+ "lootTables": {
373
+ "type": "array",
374
+ "items": {
375
+ "type": "string"
376
+ }
377
+ },
378
+ "critThreshold": {
379
+ "type": "integer"
380
+ },
381
+ "bonusAc": {
382
+ "type": "string"
383
+ },
384
+ "bonusWeapon": {
385
+ "type": "string"
386
+ },
387
+ "bonusWeaponAttack": {
388
+ "type": "string"
389
+ },
390
+ "bonusWeaponDamage": {
391
+ "type": "string"
392
+ },
393
+ "bonusWeaponCritDamage": {
394
+ "type": "string"
395
+ },
396
+ "bonusSpellAttack": {
397
+ "type": "string"
398
+ },
399
+ "bonusSpellDamage": {
400
+ "type": "string"
401
+ },
402
+ "bonusSpellSaveDc": {
403
+ "type": "string"
404
+ },
405
+ "bonusSavingThrow": {
406
+ "type": "string"
407
+ },
408
+ "bonusAbilityCheck": {
409
+ "type": "string"
410
+ },
411
+ "bonusProficiencyBonus": {
412
+ "type": "string"
413
+ },
414
+ "modifySpeed": {
415
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
416
+ },
417
+ "otherSources": {
418
+ "$ref": "util.json#/$defs/otherSources"
419
+ },
420
+ "srd": {
421
+ "$ref": "util.json#/$defs/srd"
422
+ },
423
+ "basicRules": {
424
+ "$ref": "util.json#/$defs/basicRules"
425
+ },
426
+ "packContents": {
427
+ "type": "array",
428
+ "items": {
429
+ "oneOf": [
430
+ {
431
+ "type": "string"
432
+ },
433
+ {
434
+ "type": "object",
435
+ "properties": {
436
+ "special": {
437
+ "type": "string"
438
+ },
439
+ "quantity": {
440
+ "type": "integer"
441
+ }
442
+ },
443
+ "additionalProperties": false,
444
+ "required": [
445
+ "special"
446
+ ]
447
+ },
448
+ {
449
+ "type": "object",
450
+ "properties": {
451
+ "item": {
452
+ "type": "string"
453
+ },
454
+ "quantity": {
455
+ "type": "integer"
456
+ }
457
+ },
458
+ "additionalProperties": false,
459
+ "required": [
460
+ "item",
461
+ "quantity"
462
+ ]
463
+ }
464
+ ]
465
+ }
466
+ },
467
+ "atomicPackContents": {
468
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
469
+ "type": "boolean"
470
+ },
471
+ "containerCapacity": {
472
+ "type": "object",
473
+ "properties": {
474
+ "weight": {
475
+ "type": "array",
476
+ "items": {
477
+ "type": "integer"
478
+ }
479
+ },
480
+ "item": {
481
+ "type": "array",
482
+ "items": {
483
+ "type": "object",
484
+ "patternProperties": {
485
+ ".*": {
486
+ "type": "integer"
487
+ }
488
+ },
489
+ "additionalProperties": false
490
+ }
491
+ },
492
+ "weightless": {
493
+ "description": "If the container renders its contents weightless.",
494
+ "type": "boolean"
495
+ }
496
+ },
497
+ "additionalProperties": false
498
+ },
499
+ "ammoType": {
500
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
501
+ },
502
+ "grantsProficiency": {
503
+ "type": "boolean"
504
+ },
505
+ "spellScrollLevel": {
506
+ "type": "integer"
507
+ },
508
+ "seeAlsoVehicle": {
509
+ "type": "array",
510
+ "items": {
511
+ "type": "string",
512
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
513
+ }
514
+ },
515
+ "reqAttuneTags": {
516
+ "$ref": "util.json#/$defs/reqAttuneTags"
517
+ },
518
+ "reqAttuneAltTags": {
519
+ "$ref": "util.json#/$defs/reqAttuneTags"
520
+ },
521
+ "miscTags": {
522
+ "type": "array",
523
+ "items": {
524
+ "description": "CF/W: Creates Food/Water",
525
+ "enum": [
526
+ "CF/W"
527
+ ]
528
+ }
529
+ },
530
+ "hasFluff": {
531
+ "type": "boolean"
532
+ },
533
+ "hasFluffImages": {
534
+ "type": "boolean"
535
+ },
536
+ "hasRefs": {
537
+ "type": "boolean",
538
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
539
+ }
540
+ },
541
+ "additionalProperties": false
542
+ },
543
+ "item": {
544
+ "anyOf": [
545
+ {
546
+ "type": "object",
547
+ "properties": {
548
+ "name": {
549
+ "type": "string"
550
+ },
551
+ "type": {
552
+ "$ref": "items-shared.json#/$defs/itemType"
553
+ },
554
+ "typeAlt": {
555
+ "$ref": "items-shared.json#/$defs/itemType"
556
+ },
557
+ "rarity": {
558
+ "$ref": "items-shared.json#/$defs/itemRarity"
559
+ },
560
+ "source": {
561
+ "type": "string"
562
+ },
563
+ "page": {
564
+ "$ref": "util.json#/$defs/page"
565
+ },
566
+ "additionalSources": {
567
+ "$ref": "util.json#/$defs/additionalSources"
568
+ },
569
+ "baseItem": {
570
+ "type": "string"
571
+ },
572
+ "ac": {
573
+ "type": "integer"
574
+ },
575
+ "age": {
576
+ "$ref": "items-shared.json#/$defs/itemAge"
577
+ },
578
+ "axe": {
579
+ "type": "boolean"
580
+ },
581
+ "carryingCapacity": {
582
+ "type": "integer",
583
+ "description": "Of a mount/beast, not a container."
584
+ },
585
+ "dmg1": {
586
+ "type": "string"
587
+ },
588
+ "dmg2": {
589
+ "type": "string",
590
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
591
+ },
592
+ "dmgType": {
593
+ "$ref": "util.json#/$defs/dataDamageTags"
594
+ },
595
+ "entries": {
596
+ "type": "array",
597
+ "items": {
598
+ "$ref": "entry.json"
599
+ }
600
+ },
601
+ "additionalEntries": {
602
+ "type": "array",
603
+ "items": {
604
+ "$ref": "entry.json"
605
+ }
606
+ },
607
+ "property": {
608
+ "$ref": "items-shared.json#/$defs/itemProperty"
609
+ },
610
+ "range": {
611
+ "type": "string"
612
+ },
613
+ "reload": {
614
+ "type": [
615
+ "string",
616
+ "integer"
617
+ ]
618
+ },
619
+ "reqAttune": {
620
+ "type": [
621
+ "string",
622
+ "boolean"
623
+ ]
624
+ },
625
+ "reqAttuneAlt": {
626
+ "description": "Used for filtering.",
627
+ "type": [
628
+ "string",
629
+ "boolean"
630
+ ]
631
+ },
632
+ "curse": {
633
+ "type": "boolean"
634
+ },
635
+ "vulnerable": {
636
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
637
+ },
638
+ "resist": {
639
+ "$ref": "util.json#/$defs/damageResistArray"
640
+ },
641
+ "immune": {
642
+ "$ref": "util.json#/$defs/damageImmunityArray"
643
+ },
644
+ "conditionImmune": {
645
+ "$ref": "util.json#/$defs/conditionImmunityArray"
646
+ },
647
+ "detail1": {
648
+ "description": "A descriptive field that can be used to complete entries in variants.",
649
+ "type": "string"
650
+ },
651
+ "scfType": {
652
+ "$ref": "items-shared.json#/$defs/itemScfType"
653
+ },
654
+ "speed": {
655
+ "type": "integer"
656
+ },
657
+ "stealth": {
658
+ "type": "boolean"
659
+ },
660
+ "strength": {
661
+ "type": [
662
+ "string",
663
+ "null"
664
+ ]
665
+ },
666
+ "dexterityMax": {
667
+ "description": "Maximum dexterity modifier for medium armor.",
668
+ "type": [
669
+ "integer",
670
+ "null"
671
+ ]
672
+ },
673
+ "sword": {
674
+ "type": "boolean"
675
+ },
676
+ "firearm": {
677
+ "type": "boolean"
678
+ },
679
+ "staff": {
680
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
681
+ "type": "boolean"
682
+ },
683
+ "tier": {
684
+ "$ref": "items-shared.json#/$defs/itemTier"
685
+ },
686
+ "value": {
687
+ "description": "In copper pieces.",
688
+ "type": [
689
+ "number",
690
+ "null"
691
+ ]
692
+ },
693
+ "valueMult": {
694
+ "type": "number"
695
+ },
696
+ "weapon": {
697
+ "type": "boolean"
698
+ },
699
+ "weaponCategory": {
700
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
701
+ },
702
+ "weight": {
703
+ "type": "number"
704
+ },
705
+ "weightMult": {
706
+ "type": "number"
707
+ },
708
+ "weightNote": {
709
+ "type": "string"
710
+ },
711
+ "wondrous": {
712
+ "type": "boolean"
713
+ },
714
+ "tattoo": {
715
+ "type": "boolean"
716
+ },
717
+ "sentient": {
718
+ "type": "boolean"
719
+ },
720
+ "poison": {
721
+ "type": "boolean"
722
+ },
723
+ "poisonTypes": {
724
+ "type": "array",
725
+ "items": {
726
+ "type": "string",
727
+ "enum": [
728
+ "contact",
729
+ "ingested",
730
+ "injury",
731
+ "inhaled"
732
+ ]
733
+ }
734
+ },
735
+ "crew": {
736
+ "type": "integer"
737
+ },
738
+ "crewMin": {
739
+ "description": "For crews specified as an X-Y min-max.",
740
+ "type": "integer"
741
+ },
742
+ "crewMax": {
743
+ "description": "For crews specified as an X-Y min-max.",
744
+ "type": "integer"
745
+ },
746
+ "capPassenger": {
747
+ "type": "integer"
748
+ },
749
+ "capCargo": {
750
+ "type": "number"
751
+ },
752
+ "vehSpeed": {
753
+ "type": "number"
754
+ },
755
+ "vehAc": {
756
+ "type": "integer"
757
+ },
758
+ "vehHp": {
759
+ "type": "integer"
760
+ },
761
+ "vehDmgThresh": {
762
+ "type": "integer"
763
+ },
764
+ "travelCost": {
765
+ "description": "In copper pieces per mile per passenger.",
766
+ "type": "integer"
767
+ },
768
+ "shippingCost": {
769
+ "description": "In copper pieces per 100 lbs per mile.",
770
+ "type": "integer"
771
+ },
772
+ "charges": {
773
+ "type": [
774
+ "string",
775
+ "integer"
776
+ ]
777
+ },
778
+ "recharge": {
779
+ "$ref": "items-shared.json#/$defs/itemRecharge"
780
+ },
781
+ "rechargeAmount": {
782
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
783
+ },
784
+ "optionalfeatures": {
785
+ "type": "array",
786
+ "items": {
787
+ "type": "string"
788
+ }
789
+ },
790
+ "attachedSpells": {
791
+ "type": "array",
792
+ "items": {
793
+ "type": "string"
794
+ }
795
+ },
796
+ "items": {
797
+ "description": "This is required for itemGroup entries.",
798
+ "type": "array",
799
+ "minItems": 1,
800
+ "uniqueItems": true,
801
+ "items": {
802
+ "type": "string"
803
+ }
804
+ },
805
+ "ability": {
806
+ "description": "Item ability score adjustments.",
807
+ "type": "object",
808
+ "properties": {
809
+ "choose": {
810
+ "type": "array",
811
+ "items": {
812
+ "type": "object",
813
+ "properties": {
814
+ "from": {
815
+ "type": "array",
816
+ "items": {
817
+ "enum": [
818
+ "str",
819
+ "dex",
820
+ "con",
821
+ "int",
822
+ "wis",
823
+ "cha"
824
+ ]
825
+ },
826
+ "uniqueItems": true
827
+ },
828
+ "count": {
829
+ "type": "integer"
830
+ },
831
+ "amount": {
832
+ "type": "integer"
833
+ }
834
+ },
835
+ "required": [
836
+ "from"
837
+ ],
838
+ "additionalProperties": false
839
+ }
840
+ },
841
+ "static": {
842
+ "type": "object",
843
+ "properties": {
844
+ "str": {
845
+ "type": "integer"
846
+ },
847
+ "dex": {
848
+ "type": "integer"
849
+ },
850
+ "con": {
851
+ "type": "integer"
852
+ },
853
+ "int": {
854
+ "type": "integer"
855
+ },
856
+ "wis": {
857
+ "type": "integer"
858
+ },
859
+ "cha": {
860
+ "type": "integer"
861
+ }
862
+ },
863
+ "additionalProperties": false
864
+ },
865
+ "str": {
866
+ "type": "integer"
867
+ },
868
+ "dex": {
869
+ "type": "integer"
870
+ },
871
+ "con": {
872
+ "type": "integer"
873
+ },
874
+ "int": {
875
+ "type": "integer"
876
+ },
877
+ "wis": {
878
+ "type": "integer"
879
+ },
880
+ "cha": {
881
+ "type": "integer"
882
+ }
883
+ }
884
+ },
885
+ "focus": {
886
+ "description": "Item can be used as a spellcasting focus",
887
+ "oneOf": [
888
+ {
889
+ "type": "boolean"
890
+ },
891
+ {
892
+ "type": "array",
893
+ "items": {
894
+ "type": "string",
895
+ "enum": [
896
+ "Artificer",
897
+ "Bard",
898
+ "Cleric",
899
+ "Druid",
900
+ "Paladin",
901
+ "Ranger",
902
+ "Sorcerer",
903
+ "Warlock",
904
+ "Wizard"
905
+ ]
906
+ }
907
+ }
908
+ ]
909
+ },
910
+ "lootTables": {
911
+ "type": "array",
912
+ "items": {
913
+ "type": "string"
914
+ }
915
+ },
916
+ "critThreshold": {
917
+ "type": "integer"
918
+ },
919
+ "bonusAc": {
920
+ "type": "string"
921
+ },
922
+ "bonusWeapon": {
923
+ "type": "string"
924
+ },
925
+ "bonusWeaponAttack": {
926
+ "type": "string"
927
+ },
928
+ "bonusWeaponDamage": {
929
+ "type": "string"
930
+ },
931
+ "bonusWeaponCritDamage": {
932
+ "type": "string"
933
+ },
934
+ "bonusSpellAttack": {
935
+ "type": "string"
936
+ },
937
+ "bonusSpellDamage": {
938
+ "type": "string"
939
+ },
940
+ "bonusSpellSaveDc": {
941
+ "type": "string"
942
+ },
943
+ "bonusSavingThrow": {
944
+ "type": "string"
945
+ },
946
+ "bonusAbilityCheck": {
947
+ "type": "string"
948
+ },
949
+ "bonusProficiencyBonus": {
950
+ "type": "string"
951
+ },
952
+ "modifySpeed": {
953
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
954
+ },
955
+ "otherSources": {
956
+ "$ref": "util.json#/$defs/otherSources"
957
+ },
958
+ "srd": {
959
+ "$ref": "util.json#/$defs/srd"
960
+ },
961
+ "basicRules": {
962
+ "$ref": "util.json#/$defs/basicRules"
963
+ },
964
+ "packContents": {
965
+ "type": "array",
966
+ "items": {
967
+ "oneOf": [
968
+ {
969
+ "type": "string"
970
+ },
971
+ {
972
+ "type": "object",
973
+ "properties": {
974
+ "special": {
975
+ "type": "string"
976
+ },
977
+ "quantity": {
978
+ "type": "integer"
979
+ }
980
+ },
981
+ "additionalProperties": false,
982
+ "required": [
983
+ "special"
984
+ ]
985
+ },
986
+ {
987
+ "type": "object",
988
+ "properties": {
989
+ "item": {
990
+ "type": "string"
991
+ },
992
+ "quantity": {
993
+ "type": "integer"
994
+ }
995
+ },
996
+ "additionalProperties": false,
997
+ "required": [
998
+ "item",
999
+ "quantity"
1000
+ ]
1001
+ }
1002
+ ]
1003
+ }
1004
+ },
1005
+ "atomicPackContents": {
1006
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
1007
+ "type": "boolean"
1008
+ },
1009
+ "containerCapacity": {
1010
+ "type": "object",
1011
+ "properties": {
1012
+ "weight": {
1013
+ "type": "array",
1014
+ "items": {
1015
+ "type": "integer"
1016
+ }
1017
+ },
1018
+ "item": {
1019
+ "type": "array",
1020
+ "items": {
1021
+ "type": "object",
1022
+ "patternProperties": {
1023
+ ".*": {
1024
+ "type": "integer"
1025
+ }
1026
+ },
1027
+ "additionalProperties": false
1028
+ }
1029
+ },
1030
+ "weightless": {
1031
+ "description": "If the container renders its contents weightless.",
1032
+ "type": "boolean"
1033
+ }
1034
+ },
1035
+ "additionalProperties": false
1036
+ },
1037
+ "ammoType": {
1038
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
1039
+ },
1040
+ "grantsProficiency": {
1041
+ "type": "boolean"
1042
+ },
1043
+ "spellScrollLevel": {
1044
+ "type": "integer"
1045
+ },
1046
+ "seeAlsoVehicle": {
1047
+ "type": "array",
1048
+ "items": {
1049
+ "type": "string",
1050
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
1051
+ }
1052
+ },
1053
+ "reqAttuneTags": {
1054
+ "$ref": "util.json#/$defs/reqAttuneTags"
1055
+ },
1056
+ "reqAttuneAltTags": {
1057
+ "$ref": "util.json#/$defs/reqAttuneTags"
1058
+ },
1059
+ "miscTags": {
1060
+ "type": "array",
1061
+ "items": {
1062
+ "description": "CF/W: Creates Food/Water",
1063
+ "enum": [
1064
+ "CF/W"
1065
+ ]
1066
+ }
1067
+ },
1068
+ "hasFluff": {
1069
+ "type": "boolean"
1070
+ },
1071
+ "hasFluffImages": {
1072
+ "type": "boolean"
1073
+ },
1074
+ "hasRefs": {
1075
+ "type": "boolean",
1076
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1077
+ }
1078
+ },
1079
+ "additionalProperties": false,
1080
+ "required": [
1081
+ "name",
1082
+ "rarity",
1083
+ "source"
1084
+ ]
1085
+ },
1086
+ {
1087
+ "type": "object",
1088
+ "properties": {
1089
+ "name": {
1090
+ "type": "string"
1091
+ },
1092
+ "type": {
1093
+ "$ref": "items-shared.json#/$defs/itemType"
1094
+ },
1095
+ "typeAlt": {
1096
+ "$ref": "items-shared.json#/$defs/itemType"
1097
+ },
1098
+ "rarity": {
1099
+ "$ref": "items-shared.json#/$defs/itemRarity"
1100
+ },
1101
+ "source": {
1102
+ "type": "string"
1103
+ },
1104
+ "page": {
1105
+ "$ref": "util.json#/$defs/page"
1106
+ },
1107
+ "additionalSources": {
1108
+ "$ref": "util.json#/$defs/additionalSources"
1109
+ },
1110
+ "baseItem": {
1111
+ "type": "string"
1112
+ },
1113
+ "ac": {
1114
+ "type": "integer"
1115
+ },
1116
+ "age": {
1117
+ "$ref": "items-shared.json#/$defs/itemAge"
1118
+ },
1119
+ "axe": {
1120
+ "type": "boolean"
1121
+ },
1122
+ "carryingCapacity": {
1123
+ "type": "integer",
1124
+ "description": "Of a mount/beast, not a container."
1125
+ },
1126
+ "dmg1": {
1127
+ "type": "string"
1128
+ },
1129
+ "dmg2": {
1130
+ "type": "string",
1131
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
1132
+ },
1133
+ "dmgType": {
1134
+ "$ref": "util.json#/$defs/dataDamageTags"
1135
+ },
1136
+ "entries": {
1137
+ "type": "array",
1138
+ "items": {
1139
+ "$ref": "entry.json"
1140
+ }
1141
+ },
1142
+ "additionalEntries": {
1143
+ "type": "array",
1144
+ "items": {
1145
+ "$ref": "entry.json"
1146
+ }
1147
+ },
1148
+ "property": {
1149
+ "$ref": "items-shared.json#/$defs/itemProperty"
1150
+ },
1151
+ "range": {
1152
+ "type": "string"
1153
+ },
1154
+ "reload": {
1155
+ "type": [
1156
+ "string",
1157
+ "integer"
1158
+ ]
1159
+ },
1160
+ "reqAttune": {
1161
+ "type": [
1162
+ "string",
1163
+ "boolean"
1164
+ ]
1165
+ },
1166
+ "reqAttuneAlt": {
1167
+ "description": "Used for filtering.",
1168
+ "type": [
1169
+ "string",
1170
+ "boolean"
1171
+ ]
1172
+ },
1173
+ "curse": {
1174
+ "type": "boolean"
1175
+ },
1176
+ "vulnerable": {
1177
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
1178
+ },
1179
+ "resist": {
1180
+ "$ref": "util.json#/$defs/damageResistArray"
1181
+ },
1182
+ "immune": {
1183
+ "$ref": "util.json#/$defs/damageImmunityArray"
1184
+ },
1185
+ "conditionImmune": {
1186
+ "$ref": "util.json#/$defs/conditionImmunityArray"
1187
+ },
1188
+ "detail1": {
1189
+ "description": "A descriptive field that can be used to complete entries in variants.",
1190
+ "type": "string"
1191
+ },
1192
+ "scfType": {
1193
+ "$ref": "items-shared.json#/$defs/itemScfType"
1194
+ },
1195
+ "speed": {
1196
+ "type": "integer"
1197
+ },
1198
+ "stealth": {
1199
+ "type": "boolean"
1200
+ },
1201
+ "strength": {
1202
+ "type": [
1203
+ "string",
1204
+ "null"
1205
+ ]
1206
+ },
1207
+ "dexterityMax": {
1208
+ "description": "Maximum dexterity modifier for medium armor.",
1209
+ "type": [
1210
+ "integer",
1211
+ "null"
1212
+ ]
1213
+ },
1214
+ "sword": {
1215
+ "type": "boolean"
1216
+ },
1217
+ "firearm": {
1218
+ "type": "boolean"
1219
+ },
1220
+ "staff": {
1221
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
1222
+ "type": "boolean"
1223
+ },
1224
+ "tier": {
1225
+ "$ref": "items-shared.json#/$defs/itemTier"
1226
+ },
1227
+ "value": {
1228
+ "description": "In copper pieces.",
1229
+ "type": [
1230
+ "number",
1231
+ "null"
1232
+ ]
1233
+ },
1234
+ "valueMult": {
1235
+ "type": "number"
1236
+ },
1237
+ "weapon": {
1238
+ "type": "boolean"
1239
+ },
1240
+ "weaponCategory": {
1241
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1242
+ },
1243
+ "weight": {
1244
+ "type": "number"
1245
+ },
1246
+ "weightMult": {
1247
+ "type": "number"
1248
+ },
1249
+ "weightNote": {
1250
+ "type": "string"
1251
+ },
1252
+ "wondrous": {
1253
+ "type": "boolean"
1254
+ },
1255
+ "tattoo": {
1256
+ "type": "boolean"
1257
+ },
1258
+ "sentient": {
1259
+ "type": "boolean"
1260
+ },
1261
+ "poison": {
1262
+ "type": "boolean"
1263
+ },
1264
+ "poisonTypes": {
1265
+ "type": "array",
1266
+ "items": {
1267
+ "type": "string",
1268
+ "enum": [
1269
+ "contact",
1270
+ "ingested",
1271
+ "injury",
1272
+ "inhaled"
1273
+ ]
1274
+ }
1275
+ },
1276
+ "crew": {
1277
+ "type": "integer"
1278
+ },
1279
+ "crewMin": {
1280
+ "description": "For crews specified as an X-Y min-max.",
1281
+ "type": "integer"
1282
+ },
1283
+ "crewMax": {
1284
+ "description": "For crews specified as an X-Y min-max.",
1285
+ "type": "integer"
1286
+ },
1287
+ "capPassenger": {
1288
+ "type": "integer"
1289
+ },
1290
+ "capCargo": {
1291
+ "type": "number"
1292
+ },
1293
+ "vehSpeed": {
1294
+ "type": "number"
1295
+ },
1296
+ "vehAc": {
1297
+ "type": "integer"
1298
+ },
1299
+ "vehHp": {
1300
+ "type": "integer"
1301
+ },
1302
+ "vehDmgThresh": {
1303
+ "type": "integer"
1304
+ },
1305
+ "travelCost": {
1306
+ "description": "In copper pieces per mile per passenger.",
1307
+ "type": "integer"
1308
+ },
1309
+ "shippingCost": {
1310
+ "description": "In copper pieces per 100 lbs per mile.",
1311
+ "type": "integer"
1312
+ },
1313
+ "charges": {
1314
+ "type": [
1315
+ "string",
1316
+ "integer"
1317
+ ]
1318
+ },
1319
+ "recharge": {
1320
+ "$ref": "items-shared.json#/$defs/itemRecharge"
1321
+ },
1322
+ "rechargeAmount": {
1323
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
1324
+ },
1325
+ "optionalfeatures": {
1326
+ "type": "array",
1327
+ "items": {
1328
+ "type": "string"
1329
+ }
1330
+ },
1331
+ "attachedSpells": {
1332
+ "type": "array",
1333
+ "items": {
1334
+ "type": "string"
1335
+ }
1336
+ },
1337
+ "items": {
1338
+ "description": "This is required for itemGroup entries.",
1339
+ "type": "array",
1340
+ "minItems": 1,
1341
+ "uniqueItems": true,
1342
+ "items": {
1343
+ "type": "string"
1344
+ }
1345
+ },
1346
+ "ability": {
1347
+ "description": "Item ability score adjustments.",
1348
+ "type": "object",
1349
+ "properties": {
1350
+ "choose": {
1351
+ "type": "array",
1352
+ "items": {
1353
+ "type": "object",
1354
+ "properties": {
1355
+ "from": {
1356
+ "type": "array",
1357
+ "items": {
1358
+ "enum": [
1359
+ "str",
1360
+ "dex",
1361
+ "con",
1362
+ "int",
1363
+ "wis",
1364
+ "cha"
1365
+ ]
1366
+ },
1367
+ "uniqueItems": true
1368
+ },
1369
+ "count": {
1370
+ "type": "integer"
1371
+ },
1372
+ "amount": {
1373
+ "type": "integer"
1374
+ }
1375
+ },
1376
+ "required": [
1377
+ "from"
1378
+ ],
1379
+ "additionalProperties": false
1380
+ }
1381
+ },
1382
+ "static": {
1383
+ "type": "object",
1384
+ "properties": {
1385
+ "str": {
1386
+ "type": "integer"
1387
+ },
1388
+ "dex": {
1389
+ "type": "integer"
1390
+ },
1391
+ "con": {
1392
+ "type": "integer"
1393
+ },
1394
+ "int": {
1395
+ "type": "integer"
1396
+ },
1397
+ "wis": {
1398
+ "type": "integer"
1399
+ },
1400
+ "cha": {
1401
+ "type": "integer"
1402
+ }
1403
+ },
1404
+ "additionalProperties": false
1405
+ },
1406
+ "str": {
1407
+ "type": "integer"
1408
+ },
1409
+ "dex": {
1410
+ "type": "integer"
1411
+ },
1412
+ "con": {
1413
+ "type": "integer"
1414
+ },
1415
+ "int": {
1416
+ "type": "integer"
1417
+ },
1418
+ "wis": {
1419
+ "type": "integer"
1420
+ },
1421
+ "cha": {
1422
+ "type": "integer"
1423
+ }
1424
+ }
1425
+ },
1426
+ "focus": {
1427
+ "description": "Item can be used as a spellcasting focus",
1428
+ "oneOf": [
1429
+ {
1430
+ "type": "boolean"
1431
+ },
1432
+ {
1433
+ "type": "array",
1434
+ "items": {
1435
+ "type": "string",
1436
+ "enum": [
1437
+ "Artificer",
1438
+ "Bard",
1439
+ "Cleric",
1440
+ "Druid",
1441
+ "Paladin",
1442
+ "Ranger",
1443
+ "Sorcerer",
1444
+ "Warlock",
1445
+ "Wizard"
1446
+ ]
1447
+ }
1448
+ }
1449
+ ]
1450
+ },
1451
+ "lootTables": {
1452
+ "type": "array",
1453
+ "items": {
1454
+ "type": "string"
1455
+ }
1456
+ },
1457
+ "critThreshold": {
1458
+ "type": "integer"
1459
+ },
1460
+ "bonusAc": {
1461
+ "type": "string"
1462
+ },
1463
+ "bonusWeapon": {
1464
+ "type": "string"
1465
+ },
1466
+ "bonusWeaponAttack": {
1467
+ "type": "string"
1468
+ },
1469
+ "bonusWeaponDamage": {
1470
+ "type": "string"
1471
+ },
1472
+ "bonusWeaponCritDamage": {
1473
+ "type": "string"
1474
+ },
1475
+ "bonusSpellAttack": {
1476
+ "type": "string"
1477
+ },
1478
+ "bonusSpellDamage": {
1479
+ "type": "string"
1480
+ },
1481
+ "bonusSpellSaveDc": {
1482
+ "type": "string"
1483
+ },
1484
+ "bonusSavingThrow": {
1485
+ "type": "string"
1486
+ },
1487
+ "bonusAbilityCheck": {
1488
+ "type": "string"
1489
+ },
1490
+ "bonusProficiencyBonus": {
1491
+ "type": "string"
1492
+ },
1493
+ "modifySpeed": {
1494
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
1495
+ },
1496
+ "otherSources": {
1497
+ "$ref": "util.json#/$defs/otherSources"
1498
+ },
1499
+ "srd": {
1500
+ "$ref": "util.json#/$defs/srd"
1501
+ },
1502
+ "basicRules": {
1503
+ "$ref": "util.json#/$defs/basicRules"
1504
+ },
1505
+ "packContents": {
1506
+ "type": "array",
1507
+ "items": {
1508
+ "oneOf": [
1509
+ {
1510
+ "type": "string"
1511
+ },
1512
+ {
1513
+ "type": "object",
1514
+ "properties": {
1515
+ "special": {
1516
+ "type": "string"
1517
+ },
1518
+ "quantity": {
1519
+ "type": "integer"
1520
+ }
1521
+ },
1522
+ "additionalProperties": false,
1523
+ "required": [
1524
+ "special"
1525
+ ]
1526
+ },
1527
+ {
1528
+ "type": "object",
1529
+ "properties": {
1530
+ "item": {
1531
+ "type": "string"
1532
+ },
1533
+ "quantity": {
1534
+ "type": "integer"
1535
+ }
1536
+ },
1537
+ "additionalProperties": false,
1538
+ "required": [
1539
+ "item",
1540
+ "quantity"
1541
+ ]
1542
+ }
1543
+ ]
1544
+ }
1545
+ },
1546
+ "atomicPackContents": {
1547
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
1548
+ "type": "boolean"
1549
+ },
1550
+ "containerCapacity": {
1551
+ "type": "object",
1552
+ "properties": {
1553
+ "weight": {
1554
+ "type": "array",
1555
+ "items": {
1556
+ "type": "integer"
1557
+ }
1558
+ },
1559
+ "item": {
1560
+ "type": "array",
1561
+ "items": {
1562
+ "type": "object",
1563
+ "patternProperties": {
1564
+ ".*": {
1565
+ "type": "integer"
1566
+ }
1567
+ },
1568
+ "additionalProperties": false
1569
+ }
1570
+ },
1571
+ "weightless": {
1572
+ "description": "If the container renders its contents weightless.",
1573
+ "type": "boolean"
1574
+ }
1575
+ },
1576
+ "additionalProperties": false
1577
+ },
1578
+ "ammoType": {
1579
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
1580
+ },
1581
+ "grantsProficiency": {
1582
+ "type": "boolean"
1583
+ },
1584
+ "spellScrollLevel": {
1585
+ "type": "integer"
1586
+ },
1587
+ "seeAlsoVehicle": {
1588
+ "type": "array",
1589
+ "items": {
1590
+ "type": "string",
1591
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
1592
+ }
1593
+ },
1594
+ "reqAttuneTags": {
1595
+ "$ref": "util.json#/$defs/reqAttuneTags"
1596
+ },
1597
+ "reqAttuneAltTags": {
1598
+ "$ref": "util.json#/$defs/reqAttuneTags"
1599
+ },
1600
+ "miscTags": {
1601
+ "type": "array",
1602
+ "items": {
1603
+ "description": "CF/W: Creates Food/Water",
1604
+ "enum": [
1605
+ "CF/W"
1606
+ ]
1607
+ }
1608
+ },
1609
+ "hasFluff": {
1610
+ "type": "boolean"
1611
+ },
1612
+ "hasFluffImages": {
1613
+ "type": "boolean"
1614
+ },
1615
+ "hasRefs": {
1616
+ "type": "boolean",
1617
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
1618
+ },
1619
+ "_copy": {
1620
+ "type": "object",
1621
+ "properties": {
1622
+ "name": {
1623
+ "type": "string"
1624
+ },
1625
+ "source": {
1626
+ "type": "string"
1627
+ },
1628
+ "pantheon": {
1629
+ "description": "Used in deity data",
1630
+ "type": "string"
1631
+ },
1632
+ "shortName": {
1633
+ "description": "Used in subclass data",
1634
+ "type": "string"
1635
+ },
1636
+ "className": {
1637
+ "description": "Used in subclass data",
1638
+ "type": "string"
1639
+ },
1640
+ "classSource": {
1641
+ "description": "Used in subclass data",
1642
+ "type": "string"
1643
+ },
1644
+ "_mod": {
1645
+ "$ref": "util.json#/$defs/_modObject"
1646
+ },
1647
+ "_trait": {
1648
+ "type": "object",
1649
+ "properties": {
1650
+ "name": {
1651
+ "type": "string"
1652
+ },
1653
+ "source": {
1654
+ "type": "string"
1655
+ }
1656
+ },
1657
+ "required": [
1658
+ "name",
1659
+ "source"
1660
+ ]
1661
+ },
1662
+ "_preserve": {
1663
+ "type": "object",
1664
+ "patternProperties": {
1665
+ ".*": {
1666
+ "const": true
1667
+ }
1668
+ }
1669
+ }
1670
+ },
1671
+ "required": [
1672
+ "name",
1673
+ "source"
1674
+ ],
1675
+ "additionalProperties": false
1676
+ }
1677
+ },
1678
+ "additionalProperties": false,
1679
+ "required": [
1680
+ "_copy"
1681
+ ]
1682
+ }
1683
+ ]
1684
+ }
1685
+ },
1686
+ "properties": {
1687
+ "item": {
1688
+ "type": "array",
1689
+ "items": {
1690
+ "$ref": "#/$defs/item"
1691
+ },
1692
+ "uniqueItems": true,
1693
+ "minItems": 1
1694
+ },
1695
+ "itemGroup": {
1696
+ "description": "Used to create fake item entries for groups of related items, often referred to as a single item (e.g. arcane foci)",
1697
+ "type": "array",
1698
+ "items": {
1699
+ "type": "object",
1700
+ "$ref": "#/$defs/item",
1701
+ "oneOf": [
1702
+ {
1703
+ "required": [
1704
+ "items"
1705
+ ]
1706
+ },
1707
+ {
1708
+ "required": [
1709
+ "_copy"
1710
+ ]
1711
+ }
1712
+ ]
1713
+ },
1714
+ "uniqueItems": true,
1715
+ "minItems": 1
1716
+ },
1717
+ "_meta": {
1718
+ "$ref": "util.json#/$defs/metaBlock"
1719
+ }
1720
+ },
1721
+ "additionalProperties": false
1722
+ }