5etools-utils 0.9.62 → 0.9.64

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "items.json",
4
- "version": "1.14.6",
4
+ "version": "1.14.7",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "itemData": {
@@ -250,15 +250,6 @@
250
250
  "type": "string"
251
251
  }
252
252
  },
253
- "items": {
254
- "description": "This is required for itemGroup entries.",
255
- "type": "array",
256
- "minItems": 1,
257
- "uniqueItems": true,
258
- "items": {
259
- "type": "string"
260
- }
261
- },
262
253
  "ability": {
263
254
  "description": "Item ability score adjustments.",
264
255
  "type": "object",
@@ -600,6 +591,14 @@
600
591
  },
601
592
  "additionalProperties": false
602
593
  },
594
+ "_itemGroupItems": {
595
+ "type": "array",
596
+ "minItems": 1,
597
+ "uniqueItems": true,
598
+ "items": {
599
+ "type": "string"
600
+ }
601
+ },
603
602
  "item": {
604
603
  "anyOf": [
605
604
  {
@@ -848,15 +847,6 @@
848
847
  "type": "string"
849
848
  }
850
849
  },
851
- "items": {
852
- "description": "This is required for itemGroup entries.",
853
- "type": "array",
854
- "minItems": 1,
855
- "uniqueItems": true,
856
- "items": {
857
- "type": "string"
858
- }
859
- },
860
850
  "ability": {
861
851
  "description": "Item ability score adjustments.",
862
852
  "type": "object",
@@ -1449,15 +1439,6 @@
1449
1439
  "type": "string"
1450
1440
  }
1451
1441
  },
1452
- "items": {
1453
- "description": "This is required for itemGroup entries.",
1454
- "type": "array",
1455
- "minItems": 1,
1456
- "uniqueItems": true,
1457
- "items": {
1458
- "type": "string"
1459
- }
1460
- },
1461
1442
  "ability": {
1462
1443
  "description": "Item ability score adjustments.",
1463
1444
  "type": "object",
@@ -1806,35 +1787,1218 @@
1806
1787
  ]
1807
1788
  }
1808
1789
  ]
1809
- }
1810
- },
1811
- "properties": {
1812
- "item": {
1813
- "type": "array",
1814
- "items": {
1815
- "$ref": "#/$defs/item"
1816
- },
1817
- "uniqueItems": true,
1818
- "minItems": 1
1819
1790
  },
1820
1791
  "itemGroup": {
1821
- "description": "Used to create fake item entries for groups of related items, often referred to as a single item (e.g. arcane foci)",
1822
- "type": "array",
1823
- "items": {
1824
- "type": "object",
1825
- "$ref": "#/$defs/item",
1826
- "oneOf": [
1827
- {
1828
- "required": [
1829
- "items"
1830
- ]
1831
- },
1832
- {
1833
- "required": [
1834
- "_copy"
1835
- ]
1836
- }
1837
- ]
1792
+ "anyOf": [
1793
+ {
1794
+ "type": "object",
1795
+ "properties": {
1796
+ "name": {
1797
+ "type": "string"
1798
+ },
1799
+ "type": {
1800
+ "$ref": "items-shared.json#/$defs/itemType"
1801
+ },
1802
+ "typeAlt": {
1803
+ "$ref": "items-shared.json#/$defs/itemType"
1804
+ },
1805
+ "rarity": {
1806
+ "$ref": "items-shared.json#/$defs/itemRarity"
1807
+ },
1808
+ "source": {
1809
+ "$ref": "util.json#/$defs/source"
1810
+ },
1811
+ "page": {
1812
+ "$ref": "util.json#/$defs/page"
1813
+ },
1814
+ "additionalSources": {
1815
+ "$ref": "util.json#/$defs/additionalSources"
1816
+ },
1817
+ "reprintedAs": {
1818
+ "$ref": "util.json#/$defs/reprintedAs"
1819
+ },
1820
+ "baseItem": {
1821
+ "type": "string"
1822
+ },
1823
+ "ac": {
1824
+ "type": "integer"
1825
+ },
1826
+ "age": {
1827
+ "$ref": "items-shared.json#/$defs/itemAge"
1828
+ },
1829
+ "carryingCapacity": {
1830
+ "$ref": "items-shared.json#/$defs/itemCarryingCapacity"
1831
+ },
1832
+ "dmg1": {
1833
+ "type": "string"
1834
+ },
1835
+ "dmg2": {
1836
+ "type": "string",
1837
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
1838
+ },
1839
+ "dmgType": {
1840
+ "$ref": "util.json#/$defs/dataDamageTags"
1841
+ },
1842
+ "entries": {
1843
+ "type": "array",
1844
+ "items": {
1845
+ "$ref": "entry.json"
1846
+ }
1847
+ },
1848
+ "additionalEntries": {
1849
+ "type": "array",
1850
+ "items": {
1851
+ "$ref": "entry.json"
1852
+ }
1853
+ },
1854
+ "property": {
1855
+ "$ref": "items-shared.json#/$defs/itemProperty"
1856
+ },
1857
+ "range": {
1858
+ "type": "string"
1859
+ },
1860
+ "reload": {
1861
+ "type": [
1862
+ "string",
1863
+ "integer"
1864
+ ]
1865
+ },
1866
+ "reqAttune": {
1867
+ "type": [
1868
+ "string",
1869
+ "boolean"
1870
+ ]
1871
+ },
1872
+ "reqAttuneAlt": {
1873
+ "description": "Used for filtering.",
1874
+ "type": [
1875
+ "string",
1876
+ "boolean"
1877
+ ]
1878
+ },
1879
+ "curse": {
1880
+ "type": "boolean"
1881
+ },
1882
+ "vulnerable": {
1883
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
1884
+ },
1885
+ "resist": {
1886
+ "$ref": "util.json#/$defs/damageResistArray"
1887
+ },
1888
+ "immune": {
1889
+ "$ref": "util.json#/$defs/damageImmunityArray"
1890
+ },
1891
+ "conditionImmune": {
1892
+ "$ref": "util.json#/$defs/conditionImmunityArray"
1893
+ },
1894
+ "detail1": {
1895
+ "description": "A descriptive field that can be used to complete entries in variants.",
1896
+ "type": "string"
1897
+ },
1898
+ "scfType": {
1899
+ "$ref": "items-shared.json#/$defs/itemScfType"
1900
+ },
1901
+ "speed": {
1902
+ "$ref": "items-shared.json#/$defs/itemSpeed"
1903
+ },
1904
+ "stealth": {
1905
+ "type": "boolean"
1906
+ },
1907
+ "strength": {
1908
+ "type": [
1909
+ "string",
1910
+ "null"
1911
+ ]
1912
+ },
1913
+ "dexterityMax": {
1914
+ "description": "Maximum dexterity modifier for medium armor.",
1915
+ "type": [
1916
+ "integer",
1917
+ "null"
1918
+ ]
1919
+ },
1920
+ "firearm": {
1921
+ "type": "boolean"
1922
+ },
1923
+ "staff": {
1924
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
1925
+ "type": "boolean"
1926
+ },
1927
+ "tier": {
1928
+ "$ref": "items-shared.json#/$defs/itemTier"
1929
+ },
1930
+ "value": {
1931
+ "description": "In copper pieces.",
1932
+ "type": [
1933
+ "number",
1934
+ "null"
1935
+ ]
1936
+ },
1937
+ "valueMult": {
1938
+ "type": "number"
1939
+ },
1940
+ "weaponCategory": {
1941
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
1942
+ },
1943
+ "weight": {
1944
+ "type": "number"
1945
+ },
1946
+ "weightMult": {
1947
+ "type": "number"
1948
+ },
1949
+ "weightNote": {
1950
+ "type": "string"
1951
+ },
1952
+ "wondrous": {
1953
+ "type": "boolean"
1954
+ },
1955
+ "tattoo": {
1956
+ "type": "boolean"
1957
+ },
1958
+ "sentient": {
1959
+ "type": "boolean"
1960
+ },
1961
+ "poison": {
1962
+ "type": "boolean"
1963
+ },
1964
+ "poisonTypes": {
1965
+ "type": "array",
1966
+ "items": {
1967
+ "type": "string",
1968
+ "examples": [
1969
+ "contact",
1970
+ "ingested",
1971
+ "injury",
1972
+ "inhaled"
1973
+ ]
1974
+ }
1975
+ },
1976
+ "crew": {
1977
+ "type": "integer"
1978
+ },
1979
+ "crewMin": {
1980
+ "description": "For crews specified as an X-Y min-max.",
1981
+ "type": "integer"
1982
+ },
1983
+ "crewMax": {
1984
+ "description": "For crews specified as an X-Y min-max.",
1985
+ "type": "integer"
1986
+ },
1987
+ "capPassenger": {
1988
+ "type": "integer"
1989
+ },
1990
+ "capCargo": {
1991
+ "type": "number"
1992
+ },
1993
+ "vehSpeed": {
1994
+ "type": "number"
1995
+ },
1996
+ "vehAc": {
1997
+ "type": "integer"
1998
+ },
1999
+ "vehHp": {
2000
+ "type": "integer"
2001
+ },
2002
+ "vehDmgThresh": {
2003
+ "type": "integer"
2004
+ },
2005
+ "travelCost": {
2006
+ "description": "In copper pieces per mile per passenger.",
2007
+ "type": "integer"
2008
+ },
2009
+ "shippingCost": {
2010
+ "description": "In copper pieces per 100 lbs per mile.",
2011
+ "type": "integer"
2012
+ },
2013
+ "charges": {
2014
+ "type": [
2015
+ "string",
2016
+ "integer"
2017
+ ]
2018
+ },
2019
+ "recharge": {
2020
+ "$ref": "items-shared.json#/$defs/itemRecharge"
2021
+ },
2022
+ "rechargeAmount": {
2023
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
2024
+ },
2025
+ "optionalfeatures": {
2026
+ "type": "array",
2027
+ "items": {
2028
+ "type": "string"
2029
+ }
2030
+ },
2031
+ "attachedSpells": {
2032
+ "type": "array",
2033
+ "minItems": 1,
2034
+ "uniqueItems": true,
2035
+ "items": {
2036
+ "type": "string"
2037
+ }
2038
+ },
2039
+ "ability": {
2040
+ "description": "Item ability score adjustments.",
2041
+ "type": "object",
2042
+ "properties": {
2043
+ "choose": {
2044
+ "type": "array",
2045
+ "items": {
2046
+ "type": "object",
2047
+ "properties": {
2048
+ "from": {
2049
+ "type": "array",
2050
+ "items": {
2051
+ "enum": [
2052
+ "str",
2053
+ "dex",
2054
+ "con",
2055
+ "int",
2056
+ "wis",
2057
+ "cha"
2058
+ ]
2059
+ },
2060
+ "uniqueItems": true
2061
+ },
2062
+ "count": {
2063
+ "type": "integer"
2064
+ },
2065
+ "amount": {
2066
+ "type": "integer"
2067
+ }
2068
+ },
2069
+ "required": [
2070
+ "from"
2071
+ ],
2072
+ "additionalProperties": false
2073
+ }
2074
+ },
2075
+ "static": {
2076
+ "type": "object",
2077
+ "properties": {
2078
+ "str": {
2079
+ "type": "integer"
2080
+ },
2081
+ "dex": {
2082
+ "type": "integer"
2083
+ },
2084
+ "con": {
2085
+ "type": "integer"
2086
+ },
2087
+ "int": {
2088
+ "type": "integer"
2089
+ },
2090
+ "wis": {
2091
+ "type": "integer"
2092
+ },
2093
+ "cha": {
2094
+ "type": "integer"
2095
+ }
2096
+ },
2097
+ "additionalProperties": false
2098
+ },
2099
+ "str": {
2100
+ "type": "integer"
2101
+ },
2102
+ "dex": {
2103
+ "type": "integer"
2104
+ },
2105
+ "con": {
2106
+ "type": "integer"
2107
+ },
2108
+ "int": {
2109
+ "type": "integer"
2110
+ },
2111
+ "wis": {
2112
+ "type": "integer"
2113
+ },
2114
+ "cha": {
2115
+ "type": "integer"
2116
+ }
2117
+ }
2118
+ },
2119
+ "focus": {
2120
+ "description": "Item can be used as a spellcasting focus",
2121
+ "oneOf": [
2122
+ {
2123
+ "type": "boolean"
2124
+ },
2125
+ {
2126
+ "type": "array",
2127
+ "items": {
2128
+ "type": "string",
2129
+ "examples": [
2130
+ "Artificer",
2131
+ "Bard",
2132
+ "Cleric",
2133
+ "Druid",
2134
+ "Paladin",
2135
+ "Ranger",
2136
+ "Sorcerer",
2137
+ "Warlock",
2138
+ "Wizard"
2139
+ ]
2140
+ }
2141
+ }
2142
+ ]
2143
+ },
2144
+ "lootTables": {
2145
+ "type": "array",
2146
+ "items": {
2147
+ "type": "string"
2148
+ }
2149
+ },
2150
+ "critThreshold": {
2151
+ "type": "integer"
2152
+ },
2153
+ "bonusAc": {
2154
+ "type": "string"
2155
+ },
2156
+ "bonusWeapon": {
2157
+ "type": "string"
2158
+ },
2159
+ "bonusWeaponAttack": {
2160
+ "type": "string"
2161
+ },
2162
+ "bonusWeaponDamage": {
2163
+ "type": "string"
2164
+ },
2165
+ "bonusWeaponCritDamage": {
2166
+ "type": "string"
2167
+ },
2168
+ "bonusSpellAttack": {
2169
+ "type": "string"
2170
+ },
2171
+ "bonusSpellDamage": {
2172
+ "type": "string"
2173
+ },
2174
+ "bonusSpellSaveDc": {
2175
+ "type": "string"
2176
+ },
2177
+ "bonusSavingThrow": {
2178
+ "type": "string"
2179
+ },
2180
+ "bonusAbilityCheck": {
2181
+ "type": "string"
2182
+ },
2183
+ "bonusProficiencyBonus": {
2184
+ "type": "string"
2185
+ },
2186
+ "modifySpeed": {
2187
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
2188
+ },
2189
+ "otherSources": {
2190
+ "$ref": "util.json#/$defs/otherSources"
2191
+ },
2192
+ "srd": {
2193
+ "$ref": "util.json#/$defs/srd"
2194
+ },
2195
+ "basicRules": {
2196
+ "$ref": "util.json#/$defs/basicRules"
2197
+ },
2198
+ "legacy": {
2199
+ "$ref": "util.json#/$defs/legacy"
2200
+ },
2201
+ "packContents": {
2202
+ "type": "array",
2203
+ "items": {
2204
+ "oneOf": [
2205
+ {
2206
+ "type": "string"
2207
+ },
2208
+ {
2209
+ "type": "object",
2210
+ "properties": {
2211
+ "special": {
2212
+ "type": "string"
2213
+ },
2214
+ "quantity": {
2215
+ "type": "integer"
2216
+ }
2217
+ },
2218
+ "additionalProperties": false,
2219
+ "required": [
2220
+ "special"
2221
+ ]
2222
+ },
2223
+ {
2224
+ "type": "object",
2225
+ "properties": {
2226
+ "item": {
2227
+ "type": "string"
2228
+ },
2229
+ "quantity": {
2230
+ "type": "integer"
2231
+ }
2232
+ },
2233
+ "additionalProperties": false,
2234
+ "required": [
2235
+ "item",
2236
+ "quantity"
2237
+ ]
2238
+ }
2239
+ ]
2240
+ }
2241
+ },
2242
+ "atomicPackContents": {
2243
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
2244
+ "type": "boolean"
2245
+ },
2246
+ "containerCapacity": {
2247
+ "type": "object",
2248
+ "properties": {
2249
+ "weight": {
2250
+ "type": "array",
2251
+ "items": {
2252
+ "type": "integer"
2253
+ }
2254
+ },
2255
+ "item": {
2256
+ "type": "array",
2257
+ "items": {
2258
+ "type": "object",
2259
+ "patternProperties": {
2260
+ ".*": {
2261
+ "type": "integer"
2262
+ }
2263
+ },
2264
+ "additionalProperties": false
2265
+ }
2266
+ },
2267
+ "weightless": {
2268
+ "description": "If the container renders its contents weightless.",
2269
+ "type": "boolean"
2270
+ }
2271
+ },
2272
+ "additionalProperties": false
2273
+ },
2274
+ "ammoType": {
2275
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
2276
+ },
2277
+ "grantsProficiency": {
2278
+ "type": "boolean"
2279
+ },
2280
+ "grantsLanguage": {
2281
+ "type": "boolean"
2282
+ },
2283
+ "spellScrollLevel": {
2284
+ "type": "integer"
2285
+ },
2286
+ "seeAlsoDeck": {
2287
+ "type": "array",
2288
+ "items": {
2289
+ "type": "string",
2290
+ "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\nEx.: \"deck of many things|dmg\"."
2291
+ }
2292
+ },
2293
+ "seeAlsoVehicle": {
2294
+ "type": "array",
2295
+ "items": {
2296
+ "type": "string",
2297
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
2298
+ }
2299
+ },
2300
+ "reqAttuneTags": {
2301
+ "$ref": "util.json#/$defs/reqAttuneTags"
2302
+ },
2303
+ "reqAttuneAltTags": {
2304
+ "$ref": "util.json#/$defs/reqAttuneTags"
2305
+ },
2306
+ "miscTags": {
2307
+ "type": "array",
2308
+ "items": {
2309
+ "description": "CF/W: Creates Food/Water\nTT: Trinket Table",
2310
+ "enum": [
2311
+ "CF/W",
2312
+ "TT"
2313
+ ]
2314
+ }
2315
+ },
2316
+ "mastery": {
2317
+ "$ref": "items-shared.json#/$defs/itemMastery"
2318
+ },
2319
+ "reach": {
2320
+ "$ref": "items-shared.json#/$defs/itemReach"
2321
+ },
2322
+ "hasFluff": {
2323
+ "type": "boolean"
2324
+ },
2325
+ "hasFluffImages": {
2326
+ "type": "boolean"
2327
+ },
2328
+ "hasRefs": {
2329
+ "type": "boolean",
2330
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
2331
+ },
2332
+ "customProperties": {
2333
+ "$ref": "items-shared.json#/$defs/customProperties"
2334
+ },
2335
+ "acSpecial": {
2336
+ "description": "Free text field for homebrew use.",
2337
+ "type": "string"
2338
+ },
2339
+ "currencyConversion": {
2340
+ "description": "ID of a value conversion table. Homebrew only.",
2341
+ "type": "string"
2342
+ },
2343
+ "alCertificateId": {
2344
+ "description": "Adventurers League item certificate ID; for use in homebrew.",
2345
+ "type": "string"
2346
+ },
2347
+ "foundryType": {
2348
+ "description": "Homebrew only: used to manually specify the exact Foundry item type an item should be imported as. \n\"CONFIG.Item.typeLabels\" correct as of Foundry v0.8.9",
2349
+ "type": "string",
2350
+ "enum": [
2351
+ "weapon",
2352
+ "equipment",
2353
+ "consumable",
2354
+ "tool",
2355
+ "loot",
2356
+ "class",
2357
+ "spell",
2358
+ "feat",
2359
+ "backpack"
2360
+ ]
2361
+ },
2362
+ "foundrySystem": {
2363
+ "$ref": "util-foundry.json#/$defs/foundrySystemObject"
2364
+ },
2365
+ "foundryFlags": {
2366
+ "$ref": "util-foundry.json#/$defs/foundryFlagsObject"
2367
+ },
2368
+ "foundryEffects": {
2369
+ "$ref": "util-foundry.json#/$defs/foundryEffectsArray"
2370
+ },
2371
+ "foundryImg": {
2372
+ "$ref": "util-foundry.json#/$defs/foundryImg"
2373
+ },
2374
+ "fluff": {
2375
+ "$ref": "items-shared.json#/$defs/fluff"
2376
+ },
2377
+ "items": {
2378
+ "$ref": "#/$defs/_itemGroupItems"
2379
+ }
2380
+ },
2381
+ "additionalProperties": false,
2382
+ "required": [
2383
+ "name",
2384
+ "rarity",
2385
+ "source",
2386
+ "items"
2387
+ ]
2388
+ },
2389
+ {
2390
+ "type": "object",
2391
+ "properties": {
2392
+ "name": {
2393
+ "type": "string"
2394
+ },
2395
+ "type": {
2396
+ "$ref": "items-shared.json#/$defs/itemType"
2397
+ },
2398
+ "typeAlt": {
2399
+ "$ref": "items-shared.json#/$defs/itemType"
2400
+ },
2401
+ "rarity": {
2402
+ "$ref": "items-shared.json#/$defs/itemRarity"
2403
+ },
2404
+ "source": {
2405
+ "$ref": "util.json#/$defs/source"
2406
+ },
2407
+ "page": {
2408
+ "$ref": "util.json#/$defs/page"
2409
+ },
2410
+ "additionalSources": {
2411
+ "$ref": "util.json#/$defs/additionalSources"
2412
+ },
2413
+ "reprintedAs": {
2414
+ "$ref": "util.json#/$defs/reprintedAs"
2415
+ },
2416
+ "baseItem": {
2417
+ "type": "string"
2418
+ },
2419
+ "ac": {
2420
+ "type": "integer"
2421
+ },
2422
+ "age": {
2423
+ "$ref": "items-shared.json#/$defs/itemAge"
2424
+ },
2425
+ "carryingCapacity": {
2426
+ "$ref": "items-shared.json#/$defs/itemCarryingCapacity"
2427
+ },
2428
+ "dmg1": {
2429
+ "type": "string"
2430
+ },
2431
+ "dmg2": {
2432
+ "type": "string",
2433
+ "description": "The versatile or alternative damage dice of the weapon, e.g. \"1d10\""
2434
+ },
2435
+ "dmgType": {
2436
+ "$ref": "util.json#/$defs/dataDamageTags"
2437
+ },
2438
+ "entries": {
2439
+ "type": "array",
2440
+ "items": {
2441
+ "$ref": "entry.json"
2442
+ }
2443
+ },
2444
+ "additionalEntries": {
2445
+ "type": "array",
2446
+ "items": {
2447
+ "$ref": "entry.json"
2448
+ }
2449
+ },
2450
+ "property": {
2451
+ "$ref": "items-shared.json#/$defs/itemProperty"
2452
+ },
2453
+ "range": {
2454
+ "type": "string"
2455
+ },
2456
+ "reload": {
2457
+ "type": [
2458
+ "string",
2459
+ "integer"
2460
+ ]
2461
+ },
2462
+ "reqAttune": {
2463
+ "type": [
2464
+ "string",
2465
+ "boolean"
2466
+ ]
2467
+ },
2468
+ "reqAttuneAlt": {
2469
+ "description": "Used for filtering.",
2470
+ "type": [
2471
+ "string",
2472
+ "boolean"
2473
+ ]
2474
+ },
2475
+ "curse": {
2476
+ "type": "boolean"
2477
+ },
2478
+ "vulnerable": {
2479
+ "$ref": "util.json#/$defs/damageVulnerabilityArray"
2480
+ },
2481
+ "resist": {
2482
+ "$ref": "util.json#/$defs/damageResistArray"
2483
+ },
2484
+ "immune": {
2485
+ "$ref": "util.json#/$defs/damageImmunityArray"
2486
+ },
2487
+ "conditionImmune": {
2488
+ "$ref": "util.json#/$defs/conditionImmunityArray"
2489
+ },
2490
+ "detail1": {
2491
+ "description": "A descriptive field that can be used to complete entries in variants.",
2492
+ "type": "string"
2493
+ },
2494
+ "scfType": {
2495
+ "$ref": "items-shared.json#/$defs/itemScfType"
2496
+ },
2497
+ "speed": {
2498
+ "$ref": "items-shared.json#/$defs/itemSpeed"
2499
+ },
2500
+ "stealth": {
2501
+ "type": "boolean"
2502
+ },
2503
+ "strength": {
2504
+ "type": [
2505
+ "string",
2506
+ "null"
2507
+ ]
2508
+ },
2509
+ "dexterityMax": {
2510
+ "description": "Maximum dexterity modifier for medium armor.",
2511
+ "type": [
2512
+ "integer",
2513
+ "null"
2514
+ ]
2515
+ },
2516
+ "firearm": {
2517
+ "type": "boolean"
2518
+ },
2519
+ "staff": {
2520
+ "description": "Adds the italicized \"Staff\" text to the item info line (below the name).",
2521
+ "type": "boolean"
2522
+ },
2523
+ "tier": {
2524
+ "$ref": "items-shared.json#/$defs/itemTier"
2525
+ },
2526
+ "value": {
2527
+ "description": "In copper pieces.",
2528
+ "type": [
2529
+ "number",
2530
+ "null"
2531
+ ]
2532
+ },
2533
+ "valueMult": {
2534
+ "type": "number"
2535
+ },
2536
+ "weaponCategory": {
2537
+ "$ref": "items-shared.json#/$defs/itemWeaponCategory"
2538
+ },
2539
+ "weight": {
2540
+ "type": "number"
2541
+ },
2542
+ "weightMult": {
2543
+ "type": "number"
2544
+ },
2545
+ "weightNote": {
2546
+ "type": "string"
2547
+ },
2548
+ "wondrous": {
2549
+ "type": "boolean"
2550
+ },
2551
+ "tattoo": {
2552
+ "type": "boolean"
2553
+ },
2554
+ "sentient": {
2555
+ "type": "boolean"
2556
+ },
2557
+ "poison": {
2558
+ "type": "boolean"
2559
+ },
2560
+ "poisonTypes": {
2561
+ "type": "array",
2562
+ "items": {
2563
+ "type": "string",
2564
+ "examples": [
2565
+ "contact",
2566
+ "ingested",
2567
+ "injury",
2568
+ "inhaled"
2569
+ ]
2570
+ }
2571
+ },
2572
+ "crew": {
2573
+ "type": "integer"
2574
+ },
2575
+ "crewMin": {
2576
+ "description": "For crews specified as an X-Y min-max.",
2577
+ "type": "integer"
2578
+ },
2579
+ "crewMax": {
2580
+ "description": "For crews specified as an X-Y min-max.",
2581
+ "type": "integer"
2582
+ },
2583
+ "capPassenger": {
2584
+ "type": "integer"
2585
+ },
2586
+ "capCargo": {
2587
+ "type": "number"
2588
+ },
2589
+ "vehSpeed": {
2590
+ "type": "number"
2591
+ },
2592
+ "vehAc": {
2593
+ "type": "integer"
2594
+ },
2595
+ "vehHp": {
2596
+ "type": "integer"
2597
+ },
2598
+ "vehDmgThresh": {
2599
+ "type": "integer"
2600
+ },
2601
+ "travelCost": {
2602
+ "description": "In copper pieces per mile per passenger.",
2603
+ "type": "integer"
2604
+ },
2605
+ "shippingCost": {
2606
+ "description": "In copper pieces per 100 lbs per mile.",
2607
+ "type": "integer"
2608
+ },
2609
+ "charges": {
2610
+ "type": [
2611
+ "string",
2612
+ "integer"
2613
+ ]
2614
+ },
2615
+ "recharge": {
2616
+ "$ref": "items-shared.json#/$defs/itemRecharge"
2617
+ },
2618
+ "rechargeAmount": {
2619
+ "$ref": "items-shared.json#/$defs/itemRechargeAmount"
2620
+ },
2621
+ "optionalfeatures": {
2622
+ "type": "array",
2623
+ "items": {
2624
+ "type": "string"
2625
+ }
2626
+ },
2627
+ "attachedSpells": {
2628
+ "type": "array",
2629
+ "minItems": 1,
2630
+ "uniqueItems": true,
2631
+ "items": {
2632
+ "type": "string"
2633
+ }
2634
+ },
2635
+ "ability": {
2636
+ "description": "Item ability score adjustments.",
2637
+ "type": "object",
2638
+ "properties": {
2639
+ "choose": {
2640
+ "type": "array",
2641
+ "items": {
2642
+ "type": "object",
2643
+ "properties": {
2644
+ "from": {
2645
+ "type": "array",
2646
+ "items": {
2647
+ "enum": [
2648
+ "str",
2649
+ "dex",
2650
+ "con",
2651
+ "int",
2652
+ "wis",
2653
+ "cha"
2654
+ ]
2655
+ },
2656
+ "uniqueItems": true
2657
+ },
2658
+ "count": {
2659
+ "type": "integer"
2660
+ },
2661
+ "amount": {
2662
+ "type": "integer"
2663
+ }
2664
+ },
2665
+ "required": [
2666
+ "from"
2667
+ ],
2668
+ "additionalProperties": false
2669
+ }
2670
+ },
2671
+ "static": {
2672
+ "type": "object",
2673
+ "properties": {
2674
+ "str": {
2675
+ "type": "integer"
2676
+ },
2677
+ "dex": {
2678
+ "type": "integer"
2679
+ },
2680
+ "con": {
2681
+ "type": "integer"
2682
+ },
2683
+ "int": {
2684
+ "type": "integer"
2685
+ },
2686
+ "wis": {
2687
+ "type": "integer"
2688
+ },
2689
+ "cha": {
2690
+ "type": "integer"
2691
+ }
2692
+ },
2693
+ "additionalProperties": false
2694
+ },
2695
+ "str": {
2696
+ "type": "integer"
2697
+ },
2698
+ "dex": {
2699
+ "type": "integer"
2700
+ },
2701
+ "con": {
2702
+ "type": "integer"
2703
+ },
2704
+ "int": {
2705
+ "type": "integer"
2706
+ },
2707
+ "wis": {
2708
+ "type": "integer"
2709
+ },
2710
+ "cha": {
2711
+ "type": "integer"
2712
+ }
2713
+ }
2714
+ },
2715
+ "focus": {
2716
+ "description": "Item can be used as a spellcasting focus",
2717
+ "oneOf": [
2718
+ {
2719
+ "type": "boolean"
2720
+ },
2721
+ {
2722
+ "type": "array",
2723
+ "items": {
2724
+ "type": "string",
2725
+ "examples": [
2726
+ "Artificer",
2727
+ "Bard",
2728
+ "Cleric",
2729
+ "Druid",
2730
+ "Paladin",
2731
+ "Ranger",
2732
+ "Sorcerer",
2733
+ "Warlock",
2734
+ "Wizard"
2735
+ ]
2736
+ }
2737
+ }
2738
+ ]
2739
+ },
2740
+ "lootTables": {
2741
+ "type": "array",
2742
+ "items": {
2743
+ "type": "string"
2744
+ }
2745
+ },
2746
+ "critThreshold": {
2747
+ "type": "integer"
2748
+ },
2749
+ "bonusAc": {
2750
+ "type": "string"
2751
+ },
2752
+ "bonusWeapon": {
2753
+ "type": "string"
2754
+ },
2755
+ "bonusWeaponAttack": {
2756
+ "type": "string"
2757
+ },
2758
+ "bonusWeaponDamage": {
2759
+ "type": "string"
2760
+ },
2761
+ "bonusWeaponCritDamage": {
2762
+ "type": "string"
2763
+ },
2764
+ "bonusSpellAttack": {
2765
+ "type": "string"
2766
+ },
2767
+ "bonusSpellDamage": {
2768
+ "type": "string"
2769
+ },
2770
+ "bonusSpellSaveDc": {
2771
+ "type": "string"
2772
+ },
2773
+ "bonusSavingThrow": {
2774
+ "type": "string"
2775
+ },
2776
+ "bonusAbilityCheck": {
2777
+ "type": "string"
2778
+ },
2779
+ "bonusProficiencyBonus": {
2780
+ "type": "string"
2781
+ },
2782
+ "modifySpeed": {
2783
+ "$ref": "items-shared.json#/$defs/itemModifySpeed"
2784
+ },
2785
+ "otherSources": {
2786
+ "$ref": "util.json#/$defs/otherSources"
2787
+ },
2788
+ "srd": {
2789
+ "$ref": "util.json#/$defs/srd"
2790
+ },
2791
+ "basicRules": {
2792
+ "$ref": "util.json#/$defs/basicRules"
2793
+ },
2794
+ "legacy": {
2795
+ "$ref": "util.json#/$defs/legacy"
2796
+ },
2797
+ "packContents": {
2798
+ "type": "array",
2799
+ "items": {
2800
+ "oneOf": [
2801
+ {
2802
+ "type": "string"
2803
+ },
2804
+ {
2805
+ "type": "object",
2806
+ "properties": {
2807
+ "special": {
2808
+ "type": "string"
2809
+ },
2810
+ "quantity": {
2811
+ "type": "integer"
2812
+ }
2813
+ },
2814
+ "additionalProperties": false,
2815
+ "required": [
2816
+ "special"
2817
+ ]
2818
+ },
2819
+ {
2820
+ "type": "object",
2821
+ "properties": {
2822
+ "item": {
2823
+ "type": "string"
2824
+ },
2825
+ "quantity": {
2826
+ "type": "integer"
2827
+ }
2828
+ },
2829
+ "additionalProperties": false,
2830
+ "required": [
2831
+ "item",
2832
+ "quantity"
2833
+ ]
2834
+ }
2835
+ ]
2836
+ }
2837
+ },
2838
+ "atomicPackContents": {
2839
+ "description": "If the item's pack contents should be treated as one atomic unit, rather than handled as individual sub-items.",
2840
+ "type": "boolean"
2841
+ },
2842
+ "containerCapacity": {
2843
+ "type": "object",
2844
+ "properties": {
2845
+ "weight": {
2846
+ "type": "array",
2847
+ "items": {
2848
+ "type": "integer"
2849
+ }
2850
+ },
2851
+ "item": {
2852
+ "type": "array",
2853
+ "items": {
2854
+ "type": "object",
2855
+ "patternProperties": {
2856
+ ".*": {
2857
+ "type": "integer"
2858
+ }
2859
+ },
2860
+ "additionalProperties": false
2861
+ }
2862
+ },
2863
+ "weightless": {
2864
+ "description": "If the container renders its contents weightless.",
2865
+ "type": "boolean"
2866
+ }
2867
+ },
2868
+ "additionalProperties": false
2869
+ },
2870
+ "ammoType": {
2871
+ "$ref": "items-shared.json#/$defs/itemAmmoType"
2872
+ },
2873
+ "grantsProficiency": {
2874
+ "type": "boolean"
2875
+ },
2876
+ "grantsLanguage": {
2877
+ "type": "boolean"
2878
+ },
2879
+ "spellScrollLevel": {
2880
+ "type": "integer"
2881
+ },
2882
+ "seeAlsoDeck": {
2883
+ "type": "array",
2884
+ "items": {
2885
+ "type": "string",
2886
+ "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\nEx.: \"deck of many things|dmg\"."
2887
+ }
2888
+ },
2889
+ "seeAlsoVehicle": {
2890
+ "type": "array",
2891
+ "items": {
2892
+ "type": "string",
2893
+ "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\nEx.: \"rowboat|gos\"."
2894
+ }
2895
+ },
2896
+ "reqAttuneTags": {
2897
+ "$ref": "util.json#/$defs/reqAttuneTags"
2898
+ },
2899
+ "reqAttuneAltTags": {
2900
+ "$ref": "util.json#/$defs/reqAttuneTags"
2901
+ },
2902
+ "miscTags": {
2903
+ "type": "array",
2904
+ "items": {
2905
+ "description": "CF/W: Creates Food/Water\nTT: Trinket Table",
2906
+ "enum": [
2907
+ "CF/W",
2908
+ "TT"
2909
+ ]
2910
+ }
2911
+ },
2912
+ "mastery": {
2913
+ "$ref": "items-shared.json#/$defs/itemMastery"
2914
+ },
2915
+ "reach": {
2916
+ "$ref": "items-shared.json#/$defs/itemReach"
2917
+ },
2918
+ "hasFluff": {
2919
+ "type": "boolean"
2920
+ },
2921
+ "hasFluffImages": {
2922
+ "type": "boolean"
2923
+ },
2924
+ "hasRefs": {
2925
+ "type": "boolean",
2926
+ "description": "Whether this item has references within its data to dedicated \"itemEntry\"s."
2927
+ },
2928
+ "customProperties": {
2929
+ "$ref": "items-shared.json#/$defs/customProperties"
2930
+ },
2931
+ "acSpecial": {
2932
+ "description": "Free text field for homebrew use.",
2933
+ "type": "string"
2934
+ },
2935
+ "currencyConversion": {
2936
+ "description": "ID of a value conversion table. Homebrew only.",
2937
+ "type": "string"
2938
+ },
2939
+ "alCertificateId": {
2940
+ "description": "Adventurers League item certificate ID; for use in homebrew.",
2941
+ "type": "string"
2942
+ },
2943
+ "foundryType": {
2944
+ "description": "Homebrew only: used to manually specify the exact Foundry item type an item should be imported as. \n\"CONFIG.Item.typeLabels\" correct as of Foundry v0.8.9",
2945
+ "type": "string",
2946
+ "enum": [
2947
+ "weapon",
2948
+ "equipment",
2949
+ "consumable",
2950
+ "tool",
2951
+ "loot",
2952
+ "class",
2953
+ "spell",
2954
+ "feat",
2955
+ "backpack"
2956
+ ]
2957
+ },
2958
+ "foundrySystem": {
2959
+ "$ref": "util-foundry.json#/$defs/foundrySystemObject"
2960
+ },
2961
+ "foundryFlags": {
2962
+ "$ref": "util-foundry.json#/$defs/foundryFlagsObject"
2963
+ },
2964
+ "foundryEffects": {
2965
+ "$ref": "util-foundry.json#/$defs/foundryEffectsArray"
2966
+ },
2967
+ "foundryImg": {
2968
+ "$ref": "util-foundry.json#/$defs/foundryImg"
2969
+ },
2970
+ "fluff": {
2971
+ "$ref": "items-shared.json#/$defs/fluff"
2972
+ },
2973
+ "items": {
2974
+ "$ref": "#/$defs/_itemGroupItems"
2975
+ },
2976
+ "_copy": {
2977
+ "$ref": "util.json#/$defs/copyBlock_copy_generic"
2978
+ }
2979
+ },
2980
+ "additionalProperties": false,
2981
+ "required": [
2982
+ "_copy"
2983
+ ]
2984
+ }
2985
+ ]
2986
+ }
2987
+ },
2988
+ "properties": {
2989
+ "item": {
2990
+ "type": "array",
2991
+ "items": {
2992
+ "$ref": "#/$defs/item"
2993
+ },
2994
+ "uniqueItems": true,
2995
+ "minItems": 1
2996
+ },
2997
+ "itemGroup": {
2998
+ "description": "Used to create fake item entries for groups of related items, often referred to as a single item (e.g. arcane foci)",
2999
+ "type": "array",
3000
+ "items": {
3001
+ "$ref": "#/$defs/itemGroup"
1838
3002
  },
1839
3003
  "uniqueItems": true,
1840
3004
  "minItems": 1