optolith-database-schema 0.0.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 (169) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +27 -0
  3. package/CODEOWNERS +1 -0
  4. package/LICENSE +378 -0
  5. package/README.md +17 -0
  6. package/lib/main.d.ts +1 -0
  7. package/lib/main.js +1 -0
  8. package/lib/types/ArcaneBardTradition.d.ts +32 -0
  9. package/lib/types/ArcaneBardTradition.js +4 -0
  10. package/lib/types/ArcaneDancerTradition.d.ts +32 -0
  11. package/lib/types/ArcaneDancerTradition.js +4 -0
  12. package/lib/types/Aspect.d.ts +36 -0
  13. package/lib/types/Aspect.js +4 -0
  14. package/lib/types/Attribute.d.ts +42 -0
  15. package/lib/types/Attribute.js +5 -0
  16. package/lib/types/CombatTechnique_Close.d.ts +80 -0
  17. package/lib/types/CombatTechnique_Close.js +4 -0
  18. package/lib/types/CombatTechnique_Ranged.d.ts +62 -0
  19. package/lib/types/CombatTechnique_Ranged.js +4 -0
  20. package/lib/types/Condition.d.ts +51 -0
  21. package/lib/types/Condition.js +4 -0
  22. package/lib/types/Culture.d.ts +494 -0
  23. package/lib/types/Culture.js +4 -0
  24. package/lib/types/DerivedCharacteristic.d.ts +65 -0
  25. package/lib/types/DerivedCharacteristic.js +4 -0
  26. package/lib/types/Element.d.ts +30 -0
  27. package/lib/types/Element.js +4 -0
  28. package/lib/types/ExperienceLevel.d.ts +68 -0
  29. package/lib/types/ExperienceLevel.js +4 -0
  30. package/lib/types/EyeColor.d.ts +30 -0
  31. package/lib/types/EyeColor.js +4 -0
  32. package/lib/types/HairColor.d.ts +30 -0
  33. package/lib/types/HairColor.js +4 -0
  34. package/lib/types/Lessons_Curriculum.d.ts +297 -0
  35. package/lib/types/Lessons_Curriculum.js +4 -0
  36. package/lib/types/Lessons_Guideline.d.ts +36 -0
  37. package/lib/types/Lessons_Guideline.js +4 -0
  38. package/lib/types/Locale.d.ts +38 -0
  39. package/lib/types/Locale.js +4 -0
  40. package/lib/types/MetaCondition.d.ts +54 -0
  41. package/lib/types/MetaCondition.js +4 -0
  42. package/lib/types/Property.d.ts +36 -0
  43. package/lib/types/Property.js +4 -0
  44. package/lib/types/Race.d.ts +524 -0
  45. package/lib/types/Race.js +13 -0
  46. package/lib/types/Region.d.ts +30 -0
  47. package/lib/types/Region.js +4 -0
  48. package/lib/types/Service.d.ts +40 -0
  49. package/lib/types/Service.js +4 -0
  50. package/lib/types/SexPractice.d.ts +53 -0
  51. package/lib/types/SexPractice.js +4 -0
  52. package/lib/types/Skill.d.ts +169 -0
  53. package/lib/types/Skill.js +4 -0
  54. package/lib/types/SkillGroup.d.ts +40 -0
  55. package/lib/types/SkillGroup.js +4 -0
  56. package/lib/types/SkillModificationIncrement.d.ts +82 -0
  57. package/lib/types/SkillModificationIncrement.js +4 -0
  58. package/lib/types/SocialStatus.d.ts +30 -0
  59. package/lib/types/SocialStatus.js +4 -0
  60. package/lib/types/State.d.ts +40 -0
  61. package/lib/types/State.js +4 -0
  62. package/lib/types/TargetCategory.d.ts +36 -0
  63. package/lib/types/TargetCategory.js +4 -0
  64. package/lib/types/_ActivatableSkill.d.ts +919 -0
  65. package/lib/types/_ActivatableSkill.js +38 -0
  66. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +12 -0
  67. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
  68. package/lib/types/_ImprovementCost.d.ts +9 -0
  69. package/lib/types/_ImprovementCost.js +10 -0
  70. package/lib/types/_Prerequisite.d.ts +274 -0
  71. package/lib/types/_Prerequisite.js +4 -0
  72. package/lib/types/_Sex.d.ts +11 -0
  73. package/lib/types/_Sex.js +4 -0
  74. package/lib/types/_SkillCheck.d.ts +28 -0
  75. package/lib/types/_SkillCheck.js +1 -0
  76. package/lib/types/magicalActions/AnimistPower.d.ts +227 -0
  77. package/lib/types/magicalActions/AnimistPower.js +4 -0
  78. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
  79. package/lib/types/magicalActions/AnimistPower_Tribe.js +4 -0
  80. package/lib/types/magicalActions/Curse.d.ts +228 -0
  81. package/lib/types/magicalActions/Curse.js +4 -0
  82. package/lib/types/magicalActions/DominationRitual.d.ts +181 -0
  83. package/lib/types/magicalActions/DominationRitual.js +4 -0
  84. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +149 -0
  85. package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
  86. package/lib/types/magicalActions/GeodeRitual.d.ts +162 -0
  87. package/lib/types/magicalActions/GeodeRitual.js +4 -0
  88. package/lib/types/magicalActions/JesterTrick.d.ts +167 -0
  89. package/lib/types/magicalActions/JesterTrick.js +4 -0
  90. package/lib/types/magicalActions/MagicalDance.d.ts +184 -0
  91. package/lib/types/magicalActions/MagicalDance.js +4 -0
  92. package/lib/types/magicalActions/MagicalMelody.d.ts +132 -0
  93. package/lib/types/magicalActions/MagicalMelody.js +4 -0
  94. package/lib/types/magicalActions/MagicalRune.d.ts +241 -0
  95. package/lib/types/magicalActions/MagicalRune.js +4 -0
  96. package/lib/types/magicalActions/ZibiljaRitual.d.ts +101 -0
  97. package/lib/types/magicalActions/ZibiljaRitual.js +4 -0
  98. package/lib/types/magicalActions/_MusicTradition.d.ts +28 -0
  99. package/lib/types/magicalActions/_MusicTradition.js +1 -0
  100. package/lib/types/magicalActions/_SkillReference.d.ts +13 -0
  101. package/lib/types/magicalActions/_SkillReference.js +5 -0
  102. package/lib/types/rule/FocusRule.d.ts +53 -0
  103. package/lib/types/rule/FocusRule.js +4 -0
  104. package/lib/types/rule/FocusRule_Subject.d.ts +31 -0
  105. package/lib/types/rule/FocusRule_Subject.js +4 -0
  106. package/lib/types/rule/OptionalRule.d.ts +65 -0
  107. package/lib/types/rule/OptionalRule.js +4 -0
  108. package/lib/types/source/Publication.d.ts +4 -0
  109. package/lib/types/source/Publication.js +4 -0
  110. package/lib/types/source/_Erratum.d.ts +25 -0
  111. package/lib/types/source/_Erratum.js +4 -0
  112. package/lib/types/source/_PublicationRef.d.ts +146 -0
  113. package/lib/types/source/_PublicationRef.js +4 -0
  114. package/lib/validation/integrity.d.ts +16 -0
  115. package/lib/validation/integrity.js +3 -0
  116. package/package.json +37 -0
  117. package/schema/ArcaneBardTradition.schema.json +49 -0
  118. package/schema/ArcaneDancerTradition.schema.json +49 -0
  119. package/schema/Aspect.schema.json +50 -0
  120. package/schema/Attribute.schema.json +57 -0
  121. package/schema/CombatTechnique_Close.schema.json +127 -0
  122. package/schema/CombatTechnique_Ranged.schema.json +83 -0
  123. package/schema/Condition.schema.json +84 -0
  124. package/schema/Culture.schema.json +858 -0
  125. package/schema/DerivedCharacteristic.schema.json +90 -0
  126. package/schema/Element.schema.json +45 -0
  127. package/schema/ExperienceLevel.schema.json +84 -0
  128. package/schema/EyeColor.schema.json +45 -0
  129. package/schema/HairColor.schema.json +45 -0
  130. package/schema/Lessons_Curriculum.schema.json +500 -0
  131. package/schema/Lessons_Guideline.schema.json +51 -0
  132. package/schema/Locale.schema.json +45 -0
  133. package/schema/MetaCondition.schema.json +85 -0
  134. package/schema/Property.schema.json +49 -0
  135. package/schema/Race.schema.json +724 -0
  136. package/schema/Region.schema.json +45 -0
  137. package/schema/Service.schema.json +58 -0
  138. package/schema/SexPractice.schema.json +72 -0
  139. package/schema/Skill.schema.json +278 -0
  140. package/schema/SkillGroup.schema.json +56 -0
  141. package/schema/SkillModificationIncrement.schema.json +98 -0
  142. package/schema/SocialStatus.schema.json +45 -0
  143. package/schema/State.schema.json +58 -0
  144. package/schema/TargetCategory.schema.json +51 -0
  145. package/schema/_ActivatableSkill.schema.json +1534 -0
  146. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +22 -0
  147. package/schema/_ImprovementCost.schema.json +15 -0
  148. package/schema/_Prerequisite.schema.json +519 -0
  149. package/schema/_Sex.schema.json +36 -0
  150. package/schema/_SkillCheck.schema.json +94 -0
  151. package/schema/magicalActions/AnimistPower.schema.json +411 -0
  152. package/schema/magicalActions/AnimistPower_Tribe.schema.json +45 -0
  153. package/schema/magicalActions/Curse.schema.json +378 -0
  154. package/schema/magicalActions/DominationRitual.schema.json +288 -0
  155. package/schema/magicalActions/ElvenMagicalSong.schema.json +194 -0
  156. package/schema/magicalActions/GeodeRitual.schema.json +303 -0
  157. package/schema/magicalActions/JesterTrick.schema.json +292 -0
  158. package/schema/magicalActions/MagicalDance.schema.json +328 -0
  159. package/schema/magicalActions/MagicalMelody.schema.json +254 -0
  160. package/schema/magicalActions/MagicalRune.schema.json +426 -0
  161. package/schema/magicalActions/ZibiljaRitual.schema.json +159 -0
  162. package/schema/magicalActions/_MusicTradition.schema.json +44 -0
  163. package/schema/magicalActions/_SkillReference.schema.json +26 -0
  164. package/schema/rule/FocusRule.schema.json +71 -0
  165. package/schema/rule/FocusRule_Subject.schema.json +46 -0
  166. package/schema/rule/OptionalRule.schema.json +96 -0
  167. package/schema/source/Publication.schema.json +165 -0
  168. package/schema/source/_Erratum.schema.json +37 -0
  169. package/schema/source/_PublicationRef.schema.json +242 -0
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @title Activatable Skill
3
+ */
4
+ export var CastingTime;
5
+ (function (CastingTime) {
6
+ let CastingTimeDuringLovemakingUnit;
7
+ (function (CastingTimeDuringLovemakingUnit) {
8
+ CastingTimeDuringLovemakingUnit["SeductionActions"] = "SeductionActions";
9
+ CastingTimeDuringLovemakingUnit["Rounds"] = "Rounds";
10
+ })(CastingTimeDuringLovemakingUnit = CastingTime.CastingTimeDuringLovemakingUnit || (CastingTime.CastingTimeDuringLovemakingUnit = {}));
11
+ let SlowSkillCastingTimeUnit;
12
+ (function (SlowSkillCastingTimeUnit) {
13
+ SlowSkillCastingTimeUnit["Minutes"] = "Minutes";
14
+ SlowSkillCastingTimeUnit["Hours"] = "Hours";
15
+ })(SlowSkillCastingTimeUnit = CastingTime.SlowSkillCastingTimeUnit || (CastingTime.SlowSkillCastingTimeUnit = {}));
16
+ })(CastingTime || (CastingTime = {}));
17
+ export var Range;
18
+ (function (Range) {
19
+ let Unit;
20
+ (function (Unit) {
21
+ Unit["Steps"] = "Steps";
22
+ Unit["Miles"] = "Miles";
23
+ })(Unit = Range.Unit || (Range.Unit = {}));
24
+ })(Range || (Range = {}));
25
+ export var Duration;
26
+ (function (Duration) {
27
+ let Unit;
28
+ (function (Unit) {
29
+ Unit["Seconds"] = "Seconds";
30
+ Unit["Minutes"] = "Minutes";
31
+ Unit["Hours"] = "Hours";
32
+ Unit["Days"] = "Days";
33
+ Unit["Weeks"] = "Weeks";
34
+ Unit["Months"] = "Months";
35
+ Unit["Years"] = "Years";
36
+ Unit["CombatRounds"] = "CombatRounds";
37
+ })(Unit = Duration.Unit || (Duration.Unit = {}));
38
+ })(Duration || (Duration = {}));
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.
3
+ * @title Commonness-rated Advantage/Disadvantage
4
+ */
5
+ export declare type CommonnessRatedAdvantageDisadvantage = {
6
+ /**
7
+ * The advantage's or disadvantage's identifier.
8
+ * @integer
9
+ * @minimum 1
10
+ */
11
+ id: number;
12
+ };
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ /**
2
+ * @title Improvement Cost
3
+ */
4
+ export declare enum ImprovementCost {
5
+ A = "A",
6
+ B = "B",
7
+ C = "C",
8
+ D = "D"
9
+ }
@@ -0,0 +1,10 @@
1
+ /**
2
+ * @title Improvement Cost
3
+ */
4
+ export var ImprovementCost;
5
+ (function (ImprovementCost) {
6
+ ImprovementCost["A"] = "A";
7
+ ImprovementCost["B"] = "B";
8
+ ImprovementCost["C"] = "C";
9
+ ImprovementCost["D"] = "D";
10
+ })(ImprovementCost || (ImprovementCost = {}));
@@ -0,0 +1,274 @@
1
+ /**
2
+ * @title Prerequisites
3
+ */
4
+ import { BinarySex } from "./_Sex";
5
+ /**
6
+ * @title Single Prerequisites
7
+ */
8
+ export declare namespace Single {
9
+ namespace DisplayOption {
10
+ /**
11
+ * @title Display Option
12
+ */
13
+ type T = {
14
+ tag: "Hide";
15
+ } | {
16
+ tag: "ReplaceWith";
17
+ /**
18
+ * All translations for the entry, identified by IETF language tag (BCP47).
19
+ * @minProperties 1
20
+ */
21
+ value: {
22
+ /**
23
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
24
+ */
25
+ [localeId: string]: string;
26
+ };
27
+ };
28
+ }
29
+ namespace Sex {
30
+ /**
31
+ * Requires a specific sex.
32
+ * @title Sex Prerequisite
33
+ */
34
+ type T = {
35
+ tag: "Sex";
36
+ id: BinarySex;
37
+ display_option?: DisplayOption.T;
38
+ };
39
+ }
40
+ namespace Race {
41
+ /**
42
+ * Requires a specific culture or one of a specific set of cultures.
43
+ * @title Race Prerequisite
44
+ */
45
+ export type T = {
46
+ tag: "Culture";
47
+ id: Identifier;
48
+ active: boolean;
49
+ display_option?: DisplayOption.T;
50
+ };
51
+ type Identifier = SingleIdentifier | MultipleIdentifiers;
52
+ /**
53
+ * @minimum 1
54
+ */
55
+ type SingleIdentifier = number;
56
+ /**
57
+ * @minItems 2
58
+ */
59
+ type MultipleIdentifiers = SingleIdentifier[];
60
+ export {};
61
+ }
62
+ namespace Culture {
63
+ /**
64
+ * Requires a specific race or one of a specific set of races. You can also
65
+ * provide an object to say whether the hero must meet one of the races or
66
+ * if the entry does not allow one of the races.
67
+ * @title Culture Prerequisite
68
+ */
69
+ export type T = {
70
+ tag: "Culture";
71
+ id: Identifier;
72
+ display_option?: DisplayOption.T;
73
+ };
74
+ type Identifier = SingleIdentifier | MultipleIdentifiers;
75
+ /**
76
+ * @minimum 1
77
+ */
78
+ type SingleIdentifier = number;
79
+ /**
80
+ * @minItems 2
81
+ */
82
+ type MultipleIdentifiers = SingleIdentifier[];
83
+ export {};
84
+ }
85
+ namespace Rule {
86
+ /**
87
+ * @title Rule Prerequisite
88
+ */
89
+ export type T = {
90
+ tag: "Rule";
91
+ id: Identifier;
92
+ display_option?: DisplayOption.T;
93
+ };
94
+ type Identifier = {
95
+ tag: "FocusRule";
96
+ /**
97
+ * @integer
98
+ * @minimum 1
99
+ */
100
+ value: number;
101
+ } | {
102
+ tag: "OptionalRule";
103
+ /**
104
+ * @integer
105
+ * @minimum 1
106
+ */
107
+ value: number;
108
+ };
109
+ export {};
110
+ }
111
+ namespace Publication {
112
+ /**
113
+ * @title Publication Prerequisite
114
+ */
115
+ type T = {
116
+ tag: "Publication";
117
+ /**
118
+ * @integer
119
+ * @minimum 1
120
+ */
121
+ id: number;
122
+ display_option?: DisplayOption.T;
123
+ };
124
+ }
125
+ namespace PrimaryAttribute {
126
+ /**
127
+ * @title Primary Attribute Prerequisite
128
+ */
129
+ type T = {
130
+ tag: "PrimaryAttribute";
131
+ /**
132
+ * Is the required primary attribute for spellcasters or blessed ones?
133
+ */
134
+ category: Category;
135
+ /**
136
+ * Required value of the attribute
137
+ * @integer
138
+ * @minimum 9
139
+ */
140
+ value: number;
141
+ display_option?: DisplayOption.T;
142
+ };
143
+ type Category = {
144
+ tag: "Blessed";
145
+ } | {
146
+ tag: "Magical";
147
+ };
148
+ }
149
+ namespace Pact {
150
+ /**
151
+ * Requires a specific pact.
152
+ * @title Pact Prerequisite
153
+ */
154
+ type T = {
155
+ tag: "Pact";
156
+ /**
157
+ * The required pact category's identifier.
158
+ * @integer
159
+ * @minimum 1
160
+ */
161
+ category_id: number;
162
+ /**
163
+ * The required domains' identifiers.
164
+ */
165
+ domain_id?: DomainId[];
166
+ /**
167
+ * The required pact level.
168
+ * @integer
169
+ * @minimum 1
170
+ */
171
+ level?: number;
172
+ display_option?: DisplayOption.T;
173
+ };
174
+ /**
175
+ * A domain's identifier.
176
+ * @integer
177
+ * @minimum 1
178
+ */
179
+ type DomainId = number;
180
+ }
181
+ namespace SocialStatus {
182
+ /**
183
+ * Requires a minimum social status.
184
+ * @title Social Status Prerequisite
185
+ */
186
+ type T = {
187
+ tag: "SocialStatus";
188
+ /**
189
+ * The minimum social status' identifier.
190
+ * @integer
191
+ * @minimum 2
192
+ * @maximum 5
193
+ */
194
+ id: number;
195
+ display_option?: DisplayOption.T;
196
+ };
197
+ }
198
+ namespace Influence {
199
+ /**
200
+ * @title Influence Prerequisite
201
+ */
202
+ type T = {
203
+ tag: "Influence";
204
+ /**
205
+ * The influence' identifier.
206
+ * @integer
207
+ * @minimum 1
208
+ */
209
+ id: number;
210
+ /**
211
+ * If the referenced influence must or must not be chosen.
212
+ */
213
+ active: boolean;
214
+ display_option?: DisplayOption.T;
215
+ };
216
+ }
217
+ }
218
+ /**
219
+ * @title Grouped Prerequisites
220
+ */
221
+ declare namespace Group {
222
+ type DerivedCharacteristic = Single.Rule.T;
223
+ type Publication = Single.Publication.T;
224
+ type ArcaneTradition = Single.Sex.T | Single.Culture.T;
225
+ type GeodeRitual = Single.Influence.T;
226
+ }
227
+ /**
228
+ * @title Prerequisite Collection Types
229
+ */
230
+ declare namespace Collection {
231
+ type Plain<T> = {
232
+ tag: "Plain";
233
+ /**
234
+ * @minItems 1
235
+ */
236
+ value: T[];
237
+ };
238
+ type ByLevel<T> = {
239
+ tag: "Plain";
240
+ /**
241
+ * @minItems 1
242
+ */
243
+ value: T[];
244
+ } | {
245
+ tag: "ByLevel";
246
+ /**
247
+ * @minItems 1
248
+ */
249
+ value: {
250
+ /**
251
+ * @integer
252
+ * @minimum 1
253
+ */
254
+ level: number;
255
+ prerequisites: T[];
256
+ }[];
257
+ };
258
+ }
259
+ /**
260
+ * @title Grouped Prerequisite Collections
261
+ */
262
+ export declare namespace GroupCollection {
263
+ type DerivedCharacteristic = Collection.Plain<Group.DerivedCharacteristic>;
264
+ type Publication = Collection.Plain<Group.Publication>;
265
+ /**
266
+ * @title Arcane Tradition Prerequisites
267
+ */
268
+ type ArcaneTradition = Collection.Plain<Group.ArcaneTradition>;
269
+ /**
270
+ * @title Geode Ritual Prerequisites
271
+ */
272
+ type GeodeRitual = Collection.Plain<Group.GeodeRitual>;
273
+ }
274
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @title Prerequisites
3
+ */
4
+ export {};
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @main BinarySex
3
+ */
4
+ /**
5
+ * @title Binary Sex
6
+ */
7
+ export declare type BinarySex = {
8
+ tag: "Male";
9
+ } | {
10
+ tag: "Female";
11
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main BinarySex
3
+ */
4
+ export {};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * The attributes' identifiers of the skill check.
3
+ * @title Skill Check
4
+ */
5
+ export declare type SkillCheck = [Attribute, Attribute, Attribute];
6
+ declare type Attribute = {
7
+ /**
8
+ * The attribute's identifier.
9
+ * @integer
10
+ * @minimum 1
11
+ * @maximum 8
12
+ */
13
+ id: number;
14
+ };
15
+ /**
16
+ * A specific value that represents a penalty for the associated skill check.
17
+ * @title Skill Check Penalty
18
+ */
19
+ export declare type SkillCheckPenalty = {
20
+ tag: "SPI";
21
+ } | {
22
+ tag: "SPI/2";
23
+ } | {
24
+ tag: "TOU";
25
+ } | {
26
+ tag: "SPI/TOU";
27
+ };
28
+ export {};
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,227 @@
1
+ /**
2
+ * @main AnimistPower
3
+ */
4
+ import { Errata } from "../source/_Erratum";
5
+ import { PublicationRefs } from "../source/_PublicationRef";
6
+ import { Duration, Effect } from "../_ActivatableSkill";
7
+ import { ImprovementCost } from "../_ImprovementCost";
8
+ import { SkillCheck } from "../_SkillCheck";
9
+ /**
10
+ * @title Animist Power
11
+ */
12
+ export declare type AnimistPower = {
13
+ /**
14
+ * The animist power's identifier. An unique, increasing integer.
15
+ * @integer
16
+ * @minimum 1
17
+ */
18
+ id: number;
19
+ /**
20
+ * Lists the linked three attributes used to make a skill check.
21
+ */
22
+ check: SkillCheck;
23
+ /**
24
+ * Measurable parameters of a animist power.
25
+ */
26
+ parameters: PerformanceParameters;
27
+ /**
28
+ * The property's identifier.
29
+ * @integer
30
+ * @minimum 1
31
+ */
32
+ property_id: number;
33
+ /**
34
+ * The tribe traditions the animist power is available to. It may be available
35
+ * to all or only specific tribes.
36
+ */
37
+ tribe_tradition: {
38
+ tag: "General";
39
+ } | {
40
+ tag: "Specific";
41
+ /**
42
+ * The specific tribe traditions this animist power is available to.
43
+ * @minItems 1
44
+ * @uniqueItems
45
+ */
46
+ list: {
47
+ /**
48
+ * The tribe's identifier.
49
+ * @integer
50
+ * @minimum 1
51
+ * @maximum 6
52
+ */
53
+ id: number;
54
+ }[];
55
+ };
56
+ /**
57
+ * States which column is used to improve the skill. It is a fixed value or
58
+ * depends on the primary patron.
59
+ */
60
+ improvement_cost: {
61
+ tag: "Flat";
62
+ value: ImprovementCost;
63
+ } | {
64
+ tag: "ByPrimaryPatron";
65
+ };
66
+ /**
67
+ * The animist power can have multiple levels. Each level is skilled
68
+ * separately. A previous level must be on at least 10 so that the next higher
69
+ * level can be activated and skilled. A higher level cannot be skilled higher
70
+ * than a lower level. Each level also adds an effect text to the text of the
71
+ * first level.
72
+ * @minItems 1
73
+ */
74
+ levels?: {
75
+ /**
76
+ * The level number.
77
+ * @integer
78
+ * @minimum 2
79
+ */
80
+ level: number;
81
+ /**
82
+ * The source references, if different than the references for level 1.
83
+ */
84
+ src?: PublicationRefs;
85
+ /**
86
+ * All translations for the entry, identified by IETF language tag (BCP47).
87
+ * @minProperties 1
88
+ */
89
+ translations: {
90
+ /**
91
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
92
+ */
93
+ [localeId: string]: {
94
+ /**
95
+ * An additional effect description for this level.
96
+ * @markdown
97
+ * @minLength 1
98
+ */
99
+ effect: string;
100
+ };
101
+ };
102
+ }[];
103
+ src: PublicationRefs;
104
+ /**
105
+ * All translations for the entry, identified by IETF language tag (BCP47).
106
+ * @minProperties 1
107
+ */
108
+ translations: {
109
+ /**
110
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
111
+ */
112
+ [localeId: string]: {
113
+ /**
114
+ * The name of the animist power.
115
+ * @minLength 1
116
+ */
117
+ name: string;
118
+ /**
119
+ * The full name of the entry as stated in the sources. Only use when
120
+ * `name` needs to be different from full name for text generation
121
+ * purposes.
122
+ * @minLength 1
123
+ */
124
+ name_in_library?: string;
125
+ /**
126
+ * The effect description may be either a plain text or a text that is
127
+ * divided by a list of effects for each quality level. It may also be a
128
+ * list for each two quality levels.
129
+ */
130
+ effect: Effect.T;
131
+ /**
132
+ * @deprecated
133
+ */
134
+ cost: {
135
+ full: string;
136
+ abbr: string;
137
+ };
138
+ /**
139
+ * @deprecated
140
+ */
141
+ duration: {
142
+ full: string;
143
+ abbr: string;
144
+ };
145
+ errata?: Errata;
146
+ };
147
+ };
148
+ };
149
+ /**
150
+ * Measurable parameters of a animist power.
151
+ */
152
+ declare type PerformanceParameters = {
153
+ tag: "OneTime";
154
+ /**
155
+ * The AE cost value, either a flat value or defined dynamically by the
156
+ * primary patron.
157
+ */
158
+ cost: {
159
+ tag: "Fixed";
160
+ /**
161
+ * The AE cost value.
162
+ * @integer
163
+ * @minimum 1
164
+ */
165
+ value: number;
166
+ /**
167
+ * If defined, half of the AE cost `value` has to be paid each
168
+ * interval.
169
+ */
170
+ interval?: Duration.UnitValue;
171
+ } | {
172
+ tag: "ByPrimaryPatron";
173
+ /**
174
+ * If defined, half of the AE cost `value` has to be paid each
175
+ * interval.
176
+ */
177
+ interval?: Duration.UnitValue;
178
+ };
179
+ /**
180
+ * The duration.
181
+ */
182
+ duration: {
183
+ tag: "Immediate";
184
+ } | {
185
+ tag: "Fixed";
186
+ /**
187
+ * If the duration is the maximum duration, so it may end earlier.
188
+ */
189
+ is_maximum?: boolean;
190
+ /**
191
+ * The (unitless) duration.
192
+ * @integer
193
+ * @minimum 2
194
+ */
195
+ value: number;
196
+ /**
197
+ * The duration unit.
198
+ */
199
+ unit: Duration.Unit;
200
+ } | Duration.CheckResultBasedTaggedAnimistPower;
201
+ } | {
202
+ tag: "Sustained";
203
+ /**
204
+ * The AE cost value, either a flat value or defined dynamically by the
205
+ * primary patron.
206
+ */
207
+ cost: {
208
+ tag: "Fixed";
209
+ /**
210
+ * The AE cost value.
211
+ * @integer
212
+ * @minimum 1
213
+ */
214
+ value: number;
215
+ /**
216
+ * Half of the AE cost `value` has to be paid each interval.
217
+ */
218
+ interval: Duration.UnitValue;
219
+ } | {
220
+ tag: "ByPrimaryPatron";
221
+ /**
222
+ * Half of the AE cost `value` has to be paid each interval.
223
+ */
224
+ interval: Duration.UnitValue;
225
+ };
226
+ };
227
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main AnimistPower
3
+ */
4
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @main Tribe
3
+ */
4
+ /**
5
+ * @title Tribe
6
+ */
7
+ export declare type Tribe = {
8
+ /**
9
+ * The tribe's identifier. An unique, increasing integer.
10
+ * @integer
11
+ * @minimum 1
12
+ */
13
+ id: number;
14
+ /**
15
+ * All translations for the entry, identified by IETF language tag (BCP47).
16
+ * @minProperties 1
17
+ */
18
+ translations: {
19
+ /**
20
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
21
+ */
22
+ [localeId: string]: {
23
+ /**
24
+ * The tribe name.
25
+ * @minLength 1
26
+ */
27
+ name: string;
28
+ };
29
+ };
30
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main Tribe
3
+ */
4
+ export {};