optolith-database-schema 0.42.0 → 0.42.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.
package/CHANGELOG.md CHANGED
@@ -2,6 +2,14 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
4
4
 
5
+ ## [0.42.1](https://github.com/elyukai/optolith-database-schema/compare/v0.42.0...v0.42.1) (2026-03-31)
6
+
7
+
8
+ ### Features
9
+
10
+ * add Bannzeichen entity ([2dd0be7](https://github.com/elyukai/optolith-database-schema/commit/2dd0be71977a447248c6916c89d624d4290601e1)), closes [#135](https://github.com/elyukai/optolith-database-schema/issues/135) [#133](https://github.com/elyukai/optolith-database-schema/issues/133)
11
+ * add goblin rituals entity ([78dcb9a](https://github.com/elyukai/optolith-database-schema/commit/78dcb9a737ca7c76370942168163b6b9ca3971ce)), closes [#132](https://github.com/elyukai/optolith-database-schema/issues/132) [#131](https://github.com/elyukai/optolith-database-schema/issues/131)
12
+
5
13
  ## [0.42.0](https://github.com/elyukai/optolith-database-schema/compare/v0.41.0...v0.42.0) (2026-03-23)
6
14
 
7
15
 
package/gen/types.d.ts CHANGED
@@ -26,6 +26,8 @@ export type EntityMap = {
26
26
  AttireEnchantment: AttireEnchantment
27
27
  Attribute: Attribute
28
28
  BandageOrRemedy: BandageOrRemedy
29
+ Bannzeichen: Bannzeichen
30
+ BannzeichenOption: BannzeichenOption
29
31
  Beutelzauber: Beutelzauber
30
32
  BlessedTradition: BlessedTradition
31
33
  Blessing: Blessing
@@ -75,6 +77,7 @@ export type EntityMap = {
75
77
  GeneralSelectOption: GeneralSelectOption
76
78
  GeneralSpecialAbility: GeneralSpecialAbility
77
79
  GeodeRitual: GeodeRitual
80
+ GoblinRitual: GoblinRitual
78
81
  Guideline: Guideline
79
82
  HairColor: HairColor
80
83
  Haubenzauber: Haubenzauber
@@ -179,6 +182,7 @@ export type EntityMap = {
179
182
  }
180
183
 
181
184
  export type ChildEntityMap = {
185
+ BannzeichenOption: [BannzeichenOption, "parent", BannzeichenOption["parent"]]
182
186
  Enhancement: [Enhancement, "parent", Enhancement["parent"]]
183
187
  GeneralSelectOption: [GeneralSelectOption, "parent", GeneralSelectOption["parent"]]
184
188
  LanguageSpecialization: [LanguageSpecialization, "parent", LanguageSpecialization["parent"]]
@@ -231,6 +235,9 @@ export type EnumMap = {
231
235
  AutomaticEntryAction: AutomaticEntryAction
232
236
  AutomaticEntryTarget: AutomaticEntryTarget
233
237
  AutomaticEntryTargetSelectionList: AutomaticEntryTargetSelectionList
238
+ BannzeichenCost: BannzeichenCost
239
+ BannzeichenImprovementCost: BannzeichenImprovementCost
240
+ BannzeichenSuboption: BannzeichenSuboption
234
241
  BinarySex: BinarySex
235
242
  BindingCost: BindingCost
236
243
  BlessedCommonProfessionConstraint: BlessedCommonProfessionConstraint
@@ -303,6 +310,10 @@ export type EnumMap = {
303
310
  GeodeRitualDuration: GeodeRitualDuration
304
311
  GeodeRitualPrerequisiteGroup: GeodeRitualPrerequisiteGroup
305
312
  GeodeRitualRange: GeodeRitualRange
313
+ GoblinRitualCastingTimeUnit: GoblinRitualCastingTimeUnit
314
+ GoblinRitualDuration: GoblinRitualDuration
315
+ GoblinRitualPerformanceParameters: GoblinRitualPerformanceParameters
316
+ GoblinRitualRangeValue: GoblinRitualRangeValue
306
317
  GradientColor: GradientColor
307
318
  HitZone: HitZone
308
319
  ImprovementCost: ImprovementCost
@@ -481,6 +492,11 @@ export type TypeAliasMap = {
481
492
  AutomaticAdvantageDisadvantage: AutomaticAdvantageDisadvantage<unknown>
482
493
  AutomaticEntry: AutomaticEntry
483
494
  AutomaticEntryTargetSelection: AutomaticEntryTargetSelection
495
+ BannzeichenCostDisjunction: BannzeichenCostDisjunction
496
+ BannzeichenCraftingTime: BannzeichenCraftingTime
497
+ BannzeichenCraftingTimePerCountable: BannzeichenCraftingTimePerCountable
498
+ BannzeichenDuration: BannzeichenDuration
499
+ BannzeichenPerformanceParameters: BannzeichenPerformanceParameters
484
500
  BaseValues: BaseValues
485
501
  BindingCostDerivedFromSelection: BindingCostDerivedFromSelection
486
502
  BindingCostMap: BindingCostMap
@@ -528,6 +544,7 @@ export type TypeAliasMap = {
528
544
  CulturePrerequisite: CulturePrerequisite
529
545
  CursePerformanceParameters: CursePerformanceParameters
530
546
  CursesOptions: CursesOptions
547
+ CustomBannzeichenSuboption: CustomBannzeichenSuboption
531
548
  CustomMagicalRuneSuboption: CustomMagicalRuneSuboption
532
549
  DaggerRitualArcaneEnergyCost: DaggerRitualArcaneEnergyCost
533
550
  DefaultPrimaryAttributeDamageThreshold: DefaultPrimaryAttributeDamageThreshold
@@ -612,6 +629,12 @@ export type TypeAliasMap = {
612
629
  GenRangedWeapon: GenRangedWeapon<unknown>
613
630
  GeodeRitualPerformanceParameters: GeodeRitualPerformanceParameters
614
631
  GeodeRitualPrerequisites: GeodeRitualPrerequisites
632
+ GoblinRitualCastingTime: GoblinRitualCastingTime
633
+ GoblinRitualOneTimeCost: GoblinRitualOneTimeCost
634
+ GoblinRitualOneTimePerformanceParameters: GoblinRitualOneTimePerformanceParameters
635
+ GoblinRitualRange: GoblinRitualRange
636
+ GoblinRitualSustainedCost: GoblinRitualSustainedCost
637
+ GoblinRitualSustainedPerformanceParameters: GoblinRitualSustainedPerformanceParameters
615
638
  GroupedCommonProfessions: GroupedCommonProfessions
616
639
  HasAdditionalPenalties: HasAdditionalPenalties
617
640
  HeadHitZone: HeadHitZone
@@ -794,6 +817,7 @@ export type TypeAliasMap = {
794
817
  SexualCharacteristicPrerequisite: SexualCharacteristicPrerequisite
795
818
  ShamanisticBlessedTradition: ShamanisticBlessedTradition
796
819
  Since: Since
820
+ SingleBannzeichenCost: SingleBannzeichenCost
797
821
  SingleMagicalRuneCost: SingleMagicalRuneCost
798
822
  SinglePenalty: SinglePenalty
799
823
  SinglePrimaryAttributeDamageThreshold: SinglePrimaryAttributeDamageThreshold
@@ -16358,6 +16382,10 @@ export interface ProfessionMagicalActionIdentifier {
16358
16382
  }
16359
16383
 
16360
16384
  export type MagicalActionIdentifier =
16385
+ | {
16386
+ kind: "Bannzeichen"
16387
+ Bannzeichen: Bannzeichen_ID
16388
+ }
16361
16389
  | {
16362
16390
  kind: "Curse"
16363
16391
  Curse: Curse_ID
@@ -16390,6 +16418,10 @@ export type MagicalActionIdentifier =
16390
16418
  kind: "GeodeRitual"
16391
16419
  GeodeRitual: GeodeRitual_ID
16392
16420
  }
16421
+ | {
16422
+ kind: "GoblinRitual"
16423
+ GoblinRitual: GoblinRitual_ID
16424
+ }
16393
16425
  | {
16394
16426
  kind: "ZibiljaRitual"
16395
16427
  ZibiljaRitual: ZibiljaRitual_ID
@@ -16399,6 +16431,263 @@ export type MagicalActionIdentifier =
16399
16431
  MagicalRune: MagicalRune_ID
16400
16432
  }
16401
16433
 
16434
+ export interface Bannzeichen {
16435
+ /**
16436
+ * Lists the linked three attributes used to make a skill check.
16437
+ */
16438
+ check: SkillCheck
16439
+
16440
+ /**
16441
+ * Measurable parameters of a Bannzeichen.
16442
+ */
16443
+ parameters: BannzeichenPerformanceParameters
16444
+
16445
+ /**
16446
+ * The associated property.
16447
+ */
16448
+ property: Property_ID
16449
+
16450
+ /**
16451
+ * States which column is used to improve the skill.
16452
+ */
16453
+ improvement_cost: BannzeichenImprovementCost
16454
+
16455
+ /**
16456
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
16457
+ */
16458
+ src: PublicationRefs
16459
+
16460
+ /**
16461
+ * All translations for the entry, identified by IETF language tag (BCP47).
16462
+ */
16463
+ translations: {
16464
+ [localeId: string]: BannzeichenTranslation
16465
+ }
16466
+ }
16467
+
16468
+ /**
16469
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16470
+ */
16471
+ export type Bannzeichen_ID = string
16472
+
16473
+ export interface BannzeichenTranslation {
16474
+ /**
16475
+ * The Bannzeichen’s name.
16476
+ *
16477
+ * If the Bannzeichen has an option, the option’s name will/should not be included in the name as well as its surrounding parenthesis. It will/should be combined on demand.
16478
+ */
16479
+ name: string
16480
+
16481
+ /**
16482
+ * The full name of the entry as stated in the sources. Only use when `name` needs to be different from full name for text generation purposes.
16483
+ */
16484
+ name_in_library?: string
16485
+
16486
+ /**
16487
+ * The native name of the Bannzeichen. It has to be specified unless it is defined by an option.
16488
+ */
16489
+ native_name?: string
16490
+
16491
+ /**
16492
+ * The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.
16493
+ */
16494
+ effect: ActivatableSkillEffect
16495
+
16496
+ /**
16497
+ * The ae-cost of the Bannzeichen
16498
+ */
16499
+ cost?: string
16500
+
16501
+ /**
16502
+ * The crafting time of the Bannzeichen
16503
+ */
16504
+ crafting_time?: string
16505
+
16506
+ /**
16507
+ * The duration of the Bannzeichen
16508
+ */
16509
+ duration?: string
16510
+
16511
+ errata?: Errata
16512
+ }
16513
+
16514
+ export interface BannzeichenOption {
16515
+ /**
16516
+ * The Bannzeichen this option belongs to.
16517
+ */
16518
+ parent: Bannzeichen_ID
16519
+
16520
+ /**
16521
+ * The option-specific AE cost.
16522
+ */
16523
+ cost?: SingleBannzeichenCost
16524
+
16525
+ /**
16526
+ * The option-specific improvement cost.
16527
+ */
16528
+ improvement_cost?: ImprovementCost
16529
+
16530
+ suboption?: BannzeichenSuboption
16531
+
16532
+ /**
16533
+ * All translations for the entry, identified by IETF language tag (BCP47).
16534
+ */
16535
+ translations: {
16536
+ [localeId: string]: BannzeichenOptionTranslation
16537
+ }
16538
+ }
16539
+
16540
+ /**
16541
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
16542
+ */
16543
+ export type BannzeichenOption_ID = string
16544
+
16545
+ export interface BannzeichenOptionTranslation {
16546
+ /**
16547
+ * The Bannzeichen option’s name.
16548
+ *
16549
+ * The surrounding parenthesis will/should not be included, they will/should be generated.
16550
+ */
16551
+ name: string
16552
+
16553
+ /**
16554
+ * The native name of the Bannzeichen option.
16555
+ */
16556
+ native_name: string
16557
+ }
16558
+
16559
+ export interface SingleBannzeichenCost {
16560
+ /**
16561
+ * The AE cost value.
16562
+ */
16563
+ value: number
16564
+
16565
+ /**
16566
+ * All translations for the entry, identified by IETF language tag (BCP47).
16567
+ */
16568
+ translations?: {
16569
+ [localeId: string]: SingleBannzeichenCostTranslation
16570
+ }
16571
+ }
16572
+
16573
+ export interface SingleBannzeichenCostTranslation {
16574
+ /**
16575
+ * A note, appended to the generated string in parenthesis.
16576
+ */
16577
+ note: ResponsiveTextOptional
16578
+ }
16579
+
16580
+ export type BannzeichenSuboption =
16581
+ | {
16582
+ kind: "Custom"
16583
+ Custom: CustomBannzeichenSuboption
16584
+ }
16585
+
16586
+ export interface CustomBannzeichenSuboption {
16587
+ /**
16588
+ * All translations for the entry, identified by IETF language tag (BCP47).
16589
+ */
16590
+ translations: {
16591
+ [localeId: string]: CustomBannzeichenSuboptionTranslation
16592
+ }
16593
+ }
16594
+
16595
+ export interface CustomBannzeichenSuboptionTranslation {
16596
+ /**
16597
+ * One or more examples for the suboption.
16598
+ */
16599
+ examples?: string[]
16600
+ }
16601
+
16602
+ /**
16603
+ * Measurable parameters of a Bannzeichen.
16604
+ */
16605
+ export interface BannzeichenPerformanceParameters {
16606
+ /**
16607
+ * The AE cost.
16608
+ */
16609
+ cost: BannzeichenCost
16610
+
16611
+ /**
16612
+ * The crafting time.
16613
+ */
16614
+ crafting_time: BannzeichenCraftingTime
16615
+
16616
+ /**
16617
+ * The duration.
16618
+ */
16619
+ duration: BannzeichenDuration
16620
+ }
16621
+
16622
+ export type BannzeichenCost =
16623
+ | {
16624
+ kind: "Single"
16625
+ Single: SingleBannzeichenCost
16626
+ }
16627
+ | {
16628
+ kind: "Disjunction"
16629
+ Disjunction: BannzeichenCostDisjunction
16630
+ }
16631
+ | {
16632
+ kind: "DerivedFromOption"
16633
+ }
16634
+
16635
+ export interface BannzeichenCostDisjunction {
16636
+ /**
16637
+ * A set of possible AE cost values.
16638
+ */
16639
+ list: SingleBannzeichenCost[]
16640
+ }
16641
+
16642
+ export interface BannzeichenCraftingTime {
16643
+ /**
16644
+ * The crafting time in actions.
16645
+ */
16646
+ value: number
16647
+
16648
+ /**
16649
+ * The crafting time has to be per a specific countable entity, e.g. `8 Actions per person`.
16650
+ */
16651
+ per?: BannzeichenCraftingTimePerCountable
16652
+ }
16653
+
16654
+ export interface BannzeichenCraftingTimePerCountable {
16655
+ /**
16656
+ * All translations for the entry, identified by IETF language tag (BCP47).
16657
+ */
16658
+ translations: {
16659
+ [localeId: string]: BannzeichenCraftingTimePerCountableTranslation
16660
+ }
16661
+ }
16662
+
16663
+ export interface BannzeichenCraftingTimePerCountableTranslation {
16664
+ /**
16665
+ * The countable entity name.
16666
+ */
16667
+ countable: ResponsiveText
16668
+ }
16669
+
16670
+ export interface BannzeichenDuration {
16671
+ /**
16672
+ * The duration on slow Bannzeichen application.
16673
+ */
16674
+ slow: CheckResultBasedDuration
16675
+
16676
+ /**
16677
+ * The duration on fast Bannzeichen application.
16678
+ */
16679
+ fast: CheckResultBasedDuration
16680
+ }
16681
+
16682
+ export type BannzeichenImprovementCost =
16683
+ | {
16684
+ kind: "Constant"
16685
+ Constant: ImprovementCost
16686
+ }
16687
+ | {
16688
+ kind: "DerivedFromOption"
16689
+ }
16690
+
16402
16691
  export interface Curse {
16403
16692
  /**
16404
16693
  * Lists the linked three attributes used to make a skill check.
@@ -17749,6 +18038,205 @@ export type GeodeRitualPrerequisiteGroup =
17749
18038
  Influence: InfluencePrerequisite
17750
18039
  }
17751
18040
 
18041
+ export interface GoblinRitual {
18042
+ /**
18043
+ * Lists the linked three attributes used to make a skill check.
18044
+ */
18045
+ check: SkillCheck
18046
+
18047
+ /**
18048
+ * In some cases, the target's Spirit or Toughness is applied as a penalty.
18049
+ */
18050
+ check_penalty?: SkillCheckPenalty
18051
+
18052
+ /**
18053
+ * Measurable parameters of a goblin ritual.
18054
+ */
18055
+ parameters: GoblinRitualPerformanceParameters
18056
+
18057
+ /**
18058
+ * The target category – the kind of creature or object – the skill affects.
18059
+ */
18060
+ target: AffectedTargetCategories
18061
+
18062
+ /**
18063
+ * The associated property.
18064
+ */
18065
+ property: Property_ID
18066
+
18067
+ /**
18068
+ * States which column is used to improve the skill.
18069
+ */
18070
+ improvement_cost: ImprovementCost
18071
+
18072
+ /**
18073
+ * References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
18074
+ */
18075
+ src: PublicationRefs
18076
+
18077
+ /**
18078
+ * All translations for the entry, identified by IETF language tag (BCP47).
18079
+ */
18080
+ translations: {
18081
+ [localeId: string]: GoblinRitualTranslation
18082
+ }
18083
+ }
18084
+
18085
+ /**
18086
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
18087
+ */
18088
+ export type GoblinRitual_ID = string
18089
+
18090
+ export interface GoblinRitualTranslation {
18091
+ /**
18092
+ * The goblin ritual’s name.
18093
+ */
18094
+ name: string
18095
+
18096
+ /**
18097
+ * The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.
18098
+ */
18099
+ effect: ActivatableSkillEffect
18100
+
18101
+ casting_time?: OldParameter
18102
+
18103
+ cost?: OldParameter
18104
+
18105
+ range?: OldParameter
18106
+
18107
+ duration?: OldParameter
18108
+
18109
+ target?: string
18110
+
18111
+ errata?: Errata
18112
+ }
18113
+
18114
+ /**
18115
+ * Measurable parameters of a goblin ritual.
18116
+ */
18117
+ export type GoblinRitualPerformanceParameters =
18118
+ | {
18119
+ kind: "OneTime"
18120
+ OneTime: GoblinRitualOneTimePerformanceParameters
18121
+ }
18122
+ | {
18123
+ kind: "Sustained"
18124
+ Sustained: GoblinRitualSustainedPerformanceParameters
18125
+ }
18126
+
18127
+ export interface GoblinRitualOneTimePerformanceParameters {
18128
+ /**
18129
+ * The casting time.
18130
+ */
18131
+ casting_time: GoblinRitualCastingTime
18132
+
18133
+ /**
18134
+ * The AE cost.
18135
+ */
18136
+ cost: GoblinRitualOneTimeCost
18137
+
18138
+ /**
18139
+ * The range.
18140
+ */
18141
+ range: GoblinRitualRange
18142
+
18143
+ /**
18144
+ * The duration.
18145
+ */
18146
+ duration: GoblinRitualDuration
18147
+ }
18148
+
18149
+ export interface GoblinRitualCastingTime {
18150
+ value: number
18151
+ unit: GoblinRitualCastingTimeUnit
18152
+ }
18153
+
18154
+ export type GoblinRitualCastingTimeUnit =
18155
+ | {
18156
+ kind: "Actions"
18157
+ }
18158
+ | {
18159
+ kind: "Minutes"
18160
+ }
18161
+ | {
18162
+ kind: "Hours"
18163
+ }
18164
+
18165
+ export type GoblinRitualOneTimeCost = NonModifiableOneTimeCost
18166
+
18167
+ export interface GoblinRitualRange {
18168
+ /**
18169
+ * The range value.
18170
+ */
18171
+ value: GoblinRitualRangeValue
18172
+
18173
+ /**
18174
+ * All translations for the entry, identified by IETF language tag (BCP47).
18175
+ */
18176
+ translations?: {
18177
+ [localeId: string]: GoblinRitualRangeTranslation
18178
+ }
18179
+ }
18180
+
18181
+ export interface GoblinRitualRangeTranslation {
18182
+ /**
18183
+ * A note, appended to the generated string in parenthesis. If the generated is modified using `replacement`, the note is appended to the modifier string.
18184
+ */
18185
+ note?: ResponsiveTextOptional
18186
+
18187
+ /**
18188
+ * A replacement string. If `note` is provided, it is appended to the replaced string.
18189
+ */
18190
+ replacement?: ResponsiveTextReplace
18191
+ }
18192
+
18193
+ export type GoblinRitualRangeValue =
18194
+ | {
18195
+ kind: "Sight"
18196
+ }
18197
+ | {
18198
+ kind: "Self"
18199
+ }
18200
+ | {
18201
+ kind: "Touch"
18202
+ }
18203
+ | {
18204
+ kind: "Fixed"
18205
+ Fixed: FixedRange
18206
+ }
18207
+
18208
+ export type GoblinRitualDuration =
18209
+ | {
18210
+ kind: "Immediate"
18211
+ }
18212
+ | {
18213
+ kind: "Fixed"
18214
+ Fixed: DurationUnitValue
18215
+ }
18216
+ | {
18217
+ kind: "CheckResultBased"
18218
+ CheckResultBased: CheckResultBasedDuration
18219
+ }
18220
+
18221
+ export interface GoblinRitualSustainedPerformanceParameters {
18222
+ /**
18223
+ * The casting time.
18224
+ */
18225
+ casting_time: GoblinRitualCastingTime
18226
+
18227
+ /**
18228
+ * The AE cost.
18229
+ */
18230
+ cost: GoblinRitualSustainedCost
18231
+
18232
+ /**
18233
+ * The range.
18234
+ */
18235
+ range: GoblinRitualRange
18236
+ }
18237
+
18238
+ export type GoblinRitualSustainedCost = NonModifiableSustainedCost
18239
+
17752
18240
  export interface ZibiljaRitual {
17753
18241
  /**
17754
18242
  * Lists the linked three attributes used to make a skill check.
package/lib/main.js CHANGED
@@ -26,6 +26,7 @@ export const schema = new Schema([
26
26
  Types.AttireEnchantment,
27
27
  Types.Attribute,
28
28
  Types.BandageOrRemedy,
29
+ Types.Bannzeichen,
29
30
  Types.Beutelzauber,
30
31
  Types.BlessedTradition,
31
32
  Types.Blessing,
@@ -73,6 +74,7 @@ export const schema = new Schema([
73
74
  Types.GemOrPreciousStone,
74
75
  Types.GeneralSpecialAbility,
75
76
  Types.GeodeRitual,
77
+ Types.GoblinRitual,
76
78
  Types.Guideline,
77
79
  Types.HairColor,
78
80
  Types.Haubenzauber,