optolith-database-schema 0.1.21 → 0.1.22
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.
- package/CHANGELOG.md +7 -0
- package/lib/types/Profession.d.ts +730 -0
- package/lib/types/Profession.js +5 -0
- package/lib/types/_Identifier.d.ts +71 -0
- package/lib/types/_Identifier.js +71 -0
- package/package.json +1 -1
- package/schema/Profession.schema.json +1384 -0
- package/schema/_Identifier.schema.json +147 -0
|
@@ -0,0 +1,730 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Profession
|
|
3
|
+
*/
|
|
4
|
+
import { Errata } from "./source/_Erratum.js";
|
|
5
|
+
import { PublicationRefs } from "./source/_PublicationRef.js";
|
|
6
|
+
import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
|
|
7
|
+
import { CombatTechniqueIdentifier, LiturgyIdentifier, MagicalActionIdentifier, RequirableSelectOptionIdentifier, SpecialAbilityIdentifier, SpellworkIdentifier } from "./_Identifier.js";
|
|
8
|
+
import { ProfessionPrerequisites } from "./_Prerequisite.js";
|
|
9
|
+
/**
|
|
10
|
+
* @title Profession
|
|
11
|
+
*/
|
|
12
|
+
export declare type Profession = {
|
|
13
|
+
/**
|
|
14
|
+
* The profession's identifier. An unique, increasing integer.
|
|
15
|
+
* @integer
|
|
16
|
+
* @minimum 1
|
|
17
|
+
*/
|
|
18
|
+
id: number;
|
|
19
|
+
/**
|
|
20
|
+
* A list of professions representing the same profession but with (slightly)
|
|
21
|
+
* different stats. For example, there may be a profession in a regional
|
|
22
|
+
* sourcebook or in the core rules and a profession in an extension rulebook
|
|
23
|
+
* like Magic of Aventuria, where the profession is basically called the same
|
|
24
|
+
* and almost has the same values, but the version from Magic of Aventuria
|
|
25
|
+
* features a spell style special ability that does not exist in the core
|
|
26
|
+
* rules or regional sourcebook.
|
|
27
|
+
*
|
|
28
|
+
* The profession representation may feature different values for different
|
|
29
|
+
* explicitly mentioned experience levels. In most cases, there is only one
|
|
30
|
+
* stats package, which targets the experience level *Experienced*.
|
|
31
|
+
* @minItems 1
|
|
32
|
+
*/
|
|
33
|
+
representations: ({
|
|
34
|
+
tag: "Experienced";
|
|
35
|
+
/**
|
|
36
|
+
* The profession representation variant's identifier. An unique, increasing
|
|
37
|
+
* integer.
|
|
38
|
+
* @integer
|
|
39
|
+
* @minimum 1
|
|
40
|
+
*/
|
|
41
|
+
id: number;
|
|
42
|
+
package: ProfessionRepresentationVariant;
|
|
43
|
+
src: PublicationRefs;
|
|
44
|
+
} | {
|
|
45
|
+
tag: "ByExperienceLevel";
|
|
46
|
+
/**
|
|
47
|
+
* The profession representation variant's identifier. An unique, increasing
|
|
48
|
+
* integer.
|
|
49
|
+
* @integer
|
|
50
|
+
* @minimum 1
|
|
51
|
+
*/
|
|
52
|
+
id: number;
|
|
53
|
+
packages: {
|
|
54
|
+
/**
|
|
55
|
+
* The experience level this profession targets. The experience level
|
|
56
|
+
* must be unique for this representation.
|
|
57
|
+
* @integer
|
|
58
|
+
* @minimum 1
|
|
59
|
+
* @maximum 7
|
|
60
|
+
* @default 3
|
|
61
|
+
*/
|
|
62
|
+
experience_level_id: number;
|
|
63
|
+
package: ProfessionRepresentationVariant;
|
|
64
|
+
}[];
|
|
65
|
+
src: PublicationRefs;
|
|
66
|
+
})[];
|
|
67
|
+
};
|
|
68
|
+
/**
|
|
69
|
+
* @title Profession Representation Variant
|
|
70
|
+
*/
|
|
71
|
+
export declare type ProfessionRepresentationVariant = {
|
|
72
|
+
/**
|
|
73
|
+
* What does the professional package cost in adventure points?
|
|
74
|
+
* @integer
|
|
75
|
+
* @minimum 0
|
|
76
|
+
*/
|
|
77
|
+
ap_value: number;
|
|
78
|
+
/**
|
|
79
|
+
* Which prerequisites must be met to buy the stat block? For example, a
|
|
80
|
+
* character might need the advantage Spellcaster or Blessed. Note: the AP
|
|
81
|
+
* cost for a profession package does not include these prerequisites.
|
|
82
|
+
*/
|
|
83
|
+
prerequisites?: ProfessionPrerequisites;
|
|
84
|
+
/**
|
|
85
|
+
* @minProperties 1
|
|
86
|
+
*/
|
|
87
|
+
options?: {
|
|
88
|
+
skill_specialization?: SkillSpecializationOptions;
|
|
89
|
+
languages_scripts?: LanguagesScriptsOptions;
|
|
90
|
+
combat_techniques?: CombatTechniquesOptions;
|
|
91
|
+
cantrips?: CantripsOptions;
|
|
92
|
+
curses?: CursesOptions;
|
|
93
|
+
terrain_knowledge?: TerrainKnowledgeOptions;
|
|
94
|
+
skills?: SkillsOptions;
|
|
95
|
+
};
|
|
96
|
+
/**
|
|
97
|
+
* Any special abilities the profession receives from the package.
|
|
98
|
+
*/
|
|
99
|
+
special_abilities?: SpecialAbility[];
|
|
100
|
+
/**
|
|
101
|
+
* Provides ratings for the combat techniques that the hero receives from the
|
|
102
|
+
* package.
|
|
103
|
+
*/
|
|
104
|
+
combat_techniques?: CombatTechnique[];
|
|
105
|
+
/**
|
|
106
|
+
* The skill ratings the package grants to the hero.
|
|
107
|
+
*/
|
|
108
|
+
skills?: Skill[];
|
|
109
|
+
/**
|
|
110
|
+
* The skill ratings a magical profession receives for spells; these spells
|
|
111
|
+
* are considered activated. Spells from an unfamiliar Tradition, if any, are
|
|
112
|
+
* identified as such.
|
|
113
|
+
*/
|
|
114
|
+
spells?: Spell[];
|
|
115
|
+
/**
|
|
116
|
+
* Clerical professions receive these liturgical chants at the listed skill
|
|
117
|
+
* ratings. These liturgical chants are considered activated.
|
|
118
|
+
*/
|
|
119
|
+
liturgical_chants?: LiturgicalChant[];
|
|
120
|
+
/**
|
|
121
|
+
* Typical advantages for the profession.
|
|
122
|
+
* @minItems 1
|
|
123
|
+
*/
|
|
124
|
+
suggested_advantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
125
|
+
/**
|
|
126
|
+
* Typical disadvantages for the profession.
|
|
127
|
+
* @minItems 1
|
|
128
|
+
*/
|
|
129
|
+
suggested_disadvantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
130
|
+
/**
|
|
131
|
+
* These advantages do not fit well with this profession; to be checked with
|
|
132
|
+
* the GM before taking any of them.
|
|
133
|
+
* @minItems 1
|
|
134
|
+
*/
|
|
135
|
+
unsuitable_advantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
136
|
+
/**
|
|
137
|
+
* These disadvantages do not fit well with this profession; to be checked
|
|
138
|
+
* with the GM before taking any of them.
|
|
139
|
+
* @minItems 1
|
|
140
|
+
*/
|
|
141
|
+
unsuitable_disadvantages?: CommonnessRatedAdvantageDisadvantage[];
|
|
142
|
+
/**
|
|
143
|
+
* Provides examples of variants for the profession, which may include changes
|
|
144
|
+
* to AP values and additional or modified skill ratings, special abilities,
|
|
145
|
+
* or combat techniques, as compared to the basic profession. Usually picking
|
|
146
|
+
* a variant is optional, but there are some rare exceptions where picking a
|
|
147
|
+
* variant is required.
|
|
148
|
+
*/
|
|
149
|
+
variants?: {
|
|
150
|
+
tag: "Required";
|
|
151
|
+
/**
|
|
152
|
+
* @minItems 2
|
|
153
|
+
*/
|
|
154
|
+
list: ProfessionVariant[];
|
|
155
|
+
} | {
|
|
156
|
+
tag: "Optional";
|
|
157
|
+
/**
|
|
158
|
+
* @minItems 1
|
|
159
|
+
*/
|
|
160
|
+
list: ProfessionVariant[];
|
|
161
|
+
};
|
|
162
|
+
/**
|
|
163
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
164
|
+
* @minProperties 1
|
|
165
|
+
*/
|
|
166
|
+
translations: {
|
|
167
|
+
/**
|
|
168
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
169
|
+
*/
|
|
170
|
+
[localeId: string]: {
|
|
171
|
+
/**
|
|
172
|
+
* Name of the basic profession.
|
|
173
|
+
* @minLength 1
|
|
174
|
+
*/
|
|
175
|
+
name: string;
|
|
176
|
+
/**
|
|
177
|
+
* Typical advantages for the profession.
|
|
178
|
+
* @minLength 1
|
|
179
|
+
*/
|
|
180
|
+
suggested_advantages?: string;
|
|
181
|
+
/**
|
|
182
|
+
* Typical disadvantages for the profession.
|
|
183
|
+
* @minLength 1
|
|
184
|
+
*/
|
|
185
|
+
suggested_disadvantages?: string;
|
|
186
|
+
/**
|
|
187
|
+
* These advantages do not fit well with this profession; to be checked with
|
|
188
|
+
* the GM before taking any of them.
|
|
189
|
+
* @minLength 1
|
|
190
|
+
*/
|
|
191
|
+
unsuitable_advantages?: string;
|
|
192
|
+
/**
|
|
193
|
+
* These disadvantages do not fit well with this profession; to be checked
|
|
194
|
+
* with the GM before taking any of them.
|
|
195
|
+
* @minLength 1
|
|
196
|
+
*/
|
|
197
|
+
unsuitable_disadvantages?: string;
|
|
198
|
+
errata?: Errata;
|
|
199
|
+
};
|
|
200
|
+
};
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* @title Profession Variant
|
|
204
|
+
*/
|
|
205
|
+
declare type ProfessionVariant = {
|
|
206
|
+
/**
|
|
207
|
+
* The profession variant's identifier. An unique, increasing integer.
|
|
208
|
+
* @integer
|
|
209
|
+
* @minimum 1
|
|
210
|
+
*/
|
|
211
|
+
id: number;
|
|
212
|
+
/**
|
|
213
|
+
* The AP value you have to pay for the package variant.
|
|
214
|
+
* @integer
|
|
215
|
+
*/
|
|
216
|
+
ap_value: number;
|
|
217
|
+
/**
|
|
218
|
+
* Which prerequisites must be met to buy the stat block? For example, a
|
|
219
|
+
* character might need the advantage Spellcaster or Blessed. Note: the AP
|
|
220
|
+
* cost for a profession package does not include these prerequisites.
|
|
221
|
+
*/
|
|
222
|
+
prerequisites?: ProfessionPrerequisites;
|
|
223
|
+
/**
|
|
224
|
+
* @minProperties 1
|
|
225
|
+
*/
|
|
226
|
+
options?: {
|
|
227
|
+
skill_specialization?: VariantOptionAction<SkillSpecializationOptions>;
|
|
228
|
+
languages_scripts?: VariantOptionAction<LanguagesScriptsOptions>;
|
|
229
|
+
combat_techniques?: VariantOptionAction<CombatTechniquesOptions>;
|
|
230
|
+
cantrips?: VariantOptionAction<CantripsOptions>;
|
|
231
|
+
curses?: VariantOptionAction<CursesOptions>;
|
|
232
|
+
terrain_knowledge?: VariantOptionAction<TerrainKnowledgeOptions>;
|
|
233
|
+
skills?: VariantOptionAction<SkillsOptions>;
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* Any special abilities the profession receives from the package variant.
|
|
237
|
+
*/
|
|
238
|
+
special_abilities?: VariantSpecialAbility[];
|
|
239
|
+
/**
|
|
240
|
+
* Provides ratings for the combat techniques that the hero receives from the
|
|
241
|
+
* package variant.
|
|
242
|
+
*/
|
|
243
|
+
combat_techniques?: VariantCombatTechnique[];
|
|
244
|
+
/**
|
|
245
|
+
* The skill ratings the package variant grants to the hero.
|
|
246
|
+
*/
|
|
247
|
+
skills?: VariantSkill[];
|
|
248
|
+
/**
|
|
249
|
+
* The skill ratings a magical profession variant receives for spells; these
|
|
250
|
+
* spells are considered activated. Spells from an unfamiliar Tradition, if
|
|
251
|
+
* any, are identified as such.
|
|
252
|
+
*/
|
|
253
|
+
spells?: VariantSpell[];
|
|
254
|
+
/**
|
|
255
|
+
* Clerical professions receive these liturgical chants at the listed skill
|
|
256
|
+
* ratings. These liturgical chants are considered activated.
|
|
257
|
+
*/
|
|
258
|
+
liturgical_chants?: VariantLiturgicalChant[];
|
|
259
|
+
/**
|
|
260
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
261
|
+
* @minProperties 1
|
|
262
|
+
*/
|
|
263
|
+
translations: {
|
|
264
|
+
/**
|
|
265
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
266
|
+
*/
|
|
267
|
+
[localeId: string]: {
|
|
268
|
+
/**
|
|
269
|
+
* Name of the profession variant.
|
|
270
|
+
* @minLength 1
|
|
271
|
+
*/
|
|
272
|
+
name: string;
|
|
273
|
+
};
|
|
274
|
+
};
|
|
275
|
+
};
|
|
276
|
+
declare type SpecialAbility = {
|
|
277
|
+
tag: "Fixed";
|
|
278
|
+
/**
|
|
279
|
+
* The identifier of the combat technique to provide the rating for.
|
|
280
|
+
*/
|
|
281
|
+
id: SpecialAbilityIdentifier;
|
|
282
|
+
/**
|
|
283
|
+
* The level of the received special ability.
|
|
284
|
+
* @integer
|
|
285
|
+
* @minimum 1
|
|
286
|
+
*/
|
|
287
|
+
level?: number;
|
|
288
|
+
/**
|
|
289
|
+
* Received select options. Order is important. Typically, you only need the
|
|
290
|
+
* first array index, though.
|
|
291
|
+
* @minItems 1
|
|
292
|
+
*/
|
|
293
|
+
options?: RequirableSelectOptionIdentifier[];
|
|
294
|
+
} | {
|
|
295
|
+
tag: "Selection";
|
|
296
|
+
/**
|
|
297
|
+
* @minItems 2
|
|
298
|
+
*/
|
|
299
|
+
options: {
|
|
300
|
+
/**
|
|
301
|
+
* The identifier of the combat technique to provide the rating for.
|
|
302
|
+
*/
|
|
303
|
+
id: SpecialAbilityIdentifier;
|
|
304
|
+
/**
|
|
305
|
+
* The level of the received special ability.
|
|
306
|
+
* @integer
|
|
307
|
+
* @minimum 1
|
|
308
|
+
*/
|
|
309
|
+
level?: number;
|
|
310
|
+
/**
|
|
311
|
+
* Received select options. Order is important. Typically, you only need the
|
|
312
|
+
* first array index, though.
|
|
313
|
+
* @minItems 1
|
|
314
|
+
*/
|
|
315
|
+
options?: RequirableSelectOptionIdentifier[];
|
|
316
|
+
}[];
|
|
317
|
+
};
|
|
318
|
+
declare type VariantSpecialAbility = {
|
|
319
|
+
tag: "Fixed";
|
|
320
|
+
/**
|
|
321
|
+
* The identifier of the combat technique to provide the rating for.
|
|
322
|
+
*/
|
|
323
|
+
id: SpecialAbilityIdentifier;
|
|
324
|
+
/**
|
|
325
|
+
* if set to `false`, if the entry is granted by the basic package, it is
|
|
326
|
+
* removed.
|
|
327
|
+
*/
|
|
328
|
+
active?: false;
|
|
329
|
+
/**
|
|
330
|
+
* The level of the received special ability.
|
|
331
|
+
* @integer
|
|
332
|
+
* @minimum 1
|
|
333
|
+
*/
|
|
334
|
+
level?: number;
|
|
335
|
+
/**
|
|
336
|
+
* Received select options. Order is important. Typically, you only need the
|
|
337
|
+
* first array index, though.
|
|
338
|
+
* @minItems 1
|
|
339
|
+
*/
|
|
340
|
+
options?: RequirableSelectOptionIdentifier[];
|
|
341
|
+
} | {
|
|
342
|
+
tag: "Selection";
|
|
343
|
+
/**
|
|
344
|
+
* if set to `false`, if the selection is granted by the basic package, it
|
|
345
|
+
* is removed.
|
|
346
|
+
*/
|
|
347
|
+
active?: false;
|
|
348
|
+
/**
|
|
349
|
+
* @minItems 2
|
|
350
|
+
*/
|
|
351
|
+
options: {
|
|
352
|
+
/**
|
|
353
|
+
* The identifier of the combat technique to provide the rating for.
|
|
354
|
+
*/
|
|
355
|
+
id: SpecialAbilityIdentifier;
|
|
356
|
+
/**
|
|
357
|
+
* The level of the received special ability.
|
|
358
|
+
* @integer
|
|
359
|
+
* @minimum 1
|
|
360
|
+
*/
|
|
361
|
+
level?: number;
|
|
362
|
+
/**
|
|
363
|
+
* Received select options. Order is important. Typically, you only need the
|
|
364
|
+
* first array index, though.
|
|
365
|
+
* @minItems 1
|
|
366
|
+
*/
|
|
367
|
+
options?: RequirableSelectOptionIdentifier[];
|
|
368
|
+
}[];
|
|
369
|
+
};
|
|
370
|
+
declare type CombatTechnique = {
|
|
371
|
+
/**
|
|
372
|
+
* The identifier of the combat technique to provide the rating for.
|
|
373
|
+
*/
|
|
374
|
+
id: CombatTechniqueIdentifier;
|
|
375
|
+
/**
|
|
376
|
+
* The rating provided for the combat technique.
|
|
377
|
+
* @integer
|
|
378
|
+
* @minimum 7
|
|
379
|
+
*/
|
|
380
|
+
rating: number;
|
|
381
|
+
};
|
|
382
|
+
declare type VariantCombatTechnique = {
|
|
383
|
+
/**
|
|
384
|
+
* The identifier of the combat technique to provide the rating for.
|
|
385
|
+
*/
|
|
386
|
+
id: CombatTechniqueIdentifier;
|
|
387
|
+
/**
|
|
388
|
+
* The rating provided for the combat technique. It overrides the basic
|
|
389
|
+
* package's rating.
|
|
390
|
+
* @integer
|
|
391
|
+
* @minimum 6
|
|
392
|
+
*/
|
|
393
|
+
rating: number;
|
|
394
|
+
};
|
|
395
|
+
declare type Skill = {
|
|
396
|
+
/**
|
|
397
|
+
* The identifier of the skill to provide the rating for.
|
|
398
|
+
* @integer
|
|
399
|
+
* @minimum 1
|
|
400
|
+
* @maximum 59
|
|
401
|
+
*/
|
|
402
|
+
id: number;
|
|
403
|
+
/**
|
|
404
|
+
* The rating provided for the skill.
|
|
405
|
+
* @integer
|
|
406
|
+
* @minimum 1
|
|
407
|
+
*/
|
|
408
|
+
rating: number;
|
|
409
|
+
};
|
|
410
|
+
declare type VariantSkill = {
|
|
411
|
+
/**
|
|
412
|
+
* The identifier of the skill to provide the rating for.
|
|
413
|
+
* @integer
|
|
414
|
+
* @minimum 1
|
|
415
|
+
* @maximum 59
|
|
416
|
+
*/
|
|
417
|
+
id: number;
|
|
418
|
+
/**
|
|
419
|
+
* The rating provided for the skill. It overrides the basic package's rating.
|
|
420
|
+
* @integer
|
|
421
|
+
* @minimum 0
|
|
422
|
+
*/
|
|
423
|
+
rating: number;
|
|
424
|
+
};
|
|
425
|
+
declare type Spell = {
|
|
426
|
+
tag: "Fixed";
|
|
427
|
+
/**
|
|
428
|
+
* The identifier of the spell to provide the rating for.
|
|
429
|
+
*/
|
|
430
|
+
id: SpellIdentifier;
|
|
431
|
+
/**
|
|
432
|
+
* The rating provided for the spell.
|
|
433
|
+
* @integer
|
|
434
|
+
* @minimum 1
|
|
435
|
+
*/
|
|
436
|
+
rating: number;
|
|
437
|
+
} | {
|
|
438
|
+
tag: "Selection";
|
|
439
|
+
/**
|
|
440
|
+
* The identifiers of the spells to choose from to provide the rating for.
|
|
441
|
+
* @minItems 2
|
|
442
|
+
*/
|
|
443
|
+
id: SpellIdentifier[];
|
|
444
|
+
/**
|
|
445
|
+
* The rating provided for the selected spell.
|
|
446
|
+
* @integer
|
|
447
|
+
* @minimum 1
|
|
448
|
+
*/
|
|
449
|
+
rating: number;
|
|
450
|
+
};
|
|
451
|
+
declare type VariantSpell = {
|
|
452
|
+
tag: "Fixed";
|
|
453
|
+
/**
|
|
454
|
+
* The identifier of the spell to provide the rating for.
|
|
455
|
+
*/
|
|
456
|
+
id: SpellIdentifier;
|
|
457
|
+
/**
|
|
458
|
+
* The rating provided for the spell. It overrides the basic package's
|
|
459
|
+
* rating.
|
|
460
|
+
* @integer
|
|
461
|
+
* @minimum 0
|
|
462
|
+
*/
|
|
463
|
+
rating: number;
|
|
464
|
+
} | {
|
|
465
|
+
tag: "Selection";
|
|
466
|
+
/**
|
|
467
|
+
* The identifiers of the spells to choose from to provide the rating for.
|
|
468
|
+
* @minItems 2
|
|
469
|
+
*/
|
|
470
|
+
id: SpellIdentifier[];
|
|
471
|
+
/**
|
|
472
|
+
* The rating provided for the selected spell. It overrides the basic
|
|
473
|
+
* package's rating.
|
|
474
|
+
* @integer
|
|
475
|
+
* @minimum 0
|
|
476
|
+
*/
|
|
477
|
+
rating: number;
|
|
478
|
+
};
|
|
479
|
+
declare type SpellIdentifier = {
|
|
480
|
+
tag: "Spellwork";
|
|
481
|
+
/**
|
|
482
|
+
* The identifier of the spell to provide the rating for.
|
|
483
|
+
*/
|
|
484
|
+
id: SpellworkIdentifier;
|
|
485
|
+
/**
|
|
486
|
+
* If the spell is not part of the magical tradition required by the
|
|
487
|
+
* package, this references the magical tradition it is part of. It can also
|
|
488
|
+
* be used to define the target magical tradition of a spell if multiple
|
|
489
|
+
* magical traditions are required and the spell is available to multiple
|
|
490
|
+
* of them.
|
|
491
|
+
*/
|
|
492
|
+
tradition?: {
|
|
493
|
+
/**
|
|
494
|
+
* The unfamiliar or ambiguous magical tradition's identifier.
|
|
495
|
+
*/
|
|
496
|
+
id: number;
|
|
497
|
+
};
|
|
498
|
+
} | {
|
|
499
|
+
tag: "MagicalAction";
|
|
500
|
+
/**
|
|
501
|
+
* The identifier of the magical action to provide the rating for.
|
|
502
|
+
*/
|
|
503
|
+
id: MagicalActionIdentifier;
|
|
504
|
+
};
|
|
505
|
+
declare type LiturgicalChant = {
|
|
506
|
+
tag: "Fixed";
|
|
507
|
+
/**
|
|
508
|
+
* The identifier of the liturgical chant to provide the rating for.
|
|
509
|
+
*/
|
|
510
|
+
id: LiturgyIdentifier;
|
|
511
|
+
/**
|
|
512
|
+
* The rating provided for the liturgical chant.
|
|
513
|
+
* @integer
|
|
514
|
+
* @minimum 1
|
|
515
|
+
*/
|
|
516
|
+
rating: number;
|
|
517
|
+
} | {
|
|
518
|
+
tag: "Selection";
|
|
519
|
+
/**
|
|
520
|
+
* The identifiers of the liturgical chants to choose from to provide the
|
|
521
|
+
* rating for.
|
|
522
|
+
* @minItems 2
|
|
523
|
+
*/
|
|
524
|
+
id: LiturgyIdentifier[];
|
|
525
|
+
/**
|
|
526
|
+
* The rating provided for the selected liturgical chant.
|
|
527
|
+
* @integer
|
|
528
|
+
* @minimum 1
|
|
529
|
+
*/
|
|
530
|
+
rating: number;
|
|
531
|
+
};
|
|
532
|
+
declare type VariantLiturgicalChant = {
|
|
533
|
+
tag: "Fixed";
|
|
534
|
+
/**
|
|
535
|
+
* The identifier of the liturgical chant to provide the rating for.
|
|
536
|
+
*/
|
|
537
|
+
id: LiturgyIdentifier;
|
|
538
|
+
/**
|
|
539
|
+
* The rating provided for the liturgical chant. It overrides the basic
|
|
540
|
+
* package's rating.
|
|
541
|
+
* @integer
|
|
542
|
+
* @minimum 0
|
|
543
|
+
*/
|
|
544
|
+
rating: number;
|
|
545
|
+
} | {
|
|
546
|
+
tag: "Selection";
|
|
547
|
+
/**
|
|
548
|
+
* The identifiers of the liturgical chants to choose from to provide the
|
|
549
|
+
* rating for.
|
|
550
|
+
* @minItems 2
|
|
551
|
+
*/
|
|
552
|
+
id: LiturgyIdentifier[];
|
|
553
|
+
/**
|
|
554
|
+
* The rating provided for the selected liturgical chant. It overrides the
|
|
555
|
+
* basic package's rating.
|
|
556
|
+
* @integer
|
|
557
|
+
* @minimum 0
|
|
558
|
+
*/
|
|
559
|
+
rating: number;
|
|
560
|
+
};
|
|
561
|
+
declare type VariantOptionAction<T> = {
|
|
562
|
+
tag: "Remove";
|
|
563
|
+
} | {
|
|
564
|
+
tag: "Override";
|
|
565
|
+
value: T;
|
|
566
|
+
};
|
|
567
|
+
/**
|
|
568
|
+
* Select an application from a skill or from one of a list of skills where you
|
|
569
|
+
* get a skill specialization for. You can also specify a skill groups from
|
|
570
|
+
* which you can choose a skill.
|
|
571
|
+
*/
|
|
572
|
+
declare type SkillSpecializationOptions = {
|
|
573
|
+
tag: "Single";
|
|
574
|
+
/**
|
|
575
|
+
* The referenced skill's identifier.
|
|
576
|
+
* @integer
|
|
577
|
+
* @minimum 1
|
|
578
|
+
*/
|
|
579
|
+
id: number;
|
|
580
|
+
} | {
|
|
581
|
+
tag: "Selection";
|
|
582
|
+
/**
|
|
583
|
+
* Possible skills to get a skill specialization for.
|
|
584
|
+
* @minItems 2
|
|
585
|
+
*/
|
|
586
|
+
options: {
|
|
587
|
+
/**
|
|
588
|
+
* The referenced skill's identifier.
|
|
589
|
+
* @integer
|
|
590
|
+
* @minimum 1
|
|
591
|
+
*/
|
|
592
|
+
id: number;
|
|
593
|
+
}[];
|
|
594
|
+
} | {
|
|
595
|
+
tag: "Group";
|
|
596
|
+
/**
|
|
597
|
+
* The referenced skill group's identifier.
|
|
598
|
+
* @integer
|
|
599
|
+
* @minimum 1
|
|
600
|
+
* @maximum 5
|
|
601
|
+
*/
|
|
602
|
+
id: number;
|
|
603
|
+
};
|
|
604
|
+
/**
|
|
605
|
+
* Buy languages and scripts for a specific amount of AP.
|
|
606
|
+
*/
|
|
607
|
+
declare type LanguagesScriptsOptions = {
|
|
608
|
+
/**
|
|
609
|
+
* The AP value you can buy languages and scripts for.
|
|
610
|
+
* @integer
|
|
611
|
+
* @minimum 2
|
|
612
|
+
* @multipleOf 2
|
|
613
|
+
*/
|
|
614
|
+
ap_value: number;
|
|
615
|
+
};
|
|
616
|
+
/**
|
|
617
|
+
* Select one or more combat techniques you get a CtR bonus for.
|
|
618
|
+
*/
|
|
619
|
+
declare type CombatTechniquesOptions = {
|
|
620
|
+
/**
|
|
621
|
+
* Specify the number of combat techniques that can be selected so that they
|
|
622
|
+
* get increased to a specific CtR. There can be multiple selections with
|
|
623
|
+
* different CtRs.
|
|
624
|
+
* @minItems 1
|
|
625
|
+
*/
|
|
626
|
+
fixed: {
|
|
627
|
+
/**
|
|
628
|
+
* The number of selectable combat techniques.
|
|
629
|
+
* @integer
|
|
630
|
+
* @minimum 1
|
|
631
|
+
*/
|
|
632
|
+
number: number;
|
|
633
|
+
/**
|
|
634
|
+
* The rating provided for the selected combat technique(s).
|
|
635
|
+
* @integer
|
|
636
|
+
* @minimum 7
|
|
637
|
+
*/
|
|
638
|
+
rating: number;
|
|
639
|
+
}[];
|
|
640
|
+
/**
|
|
641
|
+
* Define if after the fixed selections the remaining unselected combat
|
|
642
|
+
* techniques will receive a certain rating as well.
|
|
643
|
+
* @integer
|
|
644
|
+
* @minimum 7
|
|
645
|
+
*/
|
|
646
|
+
rest_rating?: number;
|
|
647
|
+
/**
|
|
648
|
+
* The list of combat techniques to choose from.
|
|
649
|
+
* @minItems 2
|
|
650
|
+
*/
|
|
651
|
+
options: {
|
|
652
|
+
/**
|
|
653
|
+
* The combat technique's identifier.
|
|
654
|
+
*/
|
|
655
|
+
id: CombatTechniqueIdentifier;
|
|
656
|
+
}[];
|
|
657
|
+
};
|
|
658
|
+
/**
|
|
659
|
+
* Select one or more cantrips you receive.
|
|
660
|
+
*/
|
|
661
|
+
declare type CantripsOptions = {
|
|
662
|
+
/**
|
|
663
|
+
* The number of selectable cantrips.
|
|
664
|
+
* @integer
|
|
665
|
+
* @minimum 1
|
|
666
|
+
*/
|
|
667
|
+
number: number;
|
|
668
|
+
/**
|
|
669
|
+
* The list of cantrips to choose from.
|
|
670
|
+
* @minItems 2
|
|
671
|
+
*/
|
|
672
|
+
options: {
|
|
673
|
+
/**
|
|
674
|
+
* The cantrip's identifier.
|
|
675
|
+
* @integer
|
|
676
|
+
* @minimum 1
|
|
677
|
+
*/
|
|
678
|
+
id: number;
|
|
679
|
+
}[];
|
|
680
|
+
};
|
|
681
|
+
/**
|
|
682
|
+
* Buy curses for a specific amount of AP.
|
|
683
|
+
*/
|
|
684
|
+
declare type CursesOptions = {
|
|
685
|
+
/**
|
|
686
|
+
* The AP value you can buy curses for.
|
|
687
|
+
* @integer
|
|
688
|
+
* @minimum 2
|
|
689
|
+
* @multipleOf 2
|
|
690
|
+
*/
|
|
691
|
+
ap_value: number;
|
|
692
|
+
};
|
|
693
|
+
/**
|
|
694
|
+
* Select one of a list of possible terrain knowledges
|
|
695
|
+
*/
|
|
696
|
+
declare type TerrainKnowledgeOptions = {
|
|
697
|
+
/**
|
|
698
|
+
* The list of possible terrain knowledges.
|
|
699
|
+
* @minItems 2
|
|
700
|
+
*/
|
|
701
|
+
options: {
|
|
702
|
+
/**
|
|
703
|
+
* The terrain knowledge option's identifier.
|
|
704
|
+
* @integer
|
|
705
|
+
* @minimum 1
|
|
706
|
+
* @maximum 10
|
|
707
|
+
*/
|
|
708
|
+
id: number;
|
|
709
|
+
}[];
|
|
710
|
+
};
|
|
711
|
+
/**
|
|
712
|
+
* Buy skills for a specific amount of AP.
|
|
713
|
+
*/
|
|
714
|
+
declare type SkillsOptions = {
|
|
715
|
+
/**
|
|
716
|
+
* If specified, you may only choose from skills of the specified group.
|
|
717
|
+
* @integer
|
|
718
|
+
* @minimum 1
|
|
719
|
+
* @maximum 1
|
|
720
|
+
*/
|
|
721
|
+
group_id?: number;
|
|
722
|
+
/**
|
|
723
|
+
* The AP value you can buy skills for.
|
|
724
|
+
* @integer
|
|
725
|
+
* @minimum 1
|
|
726
|
+
*/
|
|
727
|
+
ap_value: number;
|
|
728
|
+
};
|
|
729
|
+
export declare const validateSchema: import("../validation/schema.js").TypeValidator<Profession>;
|
|
730
|
+
export {};
|