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,51 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/Property.schema.json",
4
- "$ref": "#/$defs/Property",
5
- "$defs": {
6
- "Property": {
7
- "title": "Property",
8
- "type": "object",
9
- "properties": {
10
- "id": {
11
- "description": "The property's identifier. An unique, increasing integer.",
12
- "type": "integer",
13
- "minimum": 1
14
- },
15
- "check": {
16
- "description": "The property check's attributes. Only the properties from the Core Rules have defined property checks.",
17
- "$ref": "./_SkillCheck.schema.json#/$defs/SkillCheck"
18
- },
19
- "translations": {
20
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
21
- "type": "object",
22
- "patternProperties": {
23
- "^[a-z]{2}-[A-Z]{2}$": {
24
- "$ref": "#/$defs/PropertyTranslation"
25
- }
26
- },
27
- "minProperties": 1,
28
- "additionalProperties": false
29
- }
30
- },
31
- "required": [
32
- "id",
33
- "translations"
34
- ],
35
- "additionalProperties": false
36
- },
37
- "PropertyTranslation": {
38
- "type": "object",
39
- "properties": {
40
- "name": {
41
- "description": "The property's name.",
42
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
43
- }
44
- },
45
- "required": [
46
- "name"
47
- ],
48
- "additionalProperties": false
49
- }
50
- }
51
- }
@@ -1,534 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/Race.schema.json",
4
- "$ref": "#/$defs/Race",
5
- "$defs": {
6
- "Race": {
7
- "title": "Race",
8
- "description": "A playable race with stats and skills.",
9
- "type": "object",
10
- "properties": {
11
- "id": {
12
- "description": "The race's identifier. An unique, increasing integer.",
13
- "type": "integer",
14
- "minimum": 1
15
- },
16
- "ap_value": {
17
- "description": "How many Adventure Points does the race cost during character creation?",
18
- "type": "integer",
19
- "minimum": 0
20
- },
21
- "base_values": {
22
- "description": "The race’s base values.",
23
- "$ref": "#/$defs/BaseValues"
24
- },
25
- "attribute_adjustments": {
26
- "description": "Describes how to raise or lower maximum attribute values during character creation.",
27
- "$ref": "#/$defs/AttributeAdjustments"
28
- },
29
- "automatic_advantages": {
30
- "description": "A list of automatically applied advantages. This does only work for advantages with no further configuration such as level or special selection.",
31
- "type": "array",
32
- "items": {
33
- "$ref": "./_SimpleReferences.schema.json#/$defs/AdvantageReference"
34
- },
35
- "minItems": 1
36
- },
37
- "strongly_recommended_advantages": {
38
- "description": "A list of strongly recommended advantages.",
39
- "type": "array",
40
- "items": {
41
- "title": "Commonness-rated Advantage/Disadvantage",
42
- "description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
43
- "type": "object",
44
- "properties": {
45
- "id": {
46
- "$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
47
- }
48
- },
49
- "required": [
50
- "id"
51
- ],
52
- "additionalProperties": false
53
- },
54
- "minItems": 1
55
- },
56
- "strongly_recommended_disadvantages": {
57
- "description": "A list of strongly recommended disadvantages.",
58
- "type": "array",
59
- "items": {
60
- "title": "Commonness-rated Advantage/Disadvantage",
61
- "description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
62
- "type": "object",
63
- "properties": {
64
- "id": {
65
- "$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
66
- }
67
- },
68
- "required": [
69
- "id"
70
- ],
71
- "additionalProperties": false
72
- },
73
- "minItems": 1
74
- },
75
- "weight": {
76
- "description": "Configuration for random weight generation.",
77
- "$ref": "#/$defs/RandomWeightGeneration"
78
- },
79
- "starting_age": {
80
- "description": "Defines the starting ages for the race. It depends on the selected experience level.",
81
- "type": "array",
82
- "items": {
83
- "$ref": "#/$defs/StartingAgeConfigForExperienceLevel"
84
- },
85
- "minItems": 7,
86
- "maxItems": 7
87
- },
88
- "variants": {
89
- "description": "A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
90
- "$ref": "#/$defs/RaceVariants"
91
- },
92
- "src": {
93
- "$ref": "./source/_PublicationRef.schema.json#/$defs/PublicationRefs"
94
- },
95
- "translations": {
96
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
97
- "type": "object",
98
- "patternProperties": {
99
- "^[a-z]{2}-[A-Z]{2}$": {
100
- "$ref": "#/$defs/RaceTranslation"
101
- }
102
- },
103
- "minProperties": 1,
104
- "additionalProperties": false
105
- }
106
- },
107
- "required": [
108
- "id",
109
- "ap_value",
110
- "base_values",
111
- "attribute_adjustments",
112
- "weight",
113
- "starting_age",
114
- "variants",
115
- "src",
116
- "translations"
117
- ],
118
- "additionalProperties": false
119
- },
120
- "BaseValues": {
121
- "description": "The race’s base values.",
122
- "type": "object",
123
- "properties": {
124
- "life_points": {
125
- "description": "The race’s life point base value.",
126
- "type": "integer"
127
- },
128
- "spirit": {
129
- "description": "The race’s Spirit base value.",
130
- "type": "integer"
131
- },
132
- "toughness": {
133
- "description": "The race’s Toughness base value.",
134
- "type": "integer"
135
- },
136
- "movement": {
137
- "description": "The race’s tactical movement rate.",
138
- "type": "integer",
139
- "minimum": 1
140
- }
141
- },
142
- "required": [
143
- "life_points",
144
- "spirit",
145
- "toughness",
146
- "movement"
147
- ],
148
- "additionalProperties": false
149
- },
150
- "AttributeAdjustments": {
151
- "description": "Describes how to raise or lower maximum attribute values during character creation.",
152
- "type": "object",
153
- "properties": {
154
- "fixed": {
155
- "description": "The values by which the maximum of the respective attribute is modified.",
156
- "type": "array",
157
- "items": {
158
- "$ref": "#/$defs/FixedAttributeAdjustment"
159
- },
160
- "minItems": 1
161
- },
162
- "selectable": {
163
- "description": "An array of attribute maximum modifiers, where the attribute they apply to is selected from a list of options.\n\nThe array only permits a single entry because no race specified more than one selectable attribute adjustment so far. But the schema allows for multiple entries to be future-proof.",
164
- "type": "array",
165
- "items": {
166
- "$ref": "#/$defs/SelectableAttributeAdjustment"
167
- },
168
- "minItems": 1,
169
- "maxItems": 1
170
- }
171
- },
172
- "required": [],
173
- "minProperties": 1,
174
- "additionalProperties": false
175
- },
176
- "FixedAttributeAdjustment": {
177
- "description": "A value by which the maximum of the respective attribute is modified.",
178
- "type": "object",
179
- "properties": {
180
- "id": {
181
- "description": "The attribute the modifier applies to.",
182
- "$ref": "./_Identifier.schema.json#/$defs/AttributeIdentifier"
183
- },
184
- "value": {
185
- "description": "The value by which the specified attribute's maximum is modified\n(negative values will lower the maximum).",
186
- "type": "integer"
187
- }
188
- },
189
- "required": [
190
- "id",
191
- "value"
192
- ],
193
- "additionalProperties": false
194
- },
195
- "SelectableAttributeAdjustment": {
196
- "description": "A value that will be added to the current maximum of the selected attribute that has been chosen from the listed attributes (negative values will lower the maximum).",
197
- "type": "object",
198
- "properties": {
199
- "list": {
200
- "description": "A list of attributes the player has to choose from.",
201
- "type": "array",
202
- "items": {
203
- "$ref": "./_SimpleReferences.schema.json#/$defs/AttributeReference"
204
- },
205
- "minItems": 2
206
- },
207
- "value": {
208
- "description": "The value by which the selected attribute's maximum is modified\n(negative values will lower the maximum).",
209
- "type": "integer"
210
- }
211
- },
212
- "required": [
213
- "list",
214
- "value"
215
- ],
216
- "additionalProperties": false
217
- },
218
- "RandomWeightGeneration": {
219
- "description": "Configuration for random weight generation.",
220
- "type": "object",
221
- "properties": {
222
- "base": {
223
- "description": "The base value used for random weight. The height subtrahend; in case of\n`Height - 110 + 2D6` it is `110`.",
224
- "type": "integer",
225
- "minimum": 1
226
- },
227
- "random": {
228
- "description": "The dice used for random weight.",
229
- "type": "array",
230
- "items": {
231
- "$ref": "#/$defs/WeightDice"
232
- },
233
- "minItems": 1
234
- }
235
- },
236
- "required": [
237
- "base",
238
- "random"
239
- ],
240
- "additionalProperties": false
241
- },
242
- "WeightDice": {
243
- "type": "object",
244
- "properties": {
245
- "number": {
246
- "description": "Number of dice of the same type. Example: 2 in 2D6.",
247
- "type": "integer",
248
- "minimum": 1
249
- },
250
- "sides": {
251
- "description": "Number of sides on every die. Example: 6 in 2D6.",
252
- "$ref": "./_Dice.schema.json#/$defs/DieType"
253
- },
254
- "offset_strategy": {
255
- "description": "The strategy how to offset the randomly generated values against the base value. Either they are all added or subtracted or even results are added and odd results are subtracted.",
256
- "$ref": "#/$defs/WeightDiceOffsetStrategy"
257
- }
258
- },
259
- "required": [
260
- "number",
261
- "sides",
262
- "offset_strategy"
263
- ],
264
- "additionalProperties": false
265
- },
266
- "WeightDiceOffsetStrategy": {
267
- "description": "The strategy how to offset the randomly generated values against the base value. Either they are all added or subtracted or even results are added and odd results are subtracted.",
268
- "oneOf": [
269
- {
270
- "const": "Add"
271
- },
272
- {
273
- "const": "Subtract"
274
- },
275
- {
276
- "const": "AddEvenSubtractOdd"
277
- }
278
- ]
279
- },
280
- "StartingAgeConfigForExperienceLevel": {
281
- "type": "object",
282
- "properties": {
283
- "id": {
284
- "description": "The selected experience level's identifier.",
285
- "$ref": "./_Identifier.schema.json#/$defs/ExperienceLevelIdentifier"
286
- },
287
- "base": {
288
- "description": "The base value for the selected experience level.",
289
- "type": "integer",
290
- "minimum": 1
291
- },
292
- "random": {
293
- "description": "The random value for the selected experience level. It is going to be added to the base value.",
294
- "$ref": "./_Dice.schema.json#/$defs/Dice"
295
- }
296
- },
297
- "required": [
298
- "id",
299
- "base",
300
- "random"
301
- ],
302
- "additionalProperties": false
303
- },
304
- "RaceVariants": {
305
- "description": "A list of available race variants where one has to be selected. If no variants are to be selected, a single variant with no name has to be provided which will be used as the missing values for the base race.",
306
- "type": "array",
307
- "items": {
308
- "$ref": "#/$defs/RaceVariant"
309
- },
310
- "minItems": 1
311
- },
312
- "RaceVariant": {
313
- "title": "Race Variant",
314
- "type": "object",
315
- "properties": {
316
- "id": {
317
- "description": "An unique, increasing integer.",
318
- "type": "integer",
319
- "minimum": 1
320
- },
321
- "common_cultures": {
322
- "description": "The list of common cultures.",
323
- "type": "array",
324
- "items": {
325
- "$ref": "./_SimpleReferences.schema.json#/$defs/CultureReference"
326
- },
327
- "minItems": 1
328
- },
329
- "common_advantages": {
330
- "description": "A list of common advantages.",
331
- "type": "array",
332
- "items": {
333
- "title": "Commonness-rated Advantage/Disadvantage",
334
- "description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
335
- "type": "object",
336
- "properties": {
337
- "id": {
338
- "$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
339
- }
340
- },
341
- "required": [
342
- "id"
343
- ],
344
- "additionalProperties": false
345
- },
346
- "minItems": 1
347
- },
348
- "common_disadvantages": {
349
- "description": "A list of common disadvantages.",
350
- "type": "array",
351
- "items": {
352
- "title": "Commonness-rated Advantage/Disadvantage",
353
- "description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
354
- "type": "object",
355
- "properties": {
356
- "id": {
357
- "$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
358
- }
359
- },
360
- "required": [
361
- "id"
362
- ],
363
- "additionalProperties": false
364
- },
365
- "minItems": 1
366
- },
367
- "uncommon_advantages": {
368
- "description": "A list of uncommon advantages.",
369
- "type": "array",
370
- "items": {
371
- "title": "Commonness-rated Advantage/Disadvantage",
372
- "description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
373
- "type": "object",
374
- "properties": {
375
- "id": {
376
- "$ref": "./_Identifier.schema.json#/$defs/AdvantageIdentifier"
377
- }
378
- },
379
- "required": [
380
- "id"
381
- ],
382
- "additionalProperties": false
383
- },
384
- "minItems": 1
385
- },
386
- "uncommon_disadvantages": {
387
- "description": "A list of uncommon disadvantages.",
388
- "type": "array",
389
- "items": {
390
- "title": "Commonness-rated Advantage/Disadvantage",
391
- "description": "Reference to a commonness-rated advantage or disadvantage. Commonness-rating terms used in the source books are strongly recommended, common, uncommon, suggested and unsuitable.",
392
- "type": "object",
393
- "properties": {
394
- "id": {
395
- "$ref": "./_Identifier.schema.json#/$defs/DisadvantageIdentifier"
396
- }
397
- },
398
- "required": [
399
- "id"
400
- ],
401
- "additionalProperties": false
402
- },
403
- "minItems": 1
404
- },
405
- "hair_color": {
406
- "description": "An array containing 20 (numeric) hair color identifiers. The array also represents the 20-sided die for a random hair color.",
407
- "type": "array",
408
- "items": {
409
- "$ref": "./_SimpleReferences.schema.json#/$defs/HairColorReference"
410
- },
411
- "minItems": 20,
412
- "maxItems": 20
413
- },
414
- "eye_color": {
415
- "description": "An array containing 20 (numeric) eye color identifiers. The array also represents the 20-sided die for a random eye color.",
416
- "type": "array",
417
- "items": {
418
- "$ref": "./_SimpleReferences.schema.json#/$defs/EyeColorReference"
419
- },
420
- "minItems": 20,
421
- "maxItems": 20
422
- },
423
- "height": {
424
- "description": "Configuration for random height generation.",
425
- "$ref": "#/$defs/Height"
426
- },
427
- "translations": {
428
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
429
- "type": "object",
430
- "patternProperties": {
431
- "^[a-z]{2}-[A-Z]{2}$": {
432
- "$ref": "#/$defs/RaceVariantTranslation"
433
- }
434
- },
435
- "minProperties": 1,
436
- "additionalProperties": false
437
- }
438
- },
439
- "required": [
440
- "id",
441
- "common_cultures",
442
- "hair_color",
443
- "eye_color",
444
- "height",
445
- "translations"
446
- ],
447
- "additionalProperties": false
448
- },
449
- "Height": {
450
- "description": "Configuration for random height generation.",
451
- "type": "object",
452
- "properties": {
453
- "base": {
454
- "description": "The base value used for random height.",
455
- "type": "integer",
456
- "minimum": 1
457
- },
458
- "random": {
459
- "description": "The dice used for random height.",
460
- "type": "array",
461
- "items": {
462
- "$ref": "./_Dice.schema.json#/$defs/Dice"
463
- },
464
- "minItems": 1
465
- }
466
- },
467
- "required": [
468
- "base",
469
- "random"
470
- ],
471
- "additionalProperties": false
472
- },
473
- "RaceVariantTranslation": {
474
- "type": "object",
475
- "properties": {
476
- "name": {
477
- "description": "The race variant's name. If left empty, it defaults to the base race name. This can be used if the race has no (visible) variants so that a single variant has to be provided.",
478
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
479
- },
480
- "common_advantages": {
481
- "description": "The respective common advantages text from the source book.",
482
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
483
- },
484
- "common_disadvantages": {
485
- "description": "The respective common disadvantages text from the source book.",
486
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
487
- },
488
- "uncommon_advantages": {
489
- "description": "The respective uncommon advantages text from the source book.",
490
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
491
- },
492
- "uncommon_disadvantages": {
493
- "description": "The respective uncommon disadvantages text from the source book.",
494
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
495
- }
496
- },
497
- "required": [],
498
- "additionalProperties": false
499
- },
500
- "RaceTranslation": {
501
- "type": "object",
502
- "properties": {
503
- "name": {
504
- "description": "The race's name.",
505
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
506
- },
507
- "attribute_adjustments": {
508
- "description": "The respective attribute adjustments text from the source book.",
509
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
510
- },
511
- "automatic_advantages": {
512
- "description": "The respective automatic advantages text from the source book.",
513
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
514
- },
515
- "strongly_recommended_advantages": {
516
- "description": "The respective strongly recommended advantages text from the source book.",
517
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
518
- },
519
- "strongly_recommended_disadvantages": {
520
- "description": "The respective strongly recommended disadvantages text from the source book.",
521
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
522
- },
523
- "errata": {
524
- "$ref": "./source/_Erratum.schema.json#/$defs/Errata"
525
- }
526
- },
527
- "required": [
528
- "name",
529
- "attribute_adjustments"
530
- ],
531
- "additionalProperties": false
532
- }
533
- }
534
- }
@@ -1,47 +0,0 @@
1
- {
2
- "$schema": "https://json-schema.org/draft/2019-09/schema",
3
- "$id": "/Region.schema.json",
4
- "$ref": "#/$defs/Region",
5
- "$defs": {
6
- "Region": {
7
- "title": "Region",
8
- "type": "object",
9
- "properties": {
10
- "id": {
11
- "description": "The region's identifier. An unique, increasing integer.",
12
- "type": "integer",
13
- "minimum": 1
14
- },
15
- "translations": {
16
- "description": "All translations for the entry, identified by IETF language tag (BCP47).",
17
- "type": "object",
18
- "patternProperties": {
19
- "^[a-z]{2}-[A-Z]{2}$": {
20
- "$ref": "#/$defs/RegionTranslation"
21
- }
22
- },
23
- "minProperties": 1,
24
- "additionalProperties": false
25
- }
26
- },
27
- "required": [
28
- "id",
29
- "translations"
30
- ],
31
- "additionalProperties": false
32
- },
33
- "RegionTranslation": {
34
- "type": "object",
35
- "properties": {
36
- "name": {
37
- "description": "The region name.",
38
- "$ref": "./_NonEmptyString.schema.json#/$defs/NonEmptyString"
39
- }
40
- },
41
- "required": [
42
- "name"
43
- ],
44
- "additionalProperties": false
45
- }
46
- }
47
- }