@optolith/database-schema 0.42.1
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/AUTHORS +1 -0
- package/CHANGELOG.md +1789 -0
- package/LICENSE +378 -0
- package/README.md +34 -0
- package/gen/types.d.ts +24682 -0
- package/lib/cache/activatableSelectOptions.d.ts +18 -0
- package/lib/cache/activatableSelectOptions.js +762 -0
- package/lib/cache/ancestorBloodAdvantages.d.ts +4 -0
- package/lib/cache/ancestorBloodAdvantages.js +13 -0
- package/lib/cache/index.d.ts +31 -0
- package/lib/cache/index.js +22 -0
- package/lib/cache/internal.d.ts +4 -0
- package/lib/cache/internal.js +1 -0
- package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.d.ts +3 -0
- package/lib/cache/magicalAndBlessedAdvantagesAndDisadvantages.js +103 -0
- package/lib/cache/newApplicationsAndUses.d.ts +22 -0
- package/lib/cache/newApplicationsAndUses.js +12 -0
- package/lib/main.d.ts +17 -0
- package/lib/main.js +226 -0
- package/lib/test.d.ts +1 -0
- package/lib/test.js +11 -0
- package/lib/types/Advantage.d.ts +1193 -0
- package/lib/types/Advantage.js +58 -0
- package/lib/types/AnimalDisease.d.ts +91 -0
- package/lib/types/AnimalDisease.js +35 -0
- package/lib/types/AnimalType.d.ts +6 -0
- package/lib/types/AnimalType.js +21 -0
- package/lib/types/ArcaneBardTradition.d.ts +30 -0
- package/lib/types/ArcaneBardTradition.js +14 -0
- package/lib/types/ArcaneDancerTradition.d.ts +30 -0
- package/lib/types/ArcaneDancerTradition.js +14 -0
- package/lib/types/Aspect.d.ts +7 -0
- package/lib/types/Aspect.js +27 -0
- package/lib/types/Attribute.d.ts +19 -0
- package/lib/types/Attribute.js +49 -0
- package/lib/types/Blessing.d.ts +106 -0
- package/lib/types/Blessing.js +102 -0
- package/lib/types/Cantrip.d.ts +134 -0
- package/lib/types/Cantrip.js +166 -0
- package/lib/types/Ceremony.d.ts +685 -0
- package/lib/types/Ceremony.js +94 -0
- package/lib/types/CombatTechnique.d.ts +153 -0
- package/lib/types/CombatTechnique.js +133 -0
- package/lib/types/Condition.d.ts +53 -0
- package/lib/types/Condition.js +38 -0
- package/lib/types/Continent.d.ts +6 -0
- package/lib/types/Continent.js +22 -0
- package/lib/types/Culture.d.ts +158 -0
- package/lib/types/Culture.js +374 -0
- package/lib/types/DerivedCharacteristic.d.ts +267 -0
- package/lib/types/DerivedCharacteristic.js +227 -0
- package/lib/types/Disadvantage.d.ts +1120 -0
- package/lib/types/Disadvantage.js +59 -0
- package/lib/types/Disease.d.ts +111 -0
- package/lib/types/Disease.js +35 -0
- package/lib/types/Element.d.ts +6 -0
- package/lib/types/Element.js +21 -0
- package/lib/types/ExperienceLevel.d.ts +13 -0
- package/lib/types/ExperienceLevel.js +56 -0
- package/lib/types/EyeColor.d.ts +6 -0
- package/lib/types/EyeColor.js +21 -0
- package/lib/types/FamiliarsTrick.d.ts +192 -0
- package/lib/types/FamiliarsTrick.js +202 -0
- package/lib/types/HairColor.d.ts +6 -0
- package/lib/types/HairColor.js +21 -0
- package/lib/types/HomunculusType.d.ts +6 -0
- package/lib/types/HomunculusType.js +15 -0
- package/lib/types/Influence.d.ts +80 -0
- package/lib/types/Influence.js +52 -0
- package/lib/types/Lessons.d.ts +181 -0
- package/lib/types/Lessons.js +230 -0
- package/lib/types/LiturgicalChant.d.ts +685 -0
- package/lib/types/LiturgicalChant.js +94 -0
- package/lib/types/Locale.d.ts +1607 -0
- package/lib/types/Locale.js +1747 -0
- package/lib/types/MetaCondition.d.ts +53 -0
- package/lib/types/MetaCondition.js +39 -0
- package/lib/types/PactCategory.d.ts +75 -0
- package/lib/types/PactCategory.js +102 -0
- package/lib/types/Patron.d.ts +101 -0
- package/lib/types/Patron.js +203 -0
- package/lib/types/PatronCategory.d.ts +7 -0
- package/lib/types/PatronCategory.js +26 -0
- package/lib/types/PersonalityTrait.d.ts +81 -0
- package/lib/types/PersonalityTrait.js +58 -0
- package/lib/types/Profession.d.ts +2120 -0
- package/lib/types/Profession.js +631 -0
- package/lib/types/Property.d.ts +7 -0
- package/lib/types/Property.js +26 -0
- package/lib/types/Race.d.ts +207 -0
- package/lib/types/Race.js +332 -0
- package/lib/types/Region.d.ts +6 -0
- package/lib/types/Region.js +21 -0
- package/lib/types/Ritual.d.ts +688 -0
- package/lib/types/Ritual.js +96 -0
- package/lib/types/Service.d.ts +56 -0
- package/lib/types/Service.js +45 -0
- package/lib/types/SexPractice.d.ts +51 -0
- package/lib/types/SexPractice.js +39 -0
- package/lib/types/Skill.d.ts +116 -0
- package/lib/types/Skill.js +139 -0
- package/lib/types/SkillGroup.d.ts +17 -0
- package/lib/types/SkillGroup.js +45 -0
- package/lib/types/SkillModificationLevel.d.ts +34 -0
- package/lib/types/SkillModificationLevel.js +116 -0
- package/lib/types/SocialStatus.d.ts +7 -0
- package/lib/types/SocialStatus.js +26 -0
- package/lib/types/Spell.d.ts +688 -0
- package/lib/types/Spell.js +96 -0
- package/lib/types/State.d.ts +52 -0
- package/lib/types/State.js +31 -0
- package/lib/types/Talisman.d.ts +135 -0
- package/lib/types/Talisman.js +168 -0
- package/lib/types/TargetCategory.d.ts +7 -0
- package/lib/types/TargetCategory.js +26 -0
- package/lib/types/_Activatable.d.ts +12 -0
- package/lib/types/_Activatable.js +43 -0
- package/lib/types/_ActivatableAdvanced.d.ts +50 -0
- package/lib/types/_ActivatableAdvanced.js +101 -0
- package/lib/types/_ActivatableAdventurePointsValue.d.ts +159 -0
- package/lib/types/_ActivatableAdventurePointsValue.js +148 -0
- package/lib/types/_ActivatableAutomatic.d.ts +74 -0
- package/lib/types/_ActivatableAutomatic.js +64 -0
- package/lib/types/_ActivatableCombat.d.ts +123 -0
- package/lib/types/_ActivatableCombat.js +350 -0
- package/lib/types/_ActivatableNames.d.ts +15 -0
- package/lib/types/_ActivatableNames.js +26 -0
- package/lib/types/_ActivatableNonMundane.d.ts +387 -0
- package/lib/types/_ActivatableNonMundane.js +536 -0
- package/lib/types/_ActivatableSelectOptionCategory.d.ts +1380 -0
- package/lib/types/_ActivatableSelectOptionCategory.js +478 -0
- package/lib/types/_ActivatableSelectOptions.d.ts +1077 -0
- package/lib/types/_ActivatableSelectOptions.js +218 -0
- package/lib/types/_ActivatableSkill.d.ts +1231 -0
- package/lib/types/_ActivatableSkill.js +89 -0
- package/lib/types/_ActivatableSkillApplicationsAndUses.d.ts +109 -0
- package/lib/types/_ActivatableSkillApplicationsAndUses.js +80 -0
- package/lib/types/_ActivatableSkillCastingTime.d.ts +66 -0
- package/lib/types/_ActivatableSkillCastingTime.js +92 -0
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +27 -0
- package/lib/types/_ActivatableSkillCheckResultBased.js +45 -0
- package/lib/types/_ActivatableSkillCost.d.ts +366 -0
- package/lib/types/_ActivatableSkillCost.js +280 -0
- package/lib/types/_ActivatableSkillDuration.d.ts +204 -0
- package/lib/types/_ActivatableSkillDuration.js +138 -0
- package/lib/types/_ActivatableSkillEffect.d.ts +16 -0
- package/lib/types/_ActivatableSkillEffect.js +65 -0
- package/lib/types/_ActivatableSkillRange.d.ts +62 -0
- package/lib/types/_ActivatableSkillRange.js +106 -0
- package/lib/types/_ActivatableSkillTargetCategory.d.ts +14 -0
- package/lib/types/_ActivatableSkillTargetCategory.js +30 -0
- package/lib/types/_AlternativeNames.d.ts +5 -0
- package/lib/types/_AlternativeNames.js +14 -0
- package/lib/types/_ArcaneTradition.d.ts +30 -0
- package/lib/types/_ArcaneTradition.js +14 -0
- package/lib/types/_Blessed.d.ts +8 -0
- package/lib/types/_Blessed.js +22 -0
- package/lib/types/_Color.d.ts +19 -0
- package/lib/types/_Color.js +27 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +7 -0
- package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +19 -0
- package/lib/types/_Dice.d.ts +6 -0
- package/lib/types/_Dice.js +23 -0
- package/lib/types/_DiseasePoison.d.ts +59 -0
- package/lib/types/_DiseasePoison.js +110 -0
- package/lib/types/_Enhancements.d.ts +170 -0
- package/lib/types/_Enhancements.js +80 -0
- package/lib/types/_Identifier.d.ts +170 -0
- package/lib/types/_Identifier.js +325 -0
- package/lib/types/_IdentifierGroup.d.ts +413 -0
- package/lib/types/_IdentifierGroup.js +333 -0
- package/lib/types/_ImprovementCost.d.ts +7 -0
- package/lib/types/_ImprovementCost.js +10 -0
- package/lib/types/_MathExpression.d.ts +12 -0
- package/lib/types/_MathExpression.js +36 -0
- package/lib/types/_Prerequisite.d.ts +421 -0
- package/lib/types/_Prerequisite.js +163 -0
- package/lib/types/_ResponsiveText.d.ts +13 -0
- package/lib/types/_ResponsiveText.js +43 -0
- package/lib/types/_Sex.d.ts +5 -0
- package/lib/types/_Sex.js +8 -0
- package/lib/types/_SizeCategory.d.ts +15 -0
- package/lib/types/_SizeCategory.js +24 -0
- package/lib/types/_SkillCheck.d.ts +11 -0
- package/lib/types/_SkillCheck.js +23 -0
- package/lib/types/_Spellwork.d.ts +17 -0
- package/lib/types/_Spellwork.js +39 -0
- package/lib/types/equipment/EquipmentPackage.d.ts +85 -0
- package/lib/types/equipment/EquipmentPackage.js +41 -0
- package/lib/types/equipment/item/Ammunition.d.ts +72 -0
- package/lib/types/equipment/item/Ammunition.js +44 -0
- package/lib/types/equipment/item/Animal.d.ts +72 -0
- package/lib/types/equipment/item/Animal.js +22 -0
- package/lib/types/equipment/item/AnimalCare.d.ts +87 -0
- package/lib/types/equipment/item/AnimalCare.js +58 -0
- package/lib/types/equipment/item/Armor.d.ts +166 -0
- package/lib/types/equipment/item/Armor.js +181 -0
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +201 -0
- package/lib/types/equipment/item/BandageOrRemedy.js +48 -0
- package/lib/types/equipment/item/Book.d.ts +169 -0
- package/lib/types/equipment/item/Book.js +271 -0
- package/lib/types/equipment/item/CeremonialItem.d.ts +202 -0
- package/lib/types/equipment/item/CeremonialItem.js +53 -0
- package/lib/types/equipment/item/Clothes.d.ts +201 -0
- package/lib/types/equipment/item/Clothes.js +48 -0
- package/lib/types/equipment/item/ClothingPackage.d.ts +63 -0
- package/lib/types/equipment/item/ClothingPackage.js +21 -0
- package/lib/types/equipment/item/Container.d.ts +201 -0
- package/lib/types/equipment/item/Container.js +48 -0
- package/lib/types/equipment/item/Elixir.d.ts +119 -0
- package/lib/types/equipment/item/Elixir.js +110 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +215 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +44 -0
- package/lib/types/equipment/item/GemOrPreciousStone.d.ts +74 -0
- package/lib/types/equipment/item/GemOrPreciousStone.js +52 -0
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +210 -0
- package/lib/types/equipment/item/IlluminationLightSource.js +78 -0
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +201 -0
- package/lib/types/equipment/item/IlluminationRefillOrSupply.js +48 -0
- package/lib/types/equipment/item/Jewelry.d.ts +74 -0
- package/lib/types/equipment/item/Jewelry.js +46 -0
- package/lib/types/equipment/item/Laboratory.d.ts +81 -0
- package/lib/types/equipment/item/Laboratory.js +34 -0
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +201 -0
- package/lib/types/equipment/item/Liebesspielzeug.js +48 -0
- package/lib/types/equipment/item/LuxuryGood.d.ts +201 -0
- package/lib/types/equipment/item/LuxuryGood.js +48 -0
- package/lib/types/equipment/item/MagicalArtifact.d.ts +204 -0
- package/lib/types/equipment/item/MagicalArtifact.js +82 -0
- package/lib/types/equipment/item/MusicalInstrument.d.ts +201 -0
- package/lib/types/equipment/item/MusicalInstrument.js +48 -0
- package/lib/types/equipment/item/Newspaper.d.ts +67 -0
- package/lib/types/equipment/item/Newspaper.js +36 -0
- package/lib/types/equipment/item/OrienteeringAid.d.ts +200 -0
- package/lib/types/equipment/item/OrienteeringAid.js +2 -0
- package/lib/types/equipment/item/Poison.d.ts +621 -0
- package/lib/types/equipment/item/Poison.js +486 -0
- package/lib/types/equipment/item/RopeOrChain.d.ts +200 -0
- package/lib/types/equipment/item/RopeOrChain.js +2 -0
- package/lib/types/equipment/item/Stationery.d.ts +200 -0
- package/lib/types/equipment/item/Stationery.js +2 -0
- package/lib/types/equipment/item/ThievesTool.d.ts +200 -0
- package/lib/types/equipment/item/ThievesTool.js +2 -0
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +83 -0
- package/lib/types/equipment/item/ToolOfTheTrade.js +34 -0
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +201 -0
- package/lib/types/equipment/item/TravelGearOrTool.js +48 -0
- package/lib/types/equipment/item/Vehicle.d.ts +80 -0
- package/lib/types/equipment/item/Vehicle.js +30 -0
- package/lib/types/equipment/item/Weapon.d.ts +225 -0
- package/lib/types/equipment/item/Weapon.js +132 -0
- package/lib/types/equipment/item/WeaponAccessory.d.ts +201 -0
- package/lib/types/equipment/item/WeaponAccessory.js +48 -0
- package/lib/types/equipment/item/WorkingSupernaturalCreature.d.ts +72 -0
- package/lib/types/equipment/item/WorkingSupernaturalCreature.js +44 -0
- package/lib/types/equipment/item/_Herbary.d.ts +76 -0
- package/lib/types/equipment/item/_Herbary.js +48 -0
- package/lib/types/equipment/item/_Item.d.ts +414 -0
- package/lib/types/equipment/item/_Item.js +254 -0
- package/lib/types/equipment/item/_MeleeWeapon.d.ts +62 -0
- package/lib/types/equipment/item/_MeleeWeapon.js +100 -0
- package/lib/types/equipment/item/_RangedWeapon.d.ts +38 -0
- package/lib/types/equipment/item/_RangedWeapon.js +93 -0
- package/lib/types/equipment/item/_Weapon.d.ts +25 -0
- package/lib/types/equipment/item/_Weapon.js +77 -0
- package/lib/types/equipment/item/sub/ArmorType.d.ts +7 -0
- package/lib/types/equipment/item/sub/ArmorType.js +25 -0
- package/lib/types/equipment/item/sub/Reach.d.ts +7 -0
- package/lib/types/equipment/item/sub/Reach.js +28 -0
- package/lib/types/index.d.ts +160 -0
- package/lib/types/index.js +160 -0
- package/lib/types/magicalActions/AnimistPower.d.ts +302 -0
- package/lib/types/magicalActions/AnimistPower.js +204 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
- package/lib/types/magicalActions/AnimistPower_Tribe.js +26 -0
- package/lib/types/magicalActions/Bannzeichen.d.ts +244 -0
- package/lib/types/magicalActions/Bannzeichen.js +231 -0
- package/lib/types/magicalActions/Curse.d.ts +219 -0
- package/lib/types/magicalActions/Curse.js +133 -0
- package/lib/types/magicalActions/DominationRitual.d.ts +204 -0
- package/lib/types/magicalActions/DominationRitual.js +133 -0
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +126 -0
- package/lib/types/magicalActions/ElvenMagicalSong.js +117 -0
- package/lib/types/magicalActions/GeodeRitual.d.ts +227 -0
- package/lib/types/magicalActions/GeodeRitual.js +142 -0
- package/lib/types/magicalActions/GoblinRitual.d.ts +286 -0
- package/lib/types/magicalActions/GoblinRitual.js +196 -0
- package/lib/types/magicalActions/JesterTrick.d.ts +305 -0
- package/lib/types/magicalActions/JesterTrick.js +160 -0
- package/lib/types/magicalActions/MagicalDance.d.ts +129 -0
- package/lib/types/magicalActions/MagicalDance.js +119 -0
- package/lib/types/magicalActions/MagicalMelody.d.ts +133 -0
- package/lib/types/magicalActions/MagicalMelody.js +123 -0
- package/lib/types/magicalActions/MagicalRune.d.ts +279 -0
- package/lib/types/magicalActions/MagicalRune.js +292 -0
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +420 -0
- package/lib/types/magicalActions/ZibiljaRitual.js +90 -0
- package/lib/types/magicalActions/_MusicTradition.d.ts +17 -0
- package/lib/types/magicalActions/_MusicTradition.js +43 -0
- package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +42 -0
- package/lib/types/prerequisites/ConditionalPrerequisites.js +9 -0
- package/lib/types/prerequisites/DisplayOption.d.ts +13 -0
- package/lib/types/prerequisites/DisplayOption.js +27 -0
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +2053 -0
- package/lib/types/prerequisites/PrerequisiteGroups.js +180 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +133 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +32 -0
- package/lib/types/prerequisites/single/AncestorBloodPrerequisite.d.ts +4 -0
- package/lib/types/prerequisites/single/AncestorBloodPrerequisite.js +4 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +18 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +24 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.js +16 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +4 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.js +12 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +17 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.js +19 -0
- package/lib/types/prerequisites/single/PactPrerequisite.d.ts +18 -0
- package/lib/types/prerequisites/single/PactPrerequisite.js +24 -0
- package/lib/types/prerequisites/single/PersonalityTraitPrerequisite.d.ts +17 -0
- package/lib/types/prerequisites/single/PersonalityTraitPrerequisite.js +19 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +20 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +25 -0
- package/lib/types/prerequisites/single/ProfessionPrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/ProfessionPrerequisite.js +16 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.js +15 -0
- package/lib/types/prerequisites/single/RacePrerequisite.d.ts +17 -0
- package/lib/types/prerequisites/single/RacePrerequisite.js +19 -0
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.d.ts +51 -0
- package/lib/types/prerequisites/single/RatedMinimumNumberPrerequisite.js +82 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +26 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.js +19 -0
- package/lib/types/prerequisites/single/RatedSumPrerequisite.d.ts +17 -0
- package/lib/types/prerequisites/single/RatedSumPrerequisite.js +19 -0
- package/lib/types/prerequisites/single/RulePrerequisite.d.ts +19 -0
- package/lib/types/prerequisites/single/RulePrerequisite.js +15 -0
- package/lib/types/prerequisites/single/SexPrerequisite.d.ts +19 -0
- package/lib/types/prerequisites/single/SexPrerequisite.js +15 -0
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.d.ts +7 -0
- package/lib/types/prerequisites/single/SexualCharacteristicPrerequisite.js +17 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +16 -0
- package/lib/types/prerequisites/single/StatePrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/StatePrerequisite.js +15 -0
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +19 -0
- package/lib/types/prerequisites/single/TextPrerequisite.js +53 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +37 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +42 -0
- package/lib/types/rule/AlternativeRule.d.ts +54 -0
- package/lib/types/rule/AlternativeRule.js +40 -0
- package/lib/types/rule/AlternativeRule_PlayerType.d.ts +6 -0
- package/lib/types/rule/AlternativeRule_PlayerType.js +16 -0
- package/lib/types/rule/CoreRule.d.ts +143 -0
- package/lib/types/rule/CoreRule.js +181 -0
- package/lib/types/rule/FocusRule.d.ts +79 -0
- package/lib/types/rule/FocusRule.js +48 -0
- package/lib/types/rule/FocusRule_Subject.d.ts +6 -0
- package/lib/types/rule/FocusRule_Subject.js +22 -0
- package/lib/types/rule/OptionalRule.d.ts +83 -0
- package/lib/types/rule/OptionalRule.js +59 -0
- package/lib/types/source/Publication.d.ts +50 -0
- package/lib/types/source/Publication.js +64 -0
- package/lib/types/source/_Erratum.d.ts +12 -0
- package/lib/types/source/_Erratum.js +22 -0
- package/lib/types/source/_PublicationRef.d.ts +168 -0
- package/lib/types/source/_PublicationRef.js +164 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +1234 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +52 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +1116 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +47 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +1116 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +47 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +1116 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +47 -0
- package/lib/types/specialAbility/AncestorGlyph.d.ts +1063 -0
- package/lib/types/specialAbility/AncestorGlyph.js +48 -0
- package/lib/types/specialAbility/BlessedTradition.d.ts +1141 -0
- package/lib/types/specialAbility/BlessedTradition.js +147 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +1127 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.js +46 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +1117 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +53 -0
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +1235 -0
- package/lib/types/specialAbility/CombatSpecialAbility.js +52 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +1286 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +54 -0
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +1127 -0
- package/lib/types/specialAbility/CommandSpecialAbility.js +46 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +1062 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.js +43 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +1062 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.js +43 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +1116 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.js +46 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +1117 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.js +47 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +1062 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.js +43 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +1165 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +49 -0
- package/lib/types/specialAbility/LycantropicGift.d.ts +1062 -0
- package/lib/types/specialAbility/LycantropicGift.js +43 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +1165 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.js +49 -0
- package/lib/types/specialAbility/MagicalSign.d.ts +127 -0
- package/lib/types/specialAbility/MagicalSign.js +66 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +1117 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.js +47 -0
- package/lib/types/specialAbility/MagicalTradition.d.ts +1138 -0
- package/lib/types/specialAbility/MagicalTradition.js +115 -0
- package/lib/types/specialAbility/PactGift.d.ts +1143 -0
- package/lib/types/specialAbility/PactGift.js +76 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +1064 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +54 -0
- package/lib/types/specialAbility/Sermon.d.ts +1062 -0
- package/lib/types/specialAbility/Sermon.js +43 -0
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +1116 -0
- package/lib/types/specialAbility/SexSpecialAbility.js +46 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +1062 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +43 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +1111 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.js +46 -0
- package/lib/types/specialAbility/VampiricGift.d.ts +1062 -0
- package/lib/types/specialAbility/VampiricGift.js +43 -0
- package/lib/types/specialAbility/Vision.d.ts +1062 -0
- package/lib/types/specialAbility/Vision.js +43 -0
- package/lib/types/specialAbility/_Tradition.d.ts +5 -0
- package/lib/types/specialAbility/_Tradition.js +14 -0
- package/lib/types/specialAbility/sub/Language.d.ts +108 -0
- package/lib/types/specialAbility/sub/Language.js +98 -0
- package/lib/types/specialAbility/sub/Script.d.ts +62 -0
- package/lib/types/specialAbility/sub/Script.js +50 -0
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +972 -0
- package/lib/types/specialAbility/sub/TradeSecret.js +76 -0
- package/lib/types/specialAbility/sub/_LanguageScript.d.ts +5 -0
- package/lib/types/specialAbility/sub/_LanguageScript.js +15 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/AttireEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/Beutelzauber.d.ts +1282 -0
- package/lib/types/traditionArtifacts/Beutelzauber.js +50 -0
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/BowlEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +1283 -0
- package/lib/types/traditionArtifacts/CauldronEnchantment.js +55 -0
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/ChronicleEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +1294 -0
- package/lib/types/traditionArtifacts/DaggerRitual.js +85 -0
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +52 -0
- package/lib/types/traditionArtifacts/Haubenzauber.d.ts +1282 -0
- package/lib/types/traditionArtifacts/Haubenzauber.js +50 -0
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/InstrumentEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +1282 -0
- package/lib/types/traditionArtifacts/Krallenkettenzauber.js +50 -0
- package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +1282 -0
- package/lib/types/traditionArtifacts/Kristallkugelzauber.js +50 -0
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/OrbEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/RingEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +1282 -0
- package/lib/types/traditionArtifacts/SickleRitual.js +50 -0
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +1286 -0
- package/lib/types/traditionArtifacts/StaffEnchantment.js +55 -0
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/ToyEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +1282 -0
- package/lib/types/traditionArtifacts/Trinkhornzauber.js +50 -0
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +1231 -0
- package/lib/types/traditionArtifacts/WandEnchantment.js +49 -0
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +1282 -0
- package/lib/types/traditionArtifacts/WeaponEnchantment.js +50 -0
- package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +8 -0
- package/lib/types/traditionArtifacts/sub/AnimalShape.js +24 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +6 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +15 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +8 -0
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +23 -0
- package/lib/types/traditionArtifacts/sub/Brew.d.ts +6 -0
- package/lib/types/traditionArtifacts/sub/Brew.js +15 -0
- package/package.json +61 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { FastPerformanceParameters, OldParameter } from "./_ActivatableSkill.js";
|
|
3
|
+
import { ActivatableSkillEffect } from "./_ActivatableSkillEffect.js";
|
|
4
|
+
import { AffectedTargetCategories } from "./_ActivatableSkillTargetCategory.js";
|
|
5
|
+
import { Enhancement } from "./_Enhancements.js";
|
|
6
|
+
import { PropertyIdentifier } from "./_Identifier.js";
|
|
7
|
+
import { ImprovementCost } from "./_ImprovementCost.js";
|
|
8
|
+
import { SpellworkPrerequisites } from "./_Prerequisite.js";
|
|
9
|
+
import { SkillCheck, SkillCheckPenalty } from "./_SkillCheck.js";
|
|
10
|
+
import { reversalis, SpellworkTraditions } from "./_Spellwork.js";
|
|
11
|
+
import { NestedTranslationMap } from "./Locale.js";
|
|
12
|
+
import { Errata } from "./source/_Erratum.js";
|
|
13
|
+
import { src } from "./source/_PublicationRef.js";
|
|
14
|
+
export const Spell = DB.Entity(import.meta.url, {
|
|
15
|
+
name: "Spell",
|
|
16
|
+
namePlural: "Spells",
|
|
17
|
+
type: () => DB.Object({
|
|
18
|
+
check: DB.Required({
|
|
19
|
+
comment: "Lists the linked three attributes used to make a skill check.",
|
|
20
|
+
type: DB.IncludeIdentifier(SkillCheck),
|
|
21
|
+
}),
|
|
22
|
+
check_penalty: DB.Optional({
|
|
23
|
+
comment: "In some cases, the target's Spirit or Toughness is applied as a penalty.",
|
|
24
|
+
type: DB.IncludeIdentifier(SkillCheckPenalty),
|
|
25
|
+
}),
|
|
26
|
+
parameters: DB.Required({
|
|
27
|
+
comment: "Measurable parameters of a spell.",
|
|
28
|
+
type: DB.IncludeIdentifier(FastPerformanceParameters),
|
|
29
|
+
}),
|
|
30
|
+
target: DB.Required({
|
|
31
|
+
comment: "The target category – the kind of creature or object – the skill affects.",
|
|
32
|
+
type: DB.IncludeIdentifier(AffectedTargetCategories),
|
|
33
|
+
}),
|
|
34
|
+
property: DB.Required({
|
|
35
|
+
comment: "The associated property.",
|
|
36
|
+
type: PropertyIdentifier(),
|
|
37
|
+
}),
|
|
38
|
+
traditions: DB.Required({
|
|
39
|
+
comment: "The tradition(s) the spell is available for. It may be *generally* available to all traditions or it may be only familiar in specific traditions.",
|
|
40
|
+
type: DB.IncludeIdentifier(SpellworkTraditions),
|
|
41
|
+
}),
|
|
42
|
+
improvement_cost: DB.Required({
|
|
43
|
+
comment: "States which column is used to improve the skill.",
|
|
44
|
+
type: DB.IncludeIdentifier(ImprovementCost),
|
|
45
|
+
}),
|
|
46
|
+
prerequisites: DB.Optional({
|
|
47
|
+
comment: "The prerequisites for the spell.",
|
|
48
|
+
type: DB.IncludeIdentifier(SpellworkPrerequisites),
|
|
49
|
+
}),
|
|
50
|
+
reversalis,
|
|
51
|
+
src,
|
|
52
|
+
translations: NestedTranslationMap(DB.Required, "Spell", DB.Object({
|
|
53
|
+
name: DB.Required({
|
|
54
|
+
comment: "The spell’s name.",
|
|
55
|
+
type: DB.String({ minLength: 1 }),
|
|
56
|
+
}),
|
|
57
|
+
effect: DB.Required({
|
|
58
|
+
comment: "The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels.",
|
|
59
|
+
type: DB.IncludeIdentifier(ActivatableSkillEffect),
|
|
60
|
+
}),
|
|
61
|
+
casting_time: DB.Optional({
|
|
62
|
+
isDeprecated: true,
|
|
63
|
+
type: DB.IncludeIdentifier(OldParameter),
|
|
64
|
+
}),
|
|
65
|
+
cost: DB.Optional({
|
|
66
|
+
isDeprecated: true,
|
|
67
|
+
type: DB.IncludeIdentifier(OldParameter),
|
|
68
|
+
}),
|
|
69
|
+
range: DB.Optional({
|
|
70
|
+
isDeprecated: true,
|
|
71
|
+
type: DB.IncludeIdentifier(OldParameter),
|
|
72
|
+
}),
|
|
73
|
+
duration: DB.Optional({
|
|
74
|
+
isDeprecated: true,
|
|
75
|
+
type: DB.IncludeIdentifier(OldParameter),
|
|
76
|
+
}),
|
|
77
|
+
target: DB.Optional({
|
|
78
|
+
isDeprecated: true,
|
|
79
|
+
type: DB.String({ minLength: 1 }),
|
|
80
|
+
}),
|
|
81
|
+
errata: DB.Optional({
|
|
82
|
+
type: DB.IncludeIdentifier(Errata),
|
|
83
|
+
}),
|
|
84
|
+
})),
|
|
85
|
+
enhancements: DB.Required({
|
|
86
|
+
type: DB.ChildEntities(Enhancement),
|
|
87
|
+
}),
|
|
88
|
+
}),
|
|
89
|
+
instanceDisplayName: {},
|
|
90
|
+
uniqueConstraints: [
|
|
91
|
+
{
|
|
92
|
+
entityMapKeyPath: "translations",
|
|
93
|
+
keyPathInEntityMap: "name",
|
|
94
|
+
},
|
|
95
|
+
],
|
|
96
|
+
});
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const State: DB.Entity<"State", {
|
|
3
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
4
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
5
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
6
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
7
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
8
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
9
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
10
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
11
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
12
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
13
|
+
}, []>>, true>;
|
|
14
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
15
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
16
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
17
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
18
|
+
}, []>>, false>;
|
|
19
|
+
}>, []>>>, true>;
|
|
20
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
21
|
+
}>, []>>, true>;
|
|
22
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
23
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
24
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
25
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
26
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
27
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
28
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
29
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
30
|
+
}, []>>, true>;
|
|
31
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
32
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
33
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
34
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
35
|
+
}, []>>, false>;
|
|
36
|
+
}>, []>>>, true>;
|
|
37
|
+
}>, []>>>;
|
|
38
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
39
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
40
|
+
}>, []>>>;
|
|
41
|
+
}, []>>>, false>;
|
|
42
|
+
}>, true>;
|
|
43
|
+
}>, []>>>, []>>, true>;
|
|
44
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"StateTranslation", {
|
|
45
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
46
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
47
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
48
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
49
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
50
|
+
}>, []>>>, []>>, false>;
|
|
51
|
+
}>, true>;
|
|
52
|
+
}, undefined>;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { NestedTranslationMap } from "./Locale.js";
|
|
3
|
+
import { Errata } from "./source/_Erratum.js";
|
|
4
|
+
import { src } from "./source/_PublicationRef.js";
|
|
5
|
+
export const State = DB.Entity(import.meta.url, {
|
|
6
|
+
name: "State",
|
|
7
|
+
namePlural: "States",
|
|
8
|
+
type: () => DB.Object({
|
|
9
|
+
src,
|
|
10
|
+
translations: NestedTranslationMap(DB.Required, "State", DB.Object({
|
|
11
|
+
name: DB.Required({
|
|
12
|
+
comment: "The state’s name.",
|
|
13
|
+
type: DB.String({ minLength: 1 }),
|
|
14
|
+
}),
|
|
15
|
+
description: DB.Required({
|
|
16
|
+
comment: "The description of the state.",
|
|
17
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
18
|
+
}),
|
|
19
|
+
errata: DB.Optional({
|
|
20
|
+
type: DB.IncludeIdentifier(Errata),
|
|
21
|
+
}),
|
|
22
|
+
})),
|
|
23
|
+
}),
|
|
24
|
+
instanceDisplayName: {},
|
|
25
|
+
uniqueConstraints: [
|
|
26
|
+
{
|
|
27
|
+
entityMapKeyPath: "translations",
|
|
28
|
+
keyPathInEntityMap: "name",
|
|
29
|
+
},
|
|
30
|
+
],
|
|
31
|
+
});
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { MathOperation } from "./_MathExpression.js";
|
|
3
|
+
export declare const Talisman: DB.Entity<"Talisman", {
|
|
4
|
+
tradition: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
|
|
5
|
+
type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"TalismanType", {
|
|
6
|
+
MainTalisman: DB.EnumCase<null>;
|
|
7
|
+
Talisman: DB.EnumCase<null>;
|
|
8
|
+
MinorTalisman: DB.EnumCase<null>;
|
|
9
|
+
Regalia: DB.EnumCase<null>;
|
|
10
|
+
PowerfulTalisman: DB.EnumCase<null>;
|
|
11
|
+
}, []>>, false>;
|
|
12
|
+
activation: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"TalismanActivation", DB.Object<{
|
|
13
|
+
cost: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"TalismanActivationCost", DB.Object<{
|
|
14
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
15
|
+
unit: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
16
|
+
}>, []>>, true>;
|
|
17
|
+
duration: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"TalismanActivationDuration", DB.Object<{
|
|
18
|
+
value: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"TalismanActivationDurationExpression", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], MathOperation>, []>>, true>;
|
|
19
|
+
unit: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DurationUnit", {
|
|
20
|
+
Seconds: DB.EnumCase<null>;
|
|
21
|
+
Minutes: DB.EnumCase<null>;
|
|
22
|
+
Hours: DB.EnumCase<null>;
|
|
23
|
+
Days: DB.EnumCase<null>;
|
|
24
|
+
Weeks: DB.EnumCase<null>;
|
|
25
|
+
Months: DB.EnumCase<null>;
|
|
26
|
+
Years: DB.EnumCase<null>;
|
|
27
|
+
Centuries: DB.EnumCase<null>;
|
|
28
|
+
Actions: DB.EnumCase<null>;
|
|
29
|
+
CombatRounds: DB.EnumCase<null>;
|
|
30
|
+
}, []>>, true>;
|
|
31
|
+
}>, []>>, true>;
|
|
32
|
+
}>, []>>, false>;
|
|
33
|
+
ap_value: DB.MemberDecl<DB.Integer, false>;
|
|
34
|
+
combatUse: DB.MemberDecl<DB.Object<{
|
|
35
|
+
melee_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
36
|
+
damage: DB.MemberDecl<DB.TypeArgument<DB.Param<"Damage", DB.Type>>, true>;
|
|
37
|
+
damage_threshold: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"PrimaryAttributeDamageThreshold", {
|
|
38
|
+
Default: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"DefaultPrimaryAttributeDamageThreshold", DB.Object<{
|
|
39
|
+
threshold: DB.MemberDecl<DB.Integer, true>;
|
|
40
|
+
}>, []>>>;
|
|
41
|
+
List: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"PrimaryAttributeDamageThresholdList", DB.Object<{
|
|
42
|
+
list: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"SinglePrimaryAttributeDamageThreshold", DB.Object<{
|
|
43
|
+
attribute: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
44
|
+
threshold: DB.MemberDecl<DB.Integer, true>;
|
|
45
|
+
}>, []>>>, true>;
|
|
46
|
+
}>, []>>>;
|
|
47
|
+
}, []>>, false>;
|
|
48
|
+
attackModifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"AttackModifier", DB.Integer, []>>, false>;
|
|
49
|
+
parryModifier: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ParryModifier", DB.Integer, []>>, false>;
|
|
50
|
+
reach: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
|
|
51
|
+
length: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Length", DB.Integer, []>>, false>;
|
|
52
|
+
size: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ShieldSize", {
|
|
53
|
+
Small: DB.EnumCase<null>;
|
|
54
|
+
Medium: DB.EnumCase<null>;
|
|
55
|
+
Large: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"LargeShieldSize", DB.Object<{
|
|
56
|
+
attack_penalty: DB.MemberDecl<DB.Integer, false>;
|
|
57
|
+
}>, []>>>;
|
|
58
|
+
}, []>>, false>;
|
|
59
|
+
is_parrying_weapon: DB.MemberDecl<DB.Boolean, true>;
|
|
60
|
+
is_two_handed_weapon: DB.MemberDecl<DB.Boolean, true>;
|
|
61
|
+
is_improvised_weapon: DB.MemberDecl<DB.Boolean, true>;
|
|
62
|
+
}>, false>;
|
|
63
|
+
ranged_uses: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
64
|
+
damage: DB.MemberDecl<DB.TypeArgument<DB.Param<"Damage", DB.Type>>, true>;
|
|
65
|
+
reload_time: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"ReloadTime", DB.Object<{
|
|
66
|
+
value: DB.MemberDecl<DB.Integer, true>;
|
|
67
|
+
}>, []>>>, true>;
|
|
68
|
+
range: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"RangeBrackets", DB.Object<{
|
|
69
|
+
close: DB.MemberDecl<DB.Integer, true>;
|
|
70
|
+
medium: DB.MemberDecl<DB.Integer, true>;
|
|
71
|
+
far: DB.MemberDecl<DB.Integer, true>;
|
|
72
|
+
}>, []>>, true>;
|
|
73
|
+
ammunition: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"AmmunitionishIdentifier", {
|
|
74
|
+
Ammunition: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
75
|
+
Weapon: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
76
|
+
}, []>>, false>;
|
|
77
|
+
length: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Length", DB.Integer, []>>, false>;
|
|
78
|
+
is_improvised_weapon: DB.MemberDecl<DB.Boolean, true>;
|
|
79
|
+
}>, false>;
|
|
80
|
+
}>, false>;
|
|
81
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
82
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
83
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
84
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
85
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
86
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
87
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
88
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
89
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
90
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
91
|
+
}, []>>, true>;
|
|
92
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
93
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
94
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
95
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
96
|
+
}, []>>, false>;
|
|
97
|
+
}>, []>>>, true>;
|
|
98
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
99
|
+
}>, []>>, true>;
|
|
100
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
101
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
102
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
103
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
104
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
105
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
106
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
107
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
108
|
+
}, []>>, true>;
|
|
109
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
110
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
111
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
112
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
113
|
+
}, []>>, false>;
|
|
114
|
+
}>, []>>>, true>;
|
|
115
|
+
}>, []>>>;
|
|
116
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
117
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
118
|
+
}>, []>>>;
|
|
119
|
+
}, []>>>, false>;
|
|
120
|
+
}>, true>;
|
|
121
|
+
}>, []>>>, []>>, true>;
|
|
122
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"TalismanTranslation", {
|
|
123
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
124
|
+
effect: DB.MemberDecl<DB.String, true>;
|
|
125
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
126
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
127
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
128
|
+
}>, []>>>, []>>, false>;
|
|
129
|
+
}>, true>;
|
|
130
|
+
}, undefined>;
|
|
131
|
+
export declare const TalismanActivationDurationExpression: DB.TypeAlias<"TalismanActivationDurationExpression", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], MathOperation>, []>;
|
|
132
|
+
export declare const TalismanActivationDurationExpressionValue: DB.Enum<"TalismanActivationDurationExpressionValue", {
|
|
133
|
+
Constant: DB.EnumCase<DB.Integer>;
|
|
134
|
+
QualityLevels: DB.EnumCase<null>;
|
|
135
|
+
}, []>;
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { DurationUnit } from "./_ActivatableSkillDuration.js";
|
|
3
|
+
import { Dice } from "./_Dice.js";
|
|
4
|
+
import { BlessedTraditionIdentifier, DerivedCharacteristicIdentifier } from "./_Identifier.js";
|
|
5
|
+
import { MathOperation } from "./_MathExpression.js";
|
|
6
|
+
import { CloseCombatTechnique, RangedCombatTechnique } from "./CombatTechnique.js";
|
|
7
|
+
import { GenMeleeWeapon } from "./equipment/item/_MeleeWeapon.js";
|
|
8
|
+
import { GenRangedWeapon } from "./equipment/item/_RangedWeapon.js";
|
|
9
|
+
import { checkWeaponCombatTechniqueIntegrity } from "./equipment/item/_Weapon.js";
|
|
10
|
+
import { NestedTranslationMap } from "./Locale.js";
|
|
11
|
+
import { Errata } from "./source/_Erratum.js";
|
|
12
|
+
import { src } from "./source/_PublicationRef.js";
|
|
13
|
+
export const Talisman = DB.Entity(import.meta.url, {
|
|
14
|
+
name: "Talisman",
|
|
15
|
+
namePlural: "Talismans",
|
|
16
|
+
type: () => DB.Object({
|
|
17
|
+
tradition: DB.Required({
|
|
18
|
+
comment: "The tradition(s) the talisman belongs to.",
|
|
19
|
+
type: DB.Array(BlessedTraditionIdentifier(), { minItems: 1 }),
|
|
20
|
+
}),
|
|
21
|
+
type: DB.Optional({
|
|
22
|
+
comment: "The talisman type, if any.",
|
|
23
|
+
type: DB.IncludeIdentifier(TalismanType),
|
|
24
|
+
}),
|
|
25
|
+
activation: DB.Optional({
|
|
26
|
+
comment: "The activation parameters.",
|
|
27
|
+
type: DB.IncludeIdentifier(TalismanActivation),
|
|
28
|
+
}),
|
|
29
|
+
ap_value: DB.Optional({
|
|
30
|
+
comment: "The AP value for the required trade secret, if possible.",
|
|
31
|
+
type: DB.Integer({ minimum: 5, multipleOf: 5 }),
|
|
32
|
+
}),
|
|
33
|
+
combatUse: DB.Optional({
|
|
34
|
+
type: DB.Object({
|
|
35
|
+
melee_uses: DB.Optional({
|
|
36
|
+
comment: "A list of stat blocks for each close combat technique this talisman can be used with.",
|
|
37
|
+
type: DB.NestedEntityMap({
|
|
38
|
+
name: "MeleeTalismanUse",
|
|
39
|
+
namePlural: "MeleeTalismanUses",
|
|
40
|
+
secondaryEntity: CloseCombatTechnique,
|
|
41
|
+
type: DB.IncludeIdentifier(TalismanMeleeWeapon),
|
|
42
|
+
minProperties: 1,
|
|
43
|
+
}),
|
|
44
|
+
}),
|
|
45
|
+
ranged_uses: DB.Optional({
|
|
46
|
+
comment: "A list of stat blocks for each ranged combat technique this talisman can be used with.",
|
|
47
|
+
type: DB.NestedEntityMap({
|
|
48
|
+
name: "RangedTalismanUse",
|
|
49
|
+
namePlural: "RangedTalismanUses",
|
|
50
|
+
secondaryEntity: RangedCombatTechnique,
|
|
51
|
+
type: DB.IncludeIdentifier(TalismanRangedWeapon),
|
|
52
|
+
minProperties: 1,
|
|
53
|
+
}),
|
|
54
|
+
}),
|
|
55
|
+
}, { minProperties: 1 }),
|
|
56
|
+
}),
|
|
57
|
+
src,
|
|
58
|
+
translations: NestedTranslationMap(DB.Required, "Talisman", DB.Object({
|
|
59
|
+
name: DB.Required({
|
|
60
|
+
comment: "The talisman’s name.",
|
|
61
|
+
type: DB.String({ minLength: 1 }),
|
|
62
|
+
}),
|
|
63
|
+
effect: DB.Required({
|
|
64
|
+
comment: "The effect description.",
|
|
65
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
66
|
+
}),
|
|
67
|
+
errata: DB.Optional({
|
|
68
|
+
type: DB.IncludeIdentifier(Errata),
|
|
69
|
+
}),
|
|
70
|
+
})),
|
|
71
|
+
}),
|
|
72
|
+
instanceDisplayName: {},
|
|
73
|
+
uniqueConstraints: [
|
|
74
|
+
{
|
|
75
|
+
entityMapKeyPath: "translations",
|
|
76
|
+
keyPathInEntityMap: "name",
|
|
77
|
+
},
|
|
78
|
+
],
|
|
79
|
+
customConstraints: ({ instanceContent, getInstanceById, getDisplayNameAndId }) => instanceContent.combatUse
|
|
80
|
+
? checkWeaponCombatTechniqueIntegrity({
|
|
81
|
+
instanceContent: instanceContent.combatUse,
|
|
82
|
+
getDisplayNameAndId,
|
|
83
|
+
getInstanceById,
|
|
84
|
+
}, { secondary: true })
|
|
85
|
+
: [],
|
|
86
|
+
});
|
|
87
|
+
const TalismanMeleeWeapon = DB.TypeAlias(import.meta.url, {
|
|
88
|
+
name: "TalismanMeleeWeapon",
|
|
89
|
+
type: () => DB.GenIncludeIdentifier(GenMeleeWeapon, [DB.IncludeIdentifier(TalismanDamage)]),
|
|
90
|
+
});
|
|
91
|
+
const TalismanRangedWeapon = DB.TypeAlias(import.meta.url, {
|
|
92
|
+
name: "TalismanRangedWeapon",
|
|
93
|
+
type: () => DB.GenIncludeIdentifier(GenRangedWeapon, [DB.IncludeIdentifier(TalismanDamage)]),
|
|
94
|
+
});
|
|
95
|
+
const TalismanDamage = DB.TypeAlias(import.meta.url, {
|
|
96
|
+
name: "TalismanDamage",
|
|
97
|
+
type: () => DB.GenIncludeIdentifier(MathOperation, [DB.IncludeIdentifier(TalismanDamageOption)]),
|
|
98
|
+
});
|
|
99
|
+
const TalismanDamageOption = DB.Enum(import.meta.url, {
|
|
100
|
+
name: "TalismanDamageOption",
|
|
101
|
+
values: () => ({
|
|
102
|
+
Random: DB.EnumCase({ type: DB.IncludeIdentifier(Dice) }),
|
|
103
|
+
Constant: DB.EnumCase({ type: null }),
|
|
104
|
+
QualityLevels: DB.EnumCase({ type: null }),
|
|
105
|
+
}),
|
|
106
|
+
});
|
|
107
|
+
const TalismanType = DB.Enum(import.meta.url, {
|
|
108
|
+
name: "TalismanType",
|
|
109
|
+
values: () => ({
|
|
110
|
+
MainTalisman: DB.EnumCase({ type: null }),
|
|
111
|
+
Talisman: DB.EnumCase({ type: null }),
|
|
112
|
+
MinorTalisman: DB.EnumCase({ type: null }),
|
|
113
|
+
Regalia: DB.EnumCase({ type: null }),
|
|
114
|
+
PowerfulTalisman: DB.EnumCase({ type: null }),
|
|
115
|
+
}),
|
|
116
|
+
});
|
|
117
|
+
const TalismanActivation = DB.TypeAlias(import.meta.url, {
|
|
118
|
+
name: "TalismanActivation",
|
|
119
|
+
type: () => DB.Object({
|
|
120
|
+
cost: DB.Required({
|
|
121
|
+
comment: "The cost to activate the talisman.",
|
|
122
|
+
type: DB.IncludeIdentifier(TalismanActivationCost),
|
|
123
|
+
}),
|
|
124
|
+
duration: DB.Required({
|
|
125
|
+
comment: "The duration of how long the talisman will be active.",
|
|
126
|
+
type: DB.IncludeIdentifier(TalismanActivationDuration),
|
|
127
|
+
}),
|
|
128
|
+
}),
|
|
129
|
+
});
|
|
130
|
+
const TalismanActivationCost = DB.TypeAlias(import.meta.url, {
|
|
131
|
+
name: "TalismanActivationCost",
|
|
132
|
+
type: () => DB.Object({
|
|
133
|
+
value: DB.Required({
|
|
134
|
+
comment: "The (numeric) cost value.",
|
|
135
|
+
type: DB.Integer({ minimum: 0 }),
|
|
136
|
+
}),
|
|
137
|
+
unit: DB.Required({
|
|
138
|
+
comment: "The unit in which to pay the cost.",
|
|
139
|
+
type: DerivedCharacteristicIdentifier(),
|
|
140
|
+
}),
|
|
141
|
+
}),
|
|
142
|
+
});
|
|
143
|
+
const TalismanActivationDuration = DB.TypeAlias(import.meta.url, {
|
|
144
|
+
name: "TalismanActivationDuration",
|
|
145
|
+
type: () => DB.Object({
|
|
146
|
+
value: DB.Required({
|
|
147
|
+
comment: "The (numeric) duration value.",
|
|
148
|
+
type: DB.IncludeIdentifier(TalismanActivationDurationExpression),
|
|
149
|
+
}),
|
|
150
|
+
unit: DB.Required({
|
|
151
|
+
comment: "The unit of the duration.",
|
|
152
|
+
type: DB.IncludeIdentifier(DurationUnit),
|
|
153
|
+
}),
|
|
154
|
+
}),
|
|
155
|
+
});
|
|
156
|
+
export const TalismanActivationDurationExpression = DB.TypeAlias(import.meta.url, {
|
|
157
|
+
name: "TalismanActivationDurationExpression",
|
|
158
|
+
type: () => DB.GenIncludeIdentifier(MathOperation, [
|
|
159
|
+
DB.IncludeIdentifier(TalismanActivationDurationExpressionValue),
|
|
160
|
+
]),
|
|
161
|
+
});
|
|
162
|
+
export const TalismanActivationDurationExpressionValue = DB.Enum(import.meta.url, {
|
|
163
|
+
name: "TalismanActivationDurationExpressionValue",
|
|
164
|
+
values: () => ({
|
|
165
|
+
Constant: DB.EnumCase({ type: DB.Integer({ minimum: 1 }) }),
|
|
166
|
+
QualityLevels: DB.EnumCase({ type: null }),
|
|
167
|
+
}),
|
|
168
|
+
});
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const TargetCategory: DB.Entity<"TargetCategory", {
|
|
3
|
+
parent: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
4
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"TargetCategoryTranslation", {
|
|
5
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
6
|
+
}>, true>;
|
|
7
|
+
}, undefined>;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { NestedTranslationMap } from "./Locale.js";
|
|
3
|
+
import { TargetCategoryIdentifier } from "./_Identifier.js";
|
|
4
|
+
export const TargetCategory = DB.Entity(import.meta.url, {
|
|
5
|
+
name: "TargetCategory",
|
|
6
|
+
namePlural: "TargetCategories",
|
|
7
|
+
type: () => DB.Object({
|
|
8
|
+
parent: DB.Optional({
|
|
9
|
+
comment: "A superordinate target category, if present.",
|
|
10
|
+
type: TargetCategoryIdentifier(),
|
|
11
|
+
}),
|
|
12
|
+
translations: NestedTranslationMap(DB.Required, "TargetCategory", DB.Object({
|
|
13
|
+
name: DB.Required({
|
|
14
|
+
comment: "The target category’s name.",
|
|
15
|
+
type: DB.String({ minLength: 1 }),
|
|
16
|
+
}),
|
|
17
|
+
})),
|
|
18
|
+
}),
|
|
19
|
+
instanceDisplayName: {},
|
|
20
|
+
uniqueConstraints: [
|
|
21
|
+
{
|
|
22
|
+
entityMapKeyPath: "translations",
|
|
23
|
+
keyPathInEntityMap: "name",
|
|
24
|
+
},
|
|
25
|
+
],
|
|
26
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* General type specifications used by multiple activatable entries.
|
|
3
|
+
*/
|
|
4
|
+
import * as DB from "tsondb/schema/dsl";
|
|
5
|
+
export declare const name: DB.MemberDecl<DB.String, true>;
|
|
6
|
+
export declare const name_in_library: DB.MemberDecl<DB.String, false>;
|
|
7
|
+
export declare const levels: DB.MemberDecl<DB.Integer, false>;
|
|
8
|
+
export declare const maximum: DB.MemberDecl<DB.Integer, false>;
|
|
9
|
+
export declare const rules: DB.MemberDecl<DB.String, true>;
|
|
10
|
+
export declare const effect: DB.MemberDecl<DB.String, true>;
|
|
11
|
+
export declare const range_l10n: DB.MemberDecl<DB.String, false>;
|
|
12
|
+
export declare const input: DB.MemberDecl<DB.String, false>;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* General type specifications used by multiple activatable entries.
|
|
3
|
+
*/
|
|
4
|
+
import * as DB from "tsondb/schema/dsl";
|
|
5
|
+
export const name = DB.Required({
|
|
6
|
+
comment: "Name of the activatable entry.",
|
|
7
|
+
type: DB.String({ minLength: 1 }),
|
|
8
|
+
});
|
|
9
|
+
export const name_in_library = DB.Optional({
|
|
10
|
+
comment: "The full name of the entry as stated in the sources. Only use when `name` needs to be different from full name for text generation purposes.",
|
|
11
|
+
type: DB.String({ minLength: 1 }),
|
|
12
|
+
});
|
|
13
|
+
export const levels = DB.Optional({
|
|
14
|
+
comment: "Number of available levels.",
|
|
15
|
+
type: DB.Integer({ minimum: 2 }),
|
|
16
|
+
});
|
|
17
|
+
export const maximum = DB.Optional({
|
|
18
|
+
comment: `The number stating how often you can buy the entry. The **default** depends on the entry type:
|
|
19
|
+
|
|
20
|
+
- **Advantage:** \`1\` in all cases (as specified in the **Core Rules**)
|
|
21
|
+
- **Disadvantage:** \`1\` in all cases (as specified in the **Core Rules**)
|
|
22
|
+
- **Special Abilities:** \`1\` if no options can be selected, otherwise the number of possible options
|
|
23
|
+
|
|
24
|
+
The maximum is only set if it differs from the defaults specified above.`,
|
|
25
|
+
type: DB.Integer({ minimum: 1 }),
|
|
26
|
+
});
|
|
27
|
+
export const rules = DB.Required({
|
|
28
|
+
comment: "The rule text.",
|
|
29
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
30
|
+
});
|
|
31
|
+
export const effect = DB.Required({
|
|
32
|
+
comment: "The effect description.",
|
|
33
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
34
|
+
});
|
|
35
|
+
export const range_l10n = DB.Optional({
|
|
36
|
+
comment: "The range of the advantage.",
|
|
37
|
+
isDeprecated: true,
|
|
38
|
+
type: DB.String({ minLength: 1 }),
|
|
39
|
+
});
|
|
40
|
+
export const input = DB.Optional({
|
|
41
|
+
comment: "A string that is used as a label for an input field.",
|
|
42
|
+
type: DB.String({ minLength: 1 }),
|
|
43
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const advanced: (identifier: DB.Type) => DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"AdvancedSpecialAbility", {
|
|
3
|
+
General: DB.EnumCase<DB.TypeArgument<DB.Param<"Identifier", DB.Type>>>;
|
|
4
|
+
RestrictOptions: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"RestrictAdvancedSpecialAbilityOptions", DB.Object<{
|
|
5
|
+
id: DB.MemberDecl<DB.TypeArgument<DB.Param<"Identifier", DB.Type>>, true>;
|
|
6
|
+
option: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"AdvancedSpecialAbilityRestrictedOptionIdentifier", {
|
|
7
|
+
General: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
8
|
+
Skill: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
9
|
+
CloseCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
10
|
+
RangedCombatTechnique: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
11
|
+
Element: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
12
|
+
Aspect: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
13
|
+
}, []>>>, true>;
|
|
14
|
+
}>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
|
|
15
|
+
OneOf: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"OneOfAdvancedSpecialAbilityOptions", DB.Object<{
|
|
16
|
+
options: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"Identifier", DB.Type>>>, true>;
|
|
17
|
+
is_selection_required_on_purchase: DB.MemberDecl<DB.Boolean, true>;
|
|
18
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
19
|
+
Hide: DB.EnumCase<null>;
|
|
20
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
21
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
22
|
+
Standalone: DB.EnumCase<null>;
|
|
23
|
+
Connected: DB.EnumCase<null>;
|
|
24
|
+
}, []>>, false>;
|
|
25
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
26
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
27
|
+
}>, true>;
|
|
28
|
+
}>, []>>>;
|
|
29
|
+
}, []>>, false>;
|
|
30
|
+
}>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
|
|
31
|
+
DeriveFromExternalOption: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"AdvancedSpecialAbilityDerivedFromExternalOption", DB.Object<{
|
|
32
|
+
external_entry: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
33
|
+
map: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"AdvancedSpecialAbilityDerivedFromExternalOptionMapping", DB.Object<{
|
|
34
|
+
from_option: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
35
|
+
to_advanced: DB.MemberDecl<DB.TypeArgument<DB.Param<"Identifier", DB.Type>>, true>;
|
|
36
|
+
}>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, true>;
|
|
37
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
38
|
+
Hide: DB.EnumCase<null>;
|
|
39
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
40
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
41
|
+
Standalone: DB.EnumCase<null>;
|
|
42
|
+
Connected: DB.EnumCase<null>;
|
|
43
|
+
}, []>>, false>;
|
|
44
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
45
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
46
|
+
}>, true>;
|
|
47
|
+
}>, []>>>;
|
|
48
|
+
}, []>>, false>;
|
|
49
|
+
}>, [Identifier: DB.Param<"Identifier", DB.Type>]>>>;
|
|
50
|
+
}, [Identifier: DB.Param<"Identifier", DB.Type>]>>>, true>;
|