@optolith/database-schema 0.77.1 → 0.79.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +34 -0
- package/gen/types.d.ts +217 -3
- package/lib/cache/activatableSelectOptions.d.ts +2 -2
- package/lib/cache/activatableSelectOptions.js +2 -58
- package/lib/types/Advantage.d.ts +29 -0
- package/lib/types/Advantage.js +2 -1
- package/lib/types/Culture.d.ts +1 -0
- package/lib/types/Culture.js +5 -1
- package/lib/types/Disadvantage.d.ts +29 -0
- package/lib/types/Disadvantage.js +2 -1
- package/lib/types/Locale.d.ts +10 -0
- package/lib/types/Locale.js +11 -0
- package/lib/types/Profession.d.ts +178 -154
- package/lib/types/Profession.js +40 -1
- package/lib/types/Race.d.ts +1 -0
- package/lib/types/Race.js +10 -0
- package/lib/types/_ActivatableSelectOptions.d.ts +939 -0
- package/lib/types/_ActivatableSelectOptions.js +178 -117
- package/lib/types/equipment/item/EquipmentCategory.d.ts +15 -0
- package/lib/types/equipment/item/EquipmentCategory.js +5 -0
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +9 -0
- package/lib/types/equipment/item/IlluminationLightSource.js +1 -1
- package/lib/types/equipment/item/Item.d.ts +9 -0
- package/lib/types/equipment/item/Item.js +6 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +2 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +2 -1
- package/lib/types/specialAbility/AncestorGlyph.d.ts +29 -0
- package/lib/types/specialAbility/AncestorGlyph.js +2 -1
- package/lib/types/specialAbility/BlessedTradition.d.ts +29 -0
- package/lib/types/specialAbility/BlessedTradition.js +2 -1
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CombatSpecialAbility.js +2 -1
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +3 -2
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/CommandSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +2 -1
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.js +2 -1
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.js +2 -1
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.js +2 -1
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/LycantropicGift.d.ts +29 -0
- package/lib/types/specialAbility/LycantropicGift.js +2 -1
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.js +2 -1
- package/lib/types/specialAbility/MagicalTradition.d.ts +29 -0
- package/lib/types/specialAbility/MagicalTradition.js +2 -1
- package/lib/types/specialAbility/PactGift.d.ts +29 -0
- package/lib/types/specialAbility/PactGift.js +2 -1
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/Sermon.d.ts +29 -0
- package/lib/types/specialAbility/Sermon.js +2 -1
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/SexSpecialAbility.js +2 -1
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +2 -1
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +29 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/VampiricGift.d.ts +29 -0
- package/lib/types/specialAbility/VampiricGift.js +2 -1
- package/lib/types/specialAbility/Vision.d.ts +29 -0
- package/lib/types/specialAbility/Vision.js +2 -1
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/AttireEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Beutelzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Beutelzauber.js +2 -34
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/BowlEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/CauldronEnchantment.js +5 -36
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/ChronicleEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1 -1499
- package/lib/types/traditionArtifacts/DaggerRitual.js +5 -34
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Haubenzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Haubenzauber.js +2 -34
- package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +1 -464
- package/lib/types/traditionArtifacts/Hauerkettenzauber.js +2 -31
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/InstrumentEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Keulenzauber.d.ts +1 -464
- package/lib/types/traditionArtifacts/Keulenzauber.js +2 -31
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Krallenkettenzauber.js +2 -34
- package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Kristallkugelzauber.js +2 -34
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/OrbEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/RingEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +1 -464
- package/lib/types/traditionArtifacts/Schweinetrommelzauber.js +2 -31
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +1 -1493
- package/lib/types/traditionArtifacts/SickleRitual.js +2 -34
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/StaffEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/ToyEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1 -1493
- package/lib/types/traditionArtifacts/Trinkhornzauber.js +2 -34
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1 -1455
- package/lib/types/traditionArtifacts/WandEnchantment.js +3 -33
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1 -1493
- package/lib/types/traditionArtifacts/WeaponEnchantment.js +2 -34
- package/lib/types/traditionArtifacts/_shared.d.ts +10 -0
- package/lib/types/traditionArtifacts/_shared.js +40 -3
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,40 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [0.79.0](https://github.com/Optolith/database-schema/compare/v0.78.0...v0.79.0) (2026-10-05)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* burning time option for generic items
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* base for select option rules ([5df53d3](https://github.com/Optolith/database-schema/commit/5df53d3448d5c279c9a062b8c68cc4e5ee9cbfdb))
|
|
14
|
+
* burning time option for generic items ([7feb7ff](https://github.com/Optolith/database-schema/commit/7feb7ffb449724433c7f7012369c837d5b8f6688))
|
|
15
|
+
|
|
16
|
+
## [0.78.0](https://github.com/Optolith/database-schema/compare/v0.77.1...v0.78.0) (2026-10-05)
|
|
17
|
+
|
|
18
|
+
### ⚠ BREAKING CHANGES
|
|
19
|
+
|
|
20
|
+
* generalize special ability option selection for professions
|
|
21
|
+
* languages option with optional scripts inclusion
|
|
22
|
+
* missing magical action category translations
|
|
23
|
+
* some plant translations
|
|
24
|
+
* translation for empty profession variants
|
|
25
|
+
|
|
26
|
+
### Features
|
|
27
|
+
|
|
28
|
+
* generalize special ability option selection for professions ([ef7d2c9](https://github.com/Optolith/database-schema/commit/ef7d2c9903f987720f173815e5454fdfa06b3a84))
|
|
29
|
+
* languages option with optional scripts inclusion ([31862d3](https://github.com/Optolith/database-schema/commit/31862d38d0027dae845f8b69218395c4307bf59d))
|
|
30
|
+
* optional different race and culture names within prerequisites ([5025e80](https://github.com/Optolith/database-schema/commit/5025e80131e41ad68aca9e51881f5ee08c23dad1))
|
|
31
|
+
* prepare activatable options validation ([d0c7e87](https://github.com/Optolith/database-schema/commit/d0c7e87e3ae9aac67aa4259e63ce8c9c51e1fb3e))
|
|
32
|
+
* some plant translations ([8f3fa6b](https://github.com/Optolith/database-schema/commit/8f3fa6ba1b569b9bcd3b355d01fd86c9fe287478))
|
|
33
|
+
|
|
34
|
+
### Bug Fixes
|
|
35
|
+
|
|
36
|
+
* missing magical action category translations ([510d11b](https://github.com/Optolith/database-schema/commit/510d11bd9e98d478ec3e4ab37627496b3c8deec9))
|
|
37
|
+
* translation for empty profession variants ([8f63b30](https://github.com/Optolith/database-schema/commit/8f63b30e14508ee0f900626bdefafed1b2657078))
|
|
38
|
+
|
|
5
39
|
## [0.77.1](https://github.com/Optolith/database-schema/compare/v0.77.0...v0.77.1) (2026-10-03)
|
|
6
40
|
|
|
7
41
|
### Features
|
package/gen/types.d.ts
CHANGED
|
@@ -277,6 +277,7 @@ export type EnumMap = {
|
|
|
277
277
|
CastingTime: CastingTime<unknown>
|
|
278
278
|
CastingTimeDuringLovemakingUnit: CastingTimeDuringLovemakingUnit
|
|
279
279
|
CheckResultArithmetic: CheckResultArithmetic
|
|
280
|
+
ChildEntityForSelectOption: ChildEntityForSelectOption
|
|
280
281
|
CollectorsValue: CollectorsValue
|
|
281
282
|
CombatAnimalPowerType: CombatAnimalPowerType
|
|
282
283
|
CombatRelatedSpecialAbilityIdentifier: CombatRelatedSpecialAbilityIdentifier
|
|
@@ -413,6 +414,7 @@ export type EnumMap = {
|
|
|
413
414
|
ProfessionPrerequisiteGroup: ProfessionPrerequisiteGroup
|
|
414
415
|
ProfessionSpecialAbility: ProfessionSpecialAbility
|
|
415
416
|
ProfessionSpecialAbilityIdentifier: ProfessionSpecialAbilityIdentifier
|
|
417
|
+
ProfessionSpecialAbilityOption: ProfessionSpecialAbilityOption
|
|
416
418
|
PropertyDeclaration: PropertyDeclaration
|
|
417
419
|
PublicationCategory: PublicationCategory
|
|
418
420
|
PublicationPrerequisiteGroup: PublicationPrerequisiteGroup
|
|
@@ -437,6 +439,8 @@ export type EnumMap = {
|
|
|
437
439
|
RulePrerequisiteGroup: RulePrerequisiteGroup
|
|
438
440
|
SelectOptionCategory: SelectOptionCategory
|
|
439
441
|
SelectOptionParentIdentifier: SelectOptionParentIdentifier
|
|
442
|
+
SelectOptionRuleMultiple: SelectOptionRuleMultiple
|
|
443
|
+
SelectOptionRuleValue: SelectOptionRuleValue
|
|
440
444
|
SelectOptionsAdventurePointsValue: SelectOptionsAdventurePointsValue<unknown>
|
|
441
445
|
SelectOptionsBindingCostValue: SelectOptionsBindingCostValue<unknown>
|
|
442
446
|
SentenceType: SentenceType
|
|
@@ -570,6 +574,7 @@ export type TypeAliasMap = {
|
|
|
570
574
|
Cause: Cause
|
|
571
575
|
CheckResultBasedModifier: CheckResultBasedModifier
|
|
572
576
|
ChildNode: ChildNode
|
|
577
|
+
ChildSelectOptionRuleValue: ChildSelectOptionRuleValue
|
|
573
578
|
ChurchBlessedTradition: ChurchBlessedTradition
|
|
574
579
|
CloseCombatTechniqueSpecialRules: CloseCombatTechniqueSpecialRules
|
|
575
580
|
CombatAnimalPower: CombatAnimalPower
|
|
@@ -826,6 +831,7 @@ export type TypeAliasMap = {
|
|
|
826
831
|
PlantPoison: PlantPoison
|
|
827
832
|
PoisonRecipe: PoisonRecipe
|
|
828
833
|
Preconditions: Preconditions
|
|
834
|
+
PredefinedOrTextInputSelectOptionRuleValue: PredefinedOrTextInputSelectOptionRuleValue
|
|
829
835
|
PrerequisiteForLevel: PrerequisiteForLevel<unknown>
|
|
830
836
|
PrerequisiteGroup: PrerequisiteGroup<unknown>
|
|
831
837
|
PrerequisitesDisjunction: PrerequisitesDisjunction<unknown>
|
|
@@ -840,6 +846,7 @@ export type TypeAliasMap = {
|
|
|
840
846
|
ProfessionPrerequisite: ProfessionPrerequisite
|
|
841
847
|
ProfessionPrerequisites: ProfessionPrerequisites
|
|
842
848
|
ProfessionSpecialAbilitySelection: ProfessionSpecialAbilitySelection
|
|
849
|
+
ProfessionSpecialAbilitySelectionItem: ProfessionSpecialAbilitySelectionItem
|
|
843
850
|
ProfessionSpellworkIdentifier: ProfessionSpellworkIdentifier
|
|
844
851
|
ProfessionVariantPackageOptions: ProfessionVariantPackageOptions
|
|
845
852
|
ProfessionVariantPrerequisites: ProfessionVariantPrerequisites
|
|
@@ -892,6 +899,8 @@ export type TypeAliasMap = {
|
|
|
892
899
|
RulePrerequisites: RulePrerequisites
|
|
893
900
|
SecondaryArmor: SecondaryArmor
|
|
894
901
|
SelectableAttributeAdjustment: SelectableAttributeAdjustment
|
|
902
|
+
SelectOptionRule: SelectOptionRule
|
|
903
|
+
SelectOptionRules: SelectOptionRules
|
|
895
904
|
SelectOptions: SelectOptions
|
|
896
905
|
SelectOptionsDeriveAdventurePointsValueFromImprovementCost: SelectOptionsDeriveAdventurePointsValueFromImprovementCost
|
|
897
906
|
SelectOptionsFixedAdventurePointsValue: SelectOptionsFixedAdventurePointsValue<unknown>
|
|
@@ -958,6 +967,7 @@ export type TypeAliasMap = {
|
|
|
958
967
|
TalismanMeleeWeapon: TalismanMeleeWeapon
|
|
959
968
|
TalismanRangedWeapon: TalismanRangedWeapon
|
|
960
969
|
TargetCategoriesSelectOptionCategory: TargetCategoriesSelectOptionCategory
|
|
970
|
+
TextInputSelectOptionRuleValue: TextInputSelectOptionRuleValue
|
|
961
971
|
TextNode: TextNode
|
|
962
972
|
TextPrerequisite: TextPrerequisite
|
|
963
973
|
TinyActivatablePrerequisite: TinyActivatablePrerequisite
|
|
@@ -1153,6 +1163,11 @@ export interface SelectOptions {
|
|
|
1153
1163
|
* An entry category with optional further configuration. All available entries from the specified categories will be included as separate select options. You can also specify a set of groups that should only be included. Groups not mentioned will be excluded then.
|
|
1154
1164
|
*/
|
|
1155
1165
|
derived?: SelectOptionCategory
|
|
1166
|
+
|
|
1167
|
+
/**
|
|
1168
|
+
* Rules for how options can be selected and relate to each other. Defaults to a single predefined option if the entry has select options defined, otherwise undefined.
|
|
1169
|
+
*/
|
|
1170
|
+
rules?: SelectOptionRules
|
|
1156
1171
|
}
|
|
1157
1172
|
|
|
1158
1173
|
export type SelectOptionCategory =
|
|
@@ -2026,6 +2041,9 @@ export interface Locale {
|
|
|
2026
2041
|
"Animist Powers": string
|
|
2027
2042
|
"Geode Rituals": string
|
|
2028
2043
|
"Zibilja Rituals": string
|
|
2044
|
+
"Bannzeichen": string
|
|
2045
|
+
"Goblin Rituals": string
|
|
2046
|
+
"Magical Runes": string
|
|
2029
2047
|
"Mod": string
|
|
2030
2048
|
"Check Modifier": string
|
|
2031
2049
|
"spells.traditions.general": string
|
|
@@ -2697,6 +2715,10 @@ export interface Locale {
|
|
|
2697
2715
|
".input {$count :number} {{check required every {$count}. application in the same month}}": string & { __params: { "count": number } }
|
|
2698
2716
|
"see {$link}": string & { __params: { "link": string } }
|
|
2699
2717
|
"CoD": string
|
|
2718
|
+
"Search Difficulty": string
|
|
2719
|
+
"Identification Difficulty": string
|
|
2720
|
+
"Plant Applications": string
|
|
2721
|
+
"Remedies and Traditions": string
|
|
2700
2722
|
"Romance Novel": string
|
|
2701
2723
|
"Poetry": string
|
|
2702
2724
|
"Political Pamphlet": string
|
|
@@ -2789,6 +2811,8 @@ export interface Locale {
|
|
|
2789
2811
|
"Variants": string
|
|
2790
2812
|
"Languages and Literacy totaling {$apValue} AP": string & { __params: { "apValue": string } }
|
|
2791
2813
|
"no Languages and Literacy totaling {$apValue} AP": string & { __params: { "apValue": string } }
|
|
2814
|
+
"Languages totaling {$apValue} AP": string & { __params: { "apValue": string } }
|
|
2815
|
+
"no Languages totaling {$apValue} AP": string & { __params: { "apValue": string } }
|
|
2792
2816
|
"Skill Specialization {$possibleSkills}": string & { __params: { "possibleSkills": string } }
|
|
2793
2817
|
"no Skill Specialization {$possibleSkills}": string & { __params: { "possibleSkills": string } }
|
|
2794
2818
|
"Skill Specialization for a {$skillOfGroup}": string & { __params: { "skillOfGroup": string } }
|
|
@@ -2815,6 +2839,7 @@ export interface Locale {
|
|
|
2815
2839
|
"except for {$list :list type=conjunction}": string & { __params: { "list": string[] } }
|
|
2816
2840
|
"depends on selected tradition": string
|
|
2817
2841
|
"Additional Prerequisites": string
|
|
2842
|
+
"no changes": string
|
|
2818
2843
|
"Enhancements": string
|
|
2819
2844
|
"SR {$value}": string & { __params: { "value": string } }
|
|
2820
2845
|
".input {$hiddenCount :number} {{Prerequisites}}": string & { __params: { "hiddenCount": number } }
|
|
@@ -4679,6 +4704,11 @@ export interface RaceTranslation {
|
|
|
4679
4704
|
*/
|
|
4680
4705
|
name: string
|
|
4681
4706
|
|
|
4707
|
+
/**
|
|
4708
|
+
* The race’s name in prerequisites, if different from the normal race’s name.
|
|
4709
|
+
*/
|
|
4710
|
+
nameInPrerequisites?: string
|
|
4711
|
+
|
|
4682
4712
|
/**
|
|
4683
4713
|
* The label for hair colors if it is not a hair color in that sense: Some races may have different labels for hair color such as scale color.
|
|
4684
4714
|
*/
|
|
@@ -9761,10 +9791,15 @@ export type Culture_ID = string
|
|
|
9761
9791
|
|
|
9762
9792
|
export interface CultureTranslation {
|
|
9763
9793
|
/**
|
|
9764
|
-
* The
|
|
9794
|
+
* The culture’s name.
|
|
9765
9795
|
*/
|
|
9766
9796
|
name: string
|
|
9767
9797
|
|
|
9798
|
+
/**
|
|
9799
|
+
* The culture’s name in prerequisites, if different from the normal culture’s name.
|
|
9800
|
+
*/
|
|
9801
|
+
nameInPrerequisites?: string
|
|
9802
|
+
|
|
9768
9803
|
/**
|
|
9769
9804
|
* The description of the area knowledge.
|
|
9770
9805
|
*/
|
|
@@ -10161,6 +10196,11 @@ export interface SpecificSkillSpecializationOptions {
|
|
|
10161
10196
|
* Buy languages and scripts for a specific amount of AP.
|
|
10162
10197
|
*/
|
|
10163
10198
|
export interface LanguagesScriptsOptions {
|
|
10199
|
+
/**
|
|
10200
|
+
* If scripts are included in the selection.
|
|
10201
|
+
*/
|
|
10202
|
+
includeScripts: boolean
|
|
10203
|
+
|
|
10164
10204
|
/**
|
|
10165
10205
|
* The AP value you can buy languages and scripts for.
|
|
10166
10206
|
*/
|
|
@@ -10517,7 +10557,7 @@ export interface ConstantProfessionSpecialAbility {
|
|
|
10517
10557
|
/**
|
|
10518
10558
|
* Received select options. Order is important. Typically, you only need the first array index, though.
|
|
10519
10559
|
*/
|
|
10520
|
-
options?:
|
|
10560
|
+
options?: ProfessionSpecialAbilityOption[]
|
|
10521
10561
|
}
|
|
10522
10562
|
|
|
10523
10563
|
export type ProfessionSpecialAbilityIdentifier =
|
|
@@ -15056,6 +15096,13 @@ export interface Hauerkettenzauber {
|
|
|
15056
15096
|
*/
|
|
15057
15097
|
nameBuilderRules?: ActivatableNameBuilderRules
|
|
15058
15098
|
|
|
15099
|
+
/**
|
|
15100
|
+
* Definitions for possible options for the activatable entry, derived from entry categories.
|
|
15101
|
+
*
|
|
15102
|
+
* Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
|
|
15103
|
+
*/
|
|
15104
|
+
select_options?: SelectOptions
|
|
15105
|
+
|
|
15059
15106
|
/**
|
|
15060
15107
|
* The number stating how often you can buy the entry. The **default** depends on the entry type:
|
|
15061
15108
|
*
|
|
@@ -15380,6 +15427,13 @@ export interface Keulenzauber {
|
|
|
15380
15427
|
*/
|
|
15381
15428
|
nameBuilderRules?: ActivatableNameBuilderRules
|
|
15382
15429
|
|
|
15430
|
+
/**
|
|
15431
|
+
* Definitions for possible options for the activatable entry, derived from entry categories.
|
|
15432
|
+
*
|
|
15433
|
+
* Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
|
|
15434
|
+
*/
|
|
15435
|
+
select_options?: SelectOptions
|
|
15436
|
+
|
|
15383
15437
|
/**
|
|
15384
15438
|
* The number stating how often you can buy the entry. The **default** depends on the entry type:
|
|
15385
15439
|
*
|
|
@@ -16794,6 +16848,13 @@ export interface Schweinetrommelzauber {
|
|
|
16794
16848
|
*/
|
|
16795
16849
|
nameBuilderRules?: ActivatableNameBuilderRules
|
|
16796
16850
|
|
|
16851
|
+
/**
|
|
16852
|
+
* Definitions for possible options for the activatable entry, derived from entry categories.
|
|
16853
|
+
*
|
|
16854
|
+
* Note that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.
|
|
16855
|
+
*/
|
|
16856
|
+
select_options?: SelectOptions
|
|
16857
|
+
|
|
16797
16858
|
/**
|
|
16798
16859
|
* The number stating how often you can buy the entry. The **default** depends on the entry type:
|
|
16799
16860
|
*
|
|
@@ -18280,11 +18341,37 @@ export interface WeaponEnchantmentTranslation {
|
|
|
18280
18341
|
errata?: Errata
|
|
18281
18342
|
}
|
|
18282
18343
|
|
|
18344
|
+
export type ProfessionSpecialAbilityOption =
|
|
18345
|
+
| {
|
|
18346
|
+
kind: "Identifier"
|
|
18347
|
+
Identifier: RequirableSelectOptionIdentifier
|
|
18348
|
+
}
|
|
18349
|
+
| {
|
|
18350
|
+
kind: "Select"
|
|
18351
|
+
}
|
|
18352
|
+
|
|
18283
18353
|
export interface ProfessionSpecialAbilitySelection {
|
|
18284
18354
|
/**
|
|
18285
18355
|
* The list of special abilities to choose from. Must contain at least two entries.
|
|
18286
18356
|
*/
|
|
18287
|
-
options:
|
|
18357
|
+
options: ProfessionSpecialAbilitySelectionItem[]
|
|
18358
|
+
}
|
|
18359
|
+
|
|
18360
|
+
export interface ProfessionSpecialAbilitySelectionItem {
|
|
18361
|
+
/**
|
|
18362
|
+
* The identifier of the special ability to grant.
|
|
18363
|
+
*/
|
|
18364
|
+
id: ProfessionSpecialAbilityIdentifier
|
|
18365
|
+
|
|
18366
|
+
/**
|
|
18367
|
+
* The level of the received special ability. If not specified and the special ability has levels, level 1 is used automatically.
|
|
18368
|
+
*/
|
|
18369
|
+
level?: number
|
|
18370
|
+
|
|
18371
|
+
/**
|
|
18372
|
+
* Received select options. Order is important. Typically, you only need the first array index, though.
|
|
18373
|
+
*/
|
|
18374
|
+
options?: RequirableSelectOptionIdentifier[]
|
|
18288
18375
|
}
|
|
18289
18376
|
|
|
18290
18377
|
export interface CombatTechniqueRating {
|
|
@@ -22413,6 +22500,123 @@ export type AdvantageDisadvantagePrerequisiteGroup =
|
|
|
22413
22500
|
PersonalityTrait: PersonalityTraitPrerequisite
|
|
22414
22501
|
}
|
|
22415
22502
|
|
|
22503
|
+
/**
|
|
22504
|
+
* Rules for how options can be selected and relate to each other. Defaults to a single predefined option if the entry has select options defined, otherwise undefined.
|
|
22505
|
+
*/
|
|
22506
|
+
export type SelectOptionRules = SelectOptionRule[]
|
|
22507
|
+
|
|
22508
|
+
/**
|
|
22509
|
+
* A rule for how options can be selected and relate to each other.
|
|
22510
|
+
*/
|
|
22511
|
+
export interface SelectOptionRule {
|
|
22512
|
+
/**
|
|
22513
|
+
* The value of the rule.
|
|
22514
|
+
*/
|
|
22515
|
+
value: SelectOptionRuleValue
|
|
22516
|
+
|
|
22517
|
+
/**
|
|
22518
|
+
* Sometimes, multiple options from a single list have to or can be chosen.
|
|
22519
|
+
*/
|
|
22520
|
+
multiple?: SelectOptionRuleMultiple
|
|
22521
|
+
}
|
|
22522
|
+
|
|
22523
|
+
/**
|
|
22524
|
+
* The possible values for select option rules.
|
|
22525
|
+
*/
|
|
22526
|
+
export type SelectOptionRuleValue =
|
|
22527
|
+
| {
|
|
22528
|
+
kind: "Predefined"
|
|
22529
|
+
}
|
|
22530
|
+
| {
|
|
22531
|
+
kind: "PredefinedOrTextInput"
|
|
22532
|
+
PredefinedOrTextInput: PredefinedOrTextInputSelectOptionRuleValue
|
|
22533
|
+
}
|
|
22534
|
+
| {
|
|
22535
|
+
kind: "Child"
|
|
22536
|
+
Child: ChildSelectOptionRuleValue
|
|
22537
|
+
}
|
|
22538
|
+
| {
|
|
22539
|
+
kind: "TextInput"
|
|
22540
|
+
TextInput: TextInputSelectOptionRuleValue
|
|
22541
|
+
}
|
|
22542
|
+
|
|
22543
|
+
export interface PredefinedOrTextInputSelectOptionRuleValue {
|
|
22544
|
+
/**
|
|
22545
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
22546
|
+
*/
|
|
22547
|
+
translations: {
|
|
22548
|
+
[localeId: string]: PredefinedOrTextInputSelectOptionRuleValueTranslation
|
|
22549
|
+
}
|
|
22550
|
+
}
|
|
22551
|
+
|
|
22552
|
+
export interface PredefinedOrTextInputSelectOptionRuleValueTranslation {
|
|
22553
|
+
/**
|
|
22554
|
+
* The label for the text input field.
|
|
22555
|
+
*/
|
|
22556
|
+
inputLabel: string
|
|
22557
|
+
|
|
22558
|
+
/**
|
|
22559
|
+
* The label for the extra option in the list of select options that unlocks the text input field.
|
|
22560
|
+
*/
|
|
22561
|
+
optionLabel: string
|
|
22562
|
+
}
|
|
22563
|
+
|
|
22564
|
+
export interface ChildSelectOptionRuleValue {
|
|
22565
|
+
/**
|
|
22566
|
+
* The index of the parent select option in the list of selected options.
|
|
22567
|
+
*/
|
|
22568
|
+
parentIndex: number
|
|
22569
|
+
|
|
22570
|
+
/**
|
|
22571
|
+
* The entity you can choose from.
|
|
22572
|
+
*/
|
|
22573
|
+
entity: ChildEntityForSelectOption
|
|
22574
|
+
}
|
|
22575
|
+
|
|
22576
|
+
/**
|
|
22577
|
+
* The possible child entities for select options.
|
|
22578
|
+
*/
|
|
22579
|
+
export type ChildEntityForSelectOption =
|
|
22580
|
+
| {
|
|
22581
|
+
kind: "SkillApplication"
|
|
22582
|
+
}
|
|
22583
|
+
|
|
22584
|
+
export interface TextInputSelectOptionRuleValue {
|
|
22585
|
+
/**
|
|
22586
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
22587
|
+
*/
|
|
22588
|
+
translations: {
|
|
22589
|
+
[localeId: string]: TextInputSelectOptionRuleValueTranslation
|
|
22590
|
+
}
|
|
22591
|
+
}
|
|
22592
|
+
|
|
22593
|
+
export interface TextInputSelectOptionRuleValueTranslation {
|
|
22594
|
+
/**
|
|
22595
|
+
* The label for the text input field.
|
|
22596
|
+
*/
|
|
22597
|
+
inputLabel: string
|
|
22598
|
+
}
|
|
22599
|
+
|
|
22600
|
+
export type SelectOptionRuleMultiple =
|
|
22601
|
+
| {
|
|
22602
|
+
kind: "Constant"
|
|
22603
|
+
Constant: number
|
|
22604
|
+
}
|
|
22605
|
+
| {
|
|
22606
|
+
kind: "Range"
|
|
22607
|
+
Range: {
|
|
22608
|
+
/**
|
|
22609
|
+
* The minimum number of options that need to be selected. If left empty it defaults to 1.
|
|
22610
|
+
*/
|
|
22611
|
+
min?: number
|
|
22612
|
+
|
|
22613
|
+
/**
|
|
22614
|
+
* The maximum number of options that need to be selected.
|
|
22615
|
+
*/
|
|
22616
|
+
max: number
|
|
22617
|
+
}
|
|
22618
|
+
}
|
|
22619
|
+
|
|
22416
22620
|
export interface AlternativeRule {
|
|
22417
22621
|
/**
|
|
22418
22622
|
* The player types this alternative rule is suitable for.
|
|
@@ -24301,6 +24505,11 @@ export interface DefaultEquipmentCategoryTypeRules {
|
|
|
24301
24505
|
* Presence of complexity to certain groups for items in this category.
|
|
24302
24506
|
*/
|
|
24303
24507
|
complexity: ValueRule
|
|
24508
|
+
|
|
24509
|
+
/**
|
|
24510
|
+
* Presence of burning time to certain groups for items in this category.
|
|
24511
|
+
*/
|
|
24512
|
+
burningTime: ValueRule
|
|
24304
24513
|
}
|
|
24305
24514
|
|
|
24306
24515
|
/**
|
|
@@ -26285,6 +26494,11 @@ export interface Item {
|
|
|
26285
26494
|
*/
|
|
26286
26495
|
structurePoints: StructurePoints
|
|
26287
26496
|
|
|
26497
|
+
/**
|
|
26498
|
+
* The burning time is the time how long the light source can be lit. After that time you have to use a new light source.
|
|
26499
|
+
*/
|
|
26500
|
+
burningTime?: BurningTime
|
|
26501
|
+
|
|
26288
26502
|
/**
|
|
26289
26503
|
* A list of stat blocks for each close combat technique this weapon can be used with.
|
|
26290
26504
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Case } from "tsondb/schema/gen";
|
|
2
|
-
import type { ActivatableIdentifier, GeneralSelectOption, RequirableSelectOptionIdentifier, TradeSecretAdventurePointsValue } from "../../gen/types.js";
|
|
2
|
+
import type { ActivatableIdentifier as ActivatableIdentifierType, GeneralSelectOption, RequirableSelectOptionIdentifier, TradeSecretAdventurePointsValue } from "../../gen/types.js";
|
|
3
3
|
import type { CacheBuilder } from "./internal.ts";
|
|
4
4
|
import type { ResolvedNewSkillApplication, ResolvedSkillUse } from "./newApplicationsAndUses.ts";
|
|
5
5
|
export type ResolvedSelectOptionIdentifier = RequirableSelectOptionIdentifier | Case<"Blessing" | "Cantrip" | "Script" | "Culture" | "SexPractice" | "HomunculusType" | "BlessedTradition" | "Disease" | "Poison" | "TargetCategory", string>;
|
|
@@ -12,7 +12,7 @@ export type ResolvedSelectOption = {
|
|
|
12
12
|
newApplications: ResolvedNewSkillApplication[];
|
|
13
13
|
uses: ResolvedSkillUse[];
|
|
14
14
|
};
|
|
15
|
-
export type ActivatableSelectOptionsCache = Record<
|
|
15
|
+
export type ActivatableSelectOptionsCache = Record<ActivatableIdentifierType["kind"], {
|
|
16
16
|
[id: string]: ResolvedSelectOption[];
|
|
17
17
|
}>;
|
|
18
18
|
export declare const activatableSelectOptionsCacheBuilder: CacheBuilder<ActivatableSelectOptionsCache>;
|
|
@@ -4,6 +4,7 @@ import { mapObject } from "@elyukai/utils/object";
|
|
|
4
4
|
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
|
+
import { ActivatableIdentifier } from "../types/_IdentifierGroup.js";
|
|
7
8
|
const wrapPlainApValue = (apValue) => apValue === undefined ? undefined : Case("Fixed", apValue);
|
|
8
9
|
const matchesSpecificSkillishIdList = (config, matches) => {
|
|
9
10
|
const isInList = config.list.some(matches);
|
|
@@ -758,64 +759,7 @@ const getSelectOptionsForResults = (database, entity, results) => results.reduce
|
|
|
758
759
|
}
|
|
759
760
|
return acc;
|
|
760
761
|
}, {});
|
|
761
|
-
const cacheKeyBase =
|
|
762
|
-
Advantage: null,
|
|
763
|
-
Disadvantage: null,
|
|
764
|
-
AdvancedCombatSpecialAbility: null,
|
|
765
|
-
AdvancedKarmaSpecialAbility: null,
|
|
766
|
-
AdvancedMagicalSpecialAbility: null,
|
|
767
|
-
AdvancedSkillSpecialAbility: null,
|
|
768
|
-
AncestorGlyph: null,
|
|
769
|
-
ArcaneOrbEnchantment: null,
|
|
770
|
-
AttireEnchantment: null,
|
|
771
|
-
Beutelzauber: null,
|
|
772
|
-
BlessedTradition: null,
|
|
773
|
-
BowlEnchantment: null,
|
|
774
|
-
BrawlingSpecialAbility: null,
|
|
775
|
-
CauldronEnchantment: null,
|
|
776
|
-
CeremonialItemSpecialAbility: null,
|
|
777
|
-
ChronicleEnchantment: null,
|
|
778
|
-
CombatSpecialAbility: null,
|
|
779
|
-
CombatStyleSpecialAbility: null,
|
|
780
|
-
CommandSpecialAbility: null,
|
|
781
|
-
DaggerRitual: null,
|
|
782
|
-
FamiliarSpecialAbility: null,
|
|
783
|
-
FatePointSexSpecialAbility: null,
|
|
784
|
-
FatePointSpecialAbility: null,
|
|
785
|
-
FoolsHatEnchantment: null,
|
|
786
|
-
GeneralSpecialAbility: null,
|
|
787
|
-
Haubenzauber: null,
|
|
788
|
-
Hauerkettenzauber: null,
|
|
789
|
-
InstrumentEnchantment: null,
|
|
790
|
-
KarmaSpecialAbility: null,
|
|
791
|
-
Keulenzauber: null,
|
|
792
|
-
Krallenkettenzauber: null,
|
|
793
|
-
Kristallkugelzauber: null,
|
|
794
|
-
LiturgicalStyleSpecialAbility: null,
|
|
795
|
-
LycantropicGift: null,
|
|
796
|
-
MagicalSign: null,
|
|
797
|
-
MagicalSpecialAbility: null,
|
|
798
|
-
MagicalTradition: null,
|
|
799
|
-
MagicStyleSpecialAbility: null,
|
|
800
|
-
OrbEnchantment: null,
|
|
801
|
-
PactGift: null,
|
|
802
|
-
ProtectiveWardingCircleSpecialAbility: null,
|
|
803
|
-
RingEnchantment: null,
|
|
804
|
-
Schweinetrommelzauber: null,
|
|
805
|
-
Sermon: null,
|
|
806
|
-
SexSpecialAbility: null,
|
|
807
|
-
SickleRitual: null,
|
|
808
|
-
SikaryanDrainSpecialAbility: null,
|
|
809
|
-
SkillStyleSpecialAbility: null,
|
|
810
|
-
SpellSwordEnchantment: null,
|
|
811
|
-
StaffEnchantment: null,
|
|
812
|
-
ToyEnchantment: null,
|
|
813
|
-
Trinkhornzauber: null,
|
|
814
|
-
VampiricGift: null,
|
|
815
|
-
Vision: null,
|
|
816
|
-
WandEnchantment: null,
|
|
817
|
-
WeaponEnchantment: null,
|
|
818
|
-
};
|
|
762
|
+
const cacheKeyBase = mapObject(ActivatableIdentifier.type.value.values, () => null);
|
|
819
763
|
export const activatableSelectOptionsCacheBuilder = database => Object.fromEntries(Object.keys(cacheKeyBase).map((entity) => [
|
|
820
764
|
entity,
|
|
821
765
|
getSelectOptionsForResults(database, entity, database.getAllInstanceContainersOfEntity(entity)),
|
package/lib/types/Advantage.d.ts
CHANGED
|
@@ -851,6 +851,35 @@ export declare const Advantage: DB.Entity<"Advantage", {
|
|
|
851
851
|
}>, []>>>, true>;
|
|
852
852
|
}>, []>>>;
|
|
853
853
|
}, []>>, false>;
|
|
854
|
+
rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
|
|
855
|
+
value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
|
|
856
|
+
Predefined: DB.EnumCase<null>;
|
|
857
|
+
PredefinedOrTextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PredefinedOrTextInputSelectOptionRuleValue", DB.Object<{
|
|
858
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PredefinedOrTextInputSelectOptionRuleValueTranslation", {
|
|
859
|
+
inputLabel: DB.MemberDecl<DB.String, true>;
|
|
860
|
+
optionLabel: DB.MemberDecl<DB.String, true>;
|
|
861
|
+
}>, true>;
|
|
862
|
+
}>, []>>>;
|
|
863
|
+
Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildSelectOptionRuleValue", DB.Object<{
|
|
864
|
+
parentIndex: DB.MemberDecl<DB.Integer, true>;
|
|
865
|
+
entity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ChildEntityForSelectOption", {
|
|
866
|
+
SkillApplication: DB.EnumCase<null>;
|
|
867
|
+
}, []>>, true>;
|
|
868
|
+
}>, []>>>;
|
|
869
|
+
TextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextInputSelectOptionRuleValue", DB.Object<{
|
|
870
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"TextInputSelectOptionRuleValueTranslation", {
|
|
871
|
+
inputLabel: DB.MemberDecl<DB.String, true>;
|
|
872
|
+
}>, true>;
|
|
873
|
+
}>, []>>>;
|
|
874
|
+
}, []>>, true>;
|
|
875
|
+
multiple: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleMultiple", {
|
|
876
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
877
|
+
Range: DB.EnumCase<DB.Object<{
|
|
878
|
+
min: DB.MemberDecl<DB.Integer, false>;
|
|
879
|
+
max: DB.MemberDecl<DB.Integer, true>;
|
|
880
|
+
}>>;
|
|
881
|
+
}, []>>, false>;
|
|
882
|
+
}>, []>>>, []>>, false>;
|
|
854
883
|
}>, []>>, false>;
|
|
855
884
|
explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
|
|
856
885
|
parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
|
package/lib/types/Advantage.js
CHANGED
|
@@ -4,7 +4,7 @@ import { ap_value, ap_value_append, ap_value_l10n } from "./_ActivatableAdventur
|
|
|
4
4
|
import { automatic_entries } from "./_ActivatableAutomatic.js";
|
|
5
5
|
import { subtype } from "./_ActivatableMagical.js";
|
|
6
6
|
import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
|
|
7
|
-
import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
|
|
7
|
+
import { explicit_select_options, select_options, verifySelectOptionRules, } from "./_ActivatableSelectOptions.js";
|
|
8
8
|
import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
|
|
9
9
|
import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
|
|
10
10
|
import { NestedTranslationMap } from "./Locale.js";
|
|
@@ -58,4 +58,5 @@ export const Advantage = DB.Entity(import.meta.url, {
|
|
|
58
58
|
keyPathInEntityMapFallback: "name",
|
|
59
59
|
},
|
|
60
60
|
],
|
|
61
|
+
customConstraints: deps => verifySelectOptionRules("Advantage", deps),
|
|
61
62
|
});
|
package/lib/types/Culture.d.ts
CHANGED
|
@@ -242,6 +242,7 @@ export declare const Culture: DB.Entity<"Culture", {
|
|
|
242
242
|
}>, []>>>, []>>, true>;
|
|
243
243
|
translations: DB.MemberDecl<DB.NestedEntityMap<"CultureTranslation", {
|
|
244
244
|
name: DB.MemberDecl<DB.String, true>;
|
|
245
|
+
nameInPrerequisites: DB.MemberDecl<DB.String, false>;
|
|
245
246
|
area_knowledge: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AreaKnowledgeTranslation", DB.Object<{
|
|
246
247
|
description: DB.MemberDecl<DB.String, true>;
|
|
247
248
|
abbreviated: DB.MemberDecl<DB.String, true>;
|
package/lib/types/Culture.js
CHANGED
|
@@ -60,7 +60,11 @@ export const Culture = DB.Entity(import.meta.url, {
|
|
|
60
60
|
src,
|
|
61
61
|
translations: NestedTranslationMap(DB.Required, "Culture", DB.Object({
|
|
62
62
|
name: DB.Required({
|
|
63
|
-
comment: "The
|
|
63
|
+
comment: "The culture’s name.",
|
|
64
|
+
type: DB.String({ minLength: 1 }),
|
|
65
|
+
}),
|
|
66
|
+
nameInPrerequisites: DB.Optional({
|
|
67
|
+
comment: "The culture’s name in prerequisites, if different from the normal culture’s name.",
|
|
64
68
|
type: DB.String({ minLength: 1 }),
|
|
65
69
|
}),
|
|
66
70
|
area_knowledge: DB.Required({
|
|
@@ -851,6 +851,35 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
|
|
|
851
851
|
}>, []>>>, true>;
|
|
852
852
|
}>, []>>>;
|
|
853
853
|
}, []>>, false>;
|
|
854
|
+
rules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRules", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SelectOptionRule", DB.Object<{
|
|
855
|
+
value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleValue", {
|
|
856
|
+
Predefined: DB.EnumCase<null>;
|
|
857
|
+
PredefinedOrTextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PredefinedOrTextInputSelectOptionRuleValue", DB.Object<{
|
|
858
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PredefinedOrTextInputSelectOptionRuleValueTranslation", {
|
|
859
|
+
inputLabel: DB.MemberDecl<DB.String, true>;
|
|
860
|
+
optionLabel: DB.MemberDecl<DB.String, true>;
|
|
861
|
+
}>, true>;
|
|
862
|
+
}>, []>>>;
|
|
863
|
+
Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildSelectOptionRuleValue", DB.Object<{
|
|
864
|
+
parentIndex: DB.MemberDecl<DB.Integer, true>;
|
|
865
|
+
entity: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ChildEntityForSelectOption", {
|
|
866
|
+
SkillApplication: DB.EnumCase<null>;
|
|
867
|
+
}, []>>, true>;
|
|
868
|
+
}>, []>>>;
|
|
869
|
+
TextInput: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextInputSelectOptionRuleValue", DB.Object<{
|
|
870
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"TextInputSelectOptionRuleValueTranslation", {
|
|
871
|
+
inputLabel: DB.MemberDecl<DB.String, true>;
|
|
872
|
+
}>, true>;
|
|
873
|
+
}>, []>>>;
|
|
874
|
+
}, []>>, true>;
|
|
875
|
+
multiple: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionRuleMultiple", {
|
|
876
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
877
|
+
Range: DB.EnumCase<DB.Object<{
|
|
878
|
+
min: DB.MemberDecl<DB.Integer, false>;
|
|
879
|
+
max: DB.MemberDecl<DB.Integer, true>;
|
|
880
|
+
}>>;
|
|
881
|
+
}, []>>, false>;
|
|
882
|
+
}>, []>>>, []>>, false>;
|
|
854
883
|
}>, []>>, false>;
|
|
855
884
|
explicit_select_options: DB.MemberDecl<DB.ChildEntities<DB.Entity<"GeneralSelectOption", {
|
|
856
885
|
parent: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SelectOptionParentIdentifier", {
|
|
@@ -3,7 +3,7 @@ import { input, levels, maximum, name, name_in_library, rules } from "./_Activat
|
|
|
3
3
|
import { ap_value, ap_value_append, ap_value_l10n } from "./_ActivatableAdventurePointsValue.js";
|
|
4
4
|
import { subtype } from "./_ActivatableMagical.js";
|
|
5
5
|
import { activatableDisplayNameCustomizer, nameBuilderRules } from "./_ActivatableNames.js";
|
|
6
|
-
import { explicit_select_options, select_options } from "./_ActivatableSelectOptions.js";
|
|
6
|
+
import { explicit_select_options, select_options, verifySelectOptionRules, } from "./_ActivatableSelectOptions.js";
|
|
7
7
|
import { skill_applications, skill_uses } from "./_ActivatableSkillApplicationsAndUses.js";
|
|
8
8
|
import { AdvantageDisadvantagePrerequisites } from "./_Prerequisite.js";
|
|
9
9
|
import { NestedTranslationMap } from "./Locale.js";
|
|
@@ -59,4 +59,5 @@ export const Disadvantage = DB.Entity(import.meta.url, {
|
|
|
59
59
|
keyPathInEntityMapFallback: "name",
|
|
60
60
|
},
|
|
61
61
|
],
|
|
62
|
+
customConstraints: deps => verifySelectOptionRules("Disadvantage", deps),
|
|
62
63
|
});
|