optolith-database-schema 0.1.0 → 0.1.3
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 +27 -0
- package/lib/types/FamiliarsTrick.d.ts +333 -0
- package/lib/types/FamiliarsTrick.js +4 -0
- package/lib/types/FamiliarsTrick_AnimalType.d.ts +30 -0
- package/lib/types/FamiliarsTrick_AnimalType.js +4 -0
- package/lib/types/_Activatable.d.ts +124 -1
- package/lib/types/_Identifier.d.ts +7 -1
- package/lib/types/_Identifier.js +7 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1 -0
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1 -0
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +50 -0
- package/lib/types/specialAbility/sub/TradeSecret.js +4 -0
- package/package.json +2 -2
- package/schema/Advantage.schema.json +8 -8
- package/schema/Disadvantage.schema.json +6 -6
- package/schema/FamiliarsTrick.schema.json +602 -0
- package/schema/FamiliarsTrick_AnimalType.schema.json +45 -0
- package/schema/_Activatable.schema.json +245 -3
- package/schema/_Identifier.schema.json +26 -4
- package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +13 -10
- package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/AncestorGlyph.schema.json +6 -6
- package/schema/specialAbility/BlessedTradition.schema.json +6 -6
- package/schema/specialAbility/BrawlingSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +9 -9
- package/schema/specialAbility/CombatSpecialAbility.schema.json +13 -10
- package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +11 -11
- package/schema/specialAbility/CommandSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/FamiliarSpecialAbility.schema.json +6 -6
- package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +6 -6
- package/schema/specialAbility/FatePointSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/GeneralSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/KarmaSpecialAbility.schema.json +6 -6
- package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +9 -9
- package/schema/specialAbility/LycantropicGift.schema.json +6 -6
- package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +9 -9
- package/schema/specialAbility/MagicalSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/MagicalTradition.schema.json +7 -7
- package/schema/specialAbility/PactGift.schema.json +6 -6
- package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +5 -5
- package/schema/specialAbility/Sermon.schema.json +6 -6
- package/schema/specialAbility/SexSpecialAbility.schema.json +8 -8
- package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +6 -6
- package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +7 -7
- package/schema/specialAbility/VampiricGift.schema.json +6 -6
- package/schema/specialAbility/Vision.schema.json +6 -6
- package/schema/specialAbility/sub/TradeSecret.schema.json +68 -0
- package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/AttireEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/BowlEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/CauldronEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/DaggerRitual.schema.json +7 -7
- package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +7 -7
- package/schema/traditionArtifacts/OrbEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/RingEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/SickleRitual.schema.json +7 -7
- package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/StaffEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/ToyEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/Trinkhornzauber.schema.json +7 -7
- package/schema/traditionArtifacts/WandEnchantment.schema.json +7 -7
- package/schema/traditionArtifacts/WeaponEnchantment.schema.json +7 -7
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,33 @@
|
|
|
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.1.3](https://github.com/elyukai/optolith-database-schema/compare/v0.1.2...v0.1.3) (2022-03-09)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* first concept of penalties for combat-related special abilities ([d79d3b3](https://github.com/elyukai/optolith-database-schema/commit/d79d3b3752252342795400c905e2944d1234bd37))
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
### Bug Fixes
|
|
14
|
+
|
|
15
|
+
* remove generic numeric identifier maximum ([e121081](https://github.com/elyukai/optolith-database-schema/commit/e1210810f9cdbf8a720d0e12d5ec6ac21010a8dd))
|
|
16
|
+
|
|
17
|
+
### [0.1.2](https://github.com/elyukai/optolith-database-schema/compare/v0.1.1...v0.1.2) (2022-03-09)
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
### Bug Fixes
|
|
21
|
+
|
|
22
|
+
* output for namespaced imports ([0bf0c9d](https://github.com/elyukai/optolith-database-schema/commit/0bf0c9d8713e0449342b2b01309eb38b3b1013a7))
|
|
23
|
+
|
|
24
|
+
### [0.1.1](https://github.com/elyukai/optolith-database-schema/compare/v0.1.0...v0.1.1) (2022-03-09)
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
### Features
|
|
28
|
+
|
|
29
|
+
* familiar's tricks ([f8f88c9](https://github.com/elyukai/optolith-database-schema/commit/f8f88c9ab3c3339c4e26830623052d09924c4102))
|
|
30
|
+
* trade secrets ([c834c31](https://github.com/elyukai/optolith-database-schema/commit/c834c31de87ce830d34c4cf9c0f60dcfb5a4d3ca))
|
|
31
|
+
|
|
5
32
|
## [0.1.0](https://github.com/elyukai/optolith-database-schema/compare/v0.0.4...v0.1.0) (2022-03-08)
|
|
6
33
|
|
|
7
34
|
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main FamiliarsTrick
|
|
3
|
+
*/
|
|
4
|
+
import { Errata } from "./source/_Erratum";
|
|
5
|
+
import { PublicationRefs } from "./source/_PublicationRef";
|
|
6
|
+
import { Duration } from "./_ActivatableSkill";
|
|
7
|
+
/**
|
|
8
|
+
* @title Familiar's Trick
|
|
9
|
+
*/
|
|
10
|
+
export declare type FamiliarsTrick = {
|
|
11
|
+
/**
|
|
12
|
+
* The familiar's trick's identifier. An unique, increasing integer.
|
|
13
|
+
* @integer
|
|
14
|
+
* @minimum 1
|
|
15
|
+
*/
|
|
16
|
+
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* The animal types this trick is available to. Either it is available to all
|
|
19
|
+
* or only a list of specific animal types.
|
|
20
|
+
*/
|
|
21
|
+
animal_types: {
|
|
22
|
+
tag: "All";
|
|
23
|
+
} | {
|
|
24
|
+
tag: "Specific";
|
|
25
|
+
/**
|
|
26
|
+
* The list of specific animal types.
|
|
27
|
+
* @minItems 1
|
|
28
|
+
*/
|
|
29
|
+
list: {
|
|
30
|
+
/**
|
|
31
|
+
* The animal type's identifier.
|
|
32
|
+
* @integer
|
|
33
|
+
* @minimum 1
|
|
34
|
+
*/
|
|
35
|
+
id: number;
|
|
36
|
+
}[];
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Measurable parameters of a familiar's trick.
|
|
40
|
+
*/
|
|
41
|
+
parameters: PerformanceParameters;
|
|
42
|
+
/**
|
|
43
|
+
* The property of the trick.
|
|
44
|
+
*/
|
|
45
|
+
property: {
|
|
46
|
+
tag: "Fixed";
|
|
47
|
+
/**
|
|
48
|
+
* The property's identifier.
|
|
49
|
+
* @integer
|
|
50
|
+
* @minimum 1
|
|
51
|
+
*/
|
|
52
|
+
id: number;
|
|
53
|
+
} | {
|
|
54
|
+
tag: "Indefinite";
|
|
55
|
+
/**
|
|
56
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
57
|
+
* @minProperties 1
|
|
58
|
+
*/
|
|
59
|
+
translations: {
|
|
60
|
+
/**
|
|
61
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
62
|
+
*/
|
|
63
|
+
[localeId: string]: {
|
|
64
|
+
/**
|
|
65
|
+
* A description of the property.
|
|
66
|
+
*/
|
|
67
|
+
description: {
|
|
68
|
+
/**
|
|
69
|
+
* The full description of the property.
|
|
70
|
+
* @minLength 1
|
|
71
|
+
*/
|
|
72
|
+
default: string;
|
|
73
|
+
/**
|
|
74
|
+
* A compressed description of the property for use in small areas
|
|
75
|
+
* (e.g. on character sheet).
|
|
76
|
+
* @minLength 1
|
|
77
|
+
*/
|
|
78
|
+
compressed: string;
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
};
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* The AP value the familiar has to pay for. It may also be that a specific is
|
|
85
|
+
* known by all familiar by default.
|
|
86
|
+
*/
|
|
87
|
+
ap_value: {
|
|
88
|
+
tag: "Fixed";
|
|
89
|
+
/**
|
|
90
|
+
* The adventure points value.
|
|
91
|
+
* @integer
|
|
92
|
+
* @minimum 1
|
|
93
|
+
*/
|
|
94
|
+
value: number;
|
|
95
|
+
} | {
|
|
96
|
+
tag: "Default";
|
|
97
|
+
};
|
|
98
|
+
src: PublicationRefs;
|
|
99
|
+
/**
|
|
100
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
101
|
+
* @minProperties 1
|
|
102
|
+
*/
|
|
103
|
+
translations: {
|
|
104
|
+
/**
|
|
105
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
106
|
+
*/
|
|
107
|
+
[localeId: string]: {
|
|
108
|
+
/**
|
|
109
|
+
* The name of the familiar's trick.
|
|
110
|
+
* @minLength 1
|
|
111
|
+
*/
|
|
112
|
+
name: string;
|
|
113
|
+
/**
|
|
114
|
+
* The effect description.
|
|
115
|
+
* @markdown
|
|
116
|
+
* @minLength 1
|
|
117
|
+
*/
|
|
118
|
+
effect: string;
|
|
119
|
+
/**
|
|
120
|
+
* @deprecated
|
|
121
|
+
*/
|
|
122
|
+
cost: {
|
|
123
|
+
full: string;
|
|
124
|
+
abbr: string;
|
|
125
|
+
};
|
|
126
|
+
/**
|
|
127
|
+
* @deprecated
|
|
128
|
+
*/
|
|
129
|
+
duration: {
|
|
130
|
+
full: string;
|
|
131
|
+
abbr: string;
|
|
132
|
+
};
|
|
133
|
+
errata?: Errata;
|
|
134
|
+
};
|
|
135
|
+
};
|
|
136
|
+
};
|
|
137
|
+
/**
|
|
138
|
+
* Measurable parameters of a familiar's trick.
|
|
139
|
+
*/
|
|
140
|
+
declare type PerformanceParameters = {
|
|
141
|
+
tag: "OneTime";
|
|
142
|
+
cost: {
|
|
143
|
+
tag: "Fixed";
|
|
144
|
+
/**
|
|
145
|
+
* The AE cost value.
|
|
146
|
+
* @integer
|
|
147
|
+
* @minimum 1
|
|
148
|
+
*/
|
|
149
|
+
value: number;
|
|
150
|
+
/**
|
|
151
|
+
* The interval in which you have to pay the AE cost again.
|
|
152
|
+
*/
|
|
153
|
+
interval?: Duration.UnitValue;
|
|
154
|
+
/**
|
|
155
|
+
* All translations for the entry, identified by IETF language tag
|
|
156
|
+
* (BCP47).
|
|
157
|
+
* @minProperties 1
|
|
158
|
+
*/
|
|
159
|
+
translations?: {
|
|
160
|
+
/**
|
|
161
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
162
|
+
* @minProperties 1
|
|
163
|
+
*/
|
|
164
|
+
[localeId: string]: {
|
|
165
|
+
/**
|
|
166
|
+
*
|
|
167
|
+
*/
|
|
168
|
+
per?: {
|
|
169
|
+
/**
|
|
170
|
+
* The full countable entity name.
|
|
171
|
+
* @minLength 1
|
|
172
|
+
*/
|
|
173
|
+
default: string;
|
|
174
|
+
/**
|
|
175
|
+
* The compressed countable entity name.
|
|
176
|
+
* @minLength 1
|
|
177
|
+
*/
|
|
178
|
+
compressed: string;
|
|
179
|
+
};
|
|
180
|
+
};
|
|
181
|
+
};
|
|
182
|
+
} | {
|
|
183
|
+
tag: "All";
|
|
184
|
+
/**
|
|
185
|
+
* The minimum AE the familiar has to have.
|
|
186
|
+
* @integer
|
|
187
|
+
* @minimum 1
|
|
188
|
+
*/
|
|
189
|
+
minimum?: number;
|
|
190
|
+
} | {
|
|
191
|
+
tag: "Indefinite";
|
|
192
|
+
/**
|
|
193
|
+
* All translations for the entry, identified by IETF language tag
|
|
194
|
+
* (BCP47).
|
|
195
|
+
* @minProperties 1
|
|
196
|
+
*/
|
|
197
|
+
translations: {
|
|
198
|
+
/**
|
|
199
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
200
|
+
*/
|
|
201
|
+
[localeId: string]: {
|
|
202
|
+
/**
|
|
203
|
+
* A description of the AE cost.
|
|
204
|
+
*/
|
|
205
|
+
description: {
|
|
206
|
+
/**
|
|
207
|
+
* The full description of the AE cost.
|
|
208
|
+
* @minLength 1
|
|
209
|
+
*/
|
|
210
|
+
default: string;
|
|
211
|
+
/**
|
|
212
|
+
* A compressed description of the AE cost for use in small areas
|
|
213
|
+
* (e.g. on character sheet).
|
|
214
|
+
* @minLength 1
|
|
215
|
+
*/
|
|
216
|
+
compressed: string;
|
|
217
|
+
};
|
|
218
|
+
};
|
|
219
|
+
};
|
|
220
|
+
};
|
|
221
|
+
duration: {
|
|
222
|
+
tag: "Immediate";
|
|
223
|
+
} | {
|
|
224
|
+
tag: "Fixed";
|
|
225
|
+
/**
|
|
226
|
+
* If the duration is the maximum duration, so it may end earlier.
|
|
227
|
+
*/
|
|
228
|
+
is_maximum?: boolean;
|
|
229
|
+
/**
|
|
230
|
+
* The (unitless) duration.
|
|
231
|
+
* @integer
|
|
232
|
+
* @minimum 1
|
|
233
|
+
*/
|
|
234
|
+
value: number;
|
|
235
|
+
/**
|
|
236
|
+
* The duration unit.
|
|
237
|
+
*/
|
|
238
|
+
unit: Duration.Unit;
|
|
239
|
+
/**
|
|
240
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
241
|
+
* @minProperties 1
|
|
242
|
+
*/
|
|
243
|
+
translations?: {
|
|
244
|
+
/**
|
|
245
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
246
|
+
* @minProperties 1
|
|
247
|
+
*/
|
|
248
|
+
[localeId: string]: {
|
|
249
|
+
/**
|
|
250
|
+
* A replacement string.
|
|
251
|
+
*/
|
|
252
|
+
replacement?: {
|
|
253
|
+
/**
|
|
254
|
+
* The full replacement string. It can contain `$1`, which is
|
|
255
|
+
* going to be replaced with the generated duration string, so
|
|
256
|
+
* additional information can be provided without duplicating
|
|
257
|
+
* concrete numeric values.
|
|
258
|
+
* @minLength 1
|
|
259
|
+
*/
|
|
260
|
+
default: string;
|
|
261
|
+
/**
|
|
262
|
+
* A compressed replacement string for use in small areas (e.g. on
|
|
263
|
+
* character sheet). It can contain `$1`, which is going to be
|
|
264
|
+
* replaced with the generated duration string, so additional
|
|
265
|
+
* information can be provided without duplicating concrete
|
|
266
|
+
* numeric values.
|
|
267
|
+
* @minLength 1
|
|
268
|
+
*/
|
|
269
|
+
compressed: string;
|
|
270
|
+
};
|
|
271
|
+
};
|
|
272
|
+
};
|
|
273
|
+
} | {
|
|
274
|
+
tag: "Indefinite";
|
|
275
|
+
/**
|
|
276
|
+
* All translations for the entry, identified by IETF language tag
|
|
277
|
+
* (BCP47).
|
|
278
|
+
* @minProperties 1
|
|
279
|
+
*/
|
|
280
|
+
translations: {
|
|
281
|
+
/**
|
|
282
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
283
|
+
*/
|
|
284
|
+
[localeId: string]: {
|
|
285
|
+
/**
|
|
286
|
+
* A description of the duration.
|
|
287
|
+
*/
|
|
288
|
+
description: {
|
|
289
|
+
/**
|
|
290
|
+
* The full description of the duration.
|
|
291
|
+
* @minLength 1
|
|
292
|
+
*/
|
|
293
|
+
default: string;
|
|
294
|
+
/**
|
|
295
|
+
* A compressed description of the duration for use in small areas
|
|
296
|
+
* (e.g. on character sheet).
|
|
297
|
+
* @minLength 1
|
|
298
|
+
*/
|
|
299
|
+
compressed: string;
|
|
300
|
+
};
|
|
301
|
+
};
|
|
302
|
+
};
|
|
303
|
+
};
|
|
304
|
+
} | {
|
|
305
|
+
tag: "OneTimeInterval";
|
|
306
|
+
cost: {
|
|
307
|
+
/**
|
|
308
|
+
* The AE cost value.
|
|
309
|
+
* @integer
|
|
310
|
+
* @minimum 1
|
|
311
|
+
*/
|
|
312
|
+
value: number;
|
|
313
|
+
/**
|
|
314
|
+
* The duration granted/added by paying the given AE cost.
|
|
315
|
+
*/
|
|
316
|
+
interval: Duration.UnitValue;
|
|
317
|
+
};
|
|
318
|
+
} | {
|
|
319
|
+
tag: "Sustained";
|
|
320
|
+
cost: {
|
|
321
|
+
/**
|
|
322
|
+
* The AE cost value.
|
|
323
|
+
* @integer
|
|
324
|
+
* @minimum 1
|
|
325
|
+
*/
|
|
326
|
+
value: number;
|
|
327
|
+
/**
|
|
328
|
+
* The interval in which you have to pay the AE cost again.
|
|
329
|
+
*/
|
|
330
|
+
interval: Duration.UnitValue;
|
|
331
|
+
};
|
|
332
|
+
};
|
|
333
|
+
export {};
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main AnimalType
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* @title Animal Type
|
|
6
|
+
*/
|
|
7
|
+
export declare type AnimalType = {
|
|
8
|
+
/**
|
|
9
|
+
* The animal type's identifier. An unique, increasing integer.
|
|
10
|
+
* @integer
|
|
11
|
+
* @minimum 1
|
|
12
|
+
*/
|
|
13
|
+
id: number;
|
|
14
|
+
/**
|
|
15
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
16
|
+
* @minProperties 1
|
|
17
|
+
*/
|
|
18
|
+
translations: {
|
|
19
|
+
/**
|
|
20
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
21
|
+
*/
|
|
22
|
+
[localeId: string]: {
|
|
23
|
+
/**
|
|
24
|
+
* The animal type name.
|
|
25
|
+
* @minLength 1
|
|
26
|
+
*/
|
|
27
|
+
name: string;
|
|
28
|
+
};
|
|
29
|
+
};
|
|
30
|
+
};
|
|
@@ -182,7 +182,130 @@ export declare type SkillUses = {
|
|
|
182
182
|
/**
|
|
183
183
|
* The penalty the special ability gives when used.
|
|
184
184
|
*/
|
|
185
|
-
export declare type Penalty =
|
|
185
|
+
export declare type Penalty = {
|
|
186
|
+
tag: "Single";
|
|
187
|
+
/**
|
|
188
|
+
* The penalty value.
|
|
189
|
+
* @integer
|
|
190
|
+
*/
|
|
191
|
+
value: number;
|
|
192
|
+
/**
|
|
193
|
+
* Set to `true` if the penalty applies to the parry instead of the attack.
|
|
194
|
+
*/
|
|
195
|
+
applies_to_parry?: true;
|
|
196
|
+
} | {
|
|
197
|
+
tag: "ByHandedness";
|
|
198
|
+
/**
|
|
199
|
+
* The penalty value for one-handed weapons.
|
|
200
|
+
* @integer
|
|
201
|
+
*/
|
|
202
|
+
one_handed: number;
|
|
203
|
+
/**
|
|
204
|
+
* The penalty value for two-handed weapons.
|
|
205
|
+
* @integer
|
|
206
|
+
*/
|
|
207
|
+
two_handed: number;
|
|
208
|
+
/**
|
|
209
|
+
* Set to `true` if the penalty applies to the parry instead of the attack.
|
|
210
|
+
*/
|
|
211
|
+
applies_to_parry?: true;
|
|
212
|
+
} | {
|
|
213
|
+
tag: "ByActivation";
|
|
214
|
+
/**
|
|
215
|
+
* The penalty value if the entry has been bought by the character.
|
|
216
|
+
* @integer
|
|
217
|
+
*/
|
|
218
|
+
active: number;
|
|
219
|
+
/**
|
|
220
|
+
* The penalty value if the entry has not been bought by the character.
|
|
221
|
+
* @integer
|
|
222
|
+
*/
|
|
223
|
+
inactive: number;
|
|
224
|
+
/**
|
|
225
|
+
* Set to `true` if the penalty applies to the parry instead of the attack.
|
|
226
|
+
*/
|
|
227
|
+
applies_to_parry?: true;
|
|
228
|
+
} | {
|
|
229
|
+
tag: "Selection";
|
|
230
|
+
options: {
|
|
231
|
+
tag: "Specific";
|
|
232
|
+
/**
|
|
233
|
+
* The list of specific penalty options.
|
|
234
|
+
* @minItems 2
|
|
235
|
+
* @uniqueItems
|
|
236
|
+
*/
|
|
237
|
+
list: {
|
|
238
|
+
/**
|
|
239
|
+
* The penalty value.
|
|
240
|
+
* @integer
|
|
241
|
+
*/
|
|
242
|
+
value: number;
|
|
243
|
+
}[];
|
|
244
|
+
} | {
|
|
245
|
+
tag: "Range";
|
|
246
|
+
/**
|
|
247
|
+
* The minimum penalty value.
|
|
248
|
+
* @integer
|
|
249
|
+
*/
|
|
250
|
+
minimum: number;
|
|
251
|
+
/**
|
|
252
|
+
* The maximum penalty value.
|
|
253
|
+
* @integer
|
|
254
|
+
*/
|
|
255
|
+
maximum: number;
|
|
256
|
+
};
|
|
257
|
+
} | {
|
|
258
|
+
tag: "ByLevel";
|
|
259
|
+
/**
|
|
260
|
+
* A continuous range of penalties for each level. The first element is the
|
|
261
|
+
* penalty for the first level, the second element is the penalty for the
|
|
262
|
+
* second level, and so on.
|
|
263
|
+
* @minItems 2
|
|
264
|
+
*/
|
|
265
|
+
levels: {
|
|
266
|
+
/**
|
|
267
|
+
* The penalty value for this level.
|
|
268
|
+
* @integer
|
|
269
|
+
*/
|
|
270
|
+
value: number;
|
|
271
|
+
}[];
|
|
272
|
+
/**
|
|
273
|
+
* The identifier of the combat-related special ability of which the level
|
|
274
|
+
* defines the penalty instead.
|
|
275
|
+
*/
|
|
276
|
+
external_id?: Identifier.Group.CombatRelatedSpecialAbility;
|
|
277
|
+
} | {
|
|
278
|
+
tag: "ByAttack";
|
|
279
|
+
/**
|
|
280
|
+
* A list of penalties for subsequent attacks. The first element is the
|
|
281
|
+
* penalty for the first attack, the second element is the penalty for the
|
|
282
|
+
* second attack, and so on. The order of the first element may be changed
|
|
283
|
+
* using `initial_order`, so that e.g. if set to `2`, the first element is
|
|
284
|
+
* the penalty for the second attack, the second element is the penalty for
|
|
285
|
+
* the third attack, and so on.
|
|
286
|
+
* @minItems 1
|
|
287
|
+
*/
|
|
288
|
+
list: {
|
|
289
|
+
/**
|
|
290
|
+
* The penalty value for this order.
|
|
291
|
+
* @integer
|
|
292
|
+
*/
|
|
293
|
+
value: number;
|
|
294
|
+
}[];
|
|
295
|
+
/**
|
|
296
|
+
* The order of the first element in the `list` of penalties.
|
|
297
|
+
*/
|
|
298
|
+
initial_order?: number;
|
|
299
|
+
/**
|
|
300
|
+
* Set if a predefined different word should be used instead of the word
|
|
301
|
+
* `attack` for display purposes.
|
|
302
|
+
*/
|
|
303
|
+
attack_replacement?: {
|
|
304
|
+
tag: "Throw";
|
|
305
|
+
};
|
|
306
|
+
} | {
|
|
307
|
+
tag: "DependsOnHitZone";
|
|
308
|
+
};
|
|
186
309
|
/**
|
|
187
310
|
* The AE Cost.
|
|
188
311
|
*/
|
|
@@ -48,6 +48,12 @@ export declare namespace Identifier {
|
|
|
48
48
|
RingEnchantment = "RingEnchantment",
|
|
49
49
|
ChronicleEnchantment = "ChronicleEnchantment"
|
|
50
50
|
}
|
|
51
|
+
enum CombatRelatedSpecialAbility {
|
|
52
|
+
CombatSpecialAbility = "CombatSpecialAbility",
|
|
53
|
+
CombatStyleSpecialAbility = "CombatStyleSpecialAbility",
|
|
54
|
+
AdvancedCombatSpecialAbility = "AdvancedCombatSpecialAbility",
|
|
55
|
+
CommandSpecialAbility = "CommandSpecialAbility"
|
|
56
|
+
}
|
|
51
57
|
enum Rated {
|
|
52
58
|
Attribute = "Attribute",
|
|
53
59
|
Skill = "Skill",
|
|
@@ -73,12 +79,12 @@ export declare namespace Identifier {
|
|
|
73
79
|
* The referenced entry's numeric identifier.
|
|
74
80
|
* @integer
|
|
75
81
|
* @minimum 1
|
|
76
|
-
* @maximum 8
|
|
77
82
|
*/
|
|
78
83
|
value: number;
|
|
79
84
|
};
|
|
80
85
|
namespace Group {
|
|
81
86
|
type Activatable = Tagged<Tag.Activatable>;
|
|
87
|
+
type CombatRelatedSpecialAbility = Tagged<Tag.CombatRelatedSpecialAbility>;
|
|
82
88
|
type Rated = Tagged<Tag.Rated>;
|
|
83
89
|
type AdvancedSpecialAbilityRestrictedOption = Tagged<Tag.AdvancedSpecialAbilityRestrictedOption>;
|
|
84
90
|
type CombatTechnique = Tagged<Tag.CombatTechnique>;
|
package/lib/types/_Identifier.js
CHANGED
|
@@ -51,6 +51,13 @@ export var Identifier;
|
|
|
51
51
|
Activatable["RingEnchantment"] = "RingEnchantment";
|
|
52
52
|
Activatable["ChronicleEnchantment"] = "ChronicleEnchantment";
|
|
53
53
|
})(Activatable = Tag.Activatable || (Tag.Activatable = {}));
|
|
54
|
+
let CombatRelatedSpecialAbility;
|
|
55
|
+
(function (CombatRelatedSpecialAbility) {
|
|
56
|
+
CombatRelatedSpecialAbility["CombatSpecialAbility"] = "CombatSpecialAbility";
|
|
57
|
+
CombatRelatedSpecialAbility["CombatStyleSpecialAbility"] = "CombatStyleSpecialAbility";
|
|
58
|
+
CombatRelatedSpecialAbility["AdvancedCombatSpecialAbility"] = "AdvancedCombatSpecialAbility";
|
|
59
|
+
CombatRelatedSpecialAbility["CommandSpecialAbility"] = "CommandSpecialAbility";
|
|
60
|
+
})(CombatRelatedSpecialAbility = Tag.CombatRelatedSpecialAbility || (Tag.CombatRelatedSpecialAbility = {}));
|
|
54
61
|
let Rated;
|
|
55
62
|
(function (Rated) {
|
|
56
63
|
Rated["Attribute"] = "Attribute";
|
|
@@ -13,6 +13,7 @@ export declare type AdvancedCombatSpecialAbility = {
|
|
|
13
13
|
usage_type: Activatable.CombatSpecialAbilityType;
|
|
14
14
|
skill_applications?: Activatable.SkillApplications;
|
|
15
15
|
skill_uses?: Activatable.SkillUses;
|
|
16
|
+
penalty?: Activatable.Penalty;
|
|
16
17
|
combat_techniques: Activatable.ApplicableCombatTechniques;
|
|
17
18
|
ap_value: Activatable.AdventurePointsValue;
|
|
18
19
|
src: PublicationRefs;
|
|
@@ -13,6 +13,7 @@ export declare type CombatSpecialAbility = {
|
|
|
13
13
|
usage_type: Activatable.CombatSpecialAbilityType;
|
|
14
14
|
skill_applications?: Activatable.SkillApplications;
|
|
15
15
|
skill_uses?: Activatable.SkillUses;
|
|
16
|
+
penalty?: Activatable.Penalty;
|
|
16
17
|
combat_techniques: Activatable.ApplicableCombatTechniques;
|
|
17
18
|
ap_value: Activatable.AdventurePointsValue;
|
|
18
19
|
src: PublicationRefs;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main TradeSecret
|
|
3
|
+
*/
|
|
4
|
+
import { Errata } from "../../source/_Erratum";
|
|
5
|
+
import { PublicationRefs } from "../../source/_PublicationRef";
|
|
6
|
+
/**
|
|
7
|
+
* @title Trade Secret
|
|
8
|
+
*/
|
|
9
|
+
export declare type TradeSecret = {
|
|
10
|
+
/**
|
|
11
|
+
* The trade secret's identifier. An unique, increasing integer.
|
|
12
|
+
* @integer
|
|
13
|
+
* @minimum 1
|
|
14
|
+
*/
|
|
15
|
+
id: number;
|
|
16
|
+
/**
|
|
17
|
+
* The adventure points value of the trade secret.
|
|
18
|
+
* @integer
|
|
19
|
+
* @minimum 1
|
|
20
|
+
*/
|
|
21
|
+
ap_value: number;
|
|
22
|
+
/**
|
|
23
|
+
* Is this trade secret considered secret knowledge?
|
|
24
|
+
*/
|
|
25
|
+
is_secret_knowledge: boolean;
|
|
26
|
+
src: PublicationRefs;
|
|
27
|
+
/**
|
|
28
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
29
|
+
* @minProperties 1
|
|
30
|
+
*/
|
|
31
|
+
translations: {
|
|
32
|
+
/**
|
|
33
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
34
|
+
*/
|
|
35
|
+
[localeId: string]: {
|
|
36
|
+
/**
|
|
37
|
+
* The name of the trade secret.
|
|
38
|
+
* @minLength 1
|
|
39
|
+
*/
|
|
40
|
+
name: string;
|
|
41
|
+
/**
|
|
42
|
+
* The description of the trade secret.
|
|
43
|
+
* @markdown
|
|
44
|
+
* @minLength 1
|
|
45
|
+
*/
|
|
46
|
+
description?: string;
|
|
47
|
+
errata?: Errata;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optolith-database-schema",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
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",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
27
|
"@types/node": "^17.0.21",
|
|
28
|
-
"optolith-tsjsonschemamd": "^0.5.
|
|
28
|
+
"optolith-tsjsonschemamd": "^0.5.3",
|
|
29
29
|
"standard-version": "^9.3.2",
|
|
30
30
|
"typescript": "^4.6.2"
|
|
31
31
|
},
|