optolith-database-schema 0.4.1 → 0.5.1

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 (118) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/lib/config.d.ts +2 -0
  3. package/lib/config.js +2 -0
  4. package/lib/main.d.ts +6 -3
  5. package/lib/main.js +55 -28
  6. package/lib/types/Cantrip.d.ts +2 -3
  7. package/lib/types/Culture.d.ts +8 -11
  8. package/lib/types/Lessons_Curriculum.d.ts +5 -4
  9. package/lib/types/Lessons_Guideline.d.ts +1 -1
  10. package/lib/types/Patron.d.ts +28 -4
  11. package/lib/types/Profession.d.ts +7 -6
  12. package/lib/types/Race.d.ts +12 -14
  13. package/lib/types/TargetCategory.d.ts +2 -3
  14. package/lib/types/_Activatable.d.ts +21 -22
  15. package/lib/types/_ActivatableSelectOptionCategory.d.ts +1 -1
  16. package/lib/types/_ActivatableSkillCost.d.ts +28 -1
  17. package/lib/types/_ActivatableSkillDuration.d.ts +1 -1
  18. package/lib/types/_ActivatableSkillRange.d.ts +3 -0
  19. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +2 -4
  20. package/lib/types/_DiseasePoison.d.ts +3 -3
  21. package/lib/types/_Identifier.d.ts +1175 -247
  22. package/lib/types/_Identifier.js +0 -228
  23. package/lib/types/_IdentifierGroup.d.ts +27 -0
  24. package/lib/types/_IdentifierGroup.js +1 -0
  25. package/lib/types/_Prerequisite.d.ts +38 -36
  26. package/lib/types/_ResponsiveText.d.ts +1 -1
  27. package/lib/types/_SimpleReferences.d.ts +50 -253
  28. package/lib/types/equipment/EquipmentPackage.d.ts +1 -1
  29. package/lib/types/equipment/item/Elixir.d.ts +75 -0
  30. package/lib/types/equipment/item/Elixir.js +5 -0
  31. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +1 -1
  32. package/lib/types/equipment/item/Poison.d.ts +220 -47
  33. package/lib/types/equipment/item/Poison.js +10 -0
  34. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +6 -2
  35. package/lib/types/equipment/item/_Herbary.d.ts +31 -0
  36. package/lib/types/equipment/item/_Herbary.js +22 -0
  37. package/lib/types/equipment/item/_MeleeWeapon.d.ts +2 -9
  38. package/lib/types/equipment/item/_RangedWeapon.d.ts +2 -3
  39. package/lib/types/magicalActions/AnimistPower.d.ts +0 -1
  40. package/lib/types/magicalActions/MagicalRune.d.ts +22 -3
  41. package/lib/types/magicalActions/_SkillReference.d.ts +3 -2
  42. package/lib/types/magicalActions/_SkillReference.js +5 -5
  43. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +2 -20
  44. package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +1 -62
  45. package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +2 -3
  46. package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +5 -2
  47. package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +1 -1
  48. package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +2 -3
  49. package/lib/types/prerequisites/single/RacePrerequisite.d.ts +5 -2
  50. package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +1 -18
  51. package/lib/types/prerequisites/single/RulePrerequisite.d.ts +1 -1
  52. package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +2 -4
  53. package/lib/types/prerequisites/single/StatePrerequisite.d.ts +2 -2
  54. package/lib/types/rule/CoreRule.d.ts +4 -7
  55. package/lib/types/source/_PublicationRef.d.ts +2 -3
  56. package/lib/types/specialAbility/BlessedTradition.d.ts +1 -1
  57. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +2 -1
  58. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +2 -1
  59. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +2 -1
  60. package/lib/types/specialAbility/MagicalTradition.d.ts +2 -3
  61. package/lib/types/specialAbility/PactGift.d.ts +1 -1
  62. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +2 -1
  63. package/lib/types/specialAbility/sub/_LanguageScript.d.ts +2 -4
  64. package/lib/validation/schema.d.ts +5 -2
  65. package/lib/validation/schema.js +8 -6
  66. package/package.json +2 -2
  67. package/schema/Cantrip.schema.json +1 -2
  68. package/schema/Culture.schema.json +51 -10
  69. package/schema/Lessons_Curriculum.schema.json +8 -12
  70. package/schema/Lessons_Guideline.schema.json +1 -1
  71. package/schema/Patron.schema.json +24 -6
  72. package/schema/Profession.schema.json +57 -15
  73. package/schema/Race.schema.json +121 -13
  74. package/schema/TargetCategory.schema.json +1 -2
  75. package/schema/_Activatable.schema.json +5 -181
  76. package/schema/_ActivatableSelectOptionCategory.schema.json +4 -4
  77. package/schema/_ActivatableSkillCost.schema.json +61 -0
  78. package/schema/_ActivatableSkillDuration.schema.json +1 -3
  79. package/schema/_ActivatableSkillRange.schema.json +19 -0
  80. package/schema/_DiseasePoison.schema.json +0 -2
  81. package/schema/_Identifier.schema.json +2099 -347
  82. package/schema/_IdentifierGroup.schema.json +601 -0
  83. package/schema/_Prerequisite.schema.json +1284 -1049
  84. package/schema/_ResponsiveText.schema.json +2 -2
  85. package/schema/_SimpleReferences.schema.json +54 -130
  86. package/schema/equipment/EquipmentPackage.schema.json +1 -1
  87. package/schema/equipment/item/Elixir.schema.json +123 -0
  88. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +4 -1
  89. package/schema/equipment/item/Poison.schema.json +431 -68
  90. package/schema/equipment/item/ToolOfTheTrade.schema.json +15 -4
  91. package/schema/equipment/item/_Herbary.schema.json +42 -0
  92. package/schema/equipment/item/_MeleeWeapon.schema.json +1 -13
  93. package/schema/equipment/item/_RangedWeapon.schema.json +1 -2
  94. package/schema/magicalActions/AnimistPower.schema.json +0 -1
  95. package/schema/magicalActions/MagicalRune.schema.json +38 -3
  96. package/schema/magicalActions/_SkillReference.schema.json +15 -3
  97. package/schema/prerequisites/PrerequisiteGroups.schema.json +0 -96
  98. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +2 -87
  99. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +1 -2
  100. package/schema/prerequisites/single/CulturePrerequisite.schema.json +2 -1
  101. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +1 -1
  102. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +1 -2
  103. package/schema/prerequisites/single/RacePrerequisite.schema.json +2 -1
  104. package/schema/prerequisites/single/RatedPrerequisite.schema.json +1 -28
  105. package/schema/prerequisites/single/RulePrerequisite.schema.json +1 -1
  106. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +1 -3
  107. package/schema/prerequisites/single/StatePrerequisite.schema.json +1 -1
  108. package/schema/rule/CoreRule.schema.json +3 -5
  109. package/schema/source/_PublicationRef.schema.json +1 -2
  110. package/schema/specialAbility/BlessedTradition.schema.json +2 -2
  111. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +511 -1
  112. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +511 -1
  113. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +511 -1
  114. package/schema/specialAbility/MagicalTradition.schema.json +1 -2
  115. package/schema/specialAbility/PactGift.schema.json +1 -1
  116. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +511 -1
  117. package/schema/specialAbility/sub/_LanguageScript.schema.json +1 -3
  118. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +0 -22
@@ -1,334 +1,131 @@
1
- import { CombatTechniqueIdentifier } from "./_Identifier.js";
1
+ import { AdvantageIdentifier, AnimalTypeIdentifier, AnimistTribeIdentifier, ArmorIdentifier, AspectIdentifier, AttributeIdentifier, BlessedTraditionIdentifier, BlessingIdentifier, CantripIdentifier, CeremonyIdentifier, CloseCombatTechniqueIdentifier, CultureIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ElementIdentifier, EyeColorIdentifier, GuidelineIdentifier, HairColorIdentifier, LanguageIdentifier, LiturgicalChantIdentifier, MagicalTraditionIdentifier, PactCategoryIdentifier, PactDomainIdentifier, PatronCategoryIdentifier, PatronIdentifier, PersonalityTraitIdentifier, ProfessionIdentifier, ProfessionVariantIdentifier, PropertyIdentifier, RaceIdentifier, RangedCombatTechniqueIdentifier, RitualIdentifier, ScriptIdentifier, SkillGroupIdentifier, SkillIdentifier, SocialStatusIdentifier, SpellIdentifier, SubjectIdentifier, TargetCategoryIdentifier, WeaponIdentifier } from "./_Identifier.js";
2
+ import { CombatTechniqueIdentifier, SpellworkIdentifier } from "./_IdentifierGroup.js";
2
3
  export declare type FocusRuleSubjectReference = {
3
- /**
4
- * The focus rule subject's identifier.
5
- * @integer
6
- * @minimum 1
7
- */
8
- id: number;
4
+ id: SubjectIdentifier;
9
5
  };
10
6
  export declare type RaceReference = {
11
- /**
12
- * The race's identifier.
13
- * @integer
14
- * @minimum 1
15
- */
16
- id: number;
7
+ id: RaceIdentifier;
17
8
  };
18
9
  export declare type CultureReference = {
19
- /**
20
- * The culture's identifier.
21
- * @integer
22
- * @minimum 1
23
- */
24
- id: number;
10
+ id: CultureIdentifier;
25
11
  };
26
12
  export declare type ProfessionReference = {
27
- /**
28
- * The profession's identifier.
29
- * @integer
30
- * @minimum 1
31
- */
32
- id: number;
13
+ id: ProfessionIdentifier;
33
14
  };
34
15
  export declare type ProfessionVariantReference = {
35
- /**
36
- * The profession variant's identifier.
37
- * @integer
38
- * @minimum 1
39
- */
40
- id: number;
16
+ id: ProfessionVariantIdentifier;
41
17
  };
42
18
  export declare type AttributeReference = {
43
- /**
44
- * The attribute's identifier.
45
- * @integer
46
- * @minimum 1
47
- * @maximum 8
48
- */
49
- id: number;
19
+ id: AttributeIdentifier;
50
20
  };
51
21
  export declare type SkillReference = {
52
- /**
53
- * The skill's identifier.
54
- * @integer
55
- * @minimum 1
56
- */
57
- id: number;
22
+ id: SkillIdentifier;
58
23
  };
59
24
  export declare type SkillGroupReference = {
60
- /**
61
- * The skill group's identifier.
62
- * @integer
63
- * @minimum 1
64
- * @maximum 5
65
- */
66
- id: number;
25
+ id: SkillGroupIdentifier;
67
26
  };
68
27
  export declare type CombatTechniqueReference = {
69
- /**
70
- * The combat technique's identifier.
71
- */
72
28
  id: CombatTechniqueIdentifier;
73
29
  };
74
30
  export declare type CloseCombatTechniqueReference = {
75
- /**
76
- * The close combat technique's identifier.
77
- * @integer
78
- * @minimum 1
79
- */
80
- id: number;
31
+ id: CloseCombatTechniqueIdentifier;
81
32
  };
82
33
  export declare type RangedCombatTechniqueReference = {
83
- /**
84
- * The ranged combat technique's identifier.
85
- * @integer
86
- * @minimum 1
87
- */
88
- id: number;
34
+ id: RangedCombatTechniqueIdentifier;
89
35
  };
90
36
  export declare type MagicalTraditionReference = {
91
- /**
92
- * The magical tradition's identifier.
93
- * @integer
94
- * @minimum 1
95
- */
96
- id: number;
37
+ id: MagicalTraditionIdentifier;
97
38
  };
98
39
  export declare type CantripReference = {
99
- /**
100
- * The cantrip's identifier.
101
- * @integer
102
- * @minimum 1
103
- */
104
- id: number;
40
+ id: CantripIdentifier;
105
41
  };
106
42
  export declare type SpellReference = {
107
- /**
108
- * The spell's identifier.
109
- * @integer
110
- * @minimum 1
111
- */
112
- id: number;
43
+ id: SpellIdentifier;
113
44
  };
114
45
  export declare type RitualReference = {
115
- /**
116
- * The ritual's identifier.
117
- * @integer
118
- * @minimum 1
119
- */
120
- id: number;
46
+ id: RitualIdentifier;
47
+ };
48
+ export declare type SpellworkReference = {
49
+ id: SpellworkIdentifier;
121
50
  };
122
51
  export declare type PropertyReference = {
123
- /**
124
- * The property's identifier.
125
- * @integer
126
- * @minimum 1
127
- */
128
- id: number;
52
+ id: PropertyIdentifier;
129
53
  };
130
54
  export declare type BlessedTraditionReference = {
131
- /**
132
- * The blessed tradition's identifier.
133
- * @integer
134
- * @minimum 1
135
- */
136
- id: number;
55
+ id: BlessedTraditionIdentifier;
137
56
  };
138
57
  export declare type BlessingReference = {
139
- /**
140
- * The blessing's identifier.
141
- * @integer
142
- * @minimum 1
143
- */
144
- id: number;
58
+ id: BlessingIdentifier;
145
59
  };
146
60
  export declare type LiturgicalChantReference = {
147
- /**
148
- * The liturgical chant's identifier.
149
- * @integer
150
- * @minimum 1
151
- */
152
- id: number;
61
+ id: LiturgicalChantIdentifier;
153
62
  };
154
63
  export declare type CeremonyReference = {
155
- /**
156
- * The ceremony's identifier.
157
- * @integer
158
- * @minimum 1
159
- */
160
- id: number;
64
+ id: CeremonyIdentifier;
161
65
  };
162
66
  export declare type AspectReference = {
163
- /**
164
- * The aspect's identifier.
165
- * @integer
166
- * @minimum 1
167
- */
168
- id: number;
67
+ id: AspectIdentifier;
169
68
  };
170
69
  export declare type AdvantageReference = {
171
- /**
172
- * The advantage's identifier.
173
- * @integer
174
- * @minimum 1
175
- */
176
- id: number;
177
- };
178
- export declare type AdvancedSpecialAbilityReference = {
179
- /**
180
- * The advanced special ability's identifier.
181
- * @integer
182
- * @minimum 1
183
- */
184
- id: number;
70
+ id: AdvantageIdentifier;
71
+ };
72
+ export declare type DisadvantageReference = {
73
+ id: DisadvantageIdentifier;
74
+ };
75
+ export declare type AdvancedSpecialAbilityReference<Identifier> = {
76
+ id: Identifier;
185
77
  };
186
78
  export declare type LanguageReference = {
187
- /**
188
- * The language's identifier.
189
- * @integer
190
- * @minimum 1
191
- */
192
- id: number;
79
+ id: LanguageIdentifier;
193
80
  };
194
81
  export declare type ScriptReference = {
195
- /**
196
- * The script's identifier.
197
- * @integer
198
- * @minimum 1
199
- */
200
- id: number;
82
+ id: ScriptIdentifier;
201
83
  };
202
84
  export declare type SocialStatusReference = {
203
- /**
204
- * The social status's identifier.
205
- * @integer
206
- * @minimum 1
207
- * @maximum 5
208
- */
209
- id: number;
85
+ id: SocialStatusIdentifier;
210
86
  };
211
87
  export declare type CurriculumReference = {
212
- /**
213
- * The institution's curriculum's identifier.
214
- * @integer
215
- * @minimum 1
216
- */
217
- id: number;
88
+ id: CurriculumIdentifier;
218
89
  };
219
90
  export declare type GuidelineReference = {
220
- /**
221
- * The institution's guideline's identifier.
222
- * @integer
223
- * @minimum 1
224
- * @maximum 6
225
- */
226
- id: number;
91
+ id: GuidelineIdentifier;
227
92
  };
228
93
  export declare type AnimalTypeReference = {
229
- /**
230
- * The animal type's identifier.
231
- * @integer
232
- * @minimum 1
233
- */
234
- id: number;
94
+ id: AnimalTypeIdentifier;
235
95
  };
236
96
  export declare type TargetCategoryReference = {
237
- /**
238
- * The target category's identifier.
239
- * @integer
240
- * @minimum 1
241
- * @maximum 24
242
- */
243
- id: number;
97
+ id: TargetCategoryIdentifier;
244
98
  };
245
99
  export declare type PatronCategoryReference = {
246
- /**
247
- * The patron category's identifier.
248
- * @integer
249
- * @minimum 1
250
- */
251
- id: number;
100
+ id: PatronCategoryIdentifier;
252
101
  };
253
102
  export declare type PersonalityTraitReference = {
254
- /**
255
- * The personality trait's identifier.
256
- * @integer
257
- * @minimum 1
258
- */
259
- id: number;
103
+ id: PersonalityTraitIdentifier;
260
104
  };
261
105
  export declare type HairColorReference = {
262
- /**
263
- * The hair color's identifier.
264
- * @integer
265
- * @minimum 1
266
- */
267
- id: number;
106
+ id: HairColorIdentifier;
268
107
  };
269
108
  export declare type EyeColorReference = {
270
- /**
271
- * The hair color's identifier.
272
- * @integer
273
- * @minimum 1
274
- */
275
- id: number;
109
+ id: EyeColorIdentifier;
276
110
  };
277
111
  export declare type PactCategoryReference = {
278
- /**
279
- * The pact category's identifier.
280
- * @integer
281
- * @minimum 1
282
- */
283
- id: number;
112
+ id: PactCategoryIdentifier;
284
113
  };
285
114
  export declare type PactDomainReference = {
286
- /**
287
- * The domain's identifier.
288
- * @integer
289
- * @minimum 1
290
- */
291
- id: number;
115
+ id: PactDomainIdentifier;
292
116
  };
293
117
  export declare type PatronReference = {
294
- /**
295
- * The patron's identifier.
296
- * @integer
297
- * @minimum 1
298
- */
299
- id: number;
118
+ id: PatronIdentifier;
300
119
  };
301
120
  export declare type AnimistTribeReference = {
302
- /**
303
- * The tribe's identifier.
304
- * @integer
305
- * @minimum 1
306
- * @maximum 6
307
- */
308
- id: number;
121
+ id: AnimistTribeIdentifier;
309
122
  };
310
123
  export declare type ElementReference = {
311
- /**
312
- * The element's identifier.
313
- * @integer
314
- * @minimum 1
315
- * @maximum 6
316
- */
317
- id: number;
124
+ id: ElementIdentifier;
318
125
  };
319
126
  export declare type WeaponReference = {
320
- /**
321
- * The weapon's identifier.
322
- * @integer
323
- * @minimum 1
324
- */
325
- id: number;
127
+ id: WeaponIdentifier;
326
128
  };
327
129
  export declare type ArmorReference = {
328
- /**
329
- * The armor's identifier.
330
- * @integer
331
- * @minimum 1
332
- */
333
- id: number;
130
+ id: ArmorIdentifier;
334
131
  };
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @main EquipmentPackage
3
3
  */
4
- import { EquipmentIdentifier } from "../_Identifier.js";
4
+ import { EquipmentIdentifier } from "../_IdentifierGroup.js";
5
5
  import { LocaleMap } from "../_LocaleMap.js";
6
6
  import { NonEmptyString } from "../_NonEmptyString.js";
7
7
  /**
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @main Elixir
3
+ */
4
+ import { Errata } from "../../source/_Erratum.js";
5
+ import { PublicationRefs } from "../../source/_PublicationRef.js";
6
+ import { AlternativeName } from "../../_AlternativeNames.js";
7
+ import { LocaleMap } from "../../_LocaleMap.js";
8
+ import { NonEmptyMarkdown, NonEmptyString } from "../../_NonEmptyString.js";
9
+ import { LaboratoryLevel, RecipeTradeSecret } from "./_Herbary.js";
10
+ export declare type Elixir = {
11
+ /**
12
+ * The elixir's identifier. An unique, increasing integer.
13
+ * @integer
14
+ * @minimum 1
15
+ */
16
+ id: number;
17
+ /**
18
+ * The cost per ingredient level in silverthalers.
19
+ */
20
+ cost_per_ingredient_level: number;
21
+ /**
22
+ * The laboratory level needed to brew the elixir.
23
+ */
24
+ laboratory: LaboratoryLevel;
25
+ /**
26
+ * The brewing difficulty, which represents the challenge of creating an
27
+ * elixir.
28
+ * @integer
29
+ */
30
+ brewing_difficulty: number;
31
+ /**
32
+ * AP value and prerequisites of the elixir recipe’s trade secret.
33
+ */
34
+ trade_secret: RecipeTradeSecret;
35
+ src: PublicationRefs;
36
+ /**
37
+ * All translations for the entry, identified by IETF language tag (BCP47).
38
+ */
39
+ translations: LocaleMap<ElixirTranslation>;
40
+ };
41
+ export declare type ElixirTranslation = {
42
+ /**
43
+ * The name of the elixir.
44
+ */
45
+ name: NonEmptyString;
46
+ /**
47
+ * A list of alternative names.
48
+ * @minItems 1
49
+ */
50
+ alternative_names?: AlternativeName[];
51
+ /**
52
+ * A list of common ingredients.
53
+ * @minItems 1
54
+ * @uniqueItems
55
+ */
56
+ common_ingredients: NonEmptyString[];
57
+ /**
58
+ * Prerequsites for the brewing process, if any.
59
+ */
60
+ brewing_process_prerequisites?: NonEmptyMarkdown;
61
+ /**
62
+ * The list of effects for each quality level. The first element
63
+ * represents QL 1, the second element QL 2, and so on.
64
+ */
65
+ quality_levels: [
66
+ NonEmptyMarkdown,
67
+ NonEmptyMarkdown,
68
+ NonEmptyMarkdown,
69
+ NonEmptyMarkdown,
70
+ NonEmptyMarkdown,
71
+ NonEmptyMarkdown
72
+ ];
73
+ errata?: Errata;
74
+ };
75
+ export declare const validateSchema: import("../../../validation/schema.js").TypeValidator<Elixir>;
@@ -0,0 +1,5 @@
1
+ /**
2
+ * @main Elixir
3
+ */
4
+ import { validateSchemaCreator } from "../../../validation/schema.js";
5
+ export const validateSchema = validateSchemaCreator(import.meta.url);
@@ -18,7 +18,7 @@ export declare type EquipmentOfBlessedOnes = {
18
18
  /**
19
19
  * The deity associated with the equipment item.
20
20
  */
21
- associated_tradition: BlessedTraditionReference;
21
+ associated_tradition: BlessedTraditionReference[];
22
22
  src: PublicationRefs;
23
23
  /**
24
24
  * All translations for the entry, identified by IETF language tag (BCP47).