@optolith/database-schema 0.45.0 → 0.46.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 (63) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/gen/types.d.ts +678 -240
  3. package/lib/main.js +3 -0
  4. package/lib/types/Advantage.js +2 -1
  5. package/lib/types/AnimalDisease.d.ts +1 -0
  6. package/lib/types/Culture.js +1 -0
  7. package/lib/types/Disadvantage.js +2 -1
  8. package/lib/types/Disease.d.ts +1 -0
  9. package/lib/types/_ActivatableNames.d.ts +14 -0
  10. package/lib/types/_ActivatableNames.js +12 -0
  11. package/lib/types/_AlternativeNames.d.ts +1 -0
  12. package/lib/types/_AlternativeNames.js +5 -0
  13. package/lib/types/_DiseasePoison.d.ts +1 -0
  14. package/lib/types/_Identifier.d.ts +3 -0
  15. package/lib/types/_Identifier.js +6 -0
  16. package/lib/types/_ResponsiveText.d.ts +17 -0
  17. package/lib/types/_ResponsiveText.js +17 -0
  18. package/lib/types/equipment/item/Elixir.d.ts +1 -0
  19. package/lib/types/equipment/item/HerbalAid.d.ts +64 -0
  20. package/lib/types/equipment/item/HerbalAid.js +56 -0
  21. package/lib/types/equipment/item/Plant.d.ts +183 -0
  22. package/lib/types/equipment/item/Plant.js +222 -0
  23. package/lib/types/equipment/item/Poison.d.ts +1 -0
  24. package/lib/types/equipment/item/_Herbary.d.ts +7 -0
  25. package/lib/types/equipment/item/_Herbary.js +11 -0
  26. package/lib/types/equipment/item/sub/Biome.d.ts +6 -0
  27. package/lib/types/equipment/item/sub/Biome.js +21 -0
  28. package/lib/types/index.d.ts +4 -1
  29. package/lib/types/index.js +3 -0
  30. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
  31. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
  32. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
  33. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
  34. package/lib/types/specialAbility/AncestorGlyph.js +2 -1
  35. package/lib/types/specialAbility/BlessedTradition.js +2 -0
  36. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
  37. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
  38. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
  39. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
  40. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
  41. package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
  42. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
  43. package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
  44. package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
  45. package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
  46. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
  47. package/lib/types/specialAbility/LycantropicGift.js +2 -1
  48. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  49. package/lib/types/specialAbility/MagicalSign.js +2 -0
  50. package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
  51. package/lib/types/specialAbility/MagicalTradition.js +2 -1
  52. package/lib/types/specialAbility/PactGift.js +2 -1
  53. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
  54. package/lib/types/specialAbility/Sermon.js +2 -1
  55. package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
  56. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
  57. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
  58. package/lib/types/specialAbility/VampiricGift.js +2 -1
  59. package/lib/types/specialAbility/Vision.js +2 -1
  60. package/lib/types/specialAbility/sub/Language.d.ts +2 -1
  61. package/lib/types/specialAbility/sub/Language.js +1 -1
  62. package/lib/types/specialAbility/sub/Script.d.ts +1 -0
  63. package/package.json +1 -1
@@ -0,0 +1,222 @@
1
+ import * as DB from "tsondb/schema/dsl";
2
+ import { src } from "../../source/_PublicationRef.js";
3
+ import { NestedTranslationMap } from "../../Locale.js";
4
+ import { AlternativeName } from "../../_AlternativeNames.js";
5
+ import { BiomeIdentifier, HerbalAidIdentifier, ElixirIdentifier, PoisonIdentifier, } from "../../_Identifier.js";
6
+ import { ResponsiveTextOptional, ResponsiveTextReplace } from "../../_ResponsiveText.js";
7
+ import { EffectType, PlantRarity } from "./_Herbary.js";
8
+ export const Plant = DB.Entity(import.meta.url, {
9
+ name: "Plant",
10
+ namePlural: "Plants",
11
+ type: () => DB.Object({
12
+ types: DB.Required({
13
+ comment: "The plant types of this plant.",
14
+ type: DB.Array(DB.IncludeIdentifier(EffectType), { minItems: 1, uniqueItems: true }),
15
+ }),
16
+ occurences: DB.Required({
17
+ comment: "The biomes this plant occurs in and its rarity in those biomes.",
18
+ type: DB.IncludeIdentifier(PlantOccurences),
19
+ }),
20
+ search_difficulty: DB.Required({
21
+ comment: "The search difficulty for this plant.",
22
+ type: DB.Integer(),
23
+ }),
24
+ identification_difficulty: DB.Required({
25
+ comment: "The identification difficulty for this plant.",
26
+ type: DB.Integer(),
27
+ }),
28
+ applications: DB.Required({
29
+ comment: "The applications of this plant per quality level.",
30
+ type: DB.Array(DB.Integer(), { minItems: 6, maxItems: 6 }),
31
+ }),
32
+ touch: DB.Optional({
33
+ comment: "The plant's touch effect.",
34
+ type: DB.IncludeIdentifier(PlantEffect),
35
+ }),
36
+ inhalation: DB.Optional({
37
+ comment: "The plant's inhalation effect.",
38
+ type: DB.IncludeIdentifier(PlantEffect),
39
+ }),
40
+ ingestion: DB.Optional({
41
+ comment: "The plant's ingestion effect.",
42
+ type: DB.IncludeIdentifier(PlantEffect),
43
+ }),
44
+ price: DB.Required({
45
+ comment: "The price of the plant.",
46
+ type: DB.IncludeIdentifier(PlantPrice),
47
+ }),
48
+ recipes: DB.Optional({
49
+ comment: "The herbal aids and elixirs that can be crafted with this plant.",
50
+ type: DB.Array(DB.IncludeIdentifier(PlantRecipe), { minItems: 1 }),
51
+ }),
52
+ src,
53
+ translations: NestedTranslationMap(DB.Required, "Plant", DB.Object({
54
+ name: DB.Required({
55
+ comment: "The plant's name.",
56
+ type: DB.String({ minLength: 1 }),
57
+ }),
58
+ alternative_names: DB.Optional({
59
+ comment: "A list of alternative names.",
60
+ type: DB.Array(DB.IncludeIdentifier(AlternativeName), { minItems: 1 }),
61
+ }),
62
+ remedies_and_traditions: DB.Required({
63
+ comment: "How this plant is used as a household remedy and in folk traditions.",
64
+ type: DB.String({ minLength: 1, markdown: "block" }),
65
+ }),
66
+ knowledge: DB.Required({
67
+ comment: "What one knows about this plant for each quality level. The first element represents QL 1, the second element QL 2, and so on.",
68
+ type: DB.Array(DB.String({ minLength: 1, markdown: "block" }), {
69
+ minItems: 3,
70
+ maxItems: 6,
71
+ }),
72
+ }),
73
+ })),
74
+ }),
75
+ instanceDisplayName: {},
76
+ uniqueConstraints: [
77
+ {
78
+ entityMapKeyPath: "translations",
79
+ keyPathInEntityMap: "name",
80
+ },
81
+ ],
82
+ });
83
+ const PlantOccurences = DB.TypeAlias(import.meta.url, {
84
+ name: "PlantOccurences",
85
+ type: () => DB.Object({
86
+ items: DB.Optional({
87
+ comment: "The biomes this plant occurs in and its rarity in those biomes.",
88
+ type: DB.Array(DB.IncludeIdentifier(PlantOccurrence), { minItems: 1 }),
89
+ }),
90
+ translation: NestedTranslationMap(DB.Optional, "PlantOccurrences", DB.Object({
91
+ note: DB.Required({
92
+ comment: "A note to all occurences of this plant",
93
+ type: DB.String({ minLength: 1, markdown: "block" }),
94
+ }),
95
+ })),
96
+ }, {
97
+ minProperties: 1,
98
+ }),
99
+ });
100
+ const PlantOccurrence = DB.TypeAlias(import.meta.url, {
101
+ name: "PlantOccurrence",
102
+ type: () => DB.Object({
103
+ biome: DB.Required({
104
+ comment: "The biome this plant occurs in.",
105
+ type: BiomeIdentifier(),
106
+ }),
107
+ rarity: DB.Required({
108
+ comment: "The rarity of this plant in the biome.",
109
+ type: DB.IncludeIdentifier(PlantRarity),
110
+ }),
111
+ translation: NestedTranslationMap(DB.Optional, "PlantOccurrence", DB.Object({
112
+ note: DB.Required({
113
+ comment: "A note added to this occurrence",
114
+ type: DB.String({ minLength: 1, markdown: "inline" }),
115
+ }),
116
+ })),
117
+ }),
118
+ });
119
+ const PlantEffect = DB.TypeAlias(import.meta.url, {
120
+ name: "PlantEffect",
121
+ type: () => DB.Object({
122
+ types: DB.Optional({
123
+ comment: "The effect type of this plant effect.",
124
+ type: DB.Array(DB.IncludeIdentifier(EffectType), { minItems: 1, uniqueItems: true }),
125
+ }),
126
+ translations: NestedTranslationMap(DB.Required, "PlantEffectTranslation", DB.Object({
127
+ description: DB.Required({
128
+ comment: "The effect of the plant.",
129
+ type: DB.String({ minLength: 1, markdown: "block" }),
130
+ }),
131
+ })),
132
+ }),
133
+ });
134
+ const PlantPrice = DB.Enum(import.meta.url, {
135
+ name: "PlantPrice",
136
+ values: () => ({
137
+ Constant: DB.EnumCase({
138
+ type: DB.Object({
139
+ value: DB.Required({
140
+ comment: "The value of the plant in silver coins.",
141
+ type: DB.Float({ minimum: 0 }),
142
+ }),
143
+ cost: DB.Required({
144
+ comment: "The cost of the plant in silver coins.",
145
+ type: DB.Float({ minimum: 0 }),
146
+ }),
147
+ }),
148
+ }),
149
+ Indefinite: DB.EnumCase({ type: DB.IncludeIdentifier(IndefinitePlantPrice) }),
150
+ }),
151
+ });
152
+ const IndefinitePlantPrice = DB.TypeAlias(import.meta.url, {
153
+ name: "IndefinitePlantPrice",
154
+ type: () => DB.Object({
155
+ translations: NestedTranslationMap(DB.Required, "IndefinitePlantPrice", DB.Object({
156
+ description: DB.Required({
157
+ comment: "A description of the price.",
158
+ type: DB.String({ minLength: 1, markdown: "block" }),
159
+ }),
160
+ })),
161
+ }),
162
+ });
163
+ const PlantRecipe = DB.Enum(import.meta.url, {
164
+ name: "PlantRecipe",
165
+ values: () => ({
166
+ HerbalAid: DB.EnumCase({ type: DB.IncludeIdentifier(HerbalAidRecipe) }),
167
+ Elixir: DB.EnumCase({ type: DB.IncludeIdentifier(ElixirRecipe) }),
168
+ Poison: DB.EnumCase({ type: DB.IncludeIdentifier(PoisonRecipe) }),
169
+ Indefinite: DB.EnumCase({ type: DB.IncludeIdentifier(IndefiniteRecipe) }),
170
+ }),
171
+ });
172
+ const PlantProductTranslation = DB.Object({
173
+ note: DB.Optional({
174
+ comment: "A note, appended to the generated string in parenthesis. If the generated is modified using `replacement`, the note is appended to the modifier string.",
175
+ type: DB.IncludeIdentifier(ResponsiveTextOptional),
176
+ }),
177
+ replacement: DB.Optional({
178
+ comment: "A replacement string. If `note` is provided, it is appended to the replaced string.",
179
+ type: DB.IncludeIdentifier(ResponsiveTextReplace),
180
+ }),
181
+ }, { minProperties: 1 });
182
+ const HerbalAidRecipe = DB.TypeAlias(import.meta.url, {
183
+ name: "HerbalAidRecipe",
184
+ type: () => DB.Object({
185
+ herbal_aid: DB.Required({
186
+ comment: "The herbal aid this recipe results in.",
187
+ type: HerbalAidIdentifier(),
188
+ }),
189
+ translation: NestedTranslationMap(DB.Optional, "HerbalAidRecipe", PlantProductTranslation),
190
+ }),
191
+ });
192
+ const ElixirRecipe = DB.TypeAlias(import.meta.url, {
193
+ name: "ElixirRecipe",
194
+ type: () => DB.Object({
195
+ elixir: DB.Required({
196
+ comment: "The elixir this recipe results in.",
197
+ type: ElixirIdentifier(),
198
+ }),
199
+ translation: NestedTranslationMap(DB.Optional, "ElixirRecipe", PlantProductTranslation),
200
+ }),
201
+ });
202
+ const PoisonRecipe = DB.TypeAlias(import.meta.url, {
203
+ name: "PoisonRecipe",
204
+ type: () => DB.Object({
205
+ poison: DB.Required({
206
+ comment: "The poison this recipe results in.",
207
+ type: PoisonIdentifier(),
208
+ }),
209
+ translation: NestedTranslationMap(DB.Optional, "PoisonRecipe", PlantProductTranslation),
210
+ }),
211
+ });
212
+ const IndefiniteRecipe = DB.TypeAlias(import.meta.url, {
213
+ name: "IndefiniteRecipe",
214
+ type: () => DB.Object({
215
+ translations: NestedTranslationMap(DB.Required, "IndefiniteRecipe", DB.Object({
216
+ description: DB.Required({
217
+ comment: "A description of the recipe.",
218
+ type: DB.String({ minLength: 1, markdown: "inline" }),
219
+ }),
220
+ })),
221
+ }),
222
+ });
@@ -297,6 +297,7 @@ export declare const Poison: DB.Entity<"Poison", {
297
297
  alternative_names: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"AlternativeName", DB.Object<{
298
298
  name: DB.MemberDecl<DB.String, true>;
299
299
  region: DB.MemberDecl<DB.String, false>;
300
+ language: DB.MemberDecl<DB.ReferenceIdentifier, false>;
300
301
  }>, []>>>, false>;
301
302
  effect: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"Reduceable", DB.Object<{
302
303
  default: DB.MemberDecl<DB.TypeArgument<DB.Param<"Content", DB.Type>>, true>;
@@ -11,6 +11,13 @@ export declare const EffectType: DB.Enum<"EffectType", {
11
11
  Defensive: DB.EnumCase<null>;
12
12
  Supernatural: DB.EnumCase<null>;
13
13
  }, []>;
14
+ export declare const PlantRarity: DB.Enum<"PlantRarity", {
15
+ Common: DB.EnumCase<null>;
16
+ Occasional: DB.EnumCase<null>;
17
+ RatherRare: DB.EnumCase<null>;
18
+ Rare: DB.EnumCase<null>;
19
+ VeryRare: DB.EnumCase<null>;
20
+ }, []>;
14
21
  export declare const LaboratoryLevel: DB.Enum<"LaboratoryLevel", {
15
22
  ArchaicLaboratory: DB.EnumCase<null>;
16
23
  WitchKitchen: DB.EnumCase<null>;
@@ -16,6 +16,17 @@ export const EffectType = DB.Enum(import.meta.url, {
16
16
  Supernatural: DB.EnumCase({ type: null }),
17
17
  }),
18
18
  });
19
+ export const PlantRarity = DB.Enum(import.meta.url, {
20
+ name: "PlantRarity",
21
+ comment: "The rarity of a plant in a biome.",
22
+ values: () => ({
23
+ Common: DB.EnumCase({ type: null }),
24
+ Occasional: DB.EnumCase({ type: null }),
25
+ RatherRare: DB.EnumCase({ type: null }),
26
+ Rare: DB.EnumCase({ type: null }),
27
+ VeryRare: DB.EnumCase({ type: null }),
28
+ }),
29
+ });
19
30
  export const LaboratoryLevel = DB.Enum(import.meta.url, {
20
31
  name: "LaboratoryLevel",
21
32
  values: () => ({
@@ -0,0 +1,6 @@
1
+ import * as DB from "tsondb/schema/dsl";
2
+ export declare const Biome: DB.Entity<"Biome", {
3
+ translations: DB.MemberDecl<DB.NestedEntityMap<"BiomeTranslation", {
4
+ name: DB.MemberDecl<DB.String, true>;
5
+ }>, true>;
6
+ }, undefined>;
@@ -0,0 +1,21 @@
1
+ import * as DB from "tsondb/schema/dsl";
2
+ import { NestedTranslationMap } from "../../../Locale.js";
3
+ export const Biome = DB.Entity(import.meta.url, {
4
+ name: "Biome",
5
+ namePlural: "Biome",
6
+ type: () => DB.Object({
7
+ translations: NestedTranslationMap(DB.Required, "Biome", DB.Object({
8
+ name: DB.Required({
9
+ comment: "The biome's name.",
10
+ type: DB.String({ minLength: 1 }),
11
+ }),
12
+ })),
13
+ }),
14
+ instanceDisplayName: {},
15
+ uniqueConstraints: [
16
+ {
17
+ entityMapKeyPath: "translations",
18
+ keyPathInEntityMap: "name",
19
+ },
20
+ ],
21
+ });
@@ -30,6 +30,7 @@ export { Container } from "./equipment/item/Container.js";
30
30
  export { Elixir } from "./equipment/item/Elixir.js";
31
31
  export { EquipmentOfBlessedOnes } from "./equipment/item/EquipmentOfBlessedOnes.js";
32
32
  export { GemOrPreciousStone } from "./equipment/item/GemOrPreciousStone.js";
33
+ export { HerbalAid } from "./equipment/item/HerbalAid.js";
33
34
  export { IlluminationLightSource } from "./equipment/item/IlluminationLightSource.js";
34
35
  export { IlluminationRefillOrSupply } from "./equipment/item/IlluminationRefillOrSupply.js";
35
36
  export { Jewelry } from "./equipment/item/Jewelry.js";
@@ -40,10 +41,12 @@ export { MagicalArtifact } from "./equipment/item/MagicalArtifact.js";
40
41
  export { MusicalInstrument } from "./equipment/item/MusicalInstrument.js";
41
42
  export { Newspaper } from "./equipment/item/Newspaper.js";
42
43
  export { OrienteeringAid } from "./equipment/item/OrienteeringAid.js";
44
+ export { Plant } from "./equipment/item/Plant.js";
43
45
  export { Poison } from "./equipment/item/Poison.js";
44
46
  export { RopeOrChain } from "./equipment/item/RopeOrChain.js";
45
47
  export { Stationery } from "./equipment/item/Stationery.js";
46
48
  export { ArmorType } from "./equipment/item/sub/ArmorType.js";
49
+ export { Biome } from "./equipment/item/sub/Biome.js";
47
50
  export { Reach } from "./equipment/item/sub/Reach.js";
48
51
  export { ThievesTool } from "./equipment/item/ThievesTool.js";
49
52
  export { ToolOfTheTrade } from "./equipment/item/ToolOfTheTrade.js";
@@ -51,7 +54,7 @@ export { TravelGearOrTool } from "./equipment/item/TravelGearOrTool.js";
51
54
  export { Vehicle } from "./equipment/item/Vehicle.js";
52
55
  export { Weapon } from "./equipment/item/Weapon.js";
53
56
  export { WeaponAccessory } from "./equipment/item/WeaponAccessory.js";
54
- export { WorkingSupernaturalCreature } from "./equipment/item/WorkingSupernaturalCreature.ts";
57
+ export { WorkingSupernaturalCreature } from "./equipment/item/WorkingSupernaturalCreature.js";
55
58
  export { ExperienceLevel } from "./ExperienceLevel.js";
56
59
  export { EyeColor } from "./EyeColor.js";
57
60
  export { FamiliarsTrick } from "./FamiliarsTrick.js";
@@ -30,6 +30,7 @@ export { Container } from "./equipment/item/Container.js";
30
30
  export { Elixir } from "./equipment/item/Elixir.js";
31
31
  export { EquipmentOfBlessedOnes } from "./equipment/item/EquipmentOfBlessedOnes.js";
32
32
  export { GemOrPreciousStone } from "./equipment/item/GemOrPreciousStone.js";
33
+ export { HerbalAid } from "./equipment/item/HerbalAid.js";
33
34
  export { IlluminationLightSource } from "./equipment/item/IlluminationLightSource.js";
34
35
  export { IlluminationRefillOrSupply } from "./equipment/item/IlluminationRefillOrSupply.js";
35
36
  export { Jewelry } from "./equipment/item/Jewelry.js";
@@ -40,10 +41,12 @@ export { MagicalArtifact } from "./equipment/item/MagicalArtifact.js";
40
41
  export { MusicalInstrument } from "./equipment/item/MusicalInstrument.js";
41
42
  export { Newspaper } from "./equipment/item/Newspaper.js";
42
43
  export { OrienteeringAid } from "./equipment/item/OrienteeringAid.js";
44
+ export { Plant } from "./equipment/item/Plant.js";
43
45
  export { Poison } from "./equipment/item/Poison.js";
44
46
  export { RopeOrChain } from "./equipment/item/RopeOrChain.js";
45
47
  export { Stationery } from "./equipment/item/Stationery.js";
46
48
  export { ArmorType } from "./equipment/item/sub/ArmorType.js";
49
+ export { Biome } from "./equipment/item/sub/Biome.js";
47
50
  export { Reach } from "./equipment/item/sub/Reach.js";
48
51
  export { ThievesTool } from "./equipment/item/ThievesTool.js";
49
52
  export { ToolOfTheTrade } from "./equipment/item/ToolOfTheTrade.js";
@@ -2,7 +2,7 @@ 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
4
  import { combat_techniques, penalty, usage_type } from "../_ActivatableCombat.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 { GeneralPrerequisites } from "../_Prerequisite.js";
@@ -42,6 +42,7 @@ export const AdvancedCombatSpecialAbility = DB.Entity(import.meta.url, {
42
42
  })),
43
43
  }),
44
44
  instanceDisplayName: {},
45
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
45
46
  uniqueConstraints: [
46
47
  {
47
48
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { 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 { GeneralPrerequisites } from "../_Prerequisite.js";
@@ -37,6 +37,7 @@ export const AdvancedKarmaSpecialAbility = DB.Entity(import.meta.url, {
37
37
  })),
38
38
  }),
39
39
  instanceDisplayName: {},
40
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
40
41
  uniqueConstraints: [
41
42
  {
42
43
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { 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 { GeneralPrerequisites } from "../_Prerequisite.js";
@@ -37,6 +37,7 @@ export const AdvancedMagicalSpecialAbility = DB.Entity(import.meta.url, {
37
37
  })),
38
38
  }),
39
39
  instanceDisplayName: {},
40
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
40
41
  uniqueConstraints: [
41
42
  {
42
43
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { 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 { GeneralPrerequisites } from "../_Prerequisite.js";
@@ -37,6 +37,7 @@ export const AdvancedSkillSpecialAbility = DB.Entity(import.meta.url, {
37
37
  })),
38
38
  }),
39
39
  instanceDisplayName: {},
40
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
40
41
  uniqueConstraints: [
41
42
  {
42
43
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { 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 { GeneralPrerequisites } from "../_Prerequisite.js";
7
7
  import { NestedTranslationMap } from "../Locale.js";
@@ -38,6 +38,7 @@ export const AncestorGlyph = DB.Entity(import.meta.url, {
38
38
  })),
39
39
  }),
40
40
  instanceDisplayName: {},
41
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
41
42
  uniqueConstraints: [
42
43
  {
43
44
  entityMapKeyPath: "translations",
@@ -1,6 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { name, name_in_library } from "../_Activatable.js";
3
3
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
4
+ import { activatableDisplayNameCustomizer } from "../_ActivatableNames.js";
4
5
  import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
5
6
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
6
7
  import { AspectIdentifier, AttributeIdentifier, BlessingIdentifier, GeneralIdentifier, SkillIdentifier, } from "../_Identifier.js";
@@ -78,6 +79,7 @@ export const BlessedTradition = DB.Entity(import.meta.url, {
78
79
  })),
79
80
  }),
80
81
  instanceDisplayName: {},
82
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
81
83
  uniqueConstraints: [
82
84
  {
83
85
  entityMapKeyPath: "translations",
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { 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
4
  import { combat_techniques, usage_type } from "../_ActivatableCombat.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 { GeneralPrerequisites } from "../_Prerequisite.js";
8
8
  import { NestedTranslationMap } from "../Locale.js";
@@ -36,6 +36,7 @@ export const BrawlingSpecialAbility = DB.Entity(import.meta.url, {
36
36
  })),
37
37
  }),
38
38
  instanceDisplayName: {},
39
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
39
40
  uniqueConstraints: [
40
41
  {
41
42
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { effect, levels, maximum, name, name_in_library } 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 { aspectOptional } from "../_ActivatableNonMundane.js";
6
6
  import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
7
7
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
@@ -38,6 +38,7 @@ export const CeremonialItemSpecialAbility = DB.Entity(import.meta.url, {
38
38
  })),
39
39
  }),
40
40
  instanceDisplayName: {},
41
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
41
42
  uniqueConstraints: [
42
43
  [
43
44
  {
@@ -2,7 +2,7 @@ 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
4
  import { combat_techniques, penalty, penalty_l10n, usage_type } from "../_ActivatableCombat.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 { GeneralPrerequisites } from "../_Prerequisite.js";
@@ -42,6 +42,7 @@ export const CombatSpecialAbility = DB.Entity(import.meta.url, {
42
42
  })),
43
43
  }),
44
44
  instanceDisplayName: {},
45
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
45
46
  uniqueConstraints: [
46
47
  {
47
48
  entityMapKeyPath: "translations",
@@ -3,7 +3,7 @@ import { levels, maximum, name, name_in_library, rules } from "../_Activatable.j
3
3
  import { advanced } from "../_ActivatableAdvanced.js";
4
4
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.js";
5
5
  import { combat_techniques, penalty, type, usage_type } from "../_ActivatableCombat.js";
6
- import { nameBuilderRules } from "../_ActivatableNames.js";
6
+ import { activatableDisplayNameCustomizer, nameBuilderRules } from "../_ActivatableNames.js";
7
7
  import { explicit_select_options, select_options } from "../_ActivatableSelectOptions.js";
8
8
  import { skill_applications, skill_uses } from "../_ActivatableSkillApplicationsAndUses.js";
9
9
  import { AdvancedCombatSpecialAbilityIdentifier } from "../_Identifier.js";
@@ -44,6 +44,7 @@ export const CombatStyleSpecialAbility = DB.Entity(import.meta.url, {
44
44
  })),
45
45
  }),
46
46
  instanceDisplayName: {},
47
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
47
48
  uniqueConstraints: [
48
49
  {
49
50
  entityMapKeyPath: "translations",
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { 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
4
  import { combat_techniques, usage_type } from "../_ActivatableCombat.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 { GeneralPrerequisites } from "../_Prerequisite.js";
8
8
  import { NestedTranslationMap } from "../Locale.js";
@@ -36,6 +36,7 @@ export const CommandSpecialAbility = DB.Entity(import.meta.url, {
36
36
  })),
37
37
  }),
38
38
  instanceDisplayName: {},
39
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
39
40
  uniqueConstraints: [
40
41
  {
41
42
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { effect, levels, maximum, name, name_in_library } 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 { GeneralPrerequisites } from "../_Prerequisite.js";
7
7
  import { NestedTranslationMap } from "../Locale.js";
@@ -33,6 +33,7 @@ export const FamiliarSpecialAbility = DB.Entity(import.meta.url, {
33
33
  })),
34
34
  }),
35
35
  instanceDisplayName: {},
36
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
36
37
  uniqueConstraints: [
37
38
  {
38
39
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { 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 { GeneralPrerequisites } from "../_Prerequisite.js";
7
7
  import { NestedTranslationMap } from "../Locale.js";
@@ -33,6 +33,7 @@ export const FatePointSexSpecialAbility = DB.Entity(import.meta.url, {
33
33
  })),
34
34
  }),
35
35
  instanceDisplayName: {},
36
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
36
37
  uniqueConstraints: [
37
38
  {
38
39
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { 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 { GeneralPrerequisites } from "../_Prerequisite.js";
@@ -36,6 +36,7 @@ export const FatePointSpecialAbility = DB.Entity(import.meta.url, {
36
36
  })),
37
37
  }),
38
38
  instanceDisplayName: {},
39
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
39
40
  uniqueConstraints: [
40
41
  {
41
42
  entityMapKeyPath: "translations",
@@ -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 { GeneralPrerequisites } from "../_Prerequisite.js";
@@ -37,6 +37,7 @@ export const GeneralSpecialAbility = DB.Entity(import.meta.url, {
37
37
  })),
38
38
  }),
39
39
  instanceDisplayName: {},
40
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
40
41
  uniqueConstraints: [
41
42
  {
42
43
  entityMapKeyPath: "translations",
@@ -1,7 +1,7 @@
1
1
  import * as DB from "tsondb/schema/dsl";
2
2
  import { 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 { GeneralPrerequisites } from "../_Prerequisite.js";
7
7
  import { NestedTranslationMap } from "../Locale.js";
@@ -33,6 +33,7 @@ export const KarmaSpecialAbility = DB.Entity(import.meta.url, {
33
33
  })),
34
34
  }),
35
35
  instanceDisplayName: {},
36
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
36
37
  uniqueConstraints: [
37
38
  {
38
39
  entityMapKeyPath: "translations",
@@ -2,7 +2,7 @@ import * as DB from "tsondb/schema/dsl";
2
2
  import { levels, maximum, name, name_in_library, rules } from "../_Activatable.js";
3
3
  import { advanced } from "../_ActivatableAdvanced.js";
4
4
  import { ap_value, ap_value_append, ap_value_l10n } from "../_ActivatableAdventurePointsValue.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 { AdvancedKarmaSpecialAbilityIdentifier } from "../_Identifier.js";
@@ -39,6 +39,7 @@ export const LiturgicalStyleSpecialAbility = DB.Entity(import.meta.url, {
39
39
  })),
40
40
  }),
41
41
  instanceDisplayName: {},
42
+ instanceDisplayNameCustomizer: activatableDisplayNameCustomizer,
42
43
  uniqueConstraints: [
43
44
  {
44
45
  entityMapKeyPath: "translations",