optolith-database-schema 0.21.2 → 0.23.0

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 (159) hide show
  1. package/CHANGELOG.md +54 -0
  2. package/gen/types.d.ts +1361 -1185
  3. package/lib/types/Advantage.d.ts +136 -1
  4. package/lib/types/Advantage.js +6 -1
  5. package/lib/types/Disadvantage.d.ts +66 -1
  6. package/lib/types/Disadvantage.js +4 -1
  7. package/lib/types/Locale.d.ts +97 -133
  8. package/lib/types/Locale.js +147 -134
  9. package/lib/types/_Activatable.d.ts +1 -1900
  10. package/lib/types/_Activatable.js +1 -1385
  11. package/lib/types/_ActivatableAdvanced.d.ts +50 -0
  12. package/lib/types/_ActivatableAdvanced.js +97 -0
  13. package/lib/types/_ActivatableAdventurePointsValue.d.ts +152 -0
  14. package/lib/types/_ActivatableAdventurePointsValue.js +141 -0
  15. package/lib/types/_ActivatableAutomatic.d.ts +71 -0
  16. package/lib/types/_ActivatableAutomatic.js +64 -0
  17. package/lib/types/_ActivatableCombat.d.ts +124 -0
  18. package/lib/types/_ActivatableCombat.js +359 -0
  19. package/lib/types/_ActivatableNonMundane.d.ts +399 -0
  20. package/lib/types/_ActivatableNonMundane.js +492 -0
  21. package/lib/types/_ActivatableSelectOptions.d.ts +1197 -0
  22. package/lib/types/_ActivatableSelectOptions.js +272 -0
  23. package/lib/types/_ActivatableSkillApplicationsAndUses.d.ts +109 -0
  24. package/lib/types/_ActivatableSkillApplicationsAndUses.js +78 -0
  25. package/lib/types/_Identifier.js +2 -1
  26. package/lib/types/_SizeCategory.d.ts +15 -0
  27. package/lib/types/_SizeCategory.js +24 -0
  28. package/lib/types/equipment/item/Animal.d.ts +1 -1
  29. package/lib/types/equipment/item/AnimalCare.d.ts +1 -1
  30. package/lib/types/equipment/item/Armor.d.ts +44 -0
  31. package/lib/types/equipment/item/Armor.js +9 -1
  32. package/lib/types/equipment/item/BandageOrRemedy.d.ts +45 -9
  33. package/lib/types/equipment/item/CeremonialItem.d.ts +45 -9
  34. package/lib/types/equipment/item/Clothes.d.ts +45 -9
  35. package/lib/types/equipment/item/Container.d.ts +45 -9
  36. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +77 -20
  37. package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -6
  38. package/lib/types/equipment/item/IlluminationLightSource.d.ts +45 -9
  39. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +45 -9
  40. package/lib/types/equipment/item/Jewelry.d.ts +1 -1
  41. package/lib/types/equipment/item/Laboratory.d.ts +1 -1
  42. package/lib/types/equipment/item/Liebesspielzeug.d.ts +45 -9
  43. package/lib/types/equipment/item/LuxuryGood.d.ts +45 -9
  44. package/lib/types/equipment/item/MagicalArtifact.d.ts +61 -21
  45. package/lib/types/equipment/item/MagicalArtifact.js +33 -3
  46. package/lib/types/equipment/item/MusicalInstrument.d.ts +48 -9
  47. package/lib/types/equipment/item/MusicalInstrument.js +5 -1
  48. package/lib/types/equipment/item/OrienteeringAid.d.ts +45 -9
  49. package/lib/types/equipment/item/Poison.d.ts +41 -5
  50. package/lib/types/equipment/item/Poison.js +33 -1
  51. package/lib/types/equipment/item/RopeOrChain.d.ts +45 -9
  52. package/lib/types/equipment/item/Stationery.d.ts +45 -9
  53. package/lib/types/equipment/item/ThievesTool.d.ts +45 -9
  54. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +1 -1
  55. package/lib/types/equipment/item/TravelGearOrTool.d.ts +45 -9
  56. package/lib/types/equipment/item/Vehicle.d.ts +1 -1
  57. package/lib/types/equipment/item/Weapon.d.ts +105 -78
  58. package/lib/types/equipment/item/Weapon.js +8 -46
  59. package/lib/types/equipment/item/WeaponAccessory.d.ts +45 -9
  60. package/lib/types/equipment/item/_Item.d.ts +148 -29
  61. package/lib/types/equipment/item/_Item.js +94 -2
  62. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +67 -1
  63. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +5 -1
  64. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +66 -1
  65. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +4 -1
  66. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +66 -1
  67. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +4 -1
  68. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +66 -1
  69. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +4 -1
  70. package/lib/types/specialAbility/AncestorGlyph.d.ts +66 -1
  71. package/lib/types/specialAbility/AncestorGlyph.js +3 -1
  72. package/lib/types/specialAbility/BlessedTradition.d.ts +66 -1
  73. package/lib/types/specialAbility/BlessedTradition.js +4 -1
  74. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +67 -1
  75. package/lib/types/specialAbility/BrawlingSpecialAbility.js +4 -1
  76. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +66 -1
  77. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +6 -2
  78. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +67 -1
  79. package/lib/types/specialAbility/CombatSpecialAbility.js +5 -1
  80. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +119 -1
  81. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +7 -1
  82. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +67 -1
  83. package/lib/types/specialAbility/CommandSpecialAbility.js +4 -1
  84. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +66 -1
  85. package/lib/types/specialAbility/FamiliarSpecialAbility.js +3 -1
  86. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +66 -1
  87. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +3 -1
  88. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +66 -1
  89. package/lib/types/specialAbility/FatePointSpecialAbility.js +4 -1
  90. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +66 -1
  91. package/lib/types/specialAbility/GeneralSpecialAbility.js +4 -1
  92. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +66 -1
  93. package/lib/types/specialAbility/KarmaSpecialAbility.js +3 -1
  94. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +66 -1
  95. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +5 -1
  96. package/lib/types/specialAbility/LycantropicGift.d.ts +66 -1
  97. package/lib/types/specialAbility/LycantropicGift.js +3 -1
  98. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +66 -1
  99. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +5 -1
  100. package/lib/types/specialAbility/MagicalSign.d.ts +76 -40
  101. package/lib/types/specialAbility/MagicalSign.js +30 -3
  102. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +66 -1
  103. package/lib/types/specialAbility/MagicalSpecialAbility.js +4 -1
  104. package/lib/types/specialAbility/MagicalTradition.d.ts +66 -1
  105. package/lib/types/specialAbility/MagicalTradition.js +4 -1
  106. package/lib/types/specialAbility/PactGift.d.ts +128 -62
  107. package/lib/types/specialAbility/PactGift.js +6 -61
  108. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +66 -1
  109. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +3 -1
  110. package/lib/types/specialAbility/Sermon.d.ts +66 -1
  111. package/lib/types/specialAbility/Sermon.js +3 -1
  112. package/lib/types/specialAbility/SexSpecialAbility.d.ts +66 -1
  113. package/lib/types/specialAbility/SexSpecialAbility.js +4 -1
  114. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +66 -1
  115. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +3 -1
  116. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +66 -1
  117. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +4 -1
  118. package/lib/types/specialAbility/VampiricGift.d.ts +66 -1
  119. package/lib/types/specialAbility/VampiricGift.js +3 -1
  120. package/lib/types/specialAbility/Vision.d.ts +66 -1
  121. package/lib/types/specialAbility/Vision.js +3 -1
  122. package/lib/types/specialAbility/sub/TradeSecret.js +2 -1
  123. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +66 -1
  124. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +5 -2
  125. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +66 -1
  126. package/lib/types/traditionArtifacts/AttireEnchantment.js +5 -2
  127. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +66 -1
  128. package/lib/types/traditionArtifacts/BowlEnchantment.js +5 -2
  129. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +66 -1
  130. package/lib/types/traditionArtifacts/CauldronEnchantment.js +5 -2
  131. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +66 -1
  132. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +5 -2
  133. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +66 -1
  134. package/lib/types/traditionArtifacts/DaggerRitual.js +5 -2
  135. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +66 -1
  136. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +5 -2
  137. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +66 -1
  138. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +5 -2
  139. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +66 -1
  140. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +5 -2
  141. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +66 -1
  142. package/lib/types/traditionArtifacts/OrbEnchantment.js +5 -2
  143. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +66 -1
  144. package/lib/types/traditionArtifacts/RingEnchantment.js +5 -2
  145. package/lib/types/traditionArtifacts/SickleRitual.d.ts +66 -1
  146. package/lib/types/traditionArtifacts/SickleRitual.js +5 -2
  147. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +66 -1
  148. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +5 -2
  149. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +66 -1
  150. package/lib/types/traditionArtifacts/StaffEnchantment.js +5 -2
  151. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +66 -1
  152. package/lib/types/traditionArtifacts/ToyEnchantment.js +5 -2
  153. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +66 -1
  154. package/lib/types/traditionArtifacts/Trinkhornzauber.js +5 -2
  155. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +66 -1
  156. package/lib/types/traditionArtifacts/WandEnchantment.js +5 -2
  157. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +66 -1
  158. package/lib/types/traditionArtifacts/WeaponEnchantment.js +5 -2
  159. package/package.json +2 -2
@@ -0,0 +1,50 @@
1
+ import { Array, Boolean, EnumCase, IncludeIdentifier, Object, type Type, TypeArgument } from "tsondb/schema/def";
2
+ export declare const advanced: (identifier: Type) => import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], import("tsondb/schema/def").EnumDecl<"AdvancedSpecialAbility", {
3
+ General: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"Identifier", Type>>>;
4
+ RestrictOptions: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], import("tsondb/schema/def").TypeAliasDecl<"RestrictAdvancedSpecialAbilityOptions", Object<{
5
+ id: import("tsondb/schema/def").MemberDecl<TypeArgument<import("tsondb/schema/def").TypeParameter<"Identifier", Type>>, true>;
6
+ option: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"AdvancedSpecialAbilityRestrictedOptionIdentifier", {
7
+ General: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
8
+ Skill: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
9
+ CloseCombatTechnique: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
10
+ RangedCombatTechnique: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
11
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
12
+ Aspect: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
13
+ }, []>>>, true>;
14
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", Type>]>>>;
15
+ OneOf: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], import("tsondb/schema/def").TypeAliasDecl<"OneOfAdvancedSpecialAbilityOptions", Object<{
16
+ options: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"Identifier", Type>>>, true>;
17
+ is_selection_required_on_purchase: import("tsondb/schema/def").MemberDecl<Boolean, true>;
18
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
19
+ Hide: EnumCase<null>;
20
+ ReplaceWith: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", Object<{
21
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"SentenceType", {
22
+ Standalone: EnumCase<null>;
23
+ Connected: EnumCase<null>;
24
+ }, []>>, false>;
25
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
26
+ replacement: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
27
+ }>, true>;
28
+ }>, []>>>;
29
+ }, []>>, false>;
30
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", Type>]>>>;
31
+ DeriveFromExternalOption: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], import("tsondb/schema/def").TypeAliasDecl<"AdvancedSpecialAbilityDerivedFromExternalOption", Object<{
32
+ external_entry: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
33
+ map: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], import("tsondb/schema/def").TypeAliasDecl<"AdvancedSpecialAbilityDerivedFromExternalOptionMapping", Object<{
34
+ from_option: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
35
+ to_advanced: import("tsondb/schema/def").MemberDecl<TypeArgument<import("tsondb/schema/def").TypeParameter<"Identifier", Type>>, true>;
36
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", Type>]>>>, true>;
37
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
38
+ Hide: EnumCase<null>;
39
+ ReplaceWith: EnumCase<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ReplacementDisplayOption", Object<{
40
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"SentenceType", {
41
+ Standalone: EnumCase<null>;
42
+ Connected: EnumCase<null>;
43
+ }, []>>, false>;
44
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
45
+ replacement: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
46
+ }>, true>;
47
+ }>, []>>>;
48
+ }, []>>, false>;
49
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", Type>]>>>;
50
+ }, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", Type>]>>>, true>;
@@ -0,0 +1,97 @@
1
+ import { Array, Boolean, EnumCase, GenEnum, GenIncludeIdentifier, GenTypeAlias, IncludeIdentifier, Object, Optional, Param, Required, TypeArgument, } from "tsondb/schema/def";
2
+ import { MagicalTraditionIdentifier, PatronIdentifier } from "./_Identifier.js";
3
+ import { AdvancedSpecialAbilityRestrictedOptionIdentifier } from "./_IdentifierGroup.js";
4
+ import { DisplayOption } from "./prerequisites/DisplayOption.js";
5
+ const AdvancedSpecialAbility = GenEnum(import.meta.url, {
6
+ name: "AdvancedSpecialAbility",
7
+ comment: "A reference to an advanced special ability.",
8
+ parameters: [Param("Identifier")],
9
+ values: Identifier => ({
10
+ General: EnumCase({ type: TypeArgument(Identifier) }),
11
+ RestrictOptions: EnumCase({
12
+ type: GenIncludeIdentifier(RestrictAdvancedSpecialAbilityOptions, [TypeArgument(Identifier)]),
13
+ }),
14
+ OneOf: EnumCase({
15
+ type: GenIncludeIdentifier(OneOfAdvancedSpecialAbilityOptions, [TypeArgument(Identifier)]),
16
+ }),
17
+ DeriveFromExternalOption: EnumCase({
18
+ type: GenIncludeIdentifier(AdvancedSpecialAbilityDerivedFromExternalOption, [
19
+ TypeArgument(Identifier),
20
+ ]),
21
+ }),
22
+ }),
23
+ });
24
+ const RestrictAdvancedSpecialAbilityOptions = GenTypeAlias(import.meta.url, {
25
+ name: "RestrictAdvancedSpecialAbilityOptions",
26
+ parameters: [Param("Identifier")],
27
+ type: Identifier => Object({
28
+ id: Required({
29
+ comment: "The advanced special ability’s identifier.",
30
+ type: TypeArgument(Identifier),
31
+ }),
32
+ option: Required({
33
+ comment: "Specify the select option(s) that only are allowed for the referenced advanced special ability; others are disallowed.",
34
+ type: Array(IncludeIdentifier(AdvancedSpecialAbilityRestrictedOptionIdentifier), {
35
+ minItems: 1,
36
+ }),
37
+ }),
38
+ }),
39
+ });
40
+ const OneOfAdvancedSpecialAbilityOptions = GenTypeAlias(import.meta.url, {
41
+ name: "OneOfAdvancedSpecialAbilityOptions",
42
+ parameters: [Param("Identifier")],
43
+ type: Identifier => Object({
44
+ options: Required({
45
+ comment: "The possible advanced special abilities.",
46
+ type: Array(TypeArgument(Identifier), { minItems: 2 }),
47
+ }),
48
+ is_selection_required_on_purchase: Required({
49
+ comment: "Do have to choose the advanced special ability when buying the style special ability? Otherwise the decision can be made later.",
50
+ type: Boolean(),
51
+ }),
52
+ display_option: Optional({
53
+ type: IncludeIdentifier(DisplayOption),
54
+ }),
55
+ }),
56
+ });
57
+ const AdvancedSpecialAbilityDerivedFromExternalOption = GenTypeAlias(import.meta.url, {
58
+ name: "AdvancedSpecialAbilityDerivedFromExternalOption",
59
+ parameters: [Param("Identifier")],
60
+ type: Identifier => Object({
61
+ external_entry: Required({
62
+ comment: "The possible advanced special abilities.",
63
+ type: MagicalTraditionIdentifier(),
64
+ }),
65
+ map: Required({
66
+ comment: "Map options from the external entry to allowed advanced special abilities.",
67
+ type: Array(GenIncludeIdentifier(AdvancedSpecialAbilityDerivedFromExternalOptionMapping, [
68
+ TypeArgument(Identifier),
69
+ ]), { minItems: 1 }),
70
+ }),
71
+ display_option: Optional({
72
+ type: IncludeIdentifier(DisplayOption),
73
+ }),
74
+ }),
75
+ });
76
+ const AdvancedSpecialAbilityDerivedFromExternalOptionMapping = GenTypeAlias(import.meta.url, {
77
+ name: "AdvancedSpecialAbilityDerivedFromExternalOptionMapping",
78
+ parameters: [Param("Identifier")],
79
+ comment: "Mapping from an option of the external entry to an allowed advanced special ability.",
80
+ type: Identifier => Object({
81
+ from_option: Required({
82
+ comment: "The select option’s identifier.",
83
+ type: PatronIdentifier(),
84
+ }),
85
+ to_advanced: Required({
86
+ comment: "The advanced special ability’s identifier.",
87
+ type: TypeArgument(Identifier),
88
+ }),
89
+ }),
90
+ });
91
+ export const advanced = (identifier) => Required({
92
+ comment: "The Advanced Special Abilities for the respective Style Special Ability. Sometimes, only a specific select option or a set of select options of an entry is allowed, which can be modelled by the option property. It can also be that you can choose from a set of special abilities, but then you can’t specify an option.",
93
+ type: Array(GenIncludeIdentifier(AdvancedSpecialAbility, [identifier]), {
94
+ minItems: 3,
95
+ maxItems: 3,
96
+ }),
97
+ });
@@ -0,0 +1,152 @@
1
+ import { ArrayType as Array, EnumDecl as Enum, EnumCaseDecl as EnumCase, IncludeIdentifier, IntegerType as Integer, ObjectType as Object, String, TypeAlias } from "tsondb/schema/def";
2
+ import { MathOperation } from "./_MathExpression.js";
3
+ export declare const ap_value: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"AdventurePointsValue", {
4
+ Fixed: EnumCase<IncludeIdentifier<[], TypeAlias<"FixedAdventurePointsValue", IncludeIdentifier<[], TypeAlias<"AdventurePointsSingleValue", Integer, []>>, []>>>;
5
+ ByLevel: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsValueByLevel", Object<{
6
+ list: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"AdventurePointsSingleValue", Integer, []>>>, true>;
7
+ additionalBySizeCategory: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"BySizeCategory", Object<{
8
+ tiny: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>, true>;
9
+ small: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>, true>;
10
+ medium: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>, true>;
11
+ large: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>, true>;
12
+ huge: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>, true>;
13
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, false>;
14
+ }>, []>>>;
15
+ DerivedFromSelection: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDerivedFromSelection", Object<{
16
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"AdventurePointsDerivedFromSelectionTranslation", {
17
+ replacement: import("tsondb/schema/def").MemberDecl<String, false>;
18
+ }>, false>;
19
+ }>, []>>>;
20
+ DependingOnActive: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActive", Object<{
21
+ id: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"ActivatableIdentifier", {
22
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
23
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
24
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
25
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
26
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
27
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
28
+ AncestorGlyph: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
29
+ ArcaneOrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
30
+ AttireEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
31
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
32
+ BowlEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
33
+ BrawlingSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
34
+ CauldronEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
35
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
36
+ ChronicleEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
37
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
38
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
39
+ CommandSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
40
+ DaggerRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
41
+ FamiliarSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
42
+ FatePointSexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
43
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
44
+ FoolsHatEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
45
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
46
+ InstrumentEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
47
+ KarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
48
+ Krallenkettenzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
49
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
50
+ LycantropicGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
51
+ MagicalSign: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
52
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
53
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
54
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
55
+ OrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
56
+ PactGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
57
+ ProtectiveWardingCircleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
58
+ RingEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
59
+ Sermon: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
60
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
61
+ SickleRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
62
+ SikaryanDrainSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
63
+ SkillStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
64
+ SpellSwordEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
65
+ StaffEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
66
+ ToyEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
67
+ Trinkhornzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
68
+ VampiricGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
69
+ Vision: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
70
+ WandEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
71
+ WeaponEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
72
+ }, []>>, true>;
73
+ active: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"AdventurePointsSingleValue", Integer, []>>, true>;
74
+ inactive: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"AdventurePointsSingleValue", Integer, []>>, true>;
75
+ }>, []>>>;
76
+ DependingOnActiveInstances: EnumCase<IncludeIdentifier<[], Enum<"AdventurePointsDependingOnActiveInstances", {
77
+ Threshold: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesThreshold", Object<{
78
+ normal: import("tsondb/schema/def").MemberDecl<Integer, true>;
79
+ threshold: import("tsondb/schema/def").MemberDecl<Integer, true>;
80
+ alternative: import("tsondb/schema/def").MemberDecl<Integer, true>;
81
+ }>, []>>>;
82
+ Expression: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], MathOperation>, []>>>;
83
+ }, []>>>;
84
+ Indefinite: EnumCase<null>;
85
+ }, []>>, true>;
86
+ export declare const ap_value_l10n: import("tsondb/schema/def").MemberDecl<String, false>;
87
+ export declare const ap_value_append: import("tsondb/schema/def").MemberDecl<String, false>;
88
+ export declare const FixedAdventurePointsValue: TypeAlias<"FixedAdventurePointsValue", IncludeIdentifier<[], TypeAlias<"AdventurePointsSingleValue", Integer, []>>, []>;
89
+ export declare const AdventurePointsDependingOnActive: TypeAlias<"AdventurePointsDependingOnActive", Object<{
90
+ id: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"ActivatableIdentifier", {
91
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
92
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
93
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
94
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
95
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
96
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
97
+ AncestorGlyph: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
98
+ ArcaneOrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
99
+ AttireEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
100
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
101
+ BowlEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
102
+ BrawlingSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
103
+ CauldronEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
104
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
105
+ ChronicleEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
106
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
107
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
108
+ CommandSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
109
+ DaggerRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
110
+ FamiliarSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
111
+ FatePointSexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
112
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
113
+ FoolsHatEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
114
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
115
+ InstrumentEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
116
+ KarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
117
+ Krallenkettenzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
118
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
119
+ LycantropicGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
120
+ MagicalSign: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
121
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
122
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
123
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
124
+ OrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
125
+ PactGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
126
+ ProtectiveWardingCircleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
127
+ RingEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
128
+ Sermon: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
129
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
130
+ SickleRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
131
+ SikaryanDrainSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
132
+ SkillStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
133
+ SpellSwordEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
134
+ StaffEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
135
+ ToyEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
136
+ Trinkhornzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
137
+ VampiricGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
138
+ Vision: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
139
+ WandEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
140
+ WeaponEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
141
+ }, []>>, true>;
142
+ active: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"AdventurePointsSingleValue", Integer, []>>, true>;
143
+ inactive: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"AdventurePointsSingleValue", Integer, []>>, true>;
144
+ }>, []>;
145
+ export declare const AdventurePointsDependingOnActiveInstances: Enum<"AdventurePointsDependingOnActiveInstances", {
146
+ Threshold: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesThreshold", Object<{
147
+ normal: import("tsondb/schema/def").MemberDecl<Integer, true>;
148
+ threshold: import("tsondb/schema/def").MemberDecl<Integer, true>;
149
+ alternative: import("tsondb/schema/def").MemberDecl<Integer, true>;
150
+ }>, []>>>;
151
+ Expression: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], MathOperation>, []>>>;
152
+ }, []>;
@@ -0,0 +1,141 @@
1
+ import { ArrayType as Array, EnumDecl as Enum, EnumCaseDecl as EnumCase, GenIncludeIdentifierType as GenIncludeIdentifier, IncludeIdentifier, IntegerType as Integer, ObjectType as Object, Optional, Required, String, TypeAlias, } from "tsondb/schema/def";
2
+ import { ActivatableIdentifier } from "./_IdentifierGroup.js";
3
+ import { MathOperation } from "./_MathExpression.js";
4
+ import { BySizeCategory } from "./_SizeCategory.js";
5
+ import { NestedTranslationMap } from "./Locale.js";
6
+ const AdventurePointsValue = Enum(import.meta.url, {
7
+ name: "AdventurePointsValue",
8
+ values: () => ({
9
+ Fixed: EnumCase({ type: IncludeIdentifier(FixedAdventurePointsValue) }),
10
+ ByLevel: EnumCase({ type: IncludeIdentifier(AdventurePointsValueByLevel) }),
11
+ DerivedFromSelection: EnumCase({
12
+ type: IncludeIdentifier(AdventurePointsDerivedFromSelection),
13
+ }),
14
+ DependingOnActive: EnumCase({
15
+ type: IncludeIdentifier(AdventurePointsDependingOnActive),
16
+ }),
17
+ DependingOnActiveInstances: EnumCase({
18
+ type: IncludeIdentifier(AdventurePointsDependingOnActiveInstances),
19
+ }),
20
+ Indefinite: EnumCase({ type: null }),
21
+ }),
22
+ });
23
+ export const ap_value = Required({
24
+ comment: "The adventure points value.",
25
+ type: IncludeIdentifier(AdventurePointsValue),
26
+ });
27
+ export const ap_value_l10n = Optional({
28
+ comment: "The adventure points value.",
29
+ isDeprecated: true,
30
+ type: String({ minLength: 1 }),
31
+ });
32
+ export const ap_value_append = Optional({
33
+ comment: "The string to append to the generated AP value text.",
34
+ isDeprecated: true,
35
+ type: String({ minLength: 1 }),
36
+ });
37
+ export const FixedAdventurePointsValue = TypeAlias(import.meta.url, {
38
+ name: "FixedAdventurePointsValue",
39
+ comment: "A fixed adventure points value. If the entry has levels, this is the cost per level as well.",
40
+ type: () => IncludeIdentifier(AdventurePointsSingleValue),
41
+ });
42
+ const AdventurePointsValueByLevel = TypeAlias(import.meta.url, {
43
+ name: "AdventurePointsValueByLevel",
44
+ comment: "An entry with levels may have different costs for each level.",
45
+ type: () => Object({
46
+ list: Required({
47
+ comment: "The list of adventure point values, where the position in the list corresponds to the level (i.e. the first value is for level I, the second value is for level II, and so on). The length of the list must match the amount of levels the special ability has.",
48
+ type: Array(IncludeIdentifier(AdventurePointsSingleValue), { minItems: 2 }),
49
+ }),
50
+ additionalBySizeCategory: Optional({
51
+ comment: "Values may be added to each level based on the size category of the character. Negative values mean that the AP value is lowered.",
52
+ type: GenIncludeIdentifier(BySizeCategory, [Integer()]),
53
+ }),
54
+ }),
55
+ });
56
+ const AdventurePointsDerivedFromSelection = TypeAlias(import.meta.url, {
57
+ name: "AdventurePointsDerivedFromSelection",
58
+ comment: "The adventure points value is derived from the selection of the special ability. Its display value may be able to be derived from the given information for the select options. If that is not the case or the generated text would not match the original one, a replacement text can be provided.",
59
+ type: () => Object({
60
+ translations: NestedTranslationMap(Optional, "AdventurePointsDerivedFromSelection", Object({
61
+ replacement: Optional({
62
+ comment: "A replacement for the generated text if it would not match the original one.",
63
+ type: String({ minLength: 1, isMarkdown: true }),
64
+ }),
65
+ }, { minProperties: 1 })),
66
+ }),
67
+ });
68
+ const AdventurePointsSingleValue = TypeAlias(import.meta.url, {
69
+ name: "AdventurePointsSingleValue",
70
+ comment: "A single adventure points value.",
71
+ type: () => Integer({ minimum: 0 }),
72
+ });
73
+ export const AdventurePointsDependingOnActive = TypeAlias(import.meta.url, {
74
+ name: "AdventurePointsDependingOnActive",
75
+ comment: "The adventure points cost depends on if an instance of an entry is active.",
76
+ type: () => Object({
77
+ id: Required({
78
+ comment: "The identifier of the entry to that decides which AP value to pick.",
79
+ type: IncludeIdentifier(ActivatableIdentifier),
80
+ }),
81
+ active: Required({
82
+ comment: "The adventure points value if an instance of the referenced entry is active.",
83
+ type: IncludeIdentifier(AdventurePointsSingleValue),
84
+ }),
85
+ inactive: Required({
86
+ comment: "The adventure points value if no instance of the referenced entry is active.",
87
+ type: IncludeIdentifier(AdventurePointsSingleValue),
88
+ }),
89
+ }),
90
+ });
91
+ export const AdventurePointsDependingOnActiveInstances = Enum(import.meta.url, {
92
+ name: "AdventurePointsDependingOnActiveInstances",
93
+ comment: "The adventure points cost depends on how many instances of the entry are already active.",
94
+ values: () => ({
95
+ Threshold: EnumCase({
96
+ type: IncludeIdentifier(AdventurePointsDependingOnActiveInstancesThreshold),
97
+ }),
98
+ Expression: EnumCase({
99
+ type: IncludeIdentifier(AdventurePointsDependingOnActiveInstancesExpression),
100
+ }),
101
+ }),
102
+ });
103
+ const AdventurePointsDependingOnActiveInstancesThreshold = TypeAlias(import.meta.url, {
104
+ name: "AdventurePointsDependingOnActiveInstancesThreshold",
105
+ comment: "The adventure points cost depends on how many instances of the entry are already active.",
106
+ type: () => Object({
107
+ normal: Required({
108
+ comment: "The normal adventure points value.",
109
+ type: Integer({ minimum: 0 }),
110
+ }),
111
+ threshold: Required({
112
+ comment: "The number of active instances **after** which the alternative cost applies.",
113
+ type: Integer({ minimum: 1 }),
114
+ }),
115
+ alternative: Required({
116
+ comment: "The alternative adventure points value.",
117
+ type: Integer({ minimum: 0 }),
118
+ }),
119
+ }),
120
+ });
121
+ const AdventurePointsDependingOnActiveInstancesExpression = TypeAlias(import.meta.url, {
122
+ name: "AdventurePointsDependingOnActiveInstancesExpression",
123
+ comment: "The adventure points cost depends on how many instances of the entry are already active.",
124
+ type: () => GenIncludeIdentifier(MathOperation, [
125
+ IncludeIdentifier(AdventurePointsDependingOnActiveInstancesExpressionValue),
126
+ ]),
127
+ });
128
+ const AdventurePointsDependingOnActiveInstancesExpressionValue = Enum(import.meta.url, {
129
+ name: "AdventurePointsDependingOnActiveInstancesExpressionValue",
130
+ comment: `The type of value allowed in the expression to calculate the AP value.`,
131
+ values: () => ({
132
+ Constant: EnumCase({
133
+ comment: "A constant integer value.",
134
+ type: Integer(),
135
+ }),
136
+ Active: EnumCase({
137
+ comment: "The number of active instances.",
138
+ type: null,
139
+ }),
140
+ }),
141
+ });
@@ -0,0 +1,71 @@
1
+ import { Array, Boolean, Enum, EnumCase, IncludeIdentifier, Integer, Object, TypeAlias } from "tsondb/schema/def";
2
+ export declare const automatic_entries: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"AutomaticEntry", Object<{
3
+ action: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"AutomaticEntryAction", {
4
+ Add: EnumCase<null>;
5
+ Remove: EnumCase<null>;
6
+ }, []>>, true>;
7
+ apply_ap_value: import("tsondb/schema/def").MemberDecl<Boolean, true>;
8
+ target: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"AutomaticEntryTarget", {
9
+ Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"AutomaticEntryTargetSelection", Object<{
10
+ list: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"AutomaticEntryTargetSelectionList", {
11
+ MagicalTraditions: EnumCase<null>;
12
+ MagicalDilettanteTraditions: EnumCase<null>;
13
+ }, []>>, true>;
14
+ }>, []>>>;
15
+ Fixed: EnumCase<IncludeIdentifier<[], TypeAlias<"FixedAutomaticEntryTarget", Object<{
16
+ id: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"ActivatableIdentifier", {
17
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
18
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
19
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
20
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
21
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
22
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
23
+ AncestorGlyph: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
24
+ ArcaneOrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
25
+ AttireEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
26
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
27
+ BowlEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
28
+ BrawlingSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
29
+ CauldronEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
30
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
31
+ ChronicleEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
32
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
33
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
34
+ CommandSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
35
+ DaggerRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
36
+ FamiliarSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
37
+ FatePointSexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
38
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
39
+ FoolsHatEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
40
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
41
+ InstrumentEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
42
+ KarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
43
+ Krallenkettenzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
44
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
45
+ LycantropicGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
46
+ MagicalSign: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
47
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
48
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
49
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
50
+ OrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
51
+ PactGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
52
+ ProtectiveWardingCircleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
53
+ RingEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
54
+ Sermon: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
55
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
56
+ SickleRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
57
+ SikaryanDrainSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
58
+ SkillStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
59
+ SpellSwordEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
60
+ StaffEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
61
+ ToyEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
62
+ Trinkhornzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
63
+ VampiricGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
64
+ Vision: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
65
+ WandEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
66
+ WeaponEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
67
+ }, []>>, true>;
68
+ level: import("tsondb/schema/def").MemberDecl<Integer, false>;
69
+ }>, []>>>;
70
+ }, []>>, true>;
71
+ }>, []>>>, false>;
@@ -0,0 +1,64 @@
1
+ import { Array, Boolean, Enum, EnumCase, IncludeIdentifier, Integer, Object, Optional, Required, TypeAlias, } from "tsondb/schema/def";
2
+ import { ActivatableIdentifier } from "./_IdentifierGroup.js";
3
+ const AutomaticEntry = TypeAlias(import.meta.url, {
4
+ name: "AutomaticEntry",
5
+ type: () => Object({
6
+ action: Required({
7
+ comment: "What type of action is applied to the target entry?",
8
+ type: IncludeIdentifier(AutomaticEntryAction),
9
+ }),
10
+ apply_ap_value: Required({
11
+ comment: "If an entry is added or removed, does is cost or grant adventure points or is it free of charge?",
12
+ type: Boolean(),
13
+ }),
14
+ target: Required({
15
+ comment: "The entry that is to be added or removed. It can be a fixed entry or a selection where the player must choose one entry.",
16
+ type: IncludeIdentifier(AutomaticEntryTarget),
17
+ }),
18
+ }),
19
+ });
20
+ export const automatic_entries = Optional({
21
+ comment: "This entry has a direct influence on the existence of other entries. It may add or remove entries.",
22
+ type: Array(IncludeIdentifier(AutomaticEntry), { minItems: 1 }),
23
+ });
24
+ const AutomaticEntryAction = Enum(import.meta.url, {
25
+ name: "AutomaticEntryAction",
26
+ values: () => ({
27
+ Add: EnumCase({ type: null }),
28
+ Remove: EnumCase({ type: null }),
29
+ }),
30
+ });
31
+ const AutomaticEntryTarget = Enum(import.meta.url, {
32
+ name: "AutomaticEntryTarget",
33
+ values: () => ({
34
+ Selection: EnumCase({ type: IncludeIdentifier(AutomaticEntryTargetSelection) }),
35
+ Fixed: EnumCase({ type: IncludeIdentifier(FixedAutomaticEntryTarget) }),
36
+ }),
37
+ });
38
+ const AutomaticEntryTargetSelection = TypeAlias(import.meta.url, {
39
+ name: "AutomaticEntryTargetSelection",
40
+ type: () => Object({
41
+ list: Required({
42
+ type: IncludeIdentifier(AutomaticEntryTargetSelectionList),
43
+ }),
44
+ }),
45
+ });
46
+ const AutomaticEntryTargetSelectionList = Enum(import.meta.url, {
47
+ name: "AutomaticEntryTargetSelectionList",
48
+ values: () => ({
49
+ MagicalTraditions: EnumCase({ type: null }),
50
+ MagicalDilettanteTraditions: EnumCase({ type: null }),
51
+ }),
52
+ });
53
+ const FixedAutomaticEntryTarget = TypeAlias(import.meta.url, {
54
+ name: "FixedAutomaticEntryTarget",
55
+ type: () => Object({
56
+ id: Required({
57
+ type: IncludeIdentifier(ActivatableIdentifier),
58
+ }),
59
+ level: Optional({
60
+ comment: "The level of the target entry to be added or removed. If this is omitted for a multi-level entry, level 1 is assumed.",
61
+ type: Integer({ minimum: 1 }),
62
+ }),
63
+ }),
64
+ });