@optolith/database-schema 0.58.0 → 0.60.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 +21 -0
- package/gen/types.d.ts +240 -0
- package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +2 -0
- package/lib/types/Advantage.d.ts +6 -0
- package/lib/types/Advantage.js +2 -0
- package/lib/types/Disadvantage.d.ts +6 -0
- package/lib/types/Disadvantage.js +2 -0
- package/lib/types/Disease.d.ts +1 -0
- package/lib/types/Disease.js +4 -0
- package/lib/types/Locale.d.ts +5 -0
- package/lib/types/Locale.js +6 -0
- package/lib/types/_ActivatableMagical.d.ts +7 -0
- package/lib/types/_ActivatableMagical.js +11 -0
- package/lib/types/_IdentifierGroup.d.ts +4 -0
- package/lib/types/_IdentifierGroup.js +7 -0
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +70 -0
- package/lib/types/prerequisites/PrerequisiteGroups.js +6 -0
- package/lib/types/prerequisites/single/AnySpecialAbilityOfGroupPrerequisite.d.ts +18 -0
- package/lib/types/prerequisites/single/AnySpecialAbilityOfGroupPrerequisite.js +23 -0
- package/lib/types/prerequisites/single/TinyActivatablePrerequisite.d.ts +19 -0
- package/lib/types/prerequisites/single/TinyActivatablePrerequisite.js +16 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,27 @@
|
|
|
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.60.0](https://github.com/Optolith/database-schema/compare/v0.59.0...v0.60.0) (2026-09-12)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* add sexual transmittable disease flag
|
|
10
|
+
* any special ability of group prerequisite
|
|
11
|
+
|
|
12
|
+
### Features
|
|
13
|
+
|
|
14
|
+
* add prerequisite for cantrips and blessings ([a06284c](https://github.com/Optolith/database-schema/commit/a06284cb508b65749f9e2c0beabf5310aeeebb0b)), closes [Optolith/database-schema#172](https://github.com/Optolith/database-schema/issues/172), references [#173](https://github.com/Optolith/database-schema/issues/173)
|
|
15
|
+
* add sexual transmittable disease flag ([998c55b](https://github.com/Optolith/database-schema/commit/998c55bdfc132ca94067bc8cbeed7a70268cb4fc)), closes [Optolith/database-schema#184](https://github.com/Optolith/database-schema/issues/184), references [#185](https://github.com/Optolith/database-schema/issues/185)
|
|
16
|
+
* any special ability of group prerequisite ([376c8f9](https://github.com/Optolith/database-schema/commit/376c8f951af16d3883e800a940a62b47f3248ed6)), closes [#176](https://github.com/Optolith/database-schema/issues/176), references [#177](https://github.com/Optolith/database-schema/issues/177)
|
|
17
|
+
## [0.59.0](https://github.com/Optolith/database-schema/compare/v0.58.0...v0.59.0) (2026-09-12)
|
|
18
|
+
|
|
19
|
+
### ⚠ BREAKING CHANGES
|
|
20
|
+
|
|
21
|
+
* magical dis-/advantage subtypes
|
|
22
|
+
|
|
23
|
+
### Features
|
|
24
|
+
|
|
25
|
+
* magical dis-/advantage subtypes ([986a5a9](https://github.com/Optolith/database-schema/commit/986a5a958f4d2f056ae47bdc6fe3f8627359ced1)), closes [#147](https://github.com/Optolith/database-schema/issues/147)
|
|
5
26
|
## [0.58.0](https://github.com/Optolith/database-schema/compare/v0.57.0...v0.58.0) (2026-09-11)
|
|
6
27
|
|
|
7
28
|
### ⚠ BREAKING CHANGES
|
package/gen/types.d.ts
CHANGED
|
@@ -219,6 +219,7 @@ export type EnumMap = {
|
|
|
219
219
|
AdvancedSpecialAbility: AdvancedSpecialAbility<unknown>
|
|
220
220
|
AdvancedSpecialAbilityRestrictedOptionIdentifier: AdvancedSpecialAbilityRestrictedOptionIdentifier
|
|
221
221
|
AdvantageDisadvantagePrerequisiteGroup: AdvantageDisadvantagePrerequisiteGroup
|
|
222
|
+
AdvantageDisadvantageSubtype: AdvantageDisadvantageSubtype
|
|
222
223
|
AdventurePointsDependingOnActiveInstances: AdventurePointsDependingOnActiveInstances
|
|
223
224
|
AdventurePointsDependingOnActiveInstancesExpressionValue: AdventurePointsDependingOnActiveInstancesExpressionValue
|
|
224
225
|
AdventurePointsValue: AdventurePointsValue
|
|
@@ -442,6 +443,7 @@ export type EnumMap = {
|
|
|
442
443
|
SkillWithEnhancementsIdentifier: SkillWithEnhancementsIdentifier
|
|
443
444
|
SlowPerformanceParameters: SlowPerformanceParameters
|
|
444
445
|
SlowSkillCastingTimeUnit: SlowSkillCastingTimeUnit
|
|
446
|
+
SpecialAbilityGroup: SpecialAbilityGroup
|
|
445
447
|
SpecificAffectedTargetCategoryIdentifier: SpecificAffectedTargetCategoryIdentifier
|
|
446
448
|
SpecificFromSkillSelectOptionCategoryCategoryOperation: SpecificFromSkillSelectOptionCategoryCategoryOperation
|
|
447
449
|
SpellFilter: SpellFilter
|
|
@@ -455,6 +457,7 @@ export type EnumMap = {
|
|
|
455
457
|
TalismanDamageOption: TalismanDamageOption
|
|
456
458
|
TalismanType: TalismanType
|
|
457
459
|
TextVerificationRule: TextVerificationRule
|
|
460
|
+
TinyActivatableIdentifier: TinyActivatableIdentifier
|
|
458
461
|
TradeSecretAdventurePointsValue: TradeSecretAdventurePointsValue
|
|
459
462
|
TradeSecretSelectOptionCategory: TradeSecretSelectOptionCategory
|
|
460
463
|
TribePrerequisiteGroup: TribePrerequisiteGroup
|
|
@@ -500,6 +503,7 @@ export type TypeAliasMap = {
|
|
|
500
503
|
AnimistPowerLevel: AnimistPowerLevel
|
|
501
504
|
AnimistPowerPrerequisite: AnimistPowerPrerequisite
|
|
502
505
|
AnimistPowerPrerequisites: AnimistPowerPrerequisites
|
|
506
|
+
AnySpecialAbilityOfGroupPrerequisite: AnySpecialAbilityOfGroupPrerequisite
|
|
503
507
|
ApplicableCombatTechniquesLevelRestriction: ApplicableCombatTechniquesLevelRestriction
|
|
504
508
|
ApplicableCombatTechniquesNegativeCombatTechniquesRestriction: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<unknown>
|
|
505
509
|
ApplicableCombatTechniquesRaceRestriction: ApplicableCombatTechniquesRaceRestriction
|
|
@@ -923,6 +927,7 @@ export type TypeAliasMap = {
|
|
|
923
927
|
TargetCategoriesSelectOptionCategory: TargetCategoriesSelectOptionCategory
|
|
924
928
|
TextNode: TextNode
|
|
925
929
|
TextPrerequisite: TextPrerequisite
|
|
930
|
+
TinyActivatablePrerequisite: TinyActivatablePrerequisite
|
|
926
931
|
TradeSecretSelectOptions: TradeSecretSelectOptions
|
|
927
932
|
TribePrerequisites: TribePrerequisites
|
|
928
933
|
VolumeByLevel: VolumeByLevel
|
|
@@ -2150,6 +2155,7 @@ export interface Locale {
|
|
|
2150
2155
|
".input {$count :number} {{{$count} ranged combat techniques}}": string & { __params: { "count": number } }
|
|
2151
2156
|
"special ability": string
|
|
2152
2157
|
"no special ability": string
|
|
2158
|
+
".input {$entity :string} {{a special ability}}": string & { __params: { "entity": string } }
|
|
2153
2159
|
"Tradition": string
|
|
2154
2160
|
"Tradition ({$tradition})": string & { __params: { "tradition": StringableTranslationParameter } }
|
|
2155
2161
|
"Church": string
|
|
@@ -2440,6 +2446,10 @@ export interface Locale {
|
|
|
2440
2446
|
"only those with at least one blunt side": string
|
|
2441
2447
|
"only {$nameWithLevel}": string & { __params: { "nameWithLevel": StringableTranslationParameter } }
|
|
2442
2448
|
"only {$weapons}": string & { __params: { "weapons": StringableTranslationParameter } }
|
|
2449
|
+
"Magical Rank": string
|
|
2450
|
+
"Magical Title": string
|
|
2451
|
+
"Magical Honor": string
|
|
2452
|
+
"Magical Punishment": string
|
|
2443
2453
|
".input {$ord :number} {{{$ord}. attack}}": string & { __params: { "ord": number } }
|
|
2444
2454
|
".input {$ord :number} {{{$ord}. throw}}": string & { __params: { "ord": number } }
|
|
2445
2455
|
"depending on the level of the special ability {$name}": string & { __params: { "name": StringableTranslationParameter } }
|
|
@@ -3037,6 +3047,8 @@ export interface Advantage {
|
|
|
3037
3047
|
*/
|
|
3038
3048
|
levels?: number
|
|
3039
3049
|
|
|
3050
|
+
subtype?: AdvantageDisadvantageSubtype
|
|
3051
|
+
|
|
3040
3052
|
/**
|
|
3041
3053
|
* Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
|
|
3042
3054
|
*/
|
|
@@ -3142,6 +3154,20 @@ export interface AdvantageTranslation {
|
|
|
3142
3154
|
errata?: Errata
|
|
3143
3155
|
}
|
|
3144
3156
|
|
|
3157
|
+
export type AdvantageDisadvantageSubtype =
|
|
3158
|
+
| {
|
|
3159
|
+
kind: "MagicalRank"
|
|
3160
|
+
}
|
|
3161
|
+
| {
|
|
3162
|
+
kind: "MagicalTitle"
|
|
3163
|
+
}
|
|
3164
|
+
| {
|
|
3165
|
+
kind: "MagicalHonor"
|
|
3166
|
+
}
|
|
3167
|
+
| {
|
|
3168
|
+
kind: "MagicalPunishment"
|
|
3169
|
+
}
|
|
3170
|
+
|
|
3145
3171
|
export interface GeneralSelectOption {
|
|
3146
3172
|
/**
|
|
3147
3173
|
* The entry that contains select option.
|
|
@@ -3441,6 +3467,8 @@ export interface Disadvantage {
|
|
|
3441
3467
|
*/
|
|
3442
3468
|
levels?: number
|
|
3443
3469
|
|
|
3470
|
+
subtype?: AdvantageDisadvantageSubtype
|
|
3471
|
+
|
|
3444
3472
|
/**
|
|
3445
3473
|
* Rules for building the name of an activatable. These rules are used when the activatable doesn't have a custom name specified.
|
|
3446
3474
|
*/
|
|
@@ -4454,6 +4482,14 @@ export type GeneralPrerequisiteGroup =
|
|
|
4454
4482
|
kind: "MagicalTradition"
|
|
4455
4483
|
MagicalTradition: MagicalTraditionPrerequisite
|
|
4456
4484
|
}
|
|
4485
|
+
| {
|
|
4486
|
+
kind: "TinyActivatable"
|
|
4487
|
+
TinyActivatable: TinyActivatablePrerequisite
|
|
4488
|
+
}
|
|
4489
|
+
| {
|
|
4490
|
+
kind: "AnySpecialAbilityOfGroup"
|
|
4491
|
+
AnySpecialAbilityOfGroup: AnySpecialAbilityOfGroupPrerequisite
|
|
4492
|
+
}
|
|
4457
4493
|
| {
|
|
4458
4494
|
kind: "Rated"
|
|
4459
4495
|
Rated: RatedPrerequisite
|
|
@@ -5307,6 +5343,11 @@ export interface Disease {
|
|
|
5307
5343
|
*/
|
|
5308
5344
|
isMagicalDisease: boolean
|
|
5309
5345
|
|
|
5346
|
+
/**
|
|
5347
|
+
* Whether the disease is sexually transmittable.
|
|
5348
|
+
*/
|
|
5349
|
+
isSexuallyTransmittableDisease: boolean
|
|
5350
|
+
|
|
5310
5351
|
/**
|
|
5311
5352
|
* References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
|
|
5312
5353
|
*/
|
|
@@ -21557,6 +21598,197 @@ export type PrimaryAttributeCategory =
|
|
|
21557
21598
|
kind: "Magical"
|
|
21558
21599
|
}
|
|
21559
21600
|
|
|
21601
|
+
/**
|
|
21602
|
+
* Requires a specific cantrip or blessing.
|
|
21603
|
+
*/
|
|
21604
|
+
export interface TinyActivatablePrerequisite {
|
|
21605
|
+
/**
|
|
21606
|
+
* The required item.
|
|
21607
|
+
*/
|
|
21608
|
+
id: TinyActivatableIdentifier
|
|
21609
|
+
|
|
21610
|
+
display_option?: DisplayOption
|
|
21611
|
+
}
|
|
21612
|
+
|
|
21613
|
+
export type TinyActivatableIdentifier =
|
|
21614
|
+
| {
|
|
21615
|
+
kind: "Blessing"
|
|
21616
|
+
Blessing: Blessing_ID
|
|
21617
|
+
}
|
|
21618
|
+
| {
|
|
21619
|
+
kind: "Cantrip"
|
|
21620
|
+
Cantrip: Cantrip_ID
|
|
21621
|
+
}
|
|
21622
|
+
|
|
21623
|
+
export interface AnySpecialAbilityOfGroupPrerequisite {
|
|
21624
|
+
group: SpecialAbilityGroup
|
|
21625
|
+
display_option?: DisplayOption
|
|
21626
|
+
}
|
|
21627
|
+
|
|
21628
|
+
export type SpecialAbilityGroup =
|
|
21629
|
+
| {
|
|
21630
|
+
kind: "AdvancedCombatSpecialAbility"
|
|
21631
|
+
}
|
|
21632
|
+
| {
|
|
21633
|
+
kind: "AdvancedKarmaSpecialAbility"
|
|
21634
|
+
}
|
|
21635
|
+
| {
|
|
21636
|
+
kind: "AdvancedMagicalSpecialAbility"
|
|
21637
|
+
}
|
|
21638
|
+
| {
|
|
21639
|
+
kind: "AdvancedSkillSpecialAbility"
|
|
21640
|
+
}
|
|
21641
|
+
| {
|
|
21642
|
+
kind: "AncestorGlyph"
|
|
21643
|
+
}
|
|
21644
|
+
| {
|
|
21645
|
+
kind: "ArcaneOrbEnchantment"
|
|
21646
|
+
}
|
|
21647
|
+
| {
|
|
21648
|
+
kind: "AttireEnchantment"
|
|
21649
|
+
}
|
|
21650
|
+
| {
|
|
21651
|
+
kind: "Beutelzauber"
|
|
21652
|
+
}
|
|
21653
|
+
| {
|
|
21654
|
+
kind: "BlessedTradition"
|
|
21655
|
+
}
|
|
21656
|
+
| {
|
|
21657
|
+
kind: "BowlEnchantment"
|
|
21658
|
+
}
|
|
21659
|
+
| {
|
|
21660
|
+
kind: "BrawlingSpecialAbility"
|
|
21661
|
+
}
|
|
21662
|
+
| {
|
|
21663
|
+
kind: "CauldronEnchantment"
|
|
21664
|
+
}
|
|
21665
|
+
| {
|
|
21666
|
+
kind: "CeremonialItemSpecialAbility"
|
|
21667
|
+
}
|
|
21668
|
+
| {
|
|
21669
|
+
kind: "ChronicleEnchantment"
|
|
21670
|
+
}
|
|
21671
|
+
| {
|
|
21672
|
+
kind: "CombatSpecialAbility"
|
|
21673
|
+
}
|
|
21674
|
+
| {
|
|
21675
|
+
kind: "CombatStyleSpecialAbility"
|
|
21676
|
+
}
|
|
21677
|
+
| {
|
|
21678
|
+
kind: "CommandSpecialAbility"
|
|
21679
|
+
}
|
|
21680
|
+
| {
|
|
21681
|
+
kind: "DaggerRitual"
|
|
21682
|
+
}
|
|
21683
|
+
| {
|
|
21684
|
+
kind: "FamiliarSpecialAbility"
|
|
21685
|
+
}
|
|
21686
|
+
| {
|
|
21687
|
+
kind: "FatePointSexSpecialAbility"
|
|
21688
|
+
}
|
|
21689
|
+
| {
|
|
21690
|
+
kind: "FatePointSpecialAbility"
|
|
21691
|
+
}
|
|
21692
|
+
| {
|
|
21693
|
+
kind: "FoolsHatEnchantment"
|
|
21694
|
+
}
|
|
21695
|
+
| {
|
|
21696
|
+
kind: "GeneralSpecialAbility"
|
|
21697
|
+
}
|
|
21698
|
+
| {
|
|
21699
|
+
kind: "Haubenzauber"
|
|
21700
|
+
}
|
|
21701
|
+
| {
|
|
21702
|
+
kind: "Hauerkettenzauber"
|
|
21703
|
+
}
|
|
21704
|
+
| {
|
|
21705
|
+
kind: "InstrumentEnchantment"
|
|
21706
|
+
}
|
|
21707
|
+
| {
|
|
21708
|
+
kind: "KarmaSpecialAbility"
|
|
21709
|
+
}
|
|
21710
|
+
| {
|
|
21711
|
+
kind: "Keulenzauber"
|
|
21712
|
+
}
|
|
21713
|
+
| {
|
|
21714
|
+
kind: "Krallenkettenzauber"
|
|
21715
|
+
}
|
|
21716
|
+
| {
|
|
21717
|
+
kind: "Kristallkugelzauber"
|
|
21718
|
+
}
|
|
21719
|
+
| {
|
|
21720
|
+
kind: "LiturgicalStyleSpecialAbility"
|
|
21721
|
+
}
|
|
21722
|
+
| {
|
|
21723
|
+
kind: "LycantropicGift"
|
|
21724
|
+
}
|
|
21725
|
+
| {
|
|
21726
|
+
kind: "MagicalSign"
|
|
21727
|
+
}
|
|
21728
|
+
| {
|
|
21729
|
+
kind: "MagicalSpecialAbility"
|
|
21730
|
+
}
|
|
21731
|
+
| {
|
|
21732
|
+
kind: "MagicalTradition"
|
|
21733
|
+
}
|
|
21734
|
+
| {
|
|
21735
|
+
kind: "MagicStyleSpecialAbility"
|
|
21736
|
+
}
|
|
21737
|
+
| {
|
|
21738
|
+
kind: "OrbEnchantment"
|
|
21739
|
+
}
|
|
21740
|
+
| {
|
|
21741
|
+
kind: "PactGift"
|
|
21742
|
+
}
|
|
21743
|
+
| {
|
|
21744
|
+
kind: "ProtectiveWardingCircleSpecialAbility"
|
|
21745
|
+
}
|
|
21746
|
+
| {
|
|
21747
|
+
kind: "RingEnchantment"
|
|
21748
|
+
}
|
|
21749
|
+
| {
|
|
21750
|
+
kind: "Schweinetrommelzauber"
|
|
21751
|
+
}
|
|
21752
|
+
| {
|
|
21753
|
+
kind: "Sermon"
|
|
21754
|
+
}
|
|
21755
|
+
| {
|
|
21756
|
+
kind: "SexSpecialAbility"
|
|
21757
|
+
}
|
|
21758
|
+
| {
|
|
21759
|
+
kind: "SickleRitual"
|
|
21760
|
+
}
|
|
21761
|
+
| {
|
|
21762
|
+
kind: "SikaryanDrainSpecialAbility"
|
|
21763
|
+
}
|
|
21764
|
+
| {
|
|
21765
|
+
kind: "SkillStyleSpecialAbility"
|
|
21766
|
+
}
|
|
21767
|
+
| {
|
|
21768
|
+
kind: "SpellSwordEnchantment"
|
|
21769
|
+
}
|
|
21770
|
+
| {
|
|
21771
|
+
kind: "StaffEnchantment"
|
|
21772
|
+
}
|
|
21773
|
+
| {
|
|
21774
|
+
kind: "ToyEnchantment"
|
|
21775
|
+
}
|
|
21776
|
+
| {
|
|
21777
|
+
kind: "Trinkhornzauber"
|
|
21778
|
+
}
|
|
21779
|
+
| {
|
|
21780
|
+
kind: "VampiricGift"
|
|
21781
|
+
}
|
|
21782
|
+
| {
|
|
21783
|
+
kind: "Vision"
|
|
21784
|
+
}
|
|
21785
|
+
| {
|
|
21786
|
+
kind: "WandEnchantment"
|
|
21787
|
+
}
|
|
21788
|
+
| {
|
|
21789
|
+
kind: "WeaponEnchantment"
|
|
21790
|
+
}
|
|
21791
|
+
|
|
21560
21792
|
export interface RatedMinimumNumberPrerequisite {
|
|
21561
21793
|
/**
|
|
21562
21794
|
* The minimum number of skills that need to be on the defined minimum skill rating.
|
|
@@ -21794,6 +22026,14 @@ export type AdvantageDisadvantagePrerequisiteGroup =
|
|
|
21794
22026
|
kind: "MagicalTradition"
|
|
21795
22027
|
MagicalTradition: MagicalTraditionPrerequisite
|
|
21796
22028
|
}
|
|
22029
|
+
| {
|
|
22030
|
+
kind: "TinyActivatable"
|
|
22031
|
+
TinyActivatable: TinyActivatablePrerequisite
|
|
22032
|
+
}
|
|
22033
|
+
| {
|
|
22034
|
+
kind: "AnySpecialAbilityOfGroup"
|
|
22035
|
+
AnySpecialAbilityOfGroup: AnySpecialAbilityOfGroupPrerequisite
|
|
22036
|
+
}
|
|
21797
22037
|
| {
|
|
21798
22038
|
kind: "Rated"
|
|
21799
22039
|
Rated: RatedPrerequisite
|
|
@@ -50,6 +50,8 @@ const isPrerequisiteFor = (idMap, type, prerequisite, getById, traversedIds) =>
|
|
|
50
50
|
case "PrimaryAttribute":
|
|
51
51
|
case "BlessedTradition":
|
|
52
52
|
case "MagicalTradition":
|
|
53
|
+
case "TinyActivatable":
|
|
54
|
+
case "AnySpecialAbilityOfGroup":
|
|
53
55
|
case "RatedMinimumNumber":
|
|
54
56
|
case "RatedSum":
|
|
55
57
|
case "Enhancement":
|
package/lib/types/Advantage.d.ts
CHANGED
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
export declare const Advantage: DB.Entity<"Advantage", {
|
|
3
3
|
levels: DB.MemberDecl<DB.Integer, false>;
|
|
4
|
+
subtype: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"AdvantageDisadvantageSubtype", {
|
|
5
|
+
MagicalRank: DB.EnumCase<null>;
|
|
6
|
+
MagicalTitle: DB.EnumCase<null>;
|
|
7
|
+
MagicalHonor: DB.EnumCase<null>;
|
|
8
|
+
MagicalPunishment: DB.EnumCase<null>;
|
|
9
|
+
}, []>>, false>;
|
|
4
10
|
nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableNameBuilderRules", DB.Object<{
|
|
5
11
|
levelPlacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableNameLevelPlacement", {
|
|
6
12
|
BeforeOptions: DB.EnumCase<null>;
|
package/lib/types/Advantage.js
CHANGED
|
@@ -2,6 +2,7 @@ import * as DB from "tsondb/schema/dsl";
|
|
|
2
2
|
import { input, levels, maximum, name, name_in_library, range_l10n, rules } from "./_Activatable.js";
|
|
3
3
|
import { ap_value, ap_value_append, ap_value_l10n } from "./_ActivatableAdventurePointsValue.js";
|
|
4
4
|
import { automatic_entries } from "./_ActivatableAutomatic.js";
|
|
5
|
+
import { subtype } from "./_ActivatableMagical.js";
|
|
5
6
|
import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
|
|
6
7
|
import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
|
|
7
8
|
import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
|
|
@@ -14,6 +15,7 @@ export const Advantage = DB.Entity(import.meta.url, {
|
|
|
14
15
|
namePlural: "Advantages",
|
|
15
16
|
type: () => DB.Object({
|
|
16
17
|
levels,
|
|
18
|
+
subtype,
|
|
17
19
|
nameBuilderRules,
|
|
18
20
|
select_options,
|
|
19
21
|
explicit_select_options,
|
|
@@ -1,6 +1,12 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
export declare const Disadvantage: DB.Entity<"Disadvantage", {
|
|
3
3
|
levels: DB.MemberDecl<DB.Integer, false>;
|
|
4
|
+
subtype: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"AdvantageDisadvantageSubtype", {
|
|
5
|
+
MagicalRank: DB.EnumCase<null>;
|
|
6
|
+
MagicalTitle: DB.EnumCase<null>;
|
|
7
|
+
MagicalHonor: DB.EnumCase<null>;
|
|
8
|
+
MagicalPunishment: DB.EnumCase<null>;
|
|
9
|
+
}, []>>, false>;
|
|
4
10
|
nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableNameBuilderRules", DB.Object<{
|
|
5
11
|
levelPlacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableNameLevelPlacement", {
|
|
6
12
|
BeforeOptions: DB.EnumCase<null>;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
import { input, levels, maximum, name, name_in_library, rules } from "./_Activatable.js";
|
|
3
3
|
import { ap_value, ap_value_append, ap_value_l10n } from "./_ActivatableAdventurePointsValue.js";
|
|
4
|
+
import { subtype } from "./_ActivatableMagical.js";
|
|
4
5
|
import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
|
|
5
6
|
import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
|
|
6
7
|
import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
|
|
@@ -13,6 +14,7 @@ export const Disadvantage = DB.Entity(import.meta.url, {
|
|
|
13
14
|
namePlural: "Disadvantages",
|
|
14
15
|
type: () => DB.Object({
|
|
15
16
|
levels,
|
|
17
|
+
subtype,
|
|
16
18
|
nameBuilderRules,
|
|
17
19
|
select_options,
|
|
18
20
|
explicit_select_options,
|
package/lib/types/Disease.d.ts
CHANGED
|
@@ -43,6 +43,7 @@ export declare const Disease: DB.Entity<"Disease", {
|
|
|
43
43
|
}>, []>>, false>;
|
|
44
44
|
isChildhoodDisease: DB.MemberDecl<DB.Boolean, true>;
|
|
45
45
|
isMagicalDisease: DB.MemberDecl<DB.Boolean, true>;
|
|
46
|
+
isSexuallyTransmittableDisease: DB.MemberDecl<DB.Boolean, true>;
|
|
46
47
|
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
47
48
|
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
48
49
|
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
package/lib/types/Disease.js
CHANGED
|
@@ -22,6 +22,10 @@ export const Disease = DB.Entity(import.meta.url, {
|
|
|
22
22
|
comment: "Whether the disease is a magical disease.",
|
|
23
23
|
type: DB.Boolean(),
|
|
24
24
|
}),
|
|
25
|
+
isSexuallyTransmittableDisease: DB.Required({
|
|
26
|
+
comment: "Whether the disease is sexually transmittable.",
|
|
27
|
+
type: DB.Boolean(),
|
|
28
|
+
}),
|
|
25
29
|
src,
|
|
26
30
|
translations: NestedTranslationMap(DB.Required, "Disease", DiseaseTranslation),
|
|
27
31
|
}),
|
package/lib/types/Locale.d.ts
CHANGED
|
@@ -1069,6 +1069,7 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1069
1069
|
".input {$count :number} {{{$count} ranged combat techniques}}": null;
|
|
1070
1070
|
"special ability": null;
|
|
1071
1071
|
"no special ability": null;
|
|
1072
|
+
".input {$entity :string} {{a special ability}}": null;
|
|
1072
1073
|
Tradition: null;
|
|
1073
1074
|
"Tradition ({$tradition})": null;
|
|
1074
1075
|
Church: null;
|
|
@@ -1374,6 +1375,10 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1374
1375
|
"only those with at least one blunt side": null;
|
|
1375
1376
|
"only {$nameWithLevel}": null;
|
|
1376
1377
|
"only {$weapons}": null;
|
|
1378
|
+
"Magical Rank": null;
|
|
1379
|
+
"Magical Title": null;
|
|
1380
|
+
"Magical Honor": null;
|
|
1381
|
+
"Magical Punishment": null;
|
|
1377
1382
|
".input {$ord :number} {{{$ord}. attack}}": null;
|
|
1378
1383
|
".input {$ord :number} {{{$ord}. throw}}": null;
|
|
1379
1384
|
"depending on the level of the special ability {$name}": null;
|
package/lib/types/Locale.js
CHANGED
|
@@ -1094,6 +1094,7 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1094
1094
|
".input {$count :number} {{{$count} ranged combat techniques}}": null,
|
|
1095
1095
|
"special ability": null,
|
|
1096
1096
|
"no special ability": null,
|
|
1097
|
+
".input {$entity :string} {{a special ability}}": null,
|
|
1097
1098
|
"Tradition": null,
|
|
1098
1099
|
"Tradition ({$tradition})": null,
|
|
1099
1100
|
"Church": null,
|
|
@@ -1409,6 +1410,11 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1409
1410
|
"only those with at least one blunt side": null,
|
|
1410
1411
|
"only {$nameWithLevel}": null,
|
|
1411
1412
|
"only {$weapons}": null,
|
|
1413
|
+
// advantages/disadvantages
|
|
1414
|
+
"Magical Rank": null,
|
|
1415
|
+
"Magical Title": null,
|
|
1416
|
+
"Magical Honor": null,
|
|
1417
|
+
"Magical Punishment": null,
|
|
1412
1418
|
// combat special ability -- penalty
|
|
1413
1419
|
".input {$ord :number} {{{$ord}. attack}}": null,
|
|
1414
1420
|
".input {$ord :number} {{{$ord}. throw}}": null,
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const subtype: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"AdvantageDisadvantageSubtype", {
|
|
3
|
+
MagicalRank: DB.EnumCase<null>;
|
|
4
|
+
MagicalTitle: DB.EnumCase<null>;
|
|
5
|
+
MagicalHonor: DB.EnumCase<null>;
|
|
6
|
+
MagicalPunishment: DB.EnumCase<null>;
|
|
7
|
+
}, []>>, false>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
const AdvantageDisadvantageSubtype = DB.Enum(import.meta.url, {
|
|
3
|
+
name: "AdvantageDisadvantageSubtype",
|
|
4
|
+
values: () => ({
|
|
5
|
+
MagicalRank: DB.EnumCase({ type: null }),
|
|
6
|
+
MagicalTitle: DB.EnumCase({ type: null }),
|
|
7
|
+
MagicalHonor: DB.EnumCase({ type: null }),
|
|
8
|
+
MagicalPunishment: DB.EnumCase({ type: null }),
|
|
9
|
+
}),
|
|
10
|
+
});
|
|
11
|
+
export const subtype = DB.Optional({ type: DB.IncludeIdentifier(AdvantageDisadvantageSubtype) });
|
|
@@ -451,3 +451,7 @@ export declare const AdvancedSkillStyleSpecialAbilityIdentifier: DB.Enum<"Advanc
|
|
|
451
451
|
AdvancedCombatSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
452
452
|
AdvancedSkillSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
453
453
|
}, []>;
|
|
454
|
+
export declare const TinyActivatableIdentifier: DB.Enum<"TinyActivatableIdentifier", {
|
|
455
|
+
Blessing: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
456
|
+
Cantrip: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
457
|
+
}, []>;
|
|
@@ -347,3 +347,10 @@ export const AdvancedSkillStyleSpecialAbilityIdentifier = DB.Enum(import.meta.ur
|
|
|
347
347
|
AdvancedSkillSpecialAbility: DB.EnumCase({ type: AdvancedSkillSpecialAbilityIdentifier() }),
|
|
348
348
|
}),
|
|
349
349
|
});
|
|
350
|
+
export const TinyActivatableIdentifier = DB.Enum(import.meta.url, {
|
|
351
|
+
name: "TinyActivatableIdentifier",
|
|
352
|
+
values: () => ({
|
|
353
|
+
Blessing: DB.EnumCase({ type: BlessingIdentifier() }),
|
|
354
|
+
Cantrip: DB.EnumCase({ type: CantripIdentifier() }),
|
|
355
|
+
}),
|
|
356
|
+
});
|
|
@@ -556,6 +556,41 @@ export declare const GeneralPrerequisiteGroup: DB.Enum<"GeneralPrerequisiteGroup
|
|
|
556
556
|
}>, []>>>;
|
|
557
557
|
}, []>>, false>;
|
|
558
558
|
}>, []>>>;
|
|
559
|
+
TinyActivatable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TinyActivatablePrerequisite", DB.Object<{
|
|
560
|
+
id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"TinyActivatableIdentifier", {
|
|
561
|
+
Blessing: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
562
|
+
Cantrip: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
563
|
+
}, []>>, true>;
|
|
564
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
565
|
+
Hide: DB.EnumCase<null>;
|
|
566
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
567
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
568
|
+
Standalone: DB.EnumCase<null>;
|
|
569
|
+
Connected: DB.EnumCase<null>;
|
|
570
|
+
}, []>>, false>;
|
|
571
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
572
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
573
|
+
}>, true>;
|
|
574
|
+
}>, []>>>;
|
|
575
|
+
}, []>>, false>;
|
|
576
|
+
}>, []>>>;
|
|
577
|
+
AnySpecialAbilityOfGroup: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AnySpecialAbilityOfGroupPrerequisite", DB.Object<{
|
|
578
|
+
group: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SpecialAbilityGroup", {
|
|
579
|
+
[k: string]: DB.EnumCase<null>;
|
|
580
|
+
}, []>>, true>;
|
|
581
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
582
|
+
Hide: DB.EnumCase<null>;
|
|
583
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
584
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
585
|
+
Standalone: DB.EnumCase<null>;
|
|
586
|
+
Connected: DB.EnumCase<null>;
|
|
587
|
+
}, []>>, false>;
|
|
588
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
589
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
590
|
+
}>, true>;
|
|
591
|
+
}>, []>>>;
|
|
592
|
+
}, []>>, false>;
|
|
593
|
+
}>, []>>>;
|
|
559
594
|
Rated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RatedPrerequisite", DB.Object<{
|
|
560
595
|
id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RatedIdentifier", {
|
|
561
596
|
Attribute: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -1191,6 +1226,41 @@ export declare const AdvantageDisadvantagePrerequisiteGroup: DB.Enum<"AdvantageD
|
|
|
1191
1226
|
}>, []>>>;
|
|
1192
1227
|
}, []>>, false>;
|
|
1193
1228
|
}>, []>>>;
|
|
1229
|
+
TinyActivatable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TinyActivatablePrerequisite", DB.Object<{
|
|
1230
|
+
id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"TinyActivatableIdentifier", {
|
|
1231
|
+
Blessing: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1232
|
+
Cantrip: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1233
|
+
}, []>>, true>;
|
|
1234
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
1235
|
+
Hide: DB.EnumCase<null>;
|
|
1236
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
1237
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
1238
|
+
Standalone: DB.EnumCase<null>;
|
|
1239
|
+
Connected: DB.EnumCase<null>;
|
|
1240
|
+
}, []>>, false>;
|
|
1241
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
1242
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
1243
|
+
}>, true>;
|
|
1244
|
+
}>, []>>>;
|
|
1245
|
+
}, []>>, false>;
|
|
1246
|
+
}>, []>>>;
|
|
1247
|
+
AnySpecialAbilityOfGroup: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"AnySpecialAbilityOfGroupPrerequisite", DB.Object<{
|
|
1248
|
+
group: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SpecialAbilityGroup", {
|
|
1249
|
+
[k: string]: DB.EnumCase<null>;
|
|
1250
|
+
}, []>>, true>;
|
|
1251
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
1252
|
+
Hide: DB.EnumCase<null>;
|
|
1253
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
1254
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
1255
|
+
Standalone: DB.EnumCase<null>;
|
|
1256
|
+
Connected: DB.EnumCase<null>;
|
|
1257
|
+
}, []>>, false>;
|
|
1258
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
1259
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
1260
|
+
}>, true>;
|
|
1261
|
+
}>, []>>>;
|
|
1262
|
+
}, []>>, false>;
|
|
1263
|
+
}>, []>>>;
|
|
1194
1264
|
Rated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"RatedPrerequisite", DB.Object<{
|
|
1195
1265
|
id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RatedIdentifier", {
|
|
1196
1266
|
Attribute: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -2,6 +2,7 @@ import * as DB from "tsondb/schema/dsl";
|
|
|
2
2
|
import { ActivatablePrerequisite } from "./single/ActivatablePrerequisite.js";
|
|
3
3
|
import { AncestorBloodPrerequisite } from "./single/AncestorBloodPrerequisite.js";
|
|
4
4
|
import { AnimistPowerPrerequisite } from "./single/AnimistPowerPrerequisite.js";
|
|
5
|
+
import { AnySpecialAbilityOfGroupPrerequisite } from "./single/AnySpecialAbilityOfGroupPrerequisite.js";
|
|
5
6
|
import { CulturePrerequisite } from "./single/CulturePrerequisite.js";
|
|
6
7
|
import { EnhancementPrerequisite } from "./single/EnhancementPrerequisite.js";
|
|
7
8
|
import { InfluencePrerequisite } from "./single/InfluencePrerequisite.js";
|
|
@@ -20,6 +21,7 @@ import { SexualCharacteristicPrerequisite } from "./single/SexualCharacteristicP
|
|
|
20
21
|
import { SocialStatusPrerequisite } from "./single/SocialStatusPrerequisite.js";
|
|
21
22
|
import { StatePrerequisite } from "./single/StatePrerequisite.js";
|
|
22
23
|
import { TextPrerequisite } from "./single/TextPrerequisite.js";
|
|
24
|
+
import { TinyActivatablePrerequisite } from "./single/TinyActivatablePrerequisite.js";
|
|
23
25
|
import { BlessedTraditionPrerequisite, MagicalTraditionPrerequisite, } from "./single/TraditionPrerequisite.js";
|
|
24
26
|
export const RulePrerequisiteGroup = DB.Enum(import.meta.url, {
|
|
25
27
|
name: "RulePrerequisiteGroup",
|
|
@@ -62,6 +64,10 @@ export const GeneralPrerequisiteGroup = DB.Enum(import.meta.url, {
|
|
|
62
64
|
Activatable: DB.EnumCase({ type: DB.IncludeIdentifier(ActivatablePrerequisite) }),
|
|
63
65
|
BlessedTradition: DB.EnumCase({ type: DB.IncludeIdentifier(BlessedTraditionPrerequisite) }),
|
|
64
66
|
MagicalTradition: DB.EnumCase({ type: DB.IncludeIdentifier(MagicalTraditionPrerequisite) }),
|
|
67
|
+
TinyActivatable: DB.EnumCase({ type: DB.IncludeIdentifier(TinyActivatablePrerequisite) }),
|
|
68
|
+
AnySpecialAbilityOfGroup: DB.EnumCase({
|
|
69
|
+
type: DB.IncludeIdentifier(AnySpecialAbilityOfGroupPrerequisite),
|
|
70
|
+
}),
|
|
65
71
|
Rated: DB.EnumCase({ type: DB.IncludeIdentifier(RatedPrerequisite) }),
|
|
66
72
|
RatedMinimumNumber: DB.EnumCase({ type: DB.IncludeIdentifier(RatedMinimumNumberPrerequisite) }),
|
|
67
73
|
RatedSum: DB.EnumCase({ type: DB.IncludeIdentifier(RatedSumPrerequisite) }),
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const AnySpecialAbilityOfGroupPrerequisite: DB.TypeAlias<"AnySpecialAbilityOfGroupPrerequisite", DB.Object<{
|
|
3
|
+
group: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SpecialAbilityGroup", {
|
|
4
|
+
[k: string]: DB.EnumCase<null>;
|
|
5
|
+
}, []>>, true>;
|
|
6
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
7
|
+
Hide: DB.EnumCase<null>;
|
|
8
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
9
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
10
|
+
Standalone: DB.EnumCase<null>;
|
|
11
|
+
Connected: DB.EnumCase<null>;
|
|
12
|
+
}, []>>, false>;
|
|
13
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
14
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
15
|
+
}>, true>;
|
|
16
|
+
}>, []>>>;
|
|
17
|
+
}, []>>, false>;
|
|
18
|
+
}>, []>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { SpecialAbilityIdentifier } from "../../_IdentifierGroup.js";
|
|
3
|
+
import { DisplayOption } from "../DisplayOption.js";
|
|
4
|
+
export const AnySpecialAbilityOfGroupPrerequisite = DB.TypeAlias(import.meta.url, {
|
|
5
|
+
name: "AnySpecialAbilityOfGroupPrerequisite",
|
|
6
|
+
type: () => DB.Object({
|
|
7
|
+
group: DB.Required({
|
|
8
|
+
type: DB.IncludeIdentifier(SpecialAbilityGroup),
|
|
9
|
+
}),
|
|
10
|
+
display_option: DB.Optional({
|
|
11
|
+
type: DB.IncludeIdentifier(DisplayOption),
|
|
12
|
+
}),
|
|
13
|
+
}),
|
|
14
|
+
});
|
|
15
|
+
const SpecialAbilityGroup = DB.Enum(import.meta.url, {
|
|
16
|
+
name: "SpecialAbilityGroup",
|
|
17
|
+
values: () => ({
|
|
18
|
+
...Object.fromEntries(Object.keys(SpecialAbilityIdentifier.type.value.values).map(entity => [
|
|
19
|
+
entity,
|
|
20
|
+
DB.EnumCase({ type: null }),
|
|
21
|
+
])),
|
|
22
|
+
}),
|
|
23
|
+
});
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const TinyActivatablePrerequisite: DB.TypeAlias<"TinyActivatablePrerequisite", DB.Object<{
|
|
3
|
+
id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"TinyActivatableIdentifier", {
|
|
4
|
+
Blessing: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
5
|
+
Cantrip: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
6
|
+
}, []>>, true>;
|
|
7
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
8
|
+
Hide: DB.EnumCase<null>;
|
|
9
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
10
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
11
|
+
Standalone: DB.EnumCase<null>;
|
|
12
|
+
Connected: DB.EnumCase<null>;
|
|
13
|
+
}, []>>, false>;
|
|
14
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
15
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
16
|
+
}>, true>;
|
|
17
|
+
}>, []>>>;
|
|
18
|
+
}, []>>, false>;
|
|
19
|
+
}>, []>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { TinyActivatableIdentifier } from "../../_IdentifierGroup.js";
|
|
3
|
+
import { DisplayOption } from "../DisplayOption.js";
|
|
4
|
+
export const TinyActivatablePrerequisite = DB.TypeAlias(import.meta.url, {
|
|
5
|
+
name: "TinyActivatablePrerequisite",
|
|
6
|
+
comment: "Requires a specific cantrip or blessing.",
|
|
7
|
+
type: () => DB.Object({
|
|
8
|
+
id: DB.Required({
|
|
9
|
+
comment: "The required item.",
|
|
10
|
+
type: DB.IncludeIdentifierType(TinyActivatableIdentifier),
|
|
11
|
+
}),
|
|
12
|
+
display_option: DB.Optional({
|
|
13
|
+
type: DB.IncludeIdentifier(DisplayOption),
|
|
14
|
+
}),
|
|
15
|
+
}),
|
|
16
|
+
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@optolith/database-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.60.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",
|