optolith-database-schema 0.2.3 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +73 -0
- package/lib/config.d.ts +302 -250
- package/lib/config.js +302 -250
- package/lib/main.d.ts +3 -2
- package/lib/main.js +1 -1
- package/lib/types/Advantage.d.ts +23 -25
- package/lib/types/AnimalDisease.d.ts +18 -212
- package/lib/types/AnimalType.d.ts +9 -13
- package/lib/types/ArcaneBardTradition.d.ts +3 -27
- package/lib/types/ArcaneDancerTradition.d.ts +3 -27
- package/lib/types/Aspect.d.ts +14 -19
- package/lib/types/Attribute.d.ts +17 -23
- package/lib/types/Blessing.d.ts +81 -94
- package/lib/types/Cantrip.d.ts +135 -148
- package/lib/types/Ceremony.d.ts +55 -88
- package/lib/types/CombatTechnique_Close.d.ts +30 -39
- package/lib/types/CombatTechnique_Ranged.d.ts +28 -26
- package/lib/types/Condition.d.ts +18 -31
- package/lib/types/Continent.d.ts +9 -13
- package/lib/types/Culture.d.ts +164 -290
- package/lib/types/Culture.js +38 -0
- package/lib/types/DerivedCharacteristic.d.ts +4 -10
- package/lib/types/Disadvantage.d.ts +20 -24
- package/lib/types/Disease.d.ts +5 -140
- package/lib/types/Element.d.ts +9 -13
- package/lib/types/ExperienceLevel.d.ts +3 -9
- package/lib/types/EyeColor.d.ts +9 -13
- package/lib/types/FamiliarsTrick.d.ts +201 -290
- package/lib/types/HairColor.d.ts +9 -13
- package/lib/types/Lessons_Curriculum.d.ts +77 -138
- package/lib/types/Lessons_Guideline.d.ts +9 -13
- package/lib/types/LiturgicalChant.d.ts +55 -88
- package/lib/types/Locale.d.ts +1 -1
- package/lib/types/Locale.js +1 -1
- package/lib/types/MetaCondition.d.ts +18 -31
- package/lib/types/PactCategory.d.ts +48 -62
- package/lib/types/Patron.d.ts +60 -76
- package/lib/types/Patron.js +20 -0
- package/lib/types/PatronCategory.d.ts +11 -21
- package/lib/types/PersonalityTrait.d.ts +31 -39
- package/lib/types/Profession.d.ts +293 -435
- package/lib/types/Profession.js +6 -0
- package/lib/types/Property.d.ts +9 -13
- package/lib/types/Race.d.ts +95 -192
- package/lib/types/Race.js +11 -0
- package/lib/types/Region.d.ts +9 -13
- package/lib/types/Ritual.d.ts +58 -83
- package/lib/types/Service.d.ts +19 -25
- package/lib/types/Service.js +5 -0
- package/lib/types/SexPractice.d.ts +26 -34
- package/lib/types/Skill.d.ts +73 -102
- package/lib/types/Skill.js +19 -0
- package/lib/types/SkillGroup.d.ts +13 -18
- package/lib/types/SkillModificationLevel.d.ts +72 -76
- package/lib/types/SocialStatus.d.ts +9 -13
- package/lib/types/Spell.d.ts +58 -83
- package/lib/types/State.d.ts +14 -20
- package/lib/types/Talisman.d.ts +40 -54
- package/lib/types/Talisman.js +8 -0
- package/lib/types/TargetCategory.d.ts +21 -16
- package/lib/types/UI.d.ts +1 -5
- package/lib/types/_Activatable.d.ts +643 -1221
- package/lib/types/_Activatable.js +44 -13
- package/lib/types/_ActivatableSelectOptionCategory.d.ts +359 -0
- package/lib/types/_ActivatableSelectOptionCategory.js +8 -0
- package/lib/types/_ActivatableSkill.d.ts +24 -1013
- package/lib/types/_ActivatableSkill.js +1 -31
- package/lib/types/_ActivatableSkillCastingTime.d.ts +69 -0
- package/lib/types/_ActivatableSkillCastingTime.js +5 -0
- package/lib/types/_ActivatableSkillCheckResultBased.d.ts +39 -0
- package/lib/types/_ActivatableSkillCheckResultBased.js +16 -0
- package/lib/types/_ActivatableSkillCost.d.ts +223 -0
- package/lib/types/{prerequisites/single/CommonSuggestedByRCPPrerequisite.js → _ActivatableSkillCost.js} +0 -0
- package/lib/types/_ActivatableSkillDuration.d.ts +138 -0
- package/lib/types/_ActivatableSkillDuration.js +13 -0
- package/lib/types/_ActivatableSkillEffect.d.ts +68 -0
- package/lib/types/{equipment/_Armor.js → _ActivatableSkillEffect.js} +0 -3
- package/lib/types/_ActivatableSkillRange.d.ts +107 -0
- package/lib/types/_ActivatableSkillRange.js +5 -0
- package/lib/types/_ActivatableSkillTargetCategory.d.ts +39 -0
- package/lib/types/_ActivatableSkillTargetCategory.js +1 -0
- package/lib/types/_AlternativeNames.d.ts +11 -0
- package/lib/types/_AlternativeNames.js +1 -0
- package/lib/types/_ArcaneTradition.d.ts +28 -0
- package/lib/types/_ArcaneTradition.js +4 -0
- package/lib/types/_Blessed.d.ts +22 -0
- package/lib/types/_Blessed.js +1 -0
- package/lib/types/_DiseasePoison.d.ts +114 -0
- package/lib/types/_DiseasePoison.js +15 -0
- package/lib/types/_Enhancements.d.ts +16 -20
- package/lib/types/_I18n.d.ts +1 -5
- package/lib/types/_Identifier.d.ts +32 -0
- package/lib/types/_Identifier.js +32 -0
- package/lib/types/_Influence.d.ts +27 -32
- package/lib/types/_LocaleMap.d.ts +10 -0
- package/lib/types/_LocaleMap.js +1 -0
- package/lib/types/_NonEmptyString.d.ts +9 -0
- package/lib/types/_NonEmptyString.js +1 -0
- package/lib/types/_Prerequisite.d.ts +61 -65
- package/lib/types/_ResponsiveText.d.ts +54 -0
- package/lib/types/_ResponsiveText.js +1 -0
- package/lib/types/_Sex.d.ts +4 -5
- package/lib/types/_Sex.js +8 -1
- package/lib/types/_SimpleReferences.d.ts +334 -0
- package/lib/types/_SimpleReferences.js +1 -0
- package/lib/types/_SkillCheck.d.ts +12 -20
- package/lib/types/_SkillCheck.js +11 -1
- package/lib/types/_Spellwork.d.ts +18 -0
- package/lib/types/_Spellwork.js +1 -0
- package/lib/types/equipment/EquipmentPackage.d.ts +24 -28
- package/lib/types/equipment/item/Alchemicum.d.ts +6 -0
- package/lib/types/equipment/item/Alchemicum.js +5 -0
- package/lib/types/equipment/item/Ammunition.d.ts +31 -0
- package/lib/types/equipment/item/Ammunition.js +5 -0
- package/lib/types/equipment/item/Animal.d.ts +18 -0
- package/lib/types/equipment/item/Animal.js +5 -0
- package/lib/types/equipment/item/AnimalCare.d.ts +48 -0
- package/lib/types/equipment/item/AnimalCare.js +5 -0
- package/lib/types/equipment/item/Armor.d.ts +185 -0
- package/lib/types/equipment/item/Armor.js +5 -0
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +36 -0
- package/lib/types/equipment/item/BandageOrRemedy.js +5 -0
- package/lib/types/equipment/item/Book.d.ts +60 -0
- package/lib/types/equipment/item/Book.js +5 -0
- package/lib/types/equipment/item/CeremonialItem.d.ts +41 -0
- package/lib/types/equipment/item/CeremonialItem.js +5 -0
- package/lib/types/equipment/item/Clothes.d.ts +6 -0
- package/lib/types/equipment/item/Clothes.js +5 -0
- package/lib/types/equipment/item/Container.d.ts +6 -0
- package/lib/types/equipment/item/Container.js +5 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +28 -0
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -0
- package/lib/types/equipment/item/GemOrPreciousStone.d.ts +43 -0
- package/lib/types/equipment/item/GemOrPreciousStone.js +5 -0
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +62 -0
- package/lib/types/equipment/item/IlluminationLightSource.js +9 -0
- package/lib/types/equipment/item/IlluminationRefillsOrSupplies.d.ts +6 -0
- package/lib/types/equipment/item/IlluminationRefillsOrSupplies.js +5 -0
- package/lib/types/equipment/item/Jewelry.d.ts +60 -0
- package/lib/types/equipment/item/Jewelry.js +5 -0
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +6 -0
- package/lib/types/equipment/item/Liebesspielzeug.js +5 -0
- package/lib/types/equipment/item/LuxuryGood.d.ts +36 -0
- package/lib/types/equipment/item/LuxuryGood.js +5 -0
- package/lib/types/equipment/item/MagicalArtifact.d.ts +39 -0
- package/lib/types/equipment/item/MagicalArtifact.js +5 -0
- package/lib/types/equipment/item/MusicalInstrument.d.ts +22 -0
- package/lib/types/equipment/item/MusicalInstrument.js +5 -0
- package/lib/types/equipment/item/OrienteeringAid.d.ts +6 -0
- package/lib/types/equipment/item/OrienteeringAid.js +5 -0
- package/lib/types/equipment/item/Poison.d.ts +165 -0
- package/lib/types/equipment/item/Poison.js +12 -0
- package/lib/types/equipment/item/RopeOrChain.d.ts +6 -0
- package/lib/types/equipment/item/RopeOrChain.js +5 -0
- package/lib/types/equipment/item/Stationary.d.ts +6 -0
- package/lib/types/equipment/item/Stationary.js +5 -0
- package/lib/types/equipment/item/ThievesTool.d.ts +6 -0
- package/lib/types/equipment/item/ThievesTool.js +5 -0
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +56 -0
- package/lib/types/equipment/item/ToolOfTheTrade.js +5 -0
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +6 -0
- package/lib/types/equipment/item/TravelGearOrTool.js +5 -0
- package/lib/types/equipment/item/Vehicle.d.ts +18 -0
- package/lib/types/equipment/item/Vehicle.js +5 -0
- package/lib/types/equipment/item/Weapon.d.ts +152 -0
- package/lib/types/equipment/item/Weapon.js +5 -0
- package/lib/types/equipment/item/WeaponAccessory.d.ts +6 -0
- package/lib/types/equipment/item/WeaponAccessory.js +5 -0
- package/lib/types/equipment/item/_Item.d.ts +163 -0
- package/lib/types/equipment/item/_Item.js +1 -0
- package/lib/types/equipment/item/_MeleeWeapon.d.ts +115 -0
- package/lib/types/equipment/item/_MeleeWeapon.js +4 -0
- package/lib/types/equipment/item/_RangedWeapon.d.ts +110 -0
- package/lib/types/equipment/item/_RangedWeapon.js +4 -0
- package/lib/types/equipment/item/_Weapon.d.ts +57 -0
- package/lib/types/equipment/{_Weapon.js → item/_Weapon.js} +0 -3
- package/lib/types/equipment/item/sub/ArmorType.d.ts +36 -0
- package/lib/types/equipment/{ArmorType.js → item/sub/ArmorType.js} +1 -1
- package/lib/types/equipment/item/sub/Reach.d.ts +27 -0
- package/lib/types/equipment/{Reach.js → item/sub/Reach.js} +1 -1
- package/lib/types/magicalActions/AnimistPower.d.ts +170 -225
- package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +9 -13
- package/lib/types/magicalActions/Curse.d.ts +116 -184
- package/lib/types/magicalActions/DominationRitual.d.ts +98 -136
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +79 -123
- package/lib/types/magicalActions/GeodeRitual.d.ts +126 -111
- package/lib/types/magicalActions/JesterTrick.d.ts +117 -109
- package/lib/types/magicalActions/MagicalDance.d.ts +71 -138
- package/lib/types/magicalActions/MagicalMelody.d.ts +65 -75
- package/lib/types/magicalActions/MagicalRune.d.ts +155 -189
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +57 -65
- package/lib/types/magicalActions/_MusicTradition.d.ts +21 -13
- package/lib/types/magicalActions/_MusicTradition.js +10 -1
- package/lib/types/magicalActions/_SkillReference.d.ts +1 -1
- package/lib/types/prerequisites/DisplayOption.d.ts +7 -8
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +195 -16
- package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +0 -3
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +17 -14
- package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/PactPrerequisite.d.ts +5 -14
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +5 -6
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +5 -1
- package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/RacePrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +32 -41
- package/lib/types/prerequisites/single/RulePrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/SexPrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/StatePrerequisite.d.ts +0 -1
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +9 -14
- package/lib/types/prerequisites/single/TextPrerequisite.js +5 -1
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +18 -12
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +18 -1
- package/lib/types/rule/CoreRule.d.ts +256 -206
- package/lib/types/rule/CoreRule.js +5 -0
- package/lib/types/rule/FocusRule.d.ts +19 -24
- package/lib/types/rule/FocusRule_Subject.d.ts +9 -13
- package/lib/types/rule/OptionalRule.d.ts +12 -35
- package/lib/types/rule/_Rule.d.ts +20 -0
- package/lib/types/rule/_Rule.js +1 -0
- package/lib/types/source/Publication.d.ts +39 -56
- package/lib/types/source/Publication.js +10 -0
- package/lib/types/source/_Erratum.d.ts +2 -1
- package/lib/types/source/_PublicationRef.d.ts +43 -37
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +13 -17
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/AncestorGlyph.d.ts +8 -12
- package/lib/types/specialAbility/BlessedTradition.d.ts +95 -123
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +9 -13
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +13 -17
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +10 -18
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +1 -1
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/LycantropicGift.d.ts +8 -12
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/MagicalTradition.d.ts +38 -58
- package/lib/types/specialAbility/PactGift.d.ts +73 -62
- package/lib/types/specialAbility/PactGift.js +10 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +16 -23
- package/lib/types/specialAbility/Sermon.d.ts +8 -12
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +8 -12
- package/lib/types/specialAbility/VampiricGift.d.ts +8 -12
- package/lib/types/specialAbility/Vision.d.ts +8 -12
- package/lib/types/specialAbility/_Tradition.d.ts +12 -0
- package/lib/types/specialAbility/_Tradition.js +1 -0
- package/lib/types/specialAbility/sub/Language.d.ts +78 -104
- package/lib/types/specialAbility/sub/Script.d.ts +24 -51
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +14 -20
- package/lib/types/specialAbility/sub/_LanguageScript.d.ts +13 -0
- package/lib/types/specialAbility/sub/_LanguageScript.js +1 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +21 -25
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +31 -34
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +45 -25
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +20 -24
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +20 -24
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +21 -25
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +21 -25
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +20 -24
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +20 -24
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +19 -24
- package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +24 -16
- package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +9 -13
- package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +9 -13
- package/lib/types/traditionArtifacts/sub/Brew.d.ts +9 -13
- package/lib/validation/schema.d.ts +11 -2
- package/lib/validation/schema.js +16 -4
- package/package.json +8 -7
- package/schema/Advantage.schema.json +49 -42
- package/schema/AnimalDisease.schema.json +17 -325
- package/schema/AnimalType.schema.json +17 -15
- package/schema/ArcaneBardTradition.schema.json +4 -42
- package/schema/ArcaneDancerTradition.schema.json +4 -42
- package/schema/Aspect.schema.json +21 -20
- package/schema/Attribute.schema.json +27 -27
- package/schema/Blessing.schema.json +202 -163
- package/schema/Cantrip.schema.json +353 -271
- package/schema/Ceremony.schema.json +90 -149
- package/schema/CombatTechnique_Close.schema.json +56 -67
- package/schema/CombatTechnique_Ranged.schema.json +46 -30
- package/schema/Condition.schema.json +46 -50
- package/schema/Continent.schema.json +18 -15
- package/schema/Culture.schema.json +324 -495
- package/schema/DerivedCharacteristic.schema.json +8 -8
- package/schema/Disadvantage.schema.json +45 -40
- package/schema/Disease.schema.json +7 -193
- package/schema/Element.schema.json +18 -15
- package/schema/ExperienceLevel.schema.json +5 -5
- package/schema/EyeColor.schema.json +17 -15
- package/schema/FamiliarsTrick.schema.json +491 -513
- package/schema/HairColor.schema.json +17 -15
- package/schema/Kirchenpraegung.schema.json +4 -4
- package/schema/Lessons_Curriculum.schema.json +234 -236
- package/schema/Lessons_Guideline.schema.json +17 -15
- package/schema/LiturgicalChant.schema.json +90 -149
- package/schema/Locale.schema.json +5 -5
- package/schema/MetaCondition.schema.json +46 -50
- package/schema/PactCategory.schema.json +101 -89
- package/schema/Patron.schema.json +151 -229
- package/schema/PatronCategory.schema.json +18 -27
- package/schema/PersonalityTrait.schema.json +50 -57
- package/schema/Profession.schema.json +833 -993
- package/schema/Property.schema.json +18 -16
- package/schema/Race.schema.json +170 -311
- package/schema/Region.schema.json +17 -15
- package/schema/Ritual.schema.json +111 -158
- package/schema/Service.schema.json +33 -51
- package/schema/SexPractice.schema.json +37 -39
- package/schema/Skill.schema.json +95 -162
- package/schema/SkillGroup.schema.json +23 -22
- package/schema/SkillModificationLevel.schema.json +93 -82
- package/schema/SocialStatus.schema.json +17 -15
- package/schema/Spell.schema.json +110 -158
- package/schema/State.schema.json +26 -25
- package/schema/Talisman.schema.json +60 -121
- package/schema/TargetCategory.schema.json +35 -20
- package/schema/UI.schema.json +830 -834
- package/schema/_Activatable.schema.json +1609 -2258
- package/schema/_ActivatableSelectOptionCategory.schema.json +1172 -0
- package/schema/_ActivatableSkill.schema.json +96 -1679
- package/schema/_ActivatableSkillCastingTime.schema.json +177 -0
- package/schema/_ActivatableSkillCheckResultBased.schema.json +57 -0
- package/schema/_ActivatableSkillCost.schema.json +448 -0
- package/schema/_ActivatableSkillDuration.schema.json +335 -0
- package/schema/_ActivatableSkillEffect.schema.json +153 -0
- package/schema/_ActivatableSkillRange.schema.json +241 -0
- package/schema/_ActivatableSkillTargetCategory.schema.json +145 -0
- package/schema/_AlternativeNames.schema.json +23 -0
- package/schema/_ArcaneTradition.schema.json +51 -0
- package/schema/_Blessed.schema.json +64 -0
- package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +2 -2
- package/schema/_Dice.schema.json +3 -3
- package/schema/_DiseasePoison.schema.json +140 -0
- package/schema/_Enhancements.schema.json +29 -26
- package/schema/_I18n.schema.json +8 -12
- package/schema/_Identifier.schema.json +73 -22
- package/schema/_ImprovementCost.schema.json +2 -2
- package/schema/_Influence.schema.json +48 -45
- package/schema/_NonEmptyString.schema.json +14 -0
- package/schema/_Prerequisite.schema.json +953 -765
- package/schema/_ResponsiveText.schema.json +66 -0
- package/schema/_Sex.schema.json +6 -28
- package/schema/_SimpleReferences.schema.json +586 -0
- package/schema/_SkillCheck.schema.json +10 -69
- package/schema/_Spellwork.schema.json +54 -0
- package/schema/equipment/EquipmentPackage.schema.json +37 -32
- package/schema/equipment/item/Alchemicum.schema.json +10 -0
- package/schema/equipment/item/Ammunition.schema.json +56 -0
- package/schema/equipment/item/Animal.schema.json +36 -0
- package/schema/equipment/item/AnimalCare.schema.json +124 -0
- package/schema/equipment/item/Armor.schema.json +309 -0
- package/schema/equipment/item/BandageOrRemedy.schema.json +53 -0
- package/schema/equipment/item/Book.schema.json +89 -0
- package/schema/equipment/item/CeremonialItem.schema.json +59 -0
- package/schema/equipment/item/Clothes.schema.json +10 -0
- package/schema/equipment/item/Container.schema.json +10 -0
- package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +46 -0
- package/schema/equipment/item/GemOrPreciousStone.schema.json +69 -0
- package/schema/equipment/item/IlluminationLightSource.schema.json +122 -0
- package/schema/equipment/item/IlluminationRefillsOrSupplies.schema.json +10 -0
- package/schema/equipment/item/Jewelry.schema.json +113 -0
- package/schema/equipment/item/Liebesspielzeug.schema.json +10 -0
- package/schema/equipment/item/LuxuryGood.schema.json +53 -0
- package/schema/equipment/item/MagicalArtifact.schema.json +64 -0
- package/schema/equipment/item/MusicalInstrument.schema.json +41 -0
- package/schema/equipment/item/OrienteeringAid.schema.json +10 -0
- package/schema/equipment/item/Poison.schema.json +369 -0
- package/schema/equipment/item/RopeOrChain.schema.json +10 -0
- package/schema/equipment/item/Stationary.schema.json +10 -0
- package/schema/equipment/item/ThievesTool.schema.json +10 -0
- package/schema/equipment/item/ToolOfTheTrade.schema.json +82 -0
- package/schema/equipment/item/TravelGearOrTool.schema.json +10 -0
- package/schema/equipment/item/Vehicle.schema.json +36 -0
- package/schema/equipment/item/Weapon.schema.json +265 -0
- package/schema/equipment/item/WeaponAccessory.schema.json +10 -0
- package/schema/equipment/item/_Item.schema.json +403 -0
- package/schema/equipment/item/_MeleeWeapon.schema.json +180 -0
- package/schema/equipment/item/_RangedWeapon.schema.json +186 -0
- package/schema/equipment/item/_Weapon.schema.json +99 -0
- package/schema/equipment/item/sub/ArmorType.schema.json +53 -0
- package/schema/equipment/{Reach.schema.json → item/sub/Reach.schema.json} +18 -16
- package/schema/magicalActions/AnimistPower.schema.json +427 -402
- package/schema/magicalActions/AnimistPower_Tribe.schema.json +17 -15
- package/schema/magicalActions/Curse.schema.json +293 -313
- package/schema/magicalActions/DominationRitual.schema.json +233 -220
- package/schema/magicalActions/ElvenMagicalSong.schema.json +132 -154
- package/schema/magicalActions/GeodeRitual.schema.json +296 -220
- package/schema/magicalActions/JesterTrick.schema.json +269 -198
- package/schema/magicalActions/MagicalDance.schema.json +147 -251
- package/schema/magicalActions/MagicalMelody.schema.json +129 -164
- package/schema/magicalActions/MagicalRune.schema.json +341 -323
- package/schema/magicalActions/ZibiljaRitual.schema.json +139 -112
- package/schema/magicalActions/_MusicTradition.schema.json +44 -14
- package/schema/magicalActions/_SkillReference.schema.json +4 -4
- package/schema/prerequisites/ConditionalPrerequisites.schema.json +3 -3
- package/schema/prerequisites/DisplayOption.schema.json +33 -15
- package/schema/prerequisites/PrerequisiteGroups.schema.json +845 -62
- package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +13 -25
- package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +4 -7
- package/schema/prerequisites/single/CulturePrerequisite.schema.json +4 -8
- package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +30 -23
- package/schema/prerequisites/single/InfluencePrerequisite.schema.json +3 -7
- package/schema/prerequisites/single/PactPrerequisite.schema.json +9 -19
- package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +10 -33
- package/schema/prerequisites/single/PublicationPrerequisite.schema.json +3 -7
- package/schema/prerequisites/single/RacePrerequisite.schema.json +4 -8
- package/schema/prerequisites/single/RatedPrerequisite.schema.json +104 -107
- package/schema/prerequisites/single/RulePrerequisite.schema.json +4 -8
- package/schema/prerequisites/single/SexPrerequisite.schema.json +4 -8
- package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +3 -7
- package/schema/prerequisites/single/StatePrerequisite.schema.json +4 -8
- package/schema/prerequisites/single/TextPrerequisite.schema.json +13 -34
- package/schema/prerequisites/single/TraditionPrerequisite.schema.json +22 -68
- package/schema/rule/CoreRule.schema.json +1295 -859
- package/schema/rule/FocusRule.schema.json +34 -30
- package/schema/rule/FocusRule_Subject.schema.json +17 -15
- package/schema/rule/OptionalRule.schema.json +24 -56
- package/schema/rule/_Rule.schema.json +59 -0
- package/schema/source/Publication.schema.json +47 -117
- package/schema/source/_Erratum.schema.json +5 -6
- package/schema/source/_PublicationRef.schema.json +103 -59
- package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +41 -38
- package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/AncestorGlyph.schema.json +33 -30
- package/schema/specialAbility/BlessedTradition.schema.json +251 -225
- package/schema/specialAbility/BrawlingSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +36 -33
- package/schema/specialAbility/CombatSpecialAbility.schema.json +41 -38
- package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +39 -61
- package/schema/specialAbility/CommandSpecialAbility.schema.json +16 -16
- package/schema/specialAbility/FamiliarSpecialAbility.schema.json +33 -30
- package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +33 -30
- package/schema/specialAbility/FatePointSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/GeneralSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/KarmaSpecialAbility.schema.json +33 -30
- package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +36 -33
- package/schema/specialAbility/LycantropicGift.schema.json +33 -30
- package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +36 -33
- package/schema/specialAbility/MagicalSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/MagicalTradition.schema.json +66 -87
- package/schema/specialAbility/PactGift.schema.json +196 -174
- package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +39 -38
- package/schema/specialAbility/Sermon.schema.json +33 -30
- package/schema/specialAbility/SexSpecialAbility.schema.json +35 -32
- package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +33 -30
- package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +34 -31
- package/schema/specialAbility/VampiricGift.schema.json +33 -30
- package/schema/specialAbility/Vision.schema.json +33 -30
- package/schema/specialAbility/_Tradition.schema.json +23 -0
- package/schema/specialAbility/sub/Language.schema.json +170 -162
- package/schema/specialAbility/sub/Script.schema.json +35 -72
- package/schema/specialAbility/sub/TradeSecret.schema.json +26 -25
- package/schema/specialAbility/sub/_LanguageScript.schema.json +26 -0
- package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/AttireEnchantment.schema.json +47 -43
- package/schema/traditionArtifacts/BowlEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/CauldronEnchantment.schema.json +63 -56
- package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/DaggerRitual.schema.json +132 -43
- package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +46 -43
- package/schema/traditionArtifacts/OrbEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/RingEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/SickleRitual.schema.json +46 -43
- package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/StaffEnchantment.schema.json +47 -43
- package/schema/traditionArtifacts/ToyEnchantment.schema.json +47 -43
- package/schema/traditionArtifacts/Trinkhornzauber.schema.json +46 -43
- package/schema/traditionArtifacts/WandEnchantment.schema.json +46 -43
- package/schema/traditionArtifacts/WeaponEnchantment.schema.json +46 -50
- package/schema/traditionArtifacts/sub/AnimalShape.schema.json +53 -25
- package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +17 -15
- package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +17 -15
- package/schema/traditionArtifacts/sub/Brew.schema.json +17 -15
- package/lib/types/MagicalTraditionPlaceholder.d.ts +0 -32
- package/lib/types/MagicalTraditionPlaceholder.js +0 -5
- package/lib/types/Poison.d.ts +0 -208
- package/lib/types/Poison.js +0 -5
- package/lib/types/equipment/ArmorType.d.ts +0 -31
- package/lib/types/equipment/Item.d.ts +0 -308
- package/lib/types/equipment/Item.js +0 -35
- package/lib/types/equipment/ItemGroup.d.ts +0 -31
- package/lib/types/equipment/ItemGroup.js +0 -5
- package/lib/types/equipment/Reach.d.ts +0 -31
- package/lib/types/equipment/_Armor.d.ts +0 -70
- package/lib/types/equipment/_Weapon.d.ts +0 -330
- package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +0 -3
- package/schema/MagicalTraditionPlaceholder.schema.json +0 -45
- package/schema/Poison.schema.json +0 -417
- package/schema/equipment/ArmorType.schema.json +0 -45
- package/schema/equipment/Item.schema.json +0 -621
- package/schema/equipment/ItemGroup.schema.json +0 -45
- package/schema/equipment/_Armor.schema.json +0 -125
- package/schema/equipment/_Weapon.schema.json +0 -664
- package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +0 -18
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"$schema": "
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
3
3
|
"$id": "/_Activatable.schema.json",
|
|
4
|
-
"
|
|
4
|
+
"$defs": {
|
|
5
5
|
"Id": {
|
|
6
6
|
"description": "The activatable entry's identifier. An unique, increasing integer.",
|
|
7
7
|
"type": "integer",
|
|
@@ -33,13 +33,13 @@
|
|
|
33
33
|
"properties": {
|
|
34
34
|
"derived": {
|
|
35
35
|
"description": "An entry category with optional further configuration. All available\nentries from the specified categories will be included as separate select\noptions. You can also specify a set of groups that should only be\nincluded. Groups not mentioned will be excluded then.",
|
|
36
|
-
"$ref": "
|
|
36
|
+
"$ref": "./_ActivatableSelectOptionCategory.schema.json#/$defs/SelectOptionCategory"
|
|
37
37
|
},
|
|
38
38
|
"explicit": {
|
|
39
39
|
"description": "A list of explicit select options. If the identifier has a specific type,\nits entry is the base of this select option, where values defined here\noverride values from the base. Define the `src` property if the options\nare not derived from the rules text of the advantage/disadvantage/special\nability but instead are listed in a separate block and/or on a separate\npage.",
|
|
40
40
|
"type": "array",
|
|
41
41
|
"items": {
|
|
42
|
-
"$ref": "
|
|
42
|
+
"$ref": "#/$defs/ExplicitSelectOption"
|
|
43
43
|
},
|
|
44
44
|
"minItems": 1
|
|
45
45
|
}
|
|
@@ -48,17 +48,21 @@
|
|
|
48
48
|
"minProperties": 1,
|
|
49
49
|
"additionalProperties": false
|
|
50
50
|
},
|
|
51
|
-
"
|
|
51
|
+
"ExplicitSelectOption": {
|
|
52
52
|
"oneOf": [
|
|
53
53
|
{
|
|
54
54
|
"type": "object",
|
|
55
55
|
"properties": {
|
|
56
56
|
"tag": {
|
|
57
|
-
"const": "
|
|
57
|
+
"const": "General"
|
|
58
|
+
},
|
|
59
|
+
"general": {
|
|
60
|
+
"$ref": "#/$defs/ExplicitGeneralSelectOption"
|
|
58
61
|
}
|
|
59
62
|
},
|
|
60
63
|
"required": [
|
|
61
|
-
"tag"
|
|
64
|
+
"tag",
|
|
65
|
+
"general"
|
|
62
66
|
],
|
|
63
67
|
"additionalProperties": false
|
|
64
68
|
},
|
|
@@ -66,11 +70,15 @@
|
|
|
66
70
|
"type": "object",
|
|
67
71
|
"properties": {
|
|
68
72
|
"tag": {
|
|
69
|
-
"const": "
|
|
73
|
+
"const": "Skill"
|
|
74
|
+
},
|
|
75
|
+
"skill": {
|
|
76
|
+
"$ref": "#/$defs/ExplicitSkillSelectOption"
|
|
70
77
|
}
|
|
71
78
|
},
|
|
72
79
|
"required": [
|
|
73
|
-
"tag"
|
|
80
|
+
"tag",
|
|
81
|
+
"skill"
|
|
74
82
|
],
|
|
75
83
|
"additionalProperties": false
|
|
76
84
|
},
|
|
@@ -78,640 +86,281 @@
|
|
|
78
86
|
"type": "object",
|
|
79
87
|
"properties": {
|
|
80
88
|
"tag": {
|
|
81
|
-
"const": "
|
|
89
|
+
"const": "CombatTechnique"
|
|
90
|
+
},
|
|
91
|
+
"combat_technique": {
|
|
92
|
+
"$ref": "#/$defs/ExplicitCombatTechniqueSelectOption"
|
|
82
93
|
}
|
|
83
94
|
},
|
|
84
95
|
"required": [
|
|
85
|
-
"tag"
|
|
96
|
+
"tag",
|
|
97
|
+
"combat_technique"
|
|
86
98
|
],
|
|
87
99
|
"additionalProperties": false
|
|
100
|
+
}
|
|
101
|
+
]
|
|
102
|
+
},
|
|
103
|
+
"ExplicitGeneralSelectOption": {
|
|
104
|
+
"type": "object",
|
|
105
|
+
"properties": {
|
|
106
|
+
"id": {
|
|
107
|
+
"description": "The option's identifier. An unique, increasing integer.",
|
|
108
|
+
"type": "integer",
|
|
109
|
+
"minimum": 1
|
|
88
110
|
},
|
|
89
|
-
{
|
|
90
|
-
"
|
|
91
|
-
"
|
|
92
|
-
"tag": {
|
|
93
|
-
"const": "Scripts"
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
"required": [
|
|
97
|
-
"tag"
|
|
98
|
-
],
|
|
99
|
-
"additionalProperties": false
|
|
111
|
+
"profession_only": {
|
|
112
|
+
"description": "Sometimes, professions use specific text selections that are not\ncontained in described lists. This ensures you can use them for\nprofessions only. They are not going to be displayed as options to the\nuser.",
|
|
113
|
+
"const": true
|
|
100
114
|
},
|
|
101
|
-
{
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"tag": {
|
|
105
|
-
"const": "AnimalShapes"
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"required": [
|
|
109
|
-
"tag"
|
|
110
|
-
],
|
|
111
|
-
"additionalProperties": false
|
|
115
|
+
"skill_applications": {
|
|
116
|
+
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an entry-unique\nidentifier and the skill it belongs to. A translation can be left out if\nits name equals the name of the origin select option.",
|
|
117
|
+
"$ref": "#/$defs/SkillApplications"
|
|
112
118
|
},
|
|
113
|
-
{
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"tag": {
|
|
117
|
-
"const": "ArcaneBardTraditions"
|
|
118
|
-
}
|
|
119
|
-
},
|
|
120
|
-
"required": [
|
|
121
|
-
"tag"
|
|
122
|
-
],
|
|
123
|
-
"additionalProperties": false
|
|
119
|
+
"skill_uses": {
|
|
120
|
+
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier and the\nskill it belongs to. A translation can be left out if its name equals the\nname of the origin select option.",
|
|
121
|
+
"$ref": "#/$defs/SkillUses"
|
|
124
122
|
},
|
|
125
|
-
{
|
|
126
|
-
"
|
|
127
|
-
"properties": {
|
|
128
|
-
"tag": {
|
|
129
|
-
"const": "ArcaneDancerTraditions"
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"required": [
|
|
133
|
-
"tag"
|
|
134
|
-
],
|
|
135
|
-
"additionalProperties": false
|
|
123
|
+
"prerequisites": {
|
|
124
|
+
"$ref": "./_Prerequisite.schema.json#/$defs/GeneralPrerequisites"
|
|
136
125
|
},
|
|
137
|
-
{
|
|
138
|
-
"
|
|
139
|
-
"
|
|
140
|
-
|
|
141
|
-
"const": "SexPractices"
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
"required": [
|
|
145
|
-
"tag"
|
|
146
|
-
],
|
|
147
|
-
"additionalProperties": false
|
|
126
|
+
"ap_value": {
|
|
127
|
+
"description": "Specific AP cost for the select option.",
|
|
128
|
+
"type": "integer",
|
|
129
|
+
"minimum": 1
|
|
148
130
|
},
|
|
149
|
-
{
|
|
150
|
-
"
|
|
151
|
-
"properties": {
|
|
152
|
-
"tag": {
|
|
153
|
-
"const": "Races"
|
|
154
|
-
}
|
|
155
|
-
},
|
|
156
|
-
"required": [
|
|
157
|
-
"tag"
|
|
158
|
-
],
|
|
159
|
-
"additionalProperties": false
|
|
131
|
+
"src": {
|
|
132
|
+
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
|
|
160
133
|
},
|
|
161
|
-
{
|
|
134
|
+
"translations": {
|
|
135
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
162
136
|
"type": "object",
|
|
163
|
-
"
|
|
164
|
-
"
|
|
165
|
-
"
|
|
137
|
+
"patternProperties": {
|
|
138
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
139
|
+
"$ref": "#/$defs/ExplicitGeneralSelectOptionTranslation"
|
|
166
140
|
}
|
|
167
141
|
},
|
|
168
|
-
"
|
|
169
|
-
"tag"
|
|
170
|
-
],
|
|
142
|
+
"minProperties": 1,
|
|
171
143
|
"additionalProperties": false
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"required": [
|
|
147
|
+
"id",
|
|
148
|
+
"translations"
|
|
149
|
+
],
|
|
150
|
+
"additionalProperties": false
|
|
151
|
+
},
|
|
152
|
+
"ExplicitGeneralSelectOptionTranslation": {
|
|
153
|
+
"type": "object",
|
|
154
|
+
"properties": {
|
|
155
|
+
"name": {
|
|
156
|
+
"description": "The name of the select option.",
|
|
157
|
+
"type": "string",
|
|
158
|
+
"minLength": 1
|
|
159
|
+
},
|
|
160
|
+
"name_in_profession": {
|
|
161
|
+
"description": "The name of the select option when displayed in a generated\nprofession text.",
|
|
162
|
+
"type": "string",
|
|
163
|
+
"minLength": 1
|
|
164
|
+
},
|
|
165
|
+
"description": {
|
|
166
|
+
"description": "The description of the select option. Useful for Bad Habits, Trade\nSecrets and other entries where a description is available.",
|
|
167
|
+
"type": "string",
|
|
168
|
+
"minLength": 1
|
|
169
|
+
},
|
|
170
|
+
"errata": {
|
|
171
|
+
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
|
|
172
|
+
}
|
|
173
|
+
},
|
|
174
|
+
"required": [
|
|
175
|
+
"name"
|
|
176
|
+
],
|
|
177
|
+
"additionalProperties": false
|
|
178
|
+
},
|
|
179
|
+
"ExplicitSkillSelectOption": {
|
|
180
|
+
"type": "object",
|
|
181
|
+
"properties": {
|
|
182
|
+
"id": {
|
|
183
|
+
"description": "The skill's identifier. An unique, increasing integer.",
|
|
184
|
+
"type": "integer",
|
|
185
|
+
"minimum": 1
|
|
172
186
|
},
|
|
173
|
-
{
|
|
174
|
-
"
|
|
175
|
-
"
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
},
|
|
179
|
-
"require_principles": {
|
|
180
|
-
"description": "Should the principles (code) of the tradition be required to select the\nrespective tradition?",
|
|
181
|
-
"const": true
|
|
182
|
-
}
|
|
187
|
+
"skill_applications": {
|
|
188
|
+
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an entry-unique\nidentifier and the skill it belongs to. A translation can be left out if\nits name equals the name of the origin select option.",
|
|
189
|
+
"type": "array",
|
|
190
|
+
"items": {
|
|
191
|
+
"$ref": "./_ActivatableSelectOptionCategory.schema.json#/$defs/SkillApplicationOrUse"
|
|
183
192
|
},
|
|
184
|
-
"
|
|
185
|
-
"tag"
|
|
186
|
-
],
|
|
187
|
-
"additionalProperties": false
|
|
193
|
+
"minItems": 1
|
|
188
194
|
},
|
|
189
|
-
{
|
|
190
|
-
"
|
|
191
|
-
"
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
},
|
|
195
|
-
"specific": {
|
|
196
|
-
"description": "Only include entries with the listed identifiers.",
|
|
197
|
-
"type": "array",
|
|
198
|
-
"items": {
|
|
199
|
-
"type": "object",
|
|
200
|
-
"properties": {
|
|
201
|
-
"id": {
|
|
202
|
-
"description": "The element's identifier.",
|
|
203
|
-
"type": "integer",
|
|
204
|
-
"maximum": 6,
|
|
205
|
-
"minimum": 1
|
|
206
|
-
}
|
|
207
|
-
},
|
|
208
|
-
"required": [
|
|
209
|
-
"id"
|
|
210
|
-
],
|
|
211
|
-
"additionalProperties": false
|
|
212
|
-
},
|
|
213
|
-
"minItems": 1,
|
|
214
|
-
"uniqueItems": true
|
|
215
|
-
}
|
|
195
|
+
"skill_uses": {
|
|
196
|
+
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier and the\nskill it belongs to. A translation can be left out if its name equals the\nname of the origin select option.",
|
|
197
|
+
"type": "array",
|
|
198
|
+
"items": {
|
|
199
|
+
"$ref": "./_ActivatableSelectOptionCategory.schema.json#/$defs/SkillApplicationOrUse"
|
|
216
200
|
},
|
|
217
|
-
"
|
|
218
|
-
"tag"
|
|
219
|
-
],
|
|
220
|
-
"additionalProperties": false
|
|
201
|
+
"minItems": 1
|
|
221
202
|
},
|
|
222
|
-
{
|
|
223
|
-
"
|
|
224
|
-
"properties": {
|
|
225
|
-
"tag": {
|
|
226
|
-
"const": "Properties"
|
|
227
|
-
},
|
|
228
|
-
"require_knowledge": {
|
|
229
|
-
"description": "Does each property require it's corresponding property knowledge?",
|
|
230
|
-
"const": true
|
|
231
|
-
},
|
|
232
|
-
"require_minimum_spellworks_on": {
|
|
233
|
-
"description": "Require a minimum number of spellworks of the respective property to be\non a minimum skill rating.",
|
|
234
|
-
"type": "object",
|
|
235
|
-
"properties": {
|
|
236
|
-
"number": {
|
|
237
|
-
"description": "The minimum number of spellworks that need to be on the defined minimum\nskill rating.",
|
|
238
|
-
"type": "integer",
|
|
239
|
-
"minimum": 1
|
|
240
|
-
},
|
|
241
|
-
"value": {
|
|
242
|
-
"description": "The minimum skill rating the defined minimum number of spellworks need\nto be on.",
|
|
243
|
-
"type": "integer",
|
|
244
|
-
"minimum": 1
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
"required": [
|
|
248
|
-
"number",
|
|
249
|
-
"value"
|
|
250
|
-
],
|
|
251
|
-
"additionalProperties": false
|
|
252
|
-
}
|
|
253
|
-
},
|
|
254
|
-
"required": [
|
|
255
|
-
"tag"
|
|
256
|
-
],
|
|
257
|
-
"additionalProperties": false
|
|
203
|
+
"prerequisites": {
|
|
204
|
+
"$ref": "./_Prerequisite.schema.json#/$defs/GeneralPrerequisites"
|
|
258
205
|
},
|
|
259
|
-
{
|
|
260
|
-
"
|
|
261
|
-
"
|
|
262
|
-
|
|
263
|
-
"const": "Aspects"
|
|
264
|
-
},
|
|
265
|
-
"require_knowledge": {
|
|
266
|
-
"description": "Does each aspect require it's corresponding aspect knowledge?",
|
|
267
|
-
"const": true
|
|
268
|
-
},
|
|
269
|
-
"use_master_of_suffix_as_name": {
|
|
270
|
-
"description": "The generated name should be the *Master of (Aspect)* suffix for this\naspect instead of the aspect's name. If an aspect does not provide a\nsuffix (such as the General aspect), it is automatically excluded from\nthe list.",
|
|
271
|
-
"const": true
|
|
272
|
-
},
|
|
273
|
-
"require_minimum_liturgies_on": {
|
|
274
|
-
"description": "Require a minimum number of liturgies of the respective aspect to be on a\nminimum skill rating.",
|
|
275
|
-
"type": "object",
|
|
276
|
-
"properties": {
|
|
277
|
-
"number": {
|
|
278
|
-
"description": "The minimum number of liturgies that need to be on the defined minimum\nskill rating.",
|
|
279
|
-
"type": "integer",
|
|
280
|
-
"minimum": 1
|
|
281
|
-
},
|
|
282
|
-
"value": {
|
|
283
|
-
"description": "The minimum skill rating the defined minimum number of liturgies need\nto be on.",
|
|
284
|
-
"type": "integer",
|
|
285
|
-
"minimum": 1
|
|
286
|
-
}
|
|
287
|
-
},
|
|
288
|
-
"required": [
|
|
289
|
-
"number",
|
|
290
|
-
"value"
|
|
291
|
-
],
|
|
292
|
-
"additionalProperties": false
|
|
293
|
-
}
|
|
294
|
-
},
|
|
295
|
-
"required": [
|
|
296
|
-
"tag"
|
|
297
|
-
],
|
|
298
|
-
"additionalProperties": false
|
|
206
|
+
"ap_value": {
|
|
207
|
+
"description": "Specific AP cost for the select option.",
|
|
208
|
+
"type": "integer",
|
|
209
|
+
"minimum": 1
|
|
299
210
|
},
|
|
300
|
-
{
|
|
211
|
+
"src": {
|
|
212
|
+
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
|
|
213
|
+
},
|
|
214
|
+
"translations": {
|
|
215
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
301
216
|
"type": "object",
|
|
302
|
-
"
|
|
303
|
-
"
|
|
304
|
-
"
|
|
305
|
-
},
|
|
306
|
-
"use_half_level_as_ap_value": {
|
|
307
|
-
"description": "Only convert half the disease level into the AP value.",
|
|
308
|
-
"const": true
|
|
217
|
+
"patternProperties": {
|
|
218
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
219
|
+
"$ref": "#/$defs/ExplicitSkillSelectOptionTranslation"
|
|
309
220
|
}
|
|
310
221
|
},
|
|
311
|
-
"
|
|
312
|
-
"tag"
|
|
313
|
-
],
|
|
222
|
+
"minProperties": 1,
|
|
314
223
|
"additionalProperties": false
|
|
224
|
+
}
|
|
225
|
+
},
|
|
226
|
+
"required": [
|
|
227
|
+
"id"
|
|
228
|
+
],
|
|
229
|
+
"additionalProperties": false
|
|
230
|
+
},
|
|
231
|
+
"ExplicitSkillSelectOptionTranslation": {
|
|
232
|
+
"type": "object",
|
|
233
|
+
"properties": {
|
|
234
|
+
"errata": {
|
|
235
|
+
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
"required": [],
|
|
239
|
+
"minProperties": 1,
|
|
240
|
+
"additionalProperties": false
|
|
241
|
+
},
|
|
242
|
+
"ExplicitCombatTechniqueSelectOption": {
|
|
243
|
+
"type": "object",
|
|
244
|
+
"properties": {
|
|
245
|
+
"id": {
|
|
246
|
+
"description": "The combat technique's identifier.",
|
|
247
|
+
"$ref": "./_Identifier.schema.json#/$defs/CombatTechniqueIdentifier"
|
|
315
248
|
},
|
|
316
|
-
{
|
|
249
|
+
"prerequisites": {
|
|
250
|
+
"$ref": "./_Prerequisite.schema.json#/$defs/GeneralPrerequisites"
|
|
251
|
+
},
|
|
252
|
+
"ap_value": {
|
|
253
|
+
"description": "Specific AP cost for the select option.",
|
|
254
|
+
"type": "integer",
|
|
255
|
+
"minimum": 1
|
|
256
|
+
},
|
|
257
|
+
"src": {
|
|
258
|
+
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
|
|
259
|
+
},
|
|
260
|
+
"translations": {
|
|
261
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
317
262
|
"type": "object",
|
|
318
|
-
"
|
|
319
|
-
"
|
|
320
|
-
"
|
|
321
|
-
},
|
|
322
|
-
"use_half_level_as_ap_value": {
|
|
323
|
-
"description": "Only convert half the poison level into the AP value.",
|
|
324
|
-
"const": true
|
|
263
|
+
"patternProperties": {
|
|
264
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
265
|
+
"$ref": "#/$defs/ExplicitCombatTechniqueSelectOptionTranslation"
|
|
325
266
|
}
|
|
326
267
|
},
|
|
327
|
-
"
|
|
328
|
-
"tag"
|
|
329
|
-
],
|
|
268
|
+
"minProperties": 1,
|
|
330
269
|
"additionalProperties": false
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"required": [
|
|
273
|
+
"id"
|
|
274
|
+
],
|
|
275
|
+
"additionalProperties": false
|
|
276
|
+
},
|
|
277
|
+
"ExplicitCombatTechniqueSelectOptionTranslation": {
|
|
278
|
+
"type": "object",
|
|
279
|
+
"properties": {
|
|
280
|
+
"errata": {
|
|
281
|
+
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
|
|
282
|
+
}
|
|
283
|
+
},
|
|
284
|
+
"required": [],
|
|
285
|
+
"minProperties": 1,
|
|
286
|
+
"additionalProperties": false
|
|
287
|
+
},
|
|
288
|
+
"Rules": {
|
|
289
|
+
"description": "The rule text.",
|
|
290
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
291
|
+
},
|
|
292
|
+
"Effect": {
|
|
293
|
+
"description": "The effect description.",
|
|
294
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
295
|
+
},
|
|
296
|
+
"CombatSpecialAbilityUsageType": {
|
|
297
|
+
"description": "The definition of how the combat special ability can be used in combat.",
|
|
298
|
+
"enum": [
|
|
299
|
+
"Passive",
|
|
300
|
+
"BasicManeuver",
|
|
301
|
+
"SpecialManeuver"
|
|
302
|
+
]
|
|
303
|
+
},
|
|
304
|
+
"CombatSpecialAbilityType": {
|
|
305
|
+
"description": "The definition of if the combat special ability can be used when armed or\nwhen unarmed.",
|
|
306
|
+
"enum": [
|
|
307
|
+
"Armed",
|
|
308
|
+
"Unarmed"
|
|
309
|
+
]
|
|
310
|
+
},
|
|
311
|
+
"SkillApplications": {
|
|
312
|
+
"description": "Registers new skill applications, which get enabled once this entry is\nactivated. It specifies an entry-unique identifier and the skill it belongs\nto. A translation can be left out if its name equals the name of the origin\nactivatable entry.",
|
|
313
|
+
"type": "array",
|
|
314
|
+
"items": {
|
|
315
|
+
"$ref": "#/$defs/SkillApplication"
|
|
316
|
+
},
|
|
317
|
+
"minItems": 1
|
|
318
|
+
},
|
|
319
|
+
"SkillApplication": {
|
|
320
|
+
"type": "object",
|
|
321
|
+
"properties": {
|
|
322
|
+
"id": {
|
|
323
|
+
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
324
|
+
"type": "integer",
|
|
325
|
+
"minimum": 1
|
|
331
326
|
},
|
|
332
|
-
{
|
|
327
|
+
"skill": {
|
|
328
|
+
"description": "The skill(s) this application belongs to.",
|
|
329
|
+
"$ref": "#/$defs/SkillApplicationAssociatedSkill"
|
|
330
|
+
},
|
|
331
|
+
"translations": {
|
|
332
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
333
333
|
"type": "object",
|
|
334
|
-
"
|
|
335
|
-
"
|
|
336
|
-
"
|
|
337
|
-
},
|
|
338
|
-
"prerequisites": {
|
|
339
|
-
"description": "Generate prerequisites for each entry of the category.",
|
|
340
|
-
"type": "array",
|
|
341
|
-
"items": {
|
|
342
|
-
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
343
|
-
},
|
|
344
|
-
"minItems": 1
|
|
334
|
+
"patternProperties": {
|
|
335
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
336
|
+
"$ref": "#/$defs/SkillApplicationTranslation"
|
|
345
337
|
}
|
|
346
338
|
},
|
|
347
|
-
"
|
|
348
|
-
"tag"
|
|
349
|
-
],
|
|
339
|
+
"minProperties": 1,
|
|
350
340
|
"additionalProperties": false
|
|
351
|
-
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
"required": [
|
|
344
|
+
"id",
|
|
345
|
+
"skill"
|
|
346
|
+
],
|
|
347
|
+
"additionalProperties": false
|
|
348
|
+
},
|
|
349
|
+
"SkillApplicationAssociatedSkill": {
|
|
350
|
+
"oneOf": [
|
|
352
351
|
{
|
|
353
352
|
"type": "object",
|
|
354
353
|
"properties": {
|
|
355
354
|
"tag": {
|
|
356
|
-
"const": "
|
|
357
|
-
},
|
|
358
|
-
"
|
|
359
|
-
"
|
|
360
|
-
"type": "array",
|
|
361
|
-
"items": {
|
|
362
|
-
"oneOf": [
|
|
363
|
-
{
|
|
364
|
-
"type": "object",
|
|
365
|
-
"properties": {
|
|
366
|
-
"tag": {
|
|
367
|
-
"const": "Skills"
|
|
368
|
-
},
|
|
369
|
-
"groups": {
|
|
370
|
-
"description": "Only include entries of the specified groups.",
|
|
371
|
-
"type": "array",
|
|
372
|
-
"items": {
|
|
373
|
-
"type": "object",
|
|
374
|
-
"properties": {
|
|
375
|
-
"id": {
|
|
376
|
-
"description": "The skill group's identifier.",
|
|
377
|
-
"type": "integer",
|
|
378
|
-
"maximum": 5,
|
|
379
|
-
"minimum": 1
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
|
-
"required": [
|
|
383
|
-
"id"
|
|
384
|
-
],
|
|
385
|
-
"additionalProperties": false
|
|
386
|
-
},
|
|
387
|
-
"minItems": 1
|
|
388
|
-
},
|
|
389
|
-
"specific": {
|
|
390
|
-
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nskills.",
|
|
391
|
-
"type": "object",
|
|
392
|
-
"properties": {
|
|
393
|
-
"operation": {
|
|
394
|
-
"oneOf": [
|
|
395
|
-
{
|
|
396
|
-
"type": "object",
|
|
397
|
-
"properties": {
|
|
398
|
-
"tag": {
|
|
399
|
-
"const": "Intersection"
|
|
400
|
-
}
|
|
401
|
-
},
|
|
402
|
-
"required": [
|
|
403
|
-
"tag"
|
|
404
|
-
],
|
|
405
|
-
"additionalProperties": false
|
|
406
|
-
},
|
|
407
|
-
{
|
|
408
|
-
"type": "object",
|
|
409
|
-
"properties": {
|
|
410
|
-
"tag": {
|
|
411
|
-
"const": "Difference"
|
|
412
|
-
}
|
|
413
|
-
},
|
|
414
|
-
"required": [
|
|
415
|
-
"tag"
|
|
416
|
-
],
|
|
417
|
-
"additionalProperties": false
|
|
418
|
-
}
|
|
419
|
-
]
|
|
420
|
-
},
|
|
421
|
-
"list": {
|
|
422
|
-
"description": "The list of specific skills.",
|
|
423
|
-
"type": "array",
|
|
424
|
-
"items": {
|
|
425
|
-
"type": "object",
|
|
426
|
-
"properties": {
|
|
427
|
-
"id": {
|
|
428
|
-
"description": "The skill's identifier.",
|
|
429
|
-
"type": "integer",
|
|
430
|
-
"maximum": 59,
|
|
431
|
-
"minimum": 1
|
|
432
|
-
}
|
|
433
|
-
},
|
|
434
|
-
"required": [
|
|
435
|
-
"id"
|
|
436
|
-
],
|
|
437
|
-
"additionalProperties": false
|
|
438
|
-
},
|
|
439
|
-
"minItems": 1,
|
|
440
|
-
"uniqueItems": true
|
|
441
|
-
}
|
|
442
|
-
},
|
|
443
|
-
"required": [
|
|
444
|
-
"operation",
|
|
445
|
-
"list"
|
|
446
|
-
],
|
|
447
|
-
"additionalProperties": false
|
|
448
|
-
},
|
|
449
|
-
"skill_applications": {
|
|
450
|
-
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an\nentry-unique identifier, the skill it belongs to is derived from the\nselect option automatically. A translation can be left out if its\nname equals the name of the origin entry.",
|
|
451
|
-
"type": "array",
|
|
452
|
-
"items": {
|
|
453
|
-
"type": "object",
|
|
454
|
-
"properties": {
|
|
455
|
-
"id": {
|
|
456
|
-
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
457
|
-
"type": "integer",
|
|
458
|
-
"minimum": 1
|
|
459
|
-
},
|
|
460
|
-
"translations": {
|
|
461
|
-
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
462
|
-
"type": "object",
|
|
463
|
-
"patternProperties": {
|
|
464
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
465
|
-
"type": "object",
|
|
466
|
-
"properties": {
|
|
467
|
-
"name": {
|
|
468
|
-
"description": "The name of the application if different from the activatable\nentry's\nname.",
|
|
469
|
-
"type": "string",
|
|
470
|
-
"minLength": 1
|
|
471
|
-
}
|
|
472
|
-
},
|
|
473
|
-
"required": [
|
|
474
|
-
"name"
|
|
475
|
-
],
|
|
476
|
-
"additionalProperties": false
|
|
477
|
-
}
|
|
478
|
-
},
|
|
479
|
-
"minProperties": 1,
|
|
480
|
-
"additionalProperties": false
|
|
481
|
-
}
|
|
482
|
-
},
|
|
483
|
-
"required": [
|
|
484
|
-
"id"
|
|
485
|
-
],
|
|
486
|
-
"additionalProperties": false
|
|
487
|
-
},
|
|
488
|
-
"minItems": 1
|
|
489
|
-
},
|
|
490
|
-
"skill_uses": {
|
|
491
|
-
"description": "Registers uses, which get enabled once this entry is activated with\nits respective select option. It specifies an entry-unique\nidentifier, the skill it belongs to is derived from the select option\nautomatically. A translation can be left out if its name equals the\nname of the origin entry.",
|
|
492
|
-
"type": "array",
|
|
493
|
-
"items": {
|
|
494
|
-
"type": "object",
|
|
495
|
-
"properties": {
|
|
496
|
-
"id": {
|
|
497
|
-
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
498
|
-
"type": "integer",
|
|
499
|
-
"minimum": 1
|
|
500
|
-
},
|
|
501
|
-
"translations": {
|
|
502
|
-
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
503
|
-
"type": "object",
|
|
504
|
-
"patternProperties": {
|
|
505
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
506
|
-
"type": "object",
|
|
507
|
-
"properties": {
|
|
508
|
-
"name": {
|
|
509
|
-
"description": "The name of the use if different from the activatable entry's\nname.",
|
|
510
|
-
"type": "string",
|
|
511
|
-
"minLength": 1
|
|
512
|
-
}
|
|
513
|
-
},
|
|
514
|
-
"required": [
|
|
515
|
-
"name"
|
|
516
|
-
],
|
|
517
|
-
"additionalProperties": false
|
|
518
|
-
}
|
|
519
|
-
},
|
|
520
|
-
"minProperties": 1,
|
|
521
|
-
"additionalProperties": false
|
|
522
|
-
}
|
|
523
|
-
},
|
|
524
|
-
"required": [
|
|
525
|
-
"id"
|
|
526
|
-
],
|
|
527
|
-
"additionalProperties": false
|
|
528
|
-
},
|
|
529
|
-
"minItems": 1
|
|
530
|
-
},
|
|
531
|
-
"prerequisites": {
|
|
532
|
-
"description": "Generate prerequisites for each entry of the category.",
|
|
533
|
-
"type": "array",
|
|
534
|
-
"items": {
|
|
535
|
-
"oneOf": [
|
|
536
|
-
{
|
|
537
|
-
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
538
|
-
},
|
|
539
|
-
{
|
|
540
|
-
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
541
|
-
}
|
|
542
|
-
]
|
|
543
|
-
},
|
|
544
|
-
"minItems": 1
|
|
545
|
-
}
|
|
546
|
-
},
|
|
547
|
-
"required": [
|
|
548
|
-
"tag"
|
|
549
|
-
],
|
|
550
|
-
"additionalProperties": false
|
|
551
|
-
},
|
|
552
|
-
{
|
|
553
|
-
"type": "object",
|
|
554
|
-
"properties": {
|
|
555
|
-
"tag": {
|
|
556
|
-
"$ref": "#/definitions/SkillWithEnhancementsCategory"
|
|
557
|
-
},
|
|
558
|
-
"specific": {
|
|
559
|
-
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nentries.",
|
|
560
|
-
"type": "object",
|
|
561
|
-
"properties": {
|
|
562
|
-
"operation": {
|
|
563
|
-
"oneOf": [
|
|
564
|
-
{
|
|
565
|
-
"type": "object",
|
|
566
|
-
"properties": {
|
|
567
|
-
"tag": {
|
|
568
|
-
"const": "Intersection"
|
|
569
|
-
}
|
|
570
|
-
},
|
|
571
|
-
"required": [
|
|
572
|
-
"tag"
|
|
573
|
-
],
|
|
574
|
-
"additionalProperties": false
|
|
575
|
-
},
|
|
576
|
-
{
|
|
577
|
-
"type": "object",
|
|
578
|
-
"properties": {
|
|
579
|
-
"tag": {
|
|
580
|
-
"const": "Difference"
|
|
581
|
-
}
|
|
582
|
-
},
|
|
583
|
-
"required": [
|
|
584
|
-
"tag"
|
|
585
|
-
],
|
|
586
|
-
"additionalProperties": false
|
|
587
|
-
}
|
|
588
|
-
]
|
|
589
|
-
},
|
|
590
|
-
"list": {
|
|
591
|
-
"description": "The list of specific entries.",
|
|
592
|
-
"type": "array",
|
|
593
|
-
"items": {
|
|
594
|
-
"type": "object",
|
|
595
|
-
"properties": {
|
|
596
|
-
"id": {
|
|
597
|
-
"description": "The entry's identifier.",
|
|
598
|
-
"type": "integer",
|
|
599
|
-
"maximum": 59,
|
|
600
|
-
"minimum": 1
|
|
601
|
-
}
|
|
602
|
-
},
|
|
603
|
-
"required": [
|
|
604
|
-
"id"
|
|
605
|
-
],
|
|
606
|
-
"additionalProperties": false
|
|
607
|
-
},
|
|
608
|
-
"minItems": 1,
|
|
609
|
-
"uniqueItems": true
|
|
610
|
-
}
|
|
611
|
-
},
|
|
612
|
-
"required": [
|
|
613
|
-
"operation",
|
|
614
|
-
"list"
|
|
615
|
-
],
|
|
616
|
-
"additionalProperties": false
|
|
617
|
-
},
|
|
618
|
-
"prerequisites": {
|
|
619
|
-
"description": "Generate prerequisites for each entry of the category.",
|
|
620
|
-
"type": "array",
|
|
621
|
-
"items": {
|
|
622
|
-
"oneOf": [
|
|
623
|
-
{
|
|
624
|
-
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
625
|
-
},
|
|
626
|
-
{
|
|
627
|
-
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
628
|
-
}
|
|
629
|
-
]
|
|
630
|
-
},
|
|
631
|
-
"minItems": 1
|
|
632
|
-
}
|
|
633
|
-
},
|
|
634
|
-
"required": [
|
|
635
|
-
"tag"
|
|
636
|
-
],
|
|
637
|
-
"additionalProperties": false
|
|
638
|
-
}
|
|
639
|
-
]
|
|
640
|
-
},
|
|
641
|
-
"minItems": 1
|
|
642
|
-
},
|
|
643
|
-
"ap_value": {
|
|
644
|
-
"description": "Generate AP values for each entry.",
|
|
645
|
-
"oneOf": [
|
|
646
|
-
{
|
|
647
|
-
"type": "object",
|
|
648
|
-
"properties": {
|
|
649
|
-
"tag": {
|
|
650
|
-
"description": "Derive the cost from the improvement cost of each entry.\n\nAP Value = Improvement Cost × `multiplier` + `offset`",
|
|
651
|
-
"const": "DerivedFromImprovementCost"
|
|
652
|
-
},
|
|
653
|
-
"multiplier": {
|
|
654
|
-
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
655
|
-
"type": "integer",
|
|
656
|
-
"minimum": 2
|
|
657
|
-
},
|
|
658
|
-
"offset": {
|
|
659
|
-
"description": "This number is added to the maybe multiplied improvement cost of the\nentry.",
|
|
660
|
-
"type": "integer"
|
|
661
|
-
}
|
|
662
|
-
},
|
|
663
|
-
"required": [
|
|
664
|
-
"tag"
|
|
665
|
-
],
|
|
666
|
-
"additionalProperties": false
|
|
667
|
-
},
|
|
668
|
-
{
|
|
669
|
-
"type": "object",
|
|
670
|
-
"properties": {
|
|
671
|
-
"tag": {
|
|
672
|
-
"const": "Fixed"
|
|
673
|
-
},
|
|
674
|
-
"map": {
|
|
675
|
-
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
676
|
-
"type": "array",
|
|
677
|
-
"items": {
|
|
678
|
-
"type": "object",
|
|
679
|
-
"properties": {
|
|
680
|
-
"id": {
|
|
681
|
-
"$ref": "./_Identifier.schema.json#/definitions/SkillIdentifier"
|
|
682
|
-
},
|
|
683
|
-
"ap_value": {
|
|
684
|
-
"description": "The AP value for the specified entry.",
|
|
685
|
-
"type": "integer",
|
|
686
|
-
"minimum": 1
|
|
687
|
-
}
|
|
688
|
-
},
|
|
689
|
-
"required": [
|
|
690
|
-
"id",
|
|
691
|
-
"ap_value"
|
|
692
|
-
],
|
|
693
|
-
"additionalProperties": false
|
|
694
|
-
}
|
|
695
|
-
},
|
|
696
|
-
"default": {
|
|
697
|
-
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
698
|
-
"type": "integer",
|
|
699
|
-
"minimum": 1
|
|
700
|
-
}
|
|
701
|
-
},
|
|
702
|
-
"required": [
|
|
703
|
-
"tag",
|
|
704
|
-
"map",
|
|
705
|
-
"default"
|
|
706
|
-
],
|
|
707
|
-
"additionalProperties": false
|
|
708
|
-
}
|
|
709
|
-
]
|
|
355
|
+
"const": "Single"
|
|
356
|
+
},
|
|
357
|
+
"single": {
|
|
358
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
710
359
|
}
|
|
711
360
|
},
|
|
712
361
|
"required": [
|
|
713
362
|
"tag",
|
|
714
|
-
"
|
|
363
|
+
"single"
|
|
715
364
|
],
|
|
716
365
|
"additionalProperties": false
|
|
717
366
|
},
|
|
@@ -719,443 +368,108 @@
|
|
|
719
368
|
"type": "object",
|
|
720
369
|
"properties": {
|
|
721
370
|
"tag": {
|
|
722
|
-
"const": "
|
|
371
|
+
"const": "Multiple"
|
|
723
372
|
},
|
|
724
|
-
"
|
|
725
|
-
"
|
|
726
|
-
"type": "array",
|
|
727
|
-
"items": {
|
|
728
|
-
"type": "object",
|
|
729
|
-
"properties": {
|
|
730
|
-
"tag": {
|
|
731
|
-
"$ref": "#/definitions/CombatTechniqueCategory"
|
|
732
|
-
},
|
|
733
|
-
"specific": {
|
|
734
|
-
"description": "Only include (`Intersection`) or exclude (`Difference`) specific\nentries.",
|
|
735
|
-
"type": "object",
|
|
736
|
-
"properties": {
|
|
737
|
-
"operation": {
|
|
738
|
-
"oneOf": [
|
|
739
|
-
{
|
|
740
|
-
"type": "object",
|
|
741
|
-
"properties": {
|
|
742
|
-
"tag": {
|
|
743
|
-
"const": "Intersection"
|
|
744
|
-
}
|
|
745
|
-
},
|
|
746
|
-
"required": [
|
|
747
|
-
"tag"
|
|
748
|
-
],
|
|
749
|
-
"additionalProperties": false
|
|
750
|
-
},
|
|
751
|
-
{
|
|
752
|
-
"type": "object",
|
|
753
|
-
"properties": {
|
|
754
|
-
"tag": {
|
|
755
|
-
"const": "Difference"
|
|
756
|
-
}
|
|
757
|
-
},
|
|
758
|
-
"required": [
|
|
759
|
-
"tag"
|
|
760
|
-
],
|
|
761
|
-
"additionalProperties": false
|
|
762
|
-
}
|
|
763
|
-
]
|
|
764
|
-
},
|
|
765
|
-
"list": {
|
|
766
|
-
"description": "The list of specific entries.",
|
|
767
|
-
"type": "array",
|
|
768
|
-
"items": {
|
|
769
|
-
"type": "object",
|
|
770
|
-
"properties": {
|
|
771
|
-
"id": {
|
|
772
|
-
"description": "The entry's identifier.",
|
|
773
|
-
"type": "integer",
|
|
774
|
-
"maximum": 59,
|
|
775
|
-
"minimum": 1
|
|
776
|
-
}
|
|
777
|
-
},
|
|
778
|
-
"required": [
|
|
779
|
-
"id"
|
|
780
|
-
],
|
|
781
|
-
"additionalProperties": false
|
|
782
|
-
},
|
|
783
|
-
"minItems": 1,
|
|
784
|
-
"uniqueItems": true
|
|
785
|
-
}
|
|
786
|
-
},
|
|
787
|
-
"required": [
|
|
788
|
-
"operation",
|
|
789
|
-
"list"
|
|
790
|
-
],
|
|
791
|
-
"additionalProperties": false
|
|
792
|
-
},
|
|
793
|
-
"prerequisites": {
|
|
794
|
-
"description": "Generate prerequisites for each entry of the category.",
|
|
795
|
-
"type": "array",
|
|
796
|
-
"items": {
|
|
797
|
-
"oneOf": [
|
|
798
|
-
{
|
|
799
|
-
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
800
|
-
},
|
|
801
|
-
{
|
|
802
|
-
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
803
|
-
}
|
|
804
|
-
]
|
|
805
|
-
},
|
|
806
|
-
"minItems": 1
|
|
807
|
-
}
|
|
808
|
-
},
|
|
809
|
-
"required": [
|
|
810
|
-
"tag"
|
|
811
|
-
],
|
|
812
|
-
"additionalProperties": false
|
|
813
|
-
},
|
|
814
|
-
"minItems": 1
|
|
815
|
-
},
|
|
816
|
-
"ap_value": {
|
|
817
|
-
"description": "Generate AP values for each entry.",
|
|
818
|
-
"oneOf": [
|
|
819
|
-
{
|
|
820
|
-
"type": "object",
|
|
821
|
-
"properties": {
|
|
822
|
-
"tag": {
|
|
823
|
-
"description": "Derive the cost from the improvement cost of each entry.\n\nAP Value = Improvement Cost × `multiplier` + `offset`",
|
|
824
|
-
"const": "DerivedFromImprovementCost"
|
|
825
|
-
},
|
|
826
|
-
"multiplier": {
|
|
827
|
-
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
828
|
-
"type": "integer",
|
|
829
|
-
"minimum": 2
|
|
830
|
-
},
|
|
831
|
-
"offset": {
|
|
832
|
-
"description": "This number is added to the maybe multiplied improvement cost of the\nentry.",
|
|
833
|
-
"type": "integer"
|
|
834
|
-
}
|
|
835
|
-
},
|
|
836
|
-
"required": [
|
|
837
|
-
"tag"
|
|
838
|
-
],
|
|
839
|
-
"additionalProperties": false
|
|
840
|
-
},
|
|
841
|
-
{
|
|
842
|
-
"type": "object",
|
|
843
|
-
"properties": {
|
|
844
|
-
"tag": {
|
|
845
|
-
"const": "Fixed"
|
|
846
|
-
},
|
|
847
|
-
"map": {
|
|
848
|
-
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
849
|
-
"type": "array",
|
|
850
|
-
"items": {
|
|
851
|
-
"type": "object",
|
|
852
|
-
"properties": {
|
|
853
|
-
"id": {
|
|
854
|
-
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
855
|
-
},
|
|
856
|
-
"ap_value": {
|
|
857
|
-
"description": "The AP value for the specified entry.",
|
|
858
|
-
"type": "integer",
|
|
859
|
-
"minimum": 1
|
|
860
|
-
}
|
|
861
|
-
},
|
|
862
|
-
"required": [
|
|
863
|
-
"id",
|
|
864
|
-
"ap_value"
|
|
865
|
-
],
|
|
866
|
-
"additionalProperties": false
|
|
867
|
-
}
|
|
868
|
-
},
|
|
869
|
-
"default": {
|
|
870
|
-
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
871
|
-
"type": "integer",
|
|
872
|
-
"minimum": 1
|
|
873
|
-
}
|
|
874
|
-
},
|
|
875
|
-
"required": [
|
|
876
|
-
"tag",
|
|
877
|
-
"map",
|
|
878
|
-
"default"
|
|
879
|
-
],
|
|
880
|
-
"additionalProperties": false
|
|
881
|
-
}
|
|
882
|
-
]
|
|
373
|
+
"multiple": {
|
|
374
|
+
"$ref": "#/$defs/SkillApplicationAssociatedSkills"
|
|
883
375
|
}
|
|
884
376
|
},
|
|
885
377
|
"required": [
|
|
886
378
|
"tag",
|
|
887
|
-
"
|
|
379
|
+
"multiple"
|
|
888
380
|
],
|
|
889
381
|
"additionalProperties": false
|
|
890
382
|
}
|
|
891
383
|
]
|
|
892
384
|
},
|
|
893
|
-
"
|
|
894
|
-
"enum": [
|
|
895
|
-
"Spells",
|
|
896
|
-
"Rituals",
|
|
897
|
-
"LiturgicalChants",
|
|
898
|
-
"Ceremonies"
|
|
899
|
-
]
|
|
900
|
-
},
|
|
901
|
-
"CombatTechniqueCategory": {
|
|
902
|
-
"enum": [
|
|
903
|
-
"CloseCombatTechniques",
|
|
904
|
-
"RangedCombatTechniques"
|
|
905
|
-
]
|
|
906
|
-
},
|
|
907
|
-
"OptionSkillSelfPrerequisite": {
|
|
385
|
+
"SkillApplicationAssociatedSkills": {
|
|
908
386
|
"type": "object",
|
|
909
387
|
"properties": {
|
|
910
|
-
"
|
|
911
|
-
"
|
|
388
|
+
"list": {
|
|
389
|
+
"description": "The skills this application belongs to.",
|
|
390
|
+
"type": "array",
|
|
391
|
+
"items": {
|
|
392
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
393
|
+
},
|
|
394
|
+
"minItems": 2
|
|
912
395
|
},
|
|
913
|
-
"
|
|
914
|
-
"description": "
|
|
396
|
+
"required_skill_rating": {
|
|
397
|
+
"description": "If an application applies to multiple skills, it may need to ensure the\nrespective skill is on a certain skill rating if the activatable entry\ncannot ensure this prerequisite.",
|
|
915
398
|
"type": "integer",
|
|
916
399
|
"minimum": 1
|
|
917
400
|
}
|
|
918
401
|
},
|
|
919
402
|
"required": [
|
|
920
|
-
"
|
|
921
|
-
"value"
|
|
403
|
+
"list"
|
|
922
404
|
],
|
|
923
405
|
"additionalProperties": false
|
|
924
406
|
},
|
|
925
|
-
"
|
|
926
|
-
"
|
|
407
|
+
"SkillApplicationTranslation": {
|
|
408
|
+
"type": "object",
|
|
409
|
+
"properties": {
|
|
410
|
+
"name": {
|
|
411
|
+
"description": "The name of the application if different from the activatable entry's name.",
|
|
412
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
413
|
+
}
|
|
414
|
+
},
|
|
415
|
+
"required": [
|
|
416
|
+
"name"
|
|
417
|
+
],
|
|
418
|
+
"additionalProperties": false
|
|
419
|
+
},
|
|
420
|
+
"SkillUses": {
|
|
421
|
+
"description": "Registers uses, which get enabled once this entry is activated. It specifies\nan entry-unique identifier and the skill it belongs to. A translation can be\nleft out if its name equals the name of the origin activatable entry.",
|
|
422
|
+
"type": "array",
|
|
423
|
+
"items": {
|
|
424
|
+
"$ref": "#/$defs/SkillUse"
|
|
425
|
+
},
|
|
426
|
+
"minItems": 1
|
|
427
|
+
},
|
|
428
|
+
"SkillUse": {
|
|
927
429
|
"type": "object",
|
|
928
430
|
"properties": {
|
|
929
|
-
"tag": {
|
|
930
|
-
"const": "SelectOption"
|
|
931
|
-
},
|
|
932
431
|
"id": {
|
|
933
|
-
"description": "The
|
|
934
|
-
"
|
|
432
|
+
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
433
|
+
"type": "integer",
|
|
434
|
+
"minimum": 1
|
|
935
435
|
},
|
|
936
|
-
"
|
|
937
|
-
"description": "
|
|
938
|
-
"
|
|
436
|
+
"skill": {
|
|
437
|
+
"description": "The skill(s) this use belongs to.",
|
|
438
|
+
"$ref": "#/$defs/SkillUseAssociatedSkill"
|
|
939
439
|
},
|
|
940
|
-
"
|
|
941
|
-
"description": "
|
|
942
|
-
"type": "
|
|
943
|
-
"
|
|
440
|
+
"translations": {
|
|
441
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
442
|
+
"type": "object",
|
|
443
|
+
"patternProperties": {
|
|
444
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
445
|
+
"$ref": "#/$defs/SkillUseTranslation"
|
|
446
|
+
}
|
|
447
|
+
},
|
|
448
|
+
"minProperties": 1,
|
|
449
|
+
"additionalProperties": false
|
|
944
450
|
}
|
|
945
451
|
},
|
|
946
452
|
"required": [
|
|
947
|
-
"tag",
|
|
948
453
|
"id",
|
|
949
|
-
"
|
|
454
|
+
"skill"
|
|
950
455
|
],
|
|
951
456
|
"additionalProperties": false
|
|
952
457
|
},
|
|
953
|
-
"
|
|
458
|
+
"SkillUseAssociatedSkill": {
|
|
954
459
|
"oneOf": [
|
|
955
460
|
{
|
|
956
|
-
"type": "object",
|
|
957
|
-
"properties": {
|
|
958
|
-
"tag": {
|
|
959
|
-
"const": "
|
|
960
|
-
},
|
|
961
|
-
"id": {
|
|
962
|
-
"description": "The option's identifier. An unique, increasing integer.",
|
|
963
|
-
"type": "integer",
|
|
964
|
-
"minimum": 1
|
|
965
|
-
},
|
|
966
|
-
"profession_only": {
|
|
967
|
-
"description": "Sometimes, professions use specific text selections that are not\ncontained in described lists. This ensures you can use them for\nprofessions only. They are not going to be displayed as options to the\nuser.",
|
|
968
|
-
"const": true
|
|
969
|
-
},
|
|
970
|
-
"skill_applications": {
|
|
971
|
-
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an entry-unique\nidentifier and the skill it belongs to. A translation can be left out if\nits name equals the name of the origin select option.",
|
|
972
|
-
"$ref": "#/definitions/SkillApplications"
|
|
973
|
-
},
|
|
974
|
-
"skill_uses": {
|
|
975
|
-
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier and the\nskill it belongs to. A translation can be left out if its name equals the\nname of the origin select option.",
|
|
976
|
-
"$ref": "#/definitions/SkillUses"
|
|
977
|
-
},
|
|
978
|
-
"prerequisites": {
|
|
979
|
-
"$ref": "./_Prerequisite.schema.json#/definitions/GeneralPrerequisites"
|
|
980
|
-
},
|
|
981
|
-
"ap_value": {
|
|
982
|
-
"description": "Specific AP cost for the select option.",
|
|
983
|
-
"type": "integer",
|
|
984
|
-
"minimum": 1
|
|
985
|
-
},
|
|
986
|
-
"src": {
|
|
987
|
-
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
988
|
-
},
|
|
989
|
-
"translations": {
|
|
990
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
991
|
-
"type": "object",
|
|
992
|
-
"patternProperties": {
|
|
993
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
994
|
-
"type": "object",
|
|
995
|
-
"properties": {
|
|
996
|
-
"name": {
|
|
997
|
-
"description": "The name of the select option.",
|
|
998
|
-
"type": "string",
|
|
999
|
-
"minLength": 1
|
|
1000
|
-
},
|
|
1001
|
-
"name_in_profession": {
|
|
1002
|
-
"description": "The name of the select option when displayed in a generated\nprofession text.",
|
|
1003
|
-
"type": "string",
|
|
1004
|
-
"minLength": 1
|
|
1005
|
-
},
|
|
1006
|
-
"description": {
|
|
1007
|
-
"description": "The description of the select option. Useful for Bad Habits, Trade\nSecrets and other entries where a description is available.",
|
|
1008
|
-
"type": "string",
|
|
1009
|
-
"minLength": 1
|
|
1010
|
-
},
|
|
1011
|
-
"errata": {
|
|
1012
|
-
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
1013
|
-
}
|
|
1014
|
-
},
|
|
1015
|
-
"required": [
|
|
1016
|
-
"name"
|
|
1017
|
-
],
|
|
1018
|
-
"additionalProperties": false
|
|
1019
|
-
}
|
|
1020
|
-
},
|
|
1021
|
-
"minProperties": 1,
|
|
1022
|
-
"additionalProperties": false
|
|
1023
|
-
}
|
|
1024
|
-
},
|
|
1025
|
-
"required": [
|
|
1026
|
-
"tag",
|
|
1027
|
-
"id",
|
|
1028
|
-
"translations"
|
|
1029
|
-
],
|
|
1030
|
-
"additionalProperties": false
|
|
1031
|
-
},
|
|
1032
|
-
{
|
|
1033
|
-
"type": "object",
|
|
1034
|
-
"properties": {
|
|
1035
|
-
"tag": {
|
|
1036
|
-
"const": "Skill"
|
|
1037
|
-
},
|
|
1038
|
-
"id": {
|
|
1039
|
-
"description": "The skill's identifier. An unique, increasing integer.",
|
|
1040
|
-
"type": "integer",
|
|
1041
|
-
"minimum": 1
|
|
1042
|
-
},
|
|
1043
|
-
"skill_applications": {
|
|
1044
|
-
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an entry-unique\nidentifier and the skill it belongs to. A translation can be left out if\nits name equals the name of the origin select option.",
|
|
1045
|
-
"type": "array",
|
|
1046
|
-
"items": {
|
|
1047
|
-
"type": "object",
|
|
1048
|
-
"properties": {
|
|
1049
|
-
"id": {
|
|
1050
|
-
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
1051
|
-
"type": "integer",
|
|
1052
|
-
"minimum": 1
|
|
1053
|
-
},
|
|
1054
|
-
"translations": {
|
|
1055
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1056
|
-
"type": "object",
|
|
1057
|
-
"patternProperties": {
|
|
1058
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1059
|
-
"type": "object",
|
|
1060
|
-
"properties": {
|
|
1061
|
-
"name": {
|
|
1062
|
-
"description": "The name of the application if different from the activatable entry's\nname.",
|
|
1063
|
-
"type": "string",
|
|
1064
|
-
"minLength": 1
|
|
1065
|
-
}
|
|
1066
|
-
},
|
|
1067
|
-
"required": [
|
|
1068
|
-
"name"
|
|
1069
|
-
],
|
|
1070
|
-
"additionalProperties": false
|
|
1071
|
-
}
|
|
1072
|
-
},
|
|
1073
|
-
"minProperties": 1,
|
|
1074
|
-
"additionalProperties": false
|
|
1075
|
-
}
|
|
1076
|
-
},
|
|
1077
|
-
"required": [
|
|
1078
|
-
"id"
|
|
1079
|
-
],
|
|
1080
|
-
"additionalProperties": false
|
|
1081
|
-
},
|
|
1082
|
-
"minItems": 1
|
|
1083
|
-
},
|
|
1084
|
-
"skill_uses": {
|
|
1085
|
-
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier and the\nskill it belongs to. A translation can be left out if its name equals the\nname of the origin select option.",
|
|
1086
|
-
"type": "array",
|
|
1087
|
-
"items": {
|
|
1088
|
-
"type": "object",
|
|
1089
|
-
"properties": {
|
|
1090
|
-
"id": {
|
|
1091
|
-
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
1092
|
-
"type": "integer",
|
|
1093
|
-
"minimum": 1
|
|
1094
|
-
},
|
|
1095
|
-
"translations": {
|
|
1096
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1097
|
-
"type": "object",
|
|
1098
|
-
"patternProperties": {
|
|
1099
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1100
|
-
"type": "object",
|
|
1101
|
-
"properties": {
|
|
1102
|
-
"name": {
|
|
1103
|
-
"description": "The name of the use if different from the activatable entry's name.",
|
|
1104
|
-
"type": "string",
|
|
1105
|
-
"minLength": 1
|
|
1106
|
-
}
|
|
1107
|
-
},
|
|
1108
|
-
"required": [
|
|
1109
|
-
"name"
|
|
1110
|
-
],
|
|
1111
|
-
"additionalProperties": false
|
|
1112
|
-
}
|
|
1113
|
-
},
|
|
1114
|
-
"minProperties": 1,
|
|
1115
|
-
"additionalProperties": false
|
|
1116
|
-
}
|
|
1117
|
-
},
|
|
1118
|
-
"required": [
|
|
1119
|
-
"id"
|
|
1120
|
-
],
|
|
1121
|
-
"additionalProperties": false
|
|
1122
|
-
},
|
|
1123
|
-
"minItems": 1
|
|
1124
|
-
},
|
|
1125
|
-
"prerequisites": {
|
|
1126
|
-
"$ref": "./_Prerequisite.schema.json#/definitions/GeneralPrerequisites"
|
|
1127
|
-
},
|
|
1128
|
-
"ap_value": {
|
|
1129
|
-
"description": "Specific AP cost for the select option.",
|
|
1130
|
-
"type": "integer",
|
|
1131
|
-
"minimum": 1
|
|
1132
|
-
},
|
|
1133
|
-
"src": {
|
|
1134
|
-
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
461
|
+
"type": "object",
|
|
462
|
+
"properties": {
|
|
463
|
+
"tag": {
|
|
464
|
+
"const": "Single"
|
|
1135
465
|
},
|
|
1136
|
-
"
|
|
1137
|
-
"
|
|
1138
|
-
"type": "object",
|
|
1139
|
-
"patternProperties": {
|
|
1140
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1141
|
-
"type": "object",
|
|
1142
|
-
"properties": {
|
|
1143
|
-
"errata": {
|
|
1144
|
-
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
1145
|
-
}
|
|
1146
|
-
},
|
|
1147
|
-
"required": [],
|
|
1148
|
-
"minProperties": 1,
|
|
1149
|
-
"additionalProperties": false
|
|
1150
|
-
}
|
|
1151
|
-
},
|
|
1152
|
-
"minProperties": 1,
|
|
1153
|
-
"additionalProperties": false
|
|
466
|
+
"single": {
|
|
467
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
1154
468
|
}
|
|
1155
469
|
},
|
|
1156
470
|
"required": [
|
|
1157
471
|
"tag",
|
|
1158
|
-
"
|
|
472
|
+
"single"
|
|
1159
473
|
],
|
|
1160
474
|
"additionalProperties": false
|
|
1161
475
|
},
|
|
@@ -1163,73 +477,66 @@
|
|
|
1163
477
|
"type": "object",
|
|
1164
478
|
"properties": {
|
|
1165
479
|
"tag": {
|
|
1166
|
-
"const": "
|
|
1167
|
-
},
|
|
1168
|
-
"id": {
|
|
1169
|
-
"description": "The combat technique's identifier.",
|
|
1170
|
-
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
1171
|
-
},
|
|
1172
|
-
"prerequisites": {
|
|
1173
|
-
"$ref": "./_Prerequisite.schema.json#/definitions/GeneralPrerequisites"
|
|
480
|
+
"const": "Multiple"
|
|
1174
481
|
},
|
|
1175
|
-
"
|
|
1176
|
-
"
|
|
1177
|
-
"type": "integer",
|
|
1178
|
-
"minimum": 1
|
|
1179
|
-
},
|
|
1180
|
-
"src": {
|
|
1181
|
-
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
1182
|
-
},
|
|
1183
|
-
"translations": {
|
|
1184
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1185
|
-
"type": "object",
|
|
1186
|
-
"patternProperties": {
|
|
1187
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1188
|
-
"type": "object",
|
|
1189
|
-
"properties": {
|
|
1190
|
-
"errata": {
|
|
1191
|
-
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
1192
|
-
}
|
|
1193
|
-
},
|
|
1194
|
-
"required": [],
|
|
1195
|
-
"minProperties": 1,
|
|
1196
|
-
"additionalProperties": false
|
|
1197
|
-
}
|
|
1198
|
-
},
|
|
1199
|
-
"minProperties": 1,
|
|
1200
|
-
"additionalProperties": false
|
|
482
|
+
"multiple": {
|
|
483
|
+
"$ref": "#/$defs/SkillUseAssociatedSkills"
|
|
1201
484
|
}
|
|
1202
485
|
},
|
|
1203
486
|
"required": [
|
|
1204
487
|
"tag",
|
|
1205
|
-
"
|
|
488
|
+
"multiple"
|
|
1206
489
|
],
|
|
1207
490
|
"additionalProperties": false
|
|
1208
491
|
}
|
|
1209
492
|
]
|
|
1210
493
|
},
|
|
1211
|
-
"
|
|
1212
|
-
"
|
|
1213
|
-
"
|
|
1214
|
-
|
|
494
|
+
"SkillUseAssociatedSkills": {
|
|
495
|
+
"type": "object",
|
|
496
|
+
"properties": {
|
|
497
|
+
"list": {
|
|
498
|
+
"description": "The skills this use belongs to.",
|
|
499
|
+
"type": "array",
|
|
500
|
+
"items": {
|
|
501
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
502
|
+
},
|
|
503
|
+
"minItems": 2
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
"required": [
|
|
507
|
+
"list"
|
|
508
|
+
],
|
|
509
|
+
"additionalProperties": false
|
|
1215
510
|
},
|
|
1216
|
-
"
|
|
1217
|
-
"
|
|
1218
|
-
"
|
|
1219
|
-
|
|
511
|
+
"SkillUseTranslation": {
|
|
512
|
+
"type": "object",
|
|
513
|
+
"properties": {
|
|
514
|
+
"name": {
|
|
515
|
+
"description": "The name of the use if different from the activatable entry's name.",
|
|
516
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
517
|
+
}
|
|
518
|
+
},
|
|
519
|
+
"required": [
|
|
520
|
+
"name"
|
|
521
|
+
],
|
|
522
|
+
"additionalProperties": false
|
|
1220
523
|
},
|
|
1221
|
-
"
|
|
1222
|
-
"description": "The
|
|
524
|
+
"Penalty": {
|
|
525
|
+
"description": "The penalty the special ability gives when used.",
|
|
1223
526
|
"oneOf": [
|
|
1224
527
|
{
|
|
1225
528
|
"type": "object",
|
|
1226
529
|
"properties": {
|
|
1227
530
|
"tag": {
|
|
1228
|
-
"const": "
|
|
531
|
+
"const": "Single"
|
|
532
|
+
},
|
|
533
|
+
"single": {
|
|
534
|
+
"$ref": "#/$defs/SinglePenalty"
|
|
1229
535
|
}
|
|
1230
536
|
},
|
|
1231
537
|
"required": [
|
|
1232
|
-
"tag"
|
|
538
|
+
"tag",
|
|
539
|
+
"single"
|
|
1233
540
|
],
|
|
1234
541
|
"additionalProperties": false
|
|
1235
542
|
},
|
|
@@ -1237,11 +544,15 @@
|
|
|
1237
544
|
"type": "object",
|
|
1238
545
|
"properties": {
|
|
1239
546
|
"tag": {
|
|
1240
|
-
"const": "
|
|
547
|
+
"const": "ByHandedness"
|
|
548
|
+
},
|
|
549
|
+
"by_handedness": {
|
|
550
|
+
"$ref": "#/$defs/PenaltyByHandedness"
|
|
1241
551
|
}
|
|
1242
552
|
},
|
|
1243
553
|
"required": [
|
|
1244
|
-
"tag"
|
|
554
|
+
"tag",
|
|
555
|
+
"by_handedness"
|
|
1245
556
|
],
|
|
1246
557
|
"additionalProperties": false
|
|
1247
558
|
},
|
|
@@ -1249,236 +560,31 @@
|
|
|
1249
560
|
"type": "object",
|
|
1250
561
|
"properties": {
|
|
1251
562
|
"tag": {
|
|
1252
|
-
"const": "
|
|
563
|
+
"const": "ByActivation"
|
|
564
|
+
},
|
|
565
|
+
"by_activation": {
|
|
566
|
+
"$ref": "#/$defs/PenaltyByActivation"
|
|
1253
567
|
}
|
|
1254
568
|
},
|
|
1255
569
|
"required": [
|
|
1256
|
-
"tag"
|
|
570
|
+
"tag",
|
|
571
|
+
"by_activation"
|
|
1257
572
|
],
|
|
1258
573
|
"additionalProperties": false
|
|
1259
|
-
}
|
|
1260
|
-
]
|
|
1261
|
-
},
|
|
1262
|
-
"SkillApplications": {
|
|
1263
|
-
"description": "Registers new skill applications, which get enabled once this entry is\nactivated. It specifies an entry-unique identifier and the skill it belongs\nto. A translation can be left out if its name equals the name of the origin\nactivatable entry.",
|
|
1264
|
-
"type": "array",
|
|
1265
|
-
"items": {
|
|
1266
|
-
"type": "object",
|
|
1267
|
-
"properties": {
|
|
1268
|
-
"id": {
|
|
1269
|
-
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
1270
|
-
"type": "integer",
|
|
1271
|
-
"minimum": 1
|
|
1272
|
-
},
|
|
1273
|
-
"skill": {
|
|
1274
|
-
"description": "The skill(s) this application belongs to.",
|
|
1275
|
-
"oneOf": [
|
|
1276
|
-
{
|
|
1277
|
-
"type": "object",
|
|
1278
|
-
"properties": {
|
|
1279
|
-
"tag": {
|
|
1280
|
-
"const": "Single"
|
|
1281
|
-
},
|
|
1282
|
-
"id": {
|
|
1283
|
-
"description": "The referenced skill's identifier.",
|
|
1284
|
-
"type": "integer",
|
|
1285
|
-
"minimum": 1
|
|
1286
|
-
}
|
|
1287
|
-
},
|
|
1288
|
-
"required": [
|
|
1289
|
-
"tag",
|
|
1290
|
-
"id"
|
|
1291
|
-
],
|
|
1292
|
-
"additionalProperties": false
|
|
1293
|
-
},
|
|
1294
|
-
{
|
|
1295
|
-
"type": "object",
|
|
1296
|
-
"properties": {
|
|
1297
|
-
"tag": {
|
|
1298
|
-
"const": "Multiple"
|
|
1299
|
-
},
|
|
1300
|
-
"list": {
|
|
1301
|
-
"description": "The skills this application belongs to.",
|
|
1302
|
-
"type": "array",
|
|
1303
|
-
"items": {
|
|
1304
|
-
"type": "object",
|
|
1305
|
-
"properties": {
|
|
1306
|
-
"id": {
|
|
1307
|
-
"description": "The referenced skill's identifier.",
|
|
1308
|
-
"type": "integer",
|
|
1309
|
-
"minimum": 1
|
|
1310
|
-
}
|
|
1311
|
-
},
|
|
1312
|
-
"required": [
|
|
1313
|
-
"id"
|
|
1314
|
-
],
|
|
1315
|
-
"additionalProperties": false
|
|
1316
|
-
},
|
|
1317
|
-
"minItems": 2
|
|
1318
|
-
},
|
|
1319
|
-
"required_skill_rating": {
|
|
1320
|
-
"description": "If an application applies to multiple skills, it may need to ensure the\nrespective skill is on a certain skill rating if the activatable entry\ncannot ensure this prerequisite.",
|
|
1321
|
-
"type": "integer",
|
|
1322
|
-
"minimum": 1
|
|
1323
|
-
}
|
|
1324
|
-
},
|
|
1325
|
-
"required": [
|
|
1326
|
-
"tag",
|
|
1327
|
-
"list"
|
|
1328
|
-
],
|
|
1329
|
-
"additionalProperties": false
|
|
1330
|
-
}
|
|
1331
|
-
]
|
|
1332
|
-
},
|
|
1333
|
-
"translations": {
|
|
1334
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1335
|
-
"type": "object",
|
|
1336
|
-
"patternProperties": {
|
|
1337
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1338
|
-
"type": "object",
|
|
1339
|
-
"properties": {
|
|
1340
|
-
"name": {
|
|
1341
|
-
"description": "The name of the application if different from the activatable entry's\nname.",
|
|
1342
|
-
"type": "string",
|
|
1343
|
-
"minLength": 1
|
|
1344
|
-
}
|
|
1345
|
-
},
|
|
1346
|
-
"required": [
|
|
1347
|
-
"name"
|
|
1348
|
-
],
|
|
1349
|
-
"additionalProperties": false
|
|
1350
|
-
}
|
|
1351
|
-
},
|
|
1352
|
-
"minProperties": 1,
|
|
1353
|
-
"additionalProperties": false
|
|
1354
|
-
}
|
|
1355
|
-
},
|
|
1356
|
-
"required": [
|
|
1357
|
-
"id",
|
|
1358
|
-
"skill"
|
|
1359
|
-
],
|
|
1360
|
-
"additionalProperties": false
|
|
1361
|
-
},
|
|
1362
|
-
"minItems": 1
|
|
1363
|
-
},
|
|
1364
|
-
"SkillUses": {
|
|
1365
|
-
"description": "Registers uses, which get enabled once this entry is activated. It specifies\nan entry-unique identifier and the skill it belongs to. A translation can be\nleft out if its name equals the name of the origin activatable entry.",
|
|
1366
|
-
"type": "array",
|
|
1367
|
-
"items": {
|
|
1368
|
-
"type": "object",
|
|
1369
|
-
"properties": {
|
|
1370
|
-
"id": {
|
|
1371
|
-
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
1372
|
-
"type": "integer",
|
|
1373
|
-
"minimum": 1
|
|
1374
|
-
},
|
|
1375
|
-
"skill": {
|
|
1376
|
-
"description": "The skill(s) this use belongs to.",
|
|
1377
|
-
"oneOf": [
|
|
1378
|
-
{
|
|
1379
|
-
"type": "object",
|
|
1380
|
-
"properties": {
|
|
1381
|
-
"tag": {
|
|
1382
|
-
"const": "Single"
|
|
1383
|
-
},
|
|
1384
|
-
"id": {
|
|
1385
|
-
"description": "The referenced skill's identifier.",
|
|
1386
|
-
"type": "integer",
|
|
1387
|
-
"minimum": 1
|
|
1388
|
-
}
|
|
1389
|
-
},
|
|
1390
|
-
"required": [
|
|
1391
|
-
"tag",
|
|
1392
|
-
"id"
|
|
1393
|
-
],
|
|
1394
|
-
"additionalProperties": false
|
|
1395
|
-
},
|
|
1396
|
-
{
|
|
1397
|
-
"type": "object",
|
|
1398
|
-
"properties": {
|
|
1399
|
-
"tag": {
|
|
1400
|
-
"const": "Multiple"
|
|
1401
|
-
},
|
|
1402
|
-
"list": {
|
|
1403
|
-
"description": "The skills this use belongs to.",
|
|
1404
|
-
"type": "array",
|
|
1405
|
-
"items": {
|
|
1406
|
-
"type": "object",
|
|
1407
|
-
"properties": {
|
|
1408
|
-
"id": {
|
|
1409
|
-
"description": "The referenced skill's identifier.",
|
|
1410
|
-
"type": "integer",
|
|
1411
|
-
"minimum": 1
|
|
1412
|
-
}
|
|
1413
|
-
},
|
|
1414
|
-
"required": [
|
|
1415
|
-
"id"
|
|
1416
|
-
],
|
|
1417
|
-
"additionalProperties": false
|
|
1418
|
-
},
|
|
1419
|
-
"minItems": 2
|
|
1420
|
-
}
|
|
1421
|
-
},
|
|
1422
|
-
"required": [
|
|
1423
|
-
"tag",
|
|
1424
|
-
"list"
|
|
1425
|
-
],
|
|
1426
|
-
"additionalProperties": false
|
|
1427
|
-
}
|
|
1428
|
-
]
|
|
1429
|
-
},
|
|
1430
|
-
"translations": {
|
|
1431
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1432
|
-
"type": "object",
|
|
1433
|
-
"patternProperties": {
|
|
1434
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1435
|
-
"type": "object",
|
|
1436
|
-
"properties": {
|
|
1437
|
-
"name": {
|
|
1438
|
-
"description": "The name of the use if different from the activatable entry's name.",
|
|
1439
|
-
"type": "string",
|
|
1440
|
-
"minLength": 1
|
|
1441
|
-
}
|
|
1442
|
-
},
|
|
1443
|
-
"required": [
|
|
1444
|
-
"name"
|
|
1445
|
-
],
|
|
1446
|
-
"additionalProperties": false
|
|
1447
|
-
}
|
|
1448
|
-
},
|
|
1449
|
-
"minProperties": 1,
|
|
1450
|
-
"additionalProperties": false
|
|
1451
|
-
}
|
|
1452
574
|
},
|
|
1453
|
-
"required": [
|
|
1454
|
-
"id",
|
|
1455
|
-
"skill"
|
|
1456
|
-
],
|
|
1457
|
-
"additionalProperties": false
|
|
1458
|
-
},
|
|
1459
|
-
"minItems": 1
|
|
1460
|
-
},
|
|
1461
|
-
"Penalty": {
|
|
1462
|
-
"description": "The penalty the special ability gives when used.",
|
|
1463
|
-
"oneOf": [
|
|
1464
575
|
{
|
|
1465
576
|
"type": "object",
|
|
1466
577
|
"properties": {
|
|
1467
578
|
"tag": {
|
|
1468
|
-
"const": "
|
|
1469
|
-
},
|
|
1470
|
-
"value": {
|
|
1471
|
-
"description": "The penalty value.",
|
|
1472
|
-
"type": "integer"
|
|
579
|
+
"const": "Selection"
|
|
1473
580
|
},
|
|
1474
|
-
"
|
|
1475
|
-
"
|
|
1476
|
-
"const": true
|
|
581
|
+
"selection": {
|
|
582
|
+
"$ref": "#/$defs/PenaltySelection"
|
|
1477
583
|
}
|
|
1478
584
|
},
|
|
1479
585
|
"required": [
|
|
1480
586
|
"tag",
|
|
1481
|
-
"
|
|
587
|
+
"selection"
|
|
1482
588
|
],
|
|
1483
589
|
"additionalProperties": false
|
|
1484
590
|
},
|
|
@@ -1486,25 +592,15 @@
|
|
|
1486
592
|
"type": "object",
|
|
1487
593
|
"properties": {
|
|
1488
594
|
"tag": {
|
|
1489
|
-
"const": "
|
|
1490
|
-
},
|
|
1491
|
-
"one_handed": {
|
|
1492
|
-
"description": "The penalty value for one-handed weapons.",
|
|
1493
|
-
"type": "integer"
|
|
1494
|
-
},
|
|
1495
|
-
"two_handed": {
|
|
1496
|
-
"description": "The penalty value for two-handed weapons.",
|
|
1497
|
-
"type": "integer"
|
|
595
|
+
"const": "ByLevel"
|
|
1498
596
|
},
|
|
1499
|
-
"
|
|
1500
|
-
"
|
|
1501
|
-
"const": true
|
|
597
|
+
"by_level": {
|
|
598
|
+
"$ref": "#/$defs/PenaltyByLevel"
|
|
1502
599
|
}
|
|
1503
600
|
},
|
|
1504
601
|
"required": [
|
|
1505
602
|
"tag",
|
|
1506
|
-
"
|
|
1507
|
-
"two_handed"
|
|
603
|
+
"by_level"
|
|
1508
604
|
],
|
|
1509
605
|
"additionalProperties": false
|
|
1510
606
|
},
|
|
@@ -1512,25 +608,15 @@
|
|
|
1512
608
|
"type": "object",
|
|
1513
609
|
"properties": {
|
|
1514
610
|
"tag": {
|
|
1515
|
-
"const": "
|
|
1516
|
-
},
|
|
1517
|
-
"active": {
|
|
1518
|
-
"description": "The penalty value if the entry has been bought by the character.",
|
|
1519
|
-
"type": "integer"
|
|
1520
|
-
},
|
|
1521
|
-
"inactive": {
|
|
1522
|
-
"description": "The penalty value if the entry has not been bought by the character.",
|
|
1523
|
-
"type": "integer"
|
|
611
|
+
"const": "ByAttack"
|
|
1524
612
|
},
|
|
1525
|
-
"
|
|
1526
|
-
"
|
|
1527
|
-
"const": true
|
|
613
|
+
"by_attack": {
|
|
614
|
+
"$ref": "#/$defs/PenaltyByAttack"
|
|
1528
615
|
}
|
|
1529
616
|
},
|
|
1530
617
|
"required": [
|
|
1531
618
|
"tag",
|
|
1532
|
-
"
|
|
1533
|
-
"inactive"
|
|
619
|
+
"by_attack"
|
|
1534
620
|
],
|
|
1535
621
|
"additionalProperties": false
|
|
1536
622
|
},
|
|
@@ -1538,105 +624,111 @@
|
|
|
1538
624
|
"type": "object",
|
|
1539
625
|
"properties": {
|
|
1540
626
|
"tag": {
|
|
1541
|
-
"const": "
|
|
627
|
+
"const": "DependsOnHitZone"
|
|
1542
628
|
},
|
|
1543
|
-
"
|
|
1544
|
-
"
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
|
|
1548
|
-
"tag": {
|
|
1549
|
-
"const": "Specific"
|
|
1550
|
-
},
|
|
1551
|
-
"list": {
|
|
1552
|
-
"description": "The list of specific penalty options.",
|
|
1553
|
-
"type": "array",
|
|
1554
|
-
"items": {
|
|
1555
|
-
"type": "object",
|
|
1556
|
-
"properties": {
|
|
1557
|
-
"value": {
|
|
1558
|
-
"description": "The penalty value.",
|
|
1559
|
-
"type": "integer"
|
|
1560
|
-
}
|
|
1561
|
-
},
|
|
1562
|
-
"required": [
|
|
1563
|
-
"value"
|
|
1564
|
-
],
|
|
1565
|
-
"additionalProperties": false
|
|
1566
|
-
},
|
|
1567
|
-
"minItems": 2,
|
|
1568
|
-
"uniqueItems": true
|
|
1569
|
-
}
|
|
1570
|
-
},
|
|
1571
|
-
"required": [
|
|
1572
|
-
"tag",
|
|
1573
|
-
"list"
|
|
1574
|
-
],
|
|
1575
|
-
"additionalProperties": false
|
|
1576
|
-
},
|
|
1577
|
-
{
|
|
1578
|
-
"type": "object",
|
|
1579
|
-
"properties": {
|
|
1580
|
-
"tag": {
|
|
1581
|
-
"const": "Range"
|
|
1582
|
-
},
|
|
1583
|
-
"minimum": {
|
|
1584
|
-
"description": "The minimum penalty value.",
|
|
1585
|
-
"type": "integer"
|
|
1586
|
-
},
|
|
1587
|
-
"maximum": {
|
|
1588
|
-
"description": "The maximum penalty value.",
|
|
1589
|
-
"type": "integer"
|
|
1590
|
-
}
|
|
1591
|
-
},
|
|
1592
|
-
"required": [
|
|
1593
|
-
"tag",
|
|
1594
|
-
"minimum",
|
|
1595
|
-
"maximum"
|
|
1596
|
-
],
|
|
1597
|
-
"additionalProperties": false
|
|
1598
|
-
}
|
|
1599
|
-
]
|
|
629
|
+
"depends_on_hit_zone": {
|
|
630
|
+
"type": "object",
|
|
631
|
+
"properties": {},
|
|
632
|
+
"required": [],
|
|
633
|
+
"additionalProperties": false
|
|
1600
634
|
}
|
|
1601
635
|
},
|
|
1602
636
|
"required": [
|
|
1603
637
|
"tag",
|
|
1604
|
-
"
|
|
638
|
+
"depends_on_hit_zone"
|
|
1605
639
|
],
|
|
1606
640
|
"additionalProperties": false
|
|
641
|
+
}
|
|
642
|
+
]
|
|
643
|
+
},
|
|
644
|
+
"SinglePenalty": {
|
|
645
|
+
"type": "object",
|
|
646
|
+
"properties": {
|
|
647
|
+
"value": {
|
|
648
|
+
"description": "The penalty value.",
|
|
649
|
+
"type": "integer"
|
|
650
|
+
},
|
|
651
|
+
"applies_to_parry": {
|
|
652
|
+
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
653
|
+
"const": true
|
|
654
|
+
}
|
|
655
|
+
},
|
|
656
|
+
"required": [
|
|
657
|
+
"value"
|
|
658
|
+
],
|
|
659
|
+
"additionalProperties": false
|
|
660
|
+
},
|
|
661
|
+
"PenaltyByHandedness": {
|
|
662
|
+
"type": "object",
|
|
663
|
+
"properties": {
|
|
664
|
+
"one_handed": {
|
|
665
|
+
"description": "The penalty value for one-handed weapons.",
|
|
666
|
+
"type": "integer"
|
|
667
|
+
},
|
|
668
|
+
"two_handed": {
|
|
669
|
+
"description": "The penalty value for two-handed weapons.",
|
|
670
|
+
"type": "integer"
|
|
1607
671
|
},
|
|
672
|
+
"applies_to_parry": {
|
|
673
|
+
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
674
|
+
"const": true
|
|
675
|
+
}
|
|
676
|
+
},
|
|
677
|
+
"required": [
|
|
678
|
+
"one_handed",
|
|
679
|
+
"two_handed"
|
|
680
|
+
],
|
|
681
|
+
"additionalProperties": false
|
|
682
|
+
},
|
|
683
|
+
"PenaltyByActivation": {
|
|
684
|
+
"type": "object",
|
|
685
|
+
"properties": {
|
|
686
|
+
"active": {
|
|
687
|
+
"description": "The penalty value if the entry has been bought by the character.",
|
|
688
|
+
"type": "integer"
|
|
689
|
+
},
|
|
690
|
+
"inactive": {
|
|
691
|
+
"description": "The penalty value if the entry has not been bought by the character.",
|
|
692
|
+
"type": "integer"
|
|
693
|
+
},
|
|
694
|
+
"applies_to_parry": {
|
|
695
|
+
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
696
|
+
"const": true
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
"required": [
|
|
700
|
+
"active",
|
|
701
|
+
"inactive"
|
|
702
|
+
],
|
|
703
|
+
"additionalProperties": false
|
|
704
|
+
},
|
|
705
|
+
"PenaltySelection": {
|
|
706
|
+
"type": "object",
|
|
707
|
+
"properties": {
|
|
708
|
+
"options": {
|
|
709
|
+
"$ref": "#/$defs/PenaltySelectionOptions"
|
|
710
|
+
}
|
|
711
|
+
},
|
|
712
|
+
"required": [
|
|
713
|
+
"options"
|
|
714
|
+
],
|
|
715
|
+
"additionalProperties": false
|
|
716
|
+
},
|
|
717
|
+
"PenaltySelectionOptions": {
|
|
718
|
+
"oneOf": [
|
|
1608
719
|
{
|
|
1609
720
|
"type": "object",
|
|
1610
721
|
"properties": {
|
|
1611
722
|
"tag": {
|
|
1612
|
-
"const": "
|
|
1613
|
-
},
|
|
1614
|
-
"levels": {
|
|
1615
|
-
"description": "A continuous range of penalties for each level. The first element is the\npenalty for the first level, the second element is the penalty for the\nsecond level, and so on.",
|
|
1616
|
-
"type": "array",
|
|
1617
|
-
"items": {
|
|
1618
|
-
"type": "object",
|
|
1619
|
-
"properties": {
|
|
1620
|
-
"value": {
|
|
1621
|
-
"description": "The penalty value for this level.",
|
|
1622
|
-
"type": "integer"
|
|
1623
|
-
}
|
|
1624
|
-
},
|
|
1625
|
-
"required": [
|
|
1626
|
-
"value"
|
|
1627
|
-
],
|
|
1628
|
-
"additionalProperties": false
|
|
1629
|
-
},
|
|
1630
|
-
"minItems": 2
|
|
723
|
+
"const": "Specific"
|
|
1631
724
|
},
|
|
1632
|
-
"
|
|
1633
|
-
"
|
|
1634
|
-
"$ref": "./_Identifier.schema.json#/definitions/CombatRelatedSpecialAbilityIdentifier"
|
|
725
|
+
"specific": {
|
|
726
|
+
"$ref": "#/$defs/SpecificPenaltySelectionOptions"
|
|
1635
727
|
}
|
|
1636
728
|
},
|
|
1637
729
|
"required": [
|
|
1638
730
|
"tag",
|
|
1639
|
-
"
|
|
731
|
+
"specific"
|
|
1640
732
|
],
|
|
1641
733
|
"additionalProperties": false
|
|
1642
734
|
},
|
|
@@ -1644,66 +736,159 @@
|
|
|
1644
736
|
"type": "object",
|
|
1645
737
|
"properties": {
|
|
1646
738
|
"tag": {
|
|
1647
|
-
"const": "
|
|
739
|
+
"const": "Range"
|
|
1648
740
|
},
|
|
1649
|
-
"
|
|
1650
|
-
"
|
|
1651
|
-
"type": "array",
|
|
1652
|
-
"items": {
|
|
1653
|
-
"type": "object",
|
|
1654
|
-
"properties": {
|
|
1655
|
-
"value": {
|
|
1656
|
-
"description": "The penalty value for this order.",
|
|
1657
|
-
"type": "integer"
|
|
1658
|
-
}
|
|
1659
|
-
},
|
|
1660
|
-
"required": [
|
|
1661
|
-
"value"
|
|
1662
|
-
],
|
|
1663
|
-
"additionalProperties": false
|
|
1664
|
-
},
|
|
1665
|
-
"minItems": 1
|
|
1666
|
-
},
|
|
1667
|
-
"initial_order": {
|
|
1668
|
-
"description": "The order of the first element in the `list` of penalties.",
|
|
1669
|
-
"type": "number"
|
|
1670
|
-
},
|
|
1671
|
-
"attack_replacement": {
|
|
1672
|
-
"description": "Set if a predefined different word should be used instead of the word\n`attack` for display purposes.",
|
|
1673
|
-
"oneOf": [
|
|
1674
|
-
{
|
|
1675
|
-
"type": "object",
|
|
1676
|
-
"properties": {
|
|
1677
|
-
"tag": {
|
|
1678
|
-
"const": "Throw"
|
|
1679
|
-
}
|
|
1680
|
-
},
|
|
1681
|
-
"required": [
|
|
1682
|
-
"tag"
|
|
1683
|
-
],
|
|
1684
|
-
"additionalProperties": false
|
|
1685
|
-
}
|
|
1686
|
-
]
|
|
741
|
+
"range": {
|
|
742
|
+
"$ref": "#/$defs/PenaltySelectionOptionsRange"
|
|
1687
743
|
}
|
|
1688
744
|
},
|
|
1689
745
|
"required": [
|
|
1690
746
|
"tag",
|
|
1691
|
-
"
|
|
747
|
+
"range"
|
|
1692
748
|
],
|
|
1693
749
|
"additionalProperties": false
|
|
750
|
+
}
|
|
751
|
+
]
|
|
752
|
+
},
|
|
753
|
+
"SpecificPenaltySelectionOptions": {
|
|
754
|
+
"type": "object",
|
|
755
|
+
"properties": {
|
|
756
|
+
"list": {
|
|
757
|
+
"description": "The list of specific penalty options.",
|
|
758
|
+
"type": "array",
|
|
759
|
+
"items": {
|
|
760
|
+
"$ref": "#/$defs/SpecificPenaltySelectionOption"
|
|
761
|
+
},
|
|
762
|
+
"minItems": 2,
|
|
763
|
+
"uniqueItems": true
|
|
764
|
+
}
|
|
765
|
+
},
|
|
766
|
+
"required": [
|
|
767
|
+
"list"
|
|
768
|
+
],
|
|
769
|
+
"additionalProperties": false
|
|
770
|
+
},
|
|
771
|
+
"SpecificPenaltySelectionOption": {
|
|
772
|
+
"type": "object",
|
|
773
|
+
"properties": {
|
|
774
|
+
"value": {
|
|
775
|
+
"description": "The penalty value.",
|
|
776
|
+
"type": "integer"
|
|
777
|
+
}
|
|
778
|
+
},
|
|
779
|
+
"required": [
|
|
780
|
+
"value"
|
|
781
|
+
],
|
|
782
|
+
"additionalProperties": false
|
|
783
|
+
},
|
|
784
|
+
"PenaltySelectionOptionsRange": {
|
|
785
|
+
"type": "object",
|
|
786
|
+
"properties": {
|
|
787
|
+
"minimum": {
|
|
788
|
+
"description": "The minimum penalty value.",
|
|
789
|
+
"type": "integer"
|
|
1694
790
|
},
|
|
1695
|
-
{
|
|
1696
|
-
"
|
|
1697
|
-
"
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
791
|
+
"maximum": {
|
|
792
|
+
"description": "The maximum penalty value.",
|
|
793
|
+
"type": "integer"
|
|
794
|
+
}
|
|
795
|
+
},
|
|
796
|
+
"required": [
|
|
797
|
+
"minimum",
|
|
798
|
+
"maximum"
|
|
799
|
+
],
|
|
800
|
+
"additionalProperties": false
|
|
801
|
+
},
|
|
802
|
+
"PenaltyByLevel": {
|
|
803
|
+
"type": "object",
|
|
804
|
+
"properties": {
|
|
805
|
+
"levels": {
|
|
806
|
+
"description": "A continuous range of penalties for each level. The first element is the\npenalty for the first level, the second element is the penalty for the\nsecond level, and so on.",
|
|
807
|
+
"type": "array",
|
|
808
|
+
"items": {
|
|
809
|
+
"$ref": "#/$defs/PenaltyByLevelLevel"
|
|
1701
810
|
},
|
|
1702
|
-
"
|
|
1703
|
-
|
|
1704
|
-
|
|
1705
|
-
"
|
|
811
|
+
"minItems": 2
|
|
812
|
+
},
|
|
813
|
+
"external": {
|
|
814
|
+
"description": "The combat-related special ability of which the level defines the penalty\ninstead.",
|
|
815
|
+
"$ref": "#/$defs/PenaltyByExternalLevel"
|
|
816
|
+
}
|
|
817
|
+
},
|
|
818
|
+
"required": [
|
|
819
|
+
"levels"
|
|
820
|
+
],
|
|
821
|
+
"additionalProperties": false
|
|
822
|
+
},
|
|
823
|
+
"PenaltyByLevelLevel": {
|
|
824
|
+
"type": "object",
|
|
825
|
+
"properties": {
|
|
826
|
+
"value": {
|
|
827
|
+
"description": "The penalty value for this level.",
|
|
828
|
+
"type": "integer"
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
"required": [
|
|
832
|
+
"value"
|
|
833
|
+
],
|
|
834
|
+
"additionalProperties": false
|
|
835
|
+
},
|
|
836
|
+
"PenaltyByExternalLevel": {
|
|
837
|
+
"description": "The combat-related special ability of which the level defines the penalty\ninstead.",
|
|
838
|
+
"type": "object",
|
|
839
|
+
"properties": {
|
|
840
|
+
"id": {
|
|
841
|
+
"description": "The identifier of the combat-related special ability of which the level\ndefines the penalty instead.",
|
|
842
|
+
"$ref": "./_Identifier.schema.json#/$defs/CombatRelatedSpecialAbilityIdentifier"
|
|
843
|
+
}
|
|
844
|
+
},
|
|
845
|
+
"required": [
|
|
846
|
+
"id"
|
|
847
|
+
],
|
|
848
|
+
"additionalProperties": false
|
|
849
|
+
},
|
|
850
|
+
"PenaltyByAttack": {
|
|
851
|
+
"type": "object",
|
|
852
|
+
"properties": {
|
|
853
|
+
"list": {
|
|
854
|
+
"description": "A list of penalties for subsequent attacks. The first element is the\npenalty for the first attack, the second element is the penalty for the\nsecond attack, and so on. The order of the first element may be changed\nusing `initial_order`, so that e.g. if set to `2`, the first element is\nthe penalty for the second attack, the second element is the penalty for\nthe third attack, and so on.",
|
|
855
|
+
"type": "array",
|
|
856
|
+
"items": {
|
|
857
|
+
"$ref": "#/$defs/PenaltyByAttackOrderItem"
|
|
858
|
+
},
|
|
859
|
+
"minItems": 1
|
|
860
|
+
},
|
|
861
|
+
"initial_order": {
|
|
862
|
+
"description": "The order of the first element in the `list` of penalties.",
|
|
863
|
+
"type": "number"
|
|
864
|
+
},
|
|
865
|
+
"attack_replacement": {
|
|
866
|
+
"description": "Set if a predefined different word should be used instead of the word\n`attack` for display purposes.",
|
|
867
|
+
"$ref": "#/$defs/PenaltyByAttackReplacement"
|
|
868
|
+
}
|
|
869
|
+
},
|
|
870
|
+
"required": [
|
|
871
|
+
"list"
|
|
872
|
+
],
|
|
873
|
+
"additionalProperties": false
|
|
874
|
+
},
|
|
875
|
+
"PenaltyByAttackOrderItem": {
|
|
876
|
+
"type": "object",
|
|
877
|
+
"properties": {
|
|
878
|
+
"value": {
|
|
879
|
+
"description": "The penalty value for this order.",
|
|
880
|
+
"type": "integer"
|
|
1706
881
|
}
|
|
882
|
+
},
|
|
883
|
+
"required": [
|
|
884
|
+
"value"
|
|
885
|
+
],
|
|
886
|
+
"additionalProperties": false
|
|
887
|
+
},
|
|
888
|
+
"PenaltyByAttackReplacement": {
|
|
889
|
+
"description": "Set if a predefined different word should be used instead of the word\n`attack` for display purposes.",
|
|
890
|
+
"enum": [
|
|
891
|
+
"Throw"
|
|
1707
892
|
]
|
|
1708
893
|
},
|
|
1709
894
|
"EnchantmentCost": {
|
|
@@ -1714,13 +899,13 @@
|
|
|
1714
899
|
"tag": {
|
|
1715
900
|
"const": "ArcaneEnergyCost"
|
|
1716
901
|
},
|
|
1717
|
-
"
|
|
1718
|
-
"$ref": "
|
|
902
|
+
"arcane_energy_cost": {
|
|
903
|
+
"$ref": "#/$defs/ArcaneEnergyCost"
|
|
1719
904
|
}
|
|
1720
905
|
},
|
|
1721
906
|
"required": [
|
|
1722
907
|
"tag",
|
|
1723
|
-
"
|
|
908
|
+
"arcane_energy_cost"
|
|
1724
909
|
],
|
|
1725
910
|
"additionalProperties": false
|
|
1726
911
|
},
|
|
@@ -1731,7 +916,7 @@
|
|
|
1731
916
|
"const": "BindingCost"
|
|
1732
917
|
},
|
|
1733
918
|
"binding_cost": {
|
|
1734
|
-
"$ref": "
|
|
919
|
+
"$ref": "#/$defs/BindingCost"
|
|
1735
920
|
}
|
|
1736
921
|
},
|
|
1737
922
|
"required": [
|
|
@@ -1751,88 +936,13 @@
|
|
|
1751
936
|
"tag": {
|
|
1752
937
|
"const": "Fixed"
|
|
1753
938
|
},
|
|
1754
|
-
"
|
|
1755
|
-
"
|
|
1756
|
-
"type": "integer",
|
|
1757
|
-
"minimum": 1
|
|
1758
|
-
},
|
|
1759
|
-
"is_permanent": {
|
|
1760
|
-
"description": "Set to `true` if the AE costs are permanent.",
|
|
1761
|
-
"const": true
|
|
1762
|
-
},
|
|
1763
|
-
"interval": {
|
|
1764
|
-
"description": "Specified if the AE cost `value` has to be paid for each time interval.",
|
|
1765
|
-
"$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
|
|
1766
|
-
},
|
|
1767
|
-
"per_level": {
|
|
1768
|
-
"description": "The AE cost are per level of the enchantment. It may either be displayed\nin a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1\nAE for level I; 2 AE for level II`).",
|
|
1769
|
-
"oneOf": [
|
|
1770
|
-
{
|
|
1771
|
-
"type": "object",
|
|
1772
|
-
"properties": {
|
|
1773
|
-
"tag": {
|
|
1774
|
-
"const": "Compressed"
|
|
1775
|
-
}
|
|
1776
|
-
},
|
|
1777
|
-
"required": [
|
|
1778
|
-
"tag"
|
|
1779
|
-
],
|
|
1780
|
-
"additionalProperties": false
|
|
1781
|
-
},
|
|
1782
|
-
{
|
|
1783
|
-
"type": "object",
|
|
1784
|
-
"properties": {
|
|
1785
|
-
"tag": {
|
|
1786
|
-
"const": "Verbose"
|
|
1787
|
-
}
|
|
1788
|
-
},
|
|
1789
|
-
"required": [
|
|
1790
|
-
"tag"
|
|
1791
|
-
],
|
|
1792
|
-
"additionalProperties": false
|
|
1793
|
-
}
|
|
1794
|
-
]
|
|
1795
|
-
},
|
|
1796
|
-
"translations": {
|
|
1797
|
-
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
1798
|
-
"type": "object",
|
|
1799
|
-
"patternProperties": {
|
|
1800
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1801
|
-
"type": "object",
|
|
1802
|
-
"properties": {
|
|
1803
|
-
"note": {
|
|
1804
|
-
"description": "A note, appended to the generated string in parenthesis.",
|
|
1805
|
-
"type": "object",
|
|
1806
|
-
"properties": {
|
|
1807
|
-
"default": {
|
|
1808
|
-
"description": "The full note.",
|
|
1809
|
-
"type": "string",
|
|
1810
|
-
"minLength": 1
|
|
1811
|
-
},
|
|
1812
|
-
"compressed": {
|
|
1813
|
-
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
1814
|
-
"type": "string",
|
|
1815
|
-
"minLength": 1
|
|
1816
|
-
}
|
|
1817
|
-
},
|
|
1818
|
-
"required": [
|
|
1819
|
-
"default"
|
|
1820
|
-
],
|
|
1821
|
-
"additionalProperties": false
|
|
1822
|
-
}
|
|
1823
|
-
},
|
|
1824
|
-
"required": [],
|
|
1825
|
-
"minProperties": 1,
|
|
1826
|
-
"additionalProperties": false
|
|
1827
|
-
}
|
|
1828
|
-
},
|
|
1829
|
-
"minProperties": 1,
|
|
1830
|
-
"additionalProperties": false
|
|
939
|
+
"fixed": {
|
|
940
|
+
"$ref": "#/$defs/FixedArcaneEnergyCost"
|
|
1831
941
|
}
|
|
1832
942
|
},
|
|
1833
943
|
"required": [
|
|
1834
944
|
"tag",
|
|
1835
|
-
"
|
|
945
|
+
"fixed"
|
|
1836
946
|
],
|
|
1837
947
|
"additionalProperties": false
|
|
1838
948
|
},
|
|
@@ -1842,79 +952,13 @@
|
|
|
1842
952
|
"tag": {
|
|
1843
953
|
"const": "PerCountable"
|
|
1844
954
|
},
|
|
1845
|
-
"
|
|
1846
|
-
"
|
|
1847
|
-
"type": "integer",
|
|
1848
|
-
"minimum": 1
|
|
1849
|
-
},
|
|
1850
|
-
"base_value": {
|
|
1851
|
-
"description": "If defined, in addition to the cost per entity you have to pay a flat\namount, regardless of the entity count.",
|
|
1852
|
-
"type": "integer",
|
|
1853
|
-
"minimum": 1
|
|
1854
|
-
},
|
|
1855
|
-
"translations": {
|
|
1856
|
-
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
1857
|
-
"type": "object",
|
|
1858
|
-
"patternProperties": {
|
|
1859
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1860
|
-
"type": "object",
|
|
1861
|
-
"properties": {
|
|
1862
|
-
"per": {
|
|
1863
|
-
"description": "The cost have to be per a specific countable entity, e.g. `8 AE per\nperson`.",
|
|
1864
|
-
"type": "object",
|
|
1865
|
-
"properties": {
|
|
1866
|
-
"default": {
|
|
1867
|
-
"description": "The full countable entity name.",
|
|
1868
|
-
"type": "string",
|
|
1869
|
-
"minLength": 1
|
|
1870
|
-
},
|
|
1871
|
-
"compressed": {
|
|
1872
|
-
"description": "The compressed countable entity name.",
|
|
1873
|
-
"type": "string",
|
|
1874
|
-
"minLength": 1
|
|
1875
|
-
}
|
|
1876
|
-
},
|
|
1877
|
-
"required": [
|
|
1878
|
-
"default",
|
|
1879
|
-
"compressed"
|
|
1880
|
-
],
|
|
1881
|
-
"additionalProperties": false
|
|
1882
|
-
},
|
|
1883
|
-
"note": {
|
|
1884
|
-
"description": "A note, appended to the generated string in parenthesis.",
|
|
1885
|
-
"type": "object",
|
|
1886
|
-
"properties": {
|
|
1887
|
-
"default": {
|
|
1888
|
-
"description": "The full note.",
|
|
1889
|
-
"type": "string",
|
|
1890
|
-
"minLength": 1
|
|
1891
|
-
},
|
|
1892
|
-
"compressed": {
|
|
1893
|
-
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
1894
|
-
"type": "string",
|
|
1895
|
-
"minLength": 1
|
|
1896
|
-
}
|
|
1897
|
-
},
|
|
1898
|
-
"required": [
|
|
1899
|
-
"default"
|
|
1900
|
-
],
|
|
1901
|
-
"additionalProperties": false
|
|
1902
|
-
}
|
|
1903
|
-
},
|
|
1904
|
-
"required": [
|
|
1905
|
-
"per"
|
|
1906
|
-
],
|
|
1907
|
-
"minProperties": 1,
|
|
1908
|
-
"additionalProperties": false
|
|
1909
|
-
}
|
|
1910
|
-
},
|
|
1911
|
-
"minProperties": 1,
|
|
1912
|
-
"additionalProperties": false
|
|
955
|
+
"per_countable": {
|
|
956
|
+
"$ref": "#/$defs/ArcaneEnergyCostPerCountable"
|
|
1913
957
|
}
|
|
1914
958
|
},
|
|
1915
959
|
"required": [
|
|
1916
960
|
"tag",
|
|
1917
|
-
"
|
|
961
|
+
"per_countable"
|
|
1918
962
|
],
|
|
1919
963
|
"additionalProperties": false
|
|
1920
964
|
},
|
|
@@ -1924,21 +968,13 @@
|
|
|
1924
968
|
"tag": {
|
|
1925
969
|
"const": "ActivationAndHalfInterval"
|
|
1926
970
|
},
|
|
1927
|
-
"
|
|
1928
|
-
"
|
|
1929
|
-
"type": "integer",
|
|
1930
|
-
"minimum": 2,
|
|
1931
|
-
"multipleOf": 2
|
|
1932
|
-
},
|
|
1933
|
-
"interval": {
|
|
1934
|
-
"description": "The time interval for which the AE cost `value` has to be paid.",
|
|
1935
|
-
"$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
|
|
971
|
+
"activation_and_half_interval": {
|
|
972
|
+
"$ref": "#/$defs/ActivationAndHalfIntervalArcaneEnergyCost"
|
|
1936
973
|
}
|
|
1937
974
|
},
|
|
1938
975
|
"required": [
|
|
1939
976
|
"tag",
|
|
1940
|
-
"
|
|
1941
|
-
"interval"
|
|
977
|
+
"activation_and_half_interval"
|
|
1942
978
|
],
|
|
1943
979
|
"additionalProperties": false
|
|
1944
980
|
},
|
|
@@ -1948,94 +984,13 @@
|
|
|
1948
984
|
"tag": {
|
|
1949
985
|
"const": "Indefinite"
|
|
1950
986
|
},
|
|
1951
|
-
"
|
|
1952
|
-
"
|
|
1953
|
-
"type": "object",
|
|
1954
|
-
"properties": {
|
|
1955
|
-
"arithmetic": {
|
|
1956
|
-
"description": "The arithmetic how to apply the `value` to the indefinite base value.",
|
|
1957
|
-
"oneOf": [
|
|
1958
|
-
{
|
|
1959
|
-
"type": "object",
|
|
1960
|
-
"properties": {
|
|
1961
|
-
"tag": {
|
|
1962
|
-
"const": "Add"
|
|
1963
|
-
}
|
|
1964
|
-
},
|
|
1965
|
-
"required": [
|
|
1966
|
-
"tag"
|
|
1967
|
-
],
|
|
1968
|
-
"additionalProperties": false
|
|
1969
|
-
},
|
|
1970
|
-
{
|
|
1971
|
-
"type": "object",
|
|
1972
|
-
"properties": {
|
|
1973
|
-
"tag": {
|
|
1974
|
-
"const": "Multiply"
|
|
1975
|
-
}
|
|
1976
|
-
},
|
|
1977
|
-
"required": [
|
|
1978
|
-
"tag"
|
|
1979
|
-
],
|
|
1980
|
-
"additionalProperties": false
|
|
1981
|
-
}
|
|
1982
|
-
]
|
|
1983
|
-
},
|
|
1984
|
-
"value": {
|
|
1985
|
-
"description": "The value that is applied to the indefinite base value using the\ndefined `arithmetic`.",
|
|
1986
|
-
"type": "integer",
|
|
1987
|
-
"minimum": 1
|
|
1988
|
-
}
|
|
1989
|
-
},
|
|
1990
|
-
"required": [
|
|
1991
|
-
"arithmetic",
|
|
1992
|
-
"value"
|
|
1993
|
-
],
|
|
1994
|
-
"additionalProperties": false
|
|
1995
|
-
},
|
|
1996
|
-
"translations": {
|
|
1997
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1998
|
-
"type": "object",
|
|
1999
|
-
"patternProperties": {
|
|
2000
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2001
|
-
"type": "object",
|
|
2002
|
-
"properties": {
|
|
2003
|
-
"description": {
|
|
2004
|
-
"description": "A description of where the cost come from.",
|
|
2005
|
-
"type": "object",
|
|
2006
|
-
"properties": {
|
|
2007
|
-
"default": {
|
|
2008
|
-
"description": "The full description of where the cost come from.",
|
|
2009
|
-
"type": "string",
|
|
2010
|
-
"minLength": 1
|
|
2011
|
-
},
|
|
2012
|
-
"compressed": {
|
|
2013
|
-
"description": "A compressed description of where the cost come from for use in\nsmall areas (e.g. on character sheet).",
|
|
2014
|
-
"type": "string",
|
|
2015
|
-
"minLength": 1
|
|
2016
|
-
}
|
|
2017
|
-
},
|
|
2018
|
-
"required": [
|
|
2019
|
-
"default",
|
|
2020
|
-
"compressed"
|
|
2021
|
-
],
|
|
2022
|
-
"additionalProperties": false
|
|
2023
|
-
}
|
|
2024
|
-
},
|
|
2025
|
-
"required": [
|
|
2026
|
-
"description"
|
|
2027
|
-
],
|
|
2028
|
-
"additionalProperties": false
|
|
2029
|
-
}
|
|
2030
|
-
},
|
|
2031
|
-
"minProperties": 1,
|
|
2032
|
-
"additionalProperties": false
|
|
987
|
+
"indefinite": {
|
|
988
|
+
"$ref": "#/$defs/IndefiniteArcaneEnergyCost"
|
|
2033
989
|
}
|
|
2034
990
|
},
|
|
2035
991
|
"required": [
|
|
2036
992
|
"tag",
|
|
2037
|
-
"
|
|
2038
|
-
"translations"
|
|
993
|
+
"indefinite"
|
|
2039
994
|
],
|
|
2040
995
|
"additionalProperties": false
|
|
2041
996
|
},
|
|
@@ -2045,89 +1000,13 @@
|
|
|
2045
1000
|
"tag": {
|
|
2046
1001
|
"const": "Disjunction"
|
|
2047
1002
|
},
|
|
2048
|
-
"
|
|
2049
|
-
"
|
|
2050
|
-
|
|
2051
|
-
|
|
2052
|
-
|
|
2053
|
-
|
|
2054
|
-
|
|
2055
|
-
},
|
|
2056
|
-
"activation_value": {
|
|
2057
|
-
"description": "The AE cost value for activation.",
|
|
2058
|
-
"type": "integer",
|
|
2059
|
-
"minimum": 1
|
|
2060
|
-
},
|
|
2061
|
-
"after_activation": {
|
|
2062
|
-
"description": "Set to `true` if the action where the enchantment is casted does\n**not** as a part of the first interval that has to be payed, so that\nthe first interval payment needs to be done after the activation.\n\nThis works different than other sustained spells, since for them the\nend of the cast usually already counts as part of the first interval.",
|
|
2063
|
-
"type": "boolean"
|
|
2064
|
-
}
|
|
2065
|
-
},
|
|
2066
|
-
"required": [
|
|
2067
|
-
"value",
|
|
2068
|
-
"activation_value",
|
|
2069
|
-
"after_activation"
|
|
2070
|
-
],
|
|
2071
|
-
"additionalProperties": false
|
|
2072
|
-
},
|
|
2073
|
-
"options": {
|
|
2074
|
-
"description": "The possible AE cost values.",
|
|
2075
|
-
"type": "array",
|
|
2076
|
-
"items": {
|
|
2077
|
-
"type": "object",
|
|
2078
|
-
"properties": {
|
|
2079
|
-
"value": {
|
|
2080
|
-
"description": "A possible AE cost value.",
|
|
2081
|
-
"type": "integer",
|
|
2082
|
-
"minimum": 1
|
|
2083
|
-
},
|
|
2084
|
-
"translations": {
|
|
2085
|
-
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
2086
|
-
"type": "object",
|
|
2087
|
-
"patternProperties": {
|
|
2088
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2089
|
-
"type": "object",
|
|
2090
|
-
"properties": {
|
|
2091
|
-
"note": {
|
|
2092
|
-
"description": "A note, appended to the generated option string in parenthesis.",
|
|
2093
|
-
"type": "object",
|
|
2094
|
-
"properties": {
|
|
2095
|
-
"default": {
|
|
2096
|
-
"description": "The full note.",
|
|
2097
|
-
"type": "string",
|
|
2098
|
-
"minLength": 1
|
|
2099
|
-
},
|
|
2100
|
-
"compressed": {
|
|
2101
|
-
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
2102
|
-
"type": "string",
|
|
2103
|
-
"minLength": 1
|
|
2104
|
-
}
|
|
2105
|
-
},
|
|
2106
|
-
"required": [
|
|
2107
|
-
"default"
|
|
2108
|
-
],
|
|
2109
|
-
"additionalProperties": false
|
|
2110
|
-
}
|
|
2111
|
-
},
|
|
2112
|
-
"required": [],
|
|
2113
|
-
"minProperties": 1,
|
|
2114
|
-
"additionalProperties": false
|
|
2115
|
-
}
|
|
2116
|
-
},
|
|
2117
|
-
"minProperties": 1,
|
|
2118
|
-
"additionalProperties": false
|
|
2119
|
-
}
|
|
2120
|
-
},
|
|
2121
|
-
"required": [
|
|
2122
|
-
"value"
|
|
2123
|
-
],
|
|
2124
|
-
"additionalProperties": false
|
|
2125
|
-
}
|
|
2126
|
-
}
|
|
2127
|
-
},
|
|
2128
|
-
"required": [
|
|
2129
|
-
"tag",
|
|
2130
|
-
"options"
|
|
1003
|
+
"disjunction": {
|
|
1004
|
+
"$ref": "#/$defs/ArcaneEnergyCostDisjunction"
|
|
1005
|
+
}
|
|
1006
|
+
},
|
|
1007
|
+
"required": [
|
|
1008
|
+
"tag",
|
|
1009
|
+
"disjunction"
|
|
2131
1010
|
],
|
|
2132
1011
|
"additionalProperties": false
|
|
2133
1012
|
},
|
|
@@ -2137,41 +1016,8 @@
|
|
|
2137
1016
|
"tag": {
|
|
2138
1017
|
"const": "None"
|
|
2139
1018
|
},
|
|
2140
|
-
"
|
|
2141
|
-
"
|
|
2142
|
-
"type": "object",
|
|
2143
|
-
"patternProperties": {
|
|
2144
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2145
|
-
"type": "object",
|
|
2146
|
-
"properties": {
|
|
2147
|
-
"note": {
|
|
2148
|
-
"description": "A note, appended to the generated string in parenthesis.",
|
|
2149
|
-
"type": "object",
|
|
2150
|
-
"properties": {
|
|
2151
|
-
"default": {
|
|
2152
|
-
"description": "The full note.",
|
|
2153
|
-
"type": "string",
|
|
2154
|
-
"minLength": 1
|
|
2155
|
-
},
|
|
2156
|
-
"compressed": {
|
|
2157
|
-
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
2158
|
-
"type": "string",
|
|
2159
|
-
"minLength": 1
|
|
2160
|
-
}
|
|
2161
|
-
},
|
|
2162
|
-
"required": [
|
|
2163
|
-
"default"
|
|
2164
|
-
],
|
|
2165
|
-
"additionalProperties": false
|
|
2166
|
-
}
|
|
2167
|
-
},
|
|
2168
|
-
"required": [],
|
|
2169
|
-
"minProperties": 1,
|
|
2170
|
-
"additionalProperties": false
|
|
2171
|
-
}
|
|
2172
|
-
},
|
|
2173
|
-
"minProperties": 1,
|
|
2174
|
-
"additionalProperties": false
|
|
1019
|
+
"none": {
|
|
1020
|
+
"$ref": "#/$defs/NoArcaneEnergyCost"
|
|
2175
1021
|
}
|
|
2176
1022
|
},
|
|
2177
1023
|
"required": [
|
|
@@ -2184,14 +1030,320 @@
|
|
|
2184
1030
|
"properties": {
|
|
2185
1031
|
"tag": {
|
|
2186
1032
|
"const": "Variable"
|
|
1033
|
+
},
|
|
1034
|
+
"variable": {
|
|
1035
|
+
"type": "object",
|
|
1036
|
+
"properties": {},
|
|
1037
|
+
"required": [],
|
|
1038
|
+
"additionalProperties": false
|
|
1039
|
+
}
|
|
1040
|
+
},
|
|
1041
|
+
"required": [
|
|
1042
|
+
"tag",
|
|
1043
|
+
"variable"
|
|
1044
|
+
],
|
|
1045
|
+
"additionalProperties": false
|
|
1046
|
+
}
|
|
1047
|
+
]
|
|
1048
|
+
},
|
|
1049
|
+
"FixedArcaneEnergyCost": {
|
|
1050
|
+
"type": "object",
|
|
1051
|
+
"properties": {
|
|
1052
|
+
"value": {
|
|
1053
|
+
"description": "The AE cost value.",
|
|
1054
|
+
"type": "integer",
|
|
1055
|
+
"minimum": 1
|
|
1056
|
+
},
|
|
1057
|
+
"is_permanent": {
|
|
1058
|
+
"description": "Set to `true` if the AE costs are permanent.",
|
|
1059
|
+
"const": true
|
|
1060
|
+
},
|
|
1061
|
+
"interval": {
|
|
1062
|
+
"description": "Specified if the AE cost `value` has to be paid for each time interval.",
|
|
1063
|
+
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
|
|
1064
|
+
},
|
|
1065
|
+
"per_level": {
|
|
1066
|
+
"description": "The AE cost are per level of the enchantment. It may either be displayed\nin a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1\nAE for level I; 2 AE for level II`).",
|
|
1067
|
+
"$ref": "#/$defs/FixedArcaneEnergyCostPerLevel"
|
|
1068
|
+
},
|
|
1069
|
+
"translations": {
|
|
1070
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1071
|
+
"type": "object",
|
|
1072
|
+
"patternProperties": {
|
|
1073
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1074
|
+
"$ref": "#/$defs/FixedArcaneEnergyCostTranslation"
|
|
1075
|
+
}
|
|
1076
|
+
},
|
|
1077
|
+
"minProperties": 1,
|
|
1078
|
+
"additionalProperties": false
|
|
1079
|
+
}
|
|
1080
|
+
},
|
|
1081
|
+
"required": [
|
|
1082
|
+
"value"
|
|
1083
|
+
],
|
|
1084
|
+
"additionalProperties": false
|
|
1085
|
+
},
|
|
1086
|
+
"FixedArcaneEnergyCostPerLevel": {
|
|
1087
|
+
"description": "The AE cost are per level of the enchantment. It may either be displayed\nin a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1\nAE for level I; 2 AE for level II`).",
|
|
1088
|
+
"enum": [
|
|
1089
|
+
"Compressed",
|
|
1090
|
+
"Verbose"
|
|
1091
|
+
]
|
|
1092
|
+
},
|
|
1093
|
+
"FixedArcaneEnergyCostTranslation": {
|
|
1094
|
+
"type": "object",
|
|
1095
|
+
"properties": {
|
|
1096
|
+
"note": {
|
|
1097
|
+
"description": "A note, appended to the generated option string in parenthesis.",
|
|
1098
|
+
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1099
|
+
}
|
|
1100
|
+
},
|
|
1101
|
+
"required": [],
|
|
1102
|
+
"minProperties": 1,
|
|
1103
|
+
"additionalProperties": false
|
|
1104
|
+
},
|
|
1105
|
+
"ArcaneEnergyCostPerCountable": {
|
|
1106
|
+
"type": "object",
|
|
1107
|
+
"properties": {
|
|
1108
|
+
"value": {
|
|
1109
|
+
"description": "The AE cost value that has to be per a specific countable entity.",
|
|
1110
|
+
"type": "integer",
|
|
1111
|
+
"minimum": 1
|
|
1112
|
+
},
|
|
1113
|
+
"base_value": {
|
|
1114
|
+
"description": "If defined, in addition to the cost per entity you have to pay a flat\namount, regardless of the entity count.",
|
|
1115
|
+
"type": "integer",
|
|
1116
|
+
"minimum": 1
|
|
1117
|
+
},
|
|
1118
|
+
"translations": {
|
|
1119
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1120
|
+
"type": "object",
|
|
1121
|
+
"patternProperties": {
|
|
1122
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1123
|
+
"$ref": "#/$defs/ArcaneEnergyCostPerCountableTranslation"
|
|
1124
|
+
}
|
|
1125
|
+
},
|
|
1126
|
+
"minProperties": 1,
|
|
1127
|
+
"additionalProperties": false
|
|
1128
|
+
}
|
|
1129
|
+
},
|
|
1130
|
+
"required": [
|
|
1131
|
+
"value"
|
|
1132
|
+
],
|
|
1133
|
+
"additionalProperties": false
|
|
1134
|
+
},
|
|
1135
|
+
"ArcaneEnergyCostPerCountableTranslation": {
|
|
1136
|
+
"type": "object",
|
|
1137
|
+
"properties": {
|
|
1138
|
+
"per": {
|
|
1139
|
+
"description": "The cost have to be per a specific countable entity, e.g. `8 AE per\nperson`.",
|
|
1140
|
+
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
|
|
1141
|
+
},
|
|
1142
|
+
"note": {
|
|
1143
|
+
"description": "A note, appended to the generated string in parenthesis.",
|
|
1144
|
+
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1145
|
+
}
|
|
1146
|
+
},
|
|
1147
|
+
"required": [
|
|
1148
|
+
"per"
|
|
1149
|
+
],
|
|
1150
|
+
"additionalProperties": false
|
|
1151
|
+
},
|
|
1152
|
+
"ActivationAndHalfIntervalArcaneEnergyCost": {
|
|
1153
|
+
"type": "object",
|
|
1154
|
+
"properties": {
|
|
1155
|
+
"value": {
|
|
1156
|
+
"description": "The AE cost value that has to be payed for activation. Half of this value\nhas to be payed each interval.",
|
|
1157
|
+
"type": "integer",
|
|
1158
|
+
"minimum": 2,
|
|
1159
|
+
"multipleOf": 2
|
|
1160
|
+
},
|
|
1161
|
+
"interval": {
|
|
1162
|
+
"description": "The time interval for which the AE cost `value` has to be paid.",
|
|
1163
|
+
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
|
|
1164
|
+
}
|
|
1165
|
+
},
|
|
1166
|
+
"required": [
|
|
1167
|
+
"value",
|
|
1168
|
+
"interval"
|
|
1169
|
+
],
|
|
1170
|
+
"additionalProperties": false
|
|
1171
|
+
},
|
|
1172
|
+
"IndefiniteArcaneEnergyCost": {
|
|
1173
|
+
"type": "object",
|
|
1174
|
+
"properties": {
|
|
1175
|
+
"modifier": {
|
|
1176
|
+
"description": "The indefinite AE cost may be modified by a certain value.",
|
|
1177
|
+
"$ref": "#/$defs/IndefiniteArcaneEnergyCostModifier"
|
|
1178
|
+
},
|
|
1179
|
+
"translations": {
|
|
1180
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1181
|
+
"type": "object",
|
|
1182
|
+
"patternProperties": {
|
|
1183
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1184
|
+
"$ref": "#/$defs/IndefiniteArcaneEnergyCostTranslation"
|
|
1185
|
+
}
|
|
1186
|
+
},
|
|
1187
|
+
"minProperties": 1,
|
|
1188
|
+
"additionalProperties": false
|
|
1189
|
+
}
|
|
1190
|
+
},
|
|
1191
|
+
"required": [
|
|
1192
|
+
"modifier",
|
|
1193
|
+
"translations"
|
|
1194
|
+
],
|
|
1195
|
+
"additionalProperties": false
|
|
1196
|
+
},
|
|
1197
|
+
"IndefiniteArcaneEnergyCostArithmetic": {
|
|
1198
|
+
"description": "Defines how the the `value` is set off against the check result.",
|
|
1199
|
+
"enum": [
|
|
1200
|
+
"Add",
|
|
1201
|
+
"Subtract"
|
|
1202
|
+
]
|
|
1203
|
+
},
|
|
1204
|
+
"IndefiniteArcaneEnergyCostModifier": {
|
|
1205
|
+
"type": "object",
|
|
1206
|
+
"properties": {
|
|
1207
|
+
"arithmetic": {
|
|
1208
|
+
"description": "The arithmetic how to apply the `value` to the `base`.",
|
|
1209
|
+
"$ref": "#/$defs/IndefiniteArcaneEnergyCostArithmetic"
|
|
1210
|
+
},
|
|
1211
|
+
"value": {
|
|
1212
|
+
"description": "The value that is applied to the `base` using the defined `arithmetic`.",
|
|
1213
|
+
"type": "integer",
|
|
1214
|
+
"minimum": 1
|
|
1215
|
+
}
|
|
1216
|
+
},
|
|
1217
|
+
"required": [
|
|
1218
|
+
"arithmetic",
|
|
1219
|
+
"value"
|
|
1220
|
+
],
|
|
1221
|
+
"additionalProperties": false
|
|
1222
|
+
},
|
|
1223
|
+
"IndefiniteArcaneEnergyCostTranslation": {
|
|
1224
|
+
"type": "object",
|
|
1225
|
+
"properties": {
|
|
1226
|
+
"description": {
|
|
1227
|
+
"description": "A description of where the cost come from.",
|
|
1228
|
+
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
|
|
1229
|
+
}
|
|
1230
|
+
},
|
|
1231
|
+
"required": [
|
|
1232
|
+
"description"
|
|
1233
|
+
],
|
|
1234
|
+
"additionalProperties": false
|
|
1235
|
+
},
|
|
1236
|
+
"ArcaneEnergyCostDisjunction": {
|
|
1237
|
+
"type": "object",
|
|
1238
|
+
"properties": {
|
|
1239
|
+
"interval": {
|
|
1240
|
+
"description": "Specified if the selected AE cost option has to be paid for each time\ninterval.",
|
|
1241
|
+
"$ref": "#/$defs/ArcaneEnergyCostDisjunctionInterval"
|
|
1242
|
+
},
|
|
1243
|
+
"options": {
|
|
1244
|
+
"description": "The possible AE cost values.",
|
|
1245
|
+
"type": "array",
|
|
1246
|
+
"items": {
|
|
1247
|
+
"$ref": "#/$defs/ArcaneEnergyCostDisjunctionOption"
|
|
1248
|
+
}
|
|
1249
|
+
}
|
|
1250
|
+
},
|
|
1251
|
+
"required": [
|
|
1252
|
+
"options"
|
|
1253
|
+
],
|
|
1254
|
+
"additionalProperties": false
|
|
1255
|
+
},
|
|
1256
|
+
"ArcaneEnergyCostDisjunctionInterval": {
|
|
1257
|
+
"type": "object",
|
|
1258
|
+
"properties": {
|
|
1259
|
+
"value": {
|
|
1260
|
+
"description": "The interval itself.",
|
|
1261
|
+
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
|
|
1262
|
+
},
|
|
1263
|
+
"activation_value": {
|
|
1264
|
+
"description": "The AE cost value for activation.",
|
|
1265
|
+
"type": "integer",
|
|
1266
|
+
"minimum": 1
|
|
1267
|
+
},
|
|
1268
|
+
"after_activation": {
|
|
1269
|
+
"description": "Set to `true` if the action where the enchantment is casted does\n**not** as a part of the first interval that has to be payed, so that\nthe first interval payment needs to be done after the activation.\n\nThis works different than other sustained spells, since for them the\nend of the cast usually already counts as part of the first interval.",
|
|
1270
|
+
"type": "boolean"
|
|
1271
|
+
}
|
|
1272
|
+
},
|
|
1273
|
+
"required": [
|
|
1274
|
+
"value",
|
|
1275
|
+
"activation_value",
|
|
1276
|
+
"after_activation"
|
|
1277
|
+
],
|
|
1278
|
+
"additionalProperties": false
|
|
1279
|
+
},
|
|
1280
|
+
"ArcaneEnergyCostDisjunctionOption": {
|
|
1281
|
+
"type": "object",
|
|
1282
|
+
"properties": {
|
|
1283
|
+
"value": {
|
|
1284
|
+
"description": "A possible AE cost value.",
|
|
1285
|
+
"type": "integer",
|
|
1286
|
+
"minimum": 1
|
|
1287
|
+
},
|
|
1288
|
+
"translations": {
|
|
1289
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1290
|
+
"type": "object",
|
|
1291
|
+
"patternProperties": {
|
|
1292
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1293
|
+
"$ref": "#/$defs/ArcaneEnergyCostDisjunctionOptionTranslation"
|
|
1294
|
+
}
|
|
1295
|
+
},
|
|
1296
|
+
"minProperties": 1,
|
|
1297
|
+
"additionalProperties": false
|
|
1298
|
+
}
|
|
1299
|
+
},
|
|
1300
|
+
"required": [
|
|
1301
|
+
"value"
|
|
1302
|
+
],
|
|
1303
|
+
"additionalProperties": false
|
|
1304
|
+
},
|
|
1305
|
+
"ArcaneEnergyCostDisjunctionOptionTranslation": {
|
|
1306
|
+
"type": "object",
|
|
1307
|
+
"properties": {
|
|
1308
|
+
"note": {
|
|
1309
|
+
"description": "A note, appended to the generated option string in parenthesis.",
|
|
1310
|
+
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1311
|
+
}
|
|
1312
|
+
},
|
|
1313
|
+
"required": [],
|
|
1314
|
+
"minProperties": 1,
|
|
1315
|
+
"additionalProperties": false
|
|
1316
|
+
},
|
|
1317
|
+
"NoArcaneEnergyCost": {
|
|
1318
|
+
"type": "object",
|
|
1319
|
+
"properties": {
|
|
1320
|
+
"translations": {
|
|
1321
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1322
|
+
"type": "object",
|
|
1323
|
+
"patternProperties": {
|
|
1324
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1325
|
+
"$ref": "#/$defs/NoArcaneEnergyCostTranslation"
|
|
2187
1326
|
}
|
|
2188
1327
|
},
|
|
2189
|
-
"
|
|
2190
|
-
"tag"
|
|
2191
|
-
],
|
|
1328
|
+
"minProperties": 1,
|
|
2192
1329
|
"additionalProperties": false
|
|
2193
1330
|
}
|
|
2194
|
-
|
|
1331
|
+
},
|
|
1332
|
+
"required": [],
|
|
1333
|
+
"minProperties": 1,
|
|
1334
|
+
"additionalProperties": false
|
|
1335
|
+
},
|
|
1336
|
+
"NoArcaneEnergyCostTranslation": {
|
|
1337
|
+
"type": "object",
|
|
1338
|
+
"properties": {
|
|
1339
|
+
"note": {
|
|
1340
|
+
"description": "A note, appended to the generated string in parenthesis.",
|
|
1341
|
+
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1342
|
+
}
|
|
1343
|
+
},
|
|
1344
|
+
"required": [],
|
|
1345
|
+
"minProperties": 1,
|
|
1346
|
+
"additionalProperties": false
|
|
2195
1347
|
},
|
|
2196
1348
|
"Volume": {
|
|
2197
1349
|
"description": "The volume points the enchantment needs.",
|
|
@@ -2202,15 +1354,13 @@
|
|
|
2202
1354
|
"tag": {
|
|
2203
1355
|
"const": "Fixed"
|
|
2204
1356
|
},
|
|
2205
|
-
"
|
|
2206
|
-
"
|
|
2207
|
-
"type": "integer",
|
|
2208
|
-
"minimum": 0
|
|
1357
|
+
"fixed": {
|
|
1358
|
+
"$ref": "#/$defs/FixedVolume"
|
|
2209
1359
|
}
|
|
2210
1360
|
},
|
|
2211
1361
|
"required": [
|
|
2212
1362
|
"tag",
|
|
2213
|
-
"
|
|
1363
|
+
"fixed"
|
|
2214
1364
|
],
|
|
2215
1365
|
"additionalProperties": false
|
|
2216
1366
|
},
|
|
@@ -2220,15 +1370,13 @@
|
|
|
2220
1370
|
"tag": {
|
|
2221
1371
|
"const": "PerLevel"
|
|
2222
1372
|
},
|
|
2223
|
-
"
|
|
2224
|
-
"
|
|
2225
|
-
"type": "integer",
|
|
2226
|
-
"minimum": 1
|
|
1373
|
+
"per_level": {
|
|
1374
|
+
"$ref": "#/$defs/VolumePerLevel"
|
|
2227
1375
|
}
|
|
2228
1376
|
},
|
|
2229
1377
|
"required": [
|
|
2230
1378
|
"tag",
|
|
2231
|
-
"
|
|
1379
|
+
"per_level"
|
|
2232
1380
|
],
|
|
2233
1381
|
"additionalProperties": false
|
|
2234
1382
|
},
|
|
@@ -2238,29 +1386,13 @@
|
|
|
2238
1386
|
"tag": {
|
|
2239
1387
|
"const": "ByLevel"
|
|
2240
1388
|
},
|
|
2241
|
-
"
|
|
2242
|
-
"
|
|
2243
|
-
"type": "array",
|
|
2244
|
-
"items": {
|
|
2245
|
-
"type": "object",
|
|
2246
|
-
"properties": {
|
|
2247
|
-
"points": {
|
|
2248
|
-
"description": "The volume points for this level.",
|
|
2249
|
-
"type": "integer",
|
|
2250
|
-
"minimum": 0
|
|
2251
|
-
}
|
|
2252
|
-
},
|
|
2253
|
-
"required": [
|
|
2254
|
-
"points"
|
|
2255
|
-
],
|
|
2256
|
-
"additionalProperties": false
|
|
2257
|
-
},
|
|
2258
|
-
"minItems": 2
|
|
1389
|
+
"by_level": {
|
|
1390
|
+
"$ref": "#/$defs/VolumeByLevel"
|
|
2259
1391
|
}
|
|
2260
1392
|
},
|
|
2261
1393
|
"required": [
|
|
2262
1394
|
"tag",
|
|
2263
|
-
"
|
|
1395
|
+
"by_level"
|
|
2264
1396
|
],
|
|
2265
1397
|
"additionalProperties": false
|
|
2266
1398
|
},
|
|
@@ -2271,7 +1403,7 @@
|
|
|
2271
1403
|
"const": "Map"
|
|
2272
1404
|
},
|
|
2273
1405
|
"map": {
|
|
2274
|
-
"$ref": "
|
|
1406
|
+
"$ref": "#/$defs/VolumeMap"
|
|
2275
1407
|
}
|
|
2276
1408
|
},
|
|
2277
1409
|
"required": [
|
|
@@ -2282,6 +1414,65 @@
|
|
|
2282
1414
|
}
|
|
2283
1415
|
]
|
|
2284
1416
|
},
|
|
1417
|
+
"FixedVolume": {
|
|
1418
|
+
"type": "object",
|
|
1419
|
+
"properties": {
|
|
1420
|
+
"points": {
|
|
1421
|
+
"description": "The volume points.",
|
|
1422
|
+
"type": "integer",
|
|
1423
|
+
"minimum": 0
|
|
1424
|
+
}
|
|
1425
|
+
},
|
|
1426
|
+
"required": [
|
|
1427
|
+
"points"
|
|
1428
|
+
],
|
|
1429
|
+
"additionalProperties": false
|
|
1430
|
+
},
|
|
1431
|
+
"VolumePerLevel": {
|
|
1432
|
+
"type": "object",
|
|
1433
|
+
"properties": {
|
|
1434
|
+
"points": {
|
|
1435
|
+
"description": "The volume points per level.",
|
|
1436
|
+
"type": "integer",
|
|
1437
|
+
"minimum": 1
|
|
1438
|
+
}
|
|
1439
|
+
},
|
|
1440
|
+
"required": [
|
|
1441
|
+
"points"
|
|
1442
|
+
],
|
|
1443
|
+
"additionalProperties": false
|
|
1444
|
+
},
|
|
1445
|
+
"VolumeByLevel": {
|
|
1446
|
+
"type": "object",
|
|
1447
|
+
"properties": {
|
|
1448
|
+
"list": {
|
|
1449
|
+
"description": "The volume points for each level. The first element is the volume points\nfor the first level, the second element is the volume points for the\nsecond level, and so on.",
|
|
1450
|
+
"type": "array",
|
|
1451
|
+
"items": {
|
|
1452
|
+
"$ref": "#/$defs/VolumeByLevelItem"
|
|
1453
|
+
},
|
|
1454
|
+
"minItems": 2
|
|
1455
|
+
}
|
|
1456
|
+
},
|
|
1457
|
+
"required": [
|
|
1458
|
+
"list"
|
|
1459
|
+
],
|
|
1460
|
+
"additionalProperties": false
|
|
1461
|
+
},
|
|
1462
|
+
"VolumeByLevelItem": {
|
|
1463
|
+
"type": "object",
|
|
1464
|
+
"properties": {
|
|
1465
|
+
"points": {
|
|
1466
|
+
"description": "The volume points for this level.",
|
|
1467
|
+
"type": "integer",
|
|
1468
|
+
"minimum": 0
|
|
1469
|
+
}
|
|
1470
|
+
},
|
|
1471
|
+
"required": [
|
|
1472
|
+
"points"
|
|
1473
|
+
],
|
|
1474
|
+
"additionalProperties": false
|
|
1475
|
+
},
|
|
2285
1476
|
"VolumeMap": {
|
|
2286
1477
|
"description": "A content that is `3/4/5 Points for Chimera, Daimonid, Golems, Undead /\nFairies, Ghosts / Demons, Elementals` may be respresented as the following\nmap:\n\n```yaml\noptions:\n - points: 3\n associated_options:\n - id:\n tag: General\n value: # ...\n # ...\n translations:\n en-US:\n label: \"Chimera, Daimonid, Golems, Undead\"\n label_standalone: \"Chimera/Daimonid/Golems/Undead\"\n - points: 4\n associated_options:\n - id:\n tag: General\n value: # ...\n # ...\n translations:\n en-US:\n label: \"Fairies, Ghosts\"\n label_standalone: \"Fairies/Ghosts\"\n - points: 5\n associated_options:\n - id:\n tag: General\n value: # ...\n # ...\n translations:\n en-US:\n label: \"Demons, Elementals\"\n label_standalone: \"Demons/Elementals\"\n```\n\nThis will generate the exact same string as seen above. The associated\noptions are not present in the example, but they link to the options the\nvolume specification is meant for.",
|
|
2287
1478
|
"type": "object",
|
|
@@ -2290,7 +1481,7 @@
|
|
|
2290
1481
|
"description": "The possible costs and associated labels.",
|
|
2291
1482
|
"type": "array",
|
|
2292
1483
|
"items": {
|
|
2293
|
-
"$ref": "
|
|
1484
|
+
"$ref": "#/$defs/VolumeMapOption"
|
|
2294
1485
|
},
|
|
2295
1486
|
"minItems": 2
|
|
2296
1487
|
},
|
|
@@ -2299,23 +1490,7 @@
|
|
|
2299
1490
|
"type": "object",
|
|
2300
1491
|
"patternProperties": {
|
|
2301
1492
|
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2302
|
-
"
|
|
2303
|
-
"properties": {
|
|
2304
|
-
"list_prepend": {
|
|
2305
|
-
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
2306
|
-
"type": "string"
|
|
2307
|
-
},
|
|
2308
|
-
"list_append": {
|
|
2309
|
-
"description": "Place a string after the grouped map option labels.",
|
|
2310
|
-
"type": "string"
|
|
2311
|
-
},
|
|
2312
|
-
"replacement": {
|
|
2313
|
-
"description": "If the string from the book cannot be generated using the default\ngeneration technique, use this string. All options still need to be\ninserted propertly, since it may be used by in-game tools to provide a\nselection to players.",
|
|
2314
|
-
"type": "string"
|
|
2315
|
-
}
|
|
2316
|
-
},
|
|
2317
|
-
"required": [],
|
|
2318
|
-
"additionalProperties": false
|
|
1493
|
+
"$ref": "#/$defs/VolumeMapTranslation"
|
|
2319
1494
|
}
|
|
2320
1495
|
},
|
|
2321
1496
|
"minProperties": 1,
|
|
@@ -2327,6 +1502,26 @@
|
|
|
2327
1502
|
],
|
|
2328
1503
|
"additionalProperties": false
|
|
2329
1504
|
},
|
|
1505
|
+
"VolumeMapTranslation": {
|
|
1506
|
+
"type": "object",
|
|
1507
|
+
"properties": {
|
|
1508
|
+
"list_prepend": {
|
|
1509
|
+
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
1510
|
+
"type": "string"
|
|
1511
|
+
},
|
|
1512
|
+
"list_append": {
|
|
1513
|
+
"description": "Place a string after the grouped map option labels.",
|
|
1514
|
+
"type": "string"
|
|
1515
|
+
},
|
|
1516
|
+
"replacement": {
|
|
1517
|
+
"description": "If the string from the book cannot be generated using the default\ngeneration technique, use this string. All options still need to be\ninserted propertly, since it may be used by in-game tools to provide a\nselection to players.",
|
|
1518
|
+
"type": "string"
|
|
1519
|
+
}
|
|
1520
|
+
},
|
|
1521
|
+
"required": [],
|
|
1522
|
+
"minProperties": 1,
|
|
1523
|
+
"additionalProperties": false
|
|
1524
|
+
},
|
|
2330
1525
|
"VolumeMapOption": {
|
|
2331
1526
|
"type": "object",
|
|
2332
1527
|
"properties": {
|
|
@@ -2339,17 +1534,7 @@
|
|
|
2339
1534
|
"description": "Links to the options this volume specification is meant for.",
|
|
2340
1535
|
"type": "array",
|
|
2341
1536
|
"items": {
|
|
2342
|
-
"
|
|
2343
|
-
"properties": {
|
|
2344
|
-
"id": {
|
|
2345
|
-
"description": "The option's identifier.",
|
|
2346
|
-
"$ref": "./_Identifier.schema.json#/definitions/VolumePointsOptionReferenceIdentifier"
|
|
2347
|
-
}
|
|
2348
|
-
},
|
|
2349
|
-
"required": [
|
|
2350
|
-
"id"
|
|
2351
|
-
],
|
|
2352
|
-
"additionalProperties": false
|
|
1537
|
+
"$ref": "#/$defs/VolumeMapOptionAssociatedOption"
|
|
2353
1538
|
}
|
|
2354
1539
|
},
|
|
2355
1540
|
"translations": {
|
|
@@ -2357,23 +1542,7 @@
|
|
|
2357
1542
|
"type": "object",
|
|
2358
1543
|
"patternProperties": {
|
|
2359
1544
|
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2360
|
-
"
|
|
2361
|
-
"properties": {
|
|
2362
|
-
"label": {
|
|
2363
|
-
"description": "The description of the option for cost string generation.",
|
|
2364
|
-
"type": "string",
|
|
2365
|
-
"minLength": 1
|
|
2366
|
-
},
|
|
2367
|
-
"label_standalone": {
|
|
2368
|
-
"description": "The description of the option if used standalone. Only used if\ndifferent from `label`.",
|
|
2369
|
-
"type": "string",
|
|
2370
|
-
"minLength": 1
|
|
2371
|
-
}
|
|
2372
|
-
},
|
|
2373
|
-
"required": [
|
|
2374
|
-
"label"
|
|
2375
|
-
],
|
|
2376
|
-
"additionalProperties": false
|
|
1545
|
+
"$ref": "#/$defs/VolumeMapOptionTranslation"
|
|
2377
1546
|
}
|
|
2378
1547
|
},
|
|
2379
1548
|
"minProperties": 1,
|
|
@@ -2386,6 +1555,36 @@
|
|
|
2386
1555
|
],
|
|
2387
1556
|
"additionalProperties": false
|
|
2388
1557
|
},
|
|
1558
|
+
"VolumeMapOptionAssociatedOption": {
|
|
1559
|
+
"type": "object",
|
|
1560
|
+
"properties": {
|
|
1561
|
+
"id": {
|
|
1562
|
+
"description": "The option's identifier.",
|
|
1563
|
+
"$ref": "./_Identifier.schema.json#/$defs/VolumePointsOptionReferenceIdentifier"
|
|
1564
|
+
}
|
|
1565
|
+
},
|
|
1566
|
+
"required": [
|
|
1567
|
+
"id"
|
|
1568
|
+
],
|
|
1569
|
+
"additionalProperties": false
|
|
1570
|
+
},
|
|
1571
|
+
"VolumeMapOptionTranslation": {
|
|
1572
|
+
"type": "object",
|
|
1573
|
+
"properties": {
|
|
1574
|
+
"label": {
|
|
1575
|
+
"description": "The description of the option for cost string generation.",
|
|
1576
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1577
|
+
},
|
|
1578
|
+
"label_standalone": {
|
|
1579
|
+
"description": "The description of the option if used standalone. Only used if\ndifferent from `label`.",
|
|
1580
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1581
|
+
}
|
|
1582
|
+
},
|
|
1583
|
+
"required": [
|
|
1584
|
+
"label"
|
|
1585
|
+
],
|
|
1586
|
+
"additionalProperties": false
|
|
1587
|
+
},
|
|
2389
1588
|
"BindingCost": {
|
|
2390
1589
|
"description": "The binding cost for an enchantment.",
|
|
2391
1590
|
"oneOf": [
|
|
@@ -2395,15 +1594,13 @@
|
|
|
2395
1594
|
"tag": {
|
|
2396
1595
|
"const": "Fixed"
|
|
2397
1596
|
},
|
|
2398
|
-
"
|
|
2399
|
-
"
|
|
2400
|
-
"type": "integer",
|
|
2401
|
-
"minimum": 1
|
|
1597
|
+
"fixed": {
|
|
1598
|
+
"$ref": "#/$defs/FixedBindingCost"
|
|
2402
1599
|
}
|
|
2403
1600
|
},
|
|
2404
1601
|
"required": [
|
|
2405
1602
|
"tag",
|
|
2406
|
-
"
|
|
1603
|
+
"fixed"
|
|
2407
1604
|
],
|
|
2408
1605
|
"additionalProperties": false
|
|
2409
1606
|
},
|
|
@@ -2413,15 +1610,13 @@
|
|
|
2413
1610
|
"tag": {
|
|
2414
1611
|
"const": "PerLevel"
|
|
2415
1612
|
},
|
|
2416
|
-
"
|
|
2417
|
-
"
|
|
2418
|
-
"type": "integer",
|
|
2419
|
-
"minimum": 1
|
|
1613
|
+
"per_level": {
|
|
1614
|
+
"$ref": "#/$defs/BindingCostPerLevel"
|
|
2420
1615
|
}
|
|
2421
1616
|
},
|
|
2422
1617
|
"required": [
|
|
2423
1618
|
"tag",
|
|
2424
|
-
"
|
|
1619
|
+
"per_level"
|
|
2425
1620
|
],
|
|
2426
1621
|
"additionalProperties": false
|
|
2427
1622
|
},
|
|
@@ -2432,7 +1627,7 @@
|
|
|
2432
1627
|
"const": "Map"
|
|
2433
1628
|
},
|
|
2434
1629
|
"map": {
|
|
2435
|
-
"$ref": "
|
|
1630
|
+
"$ref": "#/$defs/BindingCostMap"
|
|
2436
1631
|
}
|
|
2437
1632
|
},
|
|
2438
1633
|
"required": [
|
|
@@ -2443,6 +1638,34 @@
|
|
|
2443
1638
|
}
|
|
2444
1639
|
]
|
|
2445
1640
|
},
|
|
1641
|
+
"FixedBindingCost": {
|
|
1642
|
+
"type": "object",
|
|
1643
|
+
"properties": {
|
|
1644
|
+
"permanent_value": {
|
|
1645
|
+
"description": "The permanent AE cost.\n\nIf the enchantment has multiple levels, it is only applied for the first\nlevel.",
|
|
1646
|
+
"type": "integer",
|
|
1647
|
+
"minimum": 1
|
|
1648
|
+
}
|
|
1649
|
+
},
|
|
1650
|
+
"required": [
|
|
1651
|
+
"permanent_value"
|
|
1652
|
+
],
|
|
1653
|
+
"additionalProperties": false
|
|
1654
|
+
},
|
|
1655
|
+
"BindingCostPerLevel": {
|
|
1656
|
+
"type": "object",
|
|
1657
|
+
"properties": {
|
|
1658
|
+
"permanent_value": {
|
|
1659
|
+
"description": "The permanent AE cost per level.",
|
|
1660
|
+
"type": "integer",
|
|
1661
|
+
"minimum": 1
|
|
1662
|
+
}
|
|
1663
|
+
},
|
|
1664
|
+
"required": [
|
|
1665
|
+
"permanent_value"
|
|
1666
|
+
],
|
|
1667
|
+
"additionalProperties": false
|
|
1668
|
+
},
|
|
2446
1669
|
"BindingCostMap": {
|
|
2447
1670
|
"description": "A content that is `2/4/8 permanent AE for spell-swords with the combat\ntechnique Daggers, Swords, or Two-Handed Swords` may be respresented as the\nfollowing map:\n\n```yaml\noptions:\n - permanent_value: 2\n translations:\n en-US:\n label: \"Daggers\"\n label_standalone: \"Dagger\"\n - permanent_value: 4\n translations:\n en-US:\n label: \"Swords\"\n label_standalone: \"Sword\"\n - permanent_value: 8\n translations:\n en-US:\n label: \"Two-Handed Swords\"\n label_standalone: \"Two-Handed Sword\"\nlist_prepend: \"spell-swords with the combat technique\"\n```\n\nThis will generate the exact same string as seen above.",
|
|
2448
1671
|
"type": "object",
|
|
@@ -2451,7 +1674,7 @@
|
|
|
2451
1674
|
"description": "The possible costs and associated labels.",
|
|
2452
1675
|
"type": "array",
|
|
2453
1676
|
"items": {
|
|
2454
|
-
"$ref": "
|
|
1677
|
+
"$ref": "#/$defs/VolumeMapOption"
|
|
2455
1678
|
},
|
|
2456
1679
|
"minItems": 2
|
|
2457
1680
|
},
|
|
@@ -2460,23 +1683,7 @@
|
|
|
2460
1683
|
"type": "object",
|
|
2461
1684
|
"patternProperties": {
|
|
2462
1685
|
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2463
|
-
"
|
|
2464
|
-
"properties": {
|
|
2465
|
-
"list_prepend": {
|
|
2466
|
-
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
2467
|
-
"type": "string"
|
|
2468
|
-
},
|
|
2469
|
-
"list_append": {
|
|
2470
|
-
"description": "Place a string after the grouped map option labels.",
|
|
2471
|
-
"type": "string"
|
|
2472
|
-
},
|
|
2473
|
-
"replacement": {
|
|
2474
|
-
"description": "If the string from the book cannot be generated using the default\ngeneration technique, use this string. All options still need to be\ninserted propertly, since it may be used by in-game tools to provide a\nselection to players.",
|
|
2475
|
-
"type": "string"
|
|
2476
|
-
}
|
|
2477
|
-
},
|
|
2478
|
-
"required": [],
|
|
2479
|
-
"additionalProperties": false
|
|
1686
|
+
"$ref": "#/$defs/BindingCostMapTranslation"
|
|
2480
1687
|
}
|
|
2481
1688
|
},
|
|
2482
1689
|
"minProperties": 1,
|
|
@@ -2488,6 +1695,26 @@
|
|
|
2488
1695
|
],
|
|
2489
1696
|
"additionalProperties": false
|
|
2490
1697
|
},
|
|
1698
|
+
"BindingCostMapTranslation": {
|
|
1699
|
+
"type": "object",
|
|
1700
|
+
"properties": {
|
|
1701
|
+
"list_prepend": {
|
|
1702
|
+
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
1703
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1704
|
+
},
|
|
1705
|
+
"list_append": {
|
|
1706
|
+
"description": "Place a string after the grouped map option labels.",
|
|
1707
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1708
|
+
},
|
|
1709
|
+
"replacement": {
|
|
1710
|
+
"description": "If the string from the book cannot be generated using the default\ngeneration technique, use this string. All options still need to be\ninserted propertly, since it may be used by in-game tools to provide a\nselection to players.",
|
|
1711
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1712
|
+
}
|
|
1713
|
+
},
|
|
1714
|
+
"required": [],
|
|
1715
|
+
"minProperties": 1,
|
|
1716
|
+
"additionalProperties": false
|
|
1717
|
+
},
|
|
2491
1718
|
"BindingCostMapOption": {
|
|
2492
1719
|
"type": "object",
|
|
2493
1720
|
"properties": {
|
|
@@ -2501,23 +1728,7 @@
|
|
|
2501
1728
|
"type": "object",
|
|
2502
1729
|
"patternProperties": {
|
|
2503
1730
|
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2504
|
-
"
|
|
2505
|
-
"properties": {
|
|
2506
|
-
"label": {
|
|
2507
|
-
"description": "The description of the option for cost string generation.",
|
|
2508
|
-
"type": "string",
|
|
2509
|
-
"minLength": 1
|
|
2510
|
-
},
|
|
2511
|
-
"label_standalone": {
|
|
2512
|
-
"description": "The description of the option if used standalone. Only used if\ndifferent from `label`.",
|
|
2513
|
-
"type": "string",
|
|
2514
|
-
"minLength": 1
|
|
2515
|
-
}
|
|
2516
|
-
},
|
|
2517
|
-
"required": [
|
|
2518
|
-
"label"
|
|
2519
|
-
],
|
|
2520
|
-
"additionalProperties": false
|
|
1731
|
+
"$ref": "#/$defs/BindingCostMapOptionTranslation"
|
|
2521
1732
|
}
|
|
2522
1733
|
},
|
|
2523
1734
|
"minProperties": 1,
|
|
@@ -2529,6 +1740,23 @@
|
|
|
2529
1740
|
],
|
|
2530
1741
|
"additionalProperties": false
|
|
2531
1742
|
},
|
|
1743
|
+
"BindingCostMapOptionTranslation": {
|
|
1744
|
+
"type": "object",
|
|
1745
|
+
"properties": {
|
|
1746
|
+
"label": {
|
|
1747
|
+
"description": "The description of the option for cost string generation.",
|
|
1748
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1749
|
+
},
|
|
1750
|
+
"label_standalone": {
|
|
1751
|
+
"description": "The description of the option if used standalone. Only used if\ndifferent from `label`.",
|
|
1752
|
+
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1753
|
+
}
|
|
1754
|
+
},
|
|
1755
|
+
"required": [
|
|
1756
|
+
"label"
|
|
1757
|
+
],
|
|
1758
|
+
"additionalProperties": false
|
|
1759
|
+
},
|
|
2532
1760
|
"Property": {
|
|
2533
1761
|
"description": "The magic property's identifier. `DependingOnProperty` can only be used if\nthe special ability has an option to select a property.",
|
|
2534
1762
|
"oneOf": [
|
|
@@ -2536,11 +1764,18 @@
|
|
|
2536
1764
|
"type": "object",
|
|
2537
1765
|
"properties": {
|
|
2538
1766
|
"tag": {
|
|
2539
|
-
"const": "
|
|
1767
|
+
"const": "DependingOnSelection"
|
|
1768
|
+
},
|
|
1769
|
+
"depending_on_selection": {
|
|
1770
|
+
"type": "object",
|
|
1771
|
+
"properties": {},
|
|
1772
|
+
"required": [],
|
|
1773
|
+
"additionalProperties": false
|
|
2540
1774
|
}
|
|
2541
1775
|
},
|
|
2542
1776
|
"required": [
|
|
2543
|
-
"tag"
|
|
1777
|
+
"tag",
|
|
1778
|
+
"depending_on_selection"
|
|
2544
1779
|
],
|
|
2545
1780
|
"additionalProperties": false
|
|
2546
1781
|
},
|
|
@@ -2550,24 +1785,21 @@
|
|
|
2550
1785
|
"tag": {
|
|
2551
1786
|
"const": "Fixed"
|
|
2552
1787
|
},
|
|
2553
|
-
"
|
|
2554
|
-
"
|
|
2555
|
-
"type": "integer",
|
|
2556
|
-
"minimum": 1
|
|
1788
|
+
"fixed": {
|
|
1789
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/PropertyReference"
|
|
2557
1790
|
}
|
|
2558
1791
|
},
|
|
2559
1792
|
"required": [
|
|
2560
1793
|
"tag",
|
|
2561
|
-
"
|
|
1794
|
+
"fixed"
|
|
2562
1795
|
],
|
|
2563
1796
|
"additionalProperties": false
|
|
2564
1797
|
}
|
|
2565
1798
|
]
|
|
2566
1799
|
},
|
|
2567
1800
|
"Aspect": {
|
|
2568
|
-
"description": "The blessed aspect
|
|
2569
|
-
"
|
|
2570
|
-
"minimum": 1
|
|
1801
|
+
"description": "The blessed aspect.",
|
|
1802
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/AspectReference"
|
|
2571
1803
|
},
|
|
2572
1804
|
"AdvancedSpecialAbility": {
|
|
2573
1805
|
"description": "A reference to an advanced special ability.",
|
|
@@ -2578,15 +1810,13 @@
|
|
|
2578
1810
|
"tag": {
|
|
2579
1811
|
"const": "General"
|
|
2580
1812
|
},
|
|
2581
|
-
"
|
|
2582
|
-
"
|
|
2583
|
-
"type": "integer",
|
|
2584
|
-
"minimum": 1
|
|
1813
|
+
"general": {
|
|
1814
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/AdvancedSpecialAbilityReference"
|
|
2585
1815
|
}
|
|
2586
1816
|
},
|
|
2587
1817
|
"required": [
|
|
2588
1818
|
"tag",
|
|
2589
|
-
"
|
|
1819
|
+
"general"
|
|
2590
1820
|
],
|
|
2591
1821
|
"additionalProperties": false
|
|
2592
1822
|
},
|
|
@@ -2596,24 +1826,13 @@
|
|
|
2596
1826
|
"tag": {
|
|
2597
1827
|
"const": "RestrictOptions"
|
|
2598
1828
|
},
|
|
2599
|
-
"
|
|
2600
|
-
"
|
|
2601
|
-
"type": "integer",
|
|
2602
|
-
"minimum": 1
|
|
2603
|
-
},
|
|
2604
|
-
"option": {
|
|
2605
|
-
"description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
|
|
2606
|
-
"type": "array",
|
|
2607
|
-
"items": {
|
|
2608
|
-
"$ref": "./_Identifier.schema.json#/definitions/AdvancedSpecialAbilityRestrictedOptionIdentifier"
|
|
2609
|
-
},
|
|
2610
|
-
"minItems": 1
|
|
1829
|
+
"restrict_options": {
|
|
1830
|
+
"$ref": "#/$defs/RestrictAdvancedSpecialAbilityOptions"
|
|
2611
1831
|
}
|
|
2612
1832
|
},
|
|
2613
1833
|
"required": [
|
|
2614
1834
|
"tag",
|
|
2615
|
-
"
|
|
2616
|
-
"option"
|
|
1835
|
+
"restrict_options"
|
|
2617
1836
|
],
|
|
2618
1837
|
"additionalProperties": false
|
|
2619
1838
|
},
|
|
@@ -2623,42 +1842,13 @@
|
|
|
2623
1842
|
"tag": {
|
|
2624
1843
|
"const": "OneOf"
|
|
2625
1844
|
},
|
|
2626
|
-
"
|
|
2627
|
-
"
|
|
2628
|
-
"type": "object",
|
|
2629
|
-
"properties": {
|
|
2630
|
-
"id": {
|
|
2631
|
-
"description": "The advanced special ability's numeric identifier.",
|
|
2632
|
-
"type": "integer",
|
|
2633
|
-
"minimum": 1
|
|
2634
|
-
}
|
|
2635
|
-
},
|
|
2636
|
-
"required": [
|
|
2637
|
-
"id"
|
|
2638
|
-
],
|
|
2639
|
-
"additionalProperties": false
|
|
2640
|
-
},
|
|
2641
|
-
"is_selection_required_on_purchase": {
|
|
2642
|
-
"description": "Do have to choose on when buying the special ability? Otherwise the\ndecision can be made later.",
|
|
2643
|
-
"type": "boolean"
|
|
2644
|
-
},
|
|
2645
|
-
"option": {
|
|
2646
|
-
"description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
|
|
2647
|
-
"type": "array",
|
|
2648
|
-
"items": {
|
|
2649
|
-
"$ref": "./_Identifier.schema.json#/definitions/AdvancedSpecialAbilityRestrictedOptionIdentifier"
|
|
2650
|
-
},
|
|
2651
|
-
"minItems": 1
|
|
2652
|
-
},
|
|
2653
|
-
"display_option": {
|
|
2654
|
-
"$ref": "./prerequisites/DisplayOption.schema.json#/definitions/DisplayOption"
|
|
1845
|
+
"one_of": {
|
|
1846
|
+
"$ref": "#/$defs/OneOfAdvancedSpecialAbilityOptions"
|
|
2655
1847
|
}
|
|
2656
1848
|
},
|
|
2657
1849
|
"required": [
|
|
2658
1850
|
"tag",
|
|
2659
|
-
"
|
|
2660
|
-
"is_selection_required_on_purchase",
|
|
2661
|
-
"option"
|
|
1851
|
+
"one_of"
|
|
2662
1852
|
],
|
|
2663
1853
|
"additionalProperties": false
|
|
2664
1854
|
},
|
|
@@ -2668,88 +1858,124 @@
|
|
|
2668
1858
|
"tag": {
|
|
2669
1859
|
"const": "DeriveFromExternalOption"
|
|
2670
1860
|
},
|
|
2671
|
-
"
|
|
2672
|
-
"
|
|
2673
|
-
"$ref": "#/definitions/AdvancedSpecialAbilityDerivedExternalEntryId"
|
|
2674
|
-
},
|
|
2675
|
-
"mappings": {
|
|
2676
|
-
"type": "array",
|
|
2677
|
-
"items": {
|
|
2678
|
-
"type": "object",
|
|
2679
|
-
"properties": {
|
|
2680
|
-
"from_option": {
|
|
2681
|
-
"description": "The select option's identifier.",
|
|
2682
|
-
"$ref": "#/definitions/AdvancedSpecialAbilityDerivedExternalEntryOptionId"
|
|
2683
|
-
},
|
|
2684
|
-
"to_advanced": {
|
|
2685
|
-
"description": "The advanced special ability's identifier.",
|
|
2686
|
-
"type": "object",
|
|
2687
|
-
"properties": {
|
|
2688
|
-
"id": {
|
|
2689
|
-
"description": "The advanced special ability's numeric identifier.",
|
|
2690
|
-
"type": "integer",
|
|
2691
|
-
"minimum": 1
|
|
2692
|
-
}
|
|
2693
|
-
},
|
|
2694
|
-
"required": [
|
|
2695
|
-
"id"
|
|
2696
|
-
],
|
|
2697
|
-
"additionalProperties": false
|
|
2698
|
-
}
|
|
2699
|
-
},
|
|
2700
|
-
"required": [
|
|
2701
|
-
"from_option",
|
|
2702
|
-
"to_advanced"
|
|
2703
|
-
],
|
|
2704
|
-
"additionalProperties": false
|
|
2705
|
-
},
|
|
2706
|
-
"minItems": 0
|
|
2707
|
-
},
|
|
2708
|
-
"display_option": {
|
|
2709
|
-
"$ref": "./prerequisites/DisplayOption.schema.json#/definitions/DisplayOption"
|
|
2710
|
-
},
|
|
2711
|
-
"is_selection_required_on_purchase": {
|
|
2712
|
-
"description": "Do have to choose on when buying the special ability? Otherwise the\ndecision can be made later.",
|
|
2713
|
-
"type": "boolean"
|
|
2714
|
-
},
|
|
2715
|
-
"option": {
|
|
2716
|
-
"description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
|
|
2717
|
-
"type": "array",
|
|
2718
|
-
"items": {
|
|
2719
|
-
"$ref": "./_Identifier.schema.json#/definitions/AdvancedSpecialAbilityRestrictedOptionIdentifier"
|
|
2720
|
-
},
|
|
2721
|
-
"minItems": 1
|
|
1861
|
+
"derive_from_external_option": {
|
|
1862
|
+
"$ref": "#/$defs/AdvancedSpecialAbilityDerivedFromExternalOption"
|
|
2722
1863
|
}
|
|
2723
1864
|
},
|
|
2724
1865
|
"required": [
|
|
2725
1866
|
"tag",
|
|
2726
|
-
"
|
|
2727
|
-
"mappings",
|
|
2728
|
-
"is_selection_required_on_purchase",
|
|
2729
|
-
"option"
|
|
1867
|
+
"derive_from_external_option"
|
|
2730
1868
|
],
|
|
2731
1869
|
"additionalProperties": false
|
|
2732
1870
|
}
|
|
2733
1871
|
]
|
|
2734
1872
|
},
|
|
1873
|
+
"RestrictAdvancedSpecialAbilityOptions": {
|
|
1874
|
+
"type": "object",
|
|
1875
|
+
"properties": {
|
|
1876
|
+
"id": {
|
|
1877
|
+
"description": "The advanced special ability's numeric identifier.",
|
|
1878
|
+
"type": "integer",
|
|
1879
|
+
"minimum": 1
|
|
1880
|
+
},
|
|
1881
|
+
"option": {
|
|
1882
|
+
"description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
|
|
1883
|
+
"type": "array",
|
|
1884
|
+
"items": {
|
|
1885
|
+
"$ref": "./_Identifier.schema.json#/$defs/AdvancedSpecialAbilityRestrictedOptionIdentifier"
|
|
1886
|
+
},
|
|
1887
|
+
"minItems": 1
|
|
1888
|
+
}
|
|
1889
|
+
},
|
|
1890
|
+
"required": [
|
|
1891
|
+
"id",
|
|
1892
|
+
"option"
|
|
1893
|
+
],
|
|
1894
|
+
"additionalProperties": false
|
|
1895
|
+
},
|
|
1896
|
+
"OneOfAdvancedSpecialAbilityOptions": {
|
|
1897
|
+
"type": "object",
|
|
1898
|
+
"properties": {
|
|
1899
|
+
"options": {
|
|
1900
|
+
"description": "The possible advanced special abilities.",
|
|
1901
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/AdvancedSpecialAbilityReference"
|
|
1902
|
+
},
|
|
1903
|
+
"is_selection_required_on_purchase": {
|
|
1904
|
+
"description": "Do have to choose the advanced special ability when buying the style\nspecial ability? Otherwise the decision can be made later.",
|
|
1905
|
+
"type": "boolean"
|
|
1906
|
+
},
|
|
1907
|
+
"display_option": {
|
|
1908
|
+
"$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
|
|
1909
|
+
}
|
|
1910
|
+
},
|
|
1911
|
+
"required": [
|
|
1912
|
+
"options",
|
|
1913
|
+
"is_selection_required_on_purchase"
|
|
1914
|
+
],
|
|
1915
|
+
"additionalProperties": false
|
|
1916
|
+
},
|
|
1917
|
+
"AdvancedSpecialAbilityDerivedFromExternalOption": {
|
|
1918
|
+
"type": "object",
|
|
1919
|
+
"properties": {
|
|
1920
|
+
"external_entry": {
|
|
1921
|
+
"description": "The possible advanced special abilities.",
|
|
1922
|
+
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
|
|
1923
|
+
},
|
|
1924
|
+
"map": {
|
|
1925
|
+
"description": "Map options from the external entry to allowed advanced special abilities.",
|
|
1926
|
+
"type": "array",
|
|
1927
|
+
"items": {
|
|
1928
|
+
"$ref": "#/$defs/AdvancedSpecialAbilityDerivedFromExternalOptionMapping"
|
|
1929
|
+
},
|
|
1930
|
+
"minItems": 1
|
|
1931
|
+
},
|
|
1932
|
+
"display_option": {
|
|
1933
|
+
"$ref": "./prerequisites/DisplayOption.schema.json#/$defs/DisplayOption"
|
|
1934
|
+
}
|
|
1935
|
+
},
|
|
1936
|
+
"required": [
|
|
1937
|
+
"external_entry",
|
|
1938
|
+
"map"
|
|
1939
|
+
],
|
|
1940
|
+
"additionalProperties": false
|
|
1941
|
+
},
|
|
1942
|
+
"AdvancedSpecialAbilityDerivedFromExternalOptionMapping": {
|
|
1943
|
+
"description": "Mapping from an option of the external entry to an allowed advanced special\nability.",
|
|
1944
|
+
"type": "object",
|
|
1945
|
+
"properties": {
|
|
1946
|
+
"from_option": {
|
|
1947
|
+
"description": "The select option's identifier.",
|
|
1948
|
+
"$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
|
|
1949
|
+
},
|
|
1950
|
+
"to_advanced": {
|
|
1951
|
+
"description": "The advanced special ability's identifier.",
|
|
1952
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/AdvancedSpecialAbilityReference"
|
|
1953
|
+
}
|
|
1954
|
+
},
|
|
1955
|
+
"required": [
|
|
1956
|
+
"from_option",
|
|
1957
|
+
"to_advanced"
|
|
1958
|
+
],
|
|
1959
|
+
"additionalProperties": false
|
|
1960
|
+
},
|
|
2735
1961
|
"AdvancedSpecialAbilityDerivedExternalEntryId": {
|
|
2736
|
-
"$ref": "./_Identifier.schema.json
|
|
1962
|
+
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
|
|
2737
1963
|
},
|
|
2738
1964
|
"AdvancedSpecialAbilityDerivedExternalEntryOptionId": {
|
|
2739
|
-
"$ref": "./_Identifier.schema.json
|
|
1965
|
+
"$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
|
|
2740
1966
|
},
|
|
2741
1967
|
"AdvancedSpecialAbilities": {
|
|
2742
1968
|
"description": "The Advanced Special Abilities for the respective Style Special Ability.\nSometimes, only a specific select option or a set of select options of an\nentry is allowed, which can be modelled by the option property. It can also\nbe that you can choose from a set of special abilities, but then you can't\nspecify an option.",
|
|
2743
1969
|
"type": "array",
|
|
2744
1970
|
"items": [
|
|
2745
1971
|
{
|
|
2746
|
-
"$ref": "
|
|
1972
|
+
"$ref": "#/$defs/AdvancedSpecialAbility"
|
|
2747
1973
|
},
|
|
2748
1974
|
{
|
|
2749
|
-
"$ref": "
|
|
1975
|
+
"$ref": "#/$defs/AdvancedSpecialAbility"
|
|
2750
1976
|
},
|
|
2751
1977
|
{
|
|
2752
|
-
"$ref": "
|
|
1978
|
+
"$ref": "#/$defs/AdvancedSpecialAbility"
|
|
2753
1979
|
}
|
|
2754
1980
|
],
|
|
2755
1981
|
"minItems": 3,
|
|
@@ -2763,10 +1989,17 @@
|
|
|
2763
1989
|
"properties": {
|
|
2764
1990
|
"tag": {
|
|
2765
1991
|
"const": "None"
|
|
1992
|
+
},
|
|
1993
|
+
"none": {
|
|
1994
|
+
"type": "object",
|
|
1995
|
+
"properties": {},
|
|
1996
|
+
"required": [],
|
|
1997
|
+
"additionalProperties": false
|
|
2766
1998
|
}
|
|
2767
1999
|
},
|
|
2768
2000
|
"required": [
|
|
2769
|
-
"tag"
|
|
2001
|
+
"tag",
|
|
2002
|
+
"none"
|
|
2770
2003
|
],
|
|
2771
2004
|
"additionalProperties": false
|
|
2772
2005
|
},
|
|
@@ -2775,10 +2008,17 @@
|
|
|
2775
2008
|
"properties": {
|
|
2776
2009
|
"tag": {
|
|
2777
2010
|
"const": "DependingOnCombatStyle"
|
|
2011
|
+
},
|
|
2012
|
+
"depending_on_combat_style": {
|
|
2013
|
+
"type": "object",
|
|
2014
|
+
"properties": {},
|
|
2015
|
+
"required": [],
|
|
2016
|
+
"additionalProperties": false
|
|
2778
2017
|
}
|
|
2779
2018
|
},
|
|
2780
2019
|
"required": [
|
|
2781
|
-
"tag"
|
|
2020
|
+
"tag",
|
|
2021
|
+
"depending_on_combat_style"
|
|
2782
2022
|
],
|
|
2783
2023
|
"additionalProperties": false
|
|
2784
2024
|
},
|
|
@@ -2788,16 +2028,13 @@
|
|
|
2788
2028
|
"tag": {
|
|
2789
2029
|
"const": "All"
|
|
2790
2030
|
},
|
|
2791
|
-
"
|
|
2792
|
-
"
|
|
2793
|
-
"items": {
|
|
2794
|
-
"$ref": "#/definitions/ApplicableAllCombatTechniquesRestriction"
|
|
2795
|
-
},
|
|
2796
|
-
"minItems": 1
|
|
2031
|
+
"all": {
|
|
2032
|
+
"$ref": "#/$defs/AllApplicableCombatTechniques"
|
|
2797
2033
|
}
|
|
2798
2034
|
},
|
|
2799
2035
|
"required": [
|
|
2800
|
-
"tag"
|
|
2036
|
+
"tag",
|
|
2037
|
+
"all"
|
|
2801
2038
|
],
|
|
2802
2039
|
"additionalProperties": false
|
|
2803
2040
|
},
|
|
@@ -2807,16 +2044,13 @@
|
|
|
2807
2044
|
"tag": {
|
|
2808
2045
|
"const": "AllClose"
|
|
2809
2046
|
},
|
|
2810
|
-
"
|
|
2811
|
-
"
|
|
2812
|
-
"items": {
|
|
2813
|
-
"$ref": "#/definitions/ApplicableCloseCombatTechniquesRestriction"
|
|
2814
|
-
},
|
|
2815
|
-
"minItems": 1
|
|
2047
|
+
"all_close": {
|
|
2048
|
+
"$ref": "#/$defs/AllApplicableCloseCombatTechniques"
|
|
2816
2049
|
}
|
|
2817
2050
|
},
|
|
2818
2051
|
"required": [
|
|
2819
|
-
"tag"
|
|
2052
|
+
"tag",
|
|
2053
|
+
"all_close"
|
|
2820
2054
|
],
|
|
2821
2055
|
"additionalProperties": false
|
|
2822
2056
|
},
|
|
@@ -2826,16 +2060,13 @@
|
|
|
2826
2060
|
"tag": {
|
|
2827
2061
|
"const": "AllRanged"
|
|
2828
2062
|
},
|
|
2829
|
-
"
|
|
2830
|
-
"
|
|
2831
|
-
"items": {
|
|
2832
|
-
"$ref": "#/definitions/ApplicableRangedCombatTechniquesRestriction"
|
|
2833
|
-
},
|
|
2834
|
-
"minItems": 1
|
|
2063
|
+
"all_ranged": {
|
|
2064
|
+
"$ref": "#/$defs/AllApplicableRangedCombatTechniques"
|
|
2835
2065
|
}
|
|
2836
2066
|
},
|
|
2837
2067
|
"required": [
|
|
2838
|
-
"tag"
|
|
2068
|
+
"tag",
|
|
2069
|
+
"all_ranged"
|
|
2839
2070
|
],
|
|
2840
2071
|
"additionalProperties": false
|
|
2841
2072
|
},
|
|
@@ -2845,38 +2076,95 @@
|
|
|
2845
2076
|
"tag": {
|
|
2846
2077
|
"const": "Specific"
|
|
2847
2078
|
},
|
|
2848
|
-
"
|
|
2849
|
-
"
|
|
2850
|
-
"items": {
|
|
2851
|
-
"type": "object",
|
|
2852
|
-
"properties": {
|
|
2853
|
-
"id": {
|
|
2854
|
-
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
2855
|
-
},
|
|
2856
|
-
"restrictions": {
|
|
2857
|
-
"type": "array",
|
|
2858
|
-
"items": {
|
|
2859
|
-
"$ref": "#/definitions/ApplicableSpecificCombatTechniquesRestriction"
|
|
2860
|
-
},
|
|
2861
|
-
"minItems": 1
|
|
2862
|
-
}
|
|
2863
|
-
},
|
|
2864
|
-
"required": [
|
|
2865
|
-
"id"
|
|
2866
|
-
],
|
|
2867
|
-
"additionalProperties": false
|
|
2868
|
-
},
|
|
2869
|
-
"minItems": 1
|
|
2079
|
+
"specific": {
|
|
2080
|
+
"$ref": "#/$defs/SpecificApplicableCombatTechniques"
|
|
2870
2081
|
}
|
|
2871
2082
|
},
|
|
2872
2083
|
"required": [
|
|
2873
2084
|
"tag",
|
|
2874
|
-
"
|
|
2085
|
+
"specific"
|
|
2875
2086
|
],
|
|
2876
2087
|
"additionalProperties": false
|
|
2877
2088
|
}
|
|
2878
2089
|
]
|
|
2879
2090
|
},
|
|
2091
|
+
"AllApplicableCombatTechniques": {
|
|
2092
|
+
"type": "object",
|
|
2093
|
+
"properties": {
|
|
2094
|
+
"restrictions": {
|
|
2095
|
+
"type": "array",
|
|
2096
|
+
"items": {
|
|
2097
|
+
"$ref": "#/$defs/ApplicableAllCombatTechniquesRestriction"
|
|
2098
|
+
},
|
|
2099
|
+
"minItems": 1
|
|
2100
|
+
}
|
|
2101
|
+
},
|
|
2102
|
+
"required": [],
|
|
2103
|
+
"additionalProperties": false
|
|
2104
|
+
},
|
|
2105
|
+
"AllApplicableCloseCombatTechniques": {
|
|
2106
|
+
"type": "object",
|
|
2107
|
+
"properties": {
|
|
2108
|
+
"restrictions": {
|
|
2109
|
+
"type": "array",
|
|
2110
|
+
"items": {
|
|
2111
|
+
"$ref": "#/$defs/ApplicableCloseCombatTechniquesRestriction"
|
|
2112
|
+
},
|
|
2113
|
+
"minItems": 1
|
|
2114
|
+
}
|
|
2115
|
+
},
|
|
2116
|
+
"required": [],
|
|
2117
|
+
"additionalProperties": false
|
|
2118
|
+
},
|
|
2119
|
+
"AllApplicableRangedCombatTechniques": {
|
|
2120
|
+
"type": "object",
|
|
2121
|
+
"properties": {
|
|
2122
|
+
"restrictions": {
|
|
2123
|
+
"type": "array",
|
|
2124
|
+
"items": {
|
|
2125
|
+
"$ref": "#/$defs/ApplicableRangedCombatTechniquesRestriction"
|
|
2126
|
+
},
|
|
2127
|
+
"minItems": 1
|
|
2128
|
+
}
|
|
2129
|
+
},
|
|
2130
|
+
"required": [],
|
|
2131
|
+
"additionalProperties": false
|
|
2132
|
+
},
|
|
2133
|
+
"SpecificApplicableCombatTechniques": {
|
|
2134
|
+
"type": "object",
|
|
2135
|
+
"properties": {
|
|
2136
|
+
"list": {
|
|
2137
|
+
"type": "array",
|
|
2138
|
+
"items": {
|
|
2139
|
+
"$ref": "#/$defs/SpecificApplicableCombatTechnique"
|
|
2140
|
+
},
|
|
2141
|
+
"minItems": 1
|
|
2142
|
+
}
|
|
2143
|
+
},
|
|
2144
|
+
"required": [
|
|
2145
|
+
"list"
|
|
2146
|
+
],
|
|
2147
|
+
"additionalProperties": false
|
|
2148
|
+
},
|
|
2149
|
+
"SpecificApplicableCombatTechnique": {
|
|
2150
|
+
"type": "object",
|
|
2151
|
+
"properties": {
|
|
2152
|
+
"id": {
|
|
2153
|
+
"$ref": "./_Identifier.schema.json#/$defs/CombatTechniqueIdentifier"
|
|
2154
|
+
},
|
|
2155
|
+
"restrictions": {
|
|
2156
|
+
"type": "array",
|
|
2157
|
+
"items": {
|
|
2158
|
+
"$ref": "#/$defs/ApplicableSpecificCombatTechniquesRestriction"
|
|
2159
|
+
},
|
|
2160
|
+
"minItems": 1
|
|
2161
|
+
}
|
|
2162
|
+
},
|
|
2163
|
+
"required": [
|
|
2164
|
+
"id"
|
|
2165
|
+
],
|
|
2166
|
+
"additionalProperties": false
|
|
2167
|
+
},
|
|
2880
2168
|
"ApplicableAllCombatTechniquesRestriction": {
|
|
2881
2169
|
"oneOf": [
|
|
2882
2170
|
{
|
|
@@ -2884,10 +2172,17 @@
|
|
|
2884
2172
|
"properties": {
|
|
2885
2173
|
"tag": {
|
|
2886
2174
|
"const": "Improvised"
|
|
2175
|
+
},
|
|
2176
|
+
"improvised": {
|
|
2177
|
+
"type": "object",
|
|
2178
|
+
"properties": {},
|
|
2179
|
+
"required": [],
|
|
2180
|
+
"additionalProperties": false
|
|
2887
2181
|
}
|
|
2888
2182
|
},
|
|
2889
2183
|
"required": [
|
|
2890
|
-
"tag"
|
|
2184
|
+
"tag",
|
|
2185
|
+
"improvised"
|
|
2891
2186
|
],
|
|
2892
2187
|
"additionalProperties": false
|
|
2893
2188
|
},
|
|
@@ -2896,10 +2191,17 @@
|
|
|
2896
2191
|
"properties": {
|
|
2897
2192
|
"tag": {
|
|
2898
2193
|
"const": "PointedBlade"
|
|
2194
|
+
},
|
|
2195
|
+
"pointed_blade": {
|
|
2196
|
+
"type": "object",
|
|
2197
|
+
"properties": {},
|
|
2198
|
+
"required": [],
|
|
2199
|
+
"additionalProperties": false
|
|
2899
2200
|
}
|
|
2900
2201
|
},
|
|
2901
2202
|
"required": [
|
|
2902
|
-
"tag"
|
|
2203
|
+
"tag",
|
|
2204
|
+
"pointed_blade"
|
|
2903
2205
|
],
|
|
2904
2206
|
"additionalProperties": false
|
|
2905
2207
|
},
|
|
@@ -2908,10 +2210,17 @@
|
|
|
2908
2210
|
"properties": {
|
|
2909
2211
|
"tag": {
|
|
2910
2212
|
"const": "Mount"
|
|
2213
|
+
},
|
|
2214
|
+
"mount": {
|
|
2215
|
+
"type": "object",
|
|
2216
|
+
"properties": {},
|
|
2217
|
+
"required": [],
|
|
2218
|
+
"additionalProperties": false
|
|
2911
2219
|
}
|
|
2912
2220
|
},
|
|
2913
2221
|
"required": [
|
|
2914
|
-
"tag"
|
|
2222
|
+
"tag",
|
|
2223
|
+
"mount"
|
|
2915
2224
|
],
|
|
2916
2225
|
"additionalProperties": false
|
|
2917
2226
|
},
|
|
@@ -2921,15 +2230,13 @@
|
|
|
2921
2230
|
"tag": {
|
|
2922
2231
|
"const": "Race"
|
|
2923
2232
|
},
|
|
2924
|
-
"
|
|
2925
|
-
"
|
|
2926
|
-
"type": "integer",
|
|
2927
|
-
"minimum": 1
|
|
2233
|
+
"race": {
|
|
2234
|
+
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
2928
2235
|
}
|
|
2929
2236
|
},
|
|
2930
2237
|
"required": [
|
|
2931
2238
|
"tag",
|
|
2932
|
-
"
|
|
2239
|
+
"race"
|
|
2933
2240
|
],
|
|
2934
2241
|
"additionalProperties": false
|
|
2935
2242
|
},
|
|
@@ -2939,19 +2246,28 @@
|
|
|
2939
2246
|
"tag": {
|
|
2940
2247
|
"const": "ExcludeCombatTechniques"
|
|
2941
2248
|
},
|
|
2942
|
-
"
|
|
2943
|
-
"
|
|
2944
|
-
"
|
|
2945
|
-
|
|
2946
|
-
|
|
2249
|
+
"exclude_combat_techniques": {
|
|
2250
|
+
"type": "object",
|
|
2251
|
+
"properties": {
|
|
2252
|
+
"list": {
|
|
2253
|
+
"description": "The combat techniques this combat special ability is **not** applicable to.",
|
|
2254
|
+
"type": "array",
|
|
2255
|
+
"items": {
|
|
2256
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/CombatTechniqueReference"
|
|
2257
|
+
},
|
|
2258
|
+
"minItems": 1,
|
|
2259
|
+
"uniqueItems": true
|
|
2260
|
+
}
|
|
2947
2261
|
},
|
|
2948
|
-
"
|
|
2949
|
-
|
|
2262
|
+
"required": [
|
|
2263
|
+
"list"
|
|
2264
|
+
],
|
|
2265
|
+
"additionalProperties": false
|
|
2950
2266
|
}
|
|
2951
2267
|
},
|
|
2952
2268
|
"required": [
|
|
2953
2269
|
"tag",
|
|
2954
|
-
"
|
|
2270
|
+
"exclude_combat_techniques"
|
|
2955
2271
|
],
|
|
2956
2272
|
"additionalProperties": false
|
|
2957
2273
|
}
|
|
@@ -2964,10 +2280,17 @@
|
|
|
2964
2280
|
"properties": {
|
|
2965
2281
|
"tag": {
|
|
2966
2282
|
"const": "Improvised"
|
|
2283
|
+
},
|
|
2284
|
+
"improvised": {
|
|
2285
|
+
"type": "object",
|
|
2286
|
+
"properties": {},
|
|
2287
|
+
"required": [],
|
|
2288
|
+
"additionalProperties": false
|
|
2967
2289
|
}
|
|
2968
2290
|
},
|
|
2969
2291
|
"required": [
|
|
2970
|
-
"tag"
|
|
2292
|
+
"tag",
|
|
2293
|
+
"improvised"
|
|
2971
2294
|
],
|
|
2972
2295
|
"additionalProperties": false
|
|
2973
2296
|
},
|
|
@@ -2976,10 +2299,17 @@
|
|
|
2976
2299
|
"properties": {
|
|
2977
2300
|
"tag": {
|
|
2978
2301
|
"const": "PointedBlade"
|
|
2302
|
+
},
|
|
2303
|
+
"pointed_blade": {
|
|
2304
|
+
"type": "object",
|
|
2305
|
+
"properties": {},
|
|
2306
|
+
"required": [],
|
|
2307
|
+
"additionalProperties": false
|
|
2979
2308
|
}
|
|
2980
2309
|
},
|
|
2981
2310
|
"required": [
|
|
2982
|
-
"tag"
|
|
2311
|
+
"tag",
|
|
2312
|
+
"pointed_blade"
|
|
2983
2313
|
],
|
|
2984
2314
|
"additionalProperties": false
|
|
2985
2315
|
},
|
|
@@ -2988,10 +2318,17 @@
|
|
|
2988
2318
|
"properties": {
|
|
2989
2319
|
"tag": {
|
|
2990
2320
|
"const": "Mount"
|
|
2321
|
+
},
|
|
2322
|
+
"mount": {
|
|
2323
|
+
"type": "object",
|
|
2324
|
+
"properties": {},
|
|
2325
|
+
"required": [],
|
|
2326
|
+
"additionalProperties": false
|
|
2991
2327
|
}
|
|
2992
2328
|
},
|
|
2993
2329
|
"required": [
|
|
2994
|
-
"tag"
|
|
2330
|
+
"tag",
|
|
2331
|
+
"mount"
|
|
2995
2332
|
],
|
|
2996
2333
|
"additionalProperties": false
|
|
2997
2334
|
},
|
|
@@ -3000,10 +2337,17 @@
|
|
|
3000
2337
|
"properties": {
|
|
3001
2338
|
"tag": {
|
|
3002
2339
|
"const": "HasParry"
|
|
2340
|
+
},
|
|
2341
|
+
"has_parry": {
|
|
2342
|
+
"type": "object",
|
|
2343
|
+
"properties": {},
|
|
2344
|
+
"required": [],
|
|
2345
|
+
"additionalProperties": false
|
|
3003
2346
|
}
|
|
3004
2347
|
},
|
|
3005
2348
|
"required": [
|
|
3006
|
-
"tag"
|
|
2349
|
+
"tag",
|
|
2350
|
+
"has_parry"
|
|
3007
2351
|
],
|
|
3008
2352
|
"additionalProperties": false
|
|
3009
2353
|
},
|
|
@@ -3012,10 +2356,17 @@
|
|
|
3012
2356
|
"properties": {
|
|
3013
2357
|
"tag": {
|
|
3014
2358
|
"const": "OneHanded"
|
|
2359
|
+
},
|
|
2360
|
+
"one_handed": {
|
|
2361
|
+
"type": "object",
|
|
2362
|
+
"properties": {},
|
|
2363
|
+
"required": [],
|
|
2364
|
+
"additionalProperties": false
|
|
3015
2365
|
}
|
|
3016
2366
|
},
|
|
3017
2367
|
"required": [
|
|
3018
|
-
"tag"
|
|
2368
|
+
"tag",
|
|
2369
|
+
"one_handed"
|
|
3019
2370
|
],
|
|
3020
2371
|
"additionalProperties": false
|
|
3021
2372
|
},
|
|
@@ -3024,10 +2375,17 @@
|
|
|
3024
2375
|
"properties": {
|
|
3025
2376
|
"tag": {
|
|
3026
2377
|
"const": "ParryingWeapon"
|
|
2378
|
+
},
|
|
2379
|
+
"parrying_weapon": {
|
|
2380
|
+
"type": "object",
|
|
2381
|
+
"properties": {},
|
|
2382
|
+
"required": [],
|
|
2383
|
+
"additionalProperties": false
|
|
3027
2384
|
}
|
|
3028
2385
|
},
|
|
3029
2386
|
"required": [
|
|
3030
|
-
"tag"
|
|
2387
|
+
"tag",
|
|
2388
|
+
"parrying_weapon"
|
|
3031
2389
|
],
|
|
3032
2390
|
"additionalProperties": false
|
|
3033
2391
|
},
|
|
@@ -3037,15 +2395,13 @@
|
|
|
3037
2395
|
"tag": {
|
|
3038
2396
|
"const": "Race"
|
|
3039
2397
|
},
|
|
3040
|
-
"
|
|
3041
|
-
"
|
|
3042
|
-
"type": "integer",
|
|
3043
|
-
"minimum": 1
|
|
2398
|
+
"race": {
|
|
2399
|
+
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
3044
2400
|
}
|
|
3045
2401
|
},
|
|
3046
2402
|
"required": [
|
|
3047
2403
|
"tag",
|
|
3048
|
-
"
|
|
2404
|
+
"race"
|
|
3049
2405
|
],
|
|
3050
2406
|
"additionalProperties": false
|
|
3051
2407
|
},
|
|
@@ -3055,30 +2411,28 @@
|
|
|
3055
2411
|
"tag": {
|
|
3056
2412
|
"const": "ExcludeCombatTechniques"
|
|
3057
2413
|
},
|
|
3058
|
-
"
|
|
3059
|
-
"
|
|
3060
|
-
"
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
"
|
|
3065
|
-
"
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
}
|
|
3070
|
-
"required": [
|
|
3071
|
-
"id"
|
|
3072
|
-
],
|
|
3073
|
-
"additionalProperties": false
|
|
2414
|
+
"exclude_combat_techniques": {
|
|
2415
|
+
"type": "object",
|
|
2416
|
+
"properties": {
|
|
2417
|
+
"list": {
|
|
2418
|
+
"description": "The combat techniques this combat special ability is **not** applicable to.",
|
|
2419
|
+
"type": "array",
|
|
2420
|
+
"items": {
|
|
2421
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/CloseCombatTechniqueReference"
|
|
2422
|
+
},
|
|
2423
|
+
"minItems": 1,
|
|
2424
|
+
"uniqueItems": true
|
|
2425
|
+
}
|
|
3074
2426
|
},
|
|
3075
|
-
"
|
|
3076
|
-
|
|
2427
|
+
"required": [
|
|
2428
|
+
"list"
|
|
2429
|
+
],
|
|
2430
|
+
"additionalProperties": false
|
|
3077
2431
|
}
|
|
3078
2432
|
},
|
|
3079
2433
|
"required": [
|
|
3080
2434
|
"tag",
|
|
3081
|
-
"
|
|
2435
|
+
"exclude_combat_techniques"
|
|
3082
2436
|
],
|
|
3083
2437
|
"additionalProperties": false
|
|
3084
2438
|
}
|
|
@@ -3091,10 +2445,17 @@
|
|
|
3091
2445
|
"properties": {
|
|
3092
2446
|
"tag": {
|
|
3093
2447
|
"const": "Improvised"
|
|
2448
|
+
},
|
|
2449
|
+
"improvised": {
|
|
2450
|
+
"type": "object",
|
|
2451
|
+
"properties": {},
|
|
2452
|
+
"required": [],
|
|
2453
|
+
"additionalProperties": false
|
|
3094
2454
|
}
|
|
3095
2455
|
},
|
|
3096
2456
|
"required": [
|
|
3097
|
-
"tag"
|
|
2457
|
+
"tag",
|
|
2458
|
+
"improvised"
|
|
3098
2459
|
],
|
|
3099
2460
|
"additionalProperties": false
|
|
3100
2461
|
},
|
|
@@ -3103,10 +2464,17 @@
|
|
|
3103
2464
|
"properties": {
|
|
3104
2465
|
"tag": {
|
|
3105
2466
|
"const": "PointedBlade"
|
|
2467
|
+
},
|
|
2468
|
+
"pointed_blade": {
|
|
2469
|
+
"type": "object",
|
|
2470
|
+
"properties": {},
|
|
2471
|
+
"required": [],
|
|
2472
|
+
"additionalProperties": false
|
|
3106
2473
|
}
|
|
3107
2474
|
},
|
|
3108
2475
|
"required": [
|
|
3109
|
-
"tag"
|
|
2476
|
+
"tag",
|
|
2477
|
+
"pointed_blade"
|
|
3110
2478
|
],
|
|
3111
2479
|
"additionalProperties": false
|
|
3112
2480
|
},
|
|
@@ -3115,10 +2483,17 @@
|
|
|
3115
2483
|
"properties": {
|
|
3116
2484
|
"tag": {
|
|
3117
2485
|
"const": "Mount"
|
|
2486
|
+
},
|
|
2487
|
+
"mount": {
|
|
2488
|
+
"type": "object",
|
|
2489
|
+
"properties": {},
|
|
2490
|
+
"required": [],
|
|
2491
|
+
"additionalProperties": false
|
|
3118
2492
|
}
|
|
3119
2493
|
},
|
|
3120
2494
|
"required": [
|
|
3121
|
-
"tag"
|
|
2495
|
+
"tag",
|
|
2496
|
+
"mount"
|
|
3122
2497
|
],
|
|
3123
2498
|
"additionalProperties": false
|
|
3124
2499
|
},
|
|
@@ -3128,15 +2503,13 @@
|
|
|
3128
2503
|
"tag": {
|
|
3129
2504
|
"const": "Race"
|
|
3130
2505
|
},
|
|
3131
|
-
"
|
|
3132
|
-
"
|
|
3133
|
-
"type": "integer",
|
|
3134
|
-
"minimum": 1
|
|
2506
|
+
"race": {
|
|
2507
|
+
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
3135
2508
|
}
|
|
3136
2509
|
},
|
|
3137
2510
|
"required": [
|
|
3138
2511
|
"tag",
|
|
3139
|
-
"
|
|
2512
|
+
"race"
|
|
3140
2513
|
],
|
|
3141
2514
|
"additionalProperties": false
|
|
3142
2515
|
},
|
|
@@ -3146,30 +2519,28 @@
|
|
|
3146
2519
|
"tag": {
|
|
3147
2520
|
"const": "ExcludeCombatTechniques"
|
|
3148
2521
|
},
|
|
3149
|
-
"
|
|
3150
|
-
"
|
|
3151
|
-
"
|
|
3152
|
-
|
|
3153
|
-
|
|
3154
|
-
|
|
3155
|
-
"
|
|
3156
|
-
"
|
|
3157
|
-
|
|
3158
|
-
|
|
3159
|
-
|
|
3160
|
-
}
|
|
3161
|
-
"required": [
|
|
3162
|
-
"id"
|
|
3163
|
-
],
|
|
3164
|
-
"additionalProperties": false
|
|
2522
|
+
"exclude_combat_techniques": {
|
|
2523
|
+
"type": "object",
|
|
2524
|
+
"properties": {
|
|
2525
|
+
"list": {
|
|
2526
|
+
"description": "The combat techniques this combat special ability is **not** applicable to.",
|
|
2527
|
+
"type": "array",
|
|
2528
|
+
"items": {
|
|
2529
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/RangedCombatTechniqueReference"
|
|
2530
|
+
},
|
|
2531
|
+
"minItems": 1,
|
|
2532
|
+
"uniqueItems": true
|
|
2533
|
+
}
|
|
3165
2534
|
},
|
|
3166
|
-
"
|
|
3167
|
-
|
|
2535
|
+
"required": [
|
|
2536
|
+
"list"
|
|
2537
|
+
],
|
|
2538
|
+
"additionalProperties": false
|
|
3168
2539
|
}
|
|
3169
2540
|
},
|
|
3170
2541
|
"required": [
|
|
3171
2542
|
"tag",
|
|
3172
|
-
"
|
|
2543
|
+
"exclude_combat_techniques"
|
|
3173
2544
|
],
|
|
3174
2545
|
"additionalProperties": false
|
|
3175
2546
|
}
|
|
@@ -3182,10 +2553,17 @@
|
|
|
3182
2553
|
"properties": {
|
|
3183
2554
|
"tag": {
|
|
3184
2555
|
"const": "Improvised"
|
|
2556
|
+
},
|
|
2557
|
+
"improvised": {
|
|
2558
|
+
"type": "object",
|
|
2559
|
+
"properties": {},
|
|
2560
|
+
"required": [],
|
|
2561
|
+
"additionalProperties": false
|
|
3185
2562
|
}
|
|
3186
2563
|
},
|
|
3187
2564
|
"required": [
|
|
3188
|
-
"tag"
|
|
2565
|
+
"tag",
|
|
2566
|
+
"improvised"
|
|
3189
2567
|
],
|
|
3190
2568
|
"additionalProperties": false
|
|
3191
2569
|
},
|
|
@@ -3194,10 +2572,17 @@
|
|
|
3194
2572
|
"properties": {
|
|
3195
2573
|
"tag": {
|
|
3196
2574
|
"const": "PointedBlade"
|
|
2575
|
+
},
|
|
2576
|
+
"pointed_blade": {
|
|
2577
|
+
"type": "object",
|
|
2578
|
+
"properties": {},
|
|
2579
|
+
"required": [],
|
|
2580
|
+
"additionalProperties": false
|
|
3197
2581
|
}
|
|
3198
2582
|
},
|
|
3199
2583
|
"required": [
|
|
3200
|
-
"tag"
|
|
2584
|
+
"tag",
|
|
2585
|
+
"pointed_blade"
|
|
3201
2586
|
],
|
|
3202
2587
|
"additionalProperties": false
|
|
3203
2588
|
},
|
|
@@ -3206,10 +2591,17 @@
|
|
|
3206
2591
|
"properties": {
|
|
3207
2592
|
"tag": {
|
|
3208
2593
|
"const": "Mount"
|
|
2594
|
+
},
|
|
2595
|
+
"mount": {
|
|
2596
|
+
"type": "object",
|
|
2597
|
+
"properties": {},
|
|
2598
|
+
"required": [],
|
|
2599
|
+
"additionalProperties": false
|
|
3209
2600
|
}
|
|
3210
2601
|
},
|
|
3211
2602
|
"required": [
|
|
3212
|
-
"tag"
|
|
2603
|
+
"tag",
|
|
2604
|
+
"mount"
|
|
3213
2605
|
],
|
|
3214
2606
|
"additionalProperties": false
|
|
3215
2607
|
},
|
|
@@ -3219,15 +2611,13 @@
|
|
|
3219
2611
|
"tag": {
|
|
3220
2612
|
"const": "Race"
|
|
3221
2613
|
},
|
|
3222
|
-
"
|
|
3223
|
-
"
|
|
3224
|
-
"type": "integer",
|
|
3225
|
-
"minimum": 1
|
|
2614
|
+
"race": {
|
|
2615
|
+
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
3226
2616
|
}
|
|
3227
2617
|
},
|
|
3228
2618
|
"required": [
|
|
3229
2619
|
"tag",
|
|
3230
|
-
"
|
|
2620
|
+
"race"
|
|
3231
2621
|
],
|
|
3232
2622
|
"additionalProperties": false
|
|
3233
2623
|
},
|
|
@@ -3238,9 +2628,7 @@
|
|
|
3238
2628
|
"const": "Level"
|
|
3239
2629
|
},
|
|
3240
2630
|
"level": {
|
|
3241
|
-
"
|
|
3242
|
-
"type": "integer",
|
|
3243
|
-
"minimum": 1
|
|
2631
|
+
"$ref": "#/$defs/ApplicableCombatTechniquesLevelRestriction"
|
|
3244
2632
|
}
|
|
3245
2633
|
},
|
|
3246
2634
|
"required": [
|
|
@@ -3255,91 +2643,54 @@
|
|
|
3255
2643
|
"tag": {
|
|
3256
2644
|
"const": "Weapons"
|
|
3257
2645
|
},
|
|
3258
|
-
"
|
|
3259
|
-
"
|
|
3260
|
-
"type": "array",
|
|
3261
|
-
"items": {
|
|
3262
|
-
"type": "object",
|
|
3263
|
-
"properties": {
|
|
3264
|
-
"id": {
|
|
3265
|
-
"description": "The weapon's numeric identifier.",
|
|
3266
|
-
"type": "integer",
|
|
3267
|
-
"minimum": 1
|
|
3268
|
-
}
|
|
3269
|
-
},
|
|
3270
|
-
"required": [
|
|
3271
|
-
"id"
|
|
3272
|
-
],
|
|
3273
|
-
"additionalProperties": false
|
|
3274
|
-
},
|
|
3275
|
-
"minItems": 1,
|
|
3276
|
-
"uniqueItems": true
|
|
2646
|
+
"weapons": {
|
|
2647
|
+
"$ref": "#/$defs/ApplicableCombatTechniquesWeaponRestriction"
|
|
3277
2648
|
}
|
|
3278
2649
|
},
|
|
3279
2650
|
"required": [
|
|
3280
2651
|
"tag",
|
|
3281
|
-
"
|
|
2652
|
+
"weapons"
|
|
3282
2653
|
],
|
|
3283
2654
|
"additionalProperties": false
|
|
3284
2655
|
}
|
|
3285
2656
|
]
|
|
3286
2657
|
},
|
|
3287
|
-
"
|
|
3288
|
-
"
|
|
3289
|
-
|
|
3290
|
-
|
|
3291
|
-
|
|
3292
|
-
|
|
3293
|
-
|
|
3294
|
-
|
|
3295
|
-
|
|
3296
|
-
|
|
3297
|
-
|
|
3298
|
-
|
|
3299
|
-
|
|
3300
|
-
|
|
3301
|
-
|
|
3302
|
-
|
|
3303
|
-
|
|
3304
|
-
|
|
3305
|
-
|
|
3306
|
-
|
|
3307
|
-
|
|
3308
|
-
"
|
|
3309
|
-
|
|
3310
|
-
|
|
3311
|
-
|
|
3312
|
-
"values": {
|
|
3313
|
-
"description": "An entry with levels may have different costs for each level. The length\nof the list must match the amount of levels the special ability has.",
|
|
3314
|
-
"type": "array",
|
|
3315
|
-
"items": {
|
|
3316
|
-
"$ref": "#/definitions/AdventurePointsSingleValue"
|
|
3317
|
-
},
|
|
3318
|
-
"minItems": 2
|
|
3319
|
-
}
|
|
3320
|
-
},
|
|
3321
|
-
"required": [
|
|
3322
|
-
"tag",
|
|
3323
|
-
"values"
|
|
3324
|
-
],
|
|
3325
|
-
"additionalProperties": false
|
|
3326
|
-
},
|
|
3327
|
-
{
|
|
3328
|
-
"type": "object",
|
|
3329
|
-
"properties": {
|
|
3330
|
-
"tag": {
|
|
3331
|
-
"description": "Used if AP value is defined by the selected option(s) or special rules.",
|
|
3332
|
-
"const": "Indefinite"
|
|
3333
|
-
}
|
|
2658
|
+
"ApplicableCombatTechniquesRaceRestriction": {
|
|
2659
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/RaceReference"
|
|
2660
|
+
},
|
|
2661
|
+
"ApplicableCombatTechniquesLevelRestriction": {
|
|
2662
|
+
"type": "object",
|
|
2663
|
+
"properties": {
|
|
2664
|
+
"level": {
|
|
2665
|
+
"description": "The combat special ability is only applicable on a certain level.",
|
|
2666
|
+
"type": "integer",
|
|
2667
|
+
"minimum": 1
|
|
2668
|
+
}
|
|
2669
|
+
},
|
|
2670
|
+
"required": [
|
|
2671
|
+
"level"
|
|
2672
|
+
],
|
|
2673
|
+
"additionalProperties": false
|
|
2674
|
+
},
|
|
2675
|
+
"ApplicableCombatTechniquesWeaponRestriction": {
|
|
2676
|
+
"type": "object",
|
|
2677
|
+
"properties": {
|
|
2678
|
+
"list": {
|
|
2679
|
+
"description": "The specific weapons this combat special ability is only applicable to.",
|
|
2680
|
+
"type": "array",
|
|
2681
|
+
"items": {
|
|
2682
|
+
"$ref": "./_SimpleReferences.schema.json#/$defs/WeaponReference"
|
|
3334
2683
|
},
|
|
3335
|
-
"
|
|
3336
|
-
|
|
3337
|
-
],
|
|
3338
|
-
"additionalProperties": false
|
|
2684
|
+
"minItems": 1,
|
|
2685
|
+
"uniqueItems": true
|
|
3339
2686
|
}
|
|
3340
|
-
|
|
2687
|
+
},
|
|
2688
|
+
"required": [
|
|
2689
|
+
"list"
|
|
2690
|
+
],
|
|
2691
|
+
"additionalProperties": false
|
|
3341
2692
|
},
|
|
3342
|
-
"
|
|
2693
|
+
"AdventurePointsValue": {
|
|
3343
2694
|
"oneOf": [
|
|
3344
2695
|
{
|
|
3345
2696
|
"type": "object",
|
|
@@ -3347,18 +2698,13 @@
|
|
|
3347
2698
|
"tag": {
|
|
3348
2699
|
"const": "Fixed"
|
|
3349
2700
|
},
|
|
3350
|
-
"
|
|
3351
|
-
"
|
|
3352
|
-
"$ref": "#/definitions/AdventurePointsSingleValue"
|
|
3353
|
-
},
|
|
3354
|
-
"does_not_contribute_to_maximum": {
|
|
3355
|
-
"description": "The AP Value of the entry does not contribute to the AP maximum for\nadvantages or disadvantages, so it may also be bought if the maximum has\nalready been reached.",
|
|
3356
|
-
"const": true
|
|
2701
|
+
"fixed": {
|
|
2702
|
+
"$ref": "#/$defs/FixedAdventurePointsValue"
|
|
3357
2703
|
}
|
|
3358
2704
|
},
|
|
3359
2705
|
"required": [
|
|
3360
2706
|
"tag",
|
|
3361
|
-
"
|
|
2707
|
+
"fixed"
|
|
3362
2708
|
],
|
|
3363
2709
|
"additionalProperties": false
|
|
3364
2710
|
},
|
|
@@ -3368,22 +2714,13 @@
|
|
|
3368
2714
|
"tag": {
|
|
3369
2715
|
"const": "ByLevel"
|
|
3370
2716
|
},
|
|
3371
|
-
"
|
|
3372
|
-
"
|
|
3373
|
-
"type": "array",
|
|
3374
|
-
"items": {
|
|
3375
|
-
"$ref": "#/definitions/AdventurePointsSingleValue"
|
|
3376
|
-
},
|
|
3377
|
-
"minItems": 2
|
|
3378
|
-
},
|
|
3379
|
-
"does_not_contribute_to_maximum": {
|
|
3380
|
-
"description": "The AP Value of the entry does not contribute to the AP maximum for\nadvantages or disadvantages, so it may also be bought if the maximum has\nalready been reached.",
|
|
3381
|
-
"const": true
|
|
2717
|
+
"by_level": {
|
|
2718
|
+
"$ref": "#/$defs/AdventurePointsValueByLevel"
|
|
3382
2719
|
}
|
|
3383
2720
|
},
|
|
3384
2721
|
"required": [
|
|
3385
2722
|
"tag",
|
|
3386
|
-
"
|
|
2723
|
+
"by_level"
|
|
3387
2724
|
],
|
|
3388
2725
|
"additionalProperties": false
|
|
3389
2726
|
},
|
|
@@ -3391,21 +2728,35 @@
|
|
|
3391
2728
|
"type": "object",
|
|
3392
2729
|
"properties": {
|
|
3393
2730
|
"tag": {
|
|
3394
|
-
"description": "Used if AP value is defined by the selected option(s) or special rules.",
|
|
3395
2731
|
"const": "Indefinite"
|
|
3396
2732
|
},
|
|
3397
|
-
"
|
|
3398
|
-
"
|
|
3399
|
-
"
|
|
2733
|
+
"indefinite": {
|
|
2734
|
+
"type": "object",
|
|
2735
|
+
"properties": {},
|
|
2736
|
+
"required": [],
|
|
2737
|
+
"additionalProperties": false
|
|
3400
2738
|
}
|
|
3401
2739
|
},
|
|
3402
2740
|
"required": [
|
|
3403
|
-
"tag"
|
|
2741
|
+
"tag",
|
|
2742
|
+
"indefinite"
|
|
3404
2743
|
],
|
|
3405
2744
|
"additionalProperties": false
|
|
3406
2745
|
}
|
|
3407
2746
|
]
|
|
3408
2747
|
},
|
|
2748
|
+
"FixedAdventurePointsValue": {
|
|
2749
|
+
"description": "A fixed adventure points value. If the entry has levels, this is the cost per\nlevel as well.",
|
|
2750
|
+
"$ref": "#/$defs/AdventurePointsSingleValue"
|
|
2751
|
+
},
|
|
2752
|
+
"AdventurePointsValueByLevel": {
|
|
2753
|
+
"description": "An entry with levels may have different costs for each level. The length of\nthe list must match the amount of levels the special ability has.",
|
|
2754
|
+
"type": "array",
|
|
2755
|
+
"items": {
|
|
2756
|
+
"$ref": "#/$defs/AdventurePointsSingleValue"
|
|
2757
|
+
},
|
|
2758
|
+
"minItems": 2
|
|
2759
|
+
},
|
|
3409
2760
|
"AdventurePointsSingleValue": {
|
|
3410
2761
|
"description": "A single adventure points value.",
|
|
3411
2762
|
"type": "integer",
|