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.
Files changed (67) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/lib/types/FamiliarsTrick.d.ts +333 -0
  3. package/lib/types/FamiliarsTrick.js +4 -0
  4. package/lib/types/FamiliarsTrick_AnimalType.d.ts +30 -0
  5. package/lib/types/FamiliarsTrick_AnimalType.js +4 -0
  6. package/lib/types/_Activatable.d.ts +124 -1
  7. package/lib/types/_Identifier.d.ts +7 -1
  8. package/lib/types/_Identifier.js +7 -0
  9. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1 -0
  10. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1 -0
  11. package/lib/types/specialAbility/sub/TradeSecret.d.ts +50 -0
  12. package/lib/types/specialAbility/sub/TradeSecret.js +4 -0
  13. package/package.json +2 -2
  14. package/schema/Advantage.schema.json +8 -8
  15. package/schema/Disadvantage.schema.json +6 -6
  16. package/schema/FamiliarsTrick.schema.json +602 -0
  17. package/schema/FamiliarsTrick_AnimalType.schema.json +45 -0
  18. package/schema/_Activatable.schema.json +245 -3
  19. package/schema/_Identifier.schema.json +26 -4
  20. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +13 -10
  21. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +8 -8
  22. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +8 -8
  23. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +8 -8
  24. package/schema/specialAbility/AncestorGlyph.schema.json +6 -6
  25. package/schema/specialAbility/BlessedTradition.schema.json +6 -6
  26. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +8 -8
  27. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +9 -9
  28. package/schema/specialAbility/CombatSpecialAbility.schema.json +13 -10
  29. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +11 -11
  30. package/schema/specialAbility/CommandSpecialAbility.schema.json +8 -8
  31. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +6 -6
  32. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +6 -6
  33. package/schema/specialAbility/FatePointSpecialAbility.schema.json +8 -8
  34. package/schema/specialAbility/GeneralSpecialAbility.schema.json +8 -8
  35. package/schema/specialAbility/KarmaSpecialAbility.schema.json +6 -6
  36. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +9 -9
  37. package/schema/specialAbility/LycantropicGift.schema.json +6 -6
  38. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +9 -9
  39. package/schema/specialAbility/MagicalSpecialAbility.schema.json +8 -8
  40. package/schema/specialAbility/MagicalTradition.schema.json +7 -7
  41. package/schema/specialAbility/PactGift.schema.json +6 -6
  42. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +5 -5
  43. package/schema/specialAbility/Sermon.schema.json +6 -6
  44. package/schema/specialAbility/SexSpecialAbility.schema.json +8 -8
  45. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +6 -6
  46. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +7 -7
  47. package/schema/specialAbility/VampiricGift.schema.json +6 -6
  48. package/schema/specialAbility/Vision.schema.json +6 -6
  49. package/schema/specialAbility/sub/TradeSecret.schema.json +68 -0
  50. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +7 -7
  51. package/schema/traditionArtifacts/AttireEnchantment.schema.json +7 -7
  52. package/schema/traditionArtifacts/BowlEnchantment.schema.json +7 -7
  53. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +7 -7
  54. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +7 -7
  55. package/schema/traditionArtifacts/DaggerRitual.schema.json +7 -7
  56. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +7 -7
  57. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +7 -7
  58. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +7 -7
  59. package/schema/traditionArtifacts/OrbEnchantment.schema.json +7 -7
  60. package/schema/traditionArtifacts/RingEnchantment.schema.json +7 -7
  61. package/schema/traditionArtifacts/SickleRitual.schema.json +7 -7
  62. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +7 -7
  63. package/schema/traditionArtifacts/StaffEnchantment.schema.json +7 -7
  64. package/schema/traditionArtifacts/ToyEnchantment.schema.json +7 -7
  65. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +7 -7
  66. package/schema/traditionArtifacts/WandEnchantment.schema.json +7 -7
  67. 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,4 @@
1
+ /**
2
+ * @main FamiliarsTrick
3
+ */
4
+ 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
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main AnimalType
3
+ */
4
+ export {};
@@ -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>;
@@ -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
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main TradeSecret
3
+ */
4
+ export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.1.0",
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.2",
28
+ "optolith-tsjsonschemamd": "^0.5.3",
29
29
  "standard-version": "^9.3.2",
30
30
  "typescript": "^4.6.2"
31
31
  },