optolith-database-schema 0.26.0 → 0.26.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/gen/types.d.ts +358 -294
  3. package/lib/types/Advantage.d.ts +11 -0
  4. package/lib/types/Disadvantage.d.ts +11 -0
  5. package/lib/types/HomunculusType.d.ts +6 -0
  6. package/lib/types/HomunculusType.js +15 -0
  7. package/lib/types/Profession.js +2 -2
  8. package/lib/types/_ActivatableAdventurePointsValue.d.ts +1 -0
  9. package/lib/types/_ActivatableAdventurePointsValue.js +4 -0
  10. package/lib/types/_ActivatableNonMundane.d.ts +10 -2
  11. package/lib/types/_ActivatableNonMundane.js +11 -1
  12. package/lib/types/_ActivatableSelectOptionCategory.d.ts +699 -0
  13. package/lib/types/_ActivatableSelectOptionCategory.js +73 -0
  14. package/lib/types/_ActivatableSelectOptions.d.ts +10 -0
  15. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +11 -0
  16. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +11 -0
  17. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +11 -0
  18. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +11 -0
  19. package/lib/types/specialAbility/AncestorGlyph.d.ts +11 -0
  20. package/lib/types/specialAbility/BlessedTradition.d.ts +11 -0
  21. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +11 -0
  22. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +11 -0
  23. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +11 -0
  24. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +11 -0
  25. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +11 -0
  26. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +11 -0
  27. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +11 -0
  28. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +11 -0
  29. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +11 -0
  30. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +11 -0
  31. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +11 -0
  32. package/lib/types/specialAbility/LycantropicGift.d.ts +11 -0
  33. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +11 -0
  34. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +11 -0
  35. package/lib/types/specialAbility/MagicalTradition.d.ts +11 -0
  36. package/lib/types/specialAbility/PactGift.d.ts +11 -0
  37. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +11 -0
  38. package/lib/types/specialAbility/Sermon.d.ts +11 -0
  39. package/lib/types/specialAbility/SexSpecialAbility.d.ts +11 -0
  40. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +11 -0
  41. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +11 -0
  42. package/lib/types/specialAbility/VampiricGift.d.ts +11 -0
  43. package/lib/types/specialAbility/Vision.d.ts +11 -0
  44. package/lib/types/specialAbility/sub/TradeSecret.d.ts +880 -161
  45. package/lib/types/specialAbility/sub/TradeSecret.js +9 -5
  46. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +16 -1
  47. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +16 -1
  48. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +16 -1
  49. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +16 -1
  50. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +16 -1
  51. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +16 -1
  52. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +16 -1
  53. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +16 -1
  54. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +16 -1
  55. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +16 -1
  56. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +16 -1
  57. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +16 -1
  58. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +16 -1
  59. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +16 -1
  60. package/lib/types/traditionArtifacts/SickleRitual.d.ts +16 -1
  61. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +16 -1
  62. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +16 -1
  63. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +16 -1
  64. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +16 -1
  65. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +16 -1
  66. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +16 -1
  67. package/package.json +1 -1
@@ -14,6 +14,7 @@ export declare const Advantage: Entity<"Advantage", {
14
14
  Races: import("tsondb/schema/def").EnumCaseDecl<null>;
15
15
  Cultures: import("tsondb/schema/def").EnumCaseDecl<null>;
16
16
  RacesAndCultures: import("tsondb/schema/def").EnumCaseDecl<null>;
17
+ HomunculusTypes: import("tsondb/schema/def").EnumCaseDecl<null>;
17
18
  BlessedTraditions: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"BlessedTraditionsSelectOptionCategory", Object<{
18
19
  require_principles: import("tsondb/schema/def").MemberDecl<Boolean, false>;
19
20
  }>, []>>>;
@@ -661,6 +662,15 @@ export declare const Advantage: Entity<"Advantage", {
661
662
  }, []>>>, false>;
662
663
  }>, [Ref: import("tsondb/schema/def").TypeParameter<"Ref", import("tsondb/schema/def").Type>]>>>;
663
664
  }, []>>>, true>;
665
+ bindingCost: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"SelectOptionsBindingCostValue", {
666
+ Fixed: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"SelectOptionsFixedBindingCostValue", Object<{
667
+ map: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"SelectOptionsFixedBindingCostValueMapping", Object<{
668
+ id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>>, true>;
669
+ bindingCost: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
670
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>]>>>, true>;
671
+ default: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
672
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>]>>>;
673
+ }, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>]>>, false>;
664
674
  ap_value: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"SelectOptionsAdventurePointsValue", {
665
675
  DerivedFromImprovementCost: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SelectOptionsDeriveAdventurePointsValueFromImprovementCost", Object<{
666
676
  multiplier: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
@@ -1043,6 +1053,7 @@ export declare const Advantage: Entity<"Advantage", {
1043
1053
  }>, []>>>;
1044
1054
  DerivedFromSelection: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdventurePointsDerivedFromSelection", Object<{
1045
1055
  translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"AdventurePointsDerivedFromSelectionTranslation", {
1056
+ listPrepend: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
1046
1057
  replacement: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
1047
1058
  }>, false>;
1048
1059
  }>, []>>>;
@@ -14,6 +14,7 @@ export declare const Disadvantage: Entity<"Disadvantage", {
14
14
  Races: import("tsondb/schema/def").EnumCaseDecl<null>;
15
15
  Cultures: import("tsondb/schema/def").EnumCaseDecl<null>;
16
16
  RacesAndCultures: import("tsondb/schema/def").EnumCaseDecl<null>;
17
+ HomunculusTypes: import("tsondb/schema/def").EnumCaseDecl<null>;
17
18
  BlessedTraditions: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"BlessedTraditionsSelectOptionCategory", Object<{
18
19
  require_principles: import("tsondb/schema/def").MemberDecl<Boolean, false>;
19
20
  }>, []>>>;
@@ -661,6 +662,15 @@ export declare const Disadvantage: Entity<"Disadvantage", {
661
662
  }, []>>>, false>;
662
663
  }>, [Ref: import("tsondb/schema/def").TypeParameter<"Ref", import("tsondb/schema/def").Type>]>>>;
663
664
  }, []>>>, true>;
665
+ bindingCost: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"SelectOptionsBindingCostValue", {
666
+ Fixed: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"SelectOptionsFixedBindingCostValue", Object<{
667
+ map: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"SelectOptionsFixedBindingCostValueMapping", Object<{
668
+ id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>>, true>;
669
+ bindingCost: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
670
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>]>>>, true>;
671
+ default: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
672
+ }>, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>]>>>;
673
+ }, [Identifier: import("tsondb/schema/def").TypeParameter<"Identifier", import("tsondb/schema/def").Type>]>>, false>;
664
674
  ap_value: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"SelectOptionsAdventurePointsValue", {
665
675
  DerivedFromImprovementCost: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SelectOptionsDeriveAdventurePointsValueFromImprovementCost", Object<{
666
676
  multiplier: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
@@ -970,6 +980,7 @@ export declare const Disadvantage: Entity<"Disadvantage", {
970
980
  }>, []>>>;
971
981
  DerivedFromSelection: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdventurePointsDerivedFromSelection", Object<{
972
982
  translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"AdventurePointsDerivedFromSelectionTranslation", {
983
+ listPrepend: import("tsondb/schema/def").MemberDecl<String, false>;
973
984
  replacement: import("tsondb/schema/def").MemberDecl<String, false>;
974
985
  }>, false>;
975
986
  }>, []>>>;
@@ -0,0 +1,6 @@
1
+ import { Entity, String } from "tsondb/schema/def";
2
+ export declare const HomunculusType: Entity<"HomunculusType", {
3
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"HomunculusTypeTranslation", {
4
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
5
+ }>, true>;
6
+ }, undefined>;
@@ -0,0 +1,15 @@
1
+ import { Entity, Object, Required, String } from "tsondb/schema/def";
2
+ import { NestedTranslationMap } from "./Locale.js";
3
+ export const HomunculusType = Entity(import.meta.url, {
4
+ name: "HomunculusType",
5
+ namePlural: "HomunculusTypes",
6
+ type: () => Object({
7
+ translations: NestedTranslationMap(Required, "HomunculusType", Object({
8
+ name: Required({
9
+ comment: "The homunculus type’s name.",
10
+ type: String({ minLength: 1 }),
11
+ }),
12
+ })),
13
+ }),
14
+ displayName: {},
15
+ });
@@ -363,7 +363,7 @@ const MagicalSkillRating = TypeAlias(import.meta.url, {
363
363
  type: Array(IncludeIdentifier(ProfessionMagicalSkillIdentifier), { minItems: 1 }),
364
364
  }),
365
365
  rating_modifier: Required({
366
- comment: "The rating bonus provided for the (selected) magical skill. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** This is a rating *bonus*, so it will be *added* to the default value of 6.",
366
+ comment: "The rating bonus provided for the (selected) magical skill. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** If due to a variant a spell rating is lowered to 0, the spell is considered deactivated. Both setting the value for a spell and deactivating it by setting it to 0 takes into account the additional activation cost for spells.",
367
367
  type: Integer(),
368
368
  }),
369
369
  }),
@@ -405,7 +405,7 @@ const LiturgicalChantRating = TypeAlias(import.meta.url, {
405
405
  type: Array(IncludeIdentifier(LiturgyIdentifier), { minItems: 1 }),
406
406
  }),
407
407
  rating_modifier: Required({
408
- comment: "The rating bonus provided for the selected liturgical chant. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** This is a rating *bonus*, so it will be *added* to the default value of 6.",
408
+ comment: "The rating bonus provided for the selected liturgical chant. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** If due to a variant a liturgical chant rating is lowered to 0, the liturgical chant is considered deactivated. Both setting the value for a liturgical chant and deactivating it by setting it to 0 takes into account the additional activation cost for liturgical chants.",
409
409
  type: Integer(),
410
410
  }),
411
411
  }),
@@ -14,6 +14,7 @@ export declare const ap_value: import("tsondb/schema/def").MemberDecl<IncludeIde
14
14
  }>, []>>>;
15
15
  DerivedFromSelection: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDerivedFromSelection", Object<{
16
16
  translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"AdventurePointsDerivedFromSelectionTranslation", {
17
+ listPrepend: import("tsondb/schema/def").MemberDecl<String, false>;
17
18
  replacement: import("tsondb/schema/def").MemberDecl<String, false>;
18
19
  }>, false>;
19
20
  }>, []>>>;
@@ -58,6 +58,10 @@ const AdventurePointsDerivedFromSelection = TypeAlias(import.meta.url, {
58
58
  comment: "The adventure points value is derived from the selection of the special ability. Its display value may be able to be derived from the given information for the select options. If that is not the case or the generated text would not match the original one, a replacement text can be provided.",
59
59
  type: () => Object({
60
60
  translations: NestedTranslationMap(Optional, "AdventurePointsDerivedFromSelection", Object({
61
+ listPrepend: Optional({
62
+ comment: "Place a string between the `for` and the grouped option names.",
63
+ type: String({ minLength: 1 }),
64
+ }),
61
65
  replacement: Optional({
62
66
  comment: "A replacement for the generated text if it would not match the original one.",
63
67
  type: String({ minLength: 1, isMarkdown: true }),
@@ -145,7 +145,7 @@ export declare const cost: import("tsondb/schema/def").MemberDecl<IncludeIdentif
145
145
  full: import("tsondb/schema/def").MemberDecl<String, true>;
146
146
  compressed: import("tsondb/schema/def").MemberDecl<String, false>;
147
147
  }>, []>>, false>;
148
- }>, false>;
148
+ }>, true>;
149
149
  }>, []>>>, true>;
150
150
  translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"BindingCostMapTranslation", {
151
151
  list_prepend: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ResponsiveTextOptional", Object<{
@@ -164,6 +164,10 @@ export declare const cost: import("tsondb/schema/def").MemberDecl<IncludeIdentif
164
164
  }>, []>>>;
165
165
  DerivedFromSelection: EnumCase<IncludeIdentifier<[], TypeAlias<"BindingCostDerivedFromSelection", Object<{
166
166
  fallback: import("tsondb/schema/def").MemberDecl<Integer, true>;
167
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"BindingCostDerivedFromSelectionTranslation", {
168
+ listPrepend: import("tsondb/schema/def").MemberDecl<String, false>;
169
+ replacement: import("tsondb/schema/def").MemberDecl<String, false>;
170
+ }>, false>;
167
171
  }>, []>>>;
168
172
  }, []>>>;
169
173
  }, []>>, false>;
@@ -365,7 +369,7 @@ export declare const BindingCost: Enum<"BindingCost", {
365
369
  full: import("tsondb/schema/def").MemberDecl<String, true>;
366
370
  compressed: import("tsondb/schema/def").MemberDecl<String, false>;
367
371
  }>, []>>, false>;
368
- }>, false>;
372
+ }>, true>;
369
373
  }>, []>>>, true>;
370
374
  translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"BindingCostMapTranslation", {
371
375
  list_prepend: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ResponsiveTextOptional", Object<{
@@ -384,6 +388,10 @@ export declare const BindingCost: Enum<"BindingCost", {
384
388
  }>, []>>>;
385
389
  DerivedFromSelection: EnumCase<IncludeIdentifier<[], TypeAlias<"BindingCostDerivedFromSelection", Object<{
386
390
  fallback: import("tsondb/schema/def").MemberDecl<Integer, true>;
391
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"BindingCostDerivedFromSelectionTranslation", {
392
+ listPrepend: import("tsondb/schema/def").MemberDecl<String, false>;
393
+ replacement: import("tsondb/schema/def").MemberDecl<String, false>;
394
+ }>, false>;
387
395
  }>, []>>>;
388
396
  }, []>;
389
397
  export declare const bindingCost: import("tsondb/schema/def").MemberDecl<String, false>;
@@ -445,7 +445,7 @@ const BindingCostMapOption = TypeAlias(import.meta.url, {
445
445
  comment: "The full permanent AE cost value for this option.",
446
446
  type: Integer({ minimum: 1 }),
447
447
  }),
448
- translations: NestedTranslationMap(Optional, "BindingCostMapOption", Object({
448
+ translations: NestedTranslationMap(Required, "BindingCostMapOption", Object({
449
449
  label: Required({
450
450
  comment: "The description of the option for cost string generation.",
451
451
  type: IncludeIdentifier(ResponsiveTextOptional),
@@ -464,6 +464,16 @@ const BindingCostDerivedFromSelection = TypeAlias(import.meta.url, {
464
464
  comment: "The binding cost for the selection if it does not define a specific one.",
465
465
  type: Integer({ minimum: 0 }),
466
466
  }),
467
+ translations: NestedTranslationMap(Optional, "BindingCostDerivedFromSelection", Object({
468
+ listPrepend: Optional({
469
+ comment: "Place a string between the `for` and the grouped option names.",
470
+ type: String({ minLength: 1 }),
471
+ }),
472
+ replacement: Optional({
473
+ comment: "A replacement for the generated text if it would not match the original one.",
474
+ type: String({ minLength: 1, isMarkdown: true }),
475
+ }),
476
+ }, { minProperties: 1 })),
467
477
  }),
468
478
  });
469
479
  const PropertyDeclaration = Enum(import.meta.url, {