optolith-database-schema 0.0.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 (169) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +27 -0
  3. package/CODEOWNERS +1 -0
  4. package/LICENSE +378 -0
  5. package/README.md +17 -0
  6. package/lib/main.d.ts +1 -0
  7. package/lib/main.js +1 -0
  8. package/lib/types/ArcaneBardTradition.d.ts +32 -0
  9. package/lib/types/ArcaneBardTradition.js +4 -0
  10. package/lib/types/ArcaneDancerTradition.d.ts +32 -0
  11. package/lib/types/ArcaneDancerTradition.js +4 -0
  12. package/lib/types/Aspect.d.ts +36 -0
  13. package/lib/types/Aspect.js +4 -0
  14. package/lib/types/Attribute.d.ts +42 -0
  15. package/lib/types/Attribute.js +5 -0
  16. package/lib/types/CombatTechnique_Close.d.ts +80 -0
  17. package/lib/types/CombatTechnique_Close.js +4 -0
  18. package/lib/types/CombatTechnique_Ranged.d.ts +62 -0
  19. package/lib/types/CombatTechnique_Ranged.js +4 -0
  20. package/lib/types/Condition.d.ts +51 -0
  21. package/lib/types/Condition.js +4 -0
  22. package/lib/types/Culture.d.ts +494 -0
  23. package/lib/types/Culture.js +4 -0
  24. package/lib/types/DerivedCharacteristic.d.ts +65 -0
  25. package/lib/types/DerivedCharacteristic.js +4 -0
  26. package/lib/types/Element.d.ts +30 -0
  27. package/lib/types/Element.js +4 -0
  28. package/lib/types/ExperienceLevel.d.ts +68 -0
  29. package/lib/types/ExperienceLevel.js +4 -0
  30. package/lib/types/EyeColor.d.ts +30 -0
  31. package/lib/types/EyeColor.js +4 -0
  32. package/lib/types/HairColor.d.ts +30 -0
  33. package/lib/types/HairColor.js +4 -0
  34. package/lib/types/Lessons_Curriculum.d.ts +297 -0
  35. package/lib/types/Lessons_Curriculum.js +4 -0
  36. package/lib/types/Lessons_Guideline.d.ts +36 -0
  37. package/lib/types/Lessons_Guideline.js +4 -0
  38. package/lib/types/Locale.d.ts +38 -0
  39. package/lib/types/Locale.js +4 -0
  40. package/lib/types/MetaCondition.d.ts +54 -0
  41. package/lib/types/MetaCondition.js +4 -0
  42. package/lib/types/Property.d.ts +36 -0
  43. package/lib/types/Property.js +4 -0
  44. package/lib/types/Race.d.ts +524 -0
  45. package/lib/types/Race.js +13 -0
  46. package/lib/types/Region.d.ts +30 -0
  47. package/lib/types/Region.js +4 -0
  48. package/lib/types/Service.d.ts +40 -0
  49. package/lib/types/Service.js +4 -0
  50. package/lib/types/SexPractice.d.ts +53 -0
  51. package/lib/types/SexPractice.js +4 -0
  52. package/lib/types/Skill.d.ts +169 -0
  53. package/lib/types/Skill.js +4 -0
  54. package/lib/types/SkillGroup.d.ts +40 -0
  55. package/lib/types/SkillGroup.js +4 -0
  56. package/lib/types/SkillModificationIncrement.d.ts +82 -0
  57. package/lib/types/SkillModificationIncrement.js +4 -0
  58. package/lib/types/SocialStatus.d.ts +30 -0
  59. package/lib/types/SocialStatus.js +4 -0
  60. package/lib/types/State.d.ts +40 -0
  61. package/lib/types/State.js +4 -0
  62. package/lib/types/TargetCategory.d.ts +36 -0
  63. package/lib/types/TargetCategory.js +4 -0
  64. package/lib/types/_ActivatableSkill.d.ts +919 -0
  65. package/lib/types/_ActivatableSkill.js +38 -0
  66. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +12 -0
  67. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
  68. package/lib/types/_ImprovementCost.d.ts +9 -0
  69. package/lib/types/_ImprovementCost.js +10 -0
  70. package/lib/types/_Prerequisite.d.ts +274 -0
  71. package/lib/types/_Prerequisite.js +4 -0
  72. package/lib/types/_Sex.d.ts +11 -0
  73. package/lib/types/_Sex.js +4 -0
  74. package/lib/types/_SkillCheck.d.ts +28 -0
  75. package/lib/types/_SkillCheck.js +1 -0
  76. package/lib/types/magicalActions/AnimistPower.d.ts +227 -0
  77. package/lib/types/magicalActions/AnimistPower.js +4 -0
  78. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
  79. package/lib/types/magicalActions/AnimistPower_Tribe.js +4 -0
  80. package/lib/types/magicalActions/Curse.d.ts +228 -0
  81. package/lib/types/magicalActions/Curse.js +4 -0
  82. package/lib/types/magicalActions/DominationRitual.d.ts +181 -0
  83. package/lib/types/magicalActions/DominationRitual.js +4 -0
  84. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +149 -0
  85. package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
  86. package/lib/types/magicalActions/GeodeRitual.d.ts +162 -0
  87. package/lib/types/magicalActions/GeodeRitual.js +4 -0
  88. package/lib/types/magicalActions/JesterTrick.d.ts +167 -0
  89. package/lib/types/magicalActions/JesterTrick.js +4 -0
  90. package/lib/types/magicalActions/MagicalDance.d.ts +184 -0
  91. package/lib/types/magicalActions/MagicalDance.js +4 -0
  92. package/lib/types/magicalActions/MagicalMelody.d.ts +132 -0
  93. package/lib/types/magicalActions/MagicalMelody.js +4 -0
  94. package/lib/types/magicalActions/MagicalRune.d.ts +241 -0
  95. package/lib/types/magicalActions/MagicalRune.js +4 -0
  96. package/lib/types/magicalActions/ZibiljaRitual.d.ts +101 -0
  97. package/lib/types/magicalActions/ZibiljaRitual.js +4 -0
  98. package/lib/types/magicalActions/_MusicTradition.d.ts +28 -0
  99. package/lib/types/magicalActions/_MusicTradition.js +1 -0
  100. package/lib/types/magicalActions/_SkillReference.d.ts +13 -0
  101. package/lib/types/magicalActions/_SkillReference.js +5 -0
  102. package/lib/types/rule/FocusRule.d.ts +53 -0
  103. package/lib/types/rule/FocusRule.js +4 -0
  104. package/lib/types/rule/FocusRule_Subject.d.ts +31 -0
  105. package/lib/types/rule/FocusRule_Subject.js +4 -0
  106. package/lib/types/rule/OptionalRule.d.ts +65 -0
  107. package/lib/types/rule/OptionalRule.js +4 -0
  108. package/lib/types/source/Publication.d.ts +4 -0
  109. package/lib/types/source/Publication.js +4 -0
  110. package/lib/types/source/_Erratum.d.ts +25 -0
  111. package/lib/types/source/_Erratum.js +4 -0
  112. package/lib/types/source/_PublicationRef.d.ts +146 -0
  113. package/lib/types/source/_PublicationRef.js +4 -0
  114. package/lib/validation/integrity.d.ts +16 -0
  115. package/lib/validation/integrity.js +3 -0
  116. package/package.json +37 -0
  117. package/schema/ArcaneBardTradition.schema.json +49 -0
  118. package/schema/ArcaneDancerTradition.schema.json +49 -0
  119. package/schema/Aspect.schema.json +50 -0
  120. package/schema/Attribute.schema.json +57 -0
  121. package/schema/CombatTechnique_Close.schema.json +127 -0
  122. package/schema/CombatTechnique_Ranged.schema.json +83 -0
  123. package/schema/Condition.schema.json +84 -0
  124. package/schema/Culture.schema.json +858 -0
  125. package/schema/DerivedCharacteristic.schema.json +90 -0
  126. package/schema/Element.schema.json +45 -0
  127. package/schema/ExperienceLevel.schema.json +84 -0
  128. package/schema/EyeColor.schema.json +45 -0
  129. package/schema/HairColor.schema.json +45 -0
  130. package/schema/Lessons_Curriculum.schema.json +500 -0
  131. package/schema/Lessons_Guideline.schema.json +51 -0
  132. package/schema/Locale.schema.json +45 -0
  133. package/schema/MetaCondition.schema.json +85 -0
  134. package/schema/Property.schema.json +49 -0
  135. package/schema/Race.schema.json +724 -0
  136. package/schema/Region.schema.json +45 -0
  137. package/schema/Service.schema.json +58 -0
  138. package/schema/SexPractice.schema.json +72 -0
  139. package/schema/Skill.schema.json +278 -0
  140. package/schema/SkillGroup.schema.json +56 -0
  141. package/schema/SkillModificationIncrement.schema.json +98 -0
  142. package/schema/SocialStatus.schema.json +45 -0
  143. package/schema/State.schema.json +58 -0
  144. package/schema/TargetCategory.schema.json +51 -0
  145. package/schema/_ActivatableSkill.schema.json +1534 -0
  146. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +22 -0
  147. package/schema/_ImprovementCost.schema.json +15 -0
  148. package/schema/_Prerequisite.schema.json +519 -0
  149. package/schema/_Sex.schema.json +36 -0
  150. package/schema/_SkillCheck.schema.json +94 -0
  151. package/schema/magicalActions/AnimistPower.schema.json +411 -0
  152. package/schema/magicalActions/AnimistPower_Tribe.schema.json +45 -0
  153. package/schema/magicalActions/Curse.schema.json +378 -0
  154. package/schema/magicalActions/DominationRitual.schema.json +288 -0
  155. package/schema/magicalActions/ElvenMagicalSong.schema.json +194 -0
  156. package/schema/magicalActions/GeodeRitual.schema.json +303 -0
  157. package/schema/magicalActions/JesterTrick.schema.json +292 -0
  158. package/schema/magicalActions/MagicalDance.schema.json +328 -0
  159. package/schema/magicalActions/MagicalMelody.schema.json +254 -0
  160. package/schema/magicalActions/MagicalRune.schema.json +426 -0
  161. package/schema/magicalActions/ZibiljaRitual.schema.json +159 -0
  162. package/schema/magicalActions/_MusicTradition.schema.json +44 -0
  163. package/schema/magicalActions/_SkillReference.schema.json +26 -0
  164. package/schema/rule/FocusRule.schema.json +71 -0
  165. package/schema/rule/FocusRule_Subject.schema.json +46 -0
  166. package/schema/rule/OptionalRule.schema.json +96 -0
  167. package/schema/source/Publication.schema.json +165 -0
  168. package/schema/source/_Erratum.schema.json +37 -0
  169. package/schema/source/_PublicationRef.schema.json +242 -0
@@ -0,0 +1,292 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "magicalActions/JesterTrick.schema.json",
4
+ "$ref": "#/definitions/JesterTrick",
5
+ "definitions": {
6
+ "JesterTrick": {
7
+ "title": "Jester Trick",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The jester trick's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "check": {
16
+ "description": "Lists the linked three attributes used to make a skill check.",
17
+ "$ref": "../_SkillCheck.schema.json#/definitions/SkillCheck"
18
+ },
19
+ "check_penalty": {
20
+ "description": "In some cases, the target's Spirit or Toughness is applied as a penalty.",
21
+ "$ref": "../_SkillCheck.schema.json#/definitions/SkillCheckPenalty"
22
+ },
23
+ "parameters": {
24
+ "description": "Measurable parameters of a jester trick.",
25
+ "$ref": "#/definitions/PerformanceParameters"
26
+ },
27
+ "target": {
28
+ "description": "The target category – the kind of creature or object – the skill affects.",
29
+ "$ref": "../_ActivatableSkill.schema.json#/definitions/TargetCategory/T"
30
+ },
31
+ "property_id": {
32
+ "description": "The property's identifier.",
33
+ "type": "integer",
34
+ "minimum": 1
35
+ },
36
+ "improvement_cost": {
37
+ "description": "States which column is used to improve the skill.",
38
+ "$ref": "../_ImprovementCost.schema.json#/definitions/ImprovementCost"
39
+ },
40
+ "src": {
41
+ "$ref": "../source/_PublicationRef.schema.json#/definitions/PublicationRefs"
42
+ },
43
+ "translations": {
44
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
45
+ "type": "object",
46
+ "patternProperties": {
47
+ "^[a-z]{2}-[A-Z]{2}$": {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "description": "The name of the jester trick.",
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "effect": {
56
+ "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.",
57
+ "$ref": "../_ActivatableSkill.schema.json#/definitions/Effect/T"
58
+ },
59
+ "casting_time": {
60
+ "type": "object",
61
+ "properties": {
62
+ "full": {
63
+ "type": "string"
64
+ },
65
+ "abbr": {
66
+ "type": "string"
67
+ }
68
+ },
69
+ "required": [
70
+ "full",
71
+ "abbr"
72
+ ],
73
+ "additionalProperties": false
74
+ },
75
+ "cost": {
76
+ "type": "object",
77
+ "properties": {
78
+ "full": {
79
+ "type": "string"
80
+ },
81
+ "abbr": {
82
+ "type": "string"
83
+ }
84
+ },
85
+ "required": [
86
+ "full",
87
+ "abbr"
88
+ ],
89
+ "additionalProperties": false
90
+ },
91
+ "range": {
92
+ "type": "object",
93
+ "properties": {
94
+ "full": {
95
+ "type": "string"
96
+ },
97
+ "abbr": {
98
+ "type": "string"
99
+ }
100
+ },
101
+ "required": [
102
+ "full",
103
+ "abbr"
104
+ ],
105
+ "additionalProperties": false
106
+ },
107
+ "duration": {
108
+ "type": "object",
109
+ "properties": {
110
+ "full": {
111
+ "type": "string"
112
+ },
113
+ "abbr": {
114
+ "type": "string"
115
+ }
116
+ },
117
+ "required": [
118
+ "full",
119
+ "abbr"
120
+ ],
121
+ "additionalProperties": false
122
+ },
123
+ "target": {
124
+ "type": "string"
125
+ },
126
+ "errata": {
127
+ "$ref": "../source/_Erratum.schema.json#/definitions/Errata"
128
+ }
129
+ },
130
+ "required": [
131
+ "name",
132
+ "effect",
133
+ "casting_time",
134
+ "cost",
135
+ "range",
136
+ "duration",
137
+ "target"
138
+ ],
139
+ "additionalProperties": false
140
+ }
141
+ },
142
+ "minProperties": 1,
143
+ "additionalProperties": false
144
+ }
145
+ },
146
+ "required": [
147
+ "id",
148
+ "check",
149
+ "parameters",
150
+ "target",
151
+ "property_id",
152
+ "improvement_cost",
153
+ "src",
154
+ "translations"
155
+ ],
156
+ "additionalProperties": false
157
+ },
158
+ "PerformanceParameters": {
159
+ "description": "Measurable parameters of a jester trick.",
160
+ "type": "object",
161
+ "properties": {
162
+ "casting_time": {
163
+ "description": "The casting time.",
164
+ "type": "object",
165
+ "properties": {
166
+ "value": {
167
+ "description": "The casting time in actions.",
168
+ "type": "integer",
169
+ "minimum": 1
170
+ }
171
+ },
172
+ "required": [
173
+ "value"
174
+ ],
175
+ "additionalProperties": false
176
+ },
177
+ "cost": {
178
+ "description": "The AE cost.",
179
+ "type": "object",
180
+ "properties": {
181
+ "value": {
182
+ "description": "The AE cost value.",
183
+ "type": "integer",
184
+ "minimum": 1
185
+ }
186
+ },
187
+ "required": [
188
+ "value"
189
+ ],
190
+ "additionalProperties": false
191
+ },
192
+ "range": {
193
+ "description": "The range.",
194
+ "oneOf": [
195
+ {
196
+ "type": "object",
197
+ "properties": {
198
+ "tag": {
199
+ "const": "Touch"
200
+ }
201
+ },
202
+ "required": [
203
+ "tag"
204
+ ],
205
+ "additionalProperties": false
206
+ },
207
+ {
208
+ "type": "object",
209
+ "properties": {
210
+ "tag": {
211
+ "const": "Self"
212
+ }
213
+ },
214
+ "required": [
215
+ "tag"
216
+ ],
217
+ "additionalProperties": false
218
+ },
219
+ {
220
+ "type": "object",
221
+ "properties": {
222
+ "tag": {
223
+ "const": "Fixed"
224
+ },
225
+ "value": {
226
+ "description": "The range in steps/m.",
227
+ "type": "integer",
228
+ "minimum": 2
229
+ }
230
+ },
231
+ "required": [
232
+ "tag",
233
+ "value"
234
+ ],
235
+ "additionalProperties": false
236
+ }
237
+ ]
238
+ },
239
+ "duration": {
240
+ "description": "The duration.",
241
+ "oneOf": [
242
+ {
243
+ "type": "object",
244
+ "properties": {
245
+ "tag": {
246
+ "const": "Immediate"
247
+ }
248
+ },
249
+ "required": [
250
+ "tag"
251
+ ],
252
+ "additionalProperties": false
253
+ },
254
+ {
255
+ "type": "object",
256
+ "properties": {
257
+ "tag": {
258
+ "const": "Fixed"
259
+ },
260
+ "value": {
261
+ "description": "The (unitless) duration.",
262
+ "type": "integer",
263
+ "minimum": 2
264
+ },
265
+ "unit": {
266
+ "description": "The duration unit.",
267
+ "$ref": "../_ActivatableSkill.schema.json#/definitions/Duration/Unit"
268
+ }
269
+ },
270
+ "required": [
271
+ "tag",
272
+ "value",
273
+ "unit"
274
+ ],
275
+ "additionalProperties": false
276
+ },
277
+ {
278
+ "$ref": "../_ActivatableSkill.schema.json#/definitions/Duration/CheckResultBasedTagged"
279
+ }
280
+ ]
281
+ }
282
+ },
283
+ "required": [
284
+ "casting_time",
285
+ "cost",
286
+ "range",
287
+ "duration"
288
+ ],
289
+ "additionalProperties": false
290
+ }
291
+ }
292
+ }
@@ -0,0 +1,328 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema",
3
+ "$id": "magicalActions/MagicalDance.schema.json",
4
+ "$ref": "#/definitions/MagicalDance",
5
+ "definitions": {
6
+ "MagicalDance": {
7
+ "title": "Magical Dance",
8
+ "type": "object",
9
+ "properties": {
10
+ "id": {
11
+ "description": "The magical dance's identifier. An unique, increasing integer.",
12
+ "type": "integer",
13
+ "minimum": 1
14
+ },
15
+ "check": {
16
+ "description": "Lists the linked three attributes used to make a skill check.",
17
+ "$ref": "../_SkillCheck.schema.json#/definitions/SkillCheck"
18
+ },
19
+ "parameters": {
20
+ "description": "Measurable parameters of a magical dance.",
21
+ "$ref": "#/definitions/PerformanceParameters"
22
+ },
23
+ "property_id": {
24
+ "description": "The property's identifier.",
25
+ "type": "integer",
26
+ "minimum": 1
27
+ },
28
+ "music_tradition": {
29
+ "description": "The music tradition(s) the magical dance is available for. This also\ndefines the different names in each music tradition.",
30
+ "type": "array",
31
+ "items": {
32
+ "$ref": "./_MusicTradition.schema.json#/definitions/MusicTraditionReference"
33
+ },
34
+ "minItems": 1
35
+ },
36
+ "improvement_cost": {
37
+ "description": "States which column is used to improve the skill.",
38
+ "$ref": "../_ImprovementCost.schema.json#/definitions/ImprovementCost"
39
+ },
40
+ "src": {
41
+ "$ref": "../source/_PublicationRef.schema.json#/definitions/PublicationRefs"
42
+ },
43
+ "translations": {
44
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
45
+ "type": "object",
46
+ "patternProperties": {
47
+ "^[a-z]{2}-[A-Z]{2}$": {
48
+ "type": "object",
49
+ "properties": {
50
+ "name": {
51
+ "description": "The name of the magical dance.",
52
+ "type": "string",
53
+ "minLength": 1
54
+ },
55
+ "effect": {
56
+ "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.",
57
+ "$ref": "../_ActivatableSkill.schema.json#/definitions/Effect/T"
58
+ },
59
+ "duration": {
60
+ "type": "object",
61
+ "properties": {
62
+ "full": {
63
+ "type": "string"
64
+ },
65
+ "abbr": {
66
+ "type": "string"
67
+ }
68
+ },
69
+ "required": [
70
+ "full",
71
+ "abbr"
72
+ ],
73
+ "additionalProperties": false
74
+ },
75
+ "cost": {
76
+ "type": "object",
77
+ "properties": {
78
+ "full": {
79
+ "type": "string"
80
+ },
81
+ "abbr": {
82
+ "type": "string"
83
+ }
84
+ },
85
+ "required": [
86
+ "full",
87
+ "abbr"
88
+ ],
89
+ "additionalProperties": false
90
+ },
91
+ "errata": {
92
+ "$ref": "../source/_Erratum.schema.json#/definitions/Errata"
93
+ }
94
+ },
95
+ "required": [
96
+ "name",
97
+ "effect",
98
+ "duration",
99
+ "cost"
100
+ ],
101
+ "additionalProperties": false
102
+ }
103
+ },
104
+ "minProperties": 1,
105
+ "additionalProperties": false
106
+ }
107
+ },
108
+ "required": [
109
+ "id",
110
+ "check",
111
+ "parameters",
112
+ "property_id",
113
+ "music_tradition",
114
+ "improvement_cost",
115
+ "src",
116
+ "translations"
117
+ ],
118
+ "additionalProperties": false
119
+ },
120
+ "PerformanceParameters": {
121
+ "description": "Measurable parameters of a magical dance.",
122
+ "type": "object",
123
+ "properties": {
124
+ "duration": {
125
+ "type": "object",
126
+ "properties": {
127
+ "length": {
128
+ "oneOf": [
129
+ {
130
+ "type": "object",
131
+ "properties": {
132
+ "tag": {
133
+ "const": "Long"
134
+ }
135
+ },
136
+ "required": [
137
+ "tag"
138
+ ],
139
+ "additionalProperties": false
140
+ },
141
+ {
142
+ "type": "object",
143
+ "properties": {
144
+ "tag": {
145
+ "const": "Short"
146
+ }
147
+ },
148
+ "required": [
149
+ "tag"
150
+ ],
151
+ "additionalProperties": false
152
+ }
153
+ ]
154
+ },
155
+ "reusability": {
156
+ "oneOf": [
157
+ {
158
+ "type": "object",
159
+ "properties": {
160
+ "tag": {
161
+ "const": "OneTime"
162
+ }
163
+ },
164
+ "required": [
165
+ "tag"
166
+ ],
167
+ "additionalProperties": false
168
+ },
169
+ {
170
+ "type": "object",
171
+ "properties": {
172
+ "tag": {
173
+ "const": "Sustainable"
174
+ }
175
+ },
176
+ "required": [
177
+ "tag"
178
+ ],
179
+ "additionalProperties": false
180
+ }
181
+ ]
182
+ }
183
+ },
184
+ "required": [
185
+ "length",
186
+ "reusability"
187
+ ],
188
+ "additionalProperties": false
189
+ },
190
+ "cost": {
191
+ "oneOf": [
192
+ {
193
+ "type": "object",
194
+ "properties": {
195
+ "tag": {
196
+ "const": "Fixed"
197
+ },
198
+ "value": {
199
+ "description": "The (temporary) AE cost value.",
200
+ "type": "integer",
201
+ "minimum": 1
202
+ },
203
+ "translations": {
204
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
205
+ "type": "object",
206
+ "patternProperties": {
207
+ "^[a-z]{2}-[A-Z]{2}$": {
208
+ "type": "object",
209
+ "properties": {
210
+ "per": {
211
+ "description": "The cost have to be per a specific countable entity, e.g. `8 AE per\nperson`.",
212
+ "type": "object",
213
+ "properties": {
214
+ "default": {
215
+ "description": "The full countable entity name.",
216
+ "type": "string",
217
+ "minLength": 1
218
+ },
219
+ "compressed": {
220
+ "description": "The compressed countable entity name.",
221
+ "type": "string",
222
+ "minLength": 1
223
+ }
224
+ },
225
+ "required": [
226
+ "default",
227
+ "compressed"
228
+ ],
229
+ "additionalProperties": false
230
+ }
231
+ },
232
+ "required": [],
233
+ "minProperties": 1,
234
+ "additionalProperties": false
235
+ }
236
+ },
237
+ "minProperties": 1,
238
+ "additionalProperties": false
239
+ }
240
+ },
241
+ "required": [
242
+ "tag",
243
+ "value"
244
+ ],
245
+ "additionalProperties": false
246
+ },
247
+ {
248
+ "type": "object",
249
+ "properties": {
250
+ "tag": {
251
+ "const": "Indefinite"
252
+ },
253
+ "modifier": {
254
+ "description": "Specified if the indefinite description's result value is to be\nmodified by a certain number.",
255
+ "type": "object",
256
+ "properties": {
257
+ "arithmetic": {
258
+ "description": "The arithmetic how to apply the `value` to the indefinite value.",
259
+ "$ref": "../_ActivatableSkill.schema.json#/definitions/Duration/CheckResultArithmetic"
260
+ },
261
+ "value": {
262
+ "description": "The value that is applied to the indefinite value using the defined\n`arithmetic`.",
263
+ "type": "integer",
264
+ "minimum": 2
265
+ }
266
+ },
267
+ "required": [
268
+ "arithmetic",
269
+ "value"
270
+ ],
271
+ "additionalProperties": false
272
+ },
273
+ "translations": {
274
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
275
+ "type": "object",
276
+ "patternProperties": {
277
+ "^[a-z]{2}-[A-Z]{2}$": {
278
+ "type": "object",
279
+ "properties": {
280
+ "description": {
281
+ "description": "A description of the duration.",
282
+ "type": "object",
283
+ "properties": {
284
+ "default": {
285
+ "description": "The full description of the duration.",
286
+ "type": "string",
287
+ "minLength": 1
288
+ },
289
+ "compressed": {
290
+ "description": "A compressed description of the duration for use in small areas\n(e.g. on character sheet).",
291
+ "type": "string",
292
+ "minLength": 1
293
+ }
294
+ },
295
+ "required": [
296
+ "default",
297
+ "compressed"
298
+ ],
299
+ "additionalProperties": false
300
+ }
301
+ },
302
+ "required": [
303
+ "description"
304
+ ],
305
+ "additionalProperties": false
306
+ }
307
+ },
308
+ "minProperties": 1,
309
+ "additionalProperties": false
310
+ }
311
+ },
312
+ "required": [
313
+ "tag",
314
+ "translations"
315
+ ],
316
+ "additionalProperties": false
317
+ }
318
+ ]
319
+ }
320
+ },
321
+ "required": [
322
+ "duration",
323
+ "cost"
324
+ ],
325
+ "additionalProperties": false
326
+ }
327
+ }
328
+ }