optolith-database-schema 0.0.1

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 (169) hide show
  1. package/AUTHORS +1 -0
  2. package/CHANGELOG.md +27 -0
  3. package/CODEOWNERS +1 -0
  4. package/LICENSE +378 -0
  5. package/README.md +17 -0
  6. package/lib/main.d.ts +1 -0
  7. package/lib/main.js +1 -0
  8. package/lib/types/ArcaneBardTradition.d.ts +32 -0
  9. package/lib/types/ArcaneBardTradition.js +4 -0
  10. package/lib/types/ArcaneDancerTradition.d.ts +32 -0
  11. package/lib/types/ArcaneDancerTradition.js +4 -0
  12. package/lib/types/Aspect.d.ts +36 -0
  13. package/lib/types/Aspect.js +4 -0
  14. package/lib/types/Attribute.d.ts +42 -0
  15. package/lib/types/Attribute.js +5 -0
  16. package/lib/types/CombatTechnique_Close.d.ts +80 -0
  17. package/lib/types/CombatTechnique_Close.js +4 -0
  18. package/lib/types/CombatTechnique_Ranged.d.ts +62 -0
  19. package/lib/types/CombatTechnique_Ranged.js +4 -0
  20. package/lib/types/Condition.d.ts +51 -0
  21. package/lib/types/Condition.js +4 -0
  22. package/lib/types/Culture.d.ts +494 -0
  23. package/lib/types/Culture.js +4 -0
  24. package/lib/types/DerivedCharacteristic.d.ts +65 -0
  25. package/lib/types/DerivedCharacteristic.js +4 -0
  26. package/lib/types/Element.d.ts +30 -0
  27. package/lib/types/Element.js +4 -0
  28. package/lib/types/ExperienceLevel.d.ts +68 -0
  29. package/lib/types/ExperienceLevel.js +4 -0
  30. package/lib/types/EyeColor.d.ts +30 -0
  31. package/lib/types/EyeColor.js +4 -0
  32. package/lib/types/HairColor.d.ts +30 -0
  33. package/lib/types/HairColor.js +4 -0
  34. package/lib/types/Lessons_Curriculum.d.ts +297 -0
  35. package/lib/types/Lessons_Curriculum.js +4 -0
  36. package/lib/types/Lessons_Guideline.d.ts +36 -0
  37. package/lib/types/Lessons_Guideline.js +4 -0
  38. package/lib/types/Locale.d.ts +38 -0
  39. package/lib/types/Locale.js +4 -0
  40. package/lib/types/MetaCondition.d.ts +54 -0
  41. package/lib/types/MetaCondition.js +4 -0
  42. package/lib/types/Property.d.ts +36 -0
  43. package/lib/types/Property.js +4 -0
  44. package/lib/types/Race.d.ts +524 -0
  45. package/lib/types/Race.js +13 -0
  46. package/lib/types/Region.d.ts +30 -0
  47. package/lib/types/Region.js +4 -0
  48. package/lib/types/Service.d.ts +40 -0
  49. package/lib/types/Service.js +4 -0
  50. package/lib/types/SexPractice.d.ts +53 -0
  51. package/lib/types/SexPractice.js +4 -0
  52. package/lib/types/Skill.d.ts +169 -0
  53. package/lib/types/Skill.js +4 -0
  54. package/lib/types/SkillGroup.d.ts +40 -0
  55. package/lib/types/SkillGroup.js +4 -0
  56. package/lib/types/SkillModificationIncrement.d.ts +82 -0
  57. package/lib/types/SkillModificationIncrement.js +4 -0
  58. package/lib/types/SocialStatus.d.ts +30 -0
  59. package/lib/types/SocialStatus.js +4 -0
  60. package/lib/types/State.d.ts +40 -0
  61. package/lib/types/State.js +4 -0
  62. package/lib/types/TargetCategory.d.ts +36 -0
  63. package/lib/types/TargetCategory.js +4 -0
  64. package/lib/types/_ActivatableSkill.d.ts +919 -0
  65. package/lib/types/_ActivatableSkill.js +38 -0
  66. package/lib/types/_CommonnessRatedAdvantageDisadvantage.d.ts +12 -0
  67. package/lib/types/_CommonnessRatedAdvantageDisadvantage.js +1 -0
  68. package/lib/types/_ImprovementCost.d.ts +9 -0
  69. package/lib/types/_ImprovementCost.js +10 -0
  70. package/lib/types/_Prerequisite.d.ts +274 -0
  71. package/lib/types/_Prerequisite.js +4 -0
  72. package/lib/types/_Sex.d.ts +11 -0
  73. package/lib/types/_Sex.js +4 -0
  74. package/lib/types/_SkillCheck.d.ts +28 -0
  75. package/lib/types/_SkillCheck.js +1 -0
  76. package/lib/types/magicalActions/AnimistPower.d.ts +227 -0
  77. package/lib/types/magicalActions/AnimistPower.js +4 -0
  78. package/lib/types/magicalActions/AnimistPower_Tribe.d.ts +30 -0
  79. package/lib/types/magicalActions/AnimistPower_Tribe.js +4 -0
  80. package/lib/types/magicalActions/Curse.d.ts +228 -0
  81. package/lib/types/magicalActions/Curse.js +4 -0
  82. package/lib/types/magicalActions/DominationRitual.d.ts +181 -0
  83. package/lib/types/magicalActions/DominationRitual.js +4 -0
  84. package/lib/types/magicalActions/ElvenMagicalSong.d.ts +149 -0
  85. package/lib/types/magicalActions/ElvenMagicalSong.js +4 -0
  86. package/lib/types/magicalActions/GeodeRitual.d.ts +162 -0
  87. package/lib/types/magicalActions/GeodeRitual.js +4 -0
  88. package/lib/types/magicalActions/JesterTrick.d.ts +167 -0
  89. package/lib/types/magicalActions/JesterTrick.js +4 -0
  90. package/lib/types/magicalActions/MagicalDance.d.ts +184 -0
  91. package/lib/types/magicalActions/MagicalDance.js +4 -0
  92. package/lib/types/magicalActions/MagicalMelody.d.ts +132 -0
  93. package/lib/types/magicalActions/MagicalMelody.js +4 -0
  94. package/lib/types/magicalActions/MagicalRune.d.ts +241 -0
  95. package/lib/types/magicalActions/MagicalRune.js +4 -0
  96. package/lib/types/magicalActions/ZibiljaRitual.d.ts +101 -0
  97. package/lib/types/magicalActions/ZibiljaRitual.js +4 -0
  98. package/lib/types/magicalActions/_MusicTradition.d.ts +28 -0
  99. package/lib/types/magicalActions/_MusicTradition.js +1 -0
  100. package/lib/types/magicalActions/_SkillReference.d.ts +13 -0
  101. package/lib/types/magicalActions/_SkillReference.js +5 -0
  102. package/lib/types/rule/FocusRule.d.ts +53 -0
  103. package/lib/types/rule/FocusRule.js +4 -0
  104. package/lib/types/rule/FocusRule_Subject.d.ts +31 -0
  105. package/lib/types/rule/FocusRule_Subject.js +4 -0
  106. package/lib/types/rule/OptionalRule.d.ts +65 -0
  107. package/lib/types/rule/OptionalRule.js +4 -0
  108. package/lib/types/source/Publication.d.ts +4 -0
  109. package/lib/types/source/Publication.js +4 -0
  110. package/lib/types/source/_Erratum.d.ts +25 -0
  111. package/lib/types/source/_Erratum.js +4 -0
  112. package/lib/types/source/_PublicationRef.d.ts +146 -0
  113. package/lib/types/source/_PublicationRef.js +4 -0
  114. package/lib/validation/integrity.d.ts +16 -0
  115. package/lib/validation/integrity.js +3 -0
  116. package/package.json +37 -0
  117. package/schema/ArcaneBardTradition.schema.json +49 -0
  118. package/schema/ArcaneDancerTradition.schema.json +49 -0
  119. package/schema/Aspect.schema.json +50 -0
  120. package/schema/Attribute.schema.json +57 -0
  121. package/schema/CombatTechnique_Close.schema.json +127 -0
  122. package/schema/CombatTechnique_Ranged.schema.json +83 -0
  123. package/schema/Condition.schema.json +84 -0
  124. package/schema/Culture.schema.json +858 -0
  125. package/schema/DerivedCharacteristic.schema.json +90 -0
  126. package/schema/Element.schema.json +45 -0
  127. package/schema/ExperienceLevel.schema.json +84 -0
  128. package/schema/EyeColor.schema.json +45 -0
  129. package/schema/HairColor.schema.json +45 -0
  130. package/schema/Lessons_Curriculum.schema.json +500 -0
  131. package/schema/Lessons_Guideline.schema.json +51 -0
  132. package/schema/Locale.schema.json +45 -0
  133. package/schema/MetaCondition.schema.json +85 -0
  134. package/schema/Property.schema.json +49 -0
  135. package/schema/Race.schema.json +724 -0
  136. package/schema/Region.schema.json +45 -0
  137. package/schema/Service.schema.json +58 -0
  138. package/schema/SexPractice.schema.json +72 -0
  139. package/schema/Skill.schema.json +278 -0
  140. package/schema/SkillGroup.schema.json +56 -0
  141. package/schema/SkillModificationIncrement.schema.json +98 -0
  142. package/schema/SocialStatus.schema.json +45 -0
  143. package/schema/State.schema.json +58 -0
  144. package/schema/TargetCategory.schema.json +51 -0
  145. package/schema/_ActivatableSkill.schema.json +1534 -0
  146. package/schema/_CommonnessRatedAdvantageDisadvantage.schema.json +22 -0
  147. package/schema/_ImprovementCost.schema.json +15 -0
  148. package/schema/_Prerequisite.schema.json +519 -0
  149. package/schema/_Sex.schema.json +36 -0
  150. package/schema/_SkillCheck.schema.json +94 -0
  151. package/schema/magicalActions/AnimistPower.schema.json +411 -0
  152. package/schema/magicalActions/AnimistPower_Tribe.schema.json +45 -0
  153. package/schema/magicalActions/Curse.schema.json +378 -0
  154. package/schema/magicalActions/DominationRitual.schema.json +288 -0
  155. package/schema/magicalActions/ElvenMagicalSong.schema.json +194 -0
  156. package/schema/magicalActions/GeodeRitual.schema.json +303 -0
  157. package/schema/magicalActions/JesterTrick.schema.json +292 -0
  158. package/schema/magicalActions/MagicalDance.schema.json +328 -0
  159. package/schema/magicalActions/MagicalMelody.schema.json +254 -0
  160. package/schema/magicalActions/MagicalRune.schema.json +426 -0
  161. package/schema/magicalActions/ZibiljaRitual.schema.json +159 -0
  162. package/schema/magicalActions/_MusicTradition.schema.json +44 -0
  163. package/schema/magicalActions/_SkillReference.schema.json +26 -0
  164. package/schema/rule/FocusRule.schema.json +71 -0
  165. package/schema/rule/FocusRule_Subject.schema.json +46 -0
  166. package/schema/rule/OptionalRule.schema.json +96 -0
  167. package/schema/source/Publication.schema.json +165 -0
  168. package/schema/source/_Erratum.schema.json +37 -0
  169. package/schema/source/_PublicationRef.schema.json +242 -0
@@ -0,0 +1,65 @@
1
+ /**
2
+ * @main DerivedCharacteristic
3
+ */
4
+ import { PublicationRefs } from "./source/_PublicationRef";
5
+ import { GroupCollection } from "./_Prerequisite";
6
+ /**
7
+ * @title Derived Characteristic
8
+ */
9
+ export declare type DerivedCharacteristic = {
10
+ /**
11
+ * An unique, increasing integer.
12
+ * @integer
13
+ * @minimum 1
14
+ */
15
+ id: number;
16
+ prerequisites?: GroupCollection.DerivedCharacteristic;
17
+ src: PublicationRefs;
18
+ /**
19
+ * All translations for the entry, identified by IETF language tag (BCP47).
20
+ * @minProperties 1
21
+ */
22
+ translations: {
23
+ /**
24
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
25
+ */
26
+ [localeId: string]: Translation;
27
+ };
28
+ };
29
+ declare type Translation = {
30
+ /**
31
+ * The characteristic's name.
32
+ * @minLength 1
33
+ */
34
+ name: string;
35
+ /**
36
+ * The characteristic's abbreviation.
37
+ * @minLength 1
38
+ */
39
+ abbreviation: string;
40
+ /**
41
+ * Possible calculation strings for the final value.
42
+ */
43
+ calculation?: Calculation;
44
+ };
45
+ /**
46
+ * Possible calculation strings for the final value.
47
+ */
48
+ declare type Calculation = {
49
+ /**
50
+ * The default calculation string.
51
+ * @minLength 1
52
+ */
53
+ default: string;
54
+ /**
55
+ * The calculation string if only half of the primary attribute is used.
56
+ * @minLength 1
57
+ */
58
+ half_primary?: string;
59
+ /**
60
+ * The calculation string if no primary attribute is used.
61
+ * @minLength 1
62
+ */
63
+ no_primary?: string;
64
+ };
65
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main DerivedCharacteristic
3
+ */
4
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @main Element
3
+ */
4
+ /**
5
+ * @title Element
6
+ */
7
+ export declare type Element = {
8
+ /**
9
+ * The element's identifier. An unique, increasing integer.
10
+ * @integer
11
+ * @minimum 1
12
+ */
13
+ id: number;
14
+ /**
15
+ * All translations for the entry, identified by IETF language tag (BCP47).
16
+ * @minProperties 1
17
+ */
18
+ translations: {
19
+ /**
20
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
21
+ */
22
+ [localeId: string]: {
23
+ /**
24
+ * The element's name.
25
+ * @minLength 1
26
+ */
27
+ name: string;
28
+ };
29
+ };
30
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main Element
3
+ */
4
+ export {};
@@ -0,0 +1,68 @@
1
+ /**
2
+ * @main ExperienceLevel
3
+ */
4
+ /**
5
+ * Adventure Points and maximum values at hero creation.
6
+ * @title Experience Level
7
+ */
8
+ export declare type ExperienceLevel = {
9
+ /**
10
+ * An unique, increasing integer.
11
+ * @integer
12
+ * @minimum 1
13
+ */
14
+ id: number;
15
+ /**
16
+ * The AP value you get.
17
+ * @integer
18
+ */
19
+ adventure_points: number;
20
+ /**
21
+ * The highest possible attribute value.
22
+ * @integer
23
+ */
24
+ max_attribute_value: number;
25
+ /**
26
+ * The highest possible skill rating.
27
+ * @integer
28
+ */
29
+ max_skill_rating: number;
30
+ /**
31
+ * The highest possible combat technique rating.
32
+ * @integer
33
+ */
34
+ max_combat_technique_rating: number;
35
+ /**
36
+ * The limit for the sum of all attribute values.
37
+ * @integer
38
+ */
39
+ max_attribute_total: number;
40
+ /**
41
+ * The maximum of spells/chants you can activate.
42
+ * @integer
43
+ */
44
+ max_number_of_spells_liturgical_chants: number;
45
+ /**
46
+ * The maximum of spells of an unfamiliar tradition you can activate.
47
+ * @integer
48
+ */
49
+ max_number_of_unfamiliar_spells: number;
50
+ /**
51
+ * All translations for the entry, identified by IETF language tag (BCP47).
52
+ * @minProperties 1
53
+ */
54
+ translations: {
55
+ /**
56
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
57
+ */
58
+ [localeId: string]: Translation;
59
+ };
60
+ };
61
+ declare type Translation = {
62
+ /**
63
+ * The name of the experience level.
64
+ * @minLength 1
65
+ */
66
+ name: string;
67
+ };
68
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main ExperienceLevel
3
+ */
4
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @main EyeColor
3
+ */
4
+ /**
5
+ * @title Eye Color
6
+ */
7
+ export declare type EyeColor = {
8
+ /**
9
+ * The eye color's identifier. An unique, increasing integer.
10
+ * @integer
11
+ * @minimum 1
12
+ */
13
+ id: number;
14
+ /**
15
+ * All translations for the entry, identified by IETF language tag (BCP47).
16
+ * @minProperties 1
17
+ */
18
+ translations: {
19
+ /**
20
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
21
+ */
22
+ [localeId: string]: {
23
+ /**
24
+ * The eye color.
25
+ * @minLength 1
26
+ */
27
+ name: string;
28
+ };
29
+ };
30
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main EyeColor
3
+ */
4
+ export {};
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @main HairColor
3
+ */
4
+ /**
5
+ * @title Hair Color
6
+ */
7
+ export declare type HairColor = {
8
+ /**
9
+ * The hair color's identifier. An unique, increasing integer.
10
+ * @integer
11
+ * @minimum 1
12
+ */
13
+ id: number;
14
+ /**
15
+ * All translations for the entry, identified by IETF language tag (BCP47).
16
+ * @minProperties 1
17
+ */
18
+ translations: {
19
+ /**
20
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
21
+ */
22
+ [localeId: string]: {
23
+ /**
24
+ * The hair color.
25
+ * @minLength 1
26
+ */
27
+ name: string;
28
+ };
29
+ };
30
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main HairColor
3
+ */
4
+ export {};
@@ -0,0 +1,297 @@
1
+ /**
2
+ * @main Curriculum
3
+ */
4
+ import { Errata } from "./source/_Erratum";
5
+ import { PublicationRefs } from "./source/_PublicationRef";
6
+ /**
7
+ * This is a curriculum of a specified academy, containing the guideline,
8
+ * elective and restricted spellworks as well as the lesson packages of that
9
+ * academy.
10
+ * @title Curriculum
11
+ */
12
+ export declare type Curriculum = {
13
+ /**
14
+ * The curriculum's identifier. An unique, increasing integer.
15
+ * @integer
16
+ * @minimum 1
17
+ */
18
+ id: number;
19
+ /**
20
+ * The institution's guideline's identifier.
21
+ * @integer
22
+ * @minimum 1
23
+ * @maximum 6
24
+ */
25
+ guideline_id: number;
26
+ /**
27
+ * The academy's elective spellworks package.
28
+ */
29
+ elective_spellworks?: ElectiveSpellworks;
30
+ /**
31
+ * The academy's restricted spellworks package.
32
+ */
33
+ restricted_spellworks?: RestrictedSpellworks;
34
+ /**
35
+ * A list of available lesson packages.
36
+ */
37
+ lesson_packages: LessonPackages;
38
+ src: PublicationRefs;
39
+ /**
40
+ * All translations for the entry, identified by IETF language tag (BCP47).
41
+ * @minProperties 1
42
+ */
43
+ translations: {
44
+ /**
45
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
46
+ */
47
+ [localeId: string]: {
48
+ /**
49
+ * The name of the academy.
50
+ * @minLength 1
51
+ */
52
+ name: string;
53
+ errata?: Errata;
54
+ };
55
+ };
56
+ };
57
+ /**
58
+ * The academy's elective spellworks package.
59
+ */
60
+ declare type ElectiveSpellworks = {
61
+ tag: "DefinedByGameMaster";
62
+ } | {
63
+ tag: "Explicit";
64
+ /**
65
+ * @minItems 1
66
+ */
67
+ list: ElectiveSpellwork[];
68
+ };
69
+ declare type ElectiveSpellwork = {
70
+ id: SpellworkId;
71
+ /**
72
+ * The elective spellwork may only take effect if a certain condition is met.
73
+ * The condition may be related to professions or profession variants, but it
74
+ * is designed so that it can work without a specific profession, as multiple
75
+ * may belong to an institute, but with referencing other entities instead.
76
+ */
77
+ restriction?: ElectiveSpellworkRestriction;
78
+ };
79
+ /**
80
+ * The elective spellwork may only take effect if a certain condition is met.
81
+ * The condition may be related to professions or profession variants, but it is
82
+ * designed so that it can work without a specific profession, as multiple may
83
+ * belong to an institute, but with referencing other entities instead.
84
+ */
85
+ declare type ElectiveSpellworkRestriction = {
86
+ tag: "Element";
87
+ /**
88
+ * The element's identifier.
89
+ * @integer
90
+ * @minimum 1
91
+ * @maximum 6
92
+ */
93
+ id: number;
94
+ };
95
+ /**
96
+ * The academy's restricted spellworks package.
97
+ * @minItems 1
98
+ */
99
+ declare type RestrictedSpellworks = RestrictedSpellwork[];
100
+ /**
101
+ * The academy's restricted spellworks package.
102
+ */
103
+ declare type RestrictedSpellwork = {
104
+ tag: "Property";
105
+ /**
106
+ * The identifier of the property that spellworks are disallowed from.
107
+ * @integer
108
+ * @minimum 1
109
+ */
110
+ id: number;
111
+ /**
112
+ * Exclude specific spellworks from the restriction.
113
+ * @minItems 1
114
+ */
115
+ exclude?: SpellworkId[];
116
+ /**
117
+ * Spellworks from this property up to a certain number are allowed.
118
+ * Spellworks excluded from this restriction definition using `exclude` do
119
+ * not contribute to the maximum.
120
+ */
121
+ maximum?: number;
122
+ } | SpellworkId | {
123
+ tag: "DemonSummoning";
124
+ } | {
125
+ tag: "Borbaradian";
126
+ } | {
127
+ tag: "DamageIntelligent";
128
+ };
129
+ /**
130
+ * A list of available lesson packages.
131
+ */
132
+ declare type LessonPackages = [LessonPackage, LessonPackage];
133
+ /**
134
+ * @title Lesson Package
135
+ * @minProperties 3
136
+ */
137
+ declare type LessonPackage = {
138
+ /**
139
+ * The lesson package's identifier. An unique, increasing integer.
140
+ * @integer
141
+ * @minimum 1
142
+ */
143
+ id: number;
144
+ /**
145
+ * The spell values difference of the lesson package. This field reflects the
146
+ * changes (difference) to the field of the same name in the profession
147
+ * package. If a spell gets to SR 0 because of this, it will be removed
148
+ * completely.
149
+ * @minItems 1
150
+ */
151
+ spellwork_changes?: {
152
+ base: SpellworkAdjustment;
153
+ replacement: SpellworkAdjustment;
154
+ }[];
155
+ skills?: SkillAdjustment[];
156
+ /**
157
+ * All translations for the entry, identified by IETF language tag (BCP47).
158
+ * @minProperties 1
159
+ */
160
+ translations: {
161
+ /**
162
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
163
+ */
164
+ [localeId: string]: {
165
+ /**
166
+ * The name of the lesson package.
167
+ * @minLength 1
168
+ */
169
+ name: string;
170
+ /**
171
+ * The spell values difference of the lesson package. Use this field to
172
+ * specify a text that is displayed instead of the generated
173
+ * `spellwork_changes` list. The field is displayed even if no list is
174
+ * present.
175
+ * @minLength 1
176
+ */
177
+ spellwork_changes?: string;
178
+ };
179
+ };
180
+ };
181
+ declare type SkillAdjustment = {
182
+ tag: "MeleeCombatTechnique";
183
+ /**
184
+ * The melee combat technique's identifier.
185
+ * @integer
186
+ * @minimum 1
187
+ */
188
+ id: number;
189
+ /**
190
+ * The combat technique points that will be added to the current combat
191
+ * technique rating.
192
+ * @integer
193
+ * @minimum -6
194
+ * @maximum 6
195
+ */
196
+ points: number;
197
+ } | {
198
+ tag: "RangedCombatTechnique";
199
+ /**
200
+ * The ranged combat technique's identifier.
201
+ * @integer
202
+ * @minimum 1
203
+ */
204
+ id: number;
205
+ /**
206
+ * The combat technique points that will be added to the current combat
207
+ * technique rating.
208
+ * @integer
209
+ * @minimum -6
210
+ * @maximum 6
211
+ */
212
+ points: number;
213
+ } | {
214
+ tag: "Skill";
215
+ /**
216
+ * The skill's identifier.
217
+ * @integer
218
+ * @minimum 1
219
+ */
220
+ id: number;
221
+ /**
222
+ * The skill points that will be added to the current skill rating.
223
+ * @integer
224
+ * @minimum -8
225
+ * @maximum 8
226
+ */
227
+ points: number;
228
+ } | SpellworkAdjustment;
229
+ declare type SpellworkAdjustment = {
230
+ tag: "Spell";
231
+ /**
232
+ * The spell's identifier.
233
+ * @integer
234
+ * @minimum 1
235
+ */
236
+ id: number;
237
+ /**
238
+ * The skill points that will be added to the current skill rating. If a
239
+ * spell gets to a skill rating of 0 because of this, it will be removed
240
+ * completely.
241
+ * @integer
242
+ * @minimum -10
243
+ * @maximum 10
244
+ */
245
+ points: number;
246
+ /**
247
+ * The target tradition's identifier. If the target spell is not from the
248
+ * Guild Mage tradition, specify the tradition identifier here.
249
+ * @integer
250
+ * @minimum 2
251
+ * @default 1
252
+ */
253
+ tradition_id?: number;
254
+ } | {
255
+ tag: "Ritual";
256
+ /**
257
+ * The ritual's identifier.
258
+ * @integer
259
+ * @minimum 1
260
+ */
261
+ id: number;
262
+ /**
263
+ * The skill points that will be added to the current skill rating. If a
264
+ * ritual gets to a skill rating of 0 because of this, it will be removed
265
+ * completely.
266
+ * @integer
267
+ * @minimum -10
268
+ * @maximum 10
269
+ */
270
+ points: number;
271
+ /**
272
+ * The target tradition's identifier. If the target ritual is not from the
273
+ * Guild Mage tradition, specify the tradition identifier here.
274
+ * @integer
275
+ * @minimum 2
276
+ * @default 1
277
+ */
278
+ tradition_id?: number;
279
+ };
280
+ declare type SpellworkId = {
281
+ tag: "Spell";
282
+ /**
283
+ * The spell's identifier.
284
+ * @integer
285
+ * @minimum 1
286
+ */
287
+ id: number;
288
+ } | {
289
+ tag: "Ritual";
290
+ /**
291
+ * The ritual's identifier.
292
+ * @integer
293
+ * @minimum 1
294
+ */
295
+ id: number;
296
+ };
297
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main Curriculum
3
+ */
4
+ export {};
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @main Guideline
3
+ */
4
+ /**
5
+ * @title Guideline
6
+ */
7
+ export declare type Guideline = {
8
+ /**
9
+ * The region's identifier. An unique, increasing integer.
10
+ * @integer
11
+ * @minimum 1
12
+ */
13
+ id: number;
14
+ /**
15
+ * Maximum number of spells that can be exchanged.
16
+ * @integer
17
+ * @minimum 0
18
+ */
19
+ spellwork_changes_allowed: number;
20
+ /**
21
+ * All translations for the entry, identified by IETF language tag (BCP47).
22
+ * @minProperties 1
23
+ */
24
+ translations: {
25
+ /**
26
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
27
+ */
28
+ [localeId: string]: {
29
+ /**
30
+ * The guideline name.
31
+ * @minLength 1
32
+ */
33
+ name: string;
34
+ };
35
+ };
36
+ };
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main Guideline
3
+ */
4
+ export {};
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @main Locales
3
+ */
4
+ /**
5
+ * @title Supported locales
6
+ */
7
+ declare type Locales = Locale[];
8
+ /**
9
+ * @title Supported locale
10
+ */
11
+ declare type Locale = {
12
+ /**
13
+ * The locale's identifier. An IETF language tag (BCP47).
14
+ * @pattern ^[a-z]{2}-[A-Z]{2}$
15
+ */
16
+ id: string;
17
+ /**
18
+ * Name of the language in it's language.
19
+ * @minLength 1
20
+ * @example "Deutsch"
21
+ * @example "English"
22
+ * @example "Nederlands"
23
+ */
24
+ name: string;
25
+ /**
26
+ * Region in which the language is spoken in it's language.
27
+ * @minLength 1
28
+ * @example "Deutschland"
29
+ * @example "United States"
30
+ * @example "België"
31
+ */
32
+ region: string;
33
+ /**
34
+ * The language is not (fully) implemented and thus needs to be excluded from
35
+ * stable releases.
36
+ */
37
+ is_missing_implementation?: boolean;
38
+ };
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+ /**
3
+ * @main Locales
4
+ */
@@ -0,0 +1,54 @@
1
+ /**
2
+ * @main MetaCondition
3
+ */
4
+ import { Errata } from "./source/_Erratum";
5
+ import { PublicationRefs } from "./source/_PublicationRef";
6
+ /**
7
+ * Meta Conditions are rule elements that work like conditions in the sense that
8
+ * they have four levels with different effects, but which are not explicitly
9
+ * listed as conditions.
10
+ * @title Meta Condition
11
+ */
12
+ export declare type MetaCondition = {
13
+ /**
14
+ * The meta condition's identifier. An unique, increasing integer.
15
+ * @integer
16
+ * @minimum 1
17
+ */
18
+ id: number;
19
+ src: PublicationRefs;
20
+ /**
21
+ * All translations for the entry, identified by IETF language tag (BCP47).
22
+ * @minProperties 1
23
+ */
24
+ translations: {
25
+ /**
26
+ * @patternProperties ^[a-z]{2}-[A-Z]{2}$
27
+ */
28
+ [localeId: string]: {
29
+ /**
30
+ * The meta condition's name.
31
+ * @minLength 1
32
+ */
33
+ name: string;
34
+ /**
35
+ * Additional rules for the meta condition, if applicable.
36
+ * @markdown
37
+ * @minLength 1
38
+ */
39
+ rules?: string;
40
+ /**
41
+ * The effects for level 1 to 4.
42
+ */
43
+ effects: [Effect, Effect, Effect, Effect];
44
+ errata?: Errata;
45
+ };
46
+ };
47
+ };
48
+ /**
49
+ * The effect on a level.
50
+ * @markdown
51
+ * @minLength 1
52
+ */
53
+ declare type Effect = string;
54
+ export {};
@@ -0,0 +1,4 @@
1
+ /**
2
+ * @main MetaCondition
3
+ */
4
+ export {};