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,384 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/equipment/item/_Item.schema.json",
4
- "$defs": {
5
- "DefaultItem": {
6
- "type": "object",
7
- "properties": {
8
- "cost": {
9
- "description": "The cost in silverthalers.",
10
- "$ref": "#/$defs/Cost"
11
- },
12
- "weight": {
13
- "description": "The weight in kg.",
14
- "$ref": "#/$defs/Weight"
15
- },
16
- "complexity": {
17
- "description": "The complexity of crafting the item.",
18
- "$ref": "#/$defs/Complexity"
19
- },
20
- "structure_points": {
21
- "description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
22
- "$ref": "#/$defs/StructurePoints"
23
- },
24
- "combat_use": {
25
- "description": "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
26
- "$ref": "#/$defs/CombatUse"
27
- },
28
- "src": {
29
- "$ref": "../../source/_PublicationRef.schema.json#/$defs/PublicationRefs"
30
- },
31
- "translations": {
32
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
33
- "type": "object",
34
- "patternProperties": {
35
- "^[a-z]{2}-[A-Z]{2}$": {
36
- "$ref": "#/$defs/DefaultItemTranslation"
37
- }
38
- },
39
- "minProperties": 1,
40
- "additionalProperties": false
41
- }
42
- },
43
- "required": [
44
- "cost",
45
- "weight",
46
- "structure_points",
47
- "src",
48
- "translations"
49
- ],
50
- "additionalProperties": false
51
- },
52
- "CombatUse": {
53
- "description": "The item can also be used either as an improvised weapon or as an armor, although this is not the primary use case of the item.",
54
- "oneOf": [
55
- {
56
- "type": "object",
57
- "properties": {
58
- "tag": {
59
- "const": "Weapon"
60
- },
61
- "weapon": {
62
- "$ref": "./Weapon.schema.json#/$defs/SecondaryWeapon"
63
- }
64
- },
65
- "required": [
66
- "tag",
67
- "weapon"
68
- ],
69
- "additionalProperties": false
70
- },
71
- {
72
- "type": "object",
73
- "properties": {
74
- "tag": {
75
- "const": "Armor"
76
- },
77
- "armor": {
78
- "$ref": "./Armor.schema.json#/$defs/SecondaryArmor"
79
- }
80
- },
81
- "required": [
82
- "tag",
83
- "armor"
84
- ],
85
- "additionalProperties": false
86
- }
87
- ]
88
- },
89
- "DefaultItemTranslation": {
90
- "type": "object",
91
- "properties": {
92
- "name": {
93
- "description": "The name of the item.",
94
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
95
- },
96
- "secondary_name": {
97
- "description": "An auxiliary name or label of the item, if available.",
98
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyString"
99
- },
100
- "note": {
101
- "description": "Note text.",
102
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
103
- },
104
- "rules": {
105
- "description": "Special rules text.",
106
- "$ref": "../../_NonEmptyString.schema.json#/$defs/NonEmptyMarkdown"
107
- },
108
- "errata": {
109
- "$ref": "../../source/_Erratum.schema.json#/$defs/Errata"
110
- }
111
- },
112
- "required": [
113
- "name"
114
- ],
115
- "additionalProperties": false
116
- },
117
- "StructurePoints": {
118
- "title": "Structure Points",
119
- "description": "The structure points of the item. Use an array if the item consists of multiple components that have individual structure points.",
120
- "type": "array",
121
- "items": {
122
- "$ref": "#/$defs/StructurePointsComponent"
123
- },
124
- "minItems": 1
125
- },
126
- "StructurePointsComponent": {
127
- "type": "object",
128
- "properties": {
129
- "points": {
130
- "description": "The structure points.",
131
- "type": "integer",
132
- "minimum": 1
133
- }
134
- },
135
- "required": [
136
- "points"
137
- ],
138
- "additionalProperties": false
139
- },
140
- "Cost": {
141
- "description": "The cost in silverthalers.",
142
- "oneOf": [
143
- {
144
- "type": "object",
145
- "properties": {
146
- "tag": {
147
- "const": "Free"
148
- },
149
- "free": {
150
- "type": "object",
151
- "properties": {},
152
- "required": [],
153
- "additionalProperties": false
154
- }
155
- },
156
- "required": [
157
- "tag",
158
- "free"
159
- ],
160
- "additionalProperties": false
161
- },
162
- {
163
- "type": "object",
164
- "properties": {
165
- "tag": {
166
- "const": "Various"
167
- },
168
- "various": {
169
- "type": "object",
170
- "properties": {},
171
- "required": [],
172
- "additionalProperties": false
173
- }
174
- },
175
- "required": [
176
- "tag",
177
- "various"
178
- ],
179
- "additionalProperties": false
180
- },
181
- {
182
- "type": "object",
183
- "properties": {
184
- "tag": {
185
- "const": "Invaluable"
186
- },
187
- "invaluable": {
188
- "type": "object",
189
- "properties": {},
190
- "required": [],
191
- "additionalProperties": false
192
- }
193
- },
194
- "required": [
195
- "tag",
196
- "invaluable"
197
- ],
198
- "additionalProperties": false
199
- },
200
- {
201
- "type": "object",
202
- "properties": {
203
- "tag": {
204
- "const": "Fixed"
205
- },
206
- "fixed": {
207
- "$ref": "#/$defs/FixedCost"
208
- }
209
- },
210
- "required": [
211
- "tag",
212
- "fixed"
213
- ],
214
- "additionalProperties": false
215
- },
216
- {
217
- "type": "object",
218
- "properties": {
219
- "tag": {
220
- "const": "Range"
221
- },
222
- "range": {
223
- "$ref": "#/$defs/CostRange"
224
- }
225
- },
226
- "required": [
227
- "tag",
228
- "range"
229
- ],
230
- "additionalProperties": false
231
- }
232
- ]
233
- },
234
- "FixedCost": {
235
- "type": "object",
236
- "properties": {
237
- "value": {
238
- "description": "The cost in silverthalers.",
239
- "type": "number",
240
- "exclusiveMinimum": 0
241
- },
242
- "translations": {
243
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
244
- "type": "object",
245
- "patternProperties": {
246
- "^[a-z]{2}-[A-Z]{2}$": {
247
- "$ref": "#/$defs/CostTranslation"
248
- }
249
- },
250
- "minProperties": 1,
251
- "additionalProperties": false
252
- }
253
- },
254
- "required": [
255
- "value"
256
- ],
257
- "additionalProperties": false
258
- },
259
- "CostRange": {
260
- "type": "object",
261
- "properties": {
262
- "from": {
263
- "description": "The lower bound of the cost in silverthalers.",
264
- "type": "number",
265
- "exclusiveMinimum": 0
266
- },
267
- "to": {
268
- "description": "The upper bound of the cost in silverthalers.",
269
- "type": "number",
270
- "exclusiveMinimum": 0
271
- },
272
- "translations": {
273
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
274
- "type": "object",
275
- "patternProperties": {
276
- "^[a-z]{2}-[A-Z]{2}$": {
277
- "$ref": "#/$defs/CostTranslation"
278
- }
279
- },
280
- "minProperties": 1,
281
- "additionalProperties": false
282
- }
283
- },
284
- "required": [
285
- "from",
286
- "to"
287
- ],
288
- "additionalProperties": false
289
- },
290
- "CostTranslation": {
291
- "type": "object",
292
- "properties": {
293
- "wrap_in_text": {
294
- "description": "The cost get wrapped by this text using a placeholder in the text.",
295
- "type": "string",
296
- "minLength": 1,
297
- "pattern": "\\{0\\}"
298
- }
299
- },
300
- "required": [
301
- "wrap_in_text"
302
- ],
303
- "additionalProperties": false
304
- },
305
- "Weight": {
306
- "description": "The weight in kg.",
307
- "type": "number",
308
- "exclusiveMinimum": 0
309
- },
310
- "Complexity": {
311
- "description": "The complexity of crafting the item.",
312
- "oneOf": [
313
- {
314
- "type": "object",
315
- "properties": {
316
- "tag": {
317
- "const": "Primitive"
318
- },
319
- "primitive": {
320
- "type": "object",
321
- "properties": {},
322
- "required": [],
323
- "additionalProperties": false
324
- }
325
- },
326
- "required": [
327
- "tag",
328
- "primitive"
329
- ],
330
- "additionalProperties": false
331
- },
332
- {
333
- "type": "object",
334
- "properties": {
335
- "tag": {
336
- "const": "Simple"
337
- },
338
- "simple": {
339
- "type": "object",
340
- "properties": {},
341
- "required": [],
342
- "additionalProperties": false
343
- }
344
- },
345
- "required": [
346
- "tag",
347
- "simple"
348
- ],
349
- "additionalProperties": false
350
- },
351
- {
352
- "type": "object",
353
- "properties": {
354
- "tag": {
355
- "const": "Complex"
356
- },
357
- "complex": {
358
- "$ref": "#/$defs/ComplexComplexity"
359
- }
360
- },
361
- "required": [
362
- "tag",
363
- "complex"
364
- ],
365
- "additionalProperties": false
366
- }
367
- ]
368
- },
369
- "ComplexComplexity": {
370
- "type": "object",
371
- "properties": {
372
- "ap_value": {
373
- "description": "The AP value for the trade secret.",
374
- "type": "integer",
375
- "minimum": 1
376
- }
377
- },
378
- "required": [
379
- "ap_value"
380
- ],
381
- "additionalProperties": false
382
- }
383
- }
384
- }
@@ -1,164 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/equipment/item/_MeleeWeapon.schema.json",
4
- "$defs": {
5
- "AttackModifier": {
6
- "description": "The AT modifier.",
7
- "type": "integer"
8
- },
9
- "ParryModifier": {
10
- "description": "The PA modifier.",
11
- "type": "integer"
12
- },
13
- "MeleeDamage": {
14
- "description": "The damage of a weapon consists of a random part using dice and an optional flat part.",
15
- "type": "object",
16
- "properties": {
17
- "dice": {
18
- "description": "How many dice of which type are rolled to get the damage.",
19
- "$ref": "../../_Dice.schema.json#/$defs/Dice"
20
- },
21
- "flat": {
22
- "description": "Flat damage, if any. It gets added to the result of the dice rolls.",
23
- "type": "integer",
24
- "default": 0
25
- }
26
- },
27
- "required": [
28
- "dice"
29
- ],
30
- "additionalProperties": false
31
- },
32
- "ShieldSize": {
33
- "description": "The shield size and potential size-depending values.",
34
- "oneOf": [
35
- {
36
- "type": "object",
37
- "properties": {
38
- "tag": {
39
- "const": "Small"
40
- },
41
- "small": {
42
- "type": "object",
43
- "properties": {},
44
- "required": [],
45
- "additionalProperties": false
46
- }
47
- },
48
- "required": [
49
- "tag",
50
- "small"
51
- ],
52
- "additionalProperties": false
53
- },
54
- {
55
- "type": "object",
56
- "properties": {
57
- "tag": {
58
- "const": "Medium"
59
- },
60
- "medium": {
61
- "type": "object",
62
- "properties": {},
63
- "required": [],
64
- "additionalProperties": false
65
- }
66
- },
67
- "required": [
68
- "tag",
69
- "medium"
70
- ],
71
- "additionalProperties": false
72
- },
73
- {
74
- "type": "object",
75
- "properties": {
76
- "tag": {
77
- "const": "Large"
78
- },
79
- "large": {
80
- "$ref": "#/$defs/LargeShieldSize"
81
- }
82
- },
83
- "required": [
84
- "tag"
85
- ],
86
- "additionalProperties": false
87
- }
88
- ]
89
- },
90
- "LargeShieldSize": {
91
- "type": "object",
92
- "properties": {
93
- "attack_penalty": {
94
- "description": "The attack penalty from the shield.",
95
- "type": "integer",
96
- "default": 1
97
- }
98
- },
99
- "required": [
100
- "attack_penalty"
101
- ],
102
- "additionalProperties": false
103
- },
104
- "MeleeWeapon": {
105
- "title": "Melee Weapon",
106
- "type": "object",
107
- "properties": {
108
- "combat_technique": {
109
- "description": "The combat techniques and dependent values.",
110
- "$ref": "../../_SimpleReferences.schema.json#/$defs/CloseCombatTechniqueReference"
111
- },
112
- "damage": {
113
- "description": "The damage of a weapon consists of a random part using dice and an optional flat part.",
114
- "$ref": "#/$defs/MeleeDamage"
115
- },
116
- "damage_threshold": {
117
- "description": "The primary attribute damage and threshold value.",
118
- "$ref": "./_Weapon.schema.json#/$defs/PrimaryAttributeDamageThreshold"
119
- },
120
- "at": {
121
- "description": "The AT modifier.",
122
- "$ref": "#/$defs/AttackModifier"
123
- },
124
- "pa": {
125
- "description": "The PA modifier.",
126
- "$ref": "#/$defs/ParryModifier"
127
- },
128
- "reach": {
129
- "description": "The reach of the weapon.",
130
- "$ref": "../../_Identifier.schema.json#/$defs/ReachIdentifier"
131
- },
132
- "length": {
133
- "description": "The length of the weapon in cm/halffingers.",
134
- "$ref": "./_Weapon.schema.json#/$defs/Length"
135
- },
136
- "size": {
137
- "description": "The shield size and potential size-depending values.",
138
- "$ref": "#/$defs/ShieldSize"
139
- },
140
- "is_parrying_weapon": {
141
- "description": "Is the weapon a parrying weapon?",
142
- "type": "boolean"
143
- },
144
- "is_two_handed_weapon": {
145
- "description": "Is the weapon a two-handed weapon?",
146
- "type": "boolean"
147
- },
148
- "is_improvised_weapon": {
149
- "description": "Is the weapon an improvised weapon?",
150
- "type": "boolean"
151
- }
152
- },
153
- "required": [
154
- "combat_technique",
155
- "damage",
156
- "at",
157
- "is_parrying_weapon",
158
- "is_two_handed_weapon",
159
- "is_improvised_weapon"
160
- ],
161
- "additionalProperties": false
162
- }
163
- }
164
- }