@optolith/database-schema 0.61.0 → 0.63.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 (80) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/gen/types.d.ts +90 -21
  3. package/lib/types/Advantage.d.ts +24 -1
  4. package/lib/types/Ceremony.d.ts +20 -68
  5. package/lib/types/Disadvantage.d.ts +24 -1
  6. package/lib/types/LiturgicalChant.d.ts +20 -68
  7. package/lib/types/Locale.d.ts +1 -0
  8. package/lib/types/Locale.js +1 -0
  9. package/lib/types/Profession.d.ts +12 -92
  10. package/lib/types/Profession.js +2 -2
  11. package/lib/types/Ritual.d.ts +20 -68
  12. package/lib/types/Spell.d.ts +20 -68
  13. package/lib/types/_ActivatableAdventurePointsValue.d.ts +48 -2
  14. package/lib/types/_ActivatableAdventurePointsValue.js +23 -0
  15. package/lib/types/_ActivatableNonMundane.d.ts +25 -85
  16. package/lib/types/_ActivatableSkill.d.ts +50 -170
  17. package/lib/types/_ActivatableSkillCost.d.ts +25 -85
  18. package/lib/types/_ActivatableSkillParameterMap.d.ts +40 -17
  19. package/lib/types/_ActivatableSkillParameterMap.js +40 -23
  20. package/lib/types/_Prerequisite.d.ts +4 -0
  21. package/lib/types/_Prerequisite.js +27 -0
  22. package/lib/types/magicalActions/Bannzeichen.d.ts +5 -17
  23. package/lib/types/magicalActions/GeodeRitual.d.ts +5 -17
  24. package/lib/types/magicalActions/ZibiljaRitual.d.ts +10 -34
  25. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +24 -1
  26. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +24 -1
  27. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +24 -1
  28. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +24 -1
  29. package/lib/types/specialAbility/AncestorGlyph.d.ts +24 -1
  30. package/lib/types/specialAbility/BlessedTradition.d.ts +24 -1
  31. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +24 -1
  32. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +24 -1
  33. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +24 -1
  34. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +24 -1
  35. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +24 -1
  36. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +24 -1
  37. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +24 -1
  38. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +24 -1
  39. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +24 -1
  40. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +24 -1
  41. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +24 -1
  42. package/lib/types/specialAbility/LycantropicGift.d.ts +24 -1
  43. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +24 -1
  44. package/lib/types/specialAbility/MagicalSign.d.ts +5 -17
  45. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +24 -1
  46. package/lib/types/specialAbility/MagicalTradition.d.ts +24 -1
  47. package/lib/types/specialAbility/PactGift.d.ts +24 -1
  48. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +24 -1
  49. package/lib/types/specialAbility/Sermon.d.ts +24 -1
  50. package/lib/types/specialAbility/SexSpecialAbility.d.ts +24 -1
  51. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +24 -1
  52. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +24 -1
  53. package/lib/types/specialAbility/VampiricGift.d.ts +24 -1
  54. package/lib/types/specialAbility/Vision.d.ts +24 -1
  55. package/lib/types/specialAbility/sub/TradeSecret.d.ts +24 -1
  56. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +39 -52
  57. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +39 -52
  58. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +39 -52
  59. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +39 -52
  60. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +39 -52
  61. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +39 -52
  62. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +39 -52
  63. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +39 -52
  64. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +39 -52
  65. package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +39 -52
  66. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +39 -52
  67. package/lib/types/traditionArtifacts/Keulenzauber.d.ts +39 -52
  68. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +39 -52
  69. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +39 -52
  70. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +39 -52
  71. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +39 -52
  72. package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +39 -52
  73. package/lib/types/traditionArtifacts/SickleRitual.d.ts +39 -52
  74. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +39 -52
  75. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +39 -52
  76. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +39 -52
  77. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +39 -52
  78. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +34 -35
  79. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +39 -52
  80. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.63.0](https://github.com/Optolith/database-schema/compare/v0.62.0...v0.63.0) (2026-09-16)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * custom labels for expression-based AP value
10
+
11
+ ### Features
12
+
13
+ * custom labels for expression-based AP value ([fa1e099](https://github.com/Optolith/database-schema/commit/fa1e0993e9d10736e92ebeb036c58bcc4e66a0a6))
14
+ ## [0.62.0](https://github.com/Optolith/database-schema/compare/v0.61.0...v0.62.0) (2026-09-15)
15
+
16
+ ### ⚠ BREAKING CHANGES
17
+
18
+ * removable prerequisites in profession variants
19
+
20
+ ### Features
21
+
22
+ * removable prerequisites in profession variants ([da532f7](https://github.com/Optolith/database-schema/commit/da532f7fd939602dd042ecd4599bda74cca4fc8c))
5
23
  ## [0.61.0](https://github.com/Optolith/database-schema/compare/v0.60.0...v0.61.0) (2026-09-13)
6
24
 
7
25
  ### ⚠ BREAKING CHANGES
package/gen/types.d.ts CHANGED
@@ -376,7 +376,6 @@ export type EnumMap = {
376
376
  OneTimeCostMap: OneTimeCostMap
377
377
  PactGiftPermanentDemonicConsumption: PactGiftPermanentDemonicConsumption
378
378
  Page: Page
379
- ParameterMapStyle: ParameterMapStyle
380
379
  PatronCultureOperation: PatronCultureOperation
381
380
  Penalty: Penalty
382
381
  PenaltyByAttackReplacement: PenaltyByAttackReplacement
@@ -395,6 +394,7 @@ export type EnumMap = {
395
394
  PoisonStart: PoisonStart
396
395
  PoisonTimeUnit: PoisonTimeUnit
397
396
  PreconditionGroup: PreconditionGroup
397
+ PrerequisiteDiff: PrerequisiteDiff<unknown>
398
398
  PrerequisitesElement: PrerequisitesElement<unknown>
399
399
  PrimaryAttributeCategory: PrimaryAttributeCategory
400
400
  PrimaryAttributeDamageThreshold: PrimaryAttributeDamageThreshold
@@ -461,6 +461,7 @@ export type EnumMap = {
461
461
  TradeSecretAdventurePointsValue: TradeSecretAdventurePointsValue
462
462
  TradeSecretSelectOptionCategory: TradeSecretSelectOptionCategory
463
463
  TribePrerequisiteGroup: TribePrerequisiteGroup
464
+ ValueMapStyle: ValueMapStyle
464
465
  VariantOptionAction: VariantOptionAction<unknown>
465
466
  VariantSpecialAbilityAction: VariantSpecialAbilityAction
466
467
  Volume: Volume
@@ -482,6 +483,9 @@ export type TypeAliasMap = {
482
483
  AdvantageDisadvantagePrerequisites: AdvantageDisadvantagePrerequisites
483
484
  AdventurePointsDependingOnActive: AdventurePointsDependingOnActive
484
485
  AdventurePointsDependingOnActiveInstancesExpression: AdventurePointsDependingOnActiveInstancesExpression
486
+ AdventurePointsDependingOnActiveInstancesExpressionExpression: AdventurePointsDependingOnActiveInstancesExpressionExpression
487
+ AdventurePointsDependingOnActiveInstancesExpressionLabels: AdventurePointsDependingOnActiveInstancesExpressionLabels
488
+ AdventurePointsDependingOnActiveInstancesExpressionLabelsOption: AdventurePointsDependingOnActiveInstancesExpressionLabelsOption
485
489
  AdventurePointsDependingOnActiveInstancesThreshold: AdventurePointsDependingOnActiveInstancesThreshold
486
490
  AdventurePointsDerivedFromSelection: AdventurePointsDerivedFromSelection
487
491
  AdventurePointsSingleValue: AdventurePointsSingleValue
@@ -792,6 +796,7 @@ export type TypeAliasMap = {
792
796
  PersonalityTraitPrerequisites: PersonalityTraitPrerequisites
793
797
  PlainBookRules: PlainBookRules
794
798
  PlainCommonProfessions: PlainCommonProfessions
799
+ PlainDiffPrerequisites: PlainDiffPrerequisites<unknown>
795
800
  PlainGeneralPrerequisites: PlainGeneralPrerequisites
796
801
  PlainPrerequisites: PlainPrerequisites<unknown>
797
802
  PlantEffect: PlantEffect
@@ -817,6 +822,7 @@ export type TypeAliasMap = {
817
822
  ProfessionSpecialAbilitySelection: ProfessionSpecialAbilitySelection
818
823
  ProfessionSpellworkIdentifier: ProfessionSpellworkIdentifier
819
824
  ProfessionVariantPackageOptions: ProfessionVariantPackageOptions
825
+ ProfessionVariantPrerequisites: ProfessionVariantPrerequisites
820
826
  ProfessionVariantSpecialAbility: ProfessionVariantSpecialAbility
821
827
  PropertiesSelectOptionCategory: PropertiesSelectOptionCategory
822
828
  Protection: Protection
@@ -930,6 +936,7 @@ export type TypeAliasMap = {
930
936
  TinyActivatablePrerequisite: TinyActivatablePrerequisite
931
937
  TradeSecretSelectOptions: TradeSecretSelectOptions
932
938
  TribePrerequisites: TribePrerequisites
939
+ ValueMap: ValueMap<unknown>
933
940
  VolumeByLevel: VolumeByLevel
934
941
  VolumeByLevelItem: VolumeByLevelItem
935
942
  VolumeDerivedFromSelection: VolumeDerivedFromSelection
@@ -2171,6 +2178,7 @@ export interface Locale {
2171
2178
  "no advantage": string
2172
2179
  "disadvantage": string
2173
2180
  "no disadvantage": string
2181
+ "no prerequisite {$prerequisite}": string & { __params: { "prerequisite": StringableTranslationParameter } }
2174
2182
  "domain {$domain}": string & { __params: { "domain": StringableTranslationParameter } }
2175
2183
  "{$pact} level {$pactLevel}": string & { __params: { "pact": StringableTranslationParameter; "pactLevel": StringableTranslationParameter } }
2176
2184
  "Level {$level}": string & { __params: { "level": StringableTranslationParameter } }
@@ -6908,26 +6916,33 @@ export interface ModifiableOneTimeCostMap {
6908
6916
  *
6909
6917
  * The `an item the size of a` would be the *list prefix* string, while the list of options would contain four options with the activation cost and the name.
6910
6918
  */
6911
- export interface ParameterMap<Value> {
6919
+ export type ParameterMap<Value> = ValueMap<ParameterMapOption<Value>>
6920
+
6921
+ /**
6922
+ * A content that is `2/4/8/16 AE (activation) + 1/2/4/8 per 5 minutes for an item the size of a cup/chest/door/castle gate` can be represented as a cost map.
6923
+ *
6924
+ * The `an item the size of a` would be the *list prefix* string, while the list of options would contain four options with the activation cost and the name.
6925
+ */
6926
+ export interface ValueMap<Option> {
6912
6927
  /**
6913
6928
  * The possible values and associated labels.
6914
6929
  */
6915
- options: ParameterMapOption<Value>[]
6930
+ options: Option[]
6916
6931
 
6917
6932
  /**
6918
6933
  * The style of the generated string. It may either be displayed in a compressed way (e.g. `1/2/3 AE for a small/medium/large object`) or in a verbose way (e.g. `1 AE for a small object, 2 AE for a medium object, 3 AE for a large object`).
6919
6934
  */
6920
- style: ParameterMapStyle
6935
+ style: ValueMapStyle
6921
6936
 
6922
6937
  /**
6923
6938
  * All translations for the entry, identified by IETF language tag (BCP47).
6924
6939
  */
6925
6940
  translations?: {
6926
- [localeId: string]: ParameterMapTranslation
6941
+ [localeId: string]: ValueMapTranslation
6927
6942
  }
6928
6943
  }
6929
6944
 
6930
- export interface ParameterMapTranslation {
6945
+ export interface ValueMapTranslation {
6931
6946
  /**
6932
6947
  * Place a string between the `for` and the grouped map option labels.
6933
6948
  */
@@ -6939,11 +6954,22 @@ export interface ParameterMapTranslation {
6939
6954
  listSuffix?: ResponsiveTextOptional
6940
6955
 
6941
6956
  /**
6942
- * If the string from the book cannot be generated using the default generation technique, use this string. All options still need to be inserted propertly, since it may be used by in-game tools to provide a selection to players.
6957
+ * If the string from the book cannot be generated using the default generation technique, use this string. All options still need to be inserted properly, since it may be used by in-game tools to provide a selection to players.
6943
6958
  */
6944
6959
  replacement?: ResponsiveTextOptional
6945
6960
  }
6946
6961
 
6962
+ /**
6963
+ * The style of the generated string. It may either be displayed in a compressed way (e.g. `1/2/3 AE for a small/medium/large object`) or in a verbose way (e.g. `1 AE for a small object, 2 AE for a medium object, 3 AE for a large object`).
6964
+ */
6965
+ export type ValueMapStyle =
6966
+ | {
6967
+ kind: "Compressed"
6968
+ }
6969
+ | {
6970
+ kind: "Verbose"
6971
+ }
6972
+
6947
6973
  export interface ParameterMapOption<Value> {
6948
6974
  /**
6949
6975
  * The value this option represents. If used for sustained cost, the interval cost is always half of this value.
@@ -6953,7 +6979,7 @@ export interface ParameterMapOption<Value> {
6953
6979
  /**
6954
6980
  * All translations for the entry, identified by IETF language tag (BCP47).
6955
6981
  */
6956
- translations?: {
6982
+ translations: {
6957
6983
  [localeId: string]: ParameterMapOptionTranslation
6958
6984
  }
6959
6985
  }
@@ -6970,17 +6996,6 @@ export interface ParameterMapOptionTranslation {
6970
6996
  standaloneLabel?: ResponsiveTextOptional
6971
6997
  }
6972
6998
 
6973
- /**
6974
- * The style of the generated string. It may either be displayed in a compressed way (e.g. `1/2/3 AE for a small/medium/large object`) or in a verbose way (e.g. `1 AE for a small object, 2 AE for a medium object, 3 AE for a large object`).
6975
- */
6976
- export type ParameterMapStyle =
6977
- | {
6978
- kind: "Compressed"
6979
- }
6980
- | {
6981
- kind: "Verbose"
6982
- }
6983
-
6984
6999
  export interface ModifiableOneTimeCostMapOptionValue {
6985
7000
  /**
6986
7001
  * The initial skill modification identifier/level.
@@ -8116,7 +8131,24 @@ export interface AdventurePointsDependingOnActiveInstancesThreshold {
8116
8131
  /**
8117
8132
  * The adventure points cost depends on how many instances of the entry are already active.
8118
8133
  */
8119
- export type AdventurePointsDependingOnActiveInstancesExpression = MathOperation<AdventurePointsDependingOnActiveInstancesExpressionValue>
8134
+ export interface AdventurePointsDependingOnActiveInstancesExpression {
8135
+ /**
8136
+ * The expression to calculate the AP value.
8137
+ */
8138
+ expression: AdventurePointsDependingOnActiveInstancesExpressionExpression
8139
+
8140
+ /**
8141
+ * Custom labels for the expression values. If not provided, the default labels will be used.
8142
+ *
8143
+ * The values to provide must be in the same order as they appear in the expression. For example, if the expression is `Active * 2 + 1`, the first option corresponds to `1`, the second option corresponds to `3`, and so on. Only the amount of options specified will be displayed.
8144
+ */
8145
+ customLabels?: AdventurePointsDependingOnActiveInstancesExpressionLabels
8146
+ }
8147
+
8148
+ /**
8149
+ * The adventure points cost depends on how many instances of the entry are already active.
8150
+ */
8151
+ export type AdventurePointsDependingOnActiveInstancesExpressionExpression = MathOperation<AdventurePointsDependingOnActiveInstancesExpressionValue>
8120
8152
 
8121
8153
  /**
8122
8154
  * The type of value allowed in the expression to calculate the AP value.
@@ -8130,6 +8162,29 @@ export type AdventurePointsDependingOnActiveInstancesExpressionValue =
8130
8162
  kind: "Active"
8131
8163
  }
8132
8164
 
8165
+ /**
8166
+ * Custom labels for the expression values. If not provided, the default labels will be used.
8167
+ *
8168
+ * The values to provide must be in the same order as they appear in the expression. For example, if the expression is `Active * 2 + 1`, the first option corresponds to `1`, the second option corresponds to `3`, and so on. Only the amount of options specified will be displayed.
8169
+ */
8170
+ export type AdventurePointsDependingOnActiveInstancesExpressionLabels = ValueMap<AdventurePointsDependingOnActiveInstancesExpressionLabelsOption>
8171
+
8172
+ export interface AdventurePointsDependingOnActiveInstancesExpressionLabelsOption {
8173
+ /**
8174
+ * All translations for the entry, identified by IETF language tag (BCP47).
8175
+ */
8176
+ translations: {
8177
+ [localeId: string]: AdventurePointsDependingOnActiveInstancesExpressionLabelsOptionTranslation
8178
+ }
8179
+ }
8180
+
8181
+ export interface AdventurePointsDependingOnActiveInstancesExpressionLabelsOptionTranslation {
8182
+ /**
8183
+ * The description of the option for cost string generation.
8184
+ */
8185
+ label: ResponsiveTextOptional
8186
+ }
8187
+
8133
8188
  export interface SpecialRule {
8134
8189
  /**
8135
8190
  * An optional label that is displayed and placed before the actual text.
@@ -9851,7 +9906,7 @@ export interface ProfessionVariant {
9851
9906
  /**
9852
9907
  * Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.
9853
9908
  */
9854
- prerequisites?: ProfessionPrerequisites
9909
+ prerequisites?: ProfessionVariantPrerequisites
9855
9910
 
9856
9911
  /**
9857
9912
  * In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package. The variant may override or remove those options.
@@ -9913,6 +9968,20 @@ export interface ProfessionVariantTranslation {
9913
9968
  concluding_text?: string
9914
9969
  }
9915
9970
 
9971
+ export type ProfessionVariantPrerequisites = PlainDiffPrerequisites<ProfessionPrerequisiteGroup>
9972
+
9973
+ export type PlainDiffPrerequisites<T> = PrerequisiteDiff<PrerequisitesElement<T>>[]
9974
+
9975
+ export type PrerequisiteDiff<T> =
9976
+ | {
9977
+ kind: "Add"
9978
+ Add: T
9979
+ }
9980
+ | {
9981
+ kind: "Remove"
9982
+ Remove: T
9983
+ }
9984
+
9916
9985
  /**
9917
9986
  * In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package. The variant may override or remove those options.
9918
9987
  */
@@ -1169,7 +1169,30 @@ export declare const Advantage: DB.Entity<"Advantage", {
1169
1169
  threshold: DB.MemberDecl<DB.Integer, true>;
1170
1170
  alternative: DB.MemberDecl<DB.Integer, true>;
1171
1171
  }>, []>>>;
1172
- Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>>;
1172
+ Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", DB.Object<{
1173
+ expression: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpressionExpression", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>, true>;
1174
+ customLabels: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpressionLabels", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ValueMap", DB.Object<{
1175
+ options: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"Option", DB.Type>>>, true>;
1176
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
1177
+ Compressed: DB.EnumCase<null>;
1178
+ Verbose: DB.EnumCase<null>;
1179
+ }, []>>, true>;
1180
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
1181
+ listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
1182
+ full: DB.MemberDecl<DB.String, true>;
1183
+ compressed: DB.MemberDecl<DB.String, false>;
1184
+ }>, []>>, false>;
1185
+ listSuffix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
1186
+ full: DB.MemberDecl<DB.String, true>;
1187
+ compressed: DB.MemberDecl<DB.String, false>;
1188
+ }>, []>>, false>;
1189
+ replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
1190
+ full: DB.MemberDecl<DB.String, true>;
1191
+ compressed: DB.MemberDecl<DB.String, false>;
1192
+ }>, []>>, false>;
1193
+ }>, false>;
1194
+ }>, [Option: DB.Param<"Option", DB.Type>]>>, []>>, false>;
1195
+ }>, []>>>;
1173
1196
  }, []>>>;
1174
1197
  Indefinite: DB.EnumCase<null>;
1175
1198
  }, []>>, true>;
@@ -136,25 +136,13 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
136
136
  }, []>>>, []>>>;
137
137
  Map: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"OneTimeCostMap", {
138
138
  Modifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ModifiableOneTimeCostMap", DB.Object<{
139
- map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
140
- options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
141
- value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
142
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
143
- label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
144
- full: DB.MemberDecl<DB.String, true>;
145
- compressed: DB.MemberDecl<DB.String, false>;
146
- }>, []>>, true>;
147
- standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
148
- full: DB.MemberDecl<DB.String, true>;
149
- compressed: DB.MemberDecl<DB.String, false>;
150
- }>, []>>, false>;
151
- }>, false>;
152
- }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
153
- style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
139
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ValueMap", DB.Object<{
140
+ options: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"Option", DB.Type>>>, true>;
141
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
154
142
  Compressed: DB.EnumCase<null>;
155
143
  Verbose: DB.EnumCase<null>;
156
144
  }, []>>, true>;
157
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
145
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
158
146
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
159
147
  full: DB.MemberDecl<DB.String, true>;
160
148
  compressed: DB.MemberDecl<DB.String, false>;
@@ -168,28 +156,16 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
168
156
  compressed: DB.MemberDecl<DB.String, false>;
169
157
  }>, []>>, false>;
170
158
  }>, false>;
171
- }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
159
+ }>, [Option: DB.Param<"Option", DB.Type>]>>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
172
160
  }>, []>>>;
173
161
  NonModifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableOneTimeCostMap", DB.Object<{
174
- map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
175
- options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
176
- value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
177
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
178
- label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
179
- full: DB.MemberDecl<DB.String, true>;
180
- compressed: DB.MemberDecl<DB.String, false>;
181
- }>, []>>, true>;
182
- standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
183
- full: DB.MemberDecl<DB.String, true>;
184
- compressed: DB.MemberDecl<DB.String, false>;
185
- }>, []>>, false>;
186
- }>, false>;
187
- }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
188
- style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
162
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ValueMap", DB.Object<{
163
+ options: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"Option", DB.Type>>>, true>;
164
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
189
165
  Compressed: DB.EnumCase<null>;
190
166
  Verbose: DB.EnumCase<null>;
191
167
  }, []>>, true>;
192
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
168
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
193
169
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
194
170
  full: DB.MemberDecl<DB.String, true>;
195
171
  compressed: DB.MemberDecl<DB.String, false>;
@@ -203,7 +179,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
203
179
  compressed: DB.MemberDecl<DB.String, false>;
204
180
  }>, []>>, false>;
205
181
  }>, false>;
206
- }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
182
+ }>, [Option: DB.Param<"Option", DB.Type>]>>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
207
183
  }>, []>>>;
208
184
  }, []>>>;
209
185
  }, []>>, true>;
@@ -400,25 +376,13 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
400
376
  }, []>>>;
401
377
  Map: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"SustainedCostMap", {
402
378
  Modifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ModifiableSustainedCostMap", DB.Object<{
403
- map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
404
- options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
405
- value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
406
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
407
- label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
408
- full: DB.MemberDecl<DB.String, true>;
409
- compressed: DB.MemberDecl<DB.String, false>;
410
- }>, []>>, true>;
411
- standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
412
- full: DB.MemberDecl<DB.String, true>;
413
- compressed: DB.MemberDecl<DB.String, false>;
414
- }>, []>>, false>;
415
- }>, false>;
416
- }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
417
- style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
379
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ValueMap", DB.Object<{
380
+ options: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"Option", DB.Type>>>, true>;
381
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
418
382
  Compressed: DB.EnumCase<null>;
419
383
  Verbose: DB.EnumCase<null>;
420
384
  }, []>>, true>;
421
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
385
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
422
386
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
423
387
  full: DB.MemberDecl<DB.String, true>;
424
388
  compressed: DB.MemberDecl<DB.String, false>;
@@ -432,7 +396,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
432
396
  compressed: DB.MemberDecl<DB.String, false>;
433
397
  }>, []>>, false>;
434
398
  }>, false>;
435
- }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
399
+ }>, [Option: DB.Param<"Option", DB.Type>]>>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
436
400
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
437
401
  value: DB.MemberDecl<DB.Integer, true>;
438
402
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
@@ -461,25 +425,13 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
461
425
  }>, []>>, true>;
462
426
  }>, []>>>;
463
427
  NonModifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableSustainedCostMap", DB.Object<{
464
- map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
465
- options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
466
- value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
467
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
468
- label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
469
- full: DB.MemberDecl<DB.String, true>;
470
- compressed: DB.MemberDecl<DB.String, false>;
471
- }>, []>>, true>;
472
- standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
473
- full: DB.MemberDecl<DB.String, true>;
474
- compressed: DB.MemberDecl<DB.String, false>;
475
- }>, []>>, false>;
476
- }>, false>;
477
- }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
478
- style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
428
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ValueMap", DB.Object<{
429
+ options: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"Option", DB.Type>>>, true>;
430
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
479
431
  Compressed: DB.EnumCase<null>;
480
432
  Verbose: DB.EnumCase<null>;
481
433
  }, []>>, true>;
482
- translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
434
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
483
435
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
484
436
  full: DB.MemberDecl<DB.String, true>;
485
437
  compressed: DB.MemberDecl<DB.String, false>;
@@ -493,7 +445,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
493
445
  compressed: DB.MemberDecl<DB.String, false>;
494
446
  }>, []>>, false>;
495
447
  }>, false>;
496
- }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
448
+ }>, [Option: DB.Param<"Option", DB.Type>]>>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
497
449
  interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
498
450
  value: DB.MemberDecl<DB.Integer, true>;
499
451
  unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
@@ -1093,7 +1093,30 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
1093
1093
  threshold: DB.MemberDecl<DB.Integer, true>;
1094
1094
  alternative: DB.MemberDecl<DB.Integer, true>;
1095
1095
  }>, []>>>;
1096
- Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>>;
1096
+ Expression: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", DB.Object<{
1097
+ expression: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpressionExpression", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], import("./_MathExpression.ts").MathOperation>, []>>, true>;
1098
+ customLabels: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActiveInstancesExpressionLabels", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ValueMap", DB.Object<{
1099
+ options: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"Option", DB.Type>>>, true>;
1100
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
1101
+ Compressed: DB.EnumCase<null>;
1102
+ Verbose: DB.EnumCase<null>;
1103
+ }, []>>, true>;
1104
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
1105
+ listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
1106
+ full: DB.MemberDecl<DB.String, true>;
1107
+ compressed: DB.MemberDecl<DB.String, false>;
1108
+ }>, []>>, false>;
1109
+ listSuffix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
1110
+ full: DB.MemberDecl<DB.String, true>;
1111
+ compressed: DB.MemberDecl<DB.String, false>;
1112
+ }>, []>>, false>;
1113
+ replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
1114
+ full: DB.MemberDecl<DB.String, true>;
1115
+ compressed: DB.MemberDecl<DB.String, false>;
1116
+ }>, []>>, false>;
1117
+ }>, false>;
1118
+ }>, [Option: DB.Param<"Option", DB.Type>]>>, []>>, false>;
1119
+ }>, []>>>;
1097
1120
  }, []>>>;
1098
1121
  Indefinite: DB.EnumCase<null>;
1099
1122
  }, []>>, true>;