optolith-database-schema 0.29.0 → 0.30.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 (76) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/gen/types.d.ts +326 -66
  3. package/lib/types/Advantage.d.ts +23 -23
  4. package/lib/types/DerivedCharacteristic.d.ts +162 -0
  5. package/lib/types/DerivedCharacteristic.js +124 -0
  6. package/lib/types/Disadvantage.d.ts +21 -21
  7. package/lib/types/Locale.d.ts +83 -2
  8. package/lib/types/Locale.js +90 -2
  9. package/lib/types/_ActivatableAdventurePointsValue.d.ts +4 -4
  10. package/lib/types/_ActivatableAutomatic.d.ts +2 -2
  11. package/lib/types/_ActivatableCombat.d.ts +9 -11
  12. package/lib/types/_ActivatableCombat.js +12 -28
  13. package/lib/types/_ActivatableNonMundane.d.ts +18 -38
  14. package/lib/types/_ActivatableNonMundane.js +55 -23
  15. package/lib/types/_ActivatableSelectOptionCategory.d.ts +32 -32
  16. package/lib/types/_ActivatableSelectOptions.d.ts +22 -22
  17. package/lib/types/_IdentifierGroup.d.ts +9 -5
  18. package/lib/types/_IdentifierGroup.js +9 -108
  19. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +178 -8
  20. package/lib/types/prerequisites/PrerequisiteGroups.js +9 -0
  21. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +2 -2
  22. package/lib/types/rule/FocusRule.d.ts +1 -1
  23. package/lib/types/rule/FocusRule.js +1 -1
  24. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +30 -32
  25. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +21 -21
  26. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +21 -21
  27. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +21 -21
  28. package/lib/types/specialAbility/AncestorGlyph.d.ts +21 -21
  29. package/lib/types/specialAbility/BlessedTradition.d.ts +21 -21
  30. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +30 -32
  31. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +21 -21
  32. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +30 -32
  33. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +30 -32
  34. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +30 -32
  35. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +21 -21
  36. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +21 -21
  37. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +21 -21
  38. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +21 -21
  39. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +21 -21
  40. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +21 -21
  41. package/lib/types/specialAbility/LycantropicGift.d.ts +21 -21
  42. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +21 -21
  43. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +21 -21
  44. package/lib/types/specialAbility/MagicalTradition.d.ts +21 -21
  45. package/lib/types/specialAbility/PactGift.d.ts +23 -23
  46. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +21 -21
  47. package/lib/types/specialAbility/Sermon.d.ts +21 -21
  48. package/lib/types/specialAbility/SexSpecialAbility.d.ts +21 -21
  49. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +21 -21
  50. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +21 -21
  51. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -2
  52. package/lib/types/specialAbility/VampiricGift.d.ts +21 -21
  53. package/lib/types/specialAbility/Vision.d.ts +21 -21
  54. package/lib/types/specialAbility/sub/TradeSecret.d.ts +19 -19
  55. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +30 -40
  56. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +30 -40
  57. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +30 -40
  58. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +30 -40
  59. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +30 -40
  60. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +30 -40
  61. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +30 -40
  62. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +30 -40
  63. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +30 -40
  64. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +30 -40
  65. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +30 -40
  66. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +30 -40
  67. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +30 -40
  68. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +30 -40
  69. package/lib/types/traditionArtifacts/SickleRitual.d.ts +30 -40
  70. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +30 -40
  71. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +30 -40
  72. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +30 -40
  73. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +30 -40
  74. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +30 -40
  75. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +30 -40
  76. package/package.json +5 -3
@@ -46,8 +46,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
46
46
  prerequisites: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"LanguagesSelectOptionCategoryPrerequisite", {
47
47
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
48
48
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
49
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
50
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
51
49
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
52
50
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
53
51
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -99,6 +97,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
99
97
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
100
98
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
101
99
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
100
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
101
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
102
102
  }, []>>, true>;
103
103
  active: DB.MemberDecl<DB.Boolean, true>;
104
104
  level: DB.MemberDecl<DB.Integer, false>;
@@ -134,8 +134,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
134
134
  }>, []>>>;
135
135
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
136
136
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
137
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
138
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
139
137
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
140
138
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
141
139
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -187,6 +185,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
187
185
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
188
186
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
189
187
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
188
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
189
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
190
190
  }, []>>, true>;
191
191
  active: DB.MemberDecl<DB.Boolean, true>;
192
192
  level: DB.MemberDecl<DB.Integer, false>;
@@ -220,8 +220,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
220
220
  }>, []>>>;
221
221
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
222
222
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
223
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
224
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
225
223
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
226
224
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
227
225
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -273,6 +271,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
273
271
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
274
272
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
275
273
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
274
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
275
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
276
276
  }, []>>, true>;
277
277
  active: DB.MemberDecl<DB.Boolean, true>;
278
278
  level: DB.MemberDecl<DB.Integer, false>;
@@ -293,8 +293,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
293
293
  }>, []>>>;
294
294
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
295
295
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
296
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
297
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
298
296
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
299
297
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
300
298
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -346,6 +344,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
346
344
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
347
345
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
348
346
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
347
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
348
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
349
349
  }, []>>, true>;
350
350
  active: DB.MemberDecl<DB.Boolean, true>;
351
351
  level: DB.MemberDecl<DB.Integer, false>;
@@ -366,8 +366,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
366
366
  }>, []>>>;
367
367
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
368
368
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
369
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
370
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
371
369
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
372
370
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
373
371
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -419,6 +417,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
419
417
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
420
418
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
421
419
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
420
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
421
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
422
422
  }, []>>, true>;
423
423
  active: DB.MemberDecl<DB.Boolean, true>;
424
424
  level: DB.MemberDecl<DB.Integer, false>;
@@ -439,8 +439,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
439
439
  }>, []>>>;
440
440
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
441
441
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
442
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
443
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
444
442
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
445
443
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
446
444
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -492,6 +490,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
492
490
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
493
491
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
494
492
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
493
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
494
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
495
495
  }, []>>, true>;
496
496
  active: DB.MemberDecl<DB.Boolean, true>;
497
497
  level: DB.MemberDecl<DB.Integer, false>;
@@ -529,8 +529,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
529
529
  }>, []>>>;
530
530
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
531
531
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
532
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
533
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
534
532
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
535
533
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
536
534
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -582,6 +580,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
582
580
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
583
581
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
584
582
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
583
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
584
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
585
585
  }, []>>, true>;
586
586
  active: DB.MemberDecl<DB.Boolean, true>;
587
587
  level: DB.MemberDecl<DB.Integer, false>;
@@ -602,8 +602,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
602
602
  }>, []>>>;
603
603
  SelectOption: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OptionPrerequisite", DB.Object<{
604
604
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
605
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
606
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
607
605
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
608
606
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
609
607
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -655,6 +653,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
655
653
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
656
654
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
657
655
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
656
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
657
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
658
658
  }, []>>, true>;
659
659
  active: DB.MemberDecl<DB.Boolean, true>;
660
660
  level: DB.MemberDecl<DB.Integer, false>;
@@ -695,8 +695,7 @@ export declare const Advantage: DB.Entity<"Advantage", {
695
695
  }>, []>>, false>;
696
696
  explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
697
697
  parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
698
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
699
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
698
+ TradeSecret: DB.EnumCase<DB.ReferenceIdentifier>;
700
699
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
701
700
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
702
701
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -748,7 +747,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
748
747
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
749
748
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
750
749
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
751
- TradeSecret: DB.EnumCase<DB.ReferenceIdentifier>;
750
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
751
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
752
752
  }, []>>, true>;
753
753
  profession_only: DB.MemberDecl<DB.Boolean, false>;
754
754
  skill_applications: DB.MemberDecl<DB.ChildEntities<DB.Entity<"NewSkillApplication", {
@@ -955,8 +955,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
955
955
  }>, []>>>;
956
956
  Fixed: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"FixedAutomaticEntryTarget", DB.Object<{
957
957
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
958
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
959
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
960
958
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
961
959
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
962
960
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -1008,6 +1006,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
1008
1006
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
1009
1007
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1010
1008
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1009
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1010
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1011
1011
  }, []>>, true>;
1012
1012
  level: DB.MemberDecl<DB.Integer, false>;
1013
1013
  }>, []>>>;
@@ -1060,8 +1060,6 @@ export declare const Advantage: DB.Entity<"Advantage", {
1060
1060
  }>, []>>>;
1061
1061
  DependingOnActive: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsDependingOnActive", DB.Object<{
1062
1062
  id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
1063
- Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1064
- Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1065
1063
  AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1066
1064
  AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
1067
1065
  AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
@@ -1113,6 +1111,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
1113
1111
  Vision: DB.EnumCase<DB.ReferenceIdentifier>;
1114
1112
  WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1115
1113
  WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
1114
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
1115
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
1116
1116
  }, []>>, true>;
1117
1117
  active: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsSingleValue", DB.Integer, []>>, true>;
1118
1118
  inactive: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AdventurePointsSingleValue", DB.Integer, []>>, true>;
@@ -1,6 +1,167 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
+ import { MathOperation } from "./_MathExpression.ts";
2
3
  export declare const DerivedCharacteristic: DB.Entity<"DerivedCharacteristic", {
3
4
  position: DB.MemberDecl<DB.Integer, true>;
5
+ calculation: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicCalculation", DB.Object<{
6
+ base: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicBase", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], MathOperation>, []>>, true>;
7
+ modifiers: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicModifier", DB.Object<{
8
+ source: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicModifierPrerequisiteGroup", {
9
+ Rule: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisite", DB.Object<{
10
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ExtensionRuleIdentifier", {
11
+ FocusRule: DB.EnumCase<DB.ReferenceIdentifier>;
12
+ OptionalRule: DB.EnumCase<DB.ReferenceIdentifier>;
13
+ }, []>>, true>;
14
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
15
+ Hide: DB.EnumCase<null>;
16
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
17
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
18
+ Standalone: DB.EnumCase<null>;
19
+ Connected: DB.EnumCase<null>;
20
+ }, []>>, false>;
21
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
22
+ replacement: DB.MemberDecl<DB.String, true>;
23
+ }>, true>;
24
+ }>, []>>>;
25
+ }, []>>, false>;
26
+ }>, []>>>;
27
+ Activatable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatablePrerequisite", DB.Object<{
28
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableIdentifier", {
29
+ AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
30
+ AdvancedKarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
31
+ AdvancedMagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
32
+ AdvancedSkillSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
33
+ AncestorGlyph: DB.EnumCase<DB.ReferenceIdentifier>;
34
+ ArcaneOrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
35
+ AttireEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
36
+ Beutelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
37
+ BlessedTradition: DB.EnumCase<DB.ReferenceIdentifier>;
38
+ BowlEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
39
+ BrawlingSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
40
+ CauldronEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
41
+ CeremonialItemSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
42
+ ChronicleEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
43
+ CombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
44
+ CombatStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
45
+ CommandSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
46
+ DaggerRitual: DB.EnumCase<DB.ReferenceIdentifier>;
47
+ FamiliarSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
48
+ FatePointSexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
49
+ FatePointSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
50
+ FoolsHatEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
51
+ GeneralSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
52
+ Haubenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
53
+ InstrumentEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
54
+ KarmaSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
55
+ Krallenkettenzauber: DB.EnumCase<DB.ReferenceIdentifier>;
56
+ Kristallkugelzauber: DB.EnumCase<DB.ReferenceIdentifier>;
57
+ LiturgicalStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
58
+ LycantropicGift: DB.EnumCase<DB.ReferenceIdentifier>;
59
+ MagicalSign: DB.EnumCase<DB.ReferenceIdentifier>;
60
+ MagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
61
+ MagicalTradition: DB.EnumCase<DB.ReferenceIdentifier>;
62
+ MagicStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
63
+ OrbEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
64
+ PactGift: DB.EnumCase<DB.ReferenceIdentifier>;
65
+ ProtectiveWardingCircleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
66
+ RingEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
67
+ Sermon: DB.EnumCase<DB.ReferenceIdentifier>;
68
+ SexSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
69
+ SickleRitual: DB.EnumCase<DB.ReferenceIdentifier>;
70
+ SikaryanDrainSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
71
+ SkillStyleSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
72
+ SpellSwordEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
73
+ StaffEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
74
+ ToyEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
75
+ Trinkhornzauber: DB.EnumCase<DB.ReferenceIdentifier>;
76
+ VampiricGift: DB.EnumCase<DB.ReferenceIdentifier>;
77
+ Vision: DB.EnumCase<DB.ReferenceIdentifier>;
78
+ WandEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
79
+ WeaponEnchantment: DB.EnumCase<DB.ReferenceIdentifier>;
80
+ Advantage: DB.EnumCase<DB.ReferenceIdentifier>;
81
+ Disadvantage: DB.EnumCase<DB.ReferenceIdentifier>;
82
+ }, []>>, true>;
83
+ active: DB.MemberDecl<DB.Boolean, true>;
84
+ level: DB.MemberDecl<DB.Integer, false>;
85
+ options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"RequirableSelectOptionIdentifier", {
86
+ General: DB.EnumCase<DB.ReferenceIdentifier>;
87
+ Race: DB.EnumCase<DB.ReferenceIdentifier>;
88
+ Skill: DB.EnumCase<DB.ReferenceIdentifier>;
89
+ SkillApplication: DB.EnumCase<DB.ReferenceIdentifier>;
90
+ CloseCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
91
+ RangedCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
92
+ Property: DB.EnumCase<DB.ReferenceIdentifier>;
93
+ Aspect: DB.EnumCase<DB.ReferenceIdentifier>;
94
+ Language: DB.EnumCase<DB.ReferenceIdentifier>;
95
+ AnimalShape: DB.EnumCase<DB.ReferenceIdentifier>;
96
+ LiturgicalChant: DB.EnumCase<DB.ReferenceIdentifier>;
97
+ Ceremony: DB.EnumCase<DB.ReferenceIdentifier>;
98
+ Spell: DB.EnumCase<DB.ReferenceIdentifier>;
99
+ Ritual: DB.EnumCase<DB.ReferenceIdentifier>;
100
+ TradeSecret: DB.EnumCase<DB.ReferenceIdentifier>;
101
+ ArcaneBardTradition: DB.EnumCase<DB.ReferenceIdentifier>;
102
+ ArcaneDancerTradition: DB.EnumCase<DB.ReferenceIdentifier>;
103
+ Element: DB.EnumCase<DB.ReferenceIdentifier>;
104
+ }, []>>>, false>;
105
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
106
+ Hide: DB.EnumCase<null>;
107
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
108
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
109
+ Standalone: DB.EnumCase<null>;
110
+ Connected: DB.EnumCase<null>;
111
+ }, []>>, false>;
112
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
113
+ replacement: DB.MemberDecl<DB.String, true>;
114
+ }>, true>;
115
+ }>, []>>>;
116
+ }, []>>, false>;
117
+ when: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Preconditions", DB.Array<DB.IncludeIdentifier<[], DB.Enum<"PreconditionGroup", {
118
+ Publication: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationPrerequisite", DB.Object<{
119
+ id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
120
+ display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
121
+ Hide: DB.EnumCase<null>;
122
+ ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
123
+ sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
124
+ Standalone: DB.EnumCase<null>;
125
+ Connected: DB.EnumCase<null>;
126
+ }, []>>, false>;
127
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
128
+ replacement: DB.MemberDecl<DB.String, true>;
129
+ }>, true>;
130
+ }>, []>>>;
131
+ }, []>>, false>;
132
+ }>, []>>>;
133
+ SexualCharacteristic: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SexualCharacteristicPrerequisite", DB.Object<{
134
+ id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SexualCharacteristic", {
135
+ Penis: DB.EnumCase<null>;
136
+ Vagina: DB.EnumCase<null>;
137
+ }, []>>, true>;
138
+ }>, []>>>;
139
+ }, []>>>, []>>, false>;
140
+ }>, []>>>;
141
+ }, []>>, true>;
142
+ operation: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DerivedCharacteristicModifierOperation", {
143
+ Addition: DB.EnumCase<null>;
144
+ Subtraction: DB.EnumCase<null>;
145
+ Multiplication: DB.EnumCase<null>;
146
+ Division: DB.EnumCase<null>;
147
+ }, []>>, true>;
148
+ value: DB.MemberDecl<DB.Integer, true>;
149
+ }>, []>>>, false>;
150
+ purchasable: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicPurchase", DB.Object<{
151
+ improvementCost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ImprovementCost", {
152
+ A: DB.EnumCase<null>;
153
+ B: DB.EnumCase<null>;
154
+ C: DB.EnumCase<null>;
155
+ D: DB.EnumCase<null>;
156
+ }, []>>, true>;
157
+ maximum: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicBase", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], MathOperation>, []>>, true>;
158
+ }>, []>>, false>;
159
+ permanentLoss: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicPermanentLoss", DB.Object<{
160
+ canBeBoughtBack: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicBuyBack", DB.Object<{
161
+ cost: DB.MemberDecl<DB.Integer, true>;
162
+ }>, []>>, false>;
163
+ }>, []>>, false>;
164
+ }>, []>>, true>;
4
165
  prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DerivedCharacteristicPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
5
166
  Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
6
167
  Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
@@ -69,6 +230,7 @@ export declare const DerivedCharacteristic: DB.Entity<"DerivedCharacteristic", {
69
230
  translations: DB.MemberDecl<DB.NestedEntityMap<"DerivedCharacteristicTranslation", {
70
231
  name: DB.MemberDecl<DB.String, true>;
71
232
  abbreviation: DB.MemberDecl<DB.String, true>;
233
+ description: DB.MemberDecl<DB.String, false>;
72
234
  calculation: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"CalculationTranslation", DB.Object<{
73
235
  default: DB.MemberDecl<DB.String, true>;
74
236
  half_primary: DB.MemberDecl<DB.String, false>;
@@ -1,6 +1,10 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { NestedTranslationMap } from "./Locale.js";
3
+ import { AttributeIdentifier } from "./_Identifier.js";
4
+ import { ImprovementCost } from "./_ImprovementCost.js";
5
+ import { MathOperation } from "./_MathExpression.js";
3
6
  import { DerivedCharacteristicPrerequisites } from "./_Prerequisite.js";
7
+ import { DerivedCharacteristicModifierPrerequisiteGroup } from "./prerequisites/PrerequisiteGroups.js";
4
8
  import { src } from "./source/_PublicationRef.js";
5
9
  export const DerivedCharacteristic = DB.Entity(import.meta.url, {
6
10
  name: "DerivedCharacteristic",
@@ -10,6 +14,10 @@ export const DerivedCharacteristic = DB.Entity(import.meta.url, {
10
14
  comment: "The position of the derived characteristic in lists. This has to be a unique value.",
11
15
  type: DB.Integer({ minimum: 0 }),
12
16
  }),
17
+ calculation: DB.Required({
18
+ comment: "Instructions for calculating the derived characteristic’s value.",
19
+ type: DB.IncludeIdentifier(DerivedCharacteristicCalculation),
20
+ }),
13
21
  prerequisites: DB.Optional({
14
22
  type: DB.IncludeIdentifier(DerivedCharacteristicPrerequisites),
15
23
  }),
@@ -23,6 +31,10 @@ export const DerivedCharacteristic = DB.Entity(import.meta.url, {
23
31
  comment: "The derived characteristic’s abbreviation.",
24
32
  type: DB.String({ minLength: 1 }),
25
33
  }),
34
+ description: DB.Optional({
35
+ comment: "The derived characteristic’s description.",
36
+ type: DB.String({ minLength: 1, isMarkdown: true }),
37
+ }),
26
38
  calculation: DB.Optional({
27
39
  comment: "Possible calculation strings for the final value.",
28
40
  type: DB.IncludeIdentifier(CalculationTranslation),
@@ -47,6 +59,118 @@ export const DerivedCharacteristic = DB.Entity(import.meta.url, {
47
59
  },
48
60
  ],
49
61
  });
62
+ const DerivedCharacteristicCalculation = DB.TypeAlias(import.meta.url, {
63
+ name: "DerivedCharacteristicCalculation",
64
+ type: () => DB.Object({
65
+ base: DB.Required({
66
+ comment: "The base value for the calculation.",
67
+ type: DB.IncludeIdentifier(DerivedCharacteristicBase),
68
+ }),
69
+ modifiers: DB.Optional({
70
+ comment: "A list of modifiers that are applied to the base value. The modifiers are applied in the order they appear in the list.",
71
+ type: DB.Array(DB.IncludeIdentifier(DerivedCharacteristicModifier), { minItems: 1 }),
72
+ }),
73
+ purchasable: DB.Optional({
74
+ comment: "If set, the derived characteristic can be improved by spending AP.\n\nIf the derived characteristic’s permanent losses can be bought back, points will not be able to be purchased unless all permanent losses have been bought back.",
75
+ type: DB.IncludeIdentifier(DerivedCharacteristicPurchase),
76
+ }),
77
+ permanentLoss: DB.Optional({
78
+ comment: "If set, the derived characteristic can suffer permanent losses that reduce its maximum value. It may also be possible to buy back these permanent losses.",
79
+ type: DB.IncludeIdentifier(DerivedCharacteristicPermanentLoss),
80
+ }),
81
+ }),
82
+ });
83
+ const DerivedCharacteristicRaceBaseValue = DB.Enum(import.meta.url, {
84
+ name: "DerivedCharacteristicRaceBaseValue",
85
+ values: () => ({
86
+ LifePoints: DB.EnumCase({ type: null }),
87
+ Spirit: DB.EnumCase({ type: null }),
88
+ Toughness: DB.EnumCase({ type: null }),
89
+ Movement: DB.EnumCase({ type: null }),
90
+ }),
91
+ });
92
+ const DerivedCharacteristicPrimaryAttributeValue = DB.Enum(import.meta.url, {
93
+ name: "DerivedCharacteristicPrimaryAttributeValue",
94
+ values: () => ({
95
+ Magical: DB.EnumCase({ type: null }),
96
+ Blessed: DB.EnumCase({ type: null }),
97
+ }),
98
+ });
99
+ const DerivedCharacteristicBaseValue = DB.Enum(import.meta.url, {
100
+ name: "DerivedCharacteristicBaseValue",
101
+ values: () => ({
102
+ Constant: DB.EnumCase({ type: DB.Integer() }),
103
+ Attribute: DB.EnumCase({ type: AttributeIdentifier() }),
104
+ RaceBaseValue: DB.EnumCase({
105
+ displayName: "Base Value from Race",
106
+ type: DB.IncludeIdentifier(DerivedCharacteristicRaceBaseValue),
107
+ }),
108
+ PrimaryAttribute: DB.EnumCase({
109
+ type: DB.IncludeIdentifier(DerivedCharacteristicPrimaryAttributeValue),
110
+ }),
111
+ }),
112
+ });
113
+ const DerivedCharacteristicBase = DB.TypeAlias(import.meta.url, {
114
+ name: "DerivedCharacteristicBase",
115
+ type: () => DB.GenIncludeIdentifier(MathOperation, [DB.IncludeIdentifier(DerivedCharacteristicBaseValue)]),
116
+ });
117
+ const DerivedCharacteristicModifierOperation = DB.Enum(import.meta.url, {
118
+ name: "DerivedCharacteristicModifierOperation",
119
+ values: () => ({
120
+ Addition: DB.EnumCase({ type: null }),
121
+ Subtraction: DB.EnumCase({ type: null }),
122
+ Multiplication: DB.EnumCase({ type: null }),
123
+ Division: DB.EnumCase({ type: null }),
124
+ }),
125
+ });
126
+ const DerivedCharacteristicModifier = DB.TypeAlias(import.meta.url, {
127
+ name: "DerivedCharacteristicModifier",
128
+ type: () => DB.Object({
129
+ source: DB.Required({
130
+ comment: "The entry that, when active, causes the modifier.",
131
+ type: DB.IncludeIdentifier(DerivedCharacteristicModifierPrerequisiteGroup),
132
+ }),
133
+ operation: DB.Required({
134
+ comment: "The mathematical operation that modifies the base value. The previous result is on the left side.",
135
+ type: DB.IncludeIdentifier(DerivedCharacteristicModifierOperation),
136
+ }),
137
+ value: DB.Required({
138
+ comment: "The value that is used in the modifier operation. If the source entry has levels, the value is multiplied by the source entry’s level.",
139
+ type: DB.Integer({ minimum: 1 }),
140
+ }),
141
+ }),
142
+ });
143
+ const DerivedCharacteristicPurchase = DB.TypeAlias(import.meta.url, {
144
+ name: "DerivedCharacteristicPurchase",
145
+ type: () => DB.Object({
146
+ improvementCost: DB.Required({
147
+ comment: "The cost for improving the derived characteristic by one.",
148
+ type: DB.IncludeIdentifier(ImprovementCost),
149
+ }),
150
+ maximum: DB.Required({
151
+ comment: "The maximum value that can be achieved for the derived characteristic through improvements.",
152
+ type: DB.IncludeIdentifier(DerivedCharacteristicBase),
153
+ }),
154
+ }),
155
+ });
156
+ const DerivedCharacteristicPermanentLoss = DB.TypeAlias(import.meta.url, {
157
+ name: "DerivedCharacteristicPermanentLoss",
158
+ type: () => DB.Object({
159
+ canBeBoughtBack: DB.Optional({
160
+ comment: "If set, permanent losses to the derived characteristic can be bought back for the specified cost.",
161
+ type: DB.IncludeIdentifier(DerivedCharacteristicBuyBack),
162
+ }),
163
+ }),
164
+ });
165
+ const DerivedCharacteristicBuyBack = DB.TypeAlias(import.meta.url, {
166
+ name: "DerivedCharacteristicBuyBack",
167
+ type: () => DB.Object({
168
+ cost: DB.Required({
169
+ comment: "The AP cost for buying back one point.",
170
+ type: DB.Integer({ minimum: 1 }),
171
+ }),
172
+ }),
173
+ });
50
174
  const CalculationTranslation = DB.TypeAlias(import.meta.url, {
51
175
  name: "CalculationTranslation",
52
176
  type: () => DB.Object({