@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,83 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const OptionalRule: DB.Entity<"OptionalRule", {
|
|
3
|
+
isMissingImplementation: DB.MemberDecl<DB.Boolean, true>;
|
|
4
|
+
complexityInfluence: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ComplexityInfluence", {
|
|
5
|
+
Less: DB.EnumCase<null>;
|
|
6
|
+
Unchanged: DB.EnumCase<null>;
|
|
7
|
+
More: DB.EnumCase<null>;
|
|
8
|
+
}, []>>, false>;
|
|
9
|
+
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", {
|
|
10
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
11
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
12
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
13
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
14
|
+
Hide: DB.EnumCase<null>;
|
|
15
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
16
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
17
|
+
Standalone: DB.EnumCase<null>;
|
|
18
|
+
Connected: DB.EnumCase<null>;
|
|
19
|
+
}, []>>, false>;
|
|
20
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
21
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
22
|
+
}>, true>;
|
|
23
|
+
}>, []>>>;
|
|
24
|
+
}, []>>, false>;
|
|
25
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
26
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
27
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
28
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
29
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
30
|
+
}>, true>;
|
|
31
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
32
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
33
|
+
src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
34
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
35
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
36
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
37
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
38
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
39
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
40
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
41
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
42
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
43
|
+
}, []>>, true>;
|
|
44
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
45
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
46
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
47
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
48
|
+
}, []>>, false>;
|
|
49
|
+
}>, []>>>, true>;
|
|
50
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
51
|
+
}>, []>>, true>;
|
|
52
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
53
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
54
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
55
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
56
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
57
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
58
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
59
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
60
|
+
}, []>>, true>;
|
|
61
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
62
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
63
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
64
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
65
|
+
}, []>>, false>;
|
|
66
|
+
}>, []>>>, true>;
|
|
67
|
+
}>, []>>>;
|
|
68
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
69
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
70
|
+
}>, []>>>;
|
|
71
|
+
}, []>>>, false>;
|
|
72
|
+
}>, true>;
|
|
73
|
+
}>, []>>>, []>>, true>;
|
|
74
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"OptionalRuleTranslation", {
|
|
75
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
76
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
77
|
+
additionalRules: DB.MemberDecl<DB.String, false>;
|
|
78
|
+
errata: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
79
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
80
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
81
|
+
}>, []>>>, []>>, false>;
|
|
82
|
+
}>, true>;
|
|
83
|
+
}, undefined>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { RulePrerequisites } from "../_Prerequisite.js";
|
|
3
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
4
|
+
import { Errata } from "../source/_Erratum.js";
|
|
5
|
+
import { src } from "../source/_PublicationRef.js";
|
|
6
|
+
export const OptionalRule = DB.Entity(import.meta.url, {
|
|
7
|
+
name: "OptionalRule",
|
|
8
|
+
namePlural: "OptionalRules",
|
|
9
|
+
type: () => DB.Object({
|
|
10
|
+
isMissingImplementation: DB.Required({
|
|
11
|
+
comment: "Has the optional rule not been implemented in Optolith yet? This is also true if the optional rule does not (currently) apply to any Optolith feature.",
|
|
12
|
+
type: DB.Boolean(),
|
|
13
|
+
}),
|
|
14
|
+
complexityInfluence: DB.Optional({
|
|
15
|
+
comment: "How this optional rule influences the complexity of the game, if specified.",
|
|
16
|
+
type: DB.IncludeIdentifier(ComplexityInfluence),
|
|
17
|
+
}),
|
|
18
|
+
prerequisites: DB.Optional({
|
|
19
|
+
type: DB.IncludeIdentifier(RulePrerequisites),
|
|
20
|
+
}),
|
|
21
|
+
src,
|
|
22
|
+
translations: NestedTranslationMap(DB.Required, "OptionalRule", DB.Object({
|
|
23
|
+
name: DB.Required({
|
|
24
|
+
comment: "The optional rule’s name.",
|
|
25
|
+
type: DB.String({ minLength: 1 }),
|
|
26
|
+
}),
|
|
27
|
+
description: DB.Required({
|
|
28
|
+
comment: "The description of the optional rule, as stated in the optional rule box.",
|
|
29
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
30
|
+
}),
|
|
31
|
+
additionalRules: DB.Optional({
|
|
32
|
+
comment: "Sometimes, an optional rule does not only contain all the rules belonging to it in its rule box, but also in the main text.",
|
|
33
|
+
type: DB.String({ minLength: 1, markdown: "block" }),
|
|
34
|
+
}),
|
|
35
|
+
errata: DB.Optional({
|
|
36
|
+
type: DB.IncludeIdentifier(Errata),
|
|
37
|
+
}),
|
|
38
|
+
})),
|
|
39
|
+
}),
|
|
40
|
+
instanceDisplayName: {},
|
|
41
|
+
uniqueConstraints: [
|
|
42
|
+
{
|
|
43
|
+
entityMapKeyPath: "translations",
|
|
44
|
+
keyPathInEntityMap: "name",
|
|
45
|
+
},
|
|
46
|
+
],
|
|
47
|
+
});
|
|
48
|
+
const ComplexityInfluence = DB.Enum(import.meta.url, {
|
|
49
|
+
name: "ComplexityInfluence",
|
|
50
|
+
comment: "How this optional rule influences the complexity of the game.",
|
|
51
|
+
values: () => ({
|
|
52
|
+
Less: DB.EnumCase({ comment: "The optional rule makes the game less complex.", type: null }),
|
|
53
|
+
Unchanged: DB.EnumCase({
|
|
54
|
+
comment: "The optional rule does not change the complexity of the game.",
|
|
55
|
+
type: null,
|
|
56
|
+
}),
|
|
57
|
+
More: DB.EnumCase({ comment: "The optional rule makes the game more complex.", type: null }),
|
|
58
|
+
}),
|
|
59
|
+
});
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
export declare const Publication: DB.Entity<"Publication", {
|
|
3
|
+
category: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"PublicationCategory", {
|
|
4
|
+
CoreRules: DB.EnumCase<null>;
|
|
5
|
+
ExpansionRules: DB.EnumCase<null>;
|
|
6
|
+
Sourcebook: DB.EnumCase<null>;
|
|
7
|
+
RegionalSourcebook: DB.EnumCase<null>;
|
|
8
|
+
Adventure: DB.EnumCase<null>;
|
|
9
|
+
}, []>>, true>;
|
|
10
|
+
containsAdultContent: DB.MemberDecl<DB.Boolean, true>;
|
|
11
|
+
isMissingImplementation: DB.MemberDecl<DB.Boolean, true>;
|
|
12
|
+
prerequisites: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationPrerequisites", DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PlainPrerequisites", DB.Array<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.Enum<"PrerequisitesElement", {
|
|
13
|
+
Single: DB.EnumCase<DB.TypeArgument<DB.Param<"T", DB.Type>>>;
|
|
14
|
+
Disjunction: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisitesDisjunction", DB.Object<{
|
|
15
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
16
|
+
display_option: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"DisplayOption", {
|
|
17
|
+
Hide: DB.EnumCase<null>;
|
|
18
|
+
ReplaceWith: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ReplacementDisplayOption", DB.Object<{
|
|
19
|
+
sentence_type: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"SentenceType", {
|
|
20
|
+
Standalone: DB.EnumCase<null>;
|
|
21
|
+
Connected: DB.EnumCase<null>;
|
|
22
|
+
}, []>>, false>;
|
|
23
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"ReplacementDisplayOptionTranslation", {
|
|
24
|
+
replacement: DB.MemberDecl<DB.String, true>;
|
|
25
|
+
}>, true>;
|
|
26
|
+
}>, []>>>;
|
|
27
|
+
}, []>>, false>;
|
|
28
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
29
|
+
Group: DB.EnumCase<DB.IncludeIdentifier<DB.Param<string, DB.Type>[], DB.TypeAlias<"PrerequisiteGroup", DB.Object<{
|
|
30
|
+
list: DB.MemberDecl<DB.Array<DB.TypeArgument<DB.Param<"T", DB.Type>>>, true>;
|
|
31
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PrerequisiteGroupTranslation", {
|
|
32
|
+
text: DB.MemberDecl<DB.String, true>;
|
|
33
|
+
}>, true>;
|
|
34
|
+
}>, [T: DB.Param<"T", DB.Type>]>>>;
|
|
35
|
+
}, [T: DB.Param<"T", DB.Type>]>>>, [T: DB.Param<"T", DB.Type>]>>, []>>, false>;
|
|
36
|
+
translations: DB.MemberDecl<DB.NestedEntityMap<"PublicationTranslation", {
|
|
37
|
+
publisherId: DB.MemberDecl<DB.String, false>;
|
|
38
|
+
name: DB.MemberDecl<DB.String, true>;
|
|
39
|
+
abbreviation: DB.MemberDecl<DB.String, true>;
|
|
40
|
+
release_date: DB.MemberDecl<DB.Date, false>;
|
|
41
|
+
isMissingImplementation: DB.MemberDecl<DB.Boolean, true>;
|
|
42
|
+
}>, true>;
|
|
43
|
+
}, undefined>;
|
|
44
|
+
export declare const PublicationCategory: DB.Enum<"PublicationCategory", {
|
|
45
|
+
CoreRules: DB.EnumCase<null>;
|
|
46
|
+
ExpansionRules: DB.EnumCase<null>;
|
|
47
|
+
Sourcebook: DB.EnumCase<null>;
|
|
48
|
+
RegionalSourcebook: DB.EnumCase<null>;
|
|
49
|
+
Adventure: DB.EnumCase<null>;
|
|
50
|
+
}, []>;
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import * as DB from "tsondb/schema/dsl";
|
|
2
|
+
import { NestedTranslationMap } from "../Locale.js";
|
|
3
|
+
import { PublicationPrerequisites } from "../_Prerequisite.js";
|
|
4
|
+
export const Publication = DB.Entity(import.meta.url, {
|
|
5
|
+
name: "Publication",
|
|
6
|
+
namePlural: "Publications",
|
|
7
|
+
comment: "A (usually physical) self-contained document with rules and crunch elements relevant for character creation, character development, and game play.",
|
|
8
|
+
type: () => DB.Object({
|
|
9
|
+
category: DB.Required({
|
|
10
|
+
comment: "The publication category.",
|
|
11
|
+
type: DB.IncludeIdentifier(PublicationCategory),
|
|
12
|
+
}),
|
|
13
|
+
containsAdultContent: DB.Required({
|
|
14
|
+
comment: "If the publication may contain adult content.",
|
|
15
|
+
type: DB.Boolean(),
|
|
16
|
+
}),
|
|
17
|
+
isMissingImplementation: DB.Required({
|
|
18
|
+
comment: "If the publication is not (fully) implemented and thus needs to be excluded from stable releases.",
|
|
19
|
+
type: DB.Boolean(),
|
|
20
|
+
}),
|
|
21
|
+
prerequisites: DB.Optional({
|
|
22
|
+
type: DB.IncludeIdentifier(PublicationPrerequisites),
|
|
23
|
+
}),
|
|
24
|
+
translations: NestedTranslationMap(DB.Required, "Publication", DB.Object({
|
|
25
|
+
publisherId: DB.Optional({
|
|
26
|
+
comment: "The publisher’s publication identifier.",
|
|
27
|
+
type: DB.String({ minLength: 1 }),
|
|
28
|
+
}),
|
|
29
|
+
name: DB.Required({
|
|
30
|
+
comment: "The publication’s name.",
|
|
31
|
+
type: DB.String({ minLength: 1 }),
|
|
32
|
+
}),
|
|
33
|
+
abbreviation: DB.Required({
|
|
34
|
+
comment: "The publication’s abbreviation.",
|
|
35
|
+
type: DB.String({ minLength: 1 }),
|
|
36
|
+
}),
|
|
37
|
+
release_date: DB.Optional({
|
|
38
|
+
comment: "The publication’s release date.",
|
|
39
|
+
type: DB.Date(),
|
|
40
|
+
}),
|
|
41
|
+
isMissingImplementation: DB.Required({
|
|
42
|
+
comment: "If this publication translation is not (fully) implemented and thus needs to be excluded from stable releases.",
|
|
43
|
+
type: DB.Boolean(),
|
|
44
|
+
}),
|
|
45
|
+
})),
|
|
46
|
+
}),
|
|
47
|
+
instanceDisplayName: {},
|
|
48
|
+
uniqueConstraints: [
|
|
49
|
+
{
|
|
50
|
+
entityMapKeyPath: "translations",
|
|
51
|
+
keyPathInEntityMap: "name",
|
|
52
|
+
},
|
|
53
|
+
],
|
|
54
|
+
});
|
|
55
|
+
export const PublicationCategory = DB.Enum(import.meta.url, {
|
|
56
|
+
name: "PublicationCategory",
|
|
57
|
+
values: () => ({
|
|
58
|
+
CoreRules: DB.EnumCase({ type: null }),
|
|
59
|
+
ExpansionRules: DB.EnumCase({ type: null }),
|
|
60
|
+
Sourcebook: DB.EnumCase({ type: null }),
|
|
61
|
+
RegionalSourcebook: DB.EnumCase({ type: null }),
|
|
62
|
+
Adventure: DB.EnumCase({ type: null }),
|
|
63
|
+
}),
|
|
64
|
+
});
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Errata
|
|
3
|
+
*/
|
|
4
|
+
import * as DB from "tsondb/schema/dsl";
|
|
5
|
+
export declare const Errata: DB.TypeAlias<"Errata", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"Erratum", DB.Object<{
|
|
6
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
7
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
8
|
+
}>, []>>>, []>;
|
|
9
|
+
export declare const Erratum: DB.TypeAlias<"Erratum", DB.Object<{
|
|
10
|
+
date: DB.MemberDecl<DB.Date, true>;
|
|
11
|
+
description: DB.MemberDecl<DB.String, true>;
|
|
12
|
+
}>, []>;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main Errata
|
|
3
|
+
*/
|
|
4
|
+
import * as DB from "tsondb/schema/dsl";
|
|
5
|
+
export const Errata = DB.TypeAlias(import.meta.url, {
|
|
6
|
+
name: "Errata",
|
|
7
|
+
comment: "A list of errata for the entry in the specific language.",
|
|
8
|
+
type: () => DB.Array(DB.IncludeIdentifier(Erratum), { minItems: 1 }),
|
|
9
|
+
});
|
|
10
|
+
export const Erratum = DB.TypeAlias(import.meta.url, {
|
|
11
|
+
name: "Erratum",
|
|
12
|
+
type: () => DB.Object({
|
|
13
|
+
date: DB.Required({
|
|
14
|
+
comment: "The date when the change was confirmed and applied to the entry.",
|
|
15
|
+
type: DB.Date(),
|
|
16
|
+
}),
|
|
17
|
+
description: DB.Required({
|
|
18
|
+
comment: "A description of what changed.",
|
|
19
|
+
type: DB.String({ minLength: 1 }),
|
|
20
|
+
}),
|
|
21
|
+
}),
|
|
22
|
+
});
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main PublicationRefs
|
|
3
|
+
*/
|
|
4
|
+
import * as DB from "tsondb/schema/dsl";
|
|
5
|
+
export declare const PublicationRefs: 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
|
+
}>, []>>>, []>;
|
|
46
|
+
export declare const src: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
47
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
48
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
49
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
50
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
51
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
52
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
53
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
54
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
55
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
56
|
+
}, []>>, true>;
|
|
57
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
58
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
59
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
60
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
61
|
+
}, []>>, false>;
|
|
62
|
+
}>, []>>>, true>;
|
|
63
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
64
|
+
}>, []>>, true>;
|
|
65
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
66
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
67
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
68
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
69
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
70
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
71
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
72
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
73
|
+
}, []>>, true>;
|
|
74
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
75
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
76
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
77
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
78
|
+
}, []>>, false>;
|
|
79
|
+
}>, []>>>, true>;
|
|
80
|
+
}>, []>>>;
|
|
81
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
82
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
83
|
+
}>, []>>>;
|
|
84
|
+
}, []>>>, false>;
|
|
85
|
+
}>, true>;
|
|
86
|
+
}>, []>>>, []>>, true>;
|
|
87
|
+
export declare const optionalSrc: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRefs", DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
88
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
89
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
90
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
91
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
92
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
93
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
94
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
95
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
96
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
97
|
+
}, []>>, true>;
|
|
98
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
99
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
100
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
101
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
102
|
+
}, []>>, false>;
|
|
103
|
+
}>, []>>>, true>;
|
|
104
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
105
|
+
}>, []>>, true>;
|
|
106
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
107
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
108
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
109
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
110
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
111
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
112
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
113
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
114
|
+
}, []>>, true>;
|
|
115
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
116
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
117
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
118
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
119
|
+
}, []>>, false>;
|
|
120
|
+
}>, []>>>, true>;
|
|
121
|
+
}>, []>>>;
|
|
122
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
123
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
124
|
+
}>, []>>>;
|
|
125
|
+
}, []>>>, false>;
|
|
126
|
+
}>, true>;
|
|
127
|
+
}>, []>>>, []>>, false>;
|
|
128
|
+
export declare const PublicationRef: DB.TypeAlias<"PublicationRef", DB.Object<{
|
|
129
|
+
id: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
130
|
+
occurrences: DB.MemberDecl<DB.NestedEntityMap<string, {
|
|
131
|
+
initial: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"InitialOccurrence", DB.Object<{
|
|
132
|
+
printing: DB.MemberDecl<DB.Integer, false>;
|
|
133
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
134
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
135
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
136
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
137
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
138
|
+
}, []>>, true>;
|
|
139
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
140
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
141
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
142
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
143
|
+
}, []>>, false>;
|
|
144
|
+
}>, []>>>, true>;
|
|
145
|
+
isRemoved: DB.MemberDecl<DB.Boolean, false>;
|
|
146
|
+
}>, []>>, true>;
|
|
147
|
+
revisions: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.Enum<"Revision", {
|
|
148
|
+
Since: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Since", DB.Object<{
|
|
149
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
150
|
+
pages: DB.MemberDecl<DB.Array<DB.IncludeIdentifier<[], DB.TypeAlias<"PageRange", DB.Object<{
|
|
151
|
+
first_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
152
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
153
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
154
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
155
|
+
}, []>>, true>;
|
|
156
|
+
last_page: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"Page", {
|
|
157
|
+
InsideCoverFront: DB.EnumCase<null>;
|
|
158
|
+
InsideCoverBack: DB.EnumCase<null>;
|
|
159
|
+
Numbered: DB.EnumCase<DB.Integer>;
|
|
160
|
+
}, []>>, false>;
|
|
161
|
+
}>, []>>>, true>;
|
|
162
|
+
}>, []>>>;
|
|
163
|
+
Deprecated: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"Deprecation", DB.Object<{
|
|
164
|
+
printing: DB.MemberDecl<DB.Integer, true>;
|
|
165
|
+
}>, []>>>;
|
|
166
|
+
}, []>>>, false>;
|
|
167
|
+
}>, true>;
|
|
168
|
+
}>, []>;
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @main PublicationRefs
|
|
3
|
+
*/
|
|
4
|
+
import * as DB from "tsondb/schema/dsl";
|
|
5
|
+
import { PublicationIdentifier } from "../_Identifier.js";
|
|
6
|
+
import { Locale } from "../Locale.js";
|
|
7
|
+
export const PublicationRefs = DB.TypeAlias(import.meta.url, {
|
|
8
|
+
name: "PublicationRefs",
|
|
9
|
+
comment: "The publications where you can find the entry.",
|
|
10
|
+
type: () => DB.Array(DB.IncludeIdentifier(PublicationRef), { minItems: 1 }),
|
|
11
|
+
});
|
|
12
|
+
const srcConfig = {
|
|
13
|
+
displayName: "Source References",
|
|
14
|
+
comment: "References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.",
|
|
15
|
+
type: DB.IncludeIdentifier(PublicationRefs),
|
|
16
|
+
};
|
|
17
|
+
export const src = DB.Required(srcConfig);
|
|
18
|
+
export const optionalSrc = DB.Optional(srcConfig);
|
|
19
|
+
export const PublicationRef = DB.TypeAlias(import.meta.url, {
|
|
20
|
+
name: "PublicationRef",
|
|
21
|
+
comment: "A source reference. It contains the book's publisher identifier and the page where it occurs. If an entry spans multiple pages, provide the last page as well.",
|
|
22
|
+
type: () => DB.Object({
|
|
23
|
+
id: DB.Required({
|
|
24
|
+
comment: "The publication’s identifier.",
|
|
25
|
+
type: PublicationIdentifier(),
|
|
26
|
+
}),
|
|
27
|
+
occurrences: DB.Required({
|
|
28
|
+
comment: "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
29
|
+
type: DB.NestedEntityMap({
|
|
30
|
+
name: "Occurrence",
|
|
31
|
+
namePlural: "Occurrences",
|
|
32
|
+
secondaryEntity: Locale,
|
|
33
|
+
type: DB.Object({
|
|
34
|
+
initial: DB.Required({
|
|
35
|
+
comment: "The initial occurrence of the entry.",
|
|
36
|
+
type: DB.IncludeIdentifier(InitialOccurrence),
|
|
37
|
+
}),
|
|
38
|
+
revisions: DB.Optional({
|
|
39
|
+
comment: "Revisions of the entry, resulting in either changed page references or re-addition or removal of an entry.",
|
|
40
|
+
type: DB.Array(DB.IncludeIdentifier(Revision), { minItems: 1 }),
|
|
41
|
+
}),
|
|
42
|
+
}),
|
|
43
|
+
minProperties: 1,
|
|
44
|
+
}),
|
|
45
|
+
}),
|
|
46
|
+
}),
|
|
47
|
+
});
|
|
48
|
+
const InitialOccurrence = DB.TypeAlias(import.meta.url, {
|
|
49
|
+
name: "InitialOccurrence",
|
|
50
|
+
type: () => DB.Object({
|
|
51
|
+
printing: DB.Optional({
|
|
52
|
+
comment: "The publication’s printing since which the entry is present. Leave empty if present since the beginning.",
|
|
53
|
+
type: DB.Integer({ minimum: 2 }),
|
|
54
|
+
}),
|
|
55
|
+
pages: DB.Required({
|
|
56
|
+
comment: "The initial page references.",
|
|
57
|
+
type: DB.Array(DB.IncludeIdentifier(PageRange), { minItems: 1 }),
|
|
58
|
+
}),
|
|
59
|
+
isRemoved: DB.Optional({
|
|
60
|
+
comment: "Whether the entry has been removed in this initial occurrence. This can be used if the entry has been removed by the release of this publication (that is, the first printing), which can be useful for books that introduce major revisions of rules into the game.",
|
|
61
|
+
type: DB.Boolean(),
|
|
62
|
+
}),
|
|
63
|
+
}),
|
|
64
|
+
});
|
|
65
|
+
// const PrintingOccurrences = DB.TypeAlias(import.meta.url, {
|
|
66
|
+
// name: "PrintingOccurrences",
|
|
67
|
+
// comment: "The history of changes this publication’s printings introduced.",
|
|
68
|
+
// type: () => DB.Array(DB.IncludeIdentifier(PrintingOccurrence), { minItems: 1 }),
|
|
69
|
+
// customConstraints: ({ value }) => {
|
|
70
|
+
// const firstEntry = value[0]
|
|
71
|
+
// if (!firstEntry) {
|
|
72
|
+
// return ["At least one printing occurrence must be provided."]
|
|
73
|
+
// }
|
|
74
|
+
// if (firstEntry.printing > 1 && firstEntry.changes.kind === "Remove") {
|
|
75
|
+
// return [
|
|
76
|
+
// "The first printing occurrence cannot be a removal if the printing number is greater than 1. It must have been present in the previous printing then, which needs to be provided.",
|
|
77
|
+
// ]
|
|
78
|
+
// }
|
|
79
|
+
// return []
|
|
80
|
+
// },
|
|
81
|
+
// })
|
|
82
|
+
// const _PrintingOccurrence = DB.TypeAlias(import.meta.url, {
|
|
83
|
+
// name: "PrintingOccurrence",
|
|
84
|
+
// comment: "The publication’s printing where the entry has been added, changed, or removed.",
|
|
85
|
+
// type: () =>
|
|
86
|
+
// DB.Object({
|
|
87
|
+
// printing: DB.Required({
|
|
88
|
+
// comment: "The printing number.",
|
|
89
|
+
// type: DB.Integer({ minimum: 1 }),
|
|
90
|
+
// }),
|
|
91
|
+
// changes: DB.Required({
|
|
92
|
+
// comment: "The changes made in this printing.",
|
|
93
|
+
// type: DB.IncludeIdentifier(PrintingChanges),
|
|
94
|
+
// }),
|
|
95
|
+
// }),
|
|
96
|
+
// })
|
|
97
|
+
// const PrintingChanges = DB.Enum(import.meta.url, {
|
|
98
|
+
// name: "PrintingChanges",
|
|
99
|
+
// comment:
|
|
100
|
+
// "A revision of the entry, resulting in either changed page references or re-addition or removal of an entry.",
|
|
101
|
+
// values: () => ({
|
|
102
|
+
// Set: DB.EnumCase({
|
|
103
|
+
// comment:
|
|
104
|
+
// "The entry has been added, re-added or changed page(s) in this printing. The page references override any previously set ones in case an entry has been moved to a different page in a later printing.",
|
|
105
|
+
// type: DB.Array(DB.IncludeIdentifier(PageRange), { minItems: 1 }),
|
|
106
|
+
// }),
|
|
107
|
+
// Remove: DB.EnumCase({
|
|
108
|
+
// comment:
|
|
109
|
+
// "The entry has been removed in this printing.\n\nThis can also be used if the entry hss been removed by the release of this publication (that is, the first printing), which can be useful for books that introduce major revisions of rules into the game.",
|
|
110
|
+
// type: null,
|
|
111
|
+
// }),
|
|
112
|
+
// }),
|
|
113
|
+
// })
|
|
114
|
+
const Revision = DB.Enum(import.meta.url, {
|
|
115
|
+
name: "Revision",
|
|
116
|
+
comment: "A revision of the entry, resulting in either changed page references or re-addition or removal of an entry.",
|
|
117
|
+
values: () => ({
|
|
118
|
+
Since: DB.EnumCase({ type: DB.IncludeIdentifier(Since) }),
|
|
119
|
+
Deprecated: DB.EnumCase({ type: DB.IncludeIdentifier(Deprecation) }),
|
|
120
|
+
}),
|
|
121
|
+
});
|
|
122
|
+
const Since = DB.TypeAlias(import.meta.url, {
|
|
123
|
+
name: "Since",
|
|
124
|
+
type: () => DB.Object({
|
|
125
|
+
printing: DB.Required({
|
|
126
|
+
comment: "The publication’s printing since which the entry is present again or has changed page references.",
|
|
127
|
+
type: DB.Integer({ minimum: 1 }),
|
|
128
|
+
}),
|
|
129
|
+
pages: DB.Required({
|
|
130
|
+
comment: "The changed or new page references.",
|
|
131
|
+
type: DB.Array(DB.IncludeIdentifier(PageRange), { minItems: 1 }),
|
|
132
|
+
}),
|
|
133
|
+
}),
|
|
134
|
+
});
|
|
135
|
+
const Deprecation = DB.TypeAlias(import.meta.url, {
|
|
136
|
+
name: "Deprecation",
|
|
137
|
+
type: () => DB.Object({
|
|
138
|
+
printing: DB.Required({
|
|
139
|
+
comment: "The publication’s printing since which the entry has been removed.\n\nThis can also be used if the entry hss been removed by the release of this publication (that is, the first printing).",
|
|
140
|
+
type: DB.Integer({ minimum: 1 }),
|
|
141
|
+
}),
|
|
142
|
+
}),
|
|
143
|
+
});
|
|
144
|
+
const PageRange = DB.TypeAlias(import.meta.url, {
|
|
145
|
+
name: "PageRange",
|
|
146
|
+
type: () => DB.Object({
|
|
147
|
+
first_page: DB.Required({
|
|
148
|
+
comment: "The page where it occurs. If the entry spans multiple pages, use this as the first page and `last_page` as the last page.",
|
|
149
|
+
type: DB.IncludeIdentifier(Page),
|
|
150
|
+
}),
|
|
151
|
+
last_page: DB.Optional({
|
|
152
|
+
comment: "The last page where it occurs. If there is only one page, set this to the same as `first_page` oder remove it.",
|
|
153
|
+
type: DB.IncludeIdentifier(Page),
|
|
154
|
+
}),
|
|
155
|
+
}),
|
|
156
|
+
});
|
|
157
|
+
const Page = DB.Enum(import.meta.url, {
|
|
158
|
+
name: "Page",
|
|
159
|
+
values: () => ({
|
|
160
|
+
InsideCoverFront: DB.EnumCase({ type: null }),
|
|
161
|
+
InsideCoverBack: DB.EnumCase({ type: null }),
|
|
162
|
+
Numbered: DB.EnumCase({ type: DB.Integer() }),
|
|
163
|
+
}),
|
|
164
|
+
});
|