@optolith/database-schema 0.73.0 → 0.75.1

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 (116) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/gen/types.d.ts +468 -110
  3. package/lib/cache/activatableSelectOptions.js +70 -32
  4. package/lib/cache/index.d.ts +1 -10
  5. package/lib/cache/index.js +10 -6
  6. package/lib/cache/internal.d.ts +2 -2
  7. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +14 -14
  8. package/lib/cache/tradeSecrets.js +3 -3
  9. package/lib/main.d.ts +3 -1
  10. package/lib/main.js +1 -1
  11. package/lib/types/Advantage.d.ts +116 -2
  12. package/lib/types/AnimalDisease.d.ts +6 -3
  13. package/lib/types/Ceremony.d.ts +9 -4
  14. package/lib/types/Disadvantage.d.ts +116 -2
  15. package/lib/types/Disease.d.ts +6 -3
  16. package/lib/types/LiturgicalChant.d.ts +9 -4
  17. package/lib/types/Locale.d.ts +6 -2
  18. package/lib/types/Locale.js +6 -2
  19. package/lib/types/Ritual.d.ts +9 -4
  20. package/lib/types/Settings.d.ts +123 -0
  21. package/lib/types/Settings.js +55 -0
  22. package/lib/types/Spell.d.ts +9 -4
  23. package/lib/types/_ActivatableSelectOptionCategory.d.ts +232 -4
  24. package/lib/types/_ActivatableSelectOptionCategory.js +7 -7
  25. package/lib/types/_ActivatableSelectOptions.d.ts +116 -2
  26. package/lib/types/_DiseasePoison.d.ts +12 -6
  27. package/lib/types/_DiseasePoison.js +40 -5
  28. package/lib/types/_Identifier.d.ts +0 -1
  29. package/lib/types/_Identifier.js +0 -2
  30. package/lib/types/_SkillCheck.d.ts +9 -4
  31. package/lib/types/_SkillCheck.js +51 -5
  32. package/lib/types/equipment/item/Armor.d.ts +13 -2
  33. package/lib/types/equipment/item/Armor.js +59 -7
  34. package/lib/types/equipment/item/BandageOrRemedy.d.ts +1 -1
  35. package/lib/types/equipment/item/CeremonialItem.d.ts +1 -1
  36. package/lib/types/equipment/item/Clothes.d.ts +1 -1
  37. package/lib/types/equipment/item/Container.d.ts +1 -1
  38. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +1 -1
  39. package/lib/types/equipment/item/IlluminationLightSource.d.ts +1 -1
  40. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +1 -1
  41. package/lib/types/equipment/item/Liebesspielzeug.d.ts +1 -1
  42. package/lib/types/equipment/item/LuxuryGood.d.ts +1 -1
  43. package/lib/types/equipment/item/MagicalArtifact.d.ts +1 -1
  44. package/lib/types/equipment/item/MusicalInstrument.d.ts +1 -1
  45. package/lib/types/equipment/item/OrienteeringAid.d.ts +1 -1
  46. package/lib/types/equipment/item/Poison.d.ts +6 -3
  47. package/lib/types/equipment/item/RopeOrChain.d.ts +1 -1
  48. package/lib/types/equipment/item/Stationery.d.ts +1 -1
  49. package/lib/types/equipment/item/ThievesTool.d.ts +1 -1
  50. package/lib/types/equipment/item/TravelGearOrTool.d.ts +1 -1
  51. package/lib/types/equipment/item/WeaponAccessory.d.ts +1 -1
  52. package/lib/types/equipment/item/_Item.d.ts +2 -2
  53. package/lib/types/index.d.ts +1 -1
  54. package/lib/types/index.js +1 -1
  55. package/lib/types/magicalActions/AnimistPower.d.ts +9 -4
  56. package/lib/types/magicalActions/Curse.d.ts +9 -4
  57. package/lib/types/magicalActions/DominationRitual.d.ts +9 -4
  58. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +9 -4
  59. package/lib/types/magicalActions/GoblinRitual.d.ts +9 -4
  60. package/lib/types/magicalActions/JesterTrick.d.ts +9 -4
  61. package/lib/types/magicalActions/MagicalMelody.d.ts +9 -4
  62. package/lib/types/magicalActions/ZibiljaRitual.d.ts +9 -4
  63. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +116 -2
  64. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +116 -2
  65. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +116 -2
  66. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +116 -2
  67. package/lib/types/specialAbility/AncestorGlyph.d.ts +116 -2
  68. package/lib/types/specialAbility/BlessedTradition.d.ts +116 -2
  69. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +116 -2
  70. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +116 -2
  71. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +116 -2
  72. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +116 -2
  73. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +116 -2
  74. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +116 -2
  75. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +116 -2
  76. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +116 -2
  77. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +116 -2
  78. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +116 -2
  79. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +116 -2
  80. package/lib/types/specialAbility/LycantropicGift.d.ts +116 -2
  81. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +116 -2
  82. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +116 -2
  83. package/lib/types/specialAbility/MagicalTradition.d.ts +116 -2
  84. package/lib/types/specialAbility/PactGift.d.ts +116 -2
  85. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +116 -2
  86. package/lib/types/specialAbility/Sermon.d.ts +116 -2
  87. package/lib/types/specialAbility/SexSpecialAbility.d.ts +116 -2
  88. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +116 -2
  89. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +116 -2
  90. package/lib/types/specialAbility/VampiricGift.d.ts +116 -2
  91. package/lib/types/specialAbility/Vision.d.ts +116 -2
  92. package/lib/types/specialAbility/sub/TradeSecret.d.ts +116 -2
  93. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +116 -2
  94. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +116 -2
  95. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +116 -2
  96. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +116 -2
  97. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +116 -2
  98. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +116 -2
  99. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +116 -2
  100. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +116 -2
  101. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +116 -2
  102. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +116 -2
  103. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +116 -2
  104. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +116 -2
  105. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +116 -2
  106. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +116 -2
  107. package/lib/types/traditionArtifacts/SickleRitual.d.ts +116 -2
  108. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +116 -2
  109. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +116 -2
  110. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +116 -2
  111. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +116 -2
  112. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +116 -2
  113. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +116 -2
  114. package/package.json +6 -3
  115. package/lib/types/equipment/item/sub/ArmorType.d.ts +0 -7
  116. package/lib/types/equipment/item/sub/ArmorType.js +0 -25
@@ -1,5 +1,6 @@
1
+ import { isNotNullish, nullableToArray } from "@elyukai/utils/nullable";
1
2
  import * as DB from "tsondb/schema/dsl";
2
- import { AttributeIdentifier } from "./_Identifier.js";
3
+ import { AttributeIdentifier, DerivedCharacteristicIdentifier } from "./_Identifier.js";
3
4
  export const SkillCheck = DB.TypeAlias(import.meta.url, {
4
5
  name: "SkillCheck",
5
6
  comment: "The attributes’ identifiers of the skill check.",
@@ -12,12 +13,57 @@ export const SkillCheckPenalty = DB.Enum(import.meta.url, {
12
13
  name: "SkillCheckPenalty",
13
14
  comment: "A specific value that represents a penalty for the associated skill check.",
14
15
  values: () => ({
15
- Spirit: DB.EnumCase({ type: null }),
16
- HalfOfSpirit: DB.EnumCase({ type: null }),
17
- Toughness: DB.EnumCase({ type: null }),
18
- HigherOfSpiritAndToughness: DB.EnumCase({ type: null }),
16
+ DerivedCharacteristic: DB.EnumCase({
17
+ type: DB.IncludeIdentifier(DerivedCharacteristicSkillCheckPenalty),
18
+ }),
19
19
  SummoningDifficulty: DB.EnumCase({ type: null }),
20
20
  CreationDifficulty: DB.EnumCase({ type: null }),
21
21
  Object: DB.EnumCase({ type: null }),
22
22
  }),
23
23
  });
24
+ const DerivedCharacteristicSkillCheckPenalty = DB.Enum(import.meta.url, {
25
+ name: "DerivedCharacteristicSkillCheckPenalty",
26
+ comment: "A derived characteristic that classifies as a resistance that represents a penalty for the associated skill check.",
27
+ values: () => ({
28
+ Single: DB.EnumCase({
29
+ type: DB.IncludeIdentifier(SingleDerivedCharacteristicSkillCheckPenalty),
30
+ }),
31
+ Maximum: DB.EnumCase({
32
+ type: DB.IncludeIdentifier(MaximumDerivedCharacteristicSkillCheckPenalty),
33
+ }),
34
+ }),
35
+ });
36
+ const checkDerivedCharacteristicIsResistance = (id, getInstanceById) => getInstanceById("DerivedCharacteristic", id)?.type?.kind !== "Resistance"
37
+ ? `The derived characteristic with the identifier "${id}" is not a resistance.`
38
+ : undefined;
39
+ const SingleDerivedCharacteristicSkillCheckPenalty = DB.TypeAlias(import.meta.url, {
40
+ name: "SingleDerivedCharacteristicSkillCheckPenalty",
41
+ comment: "A single derived characteristic that classifies as a resistance that represents a penalty for the associated skill check. It may be halved for the skill check.",
42
+ type: () => DB.Object({
43
+ derivedCharacteristic: DB.Required({
44
+ comment: "The derived characteristic that is used for the skill check.",
45
+ type: DerivedCharacteristicIdentifier(),
46
+ }),
47
+ halved: DB.Required({
48
+ comment: "Is the penalty halved for this skill check?",
49
+ type: DB.Boolean(),
50
+ }),
51
+ }),
52
+ customConstraints: ({ instanceContent, getInstanceById }) => nullableToArray(checkDerivedCharacteristicIsResistance(instanceContent.derivedCharacteristic, getInstanceById)),
53
+ });
54
+ const MaximumDerivedCharacteristicSkillCheckPenalty = DB.TypeAlias(import.meta.url, {
55
+ name: "MaximumDerivedCharacteristicSkillCheckPenalty",
56
+ comment: "Multiple derived characteristics that classify as resistances whose maximum value represents a penalty for the associated skill check.",
57
+ type: () => DB.Object({
58
+ derivedCharacteristics: DB.Required({
59
+ comment: "The derived characteristic that is used for the skill check.",
60
+ type: DB.Array(DerivedCharacteristicIdentifier(), {
61
+ minItems: 2,
62
+ uniqueItems: true,
63
+ }),
64
+ }),
65
+ }),
66
+ customConstraints: ({ instanceContent, getInstanceById }) => instanceContent.derivedCharacteristics
67
+ .map(id => checkDerivedCharacteristicIsResistance(id, getInstanceById))
68
+ .filter(isNotNullish),
69
+ });
@@ -71,7 +71,18 @@ export declare const Armor: DB.Entity<"Armor", {
71
71
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
72
72
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
73
73
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
74
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
74
+ armorType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ArmorType", {
75
+ Standard: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardArmorType", DB.Object<{
76
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
77
+ }>, []>>>;
78
+ StandardVariant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"StandardVariantArmorType", DB.Object<{
79
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
80
+ sturdinessRating: DB.MemberDecl<DB.Integer, true>;
81
+ }>, []>>>;
82
+ Variant: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"VariantArmorType", DB.Object<{
83
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
84
+ }>, []>>>;
85
+ }, []>>, true>;
75
86
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
76
87
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
77
88
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -213,7 +224,7 @@ export declare const SecondaryArmor: DB.TypeAlias<"SecondaryArmor", DB.Object<{
213
224
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
214
225
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
215
226
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
216
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
227
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
217
228
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
218
229
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
219
230
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -1,5 +1,6 @@
1
+ import { isNotNullish } from "@elyukai/utils/nullable";
1
2
  import * as DB from "tsondb/schema/dsl";
2
- import { ArmorIdentifier, ArmorTypeIdentifier } from "../../_Identifier.js";
3
+ import { ArmorIdentifier } from "../../_Identifier.js";
3
4
  import { NestedTranslationMap } from "../../Locale.js";
4
5
  import { Errata } from "../../source/_Erratum.js";
5
6
  import { src } from "../../source/_PublicationRef.js";
@@ -32,9 +33,9 @@ export const Armor = DB.Entity(import.meta.url, {
32
33
  comment: "Does the armor have additional penalties (MOV -1, INI -1)?",
33
34
  type: DB.IncludeIdentifier(HasAdditionalPenalties),
34
35
  }),
35
- armor_type: DB.Required({
36
- comment: "The armor type..",
37
- type: ArmorTypeIdentifier(),
36
+ armorType: DB.Required({
37
+ comment: "The armor type.",
38
+ type: DB.IncludeIdentifier(ArmorType),
38
39
  }),
39
40
  hit_zone: DB.Optional({
40
41
  comment: "Specify if armor is only available for a specific hit zone.",
@@ -91,6 +92,56 @@ export const Armor = DB.Entity(import.meta.url, {
91
92
  },
92
93
  ],
93
94
  });
95
+ const ArmorType = DB.Enum(import.meta.url, {
96
+ name: "ArmorType",
97
+ comment: "The armor type.",
98
+ values: () => ({
99
+ Standard: DB.EnumCase({ type: DB.IncludeIdentifier(StandardArmorType) }),
100
+ StandardVariant: DB.EnumCase({ type: DB.IncludeIdentifier(StandardVariantArmorType) }),
101
+ Variant: DB.EnumCase({ type: DB.IncludeIdentifier(VariantArmorType) }),
102
+ }),
103
+ });
104
+ const StandardArmorType = DB.TypeAlias(import.meta.url, {
105
+ name: "StandardArmorType",
106
+ comment: "A standard armor.",
107
+ type: () => DB.Object({
108
+ sturdinessRating: DB.Required({
109
+ comment: "An armor type can have a *sturdiness rating*. The higher the rating, the more durable the armor. Rolling higher than this rating during a sturdiness check means the armor receives one level of the new condition *Wear*.",
110
+ type: DB.Integer({ minimum: 1, maximum: 20 }),
111
+ }),
112
+ }),
113
+ });
114
+ const validateArmorTypeReference = (deps) => [
115
+ deps.getInstanceById("Armor", deps.instanceContent.variantOf)?.armorType.kind !== "Standard"
116
+ ? "The armor is a variant of a standard armor, but the referenced armor is not a standard armor."
117
+ : undefined,
118
+ ].filter(isNotNullish);
119
+ const StandardVariantArmorType = DB.TypeAlias(import.meta.url, {
120
+ name: "StandardVariantArmorType",
121
+ comment: "The armor is a variant of a standard armor but still defines its own sturdiness rating and thus its own armor type.",
122
+ type: () => DB.Object({
123
+ variantOf: DB.Required({
124
+ comment: "The standard armor this armor is a variant of.",
125
+ type: ArmorIdentifier(),
126
+ }),
127
+ sturdinessRating: DB.Required({
128
+ comment: "An armor type can have a *sturdiness rating*. The higher the rating, the more durable the armor. Rolling higher than this rating during a sturdiness check means the armor receives one level of the new condition *Wear*.",
129
+ type: DB.Integer({ minimum: 1, maximum: 20 }),
130
+ }),
131
+ }),
132
+ customConstraints: validateArmorTypeReference,
133
+ });
134
+ const VariantArmorType = DB.TypeAlias(import.meta.url, {
135
+ name: "VariantArmorType",
136
+ comment: "The armor is a variant of a standard armor but also defines its own .",
137
+ type: () => DB.Object({
138
+ variantOf: DB.Required({
139
+ comment: "The standard armor this armor is a variant of.",
140
+ type: ArmorIdentifier(),
141
+ }),
142
+ }),
143
+ customConstraints: validateArmorTypeReference,
144
+ });
94
145
  export const SecondaryArmor = DB.TypeAlias(import.meta.url, {
95
146
  name: "SecondaryArmor",
96
147
  type: () => DB.Object({
@@ -106,9 +157,9 @@ export const SecondaryArmor = DB.TypeAlias(import.meta.url, {
106
157
  comment: "Does the armor have additional penalties (MOV -1, INI -1)?",
107
158
  type: DB.IncludeIdentifier(HasAdditionalPenalties),
108
159
  }),
109
- armor_type: DB.Required({
110
- comment: "The armor type..",
111
- type: ArmorTypeIdentifier(),
160
+ variantOf: DB.Required({
161
+ comment: "The standard armor this armor is a variant of.",
162
+ type: ArmorIdentifier(),
112
163
  }),
113
164
  hit_zone: DB.Optional({
114
165
  comment: "Specify if armor is only available for a specific hit zone.",
@@ -129,6 +180,7 @@ export const SecondaryArmor = DB.TypeAlias(import.meta.url, {
129
180
  }),
130
181
  }, { minProperties: 1 })),
131
182
  }),
183
+ customConstraints: validateArmorTypeReference,
132
184
  });
133
185
  const ArmorComplexity = DB.Enum(import.meta.url, {
134
186
  name: "ArmorComplexity",
@@ -148,7 +148,7 @@ export declare const BandageOrRemedy: DB.Entity<"BandageOrRemedy", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -149,7 +149,7 @@ export declare const CeremonialItem: DB.Entity<"CeremonialItem", {
149
149
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
150
150
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
151
151
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
152
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
153
153
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
154
154
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
155
155
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const Clothes: DB.Entity<"Clothes", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const Container: DB.Entity<"Container", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -121,7 +121,7 @@ export declare const EquipmentOfBlessedOnes: DB.Entity<"EquipmentOfBlessedOnes",
121
121
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
122
122
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
123
123
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
124
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
124
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
125
125
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
126
126
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
127
127
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -157,7 +157,7 @@ export declare const IlluminationLightSource: DB.Entity<"IlluminationLightSource
157
157
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
158
158
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
159
159
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
160
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
160
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
161
161
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
162
162
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
163
163
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const IlluminationRefillOrSupply: DB.Entity<"IlluminationRefillOr
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const Liebesspielzeug: DB.Entity<"Liebesspielzeug", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const LuxuryGood: DB.Entity<"LuxuryGood", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const MagicalArtifact: DB.Entity<"MagicalArtifact", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const MusicalInstrument: DB.Entity<"MusicalInstrument", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -147,7 +147,7 @@ export declare const OrienteeringAid: import("tsondb/schema/dsl").Entity<string,
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- armor_type: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
151
151
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
152
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
153
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -289,9 +289,12 @@ export declare const Poison: DB.Entity<"Poison", {
289
289
  }>, []>>>;
290
290
  }, []>>, true>;
291
291
  resistance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Resistance", {
292
- Spirit: DB.EnumCase<null>;
293
- Toughness: DB.EnumCase<null>;
294
- LowerOfSpiritAndToughness: DB.EnumCase<null>;
292
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleResistance", DB.Object<{
293
+ derivedCharacteristic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
294
+ }>, []>>>;
295
+ Minimum: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MinimumResistance", DB.Object<{
296
+ derivedCharacteristics: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
297
+ }>, []>>>;
295
298
  }, []>>, true>;
296
299
  start: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"PoisonStart", {
297
300
  Immediate: DB.EnumCase<null>;
@@ -147,7 +147,7 @@ export declare const RopeOrChain: import("tsondb/schema/dsl").Entity<string, {
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- armor_type: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
151
151
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
152
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
153
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -147,7 +147,7 @@ export declare const Stationery: import("tsondb/schema/dsl").Entity<string, {
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- armor_type: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
151
151
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
152
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
153
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -147,7 +147,7 @@ export declare const ThievesTool: import("tsondb/schema/dsl").Entity<string, {
147
147
  protection: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Protection", import("tsondb/schema/dsl").Integer, []>>, true>;
148
148
  encumbrance: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"Encumbrance", import("tsondb/schema/dsl").Integer, []>>, true>;
149
149
  has_additional_penalties: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HasAdditionalPenalties", import("tsondb/schema/dsl").Boolean, []>>, true>;
150
- armor_type: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
150
+ variantOf: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").ReferenceIdentifier, true>;
151
151
  hit_zone: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").Enum<"HitZone", {
152
152
  Head: import("tsondb/schema/dsl").EnumCase<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZone", import("tsondb/schema/dsl").Object<{
153
153
  combination_possibilities: import("tsondb/schema/dsl").MemberDecl<import("tsondb/schema/dsl").IncludeIdentifier<[], import("tsondb/schema/dsl").TypeAlias<"HeadHitZoneCombinationPossibilities", import("tsondb/schema/dsl").Object<{
@@ -148,7 +148,7 @@ export declare const TravelGearOrTool: DB.Entity<"TravelGearOrTool", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const WeaponAccessory: DB.Entity<"WeaponAccessory", {
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -148,7 +148,7 @@ export declare const DefaultItem: (sourceUrl: string, singularName: string, plur
148
148
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
149
149
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
150
150
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
151
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
151
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
152
152
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
153
153
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
154
154
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -328,7 +328,7 @@ export declare const CombatUse: DB.Enum<"CombatUse", {
328
328
  protection: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Protection", DB.Integer, []>>, true>;
329
329
  encumbrance: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Encumbrance", DB.Integer, []>>, true>;
330
330
  has_additional_penalties: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HasAdditionalPenalties", DB.Boolean, []>>, true>;
331
- armor_type: DB.MemberDecl<DB.ReferenceIdentifier, true>;
331
+ variantOf: DB.MemberDecl<DB.ReferenceIdentifier, true>;
332
332
  hit_zone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"HitZone", {
333
333
  Head: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZone", DB.Object<{
334
334
  combination_possibilities: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"HeadHitZoneCombinationPossibilities", DB.Object<{
@@ -46,7 +46,6 @@ export { Plant } from "./equipment/item/Plant.js";
46
46
  export { Poison } from "./equipment/item/Poison.js";
47
47
  export { RopeOrChain } from "./equipment/item/RopeOrChain.js";
48
48
  export { Stationery } from "./equipment/item/Stationery.js";
49
- export { ArmorType } from "./equipment/item/sub/ArmorType.js";
50
49
  export { Biome } from "./equipment/item/sub/Biome.js";
51
50
  export { BotanicRegion } from "./equipment/item/sub/BotanicRegion.js";
52
51
  export { Reach } from "./equipment/item/sub/Reach.js";
@@ -96,6 +95,7 @@ export { FocusRule } from "./rule/FocusRule.js";
96
95
  export { Subject } from "./rule/FocusRule_Subject.js";
97
96
  export { OptionalRule } from "./rule/OptionalRule.js";
98
97
  export { Service } from "./Service.js";
98
+ export { Settings } from "./Settings.ts";
99
99
  export { SexPractice } from "./SexPractice.js";
100
100
  export { Skill } from "./Skill.js";
101
101
  export { SkillGroup } from "./SkillGroup.js";
@@ -46,7 +46,6 @@ export { Plant } from "./equipment/item/Plant.js";
46
46
  export { Poison } from "./equipment/item/Poison.js";
47
47
  export { RopeOrChain } from "./equipment/item/RopeOrChain.js";
48
48
  export { Stationery } from "./equipment/item/Stationery.js";
49
- export { ArmorType } from "./equipment/item/sub/ArmorType.js";
50
49
  export { Biome } from "./equipment/item/sub/Biome.js";
51
50
  export { BotanicRegion } from "./equipment/item/sub/BotanicRegion.js";
52
51
  export { Reach } from "./equipment/item/sub/Reach.js";
@@ -96,6 +95,7 @@ export { FocusRule } from "./rule/FocusRule.js";
96
95
  export { Subject } from "./rule/FocusRule_Subject.js";
97
96
  export { OptionalRule } from "./rule/OptionalRule.js";
98
97
  export { Service } from "./Service.js";
98
+ export { Settings } from "./Settings.js";
99
99
  export { SexPractice } from "./SexPractice.js";
100
100
  export { Skill } from "./Skill.js";
101
101
  export { SkillGroup } from "./SkillGroup.js";
@@ -2,10 +2,15 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const AnimistPower: DB.Entity<"AnimistPower", {
3
3
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
4
4
  check_penalty: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SkillCheckPenalty", {
5
- Spirit: DB.EnumCase<null>;
6
- HalfOfSpirit: DB.EnumCase<null>;
7
- Toughness: DB.EnumCase<null>;
8
- HigherOfSpiritAndToughness: DB.EnumCase<null>;
5
+ DerivedCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicSkillCheckPenalty", {
6
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleDerivedCharacteristicSkillCheckPenalty", DB.Object<{
7
+ derivedCharacteristic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
8
+ halved: DB.MemberDecl<DB.Boolean, true>;
9
+ }>, []>>>;
10
+ Maximum: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MaximumDerivedCharacteristicSkillCheckPenalty", DB.Object<{
11
+ derivedCharacteristics: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
12
+ }>, []>>>;
13
+ }, []>>>;
9
14
  SummoningDifficulty: DB.EnumCase<null>;
10
15
  CreationDifficulty: DB.EnumCase<null>;
11
16
  Object: DB.EnumCase<null>;
@@ -2,10 +2,15 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const Curse: DB.Entity<"Curse", {
3
3
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
4
4
  check_penalty: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SkillCheckPenalty", {
5
- Spirit: DB.EnumCase<null>;
6
- HalfOfSpirit: DB.EnumCase<null>;
7
- Toughness: DB.EnumCase<null>;
8
- HigherOfSpiritAndToughness: DB.EnumCase<null>;
5
+ DerivedCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicSkillCheckPenalty", {
6
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleDerivedCharacteristicSkillCheckPenalty", DB.Object<{
7
+ derivedCharacteristic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
8
+ halved: DB.MemberDecl<DB.Boolean, true>;
9
+ }>, []>>>;
10
+ Maximum: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MaximumDerivedCharacteristicSkillCheckPenalty", DB.Object<{
11
+ derivedCharacteristics: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
12
+ }>, []>>>;
13
+ }, []>>>;
9
14
  SummoningDifficulty: DB.EnumCase<null>;
10
15
  CreationDifficulty: DB.EnumCase<null>;
11
16
  Object: DB.EnumCase<null>;
@@ -2,10 +2,15 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const DominationRitual: DB.Entity<"DominationRitual", {
3
3
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
4
4
  check_penalty: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SkillCheckPenalty", {
5
- Spirit: DB.EnumCase<null>;
6
- HalfOfSpirit: DB.EnumCase<null>;
7
- Toughness: DB.EnumCase<null>;
8
- HigherOfSpiritAndToughness: DB.EnumCase<null>;
5
+ DerivedCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicSkillCheckPenalty", {
6
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleDerivedCharacteristicSkillCheckPenalty", DB.Object<{
7
+ derivedCharacteristic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
8
+ halved: DB.MemberDecl<DB.Boolean, true>;
9
+ }>, []>>>;
10
+ Maximum: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MaximumDerivedCharacteristicSkillCheckPenalty", DB.Object<{
11
+ derivedCharacteristics: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
12
+ }>, []>>>;
13
+ }, []>>>;
9
14
  SummoningDifficulty: DB.EnumCase<null>;
10
15
  CreationDifficulty: DB.EnumCase<null>;
11
16
  Object: DB.EnumCase<null>;
@@ -2,10 +2,15 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const ElvenMagicalSong: DB.Entity<"ElvenMagicalSong", {
3
3
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
4
4
  check_penalty: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SkillCheckPenalty", {
5
- Spirit: DB.EnumCase<null>;
6
- HalfOfSpirit: DB.EnumCase<null>;
7
- Toughness: DB.EnumCase<null>;
8
- HigherOfSpiritAndToughness: DB.EnumCase<null>;
5
+ DerivedCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicSkillCheckPenalty", {
6
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleDerivedCharacteristicSkillCheckPenalty", DB.Object<{
7
+ derivedCharacteristic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
8
+ halved: DB.MemberDecl<DB.Boolean, true>;
9
+ }>, []>>>;
10
+ Maximum: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MaximumDerivedCharacteristicSkillCheckPenalty", DB.Object<{
11
+ derivedCharacteristics: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
12
+ }>, []>>>;
13
+ }, []>>>;
9
14
  SummoningDifficulty: DB.EnumCase<null>;
10
15
  CreationDifficulty: DB.EnumCase<null>;
11
16
  Object: DB.EnumCase<null>;
@@ -2,10 +2,15 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const GoblinRitual: DB.Entity<"GoblinRitual", {
3
3
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
4
4
  check_penalty: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SkillCheckPenalty", {
5
- Spirit: DB.EnumCase<null>;
6
- HalfOfSpirit: DB.EnumCase<null>;
7
- Toughness: DB.EnumCase<null>;
8
- HigherOfSpiritAndToughness: DB.EnumCase<null>;
5
+ DerivedCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicSkillCheckPenalty", {
6
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleDerivedCharacteristicSkillCheckPenalty", DB.Object<{
7
+ derivedCharacteristic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
8
+ halved: DB.MemberDecl<DB.Boolean, true>;
9
+ }>, []>>>;
10
+ Maximum: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MaximumDerivedCharacteristicSkillCheckPenalty", DB.Object<{
11
+ derivedCharacteristics: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
12
+ }>, []>>>;
13
+ }, []>>>;
9
14
  SummoningDifficulty: DB.EnumCase<null>;
10
15
  CreationDifficulty: DB.EnumCase<null>;
11
16
  Object: DB.EnumCase<null>;
@@ -2,10 +2,15 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const JesterTrick: DB.Entity<"JesterTrick", {
3
3
  check: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SkillCheck", DB.Array<DB.ReferenceIdentifier>, []>>, true>;
4
4
  check_penalty: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SkillCheckPenalty", {
5
- Spirit: DB.EnumCase<null>;
6
- HalfOfSpirit: DB.EnumCase<null>;
7
- Toughness: DB.EnumCase<null>;
8
- HigherOfSpiritAndToughness: DB.EnumCase<null>;
5
+ DerivedCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicSkillCheckPenalty", {
6
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SingleDerivedCharacteristicSkillCheckPenalty", DB.Object<{
7
+ derivedCharacteristic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
8
+ halved: DB.MemberDecl<DB.Boolean, true>;
9
+ }>, []>>>;
10
+ Maximum: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"MaximumDerivedCharacteristicSkillCheckPenalty", DB.Object<{
11
+ derivedCharacteristics: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
12
+ }>, []>>>;
13
+ }, []>>>;
9
14
  SummoningDifficulty: DB.EnumCase<null>;
10
15
  CreationDifficulty: DB.EnumCase<null>;
11
16
  Object: DB.EnumCase<null>;