optolith-database-schema 0.30.1 → 0.31.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.
- package/CHANGELOG.md +24 -0
- package/gen/types.d.ts +86 -5
- package/lib/types/Locale.d.ts +57 -1
- package/lib/types/Locale.js +78 -1
- package/lib/types/_Identifier.d.ts +1 -1
- package/lib/types/_Identifier.js +1 -1
- package/lib/types/_IdentifierGroup.d.ts +2 -2
- package/lib/types/_IdentifierGroup.js +3 -3
- package/lib/types/equipment/EquipmentPackage.d.ts +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,30 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version) for commit guidelines.
|
|
4
4
|
|
|
5
|
+
## [0.31.1](https://github.com/elyukai/optolith-database-schema/compare/v0.31.0...v0.31.1) (2026-02-15)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
### Features
|
|
9
|
+
|
|
10
|
+
* add rest of translations for equipment ([fa4b7b5](https://github.com/elyukai/optolith-database-schema/commit/fa4b7b5e68491aa367e65f14ebf6afdf636da1da))
|
|
11
|
+
|
|
12
|
+
## [0.31.0](https://github.com/elyukai/optolith-database-schema/compare/v0.30.1...v0.31.0) (2026-02-14)
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
### ⚠ BREAKING CHANGES
|
|
16
|
+
|
|
17
|
+
* use correct entity names in identifier groups
|
|
18
|
+
|
|
19
|
+
### Features
|
|
20
|
+
|
|
21
|
+
* add some translations for equipment ([3fa1060](https://github.com/elyukai/optolith-database-schema/commit/3fa10600c26c6c82cbbed08a8cca6114d6feeeee))
|
|
22
|
+
* locale measurement adjustments ([9040013](https://github.com/elyukai/optolith-database-schema/commit/9040013a844b33a707b7d0f8d804f24a2bfb1325))
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
### Bug Fixes
|
|
26
|
+
|
|
27
|
+
* use correct entity names in identifier groups ([b46029d](https://github.com/elyukai/optolith-database-schema/commit/b46029da1e0520cbe99f3665a928868648e027ca))
|
|
28
|
+
|
|
5
29
|
## [0.30.1](https://github.com/elyukai/optolith-database-schema/compare/v0.30.0...v0.30.1) (2026-02-13)
|
|
6
30
|
|
|
7
31
|
|
package/gen/types.d.ts
CHANGED
|
@@ -637,6 +637,7 @@ export type TypeAliasMap = {
|
|
|
637
637
|
LiturgiesOptions: LiturgiesOptions
|
|
638
638
|
LiturgyPrerequisites: LiturgyPrerequisites
|
|
639
639
|
LiturgyTraditionWithAspects: LiturgyTraditionWithAspects
|
|
640
|
+
LocaleMeasurementAdjustments: LocaleMeasurementAdjustments
|
|
640
641
|
MagicalDancePerformanceParameters: MagicalDancePerformanceParameters
|
|
641
642
|
MagicalMelodyPerformanceParameters: MagicalMelodyPerformanceParameters
|
|
642
643
|
MagicalProfessionGroup: MagicalProfessionGroup
|
|
@@ -1097,6 +1098,11 @@ export interface Locale {
|
|
|
1097
1098
|
*/
|
|
1098
1099
|
is_missing_implementation: boolean
|
|
1099
1100
|
|
|
1101
|
+
/**
|
|
1102
|
+
* Measurement adjustments for units used in the locale.
|
|
1103
|
+
*/
|
|
1104
|
+
measurementAdjustments?: LocaleMeasurementAdjustments
|
|
1105
|
+
|
|
1100
1106
|
/**
|
|
1101
1107
|
* The translations strings for the locale.
|
|
1102
1108
|
*/
|
|
@@ -1221,6 +1227,7 @@ export interface Locale {
|
|
|
1221
1227
|
"general.pricevalue": string
|
|
1222
1228
|
"general.lengthvalue": string
|
|
1223
1229
|
"D": string
|
|
1230
|
+
"{$count}D{$sides}": string & { __params: { "count": StringableTranslationParameter; "sides": StringableTranslationParameter } }
|
|
1224
1231
|
"general.none": string
|
|
1225
1232
|
"general.or": string
|
|
1226
1233
|
"general.and": string
|
|
@@ -2265,7 +2272,7 @@ export interface Locale {
|
|
|
2265
2272
|
"Elective Spellworks Package": string
|
|
2266
2273
|
"Restricted Spellworks": string
|
|
2267
2274
|
"All, at the GM’s discretion": string
|
|
2268
|
-
".input {$count :number} {{only {$count} additional
|
|
2275
|
+
".input {$count :number} {{only {$count} additional spellworks with the Property {$property}}}": string & { __params: { "count": number; "property": StringableTranslationParameter } }
|
|
2269
2276
|
"no spellworks with the Property {$property}": string & { __params: { "property": StringableTranslationParameter } }
|
|
2270
2277
|
"Demon Summoning": string
|
|
2271
2278
|
"the following spells are not taught: {$spells}": string & { __params: { "spells": StringableTranslationParameter } }
|
|
@@ -2275,6 +2282,55 @@ export interface Locale {
|
|
|
2275
2282
|
"Skills (+)": string
|
|
2276
2283
|
"Skills (−)": string
|
|
2277
2284
|
"{$replacement} instead of {$base}": string & { __params: { "replacement": StringableTranslationParameter; "base": StringableTranslationParameter } }
|
|
2285
|
+
"Clothing Package {$socialStatus}": string & { __params: { "socialStatus": StringableTranslationParameter } }
|
|
2286
|
+
"Cost": string
|
|
2287
|
+
"Total": string
|
|
2288
|
+
".input {$value :number} {{{$value} pounds}}": string & { __params: { "value": number } }
|
|
2289
|
+
"{$value} pounds": string & { __params: { "value": StringableTranslationParameter } }
|
|
2290
|
+
".input {$value :number} {{{$value} silverthalers}}": string & { __params: { "value": number } }
|
|
2291
|
+
"{$value} silverthalers": string & { __params: { "value": StringableTranslationParameter } }
|
|
2292
|
+
".input {$from :number} .input {$to :number} {{{$from}–{$to} pounds}}": string & { __params: { "from": number; "to": number } }
|
|
2293
|
+
".input {$from :number} .input {$to :number} {{{$from}–{$to} silverthalers}}": string & { __params: { "from": number; "to": number } }
|
|
2294
|
+
"free": string
|
|
2295
|
+
"various": string
|
|
2296
|
+
"invaluable": string
|
|
2297
|
+
"Damage Points": string
|
|
2298
|
+
"Primary Attribute + Damage Threshold": string
|
|
2299
|
+
"Attack/Parry Modifier": string
|
|
2300
|
+
"Reach": string
|
|
2301
|
+
"Weight (Bronze/Silver/Gold)": string
|
|
2302
|
+
"Length": string
|
|
2303
|
+
"Cost (Bronze/Silver/Gold)": string
|
|
2304
|
+
"Reload Time": string
|
|
2305
|
+
"Range Brackets": string
|
|
2306
|
+
"Ammunition": string
|
|
2307
|
+
"Protection": string
|
|
2308
|
+
"Additional Penalties": string
|
|
2309
|
+
"Burning Time": string
|
|
2310
|
+
"Color": string
|
|
2311
|
+
"Language/Script": string
|
|
2312
|
+
"Complexity": string
|
|
2313
|
+
"Weapon Advantage": string
|
|
2314
|
+
"Weapon Disadvantage": string
|
|
2315
|
+
"Armor Advantage": string
|
|
2316
|
+
"Armor Disadvantage": string
|
|
2317
|
+
"Combat Technique {$name}": string & { __params: { "name": StringableTranslationParameter } }
|
|
2318
|
+
"Primitive": string
|
|
2319
|
+
"Simple": string
|
|
2320
|
+
"Complex": string
|
|
2321
|
+
"Various": string
|
|
2322
|
+
"Parrying weapon (PA bonus +1 for the main weapon)": string
|
|
2323
|
+
"To buy a {$itemName} during hero creation, the character must have Tradition ({$traditions}).": string & { __params: { "itemName": StringableTranslationParameter; "traditions": StringableTranslationParameter } }
|
|
2324
|
+
"Sanctified ({$sanctifiedTraditions}); only Blessed Ones of {$traditions} may purchase weapons sanctified by {$traditions}, respectively.": string & { __params: { "sanctifiedTraditions": StringableTranslationParameter; "traditions": StringableTranslationParameter } }
|
|
2325
|
+
"Sanctified ({$tradition}); only Blessed Ones of {$tradition} may purchase weapons sanctified by {$tradition}.": string & { __params: { "tradition": StringableTranslationParameter } }
|
|
2326
|
+
"To buy a {$name} during hero creation, the character must be from the culture of the {$cultures}.": string & { __params: { "name": StringableTranslationParameter; "cultures": StringableTranslationParameter } }
|
|
2327
|
+
"To buy a {$itemName} during hero creation, the character must have a shamanistic tradition.": string & { __params: { "itemName": StringableTranslationParameter } }
|
|
2328
|
+
"To buy a {$name} during hero creation, the character must be from a culture common to the race of {$races}.": string & { __params: { "name": StringableTranslationParameter; "races": StringableTranslationParameter } }
|
|
2329
|
+
".input {$value :number} {{{$value} inches}}": string & { __params: { "value": number } }
|
|
2330
|
+
"unlimited": string
|
|
2331
|
+
"Structure Points": string
|
|
2332
|
+
".input {$value :number} {{{$value} Structure Points}}": string & { __params: { "value": number } }
|
|
2333
|
+
"{$value} Structure Points": string & { __params: { "value": StringableTranslationParameter } }
|
|
2278
2334
|
}
|
|
2279
2335
|
}
|
|
2280
2336
|
|
|
@@ -2283,6 +2339,31 @@ export interface Locale {
|
|
|
2283
2339
|
*/
|
|
2284
2340
|
export type Locale_ID = string
|
|
2285
2341
|
|
|
2342
|
+
/**
|
|
2343
|
+
* Measurements in the database always use the metric system, although the actual unit used in the locale’s translation may be different. Some translation may use different units where values have to be converted using a multiplier.
|
|
2344
|
+
*/
|
|
2345
|
+
export interface LocaleMeasurementAdjustments {
|
|
2346
|
+
/**
|
|
2347
|
+
* Some lengths in the database are stored in kilometers (or “miles”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation.
|
|
2348
|
+
*/
|
|
2349
|
+
milesMultiplier?: number
|
|
2350
|
+
|
|
2351
|
+
/**
|
|
2352
|
+
* Some lengths in the database are stored in meters (or “steps”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. yards).
|
|
2353
|
+
*/
|
|
2354
|
+
stepsMultiplier?: number
|
|
2355
|
+
|
|
2356
|
+
/**
|
|
2357
|
+
* Some lengths in the database are stored in centimeters (or “halffingers”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. inches).
|
|
2358
|
+
*/
|
|
2359
|
+
halffingersMultiplier?: number
|
|
2360
|
+
|
|
2361
|
+
/**
|
|
2362
|
+
* Weights in the database are stored in kilogram (or “stone”, as it is called originally). This multiplier is used to convert these weights to the unit used in the locale’s translation (e.g. pounds).
|
|
2363
|
+
*/
|
|
2364
|
+
stonesMultiplier?: number
|
|
2365
|
+
}
|
|
2366
|
+
|
|
2286
2367
|
export interface PropertiesSelectOptionCategory {
|
|
2287
2368
|
/**
|
|
2288
2369
|
* Does each property require its corresponding property knowledge?
|
|
@@ -20749,8 +20830,8 @@ export type EquipmentIdentifier =
|
|
|
20749
20830
|
IlluminationLightSource: IlluminationLightSource_ID
|
|
20750
20831
|
}
|
|
20751
20832
|
| {
|
|
20752
|
-
kind: "
|
|
20753
|
-
|
|
20833
|
+
kind: "IlluminationRefillOrSupply"
|
|
20834
|
+
IlluminationRefillOrSupply: IlluminationRefillOrSupply_ID
|
|
20754
20835
|
}
|
|
20755
20836
|
| {
|
|
20756
20837
|
kind: "Jewelry"
|
|
@@ -20793,8 +20874,8 @@ export type EquipmentIdentifier =
|
|
|
20793
20874
|
RopeOrChain: RopeOrChain_ID
|
|
20794
20875
|
}
|
|
20795
20876
|
| {
|
|
20796
|
-
kind: "
|
|
20797
|
-
|
|
20877
|
+
kind: "Stationery"
|
|
20878
|
+
Stationery: Stationery_ID
|
|
20798
20879
|
}
|
|
20799
20880
|
| {
|
|
20800
20881
|
kind: "ThievesTool"
|
package/lib/types/Locale.d.ts
CHANGED
|
@@ -3,6 +3,12 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
3
3
|
name: DB.MemberDecl<DB.String, true>;
|
|
4
4
|
region: DB.MemberDecl<DB.String, true>;
|
|
5
5
|
is_missing_implementation: DB.MemberDecl<DB.Boolean, true>;
|
|
6
|
+
measurementAdjustments: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"LocaleMeasurementAdjustments", DB.Object<{
|
|
7
|
+
milesMultiplier: DB.MemberDecl<DB.Float, false>;
|
|
8
|
+
stepsMultiplier: DB.MemberDecl<DB.Float, false>;
|
|
9
|
+
halffingersMultiplier: DB.MemberDecl<DB.Float, false>;
|
|
10
|
+
stonesMultiplier: DB.MemberDecl<DB.Float, false>;
|
|
11
|
+
}>, []>>, false>;
|
|
6
12
|
translations: DB.MemberDecl<DB.TranslationObject<{
|
|
7
13
|
"About {$app}": null;
|
|
8
14
|
"Preferences \u2026": null;
|
|
@@ -211,6 +217,7 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
211
217
|
* As in *2D6*.
|
|
212
218
|
*/
|
|
213
219
|
D: null;
|
|
220
|
+
"{$count}D{$sides}": null;
|
|
214
221
|
"general.none": null;
|
|
215
222
|
"general.or": null;
|
|
216
223
|
"general.and": null;
|
|
@@ -1348,7 +1355,7 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1348
1355
|
"Elective Spellworks Package": null;
|
|
1349
1356
|
"Restricted Spellworks": null;
|
|
1350
1357
|
"All, at the GM\u2019s discretion": null;
|
|
1351
|
-
".input {$count :number} {{only {$count} additional
|
|
1358
|
+
".input {$count :number} {{only {$count} additional spellworks with the Property {$property}}}": null;
|
|
1352
1359
|
"no spellworks with the Property {$property}": null;
|
|
1353
1360
|
"Demon Summoning": null;
|
|
1354
1361
|
"the following spells are not taught: {$spells}": null;
|
|
@@ -1358,6 +1365,55 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1358
1365
|
"Skills (+)": null;
|
|
1359
1366
|
"Skills (\u2212)": null;
|
|
1360
1367
|
"{$replacement} instead of {$base}": null;
|
|
1368
|
+
"Clothing Package {$socialStatus}": null;
|
|
1369
|
+
Cost: null;
|
|
1370
|
+
Total: null;
|
|
1371
|
+
".input {$value :number} {{{$value} pounds}}": null;
|
|
1372
|
+
"{$value} pounds": null;
|
|
1373
|
+
".input {$value :number} {{{$value} silverthalers}}": null;
|
|
1374
|
+
"{$value} silverthalers": null;
|
|
1375
|
+
".input {$from :number} .input {$to :number} {{{$from}\u2013{$to} pounds}}": null;
|
|
1376
|
+
".input {$from :number} .input {$to :number} {{{$from}\u2013{$to} silverthalers}}": null;
|
|
1377
|
+
free: null;
|
|
1378
|
+
various: null;
|
|
1379
|
+
invaluable: null;
|
|
1380
|
+
"Damage Points": null;
|
|
1381
|
+
"Primary Attribute + Damage Threshold": null;
|
|
1382
|
+
"Attack/Parry Modifier": null;
|
|
1383
|
+
Reach: null;
|
|
1384
|
+
"Weight (Bronze/Silver/Gold)": null;
|
|
1385
|
+
Length: null;
|
|
1386
|
+
"Cost (Bronze/Silver/Gold)": null;
|
|
1387
|
+
"Reload Time": null;
|
|
1388
|
+
"Range Brackets": null;
|
|
1389
|
+
Ammunition: null;
|
|
1390
|
+
Protection: null;
|
|
1391
|
+
"Additional Penalties": null;
|
|
1392
|
+
"Burning Time": null;
|
|
1393
|
+
Color: null;
|
|
1394
|
+
"Language/Script": null;
|
|
1395
|
+
Complexity: null;
|
|
1396
|
+
"Weapon Advantage": null;
|
|
1397
|
+
"Weapon Disadvantage": null;
|
|
1398
|
+
"Armor Advantage": null;
|
|
1399
|
+
"Armor Disadvantage": null;
|
|
1400
|
+
"Combat Technique {$name}": null;
|
|
1401
|
+
Primitive: null;
|
|
1402
|
+
Simple: null;
|
|
1403
|
+
Complex: null;
|
|
1404
|
+
Various: null;
|
|
1405
|
+
"Parrying weapon (PA bonus +1 for the main weapon)": null;
|
|
1406
|
+
"To buy a {$itemName} during hero creation, the character must have Tradition ({$traditions}).": null;
|
|
1407
|
+
"Sanctified ({$sanctifiedTraditions}); only Blessed Ones of {$traditions} may purchase weapons sanctified by {$traditions}, respectively.": null;
|
|
1408
|
+
"Sanctified ({$tradition}); only Blessed Ones of {$tradition} may purchase weapons sanctified by {$tradition}.": null;
|
|
1409
|
+
"To buy a {$name} during hero creation, the character must be from the culture of the {$cultures}.": null;
|
|
1410
|
+
"To buy a {$itemName} during hero creation, the character must have a shamanistic tradition.": null;
|
|
1411
|
+
"To buy a {$name} during hero creation, the character must be from a culture common to the race of {$races}.": null;
|
|
1412
|
+
".input {$value :number} {{{$value} inches}}": null;
|
|
1413
|
+
unlimited: null;
|
|
1414
|
+
"Structure Points": null;
|
|
1415
|
+
".input {$value :number} {{{$value} Structure Points}}": null;
|
|
1416
|
+
"{$value} Structure Points": null;
|
|
1361
1417
|
}>, false>;
|
|
1362
1418
|
}, undefined>;
|
|
1363
1419
|
export declare const NestedTranslationMap: <Name extends string, T extends Record<string, DB.MemberDecl>, R extends boolean>(MemberDeclCreator: <T_1 extends DB.Type>(options: {
|
package/lib/types/Locale.js
CHANGED
|
@@ -16,6 +16,10 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
16
16
|
comment: "The language is not (fully) implemented and thus needs to be excluded from stable releases.",
|
|
17
17
|
type: DB.Boolean(),
|
|
18
18
|
}),
|
|
19
|
+
measurementAdjustments: DB.Optional({
|
|
20
|
+
comment: "Measurement adjustments for units used in the locale.",
|
|
21
|
+
type: DB.IncludeIdentifier(LocaleMeasurementAdjustments),
|
|
22
|
+
}),
|
|
19
23
|
translations: DB.Optional({
|
|
20
24
|
// TODO: Make Required again once translations are added for all locales
|
|
21
25
|
comment: "The translations strings for the locale.",
|
|
@@ -233,6 +237,7 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
233
237
|
* As in *2D6*.
|
|
234
238
|
*/
|
|
235
239
|
"D": null,
|
|
240
|
+
"{$count}D{$sides}": null,
|
|
236
241
|
"general.none": null,
|
|
237
242
|
"general.or": null,
|
|
238
243
|
"general.and": null,
|
|
@@ -1388,7 +1393,7 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1388
1393
|
"Elective Spellworks Package": null,
|
|
1389
1394
|
"Restricted Spellworks": null,
|
|
1390
1395
|
"All, at the GM’s discretion": null,
|
|
1391
|
-
".input {$count :number} {{only {$count} additional
|
|
1396
|
+
".input {$count :number} {{only {$count} additional spellworks with the Property {$property}}}": null,
|
|
1392
1397
|
"no spellworks with the Property {$property}": null,
|
|
1393
1398
|
"Demon Summoning": null,
|
|
1394
1399
|
"the following spells are not taught: {$spells}": null,
|
|
@@ -1398,6 +1403,56 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1398
1403
|
"Skills (+)": null,
|
|
1399
1404
|
"Skills (−)": null,
|
|
1400
1405
|
"{$replacement} instead of {$base}": null,
|
|
1406
|
+
// equipment
|
|
1407
|
+
"Clothing Package {$socialStatus}": null,
|
|
1408
|
+
"Cost": null,
|
|
1409
|
+
"Total": null,
|
|
1410
|
+
".input {$value :number} {{{$value} pounds}}": null,
|
|
1411
|
+
"{$value} pounds": null,
|
|
1412
|
+
".input {$value :number} {{{$value} silverthalers}}": null,
|
|
1413
|
+
"{$value} silverthalers": null,
|
|
1414
|
+
".input {$from :number} .input {$to :number} {{{$from}–{$to} pounds}}": null,
|
|
1415
|
+
".input {$from :number} .input {$to :number} {{{$from}–{$to} silverthalers}}": null,
|
|
1416
|
+
"free": null,
|
|
1417
|
+
"various": null,
|
|
1418
|
+
"invaluable": null,
|
|
1419
|
+
"Damage Points": null,
|
|
1420
|
+
"Primary Attribute + Damage Threshold": null,
|
|
1421
|
+
"Attack/Parry Modifier": null,
|
|
1422
|
+
"Reach": null,
|
|
1423
|
+
"Weight (Bronze/Silver/Gold)": null,
|
|
1424
|
+
"Length": null,
|
|
1425
|
+
"Cost (Bronze/Silver/Gold)": null,
|
|
1426
|
+
"Reload Time": null,
|
|
1427
|
+
"Range Brackets": null,
|
|
1428
|
+
"Ammunition": null,
|
|
1429
|
+
"Protection": null,
|
|
1430
|
+
"Additional Penalties": null,
|
|
1431
|
+
"Burning Time": null,
|
|
1432
|
+
"Color": null,
|
|
1433
|
+
"Language/Script": null,
|
|
1434
|
+
"Complexity": null,
|
|
1435
|
+
"Weapon Advantage": null,
|
|
1436
|
+
"Weapon Disadvantage": null,
|
|
1437
|
+
"Armor Advantage": null,
|
|
1438
|
+
"Armor Disadvantage": null,
|
|
1439
|
+
"Combat Technique {$name}": null,
|
|
1440
|
+
"Primitive": null,
|
|
1441
|
+
"Simple": null,
|
|
1442
|
+
"Complex": null,
|
|
1443
|
+
"Various": null,
|
|
1444
|
+
"Parrying weapon (PA bonus +1 for the main weapon)": null,
|
|
1445
|
+
"To buy a {$itemName} during hero creation, the character must have Tradition ({$traditions}).": null,
|
|
1446
|
+
"Sanctified ({$sanctifiedTraditions}); only Blessed Ones of {$traditions} may purchase weapons sanctified by {$traditions}, respectively.": null,
|
|
1447
|
+
"Sanctified ({$tradition}); only Blessed Ones of {$tradition} may purchase weapons sanctified by {$tradition}.": null,
|
|
1448
|
+
"To buy a {$name} during hero creation, the character must be from the culture of the {$cultures}.": null,
|
|
1449
|
+
"To buy a {$itemName} during hero creation, the character must have a shamanistic tradition.": null,
|
|
1450
|
+
"To buy a {$name} during hero creation, the character must be from a culture common to the race of {$races}.": null,
|
|
1451
|
+
".input {$value :number} {{{$value} inches}}": null,
|
|
1452
|
+
"unlimited": null,
|
|
1453
|
+
"Structure Points": null,
|
|
1454
|
+
".input {$value :number} {{{$value} Structure Points}}": null,
|
|
1455
|
+
"{$value} Structure Points": null,
|
|
1401
1456
|
}, { allKeysAreRequired: true }),
|
|
1402
1457
|
}),
|
|
1403
1458
|
}),
|
|
@@ -1412,6 +1467,28 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1412
1467
|
],
|
|
1413
1468
|
],
|
|
1414
1469
|
});
|
|
1470
|
+
const LocaleMeasurementAdjustments = DB.TypeAlias(import.meta.url, {
|
|
1471
|
+
name: "LocaleMeasurementAdjustments",
|
|
1472
|
+
comment: "Measurements in the database always use the metric system, although the actual unit used in the locale’s translation may be different. Some translation may use different units where values have to be converted using a multiplier.",
|
|
1473
|
+
type: () => DB.Object({
|
|
1474
|
+
milesMultiplier: DB.Optional({
|
|
1475
|
+
comment: "Some lengths in the database are stored in kilometers (or “miles”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation.",
|
|
1476
|
+
type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
|
|
1477
|
+
}),
|
|
1478
|
+
stepsMultiplier: DB.Optional({
|
|
1479
|
+
comment: "Some lengths in the database are stored in meters (or “steps”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. yards).",
|
|
1480
|
+
type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
|
|
1481
|
+
}),
|
|
1482
|
+
halffingersMultiplier: DB.Optional({
|
|
1483
|
+
comment: "Some lengths in the database are stored in centimeters (or “halffingers”, as it is called originally). This multiplier is used to convert these lengths to the unit used in the locale’s translation (e.g. inches).",
|
|
1484
|
+
type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
|
|
1485
|
+
}),
|
|
1486
|
+
stonesMultiplier: DB.Optional({
|
|
1487
|
+
comment: "Weights in the database are stored in kilogram (or “stone”, as it is called originally). This multiplier is used to convert these weights to the unit used in the locale’s translation (e.g. pounds).",
|
|
1488
|
+
type: DB.Float({ minimum: { value: 0, isExclusive: true } }),
|
|
1489
|
+
}),
|
|
1490
|
+
}, { minProperties: 1 }),
|
|
1491
|
+
});
|
|
1415
1492
|
export const NestedTranslationMap = (MemberDeclCreator, entityName, type) => MemberDeclCreator({
|
|
1416
1493
|
comment: "All translations for the entry, identified by IETF language tag (BCP47).",
|
|
1417
1494
|
type: DB.NestedEntityMap({
|
|
@@ -74,7 +74,7 @@ export declare const GuidelineIdentifier: () => R;
|
|
|
74
74
|
export declare const HairColorIdentifier: () => R;
|
|
75
75
|
export declare const HaubenzauberIdentifier: () => R;
|
|
76
76
|
export declare const IlluminationLightSourceIdentifier: () => R;
|
|
77
|
-
export declare const
|
|
77
|
+
export declare const IlluminationRefillOrSupplyIdentifier: () => R;
|
|
78
78
|
export declare const InfluenceIdentifier: () => R;
|
|
79
79
|
export declare const InstrumentEnchantmentIdentifier: () => R;
|
|
80
80
|
export declare const JesterTrickIdentifier: () => R;
|
package/lib/types/_Identifier.js
CHANGED
|
@@ -225,7 +225,7 @@ export const GuidelineIdentifier = () => R(Guideline);
|
|
|
225
225
|
export const HairColorIdentifier = () => R(HairColor);
|
|
226
226
|
export const HaubenzauberIdentifier = () => R(Haubenzauber);
|
|
227
227
|
export const IlluminationLightSourceIdentifier = () => R(IlluminationLightSource);
|
|
228
|
-
export const
|
|
228
|
+
export const IlluminationRefillOrSupplyIdentifier = () => R(IlluminationRefillOrSupply);
|
|
229
229
|
export const InfluenceIdentifier = () => R(Influence);
|
|
230
230
|
export const InstrumentEnchantmentIdentifier = () => R(InstrumentEnchantment);
|
|
231
231
|
export const JesterTrickIdentifier = () => R(JesterTrick);
|
|
@@ -327,7 +327,7 @@ export declare const EquipmentIdentifier: DB.Enum<"EquipmentIdentifier", {
|
|
|
327
327
|
EquipmentOfBlessedOnes: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
328
328
|
GemOrPreciousStone: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
329
329
|
IlluminationLightSource: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
330
|
-
|
|
330
|
+
IlluminationRefillOrSupply: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
331
331
|
Jewelry: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
332
332
|
Laboratory: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
333
333
|
Liebesspielzeug: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -338,7 +338,7 @@ export declare const EquipmentIdentifier: DB.Enum<"EquipmentIdentifier", {
|
|
|
338
338
|
OrienteeringAid: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
339
339
|
Poison: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
340
340
|
RopeOrChain: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
341
|
-
|
|
341
|
+
Stationery: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
342
342
|
ThievesTool: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
343
343
|
ToolOfTheTrade: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
344
344
|
TravelGearOrTool: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
-
import { AdvancedCombatSpecialAbilityIdentifier, AdvancedKarmaSpecialAbilityIdentifier, AdvancedMagicalSpecialAbilityIdentifier, AdvancedSkillSpecialAbilityIdentifier, AdvantageIdentifier, AmmunitionIdentifier, AncestorGlyphIdentifier, AnimalCareIdentifier, AnimalIdentifier, AnimalShapeIdentifier, AnimalShapeSizeIdentifier, AnimistPowerIdentifier, ArcaneBardTraditionIdentifier, ArcaneDancerTraditionIdentifier, ArcaneOrbEnchantmentIdentifier, ArmorIdentifier, AspectIdentifier, AttireEnchantmentIdentifier, AttributeIdentifier, BandageOrRemedyIdentifier, BeutelzauberIdentifier, BlessedTraditionIdentifier, BlessingIdentifier, BookIdentifier, BowlEnchantmentIdentifier, BrawlingSpecialAbilityIdentifier, CantripIdentifier, CauldronEnchantmentIdentifier, CeremonialItemIdentifier, CeremonialItemSpecialAbilityIdentifier, CeremonyIdentifier, ChronicleEnchantmentIdentifier, CloseCombatTechniqueIdentifier, ClothesIdentifier, ClothingPackageIdentifier, CombatSpecialAbilityIdentifier, CombatStyleSpecialAbilityIdentifier, CommandSpecialAbilityIdentifier, ContainerIdentifier, CultureIdentifier, CurseIdentifier, DaggerRitualIdentifier, DisadvantageIdentifier, DiseaseIdentifier, DominationRitualIdentifier, ElementIdentifier, ElixirIdentifier, ElvenMagicalSongIdentifier, EquipmentOfBlessedOnesIdentifier, FamiliarSpecialAbilityIdentifier, FatePointSexSpecialAbilityIdentifier, FatePointSpecialAbilityIdentifier, FocusRuleIdentifier, FoolsHatEnchantmentIdentifier, GemOrPreciousStoneIdentifier, GeneralIdentifier, GeneralSpecialAbilityIdentifier, GeodeRitualIdentifier, HaubenzauberIdentifier, IlluminationLightSourceIdentifier,
|
|
2
|
+
import { AdvancedCombatSpecialAbilityIdentifier, AdvancedKarmaSpecialAbilityIdentifier, AdvancedMagicalSpecialAbilityIdentifier, AdvancedSkillSpecialAbilityIdentifier, AdvantageIdentifier, AmmunitionIdentifier, AncestorGlyphIdentifier, AnimalCareIdentifier, AnimalIdentifier, AnimalShapeIdentifier, AnimalShapeSizeIdentifier, AnimistPowerIdentifier, ArcaneBardTraditionIdentifier, ArcaneDancerTraditionIdentifier, ArcaneOrbEnchantmentIdentifier, ArmorIdentifier, AspectIdentifier, AttireEnchantmentIdentifier, AttributeIdentifier, BandageOrRemedyIdentifier, BeutelzauberIdentifier, BlessedTraditionIdentifier, BlessingIdentifier, BookIdentifier, BowlEnchantmentIdentifier, BrawlingSpecialAbilityIdentifier, CantripIdentifier, CauldronEnchantmentIdentifier, CeremonialItemIdentifier, CeremonialItemSpecialAbilityIdentifier, CeremonyIdentifier, ChronicleEnchantmentIdentifier, CloseCombatTechniqueIdentifier, ClothesIdentifier, ClothingPackageIdentifier, CombatSpecialAbilityIdentifier, CombatStyleSpecialAbilityIdentifier, CommandSpecialAbilityIdentifier, ContainerIdentifier, CultureIdentifier, CurseIdentifier, DaggerRitualIdentifier, DisadvantageIdentifier, DiseaseIdentifier, DominationRitualIdentifier, ElementIdentifier, ElixirIdentifier, ElvenMagicalSongIdentifier, EquipmentOfBlessedOnesIdentifier, FamiliarSpecialAbilityIdentifier, FatePointSexSpecialAbilityIdentifier, FatePointSpecialAbilityIdentifier, FocusRuleIdentifier, FoolsHatEnchantmentIdentifier, GemOrPreciousStoneIdentifier, GeneralIdentifier, GeneralSpecialAbilityIdentifier, GeodeRitualIdentifier, HaubenzauberIdentifier, IlluminationLightSourceIdentifier, IlluminationRefillOrSupplyIdentifier, InstrumentEnchantmentIdentifier, JesterTrickIdentifier, JewelryIdentifier, KarmaSpecialAbilityIdentifier, KrallenkettenzauberIdentifier, KristallkugelzauberIdentifier, LaboratoryIdentifier, LanguageIdentifier, LiebesspielzeugIdentifier, LiturgicalChantIdentifier, LiturgicalStyleSpecialAbilityIdentifier, LuxuryGoodIdentifier, LycantropicGiftIdentifier, MagicalArtifactIdentifier, MagicalDanceIdentifier, MagicalMelodyIdentifier, MagicalRuneIdentifier, MagicalSignIdentifier, MagicalSpecialAbilityIdentifier, MagicalTraditionIdentifier, MagicStyleSpecialAbilityIdentifier, MusicalInstrumentIdentifier, NewspaperIdentifier, OptionalRuleIdentifier, OrbEnchantmentIdentifier, OrienteeringAidIdentifier, PactGiftIdentifier, PatronIdentifier, PoisonIdentifier, PropertyIdentifier, ProtectiveWardingCircleSpecialAbilityIdentifier, RaceIdentifier, RangedCombatTechniqueIdentifier, RingEnchantmentIdentifier, RitualIdentifier, RopeOrChainIdentifier, ScriptIdentifier, SermonIdentifier, SexPracticeIdentifier, SexSpecialAbilityIdentifier, SickleRitualIdentifier, SikaryanDrainSpecialAbilityIdentifier, SkillApplicationIdentifier, SkillIdentifier, SkillStyleSpecialAbilityIdentifier, SpellIdentifier, SpellSwordEnchantmentIdentifier, StaffEnchantmentIdentifier, StationeryIdentifier, TargetCategoryIdentifier, ThievesToolIdentifier, ToolOfTheTradeIdentifier, ToyEnchantmentIdentifier, TradeSecretIdentifier, TravelGearOrToolIdentifier, TrinkhornzauberIdentifier, VampiricGiftIdentifier, VehicleIdentifier, VisionIdentifier, WandEnchantmentIdentifier, WeaponAccessoryIdentifier, WeaponEnchantmentIdentifier, WeaponIdentifier, ZibiljaRitualIdentifier, } from "./_Identifier.js";
|
|
3
3
|
export const ActivatableIdentifier = DB.Enum(import.meta.url, {
|
|
4
4
|
name: "ActivatableIdentifier",
|
|
5
5
|
values: () => ({
|
|
@@ -287,7 +287,7 @@ export const EquipmentIdentifier = DB.Enum(import.meta.url, {
|
|
|
287
287
|
EquipmentOfBlessedOnes: DB.EnumCase({ type: EquipmentOfBlessedOnesIdentifier() }),
|
|
288
288
|
GemOrPreciousStone: DB.EnumCase({ type: GemOrPreciousStoneIdentifier() }),
|
|
289
289
|
IlluminationLightSource: DB.EnumCase({ type: IlluminationLightSourceIdentifier() }),
|
|
290
|
-
|
|
290
|
+
IlluminationRefillOrSupply: DB.EnumCase({ type: IlluminationRefillOrSupplyIdentifier() }),
|
|
291
291
|
Jewelry: DB.EnumCase({ type: JewelryIdentifier() }),
|
|
292
292
|
Laboratory: DB.EnumCase({ type: LaboratoryIdentifier() }),
|
|
293
293
|
Liebesspielzeug: DB.EnumCase({ type: LiebesspielzeugIdentifier() }),
|
|
@@ -298,7 +298,7 @@ export const EquipmentIdentifier = DB.Enum(import.meta.url, {
|
|
|
298
298
|
OrienteeringAid: DB.EnumCase({ type: OrienteeringAidIdentifier() }),
|
|
299
299
|
Poison: DB.EnumCase({ type: PoisonIdentifier() }),
|
|
300
300
|
RopeOrChain: DB.EnumCase({ type: RopeOrChainIdentifier() }),
|
|
301
|
-
|
|
301
|
+
Stationery: DB.EnumCase({ type: StationeryIdentifier() }),
|
|
302
302
|
ThievesTool: DB.EnumCase({ type: ThievesToolIdentifier() }),
|
|
303
303
|
ToolOfTheTrade: DB.EnumCase({ type: ToolOfTheTradeIdentifier() }),
|
|
304
304
|
TravelGearOrTool: DB.EnumCase({ type: TravelGearOrToolIdentifier() }),
|
|
@@ -16,7 +16,7 @@ export declare const EquipmentPackage: DB.Entity<"EquipmentPackage", {
|
|
|
16
16
|
EquipmentOfBlessedOnes: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
17
17
|
GemOrPreciousStone: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
18
18
|
IlluminationLightSource: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
19
|
-
|
|
19
|
+
IlluminationRefillOrSupply: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
20
20
|
Jewelry: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
21
21
|
Laboratory: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
22
22
|
Liebesspielzeug: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
@@ -27,7 +27,7 @@ export declare const EquipmentPackage: DB.Entity<"EquipmentPackage", {
|
|
|
27
27
|
OrienteeringAid: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
28
28
|
Poison: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
29
29
|
RopeOrChain: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
30
|
-
|
|
30
|
+
Stationery: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
31
31
|
ThievesTool: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
32
32
|
ToolOfTheTrade: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
33
33
|
TravelGearOrTool: DB.EnumCase<DB.ReferenceIdentifier>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "optolith-database-schema",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.31.1",
|
|
4
4
|
"description": "Definitions and utilities for the flat-file database of Optolith, a character creation tool for the Pen and Paper RPG “The Dark Eye 5”, and its external integrations into other software.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"tde",
|