optolith-database-schema 0.39.0 → 0.41.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 (270) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +1 -1
  3. package/gen/types.d.ts +1712 -1606
  4. package/lib/types/DerivedCharacteristic.d.ts +23 -14
  5. package/lib/types/DerivedCharacteristic.js +58 -21
  6. package/lib/types/Disease.d.ts +2 -0
  7. package/lib/types/Disease.js +8 -0
  8. package/lib/types/Locale.d.ts +7 -0
  9. package/lib/types/Locale.js +7 -0
  10. package/lib/types/Profession.d.ts +31 -14
  11. package/lib/types/Profession.js +12 -2
  12. package/lib/types/Race.d.ts +22 -15
  13. package/lib/types/Race.js +26 -20
  14. package/lib/types/Talisman.d.ts +32 -6
  15. package/lib/types/Talisman.js +51 -11
  16. package/lib/types/_Identifier.d.ts +1 -0
  17. package/lib/types/_Identifier.js +2 -0
  18. package/lib/types/_IdentifierGroup.d.ts +58 -0
  19. package/lib/types/_IdentifierGroup.js +15 -1
  20. package/lib/types/equipment/item/BandageOrRemedy.d.ts +5 -2
  21. package/lib/types/equipment/item/CeremonialItem.d.ts +6 -3
  22. package/lib/types/equipment/item/CeremonialItem.js +1 -1
  23. package/lib/types/equipment/item/Clothes.d.ts +5 -2
  24. package/lib/types/equipment/item/Container.d.ts +5 -2
  25. package/lib/types/equipment/item/Elixir.d.ts +16 -1
  26. package/lib/types/equipment/item/Elixir.js +35 -5
  27. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +5 -2
  28. package/lib/types/equipment/item/IlluminationLightSource.d.ts +5 -2
  29. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +5 -2
  30. package/lib/types/equipment/item/Liebesspielzeug.d.ts +5 -2
  31. package/lib/types/equipment/item/LuxuryGood.d.ts +5 -2
  32. package/lib/types/equipment/item/MagicalArtifact.d.ts +5 -2
  33. package/lib/types/equipment/item/MusicalInstrument.d.ts +5 -2
  34. package/lib/types/equipment/item/OrienteeringAid.d.ts +5 -2
  35. package/lib/types/equipment/item/Poison.d.ts +64 -91
  36. package/lib/types/equipment/item/Poison.js +5 -34
  37. package/lib/types/equipment/item/RopeOrChain.d.ts +5 -2
  38. package/lib/types/equipment/item/Stationery.d.ts +5 -2
  39. package/lib/types/equipment/item/ThievesTool.d.ts +5 -2
  40. package/lib/types/equipment/item/TravelGearOrTool.d.ts +5 -2
  41. package/lib/types/equipment/item/Weapon.d.ts +10 -4
  42. package/lib/types/equipment/item/WeaponAccessory.d.ts +5 -2
  43. package/lib/types/equipment/item/_Herbary.d.ts +31 -0
  44. package/lib/types/equipment/item/_Herbary.js +9 -0
  45. package/lib/types/equipment/item/_Item.d.ts +10 -4
  46. package/lib/types/equipment/item/_MeleeWeapon.d.ts +2 -2
  47. package/lib/types/equipment/item/_MeleeWeapon.js +1 -1
  48. package/lib/types/equipment/item/_RangedWeapon.d.ts +8 -2
  49. package/lib/types/equipment/item/_RangedWeapon.js +2 -2
  50. package/lib/types/equipment/item/sub/Reach.d.ts +1 -0
  51. package/lib/types/equipment/item/sub/Reach.js +7 -0
  52. package/lib/types/magicalActions/MagicalMelody.d.ts +15 -0
  53. package/lib/types/magicalActions/MagicalMelody.js +5 -0
  54. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +132 -0
  55. package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
  56. package/package.json +7 -7
  57. package/schema/Advantage.schema.json +0 -108
  58. package/schema/AnimalDisease.schema.json +0 -74
  59. package/schema/AnimalType.schema.json +0 -47
  60. package/schema/ArcaneBardTradition.schema.json +0 -11
  61. package/schema/ArcaneDancerTradition.schema.json +0 -11
  62. package/schema/Aspect.schema.json +0 -51
  63. package/schema/Attribute.schema.json +0 -57
  64. package/schema/Blessing.schema.json +0 -265
  65. package/schema/Cantrip.schema.json +0 -443
  66. package/schema/Ceremony.schema.json +0 -122
  67. package/schema/CombatTechnique_Close.schema.json +0 -116
  68. package/schema/CombatTechnique_Ranged.schema.json +0 -99
  69. package/schema/Condition.schema.json +0 -68
  70. package/schema/Continent.schema.json +0 -49
  71. package/schema/Culture.schema.json +0 -781
  72. package/schema/DerivedCharacteristic.schema.json +0 -90
  73. package/schema/Disadvantage.schema.json +0 -97
  74. package/schema/Disease.schema.json +0 -58
  75. package/schema/Element.schema.json +0 -48
  76. package/schema/ExperienceLevel.schema.json +0 -84
  77. package/schema/EyeColor.schema.json +0 -47
  78. package/schema/FamiliarsTrick.schema.json +0 -576
  79. package/schema/HairColor.schema.json +0 -47
  80. package/schema/Kirchenpraegung.schema.json +0 -11
  81. package/schema/Lessons_Curriculum.schema.json +0 -499
  82. package/schema/Lessons_Guideline.schema.json +0 -53
  83. package/schema/LiturgicalChant.schema.json +0 -122
  84. package/schema/Locale.schema.json +0 -38
  85. package/schema/MetaCondition.schema.json +0 -69
  86. package/schema/PactCategory.schema.json +0 -150
  87. package/schema/Patron.schema.json +0 -352
  88. package/schema/PatronCategory.schema.json +0 -57
  89. package/schema/PersonalityTrait.schema.json +0 -100
  90. package/schema/Profession.schema.json +0 -1424
  91. package/schema/Property.schema.json +0 -51
  92. package/schema/Race.schema.json +0 -534
  93. package/schema/Region.schema.json +0 -47
  94. package/schema/Ritual.schema.json +0 -120
  95. package/schema/Service.schema.json +0 -79
  96. package/schema/SexPractice.schema.json +0 -70
  97. package/schema/Skill.schema.json +0 -223
  98. package/schema/SkillGroup.schema.json +0 -57
  99. package/schema/SkillModificationLevel.schema.json +0 -153
  100. package/schema/SocialStatus.schema.json +0 -47
  101. package/schema/Spell.schema.json +0 -119
  102. package/schema/State.schema.json +0 -59
  103. package/schema/Talisman.schema.json +0 -120
  104. package/schema/TargetCategory.schema.json +0 -65
  105. package/schema/UI.schema.json +0 -4441
  106. package/schema/_Activatable.schema.json +0 -2755
  107. package/schema/_ActivatableSelectOptionCategory.schema.json +0 -1313
  108. package/schema/_ActivatableSkill.schema.json +0 -188
  109. package/schema/_ActivatableSkillCastingTime.schema.json +0 -181
  110. package/schema/_ActivatableSkillCheckResultBased.schema.json +0 -65
  111. package/schema/_ActivatableSkillCost.schema.json +0 -513
  112. package/schema/_ActivatableSkillDuration.schema.json +0 -353
  113. package/schema/_ActivatableSkillEffect.schema.json +0 -122
  114. package/schema/_ActivatableSkillRange.schema.json +0 -264
  115. package/schema/_ActivatableSkillTargetCategory.schema.json +0 -145
  116. package/schema/_AlternativeNames.schema.json +0 -23
  117. package/schema/_ArcaneTradition.schema.json +0 -51
  118. package/schema/_Blessed.schema.json +0 -64
  119. package/schema/_Dice.schema.json +0 -40
  120. package/schema/_DiseasePoison.schema.json +0 -152
  121. package/schema/_Enhancements.schema.json +0 -85
  122. package/schema/_I18n.schema.json +0 -55
  123. package/schema/_Identifier.schema.json +0 -2577
  124. package/schema/_IdentifierGroup.schema.json +0 -753
  125. package/schema/_ImprovementCost.schema.json +0 -23
  126. package/schema/_Influence.schema.json +0 -84
  127. package/schema/_NonEmptyString.schema.json +0 -14
  128. package/schema/_Prerequisite.schema.json +0 -1518
  129. package/schema/_ResponsiveText.schema.json +0 -66
  130. package/schema/_Sex.schema.json +0 -18
  131. package/schema/_SimpleReferences.schema.json +0 -522
  132. package/schema/_SkillCheck.schema.json +0 -38
  133. package/schema/_Spellwork.schema.json +0 -54
  134. package/schema/equipment/EquipmentPackage.schema.json +0 -79
  135. package/schema/equipment/item/Ammunition.schema.json +0 -56
  136. package/schema/equipment/item/Animal.schema.json +0 -36
  137. package/schema/equipment/item/AnimalCare.schema.json +0 -124
  138. package/schema/equipment/item/Armor.schema.json +0 -309
  139. package/schema/equipment/item/BandageOrRemedy.schema.json +0 -53
  140. package/schema/equipment/item/Book.schema.json +0 -89
  141. package/schema/equipment/item/CeremonialItem.schema.json +0 -59
  142. package/schema/equipment/item/Clothes.schema.json +0 -10
  143. package/schema/equipment/item/Container.schema.json +0 -10
  144. package/schema/equipment/item/Elixir.schema.json +0 -103
  145. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +0 -49
  146. package/schema/equipment/item/GemOrPreciousStone.schema.json +0 -69
  147. package/schema/equipment/item/IlluminationLightSource.schema.json +0 -120
  148. package/schema/equipment/item/IlluminationRefillsOrSupplies.schema.json +0 -10
  149. package/schema/equipment/item/Jewelry.schema.json +0 -113
  150. package/schema/equipment/item/Liebesspielzeug.schema.json +0 -10
  151. package/schema/equipment/item/LuxuryGood.schema.json +0 -53
  152. package/schema/equipment/item/MagicalArtifact.schema.json +0 -64
  153. package/schema/equipment/item/MusicalInstrument.schema.json +0 -49
  154. package/schema/equipment/item/OrienteeringAid.schema.json +0 -10
  155. package/schema/equipment/item/Poison.schema.json +0 -835
  156. package/schema/equipment/item/RopeOrChain.schema.json +0 -10
  157. package/schema/equipment/item/Stationary.schema.json +0 -10
  158. package/schema/equipment/item/ThievesTool.schema.json +0 -10
  159. package/schema/equipment/item/ToolOfTheTrade.schema.json +0 -93
  160. package/schema/equipment/item/TravelGearOrTool.schema.json +0 -10
  161. package/schema/equipment/item/Vehicle.schema.json +0 -36
  162. package/schema/equipment/item/Weapon.schema.json +0 -285
  163. package/schema/equipment/item/WeaponAccessory.schema.json +0 -10
  164. package/schema/equipment/item/_Herbary.schema.json +0 -62
  165. package/schema/equipment/item/_Item.schema.json +0 -384
  166. package/schema/equipment/item/_MeleeWeapon.schema.json +0 -164
  167. package/schema/equipment/item/_RangedWeapon.schema.json +0 -185
  168. package/schema/equipment/item/_Weapon.schema.json +0 -99
  169. package/schema/equipment/item/sub/ArmorType.schema.json +0 -52
  170. package/schema/equipment/item/sub/Reach.schema.json +0 -47
  171. package/schema/magicalActions/AnimistPower.schema.json +0 -488
  172. package/schema/magicalActions/AnimistPower_Tribe.schema.json +0 -47
  173. package/schema/magicalActions/Curse.schema.json +0 -332
  174. package/schema/magicalActions/DominationRitual.schema.json +0 -275
  175. package/schema/magicalActions/ElvenMagicalSong.schema.json +0 -196
  176. package/schema/magicalActions/GeodeRitual.schema.json +0 -327
  177. package/schema/magicalActions/JesterTrick.schema.json +0 -311
  178. package/schema/magicalActions/MagicalDance.schema.json +0 -198
  179. package/schema/magicalActions/MagicalMelody.schema.json +0 -193
  180. package/schema/magicalActions/MagicalRune.schema.json +0 -578
  181. package/schema/magicalActions/ZibiljaRitual.schema.json +0 -165
  182. package/schema/magicalActions/_MusicTradition.schema.json +0 -82
  183. package/schema/magicalActions/_SkillReference.schema.json +0 -20
  184. package/schema/prerequisites/ConditionalPrerequisites.schema.json +0 -15
  185. package/schema/prerequisites/DisplayOption.schema.json +0 -70
  186. package/schema/prerequisites/PrerequisiteGroups.schema.json +0 -1029
  187. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +0 -45
  188. package/schema/prerequisites/single/AncestorBloodPrerequisite.schema.json +0 -14
  189. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +0 -36
  190. package/schema/prerequisites/single/CulturePrerequisite.schema.json +0 -24
  191. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +0 -61
  192. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +0 -28
  193. package/schema/prerequisites/single/PactPrerequisite.schema.json +0 -36
  194. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +0 -39
  195. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +0 -22
  196. package/schema/prerequisites/single/RacePrerequisite.schema.json +0 -28
  197. package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +0 -172
  198. package/schema/prerequisites/single/RatedPrerequisite.schema.json +0 -29
  199. package/schema/prerequisites/single/RatedSumPrerequisite.schema.json +0 -33
  200. package/schema/prerequisites/single/RulePrerequisite.schema.json +0 -22
  201. package/schema/prerequisites/single/SexPrerequisite.schema.json +0 -23
  202. package/schema/prerequisites/single/SexualCharacteristicPrerequisite.schema.json +0 -30
  203. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +0 -24
  204. package/schema/prerequisites/single/StatePrerequisite.schema.json +0 -23
  205. package/schema/prerequisites/single/TextPrerequisite.schema.json +0 -64
  206. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +0 -58
  207. package/schema/rule/CoreRule.schema.json +0 -1403
  208. package/schema/rule/FocusRule.schema.json +0 -76
  209. package/schema/rule/FocusRule_Subject.schema.json +0 -48
  210. package/schema/rule/OptionalRule.schema.json +0 -64
  211. package/schema/source/Publication.schema.json +0 -103
  212. package/schema/source/_Erratum.schema.json +0 -36
  213. package/schema/source/_PublicationRef.schema.json +0 -285
  214. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +0 -102
  215. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +0 -80
  216. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +0 -80
  217. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +0 -80
  218. package/schema/specialAbility/AncestorGlyph.schema.json +0 -80
  219. package/schema/specialAbility/BlessedTradition.schema.json +0 -354
  220. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +0 -82
  221. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +0 -87
  222. package/schema/specialAbility/CombatSpecialAbility.schema.json +0 -98
  223. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +0 -273
  224. package/schema/specialAbility/CommandSpecialAbility.schema.json +0 -82
  225. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +0 -74
  226. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +0 -74
  227. package/schema/specialAbility/FatePointSpecialAbility.schema.json +0 -84
  228. package/schema/specialAbility/GeneralSpecialAbility.schema.json +0 -88
  229. package/schema/specialAbility/KarmaSpecialAbility.schema.json +0 -78
  230. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +0 -260
  231. package/schema/specialAbility/LycantropicGift.schema.json +0 -74
  232. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +0 -260
  233. package/schema/specialAbility/MagicalSign.schema.json +0 -72
  234. package/schema/specialAbility/MagicalSpecialAbility.schema.json +0 -88
  235. package/schema/specialAbility/MagicalTradition.schema.json +0 -163
  236. package/schema/specialAbility/PactGift.schema.json +0 -254
  237. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +0 -86
  238. package/schema/specialAbility/Sermon.schema.json +0 -74
  239. package/schema/specialAbility/SexSpecialAbility.schema.json +0 -80
  240. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +0 -78
  241. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +0 -254
  242. package/schema/specialAbility/VampiricGift.schema.json +0 -78
  243. package/schema/specialAbility/Vision.schema.json +0 -74
  244. package/schema/specialAbility/_Tradition.schema.json +0 -23
  245. package/schema/specialAbility/sub/Language.schema.json +0 -222
  246. package/schema/specialAbility/sub/Script.schema.json +0 -90
  247. package/schema/specialAbility/sub/TradeSecret.schema.json +0 -72
  248. package/schema/specialAbility/sub/_LanguageScript.schema.json +0 -24
  249. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +0 -95
  250. package/schema/traditionArtifacts/AttireEnchantment.schema.json +0 -95
  251. package/schema/traditionArtifacts/BowlEnchantment.schema.json +0 -95
  252. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +0 -115
  253. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +0 -95
  254. package/schema/traditionArtifacts/DaggerRitual.schema.json +0 -176
  255. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +0 -95
  256. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +0 -95
  257. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +0 -95
  258. package/schema/traditionArtifacts/OrbEnchantment.schema.json +0 -95
  259. package/schema/traditionArtifacts/RingEnchantment.schema.json +0 -95
  260. package/schema/traditionArtifacts/SickleRitual.schema.json +0 -95
  261. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +0 -99
  262. package/schema/traditionArtifacts/StaffEnchantment.schema.json +0 -103
  263. package/schema/traditionArtifacts/ToyEnchantment.schema.json +0 -95
  264. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +0 -95
  265. package/schema/traditionArtifacts/WandEnchantment.schema.json +0 -87
  266. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +0 -95
  267. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +0 -85
  268. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +0 -47
  269. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +0 -59
  270. package/schema/traditionArtifacts/sub/Brew.schema.json +0 -47
@@ -1,835 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/equipment/item/Poison.schema.json",
4
- "$ref": "#/$defs/Poison",
5
- "$defs": {
6
- "Poison": {
7
- "title": "Poison",
8
- "type": "object",
9
- "properties": {
10
- "id": {
11
- "description": "The poison's identifier. An unique, increasing integer.",
12
- "type": "integer",
13
- "minimum": 1
14
- },
15
- "application_type": {
16
- "description": "The poison's application type(s).",
17
- "type": "array",
18
- "items": {
19
- "$ref": "#/$defs/PoisonApplicationType"
20
- },
21
- "minItems": 1,
22
- "uniqueItems": true
23
- },
24
- "source_type": {
25
- "description": "The poison's source type and dependent additional values.",
26
- "$ref": "#/$defs/PoisonSourceType"
27
- },
28
- "resistance": {
29
- "description": "Use Spirit or Toughness as a modifier for the poison.",
30
- "$ref": "../../_DiseasePoison.schema.json#/$defs/Resistance"
31
- },
32
- "start": {
33
- "description": "When the poison takes effect.",
34
- "$ref": "#/$defs/PoisonStart"
35
- },
36
- "duration": {
37
- "description": "An effect or other parameter that may be reduced by a failed disease check for lessening or a degraded poison.\n\nThis streamlines the wording for diseases and poison by using a unified wording for *lessened* (disease) and *degraded* (poison).",
38
- "type": "object",
39
- "properties": {
40
- "default": {
41
- "$ref": "#/$defs/PoisonDuration"
42
- },
43
- "reduced": {
44
- "$ref": "#/$defs/PoisonDuration"
45
- }
46
- },
47
- "required": [
48
- "default"
49
- ],
50
- "additionalProperties": false
51
- },
52
- "value": {
53
- "description": "The raw (ingredients) value, in silverthalers.",
54
- "type": "integer",
55
- "minimum": 1
56
- },
57
- "cost": {
58
- "description": "Price for one dose, in silverthalers.",
59
- "type": "integer",
60
- "minimum": 1
61
- },
62
- "src": {
63
- "$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
64
- },
65
- "translations": {
66
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
67
- "type": "object",
68
- "patternProperties": {
69
- "^[a-z]{2}-[A-Z]{2}$": {
70
- "$ref": "#/$defs/PoisonTranslation"
71
- }
72
- },
73
- "minProperties": 1,
74
- "additionalProperties": false
75
- }
76
- },
77
- "required": [
78
- "id",
79
- "application_type",
80
- "source_type",
81
- "resistance",
82
- "start",
83
- "duration",
84
- "value",
85
- "cost",
86
- "src",
87
- "translations"
88
- ],
89
- "additionalProperties": false
90
- },
91
- "PoisonApplicationType": {
92
- "oneOf": [
93
- {
94
- "const": "Weapon"
95
- },
96
- {
97
- "const": "Ingestion"
98
- },
99
- {
100
- "const": "Inhalation"
101
- },
102
- {
103
- "const": "Contact"
104
- }
105
- ]
106
- },
107
- "PoisonStart": {
108
- "oneOf": [
109
- {
110
- "type": "object",
111
- "properties": {
112
- "tag": {
113
- "const": "Immediate"
114
- },
115
- "immediate": {
116
- "type": "object",
117
- "properties": {},
118
- "required": [],
119
- "additionalProperties": false
120
- }
121
- },
122
- "required": [
123
- "tag",
124
- "immediate"
125
- ],
126
- "additionalProperties": false
127
- },
128
- {
129
- "type": "object",
130
- "properties": {
131
- "tag": {
132
- "const": "Constant"
133
- },
134
- "constant": {
135
- "$ref": "#/$defs/ConstantPoisonTime"
136
- }
137
- },
138
- "required": [
139
- "tag",
140
- "constant"
141
- ],
142
- "additionalProperties": false
143
- },
144
- {
145
- "type": "object",
146
- "properties": {
147
- "tag": {
148
- "const": "DiceBased"
149
- },
150
- "dice_based": {
151
- "$ref": "#/$defs/DiceBasedPoisonTime"
152
- }
153
- },
154
- "required": [
155
- "tag",
156
- "dice_based"
157
- ],
158
- "additionalProperties": false
159
- }
160
- ]
161
- },
162
- "PoisonDuration": {
163
- "oneOf": [
164
- {
165
- "type": "object",
166
- "properties": {
167
- "tag": {
168
- "const": "Instant"
169
- },
170
- "instant": {
171
- "type": "object",
172
- "properties": {},
173
- "required": [],
174
- "additionalProperties": false
175
- }
176
- },
177
- "required": [
178
- "tag",
179
- "instant"
180
- ],
181
- "additionalProperties": false
182
- },
183
- {
184
- "type": "object",
185
- "properties": {
186
- "tag": {
187
- "const": "Constant"
188
- },
189
- "constant": {
190
- "$ref": "#/$defs/ConstantPoisonTime"
191
- }
192
- },
193
- "required": [
194
- "tag",
195
- "constant"
196
- ],
197
- "additionalProperties": false
198
- },
199
- {
200
- "type": "object",
201
- "properties": {
202
- "tag": {
203
- "const": "DiceBased"
204
- },
205
- "dice_based": {
206
- "$ref": "#/$defs/DiceBasedPoisonTime"
207
- }
208
- },
209
- "required": [
210
- "tag",
211
- "dice_based"
212
- ],
213
- "additionalProperties": false
214
- },
215
- {
216
- "type": "object",
217
- "properties": {
218
- "tag": {
219
- "const": "Indefinite"
220
- },
221
- "indefinite": {
222
- "$ref": "#/$defs/IndefinitePoisonTime"
223
- }
224
- },
225
- "required": [
226
- "tag",
227
- "indefinite"
228
- ],
229
- "additionalProperties": false
230
- }
231
- ]
232
- },
233
- "ConstantPoisonTime": {
234
- "type": "object",
235
- "properties": {
236
- "value": {
237
- "type": "number"
238
- },
239
- "unit": {
240
- "$ref": "#/$defs/PoisonTimeUnit"
241
- }
242
- },
243
- "required": [
244
- "value",
245
- "unit"
246
- ],
247
- "additionalProperties": false
248
- },
249
- "DiceBasedPoisonTime": {
250
- "type": "object",
251
- "properties": {
252
- "dice": {
253
- "$ref": "../../_Dice.schema.json#/$defs/Dice"
254
- },
255
- "unit": {
256
- "$ref": "#/$defs/PoisonTimeUnit"
257
- }
258
- },
259
- "required": [
260
- "dice",
261
- "unit"
262
- ],
263
- "additionalProperties": false
264
- },
265
- "PoisonTimeUnit": {
266
- "oneOf": [
267
- {
268
- "const": "CombatRounds"
269
- },
270
- {
271
- "const": "Minutes"
272
- },
273
- {
274
- "const": "Hours"
275
- },
276
- {
277
- "const": "Days"
278
- }
279
- ]
280
- },
281
- "IndefinitePoisonTime": {
282
- "type": "object",
283
- "properties": {
284
- "translations": {
285
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
286
- "type": "object",
287
- "patternProperties": {
288
- "^[a-z]{2}-[A-Z]{2}$": {
289
- "$ref": "#/$defs/IndefinitePoisonTimeTranslation"
290
- }
291
- },
292
- "minProperties": 1,
293
- "additionalProperties": false
294
- }
295
- },
296
- "required": [
297
- "translations"
298
- ],
299
- "additionalProperties": false
300
- },
301
- "IndefinitePoisonTimeTranslation": {
302
- "type": "object",
303
- "properties": {
304
- "description": {
305
- "description": "A description of the duration.",
306
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
307
- }
308
- },
309
- "required": [
310
- "description"
311
- ],
312
- "additionalProperties": false
313
- },
314
- "PoisonSourceType": {
315
- "oneOf": [
316
- {
317
- "type": "object",
318
- "properties": {
319
- "tag": {
320
- "const": "AnimalVenom"
321
- },
322
- "animal_venom": {
323
- "$ref": "#/$defs/AnimalVenom"
324
- }
325
- },
326
- "required": [
327
- "tag",
328
- "animal_venom"
329
- ],
330
- "additionalProperties": false
331
- },
332
- {
333
- "type": "object",
334
- "properties": {
335
- "tag": {
336
- "const": "AlchemicalPoison"
337
- },
338
- "alchemical_poison": {
339
- "$ref": "#/$defs/AlchemicalPoison"
340
- }
341
- },
342
- "required": [
343
- "tag",
344
- "alchemical_poison"
345
- ],
346
- "additionalProperties": false
347
- },
348
- {
349
- "type": "object",
350
- "properties": {
351
- "tag": {
352
- "const": "MineralPoison"
353
- },
354
- "mineral_poison": {
355
- "$ref": "#/$defs/MineralPoison"
356
- }
357
- },
358
- "required": [
359
- "tag",
360
- "mineral_poison"
361
- ],
362
- "additionalProperties": false
363
- },
364
- {
365
- "type": "object",
366
- "properties": {
367
- "tag": {
368
- "const": "PlantPoison"
369
- },
370
- "plant_poison": {
371
- "$ref": "#/$defs/PlantPoison"
372
- }
373
- },
374
- "required": [
375
- "tag",
376
- "plant_poison"
377
- ],
378
- "additionalProperties": false
379
- },
380
- {
381
- "type": "object",
382
- "properties": {
383
- "tag": {
384
- "const": "DemonicPoison"
385
- },
386
- "demonic_poison": {
387
- "$ref": "#/$defs/DemonicPoison"
388
- }
389
- },
390
- "required": [
391
- "tag",
392
- "demonic_poison"
393
- ],
394
- "additionalProperties": false
395
- }
396
- ]
397
- },
398
- "AnimalVenom": {
399
- "type": "object",
400
- "properties": {
401
- "level": {
402
- "description": "The poison’s level.",
403
- "type": "integer",
404
- "maximum": 6,
405
- "minimum": 1
406
- },
407
- "is_extractable": {
408
- "description": "If `false`, the poison cannot be extracted.",
409
- "const": false
410
- }
411
- },
412
- "required": [
413
- "level"
414
- ],
415
- "additionalProperties": false
416
- },
417
- "AlchemicalPoison": {
418
- "type": "object",
419
- "properties": {
420
- "effect_types": {
421
- "description": "Effect type(s) of an alchemical poison.",
422
- "type": "array",
423
- "items": {
424
- "$ref": "./_Herbary.schema.json#/$defs/EffectType"
425
- },
426
- "minItems": 1,
427
- "uniqueItems": true
428
- },
429
- "cost_per_ingredient_level": {
430
- "description": "The cost per ingredient level in silverthalers.",
431
- "type": "number"
432
- },
433
- "laboratory": {
434
- "description": "The laboratory level needed to brew the elixir.",
435
- "$ref": "./_Herbary.schema.json#/$defs/LaboratoryLevel"
436
- },
437
- "brewing_difficulty": {
438
- "description": "The brewing difficulty, which represents the challenge of creating an elixir.",
439
- "type": "integer"
440
- },
441
- "trade_secret": {
442
- "description": "AP value and prerequisites of the elixir recipe’s trade secret.",
443
- "$ref": "./_Herbary.schema.json#/$defs/RecipeTradeSecret"
444
- },
445
- "intoxicant": {
446
- "description": "Additional information if the poison is an intoxicant.",
447
- "$ref": "#/$defs/Intoxicant"
448
- },
449
- "translations": {
450
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
451
- "type": "object",
452
- "patternProperties": {
453
- "^[a-z]{2}-[A-Z]{2}$": {
454
- "$ref": "#/$defs/AlchemicalPoisonTranslation"
455
- }
456
- },
457
- "minProperties": 1,
458
- "additionalProperties": false
459
- }
460
- },
461
- "required": [
462
- "effect_types",
463
- "cost_per_ingredient_level",
464
- "laboratory",
465
- "brewing_difficulty",
466
- "trade_secret",
467
- "translations"
468
- ],
469
- "additionalProperties": false
470
- },
471
- "AlchemicalPoisonTranslation": {
472
- "type": "object",
473
- "properties": {
474
- "typical_ingredients": {
475
- "description": "A list of typical ingredients.",
476
- "type": "array",
477
- "items": {
478
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
479
- },
480
- "minItems": 1,
481
- "uniqueItems": true
482
- },
483
- "brewing_process_prerequisites": {
484
- "description": "Prerequsites for the brewing process, if any.",
485
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
486
- }
487
- },
488
- "required": [
489
- "typical_ingredients"
490
- ],
491
- "additionalProperties": false
492
- },
493
- "MineralPoison": {
494
- "type": "object",
495
- "properties": {
496
- "level": {
497
- "description": "The poison’s level.",
498
- "type": "integer",
499
- "maximum": 6,
500
- "minimum": 1
501
- }
502
- },
503
- "required": [
504
- "level"
505
- ],
506
- "additionalProperties": false
507
- },
508
- "PlantPoison": {
509
- "type": "object",
510
- "properties": {
511
- "effect_types": {
512
- "description": "Effect type(s) of a plant poison.",
513
- "type": "array",
514
- "items": {
515
- "$ref": "./_Herbary.schema.json#/$defs/EffectType"
516
- },
517
- "minItems": 1,
518
- "uniqueItems": true
519
- },
520
- "level": {
521
- "description": "The poison’s level.",
522
- "type": "integer",
523
- "maximum": 6,
524
- "minimum": 1
525
- },
526
- "intoxicant": {
527
- "description": "Additional information if the poison is an intoxicant.",
528
- "$ref": "#/$defs/Intoxicant"
529
- }
530
- },
531
- "required": [
532
- "effect_types",
533
- "level"
534
- ],
535
- "additionalProperties": false
536
- },
537
- "DemonicPoison": {
538
- "type": "object",
539
- "properties": {
540
- "level": {
541
- "description": "The poison’s level.",
542
- "$ref": "#/$defs/DemonicPoisonLevel"
543
- },
544
- "translations": {
545
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
546
- "type": "object",
547
- "patternProperties": {
548
- "^[a-z]{2}-[A-Z]{2}$": {
549
- "$ref": "#/$defs/DemonicPoisonTranslation"
550
- }
551
- },
552
- "minProperties": 1,
553
- "additionalProperties": false
554
- }
555
- },
556
- "required": [
557
- "level"
558
- ],
559
- "additionalProperties": false
560
- },
561
- "DemonicPoisonLevel": {
562
- "oneOf": [
563
- {
564
- "type": "object",
565
- "properties": {
566
- "tag": {
567
- "const": "QualityLevel"
568
- },
569
- "quality_level": {
570
- "$ref": "#/$defs/QualityLevelDemonicPoisonLevel"
571
- }
572
- },
573
- "required": [
574
- "tag",
575
- "quality_level"
576
- ],
577
- "additionalProperties": false
578
- },
579
- {
580
- "type": "object",
581
- "properties": {
582
- "tag": {
583
- "const": "Constant"
584
- },
585
- "constant": {
586
- "$ref": "#/$defs/ConstantDemonicPoisonLevel"
587
- }
588
- },
589
- "required": [
590
- "tag",
591
- "constant"
592
- ],
593
- "additionalProperties": false
594
- }
595
- ]
596
- },
597
- "QualityLevelDemonicPoisonLevel": {
598
- "type": "object",
599
- "properties": {
600
- "source": {
601
- "$ref": "#/$defs/QualityLevelDemonicPoisonLevelSource"
602
- }
603
- },
604
- "required": [
605
- "source"
606
- ],
607
- "additionalProperties": false
608
- },
609
- "QualityLevelDemonicPoisonLevelSource": {
610
- "const": "Spellwork"
611
- },
612
- "ConstantDemonicPoisonLevel": {
613
- "type": "object",
614
- "properties": {
615
- "value": {
616
- "description": "The poison’s level.",
617
- "type": "integer",
618
- "maximum": 6,
619
- "minimum": 1
620
- }
621
- },
622
- "required": [
623
- "value"
624
- ],
625
- "additionalProperties": false
626
- },
627
- "DemonicPoisonTranslation": {
628
- "type": "object",
629
- "properties": {
630
- "note": {
631
- "description": "A note, if any.",
632
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
633
- }
634
- },
635
- "required": [],
636
- "minProperties": 1,
637
- "additionalProperties": false
638
- },
639
- "Intoxicant": {
640
- "type": "object",
641
- "properties": {
642
- "legality": {
643
- "description": "Whether the use of the intoxicant is legal or not, usually from the perspective of most middle-Aventurian an northern-Aventurian nations.",
644
- "$ref": "#/$defs/IntoxicantLegality"
645
- },
646
- "addiction": {
647
- "description": "The chance of getting addicted after an ingestion in addition to the maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
648
- "$ref": "#/$defs/IntoxicantAddiction"
649
- },
650
- "translations": {
651
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
652
- "type": "object",
653
- "patternProperties": {
654
- "^[a-z]{2}-[A-Z]{2}$": {
655
- "$ref": "#/$defs/IntoxicantTranslation"
656
- }
657
- },
658
- "minProperties": 1,
659
- "additionalProperties": false
660
- }
661
- },
662
- "required": [
663
- "legality",
664
- "translations"
665
- ],
666
- "additionalProperties": false
667
- },
668
- "IntoxicantLegality": {
669
- "description": "Whether the use of the intoxicant is legal or not, usually from the perspective of most middle-Aventurian an northern-Aventurian nations.",
670
- "type": "object",
671
- "properties": {
672
- "is_legal": {
673
- "type": "boolean"
674
- }
675
- },
676
- "required": [
677
- "is_legal"
678
- ],
679
- "additionalProperties": false
680
- },
681
- "IntoxicantAddiction": {
682
- "description": "The chance of getting addicted after an ingestion in addition to the maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
683
- "type": "object",
684
- "properties": {
685
- "chance": {
686
- "description": "The chance of getting addicted after an ingestion.",
687
- "type": "number"
688
- },
689
- "interval": {
690
- "description": "The maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
691
- "$ref": "#/$defs/IntoxicantAddictionInterval"
692
- }
693
- },
694
- "required": [
695
- "chance",
696
- "interval"
697
- ],
698
- "additionalProperties": false
699
- },
700
- "IntoxicantAddictionInterval": {
701
- "description": "The maximum interval at which it, while addicted, must be ingested to not suffer from withdrawal symptoms.",
702
- "oneOf": [
703
- {
704
- "type": "object",
705
- "properties": {
706
- "tag": {
707
- "const": "Constant"
708
- },
709
- "constant": {
710
- "$ref": "#/$defs/ConstantIntoxicantAddictionInterval"
711
- }
712
- },
713
- "required": [
714
- "tag",
715
- "constant"
716
- ],
717
- "additionalProperties": false
718
- },
719
- {
720
- "type": "object",
721
- "properties": {
722
- "tag": {
723
- "const": "DiceBased"
724
- },
725
- "dice_based": {
726
- "$ref": "#/$defs/DiceBasedIntoxicantAddictionInterval"
727
- }
728
- },
729
- "required": [
730
- "tag",
731
- "dice_based"
732
- ],
733
- "additionalProperties": false
734
- }
735
- ]
736
- },
737
- "ConstantIntoxicantAddictionInterval": {
738
- "type": "object",
739
- "properties": {
740
- "value": {
741
- "description": "The interval value in days.",
742
- "type": "number"
743
- }
744
- },
745
- "required": [
746
- "value"
747
- ],
748
- "additionalProperties": false
749
- },
750
- "DiceBasedIntoxicantAddictionInterval": {
751
- "type": "object",
752
- "properties": {
753
- "dice": {
754
- "description": "The dice that define the interval value in days.",
755
- "$ref": "../../_Dice.schema.json#/$defs/Dice"
756
- }
757
- },
758
- "required": [
759
- "dice"
760
- ],
761
- "additionalProperties": false
762
- },
763
- "IntoxicantTranslation": {
764
- "type": "object",
765
- "properties": {
766
- "ingestion": {
767
- "description": "How to ingest the intoxicant.",
768
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
769
- },
770
- "side_effect": {
771
- "description": "The intoxicants side effects that always happen, no matter whether the intoxicant has the default or the reduced effect.",
772
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
773
- },
774
- "overdose": {
775
- "description": "What happens if the intoxicant has been overdosed, that is, it has been ingested another time within the duration.",
776
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
777
- },
778
- "special": {
779
- "description": "Special information about the intoxicant.",
780
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
781
- }
782
- },
783
- "required": [
784
- "ingestion",
785
- "overdose"
786
- ],
787
- "additionalProperties": false
788
- },
789
- "PoisonTranslation": {
790
- "type": "object",
791
- "properties": {
792
- "name": {
793
- "description": "The name of the poison.",
794
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
795
- },
796
- "alternative_names": {
797
- "description": "A list of alternative names.",
798
- "type": "array",
799
- "items": {
800
- "$ref": "../../_AlternativeNames.schema.json#/$defs/AlternativeName"
801
- },
802
- "minItems": 1
803
- },
804
- "effect": {
805
- "description": "An effect or other parameter that may be reduced by a failed disease check for lessening or a degraded poison.\n\nThis streamlines the wording for diseases and poison by using a unified wording for *lessened* (disease) and *degraded* (poison).",
806
- "type": "object",
807
- "properties": {
808
- "default": {
809
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
810
- },
811
- "reduced": {
812
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
813
- }
814
- },
815
- "required": [
816
- "default"
817
- ],
818
- "additionalProperties": false
819
- },
820
- "notes": {
821
- "description": "Notes on the poison's special features.",
822
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
823
- },
824
- "errata": {
825
- "$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
826
- }
827
- },
828
- "required": [
829
- "name",
830
- "effect"
831
- ],
832
- "additionalProperties": false
833
- }
834
- }
835
- }