5etools-utils 0.15.17 → 0.16.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 (126) hide show
  1. package/README.md +13 -13
  2. package/bin/clean-html.js +0 -0
  3. package/bin/lint-js-changed.js +17 -0
  4. package/bin/test-edition-sources.js +0 -0
  5. package/bin/test-file-contents.js +0 -0
  6. package/bin/test-file-locations.js +0 -0
  7. package/bin/test-file-names.js +0 -0
  8. package/bin/test-file-props.js +0 -0
  9. package/bin/test-img-file-extensions.js +0 -0
  10. package/bin/test-img-file-sizes.js +0 -0
  11. package/bin/test-img-source-names-brew.js +0 -0
  12. package/bin/test-img-source-names-ua.js +0 -0
  13. package/bin/test-json-brew.js +0 -0
  14. package/bin/test-json-ua.js +0 -0
  15. package/lib/Lint/LintJsChanged.js +33 -0
  16. package/lib/UtilGit.js +39 -0
  17. package/lib/eslint/eslint-plugin-jquery.js +49 -0
  18. package/package.json +16 -6
  19. package/schema/brew/charcreationoptions.json +162 -8
  20. package/schema/brew/cultsboons.json +399 -14
  21. package/schema/brew/encounterbuilder.json +81 -2
  22. package/schema/brew/fluff-charcreationoptions.json +5 -33
  23. package/schema/brew/homebrew.json +8 -2
  24. package/schema/brew/items-base.json +290 -28
  25. package/schema/brew/languages.json +195 -6
  26. package/schema/brew/objects.json +389 -9
  27. package/schema/brew/psionics.json +356 -7
  28. package/schema/brew/rewards.json +207 -8
  29. package/schema/brew/senses.json +68 -7
  30. package/schema/brew/skills.json +74 -7
  31. package/schema/brew/tables.json +676 -94
  32. package/schema/brew/trapshazards.json +571 -14
  33. package/schema/brew/util-copy.json +143 -1
  34. package/schema/brew/util.json +4 -2
  35. package/schema/brew/variantrules.json +151 -22
  36. package/schema/brew/vehicles.json +6672 -61
  37. package/schema/brew-fast/charcreationoptions.json +162 -8
  38. package/schema/brew-fast/cultsboons.json +399 -14
  39. package/schema/brew-fast/encounterbuilder.json +81 -2
  40. package/schema/brew-fast/fluff-charcreationoptions.json +5 -33
  41. package/schema/brew-fast/homebrew.json +8 -2
  42. package/schema/brew-fast/items-base.json +290 -28
  43. package/schema/brew-fast/languages.json +195 -6
  44. package/schema/brew-fast/objects.json +389 -9
  45. package/schema/brew-fast/psionics.json +356 -7
  46. package/schema/brew-fast/rewards.json +207 -8
  47. package/schema/brew-fast/senses.json +68 -7
  48. package/schema/brew-fast/skills.json +74 -7
  49. package/schema/brew-fast/tables.json +676 -94
  50. package/schema/brew-fast/trapshazards.json +571 -14
  51. package/schema/brew-fast/util-copy.json +143 -1
  52. package/schema/brew-fast/util.json +4 -2
  53. package/schema/brew-fast/variantrules.json +151 -22
  54. package/schema/brew-fast/vehicles.json +6672 -61
  55. package/schema/site/charcreationoptions.json +134 -8
  56. package/schema/site/cultsboons.json +315 -14
  57. package/schema/site/encounterbuilder.json +81 -2
  58. package/schema/site/fluff-charcreationoptions.json +5 -33
  59. package/schema/site/homebrew.json +8 -2
  60. package/schema/site/items-base.json +374 -40
  61. package/schema/site/languages.json +197 -6
  62. package/schema/site/objects.json +361 -9
  63. package/schema/site/psionics.json +314 -7
  64. package/schema/site/rewards.json +165 -8
  65. package/schema/site/senses.json +92 -7
  66. package/schema/site/skills.json +98 -7
  67. package/schema/site/tables.json +600 -87
  68. package/schema/site/trapshazards.json +555 -14
  69. package/schema/site/util-copy.json +143 -1
  70. package/schema/site/util.json +4 -2
  71. package/schema/site/variantrules.json +161 -22
  72. package/schema/site/vehicles.json +6446 -86
  73. package/schema/site-fast/charcreationoptions.json +134 -8
  74. package/schema/site-fast/cultsboons.json +315 -14
  75. package/schema/site-fast/encounterbuilder.json +81 -2
  76. package/schema/site-fast/fluff-charcreationoptions.json +5 -33
  77. package/schema/site-fast/homebrew.json +8 -2
  78. package/schema/site-fast/items-base.json +374 -40
  79. package/schema/site-fast/languages.json +197 -6
  80. package/schema/site-fast/objects.json +361 -9
  81. package/schema/site-fast/psionics.json +314 -7
  82. package/schema/site-fast/rewards.json +165 -8
  83. package/schema/site-fast/senses.json +92 -7
  84. package/schema/site-fast/skills.json +98 -7
  85. package/schema/site-fast/tables.json +600 -87
  86. package/schema/site-fast/trapshazards.json +555 -14
  87. package/schema/site-fast/util-copy.json +143 -1
  88. package/schema/site-fast/util.json +4 -2
  89. package/schema/site-fast/variantrules.json +161 -22
  90. package/schema/site-fast/vehicles.json +6446 -86
  91. package/schema/ua/charcreationoptions.json +110 -8
  92. package/schema/ua/cultsboons.json +315 -14
  93. package/schema/ua/encounterbuilder.json +81 -2
  94. package/schema/ua/fluff-charcreationoptions.json +5 -33
  95. package/schema/ua/homebrew.json +8 -2
  96. package/schema/ua/items-base.json +290 -28
  97. package/schema/ua/languages.json +173 -6
  98. package/schema/ua/objects.json +367 -9
  99. package/schema/ua/psionics.json +314 -7
  100. package/schema/ua/rewards.json +165 -8
  101. package/schema/ua/senses.json +68 -7
  102. package/schema/ua/skills.json +74 -7
  103. package/schema/ua/tables.json +564 -87
  104. package/schema/ua/trapshazards.json +483 -14
  105. package/schema/ua/util-copy.json +143 -1
  106. package/schema/ua/util.json +4 -2
  107. package/schema/ua/variantrules.json +139 -22
  108. package/schema/ua/vehicles.json +6574 -76
  109. package/schema/ua-fast/charcreationoptions.json +110 -8
  110. package/schema/ua-fast/cultsboons.json +315 -14
  111. package/schema/ua-fast/encounterbuilder.json +81 -2
  112. package/schema/ua-fast/fluff-charcreationoptions.json +5 -33
  113. package/schema/ua-fast/homebrew.json +8 -2
  114. package/schema/ua-fast/items-base.json +290 -28
  115. package/schema/ua-fast/languages.json +173 -6
  116. package/schema/ua-fast/objects.json +367 -9
  117. package/schema/ua-fast/psionics.json +314 -7
  118. package/schema/ua-fast/rewards.json +165 -8
  119. package/schema/ua-fast/senses.json +68 -7
  120. package/schema/ua-fast/skills.json +74 -7
  121. package/schema/ua-fast/tables.json +564 -87
  122. package/schema/ua-fast/trapshazards.json +483 -14
  123. package/schema/ua-fast/util-copy.json +143 -1
  124. package/schema/ua-fast/util.json +4 -2
  125. package/schema/ua-fast/variantrules.json +139 -22
  126. package/schema/ua-fast/vehicles.json +6574 -76
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "charcreationoptions.json",
4
- "version": "1.2.8",
4
+ "version": "1.3.0",
5
5
  "title": "Character Creation Options",
6
6
  "type": "object",
7
7
  "$defs": {
@@ -18,7 +18,7 @@
18
18
  "SG"
19
19
  ]
20
20
  },
21
- "charoption": {
21
+ "charoptionData": {
22
22
  "type": "object",
23
23
  "properties": {
24
24
  "name": {
@@ -71,16 +71,139 @@
71
71
  "$ref": "util.json#/$defs/basicRules"
72
72
  }
73
73
  },
74
- "required": [
75
- "name",
76
- "entries",
77
- "source",
78
- "optionType"
79
- ],
80
74
  "additionalProperties": false
75
+ },
76
+ "charoption": {
77
+ "anyOf": [
78
+ {
79
+ "type": "object",
80
+ "properties": {
81
+ "name": {
82
+ "type": "string"
83
+ },
84
+ "entries": {
85
+ "type": "array",
86
+ "items": {
87
+ "$ref": "entry.json"
88
+ }
89
+ },
90
+ "source": {
91
+ "$ref": "util.json#/$defs/source"
92
+ },
93
+ "page": {
94
+ "$ref": "util.json#/$defs/page"
95
+ },
96
+ "optionType": {
97
+ "$comment": "Note that this field supports arbitrary strings for homebrew usage.",
98
+ "type": "array",
99
+ "items": {
100
+ "$ref": "#/$defs/optionType"
101
+ }
102
+ },
103
+ "otherSources": {
104
+ "$ref": "util.json#/$defs/otherSources"
105
+ },
106
+ "referenceSources": {
107
+ "$ref": "util.json#/$defs/referenceSources"
108
+ },
109
+ "hasFluff": {
110
+ "type": "boolean"
111
+ },
112
+ "hasFluffImages": {
113
+ "type": "boolean"
114
+ },
115
+ "prerequisite": {
116
+ "$ref": "util.json#/$defs/prerequisite"
117
+ },
118
+ "srd": {
119
+ "$ref": "util.json#/$defs/srd"
120
+ },
121
+ "srd52": {
122
+ "$ref": "util.json#/$defs/srd"
123
+ },
124
+ "basicRules": {
125
+ "$ref": "util.json#/$defs/basicRules"
126
+ },
127
+ "basicRules2024": {
128
+ "$ref": "util.json#/$defs/basicRules"
129
+ }
130
+ },
131
+ "additionalProperties": false,
132
+ "required": [
133
+ "name",
134
+ "source",
135
+ "entries",
136
+ "optionType"
137
+ ]
138
+ },
139
+ {
140
+ "type": "object",
141
+ "properties": {
142
+ "name": {
143
+ "type": "string"
144
+ },
145
+ "entries": {
146
+ "type": "array",
147
+ "items": {
148
+ "$ref": "entry.json"
149
+ }
150
+ },
151
+ "source": {
152
+ "$ref": "util.json#/$defs/source"
153
+ },
154
+ "page": {
155
+ "$ref": "util.json#/$defs/page"
156
+ },
157
+ "optionType": {
158
+ "$comment": "Note that this field supports arbitrary strings for homebrew usage.",
159
+ "type": "array",
160
+ "items": {
161
+ "$ref": "#/$defs/optionType"
162
+ }
163
+ },
164
+ "otherSources": {
165
+ "$ref": "util.json#/$defs/otherSources"
166
+ },
167
+ "referenceSources": {
168
+ "$ref": "util.json#/$defs/referenceSources"
169
+ },
170
+ "hasFluff": {
171
+ "type": "boolean"
172
+ },
173
+ "hasFluffImages": {
174
+ "type": "boolean"
175
+ },
176
+ "prerequisite": {
177
+ "$ref": "util.json#/$defs/prerequisite"
178
+ },
179
+ "srd": {
180
+ "$ref": "util.json#/$defs/srd"
181
+ },
182
+ "srd52": {
183
+ "$ref": "util.json#/$defs/srd"
184
+ },
185
+ "basicRules": {
186
+ "$ref": "util.json#/$defs/basicRules"
187
+ },
188
+ "basicRules2024": {
189
+ "$ref": "util.json#/$defs/basicRules"
190
+ },
191
+ "_copy": {
192
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
193
+ }
194
+ },
195
+ "additionalProperties": false,
196
+ "required": [
197
+ "_copy"
198
+ ]
199
+ }
200
+ ]
81
201
  }
82
202
  },
83
203
  "properties": {
204
+ "_meta": {
205
+ "$ref": "util.json#/$defs/metaBlock"
206
+ },
84
207
  "charoption": {
85
208
  "type": "array",
86
209
  "minItems": 1,
@@ -90,5 +213,8 @@
90
213
  }
91
214
  }
92
215
  },
216
+ "required": [
217
+ "charoption"
218
+ ],
93
219
  "additionalProperties": false
94
220
  }
@@ -1,10 +1,10 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "cultsboons.json",
4
- "version": "1.2.3",
4
+ "version": "1.3.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
- "cult": {
7
+ "cultData": {
8
8
  "type": "object",
9
9
  "properties": {
10
10
  "name": {
@@ -80,14 +80,180 @@
80
80
  }
81
81
  }
82
82
  },
83
- "required": [
84
- "name",
85
- "source",
86
- "entries"
87
- ],
88
83
  "additionalProperties": false
89
84
  },
90
- "boon": {
85
+ "cult": {
86
+ "anyOf": [
87
+ {
88
+ "type": "object",
89
+ "properties": {
90
+ "name": {
91
+ "type": "string"
92
+ },
93
+ "source": {
94
+ "$ref": "util.json#/$defs/source"
95
+ },
96
+ "page": {
97
+ "$ref": "util.json#/$defs/page"
98
+ },
99
+ "otherSources": {
100
+ "$ref": "util.json#/$defs/otherSources"
101
+ },
102
+ "referenceSources": {
103
+ "$ref": "util.json#/$defs/referenceSources"
104
+ },
105
+ "reprintedAs": {
106
+ "$ref": "util.json#/$defs/reprintedAs"
107
+ },
108
+ "legacy": {
109
+ "$ref": "util.json#/$defs/legacy"
110
+ },
111
+ "type": {
112
+ "type": "string",
113
+ "enum": [
114
+ "Demonic",
115
+ "Diabolical",
116
+ "Elder Evil",
117
+ "Elemental"
118
+ ]
119
+ },
120
+ "goal": {
121
+ "type": "object",
122
+ "properties": {
123
+ "entry": {
124
+ "type": "string"
125
+ }
126
+ },
127
+ "required": [
128
+ "entry"
129
+ ],
130
+ "additionalProperties": false
131
+ },
132
+ "cultists": {
133
+ "type": "object",
134
+ "properties": {
135
+ "entry": {
136
+ "type": "string"
137
+ }
138
+ },
139
+ "required": [
140
+ "entry"
141
+ ],
142
+ "additionalProperties": false
143
+ },
144
+ "signatureSpells": {
145
+ "type": "object",
146
+ "properties": {
147
+ "entry": {
148
+ "type": "string"
149
+ }
150
+ },
151
+ "required": [
152
+ "entry"
153
+ ],
154
+ "additionalProperties": false
155
+ },
156
+ "entries": {
157
+ "type": "array",
158
+ "items": {
159
+ "$ref": "entry.json"
160
+ }
161
+ }
162
+ },
163
+ "additionalProperties": false,
164
+ "required": [
165
+ "name",
166
+ "source",
167
+ "entries"
168
+ ]
169
+ },
170
+ {
171
+ "type": "object",
172
+ "properties": {
173
+ "name": {
174
+ "type": "string"
175
+ },
176
+ "source": {
177
+ "$ref": "util.json#/$defs/source"
178
+ },
179
+ "page": {
180
+ "$ref": "util.json#/$defs/page"
181
+ },
182
+ "otherSources": {
183
+ "$ref": "util.json#/$defs/otherSources"
184
+ },
185
+ "referenceSources": {
186
+ "$ref": "util.json#/$defs/referenceSources"
187
+ },
188
+ "reprintedAs": {
189
+ "$ref": "util.json#/$defs/reprintedAs"
190
+ },
191
+ "legacy": {
192
+ "$ref": "util.json#/$defs/legacy"
193
+ },
194
+ "type": {
195
+ "type": "string",
196
+ "enum": [
197
+ "Demonic",
198
+ "Diabolical",
199
+ "Elder Evil",
200
+ "Elemental"
201
+ ]
202
+ },
203
+ "goal": {
204
+ "type": "object",
205
+ "properties": {
206
+ "entry": {
207
+ "type": "string"
208
+ }
209
+ },
210
+ "required": [
211
+ "entry"
212
+ ],
213
+ "additionalProperties": false
214
+ },
215
+ "cultists": {
216
+ "type": "object",
217
+ "properties": {
218
+ "entry": {
219
+ "type": "string"
220
+ }
221
+ },
222
+ "required": [
223
+ "entry"
224
+ ],
225
+ "additionalProperties": false
226
+ },
227
+ "signatureSpells": {
228
+ "type": "object",
229
+ "properties": {
230
+ "entry": {
231
+ "type": "string"
232
+ }
233
+ },
234
+ "required": [
235
+ "entry"
236
+ ],
237
+ "additionalProperties": false
238
+ },
239
+ "entries": {
240
+ "type": "array",
241
+ "items": {
242
+ "$ref": "entry.json"
243
+ }
244
+ },
245
+ "_copy": {
246
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
247
+ }
248
+ },
249
+ "additionalProperties": false,
250
+ "required": [
251
+ "_copy"
252
+ ]
253
+ }
254
+ ]
255
+ },
256
+ "boonData": {
91
257
  "type": "object",
92
258
  "properties": {
93
259
  "name": {
@@ -146,16 +312,151 @@
146
312
  }
147
313
  }
148
314
  },
149
- "required": [
150
- "name",
151
- "source",
152
- "type",
153
- "entries"
154
- ],
155
315
  "additionalProperties": false
316
+ },
317
+ "boon": {
318
+ "anyOf": [
319
+ {
320
+ "type": "object",
321
+ "properties": {
322
+ "name": {
323
+ "type": "string"
324
+ },
325
+ "source": {
326
+ "$ref": "util.json#/$defs/source"
327
+ },
328
+ "page": {
329
+ "$ref": "util.json#/$defs/page"
330
+ },
331
+ "otherSources": {
332
+ "$ref": "util.json#/$defs/otherSources"
333
+ },
334
+ "referenceSources": {
335
+ "$ref": "util.json#/$defs/referenceSources"
336
+ },
337
+ "reprintedAs": {
338
+ "$ref": "util.json#/$defs/reprintedAs"
339
+ },
340
+ "type": {
341
+ "type": "string",
342
+ "enum": [
343
+ "Demonic"
344
+ ]
345
+ },
346
+ "ability": {
347
+ "type": "object",
348
+ "properties": {
349
+ "entry": {
350
+ "$ref": "entry.json"
351
+ }
352
+ },
353
+ "required": [
354
+ "entry"
355
+ ],
356
+ "additionalProperties": false
357
+ },
358
+ "signatureSpells": {
359
+ "type": "object",
360
+ "properties": {
361
+ "entry": {
362
+ "$ref": "entry.json"
363
+ }
364
+ },
365
+ "required": [
366
+ "entry"
367
+ ],
368
+ "additionalProperties": false
369
+ },
370
+ "entries": {
371
+ "type": "array",
372
+ "uniqueItems": true,
373
+ "items": {
374
+ "$ref": "entry.json"
375
+ }
376
+ }
377
+ },
378
+ "additionalProperties": false,
379
+ "required": [
380
+ "name",
381
+ "source",
382
+ "type",
383
+ "entries"
384
+ ]
385
+ },
386
+ {
387
+ "type": "object",
388
+ "properties": {
389
+ "name": {
390
+ "type": "string"
391
+ },
392
+ "source": {
393
+ "$ref": "util.json#/$defs/source"
394
+ },
395
+ "page": {
396
+ "$ref": "util.json#/$defs/page"
397
+ },
398
+ "otherSources": {
399
+ "$ref": "util.json#/$defs/otherSources"
400
+ },
401
+ "referenceSources": {
402
+ "$ref": "util.json#/$defs/referenceSources"
403
+ },
404
+ "reprintedAs": {
405
+ "$ref": "util.json#/$defs/reprintedAs"
406
+ },
407
+ "type": {
408
+ "type": "string",
409
+ "enum": [
410
+ "Demonic"
411
+ ]
412
+ },
413
+ "ability": {
414
+ "type": "object",
415
+ "properties": {
416
+ "entry": {
417
+ "$ref": "entry.json"
418
+ }
419
+ },
420
+ "required": [
421
+ "entry"
422
+ ],
423
+ "additionalProperties": false
424
+ },
425
+ "signatureSpells": {
426
+ "type": "object",
427
+ "properties": {
428
+ "entry": {
429
+ "$ref": "entry.json"
430
+ }
431
+ },
432
+ "required": [
433
+ "entry"
434
+ ],
435
+ "additionalProperties": false
436
+ },
437
+ "entries": {
438
+ "type": "array",
439
+ "uniqueItems": true,
440
+ "items": {
441
+ "$ref": "entry.json"
442
+ }
443
+ },
444
+ "_copy": {
445
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
446
+ }
447
+ },
448
+ "additionalProperties": false,
449
+ "required": [
450
+ "_copy"
451
+ ]
452
+ }
453
+ ]
156
454
  }
157
455
  },
158
456
  "properties": {
457
+ "_meta": {
458
+ "$ref": "util.json#/$defs/metaBlock"
459
+ },
159
460
  "cult": {
160
461
  "type": "array",
161
462
  "minItems": 1,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "encounterbuilder.json",
4
- "version": "1.0.2",
4
+ "version": "1.1.0",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "_shapeTemplateNumericalValueFloat": {
@@ -151,7 +151,7 @@
151
151
  ],
152
152
  "additionalProperties": false
153
153
  },
154
- "encounterShape": {
154
+ "encounterShapeData": {
155
155
  "type": "object",
156
156
  "properties": {
157
157
  "name": {
@@ -182,6 +182,85 @@
182
182
  }
183
183
  },
184
184
  "additionalProperties": false
185
+ },
186
+ "encounterShape": {
187
+ "anyOf": [
188
+ {
189
+ "type": "object",
190
+ "properties": {
191
+ "name": {
192
+ "type": "string"
193
+ },
194
+ "source": {
195
+ "$ref": "util.json#/$defs/source"
196
+ },
197
+ "otherSources": {
198
+ "$ref": "util.json#/$defs/otherSources"
199
+ },
200
+ "referenceSources": {
201
+ "$ref": "util.json#/$defs/referenceSources"
202
+ },
203
+ "page": {
204
+ "$ref": "util.json#/$defs/page"
205
+ },
206
+ "reprintedAs": {
207
+ "$ref": "util.json#/$defs/reprintedAs"
208
+ },
209
+ "shapeTemplate": {
210
+ "type": "array",
211
+ "items": {
212
+ "$ref": "#/$defs/_shapeTemplateItem"
213
+ },
214
+ "minItems": 1,
215
+ "uniqueItems": true
216
+ }
217
+ },
218
+ "additionalProperties": false,
219
+ "required": [
220
+ "name",
221
+ "source",
222
+ "shapeTemplate"
223
+ ]
224
+ },
225
+ {
226
+ "type": "object",
227
+ "properties": {
228
+ "name": {
229
+ "type": "string"
230
+ },
231
+ "source": {
232
+ "$ref": "util.json#/$defs/source"
233
+ },
234
+ "otherSources": {
235
+ "$ref": "util.json#/$defs/otherSources"
236
+ },
237
+ "referenceSources": {
238
+ "$ref": "util.json#/$defs/referenceSources"
239
+ },
240
+ "page": {
241
+ "$ref": "util.json#/$defs/page"
242
+ },
243
+ "reprintedAs": {
244
+ "$ref": "util.json#/$defs/reprintedAs"
245
+ },
246
+ "shapeTemplate": {
247
+ "type": "array",
248
+ "items": {
249
+ "$ref": "#/$defs/_shapeTemplateItem"
250
+ },
251
+ "minItems": 1,
252
+ "uniqueItems": true
253
+ },
254
+ "_copy": {
255
+ "$ref": "util-copy.json#/$defs/copyBlock_copy_generic"
256
+ }
257
+ },
258
+ "additionalProperties": false,
259
+ "required": [
260
+ "_copy"
261
+ ]
262
+ }
263
+ ]
185
264
  }
186
265
  },
187
266
  "properties": {
@@ -1,42 +1,14 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "fluff-charcreationoptions.json",
4
- "version": "1.0.2",
4
+ "version": "1.1.0",
5
5
  "type": "object",
6
6
  "properties": {
7
+ "_meta": {
8
+ "$ref": "util.json#/$defs/metaBlock"
9
+ },
7
10
  "charoptionFluff": {
8
- "type": "array",
9
- "minItems": 1,
10
- "uniqueItems": true,
11
- "items": {
12
- "type": "object",
13
- "properties": {
14
- "name": {
15
- "type": "string"
16
- },
17
- "source": {
18
- "$ref": "util.json#/$defs/source"
19
- },
20
- "images": {
21
- "type": "array",
22
- "minItems": 1,
23
- "items": {
24
- "$ref": "entry.json#/$defs/entryImage"
25
- }
26
- },
27
- "entries": {
28
- "type": "array",
29
- "items": {
30
- "$ref": "entry.json"
31
- }
32
- }
33
- },
34
- "required": [
35
- "name",
36
- "source"
37
- ],
38
- "additionalProperties": false
39
- }
11
+ "$ref": "util.json#/$defs/genericFluffArray"
40
12
  }
41
13
  },
42
14
  "additionalProperties": false
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
- "version": "1.12.0",
3
+ "version": "1.13.0",
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": {
@@ -296,6 +296,9 @@
296
296
  "uniqueItems": true
297
297
  }
298
298
  },
299
+ "propertyNames": {
300
+ "$ref": "util-copy.json#/$defs/copyableProps"
301
+ },
299
302
  "markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\n\nNote: when copying classes/subclasses/class features/subclass features, the array should consist of "<classIdentifier1>", ..., "<classIdentifierN>" items, where "classIdentifierN" matches the keys in "5etools/data/class/index.json" (when copying class/etc. homebrew, normal "source"-based linking applies)."
300
303
  },
301
304
  "includes": {
@@ -311,13 +314,16 @@
311
314
  "uniqueItems": true
312
315
  }
313
316
  },
317
+ "propertyNames": {
318
+ "$ref": "util-copy.json#/$defs/includesProps"
319
+ },
314
320
  "markdownDescription": "Structure as per "dependencies". Additional sources to be included when loading the file."
315
321
  },
316
322
  "internalCopies": {
317
323
  "description": "An array of keys that are copied from within the current document. e.g. \"item\", \"monsterFluff\", \"background\" etc.",
318
324
  "type": "array",
319
325
  "items": {
320
- "type": "string"
326
+ "$ref": "util-copy.json#/$defs/copyableProps"
321
327
  },
322
328
  "minItems": 1,
323
329
  "uniqueItems": true,