optolith-database-schema 0.0.4 → 0.1.2

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 (219) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/lib/types/Advantage.d.ts +48 -0
  3. package/lib/types/Advantage.js +4 -0
  4. package/lib/types/ArcaneBardTradition.d.ts +2 -2
  5. package/lib/types/ArcaneDancerTradition.d.ts +2 -2
  6. package/lib/types/Ceremony.d.ts +2 -2
  7. package/lib/types/Continent.d.ts +32 -0
  8. package/lib/types/Continent.js +4 -0
  9. package/lib/types/DerivedCharacteristic.d.ts +2 -2
  10. package/lib/types/Disadvantage.d.ts +46 -0
  11. package/lib/types/Disadvantage.js +4 -0
  12. package/lib/types/FamiliarsTrick.d.ts +333 -0
  13. package/lib/types/FamiliarsTrick.js +4 -0
  14. package/lib/types/FamiliarsTrick_AnimalType.d.ts +30 -0
  15. package/lib/types/FamiliarsTrick_AnimalType.js +4 -0
  16. package/lib/types/LiturgicalChant.d.ts +2 -2
  17. package/lib/types/Patron.d.ts +197 -0
  18. package/lib/types/Patron.js +4 -0
  19. package/lib/types/PatronCategory.d.ts +44 -0
  20. package/lib/types/PatronCategory.js +4 -0
  21. package/lib/types/Ritual.d.ts +2 -2
  22. package/lib/types/Spell.d.ts +2 -2
  23. package/lib/types/_Activatable.d.ts +528 -0
  24. package/lib/types/_Activatable.js +5 -0
  25. package/lib/types/_Enhancements.d.ts +2 -2
  26. package/lib/types/_I18n.d.ts +38 -0
  27. package/lib/types/_I18n.js +1 -0
  28. package/lib/types/_Identifier.d.ts +81 -75
  29. package/lib/types/_Identifier.js +76 -1
  30. package/lib/types/_Influence.d.ts +52 -0
  31. package/lib/types/_Influence.js +4 -0
  32. package/lib/types/_Prerequisite.d.ts +343 -296
  33. package/lib/types/_Prerequisite.js +136 -183
  34. package/lib/types/magicalActions/GeodeRitual.d.ts +2 -2
  35. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +34 -0
  36. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +4 -0
  37. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +32 -0
  38. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +4 -0
  39. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +32 -0
  40. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +4 -0
  41. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +32 -0
  42. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +4 -0
  43. package/lib/types/specialAbility/AncestorGlyph.d.ts +30 -0
  44. package/lib/types/specialAbility/AncestorGlyph.js +4 -0
  45. package/lib/types/specialAbility/BlessedTradition.d.ts +170 -0
  46. package/lib/types/specialAbility/BlessedTradition.js +4 -0
  47. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +32 -0
  48. package/lib/types/specialAbility/BrawlingSpecialAbility.js +4 -0
  49. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +33 -0
  50. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +4 -0
  51. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +34 -0
  52. package/lib/types/specialAbility/CombatSpecialAbility.js +4 -0
  53. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +43 -0
  54. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +4 -0
  55. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +32 -0
  56. package/lib/types/specialAbility/CommandSpecialAbility.js +4 -0
  57. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +30 -0
  58. package/lib/types/specialAbility/FamiliarSpecialAbility.js +4 -0
  59. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +30 -0
  60. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +4 -0
  61. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +32 -0
  62. package/lib/types/specialAbility/FatePointSpecialAbility.js +4 -0
  63. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +32 -0
  64. package/lib/types/specialAbility/GeneralSpecialAbility.js +4 -0
  65. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +30 -0
  66. package/lib/types/specialAbility/KarmaSpecialAbility.js +4 -0
  67. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +33 -0
  68. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +4 -0
  69. package/lib/types/specialAbility/LycantropicGift.d.ts +30 -0
  70. package/lib/types/specialAbility/LycantropicGift.js +4 -0
  71. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +33 -0
  72. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +4 -0
  73. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +32 -0
  74. package/lib/types/specialAbility/MagicalSpecialAbility.js +4 -0
  75. package/lib/types/specialAbility/MagicalTradition.d.ts +130 -0
  76. package/lib/types/specialAbility/MagicalTradition.js +4 -0
  77. package/lib/types/specialAbility/PactGift.d.ts +86 -0
  78. package/lib/types/specialAbility/PactGift.js +4 -0
  79. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +41 -0
  80. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +4 -0
  81. package/lib/types/specialAbility/Sermon.d.ts +30 -0
  82. package/lib/types/specialAbility/Sermon.js +4 -0
  83. package/lib/types/specialAbility/SexSpecialAbility.d.ts +32 -0
  84. package/lib/types/specialAbility/SexSpecialAbility.js +4 -0
  85. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +30 -0
  86. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +4 -0
  87. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +31 -0
  88. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +4 -0
  89. package/lib/types/specialAbility/VampiricGift.d.ts +30 -0
  90. package/lib/types/specialAbility/VampiricGift.js +4 -0
  91. package/lib/types/specialAbility/Vision.d.ts +30 -0
  92. package/lib/types/specialAbility/Vision.js +4 -0
  93. package/lib/types/specialAbility/sub/Language.d.ts +141 -0
  94. package/lib/types/specialAbility/sub/Language.js +4 -0
  95. package/lib/types/specialAbility/sub/Script.d.ts +85 -0
  96. package/lib/types/specialAbility/sub/Script.js +4 -0
  97. package/lib/types/specialAbility/sub/TradeSecret.d.ts +50 -0
  98. package/lib/types/specialAbility/sub/TradeSecret.js +4 -0
  99. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +31 -0
  100. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +4 -0
  101. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +31 -0
  102. package/lib/types/traditionArtifacts/AttireEnchantment.js +4 -0
  103. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +31 -0
  104. package/lib/types/traditionArtifacts/BowlEnchantment.js +4 -0
  105. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +44 -0
  106. package/lib/types/traditionArtifacts/CauldronEnchantment.js +4 -0
  107. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +31 -0
  108. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +4 -0
  109. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +31 -0
  110. package/lib/types/traditionArtifacts/DaggerRitual.js +4 -0
  111. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +31 -0
  112. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +4 -0
  113. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +31 -0
  114. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +4 -0
  115. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +31 -0
  116. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +4 -0
  117. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +31 -0
  118. package/lib/types/traditionArtifacts/OrbEnchantment.js +4 -0
  119. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +31 -0
  120. package/lib/types/traditionArtifacts/RingEnchantment.js +4 -0
  121. package/lib/types/traditionArtifacts/SickleRitual.d.ts +31 -0
  122. package/lib/types/traditionArtifacts/SickleRitual.js +4 -0
  123. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +31 -0
  124. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +4 -0
  125. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +31 -0
  126. package/lib/types/traditionArtifacts/StaffEnchantment.js +4 -0
  127. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +31 -0
  128. package/lib/types/traditionArtifacts/ToyEnchantment.js +4 -0
  129. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +31 -0
  130. package/lib/types/traditionArtifacts/Trinkhornzauber.js +4 -0
  131. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +31 -0
  132. package/lib/types/traditionArtifacts/WandEnchantment.js +4 -0
  133. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +31 -0
  134. package/lib/types/traditionArtifacts/WeaponEnchantment.js +4 -0
  135. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +42 -0
  136. package/lib/types/traditionArtifacts/sub/AnimalShape.js +4 -0
  137. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +30 -0
  138. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +4 -0
  139. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +42 -0
  140. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +4 -0
  141. package/lib/types/traditionArtifacts/sub/Brew.d.ts +30 -0
  142. package/lib/types/traditionArtifacts/sub/Brew.js +4 -0
  143. package/package.json +2 -2
  144. package/schema/Advantage.schema.json +81 -0
  145. package/schema/ArcaneBardTradition.schema.json +1 -1
  146. package/schema/ArcaneDancerTradition.schema.json +1 -1
  147. package/schema/Ceremony.schema.json +1 -1
  148. package/schema/Continent.schema.json +46 -0
  149. package/schema/DerivedCharacteristic.schema.json +1 -1
  150. package/schema/Disadvantage.schema.json +75 -0
  151. package/schema/FamiliarsTrick.schema.json +602 -0
  152. package/schema/FamiliarsTrick_AnimalType.schema.json +45 -0
  153. package/schema/LiturgicalChant.schema.json +1 -1
  154. package/schema/Patron.schema.json +407 -0
  155. package/schema/PatronCategory.schema.json +66 -0
  156. package/schema/Ritual.schema.json +1 -1
  157. package/schema/Spell.schema.json +1 -1
  158. package/schema/_Activatable.schema.json +1182 -0
  159. package/schema/_Enhancements.schema.json +1 -1
  160. package/schema/_I18n.schema.json +38 -0
  161. package/schema/_Identifier.schema.json +90 -113
  162. package/schema/_Influence.schema.json +77 -0
  163. package/schema/_Prerequisite.schema.json +703 -573
  164. package/schema/magicalActions/GeodeRitual.schema.json +1 -1
  165. package/schema/source/Publication.schema.json +1 -1
  166. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +76 -0
  167. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +68 -0
  168. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +68 -0
  169. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +68 -0
  170. package/schema/specialAbility/AncestorGlyph.schema.json +62 -0
  171. package/schema/specialAbility/BlessedTradition.schema.json +300 -0
  172. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +70 -0
  173. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +72 -0
  174. package/schema/specialAbility/CombatSpecialAbility.schema.json +76 -0
  175. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +110 -0
  176. package/schema/specialAbility/CommandSpecialAbility.schema.json +70 -0
  177. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +62 -0
  178. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +62 -0
  179. package/schema/specialAbility/FatePointSpecialAbility.schema.json +68 -0
  180. package/schema/specialAbility/GeneralSpecialAbility.schema.json +68 -0
  181. package/schema/specialAbility/KarmaSpecialAbility.schema.json +62 -0
  182. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +72 -0
  183. package/schema/specialAbility/LycantropicGift.schema.json +62 -0
  184. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +72 -0
  185. package/schema/specialAbility/MagicalSpecialAbility.schema.json +68 -0
  186. package/schema/specialAbility/MagicalTradition.schema.json +181 -0
  187. package/schema/specialAbility/PactGift.schema.json +215 -0
  188. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +70 -0
  189. package/schema/specialAbility/Sermon.schema.json +62 -0
  190. package/schema/specialAbility/SexSpecialAbility.schema.json +68 -0
  191. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +62 -0
  192. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +66 -0
  193. package/schema/specialAbility/VampiricGift.schema.json +62 -0
  194. package/schema/specialAbility/Vision.schema.json +62 -0
  195. package/schema/specialAbility/sub/Language.schema.json +215 -0
  196. package/schema/specialAbility/sub/Script.schema.json +127 -0
  197. package/schema/specialAbility/sub/TradeSecret.schema.json +68 -0
  198. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +66 -0
  199. package/schema/traditionArtifacts/AttireEnchantment.schema.json +66 -0
  200. package/schema/traditionArtifacts/BowlEnchantment.schema.json +66 -0
  201. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +83 -0
  202. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +66 -0
  203. package/schema/traditionArtifacts/DaggerRitual.schema.json +66 -0
  204. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +66 -0
  205. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +66 -0
  206. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +66 -0
  207. package/schema/traditionArtifacts/OrbEnchantment.schema.json +66 -0
  208. package/schema/traditionArtifacts/RingEnchantment.schema.json +66 -0
  209. package/schema/traditionArtifacts/SickleRitual.schema.json +66 -0
  210. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +66 -0
  211. package/schema/traditionArtifacts/StaffEnchantment.schema.json +66 -0
  212. package/schema/traditionArtifacts/ToyEnchantment.schema.json +66 -0
  213. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +66 -0
  214. package/schema/traditionArtifacts/WandEnchantment.schema.json +66 -0
  215. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +66 -0
  216. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +57 -0
  217. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +45 -0
  218. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +57 -0
  219. package/schema/traditionArtifacts/sub/Brew.schema.json +45 -0
@@ -3,262 +3,313 @@
3
3
  */
4
4
  import { Identifier } from "./_Identifier";
5
5
  import { BinarySex } from "./_Sex";
6
- /**
7
- * @title Single Prerequisites
8
- */
9
- export declare namespace Single {
10
- namespace DisplayOption {
11
- /**
12
- * @title Display Option
13
- */
14
- type T = {
15
- tag: "Hide";
16
- } | {
17
- tag: "ReplaceWith";
6
+ export declare namespace Prerequisite {
7
+ /**
8
+ * @title Single Prerequisites
9
+ */
10
+ export namespace Single {
11
+ namespace DisplayOption {
18
12
  /**
19
- * All translations for the entry, identified by IETF language tag (BCP47).
20
- * @minProperties 1
13
+ * @title Display Option
21
14
  */
22
- value: {
15
+ type T = {
16
+ tag: "Hide";
17
+ } | {
18
+ tag: "ReplaceWith";
23
19
  /**
24
- * @patternProperties ^[a-z]{2}-[A-Z]{2}$
20
+ * All translations for the entry, identified by IETF language tag (BCP47).
21
+ * @minProperties 1
25
22
  */
26
- [localeId: string]: string;
23
+ translations: {
24
+ /**
25
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
26
+ */
27
+ [localeId: string]: string;
28
+ };
27
29
  };
28
- };
29
- }
30
- namespace Sex {
31
- /**
32
- * Requires a specific sex.
33
- * @title Sex Prerequisite
34
- */
35
- type T = {
36
- tag: "Sex";
37
- id: BinarySex;
38
- display_option?: DisplayOption.T;
39
- };
40
- }
41
- namespace Race {
42
- /**
43
- * Requires a specific culture or one of a specific set of cultures.
44
- * @title Race Prerequisite
45
- */
46
- export type T = {
47
- tag: "Culture";
48
- id: Identifier;
49
- active: boolean;
50
- display_option?: DisplayOption.T;
51
- };
52
- type Identifier = SingleIdentifier | MultipleIdentifiers;
53
- /**
54
- * @minimum 1
55
- */
56
- type SingleIdentifier = number;
57
- /**
58
- * @minItems 2
59
- */
60
- type MultipleIdentifiers = SingleIdentifier[];
61
- export {};
62
- }
63
- namespace Culture {
64
- /**
65
- * Requires a specific race or one of a specific set of races. You can also
66
- * provide an object to say whether the hero must meet one of the races or
67
- * if the entry does not allow one of the races.
68
- * @title Culture Prerequisite
69
- */
70
- export type T = {
71
- tag: "Culture";
72
- id: Identifier;
73
- display_option?: DisplayOption.T;
74
- };
75
- type Identifier = SingleIdentifier | MultipleIdentifiers;
76
- /**
77
- * @minimum 1
78
- */
79
- type SingleIdentifier = number;
80
- /**
81
- * @minItems 2
82
- */
83
- type MultipleIdentifiers = SingleIdentifier[];
84
- export {};
85
- }
86
- namespace Rule {
87
- /**
88
- * @title Rule Prerequisite
89
- */
90
- export type T = {
91
- tag: "Rule";
92
- id: Identifier;
93
- display_option?: DisplayOption.T;
94
- };
95
- type Identifier = {
96
- tag: "FocusRule";
30
+ }
31
+ namespace Sex {
97
32
  /**
98
- * @integer
99
- * @minimum 1
33
+ * Requires a specific sex.
34
+ * @title Sex Prerequisite
100
35
  */
101
- value: number;
102
- } | {
103
- tag: "OptionalRule";
36
+ type T = {
37
+ tag: "Sex";
38
+ id: BinarySex;
39
+ display_option?: DisplayOption.T;
40
+ };
41
+ }
42
+ namespace Race {
104
43
  /**
105
- * @integer
106
- * @minimum 1
44
+ * Requires a specific culture or one of a specific set of cultures.
45
+ * @title Race Prerequisite
107
46
  */
108
- value: number;
109
- };
110
- export {};
111
- }
112
- namespace Publication {
113
- /**
114
- * @title Publication Prerequisite
115
- */
116
- type T = {
117
- tag: "Publication";
47
+ export type T = {
48
+ tag: "Culture";
49
+ id: Identifier;
50
+ active: boolean;
51
+ display_option?: DisplayOption.T;
52
+ };
53
+ type Identifier = SingleIdentifier | MultipleIdentifiers;
118
54
  /**
119
- * @integer
120
55
  * @minimum 1
121
56
  */
122
- id: number;
123
- display_option?: DisplayOption.T;
124
- };
125
- }
126
- namespace PrimaryAttribute {
127
- /**
128
- * @title Primary Attribute Prerequisite
129
- */
130
- type T = {
131
- tag: "PrimaryAttribute";
57
+ type SingleIdentifier = number;
132
58
  /**
133
- * Is the required primary attribute for spellcasters or blessed ones?
59
+ * @minItems 2
134
60
  */
135
- category: Category;
61
+ type MultipleIdentifiers = SingleIdentifier[];
62
+ export {};
63
+ }
64
+ namespace Culture {
136
65
  /**
137
- * Required value of the attribute
138
- * @integer
139
- * @minimum 9
66
+ * Requires a specific race or one of a specific set of races. You can also
67
+ * provide an object to say whether the hero must meet one of the races or
68
+ * if the entry does not allow one of the races.
69
+ * @title Culture Prerequisite
140
70
  */
141
- value: number;
142
- display_option?: DisplayOption.T;
143
- };
144
- type Category = {
145
- tag: "Blessed";
146
- } | {
147
- tag: "Magical";
148
- };
149
- }
150
- namespace Pact {
151
- /**
152
- * Requires a specific pact.
153
- * @title Pact Prerequisite
154
- */
155
- type T = {
156
- tag: "Pact";
71
+ export type T = {
72
+ tag: "Culture";
73
+ id: Identifier;
74
+ display_option?: DisplayOption.T;
75
+ };
76
+ type Identifier = SingleIdentifier | MultipleIdentifiers;
157
77
  /**
158
- * The required pact category's identifier.
159
- * @integer
160
78
  * @minimum 1
161
79
  */
162
- category_id: number;
80
+ type SingleIdentifier = number;
163
81
  /**
164
- * The required domains' identifiers.
82
+ * @minItems 2
165
83
  */
166
- domain_id?: DomainId[];
84
+ type MultipleIdentifiers = SingleIdentifier[];
85
+ export {};
86
+ }
87
+ namespace Rule {
167
88
  /**
168
- * The required pact level.
169
- * @integer
170
- * @minimum 1
89
+ * @title Rule Prerequisite
171
90
  */
172
- level?: number;
173
- display_option?: DisplayOption.T;
174
- };
175
- /**
176
- * A domain's identifier.
177
- * @integer
178
- * @minimum 1
179
- */
180
- type DomainId = number;
181
- }
182
- namespace SocialStatus {
183
- /**
184
- * Requires a minimum social status.
185
- * @title Social Status Prerequisite
186
- */
187
- type T = {
188
- tag: "SocialStatus";
91
+ export type T = {
92
+ tag: "Rule";
93
+ id: Identifier;
94
+ display_option?: DisplayOption.T;
95
+ };
96
+ type Identifier = {
97
+ tag: "FocusRule";
98
+ /**
99
+ * @integer
100
+ * @minimum 1
101
+ */
102
+ value: number;
103
+ } | {
104
+ tag: "OptionalRule";
105
+ /**
106
+ * @integer
107
+ * @minimum 1
108
+ */
109
+ value: number;
110
+ };
111
+ export {};
112
+ }
113
+ namespace Publication {
189
114
  /**
190
- * The minimum social status' identifier.
191
- * @integer
192
- * @minimum 2
193
- * @maximum 5
115
+ * @title Publication Prerequisite
194
116
  */
195
- id: number;
196
- display_option?: DisplayOption.T;
197
- };
198
- }
199
- namespace Influence {
200
- /**
201
- * @title Influence Prerequisite
202
- */
203
- type T = {
204
- tag: "Influence";
117
+ type T = {
118
+ tag: "Publication";
119
+ /**
120
+ * @integer
121
+ * @minimum 1
122
+ */
123
+ id: number;
124
+ display_option?: DisplayOption.T;
125
+ };
126
+ }
127
+ namespace PrimaryAttribute {
205
128
  /**
206
- * The influence's identifier.
207
- * @integer
208
- * @minimum 1
129
+ * @title Primary Attribute Prerequisite
209
130
  */
210
- id: number;
131
+ type T = {
132
+ tag: "PrimaryAttribute";
133
+ /**
134
+ * Is the required primary attribute for spellcasters or blessed ones?
135
+ */
136
+ category: Category;
137
+ /**
138
+ * Required value of the attribute
139
+ * @integer
140
+ * @minimum 9
141
+ */
142
+ value: number;
143
+ display_option?: DisplayOption.T;
144
+ };
145
+ type Category = {
146
+ tag: "Blessed";
147
+ } | {
148
+ tag: "Magical";
149
+ };
150
+ }
151
+ namespace Pact {
211
152
  /**
212
- * If the referenced influence must or must not be chosen.
153
+ * Requires a specific pact.
154
+ * @title Pact Prerequisite
213
155
  */
214
- active: boolean;
215
- display_option?: DisplayOption.T;
216
- };
217
- }
218
- namespace Rated {
219
- /**
220
- * @title Rated Prerequisite
221
- */
222
- type T = {
223
- tag: "Rated";
156
+ type T = {
157
+ tag: "Pact";
158
+ /**
159
+ * The required pact category's identifier.
160
+ * @integer
161
+ * @minimum 1
162
+ */
163
+ category_id: number;
164
+ /**
165
+ * The required domains' identifiers.
166
+ */
167
+ domain_id?: DomainId[];
168
+ /**
169
+ * The required pact level.
170
+ * @integer
171
+ * @minimum 1
172
+ */
173
+ level?: number;
174
+ display_option?: DisplayOption.T;
175
+ };
224
176
  /**
225
- * The rated entry's identifier.
177
+ * A domain's identifier.
226
178
  * @integer
227
179
  * @minimum 1
228
180
  */
229
- id: Identifier.Group.Rated;
181
+ type DomainId = number;
182
+ }
183
+ namespace SocialStatus {
230
184
  /**
231
- * The required minimum value.
232
- * @integer
233
- * @minimum 0
185
+ * Requires a minimum social status.
186
+ * @title Social Status Prerequisite
234
187
  */
235
- value: number;
236
- display_option?: DisplayOption.T;
237
- };
238
- }
239
- namespace Enhancement {
240
- /**
241
- * Requires a specific enhancement from a skill.
242
- * @title Enhancement Prerequisite
243
- */
244
- type T = {
245
- tag: "Enhancement";
188
+ type T = {
189
+ tag: "SocialStatus";
190
+ /**
191
+ * The minimum social status' identifier.
192
+ * @integer
193
+ * @minimum 2
194
+ * @maximum 5
195
+ */
196
+ id: number;
197
+ display_option?: DisplayOption.T;
198
+ };
199
+ }
200
+ namespace Influence {
246
201
  /**
247
- * The required skill's identifier.
202
+ * @title Influence Prerequisite
248
203
  */
249
- skill: {
250
- tag: SkillCategoryWithEnhancements;
204
+ type T = {
205
+ tag: "Influence";
251
206
  /**
252
- * The skill's identifier.
207
+ * The influence's identifier.
253
208
  * @integer
254
209
  * @minimum 1
255
210
  */
256
211
  id: number;
212
+ /**
213
+ * If the referenced influence must or must not be chosen.
214
+ */
215
+ active: boolean;
216
+ display_option?: DisplayOption.T;
217
+ };
218
+ }
219
+ namespace Activatable {
220
+ /**
221
+ * Requires a specific advantage, disadvantage, special ability.
222
+ * @title Activatable Prerequisite
223
+ */
224
+ type T = {
225
+ tag: "Activatable";
226
+ /**
227
+ * The activatable entry's identifier.
228
+ * @integer
229
+ * @minimum 1
230
+ */
231
+ id: Identifier.Group.Activatable;
232
+ /**
233
+ * If the required entry should be required to be active or inactive.
234
+ */
235
+ active: boolean;
236
+ /**
237
+ * The required minimum level of the entry.
238
+ * @integer
239
+ * @minimum 1
240
+ */
241
+ level?: number;
242
+ display_option?: DisplayOption.T;
243
+ };
244
+ }
245
+ namespace Rated {
246
+ /**
247
+ * @title Rated Prerequisite
248
+ */
249
+ type T = {
250
+ tag: "Rated";
251
+ /**
252
+ * The rated entry's identifier.
253
+ * @integer
254
+ * @minimum 1
255
+ */
256
+ id: Identifier.Group.Rated;
257
+ /**
258
+ * The required minimum value.
259
+ * @integer
260
+ * @minimum 0
261
+ */
262
+ value: number;
263
+ display_option?: DisplayOption.T;
264
+ };
265
+ }
266
+ namespace Enhancement {
267
+ /**
268
+ * Requires a specific enhancement from a skill.
269
+ * @title Enhancement Prerequisite
270
+ */
271
+ type T = {
272
+ tag: "Enhancement";
273
+ /**
274
+ * The required skill's identifier.
275
+ */
276
+ skill: {
277
+ tag: SkillCategoryWithEnhancements;
278
+ /**
279
+ * The skill's identifier.
280
+ * @integer
281
+ * @minimum 1
282
+ */
283
+ id: number;
284
+ };
285
+ /**
286
+ * The required enhancement's identifier.
287
+ */
288
+ enhancement: {
289
+ /**
290
+ * The enhancement's identifier.
291
+ * @integer
292
+ * @minimum 1
293
+ */
294
+ id: number;
295
+ };
296
+ display_option?: DisplayOption.T;
257
297
  };
298
+ enum SkillCategoryWithEnhancements {
299
+ Spell = "Spell",
300
+ Ritual = "Ritual",
301
+ LiturgicalChant = "LiturgicalChant",
302
+ Ceremony = "Ceremony"
303
+ }
304
+ }
305
+ namespace EnhancementInternal {
258
306
  /**
259
- * The required enhancement's identifier.
307
+ * Requires a specific enhancement from a skill. This can only be used by an
308
+ * enhancement to require another enhancement from the same skill.
309
+ * @title Internal Enhancement Prerequisite
260
310
  */
261
- enhancement: {
311
+ type T = {
312
+ tag: "EnhancementInternal";
262
313
  /**
263
314
  * The enhancement's identifier.
264
315
  * @integer
@@ -266,101 +317,97 @@ export declare namespace Single {
266
317
  */
267
318
  id: number;
268
319
  };
269
- display_option?: DisplayOption.T;
270
- };
271
- enum SkillCategoryWithEnhancements {
272
- Spell = "Spell",
273
- Ritual = "Ritual",
274
- LiturgicalChant = "LiturgicalChant",
275
- Ceremony = "Ceremony"
320
+ }
321
+ namespace Ineligible {
322
+ /**
323
+ * This is a placeholder for required things that can never happen with the
324
+ * current set of crunch elements and rules, e. g. if a race is required
325
+ * that does not yet exist as a crunch element.
326
+ *
327
+ * A display option must be set.
328
+ * @title Ineligible Prerequisite
329
+ */
330
+ type T = {
331
+ tag: "Ineligible";
332
+ display_option: DisplayOption.T;
333
+ };
276
334
  }
277
335
  }
278
- namespace EnhancementInternal {
279
- /**
280
- * Requires a specific enhancement from a skill. This can only be used by an
281
- * enhancement to require another enhancement from the same skill.
282
- * @title Internal Enhancement Prerequisite
283
- */
284
- type T = {
285
- tag: "EnhancementInternal";
336
+ /**
337
+ * @title Grouped Prerequisites
338
+ */
339
+ namespace Group {
340
+ type DerivedCharacteristic = Single.Rule.T;
341
+ type Publication = Single.Publication.T;
342
+ type ArcaneTradition = Single.Sex.T | Single.Culture.T;
343
+ type Spellwork = Single.Rule.T | Single.Rated.T;
344
+ type Liturgy = Single.Rule.T;
345
+ type Language = Single.Ineligible.T | Single.Race.T | Single.Activatable.T;
346
+ type GeodeRitual = Single.Influence.T;
347
+ type Enhancement = Single.EnhancementInternal.T;
348
+ }
349
+ /**
350
+ * @title Prerequisite Collection Types
351
+ */
352
+ namespace Collection {
353
+ type Plain<T> = {
354
+ tag: "Plain";
286
355
  /**
287
- * The enhancement's identifier.
288
- * @integer
289
- * @minimum 1
356
+ * @minItems 1
357
+ */
358
+ value: T[];
359
+ };
360
+ type ByLevel<T> = {
361
+ tag: "Plain";
362
+ /**
363
+ * @minItems 1
364
+ */
365
+ value: T[];
366
+ } | {
367
+ tag: "ByLevel";
368
+ /**
369
+ * @minItems 1
290
370
  */
291
- id: number;
371
+ value: {
372
+ /**
373
+ * @integer
374
+ * @minimum 1
375
+ */
376
+ level: number;
377
+ prerequisites: T[];
378
+ }[];
292
379
  };
293
380
  }
294
- }
295
- /**
296
- * @title Grouped Prerequisites
297
- */
298
- declare namespace Group {
299
- type DerivedCharacteristic = Single.Rule.T;
300
- type Publication = Single.Publication.T;
301
- type ArcaneTradition = Single.Sex.T | Single.Culture.T;
302
- type Spellwork = Single.Rule.T | Single.Rated.T;
303
- type Liturgy = Single.Rule.T;
304
- type GeodeRitual = Single.Influence.T;
305
- type Enhancement = Single.EnhancementInternal.T;
306
- }
307
- /**
308
- * @title Prerequisite Collection Types
309
- */
310
- declare namespace Collection {
311
- type Plain<T> = {
312
- tag: "Plain";
381
+ /**
382
+ * @title Grouped Prerequisite Collections
383
+ */
384
+ export namespace GroupCollection {
385
+ type DerivedCharacteristic = Collection.Plain<Group.DerivedCharacteristic>;
386
+ type Publication = Collection.Plain<Group.Publication>;
313
387
  /**
314
- * @minItems 1
388
+ * @title Arcane Tradition Prerequisites
315
389
  */
316
- value: T[];
317
- };
318
- type ByLevel<T> = {
319
- tag: "Plain";
390
+ type ArcaneTradition = Collection.Plain<Group.ArcaneTradition>;
320
391
  /**
321
- * @minItems 1
392
+ * @title Spellwork Prerequisites
322
393
  */
323
- value: T[];
324
- } | {
325
- tag: "ByLevel";
394
+ type Spellwork = Collection.Plain<Group.Spellwork>;
326
395
  /**
327
- * @minItems 1
396
+ * @title Liturgy Prerequisites
328
397
  */
329
- value: {
330
- /**
331
- * @integer
332
- * @minimum 1
333
- */
334
- level: number;
335
- prerequisites: T[];
336
- }[];
337
- };
338
- }
339
- /**
340
- * @title Grouped Prerequisite Collections
341
- */
342
- export declare namespace GroupCollection {
343
- type DerivedCharacteristic = Collection.Plain<Group.DerivedCharacteristic>;
344
- type Publication = Collection.Plain<Group.Publication>;
345
- /**
346
- * @title Arcane Tradition Prerequisites
347
- */
348
- type ArcaneTradition = Collection.Plain<Group.ArcaneTradition>;
349
- /**
350
- * @title Spellwork Prerequisites
351
- */
352
- type Spellwork = Collection.Plain<Group.Spellwork>;
353
- /**
354
- * @title Liturgy Prerequisites
355
- */
356
- type Liturgy = Collection.Plain<Group.Liturgy>;
357
- /**
358
- * @title Geode Ritual Prerequisites
359
- */
360
- type GeodeRitual = Collection.Plain<Group.GeodeRitual>;
361
- /**
362
- * @title Enhancement Prerequisites
363
- */
364
- type Enhancement = Collection.Plain<Group.Enhancement>;
398
+ type Liturgy = Collection.Plain<Group.Liturgy>;
399
+ /**
400
+ * @title Language Prerequisites
401
+ */
402
+ type Language = Collection.ByLevel<Group.Language>;
403
+ /**
404
+ * @title Geode Ritual Prerequisites
405
+ */
406
+ type GeodeRitual = Collection.Plain<Group.GeodeRitual>;
407
+ /**
408
+ * @title Enhancement Prerequisites
409
+ */
410
+ type Enhancement = Collection.Plain<Group.Enhancement>;
411
+ }
412
+ export {};
365
413
  }
366
- export {};