optolith-database-schema 0.40.0 → 0.41.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 +41 -0
- package/README.md +1 -1
- package/gen/types.d.ts +1705 -1606
- package/lib/types/DerivedCharacteristic.d.ts +23 -14
- package/lib/types/DerivedCharacteristic.js +58 -21
- package/lib/types/Disease.d.ts +2 -0
- package/lib/types/Disease.js +8 -0
- package/lib/types/Profession.d.ts +31 -14
- package/lib/types/Profession.js +12 -2
- package/lib/types/Race.d.ts +22 -15
- package/lib/types/Race.js +26 -20
- package/lib/types/Talisman.d.ts +32 -6
- package/lib/types/Talisman.js +51 -11
- package/lib/types/_Identifier.d.ts +1 -0
- package/lib/types/_Identifier.js +2 -0
- package/lib/types/_IdentifierGroup.d.ts +58 -0
- package/lib/types/_IdentifierGroup.js +15 -1
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +5 -2
- package/lib/types/equipment/item/CeremonialItem.d.ts +6 -3
- package/lib/types/equipment/item/CeremonialItem.js +1 -1
- package/lib/types/equipment/item/Clothes.d.ts +5 -2
- package/lib/types/equipment/item/Container.d.ts +5 -2
- package/lib/types/equipment/item/Elixir.d.ts +16 -1
- package/lib/types/equipment/item/Elixir.js +35 -5
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +5 -2
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +5 -2
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +5 -2
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +5 -2
- package/lib/types/equipment/item/LuxuryGood.d.ts +5 -2
- package/lib/types/equipment/item/MagicalArtifact.d.ts +5 -2
- package/lib/types/equipment/item/MusicalInstrument.d.ts +5 -2
- package/lib/types/equipment/item/OrienteeringAid.d.ts +5 -2
- package/lib/types/equipment/item/Poison.d.ts +64 -91
- package/lib/types/equipment/item/Poison.js +5 -34
- package/lib/types/equipment/item/RopeOrChain.d.ts +5 -2
- package/lib/types/equipment/item/Stationery.d.ts +5 -2
- package/lib/types/equipment/item/ThievesTool.d.ts +5 -2
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +5 -2
- package/lib/types/equipment/item/Weapon.d.ts +10 -4
- package/lib/types/equipment/item/WeaponAccessory.d.ts +5 -2
- package/lib/types/equipment/item/_Herbary.d.ts +31 -0
- package/lib/types/equipment/item/_Herbary.js +9 -0
- package/lib/types/equipment/item/_Item.d.ts +10 -4
- package/lib/types/equipment/item/_MeleeWeapon.d.ts +2 -2
- package/lib/types/equipment/item/_MeleeWeapon.js +1 -1
- package/lib/types/equipment/item/_RangedWeapon.d.ts +8 -2
- package/lib/types/equipment/item/_RangedWeapon.js +2 -2
- package/lib/types/equipment/item/sub/Reach.d.ts +1 -0
- package/lib/types/equipment/item/sub/Reach.js +7 -0
- package/lib/types/magicalActions/MagicalMelody.d.ts +15 -0
- package/lib/types/magicalActions/MagicalMelody.js +5 -0
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +132 -0
- package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
- package/package.json +7 -7
- package/schema/Advantage.schema.json +0 -108
- package/schema/AnimalDisease.schema.json +0 -74
- package/schema/AnimalType.schema.json +0 -47
- package/schema/ArcaneBardTradition.schema.json +0 -11
- package/schema/ArcaneDancerTradition.schema.json +0 -11
- package/schema/Aspect.schema.json +0 -51
- package/schema/Attribute.schema.json +0 -57
- package/schema/Blessing.schema.json +0 -265
- package/schema/Cantrip.schema.json +0 -443
- package/schema/Ceremony.schema.json +0 -122
- package/schema/CombatTechnique_Close.schema.json +0 -116
- package/schema/CombatTechnique_Ranged.schema.json +0 -99
- package/schema/Condition.schema.json +0 -68
- package/schema/Continent.schema.json +0 -49
- package/schema/Culture.schema.json +0 -781
- package/schema/DerivedCharacteristic.schema.json +0 -90
- package/schema/Disadvantage.schema.json +0 -97
- package/schema/Disease.schema.json +0 -58
- package/schema/Element.schema.json +0 -48
- package/schema/ExperienceLevel.schema.json +0 -84
- package/schema/EyeColor.schema.json +0 -47
- package/schema/FamiliarsTrick.schema.json +0 -576
- package/schema/HairColor.schema.json +0 -47
- package/schema/Kirchenpraegung.schema.json +0 -11
- package/schema/Lessons_Curriculum.schema.json +0 -499
- package/schema/Lessons_Guideline.schema.json +0 -53
- package/schema/LiturgicalChant.schema.json +0 -122
- package/schema/Locale.schema.json +0 -38
- package/schema/MetaCondition.schema.json +0 -69
- package/schema/PactCategory.schema.json +0 -150
- package/schema/Patron.schema.json +0 -352
- package/schema/PatronCategory.schema.json +0 -57
- package/schema/PersonalityTrait.schema.json +0 -100
- package/schema/Profession.schema.json +0 -1424
- package/schema/Property.schema.json +0 -51
- package/schema/Race.schema.json +0 -534
- package/schema/Region.schema.json +0 -47
- package/schema/Ritual.schema.json +0 -120
- package/schema/Service.schema.json +0 -79
- package/schema/SexPractice.schema.json +0 -70
- package/schema/Skill.schema.json +0 -223
- package/schema/SkillGroup.schema.json +0 -57
- package/schema/SkillModificationLevel.schema.json +0 -153
- package/schema/SocialStatus.schema.json +0 -47
- package/schema/Spell.schema.json +0 -119
- package/schema/State.schema.json +0 -59
- package/schema/Talisman.schema.json +0 -120
- package/schema/TargetCategory.schema.json +0 -65
- package/schema/UI.schema.json +0 -4441
- package/schema/_Activatable.schema.json +0 -2755
- package/schema/_ActivatableSelectOptionCategory.schema.json +0 -1313
- package/schema/_ActivatableSkill.schema.json +0 -188
- package/schema/_ActivatableSkillCastingTime.schema.json +0 -181
- package/schema/_ActivatableSkillCheckResultBased.schema.json +0 -65
- package/schema/_ActivatableSkillCost.schema.json +0 -513
- package/schema/_ActivatableSkillDuration.schema.json +0 -353
- package/schema/_ActivatableSkillEffect.schema.json +0 -122
- package/schema/_ActivatableSkillRange.schema.json +0 -264
- package/schema/_ActivatableSkillTargetCategory.schema.json +0 -145
- package/schema/_AlternativeNames.schema.json +0 -23
- package/schema/_ArcaneTradition.schema.json +0 -51
- package/schema/_Blessed.schema.json +0 -64
- package/schema/_Dice.schema.json +0 -40
- package/schema/_DiseasePoison.schema.json +0 -152
- package/schema/_Enhancements.schema.json +0 -85
- package/schema/_I18n.schema.json +0 -55
- package/schema/_Identifier.schema.json +0 -2577
- package/schema/_IdentifierGroup.schema.json +0 -753
- package/schema/_ImprovementCost.schema.json +0 -23
- package/schema/_Influence.schema.json +0 -84
- package/schema/_NonEmptyString.schema.json +0 -14
- package/schema/_Prerequisite.schema.json +0 -1518
- package/schema/_ResponsiveText.schema.json +0 -66
- package/schema/_Sex.schema.json +0 -18
- package/schema/_SimpleReferences.schema.json +0 -522
- package/schema/_SkillCheck.schema.json +0 -38
- package/schema/_Spellwork.schema.json +0 -54
- package/schema/equipment/EquipmentPackage.schema.json +0 -79
- package/schema/equipment/item/Ammunition.schema.json +0 -56
- package/schema/equipment/item/Animal.schema.json +0 -36
- package/schema/equipment/item/AnimalCare.schema.json +0 -124
- package/schema/equipment/item/Armor.schema.json +0 -309
- package/schema/equipment/item/BandageOrRemedy.schema.json +0 -53
- package/schema/equipment/item/Book.schema.json +0 -89
- package/schema/equipment/item/CeremonialItem.schema.json +0 -59
- package/schema/equipment/item/Clothes.schema.json +0 -10
- package/schema/equipment/item/Container.schema.json +0 -10
- package/schema/equipment/item/Elixir.schema.json +0 -103
- package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +0 -49
- package/schema/equipment/item/GemOrPreciousStone.schema.json +0 -69
- package/schema/equipment/item/IlluminationLightSource.schema.json +0 -120
- package/schema/equipment/item/IlluminationRefillsOrSupplies.schema.json +0 -10
- package/schema/equipment/item/Jewelry.schema.json +0 -113
- package/schema/equipment/item/Liebesspielzeug.schema.json +0 -10
- package/schema/equipment/item/LuxuryGood.schema.json +0 -53
- package/schema/equipment/item/MagicalArtifact.schema.json +0 -64
- package/schema/equipment/item/MusicalInstrument.schema.json +0 -49
- package/schema/equipment/item/OrienteeringAid.schema.json +0 -10
- package/schema/equipment/item/Poison.schema.json +0 -835
- package/schema/equipment/item/RopeOrChain.schema.json +0 -10
- package/schema/equipment/item/Stationary.schema.json +0 -10
- package/schema/equipment/item/ThievesTool.schema.json +0 -10
- package/schema/equipment/item/ToolOfTheTrade.schema.json +0 -93
- package/schema/equipment/item/TravelGearOrTool.schema.json +0 -10
- package/schema/equipment/item/Vehicle.schema.json +0 -36
- package/schema/equipment/item/Weapon.schema.json +0 -285
- package/schema/equipment/item/WeaponAccessory.schema.json +0 -10
- package/schema/equipment/item/_Herbary.schema.json +0 -62
- package/schema/equipment/item/_Item.schema.json +0 -384
- package/schema/equipment/item/_MeleeWeapon.schema.json +0 -164
- package/schema/equipment/item/_RangedWeapon.schema.json +0 -185
- package/schema/equipment/item/_Weapon.schema.json +0 -99
- package/schema/equipment/item/sub/ArmorType.schema.json +0 -52
- package/schema/equipment/item/sub/Reach.schema.json +0 -47
- package/schema/magicalActions/AnimistPower.schema.json +0 -488
- package/schema/magicalActions/AnimistPower_Tribe.schema.json +0 -47
- package/schema/magicalActions/Curse.schema.json +0 -332
- package/schema/magicalActions/DominationRitual.schema.json +0 -275
- package/schema/magicalActions/ElvenMagicalSong.schema.json +0 -196
- package/schema/magicalActions/GeodeRitual.schema.json +0 -327
- package/schema/magicalActions/JesterTrick.schema.json +0 -311
- package/schema/magicalActions/MagicalDance.schema.json +0 -198
- package/schema/magicalActions/MagicalMelody.schema.json +0 -193
- package/schema/magicalActions/MagicalRune.schema.json +0 -578
- package/schema/magicalActions/ZibiljaRitual.schema.json +0 -165
- package/schema/magicalActions/_MusicTradition.schema.json +0 -82
- package/schema/magicalActions/_SkillReference.schema.json +0 -20
- package/schema/prerequisites/ConditionalPrerequisites.schema.json +0 -15
- package/schema/prerequisites/DisplayOption.schema.json +0 -70
- package/schema/prerequisites/PrerequisiteGroups.schema.json +0 -1029
- package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +0 -45
- package/schema/prerequisites/single/AncestorBloodPrerequisite.schema.json +0 -14
- package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +0 -36
- package/schema/prerequisites/single/CulturePrerequisite.schema.json +0 -24
- package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +0 -61
- package/schema/prerequisites/single/InfluencePrerequisite.schema.json +0 -28
- package/schema/prerequisites/single/PactPrerequisite.schema.json +0 -36
- package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +0 -39
- package/schema/prerequisites/single/PublicationPrerequisite.schema.json +0 -22
- package/schema/prerequisites/single/RacePrerequisite.schema.json +0 -28
- package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +0 -172
- package/schema/prerequisites/single/RatedPrerequisite.schema.json +0 -29
- package/schema/prerequisites/single/RatedSumPrerequisite.schema.json +0 -33
- package/schema/prerequisites/single/RulePrerequisite.schema.json +0 -22
- package/schema/prerequisites/single/SexPrerequisite.schema.json +0 -23
- package/schema/prerequisites/single/SexualCharacteristicPrerequisite.schema.json +0 -30
- package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +0 -24
- package/schema/prerequisites/single/StatePrerequisite.schema.json +0 -23
- package/schema/prerequisites/single/TextPrerequisite.schema.json +0 -64
- package/schema/prerequisites/single/TraditionPrerequisite.schema.json +0 -58
- package/schema/rule/CoreRule.schema.json +0 -1403
- package/schema/rule/FocusRule.schema.json +0 -76
- package/schema/rule/FocusRule_Subject.schema.json +0 -48
- package/schema/rule/OptionalRule.schema.json +0 -64
- package/schema/source/Publication.schema.json +0 -103
- package/schema/source/_Erratum.schema.json +0 -36
- package/schema/source/_PublicationRef.schema.json +0 -285
- package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +0 -102
- package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +0 -80
- package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +0 -80
- package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +0 -80
- package/schema/specialAbility/AncestorGlyph.schema.json +0 -80
- package/schema/specialAbility/BlessedTradition.schema.json +0 -354
- package/schema/specialAbility/BrawlingSpecialAbility.schema.json +0 -82
- package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +0 -87
- package/schema/specialAbility/CombatSpecialAbility.schema.json +0 -98
- package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +0 -273
- package/schema/specialAbility/CommandSpecialAbility.schema.json +0 -82
- package/schema/specialAbility/FamiliarSpecialAbility.schema.json +0 -74
- package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +0 -74
- package/schema/specialAbility/FatePointSpecialAbility.schema.json +0 -84
- package/schema/specialAbility/GeneralSpecialAbility.schema.json +0 -88
- package/schema/specialAbility/KarmaSpecialAbility.schema.json +0 -78
- package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +0 -260
- package/schema/specialAbility/LycantropicGift.schema.json +0 -74
- package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +0 -260
- package/schema/specialAbility/MagicalSign.schema.json +0 -72
- package/schema/specialAbility/MagicalSpecialAbility.schema.json +0 -88
- package/schema/specialAbility/MagicalTradition.schema.json +0 -163
- package/schema/specialAbility/PactGift.schema.json +0 -254
- package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +0 -86
- package/schema/specialAbility/Sermon.schema.json +0 -74
- package/schema/specialAbility/SexSpecialAbility.schema.json +0 -80
- package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +0 -78
- package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +0 -254
- package/schema/specialAbility/VampiricGift.schema.json +0 -78
- package/schema/specialAbility/Vision.schema.json +0 -74
- package/schema/specialAbility/_Tradition.schema.json +0 -23
- package/schema/specialAbility/sub/Language.schema.json +0 -222
- package/schema/specialAbility/sub/Script.schema.json +0 -90
- package/schema/specialAbility/sub/TradeSecret.schema.json +0 -72
- package/schema/specialAbility/sub/_LanguageScript.schema.json +0 -24
- package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/AttireEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/BowlEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/CauldronEnchantment.schema.json +0 -115
- package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/DaggerRitual.schema.json +0 -176
- package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +0 -95
- package/schema/traditionArtifacts/OrbEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/RingEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/SickleRitual.schema.json +0 -95
- package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +0 -99
- package/schema/traditionArtifacts/StaffEnchantment.schema.json +0 -103
- package/schema/traditionArtifacts/ToyEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/Trinkhornzauber.schema.json +0 -95
- package/schema/traditionArtifacts/WandEnchantment.schema.json +0 -87
- package/schema/traditionArtifacts/WeaponEnchantment.schema.json +0 -95
- package/schema/traditionArtifacts/sub/AnimalShape.schema.json +0 -85
- package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +0 -47
- package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +0 -59
- package/schema/traditionArtifacts/sub/Brew.schema.json +0 -47
|
@@ -1,2755 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
3
|
-
"$id": "/_Activatable.schema.json",
|
|
4
|
-
"$defs": {
|
|
5
|
-
"Id": {
|
|
6
|
-
"description": "The activatable entry's identifier. An unique, increasing integer.",
|
|
7
|
-
"type": "integer",
|
|
8
|
-
"minimum": 0
|
|
9
|
-
},
|
|
10
|
-
"Name": {
|
|
11
|
-
"description": "The name of the activatable entry.",
|
|
12
|
-
"type": "string",
|
|
13
|
-
"minLength": 1
|
|
14
|
-
},
|
|
15
|
-
"NameInLibrary": {
|
|
16
|
-
"description": "The full name of the entry as stated in the sources. Only use when `name` needs to be different from full name for text generation purposes.",
|
|
17
|
-
"type": "string",
|
|
18
|
-
"minLength": 1
|
|
19
|
-
},
|
|
20
|
-
"Levels": {
|
|
21
|
-
"description": "Number of available levels.",
|
|
22
|
-
"type": "integer",
|
|
23
|
-
"minimum": 2
|
|
24
|
-
},
|
|
25
|
-
"Maximum": {
|
|
26
|
-
"description": "The number stating how often you can buy the entry. The **default** depends on the entry type:\n\n- **Advantage:** `1` in all cases (as specified in the **Core Rules**)\n- **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)\n- **Special Abilities:** `1` if no options can be selected, otherwise the\n number of possible options\n\nThe maximum is only set if it differs from the defaults specified above.",
|
|
27
|
-
"type": "integer",
|
|
28
|
-
"minimum": 1
|
|
29
|
-
},
|
|
30
|
-
"SelectOptions": {
|
|
31
|
-
"description": "Definitions for possible options for the activatable entry. They can either be derived from entry categories or be defined explicitly. Both can happen as well, but if there is an explicitly defined select option and a derived select option has the same identifier (which may only happen if skill or combat technique identifiers are used for explicit select options), the explicit definition overwrites the derived option.\n\nNote that this is only a full definition of options for simple logic that can be made explicit using the more detailed configuration for both derived categories and explicit options. There are quite a few entries whose option logic cannot be fully represented here, so that it needs to be implemented manually.",
|
|
32
|
-
"type": "object",
|
|
33
|
-
"properties": {
|
|
34
|
-
"derived": {
|
|
35
|
-
"description": "An entry category with optional further configuration. All available entries from the specified categories will be included as separate select options. You can also specify a set of groups that should only be included. Groups not mentioned will be excluded then.",
|
|
36
|
-
"$ref": "./_ActivatableSelectOptionCategory.schema.json#/$defs/SelectOptionCategory"
|
|
37
|
-
},
|
|
38
|
-
"explicit": {
|
|
39
|
-
"description": "A list of explicit select options. If the identifier has a specific type, its entry is the base of this select option, where values defined here override values from the base. Define the `src` property if the options are not derived from the rules text of the advantage/disadvantage/special ability but instead are listed in a separate block and/or on a separate page.",
|
|
40
|
-
"type": "array",
|
|
41
|
-
"items": {
|
|
42
|
-
"$ref": "#/$defs/ExplicitSelectOption"
|
|
43
|
-
},
|
|
44
|
-
"minItems": 1
|
|
45
|
-
}
|
|
46
|
-
},
|
|
47
|
-
"required": [],
|
|
48
|
-
"minProperties": 1,
|
|
49
|
-
"additionalProperties": false
|
|
50
|
-
},
|
|
51
|
-
"ExplicitSelectOption": {
|
|
52
|
-
"oneOf": [
|
|
53
|
-
{
|
|
54
|
-
"type": "object",
|
|
55
|
-
"properties": {
|
|
56
|
-
"tag": {
|
|
57
|
-
"const": "General"
|
|
58
|
-
},
|
|
59
|
-
"general": {
|
|
60
|
-
"$ref": "#/$defs/ExplicitGeneralSelectOption"
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
"required": [
|
|
64
|
-
"tag",
|
|
65
|
-
"general"
|
|
66
|
-
],
|
|
67
|
-
"additionalProperties": false
|
|
68
|
-
},
|
|
69
|
-
{
|
|
70
|
-
"type": "object",
|
|
71
|
-
"properties": {
|
|
72
|
-
"tag": {
|
|
73
|
-
"const": "Skill"
|
|
74
|
-
},
|
|
75
|
-
"skill": {
|
|
76
|
-
"$ref": "#/$defs/ExplicitSkillSelectOption"
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
"required": [
|
|
80
|
-
"tag",
|
|
81
|
-
"skill"
|
|
82
|
-
],
|
|
83
|
-
"additionalProperties": false
|
|
84
|
-
},
|
|
85
|
-
{
|
|
86
|
-
"type": "object",
|
|
87
|
-
"properties": {
|
|
88
|
-
"tag": {
|
|
89
|
-
"const": "CombatTechnique"
|
|
90
|
-
},
|
|
91
|
-
"combat_technique": {
|
|
92
|
-
"$ref": "#/$defs/ExplicitCombatTechniqueSelectOption"
|
|
93
|
-
}
|
|
94
|
-
},
|
|
95
|
-
"required": [
|
|
96
|
-
"tag",
|
|
97
|
-
"combat_technique"
|
|
98
|
-
],
|
|
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
|
|
110
|
-
},
|
|
111
|
-
"profession_only": {
|
|
112
|
-
"description": "Sometimes, professions use specific text selections that are not contained in described lists. This ensures you can use them for professions only. They are not going to be displayed as options to the user.",
|
|
113
|
-
"const": true
|
|
114
|
-
},
|
|
115
|
-
"skill_applications": {
|
|
116
|
-
"description": "Registers new applications, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
|
|
117
|
-
"$ref": "#/$defs/SkillApplications"
|
|
118
|
-
},
|
|
119
|
-
"skill_uses": {
|
|
120
|
-
"description": "Registers uses, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
|
|
121
|
-
"$ref": "#/$defs/SkillUses"
|
|
122
|
-
},
|
|
123
|
-
"prerequisites": {
|
|
124
|
-
"$ref": "./_Prerequisite.schema.json#/$defs/GeneralPrerequisites"
|
|
125
|
-
},
|
|
126
|
-
"binding_cost": {
|
|
127
|
-
"description": "Specific binding cost for the select option. Only has an effect if the associated entry supports binding costs.",
|
|
128
|
-
"type": "integer",
|
|
129
|
-
"minimum": 0
|
|
130
|
-
},
|
|
131
|
-
"ap_value": {
|
|
132
|
-
"description": "Specific AP cost for the select option.",
|
|
133
|
-
"type": "integer",
|
|
134
|
-
"minimum": 1
|
|
135
|
-
},
|
|
136
|
-
"src": {
|
|
137
|
-
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
|
|
138
|
-
},
|
|
139
|
-
"translations": {
|
|
140
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
141
|
-
"type": "object",
|
|
142
|
-
"patternProperties": {
|
|
143
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
144
|
-
"$ref": "#/$defs/ExplicitGeneralSelectOptionTranslation"
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
"minProperties": 1,
|
|
148
|
-
"additionalProperties": false
|
|
149
|
-
}
|
|
150
|
-
},
|
|
151
|
-
"required": [
|
|
152
|
-
"id",
|
|
153
|
-
"translations"
|
|
154
|
-
],
|
|
155
|
-
"additionalProperties": false
|
|
156
|
-
},
|
|
157
|
-
"ExplicitGeneralSelectOptionTranslation": {
|
|
158
|
-
"type": "object",
|
|
159
|
-
"properties": {
|
|
160
|
-
"name": {
|
|
161
|
-
"description": "The name of the select option.",
|
|
162
|
-
"type": "string",
|
|
163
|
-
"minLength": 1
|
|
164
|
-
},
|
|
165
|
-
"name_in_profession": {
|
|
166
|
-
"description": "The name of the select option when displayed in a generated profession text.",
|
|
167
|
-
"type": "string",
|
|
168
|
-
"minLength": 1
|
|
169
|
-
},
|
|
170
|
-
"description": {
|
|
171
|
-
"description": "The description of the select option. Useful for Bad Habits, Trade Secrets and other entries where a description is available.",
|
|
172
|
-
"type": "string",
|
|
173
|
-
"minLength": 1
|
|
174
|
-
},
|
|
175
|
-
"errata": {
|
|
176
|
-
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
|
|
177
|
-
}
|
|
178
|
-
},
|
|
179
|
-
"required": [
|
|
180
|
-
"name"
|
|
181
|
-
],
|
|
182
|
-
"additionalProperties": false
|
|
183
|
-
},
|
|
184
|
-
"ExplicitSkillSelectOption": {
|
|
185
|
-
"type": "object",
|
|
186
|
-
"properties": {
|
|
187
|
-
"id": {
|
|
188
|
-
"description": "The skill's identifier. An unique, increasing integer.",
|
|
189
|
-
"$ref": "./_Identifier.schema.json#/$defs/SkillIdentifier"
|
|
190
|
-
},
|
|
191
|
-
"skill_applications": {
|
|
192
|
-
"description": "Registers new applications, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
|
|
193
|
-
"type": "array",
|
|
194
|
-
"items": {
|
|
195
|
-
"$ref": "./_ActivatableSelectOptionCategory.schema.json#/$defs/SkillApplicationOrUse"
|
|
196
|
-
},
|
|
197
|
-
"minItems": 1
|
|
198
|
-
},
|
|
199
|
-
"skill_uses": {
|
|
200
|
-
"description": "Registers uses, which get enabled once this entry is activated with its respective select option. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin select option.",
|
|
201
|
-
"type": "array",
|
|
202
|
-
"items": {
|
|
203
|
-
"$ref": "./_ActivatableSelectOptionCategory.schema.json#/$defs/SkillApplicationOrUse"
|
|
204
|
-
},
|
|
205
|
-
"minItems": 1
|
|
206
|
-
},
|
|
207
|
-
"prerequisites": {
|
|
208
|
-
"$ref": "./_Prerequisite.schema.json#/$defs/GeneralPrerequisites"
|
|
209
|
-
},
|
|
210
|
-
"binding_cost": {
|
|
211
|
-
"description": "Specific binding cost for the select option. Only has an effect if the associated entry supports binding costs.",
|
|
212
|
-
"type": "integer",
|
|
213
|
-
"minimum": 0
|
|
214
|
-
},
|
|
215
|
-
"ap_value": {
|
|
216
|
-
"description": "Specific AP cost for the select option.",
|
|
217
|
-
"type": "integer",
|
|
218
|
-
"minimum": 1
|
|
219
|
-
},
|
|
220
|
-
"src": {
|
|
221
|
-
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
|
|
222
|
-
},
|
|
223
|
-
"translations": {
|
|
224
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
225
|
-
"type": "object",
|
|
226
|
-
"patternProperties": {
|
|
227
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
228
|
-
"$ref": "#/$defs/ExplicitSkillSelectOptionTranslation"
|
|
229
|
-
}
|
|
230
|
-
},
|
|
231
|
-
"minProperties": 1,
|
|
232
|
-
"additionalProperties": false
|
|
233
|
-
}
|
|
234
|
-
},
|
|
235
|
-
"required": [
|
|
236
|
-
"id"
|
|
237
|
-
],
|
|
238
|
-
"additionalProperties": false
|
|
239
|
-
},
|
|
240
|
-
"ExplicitSkillSelectOptionTranslation": {
|
|
241
|
-
"type": "object",
|
|
242
|
-
"properties": {
|
|
243
|
-
"errata": {
|
|
244
|
-
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
|
|
245
|
-
}
|
|
246
|
-
},
|
|
247
|
-
"required": [],
|
|
248
|
-
"minProperties": 1,
|
|
249
|
-
"additionalProperties": false
|
|
250
|
-
},
|
|
251
|
-
"ExplicitCombatTechniqueSelectOption": {
|
|
252
|
-
"type": "object",
|
|
253
|
-
"properties": {
|
|
254
|
-
"id": {
|
|
255
|
-
"description": "The combat technique's identifier.",
|
|
256
|
-
"$ref": "./_IdentifierGroup.schema.json#/$defs/CombatTechniqueIdentifier"
|
|
257
|
-
},
|
|
258
|
-
"prerequisites": {
|
|
259
|
-
"$ref": "./_Prerequisite.schema.json#/$defs/GeneralPrerequisites"
|
|
260
|
-
},
|
|
261
|
-
"binding_cost": {
|
|
262
|
-
"description": "Specific binding cost for the select option. Only has an effect if the associated entry supports binding costs.",
|
|
263
|
-
"type": "integer",
|
|
264
|
-
"minimum": 0
|
|
265
|
-
},
|
|
266
|
-
"ap_value": {
|
|
267
|
-
"description": "Specific AP cost for the select option.",
|
|
268
|
-
"type": "integer",
|
|
269
|
-
"minimum": 1
|
|
270
|
-
},
|
|
271
|
-
"src": {
|
|
272
|
-
"$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
|
|
273
|
-
},
|
|
274
|
-
"translations": {
|
|
275
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
276
|
-
"type": "object",
|
|
277
|
-
"patternProperties": {
|
|
278
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
279
|
-
"$ref": "#/$defs/ExplicitCombatTechniqueSelectOptionTranslation"
|
|
280
|
-
}
|
|
281
|
-
},
|
|
282
|
-
"minProperties": 1,
|
|
283
|
-
"additionalProperties": false
|
|
284
|
-
}
|
|
285
|
-
},
|
|
286
|
-
"required": [
|
|
287
|
-
"id"
|
|
288
|
-
],
|
|
289
|
-
"additionalProperties": false
|
|
290
|
-
},
|
|
291
|
-
"ExplicitCombatTechniqueSelectOptionTranslation": {
|
|
292
|
-
"type": "object",
|
|
293
|
-
"properties": {
|
|
294
|
-
"errata": {
|
|
295
|
-
"$ref": "./source/_Erratum.schema.json#/$defs/Errata"
|
|
296
|
-
}
|
|
297
|
-
},
|
|
298
|
-
"required": [],
|
|
299
|
-
"minProperties": 1,
|
|
300
|
-
"additionalProperties": false
|
|
301
|
-
},
|
|
302
|
-
"Rules": {
|
|
303
|
-
"description": "The rule text.",
|
|
304
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
305
|
-
},
|
|
306
|
-
"Effect": {
|
|
307
|
-
"description": "The effect description.",
|
|
308
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
309
|
-
},
|
|
310
|
-
"CombatSpecialAbilityUsageType": {
|
|
311
|
-
"description": "The definition of how the combat special ability can be used in combat.",
|
|
312
|
-
"oneOf": [
|
|
313
|
-
{
|
|
314
|
-
"const": "Passive"
|
|
315
|
-
},
|
|
316
|
-
{
|
|
317
|
-
"const": "BasicManeuver"
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
"const": "SpecialManeuver"
|
|
321
|
-
}
|
|
322
|
-
]
|
|
323
|
-
},
|
|
324
|
-
"CombatSpecialAbilityType": {
|
|
325
|
-
"description": "The definition of if the combat special ability can be used when armed or when unarmed.",
|
|
326
|
-
"oneOf": [
|
|
327
|
-
{
|
|
328
|
-
"const": "Armed"
|
|
329
|
-
},
|
|
330
|
-
{
|
|
331
|
-
"const": "Unarmed"
|
|
332
|
-
}
|
|
333
|
-
]
|
|
334
|
-
},
|
|
335
|
-
"SkillApplications": {
|
|
336
|
-
"description": "Registers new skill applications, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
|
|
337
|
-
"type": "array",
|
|
338
|
-
"items": {
|
|
339
|
-
"$ref": "#/$defs/SkillApplication"
|
|
340
|
-
},
|
|
341
|
-
"minItems": 1
|
|
342
|
-
},
|
|
343
|
-
"SkillApplication": {
|
|
344
|
-
"type": "object",
|
|
345
|
-
"properties": {
|
|
346
|
-
"id": {
|
|
347
|
-
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
348
|
-
"type": "integer",
|
|
349
|
-
"minimum": 1
|
|
350
|
-
},
|
|
351
|
-
"skill": {
|
|
352
|
-
"description": "The skill(s) this application belongs to.",
|
|
353
|
-
"$ref": "#/$defs/SkillApplicationAssociatedSkill"
|
|
354
|
-
},
|
|
355
|
-
"translations": {
|
|
356
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
357
|
-
"type": "object",
|
|
358
|
-
"patternProperties": {
|
|
359
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
360
|
-
"$ref": "#/$defs/SkillApplicationTranslation"
|
|
361
|
-
}
|
|
362
|
-
},
|
|
363
|
-
"minProperties": 1,
|
|
364
|
-
"additionalProperties": false
|
|
365
|
-
}
|
|
366
|
-
},
|
|
367
|
-
"required": [
|
|
368
|
-
"id",
|
|
369
|
-
"skill"
|
|
370
|
-
],
|
|
371
|
-
"additionalProperties": false
|
|
372
|
-
},
|
|
373
|
-
"SkillApplicationAssociatedSkill": {
|
|
374
|
-
"oneOf": [
|
|
375
|
-
{
|
|
376
|
-
"type": "object",
|
|
377
|
-
"properties": {
|
|
378
|
-
"tag": {
|
|
379
|
-
"const": "Single"
|
|
380
|
-
},
|
|
381
|
-
"single": {
|
|
382
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
383
|
-
}
|
|
384
|
-
},
|
|
385
|
-
"required": [
|
|
386
|
-
"tag",
|
|
387
|
-
"single"
|
|
388
|
-
],
|
|
389
|
-
"additionalProperties": false
|
|
390
|
-
},
|
|
391
|
-
{
|
|
392
|
-
"type": "object",
|
|
393
|
-
"properties": {
|
|
394
|
-
"tag": {
|
|
395
|
-
"const": "Multiple"
|
|
396
|
-
},
|
|
397
|
-
"multiple": {
|
|
398
|
-
"$ref": "#/$defs/SkillApplicationAssociatedSkills"
|
|
399
|
-
}
|
|
400
|
-
},
|
|
401
|
-
"required": [
|
|
402
|
-
"tag",
|
|
403
|
-
"multiple"
|
|
404
|
-
],
|
|
405
|
-
"additionalProperties": false
|
|
406
|
-
}
|
|
407
|
-
]
|
|
408
|
-
},
|
|
409
|
-
"SkillApplicationAssociatedSkills": {
|
|
410
|
-
"type": "object",
|
|
411
|
-
"properties": {
|
|
412
|
-
"list": {
|
|
413
|
-
"description": "The skills this application belongs to.",
|
|
414
|
-
"type": "array",
|
|
415
|
-
"items": {
|
|
416
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
417
|
-
},
|
|
418
|
-
"minItems": 2
|
|
419
|
-
},
|
|
420
|
-
"required_skill_rating": {
|
|
421
|
-
"description": "If an application applies to multiple skills, it may need to ensure the respective skill is on a certain skill rating if the activatable entry cannot ensure this prerequisite.",
|
|
422
|
-
"type": "integer",
|
|
423
|
-
"minimum": 1
|
|
424
|
-
}
|
|
425
|
-
},
|
|
426
|
-
"required": [
|
|
427
|
-
"list"
|
|
428
|
-
],
|
|
429
|
-
"additionalProperties": false
|
|
430
|
-
},
|
|
431
|
-
"SkillApplicationTranslation": {
|
|
432
|
-
"type": "object",
|
|
433
|
-
"properties": {
|
|
434
|
-
"name": {
|
|
435
|
-
"description": "The name of the application if different from the activatable entry's name.",
|
|
436
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
437
|
-
}
|
|
438
|
-
},
|
|
439
|
-
"required": [
|
|
440
|
-
"name"
|
|
441
|
-
],
|
|
442
|
-
"additionalProperties": false
|
|
443
|
-
},
|
|
444
|
-
"SkillUses": {
|
|
445
|
-
"description": "Registers uses, which get enabled once this entry is activated. It specifies an entry-unique identifier and the skill it belongs to. A translation can be left out if its name equals the name of the origin activatable entry.",
|
|
446
|
-
"type": "array",
|
|
447
|
-
"items": {
|
|
448
|
-
"$ref": "#/$defs/SkillUse"
|
|
449
|
-
},
|
|
450
|
-
"minItems": 1
|
|
451
|
-
},
|
|
452
|
-
"SkillUse": {
|
|
453
|
-
"type": "object",
|
|
454
|
-
"properties": {
|
|
455
|
-
"id": {
|
|
456
|
-
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
457
|
-
"type": "integer",
|
|
458
|
-
"minimum": 1
|
|
459
|
-
},
|
|
460
|
-
"skill": {
|
|
461
|
-
"description": "The skill(s) this use belongs to.",
|
|
462
|
-
"$ref": "#/$defs/SkillUseAssociatedSkill"
|
|
463
|
-
},
|
|
464
|
-
"translations": {
|
|
465
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
466
|
-
"type": "object",
|
|
467
|
-
"patternProperties": {
|
|
468
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
469
|
-
"$ref": "#/$defs/SkillUseTranslation"
|
|
470
|
-
}
|
|
471
|
-
},
|
|
472
|
-
"minProperties": 1,
|
|
473
|
-
"additionalProperties": false
|
|
474
|
-
}
|
|
475
|
-
},
|
|
476
|
-
"required": [
|
|
477
|
-
"id",
|
|
478
|
-
"skill"
|
|
479
|
-
],
|
|
480
|
-
"additionalProperties": false
|
|
481
|
-
},
|
|
482
|
-
"SkillUseAssociatedSkill": {
|
|
483
|
-
"oneOf": [
|
|
484
|
-
{
|
|
485
|
-
"type": "object",
|
|
486
|
-
"properties": {
|
|
487
|
-
"tag": {
|
|
488
|
-
"const": "Single"
|
|
489
|
-
},
|
|
490
|
-
"single": {
|
|
491
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
492
|
-
}
|
|
493
|
-
},
|
|
494
|
-
"required": [
|
|
495
|
-
"tag",
|
|
496
|
-
"single"
|
|
497
|
-
],
|
|
498
|
-
"additionalProperties": false
|
|
499
|
-
},
|
|
500
|
-
{
|
|
501
|
-
"type": "object",
|
|
502
|
-
"properties": {
|
|
503
|
-
"tag": {
|
|
504
|
-
"const": "Multiple"
|
|
505
|
-
},
|
|
506
|
-
"multiple": {
|
|
507
|
-
"$ref": "#/$defs/SkillUseAssociatedSkills"
|
|
508
|
-
}
|
|
509
|
-
},
|
|
510
|
-
"required": [
|
|
511
|
-
"tag",
|
|
512
|
-
"multiple"
|
|
513
|
-
],
|
|
514
|
-
"additionalProperties": false
|
|
515
|
-
}
|
|
516
|
-
]
|
|
517
|
-
},
|
|
518
|
-
"SkillUseAssociatedSkills": {
|
|
519
|
-
"type": "object",
|
|
520
|
-
"properties": {
|
|
521
|
-
"list": {
|
|
522
|
-
"description": "The skills this use belongs to.",
|
|
523
|
-
"type": "array",
|
|
524
|
-
"items": {
|
|
525
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/SkillReference"
|
|
526
|
-
},
|
|
527
|
-
"minItems": 2
|
|
528
|
-
}
|
|
529
|
-
},
|
|
530
|
-
"required": [
|
|
531
|
-
"list"
|
|
532
|
-
],
|
|
533
|
-
"additionalProperties": false
|
|
534
|
-
},
|
|
535
|
-
"SkillUseTranslation": {
|
|
536
|
-
"type": "object",
|
|
537
|
-
"properties": {
|
|
538
|
-
"name": {
|
|
539
|
-
"description": "The name of the use if different from the activatable entry's name.",
|
|
540
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
541
|
-
}
|
|
542
|
-
},
|
|
543
|
-
"required": [
|
|
544
|
-
"name"
|
|
545
|
-
],
|
|
546
|
-
"additionalProperties": false
|
|
547
|
-
},
|
|
548
|
-
"Penalty": {
|
|
549
|
-
"description": "The penalty the special ability gives when used.",
|
|
550
|
-
"oneOf": [
|
|
551
|
-
{
|
|
552
|
-
"type": "object",
|
|
553
|
-
"properties": {
|
|
554
|
-
"tag": {
|
|
555
|
-
"const": "Single"
|
|
556
|
-
},
|
|
557
|
-
"single": {
|
|
558
|
-
"$ref": "#/$defs/SinglePenalty"
|
|
559
|
-
}
|
|
560
|
-
},
|
|
561
|
-
"required": [
|
|
562
|
-
"tag",
|
|
563
|
-
"single"
|
|
564
|
-
],
|
|
565
|
-
"additionalProperties": false
|
|
566
|
-
},
|
|
567
|
-
{
|
|
568
|
-
"type": "object",
|
|
569
|
-
"properties": {
|
|
570
|
-
"tag": {
|
|
571
|
-
"const": "ByHandedness"
|
|
572
|
-
},
|
|
573
|
-
"by_handedness": {
|
|
574
|
-
"$ref": "#/$defs/PenaltyByHandedness"
|
|
575
|
-
}
|
|
576
|
-
},
|
|
577
|
-
"required": [
|
|
578
|
-
"tag",
|
|
579
|
-
"by_handedness"
|
|
580
|
-
],
|
|
581
|
-
"additionalProperties": false
|
|
582
|
-
},
|
|
583
|
-
{
|
|
584
|
-
"type": "object",
|
|
585
|
-
"properties": {
|
|
586
|
-
"tag": {
|
|
587
|
-
"const": "ByActivation"
|
|
588
|
-
},
|
|
589
|
-
"by_activation": {
|
|
590
|
-
"$ref": "#/$defs/PenaltyByActivation"
|
|
591
|
-
}
|
|
592
|
-
},
|
|
593
|
-
"required": [
|
|
594
|
-
"tag",
|
|
595
|
-
"by_activation"
|
|
596
|
-
],
|
|
597
|
-
"additionalProperties": false
|
|
598
|
-
},
|
|
599
|
-
{
|
|
600
|
-
"type": "object",
|
|
601
|
-
"properties": {
|
|
602
|
-
"tag": {
|
|
603
|
-
"const": "Selection"
|
|
604
|
-
},
|
|
605
|
-
"selection": {
|
|
606
|
-
"$ref": "#/$defs/PenaltySelection"
|
|
607
|
-
}
|
|
608
|
-
},
|
|
609
|
-
"required": [
|
|
610
|
-
"tag",
|
|
611
|
-
"selection"
|
|
612
|
-
],
|
|
613
|
-
"additionalProperties": false
|
|
614
|
-
},
|
|
615
|
-
{
|
|
616
|
-
"type": "object",
|
|
617
|
-
"properties": {
|
|
618
|
-
"tag": {
|
|
619
|
-
"const": "ByLevel"
|
|
620
|
-
},
|
|
621
|
-
"by_level": {
|
|
622
|
-
"$ref": "#/$defs/PenaltyByLevel"
|
|
623
|
-
}
|
|
624
|
-
},
|
|
625
|
-
"required": [
|
|
626
|
-
"tag",
|
|
627
|
-
"by_level"
|
|
628
|
-
],
|
|
629
|
-
"additionalProperties": false
|
|
630
|
-
},
|
|
631
|
-
{
|
|
632
|
-
"type": "object",
|
|
633
|
-
"properties": {
|
|
634
|
-
"tag": {
|
|
635
|
-
"const": "ByAttack"
|
|
636
|
-
},
|
|
637
|
-
"by_attack": {
|
|
638
|
-
"$ref": "#/$defs/PenaltyByAttack"
|
|
639
|
-
}
|
|
640
|
-
},
|
|
641
|
-
"required": [
|
|
642
|
-
"tag",
|
|
643
|
-
"by_attack"
|
|
644
|
-
],
|
|
645
|
-
"additionalProperties": false
|
|
646
|
-
},
|
|
647
|
-
{
|
|
648
|
-
"type": "object",
|
|
649
|
-
"properties": {
|
|
650
|
-
"tag": {
|
|
651
|
-
"const": "DependsOnHitZone"
|
|
652
|
-
},
|
|
653
|
-
"depends_on_hit_zone": {
|
|
654
|
-
"type": "object",
|
|
655
|
-
"properties": {},
|
|
656
|
-
"required": [],
|
|
657
|
-
"additionalProperties": false
|
|
658
|
-
}
|
|
659
|
-
},
|
|
660
|
-
"required": [
|
|
661
|
-
"tag",
|
|
662
|
-
"depends_on_hit_zone"
|
|
663
|
-
],
|
|
664
|
-
"additionalProperties": false
|
|
665
|
-
}
|
|
666
|
-
]
|
|
667
|
-
},
|
|
668
|
-
"SinglePenalty": {
|
|
669
|
-
"type": "object",
|
|
670
|
-
"properties": {
|
|
671
|
-
"value": {
|
|
672
|
-
"description": "The penalty value.",
|
|
673
|
-
"type": "integer"
|
|
674
|
-
},
|
|
675
|
-
"applies_to_parry": {
|
|
676
|
-
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
677
|
-
"const": true
|
|
678
|
-
}
|
|
679
|
-
},
|
|
680
|
-
"required": [
|
|
681
|
-
"value"
|
|
682
|
-
],
|
|
683
|
-
"additionalProperties": false
|
|
684
|
-
},
|
|
685
|
-
"PenaltyByHandedness": {
|
|
686
|
-
"type": "object",
|
|
687
|
-
"properties": {
|
|
688
|
-
"one_handed": {
|
|
689
|
-
"description": "The penalty value for one-handed weapons.",
|
|
690
|
-
"type": "integer"
|
|
691
|
-
},
|
|
692
|
-
"two_handed": {
|
|
693
|
-
"description": "The penalty value for two-handed weapons.",
|
|
694
|
-
"type": "integer"
|
|
695
|
-
},
|
|
696
|
-
"applies_to_parry": {
|
|
697
|
-
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
698
|
-
"const": true
|
|
699
|
-
}
|
|
700
|
-
},
|
|
701
|
-
"required": [
|
|
702
|
-
"one_handed",
|
|
703
|
-
"two_handed"
|
|
704
|
-
],
|
|
705
|
-
"additionalProperties": false
|
|
706
|
-
},
|
|
707
|
-
"PenaltyByActivation": {
|
|
708
|
-
"type": "object",
|
|
709
|
-
"properties": {
|
|
710
|
-
"active": {
|
|
711
|
-
"description": "The penalty value if the entry has been bought by the character.",
|
|
712
|
-
"type": "integer"
|
|
713
|
-
},
|
|
714
|
-
"inactive": {
|
|
715
|
-
"description": "The penalty value if the entry has not been bought by the character.",
|
|
716
|
-
"type": "integer"
|
|
717
|
-
},
|
|
718
|
-
"applies_to_parry": {
|
|
719
|
-
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
720
|
-
"const": true
|
|
721
|
-
}
|
|
722
|
-
},
|
|
723
|
-
"required": [
|
|
724
|
-
"active",
|
|
725
|
-
"inactive"
|
|
726
|
-
],
|
|
727
|
-
"additionalProperties": false
|
|
728
|
-
},
|
|
729
|
-
"PenaltySelection": {
|
|
730
|
-
"type": "object",
|
|
731
|
-
"properties": {
|
|
732
|
-
"options": {
|
|
733
|
-
"$ref": "#/$defs/PenaltySelectionOptions"
|
|
734
|
-
}
|
|
735
|
-
},
|
|
736
|
-
"required": [
|
|
737
|
-
"options"
|
|
738
|
-
],
|
|
739
|
-
"additionalProperties": false
|
|
740
|
-
},
|
|
741
|
-
"PenaltySelectionOptions": {
|
|
742
|
-
"oneOf": [
|
|
743
|
-
{
|
|
744
|
-
"type": "object",
|
|
745
|
-
"properties": {
|
|
746
|
-
"tag": {
|
|
747
|
-
"const": "Specific"
|
|
748
|
-
},
|
|
749
|
-
"specific": {
|
|
750
|
-
"$ref": "#/$defs/SpecificPenaltySelectionOptions"
|
|
751
|
-
}
|
|
752
|
-
},
|
|
753
|
-
"required": [
|
|
754
|
-
"tag",
|
|
755
|
-
"specific"
|
|
756
|
-
],
|
|
757
|
-
"additionalProperties": false
|
|
758
|
-
},
|
|
759
|
-
{
|
|
760
|
-
"type": "object",
|
|
761
|
-
"properties": {
|
|
762
|
-
"tag": {
|
|
763
|
-
"const": "Range"
|
|
764
|
-
},
|
|
765
|
-
"range": {
|
|
766
|
-
"$ref": "#/$defs/PenaltySelectionOptionsRange"
|
|
767
|
-
}
|
|
768
|
-
},
|
|
769
|
-
"required": [
|
|
770
|
-
"tag",
|
|
771
|
-
"range"
|
|
772
|
-
],
|
|
773
|
-
"additionalProperties": false
|
|
774
|
-
}
|
|
775
|
-
]
|
|
776
|
-
},
|
|
777
|
-
"SpecificPenaltySelectionOptions": {
|
|
778
|
-
"type": "object",
|
|
779
|
-
"properties": {
|
|
780
|
-
"list": {
|
|
781
|
-
"description": "The list of specific penalty options.",
|
|
782
|
-
"type": "array",
|
|
783
|
-
"items": {
|
|
784
|
-
"$ref": "#/$defs/SpecificPenaltySelectionOption"
|
|
785
|
-
},
|
|
786
|
-
"minItems": 2,
|
|
787
|
-
"uniqueItems": true
|
|
788
|
-
}
|
|
789
|
-
},
|
|
790
|
-
"required": [
|
|
791
|
-
"list"
|
|
792
|
-
],
|
|
793
|
-
"additionalProperties": false
|
|
794
|
-
},
|
|
795
|
-
"SpecificPenaltySelectionOption": {
|
|
796
|
-
"type": "object",
|
|
797
|
-
"properties": {
|
|
798
|
-
"value": {
|
|
799
|
-
"description": "The penalty value.",
|
|
800
|
-
"type": "integer"
|
|
801
|
-
}
|
|
802
|
-
},
|
|
803
|
-
"required": [
|
|
804
|
-
"value"
|
|
805
|
-
],
|
|
806
|
-
"additionalProperties": false
|
|
807
|
-
},
|
|
808
|
-
"PenaltySelectionOptionsRange": {
|
|
809
|
-
"type": "object",
|
|
810
|
-
"properties": {
|
|
811
|
-
"minimum": {
|
|
812
|
-
"description": "The minimum penalty value.",
|
|
813
|
-
"type": "integer"
|
|
814
|
-
},
|
|
815
|
-
"maximum": {
|
|
816
|
-
"description": "The maximum penalty value.",
|
|
817
|
-
"type": "integer"
|
|
818
|
-
}
|
|
819
|
-
},
|
|
820
|
-
"required": [
|
|
821
|
-
"minimum",
|
|
822
|
-
"maximum"
|
|
823
|
-
],
|
|
824
|
-
"additionalProperties": false
|
|
825
|
-
},
|
|
826
|
-
"PenaltyByLevel": {
|
|
827
|
-
"type": "object",
|
|
828
|
-
"properties": {
|
|
829
|
-
"levels": {
|
|
830
|
-
"description": "A continuous range of penalties for each level. The first element is the penalty for the first level, the second element is the penalty for the second level, and so on.",
|
|
831
|
-
"type": "array",
|
|
832
|
-
"items": {
|
|
833
|
-
"$ref": "#/$defs/PenaltyByLevelLevel"
|
|
834
|
-
},
|
|
835
|
-
"minItems": 2
|
|
836
|
-
},
|
|
837
|
-
"external": {
|
|
838
|
-
"description": "The combat-related special ability of which the level defines the penalty instead.",
|
|
839
|
-
"$ref": "#/$defs/PenaltyByExternalLevel"
|
|
840
|
-
}
|
|
841
|
-
},
|
|
842
|
-
"required": [
|
|
843
|
-
"levels"
|
|
844
|
-
],
|
|
845
|
-
"additionalProperties": false
|
|
846
|
-
},
|
|
847
|
-
"PenaltyByLevelLevel": {
|
|
848
|
-
"type": "object",
|
|
849
|
-
"properties": {
|
|
850
|
-
"value": {
|
|
851
|
-
"description": "The penalty value for this level.",
|
|
852
|
-
"type": "integer"
|
|
853
|
-
}
|
|
854
|
-
},
|
|
855
|
-
"required": [
|
|
856
|
-
"value"
|
|
857
|
-
],
|
|
858
|
-
"additionalProperties": false
|
|
859
|
-
},
|
|
860
|
-
"PenaltyByExternalLevel": {
|
|
861
|
-
"description": "The combat-related special ability of which the level defines the penalty instead.",
|
|
862
|
-
"type": "object",
|
|
863
|
-
"properties": {
|
|
864
|
-
"id": {
|
|
865
|
-
"description": "The identifier of the combat-related special ability of which the level defines the penalty instead.",
|
|
866
|
-
"$ref": "./_IdentifierGroup.schema.json#/$defs/CombatRelatedSpecialAbilityIdentifier"
|
|
867
|
-
}
|
|
868
|
-
},
|
|
869
|
-
"required": [
|
|
870
|
-
"id"
|
|
871
|
-
],
|
|
872
|
-
"additionalProperties": false
|
|
873
|
-
},
|
|
874
|
-
"PenaltyByAttack": {
|
|
875
|
-
"type": "object",
|
|
876
|
-
"properties": {
|
|
877
|
-
"list": {
|
|
878
|
-
"description": "A list of penalties for subsequent attacks. The first element is the penalty for the first attack, the second element is the penalty for the second attack, and so on. The order of the first element may be changed using `initial_order`, so that e.g. if set to `2`, the first element is the penalty for the second attack, the second element is the penalty for the third attack, and so on.",
|
|
879
|
-
"type": "array",
|
|
880
|
-
"items": {
|
|
881
|
-
"$ref": "#/$defs/PenaltyByAttackOrderItem"
|
|
882
|
-
},
|
|
883
|
-
"minItems": 1
|
|
884
|
-
},
|
|
885
|
-
"initial_order": {
|
|
886
|
-
"description": "The order of the first element in the `list` of penalties.",
|
|
887
|
-
"type": "number"
|
|
888
|
-
},
|
|
889
|
-
"attack_replacement": {
|
|
890
|
-
"description": "Set if a predefined different word should be used instead of the word\n`attack` for display purposes.",
|
|
891
|
-
"$ref": "#/$defs/PenaltyByAttackReplacement"
|
|
892
|
-
}
|
|
893
|
-
},
|
|
894
|
-
"required": [
|
|
895
|
-
"list"
|
|
896
|
-
],
|
|
897
|
-
"additionalProperties": false
|
|
898
|
-
},
|
|
899
|
-
"PenaltyByAttackOrderItem": {
|
|
900
|
-
"type": "object",
|
|
901
|
-
"properties": {
|
|
902
|
-
"value": {
|
|
903
|
-
"description": "The penalty value for this order.",
|
|
904
|
-
"type": "integer"
|
|
905
|
-
}
|
|
906
|
-
},
|
|
907
|
-
"required": [
|
|
908
|
-
"value"
|
|
909
|
-
],
|
|
910
|
-
"additionalProperties": false
|
|
911
|
-
},
|
|
912
|
-
"PenaltyByAttackReplacement": {
|
|
913
|
-
"description": "Set if a predefined different word should be used instead of the word\n`attack` for display purposes.",
|
|
914
|
-
"const": "Throw"
|
|
915
|
-
},
|
|
916
|
-
"EnchantmentCost": {
|
|
917
|
-
"oneOf": [
|
|
918
|
-
{
|
|
919
|
-
"type": "object",
|
|
920
|
-
"properties": {
|
|
921
|
-
"tag": {
|
|
922
|
-
"const": "ArcaneEnergyCost"
|
|
923
|
-
},
|
|
924
|
-
"arcane_energy_cost": {
|
|
925
|
-
"$ref": "#/$defs/ArcaneEnergyCost"
|
|
926
|
-
}
|
|
927
|
-
},
|
|
928
|
-
"required": [
|
|
929
|
-
"tag",
|
|
930
|
-
"arcane_energy_cost"
|
|
931
|
-
],
|
|
932
|
-
"additionalProperties": false
|
|
933
|
-
},
|
|
934
|
-
{
|
|
935
|
-
"type": "object",
|
|
936
|
-
"properties": {
|
|
937
|
-
"tag": {
|
|
938
|
-
"const": "BindingCost"
|
|
939
|
-
},
|
|
940
|
-
"binding_cost": {
|
|
941
|
-
"$ref": "#/$defs/BindingCost"
|
|
942
|
-
}
|
|
943
|
-
},
|
|
944
|
-
"required": [
|
|
945
|
-
"tag",
|
|
946
|
-
"binding_cost"
|
|
947
|
-
],
|
|
948
|
-
"additionalProperties": false
|
|
949
|
-
}
|
|
950
|
-
]
|
|
951
|
-
},
|
|
952
|
-
"ArcaneEnergyCost": {
|
|
953
|
-
"description": "The AE Cost.",
|
|
954
|
-
"oneOf": [
|
|
955
|
-
{
|
|
956
|
-
"type": "object",
|
|
957
|
-
"properties": {
|
|
958
|
-
"tag": {
|
|
959
|
-
"const": "Fixed"
|
|
960
|
-
},
|
|
961
|
-
"fixed": {
|
|
962
|
-
"$ref": "#/$defs/FixedArcaneEnergyCost"
|
|
963
|
-
}
|
|
964
|
-
},
|
|
965
|
-
"required": [
|
|
966
|
-
"tag",
|
|
967
|
-
"fixed"
|
|
968
|
-
],
|
|
969
|
-
"additionalProperties": false
|
|
970
|
-
},
|
|
971
|
-
{
|
|
972
|
-
"type": "object",
|
|
973
|
-
"properties": {
|
|
974
|
-
"tag": {
|
|
975
|
-
"const": "PerCountable"
|
|
976
|
-
},
|
|
977
|
-
"per_countable": {
|
|
978
|
-
"$ref": "#/$defs/ArcaneEnergyCostPerCountable"
|
|
979
|
-
}
|
|
980
|
-
},
|
|
981
|
-
"required": [
|
|
982
|
-
"tag",
|
|
983
|
-
"per_countable"
|
|
984
|
-
],
|
|
985
|
-
"additionalProperties": false
|
|
986
|
-
},
|
|
987
|
-
{
|
|
988
|
-
"type": "object",
|
|
989
|
-
"properties": {
|
|
990
|
-
"tag": {
|
|
991
|
-
"const": "Interval"
|
|
992
|
-
},
|
|
993
|
-
"interval": {
|
|
994
|
-
"$ref": "#/$defs/IntervalArcaneEnergyCost"
|
|
995
|
-
}
|
|
996
|
-
},
|
|
997
|
-
"required": [
|
|
998
|
-
"tag",
|
|
999
|
-
"interval"
|
|
1000
|
-
],
|
|
1001
|
-
"additionalProperties": false
|
|
1002
|
-
},
|
|
1003
|
-
{
|
|
1004
|
-
"type": "object",
|
|
1005
|
-
"properties": {
|
|
1006
|
-
"tag": {
|
|
1007
|
-
"const": "ActivationAndHalfInterval"
|
|
1008
|
-
},
|
|
1009
|
-
"activation_and_half_interval": {
|
|
1010
|
-
"$ref": "#/$defs/ActivationAndHalfIntervalArcaneEnergyCost"
|
|
1011
|
-
}
|
|
1012
|
-
},
|
|
1013
|
-
"required": [
|
|
1014
|
-
"tag",
|
|
1015
|
-
"activation_and_half_interval"
|
|
1016
|
-
],
|
|
1017
|
-
"additionalProperties": false
|
|
1018
|
-
},
|
|
1019
|
-
{
|
|
1020
|
-
"type": "object",
|
|
1021
|
-
"properties": {
|
|
1022
|
-
"tag": {
|
|
1023
|
-
"const": "Indefinite"
|
|
1024
|
-
},
|
|
1025
|
-
"indefinite": {
|
|
1026
|
-
"$ref": "#/$defs/IndefiniteArcaneEnergyCost"
|
|
1027
|
-
}
|
|
1028
|
-
},
|
|
1029
|
-
"required": [
|
|
1030
|
-
"tag",
|
|
1031
|
-
"indefinite"
|
|
1032
|
-
],
|
|
1033
|
-
"additionalProperties": false
|
|
1034
|
-
},
|
|
1035
|
-
{
|
|
1036
|
-
"type": "object",
|
|
1037
|
-
"properties": {
|
|
1038
|
-
"tag": {
|
|
1039
|
-
"const": "Disjunction"
|
|
1040
|
-
},
|
|
1041
|
-
"disjunction": {
|
|
1042
|
-
"$ref": "#/$defs/ArcaneEnergyCostDisjunction"
|
|
1043
|
-
}
|
|
1044
|
-
},
|
|
1045
|
-
"required": [
|
|
1046
|
-
"tag",
|
|
1047
|
-
"disjunction"
|
|
1048
|
-
],
|
|
1049
|
-
"additionalProperties": false
|
|
1050
|
-
},
|
|
1051
|
-
{
|
|
1052
|
-
"type": "object",
|
|
1053
|
-
"properties": {
|
|
1054
|
-
"tag": {
|
|
1055
|
-
"const": "Variable"
|
|
1056
|
-
},
|
|
1057
|
-
"variable": {
|
|
1058
|
-
"type": "object",
|
|
1059
|
-
"properties": {},
|
|
1060
|
-
"required": [],
|
|
1061
|
-
"additionalProperties": false
|
|
1062
|
-
}
|
|
1063
|
-
},
|
|
1064
|
-
"required": [
|
|
1065
|
-
"tag",
|
|
1066
|
-
"variable"
|
|
1067
|
-
],
|
|
1068
|
-
"additionalProperties": false
|
|
1069
|
-
}
|
|
1070
|
-
]
|
|
1071
|
-
},
|
|
1072
|
-
"FixedArcaneEnergyCost": {
|
|
1073
|
-
"type": "object",
|
|
1074
|
-
"properties": {
|
|
1075
|
-
"value": {
|
|
1076
|
-
"description": "The AE cost value.",
|
|
1077
|
-
"type": "integer",
|
|
1078
|
-
"minimum": 1
|
|
1079
|
-
},
|
|
1080
|
-
"is_permanent": {
|
|
1081
|
-
"description": "Set to `true` if the AE costs are permanent.",
|
|
1082
|
-
"const": true
|
|
1083
|
-
},
|
|
1084
|
-
"interval": {
|
|
1085
|
-
"description": "Specified if the AE cost `value` has to be paid for each time interval.",
|
|
1086
|
-
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
|
|
1087
|
-
},
|
|
1088
|
-
"per_level": {
|
|
1089
|
-
"description": "The AE cost are per level of the enchantment. It may either be displayed in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).",
|
|
1090
|
-
"$ref": "#/$defs/FixedArcaneEnergyCostPerLevel"
|
|
1091
|
-
},
|
|
1092
|
-
"translations": {
|
|
1093
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1094
|
-
"type": "object",
|
|
1095
|
-
"patternProperties": {
|
|
1096
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1097
|
-
"$ref": "#/$defs/FixedArcaneEnergyCostTranslation"
|
|
1098
|
-
}
|
|
1099
|
-
},
|
|
1100
|
-
"minProperties": 1,
|
|
1101
|
-
"additionalProperties": false
|
|
1102
|
-
}
|
|
1103
|
-
},
|
|
1104
|
-
"required": [
|
|
1105
|
-
"value"
|
|
1106
|
-
],
|
|
1107
|
-
"additionalProperties": false
|
|
1108
|
-
},
|
|
1109
|
-
"FixedArcaneEnergyCostPerLevel": {
|
|
1110
|
-
"description": "The AE cost are per level of the enchantment. It may either be displayed in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1 AE for level I; 2 AE for level II`).",
|
|
1111
|
-
"oneOf": [
|
|
1112
|
-
{
|
|
1113
|
-
"const": "Compressed"
|
|
1114
|
-
},
|
|
1115
|
-
{
|
|
1116
|
-
"const": "Verbose"
|
|
1117
|
-
}
|
|
1118
|
-
]
|
|
1119
|
-
},
|
|
1120
|
-
"FixedArcaneEnergyCostTranslation": {
|
|
1121
|
-
"type": "object",
|
|
1122
|
-
"properties": {
|
|
1123
|
-
"note": {
|
|
1124
|
-
"description": "A note, appended to the generated option string in parenthesis.",
|
|
1125
|
-
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1126
|
-
}
|
|
1127
|
-
},
|
|
1128
|
-
"required": [],
|
|
1129
|
-
"minProperties": 1,
|
|
1130
|
-
"additionalProperties": false
|
|
1131
|
-
},
|
|
1132
|
-
"ArcaneEnergyCostPerCountable": {
|
|
1133
|
-
"type": "object",
|
|
1134
|
-
"properties": {
|
|
1135
|
-
"value": {
|
|
1136
|
-
"description": "The AE cost value that has to be per a specific countable entity.",
|
|
1137
|
-
"type": "integer",
|
|
1138
|
-
"minimum": 1
|
|
1139
|
-
},
|
|
1140
|
-
"base_value": {
|
|
1141
|
-
"description": "If defined, in addition to the cost per entity you have to pay a flat amount, regardless of the entity count.",
|
|
1142
|
-
"type": "integer",
|
|
1143
|
-
"minimum": 1
|
|
1144
|
-
},
|
|
1145
|
-
"translations": {
|
|
1146
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1147
|
-
"type": "object",
|
|
1148
|
-
"patternProperties": {
|
|
1149
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1150
|
-
"$ref": "#/$defs/ArcaneEnergyCostPerCountableTranslation"
|
|
1151
|
-
}
|
|
1152
|
-
},
|
|
1153
|
-
"minProperties": 1,
|
|
1154
|
-
"additionalProperties": false
|
|
1155
|
-
}
|
|
1156
|
-
},
|
|
1157
|
-
"required": [
|
|
1158
|
-
"value",
|
|
1159
|
-
"translations"
|
|
1160
|
-
],
|
|
1161
|
-
"additionalProperties": false
|
|
1162
|
-
},
|
|
1163
|
-
"ArcaneEnergyCostPerCountableTranslation": {
|
|
1164
|
-
"type": "object",
|
|
1165
|
-
"properties": {
|
|
1166
|
-
"per": {
|
|
1167
|
-
"description": "The cost have to be per a specific countable entity, e.g. `8 AE per person`.",
|
|
1168
|
-
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
|
|
1169
|
-
},
|
|
1170
|
-
"note": {
|
|
1171
|
-
"description": "A note, appended to the generated string in parenthesis.",
|
|
1172
|
-
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1173
|
-
}
|
|
1174
|
-
},
|
|
1175
|
-
"required": [
|
|
1176
|
-
"per"
|
|
1177
|
-
],
|
|
1178
|
-
"additionalProperties": false
|
|
1179
|
-
},
|
|
1180
|
-
"IntervalArcaneEnergyCost": {
|
|
1181
|
-
"type": "object",
|
|
1182
|
-
"properties": {
|
|
1183
|
-
"value": {
|
|
1184
|
-
"description": "The AE cost value that has to be payed each interval.",
|
|
1185
|
-
"type": "integer",
|
|
1186
|
-
"minimum": 1
|
|
1187
|
-
},
|
|
1188
|
-
"interval": {
|
|
1189
|
-
"description": "The time interval for which the AE cost `value` has to be paid.",
|
|
1190
|
-
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
|
|
1191
|
-
}
|
|
1192
|
-
},
|
|
1193
|
-
"required": [
|
|
1194
|
-
"value",
|
|
1195
|
-
"interval"
|
|
1196
|
-
],
|
|
1197
|
-
"additionalProperties": false
|
|
1198
|
-
},
|
|
1199
|
-
"ActivationAndHalfIntervalArcaneEnergyCost": {
|
|
1200
|
-
"type": "object",
|
|
1201
|
-
"properties": {
|
|
1202
|
-
"value": {
|
|
1203
|
-
"description": "The AE cost value that has to be payed for activation. Half of this value has to be payed each interval.",
|
|
1204
|
-
"type": "integer",
|
|
1205
|
-
"minimum": 2,
|
|
1206
|
-
"multipleOf": 2
|
|
1207
|
-
},
|
|
1208
|
-
"interval": {
|
|
1209
|
-
"description": "The time interval for which the AE cost `value` has to be paid.",
|
|
1210
|
-
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
|
|
1211
|
-
}
|
|
1212
|
-
},
|
|
1213
|
-
"required": [
|
|
1214
|
-
"value",
|
|
1215
|
-
"interval"
|
|
1216
|
-
],
|
|
1217
|
-
"additionalProperties": false
|
|
1218
|
-
},
|
|
1219
|
-
"IndefiniteArcaneEnergyCost": {
|
|
1220
|
-
"type": "object",
|
|
1221
|
-
"properties": {
|
|
1222
|
-
"modifier": {
|
|
1223
|
-
"description": "Specified if the indefinite AP cost description needs to be modified by a certain value.",
|
|
1224
|
-
"$ref": "#/$defs/IndefiniteArcaneEnergyCostModifier"
|
|
1225
|
-
},
|
|
1226
|
-
"translations": {
|
|
1227
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1228
|
-
"type": "object",
|
|
1229
|
-
"patternProperties": {
|
|
1230
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1231
|
-
"$ref": "#/$defs/IndefiniteArcaneEnergyCostTranslation"
|
|
1232
|
-
}
|
|
1233
|
-
},
|
|
1234
|
-
"minProperties": 1,
|
|
1235
|
-
"additionalProperties": false
|
|
1236
|
-
}
|
|
1237
|
-
},
|
|
1238
|
-
"required": [
|
|
1239
|
-
"translations"
|
|
1240
|
-
],
|
|
1241
|
-
"additionalProperties": false
|
|
1242
|
-
},
|
|
1243
|
-
"IndefiniteArcaneEnergyCostModifier": {
|
|
1244
|
-
"type": "object",
|
|
1245
|
-
"properties": {
|
|
1246
|
-
"arithmetic": {
|
|
1247
|
-
"description": "The arithmetic how to apply the `value` to the `base`.",
|
|
1248
|
-
"$ref": "#/$defs/IndefiniteArcaneEnergyCostModifierArithmetic"
|
|
1249
|
-
},
|
|
1250
|
-
"value": {
|
|
1251
|
-
"description": "The value that is applied to the `base` using the defined `arithmetic`.",
|
|
1252
|
-
"type": "integer",
|
|
1253
|
-
"minimum": 1
|
|
1254
|
-
}
|
|
1255
|
-
},
|
|
1256
|
-
"required": [
|
|
1257
|
-
"arithmetic",
|
|
1258
|
-
"value"
|
|
1259
|
-
],
|
|
1260
|
-
"additionalProperties": false
|
|
1261
|
-
},
|
|
1262
|
-
"IndefiniteArcaneEnergyCostModifierArithmetic": {
|
|
1263
|
-
"const": "Add"
|
|
1264
|
-
},
|
|
1265
|
-
"IndefiniteArcaneEnergyCostTranslation": {
|
|
1266
|
-
"type": "object",
|
|
1267
|
-
"properties": {
|
|
1268
|
-
"description": {
|
|
1269
|
-
"description": "A description of where the cost come from.",
|
|
1270
|
-
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveText"
|
|
1271
|
-
}
|
|
1272
|
-
},
|
|
1273
|
-
"required": [
|
|
1274
|
-
"description"
|
|
1275
|
-
],
|
|
1276
|
-
"additionalProperties": false
|
|
1277
|
-
},
|
|
1278
|
-
"ArcaneEnergyCostDisjunction": {
|
|
1279
|
-
"type": "object",
|
|
1280
|
-
"properties": {
|
|
1281
|
-
"interval": {
|
|
1282
|
-
"description": "Specified if the selected AE cost option has to be paid for each time interval.",
|
|
1283
|
-
"$ref": "#/$defs/ArcaneEnergyCostDisjunctionInterval"
|
|
1284
|
-
},
|
|
1285
|
-
"options": {
|
|
1286
|
-
"description": "The possible AE cost values.",
|
|
1287
|
-
"type": "array",
|
|
1288
|
-
"items": {
|
|
1289
|
-
"$ref": "#/$defs/ArcaneEnergyCostDisjunctionOption"
|
|
1290
|
-
}
|
|
1291
|
-
}
|
|
1292
|
-
},
|
|
1293
|
-
"required": [
|
|
1294
|
-
"options"
|
|
1295
|
-
],
|
|
1296
|
-
"additionalProperties": false
|
|
1297
|
-
},
|
|
1298
|
-
"ArcaneEnergyCostDisjunctionInterval": {
|
|
1299
|
-
"type": "object",
|
|
1300
|
-
"properties": {
|
|
1301
|
-
"value": {
|
|
1302
|
-
"description": "The interval itself.",
|
|
1303
|
-
"$ref": "./_ActivatableSkillDuration.schema.json#/$defs/DurationUnitValue"
|
|
1304
|
-
},
|
|
1305
|
-
"activation_value": {
|
|
1306
|
-
"description": "The AE cost value for activation.",
|
|
1307
|
-
"type": "integer",
|
|
1308
|
-
"minimum": 1
|
|
1309
|
-
},
|
|
1310
|
-
"after_activation": {
|
|
1311
|
-
"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 end of the cast usually already counts as part of the first interval.",
|
|
1312
|
-
"type": "boolean"
|
|
1313
|
-
}
|
|
1314
|
-
},
|
|
1315
|
-
"required": [
|
|
1316
|
-
"value",
|
|
1317
|
-
"activation_value",
|
|
1318
|
-
"after_activation"
|
|
1319
|
-
],
|
|
1320
|
-
"additionalProperties": false
|
|
1321
|
-
},
|
|
1322
|
-
"ArcaneEnergyCostDisjunctionOption": {
|
|
1323
|
-
"type": "object",
|
|
1324
|
-
"properties": {
|
|
1325
|
-
"value": {
|
|
1326
|
-
"description": "A possible AE cost value.",
|
|
1327
|
-
"type": "integer",
|
|
1328
|
-
"minimum": 1
|
|
1329
|
-
},
|
|
1330
|
-
"translations": {
|
|
1331
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1332
|
-
"type": "object",
|
|
1333
|
-
"patternProperties": {
|
|
1334
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1335
|
-
"$ref": "#/$defs/ArcaneEnergyCostDisjunctionOptionTranslation"
|
|
1336
|
-
}
|
|
1337
|
-
},
|
|
1338
|
-
"minProperties": 1,
|
|
1339
|
-
"additionalProperties": false
|
|
1340
|
-
}
|
|
1341
|
-
},
|
|
1342
|
-
"required": [
|
|
1343
|
-
"value"
|
|
1344
|
-
],
|
|
1345
|
-
"additionalProperties": false
|
|
1346
|
-
},
|
|
1347
|
-
"ArcaneEnergyCostDisjunctionOptionTranslation": {
|
|
1348
|
-
"type": "object",
|
|
1349
|
-
"properties": {
|
|
1350
|
-
"note": {
|
|
1351
|
-
"description": "A note, appended to the generated option string in parenthesis.",
|
|
1352
|
-
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1353
|
-
}
|
|
1354
|
-
},
|
|
1355
|
-
"required": [],
|
|
1356
|
-
"minProperties": 1,
|
|
1357
|
-
"additionalProperties": false
|
|
1358
|
-
},
|
|
1359
|
-
"NoArcaneEnergyCost": {
|
|
1360
|
-
"type": "object",
|
|
1361
|
-
"properties": {
|
|
1362
|
-
"translations": {
|
|
1363
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1364
|
-
"type": "object",
|
|
1365
|
-
"patternProperties": {
|
|
1366
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1367
|
-
"$ref": "#/$defs/NoArcaneEnergyCostTranslation"
|
|
1368
|
-
}
|
|
1369
|
-
},
|
|
1370
|
-
"minProperties": 1,
|
|
1371
|
-
"additionalProperties": false
|
|
1372
|
-
}
|
|
1373
|
-
},
|
|
1374
|
-
"required": [],
|
|
1375
|
-
"additionalProperties": false
|
|
1376
|
-
},
|
|
1377
|
-
"NoArcaneEnergyCostTranslation": {
|
|
1378
|
-
"type": "object",
|
|
1379
|
-
"properties": {
|
|
1380
|
-
"note": {
|
|
1381
|
-
"description": "A note, appended to the generated string in parenthesis.",
|
|
1382
|
-
"$ref": "./_ResponsiveText.schema.json#/$defs/ResponsiveTextOptional"
|
|
1383
|
-
}
|
|
1384
|
-
},
|
|
1385
|
-
"required": [],
|
|
1386
|
-
"minProperties": 1,
|
|
1387
|
-
"additionalProperties": false
|
|
1388
|
-
},
|
|
1389
|
-
"Volume": {
|
|
1390
|
-
"description": "The volume points the enchantment needs.",
|
|
1391
|
-
"oneOf": [
|
|
1392
|
-
{
|
|
1393
|
-
"type": "object",
|
|
1394
|
-
"properties": {
|
|
1395
|
-
"tag": {
|
|
1396
|
-
"const": "Fixed"
|
|
1397
|
-
},
|
|
1398
|
-
"fixed": {
|
|
1399
|
-
"$ref": "#/$defs/FixedVolume"
|
|
1400
|
-
}
|
|
1401
|
-
},
|
|
1402
|
-
"required": [
|
|
1403
|
-
"tag",
|
|
1404
|
-
"fixed"
|
|
1405
|
-
],
|
|
1406
|
-
"additionalProperties": false
|
|
1407
|
-
},
|
|
1408
|
-
{
|
|
1409
|
-
"type": "object",
|
|
1410
|
-
"properties": {
|
|
1411
|
-
"tag": {
|
|
1412
|
-
"const": "PerLevel"
|
|
1413
|
-
},
|
|
1414
|
-
"per_level": {
|
|
1415
|
-
"$ref": "#/$defs/VolumePerLevel"
|
|
1416
|
-
}
|
|
1417
|
-
},
|
|
1418
|
-
"required": [
|
|
1419
|
-
"tag",
|
|
1420
|
-
"per_level"
|
|
1421
|
-
],
|
|
1422
|
-
"additionalProperties": false
|
|
1423
|
-
},
|
|
1424
|
-
{
|
|
1425
|
-
"type": "object",
|
|
1426
|
-
"properties": {
|
|
1427
|
-
"tag": {
|
|
1428
|
-
"const": "ByLevel"
|
|
1429
|
-
},
|
|
1430
|
-
"by_level": {
|
|
1431
|
-
"$ref": "#/$defs/VolumeByLevel"
|
|
1432
|
-
}
|
|
1433
|
-
},
|
|
1434
|
-
"required": [
|
|
1435
|
-
"tag",
|
|
1436
|
-
"by_level"
|
|
1437
|
-
],
|
|
1438
|
-
"additionalProperties": false
|
|
1439
|
-
},
|
|
1440
|
-
{
|
|
1441
|
-
"type": "object",
|
|
1442
|
-
"properties": {
|
|
1443
|
-
"tag": {
|
|
1444
|
-
"const": "Map"
|
|
1445
|
-
},
|
|
1446
|
-
"map": {
|
|
1447
|
-
"$ref": "#/$defs/VolumeMap"
|
|
1448
|
-
}
|
|
1449
|
-
},
|
|
1450
|
-
"required": [
|
|
1451
|
-
"tag",
|
|
1452
|
-
"map"
|
|
1453
|
-
],
|
|
1454
|
-
"additionalProperties": false
|
|
1455
|
-
},
|
|
1456
|
-
{
|
|
1457
|
-
"type": "object",
|
|
1458
|
-
"properties": {
|
|
1459
|
-
"tag": {
|
|
1460
|
-
"const": "DerivedFromSelection"
|
|
1461
|
-
},
|
|
1462
|
-
"derived_from_selection": {
|
|
1463
|
-
"$ref": "#/$defs/VolumeDerivedFromSelection"
|
|
1464
|
-
}
|
|
1465
|
-
},
|
|
1466
|
-
"required": [
|
|
1467
|
-
"tag",
|
|
1468
|
-
"derived_from_selection"
|
|
1469
|
-
],
|
|
1470
|
-
"additionalProperties": false
|
|
1471
|
-
}
|
|
1472
|
-
]
|
|
1473
|
-
},
|
|
1474
|
-
"FixedVolume": {
|
|
1475
|
-
"type": "object",
|
|
1476
|
-
"properties": {
|
|
1477
|
-
"points": {
|
|
1478
|
-
"description": "The volume points.",
|
|
1479
|
-
"type": "integer",
|
|
1480
|
-
"minimum": 0
|
|
1481
|
-
}
|
|
1482
|
-
},
|
|
1483
|
-
"required": [
|
|
1484
|
-
"points"
|
|
1485
|
-
],
|
|
1486
|
-
"additionalProperties": false
|
|
1487
|
-
},
|
|
1488
|
-
"VolumePerLevel": {
|
|
1489
|
-
"type": "object",
|
|
1490
|
-
"properties": {
|
|
1491
|
-
"points": {
|
|
1492
|
-
"description": "The volume points per level.",
|
|
1493
|
-
"type": "integer",
|
|
1494
|
-
"minimum": 1
|
|
1495
|
-
}
|
|
1496
|
-
},
|
|
1497
|
-
"required": [
|
|
1498
|
-
"points"
|
|
1499
|
-
],
|
|
1500
|
-
"additionalProperties": false
|
|
1501
|
-
},
|
|
1502
|
-
"VolumeByLevel": {
|
|
1503
|
-
"type": "object",
|
|
1504
|
-
"properties": {
|
|
1505
|
-
"list": {
|
|
1506
|
-
"description": "The volume points for each level. The first element is the volume points for the first level, the second element is the volume points for the second level, and so on.",
|
|
1507
|
-
"type": "array",
|
|
1508
|
-
"items": {
|
|
1509
|
-
"$ref": "#/$defs/VolumeByLevelItem"
|
|
1510
|
-
},
|
|
1511
|
-
"minItems": 2
|
|
1512
|
-
}
|
|
1513
|
-
},
|
|
1514
|
-
"required": [
|
|
1515
|
-
"list"
|
|
1516
|
-
],
|
|
1517
|
-
"additionalProperties": false
|
|
1518
|
-
},
|
|
1519
|
-
"VolumeByLevelItem": {
|
|
1520
|
-
"type": "object",
|
|
1521
|
-
"properties": {
|
|
1522
|
-
"points": {
|
|
1523
|
-
"description": "The volume points for this level.",
|
|
1524
|
-
"type": "integer",
|
|
1525
|
-
"minimum": 0
|
|
1526
|
-
}
|
|
1527
|
-
},
|
|
1528
|
-
"required": [
|
|
1529
|
-
"points"
|
|
1530
|
-
],
|
|
1531
|
-
"additionalProperties": false
|
|
1532
|
-
},
|
|
1533
|
-
"VolumeMap": {
|
|
1534
|
-
"description": "A content that is `3/4/5 Points for Chimera, Daimonid, Golems, Undead / Fairies, Ghosts / Demons, Elementals` may be respresented as the following map:\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 options are not present in the example, but they link to the options the volume specification is meant for.",
|
|
1535
|
-
"type": "object",
|
|
1536
|
-
"properties": {
|
|
1537
|
-
"options": {
|
|
1538
|
-
"description": "The possible costs and associated labels.",
|
|
1539
|
-
"type": "array",
|
|
1540
|
-
"items": {
|
|
1541
|
-
"$ref": "#/$defs/VolumeMapOption"
|
|
1542
|
-
},
|
|
1543
|
-
"minItems": 2
|
|
1544
|
-
},
|
|
1545
|
-
"translations": {
|
|
1546
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1547
|
-
"type": "object",
|
|
1548
|
-
"patternProperties": {
|
|
1549
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1550
|
-
"$ref": "#/$defs/VolumeMapTranslation"
|
|
1551
|
-
}
|
|
1552
|
-
},
|
|
1553
|
-
"minProperties": 1,
|
|
1554
|
-
"additionalProperties": false
|
|
1555
|
-
}
|
|
1556
|
-
},
|
|
1557
|
-
"required": [
|
|
1558
|
-
"options"
|
|
1559
|
-
],
|
|
1560
|
-
"additionalProperties": false
|
|
1561
|
-
},
|
|
1562
|
-
"VolumeMapTranslation": {
|
|
1563
|
-
"type": "object",
|
|
1564
|
-
"properties": {
|
|
1565
|
-
"list_prepend": {
|
|
1566
|
-
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
1567
|
-
"type": "string"
|
|
1568
|
-
},
|
|
1569
|
-
"list_append": {
|
|
1570
|
-
"description": "Place a string after the grouped map option labels.",
|
|
1571
|
-
"type": "string"
|
|
1572
|
-
},
|
|
1573
|
-
"replacement": {
|
|
1574
|
-
"description": "If the string from the book cannot be generated using the default generation technique, use this string. All options still need to be inserted propertly, since it may be used by in-game tools to provide a selection to players.",
|
|
1575
|
-
"type": "string"
|
|
1576
|
-
}
|
|
1577
|
-
},
|
|
1578
|
-
"required": [],
|
|
1579
|
-
"minProperties": 1,
|
|
1580
|
-
"additionalProperties": false
|
|
1581
|
-
},
|
|
1582
|
-
"VolumeMapOption": {
|
|
1583
|
-
"type": "object",
|
|
1584
|
-
"properties": {
|
|
1585
|
-
"points": {
|
|
1586
|
-
"description": "The full permanent AE cost value for this option.",
|
|
1587
|
-
"type": "integer",
|
|
1588
|
-
"minimum": 1
|
|
1589
|
-
},
|
|
1590
|
-
"associated_options": {
|
|
1591
|
-
"description": "Links to the options this volume specification is meant for.",
|
|
1592
|
-
"type": "array",
|
|
1593
|
-
"items": {
|
|
1594
|
-
"$ref": "#/$defs/VolumeMapOptionAssociatedOption"
|
|
1595
|
-
}
|
|
1596
|
-
},
|
|
1597
|
-
"translations": {
|
|
1598
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1599
|
-
"type": "object",
|
|
1600
|
-
"patternProperties": {
|
|
1601
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1602
|
-
"$ref": "#/$defs/VolumeMapOptionTranslation"
|
|
1603
|
-
}
|
|
1604
|
-
},
|
|
1605
|
-
"minProperties": 1,
|
|
1606
|
-
"additionalProperties": false
|
|
1607
|
-
}
|
|
1608
|
-
},
|
|
1609
|
-
"required": [
|
|
1610
|
-
"points",
|
|
1611
|
-
"associated_options"
|
|
1612
|
-
],
|
|
1613
|
-
"additionalProperties": false
|
|
1614
|
-
},
|
|
1615
|
-
"VolumeMapOptionAssociatedOption": {
|
|
1616
|
-
"type": "object",
|
|
1617
|
-
"properties": {
|
|
1618
|
-
"id": {
|
|
1619
|
-
"description": "The option's identifier.",
|
|
1620
|
-
"$ref": "./_IdentifierGroup.schema.json#/$defs/VolumePointsOptionReferenceIdentifier"
|
|
1621
|
-
}
|
|
1622
|
-
},
|
|
1623
|
-
"required": [
|
|
1624
|
-
"id"
|
|
1625
|
-
],
|
|
1626
|
-
"additionalProperties": false
|
|
1627
|
-
},
|
|
1628
|
-
"VolumeMapOptionTranslation": {
|
|
1629
|
-
"type": "object",
|
|
1630
|
-
"properties": {
|
|
1631
|
-
"label": {
|
|
1632
|
-
"description": "The description of the option for cost string generation.",
|
|
1633
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1634
|
-
},
|
|
1635
|
-
"label_standalone": {
|
|
1636
|
-
"description": "The description of the option if used standalone. Only used if different from `label`.",
|
|
1637
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1638
|
-
}
|
|
1639
|
-
},
|
|
1640
|
-
"required": [
|
|
1641
|
-
"label"
|
|
1642
|
-
],
|
|
1643
|
-
"additionalProperties": false
|
|
1644
|
-
},
|
|
1645
|
-
"VolumeDerivedFromSelection": {
|
|
1646
|
-
"type": "object",
|
|
1647
|
-
"properties": {
|
|
1648
|
-
"fallback": {
|
|
1649
|
-
"description": "The volume for the selection if it does not define a specific one.",
|
|
1650
|
-
"type": "integer",
|
|
1651
|
-
"minimum": 0
|
|
1652
|
-
}
|
|
1653
|
-
},
|
|
1654
|
-
"required": [
|
|
1655
|
-
"fallback"
|
|
1656
|
-
],
|
|
1657
|
-
"additionalProperties": false
|
|
1658
|
-
},
|
|
1659
|
-
"BindingCost": {
|
|
1660
|
-
"description": "The binding cost for an enchantment.",
|
|
1661
|
-
"oneOf": [
|
|
1662
|
-
{
|
|
1663
|
-
"type": "object",
|
|
1664
|
-
"properties": {
|
|
1665
|
-
"tag": {
|
|
1666
|
-
"const": "Fixed"
|
|
1667
|
-
},
|
|
1668
|
-
"fixed": {
|
|
1669
|
-
"$ref": "#/$defs/FixedBindingCost"
|
|
1670
|
-
}
|
|
1671
|
-
},
|
|
1672
|
-
"required": [
|
|
1673
|
-
"tag",
|
|
1674
|
-
"fixed"
|
|
1675
|
-
],
|
|
1676
|
-
"additionalProperties": false
|
|
1677
|
-
},
|
|
1678
|
-
{
|
|
1679
|
-
"type": "object",
|
|
1680
|
-
"properties": {
|
|
1681
|
-
"tag": {
|
|
1682
|
-
"const": "PerLevel"
|
|
1683
|
-
},
|
|
1684
|
-
"per_level": {
|
|
1685
|
-
"$ref": "#/$defs/BindingCostPerLevel"
|
|
1686
|
-
}
|
|
1687
|
-
},
|
|
1688
|
-
"required": [
|
|
1689
|
-
"tag",
|
|
1690
|
-
"per_level"
|
|
1691
|
-
],
|
|
1692
|
-
"additionalProperties": false
|
|
1693
|
-
},
|
|
1694
|
-
{
|
|
1695
|
-
"type": "object",
|
|
1696
|
-
"properties": {
|
|
1697
|
-
"tag": {
|
|
1698
|
-
"const": "Map"
|
|
1699
|
-
},
|
|
1700
|
-
"map": {
|
|
1701
|
-
"$ref": "#/$defs/BindingCostMap"
|
|
1702
|
-
}
|
|
1703
|
-
},
|
|
1704
|
-
"required": [
|
|
1705
|
-
"tag",
|
|
1706
|
-
"map"
|
|
1707
|
-
],
|
|
1708
|
-
"additionalProperties": false
|
|
1709
|
-
},
|
|
1710
|
-
{
|
|
1711
|
-
"type": "object",
|
|
1712
|
-
"properties": {
|
|
1713
|
-
"tag": {
|
|
1714
|
-
"const": "DerivedFromSelection"
|
|
1715
|
-
},
|
|
1716
|
-
"derived_from_selection": {
|
|
1717
|
-
"$ref": "#/$defs/BindingCostDerivedFromSelection"
|
|
1718
|
-
}
|
|
1719
|
-
},
|
|
1720
|
-
"required": [
|
|
1721
|
-
"tag",
|
|
1722
|
-
"derived_from_selection"
|
|
1723
|
-
],
|
|
1724
|
-
"additionalProperties": false
|
|
1725
|
-
}
|
|
1726
|
-
]
|
|
1727
|
-
},
|
|
1728
|
-
"FixedBindingCost": {
|
|
1729
|
-
"type": "object",
|
|
1730
|
-
"properties": {
|
|
1731
|
-
"permanent_value": {
|
|
1732
|
-
"description": "The permanent AE cost.\n\nIf the enchantment has multiple levels, it is only applied for the first level.",
|
|
1733
|
-
"type": "integer",
|
|
1734
|
-
"minimum": 1
|
|
1735
|
-
}
|
|
1736
|
-
},
|
|
1737
|
-
"required": [
|
|
1738
|
-
"permanent_value"
|
|
1739
|
-
],
|
|
1740
|
-
"additionalProperties": false
|
|
1741
|
-
},
|
|
1742
|
-
"BindingCostPerLevel": {
|
|
1743
|
-
"type": "object",
|
|
1744
|
-
"properties": {
|
|
1745
|
-
"permanent_value": {
|
|
1746
|
-
"description": "The permanent AE cost per level.",
|
|
1747
|
-
"type": "integer",
|
|
1748
|
-
"minimum": 1
|
|
1749
|
-
}
|
|
1750
|
-
},
|
|
1751
|
-
"required": [
|
|
1752
|
-
"permanent_value"
|
|
1753
|
-
],
|
|
1754
|
-
"additionalProperties": false
|
|
1755
|
-
},
|
|
1756
|
-
"BindingCostMap": {
|
|
1757
|
-
"description": "A content that is `2/4/8 permanent AE for spell-swords with the combat technique Daggers, Swords, or Two-Handed Swords` may be respresented as the following 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.",
|
|
1758
|
-
"type": "object",
|
|
1759
|
-
"properties": {
|
|
1760
|
-
"options": {
|
|
1761
|
-
"description": "The possible costs and associated labels.",
|
|
1762
|
-
"type": "array",
|
|
1763
|
-
"items": {
|
|
1764
|
-
"$ref": "#/$defs/VolumeMapOption"
|
|
1765
|
-
},
|
|
1766
|
-
"minItems": 2
|
|
1767
|
-
},
|
|
1768
|
-
"translations": {
|
|
1769
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1770
|
-
"type": "object",
|
|
1771
|
-
"patternProperties": {
|
|
1772
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1773
|
-
"$ref": "#/$defs/BindingCostMapTranslation"
|
|
1774
|
-
}
|
|
1775
|
-
},
|
|
1776
|
-
"minProperties": 1,
|
|
1777
|
-
"additionalProperties": false
|
|
1778
|
-
}
|
|
1779
|
-
},
|
|
1780
|
-
"required": [
|
|
1781
|
-
"options"
|
|
1782
|
-
],
|
|
1783
|
-
"additionalProperties": false
|
|
1784
|
-
},
|
|
1785
|
-
"BindingCostMapTranslation": {
|
|
1786
|
-
"type": "object",
|
|
1787
|
-
"properties": {
|
|
1788
|
-
"list_prepend": {
|
|
1789
|
-
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
1790
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1791
|
-
},
|
|
1792
|
-
"list_append": {
|
|
1793
|
-
"description": "Place a string after the grouped map option labels.",
|
|
1794
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1795
|
-
},
|
|
1796
|
-
"replacement": {
|
|
1797
|
-
"description": "If the string from the book cannot be generated using the default generation technique, use this string. All options still need to be inserted propertly, since it may be used by in-game tools to provide a selection to players.",
|
|
1798
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1799
|
-
}
|
|
1800
|
-
},
|
|
1801
|
-
"required": [],
|
|
1802
|
-
"minProperties": 1,
|
|
1803
|
-
"additionalProperties": false
|
|
1804
|
-
},
|
|
1805
|
-
"BindingCostMapOption": {
|
|
1806
|
-
"type": "object",
|
|
1807
|
-
"properties": {
|
|
1808
|
-
"permanent_value": {
|
|
1809
|
-
"description": "The full permanent AE cost value for this option.",
|
|
1810
|
-
"type": "integer",
|
|
1811
|
-
"minimum": 1
|
|
1812
|
-
},
|
|
1813
|
-
"translations": {
|
|
1814
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1815
|
-
"type": "object",
|
|
1816
|
-
"patternProperties": {
|
|
1817
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1818
|
-
"$ref": "#/$defs/BindingCostMapOptionTranslation"
|
|
1819
|
-
}
|
|
1820
|
-
},
|
|
1821
|
-
"minProperties": 1,
|
|
1822
|
-
"additionalProperties": false
|
|
1823
|
-
}
|
|
1824
|
-
},
|
|
1825
|
-
"required": [
|
|
1826
|
-
"permanent_value"
|
|
1827
|
-
],
|
|
1828
|
-
"additionalProperties": false
|
|
1829
|
-
},
|
|
1830
|
-
"BindingCostMapOptionTranslation": {
|
|
1831
|
-
"type": "object",
|
|
1832
|
-
"properties": {
|
|
1833
|
-
"label": {
|
|
1834
|
-
"description": "The description of the option for cost string generation.",
|
|
1835
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1836
|
-
},
|
|
1837
|
-
"label_standalone": {
|
|
1838
|
-
"description": "The description of the option if used standalone. Only used if different from `label`.",
|
|
1839
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
1840
|
-
}
|
|
1841
|
-
},
|
|
1842
|
-
"required": [
|
|
1843
|
-
"label"
|
|
1844
|
-
],
|
|
1845
|
-
"additionalProperties": false
|
|
1846
|
-
},
|
|
1847
|
-
"BindingCostDerivedFromSelection": {
|
|
1848
|
-
"type": "object",
|
|
1849
|
-
"properties": {
|
|
1850
|
-
"fallback": {
|
|
1851
|
-
"description": "The binding cost for the selection if it does not define a specific one.",
|
|
1852
|
-
"type": "integer",
|
|
1853
|
-
"minimum": 0
|
|
1854
|
-
}
|
|
1855
|
-
},
|
|
1856
|
-
"required": [
|
|
1857
|
-
"fallback"
|
|
1858
|
-
],
|
|
1859
|
-
"additionalProperties": false
|
|
1860
|
-
},
|
|
1861
|
-
"PropertyDeclaration": {
|
|
1862
|
-
"description": "The magic property's identifier. `DependingOnProperty` can only be used if the special ability has an option to select a property.",
|
|
1863
|
-
"oneOf": [
|
|
1864
|
-
{
|
|
1865
|
-
"type": "object",
|
|
1866
|
-
"properties": {
|
|
1867
|
-
"tag": {
|
|
1868
|
-
"const": "DependingOnSelection"
|
|
1869
|
-
},
|
|
1870
|
-
"depending_on_selection": {
|
|
1871
|
-
"type": "object",
|
|
1872
|
-
"properties": {},
|
|
1873
|
-
"required": [],
|
|
1874
|
-
"additionalProperties": false
|
|
1875
|
-
}
|
|
1876
|
-
},
|
|
1877
|
-
"required": [
|
|
1878
|
-
"tag",
|
|
1879
|
-
"depending_on_selection"
|
|
1880
|
-
],
|
|
1881
|
-
"additionalProperties": false
|
|
1882
|
-
},
|
|
1883
|
-
{
|
|
1884
|
-
"type": "object",
|
|
1885
|
-
"properties": {
|
|
1886
|
-
"tag": {
|
|
1887
|
-
"const": "Fixed"
|
|
1888
|
-
},
|
|
1889
|
-
"fixed": {
|
|
1890
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/PropertyReference"
|
|
1891
|
-
}
|
|
1892
|
-
},
|
|
1893
|
-
"required": [
|
|
1894
|
-
"tag",
|
|
1895
|
-
"fixed"
|
|
1896
|
-
],
|
|
1897
|
-
"additionalProperties": false
|
|
1898
|
-
}
|
|
1899
|
-
]
|
|
1900
|
-
},
|
|
1901
|
-
"AspectDeclaration": {
|
|
1902
|
-
"description": "The blessed aspect.",
|
|
1903
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/AspectReference"
|
|
1904
|
-
},
|
|
1905
|
-
"AdvancedSpecialAbilityDerivedExternalEntryId": {
|
|
1906
|
-
"$ref": "./_Identifier.schema.json#/$defs/MagicalTraditionIdentifier"
|
|
1907
|
-
},
|
|
1908
|
-
"AdvancedSpecialAbilityDerivedExternalEntryOptionId": {
|
|
1909
|
-
"$ref": "./_Identifier.schema.json#/$defs/PatronIdentifier"
|
|
1910
|
-
},
|
|
1911
|
-
"PrerequisitesReplacement": {
|
|
1912
|
-
"description": "The prerequisites text. It is only used if the text cannot be generated from the given information.",
|
|
1913
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
1914
|
-
},
|
|
1915
|
-
"ApplicableCombatTechniques": {
|
|
1916
|
-
"oneOf": [
|
|
1917
|
-
{
|
|
1918
|
-
"type": "object",
|
|
1919
|
-
"properties": {
|
|
1920
|
-
"tag": {
|
|
1921
|
-
"const": "None"
|
|
1922
|
-
},
|
|
1923
|
-
"none": {
|
|
1924
|
-
"type": "object",
|
|
1925
|
-
"properties": {},
|
|
1926
|
-
"required": [],
|
|
1927
|
-
"additionalProperties": false
|
|
1928
|
-
}
|
|
1929
|
-
},
|
|
1930
|
-
"required": [
|
|
1931
|
-
"tag",
|
|
1932
|
-
"none"
|
|
1933
|
-
],
|
|
1934
|
-
"additionalProperties": false
|
|
1935
|
-
},
|
|
1936
|
-
{
|
|
1937
|
-
"type": "object",
|
|
1938
|
-
"properties": {
|
|
1939
|
-
"tag": {
|
|
1940
|
-
"const": "DependingOnCombatStyle"
|
|
1941
|
-
},
|
|
1942
|
-
"depending_on_combat_style": {
|
|
1943
|
-
"type": "object",
|
|
1944
|
-
"properties": {},
|
|
1945
|
-
"required": [],
|
|
1946
|
-
"additionalProperties": false
|
|
1947
|
-
}
|
|
1948
|
-
},
|
|
1949
|
-
"required": [
|
|
1950
|
-
"tag",
|
|
1951
|
-
"depending_on_combat_style"
|
|
1952
|
-
],
|
|
1953
|
-
"additionalProperties": false
|
|
1954
|
-
},
|
|
1955
|
-
{
|
|
1956
|
-
"type": "object",
|
|
1957
|
-
"properties": {
|
|
1958
|
-
"tag": {
|
|
1959
|
-
"const": "All"
|
|
1960
|
-
},
|
|
1961
|
-
"all": {
|
|
1962
|
-
"$ref": "#/$defs/AllApplicableCombatTechniques"
|
|
1963
|
-
}
|
|
1964
|
-
},
|
|
1965
|
-
"required": [
|
|
1966
|
-
"tag",
|
|
1967
|
-
"all"
|
|
1968
|
-
],
|
|
1969
|
-
"additionalProperties": false
|
|
1970
|
-
},
|
|
1971
|
-
{
|
|
1972
|
-
"type": "object",
|
|
1973
|
-
"properties": {
|
|
1974
|
-
"tag": {
|
|
1975
|
-
"const": "AllClose"
|
|
1976
|
-
},
|
|
1977
|
-
"all_close": {
|
|
1978
|
-
"$ref": "#/$defs/AllApplicableCloseCombatTechniques"
|
|
1979
|
-
}
|
|
1980
|
-
},
|
|
1981
|
-
"required": [
|
|
1982
|
-
"tag",
|
|
1983
|
-
"all_close"
|
|
1984
|
-
],
|
|
1985
|
-
"additionalProperties": false
|
|
1986
|
-
},
|
|
1987
|
-
{
|
|
1988
|
-
"type": "object",
|
|
1989
|
-
"properties": {
|
|
1990
|
-
"tag": {
|
|
1991
|
-
"const": "AllRanged"
|
|
1992
|
-
},
|
|
1993
|
-
"all_ranged": {
|
|
1994
|
-
"$ref": "#/$defs/AllApplicableRangedCombatTechniques"
|
|
1995
|
-
}
|
|
1996
|
-
},
|
|
1997
|
-
"required": [
|
|
1998
|
-
"tag",
|
|
1999
|
-
"all_ranged"
|
|
2000
|
-
],
|
|
2001
|
-
"additionalProperties": false
|
|
2002
|
-
},
|
|
2003
|
-
{
|
|
2004
|
-
"type": "object",
|
|
2005
|
-
"properties": {
|
|
2006
|
-
"tag": {
|
|
2007
|
-
"const": "Specific"
|
|
2008
|
-
},
|
|
2009
|
-
"specific": {
|
|
2010
|
-
"$ref": "#/$defs/SpecificApplicableCombatTechniques"
|
|
2011
|
-
}
|
|
2012
|
-
},
|
|
2013
|
-
"required": [
|
|
2014
|
-
"tag",
|
|
2015
|
-
"specific"
|
|
2016
|
-
],
|
|
2017
|
-
"additionalProperties": false
|
|
2018
|
-
}
|
|
2019
|
-
]
|
|
2020
|
-
},
|
|
2021
|
-
"AllApplicableCombatTechniques": {
|
|
2022
|
-
"type": "object",
|
|
2023
|
-
"properties": {
|
|
2024
|
-
"restrictions": {
|
|
2025
|
-
"type": "array",
|
|
2026
|
-
"items": {
|
|
2027
|
-
"$ref": "#/$defs/ApplicableAllCombatTechniquesRestriction"
|
|
2028
|
-
},
|
|
2029
|
-
"minItems": 1
|
|
2030
|
-
}
|
|
2031
|
-
},
|
|
2032
|
-
"required": [],
|
|
2033
|
-
"additionalProperties": false
|
|
2034
|
-
},
|
|
2035
|
-
"AllApplicableCloseCombatTechniques": {
|
|
2036
|
-
"type": "object",
|
|
2037
|
-
"properties": {
|
|
2038
|
-
"restrictions": {
|
|
2039
|
-
"type": "array",
|
|
2040
|
-
"items": {
|
|
2041
|
-
"$ref": "#/$defs/ApplicableCloseCombatTechniquesRestriction"
|
|
2042
|
-
},
|
|
2043
|
-
"minItems": 1
|
|
2044
|
-
}
|
|
2045
|
-
},
|
|
2046
|
-
"required": [],
|
|
2047
|
-
"additionalProperties": false
|
|
2048
|
-
},
|
|
2049
|
-
"AllApplicableRangedCombatTechniques": {
|
|
2050
|
-
"type": "object",
|
|
2051
|
-
"properties": {
|
|
2052
|
-
"restrictions": {
|
|
2053
|
-
"type": "array",
|
|
2054
|
-
"items": {
|
|
2055
|
-
"$ref": "#/$defs/ApplicableRangedCombatTechniquesRestriction"
|
|
2056
|
-
},
|
|
2057
|
-
"minItems": 1
|
|
2058
|
-
}
|
|
2059
|
-
},
|
|
2060
|
-
"required": [],
|
|
2061
|
-
"additionalProperties": false
|
|
2062
|
-
},
|
|
2063
|
-
"SpecificApplicableCombatTechniques": {
|
|
2064
|
-
"type": "object",
|
|
2065
|
-
"properties": {
|
|
2066
|
-
"list": {
|
|
2067
|
-
"type": "array",
|
|
2068
|
-
"items": {
|
|
2069
|
-
"$ref": "#/$defs/SpecificApplicableCombatTechnique"
|
|
2070
|
-
},
|
|
2071
|
-
"minItems": 1
|
|
2072
|
-
}
|
|
2073
|
-
},
|
|
2074
|
-
"required": [
|
|
2075
|
-
"list"
|
|
2076
|
-
],
|
|
2077
|
-
"additionalProperties": false
|
|
2078
|
-
},
|
|
2079
|
-
"SpecificApplicableCombatTechnique": {
|
|
2080
|
-
"type": "object",
|
|
2081
|
-
"properties": {
|
|
2082
|
-
"id": {
|
|
2083
|
-
"$ref": "./_IdentifierGroup.schema.json#/$defs/CombatTechniqueIdentifier"
|
|
2084
|
-
},
|
|
2085
|
-
"restrictions": {
|
|
2086
|
-
"type": "array",
|
|
2087
|
-
"items": {
|
|
2088
|
-
"$ref": "#/$defs/ApplicableSpecificCombatTechniquesRestriction"
|
|
2089
|
-
},
|
|
2090
|
-
"minItems": 1
|
|
2091
|
-
}
|
|
2092
|
-
},
|
|
2093
|
-
"required": [
|
|
2094
|
-
"id"
|
|
2095
|
-
],
|
|
2096
|
-
"additionalProperties": false
|
|
2097
|
-
},
|
|
2098
|
-
"ApplicableAllCombatTechniquesRestriction": {
|
|
2099
|
-
"oneOf": [
|
|
2100
|
-
{
|
|
2101
|
-
"type": "object",
|
|
2102
|
-
"properties": {
|
|
2103
|
-
"tag": {
|
|
2104
|
-
"const": "Improvised"
|
|
2105
|
-
},
|
|
2106
|
-
"improvised": {
|
|
2107
|
-
"type": "object",
|
|
2108
|
-
"properties": {},
|
|
2109
|
-
"required": [],
|
|
2110
|
-
"additionalProperties": false
|
|
2111
|
-
}
|
|
2112
|
-
},
|
|
2113
|
-
"required": [
|
|
2114
|
-
"tag",
|
|
2115
|
-
"improvised"
|
|
2116
|
-
],
|
|
2117
|
-
"additionalProperties": false
|
|
2118
|
-
},
|
|
2119
|
-
{
|
|
2120
|
-
"type": "object",
|
|
2121
|
-
"properties": {
|
|
2122
|
-
"tag": {
|
|
2123
|
-
"const": "PointedBlade"
|
|
2124
|
-
},
|
|
2125
|
-
"pointed_blade": {
|
|
2126
|
-
"type": "object",
|
|
2127
|
-
"properties": {},
|
|
2128
|
-
"required": [],
|
|
2129
|
-
"additionalProperties": false
|
|
2130
|
-
}
|
|
2131
|
-
},
|
|
2132
|
-
"required": [
|
|
2133
|
-
"tag",
|
|
2134
|
-
"pointed_blade"
|
|
2135
|
-
],
|
|
2136
|
-
"additionalProperties": false
|
|
2137
|
-
},
|
|
2138
|
-
{
|
|
2139
|
-
"type": "object",
|
|
2140
|
-
"properties": {
|
|
2141
|
-
"tag": {
|
|
2142
|
-
"const": "Mount"
|
|
2143
|
-
},
|
|
2144
|
-
"mount": {
|
|
2145
|
-
"type": "object",
|
|
2146
|
-
"properties": {},
|
|
2147
|
-
"required": [],
|
|
2148
|
-
"additionalProperties": false
|
|
2149
|
-
}
|
|
2150
|
-
},
|
|
2151
|
-
"required": [
|
|
2152
|
-
"tag",
|
|
2153
|
-
"mount"
|
|
2154
|
-
],
|
|
2155
|
-
"additionalProperties": false
|
|
2156
|
-
},
|
|
2157
|
-
{
|
|
2158
|
-
"type": "object",
|
|
2159
|
-
"properties": {
|
|
2160
|
-
"tag": {
|
|
2161
|
-
"const": "Race"
|
|
2162
|
-
},
|
|
2163
|
-
"race": {
|
|
2164
|
-
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
2165
|
-
}
|
|
2166
|
-
},
|
|
2167
|
-
"required": [
|
|
2168
|
-
"tag",
|
|
2169
|
-
"race"
|
|
2170
|
-
],
|
|
2171
|
-
"additionalProperties": false
|
|
2172
|
-
},
|
|
2173
|
-
{
|
|
2174
|
-
"type": "object",
|
|
2175
|
-
"properties": {
|
|
2176
|
-
"tag": {
|
|
2177
|
-
"const": "ExcludeCombatTechniques"
|
|
2178
|
-
},
|
|
2179
|
-
"exclude_combat_techniques": {
|
|
2180
|
-
"type": "object",
|
|
2181
|
-
"properties": {
|
|
2182
|
-
"list": {
|
|
2183
|
-
"description": "The combat techniques this combat special ability is **not** applicable to.",
|
|
2184
|
-
"type": "array",
|
|
2185
|
-
"items": {
|
|
2186
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/CombatTechniqueReference"
|
|
2187
|
-
},
|
|
2188
|
-
"minItems": 1,
|
|
2189
|
-
"uniqueItems": true
|
|
2190
|
-
}
|
|
2191
|
-
},
|
|
2192
|
-
"required": [
|
|
2193
|
-
"list"
|
|
2194
|
-
],
|
|
2195
|
-
"additionalProperties": false
|
|
2196
|
-
}
|
|
2197
|
-
},
|
|
2198
|
-
"required": [
|
|
2199
|
-
"tag",
|
|
2200
|
-
"exclude_combat_techniques"
|
|
2201
|
-
],
|
|
2202
|
-
"additionalProperties": false
|
|
2203
|
-
}
|
|
2204
|
-
]
|
|
2205
|
-
},
|
|
2206
|
-
"ApplicableCloseCombatTechniquesRestriction": {
|
|
2207
|
-
"oneOf": [
|
|
2208
|
-
{
|
|
2209
|
-
"type": "object",
|
|
2210
|
-
"properties": {
|
|
2211
|
-
"tag": {
|
|
2212
|
-
"const": "Improvised"
|
|
2213
|
-
},
|
|
2214
|
-
"improvised": {
|
|
2215
|
-
"type": "object",
|
|
2216
|
-
"properties": {},
|
|
2217
|
-
"required": [],
|
|
2218
|
-
"additionalProperties": false
|
|
2219
|
-
}
|
|
2220
|
-
},
|
|
2221
|
-
"required": [
|
|
2222
|
-
"tag",
|
|
2223
|
-
"improvised"
|
|
2224
|
-
],
|
|
2225
|
-
"additionalProperties": false
|
|
2226
|
-
},
|
|
2227
|
-
{
|
|
2228
|
-
"type": "object",
|
|
2229
|
-
"properties": {
|
|
2230
|
-
"tag": {
|
|
2231
|
-
"const": "PointedBlade"
|
|
2232
|
-
},
|
|
2233
|
-
"pointed_blade": {
|
|
2234
|
-
"type": "object",
|
|
2235
|
-
"properties": {},
|
|
2236
|
-
"required": [],
|
|
2237
|
-
"additionalProperties": false
|
|
2238
|
-
}
|
|
2239
|
-
},
|
|
2240
|
-
"required": [
|
|
2241
|
-
"tag",
|
|
2242
|
-
"pointed_blade"
|
|
2243
|
-
],
|
|
2244
|
-
"additionalProperties": false
|
|
2245
|
-
},
|
|
2246
|
-
{
|
|
2247
|
-
"type": "object",
|
|
2248
|
-
"properties": {
|
|
2249
|
-
"tag": {
|
|
2250
|
-
"const": "Mount"
|
|
2251
|
-
},
|
|
2252
|
-
"mount": {
|
|
2253
|
-
"type": "object",
|
|
2254
|
-
"properties": {},
|
|
2255
|
-
"required": [],
|
|
2256
|
-
"additionalProperties": false
|
|
2257
|
-
}
|
|
2258
|
-
},
|
|
2259
|
-
"required": [
|
|
2260
|
-
"tag",
|
|
2261
|
-
"mount"
|
|
2262
|
-
],
|
|
2263
|
-
"additionalProperties": false
|
|
2264
|
-
},
|
|
2265
|
-
{
|
|
2266
|
-
"type": "object",
|
|
2267
|
-
"properties": {
|
|
2268
|
-
"tag": {
|
|
2269
|
-
"const": "HasParry"
|
|
2270
|
-
},
|
|
2271
|
-
"has_parry": {
|
|
2272
|
-
"type": "object",
|
|
2273
|
-
"properties": {},
|
|
2274
|
-
"required": [],
|
|
2275
|
-
"additionalProperties": false
|
|
2276
|
-
}
|
|
2277
|
-
},
|
|
2278
|
-
"required": [
|
|
2279
|
-
"tag",
|
|
2280
|
-
"has_parry"
|
|
2281
|
-
],
|
|
2282
|
-
"additionalProperties": false
|
|
2283
|
-
},
|
|
2284
|
-
{
|
|
2285
|
-
"type": "object",
|
|
2286
|
-
"properties": {
|
|
2287
|
-
"tag": {
|
|
2288
|
-
"const": "OneHanded"
|
|
2289
|
-
},
|
|
2290
|
-
"one_handed": {
|
|
2291
|
-
"type": "object",
|
|
2292
|
-
"properties": {},
|
|
2293
|
-
"required": [],
|
|
2294
|
-
"additionalProperties": false
|
|
2295
|
-
}
|
|
2296
|
-
},
|
|
2297
|
-
"required": [
|
|
2298
|
-
"tag",
|
|
2299
|
-
"one_handed"
|
|
2300
|
-
],
|
|
2301
|
-
"additionalProperties": false
|
|
2302
|
-
},
|
|
2303
|
-
{
|
|
2304
|
-
"type": "object",
|
|
2305
|
-
"properties": {
|
|
2306
|
-
"tag": {
|
|
2307
|
-
"const": "ParryingWeapon"
|
|
2308
|
-
},
|
|
2309
|
-
"parrying_weapon": {
|
|
2310
|
-
"type": "object",
|
|
2311
|
-
"properties": {},
|
|
2312
|
-
"required": [],
|
|
2313
|
-
"additionalProperties": false
|
|
2314
|
-
}
|
|
2315
|
-
},
|
|
2316
|
-
"required": [
|
|
2317
|
-
"tag",
|
|
2318
|
-
"parrying_weapon"
|
|
2319
|
-
],
|
|
2320
|
-
"additionalProperties": false
|
|
2321
|
-
},
|
|
2322
|
-
{
|
|
2323
|
-
"type": "object",
|
|
2324
|
-
"properties": {
|
|
2325
|
-
"tag": {
|
|
2326
|
-
"const": "Race"
|
|
2327
|
-
},
|
|
2328
|
-
"race": {
|
|
2329
|
-
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
2330
|
-
}
|
|
2331
|
-
},
|
|
2332
|
-
"required": [
|
|
2333
|
-
"tag",
|
|
2334
|
-
"race"
|
|
2335
|
-
],
|
|
2336
|
-
"additionalProperties": false
|
|
2337
|
-
},
|
|
2338
|
-
{
|
|
2339
|
-
"type": "object",
|
|
2340
|
-
"properties": {
|
|
2341
|
-
"tag": {
|
|
2342
|
-
"const": "ExcludeCombatTechniques"
|
|
2343
|
-
},
|
|
2344
|
-
"exclude_combat_techniques": {
|
|
2345
|
-
"type": "object",
|
|
2346
|
-
"properties": {
|
|
2347
|
-
"list": {
|
|
2348
|
-
"description": "The combat techniques this combat special ability is **not** applicable to.",
|
|
2349
|
-
"type": "array",
|
|
2350
|
-
"items": {
|
|
2351
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/CloseCombatTechniqueReference"
|
|
2352
|
-
},
|
|
2353
|
-
"minItems": 1,
|
|
2354
|
-
"uniqueItems": true
|
|
2355
|
-
}
|
|
2356
|
-
},
|
|
2357
|
-
"required": [
|
|
2358
|
-
"list"
|
|
2359
|
-
],
|
|
2360
|
-
"additionalProperties": false
|
|
2361
|
-
}
|
|
2362
|
-
},
|
|
2363
|
-
"required": [
|
|
2364
|
-
"tag",
|
|
2365
|
-
"exclude_combat_techniques"
|
|
2366
|
-
],
|
|
2367
|
-
"additionalProperties": false
|
|
2368
|
-
}
|
|
2369
|
-
]
|
|
2370
|
-
},
|
|
2371
|
-
"ApplicableRangedCombatTechniquesRestriction": {
|
|
2372
|
-
"oneOf": [
|
|
2373
|
-
{
|
|
2374
|
-
"type": "object",
|
|
2375
|
-
"properties": {
|
|
2376
|
-
"tag": {
|
|
2377
|
-
"const": "Improvised"
|
|
2378
|
-
},
|
|
2379
|
-
"improvised": {
|
|
2380
|
-
"type": "object",
|
|
2381
|
-
"properties": {},
|
|
2382
|
-
"required": [],
|
|
2383
|
-
"additionalProperties": false
|
|
2384
|
-
}
|
|
2385
|
-
},
|
|
2386
|
-
"required": [
|
|
2387
|
-
"tag",
|
|
2388
|
-
"improvised"
|
|
2389
|
-
],
|
|
2390
|
-
"additionalProperties": false
|
|
2391
|
-
},
|
|
2392
|
-
{
|
|
2393
|
-
"type": "object",
|
|
2394
|
-
"properties": {
|
|
2395
|
-
"tag": {
|
|
2396
|
-
"const": "PointedBlade"
|
|
2397
|
-
},
|
|
2398
|
-
"pointed_blade": {
|
|
2399
|
-
"type": "object",
|
|
2400
|
-
"properties": {},
|
|
2401
|
-
"required": [],
|
|
2402
|
-
"additionalProperties": false
|
|
2403
|
-
}
|
|
2404
|
-
},
|
|
2405
|
-
"required": [
|
|
2406
|
-
"tag",
|
|
2407
|
-
"pointed_blade"
|
|
2408
|
-
],
|
|
2409
|
-
"additionalProperties": false
|
|
2410
|
-
},
|
|
2411
|
-
{
|
|
2412
|
-
"type": "object",
|
|
2413
|
-
"properties": {
|
|
2414
|
-
"tag": {
|
|
2415
|
-
"const": "Mount"
|
|
2416
|
-
},
|
|
2417
|
-
"mount": {
|
|
2418
|
-
"type": "object",
|
|
2419
|
-
"properties": {},
|
|
2420
|
-
"required": [],
|
|
2421
|
-
"additionalProperties": false
|
|
2422
|
-
}
|
|
2423
|
-
},
|
|
2424
|
-
"required": [
|
|
2425
|
-
"tag",
|
|
2426
|
-
"mount"
|
|
2427
|
-
],
|
|
2428
|
-
"additionalProperties": false
|
|
2429
|
-
},
|
|
2430
|
-
{
|
|
2431
|
-
"type": "object",
|
|
2432
|
-
"properties": {
|
|
2433
|
-
"tag": {
|
|
2434
|
-
"const": "Race"
|
|
2435
|
-
},
|
|
2436
|
-
"race": {
|
|
2437
|
-
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
2438
|
-
}
|
|
2439
|
-
},
|
|
2440
|
-
"required": [
|
|
2441
|
-
"tag",
|
|
2442
|
-
"race"
|
|
2443
|
-
],
|
|
2444
|
-
"additionalProperties": false
|
|
2445
|
-
},
|
|
2446
|
-
{
|
|
2447
|
-
"type": "object",
|
|
2448
|
-
"properties": {
|
|
2449
|
-
"tag": {
|
|
2450
|
-
"const": "ExcludeCombatTechniques"
|
|
2451
|
-
},
|
|
2452
|
-
"exclude_combat_techniques": {
|
|
2453
|
-
"type": "object",
|
|
2454
|
-
"properties": {
|
|
2455
|
-
"list": {
|
|
2456
|
-
"description": "The combat techniques this combat special ability is **not** applicable to.",
|
|
2457
|
-
"type": "array",
|
|
2458
|
-
"items": {
|
|
2459
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/RangedCombatTechniqueReference"
|
|
2460
|
-
},
|
|
2461
|
-
"minItems": 1,
|
|
2462
|
-
"uniqueItems": true
|
|
2463
|
-
}
|
|
2464
|
-
},
|
|
2465
|
-
"required": [
|
|
2466
|
-
"list"
|
|
2467
|
-
],
|
|
2468
|
-
"additionalProperties": false
|
|
2469
|
-
}
|
|
2470
|
-
},
|
|
2471
|
-
"required": [
|
|
2472
|
-
"tag",
|
|
2473
|
-
"exclude_combat_techniques"
|
|
2474
|
-
],
|
|
2475
|
-
"additionalProperties": false
|
|
2476
|
-
}
|
|
2477
|
-
]
|
|
2478
|
-
},
|
|
2479
|
-
"ApplicableSpecificCombatTechniquesRestriction": {
|
|
2480
|
-
"oneOf": [
|
|
2481
|
-
{
|
|
2482
|
-
"type": "object",
|
|
2483
|
-
"properties": {
|
|
2484
|
-
"tag": {
|
|
2485
|
-
"const": "Improvised"
|
|
2486
|
-
},
|
|
2487
|
-
"improvised": {
|
|
2488
|
-
"type": "object",
|
|
2489
|
-
"properties": {},
|
|
2490
|
-
"required": [],
|
|
2491
|
-
"additionalProperties": false
|
|
2492
|
-
}
|
|
2493
|
-
},
|
|
2494
|
-
"required": [
|
|
2495
|
-
"tag",
|
|
2496
|
-
"improvised"
|
|
2497
|
-
],
|
|
2498
|
-
"additionalProperties": false
|
|
2499
|
-
},
|
|
2500
|
-
{
|
|
2501
|
-
"type": "object",
|
|
2502
|
-
"properties": {
|
|
2503
|
-
"tag": {
|
|
2504
|
-
"const": "PointedBlade"
|
|
2505
|
-
},
|
|
2506
|
-
"pointed_blade": {
|
|
2507
|
-
"type": "object",
|
|
2508
|
-
"properties": {},
|
|
2509
|
-
"required": [],
|
|
2510
|
-
"additionalProperties": false
|
|
2511
|
-
}
|
|
2512
|
-
},
|
|
2513
|
-
"required": [
|
|
2514
|
-
"tag",
|
|
2515
|
-
"pointed_blade"
|
|
2516
|
-
],
|
|
2517
|
-
"additionalProperties": false
|
|
2518
|
-
},
|
|
2519
|
-
{
|
|
2520
|
-
"type": "object",
|
|
2521
|
-
"properties": {
|
|
2522
|
-
"tag": {
|
|
2523
|
-
"const": "Mount"
|
|
2524
|
-
},
|
|
2525
|
-
"mount": {
|
|
2526
|
-
"type": "object",
|
|
2527
|
-
"properties": {},
|
|
2528
|
-
"required": [],
|
|
2529
|
-
"additionalProperties": false
|
|
2530
|
-
}
|
|
2531
|
-
},
|
|
2532
|
-
"required": [
|
|
2533
|
-
"tag",
|
|
2534
|
-
"mount"
|
|
2535
|
-
],
|
|
2536
|
-
"additionalProperties": false
|
|
2537
|
-
},
|
|
2538
|
-
{
|
|
2539
|
-
"type": "object",
|
|
2540
|
-
"properties": {
|
|
2541
|
-
"tag": {
|
|
2542
|
-
"const": "Race"
|
|
2543
|
-
},
|
|
2544
|
-
"race": {
|
|
2545
|
-
"$ref": "#/$defs/ApplicableCombatTechniquesRaceRestriction"
|
|
2546
|
-
}
|
|
2547
|
-
},
|
|
2548
|
-
"required": [
|
|
2549
|
-
"tag",
|
|
2550
|
-
"race"
|
|
2551
|
-
],
|
|
2552
|
-
"additionalProperties": false
|
|
2553
|
-
},
|
|
2554
|
-
{
|
|
2555
|
-
"type": "object",
|
|
2556
|
-
"properties": {
|
|
2557
|
-
"tag": {
|
|
2558
|
-
"const": "Level"
|
|
2559
|
-
},
|
|
2560
|
-
"level": {
|
|
2561
|
-
"$ref": "#/$defs/ApplicableCombatTechniquesLevelRestriction"
|
|
2562
|
-
}
|
|
2563
|
-
},
|
|
2564
|
-
"required": [
|
|
2565
|
-
"tag",
|
|
2566
|
-
"level"
|
|
2567
|
-
],
|
|
2568
|
-
"additionalProperties": false
|
|
2569
|
-
},
|
|
2570
|
-
{
|
|
2571
|
-
"type": "object",
|
|
2572
|
-
"properties": {
|
|
2573
|
-
"tag": {
|
|
2574
|
-
"const": "Weapons"
|
|
2575
|
-
},
|
|
2576
|
-
"weapons": {
|
|
2577
|
-
"$ref": "#/$defs/ApplicableCombatTechniquesWeaponRestriction"
|
|
2578
|
-
}
|
|
2579
|
-
},
|
|
2580
|
-
"required": [
|
|
2581
|
-
"tag",
|
|
2582
|
-
"weapons"
|
|
2583
|
-
],
|
|
2584
|
-
"additionalProperties": false
|
|
2585
|
-
}
|
|
2586
|
-
]
|
|
2587
|
-
},
|
|
2588
|
-
"ApplicableCombatTechniquesRaceRestriction": {
|
|
2589
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/RaceReference"
|
|
2590
|
-
},
|
|
2591
|
-
"ApplicableCombatTechniquesLevelRestriction": {
|
|
2592
|
-
"type": "object",
|
|
2593
|
-
"properties": {
|
|
2594
|
-
"level": {
|
|
2595
|
-
"description": "The combat special ability is only applicable on a certain level.",
|
|
2596
|
-
"type": "integer",
|
|
2597
|
-
"minimum": 1
|
|
2598
|
-
}
|
|
2599
|
-
},
|
|
2600
|
-
"required": [
|
|
2601
|
-
"level"
|
|
2602
|
-
],
|
|
2603
|
-
"additionalProperties": false
|
|
2604
|
-
},
|
|
2605
|
-
"ApplicableCombatTechniquesWeaponRestriction": {
|
|
2606
|
-
"type": "object",
|
|
2607
|
-
"properties": {
|
|
2608
|
-
"list": {
|
|
2609
|
-
"description": "The specific weapons this combat special ability is only applicable to.",
|
|
2610
|
-
"type": "array",
|
|
2611
|
-
"items": {
|
|
2612
|
-
"$ref": "./_SimpleReferences.schema.json#/$defs/WeaponReference"
|
|
2613
|
-
},
|
|
2614
|
-
"minItems": 1,
|
|
2615
|
-
"uniqueItems": true
|
|
2616
|
-
}
|
|
2617
|
-
},
|
|
2618
|
-
"required": [
|
|
2619
|
-
"list"
|
|
2620
|
-
],
|
|
2621
|
-
"additionalProperties": false
|
|
2622
|
-
},
|
|
2623
|
-
"AdventurePointsValue": {
|
|
2624
|
-
"oneOf": [
|
|
2625
|
-
{
|
|
2626
|
-
"type": "object",
|
|
2627
|
-
"properties": {
|
|
2628
|
-
"tag": {
|
|
2629
|
-
"const": "Fixed"
|
|
2630
|
-
},
|
|
2631
|
-
"fixed": {
|
|
2632
|
-
"$ref": "#/$defs/FixedAdventurePointsValue"
|
|
2633
|
-
}
|
|
2634
|
-
},
|
|
2635
|
-
"required": [
|
|
2636
|
-
"tag",
|
|
2637
|
-
"fixed"
|
|
2638
|
-
],
|
|
2639
|
-
"additionalProperties": false
|
|
2640
|
-
},
|
|
2641
|
-
{
|
|
2642
|
-
"type": "object",
|
|
2643
|
-
"properties": {
|
|
2644
|
-
"tag": {
|
|
2645
|
-
"const": "ByLevel"
|
|
2646
|
-
},
|
|
2647
|
-
"by_level": {
|
|
2648
|
-
"$ref": "#/$defs/AdventurePointsValueByLevel"
|
|
2649
|
-
}
|
|
2650
|
-
},
|
|
2651
|
-
"required": [
|
|
2652
|
-
"tag",
|
|
2653
|
-
"by_level"
|
|
2654
|
-
],
|
|
2655
|
-
"additionalProperties": false
|
|
2656
|
-
},
|
|
2657
|
-
{
|
|
2658
|
-
"type": "object",
|
|
2659
|
-
"properties": {
|
|
2660
|
-
"tag": {
|
|
2661
|
-
"const": "DerivedFromSelection"
|
|
2662
|
-
},
|
|
2663
|
-
"derived_from_selection": {
|
|
2664
|
-
"$ref": "#/$defs/AdventurePointsDerivedFromSelection"
|
|
2665
|
-
}
|
|
2666
|
-
},
|
|
2667
|
-
"required": [
|
|
2668
|
-
"tag",
|
|
2669
|
-
"derived_from_selection"
|
|
2670
|
-
],
|
|
2671
|
-
"additionalProperties": false
|
|
2672
|
-
},
|
|
2673
|
-
{
|
|
2674
|
-
"type": "object",
|
|
2675
|
-
"properties": {
|
|
2676
|
-
"tag": {
|
|
2677
|
-
"const": "Indefinite"
|
|
2678
|
-
},
|
|
2679
|
-
"indefinite": {
|
|
2680
|
-
"type": "object",
|
|
2681
|
-
"properties": {},
|
|
2682
|
-
"required": [],
|
|
2683
|
-
"additionalProperties": false
|
|
2684
|
-
}
|
|
2685
|
-
},
|
|
2686
|
-
"required": [
|
|
2687
|
-
"tag",
|
|
2688
|
-
"indefinite"
|
|
2689
|
-
],
|
|
2690
|
-
"additionalProperties": false
|
|
2691
|
-
}
|
|
2692
|
-
]
|
|
2693
|
-
},
|
|
2694
|
-
"FixedAdventurePointsValue": {
|
|
2695
|
-
"description": "A fixed adventure points value. If the entry has levels, this is the cost per level as well.",
|
|
2696
|
-
"$ref": "#/$defs/AdventurePointsSingleValue"
|
|
2697
|
-
},
|
|
2698
|
-
"AdventurePointsValueByLevel": {
|
|
2699
|
-
"description": "An entry with levels may have different costs for each level. The length of the list must match the amount of levels the special ability has.",
|
|
2700
|
-
"type": "array",
|
|
2701
|
-
"items": {
|
|
2702
|
-
"$ref": "#/$defs/AdventurePointsSingleValue"
|
|
2703
|
-
},
|
|
2704
|
-
"minItems": 2
|
|
2705
|
-
},
|
|
2706
|
-
"AdventurePointsDerivedFromSelection": {
|
|
2707
|
-
"description": "The adventure points value is derived from the selection of the special ability. Its display value may be able to be derived from the given information for the select options. If that is not the case or the generated text would not match the original one, a replacement text can be provided.",
|
|
2708
|
-
"type": "object",
|
|
2709
|
-
"properties": {
|
|
2710
|
-
"translations": {
|
|
2711
|
-
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
2712
|
-
"type": "object",
|
|
2713
|
-
"patternProperties": {
|
|
2714
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2715
|
-
"$ref": "#/$defs/AdventurePointsDerivedFromSelectionTranslation"
|
|
2716
|
-
}
|
|
2717
|
-
},
|
|
2718
|
-
"minProperties": 1,
|
|
2719
|
-
"additionalProperties": false
|
|
2720
|
-
}
|
|
2721
|
-
},
|
|
2722
|
-
"required": [],
|
|
2723
|
-
"additionalProperties": false
|
|
2724
|
-
},
|
|
2725
|
-
"AdventurePointsDerivedFromSelectionTranslation": {
|
|
2726
|
-
"type": "object",
|
|
2727
|
-
"properties": {
|
|
2728
|
-
"replacement": {
|
|
2729
|
-
"description": "A replacement for the generated text if it would not match the original one.",
|
|
2730
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
2731
|
-
}
|
|
2732
|
-
},
|
|
2733
|
-
"required": [],
|
|
2734
|
-
"minProperties": 1,
|
|
2735
|
-
"additionalProperties": false
|
|
2736
|
-
},
|
|
2737
|
-
"AdventurePointsSingleValue": {
|
|
2738
|
-
"description": "A single adventure points value.",
|
|
2739
|
-
"type": "integer",
|
|
2740
|
-
"minimum": 0
|
|
2741
|
-
},
|
|
2742
|
-
"Input": {
|
|
2743
|
-
"description": "A string that is used as a label for an input field.",
|
|
2744
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
|
|
2745
|
-
},
|
|
2746
|
-
"AdventurePointsValueReplacement": {
|
|
2747
|
-
"description": "The AP value. It is only used if the text cannot be generated from the given information.",
|
|
2748
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
2749
|
-
},
|
|
2750
|
-
"AdventurePointsValueAppend": {
|
|
2751
|
-
"description": "A string that gets appended to the default AP Value text with a preceding space. This always happens if present, even if the generated AP Value text is replaced.",
|
|
2752
|
-
"$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
|
|
2753
|
-
}
|
|
2754
|
-
}
|
|
2755
|
-
}
|