optolith-database-schema 0.3.0 → 0.4.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 (129) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/lib/config.d.ts +4 -4
  3. package/lib/config.js +4 -4
  4. package/lib/types/Blessing.d.ts +3 -0
  5. package/lib/types/Cantrip.d.ts +3 -0
  6. package/lib/types/Culture.d.ts +18 -22
  7. package/lib/types/Culture.js +38 -0
  8. package/lib/types/Lessons_Curriculum.d.ts +4 -0
  9. package/lib/types/Patron.d.ts +12 -18
  10. package/lib/types/Patron.js +20 -0
  11. package/lib/types/Profession.d.ts +8 -11
  12. package/lib/types/Profession.js +6 -0
  13. package/lib/types/Race.d.ts +5 -7
  14. package/lib/types/Race.js +11 -0
  15. package/lib/types/Service.d.ts +4 -5
  16. package/lib/types/Service.js +5 -0
  17. package/lib/types/Skill.d.ts +10 -14
  18. package/lib/types/Skill.js +19 -0
  19. package/lib/types/Talisman.d.ts +7 -11
  20. package/lib/types/Talisman.js +8 -0
  21. package/lib/types/_Activatable.d.ts +41 -25
  22. package/lib/types/_Activatable.js +44 -1
  23. package/lib/types/_ActivatableSelectOptionCategory.d.ts +21 -18
  24. package/lib/types/_ActivatableSelectOptionCategory.js +8 -1
  25. package/lib/types/_ActivatableSkillCheckResultBased.d.ts +8 -10
  26. package/lib/types/_ActivatableSkillCheckResultBased.js +16 -1
  27. package/lib/types/_ActivatableSkillRange.d.ts +8 -4
  28. package/lib/types/_ActivatableSkillTargetCategory.d.ts +4 -0
  29. package/lib/types/_DiseasePoison.d.ts +5 -7
  30. package/lib/types/_DiseasePoison.js +11 -1
  31. package/lib/types/_Sex.d.ts +4 -5
  32. package/lib/types/_Sex.js +8 -1
  33. package/lib/types/_SkillCheck.d.ts +6 -9
  34. package/lib/types/_SkillCheck.js +11 -1
  35. package/lib/types/_Spellwork.d.ts +1 -0
  36. package/lib/types/equipment/item/Armor.d.ts +4 -4
  37. package/lib/types/equipment/item/BandageOrRemedy.d.ts +33 -3
  38. package/lib/types/equipment/item/CeremonialItem.d.ts +38 -3
  39. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +1 -14
  40. package/lib/types/equipment/item/IlluminationLightSource.d.ts +62 -0
  41. package/lib/types/equipment/item/IlluminationLightSource.js +9 -0
  42. package/lib/types/equipment/item/{HealingHerb.d.ts → IlluminationRefillsOrSupplies.d.ts} +2 -2
  43. package/lib/types/equipment/item/{HealingHerb.js → IlluminationRefillsOrSupplies.js} +1 -1
  44. package/lib/types/equipment/item/LuxuryGood.d.ts +33 -3
  45. package/lib/types/equipment/item/MusicalInstrument.d.ts +3 -8
  46. package/lib/types/equipment/item/Poison.d.ts +11 -9
  47. package/lib/types/equipment/item/Poison.js +7 -0
  48. package/lib/types/equipment/item/ToolOfTheTrade.d.ts +1 -1
  49. package/lib/types/equipment/item/Weapon.d.ts +1 -1
  50. package/lib/types/equipment/item/_Item.d.ts +9 -3
  51. package/lib/types/equipment/item/_MeleeWeapon.d.ts +2 -0
  52. package/lib/types/equipment/item/_RangedWeapon.d.ts +2 -0
  53. package/lib/types/magicalActions/AnimistPower.d.ts +2 -0
  54. package/lib/types/magicalActions/Curse.d.ts +1 -0
  55. package/lib/types/magicalActions/GeodeRitual.d.ts +2 -0
  56. package/lib/types/magicalActions/JesterTrick.d.ts +3 -0
  57. package/lib/types/magicalActions/_MusicTradition.d.ts +8 -10
  58. package/lib/types/magicalActions/_MusicTradition.js +10 -1
  59. package/lib/types/prerequisites/DisplayOption.d.ts +1 -0
  60. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +1 -0
  61. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +4 -5
  62. package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +5 -1
  63. package/lib/types/prerequisites/single/TextPrerequisite.d.ts +4 -5
  64. package/lib/types/prerequisites/single/TextPrerequisite.js +5 -1
  65. package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +8 -10
  66. package/lib/types/prerequisites/single/TraditionPrerequisite.js +18 -1
  67. package/lib/types/rule/CoreRule.d.ts +63 -5
  68. package/lib/types/rule/CoreRule.js +5 -0
  69. package/lib/types/rule/_Rule.d.ts +1 -0
  70. package/lib/types/source/Publication.d.ts +6 -9
  71. package/lib/types/source/Publication.js +10 -0
  72. package/lib/types/source/_PublicationRef.d.ts +2 -0
  73. package/lib/types/specialAbility/BlessedTradition.d.ts +3 -0
  74. package/lib/types/specialAbility/PactGift.d.ts +8 -10
  75. package/lib/types/specialAbility/PactGift.js +10 -0
  76. package/package.json +2 -2
  77. package/schema/Blessing.schema.json +24 -3
  78. package/schema/Cantrip.schema.json +24 -3
  79. package/schema/Culture.schema.json +21 -113
  80. package/schema/Lessons_Curriculum.schema.json +32 -4
  81. package/schema/Patron.schema.json +10 -98
  82. package/schema/Profession.schema.json +70 -47
  83. package/schema/Race.schema.json +4 -37
  84. package/schema/Service.schema.json +3 -25
  85. package/schema/Skill.schema.json +8 -74
  86. package/schema/Talisman.schema.json +6 -61
  87. package/schema/_Activatable.schema.json +183 -146
  88. package/schema/_ActivatableSelectOptionCategory.schema.json +97 -49
  89. package/schema/_ActivatableSkillCheckResultBased.schema.json +6 -50
  90. package/schema/_ActivatableSkillRange.schema.json +24 -4
  91. package/schema/_ActivatableSkillTargetCategory.schema.json +32 -4
  92. package/schema/_DiseasePoison.schema.json +4 -37
  93. package/schema/_Sex.schema.json +3 -25
  94. package/schema/_SkillCheck.schema.json +5 -49
  95. package/schema/_Spellwork.schema.json +8 -1
  96. package/schema/equipment/item/Armor.schema.json +26 -5
  97. package/schema/equipment/item/BandageOrRemedy.schema.json +44 -1
  98. package/schema/equipment/item/CeremonialItem.schema.json +50 -1
  99. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +0 -13
  100. package/schema/equipment/item/IlluminationLightSource.schema.json +122 -0
  101. package/schema/equipment/item/IlluminationRefillsOrSupplies.schema.json +10 -0
  102. package/schema/equipment/item/LuxuryGood.schema.json +44 -1
  103. package/schema/equipment/item/MusicalInstrument.schema.json +4 -9
  104. package/schema/equipment/item/Poison.schema.json +45 -54
  105. package/schema/equipment/item/ToolOfTheTrade.schema.json +0 -1
  106. package/schema/equipment/item/Weapon.schema.json +1 -1
  107. package/schema/equipment/item/_Item.schema.json +52 -10
  108. package/schema/equipment/item/_MeleeWeapon.schema.json +16 -2
  109. package/schema/equipment/item/_RangedWeapon.schema.json +16 -2
  110. package/schema/magicalActions/AnimistPower.schema.json +16 -2
  111. package/schema/magicalActions/Curse.schema.json +8 -1
  112. package/schema/magicalActions/GeodeRitual.schema.json +16 -2
  113. package/schema/magicalActions/JesterTrick.schema.json +24 -3
  114. package/schema/magicalActions/_MusicTradition.schema.json +6 -50
  115. package/schema/prerequisites/DisplayOption.schema.json +8 -1
  116. package/schema/prerequisites/PrerequisiteGroups.schema.json +8 -1
  117. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +3 -25
  118. package/schema/prerequisites/single/TextPrerequisite.schema.json +3 -25
  119. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +6 -50
  120. package/schema/rule/CoreRule.schema.json +475 -84
  121. package/schema/rule/_Rule.schema.json +8 -1
  122. package/schema/source/Publication.schema.json +5 -49
  123. package/schema/source/_PublicationRef.schema.json +16 -2
  124. package/schema/specialAbility/BlessedTradition.schema.json +24 -3
  125. package/schema/specialAbility/PactGift.schema.json +6 -50
  126. package/lib/types/equipment/item/Illumination.d.ts +0 -6
  127. package/lib/types/equipment/item/Illumination.js +0 -5
  128. package/schema/equipment/item/HealingHerb.schema.json +0 -10
  129. package/schema/equipment/item/Illumination.schema.json +0 -10
@@ -208,7 +208,8 @@
208
208
  }
209
209
  },
210
210
  "required": [
211
- "tag"
211
+ "tag",
212
+ "head"
212
213
  ],
213
214
  "additionalProperties": false
214
215
  },
@@ -217,10 +218,17 @@
217
218
  "properties": {
218
219
  "tag": {
219
220
  "const": "Torso"
221
+ },
222
+ "torso": {
223
+ "type": "object",
224
+ "properties": {},
225
+ "required": [],
226
+ "additionalProperties": false
220
227
  }
221
228
  },
222
229
  "required": [
223
- "tag"
230
+ "tag",
231
+ "torso"
224
232
  ],
225
233
  "additionalProperties": false
226
234
  },
@@ -229,10 +237,17 @@
229
237
  "properties": {
230
238
  "tag": {
231
239
  "const": "Arms"
240
+ },
241
+ "arms": {
242
+ "type": "object",
243
+ "properties": {},
244
+ "required": [],
245
+ "additionalProperties": false
232
246
  }
233
247
  },
234
248
  "required": [
235
- "tag"
249
+ "tag",
250
+ "arms"
236
251
  ],
237
252
  "additionalProperties": false
238
253
  },
@@ -241,10 +256,17 @@
241
256
  "properties": {
242
257
  "tag": {
243
258
  "const": "Legs"
259
+ },
260
+ "legs": {
261
+ "type": "object",
262
+ "properties": {},
263
+ "required": [],
264
+ "additionalProperties": false
244
265
  }
245
266
  },
246
267
  "required": [
247
- "tag"
268
+ "tag",
269
+ "legs"
248
270
  ],
249
271
  "additionalProperties": false
250
272
  }
@@ -259,7 +281,6 @@
259
281
  }
260
282
  },
261
283
  "required": [],
262
- "minProperties": 1,
263
284
  "additionalProperties": false
264
285
  },
265
286
  "HeadHitZoneCombinationPossibilities": {
@@ -4,7 +4,50 @@
4
4
  "$ref": "#/$defs/BandageOrRemedy",
5
5
  "$defs": {
6
6
  "BandageOrRemedy": {
7
- "$ref": "./_Item.schema.json#/$defs/DefaultItem"
7
+ "type": "object",
8
+ "properties": {
9
+ "cost": {
10
+ "description": "The cost in silverthalers.",
11
+ "$ref": "./_Item.schema.json#/$defs/Cost"
12
+ },
13
+ "weight": {
14
+ "description": "The weight in kg.",
15
+ "$ref": "./_Item.schema.json#/$defs/Weight"
16
+ },
17
+ "complexity": {
18
+ "description": "The complexity of crafting the item.",
19
+ "$ref": "./_Item.schema.json#/$defs/Complexity"
20
+ },
21
+ "structure_points": {
22
+ "description": "The structure points of the item. Use an array if the item consists of\nmultiple components that have individual structure points.",
23
+ "$ref": "./_Item.schema.json#/$defs/StructurePoints"
24
+ },
25
+ "combat_use": {
26
+ "description": "The item can also be used either as an improvised weapon or as an armor,\nalthough this is not the primary use case of the item.",
27
+ "$ref": "./_Item.schema.json#/$defs/CombatUse"
28
+ },
29
+ "src": {
30
+ "$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
31
+ },
32
+ "translations": {
33
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
34
+ "type": "object",
35
+ "patternProperties": {
36
+ "^[a-z]{2}-[A-Z]{2}$": {
37
+ "$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
38
+ }
39
+ },
40
+ "minProperties": 1,
41
+ "additionalProperties": false
42
+ }
43
+ },
44
+ "required": [
45
+ "cost",
46
+ "weight",
47
+ "src",
48
+ "translations"
49
+ ],
50
+ "additionalProperties": false
8
51
  }
9
52
  }
10
53
  }
@@ -4,7 +4,56 @@
4
4
  "$ref": "#/$defs/CeremonialItem",
5
5
  "$defs": {
6
6
  "CeremonialItem": {
7
- "$ref": "./_Item.schema.json#/$defs/DefaultItem"
7
+ "type": "object",
8
+ "properties": {
9
+ "cost": {
10
+ "description": "The cost in silverthalers.",
11
+ "$ref": "./_Item.schema.json#/$defs/Cost"
12
+ },
13
+ "weight": {
14
+ "description": "The weight in kg.",
15
+ "$ref": "./_Item.schema.json#/$defs/Weight"
16
+ },
17
+ "complexity": {
18
+ "description": "The complexity of crafting the item.",
19
+ "$ref": "./_Item.schema.json#/$defs/Complexity"
20
+ },
21
+ "structure_points": {
22
+ "description": "The structure points of the item. Use an array if the item consists of\nmultiple components that have individual structure points.",
23
+ "$ref": "./_Item.schema.json#/$defs/StructurePoints"
24
+ },
25
+ "associated_tradition": {
26
+ "description": "The deity associated with the equipment item.",
27
+ "$ref": "../../_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
28
+ },
29
+ "combat_use": {
30
+ "description": "The item can also be used either as an improvised weapon or as an armor,\nalthough this is not the primary use case of the item.",
31
+ "$ref": "./_Item.schema.json#/$defs/CombatUse"
32
+ },
33
+ "src": {
34
+ "$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
35
+ },
36
+ "translations": {
37
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
38
+ "type": "object",
39
+ "patternProperties": {
40
+ "^[a-z]{2}-[A-Z]{2}$": {
41
+ "$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
42
+ }
43
+ },
44
+ "minProperties": 1,
45
+ "additionalProperties": false
46
+ }
47
+ },
48
+ "required": [
49
+ "cost",
50
+ "weight",
51
+ "structure_points",
52
+ "associated_tradition",
53
+ "src",
54
+ "translations"
55
+ ],
56
+ "additionalProperties": false
8
57
  }
9
58
  }
10
59
  }
@@ -10,22 +10,10 @@
10
10
  "description": "The cost in silverthalers.",
11
11
  "$ref": "./_Item.schema.json#/$defs/Cost"
12
12
  },
13
- "weight": {
14
- "description": "The weight in kg.",
15
- "$ref": "./_Item.schema.json#/$defs/Weight"
16
- },
17
- "complexity": {
18
- "description": "The complexity of crafting the item.",
19
- "$ref": "./_Item.schema.json#/$defs/Complexity"
20
- },
21
13
  "structure_points": {
22
14
  "description": "The structure points of the item. Use an array if the item consists of\nmultiple components that have individual structure points.",
23
15
  "$ref": "./_Item.schema.json#/$defs/StructurePoints"
24
16
  },
25
- "combat_use": {
26
- "description": "The item can also be used either as an improvised weapon or as an armor,\nalthough this is not the primary use case of the item.",
27
- "$ref": "./_Item.schema.json#/$defs/CombatUse"
28
- },
29
17
  "associated_tradition": {
30
18
  "description": "The deity associated with the equipment item.",
31
19
  "$ref": "../../_SimpleReferences.schema.json#/$defs/BlessedTraditionReference"
@@ -47,7 +35,6 @@
47
35
  },
48
36
  "required": [
49
37
  "cost",
50
- "weight",
51
38
  "structure_points",
52
39
  "associated_tradition",
53
40
  "src",
@@ -0,0 +1,122 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
+ "$id": "/equipment/item/IlluminationLightSource.schema.json",
4
+ "$ref": "#/$defs/IlluminationLightSource",
5
+ "$defs": {
6
+ "IlluminationLightSource": {
7
+ "type": "object",
8
+ "properties": {
9
+ "cost": {
10
+ "description": "The cost in silverthalers.",
11
+ "$ref": "./_Item.schema.json#/$defs/Cost"
12
+ },
13
+ "weight": {
14
+ "description": "The weight in kg.",
15
+ "$ref": "./_Item.schema.json#/$defs/Weight"
16
+ },
17
+ "complexity": {
18
+ "description": "The complexity of crafting the item.",
19
+ "$ref": "./_Item.schema.json#/$defs/Complexity"
20
+ },
21
+ "structure_points": {
22
+ "description": "The structure points of the item. Use an array if the item consists of\nmultiple components that have individual structure points.",
23
+ "$ref": "./_Item.schema.json#/$defs/StructurePoints"
24
+ },
25
+ "burning_time": {
26
+ "description": "The burning time is the time how long the light source can be lit. After\nthat time you have to use a new light source.",
27
+ "$ref": "#/$defs/BurningTime"
28
+ },
29
+ "combat_use": {
30
+ "description": "The item can also be used either as an improvised weapon or as an armor,\nalthough this is not the primary use case of the item.",
31
+ "$ref": "./_Item.schema.json#/$defs/CombatUse"
32
+ },
33
+ "src": {
34
+ "$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
35
+ },
36
+ "translations": {
37
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
38
+ "type": "object",
39
+ "patternProperties": {
40
+ "^[a-z]{2}-[A-Z]{2}$": {
41
+ "$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
42
+ }
43
+ },
44
+ "minProperties": 1,
45
+ "additionalProperties": false
46
+ }
47
+ },
48
+ "required": [
49
+ "cost",
50
+ "weight",
51
+ "structure_points",
52
+ "burning_time",
53
+ "src",
54
+ "translations"
55
+ ],
56
+ "additionalProperties": false
57
+ },
58
+ "BurningTime": {
59
+ "oneOf": [
60
+ {
61
+ "type": "object",
62
+ "properties": {
63
+ "tag": {
64
+ "const": "Unlimited"
65
+ },
66
+ "unlimited": {
67
+ "type": "object",
68
+ "properties": {},
69
+ "required": [],
70
+ "additionalProperties": false
71
+ }
72
+ },
73
+ "required": [
74
+ "tag",
75
+ "unlimited"
76
+ ],
77
+ "additionalProperties": false
78
+ },
79
+ {
80
+ "type": "object",
81
+ "properties": {
82
+ "tag": {
83
+ "const": "Limited"
84
+ },
85
+ "limited": {
86
+ "$ref": "#/$defs/LimitedBurningTime"
87
+ }
88
+ },
89
+ "required": [
90
+ "tag",
91
+ "limited"
92
+ ],
93
+ "additionalProperties": false
94
+ }
95
+ ]
96
+ },
97
+ "LimitedBurningTime": {
98
+ "type": "object",
99
+ "properties": {
100
+ "value": {
101
+ "description": "The (unitless) time value.",
102
+ "type": "number",
103
+ "exclusiveMinimum": 0
104
+ },
105
+ "unit": {
106
+ "description": "The time unit.",
107
+ "$ref": "#/$defs/LimitedBurningTimeUnit"
108
+ }
109
+ },
110
+ "required": [
111
+ "value",
112
+ "unit"
113
+ ],
114
+ "additionalProperties": false
115
+ },
116
+ "LimitedBurningTimeUnit": {
117
+ "enum": [
118
+ "Hours"
119
+ ]
120
+ }
121
+ }
122
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2019-09/schema",
3
+ "$id": "/equipment/item/IlluminationRefillsOrSupplies.schema.json",
4
+ "$ref": "#/$defs/IlluminationRefillsOrSupplies",
5
+ "$defs": {
6
+ "IlluminationRefillsOrSupplies": {
7
+ "$ref": "./_Item.schema.json#/$defs/DefaultItem"
8
+ }
9
+ }
10
+ }
@@ -4,7 +4,50 @@
4
4
  "$ref": "#/$defs/LuxuryGood",
5
5
  "$defs": {
6
6
  "LuxuryGood": {
7
- "$ref": "./_Item.schema.json#/$defs/DefaultItem"
7
+ "type": "object",
8
+ "properties": {
9
+ "cost": {
10
+ "description": "The cost in silverthalers.",
11
+ "$ref": "./_Item.schema.json#/$defs/Cost"
12
+ },
13
+ "weight": {
14
+ "description": "The weight in kg.",
15
+ "$ref": "./_Item.schema.json#/$defs/Weight"
16
+ },
17
+ "complexity": {
18
+ "description": "The complexity of crafting the item.",
19
+ "$ref": "./_Item.schema.json#/$defs/Complexity"
20
+ },
21
+ "structure_points": {
22
+ "description": "The structure points of the item. Use an array if the item consists of\nmultiple components that have individual structure points.",
23
+ "$ref": "./_Item.schema.json#/$defs/StructurePoints"
24
+ },
25
+ "combat_use": {
26
+ "description": "The item can also be used either as an improvised weapon or as an armor,\nalthough this is not the primary use case of the item.",
27
+ "$ref": "./_Item.schema.json#/$defs/CombatUse"
28
+ },
29
+ "src": {
30
+ "$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
31
+ },
32
+ "translations": {
33
+ "description": "All translations for the entry, identified by IETF language tag (BCP47).",
34
+ "type": "object",
35
+ "patternProperties": {
36
+ "^[a-z]{2}-[A-Z]{2}$": {
37
+ "$ref": "./_Item.schema.json#/$defs/DefaultItemTranslation"
38
+ }
39
+ },
40
+ "minProperties": 1,
41
+ "additionalProperties": false
42
+ }
43
+ },
44
+ "required": [
45
+ "cost",
46
+ "weight",
47
+ "src",
48
+ "translations"
49
+ ],
50
+ "additionalProperties": false
8
51
  }
9
52
  }
10
53
  }
@@ -10,13 +10,9 @@
10
10
  "description": "The cost in silverthalers.",
11
11
  "$ref": "./_Item.schema.json#/$defs/Cost"
12
12
  },
13
- "complexity": {
14
- "description": "The complexity of crafting the item.",
15
- "$ref": "./_Item.schema.json#/$defs/Complexity"
16
- },
17
- "structure_points": {
18
- "description": "The structure points of the item. Use an array if the item consists of\nmultiple components that have individual structure points.",
19
- "$ref": "./_Item.schema.json#/$defs/StructurePoints"
13
+ "weight": {
14
+ "description": "The weight in kg.",
15
+ "$ref": "./_Item.schema.json#/$defs/Weight"
20
16
  },
21
17
  "src": {
22
18
  "$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
@@ -35,8 +31,7 @@
35
31
  },
36
32
  "required": [
37
33
  "cost",
38
- "complexity",
39
- "structure_points",
34
+ "weight",
40
35
  "src",
41
36
  "translations"
42
37
  ],
@@ -78,10 +78,17 @@
78
78
  "properties": {
79
79
  "tag": {
80
80
  "const": "QualityLevel"
81
+ },
82
+ "quality_level": {
83
+ "type": "object",
84
+ "properties": {},
85
+ "required": [],
86
+ "additionalProperties": false
81
87
  }
82
88
  },
83
89
  "required": [
84
- "tag"
90
+ "tag",
91
+ "quality_level"
85
92
  ],
86
93
  "additionalProperties": false
87
94
  },
@@ -117,55 +124,11 @@
117
124
  "additionalProperties": false
118
125
  },
119
126
  "PoisonApplicationType": {
120
- "oneOf": [
121
- {
122
- "type": "object",
123
- "properties": {
124
- "tag": {
125
- "const": "Weapon"
126
- }
127
- },
128
- "required": [
129
- "tag"
130
- ],
131
- "additionalProperties": false
132
- },
133
- {
134
- "type": "object",
135
- "properties": {
136
- "tag": {
137
- "const": "Ingestion"
138
- }
139
- },
140
- "required": [
141
- "tag"
142
- ],
143
- "additionalProperties": false
144
- },
145
- {
146
- "type": "object",
147
- "properties": {
148
- "tag": {
149
- "const": "Inhalation"
150
- }
151
- },
152
- "required": [
153
- "tag"
154
- ],
155
- "additionalProperties": false
156
- },
157
- {
158
- "type": "object",
159
- "properties": {
160
- "tag": {
161
- "const": "Contact"
162
- }
163
- },
164
- "required": [
165
- "tag"
166
- ],
167
- "additionalProperties": false
168
- }
127
+ "enum": [
128
+ "Weapon",
129
+ "Ingestion",
130
+ "Inhalation",
131
+ "Contact"
169
132
  ]
170
133
  },
171
134
  "PoisonSourceType": {
@@ -175,10 +138,17 @@
175
138
  "properties": {
176
139
  "tag": {
177
140
  "const": "AnimalVenom"
141
+ },
142
+ "animal_venom": {
143
+ "type": "object",
144
+ "properties": {},
145
+ "required": [],
146
+ "additionalProperties": false
178
147
  }
179
148
  },
180
149
  "required": [
181
- "tag"
150
+ "tag",
151
+ "animal_venom"
182
152
  ],
183
153
  "additionalProperties": false
184
154
  },
@@ -187,10 +157,17 @@
187
157
  "properties": {
188
158
  "tag": {
189
159
  "const": "AlchemicalPoison"
160
+ },
161
+ "alchemical_poison": {
162
+ "type": "object",
163
+ "properties": {},
164
+ "required": [],
165
+ "additionalProperties": false
190
166
  }
191
167
  },
192
168
  "required": [
193
- "tag"
169
+ "tag",
170
+ "alchemical_poison"
194
171
  ],
195
172
  "additionalProperties": false
196
173
  },
@@ -199,10 +176,17 @@
199
176
  "properties": {
200
177
  "tag": {
201
178
  "const": "MineralPoison"
179
+ },
180
+ "mineral_poison": {
181
+ "type": "object",
182
+ "properties": {},
183
+ "required": [],
184
+ "additionalProperties": false
202
185
  }
203
186
  },
204
187
  "required": [
205
- "tag"
188
+ "tag",
189
+ "mineral_poison"
206
190
  ],
207
191
  "additionalProperties": false
208
192
  },
@@ -244,10 +228,17 @@
244
228
  "properties": {
245
229
  "tag": {
246
230
  "const": "Default"
231
+ },
232
+ "default": {
233
+ "type": "object",
234
+ "properties": {},
235
+ "required": [],
236
+ "additionalProperties": false
247
237
  }
248
238
  },
249
239
  "required": [
250
- "tag"
240
+ "tag",
241
+ "default"
251
242
  ],
252
243
  "additionalProperties": false
253
244
  },
@@ -44,7 +44,6 @@
44
44
  "required": [
45
45
  "cost",
46
46
  "weight",
47
- "structure_points",
48
47
  "is_laboratory",
49
48
  "src",
50
49
  "translations"
@@ -99,7 +99,7 @@
99
99
  ],
100
100
  "additionalProperties": false
101
101
  },
102
- "ImprovisedWeapon": {
102
+ "SecondaryWeapon": {
103
103
  "type": "object",
104
104
  "properties": {
105
105
  "uses": {