optolith-database-schema 0.6.0 → 0.8.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 CHANGED
@@ -2,6 +2,50 @@
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.8.0](https://github.com/elyukai/optolith-database-schema/compare/v0.7.0...v0.8.0) (2023-01-03)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * remove none option from cost, do not use property instead
11
+ * use simple boolean to indicate implementation availability
12
+
13
+ ### Features
14
+
15
+ * add interval cost option ([6643594](https://github.com/elyukai/optolith-database-schema/commit/66435948fb567e161e6ab3ecc8e416e9cbef3441))
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * add missing KrallenkettenzauberIdentifier and add to associated groups ([2f18a75](https://github.com/elyukai/optolith-database-schema/commit/2f18a75e4bd61f31e8cf0f62de46685c18cc603b))
21
+ * RatedIdentifier used wrong SkillIdentifier ([c528f34](https://github.com/elyukai/optolith-database-schema/commit/c528f34f10bda702d5adf5f2e6fd4948a98b9f62))
22
+
23
+
24
+ * remove none option from cost, do not use property instead ([4a1cc06](https://github.com/elyukai/optolith-database-schema/commit/4a1cc062aaa47715d54922545cb1477567416cf0))
25
+ * use simple boolean to indicate implementation availability ([4282ef3](https://github.com/elyukai/optolith-database-schema/commit/4282ef3d7567919012f65197b4bc9c94176e5720))
26
+
27
+ ## [0.7.0](https://github.com/elyukai/optolith-database-schema/compare/v0.6.0...v0.7.0) (2022-12-25)
28
+
29
+
30
+ ### ⚠ BREAKING CHANGES
31
+
32
+ * `restricted_to_traditions` should only apply to magical traditions
33
+ * familiar's tricks may have life point cost
34
+
35
+ ### Features
36
+
37
+ * familiar's tricks may have life point cost ([d428bd3](https://github.com/elyukai/optolith-database-schema/commit/d428bd3384a3d707f95f842198d86d6d6e5a7a6c))
38
+ * sustained familiar's tricks may not have a sustaining interval ([178374d](https://github.com/elyukai/optolith-database-schema/commit/178374df2742aae7f7efd6bfdd13d61402e16b88))
39
+
40
+
41
+ ### Bug Fixes
42
+
43
+ * missing item cost variants ([608fd16](https://github.com/elyukai/optolith-database-schema/commit/608fd16379484de96d2b6d49ea01f570ead946dd))
44
+ * wrong tag-complementing property for subject identifier ([036a219](https://github.com/elyukai/optolith-database-schema/commit/036a2192f2aff4698d4df25315a9c46babf6881f))
45
+
46
+
47
+ * `restricted_to_traditions` should only apply to magical traditions ([a182e6c](https://github.com/elyukai/optolith-database-schema/commit/a182e6ccf9bdf5da327b48ff43e88375517da90f))
48
+
5
49
  ## [0.6.0](https://github.com/elyukai/optolith-database-schema/compare/v0.5.4...v0.6.0) (2022-12-10)
6
50
 
7
51
 
@@ -126,7 +126,13 @@ export declare type FixedOneTimeCost = {
126
126
  * @integer
127
127
  * @minimum 1
128
128
  */
129
- value: number;
129
+ ae_value: number;
130
+ /**
131
+ * The LP cost value.
132
+ * @integer
133
+ * @minimum 1
134
+ */
135
+ lp_value?: number;
130
136
  /**
131
137
  * The interval in which you have to pay the AE cost again.
132
138
  */
@@ -223,7 +229,13 @@ export declare type OneTimeIntervalCost = {
223
229
  * @integer
224
230
  * @minimum 1
225
231
  */
226
- value: number;
232
+ ae_value: number;
233
+ /**
234
+ * The LP cost value.
235
+ * @integer
236
+ * @minimum 1
237
+ */
238
+ lp_value?: number;
227
239
  /**
228
240
  * The duration granted/added by paying the given AE cost.
229
241
  */
@@ -238,10 +250,16 @@ export declare type SustainedCost = {
238
250
  * @integer
239
251
  * @minimum 1
240
252
  */
241
- value: number;
253
+ ae_value: number;
242
254
  /**
243
- * The interval in which you have to pay the AE cost again.
255
+ * The LP cost value.
256
+ * @integer
257
+ * @minimum 1
244
258
  */
245
- interval: DurationUnitValue;
259
+ lp_value?: number;
260
+ /**
261
+ * The interval in which you have to pay the AE cost again, if any.
262
+ */
263
+ interval?: DurationUnitValue;
246
264
  };
247
265
  export declare const validateSchema: import("../validation/schema.js").TypeValidator<FamiliarsTrick>;
@@ -530,6 +530,9 @@ export declare type ArcaneEnergyCost = {
530
530
  } | {
531
531
  tag: "PerCountable";
532
532
  per_countable: ArcaneEnergyCostPerCountable;
533
+ } | {
534
+ tag: "Interval";
535
+ interval: IntervalArcaneEnergyCost;
533
536
  } | {
534
537
  tag: "ActivationAndHalfInterval";
535
538
  activation_and_half_interval: ActivationAndHalfIntervalArcaneEnergyCost;
@@ -539,9 +542,6 @@ export declare type ArcaneEnergyCost = {
539
542
  } | {
540
543
  tag: "Disjunction";
541
544
  disjunction: ArcaneEnergyCostDisjunction;
542
- } | {
543
- tag: "None";
544
- none: NoArcaneEnergyCost;
545
545
  } | {
546
546
  tag: "Variable";
547
547
  variable: {};
@@ -609,7 +609,7 @@ export declare type ArcaneEnergyCostPerCountable = {
609
609
  /**
610
610
  * All translations for the entry, identified by IETF language tag (BCP47).
611
611
  */
612
- translations?: LocaleMap<ArcaneEnergyCostPerCountableTranslation>;
612
+ translations: LocaleMap<ArcaneEnergyCostPerCountableTranslation>;
613
613
  };
614
614
  export declare type ArcaneEnergyCostPerCountableTranslation = {
615
615
  /**
@@ -622,6 +622,18 @@ export declare type ArcaneEnergyCostPerCountableTranslation = {
622
622
  */
623
623
  note?: ResponsiveTextOptional;
624
624
  };
625
+ export declare type IntervalArcaneEnergyCost = {
626
+ /**
627
+ * The AE cost value that has to be payed each interval.
628
+ * @integer
629
+ * @minimum 1
630
+ */
631
+ value: number;
632
+ /**
633
+ * The time interval for which the AE cost `value` has to be paid.
634
+ */
635
+ interval: DurationUnitValue;
636
+ };
625
637
  export declare type ActivationAndHalfIntervalArcaneEnergyCost = {
626
638
  /**
627
639
  * The AE cost value that has to be payed for activation. Half of this value
@@ -637,34 +649,11 @@ export declare type ActivationAndHalfIntervalArcaneEnergyCost = {
637
649
  interval: DurationUnitValue;
638
650
  };
639
651
  export declare type IndefiniteArcaneEnergyCost = {
640
- /**
641
- * The indefinite AE cost may be modified by a certain value.
642
- */
643
- modifier: IndefiniteArcaneEnergyCostModifier;
644
652
  /**
645
653
  * All translations for the entry, identified by IETF language tag (BCP47).
646
654
  */
647
655
  translations: LocaleMap<IndefiniteArcaneEnergyCostTranslation>;
648
656
  };
649
- /**
650
- * Defines how the the `value` is set off against the check result.
651
- */
652
- export declare enum IndefiniteArcaneEnergyCostArithmetic {
653
- Add = "Add",
654
- Subtract = "Subtract"
655
- }
656
- export declare type IndefiniteArcaneEnergyCostModifier = {
657
- /**
658
- * The arithmetic how to apply the `value` to the `base`.
659
- */
660
- arithmetic: IndefiniteArcaneEnergyCostArithmetic;
661
- /**
662
- * The value that is applied to the `base` using the defined `arithmetic`.
663
- * @integer
664
- * @minimum 1
665
- */
666
- value: number;
667
- };
668
657
  export declare type IndefiniteArcaneEnergyCostTranslation = {
669
658
  /**
670
659
  * A description of where the cost come from.
@@ -38,14 +38,6 @@ export var FixedArcaneEnergyCostPerLevel;
38
38
  FixedArcaneEnergyCostPerLevel["Compressed"] = "Compressed";
39
39
  FixedArcaneEnergyCostPerLevel["Verbose"] = "Verbose";
40
40
  })(FixedArcaneEnergyCostPerLevel || (FixedArcaneEnergyCostPerLevel = {}));
41
- /**
42
- * Defines how the the `value` is set off against the check result.
43
- */
44
- export var IndefiniteArcaneEnergyCostArithmetic;
45
- (function (IndefiniteArcaneEnergyCostArithmetic) {
46
- IndefiniteArcaneEnergyCostArithmetic["Add"] = "Add";
47
- IndefiniteArcaneEnergyCostArithmetic["Subtract"] = "Subtract";
48
- })(IndefiniteArcaneEnergyCostArithmetic || (IndefiniteArcaneEnergyCostArithmetic = {}));
49
41
  // "Input": {
50
42
  // "description": "A string that is used as a placeholder text for an input field.",
51
43
  // "type": "string",
@@ -41,7 +41,7 @@ export declare type SubjectIdentifier = {
41
41
  * @integer
42
42
  * @minimum 1
43
43
  */
44
- focus_rule: number;
44
+ subject: number;
45
45
  };
46
46
  export declare type OptionalRuleIdentifier = {
47
47
  tag: "OptionalRule";
@@ -520,6 +520,15 @@ export declare type ChronicleEnchantmentIdentifier = {
520
520
  */
521
521
  chronicle_enchantment: number;
522
522
  };
523
+ export declare type KrallenkettenzauberIdentifier = {
524
+ tag: "Krallenkettenzauber";
525
+ /**
526
+ * The Krallenkettenzauber’s identifier.
527
+ * @integer
528
+ * @minimum 1
529
+ */
530
+ krallenkettenzauber: number;
531
+ };
523
532
  export declare type LanguageIdentifier = {
524
533
  tag: "Language";
525
534
  /**
@@ -1,9 +1,9 @@
1
1
  import * as Identifier from "./_Identifier.js";
2
- export declare type ActivatableIdentifier = Identifier.AdvantageIdentifier | Identifier.DisadvantageIdentifier | Identifier.GeneralSpecialAbilityIdentifier | Identifier.FatePointSpecialAbilityIdentifier | Identifier.CombatSpecialAbilityIdentifier | Identifier.MagicalSpecialAbilityIdentifier | Identifier.StaffEnchantmentIdentifier | Identifier.FamiliarSpecialAbilityIdentifier | Identifier.KarmaSpecialAbilityIdentifier | Identifier.ProtectiveWardingCircleSpecialAbilityIdentifier | Identifier.CombatStyleSpecialAbilityIdentifier | Identifier.AdvancedCombatSpecialAbilityIdentifier | Identifier.CommandSpecialAbilityIdentifier | Identifier.MagicStyleSpecialAbilityIdentifier | Identifier.AdvancedMagicalSpecialAbilityIdentifier | Identifier.SpellSwordEnchantmentIdentifier | Identifier.DaggerRitualIdentifier | Identifier.InstrumentEnchantmentIdentifier | Identifier.AttireEnchantmentIdentifier | Identifier.OrbEnchantmentIdentifier | Identifier.WandEnchantmentIdentifier | Identifier.BrawlingSpecialAbilityIdentifier | Identifier.AncestorGlyphIdentifier | Identifier.CeremonialItemSpecialAbilityIdentifier | Identifier.SermonIdentifier | Identifier.LiturgicalStyleSpecialAbilityIdentifier | Identifier.AdvancedKarmaSpecialAbilityIdentifier | Identifier.VisionIdentifier | Identifier.MagicalTraditionIdentifier | Identifier.BlessedTraditionIdentifier | Identifier.PactGiftIdentifier | Identifier.SikaryanDrainSpecialAbilityIdentifier | Identifier.LycantropicGiftIdentifier | Identifier.SkillStyleSpecialAbilityIdentifier | Identifier.AdvancedSkillSpecialAbilityIdentifier | Identifier.ArcaneOrbEnchantmentIdentifier | Identifier.CauldronEnchantmentIdentifier | Identifier.FoolsHatEnchantmentIdentifier | Identifier.ToyEnchantmentIdentifier | Identifier.BowlEnchantmentIdentifier | Identifier.FatePointSexSpecialAbilityIdentifier | Identifier.SexSpecialAbilityIdentifier | Identifier.WeaponEnchantmentIdentifier | Identifier.SickleRitualIdentifier | Identifier.RingEnchantmentIdentifier | Identifier.ChronicleEnchantmentIdentifier;
3
- export declare type SpecialAbilityIdentifier = Identifier.GeneralSpecialAbilityIdentifier | Identifier.FatePointSpecialAbilityIdentifier | Identifier.CombatSpecialAbilityIdentifier | Identifier.MagicalSpecialAbilityIdentifier | Identifier.StaffEnchantmentIdentifier | Identifier.FamiliarSpecialAbilityIdentifier | Identifier.KarmaSpecialAbilityIdentifier | Identifier.ProtectiveWardingCircleSpecialAbilityIdentifier | Identifier.CombatStyleSpecialAbilityIdentifier | Identifier.AdvancedCombatSpecialAbilityIdentifier | Identifier.CommandSpecialAbilityIdentifier | Identifier.MagicStyleSpecialAbilityIdentifier | Identifier.AdvancedMagicalSpecialAbilityIdentifier | Identifier.SpellSwordEnchantmentIdentifier | Identifier.DaggerRitualIdentifier | Identifier.InstrumentEnchantmentIdentifier | Identifier.AttireEnchantmentIdentifier | Identifier.OrbEnchantmentIdentifier | Identifier.WandEnchantmentIdentifier | Identifier.BrawlingSpecialAbilityIdentifier | Identifier.AncestorGlyphIdentifier | Identifier.CeremonialItemSpecialAbilityIdentifier | Identifier.SermonIdentifier | Identifier.LiturgicalStyleSpecialAbilityIdentifier | Identifier.AdvancedKarmaSpecialAbilityIdentifier | Identifier.VisionIdentifier | Identifier.MagicalTraditionIdentifier | Identifier.BlessedTraditionIdentifier | Identifier.PactGiftIdentifier | Identifier.SikaryanDrainSpecialAbilityIdentifier | Identifier.LycantropicGiftIdentifier | Identifier.SkillStyleSpecialAbilityIdentifier | Identifier.AdvancedSkillSpecialAbilityIdentifier | Identifier.ArcaneOrbEnchantmentIdentifier | Identifier.CauldronEnchantmentIdentifier | Identifier.FoolsHatEnchantmentIdentifier | Identifier.ToyEnchantmentIdentifier | Identifier.BowlEnchantmentIdentifier | Identifier.FatePointSexSpecialAbilityIdentifier | Identifier.SexSpecialAbilityIdentifier | Identifier.WeaponEnchantmentIdentifier | Identifier.SickleRitualIdentifier | Identifier.RingEnchantmentIdentifier | Identifier.ChronicleEnchantmentIdentifier;
2
+ export declare type ActivatableIdentifier = Identifier.AdvantageIdentifier | Identifier.DisadvantageIdentifier | Identifier.GeneralSpecialAbilityIdentifier | Identifier.FatePointSpecialAbilityIdentifier | Identifier.CombatSpecialAbilityIdentifier | Identifier.MagicalSpecialAbilityIdentifier | Identifier.StaffEnchantmentIdentifier | Identifier.FamiliarSpecialAbilityIdentifier | Identifier.KarmaSpecialAbilityIdentifier | Identifier.ProtectiveWardingCircleSpecialAbilityIdentifier | Identifier.CombatStyleSpecialAbilityIdentifier | Identifier.AdvancedCombatSpecialAbilityIdentifier | Identifier.CommandSpecialAbilityIdentifier | Identifier.MagicStyleSpecialAbilityIdentifier | Identifier.AdvancedMagicalSpecialAbilityIdentifier | Identifier.SpellSwordEnchantmentIdentifier | Identifier.DaggerRitualIdentifier | Identifier.InstrumentEnchantmentIdentifier | Identifier.AttireEnchantmentIdentifier | Identifier.OrbEnchantmentIdentifier | Identifier.WandEnchantmentIdentifier | Identifier.BrawlingSpecialAbilityIdentifier | Identifier.AncestorGlyphIdentifier | Identifier.CeremonialItemSpecialAbilityIdentifier | Identifier.SermonIdentifier | Identifier.LiturgicalStyleSpecialAbilityIdentifier | Identifier.AdvancedKarmaSpecialAbilityIdentifier | Identifier.VisionIdentifier | Identifier.MagicalTraditionIdentifier | Identifier.BlessedTraditionIdentifier | Identifier.PactGiftIdentifier | Identifier.SikaryanDrainSpecialAbilityIdentifier | Identifier.LycantropicGiftIdentifier | Identifier.SkillStyleSpecialAbilityIdentifier | Identifier.AdvancedSkillSpecialAbilityIdentifier | Identifier.ArcaneOrbEnchantmentIdentifier | Identifier.CauldronEnchantmentIdentifier | Identifier.FoolsHatEnchantmentIdentifier | Identifier.ToyEnchantmentIdentifier | Identifier.BowlEnchantmentIdentifier | Identifier.FatePointSexSpecialAbilityIdentifier | Identifier.SexSpecialAbilityIdentifier | Identifier.WeaponEnchantmentIdentifier | Identifier.SickleRitualIdentifier | Identifier.RingEnchantmentIdentifier | Identifier.ChronicleEnchantmentIdentifier | Identifier.KrallenkettenzauberIdentifier;
3
+ export declare type SpecialAbilityIdentifier = Identifier.GeneralSpecialAbilityIdentifier | Identifier.FatePointSpecialAbilityIdentifier | Identifier.CombatSpecialAbilityIdentifier | Identifier.MagicalSpecialAbilityIdentifier | Identifier.StaffEnchantmentIdentifier | Identifier.FamiliarSpecialAbilityIdentifier | Identifier.KarmaSpecialAbilityIdentifier | Identifier.ProtectiveWardingCircleSpecialAbilityIdentifier | Identifier.CombatStyleSpecialAbilityIdentifier | Identifier.AdvancedCombatSpecialAbilityIdentifier | Identifier.CommandSpecialAbilityIdentifier | Identifier.MagicStyleSpecialAbilityIdentifier | Identifier.AdvancedMagicalSpecialAbilityIdentifier | Identifier.SpellSwordEnchantmentIdentifier | Identifier.DaggerRitualIdentifier | Identifier.InstrumentEnchantmentIdentifier | Identifier.AttireEnchantmentIdentifier | Identifier.OrbEnchantmentIdentifier | Identifier.WandEnchantmentIdentifier | Identifier.BrawlingSpecialAbilityIdentifier | Identifier.AncestorGlyphIdentifier | Identifier.CeremonialItemSpecialAbilityIdentifier | Identifier.SermonIdentifier | Identifier.LiturgicalStyleSpecialAbilityIdentifier | Identifier.AdvancedKarmaSpecialAbilityIdentifier | Identifier.VisionIdentifier | Identifier.MagicalTraditionIdentifier | Identifier.BlessedTraditionIdentifier | Identifier.PactGiftIdentifier | Identifier.SikaryanDrainSpecialAbilityIdentifier | Identifier.LycantropicGiftIdentifier | Identifier.SkillStyleSpecialAbilityIdentifier | Identifier.AdvancedSkillSpecialAbilityIdentifier | Identifier.ArcaneOrbEnchantmentIdentifier | Identifier.CauldronEnchantmentIdentifier | Identifier.FoolsHatEnchantmentIdentifier | Identifier.ToyEnchantmentIdentifier | Identifier.BowlEnchantmentIdentifier | Identifier.FatePointSexSpecialAbilityIdentifier | Identifier.SexSpecialAbilityIdentifier | Identifier.WeaponEnchantmentIdentifier | Identifier.SickleRitualIdentifier | Identifier.RingEnchantmentIdentifier | Identifier.ChronicleEnchantmentIdentifier | Identifier.KrallenkettenzauberIdentifier;
4
4
  export declare type CombatRelatedSpecialAbilityIdentifier = Identifier.CombatSpecialAbilityIdentifier | Identifier.CombatStyleSpecialAbilityIdentifier | Identifier.AdvancedCombatSpecialAbilityIdentifier | Identifier.CommandSpecialAbilityIdentifier;
5
5
  export declare type TraditionIdentifier = Identifier.MagicalTraditionIdentifier | Identifier.BlessedTraditionIdentifier;
6
- export declare type RatedIdentifier = Identifier.AttributeIdentifier | SkillIdentifier | Identifier.CloseCombatTechniqueIdentifier | Identifier.RangedCombatTechniqueIdentifier | Identifier.SpellIdentifier | Identifier.RitualIdentifier | Identifier.LiturgicalChantIdentifier | Identifier.CeremonyIdentifier;
6
+ export declare type RatedIdentifier = Identifier.AttributeIdentifier | Identifier.SkillIdentifier | Identifier.CloseCombatTechniqueIdentifier | Identifier.RangedCombatTechniqueIdentifier | Identifier.SpellIdentifier | Identifier.RitualIdentifier | Identifier.LiturgicalChantIdentifier | Identifier.CeremonyIdentifier;
7
7
  export declare type SkillIdentifier = Identifier.SkillIdentifier | Identifier.SpellIdentifier | Identifier.RitualIdentifier | Identifier.LiturgicalChantIdentifier | Identifier.CeremonyIdentifier;
8
8
  export declare type AdvancedSpecialAbilityRestrictedOptionIdentifier = Identifier.GeneralIdentifier | Identifier.SkillIdentifier | Identifier.ElementIdentifier;
9
9
  export declare type VolumePointsOptionReferenceIdentifier = Identifier.GeneralIdentifier | Identifier.AnimalShapeSizeIdentifier;
@@ -5,7 +5,7 @@ import { Errata } from "../../source/_Erratum.js";
5
5
  import { PublicationRefs } from "../../source/_PublicationRef.js";
6
6
  import { LocaleMap } from "../../_LocaleMap.js";
7
7
  import { NonEmptyMarkdown, NonEmptyString } from "../../_NonEmptyString.js";
8
- import { BlessedTraditionReference, CultureReference, RaceReference, TraditionReference } from "../../_SimpleReferences.js";
8
+ import { BlessedTraditionReference, CultureReference, MagicalTraditionReference, RaceReference } from "../../_SimpleReferences.js";
9
9
  import { Complexity, Cost, StructurePoints, Weight } from "./_Item.js";
10
10
  import { MeleeWeapon } from "./_MeleeWeapon.js";
11
11
  import { RangedWeapon } from "./_RangedWeapon.js";
@@ -48,7 +48,7 @@ export declare type Weapon = {
48
48
  * characters of specific magical or blessed traditions.
49
49
  * @minItems 1
50
50
  */
51
- restricted_to_traditions?: TraditionReference[];
51
+ restricted_to_traditions?: MagicalTraditionReference[];
52
52
  src: PublicationRefs;
53
53
  /**
54
54
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -104,7 +104,7 @@ export declare type SecondaryWeapon = {
104
104
  * characters of specific magical or blessed traditions.
105
105
  * @minItems 1
106
106
  */
107
- restricted_to_traditions?: TraditionReference[];
107
+ restricted_to_traditions?: MagicalTraditionReference[];
108
108
  /**
109
109
  * All translations for the entry, identified by IETF language tag (BCP47).
110
110
  */
@@ -88,11 +88,8 @@ export declare type Cost = {
88
88
  tag: "Various";
89
89
  various: {};
90
90
  } | {
91
- tag: "";
92
- "": {};
93
- } | {
94
- tag: "";
95
- "": {};
91
+ tag: "Invaluable";
92
+ invaluable: {};
96
93
  } | {
97
94
  tag: "Fixed";
98
95
  fixed: FixedCost;
@@ -6,7 +6,6 @@ import { PublicationRefs } from "../source/_PublicationRef.js";
6
6
  import { LocaleMap } from "../_LocaleMap.js";
7
7
  import { NonEmptyMarkdown, NonEmptyString } from "../_NonEmptyString.js";
8
8
  import { FocusRuleSubjectReference } from "../_SimpleReferences.js";
9
- import { Relevance } from "./_Rule.js";
10
9
  /**
11
10
  * @title Focus Rule
12
11
  */
@@ -28,7 +27,11 @@ export declare type FocusRule = {
28
27
  * @maximum 4
29
28
  */
30
29
  level: number;
31
- relevance: Relevance;
30
+ /**
31
+ * Has the focus rule not been implemented in Optolith yet? This is also true
32
+ * if the focus rule does not (currently) apply to any Optolith feature.
33
+ */
34
+ is_missing_implementation: boolean;
32
35
  src: PublicationRefs;
33
36
  /**
34
37
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -5,7 +5,6 @@ import { Errata } from "../source/_Erratum.js";
5
5
  import { PublicationRefs } from "../source/_PublicationRef.js";
6
6
  import { LocaleMap } from "../_LocaleMap.js";
7
7
  import { NonEmptyMarkdown, NonEmptyString } from "../_NonEmptyString.js";
8
- import { Relevance } from "./_Rule.js";
9
8
  /**
10
9
  * @title Optional Rule
11
10
  */
@@ -17,12 +16,10 @@ export declare type OptionalRule = {
17
16
  */
18
17
  id: number;
19
18
  /**
20
- * The relevance of the optional rule for Optolith. It may be that it
21
- * influences character creating but it may also just influnce the character
22
- * sheet. If it is linked to systems in Optolith, it may be specified if this
23
- * rule has not been implemented in Optolith yet.
19
+ * Has the focus rule not been implemented in Optolith yet? This is also true
20
+ * if the focus rule does not (currently) apply to any Optolith feature.
24
21
  */
25
- relevance: Relevance;
22
+ is_missing_implementation: boolean;
26
23
  src: PublicationRefs;
27
24
  /**
28
25
  * All translations for the entry, identified by IETF language tag (BCP47).
@@ -16,7 +16,7 @@ export declare type AttireEnchantment = {
16
16
  maximum?: Activatable.Maximum;
17
17
  prerequisites?: GeneralPrerequisites;
18
18
  volume: Activatable.Volume;
19
- cost: Activatable.EnchantmentCost;
19
+ cost?: Activatable.EnchantmentCost;
20
20
  property: Activatable.Property;
21
21
  ap_value: Activatable.AdventurePointsValue;
22
22
  src: PublicationRefs;
@@ -21,7 +21,7 @@ export declare type CauldronEnchantment = {
21
21
  * brews can be categorized in different types.
22
22
  */
23
23
  brew: BrewReference;
24
- cost: Activatable.EnchantmentCost;
24
+ cost?: Activatable.EnchantmentCost;
25
25
  property: Activatable.Property;
26
26
  ap_value: Activatable.AdventurePointsValue;
27
27
  src: PublicationRefs;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.6.0",
3
+ "version": "0.8.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",
@@ -307,11 +307,16 @@
307
307
  "FixedOneTimeCost": {
308
308
  "type": "object",
309
309
  "properties": {
310
- "value": {
310
+ "ae_value": {
311
311
  "description": "The AE cost value.",
312
312
  "type": "integer",
313
313
  "minimum": 1
314
314
  },
315
+ "lp_value": {
316
+ "description": "The LP cost value.",
317
+ "type": "integer",
318
+ "minimum": 1
319
+ },
315
320
  "interval": {
316
321
  "description": "The interval in which you have to pay the AE cost again.",
317
322
  "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
@@ -329,7 +334,7 @@
329
334
  }
330
335
  },
331
336
  "required": [
332
- "value"
337
+ "ae_value"
333
338
  ],
334
339
  "additionalProperties": false
335
340
  },
@@ -537,18 +542,23 @@
537
542
  "OneTimeIntervalCost": {
538
543
  "type": "object",
539
544
  "properties": {
540
- "value": {
545
+ "ae_value": {
541
546
  "description": "The AE cost value.",
542
547
  "type": "integer",
543
548
  "minimum": 1
544
549
  },
550
+ "lp_value": {
551
+ "description": "The LP cost value.",
552
+ "type": "integer",
553
+ "minimum": 1
554
+ },
545
555
  "interval": {
546
556
  "description": "The duration granted/added by paying the given AE cost.",
547
557
  "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
548
558
  }
549
559
  },
550
560
  "required": [
551
- "value",
561
+ "ae_value",
552
562
  "interval"
553
563
  ],
554
564
  "additionalProperties": false
@@ -568,19 +578,23 @@
568
578
  "SustainedCost": {
569
579
  "type": "object",
570
580
  "properties": {
571
- "value": {
581
+ "ae_value": {
572
582
  "description": "The AE cost value.",
573
583
  "type": "integer",
574
584
  "minimum": 1
575
585
  },
586
+ "lp_value": {
587
+ "description": "The LP cost value.",
588
+ "type": "integer",
589
+ "minimum": 1
590
+ },
576
591
  "interval": {
577
- "description": "The interval in which you have to pay the AE cost again.",
592
+ "description": "The interval in which you have to pay the AE cost again, if any.",
578
593
  "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
579
594
  }
580
595
  },
581
596
  "required": [
582
- "value",
583
- "interval"
597
+ "ae_value"
584
598
  ],
585
599
  "additionalProperties": false
586
600
  }
@@ -965,15 +965,15 @@
965
965
  "type": "object",
966
966
  "properties": {
967
967
  "tag": {
968
- "const": "ActivationAndHalfInterval"
968
+ "const": "Interval"
969
969
  },
970
- "activation_and_half_interval": {
971
- "$ref": "#/$defs/ActivationAndHalfIntervalArcaneEnergyCost"
970
+ "interval": {
971
+ "$ref": "#/$defs/IntervalArcaneEnergyCost"
972
972
  }
973
973
  },
974
974
  "required": [
975
975
  "tag",
976
- "activation_and_half_interval"
976
+ "interval"
977
977
  ],
978
978
  "additionalProperties": false
979
979
  },
@@ -981,15 +981,15 @@
981
981
  "type": "object",
982
982
  "properties": {
983
983
  "tag": {
984
- "const": "Indefinite"
984
+ "const": "ActivationAndHalfInterval"
985
985
  },
986
- "indefinite": {
987
- "$ref": "#/$defs/IndefiniteArcaneEnergyCost"
986
+ "activation_and_half_interval": {
987
+ "$ref": "#/$defs/ActivationAndHalfIntervalArcaneEnergyCost"
988
988
  }
989
989
  },
990
990
  "required": [
991
991
  "tag",
992
- "indefinite"
992
+ "activation_and_half_interval"
993
993
  ],
994
994
  "additionalProperties": false
995
995
  },
@@ -997,15 +997,15 @@
997
997
  "type": "object",
998
998
  "properties": {
999
999
  "tag": {
1000
- "const": "Disjunction"
1000
+ "const": "Indefinite"
1001
1001
  },
1002
- "disjunction": {
1003
- "$ref": "#/$defs/ArcaneEnergyCostDisjunction"
1002
+ "indefinite": {
1003
+ "$ref": "#/$defs/IndefiniteArcaneEnergyCost"
1004
1004
  }
1005
1005
  },
1006
1006
  "required": [
1007
1007
  "tag",
1008
- "disjunction"
1008
+ "indefinite"
1009
1009
  ],
1010
1010
  "additionalProperties": false
1011
1011
  },
@@ -1013,15 +1013,15 @@
1013
1013
  "type": "object",
1014
1014
  "properties": {
1015
1015
  "tag": {
1016
- "const": "None"
1016
+ "const": "Disjunction"
1017
1017
  },
1018
- "none": {
1019
- "$ref": "#/$defs/NoArcaneEnergyCost"
1018
+ "disjunction": {
1019
+ "$ref": "#/$defs/ArcaneEnergyCostDisjunction"
1020
1020
  }
1021
1021
  },
1022
1022
  "required": [
1023
1023
  "tag",
1024
- "none"
1024
+ "disjunction"
1025
1025
  ],
1026
1026
  "additionalProperties": false
1027
1027
  },
@@ -1128,7 +1128,8 @@
1128
1128
  }
1129
1129
  },
1130
1130
  "required": [
1131
- "value"
1131
+ "value",
1132
+ "translations"
1132
1133
  ],
1133
1134
  "additionalProperties": false
1134
1135
  },
@@ -1149,6 +1150,25 @@
1149
1150
  ],
1150
1151
  "additionalProperties": false
1151
1152
  },
1153
+ "IntervalArcaneEnergyCost": {
1154
+ "type": "object",
1155
+ "properties": {
1156
+ "value": {
1157
+ "description": "The AE cost value that has to be payed each interval.",
1158
+ "type": "integer",
1159
+ "minimum": 1
1160
+ },
1161
+ "interval": {
1162
+ "description": "The time interval for which the AE cost `value` has to be paid.",
1163
+ "$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
1164
+ }
1165
+ },
1166
+ "required": [
1167
+ "value",
1168
+ "interval"
1169
+ ],
1170
+ "additionalProperties": false
1171
+ },
1152
1172
  "ActivationAndHalfIntervalArcaneEnergyCost": {
1153
1173
  "type": "object",
1154
1174
  "properties": {
@@ -1172,10 +1192,6 @@
1172
1192
  "IndefiniteArcaneEnergyCost": {
1173
1193
  "type": "object",
1174
1194
  "properties": {
1175
- "modifier": {
1176
- "description": "The indefinite AE cost may be modified by a certain value.",
1177
- "$ref": "#/$defs/IndefiniteArcaneEnergyCostModifier"
1178
- },
1179
1195
  "translations": {
1180
1196
  "description": "All translations for the entry, identified by IETF language tag (BCP47).",
1181
1197
  "type": "object",
@@ -1189,37 +1205,10 @@
1189
1205
  }
1190
1206
  },
1191
1207
  "required": [
1192
- "modifier",
1193
1208
  "translations"
1194
1209
  ],
1195
1210
  "additionalProperties": false
1196
1211
  },
1197
- "IndefiniteArcaneEnergyCostArithmetic": {
1198
- "description": "Defines how the the `value` is set off against the check result.",
1199
- "enum": [
1200
- "Add",
1201
- "Subtract"
1202
- ]
1203
- },
1204
- "IndefiniteArcaneEnergyCostModifier": {
1205
- "type": "object",
1206
- "properties": {
1207
- "arithmetic": {
1208
- "description": "The arithmetic how to apply the `value` to the `base`.",
1209
- "$ref": "#/$defs/IndefiniteArcaneEnergyCostArithmetic"
1210
- },
1211
- "value": {
1212
- "description": "The value that is applied to the `base` using the defined `arithmetic`.",
1213
- "type": "integer",
1214
- "minimum": 1
1215
- }
1216
- },
1217
- "required": [
1218
- "arithmetic",
1219
- "value"
1220
- ],
1221
- "additionalProperties": false
1222
- },
1223
1212
  "IndefiniteArcaneEnergyCostTranslation": {
1224
1213
  "type": "object",
1225
1214
  "properties": {
@@ -80,7 +80,7 @@
80
80
  "tag": {
81
81
  "const": "Subject"
82
82
  },
83
- "focus_rule": {
83
+ "subject": {
84
84
  "description": "The focus rule subject’s identifier.",
85
85
  "type": "integer",
86
86
  "minimum": 1
@@ -88,7 +88,7 @@
88
88
  },
89
89
  "required": [
90
90
  "tag",
91
- "focus_rule"
91
+ "subject"
92
92
  ],
93
93
  "additionalProperties": false
94
94
  },
@@ -1046,6 +1046,24 @@
1046
1046
  ],
1047
1047
  "additionalProperties": false
1048
1048
  },
1049
+ "KrallenkettenzauberIdentifier": {
1050
+ "type": "object",
1051
+ "properties": {
1052
+ "tag": {
1053
+ "const": "Krallenkettenzauber"
1054
+ },
1055
+ "krallenkettenzauber": {
1056
+ "description": "The Krallenkettenzauber’s identifier.",
1057
+ "type": "integer",
1058
+ "minimum": 1
1059
+ }
1060
+ },
1061
+ "required": [
1062
+ "tag",
1063
+ "krallenkettenzauber"
1064
+ ],
1065
+ "additionalProperties": false
1066
+ },
1049
1067
  "LanguageIdentifier": {
1050
1068
  "type": "object",
1051
1069
  "properties": {
@@ -141,6 +141,9 @@
141
141
  },
142
142
  {
143
143
  "$ref": "./_Identifier.schema.json#/$defs/ChronicleEnchantmentIdentifier"
144
+ },
145
+ {
146
+ "$ref": "./_Identifier.schema.json#/$defs/KrallenkettenzauberIdentifier"
144
147
  }
145
148
  ]
146
149
  },
@@ -277,6 +280,9 @@
277
280
  },
278
281
  {
279
282
  "$ref": "./_Identifier.schema.json#/$defs/ChronicleEnchantmentIdentifier"
283
+ },
284
+ {
285
+ "$ref": "./_Identifier.schema.json#/$defs/KrallenkettenzauberIdentifier"
280
286
  }
281
287
  ]
282
288
  },
@@ -312,7 +318,7 @@
312
318
  "$ref": "./_Identifier.schema.json#/$defs/AttributeIdentifier"
313
319
  },
314
320
  {
315
- "$ref": "#/$defs/SkillIdentifier"
321
+ "$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
316
322
  },
317
323
  {
318
324
  "$ref": "./_Identifier.schema.json#/$defs/CloseCombatTechniqueIdentifier"
@@ -42,7 +42,7 @@
42
42
  "description": "Define if during character creation this weapon can only be bought by\ncharacters of specific magical or blessed traditions.",
43
43
  "type": "array",
44
44
  "items": {
45
- "$ref": "../../_SimpleReferences.schema.json#/$defs/TraditionReference"
45
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/MagicalTraditionReference"
46
46
  },
47
47
  "minItems": 1
48
48
  },
@@ -130,7 +130,7 @@
130
130
  "description": "Define if during character creation this weapon can only be bought by\ncharacters of specific magical or blessed traditions.",
131
131
  "type": "array",
132
132
  "items": {
133
- "$ref": "../../_SimpleReferences.schema.json#/$defs/TraditionReference"
133
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/MagicalTraditionReference"
134
134
  },
135
135
  "minItems": 1
136
136
  },
@@ -182,9 +182,9 @@
182
182
  "type": "object",
183
183
  "properties": {
184
184
  "tag": {
185
- "const": ""
185
+ "const": "Invaluable"
186
186
  },
187
- "": {
187
+ "invaluable": {
188
188
  "type": "object",
189
189
  "properties": {},
190
190
  "required": [],
@@ -193,26 +193,7 @@
193
193
  },
194
194
  "required": [
195
195
  "tag",
196
- ""
197
- ],
198
- "additionalProperties": false
199
- },
200
- {
201
- "type": "object",
202
- "properties": {
203
- "tag": {
204
- "const": ""
205
- },
206
- "": {
207
- "type": "object",
208
- "properties": {},
209
- "required": [],
210
- "additionalProperties": false
211
- }
212
- },
213
- "required": [
214
- "tag",
215
- ""
196
+ "invaluable"
216
197
  ],
217
198
  "additionalProperties": false
218
199
  },
@@ -22,8 +22,9 @@
22
22
  "maximum": 4,
23
23
  "minimum": 1
24
24
  },
25
- "relevance": {
26
- "$ref": "./_Rule.schema.json#/$defs/Relevance"
25
+ "is_missing_implementation": {
26
+ "description": "Has the focus rule not been implemented in Optolith yet? This is also true\nif the focus rule does not (currently) apply to any Optolith feature.",
27
+ "type": "boolean"
27
28
  },
28
29
  "src": {
29
30
  "$ref": "../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
@@ -44,7 +45,7 @@
44
45
  "id",
45
46
  "subject",
46
47
  "level",
47
- "relevance",
48
+ "is_missing_implementation",
48
49
  "src",
49
50
  "translations"
50
51
  ],
@@ -12,9 +12,9 @@
12
12
  "type": "integer",
13
13
  "minimum": 1
14
14
  },
15
- "relevance": {
16
- "description": "The relevance of the optional rule for Optolith. It may be that it\ninfluences character creating but it may also just influnce the character\nsheet. If it is linked to systems in Optolith, it may be specified if this\nrule has not been implemented in Optolith yet.",
17
- "$ref": "./_Rule.schema.json#/$defs/Relevance"
15
+ "is_missing_implementation": {
16
+ "description": "Has the focus rule not been implemented in Optolith yet? This is also true\nif the focus rule does not (currently) apply to any Optolith feature.",
17
+ "type": "boolean"
18
18
  },
19
19
  "src": {
20
20
  "$ref": "../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
@@ -33,7 +33,7 @@
33
33
  },
34
34
  "required": [
35
35
  "id",
36
- "relevance",
36
+ "is_missing_implementation",
37
37
  "src",
38
38
  "translations"
39
39
  ],
@@ -52,7 +52,6 @@
52
52
  "required": [
53
53
  "id",
54
54
  "volume",
55
- "cost",
56
55
  "property",
57
56
  "ap_value",
58
57
  "src",
@@ -57,7 +57,6 @@
57
57
  "id",
58
58
  "volume",
59
59
  "brew",
60
- "cost",
61
60
  "property",
62
61
  "ap_value",
63
62
  "src",
@@ -1,20 +0,0 @@
1
- /**
2
- * The relevance of the rule for Optolith. It may be that it influences
3
- * character creating but it may also just influnce the character sheet. If it
4
- * is linked to systems in Optolith, it may be specified if this rule has not
5
- * been implemented in Optolith yet.
6
- */
7
- export declare type Relevance = {
8
- tag: "Extraneous";
9
- extraneous: {};
10
- } | {
11
- tag: "Linked";
12
- linked: LinkedRelevance;
13
- };
14
- export declare type LinkedRelevance = {
15
- /**
16
- * Does the optional rule have an impact on character creation or character
17
- * sheet and this effect has not been implemented in Optolith yet?
18
- */
19
- is_missing_implementation: boolean;
20
- };
@@ -1 +0,0 @@
1
- export {};
@@ -1,59 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/rule/_Rule.schema.json",
4
- "$defs": {
5
- "Relevance": {
6
- "description": "The relevance of the rule for Optolith. It may be that it influences\ncharacter creating but it may also just influnce the character sheet. If it\nis linked to systems in Optolith, it may be specified if this rule has not\nbeen implemented in Optolith yet.",
7
- "oneOf": [
8
- {
9
- "type": "object",
10
- "properties": {
11
- "tag": {
12
- "const": "Extraneous"
13
- },
14
- "extraneous": {
15
- "type": "object",
16
- "properties": {},
17
- "required": [],
18
- "additionalProperties": false
19
- }
20
- },
21
- "required": [
22
- "tag",
23
- "extraneous"
24
- ],
25
- "additionalProperties": false
26
- },
27
- {
28
- "type": "object",
29
- "properties": {
30
- "tag": {
31
- "const": "Linked"
32
- },
33
- "linked": {
34
- "$ref": "#/$defs/LinkedRelevance"
35
- }
36
- },
37
- "required": [
38
- "tag",
39
- "linked"
40
- ],
41
- "additionalProperties": false
42
- }
43
- ]
44
- },
45
- "LinkedRelevance": {
46
- "type": "object",
47
- "properties": {
48
- "is_missing_implementation": {
49
- "description": "Does the optional rule have an impact on character creation or character\nsheet and this effect has not been implemented in Optolith yet?",
50
- "type": "boolean"
51
- }
52
- },
53
- "required": [
54
- "is_missing_implementation"
55
- ],
56
- "additionalProperties": false
57
- }
58
- }
59
- }