optolith-database-schema 0.0.4 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (210) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/lib/types/Advantage.d.ts +48 -0
  3. package/lib/types/Advantage.js +4 -0
  4. package/lib/types/ArcaneBardTradition.d.ts +2 -2
  5. package/lib/types/ArcaneDancerTradition.d.ts +2 -2
  6. package/lib/types/Ceremony.d.ts +2 -2
  7. package/lib/types/Continent.d.ts +32 -0
  8. package/lib/types/Continent.js +4 -0
  9. package/lib/types/DerivedCharacteristic.d.ts +2 -2
  10. package/lib/types/Disadvantage.d.ts +46 -0
  11. package/lib/types/Disadvantage.js +4 -0
  12. package/lib/types/LiturgicalChant.d.ts +2 -2
  13. package/lib/types/Patron.d.ts +197 -0
  14. package/lib/types/Patron.js +4 -0
  15. package/lib/types/PatronCategory.d.ts +44 -0
  16. package/lib/types/PatronCategory.js +4 -0
  17. package/lib/types/Ritual.d.ts +2 -2
  18. package/lib/types/Spell.d.ts +2 -2
  19. package/lib/types/_Activatable.d.ts +528 -0
  20. package/lib/types/_Activatable.js +5 -0
  21. package/lib/types/_Enhancements.d.ts +2 -2
  22. package/lib/types/_I18n.d.ts +38 -0
  23. package/lib/types/_I18n.js +1 -0
  24. package/lib/types/_Identifier.d.ts +81 -75
  25. package/lib/types/_Identifier.js +76 -1
  26. package/lib/types/_Influence.d.ts +52 -0
  27. package/lib/types/_Influence.js +4 -0
  28. package/lib/types/_Prerequisite.d.ts +343 -296
  29. package/lib/types/_Prerequisite.js +136 -183
  30. package/lib/types/magicalActions/GeodeRitual.d.ts +2 -2
  31. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +34 -0
  32. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +4 -0
  33. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +32 -0
  34. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +4 -0
  35. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +32 -0
  36. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +4 -0
  37. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +32 -0
  38. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +4 -0
  39. package/lib/types/specialAbility/AncestorGlyph.d.ts +30 -0
  40. package/lib/types/specialAbility/AncestorGlyph.js +4 -0
  41. package/lib/types/specialAbility/BlessedTradition.d.ts +170 -0
  42. package/lib/types/specialAbility/BlessedTradition.js +4 -0
  43. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +32 -0
  44. package/lib/types/specialAbility/BrawlingSpecialAbility.js +4 -0
  45. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +33 -0
  46. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +4 -0
  47. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +34 -0
  48. package/lib/types/specialAbility/CombatSpecialAbility.js +4 -0
  49. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +43 -0
  50. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +4 -0
  51. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +32 -0
  52. package/lib/types/specialAbility/CommandSpecialAbility.js +4 -0
  53. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +30 -0
  54. package/lib/types/specialAbility/FamiliarSpecialAbility.js +4 -0
  55. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +30 -0
  56. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +4 -0
  57. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +32 -0
  58. package/lib/types/specialAbility/FatePointSpecialAbility.js +4 -0
  59. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +32 -0
  60. package/lib/types/specialAbility/GeneralSpecialAbility.js +4 -0
  61. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +30 -0
  62. package/lib/types/specialAbility/KarmaSpecialAbility.js +4 -0
  63. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +33 -0
  64. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +4 -0
  65. package/lib/types/specialAbility/LycantropicGift.d.ts +30 -0
  66. package/lib/types/specialAbility/LycantropicGift.js +4 -0
  67. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +33 -0
  68. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +4 -0
  69. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +32 -0
  70. package/lib/types/specialAbility/MagicalSpecialAbility.js +4 -0
  71. package/lib/types/specialAbility/MagicalTradition.d.ts +130 -0
  72. package/lib/types/specialAbility/MagicalTradition.js +4 -0
  73. package/lib/types/specialAbility/PactGift.d.ts +86 -0
  74. package/lib/types/specialAbility/PactGift.js +4 -0
  75. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +41 -0
  76. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +4 -0
  77. package/lib/types/specialAbility/Sermon.d.ts +30 -0
  78. package/lib/types/specialAbility/Sermon.js +4 -0
  79. package/lib/types/specialAbility/SexSpecialAbility.d.ts +32 -0
  80. package/lib/types/specialAbility/SexSpecialAbility.js +4 -0
  81. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +30 -0
  82. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +4 -0
  83. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +31 -0
  84. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +4 -0
  85. package/lib/types/specialAbility/VampiricGift.d.ts +30 -0
  86. package/lib/types/specialAbility/VampiricGift.js +4 -0
  87. package/lib/types/specialAbility/Vision.d.ts +30 -0
  88. package/lib/types/specialAbility/Vision.js +4 -0
  89. package/lib/types/specialAbility/sub/Language.d.ts +141 -0
  90. package/lib/types/specialAbility/sub/Language.js +4 -0
  91. package/lib/types/specialAbility/sub/Script.d.ts +85 -0
  92. package/lib/types/specialAbility/sub/Script.js +4 -0
  93. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +31 -0
  94. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +4 -0
  95. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +31 -0
  96. package/lib/types/traditionArtifacts/AttireEnchantment.js +4 -0
  97. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +31 -0
  98. package/lib/types/traditionArtifacts/BowlEnchantment.js +4 -0
  99. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +44 -0
  100. package/lib/types/traditionArtifacts/CauldronEnchantment.js +4 -0
  101. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +31 -0
  102. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +4 -0
  103. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +31 -0
  104. package/lib/types/traditionArtifacts/DaggerRitual.js +4 -0
  105. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +31 -0
  106. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +4 -0
  107. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +31 -0
  108. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +4 -0
  109. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +31 -0
  110. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +4 -0
  111. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +31 -0
  112. package/lib/types/traditionArtifacts/OrbEnchantment.js +4 -0
  113. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +31 -0
  114. package/lib/types/traditionArtifacts/RingEnchantment.js +4 -0
  115. package/lib/types/traditionArtifacts/SickleRitual.d.ts +31 -0
  116. package/lib/types/traditionArtifacts/SickleRitual.js +4 -0
  117. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +31 -0
  118. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +4 -0
  119. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +31 -0
  120. package/lib/types/traditionArtifacts/StaffEnchantment.js +4 -0
  121. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +31 -0
  122. package/lib/types/traditionArtifacts/ToyEnchantment.js +4 -0
  123. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +31 -0
  124. package/lib/types/traditionArtifacts/Trinkhornzauber.js +4 -0
  125. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +31 -0
  126. package/lib/types/traditionArtifacts/WandEnchantment.js +4 -0
  127. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +31 -0
  128. package/lib/types/traditionArtifacts/WeaponEnchantment.js +4 -0
  129. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +42 -0
  130. package/lib/types/traditionArtifacts/sub/AnimalShape.js +4 -0
  131. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +30 -0
  132. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +4 -0
  133. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +42 -0
  134. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +4 -0
  135. package/lib/types/traditionArtifacts/sub/Brew.d.ts +30 -0
  136. package/lib/types/traditionArtifacts/sub/Brew.js +4 -0
  137. package/package.json +1 -1
  138. package/schema/Advantage.schema.json +81 -0
  139. package/schema/ArcaneBardTradition.schema.json +1 -1
  140. package/schema/ArcaneDancerTradition.schema.json +1 -1
  141. package/schema/Ceremony.schema.json +1 -1
  142. package/schema/Continent.schema.json +46 -0
  143. package/schema/DerivedCharacteristic.schema.json +1 -1
  144. package/schema/Disadvantage.schema.json +75 -0
  145. package/schema/LiturgicalChant.schema.json +1 -1
  146. package/schema/Patron.schema.json +407 -0
  147. package/schema/PatronCategory.schema.json +66 -0
  148. package/schema/Ritual.schema.json +1 -1
  149. package/schema/Spell.schema.json +1 -1
  150. package/schema/_Activatable.schema.json +1182 -0
  151. package/schema/_Enhancements.schema.json +1 -1
  152. package/schema/_I18n.schema.json +38 -0
  153. package/schema/_Identifier.schema.json +90 -113
  154. package/schema/_Influence.schema.json +77 -0
  155. package/schema/_Prerequisite.schema.json +703 -573
  156. package/schema/magicalActions/GeodeRitual.schema.json +1 -1
  157. package/schema/source/Publication.schema.json +1 -1
  158. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +76 -0
  159. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +68 -0
  160. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +68 -0
  161. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +68 -0
  162. package/schema/specialAbility/AncestorGlyph.schema.json +62 -0
  163. package/schema/specialAbility/BlessedTradition.schema.json +300 -0
  164. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +70 -0
  165. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +72 -0
  166. package/schema/specialAbility/CombatSpecialAbility.schema.json +76 -0
  167. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +110 -0
  168. package/schema/specialAbility/CommandSpecialAbility.schema.json +70 -0
  169. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +62 -0
  170. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +62 -0
  171. package/schema/specialAbility/FatePointSpecialAbility.schema.json +68 -0
  172. package/schema/specialAbility/GeneralSpecialAbility.schema.json +68 -0
  173. package/schema/specialAbility/KarmaSpecialAbility.schema.json +62 -0
  174. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +72 -0
  175. package/schema/specialAbility/LycantropicGift.schema.json +62 -0
  176. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +72 -0
  177. package/schema/specialAbility/MagicalSpecialAbility.schema.json +68 -0
  178. package/schema/specialAbility/MagicalTradition.schema.json +181 -0
  179. package/schema/specialAbility/PactGift.schema.json +215 -0
  180. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +70 -0
  181. package/schema/specialAbility/Sermon.schema.json +62 -0
  182. package/schema/specialAbility/SexSpecialAbility.schema.json +68 -0
  183. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +62 -0
  184. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +66 -0
  185. package/schema/specialAbility/VampiricGift.schema.json +62 -0
  186. package/schema/specialAbility/Vision.schema.json +62 -0
  187. package/schema/specialAbility/sub/Language.schema.json +215 -0
  188. package/schema/specialAbility/sub/Script.schema.json +127 -0
  189. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +66 -0
  190. package/schema/traditionArtifacts/AttireEnchantment.schema.json +66 -0
  191. package/schema/traditionArtifacts/BowlEnchantment.schema.json +66 -0
  192. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +83 -0
  193. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +66 -0
  194. package/schema/traditionArtifacts/DaggerRitual.schema.json +66 -0
  195. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +66 -0
  196. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +66 -0
  197. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +66 -0
  198. package/schema/traditionArtifacts/OrbEnchantment.schema.json +66 -0
  199. package/schema/traditionArtifacts/RingEnchantment.schema.json +66 -0
  200. package/schema/traditionArtifacts/SickleRitual.schema.json +66 -0
  201. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +66 -0
  202. package/schema/traditionArtifacts/StaffEnchantment.schema.json +66 -0
  203. package/schema/traditionArtifacts/ToyEnchantment.schema.json +66 -0
  204. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +66 -0
  205. package/schema/traditionArtifacts/WandEnchantment.schema.json +66 -0
  206. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +66 -0
  207. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +57 -0
  208. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +45 -0
  209. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +57 -0
  210. package/schema/traditionArtifacts/sub/Brew.schema.json +45 -0
@@ -0,0 +1,1182 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "_Activatable.schema.json",
4
+ "definitions": {
5
+ "Id": {
6
+ "description": "The activatable entry's identifier. An unique, increasing integer.",
7
+ "type": "integer",
8
+ "minimum": 0
9
+ },
10
+ "Name": {
11
+ "description": "The name of the activatable entry.",
12
+ "type": "string",
13
+ "minLength": 1
14
+ },
15
+ "NameInLibrary": {
16
+ "description": "The full name of the entry as stated in the sources. Only use when `name`\nneeds to be different from full name for text generation purposes.",
17
+ "type": "string",
18
+ "minLength": 1
19
+ },
20
+ "Levels": {
21
+ "description": "Number of available levels.",
22
+ "type": "integer",
23
+ "minimum": 2
24
+ },
25
+ "Maximum": {
26
+ "const": ""
27
+ },
28
+ "Options": {
29
+ "const": ""
30
+ },
31
+ "Rules": {
32
+ "description": "The rule text.",
33
+ "type": "string",
34
+ "minLength": 1
35
+ },
36
+ "Effect": {
37
+ "description": "The effect description.",
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "CombatSpecialAbilityType": {
42
+ "description": "The definition of how the combat special ability can be used in combat.",
43
+ "oneOf": [
44
+ {
45
+ "type": "object",
46
+ "properties": {
47
+ "tag": {
48
+ "const": "Passive"
49
+ }
50
+ },
51
+ "required": [
52
+ "tag"
53
+ ],
54
+ "additionalProperties": false
55
+ },
56
+ {
57
+ "type": "object",
58
+ "properties": {
59
+ "tag": {
60
+ "const": "BasicManeuver"
61
+ }
62
+ },
63
+ "required": [
64
+ "tag"
65
+ ],
66
+ "additionalProperties": false
67
+ },
68
+ {
69
+ "type": "object",
70
+ "properties": {
71
+ "tag": {
72
+ "const": "SpecialManeuver"
73
+ }
74
+ },
75
+ "required": [
76
+ "tag"
77
+ ],
78
+ "additionalProperties": false
79
+ }
80
+ ]
81
+ },
82
+ "SkillApplications": {
83
+ "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.",
84
+ "type": "array",
85
+ "items": {
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
+ "skill": {
94
+ "description": "The skill(s) this application belongs to.",
95
+ "oneOf": [
96
+ {
97
+ "type": "object",
98
+ "properties": {
99
+ "tag": {
100
+ "const": "Single"
101
+ },
102
+ "id": {
103
+ "description": "The referenced skill's identifier.",
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
+ ]
152
+ },
153
+ "translations": {
154
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
155
+ "type": "object",
156
+ "patternProperties": {
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
+ }
175
+ },
176
+ "required": [
177
+ "id",
178
+ "skill"
179
+ ],
180
+ "additionalProperties": false
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
194
+ },
195
+ "skill": {
196
+ "description": "The skill(s) this use belongs to.",
197
+ "oneOf": [
198
+ {
199
+ "type": "object",
200
+ "properties": {
201
+ "tag": {
202
+ "const": "Single"
203
+ },
204
+ "id": {
205
+ "description": "The referenced skill's identifier.",
206
+ "type": "integer",
207
+ "minimum": 1
208
+ }
209
+ },
210
+ "required": [
211
+ "tag",
212
+ "id"
213
+ ],
214
+ "additionalProperties": false
215
+ },
216
+ {
217
+ "type": "object",
218
+ "properties": {
219
+ "tag": {
220
+ "const": "Multiple"
221
+ },
222
+ "list": {
223
+ "description": "The skills this use belongs to.",
224
+ "type": "array",
225
+ "items": {
226
+ "type": "object",
227
+ "properties": {
228
+ "id": {
229
+ "description": "The referenced skill's identifier.",
230
+ "type": "integer",
231
+ "minimum": 1
232
+ }
233
+ },
234
+ "required": [
235
+ "id"
236
+ ],
237
+ "additionalProperties": false
238
+ },
239
+ "minItems": 2
240
+ }
241
+ },
242
+ "required": [
243
+ "tag",
244
+ "list"
245
+ ],
246
+ "additionalProperties": false
247
+ }
248
+ ]
249
+ },
250
+ "translations": {
251
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
252
+ "type": "object",
253
+ "patternProperties": {
254
+ "^[a-z]{2}-[A-Z]{2}$": {
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
+ }
272
+ },
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
+ "const": ""
284
+ },
285
+ "ArcaneEnergyCost": {
286
+ "description": "The AE Cost.",
287
+ "const": ""
288
+ },
289
+ "Volume": {
290
+ "description": "The volume points the enchantment needs.",
291
+ "const": ""
292
+ },
293
+ "BindingCost": {
294
+ "description": "The binding cost for an enchantment.",
295
+ "const": ""
296
+ },
297
+ "Property": {
298
+ "description": "The magic property's identifier. `DependingOnProperty` can only be used if\nthe special ability has an option to select a property.",
299
+ "oneOf": [
300
+ {
301
+ "type": "object",
302
+ "properties": {
303
+ "tag": {
304
+ "const": "DependingOnProperty"
305
+ }
306
+ },
307
+ "required": [
308
+ "tag"
309
+ ],
310
+ "additionalProperties": false
311
+ },
312
+ {
313
+ "type": "object",
314
+ "properties": {
315
+ "tag": {
316
+ "const": "Fixed"
317
+ },
318
+ "id": {
319
+ "description": "The property's identifier.",
320
+ "type": "integer",
321
+ "minimum": 1
322
+ }
323
+ },
324
+ "required": [
325
+ "tag",
326
+ "id"
327
+ ],
328
+ "additionalProperties": false
329
+ }
330
+ ]
331
+ },
332
+ "Aspect": {
333
+ "description": "The blessed aspect's identifier.",
334
+ "type": "integer",
335
+ "minimum": 1
336
+ },
337
+ "AdvancedSpecialAbility": {
338
+ "description": "A reference to an advanced special ability.",
339
+ "oneOf": [
340
+ {
341
+ "type": "object",
342
+ "properties": {
343
+ "tag": {
344
+ "const": "General"
345
+ },
346
+ "id": {
347
+ "description": "The advanced special ability's numeric identifier.",
348
+ "type": "integer",
349
+ "minimum": 1
350
+ }
351
+ },
352
+ "required": [
353
+ "tag",
354
+ "id"
355
+ ],
356
+ "additionalProperties": false
357
+ },
358
+ {
359
+ "type": "object",
360
+ "properties": {
361
+ "tag": {
362
+ "const": "RestrictOptions"
363
+ },
364
+ "id": {
365
+ "description": "The advanced special ability's numeric identifier.",
366
+ "type": "integer",
367
+ "minimum": 1
368
+ },
369
+ "option": {
370
+ "description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
371
+ "type": "array",
372
+ "items": {
373
+ "$ref": "./_Identifier.schema.json#/definitions/Identifier/Group/AdvancedSpecialAbilityRestrictedOption"
374
+ },
375
+ "minItems": 1
376
+ }
377
+ },
378
+ "required": [
379
+ "tag",
380
+ "id",
381
+ "option"
382
+ ],
383
+ "additionalProperties": false
384
+ },
385
+ {
386
+ "type": "object",
387
+ "properties": {
388
+ "tag": {
389
+ "const": "OneOf"
390
+ },
391
+ "options": {
392
+ "description": "The possible advanced special abilities.",
393
+ "type": "object",
394
+ "properties": {
395
+ "id": {
396
+ "description": "The advanced special ability's numeric identifier.",
397
+ "type": "integer",
398
+ "minimum": 1
399
+ }
400
+ },
401
+ "required": [
402
+ "id"
403
+ ],
404
+ "additionalProperties": false
405
+ },
406
+ "is_selection_required_on_purchase": {
407
+ "description": "Do have to choose on when buying the special ability? Otherwise the\ndecision can be made later.",
408
+ "type": "boolean"
409
+ },
410
+ "option": {
411
+ "description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
412
+ "type": "array",
413
+ "items": {
414
+ "$ref": "./_Identifier.schema.json#/definitions/Identifier/Group/AdvancedSpecialAbilityRestrictedOption"
415
+ },
416
+ "minItems": 1
417
+ },
418
+ "display_option": {
419
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/Single/DisplayOption/T"
420
+ }
421
+ },
422
+ "required": [
423
+ "tag",
424
+ "options",
425
+ "is_selection_required_on_purchase",
426
+ "option"
427
+ ],
428
+ "additionalProperties": false
429
+ },
430
+ {
431
+ "type": "object",
432
+ "properties": {
433
+ "tag": {
434
+ "const": "DeriveFromExternalOption"
435
+ },
436
+ "external_entry": {
437
+ "description": "The possible advanced special abilities.",
438
+ "$ref": "#/definitions/AdvancedSpecialAbilityDerivedExternalEntryId"
439
+ },
440
+ "mappings": {
441
+ "type": "array",
442
+ "items": {
443
+ "type": "object",
444
+ "properties": {
445
+ "from_option": {
446
+ "description": "The select option's identifier.",
447
+ "$ref": "#/definitions/AdvancedSpecialAbilityDerivedExternalEntryOptionId"
448
+ },
449
+ "to_advanced": {
450
+ "description": "The advanced special ability's identifier.",
451
+ "type": "object",
452
+ "properties": {
453
+ "id": {
454
+ "description": "The advanced special ability's numeric identifier.",
455
+ "type": "integer",
456
+ "minimum": 1
457
+ }
458
+ },
459
+ "required": [
460
+ "id"
461
+ ],
462
+ "additionalProperties": false
463
+ }
464
+ },
465
+ "required": [
466
+ "from_option",
467
+ "to_advanced"
468
+ ],
469
+ "additionalProperties": false
470
+ },
471
+ "minItems": 0
472
+ },
473
+ "display_option": {
474
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/Single/DisplayOption/T"
475
+ },
476
+ "is_selection_required_on_purchase": {
477
+ "description": "Do have to choose on when buying the special ability? Otherwise the\ndecision can be made later.",
478
+ "type": "boolean"
479
+ },
480
+ "option": {
481
+ "description": "Specify the select option(s) that only are allowed for the referenced\nadvanced special ability; others are disallowed.",
482
+ "type": "array",
483
+ "items": {
484
+ "$ref": "./_Identifier.schema.json#/definitions/Identifier/Group/AdvancedSpecialAbilityRestrictedOption"
485
+ },
486
+ "minItems": 1
487
+ }
488
+ },
489
+ "required": [
490
+ "tag",
491
+ "external_entry",
492
+ "mappings",
493
+ "is_selection_required_on_purchase",
494
+ "option"
495
+ ],
496
+ "additionalProperties": false
497
+ }
498
+ ]
499
+ },
500
+ "AdvancedSpecialAbilityDerivedExternalEntryId": {
501
+ "type": "object",
502
+ "properties": {
503
+ "tag": {
504
+ "const": "MagicalTradition"
505
+ },
506
+ "value": {
507
+ "description": "The referenced entry's numeric identifier.",
508
+ "type": "integer",
509
+ "maximum": 8,
510
+ "minimum": 1
511
+ }
512
+ },
513
+ "required": [
514
+ "tag",
515
+ "value"
516
+ ],
517
+ "additionalProperties": false
518
+ },
519
+ "AdvancedSpecialAbilityDerivedExternalEntryOptionId": {
520
+ "type": "object",
521
+ "properties": {
522
+ "tag": {
523
+ "const": "Patron"
524
+ },
525
+ "value": {
526
+ "description": "The referenced entry's numeric identifier.",
527
+ "type": "integer",
528
+ "maximum": 8,
529
+ "minimum": 1
530
+ }
531
+ },
532
+ "required": [
533
+ "tag",
534
+ "value"
535
+ ],
536
+ "additionalProperties": false
537
+ },
538
+ "AdvancedSpecialAbilities": {
539
+ "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.",
540
+ "type": "array",
541
+ "items": [
542
+ {
543
+ "$ref": "#/definitions/AdvancedSpecialAbility"
544
+ },
545
+ {
546
+ "$ref": "#/definitions/AdvancedSpecialAbility"
547
+ },
548
+ {
549
+ "$ref": "#/definitions/AdvancedSpecialAbility"
550
+ }
551
+ ],
552
+ "minItems": 3,
553
+ "maxItems": 3,
554
+ "additionalItems": false
555
+ },
556
+ "ApplicableCombatTechniques": {
557
+ "oneOf": [
558
+ {
559
+ "type": "object",
560
+ "properties": {
561
+ "tag": {
562
+ "const": "None"
563
+ }
564
+ },
565
+ "required": [
566
+ "tag"
567
+ ],
568
+ "additionalProperties": false
569
+ },
570
+ {
571
+ "type": "object",
572
+ "properties": {
573
+ "tag": {
574
+ "const": "DependingOnCombatStyle"
575
+ }
576
+ },
577
+ "required": [
578
+ "tag"
579
+ ],
580
+ "additionalProperties": false
581
+ },
582
+ {
583
+ "type": "object",
584
+ "properties": {
585
+ "tag": {
586
+ "const": "All"
587
+ },
588
+ "restrictions": {
589
+ "type": "array",
590
+ "items": {
591
+ "$ref": "#/definitions/ApplicableAllCombatTechniquesRestriction"
592
+ },
593
+ "minItems": 1
594
+ }
595
+ },
596
+ "required": [
597
+ "tag"
598
+ ],
599
+ "additionalProperties": false
600
+ },
601
+ {
602
+ "type": "object",
603
+ "properties": {
604
+ "tag": {
605
+ "const": "AllClose"
606
+ },
607
+ "restrictions": {
608
+ "type": "array",
609
+ "items": {
610
+ "$ref": "#/definitions/ApplicableCloseCombatTechniquesRestriction"
611
+ },
612
+ "minItems": 1
613
+ }
614
+ },
615
+ "required": [
616
+ "tag"
617
+ ],
618
+ "additionalProperties": false
619
+ },
620
+ {
621
+ "type": "object",
622
+ "properties": {
623
+ "tag": {
624
+ "const": "AllRanged"
625
+ },
626
+ "restrictions": {
627
+ "type": "array",
628
+ "items": {
629
+ "$ref": "#/definitions/ApplicableRangedCombatTechniquesRestriction"
630
+ },
631
+ "minItems": 1
632
+ }
633
+ },
634
+ "required": [
635
+ "tag"
636
+ ],
637
+ "additionalProperties": false
638
+ },
639
+ {
640
+ "type": "object",
641
+ "properties": {
642
+ "tag": {
643
+ "const": "Specific"
644
+ },
645
+ "list": {
646
+ "type": "array",
647
+ "items": {
648
+ "type": "object",
649
+ "properties": {
650
+ "id": {
651
+ "$ref": "./_Identifier.schema.json#/definitions/Identifier/Group/CombatTechnique"
652
+ },
653
+ "restrictions": {
654
+ "type": "array",
655
+ "items": {
656
+ "$ref": "#/definitions/ApplicableSpecificCombatTechniquesRestriction"
657
+ },
658
+ "minItems": 1
659
+ }
660
+ },
661
+ "required": [
662
+ "id"
663
+ ],
664
+ "additionalProperties": false
665
+ },
666
+ "minItems": 1
667
+ }
668
+ },
669
+ "required": [
670
+ "tag",
671
+ "list"
672
+ ],
673
+ "additionalProperties": false
674
+ }
675
+ ]
676
+ },
677
+ "ApplicableAllCombatTechniquesRestriction": {
678
+ "oneOf": [
679
+ {
680
+ "type": "object",
681
+ "properties": {
682
+ "tag": {
683
+ "const": "Improvised"
684
+ }
685
+ },
686
+ "required": [
687
+ "tag"
688
+ ],
689
+ "additionalProperties": false
690
+ },
691
+ {
692
+ "type": "object",
693
+ "properties": {
694
+ "tag": {
695
+ "const": "PointedBlade"
696
+ }
697
+ },
698
+ "required": [
699
+ "tag"
700
+ ],
701
+ "additionalProperties": false
702
+ },
703
+ {
704
+ "type": "object",
705
+ "properties": {
706
+ "tag": {
707
+ "const": "Mount"
708
+ }
709
+ },
710
+ "required": [
711
+ "tag"
712
+ ],
713
+ "additionalProperties": false
714
+ },
715
+ {
716
+ "type": "object",
717
+ "properties": {
718
+ "tag": {
719
+ "const": "Race"
720
+ },
721
+ "id": {
722
+ "description": "The race's numeric identifier.",
723
+ "type": "integer",
724
+ "minimum": 1
725
+ }
726
+ },
727
+ "required": [
728
+ "tag",
729
+ "id"
730
+ ],
731
+ "additionalProperties": false
732
+ },
733
+ {
734
+ "type": "object",
735
+ "properties": {
736
+ "tag": {
737
+ "const": "ExcludeCombatTechniques"
738
+ },
739
+ "list": {
740
+ "description": "The combat techniques this combat special ability is **not** applicable\nto.",
741
+ "type": "array",
742
+ "items": {
743
+ "$ref": "./_Identifier.schema.json#/definitions/Identifier/Group/CombatTechnique"
744
+ },
745
+ "minItems": 1,
746
+ "uniqueItems": true
747
+ }
748
+ },
749
+ "required": [
750
+ "tag",
751
+ "list"
752
+ ],
753
+ "additionalProperties": false
754
+ }
755
+ ]
756
+ },
757
+ "ApplicableCloseCombatTechniquesRestriction": {
758
+ "oneOf": [
759
+ {
760
+ "type": "object",
761
+ "properties": {
762
+ "tag": {
763
+ "const": "Improvised"
764
+ }
765
+ },
766
+ "required": [
767
+ "tag"
768
+ ],
769
+ "additionalProperties": false
770
+ },
771
+ {
772
+ "type": "object",
773
+ "properties": {
774
+ "tag": {
775
+ "const": "PointedBlade"
776
+ }
777
+ },
778
+ "required": [
779
+ "tag"
780
+ ],
781
+ "additionalProperties": false
782
+ },
783
+ {
784
+ "type": "object",
785
+ "properties": {
786
+ "tag": {
787
+ "const": "Mount"
788
+ }
789
+ },
790
+ "required": [
791
+ "tag"
792
+ ],
793
+ "additionalProperties": false
794
+ },
795
+ {
796
+ "type": "object",
797
+ "properties": {
798
+ "tag": {
799
+ "const": "HasParry"
800
+ }
801
+ },
802
+ "required": [
803
+ "tag"
804
+ ],
805
+ "additionalProperties": false
806
+ },
807
+ {
808
+ "type": "object",
809
+ "properties": {
810
+ "tag": {
811
+ "const": "OneHanded"
812
+ }
813
+ },
814
+ "required": [
815
+ "tag"
816
+ ],
817
+ "additionalProperties": false
818
+ },
819
+ {
820
+ "type": "object",
821
+ "properties": {
822
+ "tag": {
823
+ "const": "ParryingWeapon"
824
+ }
825
+ },
826
+ "required": [
827
+ "tag"
828
+ ],
829
+ "additionalProperties": false
830
+ },
831
+ {
832
+ "type": "object",
833
+ "properties": {
834
+ "tag": {
835
+ "const": "Race"
836
+ },
837
+ "id": {
838
+ "description": "The race's numeric identifier.",
839
+ "type": "integer",
840
+ "minimum": 1
841
+ }
842
+ },
843
+ "required": [
844
+ "tag",
845
+ "id"
846
+ ],
847
+ "additionalProperties": false
848
+ },
849
+ {
850
+ "type": "object",
851
+ "properties": {
852
+ "tag": {
853
+ "const": "ExcludeCombatTechniques"
854
+ },
855
+ "list": {
856
+ "description": "The combat techniques this combat special ability is **not** applicable\nto.",
857
+ "type": "array",
858
+ "items": {
859
+ "type": "object",
860
+ "properties": {
861
+ "id": {
862
+ "description": "The close combat technique's numeric identifier.",
863
+ "type": "integer",
864
+ "minimum": 1
865
+ }
866
+ },
867
+ "required": [
868
+ "id"
869
+ ],
870
+ "additionalProperties": false
871
+ },
872
+ "minItems": 1,
873
+ "uniqueItems": true
874
+ }
875
+ },
876
+ "required": [
877
+ "tag",
878
+ "list"
879
+ ],
880
+ "additionalProperties": false
881
+ }
882
+ ]
883
+ },
884
+ "ApplicableRangedCombatTechniquesRestriction": {
885
+ "oneOf": [
886
+ {
887
+ "type": "object",
888
+ "properties": {
889
+ "tag": {
890
+ "const": "Improvised"
891
+ }
892
+ },
893
+ "required": [
894
+ "tag"
895
+ ],
896
+ "additionalProperties": false
897
+ },
898
+ {
899
+ "type": "object",
900
+ "properties": {
901
+ "tag": {
902
+ "const": "PointedBlade"
903
+ }
904
+ },
905
+ "required": [
906
+ "tag"
907
+ ],
908
+ "additionalProperties": false
909
+ },
910
+ {
911
+ "type": "object",
912
+ "properties": {
913
+ "tag": {
914
+ "const": "Mount"
915
+ }
916
+ },
917
+ "required": [
918
+ "tag"
919
+ ],
920
+ "additionalProperties": false
921
+ },
922
+ {
923
+ "type": "object",
924
+ "properties": {
925
+ "tag": {
926
+ "const": "Race"
927
+ },
928
+ "id": {
929
+ "description": "The race's numeric identifier.",
930
+ "type": "integer",
931
+ "minimum": 1
932
+ }
933
+ },
934
+ "required": [
935
+ "tag",
936
+ "id"
937
+ ],
938
+ "additionalProperties": false
939
+ },
940
+ {
941
+ "type": "object",
942
+ "properties": {
943
+ "tag": {
944
+ "const": "ExcludeCombatTechniques"
945
+ },
946
+ "list": {
947
+ "description": "The combat techniques this combat special ability is **not** applicable\nto.",
948
+ "type": "array",
949
+ "items": {
950
+ "type": "object",
951
+ "properties": {
952
+ "id": {
953
+ "description": "The ranged combat technique's numeric identifier.",
954
+ "type": "integer",
955
+ "minimum": 1
956
+ }
957
+ },
958
+ "required": [
959
+ "id"
960
+ ],
961
+ "additionalProperties": false
962
+ },
963
+ "minItems": 1,
964
+ "uniqueItems": true
965
+ }
966
+ },
967
+ "required": [
968
+ "tag",
969
+ "list"
970
+ ],
971
+ "additionalProperties": false
972
+ }
973
+ ]
974
+ },
975
+ "ApplicableSpecificCombatTechniquesRestriction": {
976
+ "oneOf": [
977
+ {
978
+ "type": "object",
979
+ "properties": {
980
+ "tag": {
981
+ "const": "Improvised"
982
+ }
983
+ },
984
+ "required": [
985
+ "tag"
986
+ ],
987
+ "additionalProperties": false
988
+ },
989
+ {
990
+ "type": "object",
991
+ "properties": {
992
+ "tag": {
993
+ "const": "PointedBlade"
994
+ }
995
+ },
996
+ "required": [
997
+ "tag"
998
+ ],
999
+ "additionalProperties": false
1000
+ },
1001
+ {
1002
+ "type": "object",
1003
+ "properties": {
1004
+ "tag": {
1005
+ "const": "Mount"
1006
+ }
1007
+ },
1008
+ "required": [
1009
+ "tag"
1010
+ ],
1011
+ "additionalProperties": false
1012
+ },
1013
+ {
1014
+ "type": "object",
1015
+ "properties": {
1016
+ "tag": {
1017
+ "const": "Race"
1018
+ },
1019
+ "id": {
1020
+ "description": "The race's numeric identifier.",
1021
+ "type": "integer",
1022
+ "minimum": 1
1023
+ }
1024
+ },
1025
+ "required": [
1026
+ "tag",
1027
+ "id"
1028
+ ],
1029
+ "additionalProperties": false
1030
+ },
1031
+ {
1032
+ "type": "object",
1033
+ "properties": {
1034
+ "tag": {
1035
+ "const": "Level"
1036
+ },
1037
+ "level": {
1038
+ "description": "The combat special ability is only applicable on a certain level.",
1039
+ "type": "integer",
1040
+ "minimum": 1
1041
+ }
1042
+ },
1043
+ "required": [
1044
+ "tag",
1045
+ "level"
1046
+ ],
1047
+ "additionalProperties": false
1048
+ },
1049
+ {
1050
+ "type": "object",
1051
+ "properties": {
1052
+ "tag": {
1053
+ "const": "Weapons"
1054
+ },
1055
+ "list": {
1056
+ "description": "The specific weapons this combat special ability is only applicable to.",
1057
+ "type": "array",
1058
+ "items": {
1059
+ "type": "object",
1060
+ "properties": {
1061
+ "id": {
1062
+ "description": "The weapon's numeric identifier.",
1063
+ "type": "integer",
1064
+ "minimum": 1
1065
+ }
1066
+ },
1067
+ "required": [
1068
+ "id"
1069
+ ],
1070
+ "additionalProperties": false
1071
+ },
1072
+ "minItems": 1,
1073
+ "uniqueItems": true
1074
+ }
1075
+ },
1076
+ "required": [
1077
+ "tag",
1078
+ "list"
1079
+ ],
1080
+ "additionalProperties": false
1081
+ }
1082
+ ]
1083
+ },
1084
+ "AdventurePointsValue": {
1085
+ "oneOf": [
1086
+ {
1087
+ "type": "object",
1088
+ "properties": {
1089
+ "tag": {
1090
+ "const": "Fixed"
1091
+ },
1092
+ "value": {
1093
+ "description": "A fixed adventure points value. If the entry has levels, this is the cost\nfor each level as well.",
1094
+ "$ref": "#/definitions/AdventurePointsSingleValue"
1095
+ }
1096
+ },
1097
+ "required": [
1098
+ "tag",
1099
+ "value"
1100
+ ],
1101
+ "additionalProperties": false
1102
+ },
1103
+ {
1104
+ "type": "object",
1105
+ "properties": {
1106
+ "tag": {
1107
+ "const": "ByLevel"
1108
+ },
1109
+ "values": {
1110
+ "description": "An entry with levels may have different costs for each level. The length\nof the list must match the amount of levels the special ability has.",
1111
+ "type": "array",
1112
+ "items": {
1113
+ "$ref": "#/definitions/AdventurePointsSingleValue"
1114
+ },
1115
+ "minItems": 2
1116
+ }
1117
+ },
1118
+ "required": [
1119
+ "tag",
1120
+ "values"
1121
+ ],
1122
+ "additionalProperties": false
1123
+ },
1124
+ {
1125
+ "type": "object",
1126
+ "properties": {
1127
+ "tag": {
1128
+ "const": "ByImprovementCost"
1129
+ },
1130
+ "values": {
1131
+ "description": "An entry with a selection of skills may have different costs for\ndifferent improvement costs of the selected skill.\n\nIf the select options will not have entries with improvement cost A\n(combat techniques only), you may leave out A.",
1132
+ "type": "object",
1133
+ "properties": {
1134
+ "A": {
1135
+ "$ref": "#/definitions/AdventurePointsSingleValue"
1136
+ },
1137
+ "B": {
1138
+ "$ref": "#/definitions/AdventurePointsSingleValue"
1139
+ },
1140
+ "C": {
1141
+ "$ref": "#/definitions/AdventurePointsSingleValue"
1142
+ },
1143
+ "D": {
1144
+ "$ref": "#/definitions/AdventurePointsSingleValue"
1145
+ }
1146
+ },
1147
+ "required": [
1148
+ "B",
1149
+ "C",
1150
+ "D"
1151
+ ],
1152
+ "additionalProperties": false
1153
+ }
1154
+ },
1155
+ "required": [
1156
+ "tag",
1157
+ "values"
1158
+ ],
1159
+ "additionalProperties": false
1160
+ },
1161
+ {
1162
+ "type": "object",
1163
+ "properties": {
1164
+ "tag": {
1165
+ "description": "Used if AP value is defined by the selected option(s) or special rules.",
1166
+ "const": "Indefinite"
1167
+ }
1168
+ },
1169
+ "required": [
1170
+ "tag"
1171
+ ],
1172
+ "additionalProperties": false
1173
+ }
1174
+ ]
1175
+ },
1176
+ "AdventurePointsSingleValue": {
1177
+ "description": "A single adventure points value.",
1178
+ "type": "integer",
1179
+ "minimum": 0
1180
+ }
1181
+ }
1182
+ }