optolith-database-schema 0.22.0 → 0.23.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.
- package/CHANGELOG.md +31 -0
- package/gen/types.d.ts +1295 -1182
- package/lib/types/Locale.d.ts +97 -133
- package/lib/types/Locale.js +147 -134
- package/lib/types/equipment/item/Animal.d.ts +1 -1
- package/lib/types/equipment/item/AnimalCare.d.ts +1 -1
- package/lib/types/equipment/item/Armor.d.ts +44 -0
- package/lib/types/equipment/item/Armor.js +9 -1
- package/lib/types/equipment/item/BandageOrRemedy.d.ts +45 -9
- package/lib/types/equipment/item/CeremonialItem.d.ts +45 -9
- package/lib/types/equipment/item/Clothes.d.ts +45 -9
- package/lib/types/equipment/item/Container.d.ts +45 -9
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.d.ts +77 -20
- package/lib/types/equipment/item/EquipmentOfBlessedOnes.js +5 -6
- package/lib/types/equipment/item/IlluminationLightSource.d.ts +45 -9
- package/lib/types/equipment/item/IlluminationRefillOrSupply.d.ts +45 -9
- package/lib/types/equipment/item/Jewelry.d.ts +1 -1
- package/lib/types/equipment/item/Laboratory.d.ts +1 -1
- package/lib/types/equipment/item/Liebesspielzeug.d.ts +45 -9
- package/lib/types/equipment/item/LuxuryGood.d.ts +45 -9
- package/lib/types/equipment/item/MagicalArtifact.d.ts +61 -21
- package/lib/types/equipment/item/MagicalArtifact.js +33 -3
- package/lib/types/equipment/item/MusicalInstrument.d.ts +48 -9
- package/lib/types/equipment/item/MusicalInstrument.js +5 -1
- package/lib/types/equipment/item/OrienteeringAid.d.ts +45 -9
- package/lib/types/equipment/item/Poison.d.ts +41 -5
- package/lib/types/equipment/item/Poison.js +33 -1
- package/lib/types/equipment/item/RopeOrChain.d.ts +45 -9
- package/lib/types/equipment/item/Stationery.d.ts +45 -9
- package/lib/types/equipment/item/ThievesTool.d.ts +45 -9
- package/lib/types/equipment/item/ToolOfTheTrade.d.ts +1 -1
- package/lib/types/equipment/item/TravelGearOrTool.d.ts +45 -9
- package/lib/types/equipment/item/Vehicle.d.ts +1 -1
- package/lib/types/equipment/item/Weapon.d.ts +105 -78
- package/lib/types/equipment/item/Weapon.js +8 -46
- package/lib/types/equipment/item/WeaponAccessory.d.ts +45 -9
- package/lib/types/equipment/item/_Item.d.ts +148 -29
- package/lib/types/equipment/item/_Item.js +94 -2
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +52 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.js +2 -1
- package/lib/types/specialAbility/MagicalSign.d.ts +75 -40
- package/lib/types/specialAbility/MagicalSign.js +23 -2
- package/package.json +2 -2
package/lib/types/Locale.js
CHANGED
|
@@ -22,14 +22,14 @@ export const Locale = Entity(import.meta.url, {
|
|
|
22
22
|
// prettier-ignore
|
|
23
23
|
type: TranslationObject({
|
|
24
24
|
// Menu
|
|
25
|
-
"About {
|
|
25
|
+
"About {$app}": null,
|
|
26
26
|
"Preferences …": null,
|
|
27
27
|
"Services": null,
|
|
28
|
-
"Hide {
|
|
28
|
+
"Hide {$app}": null,
|
|
29
29
|
"Hide Others": null,
|
|
30
30
|
"Show All": null,
|
|
31
|
-
"Quit {
|
|
32
|
-
"File": null,
|
|
31
|
+
"Quit {$app}": null,
|
|
32
|
+
".input {$os :string} {{File}}": null,
|
|
33
33
|
"Close": null,
|
|
34
34
|
"Quit": null,
|
|
35
35
|
"Edit": null,
|
|
@@ -67,7 +67,7 @@ export const Locale = Entity(import.meta.url, {
|
|
|
67
67
|
/**
|
|
68
68
|
* - `0`: Version number
|
|
69
69
|
*/
|
|
70
|
-
"Version {
|
|
70
|
+
"Version {$version} is available! Do you wish to download and install?": null,
|
|
71
71
|
"Download": null,
|
|
72
72
|
"Download Later": null,
|
|
73
73
|
"Downloading update …": null,
|
|
@@ -112,7 +112,7 @@ export const Locale = Entity(import.meta.url, {
|
|
|
112
112
|
/**
|
|
113
113
|
* - `0`: AP left
|
|
114
114
|
*/
|
|
115
|
-
"{
|
|
115
|
+
"{$value} AP Remaining": null,
|
|
116
116
|
"Save": null,
|
|
117
117
|
"Show Settings": null,
|
|
118
118
|
"Toggle DevTools": null,
|
|
@@ -122,93 +122,93 @@ export const Locale = Entity(import.meta.url, {
|
|
|
122
122
|
/**
|
|
123
123
|
* - `0`: AP value
|
|
124
124
|
*/
|
|
125
|
-
"{
|
|
125
|
+
".input {$value :number} {{{$value} Adventure Points}}": null,
|
|
126
126
|
/**
|
|
127
127
|
* - `0`: AP value
|
|
128
128
|
*/
|
|
129
|
-
"{
|
|
129
|
+
"{$value} AP": null,
|
|
130
130
|
/**
|
|
131
131
|
* - `0`: AP Total
|
|
132
132
|
*/
|
|
133
|
-
"{
|
|
133
|
+
"{$value} Total AP": null,
|
|
134
134
|
/**
|
|
135
135
|
* - `0`: AP Spent
|
|
136
136
|
*/
|
|
137
|
-
"{
|
|
137
|
+
"{$value} AP Spent": null,
|
|
138
138
|
/**
|
|
139
139
|
* - `0`: Current AP spent on advantages
|
|
140
140
|
* - `1`: Maximum possible AP spent on advantages
|
|
141
141
|
*/
|
|
142
|
-
"{
|
|
142
|
+
"{$value}/{$max} AP spent on advantages": null,
|
|
143
143
|
/**
|
|
144
144
|
* - `0`: Current AP spent on magic advantages
|
|
145
145
|
* - `1`: Maximum possible AP spent on magic advantages
|
|
146
146
|
*/
|
|
147
|
-
"Thereof {
|
|
147
|
+
"Thereof {$value}/{$max} on magic advantages": null,
|
|
148
148
|
/**
|
|
149
149
|
* - `0`: Current AP spent on blessed advantages
|
|
150
150
|
* - `1`: Maximum possible AP spent on blessed advantages
|
|
151
151
|
*/
|
|
152
|
-
"Thereof {
|
|
152
|
+
"Thereof {$value}/{$max} on blessed advantages": null,
|
|
153
153
|
/**
|
|
154
154
|
* - `0`: Current AP spent on disadvantages
|
|
155
155
|
* - `1`: Maximum possible AP spent on disadvantages
|
|
156
156
|
*/
|
|
157
|
-
"{
|
|
157
|
+
"{$value}/{$max} AP received from disadvantages": null,
|
|
158
158
|
/**
|
|
159
159
|
* - `0`: Current AP spent on magic disadvantages
|
|
160
160
|
* - `1`: Maximum possible AP spent on magic disadvantages
|
|
161
161
|
*/
|
|
162
|
-
"Thereof {
|
|
162
|
+
"Thereof {$value}/{$max} from magic disadvantages": null,
|
|
163
163
|
/**
|
|
164
164
|
* - `0`: Current AP spent on blessed disadvantages
|
|
165
165
|
* - `1`: Maximum possible AP spent on blessed disadvantages
|
|
166
166
|
*/
|
|
167
|
-
"Thereof {
|
|
167
|
+
"Thereof {$value}/{$max} from blessed disadvantages": null,
|
|
168
168
|
/**
|
|
169
169
|
* - `0`: AP spent on race
|
|
170
170
|
*/
|
|
171
|
-
"{
|
|
171
|
+
"{$value} AP spent on race": null,
|
|
172
172
|
/**
|
|
173
173
|
* - `0`: AP spent on profession
|
|
174
174
|
*/
|
|
175
|
-
"{
|
|
175
|
+
"{$value} AP spent on profession": null,
|
|
176
176
|
/**
|
|
177
177
|
* - `0`: AP spent on attributes
|
|
178
178
|
*/
|
|
179
|
-
"{
|
|
179
|
+
"{$value} AP spent on attributes": null,
|
|
180
180
|
/**
|
|
181
181
|
* - `0`: AP spent on skills
|
|
182
182
|
*/
|
|
183
|
-
"{
|
|
183
|
+
"{$value} AP spent on skills": null,
|
|
184
184
|
/**
|
|
185
185
|
* - `0`: AP spent on combat techniques
|
|
186
186
|
*/
|
|
187
|
-
"{
|
|
187
|
+
"{$value} AP spent on combat techniques": null,
|
|
188
188
|
/**
|
|
189
189
|
* - `0`: AP spent on spells
|
|
190
190
|
*/
|
|
191
|
-
"{
|
|
191
|
+
"{$value} AP spent on spells": null,
|
|
192
192
|
/**
|
|
193
193
|
* - `0`: AP spent on cantrips
|
|
194
194
|
*/
|
|
195
|
-
"{
|
|
195
|
+
"{$value} AP spent on cantrips": null,
|
|
196
196
|
/**
|
|
197
197
|
* - `0`: AP spent on liturgical chants
|
|
198
198
|
*/
|
|
199
|
-
"{
|
|
199
|
+
"{$value} AP spent on liturgical chants": null,
|
|
200
200
|
/**
|
|
201
201
|
* - `0`: AP spent on blessings
|
|
202
202
|
*/
|
|
203
|
-
"{
|
|
203
|
+
"{$value} AP spent on blessings": null,
|
|
204
204
|
/**
|
|
205
205
|
* - `0`: AP spent on special abilities
|
|
206
206
|
*/
|
|
207
|
-
"{
|
|
207
|
+
"{$value} AP spent on special abilities": null,
|
|
208
208
|
/**
|
|
209
209
|
* - `0`: AP spent on energies (LP/AE/KP)
|
|
210
210
|
*/
|
|
211
|
-
"{
|
|
211
|
+
"{$value} AP spent on improving/buying back LP/AE/KP": null,
|
|
212
212
|
"header.dialogs.herosaved": null,
|
|
213
213
|
"header.dialogs.allsaved": null,
|
|
214
214
|
"header.dialogs.everythingelsesaved": null,
|
|
@@ -257,19 +257,19 @@ export const Locale = Entity(import.meta.url, {
|
|
|
257
257
|
"Apply": null,
|
|
258
258
|
"Add": null,
|
|
259
259
|
"Not enough AP": null,
|
|
260
|
-
"You are missing {
|
|
260
|
+
".input {$value :number} {{You are missing {$value} Adventure Points to do this.}}": null,
|
|
261
261
|
"Exceeding Adventure Points limit for advantages": null,
|
|
262
|
-
"You cannot spend more than {
|
|
262
|
+
"You cannot spend more than {$max} AP on advantages. You would exceed this limit by {$over} AP.": null,
|
|
263
263
|
"Exceeding Adventure Points limit for magical advantages": null,
|
|
264
|
-
"You cannot spend more than {
|
|
264
|
+
"You cannot spend more than {$max} AP on magical advantages. You would exceed this limit by {$over} AP.": null,
|
|
265
265
|
"Exceeding Adventure Points limit for blessed advantages": null,
|
|
266
|
-
"You cannot spend more than {
|
|
266
|
+
"You cannot spend more than {$max} AP on blessed advantages. You would exceed this limit by {$over} AP.": null,
|
|
267
267
|
"Exceeding Adventure Points limit for disadvantages": null,
|
|
268
|
-
"You cannot receive more than {
|
|
268
|
+
"You cannot receive more than {$max} AP from disadvantages. You would exceed this limit by {$over} AP.": null,
|
|
269
269
|
"Exceeding Adventure Points limit for magical disadvantages": null,
|
|
270
|
-
"You cannot receive more than {
|
|
270
|
+
"You cannot receive more than {$max} AP from magical disadvantages. You would exceed this limit by {$over} AP.": null,
|
|
271
271
|
"Exceeding Adventure Points limit for blessed disadvantages": null,
|
|
272
|
-
"You cannot receive more than {
|
|
272
|
+
"You cannot receive more than {$max} AP from blessed disadvantages. You would exceed this limit by {$over} AP.": null,
|
|
273
273
|
"heroes.filters.origin.allheroes": null,
|
|
274
274
|
"heroes.filters.origin.ownheroes": null,
|
|
275
275
|
"heroes.filters.origin.sharedheroes": null,
|
|
@@ -781,7 +781,7 @@ export const Locale = Entity(import.meta.url, {
|
|
|
781
781
|
/**
|
|
782
782
|
* - `0`: Entry name
|
|
783
783
|
*/
|
|
784
|
-
"AP Cost for {
|
|
784
|
+
"AP Cost for {$category}": null,
|
|
785
785
|
"Custom option": null,
|
|
786
786
|
"specialabilities.nativetonguelevel": null,
|
|
787
787
|
"Advanced Combat Special Abilities": null,
|
|
@@ -910,9 +910,9 @@ export const Locale = Entity(import.meta.url, {
|
|
|
910
910
|
"Check Modifier": null,
|
|
911
911
|
"spells.traditions.general": null,
|
|
912
912
|
"magicalactions.animistforces.tribes.general": null,
|
|
913
|
-
" (modified by {
|
|
914
|
-
" (−
|
|
915
|
-
"{
|
|
913
|
+
" (modified by {$modifier})": null,
|
|
914
|
+
" (−{$modifier})": null,
|
|
915
|
+
"{$first} or {$second}, depending on which value is higher": null,
|
|
916
916
|
"Invocation Difficulty": null,
|
|
917
917
|
"ID": null,
|
|
918
918
|
"Creation Difficulty": null,
|
|
@@ -941,86 +941,86 @@ export const Locale = Entity(import.meta.url, {
|
|
|
941
941
|
" (you cannot use a modification on this ceremony’s cost)": null,
|
|
942
942
|
" (you cannot use a modification on this ceremony’s range)": null,
|
|
943
943
|
" (cannot modify)": null,
|
|
944
|
-
"{
|
|
944
|
+
"{$value} act": null,
|
|
945
945
|
"act": null,
|
|
946
|
-
"{
|
|
946
|
+
".input {$value :number} {{{$value} actions}}": null,
|
|
947
947
|
"actions": null,
|
|
948
|
-
"{
|
|
948
|
+
"{$value} s": null,
|
|
949
949
|
"s": null,
|
|
950
|
-
"{
|
|
950
|
+
".input {$value :number} {{{$value} seconds}}": null,
|
|
951
951
|
"seconds": null,
|
|
952
|
-
"{
|
|
952
|
+
"{$value} min": null,
|
|
953
953
|
"min": null,
|
|
954
|
-
"{
|
|
954
|
+
".input {$value :number} {{{$value} minutes}}": null,
|
|
955
955
|
"minutes": null,
|
|
956
|
-
"{
|
|
956
|
+
"{$value} h": null,
|
|
957
957
|
"h": null,
|
|
958
|
-
"{
|
|
958
|
+
".input {$value :number} {{{$value} hours}}": null,
|
|
959
959
|
"hours": null,
|
|
960
|
-
"{
|
|
960
|
+
"{$value} d": null,
|
|
961
961
|
"d": null,
|
|
962
|
-
"{
|
|
962
|
+
".input {$value :number} {{{$value} days}}": null,
|
|
963
963
|
"days": null,
|
|
964
|
-
"{
|
|
964
|
+
".input {$value :number} {{{$value} wks.}}": null,
|
|
965
965
|
"wks.": null,
|
|
966
|
-
"{
|
|
966
|
+
".input {$value :number} {{{$value} weeks}}": null,
|
|
967
967
|
"weeks": null,
|
|
968
|
-
"{
|
|
968
|
+
".input {$value :number} {{{$value} mos.}}": null,
|
|
969
969
|
"mos.": null,
|
|
970
|
-
"{
|
|
970
|
+
".input {$value :number} {{{$value} months}}": null,
|
|
971
971
|
"months": null,
|
|
972
|
-
"{
|
|
972
|
+
".input {$value :number} {{{$value} yrs.}}": null,
|
|
973
973
|
"yrs.": null,
|
|
974
|
-
"{
|
|
974
|
+
".input {$value :number} {{{$value} years}}": null,
|
|
975
975
|
"years": null,
|
|
976
|
-
"{
|
|
976
|
+
"{$value} cent.": null,
|
|
977
977
|
"cent.": null,
|
|
978
|
-
"{
|
|
978
|
+
".input {$value :number} {{{$value} centuries}}": null,
|
|
979
979
|
"centuries": null,
|
|
980
|
-
"{
|
|
981
|
-
"{
|
|
982
|
-
"{
|
|
983
|
-
"{
|
|
984
|
-
"{
|
|
980
|
+
"{$value} SA": null,
|
|
981
|
+
".input {$value :number} {{{$value} seduction actions}}": null,
|
|
982
|
+
"{$value} rnds": null,
|
|
983
|
+
".input {$value :number} {{{$value} rounds}}": null,
|
|
984
|
+
"{$value} CR": null,
|
|
985
985
|
"CR": null,
|
|
986
|
-
"{
|
|
986
|
+
".input {$value :number} {{{$value} combat rounds}}": null,
|
|
987
987
|
"combat rounds": null,
|
|
988
|
-
"{
|
|
989
|
-
"{
|
|
988
|
+
"{$value} AE": null,
|
|
989
|
+
"{$value} KP": null,
|
|
990
990
|
"min. ": null,
|
|
991
991
|
"at least ": null,
|
|
992
|
-
"min. {
|
|
993
|
-
"at least {
|
|
994
|
-
"/{
|
|
995
|
-
" per {
|
|
996
|
-
", minimum of {
|
|
997
|
-
" ({
|
|
998
|
-
", {
|
|
992
|
+
"min. {$value}": null,
|
|
993
|
+
"at least {$value}": null,
|
|
994
|
+
"/{$value}": null,
|
|
995
|
+
" per {$value}": null,
|
|
996
|
+
", minimum of {$value}": null,
|
|
997
|
+
" ({$value} perm.)": null,
|
|
998
|
+
".input {$value :number} {{, {$value} of which are permanent}}": null,
|
|
999
999
|
"half of the activation cost": null,
|
|
1000
1000
|
" and ": null,
|
|
1001
1001
|
" + ": null,
|
|
1002
1002
|
" or ": null,
|
|
1003
1003
|
" / ": null,
|
|
1004
1004
|
" for ": null,
|
|
1005
|
-
" (no more than {
|
|
1006
|
-
" (max. {
|
|
1007
|
-
"no more than {
|
|
1008
|
-
"max. {
|
|
1005
|
+
" (no more than {$value})": null,
|
|
1006
|
+
" (max. {$value})": null,
|
|
1007
|
+
"no more than {$value}": null,
|
|
1008
|
+
"max. {$value}": null,
|
|
1009
1009
|
"Immediate": null,
|
|
1010
1010
|
"Permanent": null,
|
|
1011
1011
|
"no more than ": null,
|
|
1012
1012
|
"max. ": null,
|
|
1013
1013
|
"Quality Levels": null,
|
|
1014
1014
|
"QL": null,
|
|
1015
|
-
"QL {
|
|
1015
|
+
"QL {$value}": null,
|
|
1016
1016
|
"Skill Points": null,
|
|
1017
1017
|
"SP": null,
|
|
1018
1018
|
"Sustained": null,
|
|
1019
1019
|
"(S)": null,
|
|
1020
|
-
"{
|
|
1021
|
-
"{
|
|
1022
|
-
"{
|
|
1023
|
-
"{
|
|
1020
|
+
".input {$value :number} {{{$value} yards}}": null,
|
|
1021
|
+
"{$value} yd": null,
|
|
1022
|
+
".input {$value :number} {{{$value} miles}}": null,
|
|
1023
|
+
"{$value} mi.": null,
|
|
1024
1024
|
"Sight": null,
|
|
1025
1025
|
"Self": null,
|
|
1026
1026
|
"Global": null,
|
|
@@ -1034,58 +1034,22 @@ export const Locale = Entity(import.meta.url, {
|
|
|
1034
1034
|
"all": null,
|
|
1035
1035
|
"none": null,
|
|
1036
1036
|
"State": null,
|
|
1037
|
-
"Social Status {
|
|
1038
|
-
"Person with {
|
|
1037
|
+
"Social Status {$minStatus} or higher": null,
|
|
1038
|
+
"Person with {$sexualCharacteristic}": null,
|
|
1039
1039
|
"Penis": null,
|
|
1040
1040
|
"Vagina": null,
|
|
1041
|
-
"the SR for {
|
|
1042
|
-
"{
|
|
1043
|
-
"{
|
|
1044
|
-
"{
|
|
1045
|
-
"
|
|
1046
|
-
"
|
|
1047
|
-
"
|
|
1048
|
-
"
|
|
1049
|
-
"five of the following skills": null,
|
|
1050
|
-
"six of the following skills": null,
|
|
1051
|
-
"seven of the following skills": null,
|
|
1052
|
-
"eight of the following skills": null,
|
|
1053
|
-
"nine of the following skills": null,
|
|
1054
|
-
"{0} of the following skills": null,
|
|
1055
|
-
"one combat technique": null,
|
|
1056
|
-
"two combat techniques": null,
|
|
1057
|
-
"three combat techniques": null,
|
|
1058
|
-
"four combat techniques": null,
|
|
1059
|
-
"five combat techniques": null,
|
|
1060
|
-
"six combat techniques": null,
|
|
1061
|
-
"seven combat techniques": null,
|
|
1062
|
-
"eight combat techniques": null,
|
|
1063
|
-
"nine combat techniques": null,
|
|
1064
|
-
"{0} combat techniques": null,
|
|
1065
|
-
"one close combat technique": null,
|
|
1066
|
-
"two close combat techniques": null,
|
|
1067
|
-
"three close combat techniques": null,
|
|
1068
|
-
"four close combat techniques": null,
|
|
1069
|
-
"five close combat techniques": null,
|
|
1070
|
-
"six close combat techniques": null,
|
|
1071
|
-
"seven close combat techniques": null,
|
|
1072
|
-
"eight close combat techniques": null,
|
|
1073
|
-
"nine close combat techniques": null,
|
|
1074
|
-
"{0} close combat techniques": null,
|
|
1075
|
-
"one ranged combat technique": null,
|
|
1076
|
-
"two ranged combat techniques": null,
|
|
1077
|
-
"three ranged combat techniques": null,
|
|
1078
|
-
"four ranged combat techniques": null,
|
|
1079
|
-
"five ranged combat techniques": null,
|
|
1080
|
-
"six ranged combat techniques": null,
|
|
1081
|
-
"seven ranged combat techniques": null,
|
|
1082
|
-
"eight ranged combat techniques": null,
|
|
1083
|
-
"nine ranged combat techniques": null,
|
|
1084
|
-
"{0} ranged combat techniques": null,
|
|
1041
|
+
"the SR for {$skill} combined must add up to at least {$minRating}": null,
|
|
1042
|
+
".input {$count :number} .input {$minRating :number} {{{$count} on at least SR {$minRating}: {$list}}}": null,
|
|
1043
|
+
".input {$count :number} .input {$minRating :number} {{{$count} arcane works with the property {$property} at SR {$minRating} or higher}}": null,
|
|
1044
|
+
".input {$count :number} .input {$minRating :number} {{{$count} liturgical chants and ceremonies with the aspect {$aspect} at SR {$minRating} or higher}}": null,
|
|
1045
|
+
".input {$count :number} {{{$count} of the following skills}}": null,
|
|
1046
|
+
".input {$count :number} {{{$count} combat techniques}}": null,
|
|
1047
|
+
".input {$count :number} {{{$count} close combat techniques}}": null,
|
|
1048
|
+
".input {$count :number} {{{$count} ranged combat techniques}}": null,
|
|
1085
1049
|
"special ability": null,
|
|
1086
1050
|
"no special ability": null,
|
|
1087
1051
|
"Tradition": null,
|
|
1088
|
-
"Tradition ({
|
|
1052
|
+
"Tradition ({$tradition})": null,
|
|
1089
1053
|
"Church": null,
|
|
1090
1054
|
"Shaman": null,
|
|
1091
1055
|
"Tradition must be able to use rituals": null,
|
|
@@ -1094,12 +1058,12 @@ export const Locale = Entity(import.meta.url, {
|
|
|
1094
1058
|
"liturgical enhancement": null,
|
|
1095
1059
|
"for": null,
|
|
1096
1060
|
"no other ancestor blood advantage": null,
|
|
1097
|
-
"Race, culture, or profession must have {
|
|
1061
|
+
"Race, culture, or profession must have {$entry} as an automatic or suggested {$itemOfCategory}": null,
|
|
1098
1062
|
"advantage": null,
|
|
1099
1063
|
"disadvantage": null,
|
|
1100
|
-
"domain {
|
|
1101
|
-
"{
|
|
1102
|
-
"Level {
|
|
1064
|
+
"domain {$domain}": null,
|
|
1065
|
+
"{$pact} level {$pactLevel}": null,
|
|
1066
|
+
"Level {$level}:": null,
|
|
1103
1067
|
"inlinewiki.castingtime": null,
|
|
1104
1068
|
"inlinewiki.ritualtime": null,
|
|
1105
1069
|
"inlinewiki.aecost": null,
|
|
@@ -1302,9 +1266,9 @@ export const Locale = Entity(import.meta.url, {
|
|
|
1302
1266
|
"Improvement Cost": null,
|
|
1303
1267
|
"Front Cover Inside": null,
|
|
1304
1268
|
"Back Cover Inside": null,
|
|
1305
|
-
"since the {
|
|
1306
|
-
"removed in {
|
|
1307
|
-
}),
|
|
1269
|
+
".input {$printing :number} {{since the {$printing}. printing}}": null,
|
|
1270
|
+
".input {$printing :number} {{removed in {$printing}. printing}}": null,
|
|
1271
|
+
}, { allKeysAreRequired: true }),
|
|
1308
1272
|
}),
|
|
1309
1273
|
}),
|
|
1310
1274
|
});
|
|
@@ -1317,3 +1281,52 @@ export const NestedTranslationMap = (MemberDeclCreator, entityName, type) => Mem
|
|
|
1317
1281
|
type,
|
|
1318
1282
|
}),
|
|
1319
1283
|
});
|
|
1284
|
+
// /**
|
|
1285
|
+
// * Any type that can be converted to a string via a `toString` method.
|
|
1286
|
+
// */
|
|
1287
|
+
// interface Stringable {
|
|
1288
|
+
// toString(): string
|
|
1289
|
+
// }
|
|
1290
|
+
// type Whitespace = " " | "\n" | "\t" | "\r"
|
|
1291
|
+
// /**
|
|
1292
|
+
// * Removes leading and trailing whitespace from a string literal type.
|
|
1293
|
+
// */
|
|
1294
|
+
// type Trim<L extends string> = L extends `${Whitespace}${infer Rest}`
|
|
1295
|
+
// ? Trim<Rest>
|
|
1296
|
+
// : L extends `${infer Rest}${Whitespace}`
|
|
1297
|
+
// ? Trim<Rest>
|
|
1298
|
+
// : L
|
|
1299
|
+
// /**
|
|
1300
|
+
// * Maps the type function string to the actual TypeScript type.
|
|
1301
|
+
// */
|
|
1302
|
+
// type ActualType<F extends string> = F extends "number" | "integer"
|
|
1303
|
+
// ? number
|
|
1304
|
+
// : F extends "string"
|
|
1305
|
+
// ? string
|
|
1306
|
+
// : F extends "datetime" | "date" | "time"
|
|
1307
|
+
// ? Date
|
|
1308
|
+
// : Stringable
|
|
1309
|
+
// /**
|
|
1310
|
+
// * Makes the parameter types readable by removing any TypeScript-specific constructs.
|
|
1311
|
+
// */
|
|
1312
|
+
// type ReadableParams<P extends object> = {
|
|
1313
|
+
// [K in keyof P]: P[K]
|
|
1314
|
+
// }
|
|
1315
|
+
// /**
|
|
1316
|
+
// * Extracts parameter names and their types from a simple message string. It also works for complex messages, but is not designed for that.
|
|
1317
|
+
// */
|
|
1318
|
+
// type ParamsFromSimpleMessage<L extends string> = L extends `${infer Start}}${infer Rest}`
|
|
1319
|
+
// ? Start extends `${string}{$${infer Name} :${infer TypeFunction}`
|
|
1320
|
+
// ? { [K in Name]: ActualType<TypeFunction> } & Omit<ParamsFromSimpleMessage<Rest>, Name>
|
|
1321
|
+
// : Start extends `${string}{$${infer Name}`
|
|
1322
|
+
// ? ParamsFromSimpleMessage<Rest> extends { [K in Name]: Stringable }
|
|
1323
|
+
// ? ParamsFromSimpleMessage<Rest>
|
|
1324
|
+
// : { [K in Name]: Stringable } & ParamsFromSimpleMessage<Rest>
|
|
1325
|
+
// : ParamsFromSimpleMessage<Rest>
|
|
1326
|
+
// : object
|
|
1327
|
+
// /**
|
|
1328
|
+
// * Extracts parameter names and their types from an Unicode MessageFormat 2.0 (MF2) string.
|
|
1329
|
+
// */
|
|
1330
|
+
// export type ExtractParamsFromMessage<Msg extends string> = ReadableParams<
|
|
1331
|
+
// ParamsFromSimpleMessage<Msg>
|
|
1332
|
+
// >
|
|
@@ -58,7 +58,7 @@ export declare const Animal: Entity<"Animal", {
|
|
|
58
58
|
}, []>>>, false>;
|
|
59
59
|
}>, true>;
|
|
60
60
|
}>, []>>>, []>>, true>;
|
|
61
|
-
translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<`${string}
|
|
61
|
+
translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<`${string}Translation`, {
|
|
62
62
|
name: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
|
|
63
63
|
secondary_name: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
|
|
64
64
|
note: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
|
|
@@ -73,7 +73,7 @@ export declare const AnimalCare: Entity<"AnimalCare", {
|
|
|
73
73
|
}, []>>>, false>;
|
|
74
74
|
}>, true>;
|
|
75
75
|
}>, []>>>, []>>, true>;
|
|
76
|
-
translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<`${string}
|
|
76
|
+
translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<`${string}Translation`, {
|
|
77
77
|
name: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, true>;
|
|
78
78
|
secondary_name: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
|
|
79
79
|
note: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").StringType, false>;
|
|
@@ -42,6 +42,28 @@ export declare const Armor: Entity<"Armor", {
|
|
|
42
42
|
Arms: EnumCase<null>;
|
|
43
43
|
Legs: EnumCase<null>;
|
|
44
44
|
}, []>>, false>;
|
|
45
|
+
restrictedTo: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedTo", Object<{
|
|
46
|
+
races: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToRaces", Object<{
|
|
47
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
48
|
+
}>, []>>, false>;
|
|
49
|
+
cultures: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToCultures", Object<{
|
|
50
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
51
|
+
}>, []>>, false>;
|
|
52
|
+
professions: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToProfessions", Object<{
|
|
53
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
54
|
+
}>, []>>, false>;
|
|
55
|
+
magicalTraditions: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToMagicalTraditions", Object<{
|
|
56
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
57
|
+
}>, []>>, false>;
|
|
58
|
+
blessedTraditions: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToBlessedTraditions", Object<{
|
|
59
|
+
scope: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"RestrictedToBlessedTraditionsScope", {
|
|
60
|
+
Specific: EnumCase<Array<import("tsondb/schema/def").ReferenceIdentifierType>>;
|
|
61
|
+
Church: EnumCase<null>;
|
|
62
|
+
Shamanistic: EnumCase<null>;
|
|
63
|
+
}, []>>, true>;
|
|
64
|
+
isSanctifiedBy: import("tsondb/schema/def").MemberDecl<Boolean, true>;
|
|
65
|
+
}>, []>>, false>;
|
|
66
|
+
}>, []>>, false>;
|
|
45
67
|
src: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"PublicationRefs", Array<IncludeIdentifier<[], TypeAlias<"PublicationRef", Object<{
|
|
46
68
|
id: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").ReferenceIdentifierType, true>;
|
|
47
69
|
occurrences: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<string, {
|
|
@@ -111,6 +133,28 @@ export declare const SecondaryArmor: TypeAlias<"SecondaryArmor", Object<{
|
|
|
111
133
|
Arms: EnumCase<null>;
|
|
112
134
|
Legs: EnumCase<null>;
|
|
113
135
|
}, []>>, false>;
|
|
136
|
+
restrictedTo: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedTo", Object<{
|
|
137
|
+
races: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToRaces", Object<{
|
|
138
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
139
|
+
}>, []>>, false>;
|
|
140
|
+
cultures: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToCultures", Object<{
|
|
141
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
142
|
+
}>, []>>, false>;
|
|
143
|
+
professions: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToProfessions", Object<{
|
|
144
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
145
|
+
}>, []>>, false>;
|
|
146
|
+
magicalTraditions: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToMagicalTraditions", Object<{
|
|
147
|
+
scope: import("tsondb/schema/def").MemberDecl<Array<import("tsondb/schema/def").ReferenceIdentifierType>, true>;
|
|
148
|
+
}>, []>>, false>;
|
|
149
|
+
blessedTraditions: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], TypeAlias<"RestrictedToBlessedTraditions", Object<{
|
|
150
|
+
scope: import("tsondb/schema/def").MemberDecl<IncludeIdentifier<[], Enum<"RestrictedToBlessedTraditionsScope", {
|
|
151
|
+
Specific: EnumCase<Array<import("tsondb/schema/def").ReferenceIdentifierType>>;
|
|
152
|
+
Church: EnumCase<null>;
|
|
153
|
+
Shamanistic: EnumCase<null>;
|
|
154
|
+
}, []>>, true>;
|
|
155
|
+
isSanctifiedBy: import("tsondb/schema/def").MemberDecl<Boolean, true>;
|
|
156
|
+
}>, []>>, false>;
|
|
157
|
+
}>, []>>, false>;
|
|
114
158
|
translations: import("tsondb/schema/def").MemberDecl<import("tsondb/schema/def").NestedEntityMapType<"SecondaryArmorTranslation", {
|
|
115
159
|
advantage: import("tsondb/schema/def").MemberDecl<String, false>;
|
|
116
160
|
disadvantage: import("tsondb/schema/def").MemberDecl<String, false>;
|
|
@@ -3,7 +3,7 @@ import { ArmorIdentifier, ArmorTypeIdentifier } from "../../_Identifier.js";
|
|
|
3
3
|
import { NestedTranslationMap } from "../../Locale.js";
|
|
4
4
|
import { Errata } from "../../source/_Erratum.js";
|
|
5
5
|
import { src } from "../../source/_PublicationRef.js";
|
|
6
|
-
import { ComplexComplexity, Cost, Weight } from "./_Item.js";
|
|
6
|
+
import { ComplexComplexity, Cost, RestrictedTo, Weight } from "./_Item.js";
|
|
7
7
|
export const Armor = Entity(import.meta.url, {
|
|
8
8
|
name: "Armor",
|
|
9
9
|
namePlural: "Armor",
|
|
@@ -40,6 +40,10 @@ export const Armor = Entity(import.meta.url, {
|
|
|
40
40
|
comment: "Specify if armor is only available for a specific hit zone.",
|
|
41
41
|
type: IncludeIdentifier(HitZone),
|
|
42
42
|
}),
|
|
43
|
+
restrictedTo: Optional({
|
|
44
|
+
comment: "Define if during character creation this weapon can only be bought by a specific subset of characters.",
|
|
45
|
+
type: IncludeIdentifier(RestrictedTo),
|
|
46
|
+
}),
|
|
43
47
|
src,
|
|
44
48
|
translations: NestedTranslationMap(Required, "Armor", Object({
|
|
45
49
|
name: Required({
|
|
@@ -96,6 +100,10 @@ export const SecondaryArmor = TypeAlias(import.meta.url, {
|
|
|
96
100
|
comment: "Specify if armor is only available for a specific hit zone.",
|
|
97
101
|
type: IncludeIdentifier(HitZone),
|
|
98
102
|
}),
|
|
103
|
+
restrictedTo: Optional({
|
|
104
|
+
comment: "Define if during character creation this armor can only be bought by a specific subset of characters.",
|
|
105
|
+
type: IncludeIdentifier(RestrictedTo),
|
|
106
|
+
}),
|
|
99
107
|
translations: NestedTranslationMap(Optional, "SecondaryArmor", Object({
|
|
100
108
|
advantage: Optional({
|
|
101
109
|
comment: "The armor advantage text.",
|