optolith-database-schema 0.1.28 → 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/lib/types/_Activatable.d.ts +153 -114
- package/lib/types/_Activatable.js +0 -9
- package/lib/types/_Identifier.d.ts +10 -2
- package/lib/types/_Identifier.js +10 -3
- package/package.json +1 -1
- package/schema/_Activatable.schema.json +435 -279
- package/schema/_Identifier.schema.json +27 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,15 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [0.2.0](https://github.com/elyukai/optolith-database-schema/compare/v0.1.28...v0.2.0) (2022-03-29)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### ⚠ BREAKING CHANGES
|
|
9
|
+
|
|
10
|
+
* derived select options are not a list anymore
|
|
11
|
+
|
|
12
|
+
* derived select options are not a list anymore ([fa64a60](https://github.com/elyukai/optolith-database-schema/commit/fa64a60670f0cdf5567a168f3a4eccd7ea71d367))
|
|
13
|
+
|
|
5
14
|
### [0.1.28](https://github.com/elyukai/optolith-database-schema/compare/v0.1.27...v0.1.28) (2022-03-25)
|
|
6
15
|
|
|
7
16
|
|
|
@@ -6,7 +6,7 @@ import { DisplayOption } from "./prerequisites/DisplayOption.js";
|
|
|
6
6
|
import { Errata } from "./source/_Erratum.js";
|
|
7
7
|
import { PublicationRefs } from "./source/_PublicationRef.js";
|
|
8
8
|
import { Duration } from "./_ActivatableSkill.js";
|
|
9
|
-
import { ActivatableIdentifier, AdvancedSpecialAbilityRestrictedOptionIdentifier, CombatRelatedSpecialAbilityIdentifier, CombatTechniqueIdentifier, MagicalTraditionIdentifier, PatronIdentifier, VolumePointsOptionReferenceIdentifier } from "./_Identifier.js";
|
|
9
|
+
import { ActivatableIdentifier, AdvancedSpecialAbilityRestrictedOptionIdentifier, CombatRelatedSpecialAbilityIdentifier, CombatTechniqueIdentifier, CombatTechniqueTag, MagicalTraditionIdentifier, PatronIdentifier, SkillIdentifier, SkillWithEnhancementsTag, VolumePointsOptionReferenceIdentifier } from "./_Identifier.js";
|
|
10
10
|
import { GeneralPrerequisites } from "./_Prerequisite.js";
|
|
11
11
|
/**
|
|
12
12
|
* The activatable entry's identifier. An unique, increasing integer.
|
|
@@ -62,13 +62,13 @@ export declare type Maximum = number;
|
|
|
62
62
|
*/
|
|
63
63
|
export declare type SelectOptions = {
|
|
64
64
|
/**
|
|
65
|
-
*
|
|
65
|
+
* An entry category with optional further configuration. All available
|
|
66
66
|
* entries from the specified categories will be included as separate select
|
|
67
67
|
* options. You can also specify a set of groups that should only be
|
|
68
68
|
* included. Groups not mentioned will be excluded then.
|
|
69
69
|
* @minItems 1
|
|
70
70
|
*/
|
|
71
|
-
derived?: CategoryOption
|
|
71
|
+
derived?: CategoryOption;
|
|
72
72
|
/**
|
|
73
73
|
* A list of explicit select options. If the identifier has a specific type,
|
|
74
74
|
* its entry is the base of this select option, where values defined here
|
|
@@ -204,107 +204,146 @@ declare type CategoryOption = {
|
|
|
204
204
|
} | {
|
|
205
205
|
tag: "Skills";
|
|
206
206
|
/**
|
|
207
|
-
*
|
|
207
|
+
* A list of skill categories.
|
|
208
208
|
* @minItems 1
|
|
209
209
|
*/
|
|
210
|
-
|
|
210
|
+
categories: ({
|
|
211
|
+
tag: "Skills";
|
|
211
212
|
/**
|
|
212
|
-
*
|
|
213
|
-
* @integer
|
|
214
|
-
* @minimum 1
|
|
215
|
-
* @maximum 5
|
|
216
|
-
*/
|
|
217
|
-
id: number;
|
|
218
|
-
}[];
|
|
219
|
-
/**
|
|
220
|
-
* Only include (`Intersection`) or exclude (`Difference`) specific skills.
|
|
221
|
-
*/
|
|
222
|
-
specific?: {
|
|
223
|
-
operation: {
|
|
224
|
-
tag: "Intersection";
|
|
225
|
-
} | {
|
|
226
|
-
tag: "Difference";
|
|
227
|
-
};
|
|
228
|
-
/**
|
|
229
|
-
* The list of specific skills.
|
|
213
|
+
* Only include entries of the specified groups.
|
|
230
214
|
* @minItems 1
|
|
231
|
-
* @uniqueItems
|
|
232
215
|
*/
|
|
233
|
-
|
|
216
|
+
groups?: {
|
|
234
217
|
/**
|
|
235
|
-
* The skill's identifier.
|
|
218
|
+
* The skill group's identifier.
|
|
236
219
|
* @integer
|
|
237
220
|
* @minimum 1
|
|
238
|
-
* @maximum
|
|
221
|
+
* @maximum 5
|
|
239
222
|
*/
|
|
240
223
|
id: number;
|
|
241
224
|
}[];
|
|
242
|
-
};
|
|
243
|
-
/**
|
|
244
|
-
* Registers new applications, which get enabled once this entry is
|
|
245
|
-
* activated with its respective select option. It specifies an entry-unique
|
|
246
|
-
* identifier, the skill it belongs to is derived from the select option
|
|
247
|
-
* automatically. A translation can be left out if its name equals the name
|
|
248
|
-
* of the origin entry.
|
|
249
|
-
* @minItems 1
|
|
250
|
-
*/
|
|
251
|
-
skill_applications?: {
|
|
252
225
|
/**
|
|
253
|
-
*
|
|
254
|
-
*
|
|
255
|
-
* @minimum 1
|
|
226
|
+
* Only include (`Intersection`) or exclude (`Difference`) specific
|
|
227
|
+
* skills.
|
|
256
228
|
*/
|
|
257
|
-
|
|
229
|
+
specific?: {
|
|
230
|
+
operation: {
|
|
231
|
+
tag: "Intersection";
|
|
232
|
+
} | {
|
|
233
|
+
tag: "Difference";
|
|
234
|
+
};
|
|
235
|
+
/**
|
|
236
|
+
* The list of specific skills.
|
|
237
|
+
* @minItems 1
|
|
238
|
+
* @uniqueItems
|
|
239
|
+
*/
|
|
240
|
+
list: {
|
|
241
|
+
/**
|
|
242
|
+
* The skill's identifier.
|
|
243
|
+
* @integer
|
|
244
|
+
* @minimum 1
|
|
245
|
+
* @maximum 59
|
|
246
|
+
*/
|
|
247
|
+
id: number;
|
|
248
|
+
}[];
|
|
249
|
+
};
|
|
258
250
|
/**
|
|
259
|
-
*
|
|
260
|
-
*
|
|
251
|
+
* Registers new applications, which get enabled once this entry is
|
|
252
|
+
* activated with its respective select option. It specifies an
|
|
253
|
+
* entry-unique identifier, the skill it belongs to is derived from the
|
|
254
|
+
* select option automatically. A translation can be left out if its
|
|
255
|
+
* name equals the name of the origin entry.
|
|
256
|
+
* @minItems 1
|
|
261
257
|
*/
|
|
262
|
-
|
|
258
|
+
skill_applications?: {
|
|
263
259
|
/**
|
|
264
|
-
*
|
|
260
|
+
* The application's identifier. An entry-unique, increasing integer.
|
|
261
|
+
* @integer
|
|
262
|
+
* @minimum 1
|
|
265
263
|
*/
|
|
266
|
-
|
|
264
|
+
id: number;
|
|
265
|
+
/**
|
|
266
|
+
* All translations for the entry, identified by IETF language tag
|
|
267
|
+
* (BCP47).
|
|
268
|
+
* @minProperties 1
|
|
269
|
+
*/
|
|
270
|
+
translations?: {
|
|
267
271
|
/**
|
|
268
|
-
*
|
|
269
|
-
* name.
|
|
270
|
-
* @minLength 1
|
|
272
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
271
273
|
*/
|
|
272
|
-
|
|
274
|
+
[localeId: string]: {
|
|
275
|
+
/**
|
|
276
|
+
* The name of the application if different from the activatable
|
|
277
|
+
* entry's
|
|
278
|
+
* name.
|
|
279
|
+
* @minLength 1
|
|
280
|
+
*/
|
|
281
|
+
name: string;
|
|
282
|
+
};
|
|
273
283
|
};
|
|
274
|
-
};
|
|
275
|
-
}[];
|
|
276
|
-
/**
|
|
277
|
-
* Registers uses, which get enabled once this entry is activated with its
|
|
278
|
-
* respective select option. It specifies an entry-unique identifier, the
|
|
279
|
-
* skill it belongs to is derived from the select option automatically. A
|
|
280
|
-
* translation can be left out if its name equals the name of the origin
|
|
281
|
-
* entry.
|
|
282
|
-
* @minItems 1
|
|
283
|
-
*/
|
|
284
|
-
skill_uses?: {
|
|
284
|
+
}[];
|
|
285
285
|
/**
|
|
286
|
-
*
|
|
287
|
-
*
|
|
288
|
-
*
|
|
286
|
+
* Registers uses, which get enabled once this entry is activated with
|
|
287
|
+
* its respective select option. It specifies an entry-unique
|
|
288
|
+
* identifier, the skill it belongs to is derived from the select option
|
|
289
|
+
* automatically. A translation can be left out if its name equals the
|
|
290
|
+
* name of the origin entry.
|
|
291
|
+
* @minItems 1
|
|
289
292
|
*/
|
|
290
|
-
|
|
293
|
+
skill_uses?: {
|
|
294
|
+
/**
|
|
295
|
+
* The use's identifier. An entry-unique, increasing integer.
|
|
296
|
+
* @integer
|
|
297
|
+
* @minimum 1
|
|
298
|
+
*/
|
|
299
|
+
id: number;
|
|
300
|
+
/**
|
|
301
|
+
* All translations for the entry, identified by IETF language tag
|
|
302
|
+
* (BCP47).
|
|
303
|
+
* @minProperties 1
|
|
304
|
+
*/
|
|
305
|
+
translations?: {
|
|
306
|
+
/**
|
|
307
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
308
|
+
*/
|
|
309
|
+
[localeId: string]: {
|
|
310
|
+
/**
|
|
311
|
+
* The name of the use if different from the activatable entry's
|
|
312
|
+
* name.
|
|
313
|
+
* @minLength 1
|
|
314
|
+
*/
|
|
315
|
+
name: string;
|
|
316
|
+
};
|
|
317
|
+
};
|
|
318
|
+
}[];
|
|
319
|
+
} | {
|
|
320
|
+
tag: SkillWithEnhancementsTag;
|
|
291
321
|
/**
|
|
292
|
-
*
|
|
293
|
-
*
|
|
322
|
+
* Only include (`Intersection`) or exclude (`Difference`) specific
|
|
323
|
+
* entries.
|
|
294
324
|
*/
|
|
295
|
-
|
|
325
|
+
specific?: {
|
|
326
|
+
operation: {
|
|
327
|
+
tag: "Intersection";
|
|
328
|
+
} | {
|
|
329
|
+
tag: "Difference";
|
|
330
|
+
};
|
|
296
331
|
/**
|
|
297
|
-
*
|
|
332
|
+
* The list of specific entries.
|
|
333
|
+
* @minItems 1
|
|
334
|
+
* @uniqueItems
|
|
298
335
|
*/
|
|
299
|
-
|
|
336
|
+
list: {
|
|
300
337
|
/**
|
|
301
|
-
* The
|
|
302
|
-
* @
|
|
338
|
+
* The entry's identifier.
|
|
339
|
+
* @integer
|
|
340
|
+
* @minimum 1
|
|
341
|
+
* @maximum 59
|
|
303
342
|
*/
|
|
304
|
-
|
|
305
|
-
};
|
|
343
|
+
id: number;
|
|
344
|
+
}[];
|
|
306
345
|
};
|
|
307
|
-
}[];
|
|
346
|
+
})[];
|
|
308
347
|
/**
|
|
309
348
|
* Generate prerequisites for each entry of the category.
|
|
310
349
|
* @minItems 1
|
|
@@ -313,51 +352,51 @@ declare type CategoryOption = {
|
|
|
313
352
|
/**
|
|
314
353
|
* Generate AP values for each entry.
|
|
315
354
|
*/
|
|
316
|
-
ap_value?: OptionSkillDeriveAdventurePointsValue
|
|
317
|
-
|
|
318
|
-
tag: NonSkillSkillCategory;
|
|
319
|
-
/**
|
|
320
|
-
* Only include (`Intersection`) or exclude (`Difference`) specific entries.
|
|
321
|
-
*/
|
|
322
|
-
specific?: {
|
|
323
|
-
operation: {
|
|
324
|
-
tag: "Intersection";
|
|
325
|
-
} | {
|
|
326
|
-
tag: "Difference";
|
|
327
|
-
};
|
|
355
|
+
ap_value?: OptionSkillDeriveAdventurePointsValue<SkillIdentifier> | {
|
|
356
|
+
tag: "CombatTechniques";
|
|
328
357
|
/**
|
|
329
|
-
*
|
|
358
|
+
* A list of combat technique categories.
|
|
330
359
|
* @minItems 1
|
|
331
|
-
* @uniqueItems
|
|
332
360
|
*/
|
|
333
|
-
|
|
361
|
+
categories: {
|
|
362
|
+
tag: CombatTechniqueTag;
|
|
334
363
|
/**
|
|
335
|
-
*
|
|
336
|
-
*
|
|
337
|
-
* @minimum 1
|
|
338
|
-
* @maximum 59
|
|
364
|
+
* Only include (`Intersection`) or exclude (`Difference`) specific
|
|
365
|
+
* entries.
|
|
339
366
|
*/
|
|
340
|
-
|
|
367
|
+
specific?: {
|
|
368
|
+
operation: {
|
|
369
|
+
tag: "Intersection";
|
|
370
|
+
} | {
|
|
371
|
+
tag: "Difference";
|
|
372
|
+
};
|
|
373
|
+
/**
|
|
374
|
+
* The list of specific entries.
|
|
375
|
+
* @minItems 1
|
|
376
|
+
* @uniqueItems
|
|
377
|
+
*/
|
|
378
|
+
list: {
|
|
379
|
+
/**
|
|
380
|
+
* The entry's identifier.
|
|
381
|
+
* @integer
|
|
382
|
+
* @minimum 1
|
|
383
|
+
* @maximum 59
|
|
384
|
+
*/
|
|
385
|
+
id: number;
|
|
386
|
+
}[];
|
|
387
|
+
};
|
|
341
388
|
}[];
|
|
389
|
+
/**
|
|
390
|
+
* Generate prerequisites for each entry of the category.
|
|
391
|
+
* @minItems 1
|
|
392
|
+
*/
|
|
393
|
+
prerequisites?: (OptionSkillSelfPrerequisite | OptionOptionPrerequisite)[];
|
|
394
|
+
/**
|
|
395
|
+
* Generate AP values for each entry.
|
|
396
|
+
*/
|
|
397
|
+
ap_value?: OptionSkillDeriveAdventurePointsValue<CombatTechniqueIdentifier>;
|
|
342
398
|
};
|
|
343
|
-
/**
|
|
344
|
-
* Generate prerequisites for each entry of the category.
|
|
345
|
-
* @minItems 1
|
|
346
|
-
*/
|
|
347
|
-
prerequisites?: (OptionSkillSelfPrerequisite | OptionOptionPrerequisite)[];
|
|
348
|
-
/**
|
|
349
|
-
* Generate AP values for each entry.
|
|
350
|
-
*/
|
|
351
|
-
ap_value?: OptionSkillDeriveAdventurePointsValue;
|
|
352
399
|
};
|
|
353
|
-
declare enum NonSkillSkillCategory {
|
|
354
|
-
CloseCombatTechniques = "CloseCombatTechniques",
|
|
355
|
-
RangedCombatTechniques = "RangedCombatTechniques",
|
|
356
|
-
LiturgicalChants = "LiturgicalChants",
|
|
357
|
-
Ceremonies = "Ceremonies",
|
|
358
|
-
Spells = "Spells",
|
|
359
|
-
Rituals = "Rituals"
|
|
360
|
-
}
|
|
361
400
|
declare type OptionSkillSelfPrerequisite = {
|
|
362
401
|
tag: "Self";
|
|
363
402
|
/**
|
|
@@ -390,7 +429,7 @@ declare type OptionOptionPrerequisite = {
|
|
|
390
429
|
/**
|
|
391
430
|
* Generate AP values for each entry.
|
|
392
431
|
*/
|
|
393
|
-
declare type OptionSkillDeriveAdventurePointsValue = {
|
|
432
|
+
declare type OptionSkillDeriveAdventurePointsValue<Identifier> = {
|
|
394
433
|
tag: "DerivedFromImprovementCost";
|
|
395
434
|
/**
|
|
396
435
|
* This number is multiplied with the improvement cost of the entry
|
|
@@ -410,7 +449,7 @@ declare type OptionSkillDeriveAdventurePointsValue = {
|
|
|
410
449
|
* @integer
|
|
411
450
|
* @minimum 1
|
|
412
451
|
*/
|
|
413
|
-
id:
|
|
452
|
+
id: Identifier;
|
|
414
453
|
/**
|
|
415
454
|
* The AP value for the specified entry.
|
|
416
455
|
* @integer
|
|
@@ -2,15 +2,6 @@
|
|
|
2
2
|
* General type specifications used by multiple activatable entries.
|
|
3
3
|
* @title Activatable
|
|
4
4
|
*/
|
|
5
|
-
var NonSkillSkillCategory;
|
|
6
|
-
(function (NonSkillSkillCategory) {
|
|
7
|
-
NonSkillSkillCategory["CloseCombatTechniques"] = "CloseCombatTechniques";
|
|
8
|
-
NonSkillSkillCategory["RangedCombatTechniques"] = "RangedCombatTechniques";
|
|
9
|
-
NonSkillSkillCategory["LiturgicalChants"] = "LiturgicalChants";
|
|
10
|
-
NonSkillSkillCategory["Ceremonies"] = "Ceremonies";
|
|
11
|
-
NonSkillSkillCategory["Spells"] = "Spells";
|
|
12
|
-
NonSkillSkillCategory["Rituals"] = "Rituals";
|
|
13
|
-
})(NonSkillSkillCategory || (NonSkillSkillCategory = {}));
|
|
14
5
|
export {};
|
|
15
6
|
// "Input": {
|
|
16
7
|
// "description": "A string that is used as a placeholder text for an input field.",
|
|
@@ -108,6 +108,13 @@ declare enum RatedTag {
|
|
|
108
108
|
LiturgicalChant = "LiturgicalChant",
|
|
109
109
|
Ceremony = "Ceremony"
|
|
110
110
|
}
|
|
111
|
+
declare enum SkillTag {
|
|
112
|
+
Skill = "Skill",
|
|
113
|
+
Spell = "Spell",
|
|
114
|
+
Ritual = "Ritual",
|
|
115
|
+
LiturgicalChant = "LiturgicalChant",
|
|
116
|
+
Ceremony = "Ceremony"
|
|
117
|
+
}
|
|
111
118
|
declare enum AdvancedSpecialAbilityRestrictedOptionTag {
|
|
112
119
|
General = "General",
|
|
113
120
|
Skill = "Skill",
|
|
@@ -117,7 +124,7 @@ declare enum VolumePointsOptionReferenceTag {
|
|
|
117
124
|
General = "General",
|
|
118
125
|
AnimalShapeSize = "AnimalShapeSize"
|
|
119
126
|
}
|
|
120
|
-
declare enum CombatTechniqueTag {
|
|
127
|
+
export declare enum CombatTechniqueTag {
|
|
121
128
|
CloseCombatTechnique = "CloseCombatTechnique",
|
|
122
129
|
RangedCombatTechnique = "RangedCombatTechnique"
|
|
123
130
|
}
|
|
@@ -131,7 +138,7 @@ declare enum ExtensionRuleTag {
|
|
|
131
138
|
FocusRule = "FocusRule",
|
|
132
139
|
OptionalRule = "OptionalRule"
|
|
133
140
|
}
|
|
134
|
-
declare enum SkillWithEnhancementsTag {
|
|
141
|
+
export declare enum SkillWithEnhancementsTag {
|
|
135
142
|
Spell = "Spell",
|
|
136
143
|
Ritual = "Ritual",
|
|
137
144
|
LiturgicalChant = "LiturgicalChant",
|
|
@@ -183,6 +190,7 @@ export declare type ActivatableIdentifier = TaggedIdentifier<ActivatableTag>;
|
|
|
183
190
|
export declare type SpecialAbilityIdentifier = TaggedIdentifier<SpecialAbilityTag>;
|
|
184
191
|
export declare type CombatRelatedSpecialAbilityIdentifier = TaggedIdentifier<CombatRelatedSpecialAbilityTag>;
|
|
185
192
|
export declare type RatedIdentifier = TaggedIdentifier<RatedTag>;
|
|
193
|
+
export declare type SkillIdentifier = TaggedIdentifier<SkillTag>;
|
|
186
194
|
export declare type AdvancedSpecialAbilityRestrictedOptionIdentifier = TaggedIdentifier<AdvancedSpecialAbilityRestrictedOptionTag>;
|
|
187
195
|
export declare type VolumePointsOptionReferenceIdentifier = TaggedIdentifier<VolumePointsOptionReferenceTag>;
|
|
188
196
|
export declare type CombatTechniqueIdentifier = TaggedIdentifier<CombatTechniqueTag>;
|
package/lib/types/_Identifier.js
CHANGED
|
@@ -112,6 +112,14 @@ var RatedTag;
|
|
|
112
112
|
RatedTag["LiturgicalChant"] = "LiturgicalChant";
|
|
113
113
|
RatedTag["Ceremony"] = "Ceremony";
|
|
114
114
|
})(RatedTag || (RatedTag = {}));
|
|
115
|
+
var SkillTag;
|
|
116
|
+
(function (SkillTag) {
|
|
117
|
+
SkillTag["Skill"] = "Skill";
|
|
118
|
+
SkillTag["Spell"] = "Spell";
|
|
119
|
+
SkillTag["Ritual"] = "Ritual";
|
|
120
|
+
SkillTag["LiturgicalChant"] = "LiturgicalChant";
|
|
121
|
+
SkillTag["Ceremony"] = "Ceremony";
|
|
122
|
+
})(SkillTag || (SkillTag = {}));
|
|
115
123
|
var AdvancedSpecialAbilityRestrictedOptionTag;
|
|
116
124
|
(function (AdvancedSpecialAbilityRestrictedOptionTag) {
|
|
117
125
|
AdvancedSpecialAbilityRestrictedOptionTag["General"] = "General";
|
|
@@ -123,7 +131,7 @@ var VolumePointsOptionReferenceTag;
|
|
|
123
131
|
VolumePointsOptionReferenceTag["General"] = "General";
|
|
124
132
|
VolumePointsOptionReferenceTag["AnimalShapeSize"] = "AnimalShapeSize";
|
|
125
133
|
})(VolumePointsOptionReferenceTag || (VolumePointsOptionReferenceTag = {}));
|
|
126
|
-
var CombatTechniqueTag;
|
|
134
|
+
export var CombatTechniqueTag;
|
|
127
135
|
(function (CombatTechniqueTag) {
|
|
128
136
|
CombatTechniqueTag["CloseCombatTechnique"] = "CloseCombatTechnique";
|
|
129
137
|
CombatTechniqueTag["RangedCombatTechnique"] = "RangedCombatTechnique";
|
|
@@ -141,7 +149,7 @@ var ExtensionRuleTag;
|
|
|
141
149
|
ExtensionRuleTag["FocusRule"] = "FocusRule";
|
|
142
150
|
ExtensionRuleTag["OptionalRule"] = "OptionalRule";
|
|
143
151
|
})(ExtensionRuleTag || (ExtensionRuleTag = {}));
|
|
144
|
-
var SkillWithEnhancementsTag;
|
|
152
|
+
export var SkillWithEnhancementsTag;
|
|
145
153
|
(function (SkillWithEnhancementsTag) {
|
|
146
154
|
SkillWithEnhancementsTag["Spell"] = "Spell";
|
|
147
155
|
SkillWithEnhancementsTag["Ritual"] = "Ritual";
|
|
@@ -186,4 +194,3 @@ var CoreRuleDerivableContentTag;
|
|
|
186
194
|
CoreRuleDerivableContentTag["MagicalSpecialAbility"] = "MagicalSpecialAbility";
|
|
187
195
|
CoreRuleDerivableContentTag["BlessedTradition"] = "BlessedTradition";
|
|
188
196
|
})(CoreRuleDerivableContentTag || (CoreRuleDerivableContentTag = {}));
|
|
189
|
-
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optolith-database-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tde",
|
|
@@ -32,12 +32,8 @@
|
|
|
32
32
|
"type": "object",
|
|
33
33
|
"properties": {
|
|
34
34
|
"derived": {
|
|
35
|
-
"description": "
|
|
36
|
-
"
|
|
37
|
-
"items": {
|
|
38
|
-
"$ref": "#/definitions/CategoryOption"
|
|
39
|
-
},
|
|
40
|
-
"minItems": 1
|
|
35
|
+
"description": "An entry category with optional further configuration. All available\nentries from the specified categories will be included as separate select\noptions. You can also specify a set of groups that should only be\nincluded. Groups not mentioned will be excluded then.",
|
|
36
|
+
"$ref": "#/definitions/CategoryOption"
|
|
41
37
|
},
|
|
42
38
|
"explicit": {
|
|
43
39
|
"description": "A list of explicit select options. If the identifier has a specific type,\nits entry is the base of this select option, where values defined here\noverride values from the base. Define the `src` property if the options\nare not derived from the rules text of the advantage/disadvantage/special\nability but instead are listed in a separate block and/or on a separate\npage.",
|
|
@@ -359,165 +355,258 @@
|
|
|
359
355
|
"tag": {
|
|
360
356
|
"const": "Skills"
|
|
361
357
|
},
|
|
362
|
-
"
|
|
363
|
-
"description": "
|
|
358
|
+
"categories": {
|
|
359
|
+
"description": "A list of skill categories.",
|
|
364
360
|
"type": "array",
|
|
365
361
|
"items": {
|
|
366
|
-
"
|
|
367
|
-
|
|
368
|
-
"id": {
|
|
369
|
-
"description": "The skill group's identifier.",
|
|
370
|
-
"type": "integer",
|
|
371
|
-
"maximum": 5,
|
|
372
|
-
"minimum": 1
|
|
373
|
-
}
|
|
374
|
-
},
|
|
375
|
-
"required": [
|
|
376
|
-
"id"
|
|
377
|
-
],
|
|
378
|
-
"additionalProperties": false
|
|
379
|
-
},
|
|
380
|
-
"minItems": 1
|
|
381
|
-
},
|
|
382
|
-
"specific": {
|
|
383
|
-
"description": "Only include (`Intersection`) or exclude (`Difference`) specific skills.",
|
|
384
|
-
"type": "object",
|
|
385
|
-
"properties": {
|
|
386
|
-
"operation": {
|
|
387
|
-
"oneOf": [
|
|
388
|
-
{
|
|
389
|
-
"type": "object",
|
|
390
|
-
"properties": {
|
|
391
|
-
"tag": {
|
|
392
|
-
"const": "Intersection"
|
|
393
|
-
}
|
|
394
|
-
},
|
|
395
|
-
"required": [
|
|
396
|
-
"tag"
|
|
397
|
-
],
|
|
398
|
-
"additionalProperties": false
|
|
399
|
-
},
|
|
400
|
-
{
|
|
401
|
-
"type": "object",
|
|
402
|
-
"properties": {
|
|
403
|
-
"tag": {
|
|
404
|
-
"const": "Difference"
|
|
405
|
-
}
|
|
406
|
-
},
|
|
407
|
-
"required": [
|
|
408
|
-
"tag"
|
|
409
|
-
],
|
|
410
|
-
"additionalProperties": false
|
|
411
|
-
}
|
|
412
|
-
]
|
|
413
|
-
},
|
|
414
|
-
"list": {
|
|
415
|
-
"description": "The list of specific skills.",
|
|
416
|
-
"type": "array",
|
|
417
|
-
"items": {
|
|
362
|
+
"oneOf": [
|
|
363
|
+
{
|
|
418
364
|
"type": "object",
|
|
419
365
|
"properties": {
|
|
420
|
-
"
|
|
421
|
-
"
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
"
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
"items": {
|
|
446
|
-
"type": "object",
|
|
447
|
-
"properties": {
|
|
448
|
-
"id": {
|
|
449
|
-
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
450
|
-
"type": "integer",
|
|
451
|
-
"minimum": 1
|
|
452
|
-
},
|
|
453
|
-
"translations": {
|
|
454
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
455
|
-
"type": "object",
|
|
456
|
-
"patternProperties": {
|
|
457
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
366
|
+
"tag": {
|
|
367
|
+
"const": "Skills"
|
|
368
|
+
},
|
|
369
|
+
"groups": {
|
|
370
|
+
"description": "Only include entries of the specified groups.",
|
|
371
|
+
"type": "array",
|
|
372
|
+
"items": {
|
|
373
|
+
"type": "object",
|
|
374
|
+
"properties": {
|
|
375
|
+
"id": {
|
|
376
|
+
"description": "The skill group's identifier.",
|
|
377
|
+
"type": "integer",
|
|
378
|
+
"maximum": 5,
|
|
379
|
+
"minimum": 1
|
|
380
|
+
}
|
|
381
|
+
},
|
|
382
|
+
"required": [
|
|
383
|
+
"id"
|
|
384
|
+
],
|
|
385
|
+
"additionalProperties": false
|
|
386
|
+
},
|
|
387
|
+
"minItems": 1
|
|
388
|
+
},
|
|
389
|
+
"specific": {
|
|
390
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nskills.",
|
|
458
391
|
"type": "object",
|
|
459
392
|
"properties": {
|
|
460
|
-
"
|
|
461
|
-
"
|
|
462
|
-
|
|
463
|
-
|
|
393
|
+
"operation": {
|
|
394
|
+
"oneOf": [
|
|
395
|
+
{
|
|
396
|
+
"type": "object",
|
|
397
|
+
"properties": {
|
|
398
|
+
"tag": {
|
|
399
|
+
"const": "Intersection"
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
"required": [
|
|
403
|
+
"tag"
|
|
404
|
+
],
|
|
405
|
+
"additionalProperties": false
|
|
406
|
+
},
|
|
407
|
+
{
|
|
408
|
+
"type": "object",
|
|
409
|
+
"properties": {
|
|
410
|
+
"tag": {
|
|
411
|
+
"const": "Difference"
|
|
412
|
+
}
|
|
413
|
+
},
|
|
414
|
+
"required": [
|
|
415
|
+
"tag"
|
|
416
|
+
],
|
|
417
|
+
"additionalProperties": false
|
|
418
|
+
}
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
"list": {
|
|
422
|
+
"description": "The list of specific skills.",
|
|
423
|
+
"type": "array",
|
|
424
|
+
"items": {
|
|
425
|
+
"type": "object",
|
|
426
|
+
"properties": {
|
|
427
|
+
"id": {
|
|
428
|
+
"description": "The skill's identifier.",
|
|
429
|
+
"type": "integer",
|
|
430
|
+
"maximum": 59,
|
|
431
|
+
"minimum": 1
|
|
432
|
+
}
|
|
433
|
+
},
|
|
434
|
+
"required": [
|
|
435
|
+
"id"
|
|
436
|
+
],
|
|
437
|
+
"additionalProperties": false
|
|
438
|
+
},
|
|
439
|
+
"minItems": 1,
|
|
440
|
+
"uniqueItems": true
|
|
464
441
|
}
|
|
465
442
|
},
|
|
466
443
|
"required": [
|
|
467
|
-
"
|
|
444
|
+
"operation",
|
|
445
|
+
"list"
|
|
468
446
|
],
|
|
469
447
|
"additionalProperties": false
|
|
448
|
+
},
|
|
449
|
+
"skill_applications": {
|
|
450
|
+
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an\nentry-unique identifier, the skill it belongs to is derived from the\nselect option automatically. A translation can be left out if its\nname equals the name of the origin entry.",
|
|
451
|
+
"type": "array",
|
|
452
|
+
"items": {
|
|
453
|
+
"type": "object",
|
|
454
|
+
"properties": {
|
|
455
|
+
"id": {
|
|
456
|
+
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
457
|
+
"type": "integer",
|
|
458
|
+
"minimum": 1
|
|
459
|
+
},
|
|
460
|
+
"translations": {
|
|
461
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
462
|
+
"type": "object",
|
|
463
|
+
"patternProperties": {
|
|
464
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
465
|
+
"type": "object",
|
|
466
|
+
"properties": {
|
|
467
|
+
"name": {
|
|
468
|
+
"description": "The name of the application if different from the activatable\nentry's\nname.",
|
|
469
|
+
"type": "string",
|
|
470
|
+
"minLength": 1
|
|
471
|
+
}
|
|
472
|
+
},
|
|
473
|
+
"required": [
|
|
474
|
+
"name"
|
|
475
|
+
],
|
|
476
|
+
"additionalProperties": false
|
|
477
|
+
}
|
|
478
|
+
},
|
|
479
|
+
"minProperties": 1,
|
|
480
|
+
"additionalProperties": false
|
|
481
|
+
}
|
|
482
|
+
},
|
|
483
|
+
"required": [
|
|
484
|
+
"id"
|
|
485
|
+
],
|
|
486
|
+
"additionalProperties": false
|
|
487
|
+
},
|
|
488
|
+
"minItems": 1
|
|
489
|
+
},
|
|
490
|
+
"skill_uses": {
|
|
491
|
+
"description": "Registers uses, which get enabled once this entry is activated with\nits respective select option. It specifies an entry-unique\nidentifier, the skill it belongs to is derived from the select option\nautomatically. A translation can be left out if its name equals the\nname of the origin entry.",
|
|
492
|
+
"type": "array",
|
|
493
|
+
"items": {
|
|
494
|
+
"type": "object",
|
|
495
|
+
"properties": {
|
|
496
|
+
"id": {
|
|
497
|
+
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
498
|
+
"type": "integer",
|
|
499
|
+
"minimum": 1
|
|
500
|
+
},
|
|
501
|
+
"translations": {
|
|
502
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
503
|
+
"type": "object",
|
|
504
|
+
"patternProperties": {
|
|
505
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
506
|
+
"type": "object",
|
|
507
|
+
"properties": {
|
|
508
|
+
"name": {
|
|
509
|
+
"description": "The name of the use if different from the activatable entry's\nname.",
|
|
510
|
+
"type": "string",
|
|
511
|
+
"minLength": 1
|
|
512
|
+
}
|
|
513
|
+
},
|
|
514
|
+
"required": [
|
|
515
|
+
"name"
|
|
516
|
+
],
|
|
517
|
+
"additionalProperties": false
|
|
518
|
+
}
|
|
519
|
+
},
|
|
520
|
+
"minProperties": 1,
|
|
521
|
+
"additionalProperties": false
|
|
522
|
+
}
|
|
523
|
+
},
|
|
524
|
+
"required": [
|
|
525
|
+
"id"
|
|
526
|
+
],
|
|
527
|
+
"additionalProperties": false
|
|
528
|
+
},
|
|
529
|
+
"minItems": 1
|
|
470
530
|
}
|
|
471
531
|
},
|
|
472
|
-
"
|
|
532
|
+
"required": [
|
|
533
|
+
"tag"
|
|
534
|
+
],
|
|
473
535
|
"additionalProperties": false
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
"required": [
|
|
477
|
-
"id"
|
|
478
|
-
],
|
|
479
|
-
"additionalProperties": false
|
|
480
|
-
},
|
|
481
|
-
"minItems": 1
|
|
482
|
-
},
|
|
483
|
-
"skill_uses": {
|
|
484
|
-
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier, the\nskill it belongs to is derived from the select option automatically. A\ntranslation can be left out if its name equals the name of the origin\nentry.",
|
|
485
|
-
"type": "array",
|
|
486
|
-
"items": {
|
|
487
|
-
"type": "object",
|
|
488
|
-
"properties": {
|
|
489
|
-
"id": {
|
|
490
|
-
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
491
|
-
"type": "integer",
|
|
492
|
-
"minimum": 1
|
|
493
536
|
},
|
|
494
|
-
|
|
495
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
537
|
+
{
|
|
496
538
|
"type": "object",
|
|
497
|
-
"
|
|
498
|
-
"
|
|
539
|
+
"properties": {
|
|
540
|
+
"tag": {
|
|
541
|
+
"$ref": "./_Identifier.schema.json#/definitions/SkillWithEnhancementsTag"
|
|
542
|
+
},
|
|
543
|
+
"specific": {
|
|
544
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nentries.",
|
|
499
545
|
"type": "object",
|
|
500
546
|
"properties": {
|
|
501
|
-
"
|
|
502
|
-
"
|
|
503
|
-
|
|
504
|
-
|
|
547
|
+
"operation": {
|
|
548
|
+
"oneOf": [
|
|
549
|
+
{
|
|
550
|
+
"type": "object",
|
|
551
|
+
"properties": {
|
|
552
|
+
"tag": {
|
|
553
|
+
"const": "Intersection"
|
|
554
|
+
}
|
|
555
|
+
},
|
|
556
|
+
"required": [
|
|
557
|
+
"tag"
|
|
558
|
+
],
|
|
559
|
+
"additionalProperties": false
|
|
560
|
+
},
|
|
561
|
+
{
|
|
562
|
+
"type": "object",
|
|
563
|
+
"properties": {
|
|
564
|
+
"tag": {
|
|
565
|
+
"const": "Difference"
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"required": [
|
|
569
|
+
"tag"
|
|
570
|
+
],
|
|
571
|
+
"additionalProperties": false
|
|
572
|
+
}
|
|
573
|
+
]
|
|
574
|
+
},
|
|
575
|
+
"list": {
|
|
576
|
+
"description": "The list of specific entries.",
|
|
577
|
+
"type": "array",
|
|
578
|
+
"items": {
|
|
579
|
+
"type": "object",
|
|
580
|
+
"properties": {
|
|
581
|
+
"id": {
|
|
582
|
+
"description": "The entry's identifier.",
|
|
583
|
+
"type": "integer",
|
|
584
|
+
"maximum": 59,
|
|
585
|
+
"minimum": 1
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
"required": [
|
|
589
|
+
"id"
|
|
590
|
+
],
|
|
591
|
+
"additionalProperties": false
|
|
592
|
+
},
|
|
593
|
+
"minItems": 1,
|
|
594
|
+
"uniqueItems": true
|
|
505
595
|
}
|
|
506
596
|
},
|
|
507
597
|
"required": [
|
|
508
|
-
"
|
|
598
|
+
"operation",
|
|
599
|
+
"list"
|
|
509
600
|
],
|
|
510
601
|
"additionalProperties": false
|
|
511
602
|
}
|
|
512
603
|
},
|
|
513
|
-
"
|
|
604
|
+
"required": [
|
|
605
|
+
"tag"
|
|
606
|
+
],
|
|
514
607
|
"additionalProperties": false
|
|
515
608
|
}
|
|
516
|
-
|
|
517
|
-
"required": [
|
|
518
|
-
"id"
|
|
519
|
-
],
|
|
520
|
-
"additionalProperties": false
|
|
609
|
+
]
|
|
521
610
|
},
|
|
522
611
|
"minItems": 1
|
|
523
612
|
},
|
|
@@ -538,31 +627,20 @@
|
|
|
538
627
|
},
|
|
539
628
|
"ap_value": {
|
|
540
629
|
"description": "Generate AP values for each entry.",
|
|
541
|
-
"
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
"required": [
|
|
545
|
-
"tag"
|
|
546
|
-
],
|
|
547
|
-
"additionalProperties": false
|
|
548
|
-
},
|
|
549
|
-
{
|
|
550
|
-
"type": "object",
|
|
551
|
-
"properties": {
|
|
552
|
-
"tag": {
|
|
553
|
-
"$ref": "#/definitions/NonSkillSkillCategory"
|
|
554
|
-
},
|
|
555
|
-
"specific": {
|
|
556
|
-
"description": "Only include (`Intersection`) or exclude (`Difference`) specific entries.",
|
|
557
|
-
"type": "object",
|
|
558
|
-
"properties": {
|
|
559
|
-
"operation": {
|
|
630
|
+
"oneOf": [
|
|
631
|
+
{
|
|
632
|
+
"description": "Generate AP values for each entry.",
|
|
560
633
|
"oneOf": [
|
|
561
634
|
{
|
|
562
635
|
"type": "object",
|
|
563
636
|
"properties": {
|
|
564
637
|
"tag": {
|
|
565
|
-
"const": "
|
|
638
|
+
"const": "DerivedFromImprovementCost"
|
|
639
|
+
},
|
|
640
|
+
"multiplier": {
|
|
641
|
+
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
642
|
+
"type": "integer",
|
|
643
|
+
"minimum": 2
|
|
566
644
|
}
|
|
567
645
|
},
|
|
568
646
|
"required": [
|
|
@@ -574,81 +652,224 @@
|
|
|
574
652
|
"type": "object",
|
|
575
653
|
"properties": {
|
|
576
654
|
"tag": {
|
|
577
|
-
"const": "
|
|
655
|
+
"const": "Fixed"
|
|
656
|
+
},
|
|
657
|
+
"map": {
|
|
658
|
+
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
659
|
+
"type": "array",
|
|
660
|
+
"items": {
|
|
661
|
+
"type": "object",
|
|
662
|
+
"properties": {
|
|
663
|
+
"id": {
|
|
664
|
+
"$ref": "./_Identifier.schema.json#/definitions/SkillIdentifier"
|
|
665
|
+
},
|
|
666
|
+
"ap_value": {
|
|
667
|
+
"description": "The AP value for the specified entry.",
|
|
668
|
+
"type": "integer",
|
|
669
|
+
"minimum": 1
|
|
670
|
+
}
|
|
671
|
+
},
|
|
672
|
+
"required": [
|
|
673
|
+
"id",
|
|
674
|
+
"ap_value"
|
|
675
|
+
],
|
|
676
|
+
"additionalProperties": false
|
|
677
|
+
}
|
|
678
|
+
},
|
|
679
|
+
"default": {
|
|
680
|
+
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
681
|
+
"type": "integer",
|
|
682
|
+
"minimum": 1
|
|
578
683
|
}
|
|
579
684
|
},
|
|
580
685
|
"required": [
|
|
581
|
-
"tag"
|
|
686
|
+
"tag",
|
|
687
|
+
"map",
|
|
688
|
+
"default"
|
|
582
689
|
],
|
|
583
690
|
"additionalProperties": false
|
|
584
691
|
}
|
|
585
692
|
]
|
|
586
693
|
},
|
|
587
|
-
|
|
588
|
-
"
|
|
589
|
-
"
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
"properties": {
|
|
593
|
-
"id": {
|
|
594
|
-
"description": "The entry's identifier.",
|
|
595
|
-
"type": "integer",
|
|
596
|
-
"maximum": 59,
|
|
597
|
-
"minimum": 1
|
|
598
|
-
}
|
|
694
|
+
{
|
|
695
|
+
"type": "object",
|
|
696
|
+
"properties": {
|
|
697
|
+
"tag": {
|
|
698
|
+
"const": "CombatTechniques"
|
|
599
699
|
},
|
|
600
|
-
"
|
|
601
|
-
"
|
|
602
|
-
|
|
603
|
-
|
|
700
|
+
"categories": {
|
|
701
|
+
"description": "A list of combat technique categories.",
|
|
702
|
+
"type": "array",
|
|
703
|
+
"items": {
|
|
704
|
+
"type": "object",
|
|
705
|
+
"properties": {
|
|
706
|
+
"tag": {
|
|
707
|
+
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueTag"
|
|
708
|
+
},
|
|
709
|
+
"specific": {
|
|
710
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nentries.",
|
|
711
|
+
"type": "object",
|
|
712
|
+
"properties": {
|
|
713
|
+
"operation": {
|
|
714
|
+
"oneOf": [
|
|
715
|
+
{
|
|
716
|
+
"type": "object",
|
|
717
|
+
"properties": {
|
|
718
|
+
"tag": {
|
|
719
|
+
"const": "Intersection"
|
|
720
|
+
}
|
|
721
|
+
},
|
|
722
|
+
"required": [
|
|
723
|
+
"tag"
|
|
724
|
+
],
|
|
725
|
+
"additionalProperties": false
|
|
726
|
+
},
|
|
727
|
+
{
|
|
728
|
+
"type": "object",
|
|
729
|
+
"properties": {
|
|
730
|
+
"tag": {
|
|
731
|
+
"const": "Difference"
|
|
732
|
+
}
|
|
733
|
+
},
|
|
734
|
+
"required": [
|
|
735
|
+
"tag"
|
|
736
|
+
],
|
|
737
|
+
"additionalProperties": false
|
|
738
|
+
}
|
|
739
|
+
]
|
|
740
|
+
},
|
|
741
|
+
"list": {
|
|
742
|
+
"description": "The list of specific entries.",
|
|
743
|
+
"type": "array",
|
|
744
|
+
"items": {
|
|
745
|
+
"type": "object",
|
|
746
|
+
"properties": {
|
|
747
|
+
"id": {
|
|
748
|
+
"description": "The entry's identifier.",
|
|
749
|
+
"type": "integer",
|
|
750
|
+
"maximum": 59,
|
|
751
|
+
"minimum": 1
|
|
752
|
+
}
|
|
753
|
+
},
|
|
754
|
+
"required": [
|
|
755
|
+
"id"
|
|
756
|
+
],
|
|
757
|
+
"additionalProperties": false
|
|
758
|
+
},
|
|
759
|
+
"minItems": 1,
|
|
760
|
+
"uniqueItems": true
|
|
761
|
+
}
|
|
762
|
+
},
|
|
763
|
+
"required": [
|
|
764
|
+
"operation",
|
|
765
|
+
"list"
|
|
766
|
+
],
|
|
767
|
+
"additionalProperties": false
|
|
768
|
+
}
|
|
769
|
+
},
|
|
770
|
+
"required": [
|
|
771
|
+
"tag"
|
|
772
|
+
],
|
|
773
|
+
"additionalProperties": false
|
|
774
|
+
},
|
|
775
|
+
"minItems": 1
|
|
776
|
+
},
|
|
777
|
+
"prerequisites": {
|
|
778
|
+
"description": "Generate prerequisites for each entry of the category.",
|
|
779
|
+
"type": "array",
|
|
780
|
+
"items": {
|
|
781
|
+
"oneOf": [
|
|
782
|
+
{
|
|
783
|
+
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
784
|
+
},
|
|
785
|
+
{
|
|
786
|
+
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
787
|
+
}
|
|
788
|
+
]
|
|
789
|
+
},
|
|
790
|
+
"minItems": 1
|
|
791
|
+
},
|
|
792
|
+
"ap_value": {
|
|
793
|
+
"description": "Generate AP values for each entry.",
|
|
794
|
+
"oneOf": [
|
|
795
|
+
{
|
|
796
|
+
"type": "object",
|
|
797
|
+
"properties": {
|
|
798
|
+
"tag": {
|
|
799
|
+
"const": "DerivedFromImprovementCost"
|
|
800
|
+
},
|
|
801
|
+
"multiplier": {
|
|
802
|
+
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
803
|
+
"type": "integer",
|
|
804
|
+
"minimum": 2
|
|
805
|
+
}
|
|
806
|
+
},
|
|
807
|
+
"required": [
|
|
808
|
+
"tag"
|
|
809
|
+
],
|
|
810
|
+
"additionalProperties": false
|
|
811
|
+
},
|
|
812
|
+
{
|
|
813
|
+
"type": "object",
|
|
814
|
+
"properties": {
|
|
815
|
+
"tag": {
|
|
816
|
+
"const": "Fixed"
|
|
817
|
+
},
|
|
818
|
+
"map": {
|
|
819
|
+
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
820
|
+
"type": "array",
|
|
821
|
+
"items": {
|
|
822
|
+
"type": "object",
|
|
823
|
+
"properties": {
|
|
824
|
+
"id": {
|
|
825
|
+
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
826
|
+
},
|
|
827
|
+
"ap_value": {
|
|
828
|
+
"description": "The AP value for the specified entry.",
|
|
829
|
+
"type": "integer",
|
|
830
|
+
"minimum": 1
|
|
831
|
+
}
|
|
832
|
+
},
|
|
833
|
+
"required": [
|
|
834
|
+
"id",
|
|
835
|
+
"ap_value"
|
|
836
|
+
],
|
|
837
|
+
"additionalProperties": false
|
|
838
|
+
}
|
|
839
|
+
},
|
|
840
|
+
"default": {
|
|
841
|
+
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
842
|
+
"type": "integer",
|
|
843
|
+
"minimum": 1
|
|
844
|
+
}
|
|
845
|
+
},
|
|
846
|
+
"required": [
|
|
847
|
+
"tag",
|
|
848
|
+
"map",
|
|
849
|
+
"default"
|
|
850
|
+
],
|
|
851
|
+
"additionalProperties": false
|
|
852
|
+
}
|
|
853
|
+
]
|
|
854
|
+
}
|
|
604
855
|
},
|
|
605
|
-
"
|
|
606
|
-
|
|
856
|
+
"required": [
|
|
857
|
+
"tag",
|
|
858
|
+
"categories"
|
|
859
|
+
],
|
|
860
|
+
"additionalProperties": false
|
|
607
861
|
}
|
|
608
|
-
|
|
609
|
-
"required": [
|
|
610
|
-
"operation",
|
|
611
|
-
"list"
|
|
612
|
-
],
|
|
613
|
-
"additionalProperties": false
|
|
614
|
-
},
|
|
615
|
-
"prerequisites": {
|
|
616
|
-
"description": "Generate prerequisites for each entry of the category.",
|
|
617
|
-
"type": "array",
|
|
618
|
-
"items": {
|
|
619
|
-
"oneOf": [
|
|
620
|
-
{
|
|
621
|
-
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
622
|
-
},
|
|
623
|
-
{
|
|
624
|
-
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
625
|
-
}
|
|
626
|
-
]
|
|
627
|
-
},
|
|
628
|
-
"minItems": 1
|
|
629
|
-
},
|
|
630
|
-
"ap_value": {
|
|
631
|
-
"description": "Generate AP values for each entry.",
|
|
632
|
-
"$ref": "#/definitions/OptionSkillDeriveAdventurePointsValue"
|
|
862
|
+
]
|
|
633
863
|
}
|
|
634
864
|
},
|
|
635
865
|
"required": [
|
|
636
|
-
"tag"
|
|
866
|
+
"tag",
|
|
867
|
+
"categories"
|
|
637
868
|
],
|
|
638
869
|
"additionalProperties": false
|
|
639
870
|
}
|
|
640
871
|
]
|
|
641
872
|
},
|
|
642
|
-
"NonSkillSkillCategory": {
|
|
643
|
-
"enum": [
|
|
644
|
-
"CloseCombatTechniques",
|
|
645
|
-
"RangedCombatTechniques",
|
|
646
|
-
"LiturgicalChants",
|
|
647
|
-
"Ceremonies",
|
|
648
|
-
"Spells",
|
|
649
|
-
"Rituals"
|
|
650
|
-
]
|
|
651
|
-
},
|
|
652
873
|
"OptionSkillSelfPrerequisite": {
|
|
653
874
|
"type": "object",
|
|
654
875
|
"properties": {
|
|
@@ -695,71 +916,6 @@
|
|
|
695
916
|
],
|
|
696
917
|
"additionalProperties": false
|
|
697
918
|
},
|
|
698
|
-
"OptionSkillDeriveAdventurePointsValue": {
|
|
699
|
-
"description": "Generate AP values for each entry.",
|
|
700
|
-
"oneOf": [
|
|
701
|
-
{
|
|
702
|
-
"type": "object",
|
|
703
|
-
"properties": {
|
|
704
|
-
"tag": {
|
|
705
|
-
"const": "DerivedFromImprovementCost"
|
|
706
|
-
},
|
|
707
|
-
"multiplier": {
|
|
708
|
-
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
709
|
-
"type": "integer",
|
|
710
|
-
"minimum": 2
|
|
711
|
-
}
|
|
712
|
-
},
|
|
713
|
-
"required": [
|
|
714
|
-
"tag"
|
|
715
|
-
],
|
|
716
|
-
"additionalProperties": false
|
|
717
|
-
},
|
|
718
|
-
{
|
|
719
|
-
"type": "object",
|
|
720
|
-
"properties": {
|
|
721
|
-
"tag": {
|
|
722
|
-
"const": "Fixed"
|
|
723
|
-
},
|
|
724
|
-
"map": {
|
|
725
|
-
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
726
|
-
"type": "array",
|
|
727
|
-
"items": {
|
|
728
|
-
"type": "object",
|
|
729
|
-
"properties": {
|
|
730
|
-
"id": {
|
|
731
|
-
"description": "The skill's identifier.",
|
|
732
|
-
"type": "integer",
|
|
733
|
-
"minimum": 1
|
|
734
|
-
},
|
|
735
|
-
"ap_value": {
|
|
736
|
-
"description": "The AP value for the specified entry.",
|
|
737
|
-
"type": "integer",
|
|
738
|
-
"minimum": 1
|
|
739
|
-
}
|
|
740
|
-
},
|
|
741
|
-
"required": [
|
|
742
|
-
"id",
|
|
743
|
-
"ap_value"
|
|
744
|
-
],
|
|
745
|
-
"additionalProperties": false
|
|
746
|
-
}
|
|
747
|
-
},
|
|
748
|
-
"default": {
|
|
749
|
-
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
750
|
-
"type": "integer",
|
|
751
|
-
"minimum": 1
|
|
752
|
-
}
|
|
753
|
-
},
|
|
754
|
-
"required": [
|
|
755
|
-
"tag",
|
|
756
|
-
"map",
|
|
757
|
-
"default"
|
|
758
|
-
],
|
|
759
|
-
"additionalProperties": false
|
|
760
|
-
}
|
|
761
|
-
]
|
|
762
|
-
},
|
|
763
919
|
"ExplicitOption": {
|
|
764
920
|
"oneOf": [
|
|
765
921
|
{
|
|
@@ -120,6 +120,15 @@
|
|
|
120
120
|
"Ceremony"
|
|
121
121
|
]
|
|
122
122
|
},
|
|
123
|
+
"SkillTag": {
|
|
124
|
+
"enum": [
|
|
125
|
+
"Skill",
|
|
126
|
+
"Spell",
|
|
127
|
+
"Ritual",
|
|
128
|
+
"LiturgicalChant",
|
|
129
|
+
"Ceremony"
|
|
130
|
+
]
|
|
131
|
+
},
|
|
123
132
|
"AdvancedSpecialAbilityRestrictedOptionTag": {
|
|
124
133
|
"enum": [
|
|
125
134
|
"General",
|
|
@@ -278,6 +287,24 @@
|
|
|
278
287
|
],
|
|
279
288
|
"additionalProperties": false
|
|
280
289
|
},
|
|
290
|
+
"SkillIdentifier": {
|
|
291
|
+
"type": "object",
|
|
292
|
+
"properties": {
|
|
293
|
+
"tag": {
|
|
294
|
+
"$ref": "#/definitions/SkillTag"
|
|
295
|
+
},
|
|
296
|
+
"value": {
|
|
297
|
+
"description": "The referenced entry's numeric identifier.",
|
|
298
|
+
"type": "integer",
|
|
299
|
+
"minimum": 1
|
|
300
|
+
}
|
|
301
|
+
},
|
|
302
|
+
"required": [
|
|
303
|
+
"tag",
|
|
304
|
+
"value"
|
|
305
|
+
],
|
|
306
|
+
"additionalProperties": false
|
|
307
|
+
},
|
|
281
308
|
"AdvancedSpecialAbilityRestrictedOptionIdentifier": {
|
|
282
309
|
"type": "object",
|
|
283
310
|
"properties": {
|