optolith-database-schema 0.28.0 → 0.28.2
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 +16 -0
- package/gen/types.d.ts +5 -0
- package/lib/main.d.ts +1 -1
- package/lib/types/Advantage.d.ts +1055 -1053
- package/lib/types/Advantage.js +12 -12
- package/lib/types/AnimalDisease.d.ts +70 -69
- package/lib/types/AnimalDisease.js +8 -8
- package/lib/types/AnimalType.d.ts +4 -4
- package/lib/types/AnimalType.js +6 -6
- package/lib/types/ArcaneBardTradition.d.ts +23 -23
- package/lib/types/ArcaneBardTradition.js +2 -2
- package/lib/types/ArcaneDancerTradition.d.ts +23 -23
- package/lib/types/ArcaneDancerTradition.js +2 -2
- package/lib/types/Aspect.d.ts +5 -5
- package/lib/types/Aspect.js +8 -8
- package/lib/types/Attribute.d.ts +7 -7
- package/lib/types/Attribute.js +12 -12
- package/lib/types/Blessing.d.ts +79 -78
- package/lib/types/Blessing.js +43 -43
- package/lib/types/Cantrip.d.ts +98 -97
- package/lib/types/Cantrip.js +69 -69
- package/lib/types/Ceremony.d.ts +501 -499
- package/lib/types/Ceremony.js +38 -38
- package/lib/types/CombatTechnique.d.ts +113 -111
- package/lib/types/CombatTechnique.js +52 -50
- package/lib/types/Condition.d.ts +38 -37
- package/lib/types/Condition.js +12 -12
- package/lib/types/Continent.d.ts +4 -4
- package/lib/types/Continent.js +6 -6
- package/lib/types/Culture.d.ts +119 -118
- package/lib/types/Culture.js +157 -157
- package/lib/types/DerivedCharacteristic.d.ts +58 -57
- package/lib/types/DerivedCharacteristic.js +22 -22
- package/lib/types/Disadvantage.d.ts +989 -987
- package/lib/types/Disadvantage.js +14 -14
- package/lib/types/Disease.d.ts +84 -83
- package/lib/types/Disease.js +6 -6
- package/lib/types/Element.d.ts +4 -4
- package/lib/types/Element.js +6 -6
- package/lib/types/ExperienceLevel.d.ts +11 -11
- package/lib/types/ExperienceLevel.js +20 -20
- package/lib/types/EyeColor.d.ts +4 -4
- package/lib/types/EyeColor.js +6 -6
- package/lib/types/FamiliarsTrick.d.ts +141 -140
- package/lib/types/FamiliarsTrick.js +92 -88
- package/lib/types/HairColor.d.ts +4 -4
- package/lib/types/HairColor.js +6 -6
- package/lib/types/HomunculusType.d.ts +4 -4
- package/lib/types/HomunculusType.js +6 -6
- package/lib/types/Lessons.d.ts +129 -128
- package/lib/types/Lessons.js +98 -92
- package/lib/types/LiturgicalChant.d.ts +501 -499
- package/lib/types/LiturgicalChant.js +38 -38
- package/lib/types/Locale.d.ts +10 -10
- package/lib/types/Locale.js +16 -15
- package/lib/types/MetaCondition.d.ts +38 -37
- package/lib/types/MetaCondition.js +12 -12
- package/lib/types/PactCategory.d.ts +52 -51
- package/lib/types/PactCategory.js +24 -24
- package/lib/types/Patron.d.ts +74 -73
- package/lib/types/Patron.js +86 -83
- package/lib/types/PatronCategory.d.ts +5 -5
- package/lib/types/PatronCategory.js +8 -8
- package/lib/types/PersonalityTrait.d.ts +60 -59
- package/lib/types/PersonalityTrait.js +22 -22
- package/lib/types/Profession.d.ts +1835 -1833
- package/lib/types/Profession.js +259 -255
- package/lib/types/Property.d.ts +5 -5
- package/lib/types/Property.js +8 -8
- package/lib/types/Race.d.ts +156 -155
- package/lib/types/Race.js +130 -129
- package/lib/types/Region.d.ts +4 -4
- package/lib/types/Region.js +6 -6
- package/lib/types/Ritual.d.ts +503 -501
- package/lib/types/Ritual.js +37 -37
- package/lib/types/Service.d.ts +40 -39
- package/lib/types/Service.js +15 -15
- package/lib/types/SexPractice.d.ts +37 -36
- package/lib/types/SexPractice.js +14 -14
- package/lib/types/Skill.d.ts +84 -83
- package/lib/types/Skill.js +51 -51
- package/lib/types/SkillGroup.d.ts +7 -7
- package/lib/types/SkillGroup.js +12 -12
- package/lib/types/SkillModificationLevel.d.ts +22 -22
- package/lib/types/SkillModificationLevel.js +41 -41
- package/lib/types/SocialStatus.d.ts +5 -5
- package/lib/types/SocialStatus.js +8 -8
- package/lib/types/Spell.d.ts +503 -501
- package/lib/types/Spell.js +37 -37
- package/lib/types/State.d.ts +37 -36
- package/lib/types/State.js +10 -10
- package/lib/types/Talisman.d.ts +81 -80
- package/lib/types/Talisman.js +50 -48
- package/lib/types/TargetCategory.d.ts +5 -5
- package/lib/types/TargetCategory.js +7 -7
- package/lib/types/_Activatable.d.ts +9 -9
- package/lib/types/_Activatable.js +17 -17
- package/lib/types/_ActivatableAdvanced.d.ts +41 -41
- package/lib/types/_ActivatableAdvanced.js +48 -44
- package/lib/types/_ActivatableAdventurePointsValue.d.ts +146 -146
- package/lib/types/_ActivatableAdventurePointsValue.js +62 -62
- package/lib/types/_ActivatableAutomatic.d.ts +67 -67
- package/lib/types/_ActivatableAutomatic.js +30 -30
- package/lib/types/_ActivatableCombat.d.ts +94 -94
- package/lib/types/_ActivatableCombat.js +180 -174
- package/lib/types/_ActivatableNonMundane.d.ts +301 -301
- package/lib/types/_ActivatableNonMundane.js +204 -202
- package/lib/types/_ActivatableSelectOptionCategory.d.ts +1256 -1256
- package/lib/types/_ActivatableSelectOptionCategory.js +250 -226
- package/lib/types/_ActivatableSelectOptions.d.ts +960 -958
- package/lib/types/_ActivatableSelectOptions.js +34 -34
- package/lib/types/_ActivatableSkill.d.ts +880 -880
- package/lib/types/_ActivatableSkill.js +47 -43
- package/lib/types/_ActivatableSkillApplicationsAndUses.d.ts +97 -97
- package/lib/types/_ActivatableSkillApplicationsAndUses.js +27 -27
- package/lib/types/_ActivatableSkillCastingTime.d.ts +52 -52
- package/lib/types/_ActivatableSkillCastingTime.js +40 -40
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +18 -18
- package/lib/types/_ActivatableSkillCheckResultBased.js +19 -19
- package/lib/types/_ActivatableSkillCost.d.ts +208 -208
- package/lib/types/_ActivatableSkillCost.js +113 -113
- package/lib/types/_ActivatableSkillDuration.d.ts +159 -159
- package/lib/types/_ActivatableSkillDuration.js +69 -69
- package/lib/types/_ActivatableSkillEffect.d.ts +12 -12
- package/lib/types/_ActivatableSkillEffect.js +28 -28
- package/lib/types/_ActivatableSkillRange.d.ts +46 -46
- package/lib/types/_ActivatableSkillRange.js +50 -50
- package/lib/types/_ActivatableSkillTargetCategory.d.ts +11 -11
- package/lib/types/_ActivatableSkillTargetCategory.js +15 -15
- package/lib/types/_AlternativeNames.d.ts +4 -4
- package/lib/types/_AlternativeNames.js +7 -7
- package/lib/types/_ArcaneTradition.d.ts +23 -23
- package/lib/types/_ArcaneTradition.js +7 -7
- package/lib/types/_Blessed.d.ts +6 -6
- package/lib/types/_Blessed.js +9 -9
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +6 -6
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +9 -9
- package/lib/types/_Dice.d.ts +5 -5
- package/lib/types/_Dice.js +9 -9
- package/lib/types/_DiseasePoison.d.ts +47 -47
- package/lib/types/_DiseasePoison.js +50 -50
- package/lib/types/_Enhancements.d.ts +125 -123
- package/lib/types/_Enhancements.js +22 -22
- package/lib/types/_Identifier.d.ts +1 -1
- package/lib/types/_Identifier.js +1 -1
- package/lib/types/_IdentifierGroup.d.ts +328 -328
- package/lib/types/_IdentifierGroup.js +328 -328
- package/lib/types/_ImprovementCost.d.ts +6 -6
- package/lib/types/_ImprovementCost.js +6 -6
- package/lib/types/_Influence.d.ts +58 -57
- package/lib/types/_Influence.js +18 -18
- package/lib/types/_MathExpression.d.ts +5 -5
- package/lib/types/_MathExpression.js +12 -12
- package/lib/types/_Prerequisite.d.ts +333 -333
- package/lib/types/_Prerequisite.js +89 -73
- package/lib/types/_ResponsiveText.d.ts +10 -10
- package/lib/types/_ResponsiveText.js +23 -17
- package/lib/types/_Sex.d.ts +4 -4
- package/lib/types/_Sex.js +4 -4
- package/lib/types/_SizeCategory.d.ts +14 -14
- package/lib/types/_SizeCategory.js +15 -15
- package/lib/types/_SkillCheck.d.ts +10 -10
- package/lib/types/_SkillCheck.js +11 -11
- package/lib/types/_Spellwork.d.ts +12 -12
- package/lib/types/_Spellwork.js +15 -15
- package/lib/types/equipment/EquipmentPackage.d.ts +68 -67
- package/lib/types/equipment/EquipmentPackage.js +14 -14
- package/lib/types/equipment/item/Ammunition.d.ts +52 -51
- package/lib/types/equipment/item/Ammunition.js +16 -16
- package/lib/types/equipment/item/Animal.d.ts +52 -51
- package/lib/types/equipment/item/Animal.js +5 -5
- package/lib/types/equipment/item/AnimalCare.d.ts +61 -60
- package/lib/types/equipment/item/AnimalCare.js +20 -20
- package/lib/types/equipment/item/Armor.d.ts +122 -121
- package/lib/types/equipment/item/Armor.js +79 -79
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +143 -142
- package/lib/types/equipment/item/BandageOrRemedy.js +13 -13
- package/lib/types/equipment/item/Book.d.ts +103 -102
- package/lib/types/equipment/item/Book.js +65 -65
- package/lib/types/equipment/item/CeremonialItem.d.ts +144 -143
- package/lib/types/equipment/item/CeremonialItem.js +14 -14
- package/lib/types/equipment/item/Clothes.d.ts +143 -142
- package/lib/types/equipment/item/Clothes.js +13 -13
- package/lib/types/equipment/item/ClothingPackage.d.ts +45 -44
- package/lib/types/equipment/item/ClothingPackage.js +6 -6
- package/lib/types/equipment/item/Container.d.ts +143 -142
- package/lib/types/equipment/item/Container.js +13 -13
- package/lib/types/equipment/item/Elixir.d.ts +80 -79
- package/lib/types/equipment/item/Elixir.js +35 -32
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +152 -151
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +11 -11
- package/lib/types/equipment/item/GemOrPreciousStone.d.ts +54 -53
- package/lib/types/equipment/item/GemOrPreciousStone.js +20 -20
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +149 -148
- package/lib/types/equipment/item/IlluminationLightSource.js +26 -26
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +143 -142
- package/lib/types/equipment/item/IlluminationRefillOrSupply.js +13 -13
- package/lib/types/equipment/item/Jewelry.d.ts +56 -55
- package/lib/types/equipment/item/Jewelry.js +17 -17
- package/lib/types/equipment/item/Laboratory.d.ts +59 -58
- package/lib/types/equipment/item/Laboratory.js +11 -11
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +143 -142
- package/lib/types/equipment/item/Liebesspielzeug.js +13 -13
- package/lib/types/equipment/item/LuxuryGood.d.ts +143 -142
- package/lib/types/equipment/item/LuxuryGood.js +13 -13
- package/lib/types/equipment/item/MagicalArtifact.d.ts +146 -145
- package/lib/types/equipment/item/MagicalArtifact.js +30 -30
- package/lib/types/equipment/item/MusicalInstrument.d.ts +143 -142
- package/lib/types/equipment/item/MusicalInstrument.js +13 -13
- package/lib/types/equipment/item/Newspaper.d.ts +48 -47
- package/lib/types/equipment/item/Newspaper.js +12 -12
- package/lib/types/equipment/item/OrienteeringAid.d.ts +142 -141
- package/lib/types/equipment/item/Poison.d.ts +428 -427
- package/lib/types/equipment/item/Poison.js +215 -210
- package/lib/types/equipment/item/RopeOrChain.d.ts +142 -141
- package/lib/types/equipment/item/Stationery.d.ts +142 -141
- package/lib/types/equipment/item/ThievesTool.d.ts +142 -141
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +60 -59
- package/lib/types/equipment/item/ToolOfTheTrade.js +11 -11
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +143 -142
- package/lib/types/equipment/item/TravelGearOrTool.js +13 -13
- package/lib/types/equipment/item/Vehicle.d.ts +58 -57
- package/lib/types/equipment/item/Vehicle.js +9 -9
- package/lib/types/equipment/item/Weapon.d.ts +160 -159
- package/lib/types/equipment/item/Weapon.js +53 -49
- package/lib/types/equipment/item/WeaponAccessory.d.ts +143 -142
- package/lib/types/equipment/item/WeaponAccessory.js +13 -13
- package/lib/types/equipment/item/_Herbary.d.ts +34 -34
- package/lib/types/equipment/item/_Herbary.js +19 -19
- package/lib/types/equipment/item/_Item.d.ts +294 -293
- package/lib/types/equipment/item/_Item.js +102 -102
- package/lib/types/equipment/item/_MeleeWeapon.d.ts +47 -47
- package/lib/types/equipment/item/_MeleeWeapon.js +43 -43
- package/lib/types/equipment/item/_RangedWeapon.d.ts +25 -25
- package/lib/types/equipment/item/_RangedWeapon.js +39 -39
- package/lib/types/equipment/item/_Weapon.d.ts +10 -9
- package/lib/types/equipment/item/_Weapon.js +19 -19
- package/lib/types/equipment/item/sub/ArmorType.d.ts +5 -5
- package/lib/types/equipment/item/sub/ArmorType.js +8 -8
- package/lib/types/equipment/item/sub/Reach.d.ts +4 -4
- package/lib/types/equipment/item/sub/Reach.js +6 -6
- package/lib/types/magicalActions/AnimistPower.d.ts +228 -226
- package/lib/types/magicalActions/AnimistPower.js +79 -77
- package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +23 -23
- package/lib/types/magicalActions/AnimistPower_Tribe.js +8 -8
- package/lib/types/magicalActions/Curse.d.ts +163 -162
- package/lib/types/magicalActions/Curse.js +54 -54
- package/lib/types/magicalActions/DominationRitual.d.ts +153 -152
- package/lib/types/magicalActions/DominationRitual.js +53 -53
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +92 -91
- package/lib/types/magicalActions/ElvenMagicalSong.js +45 -45
- package/lib/types/magicalActions/GeodeRitual.d.ts +165 -164
- package/lib/types/magicalActions/GeodeRitual.js +57 -57
- package/lib/types/magicalActions/JesterTrick.d.ts +231 -230
- package/lib/types/magicalActions/JesterTrick.js +67 -67
- package/lib/types/magicalActions/MagicalDance.d.ts +89 -88
- package/lib/types/magicalActions/MagicalDance.js +46 -46
- package/lib/types/magicalActions/MagicalMelody.d.ts +86 -85
- package/lib/types/magicalActions/MagicalMelody.js +44 -44
- package/lib/types/magicalActions/MagicalRune.d.ts +213 -212
- package/lib/types/magicalActions/MagicalRune.js +122 -117
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +301 -300
- package/lib/types/magicalActions/ZibiljaRitual.js +36 -34
- package/lib/types/magicalActions/_MusicTradition.d.ts +12 -12
- package/lib/types/magicalActions/_MusicTradition.js +19 -19
- package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +16 -16
- package/lib/types/prerequisites/ConditionalPrerequisites.js +3 -3
- package/lib/types/prerequisites/DisplayOption.d.ts +9 -9
- package/lib/types/prerequisites/DisplayOption.js +11 -11
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +1099 -1099
- package/lib/types/prerequisites/PrerequisiteGroups.js +94 -86
- package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +100 -100
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +15 -15
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +13 -13
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +10 -10
- package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +11 -11
- package/lib/types/prerequisites/single/CulturePrerequisite.js +6 -6
- package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +3 -3
- package/lib/types/prerequisites/single/EnhancementPrerequisite.js +4 -4
- package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +12 -12
- package/lib/types/prerequisites/single/InfluencePrerequisite.js +8 -8
- package/lib/types/prerequisites/single/PactPrerequisite.d.ts +13 -13
- package/lib/types/prerequisites/single/PactPrerequisite.js +10 -10
- package/lib/types/prerequisites/single/PersonalityTraitPrerequisite.d.ts +12 -12
- package/lib/types/prerequisites/single/PersonalityTraitPrerequisite.js +8 -8
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +14 -14
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +12 -12
- package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +11 -11
- package/lib/types/prerequisites/single/PublicationPrerequisite.js +6 -6
- package/lib/types/prerequisites/single/RacePrerequisite.d.ts +12 -12
- package/lib/types/prerequisites/single/RacePrerequisite.js +8 -8
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +35 -35
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +38 -36
- package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +20 -20
- package/lib/types/prerequisites/single/RatedPrerequisite.js +9 -9
- package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +12 -12
- package/lib/types/prerequisites/single/RatedSumPrerequisite.js +9 -9
- package/lib/types/prerequisites/single/RulePrerequisite.d.ts +13 -13
- package/lib/types/prerequisites/single/RulePrerequisite.js +7 -7
- package/lib/types/prerequisites/single/SexPrerequisite.d.ts +13 -13
- package/lib/types/prerequisites/single/SexPrerequisite.js +7 -7
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +5 -5
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +8 -8
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +11 -11
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +6 -6
- package/lib/types/prerequisites/single/StatePrerequisite.d.ts +11 -11
- package/lib/types/prerequisites/single/StatePrerequisite.js +6 -6
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +14 -14
- package/lib/types/prerequisites/single/TextPrerequisite.js +18 -18
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +25 -25
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +19 -19
- package/lib/types/rule/AlternativeRule.d.ts +39 -38
- package/lib/types/rule/AlternativeRule.js +14 -14
- package/lib/types/rule/AlternativeRule_PlayerType.d.ts +4 -4
- package/lib/types/rule/AlternativeRule_PlayerType.js +6 -6
- package/lib/types/rule/CoreRule.d.ts +117 -116
- package/lib/types/rule/CoreRule.js +108 -106
- package/lib/types/rule/FocusRule.d.ts +59 -58
- package/lib/types/rule/FocusRule.js +17 -17
- package/lib/types/rule/FocusRule_Subject.d.ts +4 -4
- package/lib/types/rule/FocusRule_Subject.js +6 -6
- package/lib/types/rule/OptionalRule.d.ts +58 -57
- package/lib/types/rule/OptionalRule.js +16 -16
- package/lib/types/source/Publication.d.ts +41 -41
- package/lib/types/source/Publication.js +28 -28
- package/lib/types/source/_Erratum.d.ts +7 -7
- package/lib/types/source/_Erratum.js +9 -9
- package/lib/types/source/_PublicationRef.d.ts +117 -113
- package/lib/types/source/_PublicationRef.js +62 -58
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1075 -1073
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +8 -8
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +985 -983
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +8 -8
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +985 -983
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +8 -8
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +985 -983
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +8 -8
- package/lib/types/specialAbility/AncestorGlyph.d.ts +938 -936
- package/lib/types/specialAbility/AncestorGlyph.js +10 -10
- package/lib/types/specialAbility/BlessedTradition.d.ts +1008 -1006
- package/lib/types/specialAbility/BlessedTradition.js +52 -52
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +990 -988
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +8 -8
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +986 -984
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +8 -8
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1076 -1074
- package/lib/types/specialAbility/CombatSpecialAbility.js +8 -8
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +1117 -1115
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +8 -8
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +990 -988
- package/lib/types/specialAbility/CommandSpecialAbility.js +8 -8
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +937 -935
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +8 -8
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +937 -935
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +8 -8
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +985 -983
- package/lib/types/specialAbility/FatePointSpecialAbility.js +8 -8
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +986 -984
- package/lib/types/specialAbility/GeneralSpecialAbility.js +8 -8
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +937 -935
- package/lib/types/specialAbility/KarmaSpecialAbility.js +8 -8
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +1025 -1023
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +8 -8
- package/lib/types/specialAbility/LycantropicGift.d.ts +937 -935
- package/lib/types/specialAbility/LycantropicGift.js +8 -8
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +1025 -1023
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +8 -8
- package/lib/types/specialAbility/MagicalSign.d.ts +91 -90
- package/lib/types/specialAbility/MagicalSign.js +21 -21
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +986 -984
- package/lib/types/specialAbility/MagicalSpecialAbility.js +8 -8
- package/lib/types/specialAbility/MagicalTradition.d.ts +1004 -1002
- package/lib/types/specialAbility/MagicalTradition.js +40 -40
- package/lib/types/specialAbility/PactGift.d.ts +1008 -1006
- package/lib/types/specialAbility/PactGift.js +23 -21
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +939 -937
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +14 -14
- package/lib/types/specialAbility/Sermon.d.ts +937 -935
- package/lib/types/specialAbility/Sermon.js +8 -8
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +985 -983
- package/lib/types/specialAbility/SexSpecialAbility.js +8 -8
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +937 -935
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +8 -8
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +977 -975
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +8 -8
- package/lib/types/specialAbility/VampiricGift.d.ts +937 -935
- package/lib/types/specialAbility/VampiricGift.js +8 -8
- package/lib/types/specialAbility/Vision.d.ts +937 -935
- package/lib/types/specialAbility/Vision.js +8 -8
- package/lib/types/specialAbility/_Tradition.d.ts +4 -4
- package/lib/types/specialAbility/_Tradition.js +7 -7
- package/lib/types/specialAbility/sub/Language.d.ts +80 -79
- package/lib/types/specialAbility/sub/Language.js +37 -37
- package/lib/types/specialAbility/sub/Script.d.ts +45 -44
- package/lib/types/specialAbility/sub/Script.js +18 -18
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +859 -857
- package/lib/types/specialAbility/sub/TradeSecret.js +26 -26
- package/lib/types/specialAbility/sub/_LanguageScript.d.ts +4 -4
- package/lib/types/specialAbility/sub/_LanguageScript.js +6 -6
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/AttireEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/Beutelzauber.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/Beutelzauber.js +8 -8
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/BowlEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1106 -1104
- package/lib/types/traditionArtifacts/CauldronEnchantment.js +9 -9
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/ChronicleEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1112 -1110
- package/lib/types/traditionArtifacts/DaggerRitual.js +25 -25
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/Haubenzauber.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/Haubenzauber.js +8 -8
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/InstrumentEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/Krallenkettenzauber.js +8 -8
- package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/Kristallkugelzauber.js +8 -8
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/OrbEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/RingEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/SickleRitual.js +8 -8
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1108 -1106
- package/lib/types/traditionArtifacts/StaffEnchantment.js +10 -10
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/ToyEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/Trinkhornzauber.js +8 -8
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1071 -1069
- package/lib/types/traditionArtifacts/WandEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1105 -1103
- package/lib/types/traditionArtifacts/WeaponEnchantment.js +8 -8
- package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +6 -6
- package/lib/types/traditionArtifacts/sub/AnimalShape.js +8 -8
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +4 -4
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +6 -6
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +6 -6
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +10 -10
- package/lib/types/traditionArtifacts/sub/Brew.d.ts +4 -4
- package/lib/types/traditionArtifacts/sub/Brew.js +6 -6
- package/package.json +2 -2
- package/lib/types/_I18n.d.ts +0 -14
- package/lib/types/_I18n.js +0 -55
package/lib/types/Profession.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
2
|
import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
|
|
3
3
|
import { AdvantageIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, GeneralSelectOptionIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
|
|
4
4
|
import { CombatTechniqueIdentifier, LiturgyIdentifier, MagicalActionIdentifier, RequirableSelectOptionIdentifier, SpecialAbilityIdentifier, SpellworkIdentifier, } from "./_IdentifierGroup.js";
|
|
@@ -6,19 +6,19 @@ import { ProfessionPrerequisites } from "./_Prerequisite.js";
|
|
|
6
6
|
import { NestedTranslationMap } from "./Locale.js";
|
|
7
7
|
import { Errata } from "./source/_Erratum.js";
|
|
8
8
|
import { src } from "./source/_PublicationRef.js";
|
|
9
|
-
export const Profession = Entity(import.meta.url, {
|
|
9
|
+
export const Profession = DB.Entity(import.meta.url, {
|
|
10
10
|
name: "Profession",
|
|
11
11
|
namePlural: "Professions",
|
|
12
|
-
type: () =>
|
|
13
|
-
group: Required({
|
|
12
|
+
type: () => DB.Object({
|
|
13
|
+
group: DB.Required({
|
|
14
14
|
comment: "The profession group.",
|
|
15
|
-
type: IncludeIdentifier(ProfessionGroup),
|
|
15
|
+
type: DB.IncludeIdentifier(ProfessionGroup),
|
|
16
16
|
}),
|
|
17
|
-
versions: Required({
|
|
17
|
+
versions: DB.Required({
|
|
18
18
|
comment: `A list of professions representing the same profession but with (slightly) different stats. For example, there may be a profession in a regional sourcebook or in the core rules and a profession in an extension rulebook like Magic of Aventuria, where the profession is basically called the same and almost has the same values, but the version from Magic of Aventuria features a spell style special ability that does not exist in the core rules or regional sourcebook.
|
|
19
19
|
|
|
20
20
|
The profession representation may feature different values for different explicitly mentioned experience levels. In most cases, there is only one stats package, which targets the experience level *Experienced*.`,
|
|
21
|
-
type: ChildEntities(ProfessionVersion),
|
|
21
|
+
type: DB.ChildEntities(ProfessionVersion),
|
|
22
22
|
}),
|
|
23
23
|
}),
|
|
24
24
|
instanceDisplayName: null,
|
|
@@ -39,87 +39,87 @@ export const Profession = Entity(import.meta.url, {
|
|
|
39
39
|
};
|
|
40
40
|
},
|
|
41
41
|
});
|
|
42
|
-
const ProfessionGroup = Enum(import.meta.url, {
|
|
42
|
+
const ProfessionGroup = DB.Enum(import.meta.url, {
|
|
43
43
|
name: "ProfessionGroup",
|
|
44
44
|
values: () => ({
|
|
45
|
-
Mundane: EnumCase({ type: IncludeIdentifier(MundaneProfessionGroup) }),
|
|
46
|
-
Magical: EnumCase({ type: IncludeIdentifier(MagicalProfessionGroup) }),
|
|
47
|
-
Blessed: EnumCase({ type: null }),
|
|
45
|
+
Mundane: DB.EnumCase({ type: DB.IncludeIdentifier(MundaneProfessionGroup) }),
|
|
46
|
+
Magical: DB.EnumCase({ type: DB.IncludeIdentifier(MagicalProfessionGroup) }),
|
|
47
|
+
Blessed: DB.EnumCase({ type: null }),
|
|
48
48
|
}),
|
|
49
49
|
});
|
|
50
|
-
export const MundaneProfessionGroup = Enum(import.meta.url, {
|
|
50
|
+
export const MundaneProfessionGroup = DB.Enum(import.meta.url, {
|
|
51
51
|
name: "MundaneProfessionGroup",
|
|
52
52
|
values: () => ({
|
|
53
|
-
Profane: EnumCase({ type: null }),
|
|
54
|
-
Fighter: EnumCase({ type: null }),
|
|
55
|
-
Religious: EnumCase({ type: null }),
|
|
53
|
+
Profane: DB.EnumCase({ type: null }),
|
|
54
|
+
Fighter: DB.EnumCase({ type: null }),
|
|
55
|
+
Religious: DB.EnumCase({ type: null }),
|
|
56
56
|
}),
|
|
57
57
|
});
|
|
58
|
-
const MagicalProfessionGroup = TypeAlias(import.meta.url, {
|
|
58
|
+
const MagicalProfessionGroup = DB.TypeAlias(import.meta.url, {
|
|
59
59
|
name: "MagicalProfessionGroup",
|
|
60
|
-
type: () =>
|
|
61
|
-
curriculum: Optional({
|
|
60
|
+
type: () => DB.Object({
|
|
61
|
+
curriculum: DB.Optional({
|
|
62
62
|
comment: "The curriculum/academy associated with this magical profession, if any.",
|
|
63
63
|
type: CurriculumIdentifier(),
|
|
64
64
|
}),
|
|
65
65
|
}),
|
|
66
66
|
});
|
|
67
|
-
export const ProfessionVersion = Entity(import.meta.url, {
|
|
67
|
+
export const ProfessionVersion = DB.Entity(import.meta.url, {
|
|
68
68
|
name: "ProfessionVersion",
|
|
69
69
|
namePlural: "ProfessionVersions",
|
|
70
|
-
type: () =>
|
|
71
|
-
profession: Required({
|
|
70
|
+
type: () => DB.Object({
|
|
71
|
+
profession: DB.Required({
|
|
72
72
|
comment: "The associated profession.",
|
|
73
73
|
type: ProfessionIdentifier(),
|
|
74
74
|
}),
|
|
75
|
-
package: Required({
|
|
75
|
+
package: DB.Required({
|
|
76
76
|
comment: "A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
|
|
77
|
-
type: ChildEntities(ProfessionPackage),
|
|
77
|
+
type: DB.ChildEntities(ProfessionPackage),
|
|
78
78
|
}),
|
|
79
|
-
suggested_advantages: Optional({
|
|
79
|
+
suggested_advantages: DB.Optional({
|
|
80
80
|
comment: "A list of typical advantages.",
|
|
81
|
-
type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
|
|
81
|
+
type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
|
|
82
82
|
}),
|
|
83
|
-
suggested_disadvantages: Optional({
|
|
83
|
+
suggested_disadvantages: DB.Optional({
|
|
84
84
|
comment: "A list of typical disadvantages.",
|
|
85
|
-
type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
|
|
85
|
+
type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
|
|
86
86
|
}),
|
|
87
|
-
unsuitable_advantages: Optional({
|
|
87
|
+
unsuitable_advantages: DB.Optional({
|
|
88
88
|
comment: "A list of advantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
|
|
89
|
-
type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
|
|
89
|
+
type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [AdvantageIdentifier()]), { minItems: 1 }),
|
|
90
90
|
}),
|
|
91
|
-
unsuitable_disadvantages: Optional({
|
|
91
|
+
unsuitable_disadvantages: DB.Optional({
|
|
92
92
|
comment: "A list of disadvantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
|
|
93
|
-
type: Array(GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
|
|
93
|
+
type: DB.Array(DB.GenIncludeIdentifier(CommonnessRatedAdvantageDisadvantage, [DisadvantageIdentifier()]), { minItems: 1 }),
|
|
94
94
|
}),
|
|
95
95
|
src,
|
|
96
|
-
translations: NestedTranslationMap(Required, "ProfessionVersion",
|
|
97
|
-
name: Required({
|
|
96
|
+
translations: NestedTranslationMap(DB.Required, "ProfessionVersion", DB.Object({
|
|
97
|
+
name: DB.Required({
|
|
98
98
|
comment: "The basic profession’s name.",
|
|
99
|
-
type: IncludeIdentifier(ProfessionName),
|
|
99
|
+
type: DB.IncludeIdentifier(ProfessionName),
|
|
100
100
|
}),
|
|
101
|
-
specification: Optional({
|
|
101
|
+
specification: DB.Optional({
|
|
102
102
|
comment: "A name addition of the profession. This will contain texts like name of the academy or the witch circle. It is enclosed in parenthesis, but the database entry must not contain parenthesis.",
|
|
103
|
-
type: IncludeIdentifier(ProfessionName),
|
|
103
|
+
type: DB.IncludeIdentifier(ProfessionName),
|
|
104
104
|
}),
|
|
105
|
-
suggested_advantages: Optional({
|
|
105
|
+
suggested_advantages: DB.Optional({
|
|
106
106
|
comment: "A list of typical advantages.",
|
|
107
|
-
type: String({ minLength: 1 }),
|
|
107
|
+
type: DB.String({ minLength: 1 }),
|
|
108
108
|
}),
|
|
109
|
-
suggested_disadvantages: Optional({
|
|
109
|
+
suggested_disadvantages: DB.Optional({
|
|
110
110
|
comment: "A list of typical disadvantages.",
|
|
111
|
-
type: String({ minLength: 1 }),
|
|
111
|
+
type: DB.String({ minLength: 1 }),
|
|
112
112
|
}),
|
|
113
|
-
unsuitable_advantages: Optional({
|
|
113
|
+
unsuitable_advantages: DB.Optional({
|
|
114
114
|
comment: "A list of advantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
|
|
115
|
-
type: String({ minLength: 1 }),
|
|
115
|
+
type: DB.String({ minLength: 1 }),
|
|
116
116
|
}),
|
|
117
|
-
unsuitable_disadvantages: Optional({
|
|
117
|
+
unsuitable_disadvantages: DB.Optional({
|
|
118
118
|
comment: "A list of disadvantages that do not fit well with this profession; to be checked with the GM before taking any of them.",
|
|
119
|
-
type: String({ minLength: 1 }),
|
|
119
|
+
type: DB.String({ minLength: 1 }),
|
|
120
120
|
}),
|
|
121
|
-
errata: Optional({
|
|
122
|
-
type: IncludeIdentifier(Errata),
|
|
121
|
+
errata: DB.Optional({
|
|
122
|
+
type: DB.IncludeIdentifier(Errata),
|
|
123
123
|
}),
|
|
124
124
|
})),
|
|
125
125
|
}),
|
|
@@ -145,57 +145,57 @@ export const ProfessionVersion = Entity(import.meta.url, {
|
|
|
145
145
|
};
|
|
146
146
|
},
|
|
147
147
|
});
|
|
148
|
-
export const ProfessionPackage = Entity(import.meta.url, {
|
|
148
|
+
export const ProfessionPackage = DB.Entity(import.meta.url, {
|
|
149
149
|
name: "ProfessionPackage",
|
|
150
150
|
namePlural: "ProfessionPackages",
|
|
151
|
-
type: () =>
|
|
152
|
-
profession_version: Required({
|
|
151
|
+
type: () => DB.Object({
|
|
152
|
+
profession_version: DB.Required({
|
|
153
153
|
comment: "The associated profession version.",
|
|
154
154
|
type: ProfessionVersionIdentifier(),
|
|
155
155
|
}),
|
|
156
|
-
experience_level: Optional({
|
|
156
|
+
experience_level: DB.Optional({
|
|
157
157
|
comment: "The associated experience level. By default, profession packages are associated with the experience level *Experienced*.",
|
|
158
158
|
type: ExperienceLevelIdentifier(),
|
|
159
159
|
}),
|
|
160
|
-
ap_value: Required({
|
|
160
|
+
ap_value: DB.Required({
|
|
161
161
|
comment: "What does the professional package cost in adventure points?",
|
|
162
|
-
type: Integer({ minimum: 0 }),
|
|
162
|
+
type: DB.Integer({ minimum: 0 }),
|
|
163
163
|
}),
|
|
164
|
-
prerequisites: Optional({
|
|
164
|
+
prerequisites: DB.Optional({
|
|
165
165
|
comment: "Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.",
|
|
166
|
-
type: IncludeIdentifier(ProfessionPrerequisites),
|
|
166
|
+
type: DB.IncludeIdentifier(ProfessionPrerequisites),
|
|
167
167
|
}),
|
|
168
|
-
options: Optional({
|
|
168
|
+
options: DB.Optional({
|
|
169
169
|
comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.",
|
|
170
|
-
type: IncludeIdentifier(ProfessionPackageOptions),
|
|
170
|
+
type: DB.IncludeIdentifier(ProfessionPackageOptions),
|
|
171
171
|
}),
|
|
172
|
-
special_abilities: Optional({
|
|
172
|
+
special_abilities: DB.Optional({
|
|
173
173
|
comment: "Any special abilities the profession receives from the package.",
|
|
174
|
-
type: Array(IncludeIdentifier(ProfessionSpecialAbility), { minItems: 1 }),
|
|
174
|
+
type: DB.Array(DB.IncludeIdentifier(ProfessionSpecialAbility), { minItems: 1 }),
|
|
175
175
|
}),
|
|
176
|
-
combat_techniques: Optional({
|
|
176
|
+
combat_techniques: DB.Optional({
|
|
177
177
|
comment: "Provides ratings for the combat techniques that the hero receives from the package.",
|
|
178
|
-
type: Array(IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
|
|
178
|
+
type: DB.Array(DB.IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
|
|
179
179
|
}),
|
|
180
|
-
skills: Optional({
|
|
180
|
+
skills: DB.Optional({
|
|
181
181
|
comment: "The skill ratings the package grants to the hero.",
|
|
182
|
-
type: Array(IncludeIdentifier(SkillRating), { minItems: 1 }),
|
|
182
|
+
type: DB.Array(DB.IncludeIdentifier(SkillRating), { minItems: 1 }),
|
|
183
183
|
}),
|
|
184
|
-
spells: Optional({
|
|
184
|
+
spells: DB.Optional({
|
|
185
185
|
comment: "The skill ratings a magical profession receives for spells; these spells are considered activated. Spells from an unfamiliar Tradition, if any, are identified as such.",
|
|
186
|
-
type: Array(IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
|
|
186
|
+
type: DB.Array(DB.IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
|
|
187
187
|
}),
|
|
188
|
-
liturgical_chants: Optional({
|
|
188
|
+
liturgical_chants: DB.Optional({
|
|
189
189
|
comment: "Clerical professions receive these liturgical chants at the listed skill ratings. These liturgical chants are considered activated.",
|
|
190
|
-
type: Array(IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
|
|
190
|
+
type: DB.Array(DB.IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
|
|
191
191
|
}),
|
|
192
|
-
is_variant_selection_required: Required({
|
|
192
|
+
is_variant_selection_required: DB.Required({
|
|
193
193
|
comment: "If the selection of a profession variant is required.",
|
|
194
|
-
type: Boolean(),
|
|
194
|
+
type: DB.Boolean(),
|
|
195
195
|
}),
|
|
196
|
-
variants: Required({
|
|
196
|
+
variants: DB.Required({
|
|
197
197
|
comment: "Provides examples of variants for the profession, which may include changes to AP values and additional or modified skill ratings, special abilities, or combat techniques, as compared to the basic profession. Usually picking a variant is optional, but there are some rare exceptions where picking a variant is required.",
|
|
198
|
-
type: ChildEntities(ProfessionVariant),
|
|
198
|
+
type: DB.ChildEntities(ProfessionVariant),
|
|
199
199
|
}),
|
|
200
200
|
}),
|
|
201
201
|
parentReferenceKey: "profession_version",
|
|
@@ -215,58 +215,58 @@ export const ProfessionPackage = Entity(import.meta.url, {
|
|
|
215
215
|
return baseName;
|
|
216
216
|
},
|
|
217
217
|
});
|
|
218
|
-
export const ProfessionVariant = Entity(import.meta.url, {
|
|
218
|
+
export const ProfessionVariant = DB.Entity(import.meta.url, {
|
|
219
219
|
name: "ProfessionVariant",
|
|
220
220
|
namePlural: "ProfessionVariants",
|
|
221
|
-
type: () =>
|
|
222
|
-
profession_package: Required({
|
|
221
|
+
type: () => DB.Object({
|
|
222
|
+
profession_package: DB.Required({
|
|
223
223
|
comment: "The associated profession package.",
|
|
224
224
|
type: ProfessionPackageIdentifier(),
|
|
225
225
|
}),
|
|
226
|
-
ap_value: Optional({
|
|
226
|
+
ap_value: DB.Optional({
|
|
227
227
|
comment: "The AP value you have to pay for the package variant. Some variants may reduce the AP value of the base package.",
|
|
228
|
-
type: Integer(),
|
|
228
|
+
type: DB.Integer(),
|
|
229
229
|
}),
|
|
230
|
-
prerequisites: Optional({
|
|
230
|
+
prerequisites: DB.Optional({
|
|
231
231
|
comment: "Which prerequisites must be met to buy the stat block? For example, a character might need the advantage Spellcaster or Blessed. Note: the AP cost for a profession package does not include these prerequisites.",
|
|
232
|
-
type: IncludeIdentifier(ProfessionPrerequisites),
|
|
232
|
+
type: DB.IncludeIdentifier(ProfessionPrerequisites),
|
|
233
233
|
}),
|
|
234
|
-
options: Optional({
|
|
234
|
+
options: DB.Optional({
|
|
235
235
|
comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package. The variant may override or remove those options.",
|
|
236
|
-
type: IncludeIdentifier(ProfessionVariantPackageOptions),
|
|
236
|
+
type: DB.IncludeIdentifier(ProfessionVariantPackageOptions),
|
|
237
237
|
}),
|
|
238
|
-
special_abilities: Optional({
|
|
238
|
+
special_abilities: DB.Optional({
|
|
239
239
|
comment: "Any special abilities the profession receives from the package variant.",
|
|
240
|
-
type: Array(IncludeIdentifier(ProfessionVariantSpecialAbility), { minItems: 1 }),
|
|
240
|
+
type: DB.Array(DB.IncludeIdentifier(ProfessionVariantSpecialAbility), { minItems: 1 }),
|
|
241
241
|
}),
|
|
242
|
-
combat_techniques: Optional({
|
|
242
|
+
combat_techniques: DB.Optional({
|
|
243
243
|
comment: "Provides ratings for the combat techniques that the hero receives from the package variant.",
|
|
244
|
-
type: Array(IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
|
|
244
|
+
type: DB.Array(DB.IncludeIdentifier(CombatTechniqueRating), { minItems: 1 }),
|
|
245
245
|
}),
|
|
246
|
-
skills: Optional({
|
|
246
|
+
skills: DB.Optional({
|
|
247
247
|
comment: "The skill ratings the package variant grants to the hero.",
|
|
248
|
-
type: Array(IncludeIdentifier(SkillRating), { minItems: 1 }),
|
|
248
|
+
type: DB.Array(DB.IncludeIdentifier(SkillRating), { minItems: 1 }),
|
|
249
249
|
}),
|
|
250
|
-
spells: Optional({
|
|
250
|
+
spells: DB.Optional({
|
|
251
251
|
comment: "The skill ratings a magical profession variant receives for spells; these spells are considered activated. Spells from an unfamiliar Tradition, if any, are identified as such.",
|
|
252
|
-
type: Array(IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
|
|
252
|
+
type: DB.Array(DB.IncludeIdentifier(MagicalSkillRating), { minItems: 1 }),
|
|
253
253
|
}),
|
|
254
|
-
liturgical_chants: Optional({
|
|
254
|
+
liturgical_chants: DB.Optional({
|
|
255
255
|
comment: "Clerical profession variants receive these liturgical chants at the listed skill ratings. These liturgical chants are considered activated.",
|
|
256
|
-
type: Array(IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
|
|
256
|
+
type: DB.Array(DB.IncludeIdentifier(LiturgicalChantRating), { minItems: 1 }),
|
|
257
257
|
}),
|
|
258
|
-
translations: NestedTranslationMap(Required, "ProfessionVariant",
|
|
259
|
-
name: Required({
|
|
258
|
+
translations: NestedTranslationMap(DB.Required, "ProfessionVariant", DB.Object({
|
|
259
|
+
name: DB.Required({
|
|
260
260
|
comment: "The profession variant’s name.",
|
|
261
|
-
type: IncludeIdentifier(ProfessionName),
|
|
261
|
+
type: DB.IncludeIdentifier(ProfessionName),
|
|
262
262
|
}),
|
|
263
|
-
full_text: Optional({
|
|
263
|
+
full_text: DB.Optional({
|
|
264
264
|
comment: "A text that replaces the generated text for the profession variant.",
|
|
265
|
-
type: String({ minLength: 1 }),
|
|
265
|
+
type: DB.String({ minLength: 1 }),
|
|
266
266
|
}),
|
|
267
|
-
concluding_text: Optional({
|
|
267
|
+
concluding_text: DB.Optional({
|
|
268
268
|
comment: `A text that is appended to the generated text for the profession variant.`,
|
|
269
|
-
type: String({ minLength: 1 }),
|
|
269
|
+
type: DB.String({ minLength: 1 }),
|
|
270
270
|
}),
|
|
271
271
|
})),
|
|
272
272
|
}),
|
|
@@ -276,350 +276,354 @@ export const ProfessionVariant = Entity(import.meta.url, {
|
|
|
276
276
|
pathInLocaleMap: "name.default",
|
|
277
277
|
},
|
|
278
278
|
});
|
|
279
|
-
const VariantSpecialAbilityAction = Enum(import.meta.url, {
|
|
279
|
+
const VariantSpecialAbilityAction = DB.Enum(import.meta.url, {
|
|
280
280
|
name: "VariantSpecialAbilityAction",
|
|
281
281
|
values: () => ({
|
|
282
|
-
Remove: EnumCase({ type: null }),
|
|
283
|
-
Override: EnumCase({ type: null }),
|
|
282
|
+
Remove: DB.EnumCase({ type: null }),
|
|
283
|
+
Override: DB.EnumCase({ type: null }),
|
|
284
284
|
}),
|
|
285
285
|
});
|
|
286
|
-
const ProfessionSpecialAbility = Enum(import.meta.url, {
|
|
286
|
+
const ProfessionSpecialAbility = DB.Enum(import.meta.url, {
|
|
287
287
|
name: "ProfessionSpecialAbility",
|
|
288
288
|
values: () => ({
|
|
289
|
-
Constant: EnumCase({ type: IncludeIdentifier(ConstantProfessionSpecialAbility) }),
|
|
290
|
-
Selection: EnumCase({ type: IncludeIdentifier(ProfessionSpecialAbilitySelection) }),
|
|
289
|
+
Constant: DB.EnumCase({ type: DB.IncludeIdentifier(ConstantProfessionSpecialAbility) }),
|
|
290
|
+
Selection: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionSpecialAbilitySelection) }),
|
|
291
291
|
}),
|
|
292
292
|
});
|
|
293
|
-
const ConstantProfessionSpecialAbility = TypeAlias(import.meta.url, {
|
|
293
|
+
const ConstantProfessionSpecialAbility = DB.TypeAlias(import.meta.url, {
|
|
294
294
|
name: "ConstantProfessionSpecialAbility",
|
|
295
|
-
type: () =>
|
|
296
|
-
id: Required({
|
|
295
|
+
type: () => DB.Object({
|
|
296
|
+
id: DB.Required({
|
|
297
297
|
comment: "The identifier of the special ability to grant.",
|
|
298
|
-
type: IncludeIdentifier(SpecialAbilityIdentifier),
|
|
298
|
+
type: DB.IncludeIdentifier(SpecialAbilityIdentifier),
|
|
299
299
|
}),
|
|
300
|
-
level: Optional({
|
|
300
|
+
level: DB.Optional({
|
|
301
301
|
comment: "The level of the received special ability. If not specified and the special ability has levels, level 1 is used automatically.",
|
|
302
|
-
type: Integer({ minimum: 1 }),
|
|
302
|
+
type: DB.Integer({ minimum: 1 }),
|
|
303
303
|
}),
|
|
304
|
-
options: Optional({
|
|
304
|
+
options: DB.Optional({
|
|
305
305
|
comment: "Received select options. Order is important. Typically, you only need the first array index, though.",
|
|
306
|
-
type: Array(IncludeIdentifier(RequirableSelectOptionIdentifier), { minItems: 1 }),
|
|
306
|
+
type: DB.Array(DB.IncludeIdentifier(RequirableSelectOptionIdentifier), { minItems: 1 }),
|
|
307
307
|
}),
|
|
308
308
|
}),
|
|
309
309
|
});
|
|
310
|
-
const ProfessionSpecialAbilitySelection = TypeAlias(import.meta.url, {
|
|
310
|
+
const ProfessionSpecialAbilitySelection = DB.TypeAlias(import.meta.url, {
|
|
311
311
|
name: "ProfessionSpecialAbilitySelection",
|
|
312
|
-
type: () =>
|
|
313
|
-
options: Required({
|
|
312
|
+
type: () => DB.Object({
|
|
313
|
+
options: DB.Required({
|
|
314
314
|
comment: `The list of special abilities to choose from. Must contain at least two entries.`,
|
|
315
|
-
type: Array(IncludeIdentifier(ConstantProfessionSpecialAbility), { minItems: 2 }),
|
|
315
|
+
type: DB.Array(DB.IncludeIdentifier(ConstantProfessionSpecialAbility), { minItems: 2 }),
|
|
316
316
|
}),
|
|
317
317
|
}),
|
|
318
318
|
});
|
|
319
|
-
const ProfessionVariantSpecialAbility = TypeAlias(import.meta.url, {
|
|
319
|
+
const ProfessionVariantSpecialAbility = DB.TypeAlias(import.meta.url, {
|
|
320
320
|
name: "ProfessionVariantSpecialAbility",
|
|
321
|
-
type: () =>
|
|
322
|
-
action: Required({
|
|
321
|
+
type: () => DB.Object({
|
|
322
|
+
action: DB.Required({
|
|
323
323
|
comment: "If the selection is added to the base profession or if it removes a selection from the base profession with the same values.",
|
|
324
|
-
type: IncludeIdentifier(VariantSpecialAbilityAction),
|
|
324
|
+
type: DB.IncludeIdentifier(VariantSpecialAbilityAction),
|
|
325
325
|
}),
|
|
326
|
-
value: Required({
|
|
326
|
+
value: DB.Required({
|
|
327
327
|
comment: "The special ability to add or remove.",
|
|
328
|
-
type: IncludeIdentifier(ProfessionSpecialAbility),
|
|
328
|
+
type: DB.IncludeIdentifier(ProfessionSpecialAbility),
|
|
329
329
|
}),
|
|
330
330
|
}),
|
|
331
331
|
});
|
|
332
|
-
const CombatTechniqueRating = TypeAlias(import.meta.url, {
|
|
332
|
+
const CombatTechniqueRating = DB.TypeAlias(import.meta.url, {
|
|
333
333
|
name: "CombatTechniqueRating",
|
|
334
|
-
type: () =>
|
|
335
|
-
id: Required({
|
|
334
|
+
type: () => DB.Object({
|
|
335
|
+
id: DB.Required({
|
|
336
336
|
comment: "The identifier of the combat technique to provide the rating for.",
|
|
337
|
-
type: IncludeIdentifier(CombatTechniqueIdentifier),
|
|
337
|
+
type: DB.IncludeIdentifier(CombatTechniqueIdentifier),
|
|
338
338
|
}),
|
|
339
|
-
rating_modifier: Required({
|
|
339
|
+
rating_modifier: DB.Required({
|
|
340
340
|
comment: "The rating bonus provided for the combat technique. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** This is a rating *bonus*, so it will be *added* to the default value of 6.",
|
|
341
|
-
type: Integer(),
|
|
341
|
+
type: DB.Integer(),
|
|
342
342
|
}),
|
|
343
343
|
}),
|
|
344
344
|
});
|
|
345
|
-
export const SkillRating = TypeAlias(import.meta.url, {
|
|
345
|
+
export const SkillRating = DB.TypeAlias(import.meta.url, {
|
|
346
346
|
name: "SkillRating",
|
|
347
|
-
type: () =>
|
|
348
|
-
id: Required({
|
|
347
|
+
type: () => DB.Object({
|
|
348
|
+
id: DB.Required({
|
|
349
349
|
comment: "The identifier of the skill to provide the rating for.",
|
|
350
350
|
type: SkillIdentifier(),
|
|
351
351
|
}),
|
|
352
|
-
rating_modifier: Required({
|
|
352
|
+
rating_modifier: DB.Required({
|
|
353
353
|
comment: "The rating bonus provided for the skill. If used in a profession variant, it can also be used to lower the bonus of the base profession",
|
|
354
|
-
type: Integer(),
|
|
354
|
+
type: DB.Integer(),
|
|
355
355
|
}),
|
|
356
356
|
}),
|
|
357
357
|
});
|
|
358
|
-
const MagicalSkillRating = TypeAlias(import.meta.url, {
|
|
358
|
+
const MagicalSkillRating = DB.TypeAlias(import.meta.url, {
|
|
359
359
|
name: "MagicalSkillRating",
|
|
360
|
-
type: () =>
|
|
361
|
-
id: Required({
|
|
360
|
+
type: () => DB.Object({
|
|
361
|
+
id: DB.Required({
|
|
362
362
|
comment: "The identifier(s) of the spell(s) to choose from to provide the rating for. If multiple spells are provided, they must all have the same improvement cost.",
|
|
363
|
-
type: Array(IncludeIdentifier(ProfessionMagicalSkillIdentifier), { minItems: 1 }),
|
|
363
|
+
type: DB.Array(DB.IncludeIdentifier(ProfessionMagicalSkillIdentifier), { minItems: 1 }),
|
|
364
364
|
}),
|
|
365
|
-
rating_modifier: Required({
|
|
365
|
+
rating_modifier: DB.Required({
|
|
366
366
|
comment: "The rating bonus provided for the (selected) magical skill. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** If due to a variant a spell rating is lowered to 0, the spell is considered deactivated. Both setting the value for a spell and deactivating it by setting it to 0 takes into account the additional activation cost for spells.",
|
|
367
|
-
type: Integer(),
|
|
367
|
+
type: DB.Integer(),
|
|
368
368
|
}),
|
|
369
369
|
}),
|
|
370
370
|
});
|
|
371
|
-
const ProfessionMagicalSkillIdentifier = Enum(import.meta.url, {
|
|
371
|
+
const ProfessionMagicalSkillIdentifier = DB.Enum(import.meta.url, {
|
|
372
372
|
name: "ProfessionMagicalSkillIdentifier",
|
|
373
373
|
values: () => ({
|
|
374
|
-
Spellwork: EnumCase({ type: IncludeIdentifier(ProfessionSpellworkIdentifier) }),
|
|
375
|
-
MagicalAction: EnumCase({ type: IncludeIdentifier(ProfessionMagicalActionIdentifier) }),
|
|
374
|
+
Spellwork: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionSpellworkIdentifier) }),
|
|
375
|
+
MagicalAction: DB.EnumCase({ type: DB.IncludeIdentifier(ProfessionMagicalActionIdentifier) }),
|
|
376
376
|
}),
|
|
377
377
|
});
|
|
378
|
-
const ProfessionSpellworkIdentifier = TypeAlias(import.meta.url, {
|
|
378
|
+
const ProfessionSpellworkIdentifier = DB.TypeAlias(import.meta.url, {
|
|
379
379
|
name: "ProfessionSpellworkIdentifier",
|
|
380
|
-
type: () =>
|
|
381
|
-
id: Required({
|
|
380
|
+
type: () => DB.Object({
|
|
381
|
+
id: DB.Required({
|
|
382
382
|
comment: "The identifier of the spell to provide the rating for.",
|
|
383
|
-
type: IncludeIdentifier(SpellworkIdentifier),
|
|
383
|
+
type: DB.IncludeIdentifier(SpellworkIdentifier),
|
|
384
384
|
}),
|
|
385
|
-
tradition: Optional({
|
|
385
|
+
tradition: DB.Optional({
|
|
386
386
|
comment: "If the spell is not part of the magical tradition required by the package, this references the magical tradition it is part of. It can also be used to define the target magical tradition of a spell if multiple magical traditions are required and the spell is available to multiple of them.",
|
|
387
387
|
type: MagicalTraditionIdentifier(),
|
|
388
388
|
}),
|
|
389
389
|
}),
|
|
390
390
|
});
|
|
391
|
-
const ProfessionMagicalActionIdentifier = TypeAlias(import.meta.url, {
|
|
391
|
+
const ProfessionMagicalActionIdentifier = DB.TypeAlias(import.meta.url, {
|
|
392
392
|
name: "ProfessionMagicalActionIdentifier",
|
|
393
|
-
type: () =>
|
|
394
|
-
id: Required({
|
|
393
|
+
type: () => DB.Object({
|
|
394
|
+
id: DB.Required({
|
|
395
395
|
comment: "The identifier of the magical action to provide the rating for.",
|
|
396
|
-
type: IncludeIdentifier(MagicalActionIdentifier),
|
|
396
|
+
type: DB.IncludeIdentifier(MagicalActionIdentifier),
|
|
397
397
|
}),
|
|
398
398
|
}),
|
|
399
399
|
});
|
|
400
|
-
const LiturgicalChantRating = TypeAlias(import.meta.url, {
|
|
400
|
+
const LiturgicalChantRating = DB.TypeAlias(import.meta.url, {
|
|
401
401
|
name: "LiturgicalChantRating",
|
|
402
|
-
type: () =>
|
|
403
|
-
id: Required({
|
|
402
|
+
type: () => DB.Object({
|
|
403
|
+
id: DB.Required({
|
|
404
404
|
comment: "The identifier(s) of the liturgical chant(s) to choose from to provide the rating for. If multiple liturgical chants are provided, they must all have the same improvement cost.",
|
|
405
|
-
type: Array(IncludeIdentifier(LiturgyIdentifier), { minItems: 1 }),
|
|
405
|
+
type: DB.Array(DB.IncludeIdentifier(LiturgyIdentifier), { minItems: 1 }),
|
|
406
406
|
}),
|
|
407
|
-
rating_modifier: Required({
|
|
407
|
+
rating_modifier: DB.Required({
|
|
408
408
|
comment: "The rating bonus provided for the selected liturgical chant. If used in a profession variant, it can also be used to lower the bonus of the base profession.\n\n**Note:** If due to a variant a liturgical chant rating is lowered to 0, the liturgical chant is considered deactivated. Both setting the value for a liturgical chant and deactivating it by setting it to 0 takes into account the additional activation cost for liturgical chants.",
|
|
409
|
-
type: Integer(),
|
|
409
|
+
type: DB.Integer(),
|
|
410
410
|
}),
|
|
411
411
|
}),
|
|
412
412
|
});
|
|
413
|
-
const ProfessionPackageOptions = TypeAlias(import.meta.url, {
|
|
413
|
+
const ProfessionPackageOptions = DB.TypeAlias(import.meta.url, {
|
|
414
414
|
name: "ProfessionPackageOptions",
|
|
415
415
|
comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package.",
|
|
416
|
-
type: () =>
|
|
417
|
-
skill_specialization: Optional({
|
|
418
|
-
type: IncludeIdentifier(SkillSpecializationOptions),
|
|
416
|
+
type: () => DB.Object({
|
|
417
|
+
skill_specialization: DB.Optional({
|
|
418
|
+
type: DB.IncludeIdentifier(SkillSpecializationOptions),
|
|
419
419
|
}),
|
|
420
|
-
languages_scripts: Optional({
|
|
421
|
-
type: IncludeIdentifier(LanguagesScriptsOptions),
|
|
420
|
+
languages_scripts: DB.Optional({
|
|
421
|
+
type: DB.IncludeIdentifier(LanguagesScriptsOptions),
|
|
422
422
|
}),
|
|
423
|
-
combat_techniques: Optional({
|
|
424
|
-
type: IncludeIdentifier(CombatTechniquesOptions),
|
|
423
|
+
combat_techniques: DB.Optional({
|
|
424
|
+
type: DB.IncludeIdentifier(CombatTechniquesOptions),
|
|
425
425
|
}),
|
|
426
|
-
cantrips: Optional({
|
|
427
|
-
type: IncludeIdentifier(CantripsOptions),
|
|
426
|
+
cantrips: DB.Optional({
|
|
427
|
+
type: DB.IncludeIdentifier(CantripsOptions),
|
|
428
428
|
}),
|
|
429
|
-
curses: Optional({
|
|
430
|
-
type: IncludeIdentifier(CursesOptions),
|
|
429
|
+
curses: DB.Optional({
|
|
430
|
+
type: DB.IncludeIdentifier(CursesOptions),
|
|
431
431
|
}),
|
|
432
|
-
terrain_knowledge: Optional({
|
|
433
|
-
type: IncludeIdentifier(TerrainKnowledgeOptions),
|
|
432
|
+
terrain_knowledge: DB.Optional({
|
|
433
|
+
type: DB.IncludeIdentifier(TerrainKnowledgeOptions),
|
|
434
434
|
}),
|
|
435
|
-
skills: Optional({
|
|
436
|
-
type: IncludeIdentifier(SkillsOptions),
|
|
435
|
+
skills: DB.Optional({
|
|
436
|
+
type: DB.IncludeIdentifier(SkillsOptions),
|
|
437
437
|
}),
|
|
438
|
-
liturgies: Optional({
|
|
439
|
-
type: IncludeIdentifier(LiturgiesOptions),
|
|
438
|
+
liturgies: DB.Optional({
|
|
439
|
+
type: DB.IncludeIdentifier(LiturgiesOptions),
|
|
440
440
|
}),
|
|
441
441
|
}, { minProperties: 1 }),
|
|
442
442
|
});
|
|
443
|
-
const ProfessionVariantPackageOptions = TypeAlias(import.meta.url, {
|
|
443
|
+
const ProfessionVariantPackageOptions = DB.TypeAlias(import.meta.url, {
|
|
444
444
|
name: "ProfessionVariantPackageOptions",
|
|
445
445
|
comment: "In some areas, the profession package grants a loose set of stats where the player must choose between different options for the profession package. The variant may override or remove those options.",
|
|
446
|
-
type: () =>
|
|
447
|
-
skill_specialization: Optional({
|
|
448
|
-
type: GenIncludeIdentifier(VariantOptionAction, [
|
|
449
|
-
IncludeIdentifier(SkillSpecializationOptions),
|
|
446
|
+
type: () => DB.Object({
|
|
447
|
+
skill_specialization: DB.Optional({
|
|
448
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [
|
|
449
|
+
DB.IncludeIdentifier(SkillSpecializationOptions),
|
|
450
450
|
]),
|
|
451
451
|
}),
|
|
452
|
-
languages_scripts: Optional({
|
|
453
|
-
type: GenIncludeIdentifier(VariantOptionAction, [
|
|
454
|
-
IncludeIdentifier(LanguagesScriptsOptions),
|
|
452
|
+
languages_scripts: DB.Optional({
|
|
453
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [
|
|
454
|
+
DB.IncludeIdentifier(LanguagesScriptsOptions),
|
|
455
455
|
]),
|
|
456
456
|
}),
|
|
457
|
-
combat_techniques: Optional({
|
|
458
|
-
type: GenIncludeIdentifier(VariantOptionAction, [
|
|
459
|
-
IncludeIdentifier(CombatTechniquesOptions),
|
|
457
|
+
combat_techniques: DB.Optional({
|
|
458
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [
|
|
459
|
+
DB.IncludeIdentifier(CombatTechniquesOptions),
|
|
460
460
|
]),
|
|
461
461
|
}),
|
|
462
|
-
cantrips: Optional({
|
|
463
|
-
type: GenIncludeIdentifier(VariantOptionAction, [
|
|
462
|
+
cantrips: DB.Optional({
|
|
463
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [
|
|
464
|
+
DB.IncludeIdentifier(CantripsOptions),
|
|
465
|
+
]),
|
|
464
466
|
}),
|
|
465
|
-
curses: Optional({
|
|
466
|
-
type: GenIncludeIdentifier(VariantOptionAction, [IncludeIdentifier(CursesOptions)]),
|
|
467
|
+
curses: DB.Optional({
|
|
468
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [DB.IncludeIdentifier(CursesOptions)]),
|
|
467
469
|
}),
|
|
468
|
-
terrain_knowledge: Optional({
|
|
469
|
-
type: GenIncludeIdentifier(VariantOptionAction, [
|
|
470
|
-
IncludeIdentifier(TerrainKnowledgeOptions),
|
|
470
|
+
terrain_knowledge: DB.Optional({
|
|
471
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [
|
|
472
|
+
DB.IncludeIdentifier(TerrainKnowledgeOptions),
|
|
471
473
|
]),
|
|
472
474
|
}),
|
|
473
|
-
skills: Optional({
|
|
474
|
-
type: GenIncludeIdentifier(VariantOptionAction, [IncludeIdentifier(SkillsOptions)]),
|
|
475
|
+
skills: DB.Optional({
|
|
476
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [DB.IncludeIdentifier(SkillsOptions)]),
|
|
475
477
|
}),
|
|
476
|
-
liturgies: Optional({
|
|
477
|
-
type: GenIncludeIdentifier(VariantOptionAction, [
|
|
478
|
+
liturgies: DB.Optional({
|
|
479
|
+
type: DB.GenIncludeIdentifier(VariantOptionAction, [
|
|
480
|
+
DB.IncludeIdentifier(LiturgiesOptions),
|
|
481
|
+
]),
|
|
478
482
|
}),
|
|
479
483
|
}, { minProperties: 1 }),
|
|
480
484
|
});
|
|
481
|
-
const VariantOptionAction = GenEnum(import.meta.url, {
|
|
485
|
+
const VariantOptionAction = DB.GenEnum(import.meta.url, {
|
|
482
486
|
name: "VariantOptionAction",
|
|
483
|
-
parameters: [Param("T")],
|
|
487
|
+
parameters: [DB.Param("T")],
|
|
484
488
|
values: T => ({
|
|
485
|
-
Remove: EnumCase({ type: null }),
|
|
486
|
-
Override: EnumCase({ type: TypeArgument(T) }),
|
|
489
|
+
Remove: DB.EnumCase({ type: null }),
|
|
490
|
+
Override: DB.EnumCase({ type: DB.TypeArgument(T) }),
|
|
487
491
|
}),
|
|
488
492
|
});
|
|
489
|
-
const SkillSpecializationOptions = Enum(import.meta.url, {
|
|
493
|
+
const SkillSpecializationOptions = DB.Enum(import.meta.url, {
|
|
490
494
|
name: "SkillSpecializationOptions",
|
|
491
495
|
comment: `Select an application from a skill or from one of a list of skills where you get a skill specialization for. You can also specify a skill group from which you can choose a skill.`,
|
|
492
496
|
values: () => ({
|
|
493
|
-
Specific: EnumCase({ type: IncludeIdentifier(SpecificSkillSpecializationOptions) }),
|
|
494
|
-
Group: EnumCase({ type: SkillGroupIdentifier() }),
|
|
497
|
+
Specific: DB.EnumCase({ type: DB.IncludeIdentifier(SpecificSkillSpecializationOptions) }),
|
|
498
|
+
Group: DB.EnumCase({ type: SkillGroupIdentifier() }),
|
|
495
499
|
}),
|
|
496
500
|
});
|
|
497
|
-
const SpecificSkillSpecializationOptions = TypeAlias(import.meta.url, {
|
|
501
|
+
const SpecificSkillSpecializationOptions = DB.TypeAlias(import.meta.url, {
|
|
498
502
|
name: "SpecificSkillSpecializationOptions",
|
|
499
503
|
comment: `Select an application from a skill or from one of a list of skills where you get a skill specialization for.`,
|
|
500
|
-
type: () =>
|
|
501
|
-
options: Required({
|
|
504
|
+
type: () => DB.Object({
|
|
505
|
+
options: DB.Required({
|
|
502
506
|
comment: `Possible skill(s) to get a skill specialization for.`,
|
|
503
|
-
type: Array(SkillIdentifier(), { minItems: 1, uniqueItems: true }),
|
|
507
|
+
type: DB.Array(SkillIdentifier(), { minItems: 1, uniqueItems: true }),
|
|
504
508
|
}),
|
|
505
509
|
}),
|
|
506
510
|
});
|
|
507
|
-
const LanguagesScriptsOptions = TypeAlias(import.meta.url, {
|
|
511
|
+
const LanguagesScriptsOptions = DB.TypeAlias(import.meta.url, {
|
|
508
512
|
name: "LanguagesScriptsOptions",
|
|
509
513
|
comment: `Buy languages and scripts for a specific amount of AP.`,
|
|
510
|
-
type: () =>
|
|
511
|
-
ap_value: Required({
|
|
514
|
+
type: () => DB.Object({
|
|
515
|
+
ap_value: DB.Required({
|
|
512
516
|
comment: "The AP value you can buy languages and scripts for.",
|
|
513
|
-
type: Integer({ minimum: 2 }),
|
|
517
|
+
type: DB.Integer({ minimum: 2 }),
|
|
514
518
|
}),
|
|
515
519
|
}),
|
|
516
520
|
});
|
|
517
|
-
const CombatTechniquesOptions = TypeAlias(import.meta.url, {
|
|
521
|
+
const CombatTechniquesOptions = DB.TypeAlias(import.meta.url, {
|
|
518
522
|
name: "CombatTechniquesOptions",
|
|
519
523
|
comment: `Select one or more combat techniques you get a CtR bonus for.`,
|
|
520
|
-
type: () =>
|
|
521
|
-
fixed: Required({
|
|
524
|
+
type: () => DB.Object({
|
|
525
|
+
fixed: DB.Required({
|
|
522
526
|
comment: `Specify the number of combat techniques that can be selected so that they get increased to a specific CtR. There can be multiple selections with different CtRs.`,
|
|
523
|
-
type: Array(IncludeIdentifier(RatingForCombatTechniquesNumber), { minItems: 1 }),
|
|
527
|
+
type: DB.Array(DB.IncludeIdentifier(RatingForCombatTechniquesNumber), { minItems: 1 }),
|
|
524
528
|
}),
|
|
525
|
-
rest_rating_modifier: Optional({
|
|
529
|
+
rest_rating_modifier: DB.Optional({
|
|
526
530
|
comment: `Define if after the fixed selections the remaining unselected combat techniques will receive a certain rating bonus as well.`,
|
|
527
|
-
type: Integer({ minimum: 1 }),
|
|
531
|
+
type: DB.Integer({ minimum: 1 }),
|
|
528
532
|
}),
|
|
529
|
-
options: Required({
|
|
533
|
+
options: DB.Required({
|
|
530
534
|
comment: "The list of combat techniques to choose from.",
|
|
531
|
-
type: Array(IncludeIdentifier(CombatTechniqueIdentifier), { minItems: 2 }),
|
|
535
|
+
type: DB.Array(DB.IncludeIdentifier(CombatTechniqueIdentifier), { minItems: 2 }),
|
|
532
536
|
}),
|
|
533
537
|
}),
|
|
534
538
|
});
|
|
535
|
-
const RatingForCombatTechniquesNumber = TypeAlias(import.meta.url, {
|
|
539
|
+
const RatingForCombatTechniquesNumber = DB.TypeAlias(import.meta.url, {
|
|
536
540
|
name: "RatingForCombatTechniquesNumber",
|
|
537
|
-
type: () =>
|
|
538
|
-
number: Required({
|
|
541
|
+
type: () => DB.Object({
|
|
542
|
+
number: DB.Required({
|
|
539
543
|
comment: "The number of selectable combat techniques.",
|
|
540
|
-
type: Integer({ minimum: 1 }),
|
|
544
|
+
type: DB.Integer({ minimum: 1 }),
|
|
541
545
|
}),
|
|
542
|
-
rating_modifier: Required({
|
|
546
|
+
rating_modifier: DB.Required({
|
|
543
547
|
comment: `The rating bonus provided for the selected combat technique(s).
|
|
544
548
|
|
|
545
549
|
**Note:** This is a rating *bonus*, so it will be *added* to the default value of 6.`,
|
|
546
|
-
type: Integer({ minimum: 1 }),
|
|
550
|
+
type: DB.Integer({ minimum: 1 }),
|
|
547
551
|
}),
|
|
548
552
|
}),
|
|
549
553
|
});
|
|
550
|
-
const CantripsOptions = TypeAlias(import.meta.url, {
|
|
554
|
+
const CantripsOptions = DB.TypeAlias(import.meta.url, {
|
|
551
555
|
name: "CantripsOptions",
|
|
552
556
|
comment: `Select one or more cantrips you receive.`,
|
|
553
|
-
type: () =>
|
|
554
|
-
number: Required({
|
|
557
|
+
type: () => DB.Object({
|
|
558
|
+
number: DB.Required({
|
|
555
559
|
comment: "The number of selectable cantrips.",
|
|
556
|
-
type: Integer({ minimum: 1 }),
|
|
560
|
+
type: DB.Integer({ minimum: 1 }),
|
|
557
561
|
}),
|
|
558
|
-
options: Required({
|
|
562
|
+
options: DB.Required({
|
|
559
563
|
comment: "The list of cantrips to choose from.",
|
|
560
|
-
type: Array(CantripIdentifier(), { minItems: 2 }),
|
|
564
|
+
type: DB.Array(CantripIdentifier(), { minItems: 2 }),
|
|
561
565
|
}),
|
|
562
566
|
}),
|
|
563
567
|
});
|
|
564
|
-
const CursesOptions = TypeAlias(import.meta.url, {
|
|
568
|
+
const CursesOptions = DB.TypeAlias(import.meta.url, {
|
|
565
569
|
name: "CursesOptions",
|
|
566
570
|
comment: `Buy curses for a specific amount of AP.`,
|
|
567
|
-
type: () =>
|
|
568
|
-
ap_value: Required({
|
|
571
|
+
type: () => DB.Object({
|
|
572
|
+
ap_value: DB.Required({
|
|
569
573
|
comment: "The AP value you can buy curses for.",
|
|
570
|
-
type: Integer({ minimum: 2 }),
|
|
574
|
+
type: DB.Integer({ minimum: 2 }),
|
|
571
575
|
}),
|
|
572
576
|
}),
|
|
573
577
|
});
|
|
574
|
-
const TerrainKnowledgeOptions = TypeAlias(import.meta.url, {
|
|
578
|
+
const TerrainKnowledgeOptions = DB.TypeAlias(import.meta.url, {
|
|
575
579
|
name: "TerrainKnowledgeOptions",
|
|
576
580
|
comment: `Select one of a list of possible terrain knowledges`,
|
|
577
|
-
type: () =>
|
|
578
|
-
options: Required({
|
|
581
|
+
type: () => DB.Object({
|
|
582
|
+
options: DB.Required({
|
|
579
583
|
comment: "The list of possible terrain knowledges.",
|
|
580
|
-
type: Array(GeneralSelectOptionIdentifier(), { minItems: 2 }),
|
|
584
|
+
type: DB.Array(GeneralSelectOptionIdentifier(), { minItems: 2 }),
|
|
581
585
|
}),
|
|
582
586
|
}),
|
|
583
587
|
});
|
|
584
|
-
const SkillsOptions = TypeAlias(import.meta.url, {
|
|
588
|
+
const SkillsOptions = DB.TypeAlias(import.meta.url, {
|
|
585
589
|
name: "SkillsOptions",
|
|
586
590
|
comment: `Buy skills for a specific amount of AP.`,
|
|
587
|
-
type: () =>
|
|
588
|
-
group: Optional({
|
|
591
|
+
type: () => DB.Object({
|
|
592
|
+
group: DB.Optional({
|
|
589
593
|
comment: "If specified, you may only choose from skills of the specified group.",
|
|
590
594
|
type: SkillGroupIdentifier(),
|
|
591
595
|
}),
|
|
592
|
-
ap_value: Required({
|
|
596
|
+
ap_value: DB.Required({
|
|
593
597
|
comment: "The AP value you can buy skills for.",
|
|
594
|
-
type: Integer({ minimum: 1 }),
|
|
598
|
+
type: DB.Integer({ minimum: 1 }),
|
|
595
599
|
}),
|
|
596
600
|
}),
|
|
597
601
|
});
|
|
598
|
-
const LiturgiesOptions = TypeAlias(import.meta.url, {
|
|
602
|
+
const LiturgiesOptions = DB.TypeAlias(import.meta.url, {
|
|
599
603
|
name: "LiturgiesOptions",
|
|
600
604
|
comment: `Buy liturgical chants and ceremonies for a specific amount of AP.`,
|
|
601
|
-
type: () =>
|
|
602
|
-
ap_value: Required({
|
|
605
|
+
type: () => DB.Object({
|
|
606
|
+
ap_value: DB.Required({
|
|
603
607
|
comment: "The AP value you can buy liturgical chants and ceremonies for.",
|
|
604
|
-
type: Integer({ minimum: 1 }),
|
|
608
|
+
type: DB.Integer({ minimum: 1 }),
|
|
605
609
|
}),
|
|
606
610
|
}),
|
|
607
611
|
});
|
|
608
|
-
const ProfessionName = TypeAlias(import.meta.url, {
|
|
612
|
+
const ProfessionName = DB.TypeAlias(import.meta.url, {
|
|
609
613
|
name: "ProfessionName",
|
|
610
614
|
comment: "The name of the profession that may have sex-specific names. Useful if the term in generell is different (i.e. actor/actress) or if the language uses gendered nouns. The default name is also used in case neither the male nor female name strictly applies.",
|
|
611
|
-
type: () =>
|
|
612
|
-
default: Required({
|
|
615
|
+
type: () => DB.Object({
|
|
616
|
+
default: DB.Required({
|
|
613
617
|
comment: "The name from the source publication. This is also used if a character has no specified gender or is neither male nor female.",
|
|
614
|
-
type: String({ minLength: 1 }),
|
|
618
|
+
type: DB.String({ minLength: 1 }),
|
|
615
619
|
}),
|
|
616
|
-
male: Optional({
|
|
620
|
+
male: DB.Optional({
|
|
617
621
|
comment: "The male name, if different from the default name.",
|
|
618
|
-
type: String({ minLength: 1 }),
|
|
622
|
+
type: DB.String({ minLength: 1 }),
|
|
619
623
|
}),
|
|
620
|
-
female: Optional({
|
|
624
|
+
female: DB.Optional({
|
|
621
625
|
comment: "The female name, if different from the default name.",
|
|
622
|
-
type: String({ minLength: 1 }),
|
|
626
|
+
type: DB.String({ minLength: 1 }),
|
|
623
627
|
}),
|
|
624
628
|
}),
|
|
625
629
|
});
|