optolith-database-schema 0.23.1 → 0.24.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,26 @@
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.24.0](https://github.com/elyukai/optolith-database-schema/compare/v0.23.2...v0.24.0) (2025-12-05)
6
+
7
+
8
+ ### ⚠ BREAKING CHANGES
9
+
10
+ * The prerequisites field is moved from profession
11
+ versions to profession packages.
12
+
13
+ ### Bug Fixes
14
+
15
+ * arcane traditions and elements can be requirable select options ([d1c9795](https://github.com/elyukai/optolith-database-schema/commit/d1c9795e8378b8f7da69e47491c48df6514661a8))
16
+ * profession prerequisites can differ per profession version ([08a7d8d](https://github.com/elyukai/optolith-database-schema/commit/08a7d8d2c88beff69ea7b4d68995b1eb6d2528a6))
17
+
18
+ ## [0.23.2](https://github.com/elyukai/optolith-database-schema/compare/v0.23.1...v0.23.2) (2025-12-04)
19
+
20
+
21
+ ### Bug Fixes
22
+
23
+ * use correct identifiers in restrictions ([9392990](https://github.com/elyukai/optolith-database-schema/commit/9392990109296bc4cfbc5116c8fa5360efd4a02d))
24
+
5
25
  ## [0.23.1](https://github.com/elyukai/optolith-database-schema/compare/v0.23.0...v0.23.1) (2025-12-04)
6
26
 
7
27
 
package/gen/types.d.ts CHANGED
@@ -3991,6 +3991,18 @@ export type RequirableSelectOptionIdentifier =
3991
3991
  kind: "TradeSecret"
3992
3992
  TradeSecret: TradeSecret_ID
3993
3993
  }
3994
+ | {
3995
+ kind: "ArcaneBardTradition"
3996
+ ArcaneBardTradition: ArcaneBardTradition_ID
3997
+ }
3998
+ | {
3999
+ kind: "ArcaneDancerTradition"
4000
+ ArcaneDancerTradition: ArcaneDancerTradition_ID
4001
+ }
4002
+ | {
4003
+ kind: "Element"
4004
+ Element: Element_ID
4005
+ }
3994
4006
 
3995
4007
  export interface CloseCombatTechnique {
3996
4008
  /**
@@ -6927,6 +6939,76 @@ export type TradeSecretAdventurePointsValue =
6927
6939
 
6928
6940
  export type PlainGeneralPrerequisites = PlainPrerequisites<GeneralPrerequisiteGroup>
6929
6941
 
6942
+ export interface ArcaneBardTradition {
6943
+ prerequisites: ArcaneTraditionPrerequisites
6944
+
6945
+ /**
6946
+ * All translations for the entry, identified by IETF language tag (BCP47).
6947
+ */
6948
+ translations: {
6949
+ [localeId: string]: ArcaneBardTraditionTranslationTranslation
6950
+ }
6951
+ }
6952
+
6953
+ /**
6954
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
6955
+ */
6956
+ export type ArcaneBardTradition_ID = string
6957
+
6958
+ export interface ArcaneBardTraditionTranslationTranslation {
6959
+ /**
6960
+ * The arcane tradition’s name.
6961
+ */
6962
+ name: string
6963
+ }
6964
+
6965
+ export type ArcaneTraditionPrerequisites = PlainPrerequisites<ArcaneTraditionPrerequisiteGroup>
6966
+
6967
+ export type ArcaneTraditionPrerequisiteGroup =
6968
+ | {
6969
+ kind: "Sex"
6970
+ Sex: SexPrerequisite
6971
+ }
6972
+ | {
6973
+ kind: "Culture"
6974
+ Culture: CulturePrerequisite
6975
+ }
6976
+
6977
+ /**
6978
+ * Requires a specific culture or one of a specific set of cultures.
6979
+ */
6980
+ export interface CulturePrerequisite {
6981
+ /**
6982
+ * The culture’s identifier.
6983
+ */
6984
+ id: Culture_ID
6985
+
6986
+ display_option?: DisplayOption
6987
+ }
6988
+
6989
+ export interface ArcaneDancerTradition {
6990
+ prerequisites: ArcaneTraditionPrerequisites
6991
+
6992
+ /**
6993
+ * All translations for the entry, identified by IETF language tag (BCP47).
6994
+ */
6995
+ translations: {
6996
+ [localeId: string]: ArcaneDancerTraditionTranslationTranslation
6997
+ }
6998
+ }
6999
+
7000
+ /**
7001
+ * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
7002
+ */
7003
+ export type ArcaneDancerTradition_ID = string
7004
+
7005
+ export interface ArcaneDancerTraditionTranslationTranslation {
7006
+ /**
7007
+ * The arcane tradition’s name.
7008
+ */
7009
+ name: string
7010
+ }
7011
+
6930
7012
  /**
6931
7013
  * A list of preconditions for the prerequisite it is defined on, so that it only takes effect if the prerequisites in this list are matched.
6932
7014
  *
@@ -7408,11 +7490,6 @@ export interface ProfessionVersion {
7408
7490
  */
7409
7491
  profession: Profession_ID
7410
7492
 
7411
- /**
7412
- * Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.
7413
- */
7414
- prerequisites?: ProfessionPrerequisites
7415
-
7416
7493
  /**
7417
7494
  * A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.
7418
7495
  */
@@ -7490,42 +7567,6 @@ export interface ProfessionVersionTranslation {
7490
7567
  errata?: Errata
7491
7568
  }
7492
7569
 
7493
- export type ProfessionPrerequisites = PlainPrerequisites<ProfessionPrerequisiteGroup>
7494
-
7495
- export type ProfessionPrerequisiteGroup =
7496
- | {
7497
- kind: "Sex"
7498
- Sex: SexPrerequisite
7499
- }
7500
- | {
7501
- kind: "Race"
7502
- Race: RacePrerequisite
7503
- }
7504
- | {
7505
- kind: "Culture"
7506
- Culture: CulturePrerequisite
7507
- }
7508
- | {
7509
- kind: "Activatable"
7510
- Activatable: ActivatablePrerequisite
7511
- }
7512
- | {
7513
- kind: "Rated"
7514
- Rated: RatedPrerequisite
7515
- }
7516
-
7517
- /**
7518
- * Requires a specific culture or one of a specific set of cultures.
7519
- */
7520
- export interface CulturePrerequisite {
7521
- /**
7522
- * The culture’s identifier.
7523
- */
7524
- id: Culture_ID
7525
-
7526
- display_option?: DisplayOption
7527
- }
7528
-
7529
7570
  export interface ProfessionPackage {
7530
7571
  /**
7531
7572
  * The associated profession version.
@@ -7542,6 +7583,11 @@ export interface ProfessionPackage {
7542
7583
  */
7543
7584
  ap_value: number
7544
7585
 
7586
+ /**
7587
+ * Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.
7588
+ */
7589
+ prerequisites?: ProfessionPrerequisites
7590
+
7545
7591
  /**
7546
7592
  * In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.
7547
7593
  */
@@ -7588,6 +7634,30 @@ export interface ProfessionPackage {
7588
7634
  */
7589
7635
  export type ProfessionPackage_ID = string
7590
7636
 
7637
+ export type ProfessionPrerequisites = PlainPrerequisites<ProfessionPrerequisiteGroup>
7638
+
7639
+ export type ProfessionPrerequisiteGroup =
7640
+ | {
7641
+ kind: "Sex"
7642
+ Sex: SexPrerequisite
7643
+ }
7644
+ | {
7645
+ kind: "Race"
7646
+ Race: RacePrerequisite
7647
+ }
7648
+ | {
7649
+ kind: "Culture"
7650
+ Culture: CulturePrerequisite
7651
+ }
7652
+ | {
7653
+ kind: "Activatable"
7654
+ Activatable: ActivatablePrerequisite
7655
+ }
7656
+ | {
7657
+ kind: "Rated"
7658
+ Rated: RatedPrerequisite
7659
+ }
7660
+
7591
7661
  /**
7592
7662
  * In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.
7593
7663
  */
@@ -10130,7 +10200,7 @@ export interface RestrictedToRaces {
10130
10200
  /**
10131
10201
  * The item is restricted to one of a list of races. If only one race is allowed, the list may only have a single element.
10132
10202
  */
10133
- scope: MagicalTradition_ID[]
10203
+ scope: Race_ID[]
10134
10204
  }
10135
10205
 
10136
10206
  /**
@@ -10140,7 +10210,7 @@ export interface RestrictedToCultures {
10140
10210
  /**
10141
10211
  * The item is restricted to one of a list of cultures. If only one culture is allowed, the list may only have a single element.
10142
10212
  */
10143
- scope: MagicalTradition_ID[]
10213
+ scope: Culture_ID[]
10144
10214
  }
10145
10215
 
10146
10216
  /**
@@ -10150,7 +10220,7 @@ export interface RestrictedToProfessions {
10150
10220
  /**
10151
10221
  * The item is restricted to one of a list of professions. If only one profession is allowed, the list may only have a single element.
10152
10222
  */
10153
- scope: MagicalTradition_ID[]
10223
+ scope: Profession_ID[]
10154
10224
  }
10155
10225
 
10156
10226
  /**
@@ -15525,41 +15595,6 @@ export interface ArcaneBardTraditionReferenceTranslationTranslation {
15525
15595
  name: string
15526
15596
  }
15527
15597
 
15528
- export interface ArcaneBardTradition {
15529
- prerequisites: ArcaneTraditionPrerequisites
15530
-
15531
- /**
15532
- * All translations for the entry, identified by IETF language tag (BCP47).
15533
- */
15534
- translations: {
15535
- [localeId: string]: ArcaneBardTraditionTranslationTranslation
15536
- }
15537
- }
15538
-
15539
- /**
15540
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
15541
- */
15542
- export type ArcaneBardTradition_ID = string
15543
-
15544
- export interface ArcaneBardTraditionTranslationTranslation {
15545
- /**
15546
- * The arcane tradition’s name.
15547
- */
15548
- name: string
15549
- }
15550
-
15551
- export type ArcaneTraditionPrerequisites = PlainPrerequisites<ArcaneTraditionPrerequisiteGroup>
15552
-
15553
- export type ArcaneTraditionPrerequisiteGroup =
15554
- | {
15555
- kind: "Sex"
15556
- Sex: SexPrerequisite
15557
- }
15558
- | {
15559
- kind: "Culture"
15560
- Culture: CulturePrerequisite
15561
- }
15562
-
15563
15598
  export interface MagicalDance {
15564
15599
  /**
15565
15600
  * Lists the linked three attributes used to make a skill check.
@@ -15713,29 +15748,6 @@ export interface ArcaneDancerTraditionReferenceTranslationTranslation {
15713
15748
  name: string
15714
15749
  }
15715
15750
 
15716
- export interface ArcaneDancerTradition {
15717
- prerequisites: ArcaneTraditionPrerequisites
15718
-
15719
- /**
15720
- * All translations for the entry, identified by IETF language tag (BCP47).
15721
- */
15722
- translations: {
15723
- [localeId: string]: ArcaneDancerTraditionTranslationTranslation
15724
- }
15725
- }
15726
-
15727
- /**
15728
- * The entity’s identifier. A UUID or a locale code if it is registered as the locale entity.
15729
- */
15730
- export type ArcaneDancerTradition_ID = string
15731
-
15732
- export interface ArcaneDancerTraditionTranslationTranslation {
15733
- /**
15734
- * The arcane tradition’s name.
15735
- */
15736
- name: string
15737
- }
15738
-
15739
15751
  export interface JesterTrick {
15740
15752
  /**
15741
15753
  * Lists the linked three attributes used to make a skill check.
@@ -13,34 +13,34 @@ export declare const Profession: Entity<"Profession", {
13
13
  }, []>>, true>;
14
14
  versions: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"ProfessionVersion", {
15
15
  profession: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
16
- prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
17
- Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
18
- Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", ObjectType<{
19
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
20
- display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
21
- Hide: EnumCase<null>;
22
- ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", ObjectType<{
23
- sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
24
- Standalone: EnumCase<null>;
25
- Connected: EnumCase<null>;
26
- }, []>>, false>;
27
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
28
- replacement: import("tsondb/schema/def").MemberDecl<String, true>;
29
- }>, true>;
30
- }>, []>>>;
31
- }, []>>, false>;
32
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
33
- Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", ObjectType<{
34
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
35
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
36
- text: import("tsondb/schema/def").MemberDecl<String, true>;
37
- }>, true>;
38
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
39
- }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
40
16
  package: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"ProfessionPackage", {
41
17
  profession_version: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
42
18
  experience_level: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, false>;
43
19
  ap_value: import("tsondb/schema/def").MemberDecl<Integer, true>;
20
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
21
+ Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
22
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", ObjectType<{
23
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
24
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
25
+ Hide: EnumCase<null>;
26
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", ObjectType<{
27
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
28
+ Standalone: EnumCase<null>;
29
+ Connected: EnumCase<null>;
30
+ }, []>>, false>;
31
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
32
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
33
+ }>, true>;
34
+ }>, []>>>;
35
+ }, []>>, false>;
36
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
37
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", ObjectType<{
38
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
39
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
40
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
41
+ }>, true>;
42
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
43
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
44
44
  options: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPackageOptions", ObjectType<{
45
45
  skill_specialization: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SkillSpecializationOptions", {
46
46
  Specific: EnumCase<IncludeIdentifier<[], TypeAlias<"SpecificSkillSpecializationOptions", ObjectType<{
@@ -145,6 +145,9 @@ export declare const Profession: Entity<"Profession", {
145
145
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
146
146
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
147
147
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
148
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
149
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
150
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
148
151
  }, []>>>, false>;
149
152
  }>, []>>>;
150
153
  Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"ProfessionSpecialAbilitySelection", ObjectType<{
@@ -215,6 +218,9 @@ export declare const Profession: Entity<"Profession", {
215
218
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
216
219
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
217
220
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
221
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
222
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
223
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
218
224
  }, []>>>, false>;
219
225
  }>, []>>>, true>;
220
226
  }>, []>>>;
@@ -394,6 +400,9 @@ export declare const Profession: Entity<"Profession", {
394
400
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
395
401
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
396
402
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
403
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
404
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
405
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
397
406
  }, []>>>, false>;
398
407
  }>, []>>>;
399
408
  Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"ProfessionSpecialAbilitySelection", ObjectType<{
@@ -464,6 +473,9 @@ export declare const Profession: Entity<"Profession", {
464
473
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
465
474
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
466
475
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
476
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
477
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
478
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
467
479
  }, []>>>, false>;
468
480
  }>, []>>>, true>;
469
481
  }>, []>>>;
@@ -605,34 +617,34 @@ export declare const MundaneProfessionGroup: Enum<"MundaneProfessionGroup", {
605
617
  }, []>;
606
618
  export declare const ProfessionVersion: Entity<"ProfessionVersion", {
607
619
  profession: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
608
- prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
609
- Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
610
- Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", ObjectType<{
611
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
612
- display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
613
- Hide: EnumCase<null>;
614
- ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", ObjectType<{
615
- sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
616
- Standalone: EnumCase<null>;
617
- Connected: EnumCase<null>;
618
- }, []>>, false>;
619
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
620
- replacement: import("tsondb/schema/def").MemberDecl<String, true>;
621
- }>, true>;
622
- }>, []>>>;
623
- }, []>>, false>;
624
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
625
- Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", ObjectType<{
626
- list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
627
- translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
628
- text: import("tsondb/schema/def").MemberDecl<String, true>;
629
- }>, true>;
630
- }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
631
- }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
632
620
  package: import("tsondb/schema/def").MemberDecl<ChildEntities<Entity<"ProfessionPackage", {
633
621
  profession_version: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
634
622
  experience_level: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, false>;
635
623
  ap_value: import("tsondb/schema/def").MemberDecl<Integer, true>;
624
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
625
+ Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
626
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", ObjectType<{
627
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
628
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
629
+ Hide: EnumCase<null>;
630
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", ObjectType<{
631
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
632
+ Standalone: EnumCase<null>;
633
+ Connected: EnumCase<null>;
634
+ }, []>>, false>;
635
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
636
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
637
+ }>, true>;
638
+ }>, []>>>;
639
+ }, []>>, false>;
640
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
641
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", ObjectType<{
642
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
643
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
644
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
645
+ }>, true>;
646
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
647
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
636
648
  options: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPackageOptions", ObjectType<{
637
649
  skill_specialization: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SkillSpecializationOptions", {
638
650
  Specific: EnumCase<IncludeIdentifier<[], TypeAlias<"SpecificSkillSpecializationOptions", ObjectType<{
@@ -737,6 +749,9 @@ export declare const ProfessionVersion: Entity<"ProfessionVersion", {
737
749
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
738
750
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
739
751
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
752
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
753
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
754
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
740
755
  }, []>>>, false>;
741
756
  }>, []>>>;
742
757
  Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"ProfessionSpecialAbilitySelection", ObjectType<{
@@ -807,6 +822,9 @@ export declare const ProfessionVersion: Entity<"ProfessionVersion", {
807
822
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
808
823
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
809
824
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
825
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
826
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
827
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
810
828
  }, []>>>, false>;
811
829
  }>, []>>>, true>;
812
830
  }>, []>>>;
@@ -986,6 +1004,9 @@ export declare const ProfessionVersion: Entity<"ProfessionVersion", {
986
1004
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
987
1005
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
988
1006
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1007
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1008
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1009
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
989
1010
  }, []>>>, false>;
990
1011
  }>, []>>>;
991
1012
  Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"ProfessionSpecialAbilitySelection", ObjectType<{
@@ -1056,6 +1077,9 @@ export declare const ProfessionVersion: Entity<"ProfessionVersion", {
1056
1077
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1057
1078
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1058
1079
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1080
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1081
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1082
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1059
1083
  }, []>>>, false>;
1060
1084
  }>, []>>>, true>;
1061
1085
  }>, []>>>;
@@ -1193,6 +1217,30 @@ export declare const ProfessionPackage: Entity<"ProfessionPackage", {
1193
1217
  profession_version: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
1194
1218
  experience_level: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, false>;
1195
1219
  ap_value: import("tsondb/schema/def").MemberDecl<Integer, true>;
1220
+ prerequisites: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPrerequisites", IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PlainPrerequisites", Array<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], Enum<"PrerequisitesElement", {
1221
+ Single: EnumCase<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>;
1222
+ Disjunction: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisitesDisjunction", ObjectType<{
1223
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
1224
+ display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
1225
+ Hide: EnumCase<null>;
1226
+ ReplaceWith: EnumCase<IncludeIdentifier<[], TypeAlias<"ReplacementDisplayOption", ObjectType<{
1227
+ sentence_type: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SentenceType", {
1228
+ Standalone: EnumCase<null>;
1229
+ Connected: EnumCase<null>;
1230
+ }, []>>, false>;
1231
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"ReplacementDisplayOptionTranslation", {
1232
+ replacement: import("tsondb/schema/def").MemberDecl<String, true>;
1233
+ }>, true>;
1234
+ }>, []>>>;
1235
+ }, []>>, false>;
1236
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
1237
+ Group: EnumCase<IncludeIdentifier<import("tsondb/schema/def").TypeParameter<string, import("tsondb/schema/def").Type>[], TypeAlias<"PrerequisiteGroup", ObjectType<{
1238
+ list: import("tsondb/schema/def").MemberDecl<Array<TypeArgument<import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>>>, true>;
1239
+ translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"PrerequisiteGroupTranslation", {
1240
+ text: import("tsondb/schema/def").MemberDecl<String, true>;
1241
+ }>, true>;
1242
+ }>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>;
1243
+ }, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>>, [T: import("tsondb/schema/def").TypeParameter<"T", import("tsondb/schema/def").Type>]>>, []>>, false>;
1196
1244
  options: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"ProfessionPackageOptions", ObjectType<{
1197
1245
  skill_specialization: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"SkillSpecializationOptions", {
1198
1246
  Specific: EnumCase<IncludeIdentifier<[], TypeAlias<"SpecificSkillSpecializationOptions", ObjectType<{
@@ -1297,6 +1345,9 @@ export declare const ProfessionPackage: Entity<"ProfessionPackage", {
1297
1345
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1298
1346
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1299
1347
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1348
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1349
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1350
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1300
1351
  }, []>>>, false>;
1301
1352
  }>, []>>>;
1302
1353
  Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"ProfessionSpecialAbilitySelection", ObjectType<{
@@ -1367,6 +1418,9 @@ export declare const ProfessionPackage: Entity<"ProfessionPackage", {
1367
1418
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1368
1419
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1369
1420
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1421
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1422
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1423
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1370
1424
  }, []>>>, false>;
1371
1425
  }>, []>>>, true>;
1372
1426
  }>, []>>>;
@@ -1546,6 +1600,9 @@ export declare const ProfessionPackage: Entity<"ProfessionPackage", {
1546
1600
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1547
1601
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1548
1602
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1603
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1604
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1605
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1549
1606
  }, []>>>, false>;
1550
1607
  }>, []>>>;
1551
1608
  Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"ProfessionSpecialAbilitySelection", ObjectType<{
@@ -1616,6 +1673,9 @@ export declare const ProfessionPackage: Entity<"ProfessionPackage", {
1616
1673
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1617
1674
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1618
1675
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1676
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1677
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1678
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1619
1679
  }, []>>>, false>;
1620
1680
  }>, []>>>, true>;
1621
1681
  }>, []>>>;
@@ -1806,6 +1866,9 @@ export declare const ProfessionVariant: Entity<"ProfessionVariant", {
1806
1866
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1807
1867
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1808
1868
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1869
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1870
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1871
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1809
1872
  }, []>>>, false>;
1810
1873
  }>, []>>>;
1811
1874
  Selection: EnumCase<IncludeIdentifier<[], TypeAlias<"ProfessionSpecialAbilitySelection", ObjectType<{
@@ -1876,6 +1939,9 @@ export declare const ProfessionVariant: Entity<"ProfessionVariant", {
1876
1939
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1877
1940
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1878
1941
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1942
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1943
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1944
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1879
1945
  }, []>>>, false>;
1880
1946
  }>, []>>>, true>;
1881
1947
  }>, []>>>;
@@ -72,10 +72,6 @@ export const ProfessionVersion = Entity(import.meta.url, {
72
72
  comment: "The associated profession.",
73
73
  type: ProfessionIdentifier(),
74
74
  }),
75
- prerequisites: Optional({
76
- comment: "Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.",
77
- type: IncludeIdentifier(ProfessionPrerequisites),
78
- }),
79
75
  package: Required({
80
76
  comment: "A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
81
77
  type: ChildEntities(ProfessionPackage),
@@ -165,6 +161,10 @@ export const ProfessionPackage = Entity(import.meta.url, {
165
161
  comment: "What does the professional package cost in adventure points?",
166
162
  type: Integer({ minimum: 0 }),
167
163
  }),
164
+ prerequisites: Optional({
165
+ comment: "Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.",
166
+ type: IncludeIdentifier(ProfessionPrerequisites),
167
+ }),
168
168
  options: Optional({
169
169
  comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.",
170
170
  type: IncludeIdentifier(ProfessionPackageOptions),
@@ -292,6 +292,9 @@ export declare const RequirableSelectOptionIdentifier: Enum<"RequirableSelectOpt
292
292
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
293
293
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
294
294
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
295
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
296
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
297
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
295
298
  }, []>;
296
299
  export declare const CoreRuleDerivableContentIdentifier: Enum<"CoreRuleDerivableContentIdentifier", {
297
300
  MagicalTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
@@ -352,6 +352,9 @@ export const RequirableSelectOptionIdentifier = Enum(import.meta.url, {
352
352
  Spell: EnumCase({ type: SpellIdentifier() }),
353
353
  Ritual: EnumCase({ type: RitualIdentifier() }),
354
354
  TradeSecret: EnumCase({ type: TradeSecretIdentifier() }),
355
+ ArcaneBardTradition: EnumCase({ type: ArcaneBardTraditionIdentifier() }),
356
+ ArcaneDancerTradition: EnumCase({ type: ArcaneDancerTraditionIdentifier() }),
357
+ Element: EnumCase({ type: ElementIdentifier() }),
355
358
  }),
356
359
  });
357
360
  export const CoreRuleDerivableContentIdentifier = Enum(import.meta.url, {
@@ -1,5 +1,5 @@
1
1
  import { Array, Boolean, Entity, Enum, EnumCase, Float, IncludeIdentifier, Integer, Object, Optional, Required, String, TypeAlias, } from "tsondb/schema/def";
2
- import { BlessedTraditionIdentifier, MagicalTraditionIdentifier } from "../../_Identifier.js";
2
+ import { BlessedTraditionIdentifier, CultureIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, RaceIdentifier, } from "../../_Identifier.js";
3
3
  import { NestedTranslationMap } from "../../Locale.js";
4
4
  import { Errata } from "../../source/_Erratum.js";
5
5
  import { src } from "../../source/_PublicationRef.js";
@@ -175,7 +175,7 @@ export const RestrictedToRaces = TypeAlias(import.meta.url, {
175
175
  type: () => Object({
176
176
  scope: Required({
177
177
  comment: "The item is restricted to one of a list of races. If only one race is allowed, the list may only have a single element.",
178
- type: Array(MagicalTraditionIdentifier(), { minItems: 1, uniqueItems: true }),
178
+ type: Array(RaceIdentifier(), { minItems: 1, uniqueItems: true }),
179
179
  }),
180
180
  }),
181
181
  });
@@ -185,7 +185,7 @@ export const RestrictedToCultures = TypeAlias(import.meta.url, {
185
185
  type: () => Object({
186
186
  scope: Required({
187
187
  comment: "The item is restricted to one of a list of cultures. If only one culture is allowed, the list may only have a single element.",
188
- type: Array(MagicalTraditionIdentifier(), { minItems: 1, uniqueItems: true }),
188
+ type: Array(CultureIdentifier(), { minItems: 1, uniqueItems: true }),
189
189
  }),
190
190
  }),
191
191
  });
@@ -195,7 +195,7 @@ export const RestrictedToProfessions = TypeAlias(import.meta.url, {
195
195
  type: () => Object({
196
196
  scope: Required({
197
197
  comment: "The item is restricted to one of a list of professions. If only one profession is allowed, the list may only have a single element.",
198
- type: Array(MagicalTraditionIdentifier(), { minItems: 1, uniqueItems: true }),
198
+ type: Array(ProfessionIdentifier(), { minItems: 1, uniqueItems: true }),
199
199
  }),
200
200
  }),
201
201
  });
@@ -260,6 +260,9 @@ export declare const GeneralPrerequisiteGroup: Enum<"GeneralPrerequisiteGroup",
260
260
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
261
261
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
262
262
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
263
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
264
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
265
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
263
266
  }, []>>>, false>;
264
267
  display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
265
268
  Hide: EnumCase<null>;
@@ -552,6 +555,9 @@ export declare const ProfessionPrerequisiteGroup: Enum<"ProfessionPrerequisiteGr
552
555
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
553
556
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
554
557
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
558
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
559
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
560
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
555
561
  }, []>>>, false>;
556
562
  display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
557
563
  Hide: EnumCase<null>;
@@ -820,6 +826,9 @@ export declare const AdvantageDisadvantagePrerequisiteGroup: Enum<"AdvantageDisa
820
826
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
821
827
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
822
828
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
829
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
830
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
831
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
823
832
  }, []>>>, false>;
824
833
  display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
825
834
  Hide: EnumCase<null>;
@@ -1259,6 +1268,9 @@ export declare const LanguagePrerequisiteGroup: Enum<"LanguagePrerequisiteGroup"
1259
1268
  Spell: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1260
1269
  Ritual: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1261
1270
  TradeSecret: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1271
+ ArcaneBardTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1272
+ ArcaneDancerTradition: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1273
+ Element: EnumCase<import("tsondb/schema/def").ReferenceIdentifierType>;
1262
1274
  }, []>>>, false>;
1263
1275
  display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"DisplayOption", {
1264
1276
  Hide: EnumCase<null>;
@@ -69,6 +69,9 @@ export declare const ActivatablePrerequisite: TypeAlias<"ActivatablePrerequisite
69
69
  Spell: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
70
70
  Ritual: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
71
71
  TradeSecret: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
72
+ ArcaneBardTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
73
+ ArcaneDancerTradition: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
74
+ Element: import("tsondb/schema/def").EnumCaseDecl<import("tsondb/schema/def").ReferenceIdentifierType>;
72
75
  }, []>>>, false>;
73
76
  display_option: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], import("tsondb/schema/def").EnumDecl<"DisplayOption", {
74
77
  Hide: import("tsondb/schema/def").EnumCaseDecl<null>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "optolith-database-schema",
3
- "version": "0.23.1",
3
+ "version": "0.24.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",