@optolith/database-schema 0.59.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 +12 -0
- package/gen/types.d.ts +217 -0
- package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +2 -0
- package/lib/types/Disease.d.ts +1 -0
- package/lib/types/Disease.js +4 -0
- package/lib/types/Locale.d.ts +1 -0
- package/lib/types/Locale.js +1 -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,18 @@
|
|
|
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)
|
|
5
17
|
## [0.59.0](https://github.com/Optolith/database-schema/compare/v0.58.0...v0.59.0) (2026-09-12)
|
|
6
18
|
|
|
7
19
|
### ⚠ BREAKING CHANGES
|
package/gen/types.d.ts
CHANGED
|
@@ -443,6 +443,7 @@ export type EnumMap = {
|
|
|
443
443
|
SkillWithEnhancementsIdentifier: SkillWithEnhancementsIdentifier
|
|
444
444
|
SlowPerformanceParameters: SlowPerformanceParameters
|
|
445
445
|
SlowSkillCastingTimeUnit: SlowSkillCastingTimeUnit
|
|
446
|
+
SpecialAbilityGroup: SpecialAbilityGroup
|
|
446
447
|
SpecificAffectedTargetCategoryIdentifier: SpecificAffectedTargetCategoryIdentifier
|
|
447
448
|
SpecificFromSkillSelectOptionCategoryCategoryOperation: SpecificFromSkillSelectOptionCategoryCategoryOperation
|
|
448
449
|
SpellFilter: SpellFilter
|
|
@@ -456,6 +457,7 @@ export type EnumMap = {
|
|
|
456
457
|
TalismanDamageOption: TalismanDamageOption
|
|
457
458
|
TalismanType: TalismanType
|
|
458
459
|
TextVerificationRule: TextVerificationRule
|
|
460
|
+
TinyActivatableIdentifier: TinyActivatableIdentifier
|
|
459
461
|
TradeSecretAdventurePointsValue: TradeSecretAdventurePointsValue
|
|
460
462
|
TradeSecretSelectOptionCategory: TradeSecretSelectOptionCategory
|
|
461
463
|
TribePrerequisiteGroup: TribePrerequisiteGroup
|
|
@@ -501,6 +503,7 @@ export type TypeAliasMap = {
|
|
|
501
503
|
AnimistPowerLevel: AnimistPowerLevel
|
|
502
504
|
AnimistPowerPrerequisite: AnimistPowerPrerequisite
|
|
503
505
|
AnimistPowerPrerequisites: AnimistPowerPrerequisites
|
|
506
|
+
AnySpecialAbilityOfGroupPrerequisite: AnySpecialAbilityOfGroupPrerequisite
|
|
504
507
|
ApplicableCombatTechniquesLevelRestriction: ApplicableCombatTechniquesLevelRestriction
|
|
505
508
|
ApplicableCombatTechniquesNegativeCombatTechniquesRestriction: ApplicableCombatTechniquesNegativeCombatTechniquesRestriction<unknown>
|
|
506
509
|
ApplicableCombatTechniquesRaceRestriction: ApplicableCombatTechniquesRaceRestriction
|
|
@@ -924,6 +927,7 @@ export type TypeAliasMap = {
|
|
|
924
927
|
TargetCategoriesSelectOptionCategory: TargetCategoriesSelectOptionCategory
|
|
925
928
|
TextNode: TextNode
|
|
926
929
|
TextPrerequisite: TextPrerequisite
|
|
930
|
+
TinyActivatablePrerequisite: TinyActivatablePrerequisite
|
|
927
931
|
TradeSecretSelectOptions: TradeSecretSelectOptions
|
|
928
932
|
TribePrerequisites: TribePrerequisites
|
|
929
933
|
VolumeByLevel: VolumeByLevel
|
|
@@ -2151,6 +2155,7 @@ export interface Locale {
|
|
|
2151
2155
|
".input {$count :number} {{{$count} ranged combat techniques}}": string & { __params: { "count": number } }
|
|
2152
2156
|
"special ability": string
|
|
2153
2157
|
"no special ability": string
|
|
2158
|
+
".input {$entity :string} {{a special ability}}": string & { __params: { "entity": string } }
|
|
2154
2159
|
"Tradition": string
|
|
2155
2160
|
"Tradition ({$tradition})": string & { __params: { "tradition": StringableTranslationParameter } }
|
|
2156
2161
|
"Church": string
|
|
@@ -4477,6 +4482,14 @@ export type GeneralPrerequisiteGroup =
|
|
|
4477
4482
|
kind: "MagicalTradition"
|
|
4478
4483
|
MagicalTradition: MagicalTraditionPrerequisite
|
|
4479
4484
|
}
|
|
4485
|
+
| {
|
|
4486
|
+
kind: "TinyActivatable"
|
|
4487
|
+
TinyActivatable: TinyActivatablePrerequisite
|
|
4488
|
+
}
|
|
4489
|
+
| {
|
|
4490
|
+
kind: "AnySpecialAbilityOfGroup"
|
|
4491
|
+
AnySpecialAbilityOfGroup: AnySpecialAbilityOfGroupPrerequisite
|
|
4492
|
+
}
|
|
4480
4493
|
| {
|
|
4481
4494
|
kind: "Rated"
|
|
4482
4495
|
Rated: RatedPrerequisite
|
|
@@ -5330,6 +5343,11 @@ export interface Disease {
|
|
|
5330
5343
|
*/
|
|
5331
5344
|
isMagicalDisease: boolean
|
|
5332
5345
|
|
|
5346
|
+
/**
|
|
5347
|
+
* Whether the disease is sexually transmittable.
|
|
5348
|
+
*/
|
|
5349
|
+
isSexuallyTransmittableDisease: boolean
|
|
5350
|
+
|
|
5333
5351
|
/**
|
|
5334
5352
|
* References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
|
|
5335
5353
|
*/
|
|
@@ -21580,6 +21598,197 @@ export type PrimaryAttributeCategory =
|
|
|
21580
21598
|
kind: "Magical"
|
|
21581
21599
|
}
|
|
21582
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
|
+
|
|
21583
21792
|
export interface RatedMinimumNumberPrerequisite {
|
|
21584
21793
|
/**
|
|
21585
21794
|
* The minimum number of skills that need to be on the defined minimum skill rating.
|
|
@@ -21817,6 +22026,14 @@ export type AdvantageDisadvantagePrerequisiteGroup =
|
|
|
21817
22026
|
kind: "MagicalTradition"
|
|
21818
22027
|
MagicalTradition: MagicalTraditionPrerequisite
|
|
21819
22028
|
}
|
|
22029
|
+
| {
|
|
22030
|
+
kind: "TinyActivatable"
|
|
22031
|
+
TinyActivatable: TinyActivatablePrerequisite
|
|
22032
|
+
}
|
|
22033
|
+
| {
|
|
22034
|
+
kind: "AnySpecialAbilityOfGroup"
|
|
22035
|
+
AnySpecialAbilityOfGroup: AnySpecialAbilityOfGroupPrerequisite
|
|
22036
|
+
}
|
|
21820
22037
|
| {
|
|
21821
22038
|
kind: "Rated"
|
|
21822
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/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;
|
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,
|
|
@@ -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",
|