5etools-utils 0.13.18 → 0.13.20

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 (46) hide show
  1. package/lib/BrewIndexGenerator.js +4 -0
  2. package/package.json +1 -1
  3. package/schema/brew/deities.json +1 -1
  4. package/schema/brew/homebrew.json +1 -1
  5. package/schema/brew/sources-5etools.json +1 -1
  6. package/schema/brew/util-copy.json +1 -1
  7. package/schema/brew/util-edition.json +1 -1
  8. package/schema/brew/util-foundry.json +64 -4
  9. package/schema/brew/util-token.json +1 -1
  10. package/schema/brew/util.json +1 -1
  11. package/schema/brew-fast/deities.json +1 -1
  12. package/schema/brew-fast/homebrew.json +1 -1
  13. package/schema/brew-fast/sources-5etools.json +1 -1
  14. package/schema/brew-fast/util-copy.json +1 -1
  15. package/schema/brew-fast/util-edition.json +1 -1
  16. package/schema/brew-fast/util-foundry.json +64 -4
  17. package/schema/brew-fast/util-token.json +1 -1
  18. package/schema/brew-fast/util.json +1 -1
  19. package/schema/site/homebrew.json +1 -1
  20. package/schema/site/sources-5etools.json +1 -1
  21. package/schema/site/util-copy.json +1 -1
  22. package/schema/site/util-edition.json +1 -1
  23. package/schema/site/util-foundry.json +64 -4
  24. package/schema/site/util-token.json +1 -1
  25. package/schema/site/util.json +1 -1
  26. package/schema/site-fast/homebrew.json +1 -1
  27. package/schema/site-fast/sources-5etools.json +1 -1
  28. package/schema/site-fast/util-copy.json +1 -1
  29. package/schema/site-fast/util-edition.json +1 -1
  30. package/schema/site-fast/util-foundry.json +64 -4
  31. package/schema/site-fast/util-token.json +1 -1
  32. package/schema/site-fast/util.json +1 -1
  33. package/schema/ua/homebrew.json +1 -1
  34. package/schema/ua/sources-5etools.json +1 -1
  35. package/schema/ua/util-copy.json +1 -1
  36. package/schema/ua/util-edition.json +1 -1
  37. package/schema/ua/util-foundry.json +64 -4
  38. package/schema/ua/util-token.json +1 -1
  39. package/schema/ua/util.json +1 -1
  40. package/schema/ua-fast/homebrew.json +1 -1
  41. package/schema/ua-fast/sources-5etools.json +1 -1
  42. package/schema/ua-fast/util-copy.json +1 -1
  43. package/schema/ua-fast/util-edition.json +1 -1
  44. package/schema/ua-fast/util-foundry.json +64 -4
  45. package/schema/ua-fast/util-token.json +1 -1
  46. package/schema/ua-fast/util.json +1 -1
@@ -73,6 +73,8 @@ class _BrewIndexMeta extends _BrewIndex {
73
73
  static _FILE_PATH = "_generated/index-meta.json";
74
74
  static _DISPLAY_NAME = "meta";
75
75
 
76
+ static _EDITION_ORDER = ["classic", "one"];
77
+
76
78
  addToIndex (fileInfo) {
77
79
  if (!fileInfo.contents._meta.sources?.length) return;
78
80
 
@@ -92,6 +94,8 @@ class _BrewIndexMeta extends _BrewIndex {
92
94
  // partnered
93
95
  // TODO(Future) index at a per-source level? Make e.g. `index-sources-2.json` with `json` -> { object }` and migrate
94
96
  p: fileInfo.contents._meta.sources.some(it => it.partnered) ? 1 : undefined,
97
+ // edition
98
+ e: this.constructor._EDITION_ORDER.indexOf(fileInfo.contents._meta.edition),
95
99
  };
96
100
  }
97
101
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "5etools-utils",
3
- "version": "0.13.18",
3
+ "version": "0.13.20",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -547,4 +547,4 @@
547
547
  }
548
548
  },
549
549
  "additionalProperties": false
550
- }
550
+ }
@@ -822,4 +822,4 @@
822
822
  "_meta"
823
823
  ],
824
824
  "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
825
- }
825
+ }
@@ -174,4 +174,4 @@
174
174
  }
175
175
  },
176
176
  "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
- }
177
+ }
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -14,4 +14,4 @@
14
14
  "markdownDescription": "A context-sensitive behaviour hint. Generally, entities marked with "edition": "one" will not be modified (as they are assumed to be up-to-date) prior to display/use, and entities lacking an "edition" or using "edition": "classic" may be modified to better suit modern rules. For example:\n- Classes/subclasses: an edition mismatch between class and subclass will prompt the renderer to add a note that the subclass is from a different game edition, and that feature levels may have to be adjusted accordingly (notably, when rendering synthetic subclass copies)\n- Plutonium, when using the "Modern (2024)" rules version: non-"one" species will be stripped of their ability scores; non-"one" backgrounds will gain extra ability scores; etc."
15
15
  }
16
16
  }
17
- }
17
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-foundry.json",
4
4
  "title": "Util: Foundry",
5
- "version": "1.0.15",
5
+ "version": "1.0.16",
6
6
  "$defs": {
7
7
  "entryDataObject": {
8
8
  "description": "Additional \"5etools-type\" data to be stored on the entry.",
@@ -1019,6 +1019,9 @@
1019
1019
  {
1020
1020
  "type": "object",
1021
1021
  "properties": {
1022
+ "name": {
1023
+ "type": "string"
1024
+ },
1022
1025
  "cr": {
1023
1026
  "type": "string"
1024
1027
  },
@@ -1029,6 +1032,12 @@
1029
1032
  },
1030
1033
  "minItems": 1,
1031
1034
  "uniqueItems": true
1035
+ },
1036
+ "count": {
1037
+ "type": [
1038
+ "integer",
1039
+ "string"
1040
+ ]
1032
1041
  }
1033
1042
  },
1034
1043
  "additionalProperties": false,
@@ -1043,6 +1052,23 @@
1043
1052
  "uuid": {
1044
1053
  "type": "string",
1045
1054
  "pattern": "^@creature\\[.*\\]$"
1055
+ },
1056
+ "count": {
1057
+ "type": [
1058
+ "integer",
1059
+ "string"
1060
+ ]
1061
+ },
1062
+ "level": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "min": {
1066
+ "type": "integer"
1067
+ },
1068
+ "max": {
1069
+ "type": "integer"
1070
+ }
1071
+ }
1046
1072
  }
1047
1073
  },
1048
1074
  "additionalProperties": false,
@@ -1263,10 +1289,14 @@
1263
1289
  "surprised",
1264
1290
  "transformed",
1265
1291
  "unconscious",
1292
+ "coverHalf",
1293
+ "coverThreeQuarters",
1294
+ "dead",
1266
1295
  "dodging",
1296
+ "ethereal",
1267
1297
  "hiding",
1268
- "coverHalf",
1269
- "coverThreeQuarters"
1298
+ "marked",
1299
+ "stable"
1270
1300
  ]
1271
1301
  },
1272
1302
  "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
@@ -1333,6 +1363,36 @@
1333
1363
  }
1334
1364
  ]
1335
1365
  },
1366
+ {
1367
+ "description": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated.",
1368
+ "allOf": [
1369
+ {
1370
+ "$ref": "#/$defs/_foundryEffectObject"
1371
+ },
1372
+ {
1373
+ "type": "object",
1374
+ "required": [
1375
+ "name"
1376
+ ]
1377
+ }
1378
+ ],
1379
+ "markdownDescription": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated."
1380
+ },
1381
+ {
1382
+ "description": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated.",
1383
+ "allOf": [
1384
+ {
1385
+ "$ref": "#/$defs/_foundryEffectObject"
1386
+ },
1387
+ {
1388
+ "type": "object",
1389
+ "required": [
1390
+ "duration"
1391
+ ]
1392
+ }
1393
+ ],
1394
+ "markdownDescription": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated."
1395
+ },
1336
1396
  {
1337
1397
  "description": "An effect with no functional changes, but descriptive text. Should only be used for effects which cannot be otherwise automated.",
1338
1398
  "allOf": [
@@ -1645,4 +1705,4 @@
1645
1705
  }
1646
1706
  }
1647
1707
  }
1648
- }
1708
+ }
@@ -187,4 +187,4 @@
187
187
  "uniqueItems": true
188
188
  }
189
189
  }
190
- }
190
+ }
@@ -3671,4 +3671,4 @@
3671
3671
  }
3672
3672
  },
3673
3673
  "markdownDescription": "Utility definitions to be used in other schemas."
3674
- }
3674
+ }
@@ -547,4 +547,4 @@
547
547
  }
548
548
  },
549
549
  "additionalProperties": false
550
- }
550
+ }
@@ -820,4 +820,4 @@
820
820
  "_meta"
821
821
  ],
822
822
  "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
823
- }
823
+ }
@@ -174,4 +174,4 @@
174
174
  }
175
175
  },
176
176
  "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
- }
177
+ }
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -14,4 +14,4 @@
14
14
  "markdownDescription": "A context-sensitive behaviour hint. Generally, entities marked with "edition": "one" will not be modified (as they are assumed to be up-to-date) prior to display/use, and entities lacking an "edition" or using "edition": "classic" may be modified to better suit modern rules. For example:\n- Classes/subclasses: an edition mismatch between class and subclass will prompt the renderer to add a note that the subclass is from a different game edition, and that feature levels may have to be adjusted accordingly (notably, when rendering synthetic subclass copies)\n- Plutonium, when using the "Modern (2024)" rules version: non-"one" species will be stripped of their ability scores; non-"one" backgrounds will gain extra ability scores; etc."
15
15
  }
16
16
  }
17
- }
17
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-foundry.json",
4
4
  "title": "Util: Foundry",
5
- "version": "1.0.15",
5
+ "version": "1.0.16",
6
6
  "$defs": {
7
7
  "entryDataObject": {
8
8
  "description": "Additional \"5etools-type\" data to be stored on the entry.",
@@ -1019,6 +1019,9 @@
1019
1019
  {
1020
1020
  "type": "object",
1021
1021
  "properties": {
1022
+ "name": {
1023
+ "type": "string"
1024
+ },
1022
1025
  "cr": {
1023
1026
  "type": "string"
1024
1027
  },
@@ -1029,6 +1032,12 @@
1029
1032
  },
1030
1033
  "minItems": 1,
1031
1034
  "uniqueItems": true
1035
+ },
1036
+ "count": {
1037
+ "type": [
1038
+ "integer",
1039
+ "string"
1040
+ ]
1032
1041
  }
1033
1042
  },
1034
1043
  "additionalProperties": false,
@@ -1043,6 +1052,23 @@
1043
1052
  "uuid": {
1044
1053
  "type": "string",
1045
1054
  "pattern": "^@creature\\[.*\\]$"
1055
+ },
1056
+ "count": {
1057
+ "type": [
1058
+ "integer",
1059
+ "string"
1060
+ ]
1061
+ },
1062
+ "level": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "min": {
1066
+ "type": "integer"
1067
+ },
1068
+ "max": {
1069
+ "type": "integer"
1070
+ }
1071
+ }
1046
1072
  }
1047
1073
  },
1048
1074
  "additionalProperties": false,
@@ -1263,10 +1289,14 @@
1263
1289
  "surprised",
1264
1290
  "transformed",
1265
1291
  "unconscious",
1292
+ "coverHalf",
1293
+ "coverThreeQuarters",
1294
+ "dead",
1266
1295
  "dodging",
1296
+ "ethereal",
1267
1297
  "hiding",
1268
- "coverHalf",
1269
- "coverThreeQuarters"
1298
+ "marked",
1299
+ "stable"
1270
1300
  ]
1271
1301
  },
1272
1302
  "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
@@ -1333,6 +1363,36 @@
1333
1363
  }
1334
1364
  ]
1335
1365
  },
1366
+ {
1367
+ "description": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated.",
1368
+ "allOf": [
1369
+ {
1370
+ "$ref": "#/$defs/_foundryEffectObject"
1371
+ },
1372
+ {
1373
+ "type": "object",
1374
+ "required": [
1375
+ "name"
1376
+ ]
1377
+ }
1378
+ ],
1379
+ "markdownDescription": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated."
1380
+ },
1381
+ {
1382
+ "description": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated.",
1383
+ "allOf": [
1384
+ {
1385
+ "$ref": "#/$defs/_foundryEffectObject"
1386
+ },
1387
+ {
1388
+ "type": "object",
1389
+ "required": [
1390
+ "duration"
1391
+ ]
1392
+ }
1393
+ ],
1394
+ "markdownDescription": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated."
1395
+ },
1336
1396
  {
1337
1397
  "description": "An effect with no functional changes, but descriptive text. Should only be used for effects which cannot be otherwise automated.",
1338
1398
  "allOf": [
@@ -1645,4 +1705,4 @@
1645
1705
  }
1646
1706
  }
1647
1707
  }
1648
- }
1708
+ }
@@ -187,4 +187,4 @@
187
187
  "uniqueItems": true
188
188
  }
189
189
  }
190
- }
190
+ }
@@ -3671,4 +3671,4 @@
3671
3671
  }
3672
3672
  },
3673
3673
  "markdownDescription": "Utility definitions to be used in other schemas."
3674
- }
3674
+ }
@@ -822,4 +822,4 @@
822
822
  "_meta"
823
823
  ],
824
824
  "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
825
- }
825
+ }
@@ -174,4 +174,4 @@
174
174
  }
175
175
  },
176
176
  "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
- }
177
+ }
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -14,4 +14,4 @@
14
14
  "markdownDescription": "A context-sensitive behaviour hint. Generally, entities marked with "edition": "one" will not be modified (as they are assumed to be up-to-date) prior to display/use, and entities lacking an "edition" or using "edition": "classic" may be modified to better suit modern rules. For example:\n- Classes/subclasses: an edition mismatch between class and subclass will prompt the renderer to add a note that the subclass is from a different game edition, and that feature levels may have to be adjusted accordingly (notably, when rendering synthetic subclass copies)\n- Plutonium, when using the "Modern (2024)" rules version: non-"one" species will be stripped of their ability scores; non-"one" backgrounds will gain extra ability scores; etc."
15
15
  }
16
16
  }
17
- }
17
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-foundry.json",
4
4
  "title": "Util: Foundry",
5
- "version": "1.0.15",
5
+ "version": "1.0.16",
6
6
  "$defs": {
7
7
  "entryDataObject": {
8
8
  "description": "Additional \"5etools-type\" data to be stored on the entry.",
@@ -1019,6 +1019,9 @@
1019
1019
  {
1020
1020
  "type": "object",
1021
1021
  "properties": {
1022
+ "name": {
1023
+ "type": "string"
1024
+ },
1022
1025
  "cr": {
1023
1026
  "type": "string"
1024
1027
  },
@@ -1029,6 +1032,12 @@
1029
1032
  },
1030
1033
  "minItems": 1,
1031
1034
  "uniqueItems": true
1035
+ },
1036
+ "count": {
1037
+ "type": [
1038
+ "integer",
1039
+ "string"
1040
+ ]
1032
1041
  }
1033
1042
  },
1034
1043
  "additionalProperties": false,
@@ -1043,6 +1052,23 @@
1043
1052
  "uuid": {
1044
1053
  "type": "string",
1045
1054
  "pattern": "^@creature\\[.*\\]$"
1055
+ },
1056
+ "count": {
1057
+ "type": [
1058
+ "integer",
1059
+ "string"
1060
+ ]
1061
+ },
1062
+ "level": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "min": {
1066
+ "type": "integer"
1067
+ },
1068
+ "max": {
1069
+ "type": "integer"
1070
+ }
1071
+ }
1046
1072
  }
1047
1073
  },
1048
1074
  "additionalProperties": false,
@@ -1263,10 +1289,14 @@
1263
1289
  "surprised",
1264
1290
  "transformed",
1265
1291
  "unconscious",
1292
+ "coverHalf",
1293
+ "coverThreeQuarters",
1294
+ "dead",
1266
1295
  "dodging",
1296
+ "ethereal",
1267
1297
  "hiding",
1268
- "coverHalf",
1269
- "coverThreeQuarters"
1298
+ "marked",
1299
+ "stable"
1270
1300
  ]
1271
1301
  },
1272
1302
  "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
@@ -1333,6 +1363,36 @@
1333
1363
  }
1334
1364
  ]
1335
1365
  },
1366
+ {
1367
+ "description": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated.",
1368
+ "allOf": [
1369
+ {
1370
+ "$ref": "#/$defs/_foundryEffectObject"
1371
+ },
1372
+ {
1373
+ "type": "object",
1374
+ "required": [
1375
+ "name"
1376
+ ]
1377
+ }
1378
+ ],
1379
+ "markdownDescription": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated."
1380
+ },
1381
+ {
1382
+ "description": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated.",
1383
+ "allOf": [
1384
+ {
1385
+ "$ref": "#/$defs/_foundryEffectObject"
1386
+ },
1387
+ {
1388
+ "type": "object",
1389
+ "required": [
1390
+ "duration"
1391
+ ]
1392
+ }
1393
+ ],
1394
+ "markdownDescription": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated."
1395
+ },
1336
1396
  {
1337
1397
  "description": "An effect with no functional changes, but descriptive text. Should only be used for effects which cannot be otherwise automated.",
1338
1398
  "allOf": [
@@ -1645,4 +1705,4 @@
1645
1705
  }
1646
1706
  }
1647
1707
  }
1648
- }
1708
+ }
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -3613,4 +3613,4 @@
3613
3613
  }
3614
3614
  },
3615
3615
  "markdownDescription": "Utility definitions to be used in other schemas."
3616
- }
3616
+ }
@@ -820,4 +820,4 @@
820
820
  "_meta"
821
821
  ],
822
822
  "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
823
- }
823
+ }
@@ -174,4 +174,4 @@
174
174
  }
175
175
  },
176
176
  "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
- }
177
+ }
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -14,4 +14,4 @@
14
14
  "markdownDescription": "A context-sensitive behaviour hint. Generally, entities marked with "edition": "one" will not be modified (as they are assumed to be up-to-date) prior to display/use, and entities lacking an "edition" or using "edition": "classic" may be modified to better suit modern rules. For example:\n- Classes/subclasses: an edition mismatch between class and subclass will prompt the renderer to add a note that the subclass is from a different game edition, and that feature levels may have to be adjusted accordingly (notably, when rendering synthetic subclass copies)\n- Plutonium, when using the "Modern (2024)" rules version: non-"one" species will be stripped of their ability scores; non-"one" backgrounds will gain extra ability scores; etc."
15
15
  }
16
16
  }
17
- }
17
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-foundry.json",
4
4
  "title": "Util: Foundry",
5
- "version": "1.0.15",
5
+ "version": "1.0.16",
6
6
  "$defs": {
7
7
  "entryDataObject": {
8
8
  "description": "Additional \"5etools-type\" data to be stored on the entry.",
@@ -1019,6 +1019,9 @@
1019
1019
  {
1020
1020
  "type": "object",
1021
1021
  "properties": {
1022
+ "name": {
1023
+ "type": "string"
1024
+ },
1022
1025
  "cr": {
1023
1026
  "type": "string"
1024
1027
  },
@@ -1029,6 +1032,12 @@
1029
1032
  },
1030
1033
  "minItems": 1,
1031
1034
  "uniqueItems": true
1035
+ },
1036
+ "count": {
1037
+ "type": [
1038
+ "integer",
1039
+ "string"
1040
+ ]
1032
1041
  }
1033
1042
  },
1034
1043
  "additionalProperties": false,
@@ -1043,6 +1052,23 @@
1043
1052
  "uuid": {
1044
1053
  "type": "string",
1045
1054
  "pattern": "^@creature\\[.*\\]$"
1055
+ },
1056
+ "count": {
1057
+ "type": [
1058
+ "integer",
1059
+ "string"
1060
+ ]
1061
+ },
1062
+ "level": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "min": {
1066
+ "type": "integer"
1067
+ },
1068
+ "max": {
1069
+ "type": "integer"
1070
+ }
1071
+ }
1046
1072
  }
1047
1073
  },
1048
1074
  "additionalProperties": false,
@@ -1263,10 +1289,14 @@
1263
1289
  "surprised",
1264
1290
  "transformed",
1265
1291
  "unconscious",
1292
+ "coverHalf",
1293
+ "coverThreeQuarters",
1294
+ "dead",
1266
1295
  "dodging",
1296
+ "ethereal",
1267
1297
  "hiding",
1268
- "coverHalf",
1269
- "coverThreeQuarters"
1298
+ "marked",
1299
+ "stable"
1270
1300
  ]
1271
1301
  },
1272
1302
  "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
@@ -1333,6 +1363,36 @@
1333
1363
  }
1334
1364
  ]
1335
1365
  },
1366
+ {
1367
+ "description": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated.",
1368
+ "allOf": [
1369
+ {
1370
+ "$ref": "#/$defs/_foundryEffectObject"
1371
+ },
1372
+ {
1373
+ "type": "object",
1374
+ "required": [
1375
+ "name"
1376
+ ]
1377
+ }
1378
+ ],
1379
+ "markdownDescription": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated."
1380
+ },
1381
+ {
1382
+ "description": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated.",
1383
+ "allOf": [
1384
+ {
1385
+ "$ref": "#/$defs/_foundryEffectObject"
1386
+ },
1387
+ {
1388
+ "type": "object",
1389
+ "required": [
1390
+ "duration"
1391
+ ]
1392
+ }
1393
+ ],
1394
+ "markdownDescription": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated."
1395
+ },
1336
1396
  {
1337
1397
  "description": "An effect with no functional changes, but descriptive text. Should only be used for effects which cannot be otherwise automated.",
1338
1398
  "allOf": [
@@ -1645,4 +1705,4 @@
1645
1705
  }
1646
1706
  }
1647
1707
  }
1648
- }
1708
+ }
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -3613,4 +3613,4 @@
3613
3613
  }
3614
3614
  },
3615
3615
  "markdownDescription": "Utility definitions to be used in other schemas."
3616
- }
3616
+ }
@@ -822,4 +822,4 @@
822
822
  "_meta"
823
823
  ],
824
824
  "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
825
- }
825
+ }
@@ -174,4 +174,4 @@
174
174
  }
175
175
  },
176
176
  "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
- }
177
+ }
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -14,4 +14,4 @@
14
14
  "markdownDescription": "A context-sensitive behaviour hint. Generally, entities marked with "edition": "one" will not be modified (as they are assumed to be up-to-date) prior to display/use, and entities lacking an "edition" or using "edition": "classic" may be modified to better suit modern rules. For example:\n- Classes/subclasses: an edition mismatch between class and subclass will prompt the renderer to add a note that the subclass is from a different game edition, and that feature levels may have to be adjusted accordingly (notably, when rendering synthetic subclass copies)\n- Plutonium, when using the "Modern (2024)" rules version: non-"one" species will be stripped of their ability scores; non-"one" backgrounds will gain extra ability scores; etc."
15
15
  }
16
16
  }
17
- }
17
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-foundry.json",
4
4
  "title": "Util: Foundry",
5
- "version": "1.0.15",
5
+ "version": "1.0.16",
6
6
  "$defs": {
7
7
  "entryDataObject": {
8
8
  "description": "Additional \"5etools-type\" data to be stored on the entry.",
@@ -1019,6 +1019,9 @@
1019
1019
  {
1020
1020
  "type": "object",
1021
1021
  "properties": {
1022
+ "name": {
1023
+ "type": "string"
1024
+ },
1022
1025
  "cr": {
1023
1026
  "type": "string"
1024
1027
  },
@@ -1029,6 +1032,12 @@
1029
1032
  },
1030
1033
  "minItems": 1,
1031
1034
  "uniqueItems": true
1035
+ },
1036
+ "count": {
1037
+ "type": [
1038
+ "integer",
1039
+ "string"
1040
+ ]
1032
1041
  }
1033
1042
  },
1034
1043
  "additionalProperties": false,
@@ -1043,6 +1052,23 @@
1043
1052
  "uuid": {
1044
1053
  "type": "string",
1045
1054
  "pattern": "^@creature\\[.*\\]$"
1055
+ },
1056
+ "count": {
1057
+ "type": [
1058
+ "integer",
1059
+ "string"
1060
+ ]
1061
+ },
1062
+ "level": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "min": {
1066
+ "type": "integer"
1067
+ },
1068
+ "max": {
1069
+ "type": "integer"
1070
+ }
1071
+ }
1046
1072
  }
1047
1073
  },
1048
1074
  "additionalProperties": false,
@@ -1263,10 +1289,14 @@
1263
1289
  "surprised",
1264
1290
  "transformed",
1265
1291
  "unconscious",
1292
+ "coverHalf",
1293
+ "coverThreeQuarters",
1294
+ "dead",
1266
1295
  "dodging",
1296
+ "ethereal",
1267
1297
  "hiding",
1268
- "coverHalf",
1269
- "coverThreeQuarters"
1298
+ "marked",
1299
+ "stable"
1270
1300
  ]
1271
1301
  },
1272
1302
  "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
@@ -1333,6 +1363,36 @@
1333
1363
  }
1334
1364
  ]
1335
1365
  },
1366
+ {
1367
+ "description": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated.",
1368
+ "allOf": [
1369
+ {
1370
+ "$ref": "#/$defs/_foundryEffectObject"
1371
+ },
1372
+ {
1373
+ "type": "object",
1374
+ "required": [
1375
+ "name"
1376
+ ]
1377
+ }
1378
+ ],
1379
+ "markdownDescription": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated."
1380
+ },
1381
+ {
1382
+ "description": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated.",
1383
+ "allOf": [
1384
+ {
1385
+ "$ref": "#/$defs/_foundryEffectObject"
1386
+ },
1387
+ {
1388
+ "type": "object",
1389
+ "required": [
1390
+ "duration"
1391
+ ]
1392
+ }
1393
+ ],
1394
+ "markdownDescription": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated."
1395
+ },
1336
1396
  {
1337
1397
  "description": "An effect with no functional changes, but descriptive text. Should only be used for effects which cannot be otherwise automated.",
1338
1398
  "allOf": [
@@ -1645,4 +1705,4 @@
1645
1705
  }
1646
1706
  }
1647
1707
  }
1648
- }
1708
+ }
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -3624,4 +3624,4 @@
3624
3624
  }
3625
3625
  },
3626
3626
  "markdownDescription": "Utility definitions to be used in other schemas."
3627
- }
3627
+ }
@@ -820,4 +820,4 @@
820
820
  "_meta"
821
821
  ],
822
822
  "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
823
- }
823
+ }
@@ -174,4 +174,4 @@
174
174
  }
175
175
  },
176
176
  "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
- }
177
+ }
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -14,4 +14,4 @@
14
14
  "markdownDescription": "A context-sensitive behaviour hint. Generally, entities marked with "edition": "one" will not be modified (as they are assumed to be up-to-date) prior to display/use, and entities lacking an "edition" or using "edition": "classic" may be modified to better suit modern rules. For example:\n- Classes/subclasses: an edition mismatch between class and subclass will prompt the renderer to add a note that the subclass is from a different game edition, and that feature levels may have to be adjusted accordingly (notably, when rendering synthetic subclass copies)\n- Plutonium, when using the "Modern (2024)" rules version: non-"one" species will be stripped of their ability scores; non-"one" backgrounds will gain extra ability scores; etc."
15
15
  }
16
16
  }
17
- }
17
+ }
@@ -2,7 +2,7 @@
2
2
  "$schema": "https://json-schema.org/draft/2020-12/schema",
3
3
  "$id": "util-foundry.json",
4
4
  "title": "Util: Foundry",
5
- "version": "1.0.15",
5
+ "version": "1.0.16",
6
6
  "$defs": {
7
7
  "entryDataObject": {
8
8
  "description": "Additional \"5etools-type\" data to be stored on the entry.",
@@ -1019,6 +1019,9 @@
1019
1019
  {
1020
1020
  "type": "object",
1021
1021
  "properties": {
1022
+ "name": {
1023
+ "type": "string"
1024
+ },
1022
1025
  "cr": {
1023
1026
  "type": "string"
1024
1027
  },
@@ -1029,6 +1032,12 @@
1029
1032
  },
1030
1033
  "minItems": 1,
1031
1034
  "uniqueItems": true
1035
+ },
1036
+ "count": {
1037
+ "type": [
1038
+ "integer",
1039
+ "string"
1040
+ ]
1032
1041
  }
1033
1042
  },
1034
1043
  "additionalProperties": false,
@@ -1043,6 +1052,23 @@
1043
1052
  "uuid": {
1044
1053
  "type": "string",
1045
1054
  "pattern": "^@creature\\[.*\\]$"
1055
+ },
1056
+ "count": {
1057
+ "type": [
1058
+ "integer",
1059
+ "string"
1060
+ ]
1061
+ },
1062
+ "level": {
1063
+ "type": "object",
1064
+ "properties": {
1065
+ "min": {
1066
+ "type": "integer"
1067
+ },
1068
+ "max": {
1069
+ "type": "integer"
1070
+ }
1071
+ }
1046
1072
  }
1047
1073
  },
1048
1074
  "additionalProperties": false,
@@ -1263,10 +1289,14 @@
1263
1289
  "surprised",
1264
1290
  "transformed",
1265
1291
  "unconscious",
1292
+ "coverHalf",
1293
+ "coverThreeQuarters",
1294
+ "dead",
1266
1295
  "dodging",
1296
+ "ethereal",
1267
1297
  "hiding",
1268
- "coverHalf",
1269
- "coverThreeQuarters"
1298
+ "marked",
1299
+ "stable"
1270
1300
  ]
1271
1301
  },
1272
1302
  "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
@@ -1333,6 +1363,36 @@
1333
1363
  }
1334
1364
  ]
1335
1365
  },
1366
+ {
1367
+ "description": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated.",
1368
+ "allOf": [
1369
+ {
1370
+ "$ref": "#/$defs/_foundryEffectObject"
1371
+ },
1372
+ {
1373
+ "type": "object",
1374
+ "required": [
1375
+ "name"
1376
+ ]
1377
+ }
1378
+ ],
1379
+ "markdownDescription": "An effect with no functional changes, but a name. Should only be used for effects which cannot be otherwise automated."
1380
+ },
1381
+ {
1382
+ "description": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated.",
1383
+ "allOf": [
1384
+ {
1385
+ "$ref": "#/$defs/_foundryEffectObject"
1386
+ },
1387
+ {
1388
+ "type": "object",
1389
+ "required": [
1390
+ "duration"
1391
+ ]
1392
+ }
1393
+ ],
1394
+ "markdownDescription": "An effect with no functional changes, but a duration. Should only be used for effects which cannot be otherwise automated."
1395
+ },
1336
1396
  {
1337
1397
  "description": "An effect with no functional changes, but descriptive text. Should only be used for effects which cannot be otherwise automated.",
1338
1398
  "allOf": [
@@ -1645,4 +1705,4 @@
1645
1705
  }
1646
1706
  }
1647
1707
  }
1648
- }
1708
+ }
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -3624,4 +3624,4 @@
3624
3624
  }
3625
3625
  },
3626
3626
  "markdownDescription": "Utility definitions to be used in other schemas."
3627
- }
3627
+ }