@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,54 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const AlternativeRule: DB.Entity<"AlternativeRule", {
|
|
3
|
+
playerTypes: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, true>;
|
|
4
|
+
isMissingImplementation: DB.MemberDecl<DB.Boolean, true>;
|
|
5
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
6
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
7
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
8
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
9
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
10
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
11
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
12
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
13
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
14
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
15
|
+
}, []>>, true>;
|
|
16
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
17
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
18
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
19
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
20
|
+
}, []>>, false>;
|
|
21
|
+
}>, []>>>, true>;
|
|
22
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
23
|
+
}>, []>>, true>;
|
|
24
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
25
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
26
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
27
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
28
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
29
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
30
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
31
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
32
|
+
}, []>>, true>;
|
|
33
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
34
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
35
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
36
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
37
|
+
}, []>>, false>;
|
|
38
|
+
}>, []>>>, true>;
|
|
39
|
+
}>, []>>>;
|
|
40
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
41
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
42
|
+
}>, []>>>;
|
|
43
|
+
}, []>>>, false>;
|
|
44
|
+
}>, true>;
|
|
45
|
+
}>, []>>>, []>>, true>;
|
|
46
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"AlternativeRuleTranslation", {
|
|
47
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
48
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
49
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
50
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
51
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
52
|
+
}>, []>>>, []>>, false>;
|
|
53
|
+
}>, true>;
|
|
54
|
+
}, undefined>;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { PlayerTypeIdentifier } from "../_Identifier.js";
|
|
3
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
4
|
+
import { Errata } from "../source/_Erratum.js";
|
|
5
|
+
import { src } from "../source/_PublicationRef.js";
|
|
6
|
+
export const AlternativeRule = DB.Entity(import.meta.url, {
|
|
7
|
+
name: "AlternativeRule",
|
|
8
|
+
namePlural: "AlternativeRules",
|
|
9
|
+
type: () => DB.Object({
|
|
10
|
+
playerTypes: DB.Required({
|
|
11
|
+
comment: "The player types this alternative rule is suitable for.",
|
|
12
|
+
type: DB.Array(PlayerTypeIdentifier(), { minItems: 1, uniqueItems: true }),
|
|
13
|
+
}),
|
|
14
|
+
isMissingImplementation: DB.Required({
|
|
15
|
+
comment: "Has the alternative rule not been implemented in Optolith yet? This is also true if the alternative rule does not (currently) apply to any Optolith feature.",
|
|
16
|
+
type: DB.Boolean(),
|
|
17
|
+
}),
|
|
18
|
+
src,
|
|
19
|
+
translations: NestedTranslationMap(DB.Required, "AlternativeRule", DB.Object({
|
|
20
|
+
name: DB.Required({
|
|
21
|
+
comment: "The alternative rule’s name.",
|
|
22
|
+
type: DB.String({ minLength: 1 }),
|
|
23
|
+
}),
|
|
24
|
+
description: DB.Required({
|
|
25
|
+
comment: "The description of the alternative rule.",
|
|
26
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
27
|
+
}),
|
|
28
|
+
errata: DB.Optional({
|
|
29
|
+
type: DB.IncludeIdentifier(Errata),
|
|
30
|
+
}),
|
|
31
|
+
})),
|
|
32
|
+
}),
|
|
33
|
+
instanceDisplayName: {},
|
|
34
|
+
uniqueConstraints: [
|
|
35
|
+
{
|
|
36
|
+
entityMapKeyPath: "translations",
|
|
37
|
+
keyPathInEntityMap: "name",
|
|
38
|
+
},
|
|
39
|
+
],
|
|
40
|
+
});
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
3
|
+
export const PlayerType = DB.Entity(import.meta.url, {
|
|
4
|
+
name: "PlayerType",
|
|
5
|
+
namePlural: "PlayerTypes",
|
|
6
|
+
comment: "Player types describe different playing styles, expectations and wishes of players.",
|
|
7
|
+
type: () => DB.Object({
|
|
8
|
+
translations: NestedTranslationMap(DB.Required, "PlayerType", DB.Object({
|
|
9
|
+
name: DB.Required({
|
|
10
|
+
comment: "The player type.",
|
|
11
|
+
type: DB.String({ minLength: 1 }),
|
|
12
|
+
}),
|
|
13
|
+
})),
|
|
14
|
+
}),
|
|
15
|
+
instanceDisplayName: {},
|
|
16
|
+
});
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const CoreRule: DB.Entity<"CoreRule", {
|
|
3
|
+
content: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"ContentNode", {
|
|
4
|
+
Child: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ChildNode", DB.Object<{
|
|
5
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
6
|
+
include: DB.MemberDecl<DB.Boolean, true>;
|
|
7
|
+
}>, []>>>;
|
|
8
|
+
Text: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"TextNode", DB.Object<{
|
|
9
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"TextNodeTranslation", {
|
|
10
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
11
|
+
}>, true>;
|
|
12
|
+
}>, []>>>;
|
|
13
|
+
Reference: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReferenceNode", DB.Object<{
|
|
14
|
+
id: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"CoreRuleDerivableContentIdentifier", {
|
|
15
|
+
MagicalTradition: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
16
|
+
FamiliarSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
17
|
+
MagicalSpecialAbility: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
18
|
+
BlessedTradition: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
19
|
+
}, []>>, true>;
|
|
20
|
+
}>, []>>>;
|
|
21
|
+
ReferenceList: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReferenceListNode", DB.Object<{
|
|
22
|
+
source: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ReferenceListNodeSource", {
|
|
23
|
+
Attributes: DB.EnumCase<null>;
|
|
24
|
+
QualityLevels: DB.EnumCase<null>;
|
|
25
|
+
Conditions: DB.EnumCase<null>;
|
|
26
|
+
States: DB.EnumCase<null>;
|
|
27
|
+
ExperienceLevels: DB.EnumCase<null>;
|
|
28
|
+
Races: DB.EnumCase<null>;
|
|
29
|
+
Cultures: DB.EnumCase<null>;
|
|
30
|
+
Professions: DB.EnumCase<null>;
|
|
31
|
+
Advantages: DB.EnumCase<null>;
|
|
32
|
+
Disadvantages: DB.EnumCase<null>;
|
|
33
|
+
CombatTechniques: DB.EnumCase<null>;
|
|
34
|
+
SpecialAbilities: DB.EnumCase<null>;
|
|
35
|
+
PrimaryAttributes: DB.EnumCase<null>;
|
|
36
|
+
DerivedCharacteristics: DB.EnumCase<null>;
|
|
37
|
+
StartingAge: DB.EnumCase<null>;
|
|
38
|
+
Archetypes: DB.EnumCase<null>;
|
|
39
|
+
RequirementsForRoutineChecks: DB.EnumCase<null>;
|
|
40
|
+
GeneralSpecialAbilities: DB.EnumCase<null>;
|
|
41
|
+
FatePointSpecialAbilities: DB.EnumCase<null>;
|
|
42
|
+
LanguagesAndScripts: DB.EnumCase<null>;
|
|
43
|
+
CloseCombatBotch: DB.EnumCase<null>;
|
|
44
|
+
DefenseBotch: DB.EnumCase<null>;
|
|
45
|
+
MeleeCombatTechniques: DB.EnumCase<null>;
|
|
46
|
+
RangedCombatBotch: DB.EnumCase<null>;
|
|
47
|
+
RangedCombatDefenseBotch: DB.EnumCase<null>;
|
|
48
|
+
RangedCombatTechniques: DB.EnumCase<null>;
|
|
49
|
+
CombatSpecialAbilities: DB.EnumCase<null>;
|
|
50
|
+
Properties: DB.EnumCase<null>;
|
|
51
|
+
SpellBotch: DB.EnumCase<null>;
|
|
52
|
+
Services: DB.EnumCase<null>;
|
|
53
|
+
ProtectiveAndWardingCircles: DB.EnumCase<null>;
|
|
54
|
+
Elixirs: DB.EnumCase<null>;
|
|
55
|
+
StaffEnchantments: DB.EnumCase<null>;
|
|
56
|
+
FamiliarsTricks: DB.EnumCase<null>;
|
|
57
|
+
Curses: DB.EnumCase<null>;
|
|
58
|
+
ElvenMagicalSongs: DB.EnumCase<null>;
|
|
59
|
+
MagicalSpecialAbilities: DB.EnumCase<null>;
|
|
60
|
+
Cantrips: DB.EnumCase<null>;
|
|
61
|
+
Spells: DB.EnumCase<null>;
|
|
62
|
+
Rituals: DB.EnumCase<null>;
|
|
63
|
+
Aspects: DB.EnumCase<null>;
|
|
64
|
+
LiturgyBotch: DB.EnumCase<null>;
|
|
65
|
+
KarmaSpecialAbilities: DB.EnumCase<null>;
|
|
66
|
+
Blessings: DB.EnumCase<null>;
|
|
67
|
+
LiturgicalChants: DB.EnumCase<null>;
|
|
68
|
+
Ceremonies: DB.EnumCase<null>;
|
|
69
|
+
SocialStatuses: DB.EnumCase<null>;
|
|
70
|
+
Poisons: DB.EnumCase<null>;
|
|
71
|
+
Diseases: DB.EnumCase<null>;
|
|
72
|
+
HealingHerbs: DB.EnumCase<null>;
|
|
73
|
+
VisibilityModifier: DB.EnumCase<null>;
|
|
74
|
+
Demons: DB.EnumCase<null>;
|
|
75
|
+
Elementals: DB.EnumCase<null>;
|
|
76
|
+
Animals: DB.EnumCase<null>;
|
|
77
|
+
Familiars: DB.EnumCase<null>;
|
|
78
|
+
AnimalSpecialAbilities: DB.EnumCase<null>;
|
|
79
|
+
EquipmentPackages: DB.EnumCase<null>;
|
|
80
|
+
Items: DB.EnumCase<null>;
|
|
81
|
+
OptionalRules: DB.EnumCase<null>;
|
|
82
|
+
ImprovementCost: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReferenceListNodeImprovementCostSource", DB.Object<{
|
|
83
|
+
target: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ReferenceListNodeImprovementCostSourceTarget", {
|
|
84
|
+
Attributes: DB.EnumCase<null>;
|
|
85
|
+
Skills: DB.EnumCase<null>;
|
|
86
|
+
}, []>>, true>;
|
|
87
|
+
maximum_rating: DB.MemberDecl<DB.Integer, true>;
|
|
88
|
+
}>, []>>>;
|
|
89
|
+
}, []>>, true>;
|
|
90
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReferenceListNodeTranslation", {
|
|
91
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
92
|
+
}>, true>;
|
|
93
|
+
}>, []>>>;
|
|
94
|
+
}, []>>>, true>;
|
|
95
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
96
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
97
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
98
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
99
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
100
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
101
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
102
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
103
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
104
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
105
|
+
}, []>>, true>;
|
|
106
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
107
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
108
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
109
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
110
|
+
}, []>>, false>;
|
|
111
|
+
}>, []>>>, true>;
|
|
112
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
113
|
+
}>, []>>, true>;
|
|
114
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
115
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
116
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
117
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
118
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
119
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
120
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
121
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
122
|
+
}, []>>, true>;
|
|
123
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
124
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
125
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
126
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
127
|
+
}, []>>, false>;
|
|
128
|
+
}>, []>>>, true>;
|
|
129
|
+
}>, []>>>;
|
|
130
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
131
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
132
|
+
}>, []>>>;
|
|
133
|
+
}, []>>>, false>;
|
|
134
|
+
}>, true>;
|
|
135
|
+
}>, []>>>, []>>, true>;
|
|
136
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"CoreRuleTranslation", {
|
|
137
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
138
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
139
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
140
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
141
|
+
}>, []>>>, []>>, false>;
|
|
142
|
+
}>, true>;
|
|
143
|
+
}, undefined>;
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { CoreRuleIdentifier } from "../_Identifier.js";
|
|
3
|
+
import { CoreRuleDerivableContentIdentifier } from "../_IdentifierGroup.js";
|
|
4
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
5
|
+
import { Errata } from "../source/_Erratum.js";
|
|
6
|
+
import { src } from "../source/_PublicationRef.js";
|
|
7
|
+
export const CoreRule = DB.Entity(import.meta.url, {
|
|
8
|
+
name: "CoreRule",
|
|
9
|
+
namePlural: "CoreRules",
|
|
10
|
+
type: () => DB.Object({
|
|
11
|
+
content: DB.Required({
|
|
12
|
+
type: DB.Array(DB.IncludeIdentifier(ContentNode), { minItems: 1 }),
|
|
13
|
+
}),
|
|
14
|
+
src,
|
|
15
|
+
translations: NestedTranslationMap(DB.Required, "CoreRule", DB.Object({
|
|
16
|
+
name: DB.Required({
|
|
17
|
+
comment: "The core rule’s name.",
|
|
18
|
+
type: DB.String({ minLength: 1 }),
|
|
19
|
+
}),
|
|
20
|
+
errata: DB.Optional({
|
|
21
|
+
type: DB.IncludeIdentifier(Errata),
|
|
22
|
+
}),
|
|
23
|
+
})),
|
|
24
|
+
}),
|
|
25
|
+
instanceDisplayName: {},
|
|
26
|
+
uniqueConstraints: [
|
|
27
|
+
{
|
|
28
|
+
entityMapKeyPath: "translations",
|
|
29
|
+
keyPathInEntityMap: "name",
|
|
30
|
+
},
|
|
31
|
+
],
|
|
32
|
+
});
|
|
33
|
+
const ContentNode = DB.Enum(import.meta.url, {
|
|
34
|
+
name: "ContentNode",
|
|
35
|
+
values: () => ({
|
|
36
|
+
Child: DB.EnumCase({ type: DB.IncludeIdentifier(ChildNode) }),
|
|
37
|
+
Text: DB.EnumCase({ type: DB.IncludeIdentifier(TextNode) }),
|
|
38
|
+
Reference: DB.EnumCase({ type: DB.IncludeIdentifier(ReferenceNode) }),
|
|
39
|
+
ReferenceList: DB.EnumCase({ type: DB.IncludeIdentifier(ReferenceListNode) }),
|
|
40
|
+
}),
|
|
41
|
+
});
|
|
42
|
+
const ChildNode = DB.TypeAlias(import.meta.url, {
|
|
43
|
+
name: "ChildNode",
|
|
44
|
+
comment: "A core rule nested inside this core rule. It may be displayed as a separate page or its content may be included in this rule's text, which will automatically generate a proper heading. No content node of a type other than `Child` should follow a child node, since then it may look like the the text may be part of the child node.",
|
|
45
|
+
type: () => DB.Object({
|
|
46
|
+
id: DB.Required({
|
|
47
|
+
comment: "The nested core rule’s identifier.",
|
|
48
|
+
type: CoreRuleIdentifier(),
|
|
49
|
+
}),
|
|
50
|
+
include: DB.Required({
|
|
51
|
+
comment: "If the nested core rule's content should be integrated into this core rule and a proper heading should be added. Otherwise create a link to a separate view of that core rule.",
|
|
52
|
+
type: DB.Boolean(),
|
|
53
|
+
}),
|
|
54
|
+
}),
|
|
55
|
+
});
|
|
56
|
+
const TextNode = DB.TypeAlias(import.meta.url, {
|
|
57
|
+
name: "TextNode",
|
|
58
|
+
comment: "A simple text block, containing one or multiple paragraphs. Headings are not allowed, they should be handled as nested core rules instead.",
|
|
59
|
+
type: () => DB.Object({
|
|
60
|
+
translations: NestedTranslationMap(DB.Required, "TextNode", DB.Object({
|
|
61
|
+
text: DB.Required({
|
|
62
|
+
comment: "Markdown-formatted text.",
|
|
63
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
64
|
+
}),
|
|
65
|
+
})),
|
|
66
|
+
}),
|
|
67
|
+
});
|
|
68
|
+
const ReferenceListNode = DB.TypeAlias(import.meta.url, {
|
|
69
|
+
name: "ReferenceListNode",
|
|
70
|
+
comment: "Generate a list or table from a specific entity type.",
|
|
71
|
+
type: () => DB.Object({
|
|
72
|
+
source: DB.Required({
|
|
73
|
+
type: DB.IncludeIdentifier(ReferenceListNodeSource),
|
|
74
|
+
}),
|
|
75
|
+
translations: NestedTranslationMap(DB.Required, "ReferenceListNode", DB.Object({
|
|
76
|
+
text: DB.Required({
|
|
77
|
+
comment: "Markdown-formatted text.",
|
|
78
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
79
|
+
}),
|
|
80
|
+
})),
|
|
81
|
+
}),
|
|
82
|
+
});
|
|
83
|
+
const ReferenceListNodeSource = DB.Enum(import.meta.url, {
|
|
84
|
+
name: "ReferenceListNodeSource",
|
|
85
|
+
values: () => ({
|
|
86
|
+
Attributes: DB.EnumCase({ type: null }),
|
|
87
|
+
QualityLevels: DB.EnumCase({ type: null }),
|
|
88
|
+
Conditions: DB.EnumCase({ type: null }),
|
|
89
|
+
States: DB.EnumCase({ type: null }),
|
|
90
|
+
ExperienceLevels: DB.EnumCase({ type: null }),
|
|
91
|
+
Races: DB.EnumCase({ type: null }),
|
|
92
|
+
Cultures: DB.EnumCase({ type: null }),
|
|
93
|
+
Professions: DB.EnumCase({ type: null }),
|
|
94
|
+
Advantages: DB.EnumCase({ type: null }),
|
|
95
|
+
Disadvantages: DB.EnumCase({ type: null }),
|
|
96
|
+
CombatTechniques: DB.EnumCase({ type: null }),
|
|
97
|
+
SpecialAbilities: DB.EnumCase({ type: null }),
|
|
98
|
+
PrimaryAttributes: DB.EnumCase({ type: null }),
|
|
99
|
+
DerivedCharacteristics: DB.EnumCase({ type: null }),
|
|
100
|
+
StartingAge: DB.EnumCase({ type: null }),
|
|
101
|
+
Archetypes: DB.EnumCase({ type: null }),
|
|
102
|
+
RequirementsForRoutineChecks: DB.EnumCase({ type: null }),
|
|
103
|
+
GeneralSpecialAbilities: DB.EnumCase({ type: null }),
|
|
104
|
+
FatePointSpecialAbilities: DB.EnumCase({ type: null }),
|
|
105
|
+
LanguagesAndScripts: DB.EnumCase({ type: null }),
|
|
106
|
+
CloseCombatBotch: DB.EnumCase({ type: null }),
|
|
107
|
+
DefenseBotch: DB.EnumCase({ type: null }),
|
|
108
|
+
MeleeCombatTechniques: DB.EnumCase({ type: null }),
|
|
109
|
+
RangedCombatBotch: DB.EnumCase({ type: null }),
|
|
110
|
+
RangedCombatDefenseBotch: DB.EnumCase({ type: null }),
|
|
111
|
+
RangedCombatTechniques: DB.EnumCase({ type: null }),
|
|
112
|
+
CombatSpecialAbilities: DB.EnumCase({ type: null }),
|
|
113
|
+
Properties: DB.EnumCase({ type: null }),
|
|
114
|
+
SpellBotch: DB.EnumCase({ type: null }),
|
|
115
|
+
Services: DB.EnumCase({ type: null }),
|
|
116
|
+
ProtectiveAndWardingCircles: DB.EnumCase({ type: null }),
|
|
117
|
+
Elixirs: DB.EnumCase({ type: null }),
|
|
118
|
+
StaffEnchantments: DB.EnumCase({ type: null }),
|
|
119
|
+
FamiliarsTricks: DB.EnumCase({ type: null }),
|
|
120
|
+
Curses: DB.EnumCase({ type: null }),
|
|
121
|
+
ElvenMagicalSongs: DB.EnumCase({ type: null }),
|
|
122
|
+
MagicalSpecialAbilities: DB.EnumCase({ type: null }),
|
|
123
|
+
Cantrips: DB.EnumCase({ type: null }),
|
|
124
|
+
Spells: DB.EnumCase({ type: null }),
|
|
125
|
+
Rituals: DB.EnumCase({ type: null }),
|
|
126
|
+
Aspects: DB.EnumCase({ type: null }),
|
|
127
|
+
LiturgyBotch: DB.EnumCase({ type: null }),
|
|
128
|
+
KarmaSpecialAbilities: DB.EnumCase({ type: null }),
|
|
129
|
+
Blessings: DB.EnumCase({ type: null }),
|
|
130
|
+
LiturgicalChants: DB.EnumCase({ type: null }),
|
|
131
|
+
Ceremonies: DB.EnumCase({ type: null }),
|
|
132
|
+
SocialStatuses: DB.EnumCase({ type: null }),
|
|
133
|
+
Poisons: DB.EnumCase({ type: null }),
|
|
134
|
+
Diseases: DB.EnumCase({ type: null }),
|
|
135
|
+
HealingHerbs: DB.EnumCase({ type: null }),
|
|
136
|
+
VisibilityModifier: DB.EnumCase({ type: null }),
|
|
137
|
+
Demons: DB.EnumCase({ type: null }),
|
|
138
|
+
Elementals: DB.EnumCase({ type: null }),
|
|
139
|
+
Animals: DB.EnumCase({ type: null }),
|
|
140
|
+
Familiars: DB.EnumCase({ type: null }),
|
|
141
|
+
AnimalSpecialAbilities: DB.EnumCase({ type: null }),
|
|
142
|
+
EquipmentPackages: DB.EnumCase({ type: null }),
|
|
143
|
+
Items: DB.EnumCase({ type: null }),
|
|
144
|
+
OptionalRules: DB.EnumCase({ type: null }),
|
|
145
|
+
ImprovementCost: DB.EnumCase({
|
|
146
|
+
type: DB.IncludeIdentifier(ReferenceListNodeImprovementCostSource),
|
|
147
|
+
}),
|
|
148
|
+
}),
|
|
149
|
+
});
|
|
150
|
+
const ReferenceListNodeImprovementCostSource = DB.TypeAlias(import.meta.url, {
|
|
151
|
+
name: "ReferenceListNodeImprovementCostSource",
|
|
152
|
+
type: () => DB.Object({
|
|
153
|
+
target: DB.Required({
|
|
154
|
+
comment: "Define if the cost for attributes or skills should be defined. The cost for attributes start with value 9, while the cost for skills start with 1 in addition to possible activation cost.",
|
|
155
|
+
type: DB.IncludeIdentifier(ReferenceListNodeImprovementCostSourceTarget),
|
|
156
|
+
}),
|
|
157
|
+
maximum_rating: DB.Required({
|
|
158
|
+
comment: `The highest value the improvement cost are displayed for.
|
|
159
|
+
|
|
160
|
+
The minimum maximum value should depend on what is the upper bound of the range of adventure point cost that are equal across multiple values (value increases for attributes are always 15 up to (and including) value 14, while value increases for skills are always 1 to 4, depending on the improvement cost, up to (and including) value 12), since those ranges should be combined into a single table row.`,
|
|
161
|
+
type: DB.Integer({ minimum: 12 }),
|
|
162
|
+
}),
|
|
163
|
+
}),
|
|
164
|
+
});
|
|
165
|
+
const ReferenceListNodeImprovementCostSourceTarget = DB.Enum(import.meta.url, {
|
|
166
|
+
name: "ReferenceListNodeImprovementCostSourceTarget",
|
|
167
|
+
values: () => ({
|
|
168
|
+
Attributes: DB.EnumCase({ type: null }),
|
|
169
|
+
Skills: DB.EnumCase({ type: null }),
|
|
170
|
+
}),
|
|
171
|
+
});
|
|
172
|
+
const ReferenceNode = DB.TypeAlias(import.meta.url, {
|
|
173
|
+
name: "ReferenceNode",
|
|
174
|
+
comment: "Generate the full text for a single entry as part of this core rule's text.",
|
|
175
|
+
type: () => DB.Object({
|
|
176
|
+
id: DB.Required({
|
|
177
|
+
comment: "The nested core rule’s identifier.",
|
|
178
|
+
type: DB.IncludeIdentifier(CoreRuleDerivableContentIdentifier),
|
|
179
|
+
}),
|
|
180
|
+
}),
|
|
181
|
+
});
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const FocusRule: DB.Entity<"FocusRule", {
|
|
3
|
+
subject: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
4
|
+
level: DB.MemberDecl<DB.Integer, true>;
|
|
5
|
+
isMissingImplementation: DB.MemberDecl<DB.Boolean, true>;
|
|
6
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"RulePrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
7
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
8
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
9
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
10
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
11
|
+
Hide: DB.EnumCase<null>;
|
|
12
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
13
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
14
|
+
Standalone: DB.EnumCase<null>;
|
|
15
|
+
Connected: DB.EnumCase<null>;
|
|
16
|
+
}, []>>, false>;
|
|
17
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
18
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
19
|
+
}>, true>;
|
|
20
|
+
}>, []>>>;
|
|
21
|
+
}, []>>, false>;
|
|
22
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
23
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
24
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
25
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
26
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
27
|
+
}>, true>;
|
|
28
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
29
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
30
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
31
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
32
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
33
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
34
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
35
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
36
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
37
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
38
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
39
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
40
|
+
}, []>>, true>;
|
|
41
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
42
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
43
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
44
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
45
|
+
}, []>>, false>;
|
|
46
|
+
}>, []>>>, true>;
|
|
47
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
48
|
+
}>, []>>, true>;
|
|
49
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
50
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
51
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
52
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
53
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
54
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
55
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
56
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
57
|
+
}, []>>, true>;
|
|
58
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
59
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
60
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
61
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
62
|
+
}, []>>, false>;
|
|
63
|
+
}>, []>>>, true>;
|
|
64
|
+
}>, []>>>;
|
|
65
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
66
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
67
|
+
}>, []>>>;
|
|
68
|
+
}, []>>>, false>;
|
|
69
|
+
}>, true>;
|
|
70
|
+
}>, []>>>, []>>, true>;
|
|
71
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"FocusRuleTranslation", {
|
|
72
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
73
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
74
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
75
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
76
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
77
|
+
}>, []>>>, []>>, false>;
|
|
78
|
+
}>, true>;
|
|
79
|
+
}, undefined>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { SubjectIdentifier } from "../_Identifier.js";
|
|
3
|
+
import { RulePrerequisites } from "../_Prerequisite.js";
|
|
4
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
5
|
+
import { Errata } from "../source/_Erratum.js";
|
|
6
|
+
import { src } from "../source/_PublicationRef.js";
|
|
7
|
+
export const FocusRule = DB.Entity(import.meta.url, {
|
|
8
|
+
name: "FocusRule",
|
|
9
|
+
namePlural: "FocusRules",
|
|
10
|
+
type: () => DB.Object({
|
|
11
|
+
subject: DB.Required({
|
|
12
|
+
comment: "The associated subject.",
|
|
13
|
+
type: SubjectIdentifier(),
|
|
14
|
+
}),
|
|
15
|
+
level: DB.Required({
|
|
16
|
+
comment: "The focus rule’s level.",
|
|
17
|
+
type: DB.Integer({ minimum: 1, maximum: 4 }),
|
|
18
|
+
}),
|
|
19
|
+
isMissingImplementation: DB.Required({
|
|
20
|
+
comment: "Has the focus rule not been implemented in Optolith yet? This is also true if the focus rule does not (currently) apply to any Optolith feature.",
|
|
21
|
+
type: DB.Boolean(),
|
|
22
|
+
}),
|
|
23
|
+
prerequisites: DB.Optional({
|
|
24
|
+
type: DB.IncludeIdentifier(RulePrerequisites),
|
|
25
|
+
}),
|
|
26
|
+
src,
|
|
27
|
+
translations: NestedTranslationMap(DB.Required, "FocusRule", DB.Object({
|
|
28
|
+
name: DB.Required({
|
|
29
|
+
comment: "The focus rule’s name.",
|
|
30
|
+
type: DB.String({ minLength: 1 }),
|
|
31
|
+
}),
|
|
32
|
+
description: DB.Required({
|
|
33
|
+
comment: "The description of the focus rule.",
|
|
34
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
35
|
+
}),
|
|
36
|
+
errata: DB.Optional({
|
|
37
|
+
type: DB.IncludeIdentifier(Errata),
|
|
38
|
+
}),
|
|
39
|
+
})),
|
|
40
|
+
}),
|
|
41
|
+
instanceDisplayName: {},
|
|
42
|
+
uniqueConstraints: [
|
|
43
|
+
{
|
|
44
|
+
entityMapKeyPath: "translations",
|
|
45
|
+
keyPathInEntityMap: "name",
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
});
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
3
|
+
export const Subject = DB.Entity(import.meta.url, {
|
|
4
|
+
name: "Subject",
|
|
5
|
+
namePlural: "Subjects",
|
|
6
|
+
comment: "Subjects or Subject Areas are the categories of Focus Rules.",
|
|
7
|
+
type: () => DB.Object({
|
|
8
|
+
translations: NestedTranslationMap(DB.Required, "Subject", DB.Object({
|
|
9
|
+
name: DB.Required({
|
|
10
|
+
comment: "The subject.",
|
|
11
|
+
type: DB.String({ minLength: 1 }),
|
|
12
|
+
}),
|
|
13
|
+
})),
|
|
14
|
+
}),
|
|
15
|
+
instanceDisplayName: {},
|
|
16
|
+
uniqueConstraints: [
|
|
17
|
+
{
|
|
18
|
+
entityMapKeyPath: "translations",
|
|
19
|
+
keyPathInEntityMap: "name",
|
|
20
|
+
},
|
|
21
|
+
],
|
|
22
|
+
});
|