optolith-database-schema 0.34.12 → 0.34.14

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 (42) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/gen/types.d.ts +5 -0
  3. package/lib/types/Blessing.js +1 -1
  4. package/lib/types/Cantrip.js +1 -1
  5. package/lib/types/CombatTechnique.js +2 -2
  6. package/lib/types/Condition.js +2 -2
  7. package/lib/types/DerivedCharacteristic.js +1 -1
  8. package/lib/types/Disadvantage.js +1 -1
  9. package/lib/types/FamiliarsTrick.js +1 -1
  10. package/lib/types/Influence.js +2 -2
  11. package/lib/types/MetaCondition.js +2 -2
  12. package/lib/types/Service.js +1 -1
  13. package/lib/types/State.js +1 -1
  14. package/lib/types/Talisman.js +1 -1
  15. package/lib/types/_Activatable.js +2 -2
  16. package/lib/types/_ActivatableAdventurePointsValue.js +1 -1
  17. package/lib/types/_ActivatableNonMundane.js +1 -1
  18. package/lib/types/_ActivatableSelectOptions.js +1 -1
  19. package/lib/types/_ActivatableSkillEffect.js +7 -7
  20. package/lib/types/_DiseasePoison.js +6 -6
  21. package/lib/types/_Enhancements.js +1 -1
  22. package/lib/types/_Spellwork.js +1 -1
  23. package/lib/types/equipment/item/Ammunition.js +2 -2
  24. package/lib/types/equipment/item/Armor.js +6 -6
  25. package/lib/types/equipment/item/Book.js +7 -7
  26. package/lib/types/equipment/item/Elixir.js +2 -2
  27. package/lib/types/equipment/item/GemOrPreciousStone.js +2 -2
  28. package/lib/types/equipment/item/MagicalArtifact.js +5 -5
  29. package/lib/types/equipment/item/Poison.d.ts +2 -0
  30. package/lib/types/equipment/item/Poison.js +17 -12
  31. package/lib/types/equipment/item/Weapon.js +6 -6
  32. package/lib/types/equipment/item/_Item.js +2 -2
  33. package/lib/types/magicalActions/AnimistPower.js +1 -1
  34. package/lib/types/prerequisites/single/TextPrerequisite.js +1 -1
  35. package/lib/types/rule/AlternativeRule.js +1 -1
  36. package/lib/types/rule/CoreRule.js +2 -2
  37. package/lib/types/rule/FocusRule.js +1 -1
  38. package/lib/types/rule/OptionalRule.js +2 -2
  39. package/lib/types/specialAbility/MagicalTradition.js +1 -1
  40. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -2
  41. package/lib/types/specialAbility/sub/TradeSecret.js +1 -1
  42. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,15 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.34.14](https://github.com/elyukai/optolith-database-schema/compare/v0.34.13...v0.34.14) (2026-03-11)
6
+
7
+ ## [0.34.13](https://github.com/elyukai/optolith-database-schema/compare/v0.34.12...v0.34.13) (2026-03-11)
8
+
9
+
10
+ ### Features
11
+
12
+ * alchemical poison can be demonic as well ([21e033e](https://github.com/elyukai/optolith-database-schema/commit/21e033e0169c051baf5f3167e070adcde9da76b3))
13
+
5
14
  ## [0.34.12](https://github.com/elyukai/optolith-database-schema/compare/v0.34.11...v0.34.12) (2026-03-10)
6
15
 
7
16
 
package/gen/types.d.ts CHANGED
@@ -22392,6 +22392,11 @@ export interface AlchemicalPoison {
22392
22392
  */
22393
22393
  intoxicant?: Intoxicant
22394
22394
 
22395
+ /**
22396
+ * Whether the poison is of demonic nature or not.
22397
+ */
22398
+ isDemonic?: boolean
22399
+
22395
22400
  /**
22396
22401
  * All translations for the entry, identified by IETF language tag (BCP47).
22397
22402
  */
@@ -25,7 +25,7 @@ export const Blessing = DB.Entity(import.meta.url, {
25
25
  }),
26
26
  effect: DB.Required({
27
27
  comment: "The effect description.",
28
- type: DB.String({ minLength: 1, isMarkdown: true }),
28
+ type: DB.String({ minLength: 1, markdown: "block" }),
29
29
  }),
30
30
  range: DB.Required({
31
31
  isDeprecated: true,
@@ -36,7 +36,7 @@ export const Cantrip = DB.Entity(import.meta.url, {
36
36
  }),
37
37
  effect: DB.Required({
38
38
  comment: "The effect description.",
39
- type: DB.String({ minLength: 1, isMarkdown: true }),
39
+ type: DB.String({ minLength: 1, markdown: "block" }),
40
40
  }),
41
41
  range: DB.Required({
42
42
  isDeprecated: true,
@@ -32,7 +32,7 @@ export const CloseCombatTechnique = DB.Entity(import.meta.url, {
32
32
  }),
33
33
  special: DB.Optional({
34
34
  comment: "Additional rules for the combat technique, if applicable.",
35
- type: DB.String({ minLength: 1, isMarkdown: true }),
35
+ type: DB.String({ minLength: 1, markdown: "block" }),
36
36
  }),
37
37
  errata: DB.Optional({
38
38
  type: DB.IncludeIdentifier(Errata),
@@ -109,7 +109,7 @@ export const RangedCombatTechnique = DB.Entity(import.meta.url, {
109
109
  }),
110
110
  special: DB.Optional({
111
111
  comment: "Additional rules for the combat technique, if applicable.",
112
- type: DB.String({ minLength: 1, isMarkdown: true }),
112
+ type: DB.String({ minLength: 1, markdown: "block" }),
113
113
  }),
114
114
  errata: DB.Optional({
115
115
  type: DB.IncludeIdentifier(Errata),
@@ -14,11 +14,11 @@ export const Condition = DB.Entity(import.meta.url, {
14
14
  }),
15
15
  rules: DB.Optional({
16
16
  comment: "Additional rules for the condition, if applicable.",
17
- type: DB.String({ minLength: 1, isMarkdown: true }),
17
+ type: DB.String({ minLength: 1, markdown: "block" }),
18
18
  }),
19
19
  effects: DB.Required({
20
20
  comment: "The effects for level 1 to 4.",
21
- type: DB.Array(DB.String({ minLength: 1, isMarkdown: true }), {
21
+ type: DB.Array(DB.String({ minLength: 1, markdown: "block" }), {
22
22
  minItems: 4,
23
23
  maxItems: 4,
24
24
  }),
@@ -33,7 +33,7 @@ export const DerivedCharacteristic = DB.Entity(import.meta.url, {
33
33
  }),
34
34
  description: DB.Optional({
35
35
  comment: "The derived characteristic’s description.",
36
- type: DB.String({ minLength: 1, isMarkdown: true }),
36
+ type: DB.String({ minLength: 1, markdown: "block" }),
37
37
  }),
38
38
  calculation: DB.Optional({
39
39
  comment: "Possible calculation strings for the final value.",
@@ -39,7 +39,7 @@ export const Disadvantage = DB.Entity(import.meta.url, {
39
39
  rules,
40
40
  range: DB.Optional({
41
41
  comment: "The range.",
42
- type: DB.String({ minLength: 1, isMarkdown: true }),
42
+ type: DB.String({ minLength: 1, markdown: "block" }),
43
43
  }),
44
44
  ap_value_append,
45
45
  ap_value: ap_value_l10n,
@@ -39,7 +39,7 @@ If no animal types are given, the animal disease applies to all animal types.`,
39
39
  }),
40
40
  effect: DB.Required({
41
41
  comment: "The effect description.",
42
- type: DB.String({ minLength: 1, isMarkdown: true }),
42
+ type: DB.String({ minLength: 1, markdown: "block" }),
43
43
  }),
44
44
  cost: DB.Optional({
45
45
  isDeprecated: true,
@@ -18,7 +18,7 @@ export const Influence = DB.Entity(import.meta.url, {
18
18
  }),
19
19
  rules: DB.Optional({
20
20
  comment: "Some general rules for the influence. They will be prepended to the effects. This can be used for influences that do not have any effects and should contain the text mentioning this fact.",
21
- type: DB.String({ minLength: 1, isMarkdown: true }),
21
+ type: DB.String({ minLength: 1, markdown: "block" }),
22
22
  }),
23
23
  effects: DB.Optional({
24
24
  comment: "The effects of the influence. They should be sorted like they are in the book.",
@@ -46,7 +46,7 @@ const InfluenceEffect = DB.TypeAlias(import.meta.url, {
46
46
  }),
47
47
  text: DB.Required({
48
48
  comment: "The effect text.",
49
- type: DB.String({ minLength: 1, isMarkdown: true }),
49
+ type: DB.String({ minLength: 1, markdown: "block" }),
50
50
  }),
51
51
  }),
52
52
  });
@@ -15,11 +15,11 @@ export const MetaCondition = DB.Entity(import.meta.url, {
15
15
  }),
16
16
  rules: DB.Optional({
17
17
  comment: "Additional rules for the meta condition, if applicable.",
18
- type: DB.String({ minLength: 1, isMarkdown: true }),
18
+ type: DB.String({ minLength: 1, markdown: "block" }),
19
19
  }),
20
20
  effects: DB.Required({
21
21
  comment: "The effects for level 1 to 4.",
22
- type: DB.Array(DB.String({ minLength: 1, isMarkdown: true }), {
22
+ type: DB.Array(DB.String({ minLength: 1, markdown: "block" }), {
23
23
  minItems: 4,
24
24
  maxItems: 4,
25
25
  }),
@@ -21,7 +21,7 @@ export const Service = DB.Entity(import.meta.url, {
21
21
  }),
22
22
  description: DB.Required({
23
23
  comment: "The service’s description.",
24
- type: DB.String({ minLength: 1, isMarkdown: true }),
24
+ type: DB.String({ minLength: 1, markdown: "block" }),
25
25
  }),
26
26
  errata: DB.Optional({
27
27
  type: DB.IncludeIdentifier(Errata),
@@ -14,7 +14,7 @@ export const State = DB.Entity(import.meta.url, {
14
14
  }),
15
15
  description: DB.Required({
16
16
  comment: "The description of the state.",
17
- type: DB.String({ minLength: 1, isMarkdown: true }),
17
+ type: DB.String({ minLength: 1, markdown: "block" }),
18
18
  }),
19
19
  errata: DB.Optional({
20
20
  type: DB.IncludeIdentifier(Errata),
@@ -57,7 +57,7 @@ export const Talisman = DB.Entity(import.meta.url, {
57
57
  }),
58
58
  effect: DB.Required({
59
59
  comment: "The effect description.",
60
- type: DB.String({ minLength: 1, isMarkdown: true }),
60
+ type: DB.String({ minLength: 1, markdown: "block" }),
61
61
  }),
62
62
  activation: DB.Optional({
63
63
  comment: "The activation parameters.",
@@ -26,11 +26,11 @@ The maximum is only set if it differs from the defaults specified above.`,
26
26
  });
27
27
  export const rules = DB.Required({
28
28
  comment: "The rule text.",
29
- type: DB.String({ minLength: 1, isMarkdown: true }),
29
+ type: DB.String({ minLength: 1, markdown: "block" }),
30
30
  });
31
31
  export const effect = DB.Required({
32
32
  comment: "The effect description.",
33
- type: DB.String({ minLength: 1, isMarkdown: true }),
33
+ type: DB.String({ minLength: 1, markdown: "block" }),
34
34
  });
35
35
  export const range_l10n = DB.Optional({
36
36
  comment: "The range of the advantage.",
@@ -67,7 +67,7 @@ const AdventurePointsDerivedFromSelection = DB.TypeAlias(import.meta.url, {
67
67
  }),
68
68
  replacement: DB.Optional({
69
69
  comment: "A replacement for the generated text if it would not match the original one.",
70
- type: DB.String({ minLength: 1, isMarkdown: true }),
70
+ type: DB.String({ minLength: 1, markdown: "inline" }),
71
71
  }),
72
72
  }, { minProperties: 1 })),
73
73
  }),
@@ -505,7 +505,7 @@ const BindingCostDerivedFromSelection = DB.TypeAlias(import.meta.url, {
505
505
  }),
506
506
  replacement: DB.Optional({
507
507
  comment: "A replacement for the generated text if it would not match the original one.",
508
- type: DB.String({ minLength: 1, isMarkdown: true }),
508
+ type: DB.String({ minLength: 1, markdown: "inline" }),
509
509
  }),
510
510
  }, { minProperties: 1 })),
511
511
  }),
@@ -68,7 +68,7 @@ export const GeneralSelectOption = DB.Entity(import.meta.url, {
68
68
  }),
69
69
  description: DB.Optional({
70
70
  comment: "The description of the select option. Useful for Bad Habits, Trade Secrets and other entries where a description is available.",
71
- type: DB.String({ minLength: 1, isMarkdown: true }),
71
+ type: DB.String({ minLength: 1, markdown: "block" }),
72
72
  }),
73
73
  errata: DB.Optional({
74
74
  type: DB.IncludeIdentifier(Errata),
@@ -19,7 +19,7 @@ const ActivatableSkillPlainEffect = DB.TypeAlias(import.meta.url, {
19
19
  type: () => DB.Object({
20
20
  text: DB.Required({
21
21
  comment: "The effect description.",
22
- type: DB.String({ minLength: 1, isMarkdown: true }),
22
+ type: DB.String({ minLength: 1, markdown: "block" }),
23
23
  }),
24
24
  }),
25
25
  });
@@ -28,18 +28,18 @@ const ActivatableSkillEffectForEachQualityLevel = DB.TypeAlias(import.meta.url,
28
28
  type: () => DB.Object({
29
29
  text_before: DB.Required({
30
30
  comment: "The effect description before the list of effects for each quality level.",
31
- type: DB.String({ minLength: 1, isMarkdown: true }),
31
+ type: DB.String({ minLength: 1, markdown: "block" }),
32
32
  }),
33
33
  quality_levels: DB.Required({
34
34
  comment: "The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.",
35
- type: DB.Array(DB.String({ minLength: 1, isMarkdown: true }), {
35
+ type: DB.Array(DB.String({ minLength: 1, markdown: "block" }), {
36
36
  minItems: 6,
37
37
  maxItems: 6,
38
38
  }),
39
39
  }),
40
40
  text_after: DB.Optional({
41
41
  comment: "The effect description after the list of effects for each quality level.",
42
- type: DB.String({ minLength: 1, isMarkdown: true }),
42
+ type: DB.String({ minLength: 1, markdown: "block" }),
43
43
  }),
44
44
  }),
45
45
  });
@@ -48,18 +48,18 @@ const ActivatableSkillEffectForEachTwoQualityLevels = DB.TypeAlias(import.meta.u
48
48
  type: () => DB.Object({
49
49
  text_before: DB.Required({
50
50
  comment: "The effect description before the list of effects for each quality level.",
51
- type: DB.String({ minLength: 1, isMarkdown: true }),
51
+ type: DB.String({ minLength: 1, markdown: "block" }),
52
52
  }),
53
53
  quality_levels: DB.Required({
54
54
  comment: "The list of effects for each two quality levels. The first element represents QL 1–2, the second element QL 3–4 and the third element QL 5–6.",
55
- type: DB.Array(DB.String({ minLength: 1, isMarkdown: true }), {
55
+ type: DB.Array(DB.String({ minLength: 1, markdown: "block" }), {
56
56
  minItems: 3,
57
57
  maxItems: 3,
58
58
  }),
59
59
  }),
60
60
  text_after: DB.Optional({
61
61
  comment: "The effect description after the list of effects for each quality level.",
62
- type: DB.String({ minLength: 1, isMarkdown: true }),
62
+ type: DB.String({ minLength: 1, markdown: "block" }),
63
63
  }),
64
64
  }),
65
65
  });
@@ -78,7 +78,7 @@ export const DiseaseTranslation = DB.Object({
78
78
  }),
79
79
  progress: DB.Required({
80
80
  comment: "The disease’s progress, in detail.",
81
- type: DB.String({ minLength: 1, isMarkdown: true }),
81
+ type: DB.String({ minLength: 1, markdown: "block" }),
82
82
  }),
83
83
  incubation_time: DB.Required({
84
84
  comment: "After infection, how much time passes before symptoms appear?",
@@ -86,23 +86,23 @@ export const DiseaseTranslation = DB.Object({
86
86
  }),
87
87
  damage: DB.Required({
88
88
  comment: "The damage caused by the disease. If the disease check fails, apply the lessened effects.",
89
- type: DB.GenIncludeIdentifier(Reduceable, [DB.String({ minLength: 1, isMarkdown: true })]),
89
+ type: DB.GenIncludeIdentifier(Reduceable, [DB.String({ minLength: 1, markdown: "block" })]),
90
90
  }),
91
91
  duration: DB.Required({
92
92
  comment: "The duration of the disease. If the disease check fails, use the lessened duration.",
93
- type: DB.GenIncludeIdentifier(Reduceable, [DB.String({ minLength: 1, isMarkdown: true })]),
93
+ type: DB.GenIncludeIdentifier(Reduceable, [DB.String({ minLength: 1, markdown: "block" })]),
94
94
  }),
95
95
  special: DB.Optional({
96
96
  comment: "Special information about the disease.",
97
- type: DB.String({ minLength: 1, isMarkdown: true }),
97
+ type: DB.String({ minLength: 1, markdown: "block" }),
98
98
  }),
99
99
  treatment: DB.Required({
100
100
  comment: "Methods known to lessen the disease’s progress or relieve symptoms.",
101
- type: DB.String({ minLength: 1, isMarkdown: true }),
101
+ type: DB.String({ minLength: 1, markdown: "block" }),
102
102
  }),
103
103
  cure: DB.Required({
104
104
  comment: "Known remedies for the disease.",
105
- type: DB.String({ minLength: 1, isMarkdown: true }),
105
+ type: DB.String({ minLength: 1, markdown: "block" }),
106
106
  }),
107
107
  errata: DB.Optional({
108
108
  type: DB.IncludeIdentifier(Errata),
@@ -52,7 +52,7 @@ export const Enhancement = DB.Entity(import.meta.url, {
52
52
  comment: "The effect description.",
53
53
  type: DB.String({
54
54
  minLength: 1,
55
- isMarkdown: true,
55
+ markdown: "block",
56
56
  }),
57
57
  }),
58
58
  errata: DB.Optional({
@@ -32,7 +32,7 @@ const ReversalisEffect = DB.TypeAlias(import.meta.url, {
32
32
  translations: NestedTranslationMap(DB.Required, "ReversalisEffect", DB.Object({
33
33
  effect: DB.Required({
34
34
  comment: "The effect description of the reversed spell.",
35
- type: DB.String({ minLength: 1, isMarkdown: true }),
35
+ type: DB.String({ minLength: 1, markdown: "block" }),
36
36
  }),
37
37
  })),
38
38
  }),
@@ -23,11 +23,11 @@ export const Ammunition = DB.Entity(import.meta.url, {
23
23
  }),
24
24
  note: DB.Optional({
25
25
  comment: "Note text.",
26
- type: DB.String({ minLength: 1, isMarkdown: true }),
26
+ type: DB.String({ minLength: 1, markdown: "block" }),
27
27
  }),
28
28
  rules: DB.Optional({
29
29
  comment: "Special rules text.",
30
- type: DB.String({ minLength: 1, isMarkdown: true }),
30
+ type: DB.String({ minLength: 1, markdown: "block" }),
31
31
  }),
32
32
  errata: DB.Optional({
33
33
  type: DB.IncludeIdentifier(Errata),
@@ -56,19 +56,19 @@ export const Armor = DB.Entity(import.meta.url, {
56
56
  }),
57
57
  note: DB.Optional({
58
58
  comment: "Note text.",
59
- type: DB.String({ minLength: 1, isMarkdown: true }),
59
+ type: DB.String({ minLength: 1, markdown: "block" }),
60
60
  }),
61
61
  rules: DB.Optional({
62
62
  comment: "Special rules text.",
63
- type: DB.String({ minLength: 1, isMarkdown: true }),
63
+ type: DB.String({ minLength: 1, markdown: "block" }),
64
64
  }),
65
65
  advantage: DB.Optional({
66
66
  comment: "The armor advantage text.",
67
- type: DB.String({ minLength: 1, isMarkdown: true }),
67
+ type: DB.String({ minLength: 1, markdown: "block" }),
68
68
  }),
69
69
  disadvantage: DB.Optional({
70
70
  comment: "The armor disadvantage text.",
71
- type: DB.String({ minLength: 1, isMarkdown: true }),
71
+ type: DB.String({ minLength: 1, markdown: "block" }),
72
72
  }),
73
73
  errata: DB.Optional({
74
74
  type: DB.IncludeIdentifier(Errata),
@@ -113,11 +113,11 @@ export const SecondaryArmor = DB.TypeAlias(import.meta.url, {
113
113
  translations: NestedTranslationMap(DB.Optional, "SecondaryArmor", DB.Object({
114
114
  advantage: DB.Optional({
115
115
  comment: "The armor advantage text.",
116
- type: DB.String({ minLength: 1, isMarkdown: true }),
116
+ type: DB.String({ minLength: 1, markdown: "block" }),
117
117
  }),
118
118
  disadvantage: DB.Optional({
119
119
  comment: "The armor disadvantage text.",
120
- type: DB.String({ minLength: 1, isMarkdown: true }),
120
+ type: DB.String({ minLength: 1, markdown: "block" }),
121
121
  }),
122
122
  }, { minProperties: 1 })),
123
123
  }),
@@ -40,19 +40,19 @@ export const Book = DB.Entity(import.meta.url, {
40
40
  }),
41
41
  language: DB.Optional({
42
42
  comment: "The language the book is written in, if specified.",
43
- type: DB.String({ minLength: 1, isMarkdown: true }),
43
+ type: DB.String({ minLength: 1, markdown: "inline" }),
44
44
  }),
45
45
  script: DB.Optional({
46
46
  comment: "The script that was used for the book, if specified.",
47
- type: DB.String({ minLength: 1, isMarkdown: true }),
47
+ type: DB.String({ minLength: 1, markdown: "inline" }),
48
48
  }),
49
49
  note: DB.Optional({
50
50
  comment: "Note text.",
51
- type: DB.String({ minLength: 1, isMarkdown: true }),
51
+ type: DB.String({ minLength: 1, markdown: "block" }),
52
52
  }),
53
53
  rules: DB.Optional({
54
54
  comment: "Special rules text.",
55
- type: DB.String({ minLength: 1, isMarkdown: true }),
55
+ type: DB.String({ minLength: 1, markdown: "block" }),
56
56
  }),
57
57
  errata: DB.Optional({
58
58
  type: DB.IncludeIdentifier(Errata),
@@ -158,7 +158,7 @@ const DefiniteBookCostVariant = DB.TypeAlias(import.meta.url, {
158
158
  translations: NestedTranslationMap(DB.Optional, "DefiniteBookCostVariant", DB.Object({
159
159
  label: DB.Optional({
160
160
  comment: "The label for the cost variant, e.g. “Original script”.",
161
- type: DB.String({ minLength: 1, isMarkdown: true }),
161
+ type: DB.String({ minLength: 1, markdown: "inline" }),
162
162
  }),
163
163
  }, { minProperties: 1 })),
164
164
  }),
@@ -170,11 +170,11 @@ const IndefiniteBookCostVariant = DB.TypeAlias(import.meta.url, {
170
170
  translations: NestedTranslationMap(DB.Required, "IndefiniteBookCostVariant", DB.Object({
171
171
  label: DB.Optional({
172
172
  comment: "The label for the cost variant, e.g. “Original script”.",
173
- type: DB.String({ minLength: 1, isMarkdown: true }),
173
+ type: DB.String({ minLength: 1, markdown: "inline" }),
174
174
  }),
175
175
  description: DB.Required({
176
176
  comment: "The description of the cost variant, e.g. “less”.",
177
- type: DB.String({ minLength: 1, isMarkdown: true }),
177
+ type: DB.String({ minLength: 1, markdown: "block" }),
178
178
  }),
179
179
  })),
180
180
  }),
@@ -56,11 +56,11 @@ export const Elixir = DB.Entity(import.meta.url, {
56
56
  }),
57
57
  brewing_process_prerequisites: DB.Optional({
58
58
  comment: "Prerequsites for the brewing process, if any.",
59
- type: DB.String({ minLength: 1, isMarkdown: true }),
59
+ type: DB.String({ minLength: 1, markdown: "block" }),
60
60
  }),
61
61
  quality_levels: DB.Required({
62
62
  comment: "The list of effects for each quality level. The first element represents QL 1, the second element QL 2, and so on.",
63
- type: DB.Array(DB.String({ minLength: 1, isMarkdown: true }), {
63
+ type: DB.Array(DB.String({ minLength: 1, markdown: "block" }), {
64
64
  minItems: 6,
65
65
  maxItems: 6,
66
66
  }),
@@ -31,11 +31,11 @@ export const GemOrPreciousStone = DB.Entity(import.meta.url, {
31
31
  }),
32
32
  note: DB.Optional({
33
33
  comment: "Note text.",
34
- type: DB.String({ minLength: 1, isMarkdown: true }),
34
+ type: DB.String({ minLength: 1, markdown: "block" }),
35
35
  }),
36
36
  rules: DB.Optional({
37
37
  comment: "Special rules text.",
38
- type: DB.String({ minLength: 1, isMarkdown: true }),
38
+ type: DB.String({ minLength: 1, markdown: "block" }),
39
39
  }),
40
40
  errata: DB.Optional({
41
41
  type: DB.IncludeIdentifier(Errata),
@@ -40,23 +40,23 @@ export const MagicalArtifact = DB.Entity(import.meta.url, {
40
40
  }),
41
41
  description: DB.Optional({
42
42
  comment: "Description text.",
43
- type: DB.String({ minLength: 1, isMarkdown: true }),
43
+ type: DB.String({ minLength: 1, markdown: "block" }),
44
44
  }),
45
45
  note: DB.Optional({
46
46
  comment: "A note.",
47
- type: DB.String({ minLength: 1, isMarkdown: true }),
47
+ type: DB.String({ minLength: 1, markdown: "block" }),
48
48
  }),
49
49
  rules: DB.Optional({
50
50
  comment: "Rules text.",
51
- type: DB.String({ minLength: 1, isMarkdown: true }),
51
+ type: DB.String({ minLength: 1, markdown: "block" }),
52
52
  }),
53
53
  effect: DB.Optional({
54
54
  comment: "Effect text.",
55
- type: DB.String({ minLength: 1, isMarkdown: true }),
55
+ type: DB.String({ minLength: 1, markdown: "block" }),
56
56
  }),
57
57
  cost: DB.Optional({
58
58
  comment: "Cost text.",
59
- type: DB.String({ minLength: 1, isMarkdown: true }),
59
+ type: DB.String({ minLength: 1, markdown: "block" }),
60
60
  }),
61
61
  errata: DB.Optional({
62
62
  type: DB.IncludeIdentifier(Errata),
@@ -128,6 +128,7 @@ export declare const Poison: DB.Entity<"Poison", {
128
128
  special: DB.MemberDecl<DB.String, false>;
129
129
  }>, true>;
130
130
  }>, []>>, false>;
131
+ isDemonic: DB.MemberDecl<DB.Boolean, false>;
131
132
  translations: DB.MemberDecl<DB.NestedEntityMap<"AlchemicalPoisonTranslation", {
132
133
  typical_ingredients: DB.MemberDecl<DB.Array<DB.String>, true>;
133
134
  brewing_process_prerequisites: DB.MemberDecl<DB.String, false>;
@@ -492,6 +493,7 @@ export declare const AlchemicalPoison: DB.TypeAlias<"AlchemicalPoison", DB.Objec
492
493
  special: DB.MemberDecl<DB.String, false>;
493
494
  }>, true>;
494
495
  }>, []>>, false>;
496
+ isDemonic: DB.MemberDecl<DB.Boolean, false>;
495
497
  translations: DB.MemberDecl<DB.NestedEntityMap<"AlchemicalPoisonTranslation", {
496
498
  typical_ingredients: DB.MemberDecl<DB.Array<DB.String>, true>;
497
499
  brewing_process_prerequisites: DB.MemberDecl<DB.String, false>;
@@ -56,12 +56,12 @@ export const Poison = DB.Entity(import.meta.url, {
56
56
  effect: DB.Required({
57
57
  comment: "The normal and degraded poison’s effects.",
58
58
  type: DB.GenIncludeIdentifier(Reduceable, [
59
- DB.String({ minLength: 1, isMarkdown: true }),
59
+ DB.String({ minLength: 1, markdown: "block" }),
60
60
  ]),
61
61
  }),
62
62
  notes: DB.Optional({
63
63
  comment: "Notes on the poison’s special features.",
64
- type: DB.String({ minLength: 1, isMarkdown: true }),
64
+ type: DB.String({ minLength: 1, markdown: "block" }),
65
65
  }),
66
66
  errata: DB.Optional({
67
67
  type: DB.IncludeIdentifier(Errata),
@@ -123,7 +123,7 @@ export const NoPoisonCost = DB.TypeAlias(import.meta.url, {
123
123
  translations: NestedTranslationMap(DB.Optional, "NoPoisonCost", DB.Object({
124
124
  description: DB.Required({
125
125
  comment: "A description of the cost.",
126
- type: DB.String({ minLength: 1, isMarkdown: true }),
126
+ type: DB.String({ minLength: 1, markdown: "block" }),
127
127
  }),
128
128
  })),
129
129
  }),
@@ -134,7 +134,7 @@ export const IndefinitePoisonCost = DB.TypeAlias(import.meta.url, {
134
134
  translations: NestedTranslationMap(DB.Required, "IndefinitePoisonCost", DB.Object({
135
135
  description: DB.Required({
136
136
  comment: "A description of the cost.",
137
- type: DB.String({ minLength: 1, isMarkdown: true }),
137
+ type: DB.String({ minLength: 1, markdown: "block" }),
138
138
  }),
139
139
  })),
140
140
  }),
@@ -219,7 +219,7 @@ export const IndefinitePoisonTime = DB.TypeAlias(import.meta.url, {
219
219
  translations: NestedTranslationMap(DB.Optional, "IndefinitePoisonTime", DB.Object({
220
220
  description: DB.Optional({
221
221
  comment: "A description of the duration.",
222
- type: DB.String({ minLength: 1, isMarkdown: true }),
222
+ type: DB.String({ minLength: 1, markdown: "block" }),
223
223
  }),
224
224
  }, { minProperties: 1 })),
225
225
  }),
@@ -305,6 +305,11 @@ export const AlchemicalPoison = DB.TypeAlias(import.meta.url, {
305
305
  comment: "Additional information if the poison is an intoxicant.",
306
306
  type: DB.IncludeIdentifier(Intoxicant),
307
307
  }),
308
+ isDemonic: DB.Optional({
309
+ displayName: "Is demonic?",
310
+ comment: "Whether the poison is of demonic nature or not.",
311
+ type: DB.Boolean(),
312
+ }),
308
313
  translations: NestedTranslationMap(DB.Required, "AlchemicalPoison", DB.Object({
309
314
  typical_ingredients: DB.Required({
310
315
  comment: "A list of typical ingredients.",
@@ -312,7 +317,7 @@ export const AlchemicalPoison = DB.TypeAlias(import.meta.url, {
312
317
  }),
313
318
  brewing_process_prerequisites: DB.Optional({
314
319
  comment: "Prerequsites for the brewing process, if any.",
315
- type: DB.String({ minLength: 1, isMarkdown: true }),
320
+ type: DB.String({ minLength: 1, markdown: "block" }),
316
321
  }),
317
322
  })),
318
323
  }),
@@ -353,7 +358,7 @@ export const DemonicPoison = DB.TypeAlias(import.meta.url, {
353
358
  translations: NestedTranslationMap(DB.Optional, "DemonicPoison", DB.Object({
354
359
  note: DB.Optional({
355
360
  comment: "A note, if any.",
356
- type: DB.String({ minLength: 1, isMarkdown: true }),
361
+ type: DB.String({ minLength: 1, markdown: "block" }),
357
362
  }),
358
363
  }, { minProperties: 1 })),
359
364
  }),
@@ -402,19 +407,19 @@ export const Intoxicant = DB.TypeAlias(import.meta.url, {
402
407
  translations: NestedTranslationMap(DB.Required, "Intoxicant", DB.Object({
403
408
  ingestion: DB.Required({
404
409
  comment: "How to ingest the intoxicant.",
405
- type: DB.String({ minLength: 1 }),
410
+ type: DB.String({ minLength: 1, markdown: "block" }),
406
411
  }),
407
412
  side_effect: DB.Optional({
408
413
  comment: "The intoxicants side effects that always happen, no matter whether the intoxicant has the default or the reduced effect.",
409
- type: DB.String({ minLength: 1, isMarkdown: true }),
414
+ type: DB.String({ minLength: 1, markdown: "block" }),
410
415
  }),
411
416
  overdose: DB.Optional({
412
417
  comment: "What happens if the intoxicant has been overdosed, that is, it has been ingested another time within the duration.",
413
- type: DB.String({ minLength: 1, isMarkdown: true }),
418
+ type: DB.String({ minLength: 1, markdown: "block" }),
414
419
  }),
415
420
  special: DB.Optional({
416
421
  comment: "Special information about the intoxicant.",
417
- type: DB.String({ minLength: 1, isMarkdown: true }),
422
+ type: DB.String({ minLength: 1, markdown: "block" }),
418
423
  }),
419
424
  })),
420
425
  }),
@@ -451,7 +456,7 @@ export const IntoxicantAddiction = DB.TypeAlias(import.meta.url, {
451
456
  translations: NestedTranslationMap(DB.Optional, "IntoxicantAddiction", DB.Object({
452
457
  chance: DB.Required({
453
458
  comment: "The chance of getting addicted after an ingestion. Use if and only if the plain constant percent is not sufficient.",
454
- type: DB.String({ minLength: 1, isMarkdown: true }),
459
+ type: DB.String({ minLength: 1, markdown: "inline" }),
455
460
  }),
456
461
  })),
457
462
  }),
@@ -63,19 +63,19 @@ export const Weapon = DB.Entity(import.meta.url, {
63
63
  }),
64
64
  note: DB.Optional({
65
65
  comment: "Note text.",
66
- type: DB.String({ minLength: 1, isMarkdown: true }),
66
+ type: DB.String({ minLength: 1, markdown: "block" }),
67
67
  }),
68
68
  rules: DB.Optional({
69
69
  comment: "Special rules text.",
70
- type: DB.String({ minLength: 1, isMarkdown: true }),
70
+ type: DB.String({ minLength: 1, markdown: "block" }),
71
71
  }),
72
72
  advantage: DB.Optional({
73
73
  comment: "The weapon advantage text.",
74
- type: DB.String({ minLength: 1, isMarkdown: true }),
74
+ type: DB.String({ minLength: 1, markdown: "block" }),
75
75
  }),
76
76
  disadvantage: DB.Optional({
77
77
  comment: "The weapon disadvantage text.",
78
- type: DB.String({ minLength: 1, isMarkdown: true }),
78
+ type: DB.String({ minLength: 1, markdown: "block" }),
79
79
  }),
80
80
  errata: DB.Optional({
81
81
  type: DB.IncludeIdentifier(Errata),
@@ -121,11 +121,11 @@ export const ImprovisedWeapon = DB.TypeAlias(import.meta.url, {
121
121
  translations: NestedTranslationMap(DB.Optional, "ImprovisedWeapon", DB.Object({
122
122
  advantage: DB.Optional({
123
123
  comment: "The weapon advantage text.",
124
- type: DB.String({ minLength: 1, isMarkdown: true }),
124
+ type: DB.String({ minLength: 1, markdown: "block" }),
125
125
  }),
126
126
  disadvantage: DB.Optional({
127
127
  comment: "The weapon disadvantage text.",
128
- type: DB.String({ minLength: 1, isMarkdown: true }),
128
+ type: DB.String({ minLength: 1, markdown: "block" }),
129
129
  }),
130
130
  }, { minProperties: 1 })),
131
131
  }),
@@ -63,11 +63,11 @@ export const DefaultItemTranslations = (singularName) => NestedTranslationMap(DB
63
63
  }),
64
64
  note: DB.Optional({
65
65
  comment: "Note text.",
66
- type: DB.String({ minLength: 1, isMarkdown: true }),
66
+ type: DB.String({ minLength: 1, markdown: "block" }),
67
67
  }),
68
68
  rules: DB.Optional({
69
69
  comment: "Special rules text.",
70
- type: DB.String({ minLength: 1, isMarkdown: true }),
70
+ type: DB.String({ minLength: 1, markdown: "block" }),
71
71
  }),
72
72
  errata: DB.Optional({
73
73
  type: DB.IncludeIdentifier(Errata),
@@ -95,7 +95,7 @@ const AnimistPowerLevel = DB.TypeAlias(import.meta.url, {
95
95
  translations: NestedTranslationMap(DB.Required, "AnimistPowerLevel", DB.Object({
96
96
  effect: DB.Required({
97
97
  comment: "An additional effect description for this level.",
98
- type: DB.String({ minLength: 1, isMarkdown: true }),
98
+ type: DB.String({ minLength: 1, markdown: "block" }),
99
99
  }),
100
100
  })),
101
101
  }),
@@ -25,7 +25,7 @@ This is the only use case for this property.`,
25
25
  translations: NestedTranslationMap(DB.Required, "TextPrerequisite", DB.Object({
26
26
  text: DB.Required({
27
27
  comment: "The displayed text.",
28
- type: DB.String({ minLength: 1, isMarkdown: true }),
28
+ type: DB.String({ minLength: 1, markdown: "inline" }),
29
29
  }),
30
30
  })),
31
31
  }),
@@ -23,7 +23,7 @@ export const AlternativeRule = DB.Entity(import.meta.url, {
23
23
  }),
24
24
  description: DB.Required({
25
25
  comment: "The description of the alternative rule.",
26
- type: DB.String({ minLength: 1, isMarkdown: true }),
26
+ type: DB.String({ minLength: 1, markdown: "block" }),
27
27
  }),
28
28
  errata: DB.Optional({
29
29
  type: DB.IncludeIdentifier(Errata),
@@ -60,7 +60,7 @@ const TextNode = DB.TypeAlias(import.meta.url, {
60
60
  translations: NestedTranslationMap(DB.Required, "TextNode", DB.Object({
61
61
  text: DB.Required({
62
62
  comment: "Markdown-formatted text.",
63
- type: DB.String({ minLength: 1, isMarkdown: true }),
63
+ type: DB.String({ minLength: 1, markdown: "block" }),
64
64
  }),
65
65
  })),
66
66
  }),
@@ -75,7 +75,7 @@ const ReferenceListNode = DB.TypeAlias(import.meta.url, {
75
75
  translations: NestedTranslationMap(DB.Required, "ReferenceListNode", DB.Object({
76
76
  text: DB.Required({
77
77
  comment: "Markdown-formatted text.",
78
- type: DB.String({ minLength: 1, isMarkdown: true }),
78
+ type: DB.String({ minLength: 1, markdown: "block" }),
79
79
  }),
80
80
  })),
81
81
  }),
@@ -31,7 +31,7 @@ export const FocusRule = DB.Entity(import.meta.url, {
31
31
  }),
32
32
  description: DB.Required({
33
33
  comment: "The description of the focus rule.",
34
- type: DB.String({ minLength: 1, isMarkdown: true }),
34
+ type: DB.String({ minLength: 1, markdown: "block" }),
35
35
  }),
36
36
  errata: DB.Optional({
37
37
  type: DB.IncludeIdentifier(Errata),
@@ -26,11 +26,11 @@ export const OptionalRule = DB.Entity(import.meta.url, {
26
26
  }),
27
27
  description: DB.Required({
28
28
  comment: "The description of the optional rule, as stated in the optional rule box.",
29
- type: DB.String({ minLength: 1, isMarkdown: true }),
29
+ type: DB.String({ minLength: 1, markdown: "block" }),
30
30
  }),
31
31
  additionalRules: DB.Optional({
32
32
  comment: "Sometimes, an optional rule does not only contain all the rules belonging to it in its rule box, but also in the main text.",
33
- type: DB.String({ minLength: 1, isMarkdown: true }),
33
+ type: DB.String({ minLength: 1, markdown: "block" }),
34
34
  }),
35
35
  errata: DB.Optional({
36
36
  type: DB.IncludeIdentifier(Errata),
@@ -82,7 +82,7 @@ export const MagicalTradition = DB.Entity(import.meta.url, {
82
82
  }),
83
83
  supplemental_content: DB.Optional({
84
84
  comment: "Supplemental content for the tradition, such as additional information or clarifications.",
85
- type: DB.String({ minLength: 1, isMarkdown: true }),
85
+ type: DB.String({ minLength: 1, markdown: "block" }),
86
86
  }),
87
87
  ap_value_append,
88
88
  ap_value: ap_value_l10n,
@@ -30,11 +30,11 @@ export const ProtectiveWardingCircleSpecialAbility = DB.Entity(import.meta.url,
30
30
  name_in_library,
31
31
  protective_circle: DB.Required({
32
32
  comment: "The rules for the protective circle variant.",
33
- type: DB.String({ minLength: 1, isMarkdown: true }),
33
+ type: DB.String({ minLength: 1, markdown: "block" }),
34
34
  }),
35
35
  warding_circle: DB.Optional({
36
36
  comment: "The rules for the warding circle variant.",
37
- type: DB.String({ minLength: 1, isMarkdown: true }),
37
+ type: DB.String({ minLength: 1, markdown: "block" }),
38
38
  }),
39
39
  ap_value_append,
40
40
  ap_value: ap_value_l10n,
@@ -38,7 +38,7 @@ export const TradeSecret = DB.Entity(import.meta.url, {
38
38
  name_in_library,
39
39
  description: DB.Optional({
40
40
  comment: "The description of the trade secret.",
41
- type: DB.String({ minLength: 1, isMarkdown: true }),
41
+ type: DB.String({ minLength: 1, markdown: "block" }),
42
42
  }),
43
43
  errata: DB.Optional({
44
44
  type: DB.IncludeIdentifier(Errata),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.34.12",
3
+ "version": "0.34.14",
4
4
  "description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
5
5
  "keywords": [
6
6
  "tde",
@@ -39,7 +39,7 @@
39
39
  "license": "MPL-2.0",
40
40
  "dependencies": {
41
41
  "@elyukai/utils": "^0.3.0",
42
- "tsondb": "^0.19.18",
42
+ "tsondb": "^0.20.0",
43
43
  "yaml": "^2.8.2"
44
44
  },
45
45
  "devDependencies": {