5etools-utils 0.16.19 → 0.16.24

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.
package/lib/TestJson.js CHANGED
@@ -63,7 +63,9 @@ class JsonTester {
63
63
  _getErrors ({filePath, data}) {
64
64
  const out = {errors: [], errorsFull: []};
65
65
 
66
- if (!process.env.CI) out.errorsFull.push(this._getFileErrors({filePath}));
66
+ if (!process.env.CI || process.env.VET_CI_IS_VERBOSE_ERRORS_JSON) {
67
+ out.errorsFull.push(this._getFileErrors({filePath}));
68
+ }
67
69
 
68
70
  // Sort the deepest errors to the bottom, as these are the ones we're most likely to be the ones we care about
69
71
  // manually checking.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.16.19",
3
+ "version": "0.16.24",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "actions.json",
4
- "version": "1.2.8",
4
+ "version": "1.2.9",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "action": {
@@ -67,7 +67,9 @@
67
67
  "type": "string",
68
68
  "description": "UIDs of \"action\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"disarm|dmg\".",
69
69
  "markdownDescription": "UIDs of "action"s to be linked in a "See Also" footnote.\n\nEx.: "disarm|dmg"."
70
- }
70
+ },
71
+ "minItems": 1,
72
+ "uniqueItems": true
71
73
  },
72
74
  "foundrySystem": {
73
75
  "$ref": "util-foundry.json#/$defs/foundrySystemObject"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.14.0",
3
+ "version": "1.14.1",
4
4
  "type": "object",
5
5
  "description": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`",
6
6
  "$defs": {
@@ -184,6 +184,16 @@
184
184
  },
185
185
  "markdownDescription": "Object names are optional feature "type" shorthands (e.g. "EI" for "Eldritch Invocation" which will be displayed in the list view as a sortable column"
186
186
  },
187
+ "vehicleUpgradeTypes": {
188
+ "type": "object",
189
+ "description": "Object names are vehicle upgrade \"type\" shorthands (e.g. \"SHP:H\" for \"Ship Upgrade, Hull\" which will be displayed in the list view as a sortable column",
190
+ "patternProperties": {
191
+ ".*": {
192
+ "type": "string"
193
+ }
194
+ },
195
+ "markdownDescription": "Object names are vehicle upgrade "type" shorthands (e.g. "SHP:H" for "Ship Upgrade, Hull" which will be displayed in the list view as a sortable column"
196
+ },
187
197
  "featCategories": {
188
198
  "type": "object",
189
199
  "description": "Object names are feat \"category\" shorthands (e.g. \"O\" for \"Origin\" which will be displayed in the list view as a sortable column",
@@ -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.29",
4
+ "version": "1.14.30",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "itemData": {
@@ -415,7 +415,9 @@
415
415
  "type": "string",
416
416
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
417
417
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
418
- }
418
+ },
419
+ "minItems": 1,
420
+ "uniqueItems": true
419
421
  },
420
422
  "seeAlsoVehicle": {
421
423
  "type": "array",
@@ -423,7 +425,9 @@
423
425
  "type": "string",
424
426
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
425
427
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
426
- }
428
+ },
429
+ "minItems": 1,
430
+ "uniqueItems": true
427
431
  },
428
432
  "reqAttuneTags": {
429
433
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -955,7 +959,9 @@
955
959
  "type": "string",
956
960
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
957
961
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
958
- }
962
+ },
963
+ "minItems": 1,
964
+ "uniqueItems": true
959
965
  },
960
966
  "seeAlsoVehicle": {
961
967
  "type": "array",
@@ -963,7 +969,9 @@
963
969
  "type": "string",
964
970
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
965
971
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
966
- }
972
+ },
973
+ "minItems": 1,
974
+ "uniqueItems": true
967
975
  },
968
976
  "reqAttuneTags": {
969
977
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -1497,7 +1505,9 @@
1497
1505
  "type": "string",
1498
1506
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
1499
1507
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
1500
- }
1508
+ },
1509
+ "minItems": 1,
1510
+ "uniqueItems": true
1501
1511
  },
1502
1512
  "seeAlsoVehicle": {
1503
1513
  "type": "array",
@@ -1505,7 +1515,9 @@
1505
1515
  "type": "string",
1506
1516
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
1507
1517
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
1508
- }
1518
+ },
1519
+ "minItems": 1,
1520
+ "uniqueItems": true
1509
1521
  },
1510
1522
  "reqAttuneTags": {
1511
1523
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -2037,7 +2049,9 @@
2037
2049
  "type": "string",
2038
2050
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
2039
2051
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
2040
- }
2052
+ },
2053
+ "minItems": 1,
2054
+ "uniqueItems": true
2041
2055
  },
2042
2056
  "seeAlsoVehicle": {
2043
2057
  "type": "array",
@@ -2045,7 +2059,9 @@
2045
2059
  "type": "string",
2046
2060
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
2047
2061
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
2048
- }
2062
+ },
2063
+ "minItems": 1,
2064
+ "uniqueItems": true
2049
2065
  },
2050
2066
  "reqAttuneTags": {
2051
2067
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -2584,7 +2600,9 @@
2584
2600
  "type": "string",
2585
2601
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
2586
2602
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
2587
- }
2603
+ },
2604
+ "minItems": 1,
2605
+ "uniqueItems": true
2588
2606
  },
2589
2607
  "seeAlsoVehicle": {
2590
2608
  "type": "array",
@@ -2592,7 +2610,9 @@
2592
2610
  "type": "string",
2593
2611
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
2594
2612
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
2595
- }
2613
+ },
2614
+ "minItems": 1,
2615
+ "uniqueItems": true
2596
2616
  },
2597
2617
  "reqAttuneTags": {
2598
2618
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -3128,7 +3148,9 @@
3128
3148
  "type": "string",
3129
3149
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
3130
3150
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
3131
- }
3151
+ },
3152
+ "minItems": 1,
3153
+ "uniqueItems": true
3132
3154
  },
3133
3155
  "seeAlsoVehicle": {
3134
3156
  "type": "array",
@@ -3136,7 +3158,9 @@
3136
3158
  "type": "string",
3137
3159
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
3138
3160
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
3139
- }
3161
+ },
3162
+ "minItems": 1,
3163
+ "uniqueItems": true
3140
3164
  },
3141
3165
  "reqAttuneTags": {
3142
3166
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.18.6",
6
+ "version": "1.19.0",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -2500,8 +2500,8 @@
2500
2500
  },
2501
2501
  "dataOptionalfeatureType": {
2502
2502
  "type": "string",
2503
- "description": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon\n- TT: Traveler's Trick",
2504
- "markdownDescription": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon\n- TT: Traveler's Trick",
2503
+ "description": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- TT: Traveler's Trick",
2504
+ "markdownDescription": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- TT: Traveler's Trick",
2505
2505
  "examples": [
2506
2506
  "ED",
2507
2507
  "EI",
@@ -2519,6 +2519,18 @@
2519
2519
  "AS",
2520
2520
  "PB",
2521
2521
  "AI",
2522
+ "OR",
2523
+ "RN",
2524
+ "AF",
2525
+ "TT",
2526
+ "RP"
2527
+ ]
2528
+ },
2529
+ "dataVehicleUpgradeType": {
2530
+ "type": "string",
2531
+ "description": "- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon",
2532
+ "markdownDescription": "- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon",
2533
+ "examples": [
2522
2534
  "SHP:H",
2523
2535
  "SHP:M",
2524
2536
  "SHP:W",
@@ -2526,12 +2538,7 @@
2526
2538
  "SHP:O",
2527
2539
  "IWM:W",
2528
2540
  "IWM:A",
2529
- "IWM:G",
2530
- "OR",
2531
- "RN",
2532
- "AF",
2533
- "TT",
2534
- "RP"
2541
+ "IWM:G"
2535
2542
  ]
2536
2543
  },
2537
2544
  "dataFeatCategory": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "vehicles.json",
4
- "version": "1.9.1",
4
+ "version": "1.10.2",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "vehicleTerrain": {
@@ -203,9 +203,13 @@
203
203
  "upgradeType": {
204
204
  "type": "array",
205
205
  "items": {
206
- "$ref": "util.json#/$defs/dataOptionalfeatureType",
207
- "type": "string"
208
- }
206
+ "$ref": "util.json#/$defs/dataVehicleUpgradeType"
207
+ },
208
+ "minItems": 1,
209
+ "uniqueItems": true
210
+ },
211
+ "cost": {
212
+ "$ref": "#/$defs/_vehicleCost"
209
213
  },
210
214
  "hasFluff": {
211
215
  "type": "boolean"
@@ -251,9 +255,13 @@
251
255
  "upgradeType": {
252
256
  "type": "array",
253
257
  "items": {
254
- "$ref": "util.json#/$defs/dataOptionalfeatureType",
255
- "type": "string"
256
- }
258
+ "$ref": "util.json#/$defs/dataVehicleUpgradeType"
259
+ },
260
+ "minItems": 1,
261
+ "uniqueItems": true
262
+ },
263
+ "cost": {
264
+ "$ref": "#/$defs/_vehicleCost"
257
265
  },
258
266
  "hasFluff": {
259
267
  "type": "boolean"
@@ -303,9 +311,13 @@
303
311
  "upgradeType": {
304
312
  "type": "array",
305
313
  "items": {
306
- "$ref": "util.json#/$defs/dataOptionalfeatureType",
307
- "type": "string"
308
- }
314
+ "$ref": "util.json#/$defs/dataVehicleUpgradeType"
315
+ },
316
+ "minItems": 1,
317
+ "uniqueItems": true
318
+ },
319
+ "cost": {
320
+ "$ref": "#/$defs/_vehicleCost"
309
321
  },
310
322
  "hasFluff": {
311
323
  "type": "boolean"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "actions.json",
4
- "version": "1.2.8",
4
+ "version": "1.2.9",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "action": {
@@ -67,7 +67,9 @@
67
67
  "type": "string",
68
68
  "description": "UIDs of \"action\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"disarm|dmg\".",
69
69
  "markdownDescription": "UIDs of "action"s to be linked in a "See Also" footnote.\n\nEx.: "disarm|dmg"."
70
- }
70
+ },
71
+ "minItems": 1,
72
+ "uniqueItems": true
71
73
  },
72
74
  "foundrySystem": {
73
75
  "$ref": "util-foundry.json#/$defs/foundrySystemObject"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.14.0",
3
+ "version": "1.14.1",
4
4
  "type": "object",
5
5
  "description": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`",
6
6
  "$defs": {
@@ -182,6 +182,16 @@
182
182
  },
183
183
  "markdownDescription": "Object names are optional feature "type" shorthands (e.g. "EI" for "Eldritch Invocation" which will be displayed in the list view as a sortable column"
184
184
  },
185
+ "vehicleUpgradeTypes": {
186
+ "type": "object",
187
+ "description": "Object names are vehicle upgrade \"type\" shorthands (e.g. \"SHP:H\" for \"Ship Upgrade, Hull\" which will be displayed in the list view as a sortable column",
188
+ "patternProperties": {
189
+ ".*": {
190
+ "type": "string"
191
+ }
192
+ },
193
+ "markdownDescription": "Object names are vehicle upgrade "type" shorthands (e.g. "SHP:H" for "Ship Upgrade, Hull" which will be displayed in the list view as a sortable column"
194
+ },
185
195
  "featCategories": {
186
196
  "type": "object",
187
197
  "description": "Object names are feat \"category\" shorthands (e.g. \"O\" for \"Origin\" which will be displayed in the list view as a sortable column",
@@ -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.29",
4
+ "version": "1.14.30",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "itemData": {
@@ -415,7 +415,9 @@
415
415
  "type": "string",
416
416
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
417
417
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
418
- }
418
+ },
419
+ "minItems": 1,
420
+ "uniqueItems": true
419
421
  },
420
422
  "seeAlsoVehicle": {
421
423
  "type": "array",
@@ -423,7 +425,9 @@
423
425
  "type": "string",
424
426
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
425
427
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
426
- }
428
+ },
429
+ "minItems": 1,
430
+ "uniqueItems": true
427
431
  },
428
432
  "reqAttuneTags": {
429
433
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -955,7 +959,9 @@
955
959
  "type": "string",
956
960
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
957
961
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
958
- }
962
+ },
963
+ "minItems": 1,
964
+ "uniqueItems": true
959
965
  },
960
966
  "seeAlsoVehicle": {
961
967
  "type": "array",
@@ -963,7 +969,9 @@
963
969
  "type": "string",
964
970
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
965
971
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
966
- }
972
+ },
973
+ "minItems": 1,
974
+ "uniqueItems": true
967
975
  },
968
976
  "reqAttuneTags": {
969
977
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -1497,7 +1505,9 @@
1497
1505
  "type": "string",
1498
1506
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
1499
1507
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
1500
- }
1508
+ },
1509
+ "minItems": 1,
1510
+ "uniqueItems": true
1501
1511
  },
1502
1512
  "seeAlsoVehicle": {
1503
1513
  "type": "array",
@@ -1505,7 +1515,9 @@
1505
1515
  "type": "string",
1506
1516
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
1507
1517
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
1508
- }
1518
+ },
1519
+ "minItems": 1,
1520
+ "uniqueItems": true
1509
1521
  },
1510
1522
  "reqAttuneTags": {
1511
1523
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -2037,7 +2049,9 @@
2037
2049
  "type": "string",
2038
2050
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
2039
2051
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
2040
- }
2052
+ },
2053
+ "minItems": 1,
2054
+ "uniqueItems": true
2041
2055
  },
2042
2056
  "seeAlsoVehicle": {
2043
2057
  "type": "array",
@@ -2045,7 +2059,9 @@
2045
2059
  "type": "string",
2046
2060
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
2047
2061
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
2048
- }
2062
+ },
2063
+ "minItems": 1,
2064
+ "uniqueItems": true
2049
2065
  },
2050
2066
  "reqAttuneTags": {
2051
2067
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -2584,7 +2600,9 @@
2584
2600
  "type": "string",
2585
2601
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
2586
2602
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
2587
- }
2603
+ },
2604
+ "minItems": 1,
2605
+ "uniqueItems": true
2588
2606
  },
2589
2607
  "seeAlsoVehicle": {
2590
2608
  "type": "array",
@@ -2592,7 +2610,9 @@
2592
2610
  "type": "string",
2593
2611
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
2594
2612
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
2595
- }
2613
+ },
2614
+ "minItems": 1,
2615
+ "uniqueItems": true
2596
2616
  },
2597
2617
  "reqAttuneTags": {
2598
2618
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -3128,7 +3148,9 @@
3128
3148
  "type": "string",
3129
3149
  "description": "UIDs of \"deck\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"deck of many things|dmg\".",
3130
3150
  "markdownDescription": "UIDs of "deck"s to be linked in a "See Also" footnote.\n\nEx.: "deck of many things|dmg"."
3131
- }
3151
+ },
3152
+ "minItems": 1,
3153
+ "uniqueItems": true
3132
3154
  },
3133
3155
  "seeAlsoVehicle": {
3134
3156
  "type": "array",
@@ -3136,7 +3158,9 @@
3136
3158
  "type": "string",
3137
3159
  "description": "UIDs of \"vehicle\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"rowboat|gos\".",
3138
3160
  "markdownDescription": "UIDs of "vehicle"s to be linked in a "See Also" footnote.\n\nEx.: "rowboat|gos"."
3139
- }
3161
+ },
3162
+ "minItems": 1,
3163
+ "uniqueItems": true
3140
3164
  },
3141
3165
  "reqAttuneTags": {
3142
3166
  "$ref": "util.json#/$defs/reqAttuneTags"
@@ -3,7 +3,7 @@
3
3
  "$id": "util.json",
4
4
  "title": "Util",
5
5
  "description": "Utility definitions to be used in other schemas.",
6
- "version": "1.18.6",
6
+ "version": "1.19.0",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -2500,8 +2500,8 @@
2500
2500
  },
2501
2501
  "dataOptionalfeatureType": {
2502
2502
  "type": "string",
2503
- "description": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon\n- TT: Traveler's Trick",
2504
- "markdownDescription": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon\n- TT: Traveler's Trick",
2503
+ "description": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- TT: Traveler's Trick",
2504
+ "markdownDescription": "- AF: Alchemical Formula\n- AI: Artificer Infusion\n- AS: Arcane Shot\n- AS:V1-UA: Arcane Shot, V1 (UA)\n- AS:V2-UA: Arcane Shot, V2 (UA)\n- ED: Elemental Discipline\n- EI: Eldritch Invocation\n- FS:B: Fighting Style; Bard\n- FS:F: Fighting Style; Fighter\n- FS:P: Fighting Style; Paladin\n- FS:R: Fighting Style; Ranger\n- MM: Metamagic\n- MV: Maneuver\n- MV:B: Maneuver, Battle Master\n- MV:C2-UA: Maneuver, Cavalier V2 (UA)\n- OR: Onomancy Resonant\n- OTH: Other\n- PB: Pact Boon\n- RN: Rune Knight Rune\n- RP: Renown Perk\n- TT: Traveler's Trick",
2505
2505
  "examples": [
2506
2506
  "ED",
2507
2507
  "EI",
@@ -2519,6 +2519,18 @@
2519
2519
  "AS",
2520
2520
  "PB",
2521
2521
  "AI",
2522
+ "OR",
2523
+ "RN",
2524
+ "AF",
2525
+ "TT",
2526
+ "RP"
2527
+ ]
2528
+ },
2529
+ "dataVehicleUpgradeType": {
2530
+ "type": "string",
2531
+ "description": "- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon",
2532
+ "markdownDescription": "- IWM:A: Infernal War Machine Upgrade, Armor\n- IWM:G: Infernal War Machine Upgrade, Gadget\n- IWM:W: Infernal War Machine Variant, Weapon\n- SHP:F: Ship Upgrade, Figurehead\n- SHP:H: Ship Upgrade, Hull\n- SHP:M: Ship Upgrade, Movement\n- SHP:O: Ship Upgrade, Miscellaneous\n- SHP:W: Ship Upgrade, Weapon",
2533
+ "examples": [
2522
2534
  "SHP:H",
2523
2535
  "SHP:M",
2524
2536
  "SHP:W",
@@ -2526,12 +2538,7 @@
2526
2538
  "SHP:O",
2527
2539
  "IWM:W",
2528
2540
  "IWM:A",
2529
- "IWM:G",
2530
- "OR",
2531
- "RN",
2532
- "AF",
2533
- "TT",
2534
- "RP"
2541
+ "IWM:G"
2535
2542
  ]
2536
2543
  },
2537
2544
  "dataFeatCategory": {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "vehicles.json",
4
- "version": "1.9.1",
4
+ "version": "1.10.2",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "vehicleTerrain": {
@@ -203,9 +203,13 @@
203
203
  "upgradeType": {
204
204
  "type": "array",
205
205
  "items": {
206
- "$ref": "util.json#/$defs/dataOptionalfeatureType",
207
- "type": "string"
208
- }
206
+ "$ref": "util.json#/$defs/dataVehicleUpgradeType"
207
+ },
208
+ "minItems": 1,
209
+ "uniqueItems": true
210
+ },
211
+ "cost": {
212
+ "$ref": "#/$defs/_vehicleCost"
209
213
  },
210
214
  "hasFluff": {
211
215
  "type": "boolean"
@@ -251,9 +255,13 @@
251
255
  "upgradeType": {
252
256
  "type": "array",
253
257
  "items": {
254
- "$ref": "util.json#/$defs/dataOptionalfeatureType",
255
- "type": "string"
256
- }
258
+ "$ref": "util.json#/$defs/dataVehicleUpgradeType"
259
+ },
260
+ "minItems": 1,
261
+ "uniqueItems": true
262
+ },
263
+ "cost": {
264
+ "$ref": "#/$defs/_vehicleCost"
257
265
  },
258
266
  "hasFluff": {
259
267
  "type": "boolean"
@@ -303,9 +311,13 @@
303
311
  "upgradeType": {
304
312
  "type": "array",
305
313
  "items": {
306
- "$ref": "util.json#/$defs/dataOptionalfeatureType",
307
- "type": "string"
308
- }
314
+ "$ref": "util.json#/$defs/dataVehicleUpgradeType"
315
+ },
316
+ "minItems": 1,
317
+ "uniqueItems": true
318
+ },
319
+ "cost": {
320
+ "$ref": "#/$defs/_vehicleCost"
309
321
  },
310
322
  "hasFluff": {
311
323
  "type": "boolean"
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "actions.json",
4
- "version": "1.2.8",
4
+ "version": "1.2.9",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "action": {
@@ -67,7 +67,9 @@
67
67
  "type": "string",
68
68
  "description": "UIDs of \"action\"s to be linked in a \"See Also\" footnote.\n\nEx.: \"disarm|dmg\".",
69
69
  "markdownDescription": "UIDs of "action"s to be linked in a "See Also" footnote.\n\nEx.: "disarm|dmg"."
70
- }
70
+ },
71
+ "minItems": 1,
72
+ "uniqueItems": true
71
73
  },
72
74
  "srd": {
73
75
  "$ref": "util.json#/$defs/srd"