optolith-database-schema 0.18.13 → 0.19.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 (56) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/lib/types/Advantage.d.ts +55 -11
  3. package/lib/types/Disadvantage.d.ts +55 -11
  4. package/lib/types/_Activatable.d.ts +112 -23
  5. package/lib/types/_Activatable.js +28 -54
  6. package/lib/types/_MathExpression.d.ts +12 -0
  7. package/lib/types/_MathExpression.js +36 -0
  8. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +55 -11
  9. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +55 -11
  10. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +55 -11
  11. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +55 -11
  12. package/lib/types/specialAbility/AncestorGlyph.d.ts +1 -9
  13. package/lib/types/specialAbility/BlessedTradition.d.ts +55 -11
  14. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +1 -9
  15. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +55 -11
  16. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +55 -11
  17. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +55 -11
  18. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +1 -9
  19. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +1 -9
  20. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +1 -9
  21. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +55 -11
  22. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +55 -11
  23. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +1 -9
  24. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +55 -11
  25. package/lib/types/specialAbility/LycantropicGift.d.ts +1 -9
  26. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +55 -11
  27. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +55 -11
  28. package/lib/types/specialAbility/MagicalTradition.d.ts +55 -11
  29. package/lib/types/specialAbility/PactGift.d.ts +1 -9
  30. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +1 -9
  31. package/lib/types/specialAbility/Sermon.d.ts +1 -9
  32. package/lib/types/specialAbility/SexSpecialAbility.d.ts +55 -11
  33. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +1 -9
  34. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +1 -9
  35. package/lib/types/specialAbility/VampiricGift.d.ts +1 -9
  36. package/lib/types/specialAbility/Vision.d.ts +1 -9
  37. package/lib/types/specialAbility/sub/TradeSecret.d.ts +1 -9
  38. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1 -9
  39. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1 -9
  40. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1 -9
  41. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1 -9
  42. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1 -9
  43. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1 -9
  44. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1 -9
  45. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1 -9
  46. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1 -9
  47. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1 -9
  48. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1 -9
  49. package/lib/types/traditionArtifacts/SickleRitual.d.ts +1 -9
  50. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1 -9
  51. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1 -9
  52. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1 -9
  53. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1 -9
  54. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1 -9
  55. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1 -9
  56. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,6 +2,24 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.19.1](https://github.com/elyukai/optolith-database-schema/compare/v0.19.0...v0.19.1) (2025-10-27)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * general special ability options and activatable instances in general should use child entity types instead of reference types ([5952ef2](https://github.com/elyukai/optolith-database-schema/commit/5952ef214d388e328b6a94364384eed712cefb13))
11
+
12
+ ## [0.19.0](https://github.com/elyukai/optolith-database-schema/compare/v0.18.13...v0.19.0) (2025-10-27)
13
+
14
+
15
+ ### ⚠ BREAKING CHANGES
16
+
17
+ * combineable binary math operators to specific adventure points value by active instances instead of fixed functions
18
+
19
+ ### Features
20
+
21
+ * combineable binary math operators to specific adventure points value by active instances instead of fixed functions ([f11c1e1](https://github.com/elyukai/optolith-database-schema/commit/f11c1e1e07318ed5836d9964f3658335bf07d072))
22
+
5
23
  ## [0.18.13](https://github.com/elyukai/optolith-database-schema/compare/v0.18.12...v0.18.13) (2025-10-17)
6
24
 
7
25
 
@@ -662,8 +662,6 @@ export declare const Advantage: Entity<"Advantage", {
662
662
  General: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
663
663
  Skill: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ExplicitSkillSelectOption", Object<{
664
664
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
665
- skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"NewSkillApplications", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
666
- skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SkillUses", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
667
665
  prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"GeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisitesForLevels", import("tsondb/schema/def").ArrayType<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisiteForLevel", Object<{
668
666
  level: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
669
667
  prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"PrerequisitesElement", {
@@ -823,8 +821,60 @@ export declare const Advantage: Entity<"Advantage", {
823
821
  }>, []>>>;
824
822
  }, []>>>, false>;
825
823
  }>, []>>, false>;
826
- skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"NewSkillApplications", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
827
- skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SkillUses", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
824
+ skill_applications: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ChildEntitiesType<Entity<"NewSkillApplication", {
825
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"NewSkillApplicationOrUseParentIdentifier", {
826
+ GeneralSelectOption: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
827
+ Advantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
828
+ Disadvantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
829
+ AdvancedCombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
830
+ AdvancedKarmaSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
831
+ AdvancedMagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
832
+ AdvancedSkillSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
833
+ BlessedTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
834
+ CeremonialItemSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
835
+ CombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
836
+ CombatStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
837
+ FatePointSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
838
+ GeneralSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
839
+ LiturgicalStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
840
+ MagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
841
+ MagicalTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
842
+ MagicStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
843
+ SexSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
844
+ }, []>>, true>;
845
+ skills: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
846
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
847
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"NewSkillApplicationTranslation", {
848
+ name: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
849
+ }>, false>;
850
+ }, "parent">>, true>;
851
+ skill_uses: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ChildEntitiesType<Entity<"SkillUse", {
852
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"NewSkillApplicationOrUseParentIdentifier", {
853
+ GeneralSelectOption: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
854
+ Advantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
855
+ Disadvantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
856
+ AdvancedCombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
857
+ AdvancedKarmaSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
858
+ AdvancedMagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
859
+ AdvancedSkillSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
860
+ BlessedTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
861
+ CeremonialItemSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
862
+ CombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
863
+ CombatStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
864
+ FatePointSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
865
+ GeneralSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
866
+ LiturgicalStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
867
+ MagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
868
+ MagicalTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
869
+ MagicStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
870
+ SexSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
871
+ }, []>>, true>;
872
+ skills: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
873
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
874
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"SkillUseTranslation", {
875
+ name: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
876
+ }>, false>;
877
+ }, "parent">>, true>;
828
878
  maximum: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
829
879
  prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdvantageDisadvantagePrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisitesForLevels", import("tsondb/schema/def").ArrayType<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisiteForLevel", Object<{
830
880
  level: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
@@ -867,13 +917,7 @@ export declare const Advantage: Entity<"Advantage", {
867
917
  threshold: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
868
918
  alternative: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
869
919
  }>, []>>>;
870
- Multiplier: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdventurePointsDependingOnActiveInstancesMultiplier", Object<{
871
- base: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
872
- expression: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"AdventurePointsDependingOnActiveInstancesMultiplierExpression", {
873
- Linear: import("tsondb/schema/def").EnumCaseDecl<null>;
874
- Exponentiation: import("tsondb/schema/def").EnumCaseDecl<null>;
875
- }, []>>, true>;
876
- }>, []>>>;
920
+ Expression: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdventurePointsDependingOnActiveInstancesExpression", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("./_MathExpression.js").MathOperation>, []>>>;
877
921
  }, []>>>;
878
922
  Indefinite: import("tsondb/schema/def").EnumCaseDecl<null>;
879
923
  }, []>>, true>;
@@ -662,8 +662,6 @@ export declare const Disadvantage: Entity<"Disadvantage", {
662
662
  General: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
663
663
  Skill: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"ExplicitSkillSelectOption", Object<{
664
664
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
665
- skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"NewSkillApplications", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
666
- skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SkillUses", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
667
665
  prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"GeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisitesForLevels", import("tsondb/schema/def").ArrayType<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisiteForLevel", Object<{
668
666
  level: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
669
667
  prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"PrerequisitesElement", {
@@ -823,8 +821,60 @@ export declare const Disadvantage: Entity<"Disadvantage", {
823
821
  }>, []>>>;
824
822
  }, []>>>, false>;
825
823
  }>, []>>, false>;
826
- skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"NewSkillApplications", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
827
- skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"SkillUses", import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
824
+ skill_applications: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ChildEntitiesType<Entity<"NewSkillApplication", {
825
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"NewSkillApplicationOrUseParentIdentifier", {
826
+ GeneralSelectOption: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
827
+ Advantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
828
+ Disadvantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
829
+ AdvancedCombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
830
+ AdvancedKarmaSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
831
+ AdvancedMagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
832
+ AdvancedSkillSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
833
+ BlessedTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
834
+ CeremonialItemSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
835
+ CombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
836
+ CombatStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
837
+ FatePointSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
838
+ GeneralSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
839
+ LiturgicalStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
840
+ MagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
841
+ MagicalTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
842
+ MagicStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
843
+ SexSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
844
+ }, []>>, true>;
845
+ skills: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
846
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
847
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"NewSkillApplicationTranslation", {
848
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
849
+ }>, false>;
850
+ }, "parent">>, true>;
851
+ skill_uses: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ChildEntitiesType<Entity<"SkillUse", {
852
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"NewSkillApplicationOrUseParentIdentifier", {
853
+ GeneralSelectOption: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
854
+ Advantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
855
+ Disadvantage: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
856
+ AdvancedCombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
857
+ AdvancedKarmaSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
858
+ AdvancedMagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
859
+ AdvancedSkillSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
860
+ BlessedTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
861
+ CeremonialItemSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
862
+ CombatSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
863
+ CombatStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
864
+ FatePointSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
865
+ GeneralSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
866
+ LiturgicalStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
867
+ MagicalSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
868
+ MagicalTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
869
+ MagicStyleSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
870
+ SexSpecialAbility: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
871
+ }, []>>, true>;
872
+ skills: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ArrayType<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
873
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
874
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"SkillUseTranslation", {
875
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
876
+ }>, false>;
877
+ }, "parent">>, true>;
828
878
  maximum: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, false>;
829
879
  prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdvantageDisadvantagePrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisitesForLevels", import("tsondb/schema/def").ArrayType<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").TypeAliasDecl<"PrerequisiteForLevel", Object<{
830
880
  level: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
@@ -867,13 +917,7 @@ export declare const Disadvantage: Entity<"Disadvantage", {
867
917
  threshold: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
868
918
  alternative: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
869
919
  }>, []>>>;
870
- Multiplier: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdventurePointsDependingOnActiveInstancesMultiplier", Object<{
871
- base: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").IntegerType, true>;
872
- expression: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"AdventurePointsDependingOnActiveInstancesMultiplierExpression", {
873
- Linear: import("tsondb/schema/def").EnumCaseDecl<null>;
874
- Exponentiation: import("tsondb/schema/def").EnumCaseDecl<null>;
875
- }, []>>, true>;
876
- }>, []>>>;
920
+ Expression: import("tsondb/schema/def").EnumCaseDecl<IncludeIdentifier<[], import("tsondb/schema/def").TypeAliasDecl<"AdventurePointsDependingOnActiveInstancesExpression", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("./_MathExpression.js").MathOperation>, []>>>;
877
921
  }, []>>>;
878
922
  Indefinite: import("tsondb/schema/def").EnumCaseDecl<null>;
879
923
  }, []>>, true>;
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * General type specifications used by multiple activatable entries.
3
3
  */
4
- import { Array, Boolean, Entity, Enum, EnumCase, IncludeIdentifier, Integer, Object, String, Type, TypeAlias, TypeArgument } from "tsondb/schema/def";
4
+ import { Array, Boolean, ChildEntities, Entity, Enum, EnumCase, IncludeIdentifier, Integer, Object, String, Type, TypeAlias, TypeArgument } from "tsondb/schema/def";
5
+ import { MathOperation } from "./_MathExpression.js";
5
6
  export declare const name: import("tsondb/schema/def").MemberDecl<String, true>;
6
7
  export declare const name_in_library: import("tsondb/schema/def").MemberDecl<String, false>;
7
8
  export declare const levels: import("tsondb/schema/def").MemberDecl<Integer, false>;
@@ -667,8 +668,6 @@ export declare const select_options: import("tsondb/schema/def").MemberDecl<Incl
667
668
  General: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
668
669
  Skill: EnumCase<IncludeIdentifier<[], TypeAlias<"ExplicitSkillSelectOption", Object<{
669
670
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
670
- skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"NewSkillApplications", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
671
- skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"SkillUses", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
672
671
  prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"GeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisitesForLevels", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisiteForLevel", Object<{
673
672
  level: import("tsondb/schema/def").MemberDecl<Integer, true>;
674
673
  prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], Enum<"PrerequisitesElement", {
@@ -832,8 +831,6 @@ export declare const ExplicitSelectOption: Enum<"ExplicitSelectOption", {
832
831
  General: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
833
832
  Skill: EnumCase<IncludeIdentifier<[], TypeAlias<"ExplicitSkillSelectOption", Object<{
834
833
  id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
835
- skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"NewSkillApplications", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
836
- skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"SkillUses", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
837
834
  prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"GeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisitesForLevels", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisiteForLevel", Object<{
838
835
  level: import("tsondb/schema/def").MemberDecl<Integer, true>;
839
836
  prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], Enum<"PrerequisitesElement", {
@@ -1047,8 +1044,60 @@ export declare const GeneralSelectOption: Entity<"GeneralSelectOption", {
1047
1044
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1048
1045
  }, []>>, true>;
1049
1046
  profession_only: import("tsondb/schema/def").MemberDecl<Boolean, false>;
1050
- skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"NewSkillApplications", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
1051
- skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"SkillUses", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
1047
+ skill_applications: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"NewSkillApplication", {
1048
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1049
+ GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1050
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1051
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1052
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1053
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1054
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1055
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1056
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1057
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1058
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1059
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1060
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1061
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1062
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1063
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1064
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1065
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1066
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1067
+ }, []>>, true>;
1068
+ skills: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
1069
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<Integer, false>;
1070
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"NewSkillApplicationTranslation", {
1071
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
1072
+ }>, false>;
1073
+ }, "parent">>, true>;
1074
+ skill_uses: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"SkillUse", {
1075
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1076
+ GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1077
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1078
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1079
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1080
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1081
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1082
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1083
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1084
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1085
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1086
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1087
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1088
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1089
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1090
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1091
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1092
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1093
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1094
+ }, []>>, true>;
1095
+ skills: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
1096
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<Integer, false>;
1097
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"SkillUseTranslation", {
1098
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
1099
+ }>, false>;
1100
+ }, "parent">>, true>;
1052
1101
  prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"GeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisitesForLevels", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisiteForLevel", Object<{
1053
1102
  level: import("tsondb/schema/def").MemberDecl<Integer, true>;
1054
1103
  prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], Enum<"PrerequisitesElement", {
@@ -1139,7 +1188,6 @@ export declare const type: import("tsondb/schema/def").MemberDecl<IncludeIdentif
1139
1188
  Armed: EnumCase<null>;
1140
1189
  Unarmed: EnumCase<null>;
1141
1190
  }, []>>, true>;
1142
- export declare const skill_applications: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"NewSkillApplications", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
1143
1191
  export declare const NewSkillApplication: Entity<"NewSkillApplication", {
1144
1192
  parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1145
1193
  GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
@@ -1167,6 +1215,33 @@ export declare const NewSkillApplication: Entity<"NewSkillApplication", {
1167
1215
  name: import("tsondb/schema/def").MemberDecl<String, true>;
1168
1216
  }>, false>;
1169
1217
  }, "parent">;
1218
+ export declare const skill_applications: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"NewSkillApplication", {
1219
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1220
+ GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1221
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1222
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1223
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1224
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1225
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1226
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1227
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1228
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1229
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1230
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1231
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1232
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1233
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1234
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1235
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1236
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1237
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1238
+ }, []>>, true>;
1239
+ skills: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
1240
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<Integer, false>;
1241
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"NewSkillApplicationTranslation", {
1242
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
1243
+ }>, false>;
1244
+ }, "parent">>, true>;
1170
1245
  export declare const SkillUse: Entity<"SkillUse", {
1171
1246
  parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1172
1247
  GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
@@ -1194,7 +1269,33 @@ export declare const SkillUse: Entity<"SkillUse", {
1194
1269
  name: import("tsondb/schema/def").MemberDecl<String, true>;
1195
1270
  }>, false>;
1196
1271
  }, "parent">;
1197
- export declare const skill_uses: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"SkillUses", Array<import("tsondb/schema/def").ReferenceIdentifierType>, []>>, false>;
1272
+ export declare const skill_uses: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"SkillUse", {
1273
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1274
+ GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1275
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1276
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1277
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1278
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1279
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1280
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1281
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1282
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1283
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1284
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1285
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1286
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1287
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1288
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1289
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1290
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1291
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1292
+ }, []>>, true>;
1293
+ skills: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
1294
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<Integer, false>;
1295
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"SkillUseTranslation", {
1296
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
1297
+ }>, false>;
1298
+ }, "parent">>, true>;
1198
1299
  export declare const range_l10n: import("tsondb/schema/def").MemberDecl<String, false>;
1199
1300
  export declare const penalty: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Penalty", {
1200
1301
  Single: EnumCase<IncludeIdentifier<[], TypeAlias<"SinglePenalty", Object<{
@@ -1766,13 +1867,7 @@ export declare const ap_value: import("tsondb/schema/def").MemberDecl<IncludeIde
1766
1867
  threshold: import("tsondb/schema/def").MemberDecl<Integer, true>;
1767
1868
  alternative: import("tsondb/schema/def").MemberDecl<Integer, true>;
1768
1869
  }>, []>>>;
1769
- Multiplier: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesMultiplier", Object<{
1770
- base: import("tsondb/schema/def").MemberDecl<Integer, true>;
1771
- expression: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"AdventurePointsDependingOnActiveInstancesMultiplierExpression", {
1772
- Linear: EnumCase<null>;
1773
- Exponentiation: EnumCase<null>;
1774
- }, []>>, true>;
1775
- }>, []>>>;
1870
+ Expression: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], MathOperation>, []>>>;
1776
1871
  }, []>>>;
1777
1872
  Indefinite: EnumCase<null>;
1778
1873
  }, []>>, true>;
@@ -1785,12 +1880,6 @@ export declare const AdventurePointsDependingOnActiveInstances: Enum<"AdventureP
1785
1880
  threshold: import("tsondb/schema/def").MemberDecl<Integer, true>;
1786
1881
  alternative: import("tsondb/schema/def").MemberDecl<Integer, true>;
1787
1882
  }>, []>>>;
1788
- Multiplier: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesMultiplier", Object<{
1789
- base: import("tsondb/schema/def").MemberDecl<Integer, true>;
1790
- expression: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"AdventurePointsDependingOnActiveInstancesMultiplierExpression", {
1791
- Linear: EnumCase<null>;
1792
- Exponentiation: EnumCase<null>;
1793
- }, []>>, true>;
1794
- }>, []>>>;
1883
+ Expression: EnumCase<IncludeIdentifier<[], TypeAlias<"AdventurePointsDependingOnActiveInstancesExpression", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], MathOperation>, []>>>;
1795
1884
  }, []>;
1796
1885
  export declare const input: import("tsondb/schema/def").MemberDecl<String, false>;
@@ -1,12 +1,13 @@
1
1
  /**
2
2
  * General type specifications used by multiple activatable entries.
3
3
  */
4
- import { Array, Boolean, Entity, Enum, EnumCase, GenEnum, GenIncludeIdentifier, GenTypeAlias, IncludeIdentifier, Integer, Object, Optional, Param, Required, String, TypeAlias, TypeArgument, } from "tsondb/schema/def";
4
+ import { Array, Boolean, ChildEntities, Entity, Enum, EnumCase, GenEnum, GenIncludeIdentifier, GenTypeAlias, IncludeIdentifier, Integer, Object, Optional, Param, Required, String, TypeAlias, TypeArgument, } from "tsondb/schema/def";
5
5
  import { NestedTranslationMap } from "./Locale.js";
6
6
  import { SelectOptionCategory } from "./_ActivatableSelectOptionCategory.js";
7
7
  import { DurationUnitValue } from "./_ActivatableSkillDuration.js";
8
- import { AspectIdentifier, CloseCombatTechniqueIdentifier, GeneralIdentifier, MagicalTraditionIdentifier, NewSkillApplicationIdentifier, PatronIdentifier, PropertyIdentifier, RaceIdentifier, RangedCombatTechniqueIdentifier, SkillIdentifier, SkillUseIdentifier, WeaponIdentifier, } from "./_Identifier.js";
8
+ import { AspectIdentifier, CloseCombatTechniqueIdentifier, GeneralIdentifier, MagicalTraditionIdentifier, PatronIdentifier, PropertyIdentifier, RaceIdentifier, RangedCombatTechniqueIdentifier, SkillIdentifier, WeaponIdentifier, } from "./_Identifier.js";
9
9
  import { AdvancedSpecialAbilityRestrictedOptionIdentifier, CombatRelatedSpecialAbilityIdentifier, CombatTechniqueIdentifier, NewSkillApplicationOrUseParentIdentifier, SelectOptionParentIdentifier, VolumePointsOptionReferenceIdentifier, } from "./_IdentifierGroup.js";
10
+ import { MathOperation } from "./_MathExpression.js";
10
11
  import { GeneralPrerequisites } from "./_Prerequisite.js";
11
12
  import { ResponsiveText, ResponsiveTextOptional } from "./_ResponsiveText.js";
12
13
  import { DisplayOption } from "./prerequisites/DisplayOption.js";
@@ -76,13 +77,13 @@ export const GeneralSelectOption = Entity(import.meta.url, {
76
77
  comment: "Sometimes, professions use specific text selections that are not contained in described lists. This ensures you can use them for professions only. They are not going to be displayed as options to the user.",
77
78
  type: Boolean(),
78
79
  }),
79
- skill_applications: Optional({
80
+ skill_applications: Required({
80
81
  comment: "Registers new applications, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
81
- type: IncludeIdentifier(NewSkillApplications),
82
+ type: ChildEntities(NewSkillApplication),
82
83
  }),
83
- skill_uses: Optional({
84
+ skill_uses: Required({
84
85
  comment: "Registers uses, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
85
- type: IncludeIdentifier(SkillUses),
86
+ type: ChildEntities(SkillUse),
86
87
  }),
87
88
  prerequisites: Optional({
88
89
  comment: "Prerequisites for the select option.",
@@ -129,14 +130,6 @@ const ExplicitSkillSelectOption = TypeAlias(import.meta.url, {
129
130
  comment: "The skill’s identifier.",
130
131
  type: SkillIdentifier(),
131
132
  }),
132
- skill_applications: Optional({
133
- comment: "Registers new applications, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
134
- type: IncludeIdentifier(NewSkillApplications),
135
- }),
136
- skill_uses: Optional({
137
- comment: "Registers uses, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
138
- type: IncludeIdentifier(SkillUses),
139
- }),
140
133
  prerequisites: Optional({
141
134
  comment: "Prerequisites for the select option.",
142
135
  type: IncludeIdentifier(GeneralPrerequisites),
@@ -334,15 +327,6 @@ export const type = Required({
334
327
  comment: "The definition of if the combat special ability can be used when armed or when unarmed.",
335
328
  type: IncludeIdentifier(CombatSpecialAbilityType),
336
329
  });
337
- const NewSkillApplications = TypeAlias(import.meta.url, {
338
- name: "NewSkillApplications",
339
- comment: "Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
340
- type: () => Array(NewSkillApplicationIdentifier(), { minItems: 1 }),
341
- });
342
- export const skill_applications = Optional({
343
- comment: "Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
344
- type: IncludeIdentifier(NewSkillApplications),
345
- });
346
330
  export const NewSkillApplication = Entity(import.meta.url, {
347
331
  name: "NewSkillApplication",
348
332
  namePlural: "NewSkillApplications",
@@ -375,6 +359,10 @@ export const NewSkillApplication = Entity(import.meta.url, {
375
359
  localeId: instanceDisplayNameLocaleId,
376
360
  }),
377
361
  });
362
+ export const skill_applications = Required({
363
+ comment: "Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
364
+ type: ChildEntities(NewSkillApplication),
365
+ });
378
366
  export const SkillUse = Entity(import.meta.url, {
379
367
  name: "SkillUse",
380
368
  namePlural: "SkillUses",
@@ -407,14 +395,9 @@ export const SkillUse = Entity(import.meta.url, {
407
395
  localeId: instanceDisplayNameLocaleId,
408
396
  }),
409
397
  });
410
- const SkillUses = TypeAlias(import.meta.url, {
411
- name: "SkillUses",
398
+ export const skill_uses = Required({
412
399
  comment: "Registers uses, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
413
- type: () => Array(SkillUseIdentifier(), { minItems: 1 }),
414
- });
415
- export const skill_uses = Optional({
416
- comment: "Registers uses, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
417
- type: IncludeIdentifier(SkillUses),
400
+ type: ChildEntities(SkillUse),
418
401
  });
419
402
  const Penalty = Enum(import.meta.url, {
420
403
  name: "Penalty",
@@ -1399,8 +1382,8 @@ export const AdventurePointsDependingOnActiveInstances = Enum(import.meta.url, {
1399
1382
  Threshold: EnumCase({
1400
1383
  type: IncludeIdentifier(AdventurePointsDependingOnActiveInstancesThreshold),
1401
1384
  }),
1402
- Multiplier: EnumCase({
1403
- type: IncludeIdentifier(AdventurePointsDependingOnActiveInstancesMultiplier),
1385
+ Expression: EnumCase({
1386
+ type: IncludeIdentifier(AdventurePointsDependingOnActiveInstancesExpression),
1404
1387
  }),
1405
1388
  }),
1406
1389
  });
@@ -1422,32 +1405,23 @@ const AdventurePointsDependingOnActiveInstancesThreshold = TypeAlias(import.meta
1422
1405
  }),
1423
1406
  }),
1424
1407
  });
1425
- const AdventurePointsDependingOnActiveInstancesMultiplier = TypeAlias(import.meta.url, {
1426
- name: "AdventurePointsDependingOnActiveInstancesMultiplier",
1408
+ const AdventurePointsDependingOnActiveInstancesExpression = TypeAlias(import.meta.url, {
1409
+ name: "AdventurePointsDependingOnActiveInstancesExpression",
1427
1410
  comment: "The adventure points cost depends on how many instances of the entry are already active.",
1428
- type: () => Object({
1429
- base: Required({
1430
- comment: "The base adventure points value that is multiplied by the result of the selected expression.",
1431
- type: Integer({ minimum: 0 }),
1432
- }),
1433
- expression: Required({
1434
- comment: "The type of expression to use for calculating the multiplier.",
1435
- type: IncludeIdentifier(AdventurePointsDependingOnActiveInstancesMultiplierExpression),
1436
- }),
1437
- }),
1411
+ type: () => GenIncludeIdentifier(MathOperation, [
1412
+ IncludeIdentifier(AdventurePointsDependingOnActiveInstancesExpressionValue),
1413
+ ]),
1438
1414
  });
1439
- const AdventurePointsDependingOnActiveInstancesMultiplierExpression = Enum(import.meta.url, {
1440
- name: "AdventurePointsDependingOnActiveInstancesMultiplierExpression",
1441
- comment: `The type of expression to use for calculating the multiplier that is multiplied with the base value to get the final AP value.
1442
-
1443
- To keep the comments for each case easier to compare, the variable \`active\` is used for the number of active instances.`,
1415
+ const AdventurePointsDependingOnActiveInstancesExpressionValue = Enum(import.meta.url, {
1416
+ name: "AdventurePointsDependingOnActiveInstancesExpressionValue",
1417
+ comment: `The type of value allowed in the expression to calculate the AP value.`,
1444
1418
  values: () => ({
1445
- Linear: EnumCase({
1446
- comment: "active − 1",
1447
- type: null,
1419
+ Constant: EnumCase({
1420
+ comment: "A constant integer value.",
1421
+ type: Integer(),
1448
1422
  }),
1449
- Exponentiation: EnumCase({
1450
- comment: "2^active^",
1423
+ Active: EnumCase({
1424
+ comment: "The number of active instances.",
1451
1425
  type: null,
1452
1426
  }),
1453
1427
  }),
@@ -0,0 +1,12 @@
1
+ import { Array, EnumCase, TypeArgument, type Enum, type IncludeIdentifier, type TypeParameter } from "tsondb/schema/def";
2
+ type BinaryMathOperationName = "Addition" | "Subtraction" | "Multiplication" | "Division" | "Exponentiation";
3
+ type BinaryMathOperation = {
4
+ [K in BinaryMathOperationName]: EnumCase<Array<IncludeIdentifier<[Value: TypeParameter], MathOperation>>>;
5
+ };
6
+ export type MathOperation = Enum<"MathOperation", {
7
+ Value: EnumCase<TypeArgument<TypeParameter>>;
8
+ } & BinaryMathOperation, [
9
+ Value: TypeParameter
10
+ ]>;
11
+ export declare const MathOperation: MathOperation;
12
+ export {};