5etools-utils 0.9.9 → 0.9.10

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 (103) hide show
  1. package/package.json +1 -1
  2. package/schema/brew/backgrounds.json +8 -0
  3. package/schema/brew/bestiary/bestiary.json +8 -0
  4. package/schema/brew/bestiary/legendarygroups.json +8 -0
  5. package/schema/brew/bestiary/template.json +8 -0
  6. package/schema/brew/class/class.json +16 -0
  7. package/schema/brew/class/foundry.json +5 -53
  8. package/schema/brew/decks.json +16 -0
  9. package/schema/brew/deities.json +8 -0
  10. package/schema/brew/fluff-races.json +8 -0
  11. package/schema/brew/foundry-races.json +348 -40
  12. package/schema/brew/foundry-shared.json +54 -0
  13. package/schema/brew/homebrew.json +4 -1
  14. package/schema/brew/items-base.json +8 -0
  15. package/schema/brew/items.json +8 -0
  16. package/schema/brew/races.json +16 -0
  17. package/schema/brew/spells/spells.json +8 -0
  18. package/schema/brew/util.json +17 -1
  19. package/schema/brew-fast/backgrounds.json +8 -0
  20. package/schema/brew-fast/bestiary/bestiary.json +8 -0
  21. package/schema/brew-fast/bestiary/legendarygroups.json +8 -0
  22. package/schema/brew-fast/bestiary/template.json +8 -0
  23. package/schema/brew-fast/class/class.json +16 -0
  24. package/schema/brew-fast/class/foundry.json +5 -53
  25. package/schema/brew-fast/decks.json +16 -0
  26. package/schema/brew-fast/deities.json +8 -0
  27. package/schema/brew-fast/fluff-races.json +8 -0
  28. package/schema/brew-fast/foundry-races.json +348 -40
  29. package/schema/brew-fast/foundry-shared.json +54 -0
  30. package/schema/brew-fast/homebrew.json +4 -1
  31. package/schema/brew-fast/items-base.json +8 -0
  32. package/schema/brew-fast/items.json +8 -0
  33. package/schema/brew-fast/races.json +16 -0
  34. package/schema/brew-fast/spells/spells.json +8 -0
  35. package/schema/brew-fast/util.json +17 -1
  36. package/schema/site/backgrounds.json +8 -0
  37. package/schema/site/bestiary/bestiary.json +8 -0
  38. package/schema/site/bestiary/legendarygroups.json +8 -0
  39. package/schema/site/bestiary/template.json +8 -0
  40. package/schema/site/class/class.json +16 -0
  41. package/schema/site/class/foundry.json +5 -53
  42. package/schema/site/decks.json +16 -0
  43. package/schema/site/deities.json +8 -0
  44. package/schema/site/fluff-races.json +8 -0
  45. package/schema/site/foundry-races.json +348 -40
  46. package/schema/site/foundry-shared.json +54 -0
  47. package/schema/site/homebrew.json +4 -1
  48. package/schema/site/items-base.json +8 -0
  49. package/schema/site/items.json +8 -0
  50. package/schema/site/races.json +16 -0
  51. package/schema/site/spells/spells.json +8 -0
  52. package/schema/site/util.json +17 -1
  53. package/schema/site-fast/backgrounds.json +8 -0
  54. package/schema/site-fast/bestiary/bestiary.json +8 -0
  55. package/schema/site-fast/bestiary/legendarygroups.json +8 -0
  56. package/schema/site-fast/bestiary/template.json +8 -0
  57. package/schema/site-fast/class/class.json +16 -0
  58. package/schema/site-fast/class/foundry.json +5 -53
  59. package/schema/site-fast/decks.json +16 -0
  60. package/schema/site-fast/deities.json +8 -0
  61. package/schema/site-fast/fluff-races.json +8 -0
  62. package/schema/site-fast/foundry-races.json +348 -40
  63. package/schema/site-fast/foundry-shared.json +54 -0
  64. package/schema/site-fast/homebrew.json +4 -1
  65. package/schema/site-fast/items-base.json +8 -0
  66. package/schema/site-fast/items.json +8 -0
  67. package/schema/site-fast/races.json +16 -0
  68. package/schema/site-fast/spells/spells.json +8 -0
  69. package/schema/site-fast/util.json +17 -1
  70. package/schema/ua/backgrounds.json +8 -0
  71. package/schema/ua/bestiary/bestiary.json +8 -0
  72. package/schema/ua/bestiary/legendarygroups.json +8 -0
  73. package/schema/ua/bestiary/template.json +8 -0
  74. package/schema/ua/class/class.json +16 -0
  75. package/schema/ua/class/foundry.json +5 -53
  76. package/schema/ua/decks.json +16 -0
  77. package/schema/ua/deities.json +8 -0
  78. package/schema/ua/fluff-races.json +8 -0
  79. package/schema/ua/foundry-races.json +348 -40
  80. package/schema/ua/foundry-shared.json +54 -0
  81. package/schema/ua/homebrew.json +4 -1
  82. package/schema/ua/items-base.json +8 -0
  83. package/schema/ua/items.json +8 -0
  84. package/schema/ua/races.json +16 -0
  85. package/schema/ua/spells/spells.json +8 -0
  86. package/schema/ua/util.json +17 -1
  87. package/schema/ua-fast/backgrounds.json +8 -0
  88. package/schema/ua-fast/bestiary/bestiary.json +8 -0
  89. package/schema/ua-fast/bestiary/legendarygroups.json +8 -0
  90. package/schema/ua-fast/bestiary/template.json +8 -0
  91. package/schema/ua-fast/class/class.json +16 -0
  92. package/schema/ua-fast/class/foundry.json +5 -53
  93. package/schema/ua-fast/decks.json +16 -0
  94. package/schema/ua-fast/deities.json +8 -0
  95. package/schema/ua-fast/fluff-races.json +8 -0
  96. package/schema/ua-fast/foundry-races.json +348 -40
  97. package/schema/ua-fast/foundry-shared.json +54 -0
  98. package/schema/ua-fast/homebrew.json +4 -1
  99. package/schema/ua-fast/items-base.json +8 -0
  100. package/schema/ua-fast/items.json +8 -0
  101. package/schema/ua-fast/races.json +16 -0
  102. package/schema/ua-fast/spells/spells.json +8 -0
  103. package/schema/ua-fast/util.json +17 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.9.9",
3
+ "version": "0.9.10",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -372,6 +372,14 @@
372
372
  "description": "Used in subclass data",
373
373
  "$ref": "util.json#/$defs/source"
374
374
  },
375
+ "raceName": {
376
+ "description": "Used in race feature data",
377
+ "type": "string"
378
+ },
379
+ "raceSource": {
380
+ "description": "Used in race feature data",
381
+ "$ref": "util.json#/$defs/source"
382
+ },
375
383
  "_mod": {
376
384
  "$ref": "util.json#/$defs/_modObject"
377
385
  },
@@ -3687,6 +3687,14 @@
3687
3687
  "description": "Used in subclass data",
3688
3688
  "$ref": "../util.json#/$defs/source"
3689
3689
  },
3690
+ "raceName": {
3691
+ "description": "Used in race feature data",
3692
+ "type": "string"
3693
+ },
3694
+ "raceSource": {
3695
+ "description": "Used in race feature data",
3696
+ "$ref": "../util.json#/$defs/source"
3697
+ },
3690
3698
  "_mod": {
3691
3699
  "$ref": "../util.json#/$defs/_modObject"
3692
3700
  },
@@ -140,6 +140,14 @@
140
140
  "description": "Used in subclass data",
141
141
  "$ref": "../util.json#/$defs/source"
142
142
  },
143
+ "raceName": {
144
+ "description": "Used in race feature data",
145
+ "type": "string"
146
+ },
147
+ "raceSource": {
148
+ "description": "Used in race feature data",
149
+ "$ref": "../util.json#/$defs/source"
150
+ },
143
151
  "_mod": {
144
152
  "$ref": "../util.json#/$defs/_modObject"
145
153
  },
@@ -216,6 +216,14 @@
216
216
  "description": "Used in subclass data",
217
217
  "$ref": "../util.json#/$defs/source"
218
218
  },
219
+ "raceName": {
220
+ "description": "Used in race feature data",
221
+ "type": "string"
222
+ },
223
+ "raceSource": {
224
+ "description": "Used in race feature data",
225
+ "$ref": "../util.json#/$defs/source"
226
+ },
219
227
  "_mod": {
220
228
  "$ref": "../util.json#/$defs/_modObject"
221
229
  },
@@ -824,6 +824,14 @@
824
824
  "description": "Used in subclass data",
825
825
  "$ref": "../util.json#/$defs/source"
826
826
  },
827
+ "raceName": {
828
+ "description": "Used in race feature data",
829
+ "type": "string"
830
+ },
831
+ "raceSource": {
832
+ "description": "Used in race feature data",
833
+ "$ref": "../util.json#/$defs/source"
834
+ },
827
835
  "_mod": {
828
836
  "$ref": "../util.json#/$defs/_modObject"
829
837
  },
@@ -1594,6 +1602,14 @@
1594
1602
  "description": "Used in subclass data",
1595
1603
  "$ref": "../util.json#/$defs/source"
1596
1604
  },
1605
+ "raceName": {
1606
+ "description": "Used in race feature data",
1607
+ "type": "string"
1608
+ },
1609
+ "raceSource": {
1610
+ "description": "Used in race feature data",
1611
+ "$ref": "../util.json#/$defs/source"
1612
+ },
1597
1613
  "_mod": {
1598
1614
  "$ref": "../util.json#/$defs/_modObject"
1599
1615
  },
@@ -1,56 +1,8 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "foundry-class.json",
4
- "version": "1.4.3",
4
+ "version": "1.4.4",
5
5
  "type": "object",
6
- "$defs": {
7
- "entryDataObject": {
8
- "description": "Additional \"5etools-type\" data to be stored on the entry.",
9
- "type": "object",
10
- "properties": {
11
- "languageProficiencies": {
12
- "$ref": "../util.json#/$defs/languageProficiencies"
13
- },
14
- "skillProficiencies": {
15
- "$ref": "../util.json#/$defs/skillProficiencies"
16
- },
17
- "weaponProficiencies": {
18
- "$ref": "../util.json#/$defs/weaponProficiencies"
19
- },
20
- "armorProficiencies": {
21
- "$ref": "../util.json#/$defs/armorProficiencies"
22
- },
23
- "toolProficiencies": {
24
- "$ref": "../util.json#/$defs/toolProficiencies"
25
- },
26
- "savingThrowProficiencies": {
27
- "$ref": "../util.json#/$defs/savingThrowProficiencies"
28
- },
29
- "expertise": {
30
- "$ref": "../util.json#/$defs/expertise"
31
- },
32
- "resist": {
33
- "$ref": "../util.json#/$defs/damageResistArrayPlayer"
34
- },
35
- "immune": {
36
- "$ref": "../util.json#/$defs/damageImmunityArrayPlayer"
37
- },
38
- "vulnerable": {
39
- "$ref": "../util.json#/$defs/damageVulnerabilityArrayPlayer"
40
- },
41
- "conditionImmune": {
42
- "$ref": "../util.json#/$defs/conditionImmunityArrayPlayer"
43
- },
44
- "resources": {
45
- "$ref": "../util.json#/$defs/resourcesArray"
46
- },
47
- "senses": {
48
- "$ref": "../util.json#/$defs/sensesArray"
49
- }
50
- },
51
- "additionalProperties": false
52
- }
53
- },
54
6
  "properties": {
55
7
  "class": {
56
8
  "type": "array",
@@ -86,7 +38,7 @@
86
38
  }
87
39
  },
88
40
  "entryData": {
89
- "$ref": "#/$defs/entryDataObject"
41
+ "$ref": "../foundry-shared.json#/$defs/entryDataObject"
90
42
  },
91
43
  "advancement": {
92
44
  "$ref": "../util.json#/$defs/foundryAdvancementsArray"
@@ -173,7 +125,7 @@
173
125
  }
174
126
  },
175
127
  "entryData": {
176
- "$ref": "#/$defs/entryDataObject"
128
+ "$ref": "../foundry-shared.json#/$defs/entryDataObject"
177
129
  },
178
130
  "advancement": {
179
131
  "$ref": "../util.json#/$defs/foundryAdvancementsArray"
@@ -260,7 +212,7 @@
260
212
  }
261
213
  },
262
214
  "entryData": {
263
- "$ref": "#/$defs/entryDataObject"
215
+ "$ref": "../foundry-shared.json#/$defs/entryDataObject"
264
216
  },
265
217
  "chooseSystem": {
266
218
  "type": "array",
@@ -352,7 +304,7 @@
352
304
  }
353
305
  },
354
306
  "entryData": {
355
- "$ref": "#/$defs/entryDataObject"
307
+ "$ref": "../foundry-shared.json#/$defs/entryDataObject"
356
308
  },
357
309
  "chooseSystem": {
358
310
  "type": "array",
@@ -228,6 +228,14 @@
228
228
  "description": "Used in subclass data",
229
229
  "$ref": "util.json#/$defs/source"
230
230
  },
231
+ "raceName": {
232
+ "description": "Used in race feature data",
233
+ "type": "string"
234
+ },
235
+ "raceSource": {
236
+ "description": "Used in race feature data",
237
+ "$ref": "util.json#/$defs/source"
238
+ },
231
239
  "_mod": {
232
240
  "$ref": "util.json#/$defs/_modObject"
233
241
  },
@@ -433,6 +441,14 @@
433
441
  "description": "Used in subclass data",
434
442
  "$ref": "util.json#/$defs/source"
435
443
  },
444
+ "raceName": {
445
+ "description": "Used in race feature data",
446
+ "type": "string"
447
+ },
448
+ "raceSource": {
449
+ "description": "Used in race feature data",
450
+ "$ref": "util.json#/$defs/source"
451
+ },
436
452
  "_mod": {
437
453
  "$ref": "util.json#/$defs/_modObject"
438
454
  },
@@ -438,6 +438,14 @@
438
438
  "description": "Used in subclass data",
439
439
  "$ref": "util.json#/$defs/source"
440
440
  },
441
+ "raceName": {
442
+ "description": "Used in race feature data",
443
+ "type": "string"
444
+ },
445
+ "raceSource": {
446
+ "description": "Used in race feature data",
447
+ "$ref": "util.json#/$defs/source"
448
+ },
441
449
  "_mod": {
442
450
  "$ref": "util.json#/$defs/_modObject"
443
451
  },
@@ -144,6 +144,14 @@
144
144
  "description": "Used in subclass data",
145
145
  "$ref": "util.json#/$defs/source"
146
146
  },
147
+ "raceName": {
148
+ "description": "Used in race feature data",
149
+ "type": "string"
150
+ },
151
+ "raceSource": {
152
+ "description": "Used in race feature data",
153
+ "$ref": "util.json#/$defs/source"
154
+ },
147
155
  "_mod": {
148
156
  "$ref": "util.json#/$defs/_modObject"
149
157
  },
@@ -1,57 +1,365 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "foundry-races.json",
4
- "version": "1.1.1",
4
+ "version": "1.2.0",
5
5
  "type": "object",
6
+ "$defs": {
7
+ "raceData": {
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "properties": {
11
+ "name": {
12
+ "type": "string"
13
+ },
14
+ "source": {
15
+ "$ref": "util.json#/$defs/source"
16
+ },
17
+ "system": {
18
+ "$ref": "util.json#/$defs/foundrySystemObject"
19
+ },
20
+ "effects": {
21
+ "type": "array",
22
+ "items": {
23
+ "$ref": "util.json#/$defs/foundryEffectObject"
24
+ }
25
+ },
26
+ "flags": {
27
+ "$ref": "util.json#/$defs/foundryFlagsObject"
28
+ },
29
+ "img": {
30
+ "type": "string"
31
+ },
32
+ "entryData": {
33
+ "$ref": "foundry-shared.json#/$defs/entryDataObject"
34
+ }
35
+ },
36
+ "required": [
37
+ "name",
38
+ "source"
39
+ ]
40
+ },
41
+ "race": {
42
+ "anyOf": [
43
+ {
44
+ "$ref": "#/$defs/raceData"
45
+ },
46
+ {
47
+ "type": "object",
48
+ "additionalProperties": false,
49
+ "properties": {
50
+ "name": {
51
+ "type": "string"
52
+ },
53
+ "source": {
54
+ "$ref": "util.json#/$defs/source"
55
+ },
56
+ "system": {
57
+ "$ref": "util.json#/$defs/foundrySystemObject"
58
+ },
59
+ "effects": {
60
+ "type": "array",
61
+ "items": {
62
+ "$ref": "util.json#/$defs/foundryEffectObject"
63
+ }
64
+ },
65
+ "flags": {
66
+ "$ref": "util.json#/$defs/foundryFlagsObject"
67
+ },
68
+ "img": {
69
+ "type": "string"
70
+ },
71
+ "entryData": {
72
+ "$ref": "foundry-shared.json#/$defs/entryDataObject"
73
+ },
74
+ "_copy": {
75
+ "type": "object",
76
+ "properties": {
77
+ "name": {
78
+ "type": "string"
79
+ },
80
+ "source": {
81
+ "$ref": "util.json#/$defs/source"
82
+ },
83
+ "pantheon": {
84
+ "description": "Used in deity data",
85
+ "type": "string"
86
+ },
87
+ "shortName": {
88
+ "description": "Used in subclass data",
89
+ "type": "string"
90
+ },
91
+ "className": {
92
+ "description": "Used in subclass data",
93
+ "type": "string"
94
+ },
95
+ "classSource": {
96
+ "description": "Used in subclass data",
97
+ "$ref": "util.json#/$defs/source"
98
+ },
99
+ "raceName": {
100
+ "description": "Used in race feature data",
101
+ "type": "string"
102
+ },
103
+ "raceSource": {
104
+ "description": "Used in race feature data",
105
+ "$ref": "util.json#/$defs/source"
106
+ },
107
+ "_mod": {
108
+ "$ref": "util.json#/$defs/_modObject"
109
+ },
110
+ "_trait": {
111
+ "type": "object",
112
+ "properties": {
113
+ "name": {
114
+ "type": "string"
115
+ },
116
+ "source": {
117
+ "$ref": "util.json#/$defs/source"
118
+ }
119
+ },
120
+ "required": [
121
+ "name",
122
+ "source"
123
+ ]
124
+ },
125
+ "_preserve": {
126
+ "type": "object",
127
+ "patternProperties": {
128
+ ".*": {
129
+ "const": true
130
+ }
131
+ }
132
+ }
133
+ },
134
+ "required": [
135
+ "name",
136
+ "source"
137
+ ],
138
+ "additionalProperties": false
139
+ }
140
+ },
141
+ "required": [
142
+ "name",
143
+ "source",
144
+ "_copy"
145
+ ]
146
+ }
147
+ ]
148
+ },
149
+ "raceFeatureData": {
150
+ "type": "object",
151
+ "additionalProperties": false,
152
+ "properties": {
153
+ "name": {
154
+ "type": "string"
155
+ },
156
+ "source": {
157
+ "$ref": "util.json#/$defs/source"
158
+ },
159
+ "system": {
160
+ "$ref": "util.json#/$defs/foundrySystemObject"
161
+ },
162
+ "effects": {
163
+ "type": "array",
164
+ "items": {
165
+ "$ref": "util.json#/$defs/foundryEffectObject"
166
+ }
167
+ },
168
+ "flags": {
169
+ "$ref": "util.json#/$defs/foundryFlagsObject"
170
+ },
171
+ "img": {
172
+ "type": "string"
173
+ },
174
+ "raceName": {
175
+ "description": "The full name of the race, with subrace parts/etc. applied.",
176
+ "type": "string"
177
+ },
178
+ "raceSource": {
179
+ "description": "The source of the subrace or race.",
180
+ "$ref": "util.json#/$defs/source"
181
+ }
182
+ },
183
+ "required": [
184
+ "name",
185
+ "source"
186
+ ]
187
+ },
188
+ "raceFeature": {
189
+ "anyOf": [
190
+ {
191
+ "type": "object",
192
+ "additionalProperties": false,
193
+ "properties": {
194
+ "name": {
195
+ "type": "string"
196
+ },
197
+ "source": {
198
+ "$ref": "util.json#/$defs/source"
199
+ },
200
+ "system": {
201
+ "$ref": "util.json#/$defs/foundrySystemObject"
202
+ },
203
+ "effects": {
204
+ "type": "array",
205
+ "items": {
206
+ "$ref": "util.json#/$defs/foundryEffectObject"
207
+ }
208
+ },
209
+ "flags": {
210
+ "$ref": "util.json#/$defs/foundryFlagsObject"
211
+ },
212
+ "img": {
213
+ "type": "string"
214
+ },
215
+ "raceName": {
216
+ "description": "The full name of the race, with subrace parts/etc. applied.",
217
+ "type": "string"
218
+ },
219
+ "raceSource": {
220
+ "description": "The source of the subrace or race.",
221
+ "$ref": "util.json#/$defs/source"
222
+ }
223
+ },
224
+ "required": [
225
+ "name",
226
+ "source",
227
+ "raceName",
228
+ "raceSource"
229
+ ]
230
+ },
231
+ {
232
+ "type": "object",
233
+ "additionalProperties": false,
234
+ "properties": {
235
+ "name": {
236
+ "type": "string"
237
+ },
238
+ "source": {
239
+ "$ref": "util.json#/$defs/source"
240
+ },
241
+ "system": {
242
+ "$ref": "util.json#/$defs/foundrySystemObject"
243
+ },
244
+ "effects": {
245
+ "type": "array",
246
+ "items": {
247
+ "$ref": "util.json#/$defs/foundryEffectObject"
248
+ }
249
+ },
250
+ "flags": {
251
+ "$ref": "util.json#/$defs/foundryFlagsObject"
252
+ },
253
+ "img": {
254
+ "type": "string"
255
+ },
256
+ "raceName": {
257
+ "description": "The full name of the race, with subrace parts/etc. applied.",
258
+ "type": "string"
259
+ },
260
+ "raceSource": {
261
+ "description": "The source of the subrace or race.",
262
+ "$ref": "util.json#/$defs/source"
263
+ },
264
+ "_copy": {
265
+ "type": "object",
266
+ "properties": {
267
+ "name": {
268
+ "type": "string"
269
+ },
270
+ "source": {
271
+ "$ref": "util.json#/$defs/source"
272
+ },
273
+ "pantheon": {
274
+ "description": "Used in deity data",
275
+ "type": "string"
276
+ },
277
+ "shortName": {
278
+ "description": "Used in subclass data",
279
+ "type": "string"
280
+ },
281
+ "className": {
282
+ "description": "Used in subclass data",
283
+ "type": "string"
284
+ },
285
+ "classSource": {
286
+ "description": "Used in subclass data",
287
+ "$ref": "util.json#/$defs/source"
288
+ },
289
+ "raceName": {
290
+ "description": "Used in race feature data",
291
+ "type": "string"
292
+ },
293
+ "raceSource": {
294
+ "description": "Used in race feature data",
295
+ "$ref": "util.json#/$defs/source"
296
+ },
297
+ "_mod": {
298
+ "$ref": "util.json#/$defs/_modObject"
299
+ },
300
+ "_trait": {
301
+ "type": "object",
302
+ "properties": {
303
+ "name": {
304
+ "type": "string"
305
+ },
306
+ "source": {
307
+ "$ref": "util.json#/$defs/source"
308
+ }
309
+ },
310
+ "required": [
311
+ "name",
312
+ "source"
313
+ ]
314
+ },
315
+ "_preserve": {
316
+ "type": "object",
317
+ "patternProperties": {
318
+ ".*": {
319
+ "const": true
320
+ }
321
+ }
322
+ }
323
+ },
324
+ "required": [
325
+ "name",
326
+ "source"
327
+ ],
328
+ "additionalProperties": false
329
+ }
330
+ },
331
+ "required": [
332
+ "name",
333
+ "source",
334
+ "_copy"
335
+ ]
336
+ }
337
+ ]
338
+ }
339
+ },
6
340
  "properties": {
341
+ "_meta": {
342
+ "$ref": "util.json#/$defs/metaBlock"
343
+ },
344
+ "race": {
345
+ "type": "array",
346
+ "minItems": 1,
347
+ "uniqueItems": true,
348
+ "items": {
349
+ "$ref": "#/$defs/race"
350
+ }
351
+ },
7
352
  "raceFeature": {
8
353
  "type": "array",
9
354
  "minItems": 1,
10
355
  "uniqueItems": true,
11
356
  "items": {
12
- "type": "object",
13
- "required": [
14
- "name",
15
- "source",
16
- "raceName",
17
- "raceSource"
18
- ],
19
- "additionalProperties": false,
20
- "properties": {
21
- "name": {
22
- "type": "string"
23
- },
24
- "source": {
25
- "$ref": "util.json#/$defs/source"
26
- },
27
- "system": {
28
- "$ref": "util.json#/$defs/foundrySystemObject"
29
- },
30
- "effects": {
31
- "type": "array",
32
- "items": {
33
- "$ref": "util.json#/$defs/foundryEffectObject"
34
- }
35
- },
36
- "flags": {
37
- "$ref": "util.json#/$defs/foundryFlagsObject"
38
- },
39
- "img": {
40
- "type": "string"
41
- },
42
- "raceName": {
43
- "description": "The full name of the race, with subrace parts/etc. applied.",
44
- "type": "string"
45
- },
46
- "raceSource": {
47
- "description": "The source of the subrace or race.",
48
- "$ref": "util.json#/$defs/source"
49
- }
50
- }
357
+ "$ref": "#/$defs/raceFeature"
51
358
  }
52
359
  }
53
360
  },
54
361
  "required": [
362
+ "race",
55
363
  "raceFeature"
56
364
  ],
57
365
  "additionalProperties": false