optolith-database-schema 0.1.3 → 0.1.6
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 +27 -0
- package/lib/types/Advantage.d.ts +4 -0
- package/lib/types/ArcaneBardTradition.d.ts +2 -2
- package/lib/types/ArcaneDancerTradition.d.ts +2 -2
- package/lib/types/Ceremony.d.ts +2 -2
- package/lib/types/DerivedCharacteristic.d.ts +2 -2
- package/lib/types/Disadvantage.d.ts +4 -0
- package/lib/types/FamiliarsTrick.d.ts +2 -1
- package/lib/types/LiturgicalChant.d.ts +2 -2
- package/lib/types/Ritual.d.ts +2 -2
- package/lib/types/Spell.d.ts +2 -2
- package/lib/types/_Activatable.d.ts +1286 -161
- package/lib/types/_Activatable.js +44 -0
- package/lib/types/_ActivatableSkill.d.ts +4 -0
- package/lib/types/_Enhancements.d.ts +2 -2
- package/lib/types/_Identifier.d.ts +127 -91
- package/lib/types/_Identifier.js +110 -83
- package/lib/types/_Influence.d.ts +2 -0
- package/lib/types/_Prerequisite.d.ts +93 -397
- package/lib/types/_Prerequisite.js +1 -136
- package/lib/types/magicalActions/AnimistPower.d.ts +5 -0
- package/lib/types/magicalActions/Curse.d.ts +1 -1
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +1 -1
- package/lib/types/magicalActions/GeodeRitual.d.ts +2 -2
- package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +10 -0
- package/lib/types/prerequisites/ConditionalPrerequisites.js +1 -0
- package/lib/types/prerequisites/DisplayOption.d.ts +19 -0
- package/lib/types/prerequisites/DisplayOption.js +1 -0
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +32 -0
- package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +95 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +28 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +3 -0
- package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +11 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +36 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +18 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PactPrerequisite.d.ts +32 -0
- package/lib/types/prerequisites/single/PactPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +22 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +13 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RacePrerequisite.d.ts +14 -0
- package/lib/types/prerequisites/single/RacePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +99 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RulePrerequisite.d.ts +10 -0
- package/lib/types/prerequisites/single/RulePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/SexPrerequisite.d.ts +11 -0
- package/lib/types/prerequisites/single/SexPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/StatePrerequisite.d.ts +11 -0
- package/lib/types/prerequisites/single/StatePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +31 -0
- package/lib/types/prerequisites/single/TextPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +33 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +1 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +8 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/AncestorGlyph.d.ts +4 -0
- package/lib/types/specialAbility/BlessedTradition.d.ts +5 -2
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +8 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/LycantropicGift.d.ts +4 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/MagicalTradition.d.ts +3 -0
- package/lib/types/specialAbility/PactGift.d.ts +6 -2
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/Sermon.d.ts +4 -0
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/VampiricGift.d.ts +4 -0
- package/lib/types/specialAbility/Vision.d.ts +4 -0
- package/lib/types/specialAbility/sub/Language.d.ts +2 -2
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +2 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +19 -1
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +18 -0
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +18 -0
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +18 -0
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +18 -0
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +18 -0
- package/package.json +2 -2
- package/schema/Advantage.schema.json +9 -0
- package/schema/ArcaneBardTradition.schema.json +1 -1
- package/schema/ArcaneDancerTradition.schema.json +1 -1
- package/schema/Ceremony.schema.json +1 -1
- package/schema/DerivedCharacteristic.schema.json +1 -1
- package/schema/Disadvantage.schema.json +9 -0
- package/schema/FamiliarsTrick.schema.json +1 -0
- package/schema/LiturgicalChant.schema.json +1 -1
- package/schema/Ritual.schema.json +1 -1
- package/schema/Spell.schema.json +1 -1
- package/schema/_Activatable.schema.json +2150 -379
- package/schema/_ActivatableSkill.schema.json +1 -0
- package/schema/_Enhancements.schema.json +1 -1
- package/schema/_Identifier.schema.json +327 -166
- package/schema/_Influence.schema.json +4 -0
- package/schema/_Prerequisite.schema.json +887 -675
- package/schema/magicalActions/AnimistPower.schema.json +4 -0
- package/schema/magicalActions/Curse.schema.json +1 -1
- package/schema/magicalActions/ElvenMagicalSong.schema.json +1 -1
- package/schema/magicalActions/GeodeRitual.schema.json +1 -1
- package/schema/prerequisites/ConditionalPrerequisites.schema.json +15 -0
- package/schema/prerequisites/DisplayOption.schema.json +48 -0
- package/schema/prerequisites/PrerequisiteGroups.schema.json +246 -0
- package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +142 -0
- package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +40 -0
- package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +18 -0
- package/schema/prerequisites/single/CulturePrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +54 -0
- package/schema/prerequisites/single/InfluencePrerequisite.schema.json +33 -0
- package/schema/prerequisites/single/PactPrerequisite.schema.json +46 -0
- package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +58 -0
- package/schema/prerequisites/single/PublicationPrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/RacePrerequisite.schema.json +31 -0
- package/schema/prerequisites/single/RatedPrerequisite.schema.json +184 -0
- package/schema/prerequisites/single/RulePrerequisite.schema.json +26 -0
- package/schema/prerequisites/single/SexPrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +30 -0
- package/schema/prerequisites/single/StatePrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/TextPrerequisite.schema.json +63 -0
- package/schema/prerequisites/single/TraditionPrerequisite.schema.json +96 -0
- package/schema/source/Publication.schema.json +1 -1
- package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +12 -0
- package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/AncestorGlyph.schema.json +9 -0
- package/schema/specialAbility/BlessedTradition.schema.json +7 -1
- package/schema/specialAbility/BrawlingSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/CombatSpecialAbility.schema.json +12 -0
- package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/CommandSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/FamiliarSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/FatePointSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/GeneralSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/KarmaSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/LycantropicGift.schema.json +9 -0
- package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/MagicalSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/MagicalTradition.schema.json +6 -0
- package/schema/specialAbility/PactGift.schema.json +10 -1
- package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/Sermon.schema.json +9 -0
- package/schema/specialAbility/SexSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/VampiricGift.schema.json +9 -0
- package/schema/specialAbility/Vision.schema.json +9 -0
- package/schema/specialAbility/sub/Language.schema.json +1 -1
- package/schema/specialAbility/sub/TradeSecret.schema.json +3 -0
- package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/AttireEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/BowlEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/CauldronEnchantment.schema.json +30 -4
- package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/DaggerRitual.schema.json +27 -1
- package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +27 -1
- package/schema/traditionArtifacts/OrbEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/RingEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/SickleRitual.schema.json +27 -1
- package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/StaffEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/ToyEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/Trinkhornzauber.schema.json +27 -1
- package/schema/traditionArtifacts/WandEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/WeaponEnchantment.schema.json +27 -1
|
@@ -23,29 +23,42 @@
|
|
|
23
23
|
"minimum": 2
|
|
24
24
|
},
|
|
25
25
|
"Maximum": {
|
|
26
|
-
"
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
"const": ""
|
|
30
|
-
},
|
|
31
|
-
"Rules": {
|
|
32
|
-
"description": "The rule text.",
|
|
33
|
-
"type": "string",
|
|
34
|
-
"minLength": 1
|
|
26
|
+
"description": "The number stating how often you can buy the entry. The **default** depends on\nthe 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
|
|
35
29
|
},
|
|
36
|
-
"
|
|
37
|
-
"description": "
|
|
38
|
-
"type": "
|
|
39
|
-
"
|
|
30
|
+
"SelectOptions": {
|
|
31
|
+
"description": "Definitions for possible options for the activatable entry. They can either\nbe derived from entry categories or be defined explicitly. Both can happen as\nwell, but if there is an explicitly defined select option and a derived\nselect option has the same identifier (which may only happen if skill or\ncombat technique identifiers are used for explicit select options), the\nexplicit definition overwrites the derived option.\n\nNote that this is only a full definition of options for simple logic that can\nbe made explicit using the more detailed configuration for both derived\ncategories and explicit options. There are quite a few entries whose option\nlogic cannot be fully represented here, so that it needs to be implemented\nmanually.",
|
|
32
|
+
"type": "object",
|
|
33
|
+
"properties": {
|
|
34
|
+
"derived": {
|
|
35
|
+
"description": "A list of categories with optional further configuration. All available\nentries from the specified categories will be included as separate select\noptions. You can also specify a set of groups that should only be\nincluded. Groups not mentioned will be excluded then.",
|
|
36
|
+
"type": "array",
|
|
37
|
+
"items": {
|
|
38
|
+
"$ref": "#/definitions/CategoryOption"
|
|
39
|
+
},
|
|
40
|
+
"minItems": 1
|
|
41
|
+
},
|
|
42
|
+
"explicit": {
|
|
43
|
+
"description": "A list of explicit select options. If the identifier has a specific type,\nits entry is the base of this select option, where values defined here\noverride values from the base. Define the `src` property if the options\nare not derived from the rules text of the advantage/disadvantage/special\nability but instead are listed in a separate block and/or on a separate\npage.",
|
|
44
|
+
"type": "array",
|
|
45
|
+
"items": {
|
|
46
|
+
"$ref": "#/definitions/ExplicitOption"
|
|
47
|
+
},
|
|
48
|
+
"minItems": 1
|
|
49
|
+
}
|
|
50
|
+
},
|
|
51
|
+
"required": [],
|
|
52
|
+
"minProperties": 1,
|
|
53
|
+
"additionalProperties": false
|
|
40
54
|
},
|
|
41
|
-
"
|
|
42
|
-
"description": "The definition of how the combat special ability can be used in combat.",
|
|
55
|
+
"CategoryOption": {
|
|
43
56
|
"oneOf": [
|
|
44
57
|
{
|
|
45
58
|
"type": "object",
|
|
46
59
|
"properties": {
|
|
47
60
|
"tag": {
|
|
48
|
-
"const": "
|
|
61
|
+
"const": "Blessings"
|
|
49
62
|
}
|
|
50
63
|
},
|
|
51
64
|
"required": [
|
|
@@ -57,7 +70,7 @@
|
|
|
57
70
|
"type": "object",
|
|
58
71
|
"properties": {
|
|
59
72
|
"tag": {
|
|
60
|
-
"const": "
|
|
73
|
+
"const": "Cantrips"
|
|
61
74
|
}
|
|
62
75
|
},
|
|
63
76
|
"required": [
|
|
@@ -69,236 +82,1673 @@
|
|
|
69
82
|
"type": "object",
|
|
70
83
|
"properties": {
|
|
71
84
|
"tag": {
|
|
72
|
-
"const": "
|
|
85
|
+
"const": "TradeSecrets"
|
|
73
86
|
}
|
|
74
87
|
},
|
|
75
88
|
"required": [
|
|
76
89
|
"tag"
|
|
77
90
|
],
|
|
78
91
|
"additionalProperties": false
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
"type": "object",
|
|
87
|
-
"properties": {
|
|
88
|
-
"id": {
|
|
89
|
-
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
90
|
-
"type": "integer",
|
|
91
|
-
"minimum": 1
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"type": "object",
|
|
95
|
+
"properties": {
|
|
96
|
+
"tag": {
|
|
97
|
+
"const": "Scripts"
|
|
98
|
+
}
|
|
92
99
|
},
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
"type": "integer",
|
|
105
|
-
"minimum": 1
|
|
106
|
-
}
|
|
107
|
-
},
|
|
108
|
-
"required": [
|
|
109
|
-
"tag",
|
|
110
|
-
"id"
|
|
111
|
-
],
|
|
112
|
-
"additionalProperties": false
|
|
113
|
-
},
|
|
114
|
-
{
|
|
115
|
-
"type": "object",
|
|
116
|
-
"properties": {
|
|
117
|
-
"tag": {
|
|
118
|
-
"const": "Multiple"
|
|
119
|
-
},
|
|
120
|
-
"list": {
|
|
121
|
-
"description": "The skills this application belongs to.",
|
|
122
|
-
"type": "array",
|
|
123
|
-
"items": {
|
|
124
|
-
"type": "object",
|
|
125
|
-
"properties": {
|
|
126
|
-
"id": {
|
|
127
|
-
"description": "The referenced skill's identifier.",
|
|
128
|
-
"type": "integer",
|
|
129
|
-
"minimum": 1
|
|
130
|
-
}
|
|
131
|
-
},
|
|
132
|
-
"required": [
|
|
133
|
-
"id"
|
|
134
|
-
],
|
|
135
|
-
"additionalProperties": false
|
|
136
|
-
},
|
|
137
|
-
"minItems": 2
|
|
138
|
-
},
|
|
139
|
-
"required_skill_rating": {
|
|
140
|
-
"description": "If an application applies to multiple skills, it may need to ensure the\nrespective skill is on a certain skill rating if the activatable entry\ncannot ensure this prerequisite.",
|
|
141
|
-
"type": "integer",
|
|
142
|
-
"minimum": 1
|
|
143
|
-
}
|
|
144
|
-
},
|
|
145
|
-
"required": [
|
|
146
|
-
"tag",
|
|
147
|
-
"list"
|
|
148
|
-
],
|
|
149
|
-
"additionalProperties": false
|
|
150
|
-
}
|
|
151
|
-
]
|
|
100
|
+
"required": [
|
|
101
|
+
"tag"
|
|
102
|
+
],
|
|
103
|
+
"additionalProperties": false
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"type": "object",
|
|
107
|
+
"properties": {
|
|
108
|
+
"tag": {
|
|
109
|
+
"const": "AnimalShapes"
|
|
110
|
+
}
|
|
152
111
|
},
|
|
153
|
-
"
|
|
154
|
-
"
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
"^[a-z]{2}-[A-Z]{2}$": {
|
|
158
|
-
"type": "object",
|
|
159
|
-
"properties": {
|
|
160
|
-
"name": {
|
|
161
|
-
"description": "The name of the application if different from the activatable entry's\nname.",
|
|
162
|
-
"type": "string",
|
|
163
|
-
"minLength": 1
|
|
164
|
-
}
|
|
165
|
-
},
|
|
166
|
-
"required": [
|
|
167
|
-
"name"
|
|
168
|
-
],
|
|
169
|
-
"additionalProperties": false
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
"minProperties": 1,
|
|
173
|
-
"additionalProperties": false
|
|
174
|
-
}
|
|
112
|
+
"required": [
|
|
113
|
+
"tag"
|
|
114
|
+
],
|
|
115
|
+
"additionalProperties": false
|
|
175
116
|
},
|
|
176
|
-
|
|
177
|
-
"
|
|
178
|
-
"
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
"minItems": 1
|
|
183
|
-
},
|
|
184
|
-
"SkillUses": {
|
|
185
|
-
"description": "Registers uses, which get enabled once this entry is activated. It specifies\nan entry-unique identifier and the skill it belongs to. A translation can be\nleft out if its name equals the name of the origin activatable entry.",
|
|
186
|
-
"type": "array",
|
|
187
|
-
"items": {
|
|
188
|
-
"type": "object",
|
|
189
|
-
"properties": {
|
|
190
|
-
"id": {
|
|
191
|
-
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
192
|
-
"type": "integer",
|
|
193
|
-
"minimum": 1
|
|
117
|
+
{
|
|
118
|
+
"type": "object",
|
|
119
|
+
"properties": {
|
|
120
|
+
"tag": {
|
|
121
|
+
"const": "ArcaneBardTraditions"
|
|
122
|
+
}
|
|
194
123
|
},
|
|
195
|
-
"
|
|
196
|
-
"
|
|
197
|
-
|
|
198
|
-
|
|
124
|
+
"required": [
|
|
125
|
+
"tag"
|
|
126
|
+
],
|
|
127
|
+
"additionalProperties": false
|
|
128
|
+
},
|
|
129
|
+
{
|
|
130
|
+
"type": "object",
|
|
131
|
+
"properties": {
|
|
132
|
+
"tag": {
|
|
133
|
+
"const": "ArcaneDancerTraditions"
|
|
134
|
+
}
|
|
135
|
+
},
|
|
136
|
+
"required": [
|
|
137
|
+
"tag"
|
|
138
|
+
],
|
|
139
|
+
"additionalProperties": false
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"type": "object",
|
|
143
|
+
"properties": {
|
|
144
|
+
"tag": {
|
|
145
|
+
"const": "SexPractices"
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"required": [
|
|
149
|
+
"tag"
|
|
150
|
+
],
|
|
151
|
+
"additionalProperties": false
|
|
152
|
+
},
|
|
153
|
+
{
|
|
154
|
+
"type": "object",
|
|
155
|
+
"properties": {
|
|
156
|
+
"tag": {
|
|
157
|
+
"const": "Races"
|
|
158
|
+
}
|
|
159
|
+
},
|
|
160
|
+
"required": [
|
|
161
|
+
"tag"
|
|
162
|
+
],
|
|
163
|
+
"additionalProperties": false
|
|
164
|
+
},
|
|
165
|
+
{
|
|
166
|
+
"type": "object",
|
|
167
|
+
"properties": {
|
|
168
|
+
"tag": {
|
|
169
|
+
"const": "Cultures"
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
"required": [
|
|
173
|
+
"tag"
|
|
174
|
+
],
|
|
175
|
+
"additionalProperties": false
|
|
176
|
+
},
|
|
177
|
+
{
|
|
178
|
+
"type": "object",
|
|
179
|
+
"properties": {
|
|
180
|
+
"tag": {
|
|
181
|
+
"const": "BlessedTraditions"
|
|
182
|
+
},
|
|
183
|
+
"require_principles": {
|
|
184
|
+
"description": "Should the principles (code) of the tradition be required to select the\nrespective tradition?",
|
|
185
|
+
"const": true
|
|
186
|
+
}
|
|
187
|
+
},
|
|
188
|
+
"required": [
|
|
189
|
+
"tag"
|
|
190
|
+
],
|
|
191
|
+
"additionalProperties": false
|
|
192
|
+
},
|
|
193
|
+
{
|
|
194
|
+
"type": "object",
|
|
195
|
+
"properties": {
|
|
196
|
+
"tag": {
|
|
197
|
+
"const": "Elements"
|
|
198
|
+
},
|
|
199
|
+
"specific": {
|
|
200
|
+
"description": "Only include entries with the listed identifiers.",
|
|
201
|
+
"type": "array",
|
|
202
|
+
"items": {
|
|
199
203
|
"type": "object",
|
|
200
204
|
"properties": {
|
|
201
|
-
"tag": {
|
|
202
|
-
"const": "Single"
|
|
203
|
-
},
|
|
204
205
|
"id": {
|
|
205
|
-
"description": "The
|
|
206
|
+
"description": "The element's identifier.",
|
|
206
207
|
"type": "integer",
|
|
208
|
+
"maximum": 6,
|
|
207
209
|
"minimum": 1
|
|
208
210
|
}
|
|
209
211
|
},
|
|
210
212
|
"required": [
|
|
211
|
-
"tag",
|
|
212
213
|
"id"
|
|
213
214
|
],
|
|
214
215
|
"additionalProperties": false
|
|
215
216
|
},
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
217
|
+
"minItems": 1,
|
|
218
|
+
"uniqueItems": true
|
|
219
|
+
}
|
|
220
|
+
},
|
|
221
|
+
"required": [
|
|
222
|
+
"tag"
|
|
223
|
+
],
|
|
224
|
+
"additionalProperties": false
|
|
225
|
+
},
|
|
226
|
+
{
|
|
227
|
+
"type": "object",
|
|
228
|
+
"properties": {
|
|
229
|
+
"tag": {
|
|
230
|
+
"const": "Properties"
|
|
231
|
+
},
|
|
232
|
+
"require_knowledge": {
|
|
233
|
+
"description": "Does each property require it's corresponding property knowledge?",
|
|
234
|
+
"const": true
|
|
235
|
+
},
|
|
236
|
+
"require_minimum_spellworks_on": {
|
|
237
|
+
"description": "Require a minimum number of spellworks of the respective property to be\non a minimum skill rating.",
|
|
238
|
+
"type": "object",
|
|
239
|
+
"properties": {
|
|
240
|
+
"number": {
|
|
241
|
+
"description": "The minimum number of spellworks that need to be on the defined minimum\nskill rating.",
|
|
242
|
+
"type": "integer",
|
|
243
|
+
"minimum": 1
|
|
244
|
+
},
|
|
245
|
+
"value": {
|
|
246
|
+
"description": "The minimum skill rating the defined minimum number of spellworks need\nto be on.",
|
|
247
|
+
"type": "integer",
|
|
248
|
+
"minimum": 1
|
|
249
|
+
}
|
|
250
|
+
},
|
|
251
|
+
"required": [
|
|
252
|
+
"number",
|
|
253
|
+
"value"
|
|
254
|
+
],
|
|
255
|
+
"additionalProperties": false
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"required": [
|
|
259
|
+
"tag"
|
|
260
|
+
],
|
|
261
|
+
"additionalProperties": false
|
|
262
|
+
},
|
|
263
|
+
{
|
|
264
|
+
"type": "object",
|
|
265
|
+
"properties": {
|
|
266
|
+
"tag": {
|
|
267
|
+
"const": "Aspects"
|
|
268
|
+
},
|
|
269
|
+
"require_knowledge": {
|
|
270
|
+
"description": "Does each aspect require it's corresponding aspect knowledge?",
|
|
271
|
+
"const": true
|
|
272
|
+
},
|
|
273
|
+
"use_master_of_suffix_as_name": {
|
|
274
|
+
"description": "The generated name should be the *Master of (Aspect)* suffix for this\naspect instead of the aspect's name. If an aspect does not provide a\nsuffix (such as the General aspect), it is automatically excluded from\nthe list.",
|
|
275
|
+
"const": true
|
|
276
|
+
},
|
|
277
|
+
"require_minimum_liturgies_on": {
|
|
278
|
+
"description": "Require a minimum number of liturgies of the respective aspect to be on a\nminimum skill rating.",
|
|
279
|
+
"type": "object",
|
|
280
|
+
"properties": {
|
|
281
|
+
"number": {
|
|
282
|
+
"description": "The minimum number of liturgies that need to be on the defined minimum\nskill rating.",
|
|
283
|
+
"type": "integer",
|
|
284
|
+
"minimum": 1
|
|
285
|
+
},
|
|
286
|
+
"value": {
|
|
287
|
+
"description": "The minimum skill rating the defined minimum number of liturgies need\nto be on.",
|
|
288
|
+
"type": "integer",
|
|
289
|
+
"minimum": 1
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"required": [
|
|
293
|
+
"number",
|
|
294
|
+
"value"
|
|
295
|
+
],
|
|
296
|
+
"additionalProperties": false
|
|
297
|
+
}
|
|
298
|
+
},
|
|
299
|
+
"required": [
|
|
300
|
+
"tag"
|
|
301
|
+
],
|
|
302
|
+
"additionalProperties": false
|
|
303
|
+
},
|
|
304
|
+
{
|
|
305
|
+
"type": "object",
|
|
306
|
+
"properties": {
|
|
307
|
+
"tag": {
|
|
308
|
+
"const": "Diseases"
|
|
309
|
+
},
|
|
310
|
+
"use_half_level_as_ap_value": {
|
|
311
|
+
"description": "Only convert half the disease level into the AP value.",
|
|
312
|
+
"const": true
|
|
313
|
+
}
|
|
314
|
+
},
|
|
315
|
+
"required": [
|
|
316
|
+
"tag"
|
|
317
|
+
],
|
|
318
|
+
"additionalProperties": false
|
|
319
|
+
},
|
|
320
|
+
{
|
|
321
|
+
"type": "object",
|
|
322
|
+
"properties": {
|
|
323
|
+
"tag": {
|
|
324
|
+
"const": "Poisons"
|
|
325
|
+
},
|
|
326
|
+
"use_half_level_as_ap_value": {
|
|
327
|
+
"description": "Only convert half the poison level into the AP value.",
|
|
328
|
+
"const": true
|
|
329
|
+
}
|
|
330
|
+
},
|
|
331
|
+
"required": [
|
|
332
|
+
"tag"
|
|
333
|
+
],
|
|
334
|
+
"additionalProperties": false
|
|
335
|
+
},
|
|
336
|
+
{
|
|
337
|
+
"type": "object",
|
|
338
|
+
"properties": {
|
|
339
|
+
"tag": {
|
|
340
|
+
"const": "Languages"
|
|
341
|
+
},
|
|
342
|
+
"prerequisites": {
|
|
343
|
+
"description": "Generate prerequisites for each entry of the category.",
|
|
344
|
+
"type": "array",
|
|
345
|
+
"items": {
|
|
346
|
+
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
347
|
+
},
|
|
348
|
+
"minItems": 1
|
|
349
|
+
}
|
|
350
|
+
},
|
|
351
|
+
"required": [
|
|
352
|
+
"tag"
|
|
353
|
+
],
|
|
354
|
+
"additionalProperties": false
|
|
355
|
+
},
|
|
356
|
+
{
|
|
357
|
+
"type": "object",
|
|
358
|
+
"properties": {
|
|
359
|
+
"tag": {
|
|
360
|
+
"const": "Skills"
|
|
361
|
+
},
|
|
362
|
+
"groups": {
|
|
363
|
+
"description": "Only include entries of the specified groups.",
|
|
364
|
+
"type": "array",
|
|
365
|
+
"items": {
|
|
366
|
+
"type": "object",
|
|
367
|
+
"properties": {
|
|
368
|
+
"id": {
|
|
369
|
+
"description": "The skill group's identifier.",
|
|
370
|
+
"type": "integer",
|
|
371
|
+
"maximum": 5,
|
|
372
|
+
"minimum": 1
|
|
373
|
+
}
|
|
374
|
+
},
|
|
375
|
+
"required": [
|
|
376
|
+
"id"
|
|
377
|
+
],
|
|
378
|
+
"additionalProperties": false
|
|
379
|
+
},
|
|
380
|
+
"minItems": 1
|
|
381
|
+
},
|
|
382
|
+
"specific": {
|
|
383
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific skills.",
|
|
384
|
+
"type": "object",
|
|
385
|
+
"properties": {
|
|
386
|
+
"operation": {
|
|
387
|
+
"oneOf": [
|
|
388
|
+
{
|
|
389
|
+
"type": "object",
|
|
390
|
+
"properties": {
|
|
391
|
+
"tag": {
|
|
392
|
+
"const": "Intersection"
|
|
393
|
+
}
|
|
394
|
+
},
|
|
395
|
+
"required": [
|
|
396
|
+
"tag"
|
|
397
|
+
],
|
|
398
|
+
"additionalProperties": false
|
|
399
|
+
},
|
|
400
|
+
{
|
|
401
|
+
"type": "object",
|
|
402
|
+
"properties": {
|
|
403
|
+
"tag": {
|
|
404
|
+
"const": "Difference"
|
|
405
|
+
}
|
|
406
|
+
},
|
|
407
|
+
"required": [
|
|
408
|
+
"tag"
|
|
409
|
+
],
|
|
410
|
+
"additionalProperties": false
|
|
411
|
+
}
|
|
412
|
+
]
|
|
413
|
+
},
|
|
414
|
+
"list": {
|
|
415
|
+
"description": "The list of specific skills.",
|
|
416
|
+
"type": "array",
|
|
417
|
+
"items": {
|
|
418
|
+
"type": "object",
|
|
419
|
+
"properties": {
|
|
420
|
+
"id": {
|
|
421
|
+
"description": "The skill's identifier.",
|
|
422
|
+
"type": "integer",
|
|
423
|
+
"maximum": 59,
|
|
424
|
+
"minimum": 1
|
|
425
|
+
}
|
|
426
|
+
},
|
|
427
|
+
"required": [
|
|
428
|
+
"id"
|
|
429
|
+
],
|
|
430
|
+
"additionalProperties": false
|
|
431
|
+
},
|
|
432
|
+
"minItems": 1,
|
|
433
|
+
"uniqueItems": true
|
|
434
|
+
}
|
|
435
|
+
},
|
|
436
|
+
"required": [
|
|
437
|
+
"operation",
|
|
438
|
+
"list"
|
|
439
|
+
],
|
|
440
|
+
"additionalProperties": false
|
|
441
|
+
},
|
|
442
|
+
"skill_applications": {
|
|
443
|
+
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an entry-unique\nidentifier, the skill it belongs to is derived from the select option\nautomatically. A translation can be left out if its name equals the name\nof the origin entry.",
|
|
444
|
+
"type": "array",
|
|
445
|
+
"items": {
|
|
446
|
+
"type": "object",
|
|
447
|
+
"properties": {
|
|
448
|
+
"id": {
|
|
449
|
+
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
450
|
+
"type": "integer",
|
|
451
|
+
"minimum": 1
|
|
452
|
+
},
|
|
453
|
+
"translations": {
|
|
454
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
455
|
+
"type": "object",
|
|
456
|
+
"patternProperties": {
|
|
457
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
458
|
+
"type": "object",
|
|
459
|
+
"properties": {
|
|
460
|
+
"name": {
|
|
461
|
+
"description": "The name of the application if different from the activatable entry's\nname.",
|
|
462
|
+
"type": "string",
|
|
463
|
+
"minLength": 1
|
|
464
|
+
}
|
|
465
|
+
},
|
|
466
|
+
"required": [
|
|
467
|
+
"name"
|
|
468
|
+
],
|
|
469
|
+
"additionalProperties": false
|
|
470
|
+
}
|
|
471
|
+
},
|
|
472
|
+
"minProperties": 1,
|
|
473
|
+
"additionalProperties": false
|
|
474
|
+
}
|
|
475
|
+
},
|
|
476
|
+
"required": [
|
|
477
|
+
"id"
|
|
478
|
+
],
|
|
479
|
+
"additionalProperties": false
|
|
480
|
+
},
|
|
481
|
+
"minItems": 1
|
|
482
|
+
},
|
|
483
|
+
"skill_uses": {
|
|
484
|
+
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier, the\nskill it belongs to is derived from the select option automatically. A\ntranslation can be left out if its name equals the name of the origin\nentry.",
|
|
485
|
+
"type": "array",
|
|
486
|
+
"items": {
|
|
487
|
+
"type": "object",
|
|
488
|
+
"properties": {
|
|
489
|
+
"id": {
|
|
490
|
+
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
491
|
+
"type": "integer",
|
|
492
|
+
"minimum": 1
|
|
493
|
+
},
|
|
494
|
+
"translations": {
|
|
495
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
496
|
+
"type": "object",
|
|
497
|
+
"patternProperties": {
|
|
498
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
499
|
+
"type": "object",
|
|
500
|
+
"properties": {
|
|
501
|
+
"name": {
|
|
502
|
+
"description": "The name of the use if different from the activatable entry's name.",
|
|
503
|
+
"type": "string",
|
|
504
|
+
"minLength": 1
|
|
505
|
+
}
|
|
506
|
+
},
|
|
507
|
+
"required": [
|
|
508
|
+
"name"
|
|
509
|
+
],
|
|
510
|
+
"additionalProperties": false
|
|
511
|
+
}
|
|
512
|
+
},
|
|
513
|
+
"minProperties": 1,
|
|
514
|
+
"additionalProperties": false
|
|
515
|
+
}
|
|
516
|
+
},
|
|
517
|
+
"required": [
|
|
518
|
+
"id"
|
|
519
|
+
],
|
|
520
|
+
"additionalProperties": false
|
|
521
|
+
},
|
|
522
|
+
"minItems": 1
|
|
523
|
+
},
|
|
524
|
+
"prerequisites": {
|
|
525
|
+
"description": "Generate prerequisites for each entry of the category.",
|
|
526
|
+
"type": "array",
|
|
527
|
+
"items": {
|
|
528
|
+
"oneOf": [
|
|
529
|
+
{
|
|
530
|
+
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
531
|
+
},
|
|
532
|
+
{
|
|
533
|
+
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
534
|
+
}
|
|
535
|
+
]
|
|
536
|
+
},
|
|
537
|
+
"minItems": 1
|
|
538
|
+
},
|
|
539
|
+
"ap_value": {
|
|
540
|
+
"description": "Generate AP values for each entry.",
|
|
541
|
+
"$ref": "#/definitions/OptionSkillDeriveAdventurePointsValue"
|
|
542
|
+
}
|
|
543
|
+
},
|
|
544
|
+
"required": [
|
|
545
|
+
"tag"
|
|
546
|
+
],
|
|
547
|
+
"additionalProperties": false
|
|
548
|
+
},
|
|
549
|
+
{
|
|
550
|
+
"type": "object",
|
|
551
|
+
"properties": {
|
|
552
|
+
"tag": {
|
|
553
|
+
"$ref": "#/definitions/NonSkillSkillCategory"
|
|
554
|
+
},
|
|
555
|
+
"specific": {
|
|
556
|
+
"description": "Only include (`Intersection`) or exclude (`Difference`) specific entries.",
|
|
557
|
+
"type": "object",
|
|
558
|
+
"properties": {
|
|
559
|
+
"operation": {
|
|
560
|
+
"oneOf": [
|
|
561
|
+
{
|
|
562
|
+
"type": "object",
|
|
563
|
+
"properties": {
|
|
564
|
+
"tag": {
|
|
565
|
+
"const": "Intersection"
|
|
566
|
+
}
|
|
567
|
+
},
|
|
568
|
+
"required": [
|
|
569
|
+
"tag"
|
|
570
|
+
],
|
|
571
|
+
"additionalProperties": false
|
|
572
|
+
},
|
|
573
|
+
{
|
|
574
|
+
"type": "object",
|
|
575
|
+
"properties": {
|
|
576
|
+
"tag": {
|
|
577
|
+
"const": "Difference"
|
|
578
|
+
}
|
|
579
|
+
},
|
|
580
|
+
"required": [
|
|
581
|
+
"tag"
|
|
582
|
+
],
|
|
583
|
+
"additionalProperties": false
|
|
584
|
+
}
|
|
585
|
+
]
|
|
586
|
+
},
|
|
587
|
+
"list": {
|
|
588
|
+
"description": "The list of specific entries.",
|
|
589
|
+
"type": "array",
|
|
590
|
+
"items": {
|
|
591
|
+
"type": "object",
|
|
592
|
+
"properties": {
|
|
593
|
+
"id": {
|
|
594
|
+
"description": "The entry's identifier.",
|
|
595
|
+
"type": "integer",
|
|
596
|
+
"maximum": 59,
|
|
597
|
+
"minimum": 1
|
|
598
|
+
}
|
|
599
|
+
},
|
|
600
|
+
"required": [
|
|
601
|
+
"id"
|
|
602
|
+
],
|
|
603
|
+
"additionalProperties": false
|
|
604
|
+
},
|
|
605
|
+
"minItems": 1,
|
|
606
|
+
"uniqueItems": true
|
|
607
|
+
}
|
|
608
|
+
},
|
|
609
|
+
"required": [
|
|
610
|
+
"operation",
|
|
611
|
+
"list"
|
|
612
|
+
],
|
|
613
|
+
"additionalProperties": false
|
|
614
|
+
},
|
|
615
|
+
"prerequisites": {
|
|
616
|
+
"description": "Generate prerequisites for each entry of the category.",
|
|
617
|
+
"type": "array",
|
|
618
|
+
"items": {
|
|
619
|
+
"oneOf": [
|
|
620
|
+
{
|
|
621
|
+
"$ref": "#/definitions/OptionSkillSelfPrerequisite"
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
"$ref": "#/definitions/OptionOptionPrerequisite"
|
|
625
|
+
}
|
|
626
|
+
]
|
|
627
|
+
},
|
|
628
|
+
"minItems": 1
|
|
629
|
+
},
|
|
630
|
+
"ap_value": {
|
|
631
|
+
"description": "Generate AP values for each entry.",
|
|
632
|
+
"$ref": "#/definitions/OptionSkillDeriveAdventurePointsValue"
|
|
633
|
+
}
|
|
634
|
+
},
|
|
635
|
+
"required": [
|
|
636
|
+
"tag"
|
|
637
|
+
],
|
|
638
|
+
"additionalProperties": false
|
|
639
|
+
}
|
|
640
|
+
]
|
|
641
|
+
},
|
|
642
|
+
"NonSkillSkillCategory": {
|
|
643
|
+
"enum": [
|
|
644
|
+
"CloseCombatTechniques",
|
|
645
|
+
"RangedCombatTechniques",
|
|
646
|
+
"LiturgicalChants",
|
|
647
|
+
"Ceremonies",
|
|
648
|
+
"Spells",
|
|
649
|
+
"Rituals"
|
|
650
|
+
]
|
|
651
|
+
},
|
|
652
|
+
"OptionSkillSelfPrerequisite": {
|
|
653
|
+
"type": "object",
|
|
654
|
+
"properties": {
|
|
655
|
+
"tag": {
|
|
656
|
+
"const": "Self"
|
|
657
|
+
},
|
|
658
|
+
"value": {
|
|
659
|
+
"description": "The entry requires itself on a certain Skill Rating.",
|
|
660
|
+
"type": "integer",
|
|
661
|
+
"minimum": 1
|
|
662
|
+
}
|
|
663
|
+
},
|
|
664
|
+
"required": [
|
|
665
|
+
"tag",
|
|
666
|
+
"value"
|
|
667
|
+
],
|
|
668
|
+
"additionalProperties": false
|
|
669
|
+
},
|
|
670
|
+
"OptionOptionPrerequisite": {
|
|
671
|
+
"description": "The entry requires or prohibits itself as a select option of another entry.",
|
|
672
|
+
"type": "object",
|
|
673
|
+
"properties": {
|
|
674
|
+
"tag": {
|
|
675
|
+
"const": "SelectOption"
|
|
676
|
+
},
|
|
677
|
+
"id": {
|
|
678
|
+
"description": "The target entry's identifier.",
|
|
679
|
+
"$ref": "./_Identifier.schema.json#/definitions/ActivatableIdentifier"
|
|
680
|
+
},
|
|
681
|
+
"active": {
|
|
682
|
+
"description": "Is the select option required (`true`) or prohibited (`false`)?",
|
|
683
|
+
"type": "boolean"
|
|
684
|
+
},
|
|
685
|
+
"level": {
|
|
686
|
+
"description": "The required level, if any.",
|
|
687
|
+
"type": "integer",
|
|
688
|
+
"minimum": 2
|
|
689
|
+
}
|
|
690
|
+
},
|
|
691
|
+
"required": [
|
|
692
|
+
"tag",
|
|
693
|
+
"id",
|
|
694
|
+
"active"
|
|
695
|
+
],
|
|
696
|
+
"additionalProperties": false
|
|
697
|
+
},
|
|
698
|
+
"OptionSkillDeriveAdventurePointsValue": {
|
|
699
|
+
"description": "Generate AP values for each entry.",
|
|
700
|
+
"oneOf": [
|
|
701
|
+
{
|
|
702
|
+
"type": "object",
|
|
703
|
+
"properties": {
|
|
704
|
+
"tag": {
|
|
705
|
+
"const": "DerivedFromImprovementCost"
|
|
706
|
+
},
|
|
707
|
+
"multiplier": {
|
|
708
|
+
"description": "This number is multiplied with the improvement cost of the entry\n(A = 1 to D = 4).",
|
|
709
|
+
"type": "integer",
|
|
710
|
+
"minimum": 2
|
|
711
|
+
}
|
|
712
|
+
},
|
|
713
|
+
"required": [
|
|
714
|
+
"tag"
|
|
715
|
+
],
|
|
716
|
+
"additionalProperties": false
|
|
717
|
+
},
|
|
718
|
+
{
|
|
719
|
+
"type": "object",
|
|
720
|
+
"properties": {
|
|
721
|
+
"tag": {
|
|
722
|
+
"const": "Fixed"
|
|
723
|
+
},
|
|
724
|
+
"map": {
|
|
725
|
+
"description": "A mapping of skill identifiers to their specific AP values.",
|
|
726
|
+
"type": "array",
|
|
727
|
+
"items": {
|
|
728
|
+
"type": "object",
|
|
729
|
+
"properties": {
|
|
730
|
+
"id": {
|
|
731
|
+
"description": "The skill's identifier.",
|
|
732
|
+
"type": "integer",
|
|
733
|
+
"minimum": 1
|
|
734
|
+
},
|
|
735
|
+
"ap_value": {
|
|
736
|
+
"description": "The AP value for the specified entry.",
|
|
737
|
+
"type": "integer",
|
|
738
|
+
"minimum": 1
|
|
739
|
+
}
|
|
740
|
+
},
|
|
741
|
+
"required": [
|
|
742
|
+
"id",
|
|
743
|
+
"ap_value"
|
|
744
|
+
],
|
|
745
|
+
"additionalProperties": false
|
|
746
|
+
}
|
|
747
|
+
},
|
|
748
|
+
"default": {
|
|
749
|
+
"description": "The default value of an entry. Used as a fallback if no value is\nfound in `list`.",
|
|
750
|
+
"type": "integer",
|
|
751
|
+
"minimum": 1
|
|
752
|
+
}
|
|
753
|
+
},
|
|
754
|
+
"required": [
|
|
755
|
+
"tag",
|
|
756
|
+
"map",
|
|
757
|
+
"default"
|
|
758
|
+
],
|
|
759
|
+
"additionalProperties": false
|
|
760
|
+
}
|
|
761
|
+
]
|
|
762
|
+
},
|
|
763
|
+
"ExplicitOption": {
|
|
764
|
+
"oneOf": [
|
|
765
|
+
{
|
|
766
|
+
"type": "object",
|
|
767
|
+
"properties": {
|
|
768
|
+
"tag": {
|
|
769
|
+
"const": "General"
|
|
770
|
+
},
|
|
771
|
+
"id": {
|
|
772
|
+
"description": "The option's identifier. An unique, increasing integer.",
|
|
773
|
+
"type": "integer",
|
|
774
|
+
"minimum": 1
|
|
775
|
+
},
|
|
776
|
+
"profession_only": {
|
|
777
|
+
"description": "Sometimes, professions use specific text selections that are not\ncontained in described lists. This ensures you can use them for\nprofessions only. They are not going to be displayed as options to the\nuser.",
|
|
778
|
+
"const": true
|
|
779
|
+
},
|
|
780
|
+
"skill_applications": {
|
|
781
|
+
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an entry-unique\nidentifier and the skill it belongs to. A translation can be left out if\nits name equals the name of the origin select option.",
|
|
782
|
+
"$ref": "#/definitions/SkillApplications"
|
|
783
|
+
},
|
|
784
|
+
"skill_uses": {
|
|
785
|
+
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier and the\nskill it belongs to. A translation can be left out if its name equals the\nname of the origin select option.",
|
|
786
|
+
"$ref": "#/definitions/SkillUses"
|
|
787
|
+
},
|
|
788
|
+
"prerequisites": {
|
|
789
|
+
"$ref": "./_Prerequisite.schema.json#/definitions/GeneralPrerequisites"
|
|
790
|
+
},
|
|
791
|
+
"ap_value": {
|
|
792
|
+
"description": "Specific AP cost for the select option.",
|
|
793
|
+
"type": "integer",
|
|
794
|
+
"minimum": 1
|
|
795
|
+
},
|
|
796
|
+
"src": {
|
|
797
|
+
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
798
|
+
},
|
|
799
|
+
"translations": {
|
|
800
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
801
|
+
"type": "object",
|
|
802
|
+
"patternProperties": {
|
|
803
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
804
|
+
"type": "object",
|
|
805
|
+
"properties": {
|
|
806
|
+
"name": {
|
|
807
|
+
"description": "The name of the select option.",
|
|
808
|
+
"type": "string",
|
|
809
|
+
"minLength": 1
|
|
810
|
+
},
|
|
811
|
+
"name_in_profession": {
|
|
812
|
+
"description": "The name of the select option when displayed in a generated\nprofession text.",
|
|
813
|
+
"type": "string",
|
|
814
|
+
"minLength": 1
|
|
815
|
+
},
|
|
816
|
+
"description": {
|
|
817
|
+
"description": "The description of the select option. Useful for Bad Habits, Trade\nSecrets and other entries where a description is available.",
|
|
818
|
+
"type": "string",
|
|
819
|
+
"minLength": 1
|
|
820
|
+
},
|
|
821
|
+
"errata": {
|
|
822
|
+
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
823
|
+
}
|
|
824
|
+
},
|
|
825
|
+
"required": [
|
|
826
|
+
"name"
|
|
827
|
+
],
|
|
828
|
+
"additionalProperties": false
|
|
829
|
+
}
|
|
830
|
+
},
|
|
831
|
+
"minProperties": 1,
|
|
832
|
+
"additionalProperties": false
|
|
833
|
+
}
|
|
834
|
+
},
|
|
835
|
+
"required": [
|
|
836
|
+
"tag",
|
|
837
|
+
"id",
|
|
838
|
+
"translations"
|
|
839
|
+
],
|
|
840
|
+
"additionalProperties": false
|
|
841
|
+
},
|
|
842
|
+
{
|
|
843
|
+
"type": "object",
|
|
844
|
+
"properties": {
|
|
845
|
+
"tag": {
|
|
846
|
+
"const": "Skill"
|
|
847
|
+
},
|
|
848
|
+
"id": {
|
|
849
|
+
"description": "The skill's identifier. An unique, increasing integer.",
|
|
850
|
+
"type": "integer",
|
|
851
|
+
"minimum": 1
|
|
852
|
+
},
|
|
853
|
+
"skill_applications": {
|
|
854
|
+
"description": "Registers new applications, which get enabled once this entry is\nactivated with its respective select option. It specifies an entry-unique\nidentifier and the skill it belongs to. A translation can be left out if\nits name equals the name of the origin select option.",
|
|
855
|
+
"type": "array",
|
|
856
|
+
"items": {
|
|
857
|
+
"type": "object",
|
|
858
|
+
"properties": {
|
|
859
|
+
"id": {
|
|
860
|
+
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
861
|
+
"type": "integer",
|
|
862
|
+
"minimum": 1
|
|
863
|
+
},
|
|
864
|
+
"translations": {
|
|
865
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
866
|
+
"type": "object",
|
|
867
|
+
"patternProperties": {
|
|
868
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
869
|
+
"type": "object",
|
|
870
|
+
"properties": {
|
|
871
|
+
"name": {
|
|
872
|
+
"description": "The name of the application if different from the activatable entry's\nname.",
|
|
873
|
+
"type": "string",
|
|
874
|
+
"minLength": 1
|
|
875
|
+
}
|
|
876
|
+
},
|
|
877
|
+
"required": [
|
|
878
|
+
"name"
|
|
879
|
+
],
|
|
880
|
+
"additionalProperties": false
|
|
881
|
+
}
|
|
882
|
+
},
|
|
883
|
+
"minProperties": 1,
|
|
884
|
+
"additionalProperties": false
|
|
885
|
+
}
|
|
886
|
+
},
|
|
887
|
+
"required": [
|
|
888
|
+
"id"
|
|
889
|
+
],
|
|
890
|
+
"additionalProperties": false
|
|
891
|
+
},
|
|
892
|
+
"minItems": 1
|
|
893
|
+
},
|
|
894
|
+
"skill_uses": {
|
|
895
|
+
"description": "Registers uses, which get enabled once this entry is activated with its\nrespective select option. It specifies an entry-unique identifier and the\nskill it belongs to. A translation can be left out if its name equals the\nname of the origin select option.",
|
|
896
|
+
"type": "array",
|
|
897
|
+
"items": {
|
|
898
|
+
"type": "object",
|
|
899
|
+
"properties": {
|
|
900
|
+
"id": {
|
|
901
|
+
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
902
|
+
"type": "integer",
|
|
903
|
+
"minimum": 1
|
|
904
|
+
},
|
|
905
|
+
"translations": {
|
|
906
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
907
|
+
"type": "object",
|
|
908
|
+
"patternProperties": {
|
|
909
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
910
|
+
"type": "object",
|
|
911
|
+
"properties": {
|
|
912
|
+
"name": {
|
|
913
|
+
"description": "The name of the use if different from the activatable entry's name.",
|
|
914
|
+
"type": "string",
|
|
915
|
+
"minLength": 1
|
|
916
|
+
}
|
|
917
|
+
},
|
|
918
|
+
"required": [
|
|
919
|
+
"name"
|
|
920
|
+
],
|
|
921
|
+
"additionalProperties": false
|
|
922
|
+
}
|
|
923
|
+
},
|
|
924
|
+
"minProperties": 1,
|
|
925
|
+
"additionalProperties": false
|
|
926
|
+
}
|
|
927
|
+
},
|
|
928
|
+
"required": [
|
|
929
|
+
"id"
|
|
930
|
+
],
|
|
931
|
+
"additionalProperties": false
|
|
932
|
+
},
|
|
933
|
+
"minItems": 1
|
|
934
|
+
},
|
|
935
|
+
"prerequisites": {
|
|
936
|
+
"$ref": "./_Prerequisite.schema.json#/definitions/GeneralPrerequisites"
|
|
937
|
+
},
|
|
938
|
+
"ap_value": {
|
|
939
|
+
"description": "Specific AP cost for the select option.",
|
|
940
|
+
"type": "integer",
|
|
941
|
+
"minimum": 1
|
|
942
|
+
},
|
|
943
|
+
"src": {
|
|
944
|
+
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
945
|
+
},
|
|
946
|
+
"translations": {
|
|
947
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
948
|
+
"type": "object",
|
|
949
|
+
"patternProperties": {
|
|
950
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
951
|
+
"type": "object",
|
|
952
|
+
"properties": {
|
|
953
|
+
"errata": {
|
|
954
|
+
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
955
|
+
}
|
|
956
|
+
},
|
|
957
|
+
"required": [],
|
|
958
|
+
"minProperties": 1,
|
|
959
|
+
"additionalProperties": false
|
|
960
|
+
}
|
|
961
|
+
},
|
|
962
|
+
"minProperties": 1,
|
|
963
|
+
"additionalProperties": false
|
|
964
|
+
}
|
|
965
|
+
},
|
|
966
|
+
"required": [
|
|
967
|
+
"tag",
|
|
968
|
+
"id"
|
|
969
|
+
],
|
|
970
|
+
"additionalProperties": false
|
|
971
|
+
},
|
|
972
|
+
{
|
|
973
|
+
"type": "object",
|
|
974
|
+
"properties": {
|
|
975
|
+
"tag": {
|
|
976
|
+
"const": "CombatTechnique"
|
|
977
|
+
},
|
|
978
|
+
"id": {
|
|
979
|
+
"description": "The combat technique's identifier.",
|
|
980
|
+
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
981
|
+
},
|
|
982
|
+
"prerequisites": {
|
|
983
|
+
"$ref": "./_Prerequisite.schema.json#/definitions/GeneralPrerequisites"
|
|
984
|
+
},
|
|
985
|
+
"ap_value": {
|
|
986
|
+
"description": "Specific AP cost for the select option.",
|
|
987
|
+
"type": "integer",
|
|
988
|
+
"minimum": 1
|
|
989
|
+
},
|
|
990
|
+
"src": {
|
|
991
|
+
"$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
|
|
992
|
+
},
|
|
993
|
+
"translations": {
|
|
994
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
995
|
+
"type": "object",
|
|
996
|
+
"patternProperties": {
|
|
997
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
998
|
+
"type": "object",
|
|
999
|
+
"properties": {
|
|
1000
|
+
"errata": {
|
|
1001
|
+
"$ref": "./source/_Erratum.schema.json#/definitions/Errata"
|
|
1002
|
+
}
|
|
1003
|
+
},
|
|
1004
|
+
"required": [],
|
|
1005
|
+
"minProperties": 1,
|
|
1006
|
+
"additionalProperties": false
|
|
1007
|
+
}
|
|
1008
|
+
},
|
|
1009
|
+
"minProperties": 1,
|
|
1010
|
+
"additionalProperties": false
|
|
1011
|
+
}
|
|
1012
|
+
},
|
|
1013
|
+
"required": [
|
|
1014
|
+
"tag",
|
|
1015
|
+
"id"
|
|
1016
|
+
],
|
|
1017
|
+
"additionalProperties": false
|
|
1018
|
+
}
|
|
1019
|
+
]
|
|
1020
|
+
},
|
|
1021
|
+
"Rules": {
|
|
1022
|
+
"description": "The rule text.",
|
|
1023
|
+
"type": "string",
|
|
1024
|
+
"minLength": 1
|
|
1025
|
+
},
|
|
1026
|
+
"Effect": {
|
|
1027
|
+
"description": "The effect description.",
|
|
1028
|
+
"type": "string",
|
|
1029
|
+
"minLength": 1
|
|
1030
|
+
},
|
|
1031
|
+
"CombatSpecialAbilityType": {
|
|
1032
|
+
"description": "The definition of how the combat special ability can be used in combat.",
|
|
1033
|
+
"oneOf": [
|
|
1034
|
+
{
|
|
1035
|
+
"type": "object",
|
|
1036
|
+
"properties": {
|
|
1037
|
+
"tag": {
|
|
1038
|
+
"const": "Passive"
|
|
1039
|
+
}
|
|
1040
|
+
},
|
|
1041
|
+
"required": [
|
|
1042
|
+
"tag"
|
|
1043
|
+
],
|
|
1044
|
+
"additionalProperties": false
|
|
1045
|
+
},
|
|
1046
|
+
{
|
|
1047
|
+
"type": "object",
|
|
1048
|
+
"properties": {
|
|
1049
|
+
"tag": {
|
|
1050
|
+
"const": "BasicManeuver"
|
|
1051
|
+
}
|
|
1052
|
+
},
|
|
1053
|
+
"required": [
|
|
1054
|
+
"tag"
|
|
1055
|
+
],
|
|
1056
|
+
"additionalProperties": false
|
|
1057
|
+
},
|
|
1058
|
+
{
|
|
1059
|
+
"type": "object",
|
|
1060
|
+
"properties": {
|
|
1061
|
+
"tag": {
|
|
1062
|
+
"const": "SpecialManeuver"
|
|
1063
|
+
}
|
|
1064
|
+
},
|
|
1065
|
+
"required": [
|
|
1066
|
+
"tag"
|
|
1067
|
+
],
|
|
1068
|
+
"additionalProperties": false
|
|
1069
|
+
}
|
|
1070
|
+
]
|
|
1071
|
+
},
|
|
1072
|
+
"SkillApplications": {
|
|
1073
|
+
"description": "Registers new skill applications, which get enabled once this entry is\nactivated. It specifies an entry-unique identifier and the skill it belongs\nto. A translation can be left out if its name equals the name of the origin\nactivatable entry.",
|
|
1074
|
+
"type": "array",
|
|
1075
|
+
"items": {
|
|
1076
|
+
"type": "object",
|
|
1077
|
+
"properties": {
|
|
1078
|
+
"id": {
|
|
1079
|
+
"description": "The application's identifier. An entry-unique, increasing integer.",
|
|
1080
|
+
"type": "integer",
|
|
1081
|
+
"minimum": 1
|
|
1082
|
+
},
|
|
1083
|
+
"skill": {
|
|
1084
|
+
"description": "The skill(s) this application belongs to.",
|
|
1085
|
+
"oneOf": [
|
|
1086
|
+
{
|
|
1087
|
+
"type": "object",
|
|
1088
|
+
"properties": {
|
|
1089
|
+
"tag": {
|
|
1090
|
+
"const": "Single"
|
|
1091
|
+
},
|
|
1092
|
+
"id": {
|
|
1093
|
+
"description": "The referenced skill's identifier.",
|
|
1094
|
+
"type": "integer",
|
|
1095
|
+
"minimum": 1
|
|
1096
|
+
}
|
|
1097
|
+
},
|
|
1098
|
+
"required": [
|
|
1099
|
+
"tag",
|
|
1100
|
+
"id"
|
|
1101
|
+
],
|
|
1102
|
+
"additionalProperties": false
|
|
1103
|
+
},
|
|
1104
|
+
{
|
|
1105
|
+
"type": "object",
|
|
1106
|
+
"properties": {
|
|
1107
|
+
"tag": {
|
|
1108
|
+
"const": "Multiple"
|
|
1109
|
+
},
|
|
1110
|
+
"list": {
|
|
1111
|
+
"description": "The skills this application belongs to.",
|
|
1112
|
+
"type": "array",
|
|
1113
|
+
"items": {
|
|
1114
|
+
"type": "object",
|
|
1115
|
+
"properties": {
|
|
1116
|
+
"id": {
|
|
1117
|
+
"description": "The referenced skill's identifier.",
|
|
1118
|
+
"type": "integer",
|
|
1119
|
+
"minimum": 1
|
|
1120
|
+
}
|
|
1121
|
+
},
|
|
1122
|
+
"required": [
|
|
1123
|
+
"id"
|
|
1124
|
+
],
|
|
1125
|
+
"additionalProperties": false
|
|
1126
|
+
},
|
|
1127
|
+
"minItems": 2
|
|
1128
|
+
},
|
|
1129
|
+
"required_skill_rating": {
|
|
1130
|
+
"description": "If an application applies to multiple skills, it may need to ensure the\nrespective skill is on a certain skill rating if the activatable entry\ncannot ensure this prerequisite.",
|
|
1131
|
+
"type": "integer",
|
|
1132
|
+
"minimum": 1
|
|
1133
|
+
}
|
|
1134
|
+
},
|
|
1135
|
+
"required": [
|
|
1136
|
+
"tag",
|
|
1137
|
+
"list"
|
|
1138
|
+
],
|
|
1139
|
+
"additionalProperties": false
|
|
1140
|
+
}
|
|
1141
|
+
]
|
|
1142
|
+
},
|
|
1143
|
+
"translations": {
|
|
1144
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1145
|
+
"type": "object",
|
|
1146
|
+
"patternProperties": {
|
|
1147
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1148
|
+
"type": "object",
|
|
1149
|
+
"properties": {
|
|
1150
|
+
"name": {
|
|
1151
|
+
"description": "The name of the application if different from the activatable entry's\nname.",
|
|
1152
|
+
"type": "string",
|
|
1153
|
+
"minLength": 1
|
|
1154
|
+
}
|
|
1155
|
+
},
|
|
1156
|
+
"required": [
|
|
1157
|
+
"name"
|
|
1158
|
+
],
|
|
1159
|
+
"additionalProperties": false
|
|
1160
|
+
}
|
|
1161
|
+
},
|
|
1162
|
+
"minProperties": 1,
|
|
1163
|
+
"additionalProperties": false
|
|
1164
|
+
}
|
|
1165
|
+
},
|
|
1166
|
+
"required": [
|
|
1167
|
+
"id",
|
|
1168
|
+
"skill"
|
|
1169
|
+
],
|
|
1170
|
+
"additionalProperties": false
|
|
1171
|
+
},
|
|
1172
|
+
"minItems": 1
|
|
1173
|
+
},
|
|
1174
|
+
"SkillUses": {
|
|
1175
|
+
"description": "Registers uses, which get enabled once this entry is activated. It specifies\nan entry-unique identifier and the skill it belongs to. A translation can be\nleft out if its name equals the name of the origin activatable entry.",
|
|
1176
|
+
"type": "array",
|
|
1177
|
+
"items": {
|
|
1178
|
+
"type": "object",
|
|
1179
|
+
"properties": {
|
|
1180
|
+
"id": {
|
|
1181
|
+
"description": "The use's identifier. An entry-unique, increasing integer.",
|
|
1182
|
+
"type": "integer",
|
|
1183
|
+
"minimum": 1
|
|
1184
|
+
},
|
|
1185
|
+
"skill": {
|
|
1186
|
+
"description": "The skill(s) this use belongs to.",
|
|
1187
|
+
"oneOf": [
|
|
1188
|
+
{
|
|
1189
|
+
"type": "object",
|
|
1190
|
+
"properties": {
|
|
1191
|
+
"tag": {
|
|
1192
|
+
"const": "Single"
|
|
1193
|
+
},
|
|
1194
|
+
"id": {
|
|
1195
|
+
"description": "The referenced skill's identifier.",
|
|
1196
|
+
"type": "integer",
|
|
1197
|
+
"minimum": 1
|
|
1198
|
+
}
|
|
1199
|
+
},
|
|
1200
|
+
"required": [
|
|
1201
|
+
"tag",
|
|
1202
|
+
"id"
|
|
1203
|
+
],
|
|
1204
|
+
"additionalProperties": false
|
|
1205
|
+
},
|
|
1206
|
+
{
|
|
1207
|
+
"type": "object",
|
|
1208
|
+
"properties": {
|
|
1209
|
+
"tag": {
|
|
1210
|
+
"const": "Multiple"
|
|
1211
|
+
},
|
|
1212
|
+
"list": {
|
|
1213
|
+
"description": "The skills this use belongs to.",
|
|
1214
|
+
"type": "array",
|
|
1215
|
+
"items": {
|
|
1216
|
+
"type": "object",
|
|
1217
|
+
"properties": {
|
|
1218
|
+
"id": {
|
|
1219
|
+
"description": "The referenced skill's identifier.",
|
|
1220
|
+
"type": "integer",
|
|
1221
|
+
"minimum": 1
|
|
1222
|
+
}
|
|
1223
|
+
},
|
|
1224
|
+
"required": [
|
|
1225
|
+
"id"
|
|
1226
|
+
],
|
|
1227
|
+
"additionalProperties": false
|
|
1228
|
+
},
|
|
1229
|
+
"minItems": 2
|
|
1230
|
+
}
|
|
1231
|
+
},
|
|
1232
|
+
"required": [
|
|
1233
|
+
"tag",
|
|
1234
|
+
"list"
|
|
1235
|
+
],
|
|
1236
|
+
"additionalProperties": false
|
|
1237
|
+
}
|
|
1238
|
+
]
|
|
1239
|
+
},
|
|
1240
|
+
"translations": {
|
|
1241
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1242
|
+
"type": "object",
|
|
1243
|
+
"patternProperties": {
|
|
1244
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1245
|
+
"type": "object",
|
|
1246
|
+
"properties": {
|
|
1247
|
+
"name": {
|
|
1248
|
+
"description": "The name of the use if different from the activatable entry's name.",
|
|
1249
|
+
"type": "string",
|
|
1250
|
+
"minLength": 1
|
|
1251
|
+
}
|
|
1252
|
+
},
|
|
1253
|
+
"required": [
|
|
1254
|
+
"name"
|
|
1255
|
+
],
|
|
1256
|
+
"additionalProperties": false
|
|
1257
|
+
}
|
|
1258
|
+
},
|
|
1259
|
+
"minProperties": 1,
|
|
1260
|
+
"additionalProperties": false
|
|
1261
|
+
}
|
|
1262
|
+
},
|
|
1263
|
+
"required": [
|
|
1264
|
+
"id",
|
|
1265
|
+
"skill"
|
|
1266
|
+
],
|
|
1267
|
+
"additionalProperties": false
|
|
1268
|
+
},
|
|
1269
|
+
"minItems": 1
|
|
1270
|
+
},
|
|
1271
|
+
"Penalty": {
|
|
1272
|
+
"description": "The penalty the special ability gives when used.",
|
|
1273
|
+
"oneOf": [
|
|
1274
|
+
{
|
|
1275
|
+
"type": "object",
|
|
1276
|
+
"properties": {
|
|
1277
|
+
"tag": {
|
|
1278
|
+
"const": "Single"
|
|
1279
|
+
},
|
|
1280
|
+
"value": {
|
|
1281
|
+
"description": "The penalty value.",
|
|
1282
|
+
"type": "integer"
|
|
1283
|
+
},
|
|
1284
|
+
"applies_to_parry": {
|
|
1285
|
+
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
1286
|
+
"const": true
|
|
1287
|
+
}
|
|
1288
|
+
},
|
|
1289
|
+
"required": [
|
|
1290
|
+
"tag",
|
|
1291
|
+
"value"
|
|
1292
|
+
],
|
|
1293
|
+
"additionalProperties": false
|
|
1294
|
+
},
|
|
1295
|
+
{
|
|
1296
|
+
"type": "object",
|
|
1297
|
+
"properties": {
|
|
1298
|
+
"tag": {
|
|
1299
|
+
"const": "ByHandedness"
|
|
1300
|
+
},
|
|
1301
|
+
"one_handed": {
|
|
1302
|
+
"description": "The penalty value for one-handed weapons.",
|
|
1303
|
+
"type": "integer"
|
|
1304
|
+
},
|
|
1305
|
+
"two_handed": {
|
|
1306
|
+
"description": "The penalty value for two-handed weapons.",
|
|
1307
|
+
"type": "integer"
|
|
1308
|
+
},
|
|
1309
|
+
"applies_to_parry": {
|
|
1310
|
+
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
1311
|
+
"const": true
|
|
1312
|
+
}
|
|
1313
|
+
},
|
|
1314
|
+
"required": [
|
|
1315
|
+
"tag",
|
|
1316
|
+
"one_handed",
|
|
1317
|
+
"two_handed"
|
|
1318
|
+
],
|
|
1319
|
+
"additionalProperties": false
|
|
1320
|
+
},
|
|
1321
|
+
{
|
|
1322
|
+
"type": "object",
|
|
1323
|
+
"properties": {
|
|
1324
|
+
"tag": {
|
|
1325
|
+
"const": "ByActivation"
|
|
1326
|
+
},
|
|
1327
|
+
"active": {
|
|
1328
|
+
"description": "The penalty value if the entry has been bought by the character.",
|
|
1329
|
+
"type": "integer"
|
|
1330
|
+
},
|
|
1331
|
+
"inactive": {
|
|
1332
|
+
"description": "The penalty value if the entry has not been bought by the character.",
|
|
1333
|
+
"type": "integer"
|
|
1334
|
+
},
|
|
1335
|
+
"applies_to_parry": {
|
|
1336
|
+
"description": "Set to `true` if the penalty applies to the parry instead of the attack.",
|
|
1337
|
+
"const": true
|
|
1338
|
+
}
|
|
1339
|
+
},
|
|
1340
|
+
"required": [
|
|
1341
|
+
"tag",
|
|
1342
|
+
"active",
|
|
1343
|
+
"inactive"
|
|
1344
|
+
],
|
|
1345
|
+
"additionalProperties": false
|
|
1346
|
+
},
|
|
1347
|
+
{
|
|
1348
|
+
"type": "object",
|
|
1349
|
+
"properties": {
|
|
1350
|
+
"tag": {
|
|
1351
|
+
"const": "Selection"
|
|
1352
|
+
},
|
|
1353
|
+
"options": {
|
|
1354
|
+
"oneOf": [
|
|
1355
|
+
{
|
|
1356
|
+
"type": "object",
|
|
1357
|
+
"properties": {
|
|
1358
|
+
"tag": {
|
|
1359
|
+
"const": "Specific"
|
|
1360
|
+
},
|
|
1361
|
+
"list": {
|
|
1362
|
+
"description": "The list of specific penalty options.",
|
|
1363
|
+
"type": "array",
|
|
1364
|
+
"items": {
|
|
1365
|
+
"type": "object",
|
|
1366
|
+
"properties": {
|
|
1367
|
+
"value": {
|
|
1368
|
+
"description": "The penalty value.",
|
|
1369
|
+
"type": "integer"
|
|
1370
|
+
}
|
|
1371
|
+
},
|
|
1372
|
+
"required": [
|
|
1373
|
+
"value"
|
|
1374
|
+
],
|
|
1375
|
+
"additionalProperties": false
|
|
1376
|
+
},
|
|
1377
|
+
"minItems": 2,
|
|
1378
|
+
"uniqueItems": true
|
|
1379
|
+
}
|
|
1380
|
+
},
|
|
1381
|
+
"required": [
|
|
1382
|
+
"tag",
|
|
1383
|
+
"list"
|
|
1384
|
+
],
|
|
1385
|
+
"additionalProperties": false
|
|
1386
|
+
},
|
|
1387
|
+
{
|
|
1388
|
+
"type": "object",
|
|
1389
|
+
"properties": {
|
|
1390
|
+
"tag": {
|
|
1391
|
+
"const": "Range"
|
|
1392
|
+
},
|
|
1393
|
+
"minimum": {
|
|
1394
|
+
"description": "The minimum penalty value.",
|
|
1395
|
+
"type": "integer"
|
|
1396
|
+
},
|
|
1397
|
+
"maximum": {
|
|
1398
|
+
"description": "The maximum penalty value.",
|
|
1399
|
+
"type": "integer"
|
|
1400
|
+
}
|
|
1401
|
+
},
|
|
1402
|
+
"required": [
|
|
1403
|
+
"tag",
|
|
1404
|
+
"minimum",
|
|
1405
|
+
"maximum"
|
|
1406
|
+
],
|
|
1407
|
+
"additionalProperties": false
|
|
1408
|
+
}
|
|
1409
|
+
]
|
|
1410
|
+
}
|
|
1411
|
+
},
|
|
1412
|
+
"required": [
|
|
1413
|
+
"tag",
|
|
1414
|
+
"options"
|
|
1415
|
+
],
|
|
1416
|
+
"additionalProperties": false
|
|
1417
|
+
},
|
|
1418
|
+
{
|
|
1419
|
+
"type": "object",
|
|
1420
|
+
"properties": {
|
|
1421
|
+
"tag": {
|
|
1422
|
+
"const": "ByLevel"
|
|
1423
|
+
},
|
|
1424
|
+
"levels": {
|
|
1425
|
+
"description": "A continuous range of penalties for each level. The first element is the\npenalty for the first level, the second element is the penalty for the\nsecond level, and so on.",
|
|
1426
|
+
"type": "array",
|
|
1427
|
+
"items": {
|
|
1428
|
+
"type": "object",
|
|
1429
|
+
"properties": {
|
|
1430
|
+
"value": {
|
|
1431
|
+
"description": "The penalty value for this level.",
|
|
1432
|
+
"type": "integer"
|
|
1433
|
+
}
|
|
1434
|
+
},
|
|
1435
|
+
"required": [
|
|
1436
|
+
"value"
|
|
1437
|
+
],
|
|
1438
|
+
"additionalProperties": false
|
|
1439
|
+
},
|
|
1440
|
+
"minItems": 2
|
|
1441
|
+
},
|
|
1442
|
+
"external_id": {
|
|
1443
|
+
"description": "The identifier of the combat-related special ability of which the level\ndefines the penalty instead.",
|
|
1444
|
+
"$ref": "./_Identifier.schema.json#/definitions/CombatRelatedSpecialAbilityIdentifier"
|
|
1445
|
+
}
|
|
1446
|
+
},
|
|
1447
|
+
"required": [
|
|
1448
|
+
"tag",
|
|
1449
|
+
"levels"
|
|
1450
|
+
],
|
|
1451
|
+
"additionalProperties": false
|
|
1452
|
+
},
|
|
1453
|
+
{
|
|
1454
|
+
"type": "object",
|
|
1455
|
+
"properties": {
|
|
1456
|
+
"tag": {
|
|
1457
|
+
"const": "ByAttack"
|
|
1458
|
+
},
|
|
1459
|
+
"list": {
|
|
1460
|
+
"description": "A list of penalties for subsequent attacks. The first element is the\npenalty for the first attack, the second element is the penalty for the\nsecond attack, and so on. The order of the first element may be changed\nusing `initial_order`, so that e.g. if set to `2`, the first element is\nthe penalty for the second attack, the second element is the penalty for\nthe third attack, and so on.",
|
|
1461
|
+
"type": "array",
|
|
1462
|
+
"items": {
|
|
1463
|
+
"type": "object",
|
|
1464
|
+
"properties": {
|
|
1465
|
+
"value": {
|
|
1466
|
+
"description": "The penalty value for this order.",
|
|
1467
|
+
"type": "integer"
|
|
1468
|
+
}
|
|
1469
|
+
},
|
|
1470
|
+
"required": [
|
|
1471
|
+
"value"
|
|
1472
|
+
],
|
|
1473
|
+
"additionalProperties": false
|
|
1474
|
+
},
|
|
1475
|
+
"minItems": 1
|
|
1476
|
+
},
|
|
1477
|
+
"initial_order": {
|
|
1478
|
+
"description": "The order of the first element in the `list` of penalties.",
|
|
1479
|
+
"type": "number"
|
|
1480
|
+
},
|
|
1481
|
+
"attack_replacement": {
|
|
1482
|
+
"description": "Set if a predefined different word should be used instead of the word\n`attack` for display purposes.",
|
|
1483
|
+
"oneOf": [
|
|
1484
|
+
{
|
|
1485
|
+
"type": "object",
|
|
1486
|
+
"properties": {
|
|
1487
|
+
"tag": {
|
|
1488
|
+
"const": "Throw"
|
|
1489
|
+
}
|
|
1490
|
+
},
|
|
1491
|
+
"required": [
|
|
1492
|
+
"tag"
|
|
1493
|
+
],
|
|
1494
|
+
"additionalProperties": false
|
|
1495
|
+
}
|
|
1496
|
+
]
|
|
1497
|
+
}
|
|
1498
|
+
},
|
|
1499
|
+
"required": [
|
|
1500
|
+
"tag",
|
|
1501
|
+
"list"
|
|
1502
|
+
],
|
|
1503
|
+
"additionalProperties": false
|
|
1504
|
+
},
|
|
1505
|
+
{
|
|
1506
|
+
"type": "object",
|
|
1507
|
+
"properties": {
|
|
1508
|
+
"tag": {
|
|
1509
|
+
"const": "DependsOnHitZone"
|
|
1510
|
+
}
|
|
1511
|
+
},
|
|
1512
|
+
"required": [
|
|
1513
|
+
"tag"
|
|
1514
|
+
],
|
|
1515
|
+
"additionalProperties": false
|
|
1516
|
+
}
|
|
1517
|
+
]
|
|
1518
|
+
},
|
|
1519
|
+
"EnchantmentCost": {
|
|
1520
|
+
"oneOf": [
|
|
1521
|
+
{
|
|
1522
|
+
"type": "object",
|
|
1523
|
+
"properties": {
|
|
1524
|
+
"tag": {
|
|
1525
|
+
"const": "ArcaneEnergyCost"
|
|
1526
|
+
},
|
|
1527
|
+
"ae_cost": {
|
|
1528
|
+
"$ref": "#/definitions/ArcaneEnergyCost"
|
|
1529
|
+
}
|
|
1530
|
+
},
|
|
1531
|
+
"required": [
|
|
1532
|
+
"tag",
|
|
1533
|
+
"ae_cost"
|
|
1534
|
+
],
|
|
1535
|
+
"additionalProperties": false
|
|
1536
|
+
},
|
|
1537
|
+
{
|
|
1538
|
+
"type": "object",
|
|
1539
|
+
"properties": {
|
|
1540
|
+
"tag": {
|
|
1541
|
+
"const": "BindingCost"
|
|
1542
|
+
},
|
|
1543
|
+
"binding_cost": {
|
|
1544
|
+
"$ref": "#/definitions/BindingCost"
|
|
1545
|
+
}
|
|
1546
|
+
},
|
|
1547
|
+
"required": [
|
|
1548
|
+
"tag",
|
|
1549
|
+
"binding_cost"
|
|
1550
|
+
],
|
|
1551
|
+
"additionalProperties": false
|
|
1552
|
+
}
|
|
1553
|
+
]
|
|
1554
|
+
},
|
|
1555
|
+
"ArcaneEnergyCost": {
|
|
1556
|
+
"description": "The AE Cost.",
|
|
1557
|
+
"oneOf": [
|
|
1558
|
+
{
|
|
1559
|
+
"type": "object",
|
|
1560
|
+
"properties": {
|
|
1561
|
+
"tag": {
|
|
1562
|
+
"const": "Fixed"
|
|
1563
|
+
},
|
|
1564
|
+
"value": {
|
|
1565
|
+
"description": "The AE cost value.",
|
|
1566
|
+
"type": "integer",
|
|
1567
|
+
"minimum": 1
|
|
1568
|
+
},
|
|
1569
|
+
"is_permanent": {
|
|
1570
|
+
"description": "Set to `true` if the AE costs are permanent.",
|
|
1571
|
+
"const": true
|
|
1572
|
+
},
|
|
1573
|
+
"interval": {
|
|
1574
|
+
"description": "Specified if the AE cost `value` has to be paid for each time interval.",
|
|
1575
|
+
"$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
|
|
1576
|
+
},
|
|
1577
|
+
"per_level": {
|
|
1578
|
+
"description": "The AE cost are per level of the enchantment. It may either be displayed\nin a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1\nAE for level I; 2 AE for level II`).",
|
|
1579
|
+
"oneOf": [
|
|
1580
|
+
{
|
|
1581
|
+
"type": "object",
|
|
1582
|
+
"properties": {
|
|
1583
|
+
"tag": {
|
|
1584
|
+
"const": "Compressed"
|
|
1585
|
+
}
|
|
1586
|
+
},
|
|
1587
|
+
"required": [
|
|
1588
|
+
"tag"
|
|
1589
|
+
],
|
|
1590
|
+
"additionalProperties": false
|
|
1591
|
+
},
|
|
1592
|
+
{
|
|
1593
|
+
"type": "object",
|
|
1594
|
+
"properties": {
|
|
1595
|
+
"tag": {
|
|
1596
|
+
"const": "Verbose"
|
|
1597
|
+
}
|
|
1598
|
+
},
|
|
1599
|
+
"required": [
|
|
1600
|
+
"tag"
|
|
1601
|
+
],
|
|
1602
|
+
"additionalProperties": false
|
|
1603
|
+
}
|
|
1604
|
+
]
|
|
1605
|
+
},
|
|
1606
|
+
"translations": {
|
|
1607
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
1608
|
+
"type": "object",
|
|
1609
|
+
"patternProperties": {
|
|
1610
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1611
|
+
"type": "object",
|
|
1612
|
+
"properties": {
|
|
1613
|
+
"note": {
|
|
1614
|
+
"description": "A note, appended to the generated string in parenthesis.",
|
|
1615
|
+
"type": "object",
|
|
1616
|
+
"properties": {
|
|
1617
|
+
"default": {
|
|
1618
|
+
"description": "The full note.",
|
|
1619
|
+
"type": "string",
|
|
1620
|
+
"minLength": 1
|
|
1621
|
+
},
|
|
1622
|
+
"compressed": {
|
|
1623
|
+
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
1624
|
+
"type": "string",
|
|
1625
|
+
"minLength": 1
|
|
1626
|
+
}
|
|
1627
|
+
},
|
|
1628
|
+
"required": [
|
|
1629
|
+
"default"
|
|
1630
|
+
],
|
|
1631
|
+
"additionalProperties": false
|
|
1632
|
+
}
|
|
1633
|
+
},
|
|
1634
|
+
"required": [],
|
|
1635
|
+
"minProperties": 1,
|
|
1636
|
+
"additionalProperties": false
|
|
1637
|
+
}
|
|
1638
|
+
},
|
|
1639
|
+
"minProperties": 1,
|
|
1640
|
+
"additionalProperties": false
|
|
1641
|
+
}
|
|
1642
|
+
},
|
|
1643
|
+
"required": [
|
|
1644
|
+
"tag",
|
|
1645
|
+
"value"
|
|
1646
|
+
],
|
|
1647
|
+
"additionalProperties": false
|
|
1648
|
+
},
|
|
1649
|
+
{
|
|
1650
|
+
"type": "object",
|
|
1651
|
+
"properties": {
|
|
1652
|
+
"tag": {
|
|
1653
|
+
"const": "PerCountable"
|
|
1654
|
+
},
|
|
1655
|
+
"value": {
|
|
1656
|
+
"description": "The AE cost value that has to be per a specific countable entity.",
|
|
1657
|
+
"type": "integer",
|
|
1658
|
+
"minimum": 1
|
|
1659
|
+
},
|
|
1660
|
+
"base_value": {
|
|
1661
|
+
"description": "If defined, in addition to the cost per entity you have to pay a flat\namount, regardless of the entity count.",
|
|
1662
|
+
"type": "integer",
|
|
1663
|
+
"minimum": 1
|
|
1664
|
+
},
|
|
1665
|
+
"translations": {
|
|
1666
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
1667
|
+
"type": "object",
|
|
1668
|
+
"patternProperties": {
|
|
1669
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1670
|
+
"type": "object",
|
|
1671
|
+
"properties": {
|
|
1672
|
+
"per": {
|
|
1673
|
+
"description": "The cost have to be per a specific countable entity, e.g. `8 AE per\nperson`.",
|
|
226
1674
|
"type": "object",
|
|
227
1675
|
"properties": {
|
|
228
|
-
"
|
|
229
|
-
"description": "The
|
|
230
|
-
"type": "
|
|
231
|
-
"
|
|
1676
|
+
"default": {
|
|
1677
|
+
"description": "The full countable entity name.",
|
|
1678
|
+
"type": "string",
|
|
1679
|
+
"minLength": 1
|
|
1680
|
+
},
|
|
1681
|
+
"compressed": {
|
|
1682
|
+
"description": "The compressed countable entity name.",
|
|
1683
|
+
"type": "string",
|
|
1684
|
+
"minLength": 1
|
|
232
1685
|
}
|
|
233
1686
|
},
|
|
234
1687
|
"required": [
|
|
235
|
-
"
|
|
1688
|
+
"default",
|
|
1689
|
+
"compressed"
|
|
236
1690
|
],
|
|
237
1691
|
"additionalProperties": false
|
|
238
1692
|
},
|
|
239
|
-
"
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
1693
|
+
"note": {
|
|
1694
|
+
"description": "A note, appended to the generated string in parenthesis.",
|
|
1695
|
+
"type": "object",
|
|
1696
|
+
"properties": {
|
|
1697
|
+
"default": {
|
|
1698
|
+
"description": "The full note.",
|
|
1699
|
+
"type": "string",
|
|
1700
|
+
"minLength": 1
|
|
1701
|
+
},
|
|
1702
|
+
"compressed": {
|
|
1703
|
+
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
1704
|
+
"type": "string",
|
|
1705
|
+
"minLength": 1
|
|
1706
|
+
}
|
|
1707
|
+
},
|
|
1708
|
+
"required": [
|
|
1709
|
+
"default"
|
|
1710
|
+
],
|
|
1711
|
+
"additionalProperties": false
|
|
1712
|
+
}
|
|
1713
|
+
},
|
|
1714
|
+
"required": [
|
|
1715
|
+
"per"
|
|
1716
|
+
],
|
|
1717
|
+
"minProperties": 1,
|
|
1718
|
+
"additionalProperties": false
|
|
1719
|
+
}
|
|
1720
|
+
},
|
|
1721
|
+
"minProperties": 1,
|
|
1722
|
+
"additionalProperties": false
|
|
1723
|
+
}
|
|
249
1724
|
},
|
|
250
|
-
"
|
|
251
|
-
"
|
|
252
|
-
"
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
"type": "object",
|
|
256
|
-
"properties": {
|
|
257
|
-
"name": {
|
|
258
|
-
"description": "The name of the use if different from the activatable entry's name.",
|
|
259
|
-
"type": "string",
|
|
260
|
-
"minLength": 1
|
|
261
|
-
}
|
|
262
|
-
},
|
|
263
|
-
"required": [
|
|
264
|
-
"name"
|
|
265
|
-
],
|
|
266
|
-
"additionalProperties": false
|
|
267
|
-
}
|
|
268
|
-
},
|
|
269
|
-
"minProperties": 1,
|
|
270
|
-
"additionalProperties": false
|
|
271
|
-
}
|
|
1725
|
+
"required": [
|
|
1726
|
+
"tag",
|
|
1727
|
+
"value"
|
|
1728
|
+
],
|
|
1729
|
+
"additionalProperties": false
|
|
272
1730
|
},
|
|
273
|
-
"required": [
|
|
274
|
-
"id",
|
|
275
|
-
"skill"
|
|
276
|
-
],
|
|
277
|
-
"additionalProperties": false
|
|
278
|
-
},
|
|
279
|
-
"minItems": 1
|
|
280
|
-
},
|
|
281
|
-
"Penalty": {
|
|
282
|
-
"description": "The penalty the special ability gives when used.",
|
|
283
|
-
"oneOf": [
|
|
284
1731
|
{
|
|
285
1732
|
"type": "object",
|
|
286
1733
|
"properties": {
|
|
287
1734
|
"tag": {
|
|
288
|
-
"const": "
|
|
1735
|
+
"const": "ActivationAndHalfInterval"
|
|
289
1736
|
},
|
|
290
1737
|
"value": {
|
|
291
|
-
"description": "The
|
|
292
|
-
"type": "integer"
|
|
1738
|
+
"description": "The AE cost value that has to be payed for activation. Half of this value\nhas to be payed each interval.",
|
|
1739
|
+
"type": "integer",
|
|
1740
|
+
"minimum": 2,
|
|
1741
|
+
"multipleOf": 2
|
|
293
1742
|
},
|
|
294
|
-
"
|
|
295
|
-
"description": "
|
|
296
|
-
"
|
|
1743
|
+
"interval": {
|
|
1744
|
+
"description": "The time interval for which the AE cost `value` has to be paid.",
|
|
1745
|
+
"$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
|
|
297
1746
|
}
|
|
298
1747
|
},
|
|
299
1748
|
"required": [
|
|
300
1749
|
"tag",
|
|
301
|
-
"value"
|
|
1750
|
+
"value",
|
|
1751
|
+
"interval"
|
|
302
1752
|
],
|
|
303
1753
|
"additionalProperties": false
|
|
304
1754
|
},
|
|
@@ -306,25 +1756,96 @@
|
|
|
306
1756
|
"type": "object",
|
|
307
1757
|
"properties": {
|
|
308
1758
|
"tag": {
|
|
309
|
-
"const": "
|
|
310
|
-
},
|
|
311
|
-
"one_handed": {
|
|
312
|
-
"description": "The penalty value for one-handed weapons.",
|
|
313
|
-
"type": "integer"
|
|
1759
|
+
"const": "Indefinite"
|
|
314
1760
|
},
|
|
315
|
-
"
|
|
316
|
-
"description": "The
|
|
317
|
-
"type": "
|
|
1761
|
+
"modifier": {
|
|
1762
|
+
"description": "The indefinite AE cost may be modified by a certain value.",
|
|
1763
|
+
"type": "object",
|
|
1764
|
+
"properties": {
|
|
1765
|
+
"arithmetic": {
|
|
1766
|
+
"description": "The arithmetic how to apply the `value` to the indefinite base value.",
|
|
1767
|
+
"oneOf": [
|
|
1768
|
+
{
|
|
1769
|
+
"type": "object",
|
|
1770
|
+
"properties": {
|
|
1771
|
+
"tag": {
|
|
1772
|
+
"const": "Add"
|
|
1773
|
+
}
|
|
1774
|
+
},
|
|
1775
|
+
"required": [
|
|
1776
|
+
"tag"
|
|
1777
|
+
],
|
|
1778
|
+
"additionalProperties": false
|
|
1779
|
+
},
|
|
1780
|
+
{
|
|
1781
|
+
"type": "object",
|
|
1782
|
+
"properties": {
|
|
1783
|
+
"tag": {
|
|
1784
|
+
"const": "Multiply"
|
|
1785
|
+
}
|
|
1786
|
+
},
|
|
1787
|
+
"required": [
|
|
1788
|
+
"tag"
|
|
1789
|
+
],
|
|
1790
|
+
"additionalProperties": false
|
|
1791
|
+
}
|
|
1792
|
+
]
|
|
1793
|
+
},
|
|
1794
|
+
"value": {
|
|
1795
|
+
"description": "The value that is applied to the indefinite base value using the\ndefined `arithmetic`.",
|
|
1796
|
+
"type": "integer",
|
|
1797
|
+
"minimum": 1
|
|
1798
|
+
}
|
|
1799
|
+
},
|
|
1800
|
+
"required": [
|
|
1801
|
+
"arithmetic",
|
|
1802
|
+
"value"
|
|
1803
|
+
],
|
|
1804
|
+
"additionalProperties": false
|
|
318
1805
|
},
|
|
319
|
-
"
|
|
320
|
-
"description": "
|
|
321
|
-
"
|
|
1806
|
+
"translations": {
|
|
1807
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1808
|
+
"type": "object",
|
|
1809
|
+
"patternProperties": {
|
|
1810
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1811
|
+
"type": "object",
|
|
1812
|
+
"properties": {
|
|
1813
|
+
"description": {
|
|
1814
|
+
"description": "A description of where the cost come from.",
|
|
1815
|
+
"type": "object",
|
|
1816
|
+
"properties": {
|
|
1817
|
+
"default": {
|
|
1818
|
+
"description": "The full description of where the cost come from.",
|
|
1819
|
+
"type": "string",
|
|
1820
|
+
"minLength": 1
|
|
1821
|
+
},
|
|
1822
|
+
"compressed": {
|
|
1823
|
+
"description": "A compressed description of where the cost come from for use in\nsmall areas (e.g. on character sheet).",
|
|
1824
|
+
"type": "string",
|
|
1825
|
+
"minLength": 1
|
|
1826
|
+
}
|
|
1827
|
+
},
|
|
1828
|
+
"required": [
|
|
1829
|
+
"default",
|
|
1830
|
+
"compressed"
|
|
1831
|
+
],
|
|
1832
|
+
"additionalProperties": false
|
|
1833
|
+
}
|
|
1834
|
+
},
|
|
1835
|
+
"required": [
|
|
1836
|
+
"description"
|
|
1837
|
+
],
|
|
1838
|
+
"additionalProperties": false
|
|
1839
|
+
}
|
|
1840
|
+
},
|
|
1841
|
+
"minProperties": 1,
|
|
1842
|
+
"additionalProperties": false
|
|
322
1843
|
}
|
|
323
1844
|
},
|
|
324
1845
|
"required": [
|
|
325
1846
|
"tag",
|
|
326
|
-
"
|
|
327
|
-
"
|
|
1847
|
+
"modifier",
|
|
1848
|
+
"translations"
|
|
328
1849
|
],
|
|
329
1850
|
"additionalProperties": false
|
|
330
1851
|
},
|
|
@@ -332,25 +1853,91 @@
|
|
|
332
1853
|
"type": "object",
|
|
333
1854
|
"properties": {
|
|
334
1855
|
"tag": {
|
|
335
|
-
"const": "
|
|
336
|
-
},
|
|
337
|
-
"active": {
|
|
338
|
-
"description": "The penalty value if the entry has been bought by the character.",
|
|
339
|
-
"type": "integer"
|
|
1856
|
+
"const": "Disjunction"
|
|
340
1857
|
},
|
|
341
|
-
"
|
|
342
|
-
"description": "
|
|
343
|
-
"type": "
|
|
1858
|
+
"interval": {
|
|
1859
|
+
"description": "Specified if the selected AE cost option has to be paid for each time\ninterval.",
|
|
1860
|
+
"type": "object",
|
|
1861
|
+
"properties": {
|
|
1862
|
+
"value": {
|
|
1863
|
+
"description": "The interval itself.",
|
|
1864
|
+
"$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
|
|
1865
|
+
},
|
|
1866
|
+
"activation_value": {
|
|
1867
|
+
"description": "The AE cost value for activation.",
|
|
1868
|
+
"type": "integer",
|
|
1869
|
+
"minimum": 1
|
|
1870
|
+
},
|
|
1871
|
+
"after_activation": {
|
|
1872
|
+
"description": "Set to `true` if the action where the enchantment is casted does\n**not** as a part of the first interval that has to be payed, so that\nthe first interval payment needs to be done after the activation.\n\nThis works different than other sustained spells, since for them the\nend of the cast usually already counts as part of the first interval.",
|
|
1873
|
+
"type": "boolean"
|
|
1874
|
+
}
|
|
1875
|
+
},
|
|
1876
|
+
"required": [
|
|
1877
|
+
"value",
|
|
1878
|
+
"activation_value",
|
|
1879
|
+
"after_activation"
|
|
1880
|
+
],
|
|
1881
|
+
"additionalProperties": false
|
|
344
1882
|
},
|
|
345
|
-
"
|
|
346
|
-
"description": "
|
|
347
|
-
"
|
|
1883
|
+
"options": {
|
|
1884
|
+
"description": "The possible AE cost values.",
|
|
1885
|
+
"type": "array",
|
|
1886
|
+
"items": {
|
|
1887
|
+
"type": "object",
|
|
1888
|
+
"properties": {
|
|
1889
|
+
"value": {
|
|
1890
|
+
"description": "A possible AE cost value.",
|
|
1891
|
+
"type": "integer",
|
|
1892
|
+
"minimum": 1
|
|
1893
|
+
},
|
|
1894
|
+
"translations": {
|
|
1895
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
1896
|
+
"type": "object",
|
|
1897
|
+
"patternProperties": {
|
|
1898
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
1899
|
+
"type": "object",
|
|
1900
|
+
"properties": {
|
|
1901
|
+
"note": {
|
|
1902
|
+
"description": "A note, appended to the generated option string in parenthesis.",
|
|
1903
|
+
"type": "object",
|
|
1904
|
+
"properties": {
|
|
1905
|
+
"default": {
|
|
1906
|
+
"description": "The full note.",
|
|
1907
|
+
"type": "string",
|
|
1908
|
+
"minLength": 1
|
|
1909
|
+
},
|
|
1910
|
+
"compressed": {
|
|
1911
|
+
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
1912
|
+
"type": "string",
|
|
1913
|
+
"minLength": 1
|
|
1914
|
+
}
|
|
1915
|
+
},
|
|
1916
|
+
"required": [
|
|
1917
|
+
"default"
|
|
1918
|
+
],
|
|
1919
|
+
"additionalProperties": false
|
|
1920
|
+
}
|
|
1921
|
+
},
|
|
1922
|
+
"required": [],
|
|
1923
|
+
"minProperties": 1,
|
|
1924
|
+
"additionalProperties": false
|
|
1925
|
+
}
|
|
1926
|
+
},
|
|
1927
|
+
"minProperties": 1,
|
|
1928
|
+
"additionalProperties": false
|
|
1929
|
+
}
|
|
1930
|
+
},
|
|
1931
|
+
"required": [
|
|
1932
|
+
"value"
|
|
1933
|
+
],
|
|
1934
|
+
"additionalProperties": false
|
|
1935
|
+
}
|
|
348
1936
|
}
|
|
349
1937
|
},
|
|
350
1938
|
"required": [
|
|
351
1939
|
"tag",
|
|
352
|
-
"
|
|
353
|
-
"inactive"
|
|
1940
|
+
"options"
|
|
354
1941
|
],
|
|
355
1942
|
"additionalProperties": false
|
|
356
1943
|
},
|
|
@@ -358,70 +1945,100 @@
|
|
|
358
1945
|
"type": "object",
|
|
359
1946
|
"properties": {
|
|
360
1947
|
"tag": {
|
|
361
|
-
"const": "
|
|
1948
|
+
"const": "None"
|
|
362
1949
|
},
|
|
363
|
-
"
|
|
364
|
-
"
|
|
365
|
-
|
|
1950
|
+
"translations": {
|
|
1951
|
+
"description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
|
|
1952
|
+
"type": "object",
|
|
1953
|
+
"patternProperties": {
|
|
1954
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
366
1955
|
"type": "object",
|
|
367
1956
|
"properties": {
|
|
368
|
-
"
|
|
369
|
-
"
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
"properties": {
|
|
377
|
-
"value": {
|
|
378
|
-
"description": "The penalty value.",
|
|
379
|
-
"type": "integer"
|
|
380
|
-
}
|
|
1957
|
+
"note": {
|
|
1958
|
+
"description": "A note, appended to the generated string in parenthesis.",
|
|
1959
|
+
"type": "object",
|
|
1960
|
+
"properties": {
|
|
1961
|
+
"default": {
|
|
1962
|
+
"description": "The full note.",
|
|
1963
|
+
"type": "string",
|
|
1964
|
+
"minLength": 1
|
|
381
1965
|
},
|
|
382
|
-
"
|
|
383
|
-
"
|
|
384
|
-
|
|
385
|
-
|
|
1966
|
+
"compressed": {
|
|
1967
|
+
"description": "A compressed note, if applicable. If not specified it should not\nbe displayed in small location.",
|
|
1968
|
+
"type": "string",
|
|
1969
|
+
"minLength": 1
|
|
1970
|
+
}
|
|
386
1971
|
},
|
|
387
|
-
"
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
"required": [
|
|
392
|
-
"tag",
|
|
393
|
-
"list"
|
|
394
|
-
],
|
|
395
|
-
"additionalProperties": false
|
|
396
|
-
},
|
|
397
|
-
{
|
|
398
|
-
"type": "object",
|
|
399
|
-
"properties": {
|
|
400
|
-
"tag": {
|
|
401
|
-
"const": "Range"
|
|
402
|
-
},
|
|
403
|
-
"minimum": {
|
|
404
|
-
"description": "The minimum penalty value.",
|
|
405
|
-
"type": "integer"
|
|
406
|
-
},
|
|
407
|
-
"maximum": {
|
|
408
|
-
"description": "The maximum penalty value.",
|
|
409
|
-
"type": "integer"
|
|
1972
|
+
"required": [
|
|
1973
|
+
"default"
|
|
1974
|
+
],
|
|
1975
|
+
"additionalProperties": false
|
|
410
1976
|
}
|
|
411
1977
|
},
|
|
412
|
-
"required": [
|
|
413
|
-
|
|
414
|
-
"minimum",
|
|
415
|
-
"maximum"
|
|
416
|
-
],
|
|
1978
|
+
"required": [],
|
|
1979
|
+
"minProperties": 1,
|
|
417
1980
|
"additionalProperties": false
|
|
418
1981
|
}
|
|
419
|
-
|
|
1982
|
+
},
|
|
1983
|
+
"minProperties": 1,
|
|
1984
|
+
"additionalProperties": false
|
|
1985
|
+
}
|
|
1986
|
+
},
|
|
1987
|
+
"required": [
|
|
1988
|
+
"tag"
|
|
1989
|
+
],
|
|
1990
|
+
"additionalProperties": false
|
|
1991
|
+
},
|
|
1992
|
+
{
|
|
1993
|
+
"type": "object",
|
|
1994
|
+
"properties": {
|
|
1995
|
+
"tag": {
|
|
1996
|
+
"const": "Variable"
|
|
1997
|
+
}
|
|
1998
|
+
},
|
|
1999
|
+
"required": [
|
|
2000
|
+
"tag"
|
|
2001
|
+
],
|
|
2002
|
+
"additionalProperties": false
|
|
2003
|
+
}
|
|
2004
|
+
]
|
|
2005
|
+
},
|
|
2006
|
+
"Volume": {
|
|
2007
|
+
"description": "The volume points the enchantment needs.",
|
|
2008
|
+
"oneOf": [
|
|
2009
|
+
{
|
|
2010
|
+
"type": "object",
|
|
2011
|
+
"properties": {
|
|
2012
|
+
"tag": {
|
|
2013
|
+
"const": "Fixed"
|
|
2014
|
+
},
|
|
2015
|
+
"points": {
|
|
2016
|
+
"description": "The volume points.",
|
|
2017
|
+
"type": "integer",
|
|
2018
|
+
"minimum": 0
|
|
420
2019
|
}
|
|
421
2020
|
},
|
|
422
2021
|
"required": [
|
|
423
2022
|
"tag",
|
|
424
|
-
"
|
|
2023
|
+
"points"
|
|
2024
|
+
],
|
|
2025
|
+
"additionalProperties": false
|
|
2026
|
+
},
|
|
2027
|
+
{
|
|
2028
|
+
"type": "object",
|
|
2029
|
+
"properties": {
|
|
2030
|
+
"tag": {
|
|
2031
|
+
"const": "PerLevel"
|
|
2032
|
+
},
|
|
2033
|
+
"points": {
|
|
2034
|
+
"description": "The volume points per level.",
|
|
2035
|
+
"type": "integer",
|
|
2036
|
+
"minimum": 1
|
|
2037
|
+
}
|
|
2038
|
+
},
|
|
2039
|
+
"required": [
|
|
2040
|
+
"tag",
|
|
2041
|
+
"points"
|
|
425
2042
|
],
|
|
426
2043
|
"additionalProperties": false
|
|
427
2044
|
},
|
|
@@ -431,32 +2048,29 @@
|
|
|
431
2048
|
"tag": {
|
|
432
2049
|
"const": "ByLevel"
|
|
433
2050
|
},
|
|
434
|
-
"
|
|
435
|
-
"description": "
|
|
2051
|
+
"list": {
|
|
2052
|
+
"description": "The volume points for each level. The first element is the volume points\nfor the first level, the second element is the volume points for the\nsecond level, and so on.",
|
|
436
2053
|
"type": "array",
|
|
437
2054
|
"items": {
|
|
438
2055
|
"type": "object",
|
|
439
2056
|
"properties": {
|
|
440
|
-
"
|
|
441
|
-
"description": "The
|
|
442
|
-
"type": "integer"
|
|
2057
|
+
"points": {
|
|
2058
|
+
"description": "The volume points for this level.",
|
|
2059
|
+
"type": "integer",
|
|
2060
|
+
"minimum": 0
|
|
443
2061
|
}
|
|
444
2062
|
},
|
|
445
2063
|
"required": [
|
|
446
|
-
"
|
|
2064
|
+
"points"
|
|
447
2065
|
],
|
|
448
2066
|
"additionalProperties": false
|
|
449
2067
|
},
|
|
450
2068
|
"minItems": 2
|
|
451
|
-
},
|
|
452
|
-
"external_id": {
|
|
453
|
-
"description": "The identifier of the combat-related special ability of which the level\ndefines the penalty instead.",
|
|
454
|
-
"$ref": "./_Identifier.schema.json#/definitions/Identifier/Group/CombatRelatedSpecialAbility"
|
|
455
2069
|
}
|
|
456
2070
|
},
|
|
457
2071
|
"required": [
|
|
458
2072
|
"tag",
|
|
459
|
-
"
|
|
2073
|
+
"list"
|
|
460
2074
|
],
|
|
461
2075
|
"additionalProperties": false
|
|
462
2076
|
},
|
|
@@ -464,51 +2078,142 @@
|
|
|
464
2078
|
"type": "object",
|
|
465
2079
|
"properties": {
|
|
466
2080
|
"tag": {
|
|
467
|
-
"const": "
|
|
2081
|
+
"const": "Map"
|
|
468
2082
|
},
|
|
469
|
-
"
|
|
470
|
-
"
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
2083
|
+
"map": {
|
|
2084
|
+
"$ref": "#/definitions/VolumeMap"
|
|
2085
|
+
}
|
|
2086
|
+
},
|
|
2087
|
+
"required": [
|
|
2088
|
+
"tag",
|
|
2089
|
+
"map"
|
|
2090
|
+
],
|
|
2091
|
+
"additionalProperties": false
|
|
2092
|
+
}
|
|
2093
|
+
]
|
|
2094
|
+
},
|
|
2095
|
+
"VolumeMap": {
|
|
2096
|
+
"description": "A content that is `3/4/5 Points for Chimera, Daimonid, Golems, Undead /\nFairies, Ghosts / Demons, Elementals` may be respresented as the following\nmap:\n\n```yaml\noptions:\n - points: 3\n associated_options:\n - id:\n tag: General\n value: # ...\n # ...\n translations:\n en-US:\n label: \"Chimera, Daimonid, Golems, Undead\"\n label_standalone: \"Chimera/Daimonid/Golems/Undead\"\n - points: 4\n associated_options:\n - id:\n tag: General\n value: # ...\n # ...\n translations:\n en-US:\n label: \"Fairies, Ghosts\"\n label_standalone: \"Fairies/Ghosts\"\n - points: 5\n associated_options:\n - id:\n tag: General\n value: # ...\n # ...\n translations:\n en-US:\n label: \"Demons, Elementals\"\n label_standalone: \"Demons/Elementals\"\n```\n\nThis will generate the exact same string as seen above. The associated\noptions are not present in the example, but they link to the options the\nvolume specification is meant for.",
|
|
2097
|
+
"type": "object",
|
|
2098
|
+
"properties": {
|
|
2099
|
+
"options": {
|
|
2100
|
+
"description": "The possible costs and associated labels.",
|
|
2101
|
+
"type": "array",
|
|
2102
|
+
"items": {
|
|
2103
|
+
"$ref": "#/definitions/VolumeMapOption"
|
|
2104
|
+
},
|
|
2105
|
+
"minItems": 2
|
|
2106
|
+
},
|
|
2107
|
+
"translations": {
|
|
2108
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
2109
|
+
"type": "object",
|
|
2110
|
+
"patternProperties": {
|
|
2111
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2112
|
+
"type": "object",
|
|
2113
|
+
"properties": {
|
|
2114
|
+
"list_prepend": {
|
|
2115
|
+
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
2116
|
+
"type": "string"
|
|
479
2117
|
},
|
|
480
|
-
"
|
|
481
|
-
"
|
|
482
|
-
|
|
483
|
-
|
|
2118
|
+
"list_append": {
|
|
2119
|
+
"description": "Place a string after the grouped map option labels.",
|
|
2120
|
+
"type": "string"
|
|
2121
|
+
},
|
|
2122
|
+
"replacement": {
|
|
2123
|
+
"description": "If the string from the book cannot be generated using the default\ngeneration technique, use this string. All options still need to be\ninserted propertly, since it may be used by in-game tools to provide a\nselection to players.",
|
|
2124
|
+
"type": "string"
|
|
2125
|
+
}
|
|
484
2126
|
},
|
|
485
|
-
"
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
2127
|
+
"required": [],
|
|
2128
|
+
"additionalProperties": false
|
|
2129
|
+
}
|
|
2130
|
+
},
|
|
2131
|
+
"minProperties": 1,
|
|
2132
|
+
"additionalProperties": false
|
|
2133
|
+
}
|
|
2134
|
+
},
|
|
2135
|
+
"required": [
|
|
2136
|
+
"options"
|
|
2137
|
+
],
|
|
2138
|
+
"additionalProperties": false
|
|
2139
|
+
},
|
|
2140
|
+
"VolumeMapOption": {
|
|
2141
|
+
"type": "object",
|
|
2142
|
+
"properties": {
|
|
2143
|
+
"points": {
|
|
2144
|
+
"description": "The full permanent AE cost value for this option.",
|
|
2145
|
+
"type": "integer",
|
|
2146
|
+
"minimum": 1
|
|
2147
|
+
},
|
|
2148
|
+
"associated_options": {
|
|
2149
|
+
"description": "Links to the options this volume specification is meant for.",
|
|
2150
|
+
"type": "array",
|
|
2151
|
+
"items": {
|
|
2152
|
+
"type": "object",
|
|
2153
|
+
"properties": {
|
|
2154
|
+
"id": {
|
|
2155
|
+
"description": "The option's identifier.",
|
|
2156
|
+
"$ref": "./_Identifier.schema.json#/definitions/VolumePointsOptionReferenceIdentifier"
|
|
2157
|
+
}
|
|
490
2158
|
},
|
|
491
|
-
"
|
|
492
|
-
"
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
2159
|
+
"required": [
|
|
2160
|
+
"id"
|
|
2161
|
+
],
|
|
2162
|
+
"additionalProperties": false
|
|
2163
|
+
}
|
|
2164
|
+
},
|
|
2165
|
+
"translations": {
|
|
2166
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
2167
|
+
"type": "object",
|
|
2168
|
+
"patternProperties": {
|
|
2169
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2170
|
+
"type": "object",
|
|
2171
|
+
"properties": {
|
|
2172
|
+
"label": {
|
|
2173
|
+
"description": "The description of the option for cost string generation.",
|
|
2174
|
+
"type": "string",
|
|
2175
|
+
"minLength": 1
|
|
2176
|
+
},
|
|
2177
|
+
"label_standalone": {
|
|
2178
|
+
"description": "The description of the option if used standalone. Only used if\ndifferent from `label`.",
|
|
2179
|
+
"type": "string",
|
|
2180
|
+
"minLength": 1
|
|
505
2181
|
}
|
|
506
|
-
|
|
2182
|
+
},
|
|
2183
|
+
"required": [
|
|
2184
|
+
"label"
|
|
2185
|
+
],
|
|
2186
|
+
"additionalProperties": false
|
|
2187
|
+
}
|
|
2188
|
+
},
|
|
2189
|
+
"minProperties": 1,
|
|
2190
|
+
"additionalProperties": false
|
|
2191
|
+
}
|
|
2192
|
+
},
|
|
2193
|
+
"required": [
|
|
2194
|
+
"points",
|
|
2195
|
+
"associated_options"
|
|
2196
|
+
],
|
|
2197
|
+
"additionalProperties": false
|
|
2198
|
+
},
|
|
2199
|
+
"BindingCost": {
|
|
2200
|
+
"description": "The binding cost for an enchantment.",
|
|
2201
|
+
"oneOf": [
|
|
2202
|
+
{
|
|
2203
|
+
"type": "object",
|
|
2204
|
+
"properties": {
|
|
2205
|
+
"tag": {
|
|
2206
|
+
"const": "Fixed"
|
|
2207
|
+
},
|
|
2208
|
+
"permanent_value": {
|
|
2209
|
+
"description": "The permanent AE cost.",
|
|
2210
|
+
"type": "integer",
|
|
2211
|
+
"minimum": 1
|
|
507
2212
|
}
|
|
508
2213
|
},
|
|
509
2214
|
"required": [
|
|
510
2215
|
"tag",
|
|
511
|
-
"
|
|
2216
|
+
"permanent_value"
|
|
512
2217
|
],
|
|
513
2218
|
"additionalProperties": false
|
|
514
2219
|
},
|
|
@@ -516,27 +2221,123 @@
|
|
|
516
2221
|
"type": "object",
|
|
517
2222
|
"properties": {
|
|
518
2223
|
"tag": {
|
|
519
|
-
"const": "
|
|
2224
|
+
"const": "PerLevel"
|
|
2225
|
+
},
|
|
2226
|
+
"permanent_value": {
|
|
2227
|
+
"description": "The permanent AE cost per level.",
|
|
2228
|
+
"type": "integer",
|
|
2229
|
+
"minimum": 1
|
|
520
2230
|
}
|
|
521
2231
|
},
|
|
522
2232
|
"required": [
|
|
523
|
-
"tag"
|
|
2233
|
+
"tag",
|
|
2234
|
+
"permanent_value"
|
|
2235
|
+
],
|
|
2236
|
+
"additionalProperties": false
|
|
2237
|
+
},
|
|
2238
|
+
{
|
|
2239
|
+
"type": "object",
|
|
2240
|
+
"properties": {
|
|
2241
|
+
"tag": {
|
|
2242
|
+
"const": "Map"
|
|
2243
|
+
},
|
|
2244
|
+
"map": {
|
|
2245
|
+
"$ref": "#/definitions/BindingCostMap"
|
|
2246
|
+
}
|
|
2247
|
+
},
|
|
2248
|
+
"required": [
|
|
2249
|
+
"tag",
|
|
2250
|
+
"map"
|
|
524
2251
|
],
|
|
525
2252
|
"additionalProperties": false
|
|
526
2253
|
}
|
|
527
2254
|
]
|
|
528
2255
|
},
|
|
529
|
-
"
|
|
530
|
-
"description": "
|
|
531
|
-
"
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
2256
|
+
"BindingCostMap": {
|
|
2257
|
+
"description": "A content that is `2/4/8 permanent AE for spell-swords with the combat\ntechnique Daggers, Swords, or Two-Handed Swords` may be respresented as the\nfollowing map:\n\n```yaml\noptions:\n - permanent_value: 2\n translations:\n en-US:\n label: \"Daggers\"\n label_standalone: \"Dagger\"\n - permanent_value: 4\n translations:\n en-US:\n label: \"Swords\"\n label_standalone: \"Sword\"\n - permanent_value: 8\n translations:\n en-US:\n label: \"Two-Handed Swords\"\n label_standalone: \"Two-Handed Sword\"\nlist_prepend: \"spell-swords with the combat technique\"\n```\n\nThis will generate the exact same string as seen above.",
|
|
2258
|
+
"type": "object",
|
|
2259
|
+
"properties": {
|
|
2260
|
+
"options": {
|
|
2261
|
+
"description": "The possible costs and associated labels.",
|
|
2262
|
+
"type": "array",
|
|
2263
|
+
"items": {
|
|
2264
|
+
"$ref": "#/definitions/VolumeMapOption"
|
|
2265
|
+
},
|
|
2266
|
+
"minItems": 2
|
|
2267
|
+
},
|
|
2268
|
+
"translations": {
|
|
2269
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
2270
|
+
"type": "object",
|
|
2271
|
+
"patternProperties": {
|
|
2272
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2273
|
+
"type": "object",
|
|
2274
|
+
"properties": {
|
|
2275
|
+
"list_prepend": {
|
|
2276
|
+
"description": "Place a string between the `for` and the grouped map option labels.",
|
|
2277
|
+
"type": "string"
|
|
2278
|
+
},
|
|
2279
|
+
"list_append": {
|
|
2280
|
+
"description": "Place a string after the grouped map option labels.",
|
|
2281
|
+
"type": "string"
|
|
2282
|
+
},
|
|
2283
|
+
"replacement": {
|
|
2284
|
+
"description": "If the string from the book cannot be generated using the default\ngeneration technique, use this string. All options still need to be\ninserted propertly, since it may be used by in-game tools to provide a\nselection to players.",
|
|
2285
|
+
"type": "string"
|
|
2286
|
+
}
|
|
2287
|
+
},
|
|
2288
|
+
"required": [],
|
|
2289
|
+
"additionalProperties": false
|
|
2290
|
+
}
|
|
2291
|
+
},
|
|
2292
|
+
"minProperties": 1,
|
|
2293
|
+
"additionalProperties": false
|
|
2294
|
+
}
|
|
2295
|
+
},
|
|
2296
|
+
"required": [
|
|
2297
|
+
"options"
|
|
2298
|
+
],
|
|
2299
|
+
"additionalProperties": false
|
|
536
2300
|
},
|
|
537
|
-
"
|
|
538
|
-
"
|
|
539
|
-
"
|
|
2301
|
+
"BindingCostMapOption": {
|
|
2302
|
+
"type": "object",
|
|
2303
|
+
"properties": {
|
|
2304
|
+
"permanent_value": {
|
|
2305
|
+
"description": "The full permanent AE cost value for this option.",
|
|
2306
|
+
"type": "integer",
|
|
2307
|
+
"minimum": 1
|
|
2308
|
+
},
|
|
2309
|
+
"translations": {
|
|
2310
|
+
"description": "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
2311
|
+
"type": "object",
|
|
2312
|
+
"patternProperties": {
|
|
2313
|
+
"^[a-z]{2}-[A-Z]{2}$": {
|
|
2314
|
+
"type": "object",
|
|
2315
|
+
"properties": {
|
|
2316
|
+
"label": {
|
|
2317
|
+
"description": "The description of the option for cost string generation.",
|
|
2318
|
+
"type": "string",
|
|
2319
|
+
"minLength": 1
|
|
2320
|
+
},
|
|
2321
|
+
"label_standalone": {
|
|
2322
|
+
"description": "The description of the option if used standalone. Only used if\ndifferent from `label`.",
|
|
2323
|
+
"type": "string",
|
|
2324
|
+
"minLength": 1
|
|
2325
|
+
}
|
|
2326
|
+
},
|
|
2327
|
+
"required": [
|
|
2328
|
+
"label"
|
|
2329
|
+
],
|
|
2330
|
+
"additionalProperties": false
|
|
2331
|
+
}
|
|
2332
|
+
},
|
|
2333
|
+
"minProperties": 1,
|
|
2334
|
+
"additionalProperties": false
|
|
2335
|
+
}
|
|
2336
|
+
},
|
|
2337
|
+
"required": [
|
|
2338
|
+
"permanent_value"
|
|
2339
|
+
],
|
|
2340
|
+
"additionalProperties": false
|
|
540
2341
|
},
|
|
541
2342
|
"Property": {
|
|
542
2343
|
"description": "The magic property's identifier. `DependingOnProperty` can only be used if\nthe special ability has an option to select a property.",
|
|
@@ -614,7 +2415,7 @@
|
|
|
614
2415
|
"description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
|
|
615
2416
|
"type": "array",
|
|
616
2417
|
"items": {
|
|
617
|
-
"$ref": "./_Identifier.schema.json#/definitions/
|
|
2418
|
+
"$ref": "./_Identifier.schema.json#/definitions/AdvancedSpecialAbilityRestrictedOptionIdentifier"
|
|
618
2419
|
},
|
|
619
2420
|
"minItems": 1
|
|
620
2421
|
}
|
|
@@ -655,12 +2456,12 @@
|
|
|
655
2456
|
"description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
|
|
656
2457
|
"type": "array",
|
|
657
2458
|
"items": {
|
|
658
|
-
"$ref": "./_Identifier.schema.json#/definitions/
|
|
2459
|
+
"$ref": "./_Identifier.schema.json#/definitions/AdvancedSpecialAbilityRestrictedOptionIdentifier"
|
|
659
2460
|
},
|
|
660
2461
|
"minItems": 1
|
|
661
2462
|
},
|
|
662
2463
|
"display_option": {
|
|
663
|
-
"$ref": "./
|
|
2464
|
+
"$ref": "./prerequisites/DisplayOption.schema.json#/definitions/DisplayOption"
|
|
664
2465
|
}
|
|
665
2466
|
},
|
|
666
2467
|
"required": [
|
|
@@ -715,7 +2516,7 @@
|
|
|
715
2516
|
"minItems": 0
|
|
716
2517
|
},
|
|
717
2518
|
"display_option": {
|
|
718
|
-
"$ref": "./
|
|
2519
|
+
"$ref": "./prerequisites/DisplayOption.schema.json#/definitions/DisplayOption"
|
|
719
2520
|
},
|
|
720
2521
|
"is_selection_required_on_purchase": {
|
|
721
2522
|
"description": "Do have to choose on when buying the special ability? Otherwise the\ndecision can be made later.",
|
|
@@ -725,7 +2526,7 @@
|
|
|
725
2526
|
"description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
|
|
726
2527
|
"type": "array",
|
|
727
2528
|
"items": {
|
|
728
|
-
"$ref": "./_Identifier.schema.json#/definitions/
|
|
2529
|
+
"$ref": "./_Identifier.schema.json#/definitions/AdvancedSpecialAbilityRestrictedOptionIdentifier"
|
|
729
2530
|
},
|
|
730
2531
|
"minItems": 1
|
|
731
2532
|
}
|
|
@@ -742,40 +2543,10 @@
|
|
|
742
2543
|
]
|
|
743
2544
|
},
|
|
744
2545
|
"AdvancedSpecialAbilityDerivedExternalEntryId": {
|
|
745
|
-
"
|
|
746
|
-
"properties": {
|
|
747
|
-
"tag": {
|
|
748
|
-
"const": "MagicalTradition"
|
|
749
|
-
},
|
|
750
|
-
"value": {
|
|
751
|
-
"description": "The referenced entry's numeric identifier.",
|
|
752
|
-
"type": "integer",
|
|
753
|
-
"minimum": 1
|
|
754
|
-
}
|
|
755
|
-
},
|
|
756
|
-
"required": [
|
|
757
|
-
"tag",
|
|
758
|
-
"value"
|
|
759
|
-
],
|
|
760
|
-
"additionalProperties": false
|
|
2546
|
+
"$ref": "./_Identifier.schema.json#/definitions/MagicalTraditionIdentifier"
|
|
761
2547
|
},
|
|
762
2548
|
"AdvancedSpecialAbilityDerivedExternalEntryOptionId": {
|
|
763
|
-
"
|
|
764
|
-
"properties": {
|
|
765
|
-
"tag": {
|
|
766
|
-
"const": "Patron"
|
|
767
|
-
},
|
|
768
|
-
"value": {
|
|
769
|
-
"description": "The referenced entry's numeric identifier.",
|
|
770
|
-
"type": "integer",
|
|
771
|
-
"minimum": 1
|
|
772
|
-
}
|
|
773
|
-
},
|
|
774
|
-
"required": [
|
|
775
|
-
"tag",
|
|
776
|
-
"value"
|
|
777
|
-
],
|
|
778
|
-
"additionalProperties": false
|
|
2549
|
+
"$ref": "./_Identifier.schema.json#/definitions/PatronIdentifier"
|
|
779
2550
|
},
|
|
780
2551
|
"AdvancedSpecialAbilities": {
|
|
781
2552
|
"description": "The Advanced Special Abilities for the respective Style Special Ability.\nSometimes, only a specific select option or a set of select options of an\nentry is allowed, which can be modelled by the option property. It can also\nbe that you can choose from a set of special abilities, but then you can't\nspecify an option.",
|
|
@@ -890,7 +2661,7 @@
|
|
|
890
2661
|
"type": "object",
|
|
891
2662
|
"properties": {
|
|
892
2663
|
"id": {
|
|
893
|
-
"$ref": "./_Identifier.schema.json#/definitions/
|
|
2664
|
+
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
894
2665
|
},
|
|
895
2666
|
"restrictions": {
|
|
896
2667
|
"type": "array",
|
|
@@ -982,7 +2753,7 @@
|
|
|
982
2753
|
"description": "The combat techniques this combat special ability is **not** applicable\nto.",
|
|
983
2754
|
"type": "array",
|
|
984
2755
|
"items": {
|
|
985
|
-
"$ref": "./_Identifier.schema.json#/definitions/
|
|
2756
|
+
"$ref": "./_Identifier.schema.json#/definitions/CombatTechniqueIdentifier"
|
|
986
2757
|
},
|
|
987
2758
|
"minItems": 1,
|
|
988
2759
|
"uniqueItems": true
|