@optolith/database-schema 0.53.0 → 0.55.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 (82) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/gen/types.d.ts +292 -222
  3. package/lib/cache/activatableSelectOptions.js +28 -12
  4. package/lib/types/Blessing.d.ts +10 -0
  5. package/lib/types/Cantrip.d.ts +10 -0
  6. package/lib/types/Ceremony.d.ts +294 -125
  7. package/lib/types/FamiliarsTrick.d.ts +40 -0
  8. package/lib/types/LiturgicalChant.d.ts +294 -125
  9. package/lib/types/Locale.d.ts +6 -0
  10. package/lib/types/Locale.js +6 -0
  11. package/lib/types/Ritual.d.ts +294 -125
  12. package/lib/types/Spell.d.ts +294 -125
  13. package/lib/types/Talisman.d.ts +10 -0
  14. package/lib/types/_Activatable.d.ts +1 -0
  15. package/lib/types/_Activatable.js +4 -0
  16. package/lib/types/_ActivatableCombat.d.ts +5 -1
  17. package/lib/types/_ActivatableCombat.js +13 -1
  18. package/lib/types/_ActivatableNonMundane.d.ts +128 -64
  19. package/lib/types/_ActivatableNonMundane.js +10 -67
  20. package/lib/types/_ActivatableSelectOptionCategory.js +19 -3
  21. package/lib/types/_ActivatableSkill.d.ts +680 -284
  22. package/lib/types/_ActivatableSkillCastingTime.d.ts +30 -0
  23. package/lib/types/_ActivatableSkillCastingTime.js +20 -0
  24. package/lib/types/_ActivatableSkillCost.d.ts +288 -186
  25. package/lib/types/_ActivatableSkillCost.js +109 -110
  26. package/lib/types/_ActivatableSkillDuration.d.ts +70 -0
  27. package/lib/types/_ActivatableSkillDuration.js +44 -0
  28. package/lib/types/_ActivatableSkillParameterMap.d.ts +34 -0
  29. package/lib/types/_ActivatableSkillParameterMap.js +64 -0
  30. package/lib/types/equipment/item/HerbalPreservation.d.ts +20 -0
  31. package/lib/types/magicalActions/AnimistPower.d.ts +50 -0
  32. package/lib/types/magicalActions/Bannzeichen.d.ts +32 -15
  33. package/lib/types/magicalActions/Bannzeichen.js +2 -6
  34. package/lib/types/magicalActions/Curse.d.ts +20 -0
  35. package/lib/types/magicalActions/DominationRitual.d.ts +20 -0
  36. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +10 -0
  37. package/lib/types/magicalActions/GeodeRitual.d.ts +28 -13
  38. package/lib/types/magicalActions/GeodeRitual.js +2 -2
  39. package/lib/types/magicalActions/GoblinRitual.d.ts +20 -0
  40. package/lib/types/magicalActions/JesterTrick.d.ts +30 -0
  41. package/lib/types/magicalActions/MagicalMelody.d.ts +10 -0
  42. package/lib/types/magicalActions/MagicalRune.d.ts +20 -0
  43. package/lib/types/magicalActions/ZibiljaRitual.d.ts +92 -34
  44. package/lib/types/prerequisites/single/PropertyPrerequisite.d.ts +16 -0
  45. package/lib/types/prerequisites/single/PropertyPrerequisite.js +16 -0
  46. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -2
  47. package/lib/types/specialAbility/BlessedTradition.d.ts +6 -5
  48. package/lib/types/specialAbility/BlessedTradition.js +11 -5
  49. package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -2
  50. package/lib/types/specialAbility/CombatSpecialAbility.js +2 -2
  51. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +2 -3
  52. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -2
  53. package/lib/types/specialAbility/CommandSpecialAbility.js +2 -2
  54. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +1 -0
  55. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
  56. package/lib/types/specialAbility/MagicalSign.d.ts +12 -13
  57. package/lib/types/specialAbility/MagicalSign.js +2 -2
  58. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +71 -40
  59. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +71 -40
  60. package/lib/types/traditionArtifacts/Beutelzauber.d.ts +71 -40
  61. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +71 -40
  62. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +71 -40
  63. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +71 -40
  64. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +71 -40
  65. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +71 -40
  66. package/lib/types/traditionArtifacts/Haubenzauber.d.ts +71 -40
  67. package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +71 -40
  68. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +71 -40
  69. package/lib/types/traditionArtifacts/Keulenzauber.d.ts +71 -40
  70. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +71 -40
  71. package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +71 -40
  72. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +71 -40
  73. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +71 -40
  74. package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +71 -40
  75. package/lib/types/traditionArtifacts/SickleRitual.d.ts +71 -40
  76. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +71 -40
  77. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +71 -40
  78. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +71 -40
  79. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +71 -40
  80. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +57 -24
  81. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +71 -40
  82. package/package.json +10 -9
@@ -5,12 +5,13 @@ import { compareNullish, compareNumber } from "@elyukai/utils/ordering";
5
5
  import { assertExhaustive } from "@elyukai/utils/typeSafety";
6
6
  import { Case, fromUniformCase } from "tsondb/schema/gen";
7
7
  const wrapPlainApValue = (apValue) => apValue === undefined ? undefined : Case("Fixed", apValue);
8
- const matchesSpecificSkillishIdList = (id, config) => {
8
+ const matchesSpecificSkillishIdList = (config, matches) => {
9
+ const isInList = config.list.some(matches);
9
10
  switch (config.operation.kind) {
10
11
  case "Intersection":
11
- return config.list.includes(id);
12
+ return isInList;
12
13
  case "Difference":
13
- return !config.list.includes(id);
14
+ return !isInList;
14
15
  default:
15
16
  return assertExhaustive(config.operation);
16
17
  }
@@ -112,9 +113,24 @@ const getDefaultSkillishFilter = (category) => {
112
113
  const { specific } = category;
113
114
  return specific === undefined
114
115
  ? undefined
115
- : ({ id }) => matchesSpecificSkillishIdList(id, specific);
116
+ : ({ id }) => matchesSpecificSkillishIdList(specific, required => required === id);
116
117
  };
117
- const getDerivedSkillishSelectOptions = (database, entryId, entity, category, options, filter = getDefaultSkillishFilter(category)) => {
118
+ const getSpellworkFilter = (category) => {
119
+ const { specific } = category;
120
+ return specific === undefined
121
+ ? undefined
122
+ : ({ id, content: { property } }) => matchesSpecificSkillishIdList(specific, required => {
123
+ switch (required.kind) {
124
+ case "Single":
125
+ return required.Single === id;
126
+ case "Property":
127
+ return property === required.Property;
128
+ default:
129
+ return assertExhaustive(required);
130
+ }
131
+ });
132
+ };
133
+ const getDerivedSkillishSelectOptions = (database, entryId, entity, category, options, filter) => {
118
134
  const { prerequisites } = category;
119
135
  const { bindingCost, ap_value } = options;
120
136
  const instances = database.getAllInstanceContainersOfEntity(entity);
@@ -625,17 +641,17 @@ const getDerivedSelectOptions = (selectOptionCategory, entryId, database, idMap)
625
641
  const matchesGroupRequirement = category.Skills.groups === undefined ||
626
642
  category.Skills.groups.some(ref => ref === content.group);
627
643
  const matchesIdRequirement = category.Skills.specific === undefined ||
628
- matchesSpecificSkillishIdList(id, category.Skills.specific);
644
+ matchesSpecificSkillishIdList(category.Skills.specific, required => required === id);
629
645
  return matchesGroupRequirement && matchesIdRequirement;
630
646
  });
631
647
  case "Spells":
632
- return getDerivedSkillishSelectOptions(database, entryId, "Spell", category.Spells, selectOptionCategory.Skills);
648
+ return getDerivedSkillishSelectOptions(database, entryId, "Spell", category.Spells, selectOptionCategory.Skills, getSpellworkFilter(category.Spells));
633
649
  case "Rituals":
634
- return getDerivedSkillishSelectOptions(database, entryId, "Ritual", category.Rituals, selectOptionCategory.Skills);
650
+ return getDerivedSkillishSelectOptions(database, entryId, "Ritual", category.Rituals, selectOptionCategory.Skills, getSpellworkFilter(category.Rituals));
635
651
  case "LiturgicalChants":
636
- return getDerivedSkillishSelectOptions(database, entryId, "LiturgicalChant", category.LiturgicalChants, selectOptionCategory.Skills);
652
+ return getDerivedSkillishSelectOptions(database, entryId, "LiturgicalChant", category.LiturgicalChants, selectOptionCategory.Skills, getDefaultSkillishFilter(category.LiturgicalChants));
637
653
  case "Ceremonies":
638
- return getDerivedSkillishSelectOptions(database, entryId, "Ceremony", category.Ceremonies, selectOptionCategory.Skills);
654
+ return getDerivedSkillishSelectOptions(database, entryId, "Ceremony", category.Ceremonies, selectOptionCategory.Skills, getDefaultSkillishFilter(category.Ceremonies));
639
655
  default:
640
656
  return assertExhaustive(category);
641
657
  }
@@ -644,9 +660,9 @@ const getDerivedSelectOptions = (selectOptionCategory, entryId, database, idMap)
644
660
  return selectOptionCategory.CombatTechniques.categories.flatMap(category => {
645
661
  switch (category.kind) {
646
662
  case "CloseCombatTechniques":
647
- return getDerivedSkillishSelectOptions(database, entryId, "CloseCombatTechnique", category.CloseCombatTechniques, selectOptionCategory.CombatTechniques);
663
+ return getDerivedSkillishSelectOptions(database, entryId, "CloseCombatTechnique", category.CloseCombatTechniques, selectOptionCategory.CombatTechniques, getDefaultSkillishFilter(category.CloseCombatTechniques));
648
664
  case "RangedCombatTechniques":
649
- return getDerivedSkillishSelectOptions(database, entryId, "RangedCombatTechnique", category.RangedCombatTechniques, selectOptionCategory.CombatTechniques);
665
+ return getDerivedSkillishSelectOptions(database, entryId, "RangedCombatTechnique", category.RangedCombatTechniques, selectOptionCategory.CombatTechniques, getDefaultSkillishFilter(category.RangedCombatTechniques));
650
666
  default:
651
667
  return assertExhaustive(category);
652
668
  }
@@ -30,6 +30,16 @@ export declare const Blessing: DB.Entity<"Blessing", {
30
30
  Centuries: DB.EnumCase<null>;
31
31
  Actions: DB.EnumCase<null>;
32
32
  CombatRounds: DB.EnumCase<null>;
33
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
34
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
35
+ name: DB.MemberDecl<DB.String, true>;
36
+ fullNumber: DB.MemberDecl<DB.String, true>;
37
+ full: DB.MemberDecl<DB.String, true>;
38
+ symbol: DB.MemberDecl<DB.String, true>;
39
+ compressedNumber: DB.MemberDecl<DB.String, true>;
40
+ compressed: DB.MemberDecl<DB.String, true>;
41
+ }>, true>;
42
+ }>, []>>>;
33
43
  }, []>>, true>;
34
44
  }>, []>>>;
35
45
  Indefinite: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"IndefiniteBlessingDuration", DB.Object<{
@@ -31,6 +31,16 @@ export declare const Cantrip: DB.Entity<"Cantrip", {
31
31
  Centuries: DB.EnumCase<null>;
32
32
  Actions: DB.EnumCase<null>;
33
33
  CombatRounds: DB.EnumCase<null>;
34
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
35
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
36
+ name: DB.MemberDecl<DB.String, true>;
37
+ fullNumber: DB.MemberDecl<DB.String, true>;
38
+ full: DB.MemberDecl<DB.String, true>;
39
+ symbol: DB.MemberDecl<DB.String, true>;
40
+ compressedNumber: DB.MemberDecl<DB.String, true>;
41
+ compressed: DB.MemberDecl<DB.String, true>;
42
+ }>, true>;
43
+ }>, []>>>;
34
44
  }, []>>, true>;
35
45
  }>, []>>>;
36
46
  DuringLovemaking: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CastingTimeDuringLovemaking", DB.Object<{
@@ -134,40 +134,78 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
134
134
  }>, true>;
135
135
  }>, []>>>;
136
136
  }, []>>>, []>>>;
137
- Map: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"OneTimeCostMap", DB.Object<{
138
- options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"OneTimeCostMapOption", DB.Object<{
139
- value: DB.MemberDecl<DB.Integer, true>;
140
- permanent_value: DB.MemberDecl<DB.Integer, false>;
141
- translations: DB.MemberDecl<DB.NestedEntityMap<"OneTimeCostMapOptionTranslation", {
142
- label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
143
- full: DB.MemberDecl<DB.String, true>;
144
- compressed: DB.MemberDecl<DB.String, false>;
145
- }>, []>>, true>;
146
- label_standalone: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
147
- full: DB.MemberDecl<DB.String, true>;
148
- compressed: DB.MemberDecl<DB.String, false>;
149
- }>, []>>, false>;
150
- }>, false>;
151
- }>, []>>>, true>;
152
- style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"MapStyle", {
153
- Compressed: DB.EnumCase<null>;
154
- Verbose: DB.EnumCase<null>;
155
- }, []>>, false>;
156
- translations: DB.MemberDecl<DB.NestedEntityMap<"OneTimeCostMapTranslation", {
157
- list_prepend: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
158
- full: DB.MemberDecl<DB.String, true>;
159
- compressed: DB.MemberDecl<DB.String, false>;
160
- }>, []>>, false>;
161
- list_append: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
162
- full: DB.MemberDecl<DB.String, true>;
163
- compressed: DB.MemberDecl<DB.String, false>;
164
- }>, []>>, false>;
165
- replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
166
- full: DB.MemberDecl<DB.String, true>;
167
- compressed: DB.MemberDecl<DB.String, false>;
168
- }>, []>>, false>;
169
- }>, false>;
170
- }>, []>>>;
137
+ Map: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"OneTimeCostMap", {
138
+ Modifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ModifiableOneTimeCostMap", DB.Object<{
139
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
140
+ options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
141
+ value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
142
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
143
+ label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
144
+ full: DB.MemberDecl<DB.String, true>;
145
+ compressed: DB.MemberDecl<DB.String, false>;
146
+ }>, []>>, true>;
147
+ standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
148
+ full: DB.MemberDecl<DB.String, true>;
149
+ compressed: DB.MemberDecl<DB.String, false>;
150
+ }>, []>>, false>;
151
+ }>, false>;
152
+ }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
153
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
154
+ Compressed: DB.EnumCase<null>;
155
+ Verbose: DB.EnumCase<null>;
156
+ }, []>>, true>;
157
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
158
+ listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
159
+ full: DB.MemberDecl<DB.String, true>;
160
+ compressed: DB.MemberDecl<DB.String, false>;
161
+ }>, []>>, false>;
162
+ listSuffix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
163
+ full: DB.MemberDecl<DB.String, true>;
164
+ compressed: DB.MemberDecl<DB.String, false>;
165
+ }>, []>>, false>;
166
+ replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
167
+ full: DB.MemberDecl<DB.String, true>;
168
+ compressed: DB.MemberDecl<DB.String, false>;
169
+ }>, []>>, false>;
170
+ }>, false>;
171
+ }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
172
+ }>, []>>>;
173
+ NonModifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableOneTimeCostMap", DB.Object<{
174
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
175
+ options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
176
+ value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
177
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
178
+ label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
179
+ full: DB.MemberDecl<DB.String, true>;
180
+ compressed: DB.MemberDecl<DB.String, false>;
181
+ }>, []>>, true>;
182
+ standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
183
+ full: DB.MemberDecl<DB.String, true>;
184
+ compressed: DB.MemberDecl<DB.String, false>;
185
+ }>, []>>, false>;
186
+ }>, false>;
187
+ }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
188
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
189
+ Compressed: DB.EnumCase<null>;
190
+ Verbose: DB.EnumCase<null>;
191
+ }, []>>, true>;
192
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
193
+ listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
194
+ full: DB.MemberDecl<DB.String, true>;
195
+ compressed: DB.MemberDecl<DB.String, false>;
196
+ }>, []>>, false>;
197
+ listSuffix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
198
+ full: DB.MemberDecl<DB.String, true>;
199
+ compressed: DB.MemberDecl<DB.String, false>;
200
+ }>, []>>, false>;
201
+ replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
202
+ full: DB.MemberDecl<DB.String, true>;
203
+ compressed: DB.MemberDecl<DB.String, false>;
204
+ }>, []>>, false>;
205
+ }>, false>;
206
+ }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
207
+ }>, []>>>;
208
+ }, []>>>;
171
209
  }, []>>, true>;
172
210
  range: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Range", DB.Object<{
173
211
  value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RangeValue", {
@@ -217,6 +255,16 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
217
255
  Centuries: DB.EnumCase<null>;
218
256
  Actions: DB.EnumCase<null>;
219
257
  CombatRounds: DB.EnumCase<null>;
258
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
259
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
260
+ name: DB.MemberDecl<DB.String, true>;
261
+ fullNumber: DB.MemberDecl<DB.String, true>;
262
+ full: DB.MemberDecl<DB.String, true>;
263
+ symbol: DB.MemberDecl<DB.String, true>;
264
+ compressedNumber: DB.MemberDecl<DB.String, true>;
265
+ compressed: DB.MemberDecl<DB.String, true>;
266
+ }>, true>;
267
+ }>, []>>>;
220
268
  }, []>>, true>;
221
269
  }>, []>>, false>;
222
270
  translations: DB.MemberDecl<DB.NestedEntityMap<"ImmediateTranslation", {
@@ -249,6 +297,16 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
249
297
  Centuries: DB.EnumCase<null>;
250
298
  Actions: DB.EnumCase<null>;
251
299
  CombatRounds: DB.EnumCase<null>;
300
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
301
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
302
+ name: DB.MemberDecl<DB.String, true>;
303
+ fullNumber: DB.MemberDecl<DB.String, true>;
304
+ full: DB.MemberDecl<DB.String, true>;
305
+ symbol: DB.MemberDecl<DB.String, true>;
306
+ compressedNumber: DB.MemberDecl<DB.String, true>;
307
+ compressed: DB.MemberDecl<DB.String, true>;
308
+ }>, true>;
309
+ }>, []>>>;
252
310
  }, []>>, true>;
253
311
  translations: DB.MemberDecl<DB.NestedEntityMap<"ExpressionBasedDurationTranslation", {
254
312
  replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextReplace", DB.Object<{
@@ -270,99 +328,200 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
270
328
  Sustained: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SlowSustainedPerformanceParameters", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"SustainedPerformanceParameters", DB.Object<{
271
329
  casting_time: DB.MemberDecl<DB.TypeArgument<DB.Param<"CastingTime", DB.Type>>, true>;
272
330
  cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SustainedCost", {
273
- Modifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ModifiableSustainedCost", DB.Object<{
274
- initial_modification_level: DB.MemberDecl<DB.ReferenceIdentifier, true>;
275
- interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
276
- value: DB.MemberDecl<DB.Integer, true>;
277
- unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
278
- Seconds: DB.EnumCase<null>;
279
- Minutes: DB.EnumCase<null>;
280
- Hours: DB.EnumCase<null>;
281
- Days: DB.EnumCase<null>;
282
- Weeks: DB.EnumCase<null>;
283
- Months: DB.EnumCase<null>;
284
- Years: DB.EnumCase<null>;
285
- Decades: DB.EnumCase<null>;
286
- Centuries: DB.EnumCase<null>;
287
- Actions: DB.EnumCase<null>;
288
- CombatRounds: DB.EnumCase<null>;
289
- }, []>>, true>;
290
- }>, []>>, true>;
291
- }>, []>>>;
292
- NonModifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableSustainedCost", DB.Object<{
293
- is_minimum: DB.MemberDecl<DB.Boolean, false>;
294
- value: DB.MemberDecl<DB.Integer, true>;
295
- per: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableSustainedCostPerCountable", DB.Object<{
296
- minimum_total: DB.MemberDecl<DB.Integer, false>;
297
- translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableSustainedCostPerCountableTranslation", {
298
- countable: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveText", DB.Object<{
299
- full: DB.MemberDecl<DB.String, true>;
300
- compressed: DB.MemberDecl<DB.String, true>;
301
- }>, []>>, true>;
302
- }>, true>;
303
- }>, []>>, false>;
304
- interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
305
- value: DB.MemberDecl<DB.Integer, true>;
306
- unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
307
- Seconds: DB.EnumCase<null>;
308
- Minutes: DB.EnumCase<null>;
309
- Hours: DB.EnumCase<null>;
310
- Days: DB.EnumCase<null>;
311
- Weeks: DB.EnumCase<null>;
312
- Months: DB.EnumCase<null>;
313
- Years: DB.EnumCase<null>;
314
- Decades: DB.EnumCase<null>;
315
- Centuries: DB.EnumCase<null>;
316
- Actions: DB.EnumCase<null>;
317
- CombatRounds: DB.EnumCase<null>;
318
- }, []>>, true>;
319
- }>, []>>, true>;
320
- }>, []>>>;
321
- Map: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"SustainedCostMap", DB.Object<{
322
- options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SustainedCostMapOption", DB.Object<{
323
- value: DB.MemberDecl<DB.Integer, true>;
324
- translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapOptionTranslation", {
325
- label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
326
- full: DB.MemberDecl<DB.String, true>;
327
- compressed: DB.MemberDecl<DB.String, false>;
328
- }>, []>>, true>;
329
- standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
330
- full: DB.MemberDecl<DB.String, true>;
331
- compressed: DB.MemberDecl<DB.String, false>;
332
- }>, []>>, false>;
333
- }>, false>;
334
- }>, []>>>, true>;
335
- interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
331
+ Single: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"SingleSustainedCost", {
332
+ Modifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ModifiableSustainedCost", DB.Object<{
333
+ initial_modification_level: DB.MemberDecl<DB.ReferenceIdentifier, true>;
334
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
335
+ value: DB.MemberDecl<DB.Integer, true>;
336
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
337
+ Seconds: DB.EnumCase<null>;
338
+ Minutes: DB.EnumCase<null>;
339
+ Hours: DB.EnumCase<null>;
340
+ Days: DB.EnumCase<null>;
341
+ Weeks: DB.EnumCase<null>;
342
+ Months: DB.EnumCase<null>;
343
+ Years: DB.EnumCase<null>;
344
+ Decades: DB.EnumCase<null>;
345
+ Centuries: DB.EnumCase<null>;
346
+ Actions: DB.EnumCase<null>;
347
+ CombatRounds: DB.EnumCase<null>;
348
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
349
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
350
+ name: DB.MemberDecl<DB.String, true>;
351
+ fullNumber: DB.MemberDecl<DB.String, true>;
352
+ full: DB.MemberDecl<DB.String, true>;
353
+ symbol: DB.MemberDecl<DB.String, true>;
354
+ compressedNumber: DB.MemberDecl<DB.String, true>;
355
+ compressed: DB.MemberDecl<DB.String, true>;
356
+ }>, true>;
357
+ }>, []>>>;
358
+ }, []>>, true>;
359
+ }>, []>>, true>;
360
+ }>, []>>>;
361
+ NonModifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableSustainedCost", DB.Object<{
362
+ is_minimum: DB.MemberDecl<DB.Boolean, false>;
336
363
  value: DB.MemberDecl<DB.Integer, true>;
337
- unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
338
- Seconds: DB.EnumCase<null>;
339
- Minutes: DB.EnumCase<null>;
340
- Hours: DB.EnumCase<null>;
341
- Days: DB.EnumCase<null>;
342
- Weeks: DB.EnumCase<null>;
343
- Months: DB.EnumCase<null>;
344
- Years: DB.EnumCase<null>;
345
- Decades: DB.EnumCase<null>;
346
- Centuries: DB.EnumCase<null>;
347
- Actions: DB.EnumCase<null>;
348
- CombatRounds: DB.EnumCase<null>;
349
- }, []>>, true>;
350
- }>, []>>, true>;
351
- translations: DB.MemberDecl<DB.NestedEntityMap<"SustainedCostMapTranslation", {
352
- listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
353
- full: DB.MemberDecl<DB.String, true>;
354
- compressed: DB.MemberDecl<DB.String, false>;
355
- }>, []>>, false>;
356
- listSuffix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
357
- full: DB.MemberDecl<DB.String, true>;
358
- compressed: DB.MemberDecl<DB.String, false>;
359
- }>, []>>, false>;
360
- replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
361
- full: DB.MemberDecl<DB.String, true>;
362
- compressed: DB.MemberDecl<DB.String, false>;
364
+ per: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableSustainedCostPerCountable", DB.Object<{
365
+ minimum_total: DB.MemberDecl<DB.Integer, false>;
366
+ translations: DB.MemberDecl<DB.NestedEntityMap<"NonModifiableSustainedCostPerCountableTranslation", {
367
+ countable: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveText", DB.Object<{
368
+ full: DB.MemberDecl<DB.String, true>;
369
+ compressed: DB.MemberDecl<DB.String, true>;
370
+ }>, []>>, true>;
371
+ }>, true>;
363
372
  }>, []>>, false>;
364
- }>, false>;
365
- }>, []>>>;
373
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
374
+ value: DB.MemberDecl<DB.Integer, true>;
375
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
376
+ Seconds: DB.EnumCase<null>;
377
+ Minutes: DB.EnumCase<null>;
378
+ Hours: DB.EnumCase<null>;
379
+ Days: DB.EnumCase<null>;
380
+ Weeks: DB.EnumCase<null>;
381
+ Months: DB.EnumCase<null>;
382
+ Years: DB.EnumCase<null>;
383
+ Decades: DB.EnumCase<null>;
384
+ Centuries: DB.EnumCase<null>;
385
+ Actions: DB.EnumCase<null>;
386
+ CombatRounds: DB.EnumCase<null>;
387
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
388
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
389
+ name: DB.MemberDecl<DB.String, true>;
390
+ fullNumber: DB.MemberDecl<DB.String, true>;
391
+ full: DB.MemberDecl<DB.String, true>;
392
+ symbol: DB.MemberDecl<DB.String, true>;
393
+ compressedNumber: DB.MemberDecl<DB.String, true>;
394
+ compressed: DB.MemberDecl<DB.String, true>;
395
+ }>, true>;
396
+ }>, []>>>;
397
+ }, []>>, true>;
398
+ }>, []>>, true>;
399
+ }>, []>>>;
400
+ }, []>>>;
401
+ Map: DB.EnumCase<DB.IncludeIdentifier<[], DB.Enum<"SustainedCostMap", {
402
+ Modifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ModifiableSustainedCostMap", DB.Object<{
403
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
404
+ options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
405
+ value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
406
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
407
+ label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
408
+ full: DB.MemberDecl<DB.String, true>;
409
+ compressed: DB.MemberDecl<DB.String, false>;
410
+ }>, []>>, true>;
411
+ standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
412
+ full: DB.MemberDecl<DB.String, true>;
413
+ compressed: DB.MemberDecl<DB.String, false>;
414
+ }>, []>>, false>;
415
+ }>, false>;
416
+ }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
417
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
418
+ Compressed: DB.EnumCase<null>;
419
+ Verbose: DB.EnumCase<null>;
420
+ }, []>>, true>;
421
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
422
+ listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
423
+ full: DB.MemberDecl<DB.String, true>;
424
+ compressed: DB.MemberDecl<DB.String, false>;
425
+ }>, []>>, false>;
426
+ listSuffix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
427
+ full: DB.MemberDecl<DB.String, true>;
428
+ compressed: DB.MemberDecl<DB.String, false>;
429
+ }>, []>>, false>;
430
+ replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
431
+ full: DB.MemberDecl<DB.String, true>;
432
+ compressed: DB.MemberDecl<DB.String, false>;
433
+ }>, []>>, false>;
434
+ }>, false>;
435
+ }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
436
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
437
+ value: DB.MemberDecl<DB.Integer, true>;
438
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
439
+ Seconds: DB.EnumCase<null>;
440
+ Minutes: DB.EnumCase<null>;
441
+ Hours: DB.EnumCase<null>;
442
+ Days: DB.EnumCase<null>;
443
+ Weeks: DB.EnumCase<null>;
444
+ Months: DB.EnumCase<null>;
445
+ Years: DB.EnumCase<null>;
446
+ Decades: DB.EnumCase<null>;
447
+ Centuries: DB.EnumCase<null>;
448
+ Actions: DB.EnumCase<null>;
449
+ CombatRounds: DB.EnumCase<null>;
450
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
451
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
452
+ name: DB.MemberDecl<DB.String, true>;
453
+ fullNumber: DB.MemberDecl<DB.String, true>;
454
+ full: DB.MemberDecl<DB.String, true>;
455
+ symbol: DB.MemberDecl<DB.String, true>;
456
+ compressedNumber: DB.MemberDecl<DB.String, true>;
457
+ compressed: DB.MemberDecl<DB.String, true>;
458
+ }>, true>;
459
+ }>, []>>>;
460
+ }, []>>, true>;
461
+ }>, []>>, true>;
462
+ }>, []>>>;
463
+ NonModifiable: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"NonModifiableSustainedCostMap", DB.Object<{
464
+ map: DB.MemberDecl<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMap", DB.Object<{
465
+ options: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"ParameterMapOption", DB.Object<{
466
+ value: DB.MemberDecl<DB.TypeArgument<DB.Param<"Value", DB.Type>>, true>;
467
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapOptionTranslation", {
468
+ label: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
469
+ full: DB.MemberDecl<DB.String, true>;
470
+ compressed: DB.MemberDecl<DB.String, false>;
471
+ }>, []>>, true>;
472
+ standaloneLabel: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
473
+ full: DB.MemberDecl<DB.String, true>;
474
+ compressed: DB.MemberDecl<DB.String, false>;
475
+ }>, []>>, false>;
476
+ }>, false>;
477
+ }>, [Value: DB.Param<"Value", DB.Type>]>>>, true>;
478
+ style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ParameterMapStyle", {
479
+ Compressed: DB.EnumCase<null>;
480
+ Verbose: DB.EnumCase<null>;
481
+ }, []>>, true>;
482
+ translations: DB.MemberDecl<DB.NestedEntityMap<"ParameterMapTranslation", {
483
+ listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
484
+ full: DB.MemberDecl<DB.String, true>;
485
+ compressed: DB.MemberDecl<DB.String, false>;
486
+ }>, []>>, false>;
487
+ listSuffix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
488
+ full: DB.MemberDecl<DB.String, true>;
489
+ compressed: DB.MemberDecl<DB.String, false>;
490
+ }>, []>>, false>;
491
+ replacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
492
+ full: DB.MemberDecl<DB.String, true>;
493
+ compressed: DB.MemberDecl<DB.String, false>;
494
+ }>, []>>, false>;
495
+ }>, false>;
496
+ }>, [Value: DB.Param<"Value", DB.Type>]>>, true>;
497
+ interval: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"DurationUnitValue", DB.Object<{
498
+ value: DB.MemberDecl<DB.Integer, true>;
499
+ unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
500
+ Seconds: DB.EnumCase<null>;
501
+ Minutes: DB.EnumCase<null>;
502
+ Hours: DB.EnumCase<null>;
503
+ Days: DB.EnumCase<null>;
504
+ Weeks: DB.EnumCase<null>;
505
+ Months: DB.EnumCase<null>;
506
+ Years: DB.EnumCase<null>;
507
+ Decades: DB.EnumCase<null>;
508
+ Centuries: DB.EnumCase<null>;
509
+ Actions: DB.EnumCase<null>;
510
+ CombatRounds: DB.EnumCase<null>;
511
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
512
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
513
+ name: DB.MemberDecl<DB.String, true>;
514
+ fullNumber: DB.MemberDecl<DB.String, true>;
515
+ full: DB.MemberDecl<DB.String, true>;
516
+ symbol: DB.MemberDecl<DB.String, true>;
517
+ compressedNumber: DB.MemberDecl<DB.String, true>;
518
+ compressed: DB.MemberDecl<DB.String, true>;
519
+ }>, true>;
520
+ }>, []>>>;
521
+ }, []>>, true>;
522
+ }>, []>>, true>;
523
+ }>, []>>>;
524
+ }, []>>>;
366
525
  }, []>>, true>;
367
526
  range: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Range", DB.Object<{
368
527
  value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"RangeValue", {
@@ -411,6 +570,16 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
411
570
  Centuries: DB.EnumCase<null>;
412
571
  Actions: DB.EnumCase<null>;
413
572
  CombatRounds: DB.EnumCase<null>;
573
+ Custom: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"CustomDurationUnit", DB.Object<{
574
+ translations: DB.MemberDecl<DB.NestedEntityMap<"CustomDurationUnitTranslation", {
575
+ name: DB.MemberDecl<DB.String, true>;
576
+ fullNumber: DB.MemberDecl<DB.String, true>;
577
+ full: DB.MemberDecl<DB.String, true>;
578
+ symbol: DB.MemberDecl<DB.String, true>;
579
+ compressedNumber: DB.MemberDecl<DB.String, true>;
580
+ compressed: DB.MemberDecl<DB.String, true>;
581
+ }>, true>;
582
+ }>, []>>>;
414
583
  }, []>>, true>;
415
584
  }>, []>>, true>;
416
585
  }>, []>>, false>;