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,407 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "Patron.schema.json",
4
+ "$ref": "#/definitions/Patron",
5
+ "definitions": {
6
+ "Patron": {
7
+ "title": "Patron",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The patron's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "category_id": {
16
+ "description": "The patron's category identifier.",
17
+ "type": "integer",
18
+ "minimum": 1
19
+ },
20
+ "skills": {
21
+ "description": "The patron-specific skills.",
22
+ "type": "array",
23
+ "items": [
24
+ {
25
+ "$ref": "#/definitions/SkillReference"
26
+ },
27
+ {
28
+ "$ref": "#/definitions/SkillReference"
29
+ },
30
+ {
31
+ "$ref": "#/definitions/SkillReference"
32
+ }
33
+ ],
34
+ "minItems": 3,
35
+ "maxItems": 3,
36
+ "additionalItems": false
37
+ },
38
+ "culture": {
39
+ "description": "The patron is only available to a certain set of cultures. It may be\navailable to all, it may be available to only specific ones (intersection)\nand it may be available to all except specific ones to the listed cultures\n(difference).",
40
+ "oneOf": [
41
+ {
42
+ "type": "object",
43
+ "properties": {
44
+ "tag": {
45
+ "const": "All"
46
+ }
47
+ },
48
+ "required": [
49
+ "tag"
50
+ ],
51
+ "additionalProperties": false
52
+ },
53
+ {
54
+ "type": "object",
55
+ "properties": {
56
+ "tag": {
57
+ "const": "Intersection"
58
+ },
59
+ "list": {
60
+ "type": "array",
61
+ "items": {
62
+ "type": "object",
63
+ "properties": {
64
+ "id": {
65
+ "description": "The culture's identifier.",
66
+ "type": "integer",
67
+ "minimum": 1
68
+ }
69
+ },
70
+ "required": [
71
+ "id"
72
+ ],
73
+ "additionalProperties": false
74
+ }
75
+ }
76
+ },
77
+ "required": [
78
+ "tag",
79
+ "list"
80
+ ],
81
+ "additionalProperties": false
82
+ },
83
+ {
84
+ "type": "object",
85
+ "properties": {
86
+ "tag": {
87
+ "const": "Difference"
88
+ },
89
+ "list": {
90
+ "type": "array",
91
+ "items": {
92
+ "type": "object",
93
+ "properties": {
94
+ "id": {
95
+ "description": "The culture's identifier.",
96
+ "type": "integer",
97
+ "minimum": 1
98
+ }
99
+ },
100
+ "required": [
101
+ "id"
102
+ ],
103
+ "additionalProperties": false
104
+ }
105
+ }
106
+ },
107
+ "required": [
108
+ "tag",
109
+ "list"
110
+ ],
111
+ "additionalProperties": false
112
+ }
113
+ ]
114
+ },
115
+ "primary_patron_cultures": {
116
+ "description": "The list of cultures where patrons from this category can be the primary\npatron of.",
117
+ "type": "array",
118
+ "items": {
119
+ "type": "object",
120
+ "properties": {
121
+ "id": {
122
+ "description": "The culture's identifier.",
123
+ "type": "integer",
124
+ "minimum": 1
125
+ }
126
+ },
127
+ "required": [
128
+ "id"
129
+ ],
130
+ "additionalProperties": false
131
+ },
132
+ "minItems": 1,
133
+ "uniqueItems": true
134
+ },
135
+ "powers": {
136
+ "description": "The patron-specific powers. Used by animist power Animal Powers I–III and\nshould only be present on animal patrons.",
137
+ "type": "array",
138
+ "items": [
139
+ {
140
+ "$ref": "#/definitions/AnimalPowersLevel1"
141
+ },
142
+ {
143
+ "$ref": "#/definitions/AnimalPowersLevel2"
144
+ },
145
+ {
146
+ "$ref": "#/definitions/AnimalPowersLevel3"
147
+ }
148
+ ],
149
+ "minItems": 3,
150
+ "maxItems": 3,
151
+ "additionalItems": false
152
+ },
153
+ "ae_cost": {
154
+ "description": "The patron-specific AE cost. Used by several animist forces for animal\npatrons.",
155
+ "type": "integer",
156
+ "minimum": 2,
157
+ "multipleOf": 2
158
+ },
159
+ "improvement_cost": {
160
+ "description": "The patron-specific improvement cost. Used by several animist forces for\nanimal patrons.",
161
+ "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
162
+ },
163
+ "translations": {
164
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
165
+ "type": "object",
166
+ "patternProperties": {
167
+ "^[a-z]{2}-[A-Z]{2}$": {
168
+ "type": "object",
169
+ "properties": {
170
+ "name": {
171
+ "description": "The name of the patron.",
172
+ "type": "string",
173
+ "minLength": 1
174
+ }
175
+ },
176
+ "required": [
177
+ "name"
178
+ ],
179
+ "additionalProperties": false
180
+ }
181
+ },
182
+ "minProperties": 1,
183
+ "additionalProperties": false
184
+ }
185
+ },
186
+ "required": [
187
+ "id",
188
+ "category_id",
189
+ "skills",
190
+ "culture",
191
+ "translations"
192
+ ],
193
+ "additionalProperties": false
194
+ },
195
+ "SkillReference": {
196
+ "type": "object",
197
+ "properties": {
198
+ "id": {
199
+ "description": "The skill's identifier.",
200
+ "type": "integer",
201
+ "minimum": 1
202
+ }
203
+ },
204
+ "required": [
205
+ "id"
206
+ ],
207
+ "additionalProperties": false
208
+ },
209
+ "AnimalPowerLevel1": {
210
+ "oneOf": [
211
+ {
212
+ "type": "object",
213
+ "properties": {
214
+ "tag": {
215
+ "const": "Advantage"
216
+ },
217
+ "id": {
218
+ "description": "The advantage's identifier.",
219
+ "type": "integer",
220
+ "minimum": 1
221
+ },
222
+ "level": {
223
+ "description": "It grants a higher level of the advantage.",
224
+ "type": "integer",
225
+ "minimum": 2
226
+ },
227
+ "option": {
228
+ "description": "It grants a specific general option of the advantage.",
229
+ "type": "integer",
230
+ "minimum": 1
231
+ }
232
+ },
233
+ "required": [
234
+ "tag",
235
+ "id"
236
+ ],
237
+ "additionalProperties": false
238
+ },
239
+ {
240
+ "type": "object",
241
+ "properties": {
242
+ "tag": {
243
+ "const": "Skill"
244
+ },
245
+ "id": {
246
+ "description": "The skill's identifier.",
247
+ "type": "integer",
248
+ "minimum": 1
249
+ },
250
+ "points": {
251
+ "description": "The points that gets added to the skill's rating.",
252
+ "type": "integer",
253
+ "minimum": 1
254
+ }
255
+ },
256
+ "required": [
257
+ "tag",
258
+ "id",
259
+ "points"
260
+ ],
261
+ "additionalProperties": false
262
+ }
263
+ ]
264
+ },
265
+ "AnimalPowersLevel1": {
266
+ "type": "array",
267
+ "items": {
268
+ "$ref": "#/definitions/AnimalPowerLevel1"
269
+ },
270
+ "minItems": 1
271
+ },
272
+ "AnimalPowerLevel2": {
273
+ "type": "object",
274
+ "properties": {
275
+ "tag": {
276
+ "const": "Combat"
277
+ },
278
+ "id": {
279
+ "description": "The combat value.",
280
+ "oneOf": [
281
+ {
282
+ "type": "object",
283
+ "properties": {
284
+ "tag": {
285
+ "const": "Attack"
286
+ }
287
+ },
288
+ "required": [
289
+ "tag"
290
+ ],
291
+ "additionalProperties": false
292
+ },
293
+ {
294
+ "type": "object",
295
+ "properties": {
296
+ "tag": {
297
+ "const": "Parry"
298
+ }
299
+ },
300
+ "required": [
301
+ "tag"
302
+ ],
303
+ "additionalProperties": false
304
+ },
305
+ {
306
+ "type": "object",
307
+ "properties": {
308
+ "tag": {
309
+ "const": "RangedCombat"
310
+ }
311
+ },
312
+ "required": [
313
+ "tag"
314
+ ],
315
+ "additionalProperties": false
316
+ },
317
+ {
318
+ "type": "object",
319
+ "properties": {
320
+ "tag": {
321
+ "const": "Dodge"
322
+ }
323
+ },
324
+ "required": [
325
+ "tag"
326
+ ],
327
+ "additionalProperties": false
328
+ },
329
+ {
330
+ "type": "object",
331
+ "properties": {
332
+ "tag": {
333
+ "const": "DamagePoints"
334
+ }
335
+ },
336
+ "required": [
337
+ "tag"
338
+ ],
339
+ "additionalProperties": false
340
+ },
341
+ {
342
+ "type": "object",
343
+ "properties": {
344
+ "tag": {
345
+ "const": "Protection"
346
+ }
347
+ },
348
+ "required": [
349
+ "tag"
350
+ ],
351
+ "additionalProperties": false
352
+ }
353
+ ]
354
+ },
355
+ "value": {
356
+ "description": "The value that gets added to the combat value.",
357
+ "type": "integer",
358
+ "minimum": 1
359
+ }
360
+ },
361
+ "required": [
362
+ "tag",
363
+ "id",
364
+ "value"
365
+ ],
366
+ "additionalProperties": false
367
+ },
368
+ "AnimalPowersLevel2": {
369
+ "type": "array",
370
+ "items": {
371
+ "$ref": "#/definitions/AnimalPowerLevel2"
372
+ },
373
+ "minItems": 1
374
+ },
375
+ "AnimalPowerLevel3": {
376
+ "type": "object",
377
+ "properties": {
378
+ "tag": {
379
+ "const": "Attribute"
380
+ },
381
+ "id": {
382
+ "description": "The attribute's identifier.",
383
+ "type": "integer",
384
+ "minimum": 1
385
+ },
386
+ "value": {
387
+ "description": "The value that gets added to the attribute.",
388
+ "type": "integer",
389
+ "minimum": 1
390
+ }
391
+ },
392
+ "required": [
393
+ "tag",
394
+ "id",
395
+ "value"
396
+ ],
397
+ "additionalProperties": false
398
+ },
399
+ "AnimalPowersLevel3": {
400
+ "type": "array",
401
+ "items": {
402
+ "$ref": "#/definitions/AnimalPowerLevel3"
403
+ },
404
+ "minItems": 1
405
+ }
406
+ }
407
+ }
@@ -0,0 +1,66 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "PatronCategory.schema.json",
4
+ "$ref": "#/definitions/PatronCategory",
5
+ "definitions": {
6
+ "PatronCategory": {
7
+ "title": "Patron Category",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The patron category's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "primary_patron_cultures": {
16
+ "description": "The list of cultures where patrons from this category can be the primary\npatron of.",
17
+ "type": "array",
18
+ "items": {
19
+ "type": "object",
20
+ "properties": {
21
+ "id": {
22
+ "description": "The culture's identifier.",
23
+ "type": "integer",
24
+ "minimum": 1
25
+ }
26
+ },
27
+ "required": [
28
+ "id"
29
+ ],
30
+ "additionalProperties": false
31
+ },
32
+ "minItems": 1,
33
+ "uniqueItems": true
34
+ },
35
+ "translations": {
36
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
37
+ "type": "object",
38
+ "patternProperties": {
39
+ "^[a-z]{2}-[A-Z]{2}$": {
40
+ "type": "object",
41
+ "properties": {
42
+ "name": {
43
+ "description": "The name of the patron category.",
44
+ "type": "string",
45
+ "minLength": 1
46
+ }
47
+ },
48
+ "required": [
49
+ "name"
50
+ ],
51
+ "additionalProperties": false
52
+ }
53
+ },
54
+ "minProperties": 1,
55
+ "additionalProperties": false
56
+ }
57
+ },
58
+ "required": [
59
+ "id",
60
+ "primary_patron_cultures",
61
+ "translations"
62
+ ],
63
+ "additionalProperties": false
64
+ }
65
+ }
66
+ }
@@ -91,7 +91,7 @@
91
91
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
92
92
  },
93
93
  "prerequisites": {
94
- "$ref": "./_Prerequisite.schema.json#/definitions/GroupCollection/Spellwork"
94
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Spellwork"
95
95
  },
96
96
  "src": {
97
97
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -91,7 +91,7 @@
91
91
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
92
92
  },
93
93
  "prerequisites": {
94
- "$ref": "./_Prerequisite.schema.json#/definitions/GroupCollection/Spellwork"
94
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Spellwork"
95
95
  },
96
96
  "src": {
97
97
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"