5etools-utils 0.13.17 → 0.13.19

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 +4 -4
  4. package/schema/brew/homebrew.json +6 -6
  5. package/schema/brew/sources-5etools.json +2 -2
  6. package/schema/brew/util-copy.json +4 -4
  7. package/schema/brew/util-edition.json +2 -2
  8. package/schema/brew/util-foundry.json +2 -2
  9. package/schema/brew/util-token.json +2 -2
  10. package/schema/brew/util.json +2 -2
  11. package/schema/brew-fast/deities.json +4 -4
  12. package/schema/brew-fast/homebrew.json +6 -6
  13. package/schema/brew-fast/sources-5etools.json +2 -2
  14. package/schema/brew-fast/util-copy.json +4 -4
  15. package/schema/brew-fast/util-edition.json +2 -2
  16. package/schema/brew-fast/util-foundry.json +2 -2
  17. package/schema/brew-fast/util-token.json +2 -2
  18. package/schema/brew-fast/util.json +2 -2
  19. package/schema/site/homebrew.json +6 -6
  20. package/schema/site/sources-5etools.json +2 -2
  21. package/schema/site/util-copy.json +4 -4
  22. package/schema/site/util-edition.json +2 -2
  23. package/schema/site/util-foundry.json +2 -2
  24. package/schema/site/util-token.json +2 -2
  25. package/schema/site/util.json +2 -2
  26. package/schema/site-fast/homebrew.json +6 -6
  27. package/schema/site-fast/sources-5etools.json +2 -2
  28. package/schema/site-fast/util-copy.json +4 -4
  29. package/schema/site-fast/util-edition.json +2 -2
  30. package/schema/site-fast/util-foundry.json +2 -2
  31. package/schema/site-fast/util-token.json +2 -2
  32. package/schema/site-fast/util.json +2 -2
  33. package/schema/ua/homebrew.json +6 -6
  34. package/schema/ua/sources-5etools.json +2 -2
  35. package/schema/ua/util-copy.json +4 -4
  36. package/schema/ua/util-edition.json +2 -2
  37. package/schema/ua/util-foundry.json +2 -2
  38. package/schema/ua/util-token.json +2 -2
  39. package/schema/ua/util.json +2 -2
  40. package/schema/ua-fast/homebrew.json +6 -6
  41. package/schema/ua-fast/sources-5etools.json +2 -2
  42. package/schema/ua-fast/util-copy.json +4 -4
  43. package/schema/ua-fast/util-edition.json +2 -2
  44. package/schema/ua-fast/util-foundry.json +2 -2
  45. package/schema/ua-fast/util-token.json +2 -2
  46. package/schema/ua-fast/util.json +2 -2
@@ -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.17",
3
+ "version": "0.13.19",
4
4
  "description": "Shared utilities for the 5etools ecosystem.",
5
5
  "type": "module",
6
6
  "main": "lib/Api.js",
@@ -167,7 +167,7 @@
167
167
  "customProperties": {
168
168
  "description": "For homebrew use only; a key-value dict of the form: `\"Typical Dissidents\": \"Human Bards\"`",
169
169
  "type": "object",
170
- "markdownDescription": "For homebrew use only; a key-value dict of the form: `"Typical Dissidents": "Human Bards"`"
170
+ "markdownDescription": "For homebrew use only; a key-value dict of the form: "Typical Dissidents": "Human Bards""
171
171
  },
172
172
  "foundryImg": {
173
173
  "$ref": "util-foundry.json#/$defs/foundryImg"
@@ -340,7 +340,7 @@
340
340
  "customProperties": {
341
341
  "description": "For homebrew use only; a key-value dict of the form: `\"Typical Dissidents\": \"Human Bards\"`",
342
342
  "type": "object",
343
- "markdownDescription": "For homebrew use only; a key-value dict of the form: `"Typical Dissidents": "Human Bards"`"
343
+ "markdownDescription": "For homebrew use only; a key-value dict of the form: "Typical Dissidents": "Human Bards""
344
344
  },
345
345
  "foundryImg": {
346
346
  "$ref": "util-foundry.json#/$defs/foundryImg"
@@ -516,7 +516,7 @@
516
516
  "customProperties": {
517
517
  "description": "For homebrew use only; a key-value dict of the form: `\"Typical Dissidents\": \"Human Bards\"`",
518
518
  "type": "object",
519
- "markdownDescription": "For homebrew use only; a key-value dict of the form: `"Typical Dissidents": "Human Bards"`"
519
+ "markdownDescription": "For homebrew use only; a key-value dict of the form: "Typical Dissidents": "Human Bards""
520
520
  },
521
521
  "foundryImg": {
522
522
  "$ref": "util-foundry.json#/$defs/foundryImg"
@@ -547,4 +547,4 @@
547
547
  }
548
548
  },
549
549
  "additionalProperties": false
550
- }
550
+ }
@@ -145,7 +145,7 @@
145
145
  ]
146
146
  }
147
147
  },
148
- "markdownDescription": "Object names are spell school abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Evocation") and `"short"` (used in the list view, e.g. `"Evoc."`) key/values."
148
+ "markdownDescription": "Object names are spell school abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Evocation") and "short" (used in the list view, e.g. "Evoc.") key/values."
149
149
  },
150
150
  "spellDistanceUnits": {
151
151
  "type": "object",
@@ -166,7 +166,7 @@
166
166
  ]
167
167
  }
168
168
  },
169
- "markdownDescription": "Object names are spell distance units (e.g. `"hectares"`); values should be objects with optional `"singular"`` (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and `"feetPerUnit"` (e.g. for a "yards" custom unit, this would be `3`, as there are three feet in a yard) key/values."
169
+ "markdownDescription": "Object names are spell distance units (e.g. "hectares"); values should be objects with optional "singular" (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and "feetPerUnit" (e.g. for a "yards" custom unit, this would be 3, as there are three feet in a yard) key/values."
170
170
  },
171
171
  "optionalFeatureTypes": {
172
172
  "type": "object",
@@ -218,7 +218,7 @@
218
218
  ]
219
219
  }
220
220
  },
221
- "markdownDescription": "Object names are psionic type abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Greater Discipline") and `"short"` (used in the list view, e.g. `"G. Discipline"`) key/values."
221
+ "markdownDescription": "Object names are psionic type abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Greater Discipline") and "short" (used in the list view, e.g. "G. Discipline") key/values."
222
222
  },
223
223
  "currencyConversions": {
224
224
  "type": "object",
@@ -286,7 +286,7 @@
286
286
  "uniqueItems": true
287
287
  }
288
288
  },
289
- "markdownDescription": "A map of `"<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]`. Entities from these sources can then be extended/referenced in this file.\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)."
289
+ "markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\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)."
290
290
  },
291
291
  "includes": {
292
292
  "description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
@@ -821,5 +821,5 @@
821
821
  "required": [
822
822
  "_meta"
823
823
  ],
824
- "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`"
825
- }
824
+ "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
825
+ }
@@ -173,5 +173,5 @@
173
173
  ]
174
174
  }
175
175
  },
176
- "markdownDescription": "A dump of 5etools sources. See `node/fetch-5etools-sources.js`."
177
- }
176
+ "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
+ }
@@ -126,7 +126,7 @@
126
126
  "null"
127
127
  ]
128
128
  },
129
- "markdownDescription": "If unspecified, defaults to `[null, "entries", "headerEntries", "footerEntries"]`. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include `null` as one of the props (i.e. `"props": [null]`)"
129
+ "markdownDescription": "If unspecified, defaults to [null, "entries", "headerEntries", "footerEntries"]. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include null as one of the props (i.e. "props": [null])"
130
130
  }
131
131
  },
132
132
  "required": [
@@ -1053,7 +1053,7 @@
1053
1053
  "_preserve": {
1054
1054
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1055
1055
  "$ref": "#/$defs/_preserveObject",
1056
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1056
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1057
1057
  }
1058
1058
  },
1059
1059
  "required": [
@@ -1079,7 +1079,7 @@
1079
1079
  "_preserve": {
1080
1080
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1081
1081
  "$ref": "#/$defs/_preserveObject",
1082
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1082
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1083
1083
  }
1084
1084
  },
1085
1085
  "required": [
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -11,7 +11,7 @@
11
11
  "classic",
12
12
  "one"
13
13
  ],
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."
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
+ }
@@ -1269,7 +1269,7 @@
1269
1269
  "coverThreeQuarters"
1270
1270
  ]
1271
1271
  },
1272
- "markdownDescription": "Dumped via e.g. `copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())`"
1272
+ "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
1273
1273
  },
1274
1274
  "flags": {
1275
1275
  "type": "object"
@@ -1645,4 +1645,4 @@
1645
1645
  }
1646
1646
  }
1647
1647
  }
1648
- }
1648
+ }
@@ -30,7 +30,7 @@
30
30
  "source"
31
31
  ],
32
32
  "additionalProperties": false,
33
- "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example `"name": "Goblin", "source": "MM"` for a creature token would refer to the MM Goblin's token."
33
+ "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example "name": "Goblin", "source": "MM" for a creature token would refer to the MM Goblin's token."
34
34
  },
35
35
  "tokenHref": {
36
36
  "$ref": "entry.json#/$defs/mediaHref"
@@ -187,4 +187,4 @@
187
187
  "uniqueItems": true
188
188
  }
189
189
  }
190
- }
190
+ }
@@ -30,7 +30,7 @@
30
30
  "monster": {
31
31
  "description": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for.",
32
32
  "type": "object",
33
- "markdownDescription": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for."
33
+ "markdownDescription": "Keys are other sources to be loaded; values are otherSources sources from that source to search for."
34
34
  }
35
35
  }
36
36
  }
@@ -3671,4 +3671,4 @@
3671
3671
  }
3672
3672
  },
3673
3673
  "markdownDescription": "Utility definitions to be used in other schemas."
3674
- }
3674
+ }
@@ -167,7 +167,7 @@
167
167
  "customProperties": {
168
168
  "description": "For homebrew use only; a key-value dict of the form: `\"Typical Dissidents\": \"Human Bards\"`",
169
169
  "type": "object",
170
- "markdownDescription": "For homebrew use only; a key-value dict of the form: `"Typical Dissidents": "Human Bards"`"
170
+ "markdownDescription": "For homebrew use only; a key-value dict of the form: "Typical Dissidents": "Human Bards""
171
171
  },
172
172
  "foundryImg": {
173
173
  "$ref": "util-foundry.json#/$defs/foundryImg"
@@ -340,7 +340,7 @@
340
340
  "customProperties": {
341
341
  "description": "For homebrew use only; a key-value dict of the form: `\"Typical Dissidents\": \"Human Bards\"`",
342
342
  "type": "object",
343
- "markdownDescription": "For homebrew use only; a key-value dict of the form: `"Typical Dissidents": "Human Bards"`"
343
+ "markdownDescription": "For homebrew use only; a key-value dict of the form: "Typical Dissidents": "Human Bards""
344
344
  },
345
345
  "foundryImg": {
346
346
  "$ref": "util-foundry.json#/$defs/foundryImg"
@@ -516,7 +516,7 @@
516
516
  "customProperties": {
517
517
  "description": "For homebrew use only; a key-value dict of the form: `\"Typical Dissidents\": \"Human Bards\"`",
518
518
  "type": "object",
519
- "markdownDescription": "For homebrew use only; a key-value dict of the form: `"Typical Dissidents": "Human Bards"`"
519
+ "markdownDescription": "For homebrew use only; a key-value dict of the form: "Typical Dissidents": "Human Bards""
520
520
  },
521
521
  "foundryImg": {
522
522
  "$ref": "util-foundry.json#/$defs/foundryImg"
@@ -547,4 +547,4 @@
547
547
  }
548
548
  },
549
549
  "additionalProperties": false
550
- }
550
+ }
@@ -143,7 +143,7 @@
143
143
  ]
144
144
  }
145
145
  },
146
- "markdownDescription": "Object names are spell school abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Evocation") and `"short"` (used in the list view, e.g. `"Evoc."`) key/values."
146
+ "markdownDescription": "Object names are spell school abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Evocation") and "short" (used in the list view, e.g. "Evoc.") key/values."
147
147
  },
148
148
  "spellDistanceUnits": {
149
149
  "type": "object",
@@ -164,7 +164,7 @@
164
164
  ]
165
165
  }
166
166
  },
167
- "markdownDescription": "Object names are spell distance units (e.g. `"hectares"`); values should be objects with optional `"singular"`` (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and `"feetPerUnit"` (e.g. for a "yards" custom unit, this would be `3`, as there are three feet in a yard) key/values."
167
+ "markdownDescription": "Object names are spell distance units (e.g. "hectares"); values should be objects with optional "singular" (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and "feetPerUnit" (e.g. for a "yards" custom unit, this would be 3, as there are three feet in a yard) key/values."
168
168
  },
169
169
  "optionalFeatureTypes": {
170
170
  "type": "object",
@@ -216,7 +216,7 @@
216
216
  ]
217
217
  }
218
218
  },
219
- "markdownDescription": "Object names are psionic type abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Greater Discipline") and `"short"` (used in the list view, e.g. `"G. Discipline"`) key/values."
219
+ "markdownDescription": "Object names are psionic type abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Greater Discipline") and "short" (used in the list view, e.g. "G. Discipline") key/values."
220
220
  },
221
221
  "currencyConversions": {
222
222
  "type": "object",
@@ -284,7 +284,7 @@
284
284
  "uniqueItems": true
285
285
  }
286
286
  },
287
- "markdownDescription": "A map of `"<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]`. Entities from these sources can then be extended/referenced in this file.\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)."
287
+ "markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\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)."
288
288
  },
289
289
  "includes": {
290
290
  "description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
@@ -819,5 +819,5 @@
819
819
  "required": [
820
820
  "_meta"
821
821
  ],
822
- "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`"
823
- }
822
+ "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
823
+ }
@@ -173,5 +173,5 @@
173
173
  ]
174
174
  }
175
175
  },
176
- "markdownDescription": "A dump of 5etools sources. See `node/fetch-5etools-sources.js`."
177
- }
176
+ "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
+ }
@@ -126,7 +126,7 @@
126
126
  "null"
127
127
  ]
128
128
  },
129
- "markdownDescription": "If unspecified, defaults to `[null, "entries", "headerEntries", "footerEntries"]`. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include `null` as one of the props (i.e. `"props": [null]`)"
129
+ "markdownDescription": "If unspecified, defaults to [null, "entries", "headerEntries", "footerEntries"]. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include null as one of the props (i.e. "props": [null])"
130
130
  }
131
131
  },
132
132
  "required": [
@@ -1053,7 +1053,7 @@
1053
1053
  "_preserve": {
1054
1054
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1055
1055
  "$ref": "#/$defs/_preserveObject",
1056
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1056
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1057
1057
  }
1058
1058
  },
1059
1059
  "required": [
@@ -1079,7 +1079,7 @@
1079
1079
  "_preserve": {
1080
1080
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1081
1081
  "$ref": "#/$defs/_preserveObject",
1082
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1082
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1083
1083
  }
1084
1084
  },
1085
1085
  "required": [
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -11,7 +11,7 @@
11
11
  "classic",
12
12
  "one"
13
13
  ],
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."
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
+ }
@@ -1269,7 +1269,7 @@
1269
1269
  "coverThreeQuarters"
1270
1270
  ]
1271
1271
  },
1272
- "markdownDescription": "Dumped via e.g. `copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())`"
1272
+ "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
1273
1273
  },
1274
1274
  "flags": {
1275
1275
  "type": "object"
@@ -1645,4 +1645,4 @@
1645
1645
  }
1646
1646
  }
1647
1647
  }
1648
- }
1648
+ }
@@ -30,7 +30,7 @@
30
30
  "source"
31
31
  ],
32
32
  "additionalProperties": false,
33
- "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example `"name": "Goblin", "source": "MM"` for a creature token would refer to the MM Goblin's token."
33
+ "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example "name": "Goblin", "source": "MM" for a creature token would refer to the MM Goblin's token."
34
34
  },
35
35
  "tokenHref": {
36
36
  "$ref": "entry.json#/$defs/mediaHref"
@@ -187,4 +187,4 @@
187
187
  "uniqueItems": true
188
188
  }
189
189
  }
190
- }
190
+ }
@@ -30,7 +30,7 @@
30
30
  "monster": {
31
31
  "description": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for.",
32
32
  "type": "object",
33
- "markdownDescription": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for."
33
+ "markdownDescription": "Keys are other sources to be loaded; values are otherSources sources from that source to search for."
34
34
  }
35
35
  }
36
36
  }
@@ -3671,4 +3671,4 @@
3671
3671
  }
3672
3672
  },
3673
3673
  "markdownDescription": "Utility definitions to be used in other schemas."
3674
- }
3674
+ }
@@ -145,7 +145,7 @@
145
145
  ]
146
146
  }
147
147
  },
148
- "markdownDescription": "Object names are spell school abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Evocation") and `"short"` (used in the list view, e.g. `"Evoc."`) key/values."
148
+ "markdownDescription": "Object names are spell school abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Evocation") and "short" (used in the list view, e.g. "Evoc.") key/values."
149
149
  },
150
150
  "spellDistanceUnits": {
151
151
  "type": "object",
@@ -166,7 +166,7 @@
166
166
  ]
167
167
  }
168
168
  },
169
- "markdownDescription": "Object names are spell distance units (e.g. `"hectares"`); values should be objects with optional `"singular"`` (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and `"feetPerUnit"` (e.g. for a "yards" custom unit, this would be `3`, as there are three feet in a yard) key/values."
169
+ "markdownDescription": "Object names are spell distance units (e.g. "hectares"); values should be objects with optional "singular" (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and "feetPerUnit" (e.g. for a "yards" custom unit, this would be 3, as there are three feet in a yard) key/values."
170
170
  },
171
171
  "optionalFeatureTypes": {
172
172
  "type": "object",
@@ -218,7 +218,7 @@
218
218
  ]
219
219
  }
220
220
  },
221
- "markdownDescription": "Object names are psionic type abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Greater Discipline") and `"short"` (used in the list view, e.g. `"G. Discipline"`) key/values."
221
+ "markdownDescription": "Object names are psionic type abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Greater Discipline") and "short" (used in the list view, e.g. "G. Discipline") key/values."
222
222
  },
223
223
  "currencyConversions": {
224
224
  "type": "object",
@@ -286,7 +286,7 @@
286
286
  "uniqueItems": true
287
287
  }
288
288
  },
289
- "markdownDescription": "A map of `"<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]`. Entities from these sources can then be extended/referenced in this file.\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)."
289
+ "markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\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)."
290
290
  },
291
291
  "includes": {
292
292
  "description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
@@ -821,5 +821,5 @@
821
821
  "required": [
822
822
  "_meta"
823
823
  ],
824
- "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`"
825
- }
824
+ "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
825
+ }
@@ -173,5 +173,5 @@
173
173
  ]
174
174
  }
175
175
  },
176
- "markdownDescription": "A dump of 5etools sources. See `node/fetch-5etools-sources.js`."
177
- }
176
+ "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
+ }
@@ -126,7 +126,7 @@
126
126
  "null"
127
127
  ]
128
128
  },
129
- "markdownDescription": "If unspecified, defaults to `[null, "entries", "headerEntries", "footerEntries"]`. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include `null` as one of the props (i.e. `"props": [null]`)"
129
+ "markdownDescription": "If unspecified, defaults to [null, "entries", "headerEntries", "footerEntries"]. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include null as one of the props (i.e. "props": [null])"
130
130
  }
131
131
  },
132
132
  "required": [
@@ -1053,7 +1053,7 @@
1053
1053
  "_preserve": {
1054
1054
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1055
1055
  "$ref": "#/$defs/_preserveObject",
1056
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1056
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1057
1057
  }
1058
1058
  },
1059
1059
  "required": [
@@ -1079,7 +1079,7 @@
1079
1079
  "_preserve": {
1080
1080
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1081
1081
  "$ref": "#/$defs/_preserveObject",
1082
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1082
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1083
1083
  }
1084
1084
  },
1085
1085
  "required": [
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -11,7 +11,7 @@
11
11
  "classic",
12
12
  "one"
13
13
  ],
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."
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
+ }
@@ -1269,7 +1269,7 @@
1269
1269
  "coverThreeQuarters"
1270
1270
  ]
1271
1271
  },
1272
- "markdownDescription": "Dumped via e.g. `copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())`"
1272
+ "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
1273
1273
  },
1274
1274
  "flags": {
1275
1275
  "type": "object"
@@ -1645,4 +1645,4 @@
1645
1645
  }
1646
1646
  }
1647
1647
  }
1648
- }
1648
+ }
@@ -30,7 +30,7 @@
30
30
  "source"
31
31
  ],
32
32
  "additionalProperties": false,
33
- "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example `"name": "Goblin", "source": "MM"` for a creature token would refer to the MM Goblin's token."
33
+ "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example "name": "Goblin", "source": "MM" for a creature token would refer to the MM Goblin's token."
34
34
  },
35
35
  "tokenHref": {
36
36
  "$ref": "entry.json#/$defs/mediaHref"
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -30,7 +30,7 @@
30
30
  "monster": {
31
31
  "description": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for.",
32
32
  "type": "object",
33
- "markdownDescription": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for."
33
+ "markdownDescription": "Keys are other sources to be loaded; values are otherSources sources from that source to search for."
34
34
  }
35
35
  }
36
36
  }
@@ -3613,4 +3613,4 @@
3613
3613
  }
3614
3614
  },
3615
3615
  "markdownDescription": "Utility definitions to be used in other schemas."
3616
- }
3616
+ }
@@ -143,7 +143,7 @@
143
143
  ]
144
144
  }
145
145
  },
146
- "markdownDescription": "Object names are spell school abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Evocation") and `"short"` (used in the list view, e.g. `"Evoc."`) key/values."
146
+ "markdownDescription": "Object names are spell school abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Evocation") and "short" (used in the list view, e.g. "Evoc.") key/values."
147
147
  },
148
148
  "spellDistanceUnits": {
149
149
  "type": "object",
@@ -164,7 +164,7 @@
164
164
  ]
165
165
  }
166
166
  },
167
- "markdownDescription": "Object names are spell distance units (e.g. `"hectares"`); values should be objects with optional `"singular"`` (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and `"feetPerUnit"` (e.g. for a "yards" custom unit, this would be `3`, as there are three feet in a yard) key/values."
167
+ "markdownDescription": "Object names are spell distance units (e.g. "hectares"); values should be objects with optional "singular" (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and "feetPerUnit" (e.g. for a "yards" custom unit, this would be 3, as there are three feet in a yard) key/values."
168
168
  },
169
169
  "optionalFeatureTypes": {
170
170
  "type": "object",
@@ -216,7 +216,7 @@
216
216
  ]
217
217
  }
218
218
  },
219
- "markdownDescription": "Object names are psionic type abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Greater Discipline") and `"short"` (used in the list view, e.g. `"G. Discipline"`) key/values."
219
+ "markdownDescription": "Object names are psionic type abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Greater Discipline") and "short" (used in the list view, e.g. "G. Discipline") key/values."
220
220
  },
221
221
  "currencyConversions": {
222
222
  "type": "object",
@@ -284,7 +284,7 @@
284
284
  "uniqueItems": true
285
285
  }
286
286
  },
287
- "markdownDescription": "A map of `"<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]`. Entities from these sources can then be extended/referenced in this file.\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)."
287
+ "markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\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)."
288
288
  },
289
289
  "includes": {
290
290
  "description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
@@ -819,5 +819,5 @@
819
819
  "required": [
820
820
  "_meta"
821
821
  ],
822
- "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`"
823
- }
822
+ "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
823
+ }
@@ -173,5 +173,5 @@
173
173
  ]
174
174
  }
175
175
  },
176
- "markdownDescription": "A dump of 5etools sources. See `node/fetch-5etools-sources.js`."
177
- }
176
+ "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
+ }
@@ -126,7 +126,7 @@
126
126
  "null"
127
127
  ]
128
128
  },
129
- "markdownDescription": "If unspecified, defaults to `[null, "entries", "headerEntries", "footerEntries"]`. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include `null` as one of the props (i.e. `"props": [null]`)"
129
+ "markdownDescription": "If unspecified, defaults to [null, "entries", "headerEntries", "footerEntries"]. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include null as one of the props (i.e. "props": [null])"
130
130
  }
131
131
  },
132
132
  "required": [
@@ -1053,7 +1053,7 @@
1053
1053
  "_preserve": {
1054
1054
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1055
1055
  "$ref": "#/$defs/_preserveObject",
1056
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1056
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1057
1057
  }
1058
1058
  },
1059
1059
  "required": [
@@ -1079,7 +1079,7 @@
1079
1079
  "_preserve": {
1080
1080
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1081
1081
  "$ref": "#/$defs/_preserveObject",
1082
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1082
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1083
1083
  }
1084
1084
  },
1085
1085
  "required": [
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -11,7 +11,7 @@
11
11
  "classic",
12
12
  "one"
13
13
  ],
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."
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
+ }
@@ -1269,7 +1269,7 @@
1269
1269
  "coverThreeQuarters"
1270
1270
  ]
1271
1271
  },
1272
- "markdownDescription": "Dumped via e.g. `copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())`"
1272
+ "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
1273
1273
  },
1274
1274
  "flags": {
1275
1275
  "type": "object"
@@ -1645,4 +1645,4 @@
1645
1645
  }
1646
1646
  }
1647
1647
  }
1648
- }
1648
+ }
@@ -30,7 +30,7 @@
30
30
  "source"
31
31
  ],
32
32
  "additionalProperties": false,
33
- "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example `"name": "Goblin", "source": "MM"` for a creature token would refer to the MM Goblin's token."
33
+ "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example "name": "Goblin", "source": "MM" for a creature token would refer to the MM Goblin's token."
34
34
  },
35
35
  "tokenHref": {
36
36
  "$ref": "entry.json#/$defs/mediaHref"
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -30,7 +30,7 @@
30
30
  "monster": {
31
31
  "description": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for.",
32
32
  "type": "object",
33
- "markdownDescription": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for."
33
+ "markdownDescription": "Keys are other sources to be loaded; values are otherSources sources from that source to search for."
34
34
  }
35
35
  }
36
36
  }
@@ -3613,4 +3613,4 @@
3613
3613
  }
3614
3614
  },
3615
3615
  "markdownDescription": "Utility definitions to be used in other schemas."
3616
- }
3616
+ }
@@ -145,7 +145,7 @@
145
145
  ]
146
146
  }
147
147
  },
148
- "markdownDescription": "Object names are spell school abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Evocation") and `"short"` (used in the list view, e.g. `"Evoc."`) key/values."
148
+ "markdownDescription": "Object names are spell school abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Evocation") and "short" (used in the list view, e.g. "Evoc.") key/values."
149
149
  },
150
150
  "spellDistanceUnits": {
151
151
  "type": "object",
@@ -166,7 +166,7 @@
166
166
  ]
167
167
  }
168
168
  },
169
- "markdownDescription": "Object names are spell distance units (e.g. `"hectares"`); values should be objects with optional `"singular"`` (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and `"feetPerUnit"` (e.g. for a "yards" custom unit, this would be `3`, as there are three feet in a yard) key/values."
169
+ "markdownDescription": "Object names are spell distance units (e.g. "hectares"); values should be objects with optional "singular" (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and "feetPerUnit" (e.g. for a "yards" custom unit, this would be 3, as there are three feet in a yard) key/values."
170
170
  },
171
171
  "optionalFeatureTypes": {
172
172
  "type": "object",
@@ -218,7 +218,7 @@
218
218
  ]
219
219
  }
220
220
  },
221
- "markdownDescription": "Object names are psionic type abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Greater Discipline") and `"short"` (used in the list view, e.g. `"G. Discipline"`) key/values."
221
+ "markdownDescription": "Object names are psionic type abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Greater Discipline") and "short" (used in the list view, e.g. "G. Discipline") key/values."
222
222
  },
223
223
  "currencyConversions": {
224
224
  "type": "object",
@@ -286,7 +286,7 @@
286
286
  "uniqueItems": true
287
287
  }
288
288
  },
289
- "markdownDescription": "A map of `"<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]`. Entities from these sources can then be extended/referenced in this file.\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)."
289
+ "markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\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)."
290
290
  },
291
291
  "includes": {
292
292
  "description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
@@ -821,5 +821,5 @@
821
821
  "required": [
822
822
  "_meta"
823
823
  ],
824
- "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`"
825
- }
824
+ "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
825
+ }
@@ -173,5 +173,5 @@
173
173
  ]
174
174
  }
175
175
  },
176
- "markdownDescription": "A dump of 5etools sources. See `node/fetch-5etools-sources.js`."
177
- }
176
+ "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
+ }
@@ -126,7 +126,7 @@
126
126
  "null"
127
127
  ]
128
128
  },
129
- "markdownDescription": "If unspecified, defaults to `[null, "entries", "headerEntries", "footerEntries"]`. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include `null` as one of the props (i.e. `"props": [null]`)"
129
+ "markdownDescription": "If unspecified, defaults to [null, "entries", "headerEntries", "footerEntries"]. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include null as one of the props (i.e. "props": [null])"
130
130
  }
131
131
  },
132
132
  "required": [
@@ -1053,7 +1053,7 @@
1053
1053
  "_preserve": {
1054
1054
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1055
1055
  "$ref": "#/$defs/_preserveObject",
1056
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1056
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1057
1057
  }
1058
1058
  },
1059
1059
  "required": [
@@ -1079,7 +1079,7 @@
1079
1079
  "_preserve": {
1080
1080
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1081
1081
  "$ref": "#/$defs/_preserveObject",
1082
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1082
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1083
1083
  }
1084
1084
  },
1085
1085
  "required": [
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -11,7 +11,7 @@
11
11
  "classic",
12
12
  "one"
13
13
  ],
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."
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
+ }
@@ -1269,7 +1269,7 @@
1269
1269
  "coverThreeQuarters"
1270
1270
  ]
1271
1271
  },
1272
- "markdownDescription": "Dumped via e.g. `copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())`"
1272
+ "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
1273
1273
  },
1274
1274
  "flags": {
1275
1275
  "type": "object"
@@ -1645,4 +1645,4 @@
1645
1645
  }
1646
1646
  }
1647
1647
  }
1648
- }
1648
+ }
@@ -30,7 +30,7 @@
30
30
  "source"
31
31
  ],
32
32
  "additionalProperties": false,
33
- "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example `"name": "Goblin", "source": "MM"` for a creature token would refer to the MM Goblin's token."
33
+ "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example "name": "Goblin", "source": "MM" for a creature token would refer to the MM Goblin's token."
34
34
  },
35
35
  "tokenHref": {
36
36
  "$ref": "entry.json#/$defs/mediaHref"
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -30,7 +30,7 @@
30
30
  "monster": {
31
31
  "description": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for.",
32
32
  "type": "object",
33
- "markdownDescription": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for."
33
+ "markdownDescription": "Keys are other sources to be loaded; values are otherSources sources from that source to search for."
34
34
  }
35
35
  }
36
36
  }
@@ -3624,4 +3624,4 @@
3624
3624
  }
3625
3625
  },
3626
3626
  "markdownDescription": "Utility definitions to be used in other schemas."
3627
- }
3627
+ }
@@ -143,7 +143,7 @@
143
143
  ]
144
144
  }
145
145
  },
146
- "markdownDescription": "Object names are spell school abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Evocation") and `"short"` (used in the list view, e.g. `"Evoc."`) key/values."
146
+ "markdownDescription": "Object names are spell school abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Evocation") and "short" (used in the list view, e.g. "Evoc.") key/values."
147
147
  },
148
148
  "spellDistanceUnits": {
149
149
  "type": "object",
@@ -164,7 +164,7 @@
164
164
  ]
165
165
  }
166
166
  },
167
- "markdownDescription": "Object names are spell distance units (e.g. `"hectares"`); values should be objects with optional `"singular"`` (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and `"feetPerUnit"` (e.g. for a "yards" custom unit, this would be `3`, as there are three feet in a yard) key/values."
167
+ "markdownDescription": "Object names are spell distance units (e.g. "hectares"); values should be objects with optional "singular" (singular form of the unit, e.g. "foot" for the singular of "feet"--if unspecified, a trailing "s" is removed from the plural version, if it exists, and the result is used as the singular form) and "feetPerUnit" (e.g. for a "yards" custom unit, this would be 3, as there are three feet in a yard) key/values."
168
168
  },
169
169
  "optionalFeatureTypes": {
170
170
  "type": "object",
@@ -216,7 +216,7 @@
216
216
  ]
217
217
  }
218
218
  },
219
- "markdownDescription": "Object names are psionic type abbreviations (e.g. `"X"`); values should be objects with `"full"`` (used in the main entry, e.g. "Greater Discipline") and `"short"` (used in the list view, e.g. `"G. Discipline"`) key/values."
219
+ "markdownDescription": "Object names are psionic type abbreviations (e.g. "X"); values should be objects with "full" (used in the main entry, e.g. "Greater Discipline") and "short" (used in the list view, e.g. "G. Discipline") key/values."
220
220
  },
221
221
  "currencyConversions": {
222
222
  "type": "object",
@@ -284,7 +284,7 @@
284
284
  "uniqueItems": true
285
285
  }
286
286
  },
287
- "markdownDescription": "A map of `"<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]`. Entities from these sources can then be extended/referenced in this file.\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)."
287
+ "markdownDescription": "A map of "<data property>": ["<JsonSource1>", ..., "<JsonSourceN>"]. Entities from these sources can then be extended/referenced in this file.\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)."
288
288
  },
289
289
  "includes": {
290
290
  "description": "Structure as per \"dependencies\". Additional sources to be included when loading the file.",
@@ -819,5 +819,5 @@
819
819
  "required": [
820
820
  "_meta"
821
821
  ],
822
- "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. `spell` or `class`"
823
- }
822
+ "markdownDescription": "Homebrew for 5etools. Should include arrays titled similarly to the main site data, e.g. spell or class"
823
+ }
@@ -173,5 +173,5 @@
173
173
  ]
174
174
  }
175
175
  },
176
- "markdownDescription": "A dump of 5etools sources. See `node/fetch-5etools-sources.js`."
177
- }
176
+ "markdownDescription": "A dump of 5etools sources. See node/fetch-5etools-sources.js."
177
+ }
@@ -126,7 +126,7 @@
126
126
  "null"
127
127
  ]
128
128
  },
129
- "markdownDescription": "If unspecified, defaults to `[null, "entries", "headerEntries", "footerEntries"]`. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include `null` as one of the props (i.e. `"props": [null]`)"
129
+ "markdownDescription": "If unspecified, defaults to [null, "entries", "headerEntries", "footerEntries"]. To apply to _any_ string, including those outside of sub-properties (for instance, when trying to replace text in an array of plain strings), include null as one of the props (i.e. "props": [null])"
130
130
  }
131
131
  },
132
132
  "required": [
@@ -1053,7 +1053,7 @@
1053
1053
  "_preserve": {
1054
1054
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1055
1055
  "$ref": "#/$defs/_preserveObject",
1056
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1056
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1057
1057
  }
1058
1058
  },
1059
1059
  "required": [
@@ -1079,7 +1079,7 @@
1079
1079
  "_preserve": {
1080
1080
  "description": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`.",
1081
1081
  "$ref": "#/$defs/_preserveObject",
1082
- "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object `{}`."
1082
+ "markdownDescription": "Note that, by default, all properties are preserved for a version. To avoid preserving properties, pass an empty object {}."
1083
1083
  }
1084
1084
  },
1085
1085
  "required": [
@@ -1147,4 +1147,4 @@
1147
1147
  }
1148
1148
  }
1149
1149
  }
1150
- }
1150
+ }
@@ -11,7 +11,7 @@
11
11
  "classic",
12
12
  "one"
13
13
  ],
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."
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
+ }
@@ -1269,7 +1269,7 @@
1269
1269
  "coverThreeQuarters"
1270
1270
  ]
1271
1271
  },
1272
- "markdownDescription": "Dumped via e.g. `copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())`"
1272
+ "markdownDescription": "Dumped via e.g. copy(Object.keys(CONFIG.DND5E.conditionTypes).sort())"
1273
1273
  },
1274
1274
  "flags": {
1275
1275
  "type": "object"
@@ -1645,4 +1645,4 @@
1645
1645
  }
1646
1646
  }
1647
1647
  }
1648
- }
1648
+ }
@@ -30,7 +30,7 @@
30
30
  "source"
31
31
  ],
32
32
  "additionalProperties": false,
33
- "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example `"name": "Goblin", "source": "MM"` for a creature token would refer to the MM Goblin's token."
33
+ "markdownDescription": "A name/source pair used to construct a token URL for the entity. For example "name": "Goblin", "source": "MM" for a creature token would refer to the MM Goblin's token."
34
34
  },
35
35
  "tokenHref": {
36
36
  "$ref": "entry.json#/$defs/mediaHref"
@@ -178,4 +178,4 @@
178
178
  "uniqueItems": true
179
179
  }
180
180
  }
181
- }
181
+ }
@@ -30,7 +30,7 @@
30
30
  "monster": {
31
31
  "description": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for.",
32
32
  "type": "object",
33
- "markdownDescription": "Keys are other sources to be loaded; values are `otherSources` sources from that source to search for."
33
+ "markdownDescription": "Keys are other sources to be loaded; values are otherSources sources from that source to search for."
34
34
  }
35
35
  }
36
36
  }
@@ -3624,4 +3624,4 @@
3624
3624
  }
3625
3625
  },
3626
3626
  "markdownDescription": "Utility definitions to be used in other schemas."
3627
- }
3627
+ }