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
@@ -0,0 +1,528 @@
1
+ /**
2
+ * General type specifications used by multiple activatable entries.
3
+ * @title Activatable
4
+ */
5
+ import { Identifier } from "./_Identifier";
6
+ import { Prerequisite } from "./_Prerequisite";
7
+ /**
8
+ * The activatable entry's identifier. An unique, increasing integer.
9
+ * @integer
10
+ * @minimum 0
11
+ */
12
+ export declare type Id = number;
13
+ /**
14
+ * The name of the activatable entry.
15
+ * @minLength 1
16
+ */
17
+ export declare type Name = string;
18
+ /**
19
+ * The full name of the entry as stated in the sources. Only use when `name`
20
+ * needs to be different from full name for text generation purposes.
21
+ * @minLength 1
22
+ */
23
+ export declare type NameInLibrary = string;
24
+ /**
25
+ * Number of available levels.
26
+ * @integer
27
+ * @minimum 2
28
+ */
29
+ export declare type Levels = number;
30
+ /**
31
+ *
32
+ */
33
+ export declare type Maximum = "";
34
+ /**
35
+ *
36
+ */
37
+ export declare type Options = "";
38
+ /**
39
+ * The rule text.
40
+ * @markdown
41
+ * @minLength 1
42
+ */
43
+ export declare type Rules = string;
44
+ /**
45
+ * The effect description.
46
+ * @markdown
47
+ * @minLength 1
48
+ */
49
+ export declare type Effect = string;
50
+ /**
51
+ * The definition of how the combat special ability can be used in combat.
52
+ */
53
+ export declare type CombatSpecialAbilityType = {
54
+ tag: "Passive";
55
+ } | {
56
+ tag: "BasicManeuver";
57
+ } | {
58
+ tag: "SpecialManeuver";
59
+ };
60
+ /**
61
+ * Registers new skill applications, which get enabled once this entry is
62
+ * activated. It specifies an entry-unique identifier and the skill it belongs
63
+ * to. A translation can be left out if its name equals the name of the origin
64
+ * activatable entry.
65
+ * @minItems 1
66
+ */
67
+ export declare type SkillApplications = {
68
+ /**
69
+ * The application's identifier. An entry-unique, increasing integer.
70
+ * @integer
71
+ * @minimum 1
72
+ */
73
+ id: number;
74
+ /**
75
+ * The skill(s) this application belongs to.
76
+ */
77
+ skill: {
78
+ tag: "Single";
79
+ /**
80
+ * The referenced skill's identifier.
81
+ * @integer
82
+ * @minimum 1
83
+ */
84
+ id: number;
85
+ } | {
86
+ tag: "Multiple";
87
+ /**
88
+ * The skills this application belongs to.
89
+ * @minItems 2
90
+ */
91
+ list: {
92
+ /**
93
+ * The referenced skill's identifier.
94
+ * @integer
95
+ * @minimum 1
96
+ */
97
+ id: number;
98
+ }[];
99
+ /**
100
+ * If an application applies to multiple skills, it may need to ensure the
101
+ * respective skill is on a certain skill rating if the activatable entry
102
+ * cannot ensure this prerequisite.
103
+ * @integer
104
+ * @minimum 1
105
+ */
106
+ required_skill_rating?: number;
107
+ };
108
+ /**
109
+ * All translations for the entry, identified by IETF language tag (BCP47).
110
+ * @minProperties 1
111
+ */
112
+ translations?: {
113
+ /**
114
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
115
+ */
116
+ [localeId: string]: {
117
+ /**
118
+ * The name of the application if different from the activatable entry's
119
+ * name.
120
+ * @minLength 1
121
+ */
122
+ name: string;
123
+ };
124
+ };
125
+ }[];
126
+ /**
127
+ * Registers uses, which get enabled once this entry is activated. It specifies
128
+ * an entry-unique identifier and the skill it belongs to. A translation can be
129
+ * left out if its name equals the name of the origin activatable entry.
130
+ * @minItems 1
131
+ */
132
+ export declare type SkillUses = {
133
+ /**
134
+ * The use's identifier. An entry-unique, increasing integer.
135
+ * @integer
136
+ * @minimum 1
137
+ */
138
+ id: number;
139
+ /**
140
+ * The skill(s) this use belongs to.
141
+ */
142
+ skill: {
143
+ tag: "Single";
144
+ /**
145
+ * The referenced skill's identifier.
146
+ * @integer
147
+ * @minimum 1
148
+ */
149
+ id: number;
150
+ } | {
151
+ tag: "Multiple";
152
+ /**
153
+ * The skills this use belongs to.
154
+ * @minItems 2
155
+ */
156
+ list: {
157
+ /**
158
+ * The referenced skill's identifier.
159
+ * @integer
160
+ * @minimum 1
161
+ */
162
+ id: number;
163
+ }[];
164
+ };
165
+ /**
166
+ * All translations for the entry, identified by IETF language tag (BCP47).
167
+ * @minProperties 1
168
+ */
169
+ translations?: {
170
+ /**
171
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
172
+ */
173
+ [localeId: string]: {
174
+ /**
175
+ * The name of the use if different from the activatable entry's name.
176
+ * @minLength 1
177
+ */
178
+ name: string;
179
+ };
180
+ };
181
+ }[];
182
+ /**
183
+ * The penalty the special ability gives when used.
184
+ */
185
+ export declare type Penalty = "";
186
+ /**
187
+ * The AE Cost.
188
+ */
189
+ export declare type ArcaneEnergyCost = "";
190
+ /**
191
+ * The volume points the enchantment needs.
192
+ */
193
+ export declare type Volume = "";
194
+ /**
195
+ * The binding cost for an enchantment.
196
+ */
197
+ export declare type BindingCost = "";
198
+ /**
199
+ * The magic property's identifier. `DependingOnProperty` can only be used if
200
+ * the special ability has an option to select a property.
201
+ */
202
+ export declare type Property = {
203
+ tag: "DependingOnProperty";
204
+ } | {
205
+ tag: "Fixed";
206
+ /**
207
+ * The property's identifier.
208
+ * @integer
209
+ * @minimum 1
210
+ */
211
+ id: number;
212
+ };
213
+ /**
214
+ * The blessed aspect's identifier.
215
+ * @integer
216
+ * @minimum 1
217
+ */
218
+ export declare type Aspect = number;
219
+ /**
220
+ * A reference to an advanced special ability.
221
+ */
222
+ export declare type AdvancedSpecialAbility = {
223
+ tag: "General";
224
+ /**
225
+ * The advanced special ability's numeric identifier.
226
+ * @integer
227
+ * @minimum 1
228
+ */
229
+ id: number;
230
+ } | {
231
+ tag: "RestrictOptions";
232
+ /**
233
+ * The advanced special ability's numeric identifier.
234
+ * @integer
235
+ * @minimum 1
236
+ */
237
+ id: number;
238
+ /**
239
+ * Specify the select option(s) that only are allowed for the referenced
240
+ * advanced special ability; others are disallowed.
241
+ * @minItems 1
242
+ */
243
+ option: Identifier.Group.AdvancedSpecialAbilityRestrictedOption[];
244
+ } | {
245
+ tag: "OneOf";
246
+ /**
247
+ * The possible advanced special abilities.
248
+ */
249
+ options: {
250
+ /**
251
+ * The advanced special ability's numeric identifier.
252
+ * @integer
253
+ * @minimum 1
254
+ */
255
+ id: number;
256
+ };
257
+ /**
258
+ * Do have to choose on when buying the special ability? Otherwise the
259
+ * decision can be made later.
260
+ */
261
+ is_selection_required_on_purchase: boolean;
262
+ /**
263
+ * Specify the select option(s) that only are allowed for the referenced
264
+ * advanced special ability; others are disallowed.
265
+ * @minItems 1
266
+ */
267
+ option: Identifier.Group.AdvancedSpecialAbilityRestrictedOption[];
268
+ display_option?: Prerequisite.Single.DisplayOption.T;
269
+ } | {
270
+ tag: "DeriveFromExternalOption";
271
+ /**
272
+ * The possible advanced special abilities.
273
+ */
274
+ external_entry: AdvancedSpecialAbilityDerivedExternalEntryId;
275
+ /**
276
+ * @minItems
277
+ */
278
+ mappings: {
279
+ /**
280
+ * The select option's identifier.
281
+ */
282
+ from_option: AdvancedSpecialAbilityDerivedExternalEntryOptionId;
283
+ /**
284
+ * The advanced special ability's identifier.
285
+ */
286
+ to_advanced: {
287
+ /**
288
+ * The advanced special ability's numeric identifier.
289
+ * @integer
290
+ * @minimum 1
291
+ */
292
+ id: number;
293
+ };
294
+ }[];
295
+ display_option?: Prerequisite.Single.DisplayOption.T;
296
+ /**
297
+ * Do have to choose on when buying the special ability? Otherwise the
298
+ * decision can be made later.
299
+ */
300
+ is_selection_required_on_purchase: boolean;
301
+ /**
302
+ * Specify the select option(s) that only are allowed for the referenced
303
+ * advanced special ability; others are disallowed.
304
+ * @minItems 1
305
+ */
306
+ option: Identifier.Group.AdvancedSpecialAbilityRestrictedOption[];
307
+ };
308
+ export declare type AdvancedSpecialAbilityDerivedExternalEntryId = Identifier.Tagged<"MagicalTradition">;
309
+ export declare type AdvancedSpecialAbilityDerivedExternalEntryOptionId = Identifier.Tagged<"Patron">;
310
+ /**
311
+ * The Advanced Special Abilities for the respective Style Special Ability.
312
+ * Sometimes, only a specific select option or a set of select options of an
313
+ * entry is allowed, which can be modelled by the option property. It can also
314
+ * be that you can choose from a set of special abilities, but then you can't
315
+ * specify an option.
316
+ */
317
+ export declare type AdvancedSpecialAbilities = [
318
+ AdvancedSpecialAbility,
319
+ AdvancedSpecialAbility,
320
+ AdvancedSpecialAbility
321
+ ];
322
+ export declare type ApplicableCombatTechniques = {
323
+ tag: "None";
324
+ } | {
325
+ tag: "DependingOnCombatStyle";
326
+ } | {
327
+ tag: "All";
328
+ /**
329
+ * @minItems 1
330
+ */
331
+ restrictions?: ApplicableAllCombatTechniquesRestriction[];
332
+ } | {
333
+ tag: "AllClose";
334
+ /**
335
+ * @minItems 1
336
+ */
337
+ restrictions?: ApplicableCloseCombatTechniquesRestriction[];
338
+ } | {
339
+ tag: "AllRanged";
340
+ /**
341
+ * @minItems 1
342
+ */
343
+ restrictions?: ApplicableRangedCombatTechniquesRestriction[];
344
+ } | {
345
+ tag: "Specific";
346
+ /**
347
+ * @minItems 1
348
+ */
349
+ list: {
350
+ id: Identifier.Group.CombatTechnique;
351
+ /**
352
+ * @minItems 1
353
+ */
354
+ restrictions?: ApplicableSpecificCombatTechniquesRestriction[];
355
+ }[];
356
+ };
357
+ export declare type ApplicableAllCombatTechniquesRestriction = {
358
+ tag: "Improvised";
359
+ } | {
360
+ tag: "PointedBlade";
361
+ } | {
362
+ tag: "Mount";
363
+ } | {
364
+ tag: "Race";
365
+ /**
366
+ * The race's numeric identifier.
367
+ * @integer
368
+ * @minimum 1
369
+ */
370
+ id: number;
371
+ } | {
372
+ tag: "ExcludeCombatTechniques";
373
+ /**
374
+ * The combat techniques this combat special ability is **not** applicable
375
+ * to.
376
+ * @minItems 1
377
+ * @uniqueItems
378
+ */
379
+ list: Identifier.Group.CombatTechnique[];
380
+ };
381
+ export declare type ApplicableCloseCombatTechniquesRestriction = {
382
+ tag: "Improvised";
383
+ } | {
384
+ tag: "PointedBlade";
385
+ } | {
386
+ tag: "Mount";
387
+ } | {
388
+ tag: "HasParry";
389
+ } | {
390
+ tag: "OneHanded";
391
+ } | {
392
+ tag: "ParryingWeapon";
393
+ } | {
394
+ tag: "Race";
395
+ /**
396
+ * The race's numeric identifier.
397
+ * @integer
398
+ * @minimum 1
399
+ */
400
+ id: number;
401
+ } | {
402
+ tag: "ExcludeCombatTechniques";
403
+ /**
404
+ * The combat techniques this combat special ability is **not** applicable
405
+ * to.
406
+ * @minItems 1
407
+ * @uniqueItems
408
+ */
409
+ list: {
410
+ /**
411
+ * The close combat technique's numeric identifier.
412
+ * @integer
413
+ * @minimum 1
414
+ */
415
+ id: number;
416
+ }[];
417
+ };
418
+ export declare type ApplicableRangedCombatTechniquesRestriction = {
419
+ tag: "Improvised";
420
+ } | {
421
+ tag: "PointedBlade";
422
+ } | {
423
+ tag: "Mount";
424
+ } | {
425
+ tag: "Race";
426
+ /**
427
+ * The race's numeric identifier.
428
+ * @integer
429
+ * @minimum 1
430
+ */
431
+ id: number;
432
+ } | {
433
+ tag: "ExcludeCombatTechniques";
434
+ /**
435
+ * The combat techniques this combat special ability is **not** applicable
436
+ * to.
437
+ * @minItems 1
438
+ * @uniqueItems
439
+ */
440
+ list: {
441
+ /**
442
+ * The ranged combat technique's numeric identifier.
443
+ * @integer
444
+ * @minimum 1
445
+ */
446
+ id: number;
447
+ }[];
448
+ };
449
+ export declare type ApplicableSpecificCombatTechniquesRestriction = {
450
+ tag: "Improvised";
451
+ } | {
452
+ tag: "PointedBlade";
453
+ } | {
454
+ tag: "Mount";
455
+ } | {
456
+ tag: "Race";
457
+ /**
458
+ * The race's numeric identifier.
459
+ * @integer
460
+ * @minimum 1
461
+ */
462
+ id: number;
463
+ } | {
464
+ tag: "Level";
465
+ /**
466
+ * The combat special ability is only applicable on a certain level.
467
+ * @integer
468
+ * @minimum 1
469
+ */
470
+ level: number;
471
+ } | {
472
+ tag: "Weapons";
473
+ /**
474
+ * The specific weapons this combat special ability is only applicable to.
475
+ * @minItems 1
476
+ * @uniqueItems
477
+ */
478
+ list: {
479
+ /**
480
+ * The weapon's numeric identifier.
481
+ * @integer
482
+ * @minimum 1
483
+ */
484
+ id: number;
485
+ }[];
486
+ };
487
+ export declare type AdventurePointsValue = {
488
+ tag: "Fixed";
489
+ /**
490
+ * A fixed adventure points value. If the entry has levels, this is the cost
491
+ * for each level as well.
492
+ */
493
+ value: AdventurePointsSingleValue;
494
+ } | {
495
+ tag: "ByLevel";
496
+ /**
497
+ * An entry with levels may have different costs for each level. The length
498
+ * of the list must match the amount of levels the special ability has.
499
+ * @minItems 2
500
+ */
501
+ values: AdventurePointsSingleValue[];
502
+ } | {
503
+ tag: "ByImprovementCost";
504
+ /**
505
+ * An entry with a selection of skills may have different costs for
506
+ * different improvement costs of the selected skill.
507
+ *
508
+ * If the select options will not have entries with improvement cost A
509
+ * (combat techniques only), you may leave out A.
510
+ */
511
+ values: {
512
+ A?: AdventurePointsSingleValue;
513
+ B: AdventurePointsSingleValue;
514
+ C: AdventurePointsSingleValue;
515
+ D: AdventurePointsSingleValue;
516
+ };
517
+ } | {
518
+ /**
519
+ * Used if AP value is defined by the selected option(s) or special rules.
520
+ */
521
+ tag: "Indefinite";
522
+ };
523
+ /**
524
+ * A single adventure points value.
525
+ * @integer
526
+ * @minimum 0
527
+ */
528
+ export declare type AdventurePointsSingleValue = number;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * General type specifications used by multiple activatable entries.
3
+ * @title Activatable
4
+ */
5
+ export {};
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { Errata } from "./source/_Erratum";
5
5
  import { PublicationRefs } from "./source/_PublicationRef";
6
- import { GroupCollection } from "./_Prerequisite";
6
+ import { Prerequisite } from "./_Prerequisite";
7
7
  /**
8
8
  * A list of enhancements.
9
9
  * @minItems 3
@@ -35,7 +35,7 @@ export declare type Enhancement = {
35
35
  * @minimum 1
36
36
  */
37
37
  adventure_points_modifier: number;
38
- prerequisites?: GroupCollection.Enhancement;
38
+ prerequisites?: Prerequisite.GroupCollection.Enhancement;
39
39
  /**
40
40
  * Only defined if different than the associated skill.
41
41
  */
@@ -0,0 +1,38 @@
1
+ /**
2
+ * The item can be present in multiple pluralization categories; this object
3
+ * unifies handling of them. Not all of the options must be present, however,
4
+ * every possible category for that language should be defined. This means, that
5
+ * different languages may have a different amount of properties defined here.
6
+ * More information on pluralization and the Intl.PluralRules API on
7
+ * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/PluralRules,
8
+ * https://unicode-org.github.io/cldr/ldml/tr35-numbers.html#Language_Plural_Rules and
9
+ * http://cldr.unicode.org/index/cldr-spec/plural-rules.
10
+ *
11
+ * From the third link:
12
+ *
13
+ * > The minimal pairs are those that are required for correct grammar. So
14
+ * > because 0 and 1 don't have to form a minimal pair (it is ok—even though
15
+ * > often not optimal—to say '0 people') , 0 doesn't establish a separate
16
+ * > category. However, implementations are encouraged to provide the ability to
17
+ * > have special plural messages for 0 in particular, so that more natural
18
+ * > language can be used:
19
+ * >
20
+ * > — None of your friends are online.
21
+ * >
22
+ * > rather than
23
+ * >
24
+ * > — You have 0 friends online.
25
+ */
26
+ export declare type PluralizationCategories = {
27
+ zero?: NonEmptyString;
28
+ one?: NonEmptyString;
29
+ two?: NonEmptyString;
30
+ few?: NonEmptyString;
31
+ many?: NonEmptyString;
32
+ other: NonEmptyString;
33
+ };
34
+ /**
35
+ * @minLength 1
36
+ */
37
+ declare type NonEmptyString = string;
38
+ export {};
@@ -0,0 +1 @@
1
+ export {};