optolith-database-schema 0.0.3 → 0.1.1

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 +40 -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/FamiliarsTrick.d.ts +333 -0
  13. package/lib/types/FamiliarsTrick.js +4 -0
  14. package/lib/types/FamiliarsTrick_AnimalType.d.ts +30 -0
  15. package/lib/types/FamiliarsTrick_AnimalType.js +4 -0
  16. package/lib/types/LiturgicalChant.d.ts +2 -2
  17. package/lib/types/Patron.d.ts +197 -0
  18. package/lib/types/Patron.js +4 -0
  19. package/lib/types/PatronCategory.d.ts +44 -0
  20. package/lib/types/PatronCategory.js +4 -0
  21. package/lib/types/Ritual.d.ts +2 -2
  22. package/lib/types/Spell.d.ts +2 -2
  23. package/lib/types/_Activatable.d.ts +528 -0
  24. package/lib/types/_Activatable.js +5 -0
  25. package/lib/types/_ActivatableSkill.d.ts +44 -22
  26. package/lib/types/_Enhancements.d.ts +2 -2
  27. package/lib/types/_I18n.d.ts +38 -0
  28. package/lib/types/_I18n.js +1 -0
  29. package/lib/types/_Identifier.d.ts +81 -75
  30. package/lib/types/_Identifier.js +76 -1
  31. package/lib/types/_Influence.d.ts +52 -0
  32. package/lib/types/_Influence.js +4 -0
  33. package/lib/types/_Prerequisite.d.ts +343 -296
  34. package/lib/types/_Prerequisite.js +136 -183
  35. package/lib/types/magicalActions/GeodeRitual.d.ts +2 -2
  36. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +34 -0
  37. package/lib/types/specialAbility/AdvancedCombatSpecialAbility.js +4 -0
  38. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +32 -0
  39. package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.js +4 -0
  40. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +32 -0
  41. package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.js +4 -0
  42. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +32 -0
  43. package/lib/types/specialAbility/AdvancedSkillSpecialAbility.js +4 -0
  44. package/lib/types/specialAbility/AncestorGlyph.d.ts +30 -0
  45. package/lib/types/specialAbility/AncestorGlyph.js +4 -0
  46. package/lib/types/specialAbility/BlessedTradition.d.ts +170 -0
  47. package/lib/types/specialAbility/BlessedTradition.js +4 -0
  48. package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +32 -0
  49. package/lib/types/specialAbility/BrawlingSpecialAbility.js +4 -0
  50. package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +33 -0
  51. package/lib/types/specialAbility/CeremonialItemSpecialAbility.js +4 -0
  52. package/lib/types/specialAbility/CombatSpecialAbility.d.ts +34 -0
  53. package/lib/types/specialAbility/CombatSpecialAbility.js +4 -0
  54. package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +43 -0
  55. package/lib/types/specialAbility/CombatStyleSpecialAbility.js +4 -0
  56. package/lib/types/specialAbility/CommandSpecialAbility.d.ts +32 -0
  57. package/lib/types/specialAbility/CommandSpecialAbility.js +4 -0
  58. package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +30 -0
  59. package/lib/types/specialAbility/FamiliarSpecialAbility.js +4 -0
  60. package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +30 -0
  61. package/lib/types/specialAbility/FatePointSexSpecialAbility.js +4 -0
  62. package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +32 -0
  63. package/lib/types/specialAbility/FatePointSpecialAbility.js +4 -0
  64. package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +32 -0
  65. package/lib/types/specialAbility/GeneralSpecialAbility.js +4 -0
  66. package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +30 -0
  67. package/lib/types/specialAbility/KarmaSpecialAbility.js +4 -0
  68. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +33 -0
  69. package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.js +4 -0
  70. package/lib/types/specialAbility/LycantropicGift.d.ts +30 -0
  71. package/lib/types/specialAbility/LycantropicGift.js +4 -0
  72. package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +33 -0
  73. package/lib/types/specialAbility/MagicStyleSpecialAbility.js +4 -0
  74. package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +32 -0
  75. package/lib/types/specialAbility/MagicalSpecialAbility.js +4 -0
  76. package/lib/types/specialAbility/MagicalTradition.d.ts +130 -0
  77. package/lib/types/specialAbility/MagicalTradition.js +4 -0
  78. package/lib/types/specialAbility/PactGift.d.ts +86 -0
  79. package/lib/types/specialAbility/PactGift.js +4 -0
  80. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +41 -0
  81. package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.js +4 -0
  82. package/lib/types/specialAbility/Sermon.d.ts +30 -0
  83. package/lib/types/specialAbility/Sermon.js +4 -0
  84. package/lib/types/specialAbility/SexSpecialAbility.d.ts +32 -0
  85. package/lib/types/specialAbility/SexSpecialAbility.js +4 -0
  86. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +30 -0
  87. package/lib/types/specialAbility/SikaryanDrainSpecialAbility.js +4 -0
  88. package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +31 -0
  89. package/lib/types/specialAbility/SkillStyleSpecialAbility.js +4 -0
  90. package/lib/types/specialAbility/VampiricGift.d.ts +30 -0
  91. package/lib/types/specialAbility/VampiricGift.js +4 -0
  92. package/lib/types/specialAbility/Vision.d.ts +30 -0
  93. package/lib/types/specialAbility/Vision.js +4 -0
  94. package/lib/types/specialAbility/sub/Language.d.ts +141 -0
  95. package/lib/types/specialAbility/sub/Language.js +4 -0
  96. package/lib/types/specialAbility/sub/Script.d.ts +85 -0
  97. package/lib/types/specialAbility/sub/Script.js +4 -0
  98. package/lib/types/specialAbility/sub/TradeSecret.d.ts +50 -0
  99. package/lib/types/specialAbility/sub/TradeSecret.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/Ceremony.schema.json +1 -1
  149. package/schema/Continent.schema.json +46 -0
  150. package/schema/DerivedCharacteristic.schema.json +1 -1
  151. package/schema/Disadvantage.schema.json +75 -0
  152. package/schema/FamiliarsTrick.schema.json +602 -0
  153. package/schema/FamiliarsTrick_AnimalType.schema.json +45 -0
  154. package/schema/LiturgicalChant.schema.json +1 -1
  155. package/schema/Patron.schema.json +407 -0
  156. package/schema/PatronCategory.schema.json +66 -0
  157. package/schema/Ritual.schema.json +1 -1
  158. package/schema/Spell.schema.json +1 -1
  159. package/schema/_Activatable.schema.json +1182 -0
  160. package/schema/_ActivatableSkill.schema.json +53 -22
  161. package/schema/_Enhancements.schema.json +1 -1
  162. package/schema/_I18n.schema.json +38 -0
  163. package/schema/_Identifier.schema.json +90 -113
  164. package/schema/_Influence.schema.json +77 -0
  165. package/schema/_Prerequisite.schema.json +703 -573
  166. package/schema/magicalActions/GeodeRitual.schema.json +1 -1
  167. package/schema/source/Publication.schema.json +1 -1
  168. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +76 -0
  169. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +68 -0
  170. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +68 -0
  171. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +68 -0
  172. package/schema/specialAbility/AncestorGlyph.schema.json +62 -0
  173. package/schema/specialAbility/BlessedTradition.schema.json +300 -0
  174. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +70 -0
  175. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +72 -0
  176. package/schema/specialAbility/CombatSpecialAbility.schema.json +76 -0
  177. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +110 -0
  178. package/schema/specialAbility/CommandSpecialAbility.schema.json +70 -0
  179. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +62 -0
  180. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +62 -0
  181. package/schema/specialAbility/FatePointSpecialAbility.schema.json +68 -0
  182. package/schema/specialAbility/GeneralSpecialAbility.schema.json +68 -0
  183. package/schema/specialAbility/KarmaSpecialAbility.schema.json +62 -0
  184. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +72 -0
  185. package/schema/specialAbility/LycantropicGift.schema.json +62 -0
  186. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +72 -0
  187. package/schema/specialAbility/MagicalSpecialAbility.schema.json +68 -0
  188. package/schema/specialAbility/MagicalTradition.schema.json +181 -0
  189. package/schema/specialAbility/PactGift.schema.json +215 -0
  190. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +70 -0
  191. package/schema/specialAbility/Sermon.schema.json +62 -0
  192. package/schema/specialAbility/SexSpecialAbility.schema.json +68 -0
  193. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +62 -0
  194. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +66 -0
  195. package/schema/specialAbility/VampiricGift.schema.json +62 -0
  196. package/schema/specialAbility/Vision.schema.json +62 -0
  197. package/schema/specialAbility/sub/Language.schema.json +215 -0
  198. package/schema/specialAbility/sub/Script.schema.json +127 -0
  199. package/schema/specialAbility/sub/TradeSecret.schema.json +68 -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,602 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "FamiliarsTrick.schema.json",
4
+ "$ref": "#/definitions/FamiliarsTrick",
5
+ "definitions": {
6
+ "FamiliarsTrick": {
7
+ "title": "Familiar's Trick",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The familiar's trick's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "animal_types": {
16
+ "description": "The animal types this trick is available to. Either it is available to all\nor only a list of specific animal types.",
17
+ "oneOf": [
18
+ {
19
+ "type": "object",
20
+ "properties": {
21
+ "tag": {
22
+ "const": "All"
23
+ }
24
+ },
25
+ "required": [
26
+ "tag"
27
+ ],
28
+ "additionalProperties": false
29
+ },
30
+ {
31
+ "type": "object",
32
+ "properties": {
33
+ "tag": {
34
+ "const": "Specific"
35
+ },
36
+ "list": {
37
+ "description": "The list of specific animal types.",
38
+ "type": "array",
39
+ "items": {
40
+ "type": "object",
41
+ "properties": {
42
+ "id": {
43
+ "description": "The animal type's identifier.",
44
+ "type": "integer",
45
+ "minimum": 1
46
+ }
47
+ },
48
+ "required": [
49
+ "id"
50
+ ],
51
+ "additionalProperties": false
52
+ },
53
+ "minItems": 1
54
+ }
55
+ },
56
+ "required": [
57
+ "tag",
58
+ "list"
59
+ ],
60
+ "additionalProperties": false
61
+ }
62
+ ]
63
+ },
64
+ "parameters": {
65
+ "description": "Measurable parameters of a familiar's trick.",
66
+ "$ref": "#/definitions/PerformanceParameters"
67
+ },
68
+ "property": {
69
+ "description": "The property of the trick.",
70
+ "oneOf": [
71
+ {
72
+ "type": "object",
73
+ "properties": {
74
+ "tag": {
75
+ "const": "Fixed"
76
+ },
77
+ "id": {
78
+ "description": "The property's identifier.",
79
+ "type": "integer",
80
+ "minimum": 1
81
+ }
82
+ },
83
+ "required": [
84
+ "tag",
85
+ "id"
86
+ ],
87
+ "additionalProperties": false
88
+ },
89
+ {
90
+ "type": "object",
91
+ "properties": {
92
+ "tag": {
93
+ "const": "Indefinite"
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
+ "description": {
103
+ "description": "A description of the property.",
104
+ "type": "object",
105
+ "properties": {
106
+ "default": {
107
+ "description": "The full description of the property.",
108
+ "type": "string",
109
+ "minLength": 1
110
+ },
111
+ "compressed": {
112
+ "description": "A compressed description of the property for use in small areas\n(e.g. on character sheet).",
113
+ "type": "string",
114
+ "minLength": 1
115
+ }
116
+ },
117
+ "required": [
118
+ "default",
119
+ "compressed"
120
+ ],
121
+ "additionalProperties": false
122
+ }
123
+ },
124
+ "required": [
125
+ "description"
126
+ ],
127
+ "additionalProperties": false
128
+ }
129
+ },
130
+ "minProperties": 1,
131
+ "additionalProperties": false
132
+ }
133
+ },
134
+ "required": [
135
+ "tag",
136
+ "translations"
137
+ ],
138
+ "additionalProperties": false
139
+ }
140
+ ]
141
+ },
142
+ "ap_value": {
143
+ "description": "The AP value the familiar has to pay for. It may also be that a specific is\nknown by all familiar by default.",
144
+ "oneOf": [
145
+ {
146
+ "type": "object",
147
+ "properties": {
148
+ "tag": {
149
+ "const": "Fixed"
150
+ },
151
+ "value": {
152
+ "description": "The adventure points value.",
153
+ "type": "integer",
154
+ "minimum": 1
155
+ }
156
+ },
157
+ "required": [
158
+ "tag",
159
+ "value"
160
+ ],
161
+ "additionalProperties": false
162
+ },
163
+ {
164
+ "type": "object",
165
+ "properties": {
166
+ "tag": {
167
+ "const": "Default"
168
+ }
169
+ },
170
+ "required": [
171
+ "tag"
172
+ ],
173
+ "additionalProperties": false
174
+ }
175
+ ]
176
+ },
177
+ "src": {
178
+ "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"
179
+ },
180
+ "translations": {
181
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
182
+ "type": "object",
183
+ "patternProperties": {
184
+ "^[a-z]{2}-[A-Z]{2}$": {
185
+ "type": "object",
186
+ "properties": {
187
+ "name": {
188
+ "description": "The name of the familiar's trick.",
189
+ "type": "string",
190
+ "minLength": 1
191
+ },
192
+ "effect": {
193
+ "description": "The effect description.",
194
+ "type": "string",
195
+ "minLength": 1
196
+ },
197
+ "cost": {
198
+ "type": "object",
199
+ "properties": {
200
+ "full": {
201
+ "type": "string"
202
+ },
203
+ "abbr": {
204
+ "type": "string"
205
+ }
206
+ },
207
+ "required": [
208
+ "full",
209
+ "abbr"
210
+ ],
211
+ "additionalProperties": false
212
+ },
213
+ "duration": {
214
+ "type": "object",
215
+ "properties": {
216
+ "full": {
217
+ "type": "string"
218
+ },
219
+ "abbr": {
220
+ "type": "string"
221
+ }
222
+ },
223
+ "required": [
224
+ "full",
225
+ "abbr"
226
+ ],
227
+ "additionalProperties": false
228
+ },
229
+ "errata": {
230
+ "$ref": "./source/_Erratum.schema.json#/definitions/Errata"
231
+ }
232
+ },
233
+ "required": [
234
+ "name",
235
+ "effect",
236
+ "cost",
237
+ "duration"
238
+ ],
239
+ "additionalProperties": false
240
+ }
241
+ },
242
+ "minProperties": 1,
243
+ "additionalProperties": false
244
+ }
245
+ },
246
+ "required": [
247
+ "id",
248
+ "animal_types",
249
+ "parameters",
250
+ "property",
251
+ "ap_value",
252
+ "src",
253
+ "translations"
254
+ ],
255
+ "additionalProperties": false
256
+ },
257
+ "PerformanceParameters": {
258
+ "description": "Measurable parameters of a familiar's trick.",
259
+ "oneOf": [
260
+ {
261
+ "type": "object",
262
+ "properties": {
263
+ "tag": {
264
+ "const": "OneTime"
265
+ },
266
+ "cost": {
267
+ "oneOf": [
268
+ {
269
+ "type": "object",
270
+ "properties": {
271
+ "tag": {
272
+ "const": "Fixed"
273
+ },
274
+ "value": {
275
+ "description": "The AE cost value.",
276
+ "type": "integer",
277
+ "minimum": 1
278
+ },
279
+ "interval": {
280
+ "description": "The interval in which you have to pay the AE cost again.",
281
+ "$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
282
+ },
283
+ "translations": {
284
+ "description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
285
+ "type": "object",
286
+ "patternProperties": {
287
+ "^[a-z]{2}-[A-Z]{2}$": {
288
+ "type": "object",
289
+ "properties": {
290
+ "per": {
291
+ "type": "object",
292
+ "properties": {
293
+ "default": {
294
+ "description": "The full countable entity name.",
295
+ "type": "string",
296
+ "minLength": 1
297
+ },
298
+ "compressed": {
299
+ "description": "The compressed countable entity name.",
300
+ "type": "string",
301
+ "minLength": 1
302
+ }
303
+ },
304
+ "required": [
305
+ "default",
306
+ "compressed"
307
+ ],
308
+ "additionalProperties": false
309
+ }
310
+ },
311
+ "required": [],
312
+ "minProperties": 1,
313
+ "additionalProperties": false
314
+ }
315
+ },
316
+ "minProperties": 1,
317
+ "additionalProperties": false
318
+ }
319
+ },
320
+ "required": [
321
+ "tag",
322
+ "value"
323
+ ],
324
+ "additionalProperties": false
325
+ },
326
+ {
327
+ "type": "object",
328
+ "properties": {
329
+ "tag": {
330
+ "const": "All"
331
+ },
332
+ "minimum": {
333
+ "description": "The minimum AE the familiar has to have.",
334
+ "type": "integer",
335
+ "minimum": 1
336
+ }
337
+ },
338
+ "required": [
339
+ "tag"
340
+ ],
341
+ "additionalProperties": false
342
+ },
343
+ {
344
+ "type": "object",
345
+ "properties": {
346
+ "tag": {
347
+ "const": "Indefinite"
348
+ },
349
+ "translations": {
350
+ "description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
351
+ "type": "object",
352
+ "patternProperties": {
353
+ "^[a-z]{2}-[A-Z]{2}$": {
354
+ "type": "object",
355
+ "properties": {
356
+ "description": {
357
+ "description": "A description of the AE cost.",
358
+ "type": "object",
359
+ "properties": {
360
+ "default": {
361
+ "description": "The full description of the AE cost.",
362
+ "type": "string",
363
+ "minLength": 1
364
+ },
365
+ "compressed": {
366
+ "description": "A compressed description of the AE cost for use in small areas\n(e.g. on character sheet).",
367
+ "type": "string",
368
+ "minLength": 1
369
+ }
370
+ },
371
+ "required": [
372
+ "default",
373
+ "compressed"
374
+ ],
375
+ "additionalProperties": false
376
+ }
377
+ },
378
+ "required": [
379
+ "description"
380
+ ],
381
+ "additionalProperties": false
382
+ }
383
+ },
384
+ "minProperties": 1,
385
+ "additionalProperties": false
386
+ }
387
+ },
388
+ "required": [
389
+ "tag",
390
+ "translations"
391
+ ],
392
+ "additionalProperties": false
393
+ }
394
+ ]
395
+ },
396
+ "duration": {
397
+ "oneOf": [
398
+ {
399
+ "type": "object",
400
+ "properties": {
401
+ "tag": {
402
+ "const": "Immediate"
403
+ }
404
+ },
405
+ "required": [
406
+ "tag"
407
+ ],
408
+ "additionalProperties": false
409
+ },
410
+ {
411
+ "type": "object",
412
+ "properties": {
413
+ "tag": {
414
+ "const": "Fixed"
415
+ },
416
+ "is_maximum": {
417
+ "description": "If the duration is the maximum duration, so it may end earlier.",
418
+ "type": "boolean"
419
+ },
420
+ "value": {
421
+ "description": "The (unitless) duration.",
422
+ "type": "integer",
423
+ "minimum": 1
424
+ },
425
+ "unit": {
426
+ "description": "The duration unit.",
427
+ "$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/Unit"
428
+ },
429
+ "translations": {
430
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
431
+ "type": "object",
432
+ "patternProperties": {
433
+ "^[a-z]{2}-[A-Z]{2}$": {
434
+ "type": "object",
435
+ "properties": {
436
+ "replacement": {
437
+ "description": "A replacement string.",
438
+ "type": "object",
439
+ "properties": {
440
+ "default": {
441
+ "description": "The full replacement string. It can contain `$1`, which is\ngoing to be replaced with the generated duration string, so\nadditional information can be provided without duplicating\nconcrete numeric values.",
442
+ "type": "string",
443
+ "minLength": 1
444
+ },
445
+ "compressed": {
446
+ "description": "A compressed replacement string for use in small areas (e.g. on\ncharacter sheet). It can contain `$1`, which is going to be\nreplaced with the generated duration string, so additional\ninformation can be provided without duplicating concrete\nnumeric values.",
447
+ "type": "string",
448
+ "minLength": 1
449
+ }
450
+ },
451
+ "required": [
452
+ "default",
453
+ "compressed"
454
+ ],
455
+ "additionalProperties": false
456
+ }
457
+ },
458
+ "required": [],
459
+ "minProperties": 1,
460
+ "additionalProperties": false
461
+ }
462
+ },
463
+ "minProperties": 1,
464
+ "additionalProperties": false
465
+ }
466
+ },
467
+ "required": [
468
+ "tag",
469
+ "value",
470
+ "unit"
471
+ ],
472
+ "additionalProperties": false
473
+ },
474
+ {
475
+ "type": "object",
476
+ "properties": {
477
+ "tag": {
478
+ "const": "Indefinite"
479
+ },
480
+ "translations": {
481
+ "description": "All translations for the entry, identified by IETF language tag\n(BCP47).",
482
+ "type": "object",
483
+ "patternProperties": {
484
+ "^[a-z]{2}-[A-Z]{2}$": {
485
+ "type": "object",
486
+ "properties": {
487
+ "description": {
488
+ "description": "A description of the duration.",
489
+ "type": "object",
490
+ "properties": {
491
+ "default": {
492
+ "description": "The full description of the duration.",
493
+ "type": "string",
494
+ "minLength": 1
495
+ },
496
+ "compressed": {
497
+ "description": "A compressed description of the duration for use in small areas\n(e.g. on character sheet).",
498
+ "type": "string",
499
+ "minLength": 1
500
+ }
501
+ },
502
+ "required": [
503
+ "default",
504
+ "compressed"
505
+ ],
506
+ "additionalProperties": false
507
+ }
508
+ },
509
+ "required": [
510
+ "description"
511
+ ],
512
+ "additionalProperties": false
513
+ }
514
+ },
515
+ "minProperties": 1,
516
+ "additionalProperties": false
517
+ }
518
+ },
519
+ "required": [
520
+ "tag",
521
+ "translations"
522
+ ],
523
+ "additionalProperties": false
524
+ }
525
+ ]
526
+ }
527
+ },
528
+ "required": [
529
+ "tag",
530
+ "cost",
531
+ "duration"
532
+ ],
533
+ "additionalProperties": false
534
+ },
535
+ {
536
+ "type": "object",
537
+ "properties": {
538
+ "tag": {
539
+ "const": "OneTimeInterval"
540
+ },
541
+ "cost": {
542
+ "type": "object",
543
+ "properties": {
544
+ "value": {
545
+ "description": "The AE cost value.",
546
+ "type": "integer",
547
+ "minimum": 1
548
+ },
549
+ "interval": {
550
+ "description": "The duration granted/added by paying the given AE cost.",
551
+ "$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
552
+ }
553
+ },
554
+ "required": [
555
+ "value",
556
+ "interval"
557
+ ],
558
+ "additionalProperties": false
559
+ }
560
+ },
561
+ "required": [
562
+ "tag",
563
+ "cost"
564
+ ],
565
+ "additionalProperties": false
566
+ },
567
+ {
568
+ "type": "object",
569
+ "properties": {
570
+ "tag": {
571
+ "const": "Sustained"
572
+ },
573
+ "cost": {
574
+ "type": "object",
575
+ "properties": {
576
+ "value": {
577
+ "description": "The AE cost value.",
578
+ "type": "integer",
579
+ "minimum": 1
580
+ },
581
+ "interval": {
582
+ "description": "The interval in which you have to pay the AE cost again.",
583
+ "$ref": "./_ActivatableSkill.schema.json#/definitions/Duration/UnitValue"
584
+ }
585
+ },
586
+ "required": [
587
+ "value",
588
+ "interval"
589
+ ],
590
+ "additionalProperties": false
591
+ }
592
+ },
593
+ "required": [
594
+ "tag",
595
+ "cost"
596
+ ],
597
+ "additionalProperties": false
598
+ }
599
+ ]
600
+ }
601
+ }
602
+ }
@@ -0,0 +1,45 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "FamiliarsTrick_AnimalType.schema.json",
4
+ "$ref": "#/definitions/AnimalType",
5
+ "definitions": {
6
+ "AnimalType": {
7
+ "title": "Animal Type",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The animal type's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "translations": {
16
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
17
+ "type": "object",
18
+ "patternProperties": {
19
+ "^[a-z]{2}-[A-Z]{2}$": {
20
+ "type": "object",
21
+ "properties": {
22
+ "name": {
23
+ "description": "The animal type name.",
24
+ "type": "string",
25
+ "minLength": 1
26
+ }
27
+ },
28
+ "required": [
29
+ "name"
30
+ ],
31
+ "additionalProperties": false
32
+ }
33
+ },
34
+ "minProperties": 1,
35
+ "additionalProperties": false
36
+ }
37
+ },
38
+ "required": [
39
+ "id",
40
+ "translations"
41
+ ],
42
+ "additionalProperties": false
43
+ }
44
+ }
45
+ }
@@ -41,7 +41,7 @@
41
41
  "$ref": "./_ImprovementCost.schema.json#/definitions/ImprovementCost"
42
42
  },
43
43
  "prerequisites": {
44
- "$ref": "./_Prerequisite.schema.json#/definitions/GroupCollection/Liturgy"
44
+ "$ref": "./_Prerequisite.schema.json#/definitions/Prerequisite/GroupCollection/Liturgy"
45
45
  },
46
46
  "src": {
47
47
  "$ref": "./source/_PublicationRef.schema.json#/definitions/PublicationRefs"