optolith-database-schema 0.40.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 (268) hide show
  1. package/CHANGELOG.md +41 -0
  2. package/README.md +1 -1
  3. package/gen/types.d.ts +1705 -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/Profession.d.ts +31 -14
  9. package/lib/types/Profession.js +12 -2
  10. package/lib/types/Race.d.ts +22 -15
  11. package/lib/types/Race.js +26 -20
  12. package/lib/types/Talisman.d.ts +32 -6
  13. package/lib/types/Talisman.js +51 -11
  14. package/lib/types/_Identifier.d.ts +1 -0
  15. package/lib/types/_Identifier.js +2 -0
  16. package/lib/types/_IdentifierGroup.d.ts +58 -0
  17. package/lib/types/_IdentifierGroup.js +15 -1
  18. package/lib/types/equipment/item/BandageOrRemedy.d.ts +5 -2
  19. package/lib/types/equipment/item/CeremonialItem.d.ts +6 -3
  20. package/lib/types/equipment/item/CeremonialItem.js +1 -1
  21. package/lib/types/equipment/item/Clothes.d.ts +5 -2
  22. package/lib/types/equipment/item/Container.d.ts +5 -2
  23. package/lib/types/equipment/item/Elixir.d.ts +16 -1
  24. package/lib/types/equipment/item/Elixir.js +35 -5
  25. package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +5 -2
  26. package/lib/types/equipment/item/IlluminationLightSource.d.ts +5 -2
  27. package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +5 -2
  28. package/lib/types/equipment/item/Liebesspielzeug.d.ts +5 -2
  29. package/lib/types/equipment/item/LuxuryGood.d.ts +5 -2
  30. package/lib/types/equipment/item/MagicalArtifact.d.ts +5 -2
  31. package/lib/types/equipment/item/MusicalInstrument.d.ts +5 -2
  32. package/lib/types/equipment/item/OrienteeringAid.d.ts +5 -2
  33. package/lib/types/equipment/item/Poison.d.ts +64 -91
  34. package/lib/types/equipment/item/Poison.js +5 -34
  35. package/lib/types/equipment/item/RopeOrChain.d.ts +5 -2
  36. package/lib/types/equipment/item/Stationery.d.ts +5 -2
  37. package/lib/types/equipment/item/ThievesTool.d.ts +5 -2
  38. package/lib/types/equipment/item/TravelGearOrTool.d.ts +5 -2
  39. package/lib/types/equipment/item/Weapon.d.ts +10 -4
  40. package/lib/types/equipment/item/WeaponAccessory.d.ts +5 -2
  41. package/lib/types/equipment/item/_Herbary.d.ts +31 -0
  42. package/lib/types/equipment/item/_Herbary.js +9 -0
  43. package/lib/types/equipment/item/_Item.d.ts +10 -4
  44. package/lib/types/equipment/item/_MeleeWeapon.d.ts +2 -2
  45. package/lib/types/equipment/item/_MeleeWeapon.js +1 -1
  46. package/lib/types/equipment/item/_RangedWeapon.d.ts +8 -2
  47. package/lib/types/equipment/item/_RangedWeapon.js +2 -2
  48. package/lib/types/equipment/item/sub/Reach.d.ts +1 -0
  49. package/lib/types/equipment/item/sub/Reach.js +7 -0
  50. package/lib/types/magicalActions/MagicalMelody.d.ts +15 -0
  51. package/lib/types/magicalActions/MagicalMelody.js +5 -0
  52. package/lib/types/prerequisites/PrerequisiteGroups.d.ts +132 -0
  53. package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
  54. package/package.json +7 -7
  55. package/schema/Advantage.schema.json +0 -108
  56. package/schema/AnimalDisease.schema.json +0 -74
  57. package/schema/AnimalType.schema.json +0 -47
  58. package/schema/ArcaneBardTradition.schema.json +0 -11
  59. package/schema/ArcaneDancerTradition.schema.json +0 -11
  60. package/schema/Aspect.schema.json +0 -51
  61. package/schema/Attribute.schema.json +0 -57
  62. package/schema/Blessing.schema.json +0 -265
  63. package/schema/Cantrip.schema.json +0 -443
  64. package/schema/Ceremony.schema.json +0 -122
  65. package/schema/CombatTechnique_Close.schema.json +0 -116
  66. package/schema/CombatTechnique_Ranged.schema.json +0 -99
  67. package/schema/Condition.schema.json +0 -68
  68. package/schema/Continent.schema.json +0 -49
  69. package/schema/Culture.schema.json +0 -781
  70. package/schema/DerivedCharacteristic.schema.json +0 -90
  71. package/schema/Disadvantage.schema.json +0 -97
  72. package/schema/Disease.schema.json +0 -58
  73. package/schema/Element.schema.json +0 -48
  74. package/schema/ExperienceLevel.schema.json +0 -84
  75. package/schema/EyeColor.schema.json +0 -47
  76. package/schema/FamiliarsTrick.schema.json +0 -576
  77. package/schema/HairColor.schema.json +0 -47
  78. package/schema/Kirchenpraegung.schema.json +0 -11
  79. package/schema/Lessons_Curriculum.schema.json +0 -499
  80. package/schema/Lessons_Guideline.schema.json +0 -53
  81. package/schema/LiturgicalChant.schema.json +0 -122
  82. package/schema/Locale.schema.json +0 -38
  83. package/schema/MetaCondition.schema.json +0 -69
  84. package/schema/PactCategory.schema.json +0 -150
  85. package/schema/Patron.schema.json +0 -352
  86. package/schema/PatronCategory.schema.json +0 -57
  87. package/schema/PersonalityTrait.schema.json +0 -100
  88. package/schema/Profession.schema.json +0 -1424
  89. package/schema/Property.schema.json +0 -51
  90. package/schema/Race.schema.json +0 -534
  91. package/schema/Region.schema.json +0 -47
  92. package/schema/Ritual.schema.json +0 -120
  93. package/schema/Service.schema.json +0 -79
  94. package/schema/SexPractice.schema.json +0 -70
  95. package/schema/Skill.schema.json +0 -223
  96. package/schema/SkillGroup.schema.json +0 -57
  97. package/schema/SkillModificationLevel.schema.json +0 -153
  98. package/schema/SocialStatus.schema.json +0 -47
  99. package/schema/Spell.schema.json +0 -119
  100. package/schema/State.schema.json +0 -59
  101. package/schema/Talisman.schema.json +0 -120
  102. package/schema/TargetCategory.schema.json +0 -65
  103. package/schema/UI.schema.json +0 -4441
  104. package/schema/_Activatable.schema.json +0 -2755
  105. package/schema/_ActivatableSelectOptionCategory.schema.json +0 -1313
  106. package/schema/_ActivatableSkill.schema.json +0 -188
  107. package/schema/_ActivatableSkillCastingTime.schema.json +0 -181
  108. package/schema/_ActivatableSkillCheckResultBased.schema.json +0 -65
  109. package/schema/_ActivatableSkillCost.schema.json +0 -513
  110. package/schema/_ActivatableSkillDuration.schema.json +0 -353
  111. package/schema/_ActivatableSkillEffect.schema.json +0 -122
  112. package/schema/_ActivatableSkillRange.schema.json +0 -264
  113. package/schema/_ActivatableSkillTargetCategory.schema.json +0 -145
  114. package/schema/_AlternativeNames.schema.json +0 -23
  115. package/schema/_ArcaneTradition.schema.json +0 -51
  116. package/schema/_Blessed.schema.json +0 -64
  117. package/schema/_Dice.schema.json +0 -40
  118. package/schema/_DiseasePoison.schema.json +0 -152
  119. package/schema/_Enhancements.schema.json +0 -85
  120. package/schema/_I18n.schema.json +0 -55
  121. package/schema/_Identifier.schema.json +0 -2577
  122. package/schema/_IdentifierGroup.schema.json +0 -753
  123. package/schema/_ImprovementCost.schema.json +0 -23
  124. package/schema/_Influence.schema.json +0 -84
  125. package/schema/_NonEmptyString.schema.json +0 -14
  126. package/schema/_Prerequisite.schema.json +0 -1518
  127. package/schema/_ResponsiveText.schema.json +0 -66
  128. package/schema/_Sex.schema.json +0 -18
  129. package/schema/_SimpleReferences.schema.json +0 -522
  130. package/schema/_SkillCheck.schema.json +0 -38
  131. package/schema/_Spellwork.schema.json +0 -54
  132. package/schema/equipment/EquipmentPackage.schema.json +0 -79
  133. package/schema/equipment/item/Ammunition.schema.json +0 -56
  134. package/schema/equipment/item/Animal.schema.json +0 -36
  135. package/schema/equipment/item/AnimalCare.schema.json +0 -124
  136. package/schema/equipment/item/Armor.schema.json +0 -309
  137. package/schema/equipment/item/BandageOrRemedy.schema.json +0 -53
  138. package/schema/equipment/item/Book.schema.json +0 -89
  139. package/schema/equipment/item/CeremonialItem.schema.json +0 -59
  140. package/schema/equipment/item/Clothes.schema.json +0 -10
  141. package/schema/equipment/item/Container.schema.json +0 -10
  142. package/schema/equipment/item/Elixir.schema.json +0 -103
  143. package/schema/equipment/item/EquipmentOfBlessedOnes.schema.json +0 -49
  144. package/schema/equipment/item/GemOrPreciousStone.schema.json +0 -69
  145. package/schema/equipment/item/IlluminationLightSource.schema.json +0 -120
  146. package/schema/equipment/item/IlluminationRefillsOrSupplies.schema.json +0 -10
  147. package/schema/equipment/item/Jewelry.schema.json +0 -113
  148. package/schema/equipment/item/Liebesspielzeug.schema.json +0 -10
  149. package/schema/equipment/item/LuxuryGood.schema.json +0 -53
  150. package/schema/equipment/item/MagicalArtifact.schema.json +0 -64
  151. package/schema/equipment/item/MusicalInstrument.schema.json +0 -49
  152. package/schema/equipment/item/OrienteeringAid.schema.json +0 -10
  153. package/schema/equipment/item/Poison.schema.json +0 -835
  154. package/schema/equipment/item/RopeOrChain.schema.json +0 -10
  155. package/schema/equipment/item/Stationary.schema.json +0 -10
  156. package/schema/equipment/item/ThievesTool.schema.json +0 -10
  157. package/schema/equipment/item/ToolOfTheTrade.schema.json +0 -93
  158. package/schema/equipment/item/TravelGearOrTool.schema.json +0 -10
  159. package/schema/equipment/item/Vehicle.schema.json +0 -36
  160. package/schema/equipment/item/Weapon.schema.json +0 -285
  161. package/schema/equipment/item/WeaponAccessory.schema.json +0 -10
  162. package/schema/equipment/item/_Herbary.schema.json +0 -62
  163. package/schema/equipment/item/_Item.schema.json +0 -384
  164. package/schema/equipment/item/_MeleeWeapon.schema.json +0 -164
  165. package/schema/equipment/item/_RangedWeapon.schema.json +0 -185
  166. package/schema/equipment/item/_Weapon.schema.json +0 -99
  167. package/schema/equipment/item/sub/ArmorType.schema.json +0 -52
  168. package/schema/equipment/item/sub/Reach.schema.json +0 -47
  169. package/schema/magicalActions/AnimistPower.schema.json +0 -488
  170. package/schema/magicalActions/AnimistPower_Tribe.schema.json +0 -47
  171. package/schema/magicalActions/Curse.schema.json +0 -332
  172. package/schema/magicalActions/DominationRitual.schema.json +0 -275
  173. package/schema/magicalActions/ElvenMagicalSong.schema.json +0 -196
  174. package/schema/magicalActions/GeodeRitual.schema.json +0 -327
  175. package/schema/magicalActions/JesterTrick.schema.json +0 -311
  176. package/schema/magicalActions/MagicalDance.schema.json +0 -198
  177. package/schema/magicalActions/MagicalMelody.schema.json +0 -193
  178. package/schema/magicalActions/MagicalRune.schema.json +0 -578
  179. package/schema/magicalActions/ZibiljaRitual.schema.json +0 -165
  180. package/schema/magicalActions/_MusicTradition.schema.json +0 -82
  181. package/schema/magicalActions/_SkillReference.schema.json +0 -20
  182. package/schema/prerequisites/ConditionalPrerequisites.schema.json +0 -15
  183. package/schema/prerequisites/DisplayOption.schema.json +0 -70
  184. package/schema/prerequisites/PrerequisiteGroups.schema.json +0 -1029
  185. package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +0 -45
  186. package/schema/prerequisites/single/AncestorBloodPrerequisite.schema.json +0 -14
  187. package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +0 -36
  188. package/schema/prerequisites/single/CulturePrerequisite.schema.json +0 -24
  189. package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +0 -61
  190. package/schema/prerequisites/single/InfluencePrerequisite.schema.json +0 -28
  191. package/schema/prerequisites/single/PactPrerequisite.schema.json +0 -36
  192. package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +0 -39
  193. package/schema/prerequisites/single/PublicationPrerequisite.schema.json +0 -22
  194. package/schema/prerequisites/single/RacePrerequisite.schema.json +0 -28
  195. package/schema/prerequisites/single/RatedMinimumNumberPrerequisite.schema.json +0 -172
  196. package/schema/prerequisites/single/RatedPrerequisite.schema.json +0 -29
  197. package/schema/prerequisites/single/RatedSumPrerequisite.schema.json +0 -33
  198. package/schema/prerequisites/single/RulePrerequisite.schema.json +0 -22
  199. package/schema/prerequisites/single/SexPrerequisite.schema.json +0 -23
  200. package/schema/prerequisites/single/SexualCharacteristicPrerequisite.schema.json +0 -30
  201. package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +0 -24
  202. package/schema/prerequisites/single/StatePrerequisite.schema.json +0 -23
  203. package/schema/prerequisites/single/TextPrerequisite.schema.json +0 -64
  204. package/schema/prerequisites/single/TraditionPrerequisite.schema.json +0 -58
  205. package/schema/rule/CoreRule.schema.json +0 -1403
  206. package/schema/rule/FocusRule.schema.json +0 -76
  207. package/schema/rule/FocusRule_Subject.schema.json +0 -48
  208. package/schema/rule/OptionalRule.schema.json +0 -64
  209. package/schema/source/Publication.schema.json +0 -103
  210. package/schema/source/_Erratum.schema.json +0 -36
  211. package/schema/source/_PublicationRef.schema.json +0 -285
  212. package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +0 -102
  213. package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +0 -80
  214. package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +0 -80
  215. package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +0 -80
  216. package/schema/specialAbility/AncestorGlyph.schema.json +0 -80
  217. package/schema/specialAbility/BlessedTradition.schema.json +0 -354
  218. package/schema/specialAbility/BrawlingSpecialAbility.schema.json +0 -82
  219. package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +0 -87
  220. package/schema/specialAbility/CombatSpecialAbility.schema.json +0 -98
  221. package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +0 -273
  222. package/schema/specialAbility/CommandSpecialAbility.schema.json +0 -82
  223. package/schema/specialAbility/FamiliarSpecialAbility.schema.json +0 -74
  224. package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +0 -74
  225. package/schema/specialAbility/FatePointSpecialAbility.schema.json +0 -84
  226. package/schema/specialAbility/GeneralSpecialAbility.schema.json +0 -88
  227. package/schema/specialAbility/KarmaSpecialAbility.schema.json +0 -78
  228. package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +0 -260
  229. package/schema/specialAbility/LycantropicGift.schema.json +0 -74
  230. package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +0 -260
  231. package/schema/specialAbility/MagicalSign.schema.json +0 -72
  232. package/schema/specialAbility/MagicalSpecialAbility.schema.json +0 -88
  233. package/schema/specialAbility/MagicalTradition.schema.json +0 -163
  234. package/schema/specialAbility/PactGift.schema.json +0 -254
  235. package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +0 -86
  236. package/schema/specialAbility/Sermon.schema.json +0 -74
  237. package/schema/specialAbility/SexSpecialAbility.schema.json +0 -80
  238. package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +0 -78
  239. package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +0 -254
  240. package/schema/specialAbility/VampiricGift.schema.json +0 -78
  241. package/schema/specialAbility/Vision.schema.json +0 -74
  242. package/schema/specialAbility/_Tradition.schema.json +0 -23
  243. package/schema/specialAbility/sub/Language.schema.json +0 -222
  244. package/schema/specialAbility/sub/Script.schema.json +0 -90
  245. package/schema/specialAbility/sub/TradeSecret.schema.json +0 -72
  246. package/schema/specialAbility/sub/_LanguageScript.schema.json +0 -24
  247. package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +0 -95
  248. package/schema/traditionArtifacts/AttireEnchantment.schema.json +0 -95
  249. package/schema/traditionArtifacts/BowlEnchantment.schema.json +0 -95
  250. package/schema/traditionArtifacts/CauldronEnchantment.schema.json +0 -115
  251. package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +0 -95
  252. package/schema/traditionArtifacts/DaggerRitual.schema.json +0 -176
  253. package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +0 -95
  254. package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +0 -95
  255. package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +0 -95
  256. package/schema/traditionArtifacts/OrbEnchantment.schema.json +0 -95
  257. package/schema/traditionArtifacts/RingEnchantment.schema.json +0 -95
  258. package/schema/traditionArtifacts/SickleRitual.schema.json +0 -95
  259. package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +0 -99
  260. package/schema/traditionArtifacts/StaffEnchantment.schema.json +0 -103
  261. package/schema/traditionArtifacts/ToyEnchantment.schema.json +0 -95
  262. package/schema/traditionArtifacts/Trinkhornzauber.schema.json +0 -95
  263. package/schema/traditionArtifacts/WandEnchantment.schema.json +0 -87
  264. package/schema/traditionArtifacts/WeaponEnchantment.schema.json +0 -95
  265. package/schema/traditionArtifacts/sub/AnimalShape.schema.json +0 -85
  266. package/schema/traditionArtifacts/sub/AnimalShapePath.schema.json +0 -47
  267. package/schema/traditionArtifacts/sub/AnimalShapeSize.schema.json +0 -59
  268. 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
- }