@optolith/entity-descriptions 0.11.0 → 0.11.2
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.
- package/CHANGELOG.md +19 -0
- package/lib/entities/activatable.d.ts +2 -1
- package/lib/entities/activatable.js +45 -18
- package/lib/entities/disease.d.ts +1 -1
- package/lib/entities/elixir.js +9 -1
- package/lib/entities/equipment.d.ts +1 -1
- package/lib/entities/influence.js +10 -1
- package/lib/entities/partial/activatableNameChunks.d.ts +2 -2
- package/lib/entities/partial/activatableNameChunks.js +18 -4
- package/lib/entities/partial/adventurePointsValue.js +19 -12
- package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.d.ts +1 -1
- package/lib/entities/partial/commonnessRatedAdvantagesAndDisadvantages.js +1 -1
- package/lib/entities/partial/enhancements.d.ts +1 -1
- package/lib/entities/partial/enhancements.js +13 -4
- package/lib/entities/partial/map.d.ts +1 -1
- package/lib/entities/partial/prerequisites/displayOption.d.ts +2 -7
- package/lib/entities/partial/prerequisites/displayOption.js +1 -18
- package/lib/entities/partial/prerequisites/index.d.ts +22 -20
- package/lib/entities/partial/prerequisites/index.js +68 -65
- package/lib/entities/partial/prerequisites/part.d.ts +3 -4
- package/lib/entities/partial/prerequisites/part.js +13 -11
- package/lib/entities/partial/prerequisites/prerequisiteGroups.d.ts +16 -18
- package/lib/entities/partial/prerequisites/prerequisiteGroups.js +90 -82
- package/lib/entities/partial/prerequisites/single/activatable.d.ts +4 -5
- package/lib/entities/partial/prerequisites/single/activatable.js +21 -29
- package/lib/entities/partial/prerequisites/single/animistPower.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/animistPower.js +6 -9
- package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.d.ts +1 -1
- package/lib/entities/partial/prerequisites/single/anySpecialAbilityOfGroup.js +4 -7
- package/lib/entities/partial/prerequisites/single/blessedTradition.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/blessedTradition.js +15 -17
- package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/commonSuggestedByRCP.js +9 -6
- package/lib/entities/partial/prerequisites/single/culture.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/culture.js +8 -15
- package/lib/entities/partial/prerequisites/single/enhancement.d.ts +1 -1
- package/lib/entities/partial/prerequisites/single/enhancement.js +1 -1
- package/lib/entities/partial/prerequisites/single/influence.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/influence.js +7 -10
- package/lib/entities/partial/prerequisites/single/magicalTradition.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/magicalTradition.js +10 -12
- package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/noOtherAncestorBloodAdvantage.js +4 -3
- package/lib/entities/partial/prerequisites/single/pact.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/pact.js +17 -18
- package/lib/entities/partial/prerequisites/single/personalityTrait.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/personalityTrait.js +21 -22
- package/lib/entities/partial/prerequisites/single/primaryAttribute.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/primaryAttribute.js +6 -8
- package/lib/entities/partial/prerequisites/single/profession.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/profession.js +11 -14
- package/lib/entities/partial/prerequisites/single/publication.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/publication.js +7 -13
- package/lib/entities/partial/prerequisites/single/race.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/race.js +8 -15
- package/lib/entities/partial/prerequisites/single/rated.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/rated.js +7 -9
- package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/ratedMinimumNumber.js +52 -53
- package/lib/entities/partial/prerequisites/single/ratedSum.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/ratedSum.js +15 -15
- package/lib/entities/partial/prerequisites/single/rule.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/rule.js +2 -1
- package/lib/entities/partial/prerequisites/single/sex.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/sex.js +7 -6
- package/lib/entities/partial/prerequisites/single/sexualCharacteristic.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/sexualCharacteristic.js +11 -8
- package/lib/entities/partial/prerequisites/single/socialStatus.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/socialStatus.js +9 -15
- package/lib/entities/partial/prerequisites/single/state.d.ts +2 -3
- package/lib/entities/partial/prerequisites/single/state.js +8 -15
- package/lib/entities/partial/prerequisites/single/text.d.ts +2 -2
- package/lib/entities/partial/prerequisites/single/text.js +4 -3
- package/lib/entities/partial/prerequisites/single/tinyActivatable.d.ts +1 -1
- package/lib/entities/partial/prerequisites/single/tinyActivatable.js +5 -8
- package/lib/entities/partial/rated/activatable/castingTime.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/checkResultBased.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/cost.d.ts +3 -3
- package/lib/entities/partial/rated/activatable/duration.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/duration.js +1 -1
- package/lib/entities/partial/rated/activatable/effect.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/index.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/isMinimumMaximum.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/nonModifiableSuffix.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/nonModifiableSuffix.js +1 -1
- package/lib/entities/partial/rated/activatable/range.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/targetCategory.d.ts +1 -1
- package/lib/entities/partial/rated/activatable/targetCategory.js +2 -5
- package/lib/entities/partial/rated/improvementCost.d.ts +1 -1
- package/lib/entities/partial/rated/skillCheck.d.ts +1 -1
- package/lib/entities/partial/reader.d.ts +3 -58
- package/lib/entities/partial/responsiveText.d.ts +2 -2
- package/lib/entities/partial/units/length.d.ts +1 -1
- package/lib/entities/partial/units/timeSpan.d.ts +3 -4
- package/lib/entities/personalityTrait.js +8 -1
- package/lib/entities/poison.js +5 -1
- package/lib/entities/profession.js +9 -15
- package/lib/entities/race.d.ts +1 -1
- package/lib/entities/race.js +16 -12
- package/lib/entities/spell.js +5 -2
- package/lib/env.d.ts +66 -0
- package/lib/env.js +1 -0
- package/lib/index.d.ts +88 -88
- package/lib/references/publicationOptions.d.ts +1 -1
- package/lib/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/lib/entities/partial/prerequisites/single/anyActivatableOfGroup.d.ts +0 -7
- package/lib/entities/partial/prerequisites/single/anyActivatableOfGroup.js +0 -16
- package/lib/entities/partial/prerequisites/single/rated copy.d.ts +0 -8
- package/lib/entities/partial/prerequisites/single/rated copy.js +0 -17
- package/lib/entities/partial/prerequisites/single/tinyActivatable copy.d.ts +0 -7
- package/lib/entities/partial/prerequisites/single/tinyActivatable copy.js +0 -16
- package/lib/helpers/publicationOptions.d.ts +0 -42
- package/lib/helpers/publicationOptions.js +0 -64
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { assertExhaustive } from "@optolith/helpers/typeSafety";
|
|
2
|
-
import { printActivatablePrerequisite
|
|
2
|
+
import { printActivatablePrerequisite } from "./single/activatable.js";
|
|
3
3
|
import { printAnimistPowerPrerequisite } from "./single/animistPower.js";
|
|
4
4
|
import { printBlessedTraditionPrerequisite } from "./single/blessedTradition.js";
|
|
5
5
|
import { printCommonSuggestedByRCPPrerequisite } from "./single/commonSuggestedByRCP.js";
|
|
@@ -27,14 +27,14 @@ import { printTinyActivatablePrerequisite } from "./single/tinyActivatable.js";
|
|
|
27
27
|
/**
|
|
28
28
|
* Print the translation of a derived characteristic prerequisite group.
|
|
29
29
|
*/
|
|
30
|
-
export const printDerivedCharacteristicPrerequisiteGroup = (
|
|
30
|
+
export const printDerivedCharacteristicPrerequisiteGroup = (prerequisite) => {
|
|
31
31
|
switch (prerequisite.kind) {
|
|
32
32
|
case "Rule":
|
|
33
|
-
return printRulePrerequisite(
|
|
33
|
+
return printRulePrerequisite(prerequisite.Rule);
|
|
34
34
|
case "BlessedTradition":
|
|
35
|
-
return printBlessedTraditionPrerequisite(
|
|
35
|
+
return printBlessedTraditionPrerequisite(prerequisite.BlessedTradition);
|
|
36
36
|
case "MagicalTradition":
|
|
37
|
-
return printMagicalTraditionPrerequisite(
|
|
37
|
+
return printMagicalTraditionPrerequisite(prerequisite.MagicalTradition);
|
|
38
38
|
default:
|
|
39
39
|
return assertExhaustive(prerequisite);
|
|
40
40
|
}
|
|
@@ -42,64 +42,61 @@ export const printDerivedCharacteristicPrerequisiteGroup = (locale, prerequisite
|
|
|
42
42
|
/**
|
|
43
43
|
* Print the translation of a publication prerequisite group.
|
|
44
44
|
*/
|
|
45
|
-
export const printPublicationPrerequisiteGroup = (
|
|
45
|
+
export const printPublicationPrerequisiteGroup = (prerequisite) =>
|
|
46
46
|
// switch (prerequisite.tag) {
|
|
47
47
|
// case "Publication":
|
|
48
48
|
// default:
|
|
49
49
|
// return assertExhaustive(prerequisite)
|
|
50
50
|
// }
|
|
51
|
-
printPublicationPrerequisite(
|
|
51
|
+
printPublicationPrerequisite(prerequisite.Publication);
|
|
52
52
|
/**
|
|
53
53
|
* Print the translation of a general prerequisite group.
|
|
54
54
|
*/
|
|
55
|
-
export const printGeneralPrerequisiteGroup = (
|
|
55
|
+
export const printGeneralPrerequisiteGroup = (prerequisite) => {
|
|
56
56
|
switch (prerequisite.kind) {
|
|
57
57
|
case "Sex":
|
|
58
|
-
return printBinarySexPrerequisite(
|
|
58
|
+
return printBinarySexPrerequisite(prerequisite.Sex);
|
|
59
59
|
case "Race":
|
|
60
|
-
return printRacePrerequisite(
|
|
60
|
+
return printRacePrerequisite(prerequisite.Race);
|
|
61
61
|
case "Culture":
|
|
62
|
-
return printCulturePrerequisite(
|
|
62
|
+
return printCulturePrerequisite(prerequisite.Culture);
|
|
63
63
|
case "Pact":
|
|
64
|
-
return printPactPrerequisite(
|
|
64
|
+
return printPactPrerequisite(prerequisite.Pact);
|
|
65
65
|
case "SocialStatus":
|
|
66
|
-
return printSocialStatusPrerequisite(
|
|
66
|
+
return printSocialStatusPrerequisite(prerequisite.SocialStatus);
|
|
67
67
|
case "State":
|
|
68
|
-
return printStatePrerequisite(
|
|
68
|
+
return printStatePrerequisite(prerequisite.State);
|
|
69
69
|
case "Rule":
|
|
70
|
-
return printRulePrerequisite(
|
|
70
|
+
return printRulePrerequisite(prerequisite.Rule);
|
|
71
71
|
case "PrimaryAttribute":
|
|
72
|
-
return printPrimaryAttributePrerequisite(
|
|
72
|
+
return printPrimaryAttributePrerequisite(prerequisite.PrimaryAttribute);
|
|
73
73
|
case "Activatable":
|
|
74
|
-
return printActivatablePrerequisite(
|
|
74
|
+
return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
|
|
75
|
+
...env,
|
|
76
|
+
displayedInProfession: false,
|
|
77
|
+
}));
|
|
75
78
|
case "BlessedTradition":
|
|
76
|
-
return printBlessedTraditionPrerequisite(
|
|
79
|
+
return printBlessedTraditionPrerequisite(prerequisite.BlessedTradition);
|
|
77
80
|
case "MagicalTradition":
|
|
78
|
-
return printMagicalTraditionPrerequisite(
|
|
81
|
+
return printMagicalTraditionPrerequisite(prerequisite.MagicalTradition);
|
|
79
82
|
case "TinyActivatable":
|
|
80
|
-
return printTinyActivatablePrerequisite(prerequisite.TinyActivatable)
|
|
81
|
-
getInstanceById,
|
|
82
|
-
translateMap: locale.translateMap,
|
|
83
|
-
});
|
|
83
|
+
return printTinyActivatablePrerequisite(prerequisite.TinyActivatable);
|
|
84
84
|
case "AnySpecialAbilityOfGroup":
|
|
85
|
-
return printMagicalTraditionPrerequisite(
|
|
85
|
+
return printMagicalTraditionPrerequisite(prerequisite.AnySpecialAbilityOfGroup);
|
|
86
86
|
case "Rated":
|
|
87
|
-
return printRatedPrerequisite(
|
|
87
|
+
return printRatedPrerequisite(prerequisite.Rated);
|
|
88
88
|
case "RatedMinimumNumber":
|
|
89
|
-
return printRatedMinimumNumberPrerequisite(
|
|
89
|
+
return printRatedMinimumNumberPrerequisite(prerequisite.RatedMinimumNumber);
|
|
90
90
|
case "RatedSum":
|
|
91
|
-
return printRatedSumPrerequisite(
|
|
91
|
+
return printRatedSumPrerequisite(prerequisite.RatedSum);
|
|
92
92
|
case "Enhancement":
|
|
93
|
-
return printEnhancementPrerequisite(prerequisite.Enhancement)
|
|
94
|
-
...locale,
|
|
95
|
-
getInstanceById,
|
|
96
|
-
});
|
|
93
|
+
return printEnhancementPrerequisite(prerequisite.Enhancement);
|
|
97
94
|
case "Text":
|
|
98
|
-
return printTextPrerequisite(
|
|
95
|
+
return printTextPrerequisite(prerequisite.Text);
|
|
99
96
|
case "SexualCharacteristic":
|
|
100
|
-
return printSexualCharacteristicPrerequisite(
|
|
97
|
+
return printSexualCharacteristicPrerequisite(prerequisite.SexualCharacteristic);
|
|
101
98
|
case "PersonalityTrait":
|
|
102
|
-
return printPersonalityTraitPrerequisite(
|
|
99
|
+
return printPersonalityTraitPrerequisite(prerequisite.PersonalityTrait);
|
|
103
100
|
default:
|
|
104
101
|
return assertExhaustive(prerequisite);
|
|
105
102
|
}
|
|
@@ -107,18 +104,21 @@ export const printGeneralPrerequisiteGroup = (getInstanceById, getResolvedSelect
|
|
|
107
104
|
/**
|
|
108
105
|
* Print the translation of a profession prerequisite group.
|
|
109
106
|
*/
|
|
110
|
-
export const printProfessionPrerequisiteGroup = (
|
|
107
|
+
export const printProfessionPrerequisiteGroup = (prerequisite) => {
|
|
111
108
|
switch (prerequisite.kind) {
|
|
112
109
|
case "Sex":
|
|
113
|
-
return printBinarySexPrerequisite(
|
|
110
|
+
return printBinarySexPrerequisite(prerequisite.Sex);
|
|
114
111
|
case "Race":
|
|
115
|
-
return printRacePrerequisite(
|
|
112
|
+
return printRacePrerequisite(prerequisite.Race);
|
|
116
113
|
case "Culture":
|
|
117
|
-
return printCulturePrerequisite(
|
|
114
|
+
return printCulturePrerequisite(prerequisite.Culture);
|
|
118
115
|
case "Activatable":
|
|
119
|
-
return printActivatablePrerequisite(
|
|
116
|
+
return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
|
|
117
|
+
...env,
|
|
118
|
+
displayedInProfession: true,
|
|
119
|
+
}));
|
|
120
120
|
case "Rated":
|
|
121
|
-
return printRatedPrerequisite(
|
|
121
|
+
return printRatedPrerequisite(prerequisite.Rated);
|
|
122
122
|
default:
|
|
123
123
|
return assertExhaustive(prerequisite);
|
|
124
124
|
}
|
|
@@ -126,12 +126,12 @@ export const printProfessionPrerequisiteGroup = (getInstanceById, getResolvedSel
|
|
|
126
126
|
/**
|
|
127
127
|
* Print the translation of an advantage/disadvantage prerequisite group.
|
|
128
128
|
*/
|
|
129
|
-
export const printAdvantageDisadvantagePrerequisiteGroup = (
|
|
129
|
+
export const printAdvantageDisadvantagePrerequisiteGroup = (prerequisite, name, type) => {
|
|
130
130
|
switch (prerequisite.kind) {
|
|
131
131
|
case "CommonSuggestedByRCP":
|
|
132
|
-
return printCommonSuggestedByRCPPrerequisite(
|
|
132
|
+
return printCommonSuggestedByRCPPrerequisite(name, type);
|
|
133
133
|
case "NoOtherAncestorBloodAdvantage":
|
|
134
|
-
return printNoOtherAncestorBloodAdvantagePrerequisite
|
|
134
|
+
return printNoOtherAncestorBloodAdvantagePrerequisite;
|
|
135
135
|
case "Sex":
|
|
136
136
|
case "Race":
|
|
137
137
|
case "Culture":
|
|
@@ -152,7 +152,7 @@ export const printAdvantageDisadvantagePrerequisiteGroup = (getInstanceById, get
|
|
|
152
152
|
case "Text":
|
|
153
153
|
case "SexualCharacteristic":
|
|
154
154
|
case "PersonalityTrait":
|
|
155
|
-
return printGeneralPrerequisiteGroup(
|
|
155
|
+
return printGeneralPrerequisiteGroup(prerequisite);
|
|
156
156
|
default:
|
|
157
157
|
return assertExhaustive(prerequisite);
|
|
158
158
|
}
|
|
@@ -160,12 +160,12 @@ export const printAdvantageDisadvantagePrerequisiteGroup = (getInstanceById, get
|
|
|
160
160
|
/**
|
|
161
161
|
* Print the translation of an arcane tradition prerequisite group.
|
|
162
162
|
*/
|
|
163
|
-
export const printArcaneTraditionPrerequisiteGroup = (
|
|
163
|
+
export const printArcaneTraditionPrerequisiteGroup = (prerequisite) => {
|
|
164
164
|
switch (prerequisite.kind) {
|
|
165
165
|
case "Sex":
|
|
166
|
-
return printBinarySexPrerequisite(
|
|
166
|
+
return printBinarySexPrerequisite(prerequisite.Sex);
|
|
167
167
|
case "Culture":
|
|
168
|
-
return printCulturePrerequisite(
|
|
168
|
+
return printCulturePrerequisite(prerequisite.Culture);
|
|
169
169
|
default:
|
|
170
170
|
return assertExhaustive(prerequisite);
|
|
171
171
|
}
|
|
@@ -173,16 +173,16 @@ export const printArcaneTraditionPrerequisiteGroup = (getInstanceById, locale, p
|
|
|
173
173
|
/**
|
|
174
174
|
* Print the translation of a personality trait prerequisite group.
|
|
175
175
|
*/
|
|
176
|
-
export const printPersonalityTraitPrerequisiteGroup = (
|
|
176
|
+
export const printPersonalityTraitPrerequisiteGroup = (prerequisite) => {
|
|
177
177
|
switch (prerequisite.kind) {
|
|
178
178
|
case "Race":
|
|
179
|
-
return printRacePrerequisite(
|
|
179
|
+
return printRacePrerequisite(prerequisite.Race);
|
|
180
180
|
case "Culture":
|
|
181
|
-
return printCulturePrerequisite(
|
|
181
|
+
return printCulturePrerequisite(prerequisite.Culture);
|
|
182
182
|
case "PersonalityTrait":
|
|
183
|
-
return printPersonalityTraitPrerequisite(
|
|
183
|
+
return printPersonalityTraitPrerequisite(prerequisite.PersonalityTrait);
|
|
184
184
|
case "Text":
|
|
185
|
-
return printTextPrerequisite(
|
|
185
|
+
return printTextPrerequisite(prerequisite.Text);
|
|
186
186
|
default:
|
|
187
187
|
return assertExhaustive(prerequisite);
|
|
188
188
|
}
|
|
@@ -190,12 +190,12 @@ export const printPersonalityTraitPrerequisiteGroup = (getInstanceById, locale,
|
|
|
190
190
|
/**
|
|
191
191
|
* Print the translation of a spellwork prerequisite group.
|
|
192
192
|
*/
|
|
193
|
-
export const printSpellworkPrerequisiteGroup = (
|
|
193
|
+
export const printSpellworkPrerequisiteGroup = (prerequisite) => {
|
|
194
194
|
switch (prerequisite.kind) {
|
|
195
195
|
case "Rule":
|
|
196
|
-
return printRulePrerequisite(
|
|
196
|
+
return printRulePrerequisite(prerequisite.Rule);
|
|
197
197
|
case "Rated":
|
|
198
|
-
return printRatedPrerequisite(
|
|
198
|
+
return printRatedPrerequisite(prerequisite.Rated);
|
|
199
199
|
default:
|
|
200
200
|
return assertExhaustive(prerequisite);
|
|
201
201
|
}
|
|
@@ -203,28 +203,31 @@ export const printSpellworkPrerequisiteGroup = (getInstanceById, locale, prerequ
|
|
|
203
203
|
/**
|
|
204
204
|
* Print the translation of a liturgy prerequisite group.
|
|
205
205
|
*/
|
|
206
|
-
export const printLiturgyPrerequisiteGroup = (
|
|
206
|
+
export const printLiturgyPrerequisiteGroup = (prerequisite) =>
|
|
207
207
|
// switch (prerequisite.tag) {
|
|
208
208
|
// case "Rule":
|
|
209
209
|
// default:
|
|
210
210
|
// return assertExhaustive(prerequisite)
|
|
211
211
|
// }
|
|
212
|
-
printRulePrerequisite(
|
|
212
|
+
printRulePrerequisite(prerequisite.Rule);
|
|
213
213
|
/**
|
|
214
214
|
* Print the translation of an influence prerequisite group.
|
|
215
215
|
*/
|
|
216
|
-
export const printInfluencePrerequisiteGroup = (
|
|
216
|
+
export const printInfluencePrerequisiteGroup = (prerequisite) => {
|
|
217
217
|
switch (prerequisite.kind) {
|
|
218
218
|
case "Influence":
|
|
219
|
-
return printInfluencePrerequisite(
|
|
219
|
+
return printInfluencePrerequisite(prerequisite.Influence);
|
|
220
220
|
case "Race":
|
|
221
|
-
return printRacePrerequisite(
|
|
221
|
+
return printRacePrerequisite(prerequisite.Race);
|
|
222
222
|
case "Profession":
|
|
223
|
-
return printProfessionPrerequisite(
|
|
223
|
+
return printProfessionPrerequisite(prerequisite.Profession);
|
|
224
224
|
case "Activatable":
|
|
225
|
-
return printActivatablePrerequisite(
|
|
225
|
+
return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
|
|
226
|
+
...env,
|
|
227
|
+
displayedInProfession: false,
|
|
228
|
+
}));
|
|
226
229
|
case "Text":
|
|
227
|
-
return printTextPrerequisite(
|
|
230
|
+
return printTextPrerequisite(prerequisite.Text);
|
|
228
231
|
default:
|
|
229
232
|
return assertExhaustive(prerequisite);
|
|
230
233
|
}
|
|
@@ -232,14 +235,17 @@ export const printInfluencePrerequisiteGroup = (getInstanceById, getResolvedSele
|
|
|
232
235
|
/**
|
|
233
236
|
* Print the translation of a language prerequisite group.
|
|
234
237
|
*/
|
|
235
|
-
export const printLanguagePrerequisiteGroup = (
|
|
238
|
+
export const printLanguagePrerequisiteGroup = (prerequisite) => {
|
|
236
239
|
switch (prerequisite.kind) {
|
|
237
240
|
case "Race":
|
|
238
|
-
return printRacePrerequisite(
|
|
241
|
+
return printRacePrerequisite(prerequisite.Race);
|
|
239
242
|
case "Activatable":
|
|
240
|
-
return printActivatablePrerequisite(
|
|
243
|
+
return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
|
|
244
|
+
...env,
|
|
245
|
+
displayedInProfession: false,
|
|
246
|
+
}));
|
|
241
247
|
case "Text":
|
|
242
|
-
return printTextPrerequisite(
|
|
248
|
+
return printTextPrerequisite(prerequisite.Text);
|
|
243
249
|
default:
|
|
244
250
|
return assertExhaustive(prerequisite);
|
|
245
251
|
}
|
|
@@ -247,22 +253,25 @@ export const printLanguagePrerequisiteGroup = (getInstanceById, getResolvedSelec
|
|
|
247
253
|
/**
|
|
248
254
|
* Print the translation of an animist power prerequisite group.
|
|
249
255
|
*/
|
|
250
|
-
export const printAnimistPowerPrerequisiteGroup = (
|
|
256
|
+
export const printAnimistPowerPrerequisiteGroup = (prerequisite) =>
|
|
251
257
|
// switch (prerequisite.tag) {
|
|
252
258
|
// case "AnimistPower":
|
|
253
259
|
// default:
|
|
254
260
|
// return assertExhaustive(prerequisite)
|
|
255
261
|
// }
|
|
256
|
-
printAnimistPowerPrerequisite(
|
|
262
|
+
printAnimistPowerPrerequisite(prerequisite.AnimistPower);
|
|
257
263
|
/**
|
|
258
264
|
* Print the translation of a geode ritual prerequisite group.
|
|
259
265
|
*/
|
|
260
|
-
export const printGeodeRitualPrerequisiteGroup = (
|
|
266
|
+
export const printGeodeRitualPrerequisiteGroup = (prerequisite) => {
|
|
261
267
|
switch (prerequisite.kind) {
|
|
262
268
|
case "Activatable":
|
|
263
|
-
return printActivatablePrerequisite(
|
|
269
|
+
return printActivatablePrerequisite(prerequisite.Activatable).with(env => ({
|
|
270
|
+
...env,
|
|
271
|
+
displayedInProfession: false,
|
|
272
|
+
}));
|
|
264
273
|
case "Influence":
|
|
265
|
-
return printInfluencePrerequisite(
|
|
274
|
+
return printInfluencePrerequisite(prerequisite.Influence);
|
|
266
275
|
default:
|
|
267
276
|
return assertExhaustive(prerequisite);
|
|
268
277
|
}
|
|
@@ -270,16 +279,15 @@ export const printGeodeRitualPrerequisiteGroup = (getInstanceById, getResolvedSe
|
|
|
270
279
|
/**
|
|
271
280
|
* Print the translation of an enhancement prerequisite group.
|
|
272
281
|
*/
|
|
273
|
-
export const printEnhancementPrerequisiteGroup = (
|
|
282
|
+
export const printEnhancementPrerequisiteGroup = (prerequisite) => {
|
|
274
283
|
switch (prerequisite.kind) {
|
|
275
284
|
case "Rated":
|
|
276
|
-
return printRatedPrerequisite(
|
|
285
|
+
return printRatedPrerequisite(prerequisite.Rated);
|
|
277
286
|
case "Enhancement":
|
|
278
|
-
return printEnhancementPrerequisite(prerequisite.Enhancement).
|
|
279
|
-
...
|
|
280
|
-
getInstanceById,
|
|
287
|
+
return printEnhancementPrerequisite(prerequisite.Enhancement).with(env => ({
|
|
288
|
+
...env,
|
|
281
289
|
hideParent: true,
|
|
282
|
-
});
|
|
290
|
+
}));
|
|
283
291
|
default:
|
|
284
292
|
return assertExhaustive(prerequisite);
|
|
285
293
|
}
|
|
@@ -287,14 +295,14 @@ export const printEnhancementPrerequisiteGroup = (getInstanceById, locale, prere
|
|
|
287
295
|
/**
|
|
288
296
|
* Print the translation of a precondition group.
|
|
289
297
|
*/
|
|
290
|
-
export const printPreconditionGroup = (
|
|
298
|
+
export const printPreconditionGroup = (prerequisite) => {
|
|
291
299
|
switch (prerequisite.kind) {
|
|
292
300
|
case "Publication":
|
|
293
|
-
return printPublicationPrerequisite(
|
|
301
|
+
return printPublicationPrerequisite(prerequisite.Publication);
|
|
294
302
|
case "Rule":
|
|
295
|
-
return printRulePrerequisite(
|
|
303
|
+
return printRulePrerequisite(prerequisite.Rule);
|
|
296
304
|
case "SexualCharacteristic":
|
|
297
|
-
return printSexualCharacteristicPrerequisite(
|
|
305
|
+
return printSexualCharacteristicPrerequisite(prerequisite.SexualCharacteristic);
|
|
298
306
|
default:
|
|
299
307
|
return assertExhaustive(prerequisite);
|
|
300
308
|
}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { ResolvedSelectOption, ResolvedSelectOptionIdentifier } from "@optolith/database-schema/cache";
|
|
2
2
|
import type { ActivatableIdentifier, ActivatablePrerequisite, RequirableSelectOptionIdentifier } from "@optolith/database-schema/gen";
|
|
3
|
-
import type {
|
|
4
|
-
import type
|
|
5
|
-
import type { Translate } from "../../../../helpers/translate.js";
|
|
3
|
+
import type { StdReader } from "../../../../env.js";
|
|
4
|
+
import { type ActivatableNameComponents } from "../../activatableNameChunks.js";
|
|
6
5
|
import type { PrerequisitePart } from "../part.js";
|
|
7
6
|
/**
|
|
8
7
|
* Gets a resolved select option by its identifier.
|
|
@@ -11,8 +10,8 @@ export type GetResolvedSelectOptionById = (id: ActivatableIdentifier, selectOpti
|
|
|
11
10
|
/**
|
|
12
11
|
* Get the name components of an activatable.
|
|
13
12
|
*/
|
|
14
|
-
export declare const printActivatableName: (
|
|
13
|
+
export declare const printActivatableName: (id: ActivatableIdentifier, options: RequirableSelectOptionIdentifier[] | undefined, level: number | undefined) => StdReader<ActivatableNameComponents | undefined, "t" | "rso" | "ibi" | "dip", ActivatableIdentifier["kind"] | "Aspect">;
|
|
15
14
|
/**
|
|
16
15
|
* Get the translation of a blessed tradition prerequisite.
|
|
17
16
|
*/
|
|
18
|
-
export declare const printActivatablePrerequisite: (
|
|
17
|
+
export declare const printActivatablePrerequisite: (prerequisite: ActivatablePrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "rso" | "ibi" | "dip", ActivatableIdentifier["kind"] | "Aspect">;
|
|
@@ -1,40 +1,32 @@
|
|
|
1
|
+
import { Reader } from "@elyukai/utils/reader";
|
|
1
2
|
import { getNameComponents } from "../../activatableNameChunks.js";
|
|
3
|
+
import { getInstanceByIdR, translateR } from "../../reader.js";
|
|
4
|
+
import { MISSING_VALUE } from "../../unknown.js";
|
|
2
5
|
import { printDisplayOption } from "../displayOption.js";
|
|
3
6
|
/**
|
|
4
7
|
* Get the name components of an activatable.
|
|
5
8
|
*/
|
|
6
|
-
export const printActivatableName = (
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
return undefined;
|
|
10
|
-
}
|
|
11
|
-
return getNameComponents(translate, id, options, level, entry.nameBuilderRules, entry.translations, t => t.name, getResolvedSelectOptionById, displayedInProfession);
|
|
12
|
-
};
|
|
9
|
+
export const printActivatableName = (id, options, level) => getInstanceByIdR(id).thenW((entry) => entry === undefined
|
|
10
|
+
? Reader.of(undefined)
|
|
11
|
+
: Reader.asks((env) => getNameComponents(env.translate, id, options, level, entry.nameBuilderRules, entry.translations, t => t.name, env.getResolvedSelectOptionById, env.displayedInProfession)));
|
|
13
12
|
/**
|
|
14
13
|
* Get the translation of a blessed tradition prerequisite.
|
|
15
14
|
*/
|
|
16
|
-
export const printActivatablePrerequisite = (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}
|
|
24
|
-
return {
|
|
25
|
-
label: `${prerequisite.id.kind === "Advantage"
|
|
15
|
+
export const printActivatablePrerequisite = (prerequisite) => prerequisite.display_option !== undefined
|
|
16
|
+
? printDisplayOption(prerequisite.display_option)
|
|
17
|
+
: printActivatableName(prerequisite.id, prerequisite.options, prerequisite.level).then(nameComponents => (prerequisite.id.kind === "Advantage"
|
|
18
|
+
? prerequisite.active
|
|
19
|
+
? translateR("advantage")
|
|
20
|
+
: translateR("no advantage")
|
|
21
|
+
: prerequisite.id.kind === "Disadvantage"
|
|
26
22
|
? prerequisite.active
|
|
27
|
-
?
|
|
28
|
-
:
|
|
29
|
-
: prerequisite.
|
|
30
|
-
?
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
? locale.translate("special ability")
|
|
35
|
-
: locale.translate("no special ability")} `,
|
|
36
|
-
value: nameComponents,
|
|
23
|
+
? translateR("disadvantage")
|
|
24
|
+
: translateR("no disadvantage")
|
|
25
|
+
: prerequisite.active
|
|
26
|
+
? translateR("special ability")
|
|
27
|
+
: translateR("no special ability")).map((label) => ({
|
|
28
|
+
label: `${label} `,
|
|
29
|
+
value: nameComponents ?? MISSING_VALUE,
|
|
37
30
|
sentenceType: undefined,
|
|
38
31
|
isMeta: false,
|
|
39
|
-
};
|
|
40
|
-
};
|
|
32
|
+
})));
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { AnimistPowerPrerequisite } from "@optolith/database-schema/gen";
|
|
2
|
-
import {
|
|
3
|
-
import type { LocaleEnvironment } from "../../../../helpers/locale.js";
|
|
2
|
+
import type { StdReader } from "../../../../env.js";
|
|
4
3
|
import type { PrerequisitePart } from "../part.js";
|
|
5
4
|
/**
|
|
6
5
|
* Get the translation of a culture prerequisite.
|
|
7
6
|
*/
|
|
8
|
-
export declare const printAnimistPowerPrerequisite: (
|
|
7
|
+
export declare const printAnimistPowerPrerequisite: (prerequisite: AnimistPowerPrerequisite) => StdReader<PrerequisitePart | undefined, "tm" | "ibi", "AnimistPower">;
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { isNotNullish } from "@optolith/helpers/nullable";
|
|
2
2
|
import { romanize } from "@optolith/helpers/roman";
|
|
3
|
+
import { attributedNameR } from "../../reader.js";
|
|
3
4
|
import { printDisplayOption } from "../displayOption.js";
|
|
4
5
|
/**
|
|
5
6
|
* Get the translation of a culture prerequisite.
|
|
6
7
|
*/
|
|
7
|
-
export const printAnimistPowerPrerequisite = (
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
const animistPower = getInstanceById("AnimistPower", prerequisite.id);
|
|
12
|
-
return {
|
|
8
|
+
export const printAnimistPowerPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
|
|
9
|
+
? printDisplayOption(prerequisite.display_option)
|
|
10
|
+
: attributedNameR("prerequisite", "AnimistPower", prerequisite.id).map(name => ({
|
|
13
11
|
value: [
|
|
14
|
-
|
|
12
|
+
name ?? "MISSING_VALUE",
|
|
15
13
|
prerequisite.level === undefined ? undefined : romanize(prerequisite.level),
|
|
16
14
|
prerequisite.value.toFixed(),
|
|
17
15
|
]
|
|
@@ -19,5 +17,4 @@ export const printAnimistPowerPrerequisite = (getInstanceById, locale, prerequis
|
|
|
19
17
|
.join(" "),
|
|
20
18
|
sentenceType: undefined,
|
|
21
19
|
isMeta: false,
|
|
22
|
-
};
|
|
23
|
-
};
|
|
20
|
+
}));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnySpecialAbilityOfGroupPrerequisite } from "@optolith/database-schema/gen";
|
|
2
|
-
import {
|
|
2
|
+
import type { StdReader } from "../../../../env.js";
|
|
3
3
|
import type { PrerequisitePart } from "../part.js";
|
|
4
4
|
/**
|
|
5
5
|
* Get the translation of a tiny activatable prerequisite.
|
|
@@ -1,17 +1,14 @@
|
|
|
1
1
|
import { translateR } from "../../reader.js";
|
|
2
|
-
import {
|
|
2
|
+
import { printDisplayOption } from "../displayOption.js";
|
|
3
3
|
/**
|
|
4
4
|
* Get the translation of a tiny activatable prerequisite.
|
|
5
5
|
*/
|
|
6
|
-
export const printAnySpecialAbilityOfGroupPrerequisite = (prerequisite) =>
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
}
|
|
10
|
-
return translateR(".input {$entity :string} {{a special ability}}", {
|
|
6
|
+
export const printAnySpecialAbilityOfGroupPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
|
|
7
|
+
? printDisplayOption(prerequisite.display_option)
|
|
8
|
+
: translateR(".input {$entity :string} {{a special ability}}", {
|
|
11
9
|
entity: prerequisite.group.kind,
|
|
12
10
|
}).map(name => ({
|
|
13
11
|
value: name,
|
|
14
12
|
sentenceType: undefined,
|
|
15
13
|
isMeta: false,
|
|
16
14
|
}));
|
|
17
|
-
};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BlessedTraditionPrerequisite } from "@optolith/database-schema/gen";
|
|
2
|
-
import type {
|
|
2
|
+
import type { StdReader } from "../../../../env.js";
|
|
3
3
|
import type { PrerequisitePart } from "../part.js";
|
|
4
4
|
/**
|
|
5
5
|
* Get the translation of a blessed tradition prerequisite.
|
|
6
6
|
*/
|
|
7
|
-
export declare const printBlessedTraditionPrerequisite: (
|
|
7
|
+
export declare const printBlessedTraditionPrerequisite: (prerequisite: BlessedTraditionPrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm">;
|
|
@@ -1,17 +1,18 @@
|
|
|
1
1
|
import { assertExhaustive } from "@optolith/helpers/typeSafety";
|
|
2
|
+
import { translateR } from "../../reader.js";
|
|
2
3
|
import { printDisplayOption } from "../displayOption.js";
|
|
3
|
-
const printValue = (
|
|
4
|
+
const printValue = (restriction) => {
|
|
4
5
|
switch (restriction?.kind) {
|
|
5
6
|
case "Church":
|
|
6
|
-
return
|
|
7
|
-
tradition
|
|
8
|
-
});
|
|
7
|
+
return translateR("Church").then(tradition => translateR("Tradition ({$tradition})", {
|
|
8
|
+
tradition,
|
|
9
|
+
}));
|
|
9
10
|
case "Shamanistic":
|
|
10
|
-
return
|
|
11
|
-
tradition
|
|
12
|
-
});
|
|
11
|
+
return translateR("Shaman").then(tradition => translateR("Tradition ({$tradition})", {
|
|
12
|
+
tradition,
|
|
13
|
+
}));
|
|
13
14
|
case undefined:
|
|
14
|
-
return
|
|
15
|
+
return translateR("Tradition");
|
|
15
16
|
default:
|
|
16
17
|
return assertExhaustive(restriction);
|
|
17
18
|
}
|
|
@@ -19,14 +20,11 @@ const printValue = (locale, restriction) => {
|
|
|
19
20
|
/**
|
|
20
21
|
* Get the translation of a blessed tradition prerequisite.
|
|
21
22
|
*/
|
|
22
|
-
export const printBlessedTraditionPrerequisite = (
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
label: `${locale.translate("special ability")} `,
|
|
28
|
-
value: printValue(locale, prerequisite.restriction),
|
|
23
|
+
export const printBlessedTraditionPrerequisite = (prerequisite) => prerequisite.display_option !== undefined
|
|
24
|
+
? printDisplayOption(prerequisite.display_option)
|
|
25
|
+
: translateR("special ability").then(label => printValue(prerequisite.restriction).map((value) => ({
|
|
26
|
+
label: `${label} `,
|
|
27
|
+
value,
|
|
29
28
|
sentenceType: undefined,
|
|
30
29
|
isMeta: false,
|
|
31
|
-
};
|
|
32
|
-
};
|
|
30
|
+
})));
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { StdReader } from "../../../../env.js";
|
|
2
2
|
import type { PrerequisitePart } from "../part.js";
|
|
3
3
|
/**
|
|
4
4
|
* Get the translation of a culture prerequisite.
|
|
5
5
|
*/
|
|
6
|
-
export declare const printCommonSuggestedByRCPPrerequisite: (
|
|
6
|
+
export declare const printCommonSuggestedByRCPPrerequisite: (name: string, type: "Advantage" | "Disadvantage") => StdReader<PrerequisitePart | undefined, "t">;
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { assertExhaustive } from "@optolith/helpers/typeSafety";
|
|
2
|
-
|
|
2
|
+
import { translateR } from "../../reader.js";
|
|
3
|
+
const printType = (type) => {
|
|
3
4
|
switch (type) {
|
|
4
5
|
case "Advantage":
|
|
5
|
-
return
|
|
6
|
+
return translateR("advantage");
|
|
6
7
|
case "Disadvantage":
|
|
7
|
-
return
|
|
8
|
+
return translateR("disadvantage");
|
|
8
9
|
default:
|
|
9
10
|
return assertExhaustive(type);
|
|
10
11
|
}
|
|
@@ -12,8 +13,10 @@ const printType = (locale, type) => {
|
|
|
12
13
|
/**
|
|
13
14
|
* Get the translation of a culture prerequisite.
|
|
14
15
|
*/
|
|
15
|
-
export const printCommonSuggestedByRCPPrerequisite = (
|
|
16
|
-
|
|
16
|
+
export const printCommonSuggestedByRCPPrerequisite = (name, type) => printType(type)
|
|
17
|
+
.then(itemOfCategory => translateR("Race, culture, or profession must have {$entry} as an automatic or suggested {$itemOfCategory}", { entry: name, itemOfCategory }))
|
|
18
|
+
.map((value) => ({
|
|
19
|
+
value,
|
|
17
20
|
sentenceType: undefined,
|
|
18
21
|
isMeta: false,
|
|
19
|
-
});
|
|
22
|
+
}));
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { CulturePrerequisite } from "@optolith/database-schema/gen";
|
|
2
|
-
import type {
|
|
3
|
-
import type { LocaleEnvironment } from "../../../../helpers/locale.js";
|
|
2
|
+
import type { StdReader } from "../../../../env.js";
|
|
4
3
|
import type { PrerequisitePart } from "../part.js";
|
|
5
4
|
/**
|
|
6
5
|
* Get the translation of a culture prerequisite.
|
|
7
6
|
*/
|
|
8
|
-
export declare const printCulturePrerequisite: (
|
|
7
|
+
export declare const printCulturePrerequisite: (prerequisite: CulturePrerequisite) => StdReader<PrerequisitePart | undefined, "t" | "tm" | "ibi", "Culture">;
|