optolith-database-schema 0.0.2 → 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 (221) hide show
  1. package/CHANGELOG.md +46 -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/Blessing.d.ts +124 -0
  7. package/lib/types/Blessing.js +4 -0
  8. package/lib/types/Cantrip.d.ts +220 -0
  9. package/lib/types/Cantrip.js +4 -0
  10. package/lib/types/Ceremony.d.ts +2 -8
  11. package/lib/types/Continent.d.ts +32 -0
  12. package/lib/types/Continent.js +4 -0
  13. package/lib/types/DerivedCharacteristic.d.ts +2 -2
  14. package/lib/types/Disadvantage.d.ts +46 -0
  15. package/lib/types/Disadvantage.js +4 -0
  16. package/lib/types/LiturgicalChant.d.ts +2 -8
  17. package/lib/types/PactCategory.d.ts +90 -0
  18. package/lib/types/PactCategory.js +4 -0
  19. package/lib/types/Patron.d.ts +197 -0
  20. package/lib/types/Patron.js +4 -0
  21. package/lib/types/PatronCategory.d.ts +44 -0
  22. package/lib/types/PatronCategory.js +4 -0
  23. package/lib/types/Ritual.d.ts +2 -2
  24. package/lib/types/Spell.d.ts +2 -2
  25. package/lib/types/_Activatable.d.ts +528 -0
  26. package/lib/types/_Activatable.js +5 -0
  27. package/lib/types/_ActivatableSkill.d.ts +44 -22
  28. package/lib/types/_Enhancements.d.ts +2 -2
  29. package/lib/types/_I18n.d.ts +38 -0
  30. package/lib/types/_I18n.js +1 -0
  31. package/lib/types/_Identifier.d.ts +81 -75
  32. package/lib/types/_Identifier.js +76 -1
  33. package/lib/types/_Influence.d.ts +52 -0
  34. package/lib/types/_Influence.js +4 -0
  35. package/lib/types/_Prerequisite.d.ts +343 -296
  36. package/lib/types/_Prerequisite.js +136 -183
  37. package/lib/types/magicalActions/GeodeRitual.d.ts +2 -2
  38. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +34 -0
  39. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +4 -0
  40. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +32 -0
  41. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +4 -0
  42. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +32 -0
  43. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +4 -0
  44. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +32 -0
  45. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +4 -0
  46. package/lib/types/specialAbility/AncestorGlyph.d.ts +30 -0
  47. package/lib/types/specialAbility/AncestorGlyph.js +4 -0
  48. package/lib/types/specialAbility/BlessedTradition.d.ts +170 -0
  49. package/lib/types/specialAbility/BlessedTradition.js +4 -0
  50. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +32 -0
  51. package/lib/types/specialAbility/BrawlingSpecialAbility.js +4 -0
  52. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +33 -0
  53. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +4 -0
  54. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +34 -0
  55. package/lib/types/specialAbility/CombatSpecialAbility.js +4 -0
  56. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +43 -0
  57. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +4 -0
  58. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +32 -0
  59. package/lib/types/specialAbility/CommandSpecialAbility.js +4 -0
  60. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +30 -0
  61. package/lib/types/specialAbility/FamiliarSpecialAbility.js +4 -0
  62. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +30 -0
  63. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +4 -0
  64. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +32 -0
  65. package/lib/types/specialAbility/FatePointSpecialAbility.js +4 -0
  66. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +32 -0
  67. package/lib/types/specialAbility/GeneralSpecialAbility.js +4 -0
  68. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +30 -0
  69. package/lib/types/specialAbility/KarmaSpecialAbility.js +4 -0
  70. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +33 -0
  71. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +4 -0
  72. package/lib/types/specialAbility/LycantropicGift.d.ts +30 -0
  73. package/lib/types/specialAbility/LycantropicGift.js +4 -0
  74. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +33 -0
  75. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +4 -0
  76. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +32 -0
  77. package/lib/types/specialAbility/MagicalSpecialAbility.js +4 -0
  78. package/lib/types/specialAbility/MagicalTradition.d.ts +130 -0
  79. package/lib/types/specialAbility/MagicalTradition.js +4 -0
  80. package/lib/types/specialAbility/PactGift.d.ts +86 -0
  81. package/lib/types/specialAbility/PactGift.js +4 -0
  82. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +41 -0
  83. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +4 -0
  84. package/lib/types/specialAbility/Sermon.d.ts +30 -0
  85. package/lib/types/specialAbility/Sermon.js +4 -0
  86. package/lib/types/specialAbility/SexSpecialAbility.d.ts +32 -0
  87. package/lib/types/specialAbility/SexSpecialAbility.js +4 -0
  88. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +30 -0
  89. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +4 -0
  90. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +31 -0
  91. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +4 -0
  92. package/lib/types/specialAbility/VampiricGift.d.ts +30 -0
  93. package/lib/types/specialAbility/VampiricGift.js +4 -0
  94. package/lib/types/specialAbility/Vision.d.ts +30 -0
  95. package/lib/types/specialAbility/Vision.js +4 -0
  96. package/lib/types/specialAbility/sub/Language.d.ts +141 -0
  97. package/lib/types/specialAbility/sub/Language.js +4 -0
  98. package/lib/types/specialAbility/sub/Script.d.ts +85 -0
  99. package/lib/types/specialAbility/sub/Script.js +4 -0
  100. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +31 -0
  101. package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.js +4 -0
  102. package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +31 -0
  103. package/lib/types/traditionArtifacts/AttireEnchantment.js +4 -0
  104. package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +31 -0
  105. package/lib/types/traditionArtifacts/BowlEnchantment.js +4 -0
  106. package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +44 -0
  107. package/lib/types/traditionArtifacts/CauldronEnchantment.js +4 -0
  108. package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +31 -0
  109. package/lib/types/traditionArtifacts/ChronicleEnchantment.js +4 -0
  110. package/lib/types/traditionArtifacts/DaggerRitual.d.ts +31 -0
  111. package/lib/types/traditionArtifacts/DaggerRitual.js +4 -0
  112. package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +31 -0
  113. package/lib/types/traditionArtifacts/FoolsHatEnchantment.js +4 -0
  114. package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +31 -0
  115. package/lib/types/traditionArtifacts/InstrumentEnchantment.js +4 -0
  116. package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +31 -0
  117. package/lib/types/traditionArtifacts/Krallenkettenzauber.js +4 -0
  118. package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +31 -0
  119. package/lib/types/traditionArtifacts/OrbEnchantment.js +4 -0
  120. package/lib/types/traditionArtifacts/RingEnchantment.d.ts +31 -0
  121. package/lib/types/traditionArtifacts/RingEnchantment.js +4 -0
  122. package/lib/types/traditionArtifacts/SickleRitual.d.ts +31 -0
  123. package/lib/types/traditionArtifacts/SickleRitual.js +4 -0
  124. package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +31 -0
  125. package/lib/types/traditionArtifacts/SpellSwordEnchantment.js +4 -0
  126. package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +31 -0
  127. package/lib/types/traditionArtifacts/StaffEnchantment.js +4 -0
  128. package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +31 -0
  129. package/lib/types/traditionArtifacts/ToyEnchantment.js +4 -0
  130. package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +31 -0
  131. package/lib/types/traditionArtifacts/Trinkhornzauber.js +4 -0
  132. package/lib/types/traditionArtifacts/WandEnchantment.d.ts +31 -0
  133. package/lib/types/traditionArtifacts/WandEnchantment.js +4 -0
  134. package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +31 -0
  135. package/lib/types/traditionArtifacts/WeaponEnchantment.js +4 -0
  136. package/lib/types/traditionArtifacts/sub/AnimalShape.d.ts +42 -0
  137. package/lib/types/traditionArtifacts/sub/AnimalShape.js +4 -0
  138. package/lib/types/traditionArtifacts/sub/AnimalShapePath.d.ts +30 -0
  139. package/lib/types/traditionArtifacts/sub/AnimalShapePath.js +4 -0
  140. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.d.ts +42 -0
  141. package/lib/types/traditionArtifacts/sub/AnimalShapeSize.js +4 -0
  142. package/lib/types/traditionArtifacts/sub/Brew.d.ts +30 -0
  143. package/lib/types/traditionArtifacts/sub/Brew.js +4 -0
  144. package/package.json +2 -2
  145. package/schema/Advantage.schema.json +81 -0
  146. package/schema/ArcaneBardTradition.schema.json +1 -1
  147. package/schema/ArcaneDancerTradition.schema.json +1 -1
  148. package/schema/Blessing.schema.json +227 -0
  149. package/schema/Cantrip.schema.json +427 -0
  150. package/schema/Ceremony.schema.json +1 -7
  151. package/schema/Continent.schema.json +46 -0
  152. package/schema/DerivedCharacteristic.schema.json +1 -1
  153. package/schema/Disadvantage.schema.json +75 -0
  154. package/schema/LiturgicalChant.schema.json +1 -7
  155. package/schema/PactCategory.schema.json +138 -0
  156. package/schema/Patron.schema.json +407 -0
  157. package/schema/PatronCategory.schema.json +66 -0
  158. package/schema/Ritual.schema.json +1 -1
  159. package/schema/Spell.schema.json +1 -1
  160. package/schema/_Activatable.schema.json +1182 -0
  161. package/schema/_ActivatableSkill.schema.json +53 -22
  162. package/schema/_Enhancements.schema.json +1 -1
  163. package/schema/_I18n.schema.json +38 -0
  164. package/schema/_Identifier.schema.json +90 -113
  165. package/schema/_Influence.schema.json +77 -0
  166. package/schema/_Prerequisite.schema.json +703 -573
  167. package/schema/magicalActions/GeodeRitual.schema.json +1 -1
  168. package/schema/source/Publication.schema.json +1 -1
  169. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +76 -0
  170. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +68 -0
  171. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +68 -0
  172. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +68 -0
  173. package/schema/specialAbility/AncestorGlyph.schema.json +62 -0
  174. package/schema/specialAbility/BlessedTradition.schema.json +300 -0
  175. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +70 -0
  176. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +72 -0
  177. package/schema/specialAbility/CombatSpecialAbility.schema.json +76 -0
  178. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +110 -0
  179. package/schema/specialAbility/CommandSpecialAbility.schema.json +70 -0
  180. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +62 -0
  181. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +62 -0
  182. package/schema/specialAbility/FatePointSpecialAbility.schema.json +68 -0
  183. package/schema/specialAbility/GeneralSpecialAbility.schema.json +68 -0
  184. package/schema/specialAbility/KarmaSpecialAbility.schema.json +62 -0
  185. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +72 -0
  186. package/schema/specialAbility/LycantropicGift.schema.json +62 -0
  187. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +72 -0
  188. package/schema/specialAbility/MagicalSpecialAbility.schema.json +68 -0
  189. package/schema/specialAbility/MagicalTradition.schema.json +181 -0
  190. package/schema/specialAbility/PactGift.schema.json +215 -0
  191. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +70 -0
  192. package/schema/specialAbility/Sermon.schema.json +62 -0
  193. package/schema/specialAbility/SexSpecialAbility.schema.json +68 -0
  194. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +62 -0
  195. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +66 -0
  196. package/schema/specialAbility/VampiricGift.schema.json +62 -0
  197. package/schema/specialAbility/Vision.schema.json +62 -0
  198. package/schema/specialAbility/sub/Language.schema.json +215 -0
  199. package/schema/specialAbility/sub/Script.schema.json +127 -0
  200. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +66 -0
  201. package/schema/traditionArtifacts/AttireEnchantment.schema.json +66 -0
  202. package/schema/traditionArtifacts/BowlEnchantment.schema.json +66 -0
  203. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +83 -0
  204. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +66 -0
  205. package/schema/traditionArtifacts/DaggerRitual.schema.json +66 -0
  206. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +66 -0
  207. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +66 -0
  208. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +66 -0
  209. package/schema/traditionArtifacts/OrbEnchantment.schema.json +66 -0
  210. package/schema/traditionArtifacts/RingEnchantment.schema.json +66 -0
  211. package/schema/traditionArtifacts/SickleRitual.schema.json +66 -0
  212. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +66 -0
  213. package/schema/traditionArtifacts/StaffEnchantment.schema.json +66 -0
  214. package/schema/traditionArtifacts/ToyEnchantment.schema.json +66 -0
  215. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +66 -0
  216. package/schema/traditionArtifacts/WandEnchantment.schema.json +66 -0
  217. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +66 -0
  218. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +57 -0
  219. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +45 -0
  220. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +57 -0
  221. package/schema/traditionArtifacts/sub/Brew.schema.json +45 -0
@@ -0,0 +1,427 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "Cantrip.schema.json",
4
+ "$ref": "#/definitions/Spell",
5
+ "definitions": {
6
+ "Spell": {
7
+ "title": "Spell",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The spell's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "parameters": {
16
+ "description": "Measurable parameters of a spell.",
17
+ "$ref": "#/definitions/PerformanceParameters"
18
+ },
19
+ "target": {
20
+ "description": "The target category – the kind of creature or object – the skill affects.",
21
+ "$ref": "./_ActivatableSkill.schema.json#/definitions/TargetCategory/T"
22
+ },
23
+ "property_id": {
24
+ "description": "The property's identifier.",
25
+ "type": "integer",
26
+ "minimum": 1
27
+ },
28
+ "improvement_cost": {
29
+ "description": "States which column is used to improve the skill.",
30
+ "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
31
+ },
32
+ "note": {
33
+ "description": "A note specifying the dissemination of the cantrip in different traditions.\nSometimes a cantrip is exclusively available to one or more specific\ntraditions, but usually one the academies and traditions are listed the\ncantrip is most commonly teached in.",
34
+ "oneOf": [
35
+ {
36
+ "type": "object",
37
+ "properties": {
38
+ "tag": {
39
+ "const": "Exclusive"
40
+ },
41
+ "traditions": {
42
+ "description": "The traditions the cantrip is exclusively available to.",
43
+ "type": "array",
44
+ "items": {
45
+ "type": "object",
46
+ "properties": {
47
+ "id": {
48
+ "description": "The magical tradition's identifier.",
49
+ "type": "integer",
50
+ "minimum": 2
51
+ }
52
+ },
53
+ "required": [
54
+ "id"
55
+ ],
56
+ "additionalProperties": false
57
+ },
58
+ "minItems": 1,
59
+ "uniqueItems": true
60
+ }
61
+ },
62
+ "required": [
63
+ "tag",
64
+ "traditions"
65
+ ],
66
+ "additionalProperties": false
67
+ },
68
+ {
69
+ "type": "object",
70
+ "properties": {
71
+ "tag": {
72
+ "const": "Common"
73
+ },
74
+ "list": {
75
+ "description": "The academies and traditions the cantrip is commonly teached in.",
76
+ "type": "array",
77
+ "items": {
78
+ "$ref": "#/definitions/CommonNote"
79
+ },
80
+ "minItems": 1,
81
+ "uniqueItems": true
82
+ }
83
+ },
84
+ "required": [
85
+ "tag",
86
+ "list"
87
+ ],
88
+ "additionalProperties": false
89
+ }
90
+ ]
91
+ },
92
+ "src": {
93
+ "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
94
+ },
95
+ "translations": {
96
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
97
+ "type": "object",
98
+ "patternProperties": {
99
+ "^[a-z]{2}-[A-Z]{2}$": {
100
+ "type": "object",
101
+ "properties": {
102
+ "name": {
103
+ "description": "The name of the spell.",
104
+ "type": "string",
105
+ "minLength": 1
106
+ },
107
+ "effect": {
108
+ "description": "The effect description may be either a plain text or a text that is\ndivided by a list of effects for each quality level. It may also be a\nlist for each two quality levels.",
109
+ "$ref": "./_ActivatableSkill.schema.json#/definitions/Effect/T"
110
+ },
111
+ "casting_time": {
112
+ "type": "object",
113
+ "properties": {
114
+ "full": {
115
+ "type": "string"
116
+ },
117
+ "abbr": {
118
+ "type": "string"
119
+ }
120
+ },
121
+ "required": [
122
+ "full",
123
+ "abbr"
124
+ ],
125
+ "additionalProperties": false
126
+ },
127
+ "cost": {
128
+ "type": "object",
129
+ "properties": {
130
+ "full": {
131
+ "type": "string"
132
+ },
133
+ "abbr": {
134
+ "type": "string"
135
+ }
136
+ },
137
+ "required": [
138
+ "full",
139
+ "abbr"
140
+ ],
141
+ "additionalProperties": false
142
+ },
143
+ "range": {
144
+ "type": "object",
145
+ "properties": {
146
+ "full": {
147
+ "type": "string"
148
+ },
149
+ "abbr": {
150
+ "type": "string"
151
+ }
152
+ },
153
+ "required": [
154
+ "full",
155
+ "abbr"
156
+ ],
157
+ "additionalProperties": false
158
+ },
159
+ "duration": {
160
+ "type": "object",
161
+ "properties": {
162
+ "full": {
163
+ "type": "string"
164
+ },
165
+ "abbr": {
166
+ "type": "string"
167
+ }
168
+ },
169
+ "required": [
170
+ "full",
171
+ "abbr"
172
+ ],
173
+ "additionalProperties": false
174
+ },
175
+ "target": {
176
+ "type": "string"
177
+ },
178
+ "errata": {
179
+ "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
180
+ }
181
+ },
182
+ "required": [
183
+ "name",
184
+ "effect",
185
+ "casting_time",
186
+ "cost",
187
+ "range",
188
+ "duration",
189
+ "target"
190
+ ],
191
+ "additionalProperties": false
192
+ }
193
+ },
194
+ "minProperties": 1,
195
+ "additionalProperties": false
196
+ },
197
+ "enhancements": {
198
+ "$ref": "./_Enhancements.schema.json#/definitions/Enhancements"
199
+ }
200
+ },
201
+ "required": [
202
+ "id",
203
+ "parameters",
204
+ "target",
205
+ "property_id",
206
+ "improvement_cost",
207
+ "note",
208
+ "src",
209
+ "translations"
210
+ ],
211
+ "additionalProperties": false
212
+ },
213
+ "PerformanceParameters": {
214
+ "description": "Measurable parameters of a blessing.",
215
+ "type": "object",
216
+ "properties": {
217
+ "range": {
218
+ "oneOf": [
219
+ {
220
+ "type": "object",
221
+ "properties": {
222
+ "tag": {
223
+ "const": "Self"
224
+ }
225
+ },
226
+ "required": [
227
+ "tag"
228
+ ],
229
+ "additionalProperties": false
230
+ },
231
+ {
232
+ "type": "object",
233
+ "properties": {
234
+ "tag": {
235
+ "const": "Touch"
236
+ }
237
+ },
238
+ "required": [
239
+ "tag"
240
+ ],
241
+ "additionalProperties": false
242
+ },
243
+ {
244
+ "type": "object",
245
+ "properties": {
246
+ "tag": {
247
+ "const": "Fixed"
248
+ },
249
+ "value": {
250
+ "description": "The range in steps/m.",
251
+ "type": "integer",
252
+ "minimum": 1
253
+ },
254
+ "is_radius": {
255
+ "description": "If `true`, the range is a radius.",
256
+ "const": true
257
+ }
258
+ },
259
+ "required": [
260
+ "tag",
261
+ "value"
262
+ ],
263
+ "additionalProperties": false
264
+ }
265
+ ]
266
+ },
267
+ "duration": {
268
+ "oneOf": [
269
+ {
270
+ "type": "object",
271
+ "properties": {
272
+ "tag": {
273
+ "const": "Immediate"
274
+ }
275
+ },
276
+ "required": [
277
+ "tag"
278
+ ],
279
+ "additionalProperties": false
280
+ },
281
+ {
282
+ "type": "object",
283
+ "properties": {
284
+ "tag": {
285
+ "const": "Fixed"
286
+ },
287
+ "is_maximum": {
288
+ "description": "If `true`, the duration is a maximum duration.",
289
+ "const": true
290
+ },
291
+ "value": {
292
+ "description": "The (unitless) duration.",
293
+ "type": "integer",
294
+ "minimum": 1
295
+ },
296
+ "unit": {
297
+ "description": "The duration unit.",
298
+ "$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/Unit"
299
+ }
300
+ },
301
+ "required": [
302
+ "tag",
303
+ "value",
304
+ "unit"
305
+ ],
306
+ "additionalProperties": false
307
+ },
308
+ {
309
+ "type": "object",
310
+ "properties": {
311
+ "tag": {
312
+ "const": "DuringLovemaking"
313
+ },
314
+ "value": {
315
+ "description": "The duration in rounds.",
316
+ "type": "integer",
317
+ "minimum": 1
318
+ }
319
+ },
320
+ "required": [
321
+ "tag",
322
+ "value"
323
+ ],
324
+ "additionalProperties": false
325
+ },
326
+ {
327
+ "type": "object",
328
+ "properties": {
329
+ "tag": {
330
+ "const": "Indefinite"
331
+ },
332
+ "translations": {
333
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
334
+ "type": "object",
335
+ "patternProperties": {
336
+ "^[a-z]{2}-[A-Z]{2}$": {
337
+ "type": "object",
338
+ "properties": {
339
+ "description": {
340
+ "description": "A description of the duration.",
341
+ "type": "object",
342
+ "properties": {
343
+ "default": {
344
+ "description": "The full description of the duration.",
345
+ "type": "string",
346
+ "minLength": 1
347
+ },
348
+ "compressed": {
349
+ "description": "A compressed description of the duration for use in small areas\n(e.g. on character sheet).",
350
+ "type": "string",
351
+ "minLength": 1
352
+ }
353
+ },
354
+ "required": [
355
+ "default",
356
+ "compressed"
357
+ ],
358
+ "additionalProperties": false
359
+ }
360
+ },
361
+ "required": [
362
+ "description"
363
+ ],
364
+ "additionalProperties": false
365
+ }
366
+ },
367
+ "minProperties": 1,
368
+ "additionalProperties": false
369
+ }
370
+ },
371
+ "required": [
372
+ "tag",
373
+ "translations"
374
+ ],
375
+ "additionalProperties": false
376
+ }
377
+ ]
378
+ }
379
+ },
380
+ "required": [
381
+ "range",
382
+ "duration"
383
+ ],
384
+ "additionalProperties": false
385
+ },
386
+ "CommonNote": {
387
+ "oneOf": [
388
+ {
389
+ "type": "object",
390
+ "properties": {
391
+ "tag": {
392
+ "const": "Academy"
393
+ },
394
+ "id": {
395
+ "description": "The academy's curriculum identifier.",
396
+ "type": "integer",
397
+ "minimum": 1
398
+ }
399
+ },
400
+ "required": [
401
+ "tag",
402
+ "id"
403
+ ],
404
+ "additionalProperties": false
405
+ },
406
+ {
407
+ "type": "object",
408
+ "properties": {
409
+ "tag": {
410
+ "const": "Tradition"
411
+ },
412
+ "id": {
413
+ "description": "The magical tradition's identifier.",
414
+ "type": "integer",
415
+ "minimum": 2
416
+ }
417
+ },
418
+ "required": [
419
+ "tag",
420
+ "id"
421
+ ],
422
+ "additionalProperties": false
423
+ }
424
+ ]
425
+ }
426
+ }
427
+ }
@@ -28,11 +28,6 @@
28
28
  "description": "The target category – the kind of creature or object – the skill affects.",
29
29
  "$ref": "./_ActivatableSkill.schema.json#/definitions/TargetCategory/T"
30
30
  },
31
- "property_id": {
32
- "description": "The property's identifier.",
33
- "type": "integer",
34
- "minimum": 1
35
- },
36
31
  "traditions": {
37
32
  "description": "The tradition(s) the ceremony is available for. Note that general aspects\ndo not have an associated tradition and thus need to be defined in a\nspecial way.",
38
33
  "type": "array",
@@ -46,7 +41,7 @@
46
41
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
47
42
  },
48
43
  "prerequisites": {
49
- "$ref": "./_Prerequisite.schema.json#/definitions/GroupCollection/Liturgy"
44
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Liturgy"
50
45
  },
51
46
  "src": {
52
47
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -167,7 +162,6 @@
167
162
  "check",
168
163
  "parameters",
169
164
  "target",
170
- "property_id",
171
165
  "traditions",
172
166
  "improvement_cost",
173
167
  "src",
@@ -0,0 +1,46 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "Continent.schema.json",
4
+ "$ref": "#/definitions/Continent",
5
+ "definitions": {
6
+ "Continent": {
7
+ "title": "Continent",
8
+ "description": "Continents are mostly referenced to in languages and scripts that occur on a\nspecific continent.",
9
+ "type": "object",
10
+ "properties": {
11
+ "id": {
12
+ "description": "The continent's identifier. An unique, increasing integer.",
13
+ "type": "integer",
14
+ "minimum": 1
15
+ },
16
+ "translations": {
17
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
18
+ "type": "object",
19
+ "patternProperties": {
20
+ "^[a-z]{2}-[A-Z]{2}$": {
21
+ "type": "object",
22
+ "properties": {
23
+ "name": {
24
+ "description": "The continent name.",
25
+ "type": "string",
26
+ "minLength": 1
27
+ }
28
+ },
29
+ "required": [
30
+ "name"
31
+ ],
32
+ "additionalProperties": false
33
+ }
34
+ },
35
+ "minProperties": 1,
36
+ "additionalProperties": false
37
+ }
38
+ },
39
+ "required": [
40
+ "id",
41
+ "translations"
42
+ ],
43
+ "additionalProperties": false
44
+ }
45
+ }
46
+ }
@@ -13,7 +13,7 @@
13
13
  "minimum": 1
14
14
  },
15
15
  "prerequisites": {
16
- "$ref": "./_Prerequisite.schema.json#/definitions/GroupCollection/DerivedCharacteristic"
16
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/DerivedCharacteristic"
17
17
  },
18
18
  "src": {
19
19
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -0,0 +1,75 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "Disadvantage.schema.json",
4
+ "$ref": "#/definitions/Disadvantage",
5
+ "definitions": {
6
+ "Disadvantage": {
7
+ "title": "Disadvantage",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "$ref": "#/definitions/Id"
12
+ },
13
+ "levels": {
14
+ "$ref": "#/definitions/Levels"
15
+ },
16
+ "ap_value": {
17
+ "$ref": "#/definitions/AdventurePointsValue"
18
+ },
19
+ "has_no_maximum_spent_influence": {
20
+ "description": "Does this disadvantage not count towards the maximum of AP to be granted by\ndisadvantages?",
21
+ "const": true
22
+ },
23
+ "is_exclusive_to_arcane_spellworks": {
24
+ "description": "Does this disadvantage exclusively applies to arcane spellworks but not\nto magical actions and applications?",
25
+ "const": true
26
+ },
27
+ "src": {
28
+ "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
29
+ },
30
+ "translations": {
31
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
32
+ "type": "object",
33
+ "patternProperties": {
34
+ "^[a-z]{2}-[A-Z]{2}$": {
35
+ "type": "object",
36
+ "properties": {
37
+ "name": {
38
+ "$ref": "#/definitions/Name"
39
+ },
40
+ "name_in_library": {
41
+ "$ref": "#/definitions/NameInLibrary"
42
+ },
43
+ "rules": {
44
+ "$ref": "#/definitions/Rules"
45
+ },
46
+ "range": {
47
+ "description": "The range.",
48
+ "type": "string",
49
+ "minLength": 1
50
+ },
51
+ "errata": {
52
+ "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
53
+ }
54
+ },
55
+ "required": [
56
+ "name",
57
+ "rules"
58
+ ],
59
+ "additionalProperties": false
60
+ }
61
+ },
62
+ "minProperties": 1,
63
+ "additionalProperties": false
64
+ }
65
+ },
66
+ "required": [
67
+ "id",
68
+ "ap_value",
69
+ "src",
70
+ "translations"
71
+ ],
72
+ "additionalProperties": false
73
+ }
74
+ }
75
+ }
@@ -28,11 +28,6 @@
28
28
  "description": "The target category – the kind of creature or object – the skill affects.",
29
29
  "$ref": "./_ActivatableSkill.schema.json#/definitions/TargetCategory/T"
30
30
  },
31
- "property_id": {
32
- "description": "The property's identifier.",
33
- "type": "integer",
34
- "minimum": 1
35
- },
36
31
  "traditions": {
37
32
  "description": "The tradition(s) the liturgical chant is available for. Note that general\naspects do not have an associated tradition and thus need to be defined in\na special way.",
38
33
  "type": "array",
@@ -46,7 +41,7 @@
46
41
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
47
42
  },
48
43
  "prerequisites": {
49
- "$ref": "./_Prerequisite.schema.json#/definitions/GroupCollection/Liturgy"
44
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Liturgy"
50
45
  },
51
46
  "src": {
52
47
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
@@ -167,7 +162,6 @@
167
162
  "check",
168
163
  "parameters",
169
164
  "target",
170
- "property_id",
171
165
  "traditions",
172
166
  "improvement_cost",
173
167
  "src",