@optolith/database-schema 0.45.0 → 0.47.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.
Files changed (79) hide show
  1. package/CHANGELOG.md +37 -0
  2. package/gen/types.d.ts +749 -288
  3. package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +1 -0
  4. package/lib/main.js +3 -0
  5. package/lib/types/Advantage.js +2 -1
  6. package/lib/types/AnimalDisease.d.ts +1 -0
  7. package/lib/types/Ceremony.d.ts +15 -0
  8. package/lib/types/Culture.d.ts +4 -0
  9. package/lib/types/Culture.js +1 -0
  10. package/lib/types/Disadvantage.js +2 -1
  11. package/lib/types/Disease.d.ts +1 -0
  12. package/lib/types/LiturgicalChant.d.ts +15 -0
  13. package/lib/types/Profession.d.ts +11 -0
  14. package/lib/types/Profession.js +4 -0
  15. package/lib/types/Race.d.ts +12 -0
  16. package/lib/types/Ritual.d.ts +15 -0
  17. package/lib/types/Spell.d.ts +15 -0
  18. package/lib/types/_ActivatableNames.d.ts +14 -0
  19. package/lib/types/_ActivatableNames.js +12 -0
  20. package/lib/types/_ActivatableSkill.d.ts +30 -0
  21. package/lib/types/_ActivatableSkillCost.d.ts +30 -0
  22. package/lib/types/_ActivatableSkillCost.js +4 -0
  23. package/lib/types/_AlternativeNames.d.ts +1 -0
  24. package/lib/types/_AlternativeNames.js +5 -0
  25. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +1 -0
  26. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +4 -0
  27. package/lib/types/_DiseasePoison.d.ts +1 -0
  28. package/lib/types/_Identifier.d.ts +3 -0
  29. package/lib/types/_Identifier.js +6 -0
  30. package/lib/types/_ResponsiveText.d.ts +17 -0
  31. package/lib/types/_ResponsiveText.js +17 -0
  32. package/lib/types/equipment/item/Elixir.d.ts +1 -0
  33. package/lib/types/equipment/item/HerbalAid.d.ts +64 -0
  34. package/lib/types/equipment/item/HerbalAid.js +56 -0
  35. package/lib/types/equipment/item/Plant.d.ts +183 -0
  36. package/lib/types/equipment/item/Plant.js +222 -0
  37. package/lib/types/equipment/item/Poison.d.ts +1 -0
  38. package/lib/types/equipment/item/_Herbary.d.ts +7 -0
  39. package/lib/types/equipment/item/_Herbary.js +11 -0
  40. package/lib/types/equipment/item/sub/Biome.d.ts +6 -0
  41. package/lib/types/equipment/item/sub/Biome.js +21 -0
  42. package/lib/types/index.d.ts +4 -1
  43. package/lib/types/index.js +3 -0
  44. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +32 -0
  45. package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
  46. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  47. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  48. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  49. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  50. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  51. package/lib/types/specialAbility/BlessedTradition.js +2 -0
  52. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  53. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  54. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  55. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
  56. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
  57. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  58. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  59. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  60. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  61. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  62. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
  63. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  64. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  65. package/lib/types/specialAbility/MagicalSign.js +2 -0
  66. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  67. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  68. package/lib/types/specialAbility/PactGift.js +2 -1
  69. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  70. package/lib/types/specialAbility/Sermon.js +2 -1
  71. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  72. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  73. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
  74. package/lib/types/specialAbility/VampiricGift.js +2 -1
  75. package/lib/types/specialAbility/Vision.js +2 -1
  76. package/lib/types/specialAbility/sub/Language.d.ts +2 -1
  77. package/lib/types/specialAbility/sub/Language.js +1 -1
  78. package/lib/types/specialAbility/sub/Script.d.ts +1 -0
  79. package/package.json +1 -1
@@ -56,6 +56,7 @@ const isPrerequisiteFor = (idMap, type, prerequisite, getById, traversedIds) =>
56
56
  case "Text":
57
57
  case "NoOtherAncestorBloodAdvantage":
58
58
  case "SexualCharacteristic":
59
+ case "PersonalityTrait":
59
60
  return false;
60
61
  default:
61
62
  return assertExhaustive(prerequisite);
package/lib/main.js CHANGED
@@ -28,6 +28,7 @@ export const schema = new Schema([
28
28
  Types.BandageOrRemedy,
29
29
  Types.Bannzeichen,
30
30
  Types.Beutelzauber,
31
+ Types.Biome,
31
32
  Types.BlessedTradition,
32
33
  Types.Blessing,
33
34
  Types.Book,
@@ -78,6 +79,7 @@ export const schema = new Schema([
78
79
  Types.Guideline,
79
80
  Types.HairColor,
80
81
  Types.Haubenzauber,
82
+ Types.HerbalAid,
81
83
  Types.HomunculusType,
82
84
  Types.IlluminationLightSource,
83
85
  Types.IlluminationRefillOrSupply,
@@ -114,6 +116,7 @@ export const schema = new Schema([
114
116
  Types.PatronCategory,
115
117
  Types.PersonalityTrait,
116
118
  Types.PlayerType,
119
+ Types.Plant,
117
120
  Types.Poison,
118
121
  Types.Profession,
119
122
  Types.Property,
@@ -2,7 +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 { nameBuilderRules } from "./_ActivatableNames.js";
5
+ import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
6
6
  import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
7
7
  import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
8
8
  import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
@@ -48,6 +48,7 @@ export const Advantage = DB.Entity(import.meta.url, {
48
48
  })),
49
49
  }),
50
50
  instanceDisplayName: {},
51
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
51
52
  uniqueConstraints: [
52
53
  {
53
54
  entityMapKeyPath: "translations",
@@ -69,6 +69,7 @@ export declare const AnimalDisease: DB.Entity<"AnimalDisease", {
69
69
  alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
70
70
  name: DB.MemberDecl<DB.String, true>;
71
71
  region: DB.MemberDecl<DB.String, false>;
72
+ language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
72
73
  }>, []>>>, false>;
73
74
  progress: DB.MemberDecl<DB.String, true>;
74
75
  incubation_time: DB.MemberDecl<DB.String, true>;
@@ -381,6 +381,21 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
381
381
  }>, []>>, false>;
382
382
  }>, false>;
383
383
  }>, []>>>, true>;
384
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
385
+ value: DB.MemberDecl<DB.Integer, true>;
386
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
387
+ Seconds: DB.EnumCase<null>;
388
+ Minutes: DB.EnumCase<null>;
389
+ Hours: DB.EnumCase<null>;
390
+ Days: DB.EnumCase<null>;
391
+ Weeks: DB.EnumCase<null>;
392
+ Months: DB.EnumCase<null>;
393
+ Years: DB.EnumCase<null>;
394
+ Centuries: DB.EnumCase<null>;
395
+ Actions: DB.EnumCase<null>;
396
+ CombatRounds: DB.EnumCase<null>;
397
+ }, []>>, true>;
398
+ }>, []>>, true>;
384
399
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
385
400
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
386
401
  full: DB.MemberDecl<DB.String, true>;
@@ -74,6 +74,7 @@ export declare const Culture: DB.Entity<"Culture", {
74
74
  }, []>>>, false>;
75
75
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
76
76
  options: DB.MemberDecl<DB.String, false>;
77
+ note: DB.MemberDecl<DB.String, false>;
77
78
  full: DB.MemberDecl<DB.String, false>;
78
79
  }>, false>;
79
80
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -110,6 +111,7 @@ export declare const Culture: DB.Entity<"Culture", {
110
111
  }, []>>>, false>;
111
112
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
112
113
  options: DB.MemberDecl<DB.String, false>;
114
+ note: DB.MemberDecl<DB.String, false>;
113
115
  full: DB.MemberDecl<DB.String, false>;
114
116
  }>, false>;
115
117
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -146,6 +148,7 @@ export declare const Culture: DB.Entity<"Culture", {
146
148
  }, []>>>, false>;
147
149
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
148
150
  options: DB.MemberDecl<DB.String, false>;
151
+ note: DB.MemberDecl<DB.String, false>;
149
152
  full: DB.MemberDecl<DB.String, false>;
150
153
  }>, false>;
151
154
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -182,6 +185,7 @@ export declare const Culture: DB.Entity<"Culture", {
182
185
  }, []>>>, false>;
183
186
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
184
187
  options: DB.MemberDecl<DB.String, false>;
188
+ note: DB.MemberDecl<DB.String, false>;
185
189
  full: DB.MemberDecl<DB.String, false>;
186
190
  }>, false>;
187
191
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -247,6 +247,7 @@ const BlessedCommonProfessionConstraint = DB.Enum(import.meta.url, {
247
247
  name: "BlessedCommonProfessionConstraint",
248
248
  values: () => ({
249
249
  Tradition: DB.EnumCase({ type: DB.IncludeIdentifier(BlessedTraditionConstraint) }),
250
+ Profession: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionConstraint) }),
250
251
  }),
251
252
  });
252
253
  const PlainCommonProfessions = DB.TypeAlias(import.meta.url, {
@@ -1,7 +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 { nameBuilderRules } from "./_ActivatableNames.js";
4
+ import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
5
5
  import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
6
6
  import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
7
7
  import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
@@ -49,6 +49,7 @@ export const Disadvantage = DB.Entity(import.meta.url, {
49
49
  })),
50
50
  }),
51
51
  instanceDisplayName: {},
52
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
52
53
  uniqueConstraints: [
53
54
  {
54
55
  entityMapKeyPath: "translations",
@@ -89,6 +89,7 @@ export declare const Disease: DB.Entity<"Disease", {
89
89
  alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
90
90
  name: DB.MemberDecl<DB.String, true>;
91
91
  region: DB.MemberDecl<DB.String, false>;
92
+ language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
92
93
  }>, []>>>, false>;
93
94
  progress: DB.MemberDecl<DB.String, true>;
94
95
  incubation_time: DB.MemberDecl<DB.String, true>;
@@ -381,6 +381,21 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
381
381
  }>, []>>, false>;
382
382
  }>, false>;
383
383
  }>, []>>>, true>;
384
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
385
+ value: DB.MemberDecl<DB.Integer, true>;
386
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
387
+ Seconds: DB.EnumCase<null>;
388
+ Minutes: DB.EnumCase<null>;
389
+ Hours: DB.EnumCase<null>;
390
+ Days: DB.EnumCase<null>;
391
+ Weeks: DB.EnumCase<null>;
392
+ Months: DB.EnumCase<null>;
393
+ Years: DB.EnumCase<null>;
394
+ Centuries: DB.EnumCase<null>;
395
+ Actions: DB.EnumCase<null>;
396
+ CombatRounds: DB.EnumCase<null>;
397
+ }, []>>, true>;
398
+ }>, []>>, true>;
384
399
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
385
400
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
386
401
  full: DB.MemberDecl<DB.String, true>;
@@ -251,6 +251,7 @@ export declare const Profession: DB.Entity<"Profession", {
251
251
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
252
252
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
253
253
  }>, []>>>, false>;
254
+ cantrips: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
254
255
  spells: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"MagicalSkillRating", DB.Object<{
255
256
  id: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"ProfessionMagicalSkillIdentifier", {
256
257
  Spellwork: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ProfessionSpellworkIdentifier", DB.Object<{
@@ -602,6 +603,7 @@ export declare const Profession: DB.Entity<"Profession", {
602
603
  }, []>>>, false>;
603
604
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
604
605
  options: DB.MemberDecl<DB.String, false>;
606
+ note: DB.MemberDecl<DB.String, false>;
605
607
  full: DB.MemberDecl<DB.String, false>;
606
608
  }>, false>;
607
609
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -638,6 +640,7 @@ export declare const Profession: DB.Entity<"Profession", {
638
640
  }, []>>>, false>;
639
641
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
640
642
  options: DB.MemberDecl<DB.String, false>;
643
+ note: DB.MemberDecl<DB.String, false>;
641
644
  full: DB.MemberDecl<DB.String, false>;
642
645
  }>, false>;
643
646
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -674,6 +677,7 @@ export declare const Profession: DB.Entity<"Profession", {
674
677
  }, []>>>, false>;
675
678
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
676
679
  options: DB.MemberDecl<DB.String, false>;
680
+ note: DB.MemberDecl<DB.String, false>;
677
681
  full: DB.MemberDecl<DB.String, false>;
678
682
  }>, false>;
679
683
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -710,6 +714,7 @@ export declare const Profession: DB.Entity<"Profession", {
710
714
  }, []>>>, false>;
711
715
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
712
716
  options: DB.MemberDecl<DB.String, false>;
717
+ note: DB.MemberDecl<DB.String, false>;
713
718
  full: DB.MemberDecl<DB.String, false>;
714
719
  }>, false>;
715
720
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -1021,6 +1026,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
1021
1026
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1022
1027
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
1023
1028
  }>, []>>>, false>;
1029
+ cantrips: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
1024
1030
  spells: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"MagicalSkillRating", DB.Object<{
1025
1031
  id: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"ProfessionMagicalSkillIdentifier", {
1026
1032
  Spellwork: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ProfessionSpellworkIdentifier", DB.Object<{
@@ -1372,6 +1378,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
1372
1378
  }, []>>>, false>;
1373
1379
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
1374
1380
  options: DB.MemberDecl<DB.String, false>;
1381
+ note: DB.MemberDecl<DB.String, false>;
1375
1382
  full: DB.MemberDecl<DB.String, false>;
1376
1383
  }>, false>;
1377
1384
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -1408,6 +1415,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
1408
1415
  }, []>>>, false>;
1409
1416
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
1410
1417
  options: DB.MemberDecl<DB.String, false>;
1418
+ note: DB.MemberDecl<DB.String, false>;
1411
1419
  full: DB.MemberDecl<DB.String, false>;
1412
1420
  }>, false>;
1413
1421
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -1444,6 +1452,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
1444
1452
  }, []>>>, false>;
1445
1453
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
1446
1454
  options: DB.MemberDecl<DB.String, false>;
1455
+ note: DB.MemberDecl<DB.String, false>;
1447
1456
  full: DB.MemberDecl<DB.String, false>;
1448
1457
  }>, false>;
1449
1458
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -1480,6 +1489,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
1480
1489
  }, []>>>, false>;
1481
1490
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
1482
1491
  options: DB.MemberDecl<DB.String, false>;
1492
+ note: DB.MemberDecl<DB.String, false>;
1483
1493
  full: DB.MemberDecl<DB.String, false>;
1484
1494
  }>, false>;
1485
1495
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -1783,6 +1793,7 @@ export declare const ProfessionPackage: DB.Entity<"ProfessionPackage", {
1783
1793
  id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
1784
1794
  rating_modifier: DB.MemberDecl<DB.Integer, true>;
1785
1795
  }>, []>>>, false>;
1796
+ cantrips: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
1786
1797
  spells: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"MagicalSkillRating", DB.Object<{
1787
1798
  id: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"ProfessionMagicalSkillIdentifier", {
1788
1799
  Spellwork: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ProfessionSpellworkIdentifier", DB.Object<{
@@ -182,6 +182,10 @@ export const ProfessionPackage = DB.Entity(import.meta.url, {
182
182
  comment: "The skill ratings the package grants to the hero.",
183
183
  type: DB.Array(DB.IncludeIdentifier(SkillRating), { minItems: 1 }),
184
184
  }),
185
+ cantrips: DB.Optional({
186
+ comment: "The cantrips the profession receives from the package.",
187
+ type: DB.Array(CantripIdentifier(), { minItems: 1 }),
188
+ }),
185
189
  spells: DB.Optional({
186
190
  comment: "The skill ratings a magical profession receives for spells; these spells are considered activated. Spells from an unfamiliar Tradition, if any, are identified as such.",
187
191
  type: DB.Array(DB.IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
@@ -76,6 +76,7 @@ export declare const Race: DB.Entity<"Race", {
76
76
  }, []>>>, false>;
77
77
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
78
78
  options: DB.MemberDecl<DB.String, false>;
79
+ note: DB.MemberDecl<DB.String, false>;
79
80
  full: DB.MemberDecl<DB.String, false>;
80
81
  }>, false>;
81
82
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -112,6 +113,7 @@ export declare const Race: DB.Entity<"Race", {
112
113
  }, []>>>, false>;
113
114
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
114
115
  options: DB.MemberDecl<DB.String, false>;
116
+ note: DB.MemberDecl<DB.String, false>;
115
117
  full: DB.MemberDecl<DB.String, false>;
116
118
  }>, false>;
117
119
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -148,6 +150,7 @@ export declare const Race: DB.Entity<"Race", {
148
150
  }, []>>>, false>;
149
151
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
150
152
  options: DB.MemberDecl<DB.String, false>;
153
+ note: DB.MemberDecl<DB.String, false>;
151
154
  full: DB.MemberDecl<DB.String, false>;
152
155
  }>, false>;
153
156
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -184,6 +187,7 @@ export declare const Race: DB.Entity<"Race", {
184
187
  }, []>>>, false>;
185
188
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
186
189
  options: DB.MemberDecl<DB.String, false>;
190
+ note: DB.MemberDecl<DB.String, false>;
187
191
  full: DB.MemberDecl<DB.String, false>;
188
192
  }>, false>;
189
193
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -220,6 +224,7 @@ export declare const Race: DB.Entity<"Race", {
220
224
  }, []>>>, false>;
221
225
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
222
226
  options: DB.MemberDecl<DB.String, false>;
227
+ note: DB.MemberDecl<DB.String, false>;
223
228
  full: DB.MemberDecl<DB.String, false>;
224
229
  }>, false>;
225
230
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -256,6 +261,7 @@ export declare const Race: DB.Entity<"Race", {
256
261
  }, []>>>, false>;
257
262
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
258
263
  options: DB.MemberDecl<DB.String, false>;
264
+ note: DB.MemberDecl<DB.String, false>;
259
265
  full: DB.MemberDecl<DB.String, false>;
260
266
  }>, false>;
261
267
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -383,6 +389,7 @@ export declare const RaceVariant: DB.Entity<"RaceVariant", {
383
389
  }, []>>>, false>;
384
390
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
385
391
  options: DB.MemberDecl<DB.String, false>;
392
+ note: DB.MemberDecl<DB.String, false>;
386
393
  full: DB.MemberDecl<DB.String, false>;
387
394
  }>, false>;
388
395
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -419,6 +426,7 @@ export declare const RaceVariant: DB.Entity<"RaceVariant", {
419
426
  }, []>>>, false>;
420
427
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
421
428
  options: DB.MemberDecl<DB.String, false>;
429
+ note: DB.MemberDecl<DB.String, false>;
422
430
  full: DB.MemberDecl<DB.String, false>;
423
431
  }>, false>;
424
432
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -455,6 +463,7 @@ export declare const RaceVariant: DB.Entity<"RaceVariant", {
455
463
  }, []>>>, false>;
456
464
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
457
465
  options: DB.MemberDecl<DB.String, false>;
466
+ note: DB.MemberDecl<DB.String, false>;
458
467
  full: DB.MemberDecl<DB.String, false>;
459
468
  }>, false>;
460
469
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -491,6 +500,7 @@ export declare const RaceVariant: DB.Entity<"RaceVariant", {
491
500
  }, []>>>, false>;
492
501
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
493
502
  options: DB.MemberDecl<DB.String, false>;
503
+ note: DB.MemberDecl<DB.String, false>;
494
504
  full: DB.MemberDecl<DB.String, false>;
495
505
  }>, false>;
496
506
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -527,6 +537,7 @@ export declare const RaceVariant: DB.Entity<"RaceVariant", {
527
537
  }, []>>>, false>;
528
538
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
529
539
  options: DB.MemberDecl<DB.String, false>;
540
+ note: DB.MemberDecl<DB.String, false>;
530
541
  full: DB.MemberDecl<DB.String, false>;
531
542
  }>, false>;
532
543
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -563,6 +574,7 @@ export declare const RaceVariant: DB.Entity<"RaceVariant", {
563
574
  }, []>>>, false>;
564
575
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
565
576
  options: DB.MemberDecl<DB.String, false>;
577
+ note: DB.MemberDecl<DB.String, false>;
566
578
  full: DB.MemberDecl<DB.String, false>;
567
579
  }>, false>;
568
580
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, false>;
@@ -381,6 +381,21 @@ export declare const Ritual: DB.Entity<"Ritual", {
381
381
  }>, []>>, false>;
382
382
  }>, false>;
383
383
  }>, []>>>, true>;
384
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
385
+ value: DB.MemberDecl<DB.Integer, true>;
386
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
387
+ Seconds: DB.EnumCase<null>;
388
+ Minutes: DB.EnumCase<null>;
389
+ Hours: DB.EnumCase<null>;
390
+ Days: DB.EnumCase<null>;
391
+ Weeks: DB.EnumCase<null>;
392
+ Months: DB.EnumCase<null>;
393
+ Years: DB.EnumCase<null>;
394
+ Centuries: DB.EnumCase<null>;
395
+ Actions: DB.EnumCase<null>;
396
+ CombatRounds: DB.EnumCase<null>;
397
+ }, []>>, true>;
398
+ }>, []>>, true>;
384
399
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
385
400
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
386
401
  full: DB.MemberDecl<DB.String, true>;
@@ -381,6 +381,21 @@ export declare const Spell: DB.Entity<"Spell", {
381
381
  }>, []>>, false>;
382
382
  }>, false>;
383
383
  }>, []>>>, true>;
384
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
385
+ value: DB.MemberDecl<DB.Integer, true>;
386
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
387
+ Seconds: DB.EnumCase<null>;
388
+ Minutes: DB.EnumCase<null>;
389
+ Hours: DB.EnumCase<null>;
390
+ Days: DB.EnumCase<null>;
391
+ Weeks: DB.EnumCase<null>;
392
+ Months: DB.EnumCase<null>;
393
+ Years: DB.EnumCase<null>;
394
+ Centuries: DB.EnumCase<null>;
395
+ Actions: DB.EnumCase<null>;
396
+ CombatRounds: DB.EnumCase<null>;
397
+ }, []>>, true>;
398
+ }>, []>>, true>;
384
399
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
385
400
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
386
401
  full: DB.MemberDecl<DB.String, true>;
@@ -13,3 +13,17 @@ export declare const nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB
13
13
  }, []>>, false>;
14
14
  useParenthesis: DB.MemberDecl<DB.Boolean, false>;
15
15
  }>, []>>, false>;
16
+ export declare const activatableDisplayNameCustomizer: ({ instance, instanceDisplayName, instanceDisplayNameLocaleId, locales, }: {
17
+ instance: {
18
+ translations: Record<string, {
19
+ name: string;
20
+ name_in_library?: string;
21
+ }>;
22
+ };
23
+ instanceDisplayName: string;
24
+ instanceDisplayNameLocaleId: string | undefined;
25
+ locales: string[];
26
+ }) => {
27
+ name: string;
28
+ localeId: string | undefined;
29
+ };
@@ -24,3 +24,15 @@ const ActivatableNameLevelPlacement = DB.Enum(import.meta.url, {
24
24
  AfterOptions: DB.EnumCase({ type: null }),
25
25
  }),
26
26
  });
27
+ export const activatableDisplayNameCustomizer = ({ instance, instanceDisplayName, instanceDisplayNameLocaleId, locales, }) => {
28
+ for (const locale of locales) {
29
+ const translation = instance.translations[locale];
30
+ if (translation) {
31
+ return {
32
+ name: translation.name_in_library ?? translation.name,
33
+ localeId: locale,
34
+ };
35
+ }
36
+ }
37
+ return { name: instanceDisplayName, localeId: instanceDisplayNameLocaleId };
38
+ };
@@ -680,6 +680,21 @@ export declare const FastPerformanceParameters: DB.Enum<"FastPerformanceParamete
680
680
  }>, []>>, false>;
681
681
  }>, false>;
682
682
  }>, []>>>, true>;
683
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
684
+ value: DB.MemberDecl<DB.Integer, true>;
685
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
686
+ Seconds: DB.EnumCase<null>;
687
+ Minutes: DB.EnumCase<null>;
688
+ Hours: DB.EnumCase<null>;
689
+ Days: DB.EnumCase<null>;
690
+ Weeks: DB.EnumCase<null>;
691
+ Months: DB.EnumCase<null>;
692
+ Years: DB.EnumCase<null>;
693
+ Centuries: DB.EnumCase<null>;
694
+ Actions: DB.EnumCase<null>;
695
+ CombatRounds: DB.EnumCase<null>;
696
+ }, []>>, true>;
697
+ }>, []>>, true>;
683
698
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
684
699
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
685
700
  full: DB.MemberDecl<DB.String, true>;
@@ -1138,6 +1153,21 @@ export declare const SlowPerformanceParameters: DB.Enum<"SlowPerformanceParamete
1138
1153
  }>, []>>, false>;
1139
1154
  }>, false>;
1140
1155
  }>, []>>>, true>;
1156
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
1157
+ value: DB.MemberDecl<DB.Integer, true>;
1158
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
1159
+ Seconds: DB.EnumCase<null>;
1160
+ Minutes: DB.EnumCase<null>;
1161
+ Hours: DB.EnumCase<null>;
1162
+ Days: DB.EnumCase<null>;
1163
+ Weeks: DB.EnumCase<null>;
1164
+ Months: DB.EnumCase<null>;
1165
+ Years: DB.EnumCase<null>;
1166
+ Centuries: DB.EnumCase<null>;
1167
+ Actions: DB.EnumCase<null>;
1168
+ CombatRounds: DB.EnumCase<null>;
1169
+ }, []>>, true>;
1170
+ }>, []>>, true>;
1141
1171
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
1142
1172
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
1143
1173
  full: DB.MemberDecl<DB.String, true>;
@@ -291,6 +291,21 @@ export declare const SustainedCost: DB.Enum<"SustainedCost", {
291
291
  }>, []>>, false>;
292
292
  }>, false>;
293
293
  }>, []>>>, true>;
294
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
295
+ value: DB.MemberDecl<DB.Integer, true>;
296
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
297
+ Seconds: DB.EnumCase<null>;
298
+ Minutes: DB.EnumCase<null>;
299
+ Hours: DB.EnumCase<null>;
300
+ Days: DB.EnumCase<null>;
301
+ Weeks: DB.EnumCase<null>;
302
+ Months: DB.EnumCase<null>;
303
+ Years: DB.EnumCase<null>;
304
+ Centuries: DB.EnumCase<null>;
305
+ Actions: DB.EnumCase<null>;
306
+ CombatRounds: DB.EnumCase<null>;
307
+ }, []>>, true>;
308
+ }>, []>>, true>;
294
309
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
295
310
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
296
311
  full: DB.MemberDecl<DB.String, true>;
@@ -349,6 +364,21 @@ export declare const SustainedCostMap: DB.TypeAlias<"SustainedCostMap", DB.Objec
349
364
  }>, []>>, false>;
350
365
  }>, false>;
351
366
  }>, []>>>, true>;
367
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
368
+ value: DB.MemberDecl<DB.Integer, true>;
369
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
370
+ Seconds: DB.EnumCase<null>;
371
+ Minutes: DB.EnumCase<null>;
372
+ Hours: DB.EnumCase<null>;
373
+ Days: DB.EnumCase<null>;
374
+ Weeks: DB.EnumCase<null>;
375
+ Months: DB.EnumCase<null>;
376
+ Years: DB.EnumCase<null>;
377
+ Centuries: DB.EnumCase<null>;
378
+ Actions: DB.EnumCase<null>;
379
+ CombatRounds: DB.EnumCase<null>;
380
+ }, []>>, true>;
381
+ }>, []>>, true>;
352
382
  translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
353
383
  listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
354
384
  full: DB.MemberDecl<DB.String, true>;
@@ -243,6 +243,10 @@ The \`an item the size of a\` would be the *list prefix* string, while the list
243
243
  minItems: 2,
244
244
  }),
245
245
  }),
246
+ interval: DB.Required({
247
+ comment: "The sustain interval.",
248
+ type: DB.IncludeIdentifier(DurationUnitValue),
249
+ }),
246
250
  translations: NestedTranslationMap(DB.Optional, "SustainedCostMap", DB.Object({
247
251
  listPrefix: DB.Optional({
248
252
  comment: "Place a string between the `for` and the grouped map option labels.",
@@ -2,4 +2,5 @@ import * as DB from "tsondb/schema/dsl";
2
2
  export declare const AlternativeName: DB.TypeAlias<"AlternativeName", DB.Object<{
3
3
  name: DB.MemberDecl<DB.String, true>;
4
4
  region: DB.MemberDecl<DB.String, false>;
5
+ language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
5
6
  }>, []>;
@@ -1,4 +1,5 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
+ import { LanguageIdentifier } from "./_Identifier.js";
2
3
  export const AlternativeName = DB.TypeAlias(import.meta.url, {
3
4
  name: "AlternativeName",
4
5
  type: () => DB.Object({
@@ -10,5 +11,9 @@ export const AlternativeName = DB.TypeAlias(import.meta.url, {
10
11
  comment: "The region where this alternative name is used.",
11
12
  type: DB.String({ minLength: 1 }),
12
13
  }),
14
+ language: DB.Optional({
15
+ comment: "The language of that alternative name if any.",
16
+ type: LanguageIdentifier(),
17
+ }),
13
18
  }),
14
19
  });
@@ -32,6 +32,7 @@ export declare const CommonnessRatedAdvantageDisadvantage: DB.TypeAlias<"Commonn
32
32
  }, []>>>, false>;
33
33
  translations: DB.MemberDecl<DB.NestedEntityMap<"CommonnessRatedAdvantageDisadvantageTranslation", {
34
34
  options: DB.MemberDecl<DB.String, false>;
35
+ note: DB.MemberDecl<DB.String, false>;
35
36
  full: DB.MemberDecl<DB.String, false>;
36
37
  }>, false>;
37
38
  }>, [Identifier: DB.Param<"Identifier", DB.Type>]>;
@@ -23,6 +23,10 @@ export const CommonnessRatedAdvantageDisadvantage = DB.GenTypeAlias(import.meta.
23
23
  comment: "The options the commonness rating applies to. This can be specified if plain options cannot exactly describe the options as written in the publication.",
24
24
  type: DB.String({ minLength: 1 }),
25
25
  }),
26
+ note: DB.Optional({
27
+ comment: "A note, appended to the generated string in parenthesis. If options are specified as well, both will be in a single set of parentheses, with the note after the options.",
28
+ type: DB.String({ minLength: 1 }),
29
+ }),
26
30
  full: DB.Optional({
27
31
  comment: "A text that replaces the entire entry. No other text is generated for display, however, providing levels or a selection of options will still be relevant for highlighting entries in the application. This should only be used if the text cannot be generated from other fields at all.",
28
32
  type: DB.String({ minLength: 1 }),
@@ -38,6 +38,7 @@ export declare const DiseaseTranslation: DB.Object<{
38
38
  alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
39
39
  name: DB.MemberDecl<DB.String, true>;
40
40
  region: DB.MemberDecl<DB.String, false>;
41
+ language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
41
42
  }>, []>>>, false>;
42
43
  progress: DB.MemberDecl<DB.String, true>;
43
44
  incubation_time: DB.MemberDecl<DB.String, true>;
@@ -25,6 +25,7 @@ export declare const AttributeIdentifier: () => R;
25
25
  export declare const BandageOrRemedyIdentifier: () => R;
26
26
  export declare const BannzeichenIdentifier: () => R;
27
27
  export declare const BeutelzauberIdentifier: () => R;
28
+ export declare const BiomeIdentifier: () => R;
28
29
  export declare const BlessedTraditionIdentifier: () => R;
29
30
  export declare const BlessingIdentifier: () => R;
30
31
  export declare const BookIdentifier: () => R;
@@ -76,6 +77,7 @@ export declare const GoblinRitualIdentifier: () => R;
76
77
  export declare const GuidelineIdentifier: () => R;
77
78
  export declare const HairColorIdentifier: () => R;
78
79
  export declare const HaubenzauberIdentifier: () => R;
80
+ export declare const HerbalAidIdentifier: () => R;
79
81
  export declare const IlluminationLightSourceIdentifier: () => R;
80
82
  export declare const IlluminationRefillOrSupplyIdentifier: () => R;
81
83
  export declare const InfluenceIdentifier: () => R;
@@ -115,6 +117,7 @@ export declare const PactTypeIdentifier: () => R;
115
117
  export declare const PatronCategoryIdentifier: () => R;
116
118
  export declare const PatronIdentifier: () => R;
117
119
  export declare const PersonalityTraitIdentifier: () => R;
120
+ export declare const PlantIdentifier: () => R;
118
121
  export declare const PlayerTypeIdentifier: () => R;
119
122
  export declare const PoisonIdentifier: () => R;
120
123
  export declare const ProfessionIdentifier: () => R;