optolith-database-schema 0.20.5 → 0.21.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 (119) hide show
  1. package/CHANGELOG.md +26 -0
  2. package/gen/types.d.ts +1500 -1131
  3. package/lib/types/Advantage.d.ts +185 -159
  4. package/lib/types/Advantage.js +2 -1
  5. package/lib/types/Aspect.js +1 -1
  6. package/lib/types/Cantrip.d.ts +1 -1
  7. package/lib/types/Cantrip.js +1 -1
  8. package/lib/types/Disadvantage.d.ts +185 -159
  9. package/lib/types/Disadvantage.js +2 -1
  10. package/lib/types/Patron.js +2 -4
  11. package/lib/types/_Activatable.d.ts +188 -162
  12. package/lib/types/_Activatable.js +7 -5
  13. package/lib/types/_Prerequisite.d.ts +48 -0
  14. package/lib/types/_Prerequisite.js +9 -1
  15. package/lib/types/equipment/item/Poison.d.ts +54 -0
  16. package/lib/types/equipment/item/Poison.js +4 -0
  17. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +25 -1
  18. package/lib/types/magicalActions/AnimistPower_Tribe.js +6 -1
  19. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +69 -0
  20. package/lib/types/prerequisites/PrerequisiteGroups.js +14 -0
  21. package/lib/types/rule/FocusRule.d.ts +24 -0
  22. package/lib/types/rule/FocusRule.js +4 -0
  23. package/lib/types/rule/OptionalRule.d.ts +24 -0
  24. package/lib/types/rule/OptionalRule.js +4 -0
  25. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +185 -159
  26. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  27. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +185 -159
  28. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  29. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +185 -159
  30. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  31. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +185 -159
  32. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  33. package/lib/types/specialAbility/AncestorGlyph.d.ts +185 -159
  34. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  35. package/lib/types/specialAbility/BlessedTradition.d.ts +185 -159
  36. package/lib/types/specialAbility/BlessedTradition.js +2 -1
  37. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +185 -159
  38. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  39. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +185 -159
  40. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  41. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +185 -159
  42. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  43. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +185 -159
  44. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
  45. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +185 -159
  46. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
  47. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +185 -159
  48. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  49. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +185 -159
  50. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  51. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +185 -159
  52. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  53. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +185 -159
  54. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  55. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +185 -159
  56. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  57. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +185 -159
  58. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
  59. package/lib/types/specialAbility/LycantropicGift.d.ts +185 -159
  60. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  61. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +185 -159
  62. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  63. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +185 -159
  64. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  65. package/lib/types/specialAbility/MagicalTradition.d.ts +185 -159
  66. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  67. package/lib/types/specialAbility/PactGift.d.ts +185 -159
  68. package/lib/types/specialAbility/PactGift.js +2 -1
  69. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +185 -159
  70. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  71. package/lib/types/specialAbility/Sermon.d.ts +185 -159
  72. package/lib/types/specialAbility/Sermon.js +2 -1
  73. package/lib/types/specialAbility/SexSpecialAbility.d.ts +185 -159
  74. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  75. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +185 -159
  76. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  77. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +185 -159
  78. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
  79. package/lib/types/specialAbility/VampiricGift.d.ts +185 -159
  80. package/lib/types/specialAbility/VampiricGift.js +2 -1
  81. package/lib/types/specialAbility/Vision.d.ts +185 -159
  82. package/lib/types/specialAbility/Vision.js +2 -1
  83. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +185 -159
  84. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -1
  85. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +185 -159
  86. package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -1
  87. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +185 -159
  88. package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -1
  89. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +185 -159
  90. package/lib/types/traditionArtifacts/CauldronEnchantment.js +2 -1
  91. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +185 -159
  92. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -1
  93. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +185 -159
  94. package/lib/types/traditionArtifacts/DaggerRitual.js +2 -1
  95. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +185 -159
  96. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -1
  97. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +185 -159
  98. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -1
  99. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +185 -159
  100. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -1
  101. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +185 -159
  102. package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -1
  103. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +185 -159
  104. package/lib/types/traditionArtifacts/RingEnchantment.js +2 -1
  105. package/lib/types/traditionArtifacts/SickleRitual.d.ts +185 -159
  106. package/lib/types/traditionArtifacts/SickleRitual.js +2 -1
  107. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +185 -159
  108. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -1
  109. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +185 -159
  110. package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -1
  111. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +185 -159
  112. package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -1
  113. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +185 -159
  114. package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -1
  115. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +185 -159
  116. package/lib/types/traditionArtifacts/WandEnchantment.js +2 -1
  117. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +185 -159
  118. package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -1
  119. package/package.json +1 -1
@@ -664,168 +664,6 @@ export declare const select_options: import("tsondb/schema/def").MemberDecl<Incl
664
664
  }>, []>>>, true>;
665
665
  }>, []>>>;
666
666
  }, []>>, false>;
667
- explicit: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"ExplicitSelectOption", {
668
- General: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
669
- Skill: EnumCase<IncludeIdentifier<[], TypeAlias<"ExplicitSkillSelectOption", Object<{
670
- id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
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<{
672
- level: import("tsondb/schema/def").MemberDecl<Integer, true>;
673
- prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], Enum<"PrerequisitesElement", {
674
- Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>;
675
- Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
676
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>, true>;
677
- display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
678
- Hide: EnumCase<null>;
679
- ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
680
- sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
681
- Standalone: EnumCase<null>;
682
- Connected: EnumCase<null>;
683
- }, []>>, false>;
684
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
685
- replacement: import("tsondb/schema/def").MemberDecl<String, true>;
686
- }>, true>;
687
- }>, []>>>;
688
- }, []>>, false>;
689
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>;
690
- Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisiteGroup", Object<{
691
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>, true>;
692
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
693
- text: import("tsondb/schema/def").MemberDecl<String, true>;
694
- }>, true>;
695
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>;
696
- }, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>, true>;
697
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>, []>>, false>;
698
- binding_cost: import("tsondb/schema/def").MemberDecl<Integer, false>;
699
- ap_value: import("tsondb/schema/def").MemberDecl<Integer, false>;
700
- src: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PublicationRefs", Array<IncludeIdentifier<[], TypeAlias<"PublicationRef", Object<{
701
- id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
702
- occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
703
- initial: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"InitialOccurrence", Object<{
704
- printing: import("tsondb/schema/def").MemberDecl<Integer, false>;
705
- pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
706
- first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
707
- InsideCoverFront: EnumCase<null>;
708
- InsideCoverBack: EnumCase<null>;
709
- Numbered: EnumCase<Integer>;
710
- }, []>>, true>;
711
- last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
712
- InsideCoverFront: EnumCase<null>;
713
- InsideCoverBack: EnumCase<null>;
714
- Numbered: EnumCase<Integer>;
715
- }, []>>, false>;
716
- }>, []>>>, true>;
717
- }>, []>>, true>;
718
- revisions: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"Revision", {
719
- Since: EnumCase<IncludeIdentifier<[], TypeAlias<"Since", Object<{
720
- printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
721
- pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
722
- first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
723
- InsideCoverFront: EnumCase<null>;
724
- InsideCoverBack: EnumCase<null>;
725
- Numbered: EnumCase<Integer>;
726
- }, []>>, true>;
727
- last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
728
- InsideCoverFront: EnumCase<null>;
729
- InsideCoverBack: EnumCase<null>;
730
- Numbered: EnumCase<Integer>;
731
- }, []>>, false>;
732
- }>, []>>>, true>;
733
- }>, []>>>;
734
- Deprecated: EnumCase<IncludeIdentifier<[], TypeAlias<"Deprecation", Object<{
735
- printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
736
- }>, []>>>;
737
- }, []>>>, false>;
738
- }>, true>;
739
- }>, []>>>, []>>, false>;
740
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ExplicitSkillSelectOptionTranslation", {
741
- errata: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"Errata", Array<IncludeIdentifier<[], TypeAlias<"Erratum", Object<{
742
- date: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").DateType, true>;
743
- description: import("tsondb/schema/def").MemberDecl<String, true>;
744
- }>, []>>>, []>>, false>;
745
- }>, false>;
746
- }>, []>>>;
747
- CombatTechnique: EnumCase<IncludeIdentifier<[], TypeAlias<"ExplicitCombatTechniqueSelectOption", Object<{
748
- id: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"CombatTechniqueIdentifier", {
749
- CloseCombatTechnique: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
750
- RangedCombatTechnique: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
751
- }, []>>, true>;
752
- 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<{
753
- level: import("tsondb/schema/def").MemberDecl<Integer, true>;
754
- prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], Enum<"PrerequisitesElement", {
755
- Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>;
756
- Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
757
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>, true>;
758
- display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
759
- Hide: EnumCase<null>;
760
- ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
761
- sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
762
- Standalone: EnumCase<null>;
763
- Connected: EnumCase<null>;
764
- }, []>>, false>;
765
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
766
- replacement: import("tsondb/schema/def").MemberDecl<String, true>;
767
- }>, true>;
768
- }>, []>>>;
769
- }, []>>, false>;
770
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>;
771
- Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisiteGroup", Object<{
772
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>, true>;
773
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
774
- text: import("tsondb/schema/def").MemberDecl<String, true>;
775
- }>, true>;
776
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>;
777
- }, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>, true>;
778
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>, []>>, false>;
779
- binding_cost: import("tsondb/schema/def").MemberDecl<Integer, false>;
780
- ap_value: import("tsondb/schema/def").MemberDecl<Integer, false>;
781
- src: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PublicationRefs", Array<IncludeIdentifier<[], TypeAlias<"PublicationRef", Object<{
782
- id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
783
- occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
784
- initial: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"InitialOccurrence", Object<{
785
- printing: import("tsondb/schema/def").MemberDecl<Integer, false>;
786
- pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
787
- first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
788
- InsideCoverFront: EnumCase<null>;
789
- InsideCoverBack: EnumCase<null>;
790
- Numbered: EnumCase<Integer>;
791
- }, []>>, true>;
792
- last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
793
- InsideCoverFront: EnumCase<null>;
794
- InsideCoverBack: EnumCase<null>;
795
- Numbered: EnumCase<Integer>;
796
- }, []>>, false>;
797
- }>, []>>>, true>;
798
- }>, []>>, true>;
799
- revisions: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"Revision", {
800
- Since: EnumCase<IncludeIdentifier<[], TypeAlias<"Since", Object<{
801
- printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
802
- pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
803
- first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
804
- InsideCoverFront: EnumCase<null>;
805
- InsideCoverBack: EnumCase<null>;
806
- Numbered: EnumCase<Integer>;
807
- }, []>>, true>;
808
- last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
809
- InsideCoverFront: EnumCase<null>;
810
- InsideCoverBack: EnumCase<null>;
811
- Numbered: EnumCase<Integer>;
812
- }, []>>, false>;
813
- }>, []>>>, true>;
814
- }>, []>>>;
815
- Deprecated: EnumCase<IncludeIdentifier<[], TypeAlias<"Deprecation", Object<{
816
- printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
817
- }>, []>>>;
818
- }, []>>>, false>;
819
- }>, true>;
820
- }>, []>>>, []>>, false>;
821
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ExplicitCombatTechniqueSelectOptionTranslation", {
822
- errata: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"Errata", Array<IncludeIdentifier<[], TypeAlias<"Erratum", Object<{
823
- date: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").DateType, true>;
824
- description: import("tsondb/schema/def").MemberDecl<String, true>;
825
- }>, []>>>, []>>, false>;
826
- }>, false>;
827
- }>, []>>>;
828
- }, []>>>, false>;
829
667
  }>, []>>, false>;
830
668
  export declare const ExplicitSelectOption: Enum<"ExplicitSelectOption", {
831
669
  General: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
@@ -1177,6 +1015,194 @@ export declare const GeneralSelectOption: Entity<"GeneralSelectOption", {
1177
1015
  }>, []>>>, []>>, false>;
1178
1016
  }>, true>;
1179
1017
  }, "parent">;
1018
+ export declare const explicit_select_options: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"GeneralSelectOption", {
1019
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SelectOptionParentIdentifier", {
1020
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1021
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1022
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1023
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1024
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1025
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1026
+ AncestorGlyph: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1027
+ ArcaneOrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1028
+ AttireEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1029
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1030
+ BowlEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1031
+ BrawlingSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1032
+ CauldronEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1033
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1034
+ ChronicleEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1035
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1036
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1037
+ CommandSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1038
+ DaggerRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1039
+ FamiliarSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1040
+ FatePointSexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1041
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1042
+ FoolsHatEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1043
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1044
+ InstrumentEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1045
+ KarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1046
+ Krallenkettenzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1047
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1048
+ LycantropicGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1049
+ MagicalSign: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1050
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1051
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1052
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1053
+ OrbEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1054
+ PactGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1055
+ ProtectiveWardingCircleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1056
+ RingEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1057
+ Sermon: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1058
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1059
+ SickleRitual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1060
+ SikaryanDrainSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1061
+ SkillStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1062
+ SpellSwordEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1063
+ StaffEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1064
+ ToyEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1065
+ Trinkhornzauber: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1066
+ VampiricGift: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1067
+ Vision: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1068
+ WandEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1069
+ WeaponEnchantment: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1070
+ TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1071
+ }, []>>, true>;
1072
+ profession_only: import("tsondb/schema/def").MemberDecl<Boolean, false>;
1073
+ skill_applications: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"NewSkillApplication", {
1074
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1075
+ GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1076
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1077
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1078
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1079
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1080
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1081
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1082
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1083
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1084
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1085
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1086
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1087
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1088
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1089
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1090
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1091
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1092
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1093
+ }, []>>, true>;
1094
+ skills: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
1095
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<Integer, false>;
1096
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"NewSkillApplicationTranslation", {
1097
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
1098
+ }>, false>;
1099
+ }, "parent">>, true>;
1100
+ skill_uses: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"SkillUse", {
1101
+ parent: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"NewSkillApplicationOrUseParentIdentifier", {
1102
+ GeneralSelectOption: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1103
+ Advantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1104
+ Disadvantage: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1105
+ AdvancedCombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1106
+ AdvancedKarmaSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1107
+ AdvancedMagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1108
+ AdvancedSkillSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1109
+ BlessedTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1110
+ CeremonialItemSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1111
+ CombatSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1112
+ CombatStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1113
+ FatePointSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1114
+ GeneralSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1115
+ LiturgicalStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1116
+ MagicalSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1117
+ MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1118
+ MagicStyleSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1119
+ SexSpecialAbility: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1120
+ }, []>>, true>;
1121
+ skills: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
1122
+ required_skill_rating: import("tsondb/schema/def").MemberDecl<Integer, false>;
1123
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"SkillUseTranslation", {
1124
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
1125
+ }>, false>;
1126
+ }, "parent">>, true>;
1127
+ 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<{
1128
+ level: import("tsondb/schema/def").MemberDecl<Integer, true>;
1129
+ prerequisite: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], Enum<"PrerequisitesElement", {
1130
+ Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>;
1131
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
1132
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>, true>;
1133
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
1134
+ Hide: EnumCase<null>;
1135
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
1136
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
1137
+ Standalone: EnumCase<null>;
1138
+ Connected: EnumCase<null>;
1139
+ }, []>>, false>;
1140
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
1141
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
1142
+ }>, true>;
1143
+ }>, []>>>;
1144
+ }, []>>, false>;
1145
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>;
1146
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, Type>[], TypeAlias<"PrerequisiteGroup", Object<{
1147
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", Type>>>, true>;
1148
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
1149
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
1150
+ }>, true>;
1151
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>;
1152
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>, true>;
1153
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", Type>]>>, []>>, false>;
1154
+ binding_cost: import("tsondb/schema/def").MemberDecl<Integer, false>;
1155
+ ap_value: import("tsondb/schema/def").MemberDecl<Integer, false>;
1156
+ src: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PublicationRefs", Array<IncludeIdentifier<[], TypeAlias<"PublicationRef", Object<{
1157
+ id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
1158
+ occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
1159
+ initial: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"InitialOccurrence", Object<{
1160
+ printing: import("tsondb/schema/def").MemberDecl<Integer, false>;
1161
+ pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
1162
+ first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
1163
+ InsideCoverFront: EnumCase<null>;
1164
+ InsideCoverBack: EnumCase<null>;
1165
+ Numbered: EnumCase<Integer>;
1166
+ }, []>>, true>;
1167
+ last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
1168
+ InsideCoverFront: EnumCase<null>;
1169
+ InsideCoverBack: EnumCase<null>;
1170
+ Numbered: EnumCase<Integer>;
1171
+ }, []>>, false>;
1172
+ }>, []>>>, true>;
1173
+ }>, []>>, true>;
1174
+ revisions: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"Revision", {
1175
+ Since: EnumCase<IncludeIdentifier<[], TypeAlias<"Since", Object<{
1176
+ printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
1177
+ pages: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], TypeAlias<"PageRange", Object<{
1178
+ first_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
1179
+ InsideCoverFront: EnumCase<null>;
1180
+ InsideCoverBack: EnumCase<null>;
1181
+ Numbered: EnumCase<Integer>;
1182
+ }, []>>, true>;
1183
+ last_page: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"Page", {
1184
+ InsideCoverFront: EnumCase<null>;
1185
+ InsideCoverBack: EnumCase<null>;
1186
+ Numbered: EnumCase<Integer>;
1187
+ }, []>>, false>;
1188
+ }>, []>>>, true>;
1189
+ }>, []>>>;
1190
+ Deprecated: EnumCase<IncludeIdentifier<[], TypeAlias<"Deprecation", Object<{
1191
+ printing: import("tsondb/schema/def").MemberDecl<Integer, true>;
1192
+ }>, []>>>;
1193
+ }, []>>>, false>;
1194
+ }>, true>;
1195
+ }>, []>>>, []>>, false>;
1196
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"GeneralSelectOptionTranslation", {
1197
+ name: import("tsondb/schema/def").MemberDecl<String, true>;
1198
+ name_in_profession: import("tsondb/schema/def").MemberDecl<String, false>;
1199
+ description: import("tsondb/schema/def").MemberDecl<String, false>;
1200
+ errata: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"Errata", Array<IncludeIdentifier<[], TypeAlias<"Erratum", Object<{
1201
+ date: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").DateType, true>;
1202
+ description: import("tsondb/schema/def").MemberDecl<String, true>;
1203
+ }>, []>>>, []>>, false>;
1204
+ }>, true>;
1205
+ }, "parent">>, true>;
1180
1206
  export declare const rules: import("tsondb/schema/def").MemberDecl<String, true>;
1181
1207
  export declare const effect: import("tsondb/schema/def").MemberDecl<String, true>;
1182
1208
  export declare const usage_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"CombatSpecialAbilityUsageType", {
@@ -45,14 +45,10 @@ Note that this is only a full definition of options for simple logic that can be
45
45
  comment: `An entry category with optional further configuration. All available entries from the specified categories will be included as separate select options. You can also specify a set of groups that should only be included. Groups not mentioned will be excluded then.`,
46
46
  type: IncludeIdentifier(SelectOptionCategory),
47
47
  }),
48
- explicit: Optional({
49
- comment: `A list of explicit select options. If the identifier has a specific type, its entry is the base of this select option, where values defined here override values from the base. Define the \`src\` property if the options are not derived from the rules text of the advantage/disadvantage/special ability but instead are listed in a separate block and/or on a separate page.`,
50
- type: Array(IncludeIdentifier(ExplicitSelectOption), { minItems: 1 }),
51
- }),
52
48
  }, { minProperties: 1 }),
53
49
  });
54
50
  export const select_options = Optional({
55
- comment: `Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.
51
+ comment: `Definitions for possible options for the activatable entry, derived from entry categories.
56
52
 
57
53
  Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.`,
58
54
  type: IncludeIdentifier(SelectOptions),
@@ -123,6 +119,12 @@ export const GeneralSelectOption = Entity(import.meta.url, {
123
119
  localeId: instanceDisplayNameLocaleId,
124
120
  }),
125
121
  });
122
+ export const explicit_select_options = Required({
123
+ comment: `Explicit definitions for possible options for the activatable entry.
124
+
125
+ Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.`,
126
+ type: ChildEntities(GeneralSelectOption),
127
+ });
126
128
  const ExplicitSkillSelectOption = TypeAlias(import.meta.url, {
127
129
  name: "ExplicitSkillSelectOption",
128
130
  type: () => Object({
@@ -2,6 +2,30 @@
2
2
  * @title Prerequisites
3
3
  */
4
4
  import { Array, EnumCase, IncludeIdentifier, Integer, Object, String, TypeAlias, TypeArgument } from "tsondb/schema/def";
5
+ export declare const RulePrerequisites: TypeAlias<"RulePrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"PrerequisitesElement", {
6
+ Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
7
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
8
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
9
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
10
+ Hide: EnumCase<null>;
11
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
12
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"SentenceType", {
13
+ Standalone: EnumCase<null>;
14
+ Connected: EnumCase<null>;
15
+ }, []>>, false>;
16
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
17
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
18
+ }>, true>;
19
+ }>, []>>>;
20
+ }, []>>, false>;
21
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
22
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", Object<{
23
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
24
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
25
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
26
+ }>, true>;
27
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
28
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>;
5
29
  export declare const DerivedCharacteristicPrerequisites: TypeAlias<"DerivedCharacteristicPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"PrerequisitesElement", {
6
30
  Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
7
31
  Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
@@ -323,6 +347,30 @@ export declare const AnimistPowerPrerequisites: TypeAlias<"AnimistPowerPrerequis
323
347
  }>, true>;
324
348
  }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
325
349
  }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>;
350
+ export declare const TribePrerequisites: TypeAlias<"TribePrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"PrerequisitesElement", {
351
+ Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
352
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
353
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
354
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
355
+ Hide: EnumCase<null>;
356
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
357
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"SentenceType", {
358
+ Standalone: EnumCase<null>;
359
+ Connected: EnumCase<null>;
360
+ }, []>>, false>;
361
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
362
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
363
+ }>, true>;
364
+ }>, []>>>;
365
+ }, []>>, false>;
366
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
367
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", Object<{
368
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
369
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
370
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
371
+ }>, true>;
372
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
373
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>;
326
374
  export declare const GeodeRitualPrerequisites: TypeAlias<"GeodeRitualPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], import("tsondb/schema/def").EnumDecl<"PrerequisitesElement", {
327
375
  Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
328
376
  Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
@@ -4,7 +4,7 @@
4
4
  import { Array, 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 { DisplayOption } from "./prerequisites/DisplayOption.js";
7
- import { AdvantageDisadvantagePrerequisiteGroup, AnimistPowerPrerequisiteGroup, ArcaneTraditionPrerequisiteGroup, DerivedCharacteristicPrerequisiteGroup, EnhancementPrerequisiteGroup, GeneralPrerequisiteGroup, GeodeRitualPrerequisiteGroup, InfluencePrerequisiteGroup, LanguagePrerequisiteGroup, LiturgyPrerequisiteGroup, PersonalityTraitPrerequisiteGroup, ProfessionPrerequisiteGroup, PublicationPrerequisiteGroup, SpellworkPrerequisiteGroup, } from "./prerequisites/PrerequisiteGroups.js";
7
+ import { AdvantageDisadvantagePrerequisiteGroup, AnimistPowerPrerequisiteGroup, ArcaneTraditionPrerequisiteGroup, DerivedCharacteristicPrerequisiteGroup, EnhancementPrerequisiteGroup, GeneralPrerequisiteGroup, GeodeRitualPrerequisiteGroup, InfluencePrerequisiteGroup, LanguagePrerequisiteGroup, LiturgyPrerequisiteGroup, PersonalityTraitPrerequisiteGroup, ProfessionPrerequisiteGroup, PublicationPrerequisiteGroup, RulePrerequisiteGroup, SpellworkPrerequisiteGroup, TribePrerequisiteGroup, } from "./prerequisites/PrerequisiteGroups.js";
8
8
  const PrerequisiteGroup = GenTypeAlias(import.meta.url, {
9
9
  name: "PrerequisiteGroup",
10
10
  comment: "A prerequisite group has no influence on validation logic. It serves as a single unit for displaying purposes, where the source uses a prerequisites item that cannot be represented as a single prerequisite.",
@@ -71,6 +71,10 @@ const PrerequisitesForLevels = GenTypeAlias(import.meta.url, {
71
71
  minItems: 1,
72
72
  }),
73
73
  });
74
+ export const RulePrerequisites = TypeAlias(import.meta.url, {
75
+ name: "RulePrerequisites",
76
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(RulePrerequisiteGroup)]),
77
+ });
74
78
  export const DerivedCharacteristicPrerequisites = TypeAlias(import.meta.url, {
75
79
  name: "DerivedCharacteristicPrerequisites",
76
80
  type: () => GenIncludeIdentifier(PlainPrerequisites, [
@@ -129,6 +133,10 @@ export const AnimistPowerPrerequisites = TypeAlias(import.meta.url, {
129
133
  name: "AnimistPowerPrerequisites",
130
134
  type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(AnimistPowerPrerequisiteGroup)]),
131
135
  });
136
+ export const TribePrerequisites = TypeAlias(import.meta.url, {
137
+ name: "TribePrerequisites",
138
+ type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(TribePrerequisiteGroup)]),
139
+ });
132
140
  export const GeodeRitualPrerequisites = TypeAlias(import.meta.url, {
133
141
  name: "GeodeRitualPrerequisites",
134
142
  type: () => GenIncludeIdentifier(PlainPrerequisites, [IncludeIdentifier(GeodeRitualPrerequisiteGroup)]),
@@ -19,6 +19,33 @@ export declare const Poison: Entity<"Poison", {
19
19
  }>>, []>>>;
20
20
  }, []>>, true>;
21
21
  is_extractable: import("tsondb/schema/def").MemberDecl<Boolean, true>;
22
+ trade_secret: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RecipeTradeSecret", Object<{
23
+ ap_value: import("tsondb/schema/def").MemberDecl<Integer, true>;
24
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PlainGeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
25
+ Single: EnumCase<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
26
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
27
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
28
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
29
+ Hide: EnumCase<null>;
30
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
31
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
32
+ Standalone: EnumCase<null>;
33
+ Connected: EnumCase<null>;
34
+ }, []>>, false>;
35
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
36
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
37
+ }>, true>;
38
+ }>, []>>>;
39
+ }, []>>, false>;
40
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
41
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", Object<{
42
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
43
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
44
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
45
+ }>, true>;
46
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
47
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
48
+ }>, []>>, false>;
22
49
  }>, []>>>;
23
50
  AlchemicalPoison: EnumCase<IncludeIdentifier<[], TypeAlias<"AlchemicalPoison", Object<{
24
51
  effect_types: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"EffectType", {
@@ -310,6 +337,33 @@ export declare const AnimalVenom: TypeAlias<"AnimalVenom", Object<{
310
337
  }>>, []>>>;
311
338
  }, []>>, true>;
312
339
  is_extractable: import("tsondb/schema/def").MemberDecl<Boolean, true>;
340
+ trade_secret: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RecipeTradeSecret", Object<{
341
+ ap_value: import("tsondb/schema/def").MemberDecl<Integer, true>;
342
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PlainGeneralPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
343
+ Single: EnumCase<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
344
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", Object<{
345
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
346
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
347
+ Hide: EnumCase<null>;
348
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", Object<{
349
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
350
+ Standalone: EnumCase<null>;
351
+ Connected: EnumCase<null>;
352
+ }, []>>, false>;
353
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
354
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
355
+ }>, true>;
356
+ }>, []>>>;
357
+ }, []>>, false>;
358
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
359
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", Object<{
360
+ list: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").TypeArgumentType<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
361
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
362
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
363
+ }>, true>;
364
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
365
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
366
+ }>, []>>, false>;
313
367
  }>, []>;
314
368
  export declare const AlchemicalPoison: TypeAlias<"AlchemicalPoison", Object<{
315
369
  effect_types: import("tsondb/schema/def").MemberDecl<Array<IncludeIdentifier<[], Enum<"EffectType", {
@@ -188,6 +188,10 @@ export const AnimalVenom = TypeAlias(import.meta.url, {
188
188
  comment: "If `false`, the poison cannot be extracted.",
189
189
  type: Boolean(),
190
190
  }),
191
+ trade_secret: Optional({
192
+ comment: "AP value and prerequisites of the poison’s trade secret.",
193
+ type: IncludeIdentifier(RecipeTradeSecret),
194
+ }),
191
195
  }),
192
196
  });
193
197
  const AnimalVenomLevel = Enum(import.meta.url, {