5etools-utils 0.12.19 → 0.12.21

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.
@@ -96,6 +96,23 @@ class _BrewIndexMeta extends _BrewIndex {
96
96
  }
97
97
  }
98
98
 
99
+ class _BrewIndexAdventureBookIds extends _BrewIndex {
100
+ static _FILE_PATH = "_generated/index-adventure-book-ids.json";
101
+ static _DISPLAY_NAME = "ids";
102
+
103
+ addToIndex (fileInfo) {
104
+ ["adventure", "book"]
105
+ .forEach(prop => {
106
+ (fileInfo.contents[prop] || [])
107
+ .forEach(({name, source, id}) => {
108
+ if (!name || !source || !id) return;
109
+ // Lowercase the key, as we expect this to come from a hash
110
+ this._index[id.toLowerCase()] = {name, source, id};
111
+ });
112
+ });
113
+ }
114
+ }
115
+
99
116
  class BrewIndexGenerator {
100
117
  static _DIR_TO_PRIMARY_PROP = {
101
118
  "creature": [
@@ -147,6 +164,7 @@ class BrewIndexGenerator {
147
164
  new _BrewIndexProps(),
148
165
  new _BrewIndexSources(),
149
166
  new _BrewIndexMeta(),
167
+ new _BrewIndexAdventureBookIds(),
150
168
  ];
151
169
 
152
170
  Um.info(`INDEX`, `Indexing...`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.12.19",
3
+ "version": "0.12.21",
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": "feats.json",
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "featData": {
@@ -92,6 +92,20 @@
92
92
  "conditionImmune": {
93
93
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
94
94
  },
95
+ "traitTags": {
96
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
97
+ "oneOf": [
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "$ref": "util.json#/$defs/traitTagCharacter"
102
+ }
103
+ },
104
+ {
105
+ "type": "null"
106
+ }
107
+ ]
108
+ },
95
109
  "hasFluff": {
96
110
  "const": true
97
111
  },
@@ -207,6 +221,20 @@
207
221
  "conditionImmune": {
208
222
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
209
223
  },
224
+ "traitTags": {
225
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
226
+ "oneOf": [
227
+ {
228
+ "type": "array",
229
+ "items": {
230
+ "$ref": "util.json#/$defs/traitTagCharacter"
231
+ }
232
+ },
233
+ {
234
+ "type": "null"
235
+ }
236
+ ]
237
+ },
210
238
  "hasFluff": {
211
239
  "const": true
212
240
  },
@@ -325,6 +353,20 @@
325
353
  "conditionImmune": {
326
354
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
327
355
  },
356
+ "traitTags": {
357
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
358
+ "oneOf": [
359
+ {
360
+ "type": "array",
361
+ "items": {
362
+ "$ref": "util.json#/$defs/traitTagCharacter"
363
+ }
364
+ },
365
+ {
366
+ "type": "null"
367
+ }
368
+ ]
369
+ },
328
370
  "hasFluff": {
329
371
  "const": true
330
372
  },
@@ -63,6 +63,7 @@
63
63
  "$ref": "util.json#/$defs/additionalFeatsArray"
64
64
  },
65
65
  "traitTags": {
66
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
66
67
  "oneOf": [
67
68
  {
68
69
  "type": "array",
@@ -307,6 +308,7 @@
307
308
  "$ref": "util.json#/$defs/additionalFeatsArray"
308
309
  },
309
310
  "traitTags": {
311
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
310
312
  "oneOf": [
311
313
  {
312
314
  "type": "array",
@@ -508,23 +510,14 @@
508
510
  "traitTag": {
509
511
  "oneOf": [
510
512
  {
511
- "$ref": "util.json#/$defs/proficiencyTag"
513
+ "$ref": "util.json#/$defs/traitTagCharacter"
512
514
  },
513
515
  {
514
516
  "type": "string",
515
517
  "enum": [
516
- "Amphibious",
517
518
  "Dragonmark",
518
- "Improved Resting",
519
- "Magic Resistance",
520
519
  "Monstrous Race",
521
- "Natural Armor",
522
- "Natural Weapon",
523
520
  "NPC Race",
524
- "Powerful Build",
525
- "Skill Bonus Dice",
526
- "Sunlight Sensitivity",
527
- "Tool Bonus Dice",
528
521
  "Uncommon Race"
529
522
  ]
530
523
  }
@@ -642,6 +635,7 @@
642
635
  "$ref": "util.json#/$defs/additionalFeatsArray"
643
636
  },
644
637
  "traitTags": {
638
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
645
639
  "oneOf": [
646
640
  {
647
641
  "type": "array",
@@ -890,6 +884,7 @@
890
884
  "$ref": "util.json#/$defs/additionalFeatsArray"
891
885
  },
892
886
  "traitTags": {
887
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
893
888
  "oneOf": [
894
889
  {
895
890
  "type": "array",
@@ -1144,6 +1139,7 @@
1144
1139
  "$ref": "util.json#/$defs/additionalFeatsArray"
1145
1140
  },
1146
1141
  "traitTags": {
1142
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1147
1143
  "oneOf": [
1148
1144
  {
1149
1145
  "type": "array",
@@ -1404,6 +1400,7 @@
1404
1400
  "$ref": "util.json#/$defs/additionalFeatsArray"
1405
1401
  },
1406
1402
  "traitTags": {
1403
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1407
1404
  "oneOf": [
1408
1405
  {
1409
1406
  "type": "array",
@@ -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.17.0",
6
+ "version": "1.17.1",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -1644,6 +1644,30 @@
1644
1644
  "Language Proficiency"
1645
1645
  ]
1646
1646
  },
1647
+ "traitTagCharacter": {
1648
+ "oneOf": [
1649
+ {
1650
+ "$ref": "util.json#/$defs/proficiencyTag"
1651
+ },
1652
+ {
1653
+ "type": "string",
1654
+ "enum": [
1655
+ "Amphibious",
1656
+ "Improved Resting",
1657
+ "Magic Resistance",
1658
+ "Natural Armor",
1659
+ "Natural Weapon",
1660
+ "Powerful Build",
1661
+ "Skill Bonus Dice",
1662
+ "Sunlight Sensitivity",
1663
+ "Tool Bonus Dice",
1664
+ "Damage Resistance",
1665
+ "Damage Immunity",
1666
+ "Condition Immunity"
1667
+ ]
1668
+ }
1669
+ ]
1670
+ },
1647
1671
  "_speedVal": {
1648
1672
  "oneOf": [
1649
1673
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "featData": {
@@ -92,6 +92,20 @@
92
92
  "conditionImmune": {
93
93
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
94
94
  },
95
+ "traitTags": {
96
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
97
+ "oneOf": [
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "$ref": "util.json#/$defs/traitTagCharacter"
102
+ }
103
+ },
104
+ {
105
+ "type": "null"
106
+ }
107
+ ]
108
+ },
95
109
  "hasFluff": {
96
110
  "const": true
97
111
  },
@@ -207,6 +221,20 @@
207
221
  "conditionImmune": {
208
222
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
209
223
  },
224
+ "traitTags": {
225
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
226
+ "oneOf": [
227
+ {
228
+ "type": "array",
229
+ "items": {
230
+ "$ref": "util.json#/$defs/traitTagCharacter"
231
+ }
232
+ },
233
+ {
234
+ "type": "null"
235
+ }
236
+ ]
237
+ },
210
238
  "hasFluff": {
211
239
  "const": true
212
240
  },
@@ -325,6 +353,20 @@
325
353
  "conditionImmune": {
326
354
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
327
355
  },
356
+ "traitTags": {
357
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
358
+ "oneOf": [
359
+ {
360
+ "type": "array",
361
+ "items": {
362
+ "$ref": "util.json#/$defs/traitTagCharacter"
363
+ }
364
+ },
365
+ {
366
+ "type": "null"
367
+ }
368
+ ]
369
+ },
328
370
  "hasFluff": {
329
371
  "const": true
330
372
  },
@@ -63,6 +63,7 @@
63
63
  "$ref": "util.json#/$defs/additionalFeatsArray"
64
64
  },
65
65
  "traitTags": {
66
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
66
67
  "oneOf": [
67
68
  {
68
69
  "type": "array",
@@ -307,6 +308,7 @@
307
308
  "$ref": "util.json#/$defs/additionalFeatsArray"
308
309
  },
309
310
  "traitTags": {
311
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
310
312
  "oneOf": [
311
313
  {
312
314
  "type": "array",
@@ -508,23 +510,14 @@
508
510
  "traitTag": {
509
511
  "oneOf": [
510
512
  {
511
- "$ref": "util.json#/$defs/proficiencyTag"
513
+ "$ref": "util.json#/$defs/traitTagCharacter"
512
514
  },
513
515
  {
514
516
  "type": "string",
515
517
  "enum": [
516
- "Amphibious",
517
518
  "Dragonmark",
518
- "Improved Resting",
519
- "Magic Resistance",
520
519
  "Monstrous Race",
521
- "Natural Armor",
522
- "Natural Weapon",
523
520
  "NPC Race",
524
- "Powerful Build",
525
- "Skill Bonus Dice",
526
- "Sunlight Sensitivity",
527
- "Tool Bonus Dice",
528
521
  "Uncommon Race"
529
522
  ]
530
523
  }
@@ -642,6 +635,7 @@
642
635
  "$ref": "util.json#/$defs/additionalFeatsArray"
643
636
  },
644
637
  "traitTags": {
638
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
645
639
  "oneOf": [
646
640
  {
647
641
  "type": "array",
@@ -890,6 +884,7 @@
890
884
  "$ref": "util.json#/$defs/additionalFeatsArray"
891
885
  },
892
886
  "traitTags": {
887
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
893
888
  "oneOf": [
894
889
  {
895
890
  "type": "array",
@@ -1144,6 +1139,7 @@
1144
1139
  "$ref": "util.json#/$defs/additionalFeatsArray"
1145
1140
  },
1146
1141
  "traitTags": {
1142
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1147
1143
  "oneOf": [
1148
1144
  {
1149
1145
  "type": "array",
@@ -1404,6 +1400,7 @@
1404
1400
  "$ref": "util.json#/$defs/additionalFeatsArray"
1405
1401
  },
1406
1402
  "traitTags": {
1403
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1407
1404
  "oneOf": [
1408
1405
  {
1409
1406
  "type": "array",
@@ -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.17.0",
6
+ "version": "1.17.1",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -1644,6 +1644,30 @@
1644
1644
  "Language Proficiency"
1645
1645
  ]
1646
1646
  },
1647
+ "traitTagCharacter": {
1648
+ "oneOf": [
1649
+ {
1650
+ "$ref": "util.json#/$defs/proficiencyTag"
1651
+ },
1652
+ {
1653
+ "type": "string",
1654
+ "enum": [
1655
+ "Amphibious",
1656
+ "Improved Resting",
1657
+ "Magic Resistance",
1658
+ "Natural Armor",
1659
+ "Natural Weapon",
1660
+ "Powerful Build",
1661
+ "Skill Bonus Dice",
1662
+ "Sunlight Sensitivity",
1663
+ "Tool Bonus Dice",
1664
+ "Damage Resistance",
1665
+ "Damage Immunity",
1666
+ "Condition Immunity"
1667
+ ]
1668
+ }
1669
+ ]
1670
+ },
1647
1671
  "_speedVal": {
1648
1672
  "oneOf": [
1649
1673
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "featData": {
@@ -92,6 +92,20 @@
92
92
  "conditionImmune": {
93
93
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
94
94
  },
95
+ "traitTags": {
96
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
97
+ "oneOf": [
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "$ref": "util.json#/$defs/traitTagCharacter"
102
+ }
103
+ },
104
+ {
105
+ "type": "null"
106
+ }
107
+ ]
108
+ },
95
109
  "hasFluff": {
96
110
  "const": true
97
111
  },
@@ -191,6 +205,20 @@
191
205
  "conditionImmune": {
192
206
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
193
207
  },
208
+ "traitTags": {
209
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
210
+ "oneOf": [
211
+ {
212
+ "type": "array",
213
+ "items": {
214
+ "$ref": "util.json#/$defs/traitTagCharacter"
215
+ }
216
+ },
217
+ {
218
+ "type": "null"
219
+ }
220
+ ]
221
+ },
194
222
  "hasFluff": {
195
223
  "const": true
196
224
  },
@@ -293,6 +321,20 @@
293
321
  "conditionImmune": {
294
322
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
295
323
  },
324
+ "traitTags": {
325
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
326
+ "oneOf": [
327
+ {
328
+ "type": "array",
329
+ "items": {
330
+ "$ref": "util.json#/$defs/traitTagCharacter"
331
+ }
332
+ },
333
+ {
334
+ "type": "null"
335
+ }
336
+ ]
337
+ },
296
338
  "hasFluff": {
297
339
  "const": true
298
340
  },
@@ -63,6 +63,7 @@
63
63
  "$ref": "util.json#/$defs/additionalFeatsArray"
64
64
  },
65
65
  "traitTags": {
66
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
66
67
  "oneOf": [
67
68
  {
68
69
  "type": "array",
@@ -292,6 +293,7 @@
292
293
  "$ref": "util.json#/$defs/additionalFeatsArray"
293
294
  },
294
295
  "traitTags": {
296
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
295
297
  "oneOf": [
296
298
  {
297
299
  "type": "array",
@@ -478,23 +480,14 @@
478
480
  "traitTag": {
479
481
  "oneOf": [
480
482
  {
481
- "$ref": "util.json#/$defs/proficiencyTag"
483
+ "$ref": "util.json#/$defs/traitTagCharacter"
482
484
  },
483
485
  {
484
486
  "type": "string",
485
487
  "enum": [
486
- "Amphibious",
487
488
  "Dragonmark",
488
- "Improved Resting",
489
- "Magic Resistance",
490
489
  "Monstrous Race",
491
- "Natural Armor",
492
- "Natural Weapon",
493
490
  "NPC Race",
494
- "Powerful Build",
495
- "Skill Bonus Dice",
496
- "Sunlight Sensitivity",
497
- "Tool Bonus Dice",
498
491
  "Uncommon Race"
499
492
  ]
500
493
  }
@@ -612,6 +605,7 @@
612
605
  "$ref": "util.json#/$defs/additionalFeatsArray"
613
606
  },
614
607
  "traitTags": {
608
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
615
609
  "oneOf": [
616
610
  {
617
611
  "type": "array",
@@ -845,6 +839,7 @@
845
839
  "$ref": "util.json#/$defs/additionalFeatsArray"
846
840
  },
847
841
  "traitTags": {
842
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
848
843
  "oneOf": [
849
844
  {
850
845
  "type": "array",
@@ -1084,6 +1079,7 @@
1084
1079
  "$ref": "util.json#/$defs/additionalFeatsArray"
1085
1080
  },
1086
1081
  "traitTags": {
1082
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1087
1083
  "oneOf": [
1088
1084
  {
1089
1085
  "type": "array",
@@ -1328,6 +1324,7 @@
1328
1324
  "$ref": "util.json#/$defs/additionalFeatsArray"
1329
1325
  },
1330
1326
  "traitTags": {
1327
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1331
1328
  "oneOf": [
1332
1329
  {
1333
1330
  "type": "array",
@@ -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.17.0",
6
+ "version": "1.17.1",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -1620,6 +1620,30 @@
1620
1620
  "Language Proficiency"
1621
1621
  ]
1622
1622
  },
1623
+ "traitTagCharacter": {
1624
+ "oneOf": [
1625
+ {
1626
+ "$ref": "util.json#/$defs/proficiencyTag"
1627
+ },
1628
+ {
1629
+ "type": "string",
1630
+ "enum": [
1631
+ "Amphibious",
1632
+ "Improved Resting",
1633
+ "Magic Resistance",
1634
+ "Natural Armor",
1635
+ "Natural Weapon",
1636
+ "Powerful Build",
1637
+ "Skill Bonus Dice",
1638
+ "Sunlight Sensitivity",
1639
+ "Tool Bonus Dice",
1640
+ "Damage Resistance",
1641
+ "Damage Immunity",
1642
+ "Condition Immunity"
1643
+ ]
1644
+ }
1645
+ ]
1646
+ },
1623
1647
  "_speedVal": {
1624
1648
  "oneOf": [
1625
1649
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "featData": {
@@ -92,6 +92,20 @@
92
92
  "conditionImmune": {
93
93
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
94
94
  },
95
+ "traitTags": {
96
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
97
+ "oneOf": [
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "$ref": "util.json#/$defs/traitTagCharacter"
102
+ }
103
+ },
104
+ {
105
+ "type": "null"
106
+ }
107
+ ]
108
+ },
95
109
  "hasFluff": {
96
110
  "const": true
97
111
  },
@@ -191,6 +205,20 @@
191
205
  "conditionImmune": {
192
206
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
193
207
  },
208
+ "traitTags": {
209
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
210
+ "oneOf": [
211
+ {
212
+ "type": "array",
213
+ "items": {
214
+ "$ref": "util.json#/$defs/traitTagCharacter"
215
+ }
216
+ },
217
+ {
218
+ "type": "null"
219
+ }
220
+ ]
221
+ },
194
222
  "hasFluff": {
195
223
  "const": true
196
224
  },
@@ -293,6 +321,20 @@
293
321
  "conditionImmune": {
294
322
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
295
323
  },
324
+ "traitTags": {
325
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
326
+ "oneOf": [
327
+ {
328
+ "type": "array",
329
+ "items": {
330
+ "$ref": "util.json#/$defs/traitTagCharacter"
331
+ }
332
+ },
333
+ {
334
+ "type": "null"
335
+ }
336
+ ]
337
+ },
296
338
  "hasFluff": {
297
339
  "const": true
298
340
  },
@@ -63,6 +63,7 @@
63
63
  "$ref": "util.json#/$defs/additionalFeatsArray"
64
64
  },
65
65
  "traitTags": {
66
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
66
67
  "oneOf": [
67
68
  {
68
69
  "type": "array",
@@ -292,6 +293,7 @@
292
293
  "$ref": "util.json#/$defs/additionalFeatsArray"
293
294
  },
294
295
  "traitTags": {
296
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
295
297
  "oneOf": [
296
298
  {
297
299
  "type": "array",
@@ -478,23 +480,14 @@
478
480
  "traitTag": {
479
481
  "oneOf": [
480
482
  {
481
- "$ref": "util.json#/$defs/proficiencyTag"
483
+ "$ref": "util.json#/$defs/traitTagCharacter"
482
484
  },
483
485
  {
484
486
  "type": "string",
485
487
  "enum": [
486
- "Amphibious",
487
488
  "Dragonmark",
488
- "Improved Resting",
489
- "Magic Resistance",
490
489
  "Monstrous Race",
491
- "Natural Armor",
492
- "Natural Weapon",
493
490
  "NPC Race",
494
- "Powerful Build",
495
- "Skill Bonus Dice",
496
- "Sunlight Sensitivity",
497
- "Tool Bonus Dice",
498
491
  "Uncommon Race"
499
492
  ]
500
493
  }
@@ -612,6 +605,7 @@
612
605
  "$ref": "util.json#/$defs/additionalFeatsArray"
613
606
  },
614
607
  "traitTags": {
608
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
615
609
  "oneOf": [
616
610
  {
617
611
  "type": "array",
@@ -845,6 +839,7 @@
845
839
  "$ref": "util.json#/$defs/additionalFeatsArray"
846
840
  },
847
841
  "traitTags": {
842
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
848
843
  "oneOf": [
849
844
  {
850
845
  "type": "array",
@@ -1084,6 +1079,7 @@
1084
1079
  "$ref": "util.json#/$defs/additionalFeatsArray"
1085
1080
  },
1086
1081
  "traitTags": {
1082
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1087
1083
  "oneOf": [
1088
1084
  {
1089
1085
  "type": "array",
@@ -1328,6 +1324,7 @@
1328
1324
  "$ref": "util.json#/$defs/additionalFeatsArray"
1329
1325
  },
1330
1326
  "traitTags": {
1327
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1331
1328
  "oneOf": [
1332
1329
  {
1333
1330
  "type": "array",
@@ -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.17.0",
6
+ "version": "1.17.1",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -1620,6 +1620,30 @@
1620
1620
  "Language Proficiency"
1621
1621
  ]
1622
1622
  },
1623
+ "traitTagCharacter": {
1624
+ "oneOf": [
1625
+ {
1626
+ "$ref": "util.json#/$defs/proficiencyTag"
1627
+ },
1628
+ {
1629
+ "type": "string",
1630
+ "enum": [
1631
+ "Amphibious",
1632
+ "Improved Resting",
1633
+ "Magic Resistance",
1634
+ "Natural Armor",
1635
+ "Natural Weapon",
1636
+ "Powerful Build",
1637
+ "Skill Bonus Dice",
1638
+ "Sunlight Sensitivity",
1639
+ "Tool Bonus Dice",
1640
+ "Damage Resistance",
1641
+ "Damage Immunity",
1642
+ "Condition Immunity"
1643
+ ]
1644
+ }
1645
+ ]
1646
+ },
1623
1647
  "_speedVal": {
1624
1648
  "oneOf": [
1625
1649
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "featData": {
@@ -92,6 +92,20 @@
92
92
  "conditionImmune": {
93
93
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
94
94
  },
95
+ "traitTags": {
96
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
97
+ "oneOf": [
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "$ref": "util.json#/$defs/traitTagCharacter"
102
+ }
103
+ },
104
+ {
105
+ "type": "null"
106
+ }
107
+ ]
108
+ },
95
109
  "hasFluff": {
96
110
  "const": true
97
111
  },
@@ -191,6 +205,20 @@
191
205
  "conditionImmune": {
192
206
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
193
207
  },
208
+ "traitTags": {
209
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
210
+ "oneOf": [
211
+ {
212
+ "type": "array",
213
+ "items": {
214
+ "$ref": "util.json#/$defs/traitTagCharacter"
215
+ }
216
+ },
217
+ {
218
+ "type": "null"
219
+ }
220
+ ]
221
+ },
194
222
  "hasFluff": {
195
223
  "const": true
196
224
  },
@@ -293,6 +321,20 @@
293
321
  "conditionImmune": {
294
322
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
295
323
  },
324
+ "traitTags": {
325
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
326
+ "oneOf": [
327
+ {
328
+ "type": "array",
329
+ "items": {
330
+ "$ref": "util.json#/$defs/traitTagCharacter"
331
+ }
332
+ },
333
+ {
334
+ "type": "null"
335
+ }
336
+ ]
337
+ },
296
338
  "hasFluff": {
297
339
  "const": true
298
340
  },
@@ -63,6 +63,7 @@
63
63
  "$ref": "util.json#/$defs/additionalFeatsArray"
64
64
  },
65
65
  "traitTags": {
66
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
66
67
  "oneOf": [
67
68
  {
68
69
  "type": "array",
@@ -295,6 +296,7 @@
295
296
  "$ref": "util.json#/$defs/additionalFeatsArray"
296
297
  },
297
298
  "traitTags": {
299
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
298
300
  "oneOf": [
299
301
  {
300
302
  "type": "array",
@@ -484,23 +486,14 @@
484
486
  "traitTag": {
485
487
  "oneOf": [
486
488
  {
487
- "$ref": "util.json#/$defs/proficiencyTag"
489
+ "$ref": "util.json#/$defs/traitTagCharacter"
488
490
  },
489
491
  {
490
492
  "type": "string",
491
493
  "enum": [
492
- "Amphibious",
493
494
  "Dragonmark",
494
- "Improved Resting",
495
- "Magic Resistance",
496
495
  "Monstrous Race",
497
- "Natural Armor",
498
- "Natural Weapon",
499
496
  "NPC Race",
500
- "Powerful Build",
501
- "Skill Bonus Dice",
502
- "Sunlight Sensitivity",
503
- "Tool Bonus Dice",
504
497
  "Uncommon Race"
505
498
  ]
506
499
  }
@@ -618,6 +611,7 @@
618
611
  "$ref": "util.json#/$defs/additionalFeatsArray"
619
612
  },
620
613
  "traitTags": {
614
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
621
615
  "oneOf": [
622
616
  {
623
617
  "type": "array",
@@ -854,6 +848,7 @@
854
848
  "$ref": "util.json#/$defs/additionalFeatsArray"
855
849
  },
856
850
  "traitTags": {
851
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
857
852
  "oneOf": [
858
853
  {
859
854
  "type": "array",
@@ -1096,6 +1091,7 @@
1096
1091
  "$ref": "util.json#/$defs/additionalFeatsArray"
1097
1092
  },
1098
1093
  "traitTags": {
1094
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1099
1095
  "oneOf": [
1100
1096
  {
1101
1097
  "type": "array",
@@ -1343,6 +1339,7 @@
1343
1339
  "$ref": "util.json#/$defs/additionalFeatsArray"
1344
1340
  },
1345
1341
  "traitTags": {
1342
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1346
1343
  "oneOf": [
1347
1344
  {
1348
1345
  "type": "array",
@@ -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.17.0",
6
+ "version": "1.17.1",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -1631,6 +1631,30 @@
1631
1631
  "Language Proficiency"
1632
1632
  ]
1633
1633
  },
1634
+ "traitTagCharacter": {
1635
+ "oneOf": [
1636
+ {
1637
+ "$ref": "util.json#/$defs/proficiencyTag"
1638
+ },
1639
+ {
1640
+ "type": "string",
1641
+ "enum": [
1642
+ "Amphibious",
1643
+ "Improved Resting",
1644
+ "Magic Resistance",
1645
+ "Natural Armor",
1646
+ "Natural Weapon",
1647
+ "Powerful Build",
1648
+ "Skill Bonus Dice",
1649
+ "Sunlight Sensitivity",
1650
+ "Tool Bonus Dice",
1651
+ "Damage Resistance",
1652
+ "Damage Immunity",
1653
+ "Condition Immunity"
1654
+ ]
1655
+ }
1656
+ ]
1657
+ },
1634
1658
  "_speedVal": {
1635
1659
  "oneOf": [
1636
1660
  {
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "feats.json",
4
- "version": "1.6.4",
4
+ "version": "1.6.5",
5
5
  "type": "object",
6
6
  "$defs": {
7
7
  "featData": {
@@ -92,6 +92,20 @@
92
92
  "conditionImmune": {
93
93
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
94
94
  },
95
+ "traitTags": {
96
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
97
+ "oneOf": [
98
+ {
99
+ "type": "array",
100
+ "items": {
101
+ "$ref": "util.json#/$defs/traitTagCharacter"
102
+ }
103
+ },
104
+ {
105
+ "type": "null"
106
+ }
107
+ ]
108
+ },
95
109
  "hasFluff": {
96
110
  "const": true
97
111
  },
@@ -191,6 +205,20 @@
191
205
  "conditionImmune": {
192
206
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
193
207
  },
208
+ "traitTags": {
209
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
210
+ "oneOf": [
211
+ {
212
+ "type": "array",
213
+ "items": {
214
+ "$ref": "util.json#/$defs/traitTagCharacter"
215
+ }
216
+ },
217
+ {
218
+ "type": "null"
219
+ }
220
+ ]
221
+ },
194
222
  "hasFluff": {
195
223
  "const": true
196
224
  },
@@ -293,6 +321,20 @@
293
321
  "conditionImmune": {
294
322
  "$ref": "util.json#/$defs/conditionImmunityArrayPlayer"
295
323
  },
324
+ "traitTags": {
325
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
326
+ "oneOf": [
327
+ {
328
+ "type": "array",
329
+ "items": {
330
+ "$ref": "util.json#/$defs/traitTagCharacter"
331
+ }
332
+ },
333
+ {
334
+ "type": "null"
335
+ }
336
+ ]
337
+ },
296
338
  "hasFluff": {
297
339
  "const": true
298
340
  },
@@ -63,6 +63,7 @@
63
63
  "$ref": "util.json#/$defs/additionalFeatsArray"
64
64
  },
65
65
  "traitTags": {
66
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
66
67
  "oneOf": [
67
68
  {
68
69
  "type": "array",
@@ -295,6 +296,7 @@
295
296
  "$ref": "util.json#/$defs/additionalFeatsArray"
296
297
  },
297
298
  "traitTags": {
299
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
298
300
  "oneOf": [
299
301
  {
300
302
  "type": "array",
@@ -484,23 +486,14 @@
484
486
  "traitTag": {
485
487
  "oneOf": [
486
488
  {
487
- "$ref": "util.json#/$defs/proficiencyTag"
489
+ "$ref": "util.json#/$defs/traitTagCharacter"
488
490
  },
489
491
  {
490
492
  "type": "string",
491
493
  "enum": [
492
- "Amphibious",
493
494
  "Dragonmark",
494
- "Improved Resting",
495
- "Magic Resistance",
496
495
  "Monstrous Race",
497
- "Natural Armor",
498
- "Natural Weapon",
499
496
  "NPC Race",
500
- "Powerful Build",
501
- "Skill Bonus Dice",
502
- "Sunlight Sensitivity",
503
- "Tool Bonus Dice",
504
497
  "Uncommon Race"
505
498
  ]
506
499
  }
@@ -618,6 +611,7 @@
618
611
  "$ref": "util.json#/$defs/additionalFeatsArray"
619
612
  },
620
613
  "traitTags": {
614
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
621
615
  "oneOf": [
622
616
  {
623
617
  "type": "array",
@@ -854,6 +848,7 @@
854
848
  "$ref": "util.json#/$defs/additionalFeatsArray"
855
849
  },
856
850
  "traitTags": {
851
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
857
852
  "oneOf": [
858
853
  {
859
854
  "type": "array",
@@ -1096,6 +1091,7 @@
1096
1091
  "$ref": "util.json#/$defs/additionalFeatsArray"
1097
1092
  },
1098
1093
  "traitTags": {
1094
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1099
1095
  "oneOf": [
1100
1096
  {
1101
1097
  "type": "array",
@@ -1343,6 +1339,7 @@
1343
1339
  "$ref": "util.json#/$defs/additionalFeatsArray"
1344
1340
  },
1345
1341
  "traitTags": {
1342
+ "description": "Additional filter-only tags, to be used when more specific data (\"skillProficiencies\", etc.) is not appropriate, due to e.g. conditional or temporary effects.",
1346
1343
  "oneOf": [
1347
1344
  {
1348
1345
  "type": "array",
@@ -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.17.0",
6
+ "version": "1.17.1",
7
7
  "$defs": {
8
8
  "metaDependenciesArray": {
9
9
  "type": "array",
@@ -1631,6 +1631,30 @@
1631
1631
  "Language Proficiency"
1632
1632
  ]
1633
1633
  },
1634
+ "traitTagCharacter": {
1635
+ "oneOf": [
1636
+ {
1637
+ "$ref": "util.json#/$defs/proficiencyTag"
1638
+ },
1639
+ {
1640
+ "type": "string",
1641
+ "enum": [
1642
+ "Amphibious",
1643
+ "Improved Resting",
1644
+ "Magic Resistance",
1645
+ "Natural Armor",
1646
+ "Natural Weapon",
1647
+ "Powerful Build",
1648
+ "Skill Bonus Dice",
1649
+ "Sunlight Sensitivity",
1650
+ "Tool Bonus Dice",
1651
+ "Damage Resistance",
1652
+ "Damage Immunity",
1653
+ "Condition Immunity"
1654
+ ]
1655
+ }
1656
+ ]
1657
+ },
1634
1658
  "_speedVal": {
1635
1659
  "oneOf": [
1636
1660
  {