@optolith/database-schema 0.75.1 → 0.76.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 (87) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/gen/types.d.ts +77 -1
  3. package/lib/cache/activatableSelectOptions.js +4 -1
  4. package/lib/types/Advantage.d.ts +7 -0
  5. package/lib/types/Ceremony.d.ts +4 -0
  6. package/lib/types/Disadvantage.d.ts +7 -0
  7. package/lib/types/LiturgicalChant.d.ts +4 -0
  8. package/lib/types/Locale.d.ts +2 -0
  9. package/lib/types/Locale.js +2 -0
  10. package/lib/types/Profession.d.ts +7 -0
  11. package/lib/types/Profession.js +8 -1
  12. package/lib/types/Ritual.d.ts +4 -0
  13. package/lib/types/Settings.d.ts +6 -0
  14. package/lib/types/Settings.js +31 -3
  15. package/lib/types/Spell.d.ts +4 -0
  16. package/lib/types/_ActivatableAdventurePointsValue.d.ts +2 -0
  17. package/lib/types/_ActivatableMagical.d.ts +2 -0
  18. package/lib/types/_ActivatableMagical.js +2 -0
  19. package/lib/types/_ActivatableNonMundane.d.ts +5 -0
  20. package/lib/types/_ActivatableSelectOptionCategory.d.ts +8 -0
  21. package/lib/types/_ActivatableSelectOptionCategory.js +12 -0
  22. package/lib/types/_ActivatableSelectOptions.d.ts +4 -0
  23. package/lib/types/_ActivatableSkill.d.ts +10 -0
  24. package/lib/types/_ActivatableSkillCost.d.ts +5 -0
  25. package/lib/types/_ActivatableSkillParameterMap.d.ts +2 -0
  26. package/lib/types/_ActivatableSkillParameterMap.js +13 -3
  27. package/lib/types/_Identifier.d.ts +1 -0
  28. package/lib/types/_Identifier.js +2 -1
  29. package/lib/types/magicalActions/Bannzeichen.d.ts +1 -0
  30. package/lib/types/magicalActions/GeodeRitual.d.ts +1 -0
  31. package/lib/types/magicalActions/ZibiljaRitual.d.ts +2 -0
  32. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +5 -0
  33. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +5 -0
  34. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +5 -0
  35. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +5 -0
  36. package/lib/types/specialAbility/AncestorGlyph.d.ts +5 -0
  37. package/lib/types/specialAbility/BlessedTradition.d.ts +5 -0
  38. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +5 -0
  39. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +5 -0
  40. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +5 -0
  41. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +5 -0
  42. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +5 -0
  43. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +5 -0
  44. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +5 -0
  45. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +5 -0
  46. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +5 -0
  47. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +5 -0
  48. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +5 -0
  49. package/lib/types/specialAbility/LycantropicGift.d.ts +5 -0
  50. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +5 -0
  51. package/lib/types/specialAbility/MagicalSign.d.ts +1 -0
  52. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +5 -0
  53. package/lib/types/specialAbility/MagicalTradition.d.ts +5 -0
  54. package/lib/types/specialAbility/PactGift.d.ts +5 -0
  55. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +5 -0
  56. package/lib/types/specialAbility/Sermon.d.ts +5 -0
  57. package/lib/types/specialAbility/SexSpecialAbility.d.ts +5 -0
  58. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +5 -0
  59. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +5 -0
  60. package/lib/types/specialAbility/VampiricGift.d.ts +5 -0
  61. package/lib/types/specialAbility/Vision.d.ts +5 -0
  62. package/lib/types/specialAbility/sub/TradeSecret.d.ts +5 -0
  63. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +8 -0
  64. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +8 -0
  65. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +8 -0
  66. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +8 -0
  67. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +8 -0
  68. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +8 -0
  69. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +8 -0
  70. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +8 -0
  71. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +8 -0
  72. package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +4 -0
  73. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +8 -0
  74. package/lib/types/traditionArtifacts/Keulenzauber.d.ts +4 -0
  75. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +8 -0
  76. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +8 -0
  77. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +8 -0
  78. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +8 -0
  79. package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +4 -0
  80. package/lib/types/traditionArtifacts/SickleRitual.d.ts +8 -0
  81. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +8 -0
  82. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +8 -0
  83. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +8 -0
  84. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +8 -0
  85. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +7 -0
  86. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +8 -0
  87. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,21 @@
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.76.0](https://github.com/Optolith/database-schema/compare/v0.75.1...v0.76.0) (2026-09-30)
6
+
7
+ ### ⚠ BREAKING CHANGES
8
+
9
+ * blessed honor/punishment subtypes
10
+ * grouped value map style
11
+ * settings for mapping styles to focus rules
12
+
13
+ ### Features
14
+
15
+ * blessed honor/punishment subtypes ([6a0a8ba](https://github.com/Optolith/database-schema/commit/6a0a8ba0f4ed010b026f647c5c06c1c942215a19)), closes [#194](https://github.com/Optolith/database-schema/issues/194)
16
+ * grouped value map style ([238edb9](https://github.com/Optolith/database-schema/commit/238edb9d0dfb0bfb48d5ee51fedc802db40498d9))
17
+ * settings for mapping styles to focus rules ([d1990a1](https://github.com/Optolith/database-schema/commit/d1990a15d6ad4a868b58b716d5dd45704180e9b6))
18
+ * specify bannzeichen option in profession ([648bb02](https://github.com/Optolith/database-schema/commit/648bb0278c5a175f711aa5b49274155c66394c9a)), closes [#192](https://github.com/Optolith/database-schema/issues/192)
19
+ * type-restricted derived blessed tradition select options ([0051e49](https://github.com/Optolith/database-schema/commit/0051e49266b41f9b565c085d65419a1ef1d79eae)), closes [#193](https://github.com/Optolith/database-schema/issues/193)
5
20
  ## [0.75.1](https://github.com/Optolith/database-schema/compare/v0.75.0...v0.75.1) (2026-09-30)
6
21
 
7
22
  ### Bug Fixes
package/gen/types.d.ts CHANGED
@@ -260,6 +260,7 @@ export type EnumMap = {
260
260
  BlessedCommonProfessionConstraint: BlessedCommonProfessionConstraint
261
261
  BlessedTraditionPrerequisiteRestriction: BlessedTraditionPrerequisiteRestriction
262
262
  BlessedTraditionType: BlessedTraditionType
263
+ BlessedTraditionTypeForSelectOptionCategory: BlessedTraditionTypeForSelectOptionCategory
263
264
  BlessingDuration: BlessingDuration
264
265
  BlessingRange: BlessingRange
265
266
  BookContentQuality: BookContentQuality
@@ -938,6 +939,7 @@ export type TypeAliasMap = {
938
939
  StatePrerequisite: StatePrerequisite
939
940
  StructurePoints: StructurePoints
940
941
  StructurePointsComponent: StructurePointsComponent
942
+ StyleSpecialAbilitySettings: StyleSpecialAbilitySettings
941
943
  SupernaturalBaseAdvantageSettings: SupernaturalBaseAdvantageSettings
942
944
  SustainedAnimistPowerPerformanceParameters: SustainedAnimistPowerPerformanceParameters
943
945
  SustainedPerformanceParameters: SustainedPerformanceParameters<unknown>
@@ -1229,8 +1231,24 @@ export interface BlessedTraditionsSelectOptionCategory {
1229
1231
  * Should the principles (code) of the tradition be required to select the respective tradition?
1230
1232
  */
1231
1233
  require_principles?: boolean
1234
+
1235
+ /**
1236
+ * If set, only includes traditions of the specified type.
1237
+ */
1238
+ onlyType?: BlessedTraditionTypeForSelectOptionCategory
1232
1239
  }
1233
1240
 
1241
+ /**
1242
+ * The type of the tradition. May be either church or shamanistic.
1243
+ */
1244
+ export type BlessedTraditionTypeForSelectOptionCategory =
1245
+ | {
1246
+ kind: "Church"
1247
+ }
1248
+ | {
1249
+ kind: "Shamanistic"
1250
+ }
1251
+
1234
1252
  export interface ElementsSelectOptionCategory {
1235
1253
  /**
1236
1254
  * Only include entries with the listed identifiers.
@@ -2479,6 +2497,8 @@ export interface Locale {
2479
2497
  "Magical Punishment": string
2480
2498
  "Blessed Rank": string
2481
2499
  "Blessed Title": string
2500
+ "Blessed Honor": string
2501
+ "Blessed Punishment": string
2482
2502
  ".input {$ord :number} {{{$ord}. attack}}": string & { __params: { "ord": number } }
2483
2503
  ".input {$ord :number} {{{$ord}. throw}}": string & { __params: { "ord": number } }
2484
2504
  "depending on the level of the special ability {$name}": string & { __params: { "name": string } }
@@ -3193,6 +3213,12 @@ export type AdvantageDisadvantageSubtype =
3193
3213
  | {
3194
3214
  kind: "BlessedTitle"
3195
3215
  }
3216
+ | {
3217
+ kind: "BlessedHonor"
3218
+ }
3219
+ | {
3220
+ kind: "BlessedPunishment"
3221
+ }
3196
3222
 
3197
3223
  export interface GeneralSelectOption {
3198
3224
  /**
@@ -7034,7 +7060,13 @@ export interface ValueMapTranslation {
7034
7060
  }
7035
7061
 
7036
7062
  /**
7037
- * 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`).
7063
+ * The style of the generated string. It may be displayed
7064
+ *
7065
+ * - in a `compressed` way (e.g. *1/1/2 AE for a small/medium/large object*),
7066
+ * - in a `verbose` way (e.g. *1 AE for a small object, 1 AE for a medium object, 2 AE for a large object*),
7067
+ * - or in a `grouped` way (e.g. *small/medium object: 1 AE, large object: 2 AE*).
7068
+ *
7069
+ * A `grouped` style only really makes sense if multiple options share the same value.
7038
7070
  */
7039
7071
  export type ValueMapStyle =
7040
7072
  | {
@@ -7043,6 +7075,9 @@ export type ValueMapStyle =
7043
7075
  | {
7044
7076
  kind: "Verbose"
7045
7077
  }
7078
+ | {
7079
+ kind: "Grouped"
7080
+ }
7046
7081
 
7047
7082
  export interface ParameterMapOption<Value> {
7048
7083
  /**
@@ -18305,6 +18340,11 @@ export interface ProfessionMagicalActionIdentifier {
18305
18340
  * The identifier of the magical action to provide the rating for.
18306
18341
  */
18307
18342
  id: MagicalActionIdentifier
18343
+
18344
+ /**
18345
+ * Some Bannzeichen have options that can be selected. If the magical action has an option, this property can be set to specify the option.
18346
+ */
18347
+ option?: BannzeichenOption_ID
18308
18348
  }
18309
18349
 
18310
18350
  export type MagicalActionIdentifier =
@@ -26621,8 +26661,16 @@ export interface Settings {
26621
26661
  * Settings for supernatural base advantages.
26622
26662
  */
26623
26663
  supernaturalBaseAdvantages: SupernaturalBaseAdvantageSettings
26664
+
26665
+ /**
26666
+ * Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.
26667
+ */
26668
+ styles: StyleSpecialAbilitySettings
26624
26669
  }
26625
26670
 
26671
+ /**
26672
+ * Settings for derived trade secrets.
26673
+ */
26626
26674
  export interface DerivedTradeSecretsSettings {
26627
26675
  /**
26628
26676
  * The special ability required to buy derived trade secrets for weapons.
@@ -26853,6 +26901,9 @@ export type SpecialAbilityIdentifier =
26853
26901
  WeaponEnchantment: WeaponEnchantment_ID
26854
26902
  }
26855
26903
 
26904
+ /**
26905
+ * Settings for supernatural base advantages.
26906
+ */
26856
26907
  export interface SupernaturalBaseAdvantageSettings {
26857
26908
  /**
26858
26909
  * The central advantage for spellcasters.
@@ -26865,6 +26916,31 @@ export interface SupernaturalBaseAdvantageSettings {
26865
26916
  blessed: Advantage_ID
26866
26917
  }
26867
26918
 
26919
+ /**
26920
+ * Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.
26921
+ */
26922
+ export interface StyleSpecialAbilitySettings {
26923
+ /**
26924
+ * The focus rule for skill style special abilities and its advanced complements.
26925
+ */
26926
+ skill: FocusRule_ID
26927
+
26928
+ /**
26929
+ * The focus rule for combat style special abilities and its advanced complements.
26930
+ */
26931
+ combat: FocusRule_ID
26932
+
26933
+ /**
26934
+ * The focus rule for magic style special abilities and its advanced complements.
26935
+ */
26936
+ magic: FocusRule_ID
26937
+
26938
+ /**
26939
+ * The focus rule for liturgical style special abilities and its advanced complements.
26940
+ */
26941
+ liturgical: FocusRule_ID
26942
+ }
26943
+
26868
26944
  export interface SexPractice {
26869
26945
  /**
26870
26946
  * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
@@ -1,4 +1,4 @@
1
- import { on } from "@elyukai/utils/function";
1
+ import { constant, on } from "@elyukai/utils/function";
2
2
  import { isNotNullish } from "@elyukai/utils/nullable";
3
3
  import { mapObject } from "@elyukai/utils/object";
4
4
  import { compareNullish, compareNumber } from "@elyukai/utils/ordering";
@@ -424,6 +424,9 @@ const getDerivedSelectOptions = (selectOptionCategory, entryId, database) => {
424
424
  };
425
425
  return database
426
426
  .getAllInstanceContainersOfEntity("BlessedTradition")
427
+ .filter(selectOptionCategory.BlessedTraditions.onlyType
428
+ ? ({ content }) => content.type.kind === selectOptionCategory.BlessedTraditions.onlyType?.kind
429
+ : constant(true))
427
430
  .map(({ id, content }) => ({
428
431
  id: Case("BlessedTradition", id),
429
432
  content: {
@@ -8,6 +8,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
8
8
  MagicalPunishment: DB.EnumCase<null>;
9
9
  BlessedRank: DB.EnumCase<null>;
10
10
  BlessedTitle: DB.EnumCase<null>;
11
+ BlessedHonor: DB.EnumCase<null>;
12
+ BlessedPunishment: DB.EnumCase<null>;
11
13
  }, []>>, false>;
12
14
  nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableNameBuilderRules", DB.Object<{
13
15
  levelPlacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableNameLevelPlacement", {
@@ -32,6 +34,10 @@ export declare const Advantage: DB.Entity<"Advantage", {
32
34
  HomunculusTypes: DB.EnumCase<null>;
33
35
  BlessedTraditions: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"BlessedTraditionsSelectOptionCategory", DB.Object<{
34
36
  require_principles: DB.MemberDecl<DB.Boolean, false>;
37
+ onlyType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BlessedTraditionTypeForSelectOptionCategory", {
38
+ Church: DB.EnumCase<null>;
39
+ Shamanistic: DB.EnumCase<null>;
40
+ }, []>>, false>;
35
41
  }>, []>>>;
36
42
  Elements: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ElementsSelectOptionCategory", DB.Object<{
37
43
  specific: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
@@ -1292,6 +1298,7 @@ export declare const Advantage: DB.Entity<"Advantage", {
1292
1298
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
1293
1299
  Compressed: DB.EnumCase<null>;
1294
1300
  Verbose: DB.EnumCase<null>;
1301
+ Grouped: DB.EnumCase<null>;
1295
1302
  }, []>>, true>;
1296
1303
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
1297
1304
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -146,6 +146,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
146
146
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
147
147
  Compressed: DB.EnumCase<null>;
148
148
  Verbose: DB.EnumCase<null>;
149
+ Grouped: DB.EnumCase<null>;
149
150
  }, []>>, true>;
150
151
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
151
152
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -169,6 +170,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
169
170
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
170
171
  Compressed: DB.EnumCase<null>;
171
172
  Verbose: DB.EnumCase<null>;
173
+ Grouped: DB.EnumCase<null>;
172
174
  }, []>>, true>;
173
175
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
174
176
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -386,6 +388,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
386
388
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
387
389
  Compressed: DB.EnumCase<null>;
388
390
  Verbose: DB.EnumCase<null>;
391
+ Grouped: DB.EnumCase<null>;
389
392
  }, []>>, true>;
390
393
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
391
394
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -435,6 +438,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
435
438
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
436
439
  Compressed: DB.EnumCase<null>;
437
440
  Verbose: DB.EnumCase<null>;
441
+ Grouped: DB.EnumCase<null>;
438
442
  }, []>>, true>;
439
443
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
440
444
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -8,6 +8,8 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
8
8
  MagicalPunishment: DB.EnumCase<null>;
9
9
  BlessedRank: DB.EnumCase<null>;
10
10
  BlessedTitle: DB.EnumCase<null>;
11
+ BlessedHonor: DB.EnumCase<null>;
12
+ BlessedPunishment: DB.EnumCase<null>;
11
13
  }, []>>, false>;
12
14
  nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableNameBuilderRules", DB.Object<{
13
15
  levelPlacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableNameLevelPlacement", {
@@ -32,6 +34,10 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
32
34
  HomunculusTypes: DB.EnumCase<null>;
33
35
  BlessedTraditions: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"BlessedTraditionsSelectOptionCategory", DB.Object<{
34
36
  require_principles: DB.MemberDecl<DB.Boolean, false>;
37
+ onlyType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BlessedTraditionTypeForSelectOptionCategory", {
38
+ Church: DB.EnumCase<null>;
39
+ Shamanistic: DB.EnumCase<null>;
40
+ }, []>>, false>;
35
41
  }>, []>>>;
36
42
  Elements: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ElementsSelectOptionCategory", DB.Object<{
37
43
  specific: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
@@ -1216,6 +1222,7 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
1216
1222
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
1217
1223
  Compressed: DB.EnumCase<null>;
1218
1224
  Verbose: DB.EnumCase<null>;
1225
+ Grouped: DB.EnumCase<null>;
1219
1226
  }, []>>, true>;
1220
1227
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
1221
1228
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -146,6 +146,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
146
146
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
147
147
  Compressed: DB.EnumCase<null>;
148
148
  Verbose: DB.EnumCase<null>;
149
+ Grouped: DB.EnumCase<null>;
149
150
  }, []>>, true>;
150
151
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
151
152
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -169,6 +170,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
169
170
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
170
171
  Compressed: DB.EnumCase<null>;
171
172
  Verbose: DB.EnumCase<null>;
173
+ Grouped: DB.EnumCase<null>;
172
174
  }, []>>, true>;
173
175
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
174
176
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -386,6 +388,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
386
388
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
387
389
  Compressed: DB.EnumCase<null>;
388
390
  Verbose: DB.EnumCase<null>;
391
+ Grouped: DB.EnumCase<null>;
389
392
  }, []>>, true>;
390
393
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
391
394
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -435,6 +438,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
435
438
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
436
439
  Compressed: DB.EnumCase<null>;
437
440
  Verbose: DB.EnumCase<null>;
441
+ Grouped: DB.EnumCase<null>;
438
442
  }, []>>, true>;
439
443
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
440
444
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -1382,6 +1382,8 @@ export declare const Locale: DB.Entity<"Locale", {
1382
1382
  "Magical Punishment": null;
1383
1383
  "Blessed Rank": null;
1384
1384
  "Blessed Title": null;
1385
+ "Blessed Honor": null;
1386
+ "Blessed Punishment": null;
1385
1387
  ".input {$ord :number} {{{$ord}. attack}}": null;
1386
1388
  ".input {$ord :number} {{{$ord}. throw}}": null;
1387
1389
  "depending on the level of the special ability {$name}": null;
@@ -1418,6 +1418,8 @@ export const Locale = DB.Entity(import.meta.url, {
1418
1418
  "Magical Punishment": null,
1419
1419
  "Blessed Rank": null,
1420
1420
  "Blessed Title": null,
1421
+ "Blessed Honor": null,
1422
+ "Blessed Punishment": null,
1421
1423
  // combat special ability -- penalty
1422
1424
  ".input {$ord :number} {{{$ord}. attack}}": null,
1423
1425
  ".input {$ord :number} {{{$ord}. throw}}": null,
@@ -293,6 +293,7 @@ export declare const Profession: DB.Entity<"Profession", {
293
293
  ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
294
294
  MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
295
295
  }, []>>, true>;
296
+ option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
296
297
  }>, []>>>;
297
298
  }, []>>>, true>;
298
299
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
@@ -559,6 +560,7 @@ export declare const Profession: DB.Entity<"Profession", {
559
560
  ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
560
561
  MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
561
562
  }, []>>, true>;
563
+ option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
562
564
  }>, []>>>;
563
565
  }, []>>>, true>;
564
566
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
@@ -1079,6 +1081,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
1079
1081
  ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
1080
1082
  MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
1081
1083
  }, []>>, true>;
1084
+ option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
1082
1085
  }>, []>>>;
1083
1086
  }, []>>>, true>;
1084
1087
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
@@ -1345,6 +1348,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
1345
1348
  ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
1346
1349
  MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
1347
1350
  }, []>>, true>;
1351
+ option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
1348
1352
  }>, []>>>;
1349
1353
  }, []>>>, true>;
1350
1354
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
@@ -1857,6 +1861,7 @@ export declare const ProfessionPackage: DB.Entity<"ProfessionPackage", {
1857
1861
  ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
1858
1862
  MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
1859
1863
  }, []>>, true>;
1864
+ option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
1860
1865
  }>, []>>>;
1861
1866
  }, []>>>, true>;
1862
1867
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
@@ -2123,6 +2128,7 @@ export declare const ProfessionPackage: DB.Entity<"ProfessionPackage", {
2123
2128
  ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
2124
2129
  MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
2125
2130
  }, []>>, true>;
2131
+ option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
2126
2132
  }>, []>>>;
2127
2133
  }, []>>>, true>;
2128
2134
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
@@ -2399,6 +2405,7 @@ export declare const ProfessionVariant: DB.Entity<"ProfessionVariant", {
2399
2405
  ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
2400
2406
  MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
2401
2407
  }, []>>, true>;
2408
+ option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
2402
2409
  }>, []>>>;
2403
2410
  }, []>>>, true>;
2404
2411
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
@@ -1,7 +1,7 @@
1
1
  import { isNotNullish } from "@elyukai/utils/nullable";
2
2
  import * as DB from "tsondb/schema/dsl";
3
3
  import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
4
- import { AdvantageIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
4
+ import { AdvantageIdentifier, BannzeichenOptionIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
5
5
  import { CombatTechniqueIdentifier, LiturgyIdentifier, MagicalActionIdentifier, ProfessionSpecialAbilityIdentifier, RequirableSelectOptionIdentifier, SpellworkIdentifier, } from "./_IdentifierGroup.js";
6
6
  import { ProfessionPrerequisites, ProfessionVariantPrerequisites } from "./_Prerequisite.js";
7
7
  import { NestedTranslationMap } from "./Locale.js";
@@ -410,7 +410,14 @@ const ProfessionMagicalActionIdentifier = DB.TypeAlias(import.meta.url, {
410
410
  comment: "The identifier of the magical action to provide the rating for.",
411
411
  type: DB.IncludeIdentifier(MagicalActionIdentifier),
412
412
  }),
413
+ option: DB.Optional({
414
+ comment: "Some Bannzeichen have options that can be selected. If the magical action has an option, this property can be set to specify the option.",
415
+ type: BannzeichenOptionIdentifier(),
416
+ }),
413
417
  }),
418
+ customConstraints: ({ instanceContent }) => instanceContent.option !== undefined && instanceContent.id.kind !== "Bannzeichen"
419
+ ? ["The option property can only be set for Bannzeichen magical actions."]
420
+ : [],
414
421
  });
415
422
  const LiturgicalChantRating = DB.TypeAlias(import.meta.url, {
416
423
  name: "LiturgicalChantRating",
@@ -146,6 +146,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
146
146
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
147
147
  Compressed: DB.EnumCase<null>;
148
148
  Verbose: DB.EnumCase<null>;
149
+ Grouped: DB.EnumCase<null>;
149
150
  }, []>>, true>;
150
151
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
151
152
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -169,6 +170,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
169
170
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
170
171
  Compressed: DB.EnumCase<null>;
171
172
  Verbose: DB.EnumCase<null>;
173
+ Grouped: DB.EnumCase<null>;
172
174
  }, []>>, true>;
173
175
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
174
176
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -386,6 +388,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
386
388
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
387
389
  Compressed: DB.EnumCase<null>;
388
390
  Verbose: DB.EnumCase<null>;
391
+ Grouped: DB.EnumCase<null>;
389
392
  }, []>>, true>;
390
393
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
391
394
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -435,6 +438,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
435
438
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
436
439
  Compressed: DB.EnumCase<null>;
437
440
  Verbose: DB.EnumCase<null>;
441
+ Grouped: DB.EnumCase<null>;
438
442
  }, []>>, true>;
439
443
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
440
444
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -120,4 +120,10 @@ export declare const Settings: DB.SingletonEntity<"Settings", {
120
120
  spellcasters: DB.MemberDecl<DB.ReferenceIdentifier, true>;
121
121
  blessed: DB.MemberDecl<DB.ReferenceIdentifier, true>;
122
122
  }>, []>>, true>;
123
+ styles: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StyleSpecialAbilitySettings", DB.Object<{
124
+ skill: DB.MemberDecl<DB.ReferenceIdentifier, true>;
125
+ combat: DB.MemberDecl<DB.ReferenceIdentifier, true>;
126
+ magic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
127
+ liturgical: DB.MemberDecl<DB.ReferenceIdentifier, true>;
128
+ }>, []>>, true>;
123
129
  }>;
@@ -1,5 +1,5 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
- import { AdvantageIdentifier, DerivedCharacteristicIdentifier, ExperienceLevelIdentifier, } from "./_Identifier.js";
2
+ import { AdvantageIdentifier, DerivedCharacteristicIdentifier, ExperienceLevelIdentifier, FocusRuleIdentifier, } from "./_Identifier.js";
3
3
  import { SpecialAbilityIdentifier } from "./_IdentifierGroup.js";
4
4
  export const Settings = DB.SingletonEntity(import.meta.url, {
5
5
  name: "Settings",
@@ -16,17 +16,22 @@ export const Settings = DB.SingletonEntity(import.meta.url, {
16
16
  }),
17
17
  }),
18
18
  derivedTradeSecrets: DB.Required({
19
- comment: "Settings for derived trade secrets.",
19
+ comment: DerivedTradeSecretsSettings.comment,
20
20
  type: DB.IncludeIdentifier(DerivedTradeSecretsSettings),
21
21
  }),
22
22
  supernaturalBaseAdvantages: DB.Required({
23
- comment: "Settings for supernatural base advantages.",
23
+ comment: SupernaturalBaseAdvantageSettings.comment,
24
24
  type: DB.IncludeIdentifier(SupernaturalBaseAdvantageSettings),
25
25
  }),
26
+ styles: DB.Required({
27
+ comment: StyleSpecialAbilitySettings.comment,
28
+ type: DB.IncludeIdentifier(StyleSpecialAbilitySettings),
29
+ }),
26
30
  }),
27
31
  });
28
32
  const SupernaturalBaseAdvantageSettings = DB.TypeAlias(import.meta.url, {
29
33
  name: "SupernaturalBaseAdvantageSettings",
34
+ comment: "Settings for supernatural base advantages.",
30
35
  type: () => DB.Object({
31
36
  spellcasters: DB.Required({
32
37
  comment: "The central advantage for spellcasters.",
@@ -40,6 +45,7 @@ const SupernaturalBaseAdvantageSettings = DB.TypeAlias(import.meta.url, {
40
45
  });
41
46
  const DerivedTradeSecretsSettings = DB.TypeAlias(import.meta.url, {
42
47
  name: "DerivedTradeSecretsSettings",
48
+ comment: "Settings for derived trade secrets.",
43
49
  type: () => DB.Object({
44
50
  requiredSpecialAbilityForWeapons: DB.Required({
45
51
  displayName: "Required Special Ability for Weapons",
@@ -53,3 +59,25 @@ const DerivedTradeSecretsSettings = DB.TypeAlias(import.meta.url, {
53
59
  }),
54
60
  }),
55
61
  });
62
+ const StyleSpecialAbilitySettings = DB.TypeAlias(import.meta.url, {
63
+ name: "StyleSpecialAbilitySettings",
64
+ comment: "Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.",
65
+ type: () => DB.Object({
66
+ skill: DB.Required({
67
+ comment: "The focus rule for skill style special abilities and its advanced complements.",
68
+ type: FocusRuleIdentifier(),
69
+ }),
70
+ combat: DB.Required({
71
+ comment: "The focus rule for combat style special abilities and its advanced complements.",
72
+ type: FocusRuleIdentifier(),
73
+ }),
74
+ magic: DB.Required({
75
+ comment: "The focus rule for magic style special abilities and its advanced complements.",
76
+ type: FocusRuleIdentifier(),
77
+ }),
78
+ liturgical: DB.Required({
79
+ comment: "The focus rule for liturgical style special abilities and its advanced complements.",
80
+ type: FocusRuleIdentifier(),
81
+ }),
82
+ }),
83
+ });
@@ -146,6 +146,7 @@ export declare const Spell: DB.Entity<"Spell", {
146
146
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
147
147
  Compressed: DB.EnumCase<null>;
148
148
  Verbose: DB.EnumCase<null>;
149
+ Grouped: DB.EnumCase<null>;
149
150
  }, []>>, true>;
150
151
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
151
152
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -169,6 +170,7 @@ export declare const Spell: DB.Entity<"Spell", {
169
170
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
170
171
  Compressed: DB.EnumCase<null>;
171
172
  Verbose: DB.EnumCase<null>;
173
+ Grouped: DB.EnumCase<null>;
172
174
  }, []>>, true>;
173
175
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
174
176
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -386,6 +388,7 @@ export declare const Spell: DB.Entity<"Spell", {
386
388
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
387
389
  Compressed: DB.EnumCase<null>;
388
390
  Verbose: DB.EnumCase<null>;
391
+ Grouped: DB.EnumCase<null>;
389
392
  }, []>>, true>;
390
393
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
391
394
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -435,6 +438,7 @@ export declare const Spell: DB.Entity<"Spell", {
435
438
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
436
439
  Compressed: DB.EnumCase<null>;
437
440
  Verbose: DB.EnumCase<null>;
441
+ Grouped: DB.EnumCase<null>;
438
442
  }, []>>, true>;
439
443
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
440
444
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -93,6 +93,7 @@ export declare const ap_value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"A
93
93
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
94
94
  Compressed: DB.EnumCase<null>;
95
95
  Verbose: DB.EnumCase<null>;
96
+ Grouped: DB.EnumCase<null>;
96
97
  }, []>>, true>;
97
98
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
98
99
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -191,6 +192,7 @@ export declare const AdventurePointsDependingOnActiveInstances: DB.Enum<"Adventu
191
192
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
192
193
  Compressed: DB.EnumCase<null>;
193
194
  Verbose: DB.EnumCase<null>;
195
+ Grouped: DB.EnumCase<null>;
194
196
  }, []>>, true>;
195
197
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
196
198
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -6,4 +6,6 @@ export declare const subtype: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Ad
6
6
  MagicalPunishment: DB.EnumCase<null>;
7
7
  BlessedRank: DB.EnumCase<null>;
8
8
  BlessedTitle: DB.EnumCase<null>;
9
+ BlessedHonor: DB.EnumCase<null>;
10
+ BlessedPunishment: DB.EnumCase<null>;
9
11
  }, []>>, false>;
@@ -8,6 +8,8 @@ const AdvantageDisadvantageSubtype = DB.Enum(import.meta.url, {
8
8
  MagicalPunishment: DB.EnumCase({ type: null }),
9
9
  BlessedRank: DB.EnumCase({ type: null }),
10
10
  BlessedTitle: DB.EnumCase({ type: null }),
11
+ BlessedHonor: DB.EnumCase({ type: null }),
12
+ BlessedPunishment: DB.EnumCase({ type: null }),
11
13
  }),
12
14
  });
13
15
  export const subtype = DB.Optional({ type: DB.IncludeIdentifier(AdvantageDisadvantageSubtype) });
@@ -157,6 +157,7 @@ export declare const cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Encha
157
157
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
158
158
  Compressed: DB.EnumCase<null>;
159
159
  Verbose: DB.EnumCase<null>;
160
+ Grouped: DB.EnumCase<null>;
160
161
  }, []>>, true>;
161
162
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
162
163
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -186,6 +187,7 @@ export declare const cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Encha
186
187
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
187
188
  Compressed: DB.EnumCase<null>;
188
189
  Verbose: DB.EnumCase<null>;
190
+ Grouped: DB.EnumCase<null>;
189
191
  }, []>>, true>;
190
192
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
191
193
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -364,6 +366,7 @@ export declare const ArcaneEnergyCost: DB.Enum<"ArcaneEnergyCost", {
364
366
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
365
367
  Compressed: DB.EnumCase<null>;
366
368
  Verbose: DB.EnumCase<null>;
369
+ Grouped: DB.EnumCase<null>;
367
370
  }, []>>, true>;
368
371
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
369
372
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -399,6 +402,7 @@ export declare const volume: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Vol
399
402
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
400
403
  Compressed: DB.EnumCase<null>;
401
404
  Verbose: DB.EnumCase<null>;
405
+ Grouped: DB.EnumCase<null>;
402
406
  }, []>>, true>;
403
407
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
404
408
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
@@ -432,6 +436,7 @@ export declare const BindingCost: DB.Enum<"BindingCost", {
432
436
  style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
433
437
  Compressed: DB.EnumCase<null>;
434
438
  Verbose: DB.EnumCase<null>;
439
+ Grouped: DB.EnumCase<null>;
435
440
  }, []>>, true>;
436
441
  translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
437
442
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{