@optolith/database-schema 0.75.1 → 0.77.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 +24 -0
- package/gen/types.d.ts +84 -1
- package/lib/cache/activatableSelectOptions.js +4 -1
- package/lib/types/Advantage.d.ts +7 -0
- package/lib/types/Ceremony.d.ts +4 -0
- package/lib/types/Disadvantage.d.ts +7 -0
- package/lib/types/LiturgicalChant.d.ts +4 -0
- package/lib/types/Locale.d.ts +9 -0
- package/lib/types/Locale.js +9 -0
- package/lib/types/Profession.d.ts +7 -0
- package/lib/types/Profession.js +8 -1
- package/lib/types/Ritual.d.ts +4 -0
- package/lib/types/Settings.d.ts +6 -0
- package/lib/types/Settings.js +31 -3
- package/lib/types/Spell.d.ts +4 -0
- package/lib/types/_ActivatableAdventurePointsValue.d.ts +2 -0
- package/lib/types/_ActivatableMagical.d.ts +2 -0
- package/lib/types/_ActivatableMagical.js +2 -0
- package/lib/types/_ActivatableNonMundane.d.ts +5 -0
- package/lib/types/_ActivatableSelectOptionCategory.d.ts +8 -0
- package/lib/types/_ActivatableSelectOptionCategory.js +12 -0
- package/lib/types/_ActivatableSelectOptions.d.ts +4 -0
- package/lib/types/_ActivatableSkill.d.ts +10 -0
- package/lib/types/_ActivatableSkillCost.d.ts +5 -0
- package/lib/types/_ActivatableSkillParameterMap.d.ts +2 -0
- package/lib/types/_ActivatableSkillParameterMap.js +13 -3
- package/lib/types/_Identifier.d.ts +1 -0
- package/lib/types/_Identifier.js +2 -1
- package/lib/types/magicalActions/Bannzeichen.d.ts +1 -0
- package/lib/types/magicalActions/GeodeRitual.d.ts +1 -0
- package/lib/types/magicalActions/ZibiljaRitual.d.ts +2 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/AncestorGlyph.d.ts +5 -0
- package/lib/types/specialAbility/BlessedTradition.d.ts +5 -0
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/LycantropicGift.d.ts +5 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/MagicalSign.d.ts +1 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/MagicalTradition.d.ts +5 -0
- package/lib/types/specialAbility/PactGift.d.ts +5 -0
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/Sermon.d.ts +5 -0
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +5 -0
- package/lib/types/specialAbility/VampiricGift.d.ts +5 -0
- package/lib/types/specialAbility/Vision.d.ts +5 -0
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +5 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/Beutelzauber.d.ts +8 -0
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +8 -0
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/Haubenzauber.d.ts +8 -0
- package/lib/types/traditionArtifacts/Hauerkettenzauber.d.ts +4 -0
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/Keulenzauber.d.ts +4 -0
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +8 -0
- package/lib/types/traditionArtifacts/Kristallkugelzauber.d.ts +8 -0
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/Schweinetrommelzauber.d.ts +4 -0
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +8 -0
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +8 -0
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +8 -0
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +7 -0
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +8 -0
- 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.77.0](https://github.com/Optolith/database-schema/compare/v0.76.0...v0.77.0) (2026-10-01)
|
|
6
|
+
|
|
7
|
+
### ⚠ BREAKING CHANGES
|
|
8
|
+
|
|
9
|
+
* more profession translation parts
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* more profession translation parts ([9971ec0](https://github.com/Optolith/database-schema/commit/9971ec01fed1d93aa5fb4f163f9dd51a45affcac))
|
|
14
|
+
## [0.76.0](https://github.com/Optolith/database-schema/compare/v0.75.1...v0.76.0) (2026-09-30)
|
|
15
|
+
|
|
16
|
+
### ⚠ BREAKING CHANGES
|
|
17
|
+
|
|
18
|
+
* blessed honor/punishment subtypes
|
|
19
|
+
* grouped value map style
|
|
20
|
+
* settings for mapping styles to focus rules
|
|
21
|
+
|
|
22
|
+
### Features
|
|
23
|
+
|
|
24
|
+
* blessed honor/punishment subtypes ([6a0a8ba](https://github.com/Optolith/database-schema/commit/6a0a8ba0f4ed010b026f647c5c06c1c942215a19)), closes [#194](https://github.com/Optolith/database-schema/issues/194)
|
|
25
|
+
* grouped value map style ([238edb9](https://github.com/Optolith/database-schema/commit/238edb9d0dfb0bfb48d5ee51fedc802db40498d9))
|
|
26
|
+
* settings for mapping styles to focus rules ([d1990a1](https://github.com/Optolith/database-schema/commit/d1990a15d6ad4a868b58b716d5dd45704180e9b6))
|
|
27
|
+
* specify bannzeichen option in profession ([648bb02](https://github.com/Optolith/database-schema/commit/648bb0278c5a175f711aa5b49274155c66394c9a)), closes [#192](https://github.com/Optolith/database-schema/issues/192)
|
|
28
|
+
* type-restricted derived blessed tradition select options ([0051e49](https://github.com/Optolith/database-schema/commit/0051e49266b41f9b565c085d65419a1ef1d79eae)), closes [#193](https://github.com/Optolith/database-schema/issues/193)
|
|
5
29
|
## [0.75.1](https://github.com/Optolith/database-schema/compare/v0.75.0...v0.75.1) (2026-09-30)
|
|
6
30
|
|
|
7
31
|
### Bug Fixes
|
package/gen/types.d.ts
CHANGED
|
@@ -260,6 +260,7 @@ export type EnumMap = {
|
|
|
260
260
|
BlessedCommonProfessionConstraint: BlessedCommonProfessionConstraint
|
|
261
261
|
BlessedTraditionPrerequisiteRestriction: BlessedTraditionPrerequisiteRestriction
|
|
262
262
|
BlessedTraditionType: BlessedTraditionType
|
|
263
|
+
BlessedTraditionTypeForSelectOptionCategory: BlessedTraditionTypeForSelectOptionCategory
|
|
263
264
|
BlessingDuration: BlessingDuration
|
|
264
265
|
BlessingRange: BlessingRange
|
|
265
266
|
BookContentQuality: BookContentQuality
|
|
@@ -938,6 +939,7 @@ export type TypeAliasMap = {
|
|
|
938
939
|
StatePrerequisite: StatePrerequisite
|
|
939
940
|
StructurePoints: StructurePoints
|
|
940
941
|
StructurePointsComponent: StructurePointsComponent
|
|
942
|
+
StyleSpecialAbilitySettings: StyleSpecialAbilitySettings
|
|
941
943
|
SupernaturalBaseAdvantageSettings: SupernaturalBaseAdvantageSettings
|
|
942
944
|
SustainedAnimistPowerPerformanceParameters: SustainedAnimistPowerPerformanceParameters
|
|
943
945
|
SustainedPerformanceParameters: SustainedPerformanceParameters<unknown>
|
|
@@ -1229,8 +1231,24 @@ export interface BlessedTraditionsSelectOptionCategory {
|
|
|
1229
1231
|
* Should the principles (code) of the tradition be required to select the respective tradition?
|
|
1230
1232
|
*/
|
|
1231
1233
|
require_principles?: boolean
|
|
1234
|
+
|
|
1235
|
+
/**
|
|
1236
|
+
* If set, only includes traditions of the specified type.
|
|
1237
|
+
*/
|
|
1238
|
+
onlyType?: BlessedTraditionTypeForSelectOptionCategory
|
|
1232
1239
|
}
|
|
1233
1240
|
|
|
1241
|
+
/**
|
|
1242
|
+
* The type of the tradition. May be either church or shamanistic.
|
|
1243
|
+
*/
|
|
1244
|
+
export type BlessedTraditionTypeForSelectOptionCategory =
|
|
1245
|
+
| {
|
|
1246
|
+
kind: "Church"
|
|
1247
|
+
}
|
|
1248
|
+
| {
|
|
1249
|
+
kind: "Shamanistic"
|
|
1250
|
+
}
|
|
1251
|
+
|
|
1234
1252
|
export interface ElementsSelectOptionCategory {
|
|
1235
1253
|
/**
|
|
1236
1254
|
* Only include entries with the listed identifiers.
|
|
@@ -2479,6 +2497,8 @@ export interface Locale {
|
|
|
2479
2497
|
"Magical Punishment": string
|
|
2480
2498
|
"Blessed Rank": string
|
|
2481
2499
|
"Blessed Title": string
|
|
2500
|
+
"Blessed Honor": string
|
|
2501
|
+
"Blessed Punishment": string
|
|
2482
2502
|
".input {$ord :number} {{{$ord}. attack}}": string & { __params: { "ord": number } }
|
|
2483
2503
|
".input {$ord :number} {{{$ord}. throw}}": string & { __params: { "ord": number } }
|
|
2484
2504
|
"depending on the level of the special ability {$name}": string & { __params: { "name": string } }
|
|
@@ -2732,6 +2752,12 @@ export interface Locale {
|
|
|
2732
2752
|
"The following advantages and disadvantages distinguish Aventurian {$race}. You should choose these advantages and disadvantages. If you don’t want to take them, talk to your GM.": string & { __params: { "race": string } }
|
|
2733
2753
|
"Uncommon Advantages": string
|
|
2734
2754
|
"Uncommon Disadvantages": string
|
|
2755
|
+
"all magical and Blessed One advantages": string
|
|
2756
|
+
"all magical and Blessed One disadvantages": string
|
|
2757
|
+
"all Blessed One advantages": string
|
|
2758
|
+
"all Blessed One disadvantages": string
|
|
2759
|
+
"all magical advantages": string
|
|
2760
|
+
"all magical disadvantages": string
|
|
2735
2761
|
"Language": string
|
|
2736
2762
|
"Script": string
|
|
2737
2763
|
"Area Knowledge": string
|
|
@@ -2778,6 +2804,7 @@ export interface Locale {
|
|
|
2778
2804
|
"{$count} more spellworks totaling {$apValue} AP": string & { __params: { "count": string; "apValue": string } }
|
|
2779
2805
|
"{$count} from the following list": string & { __params: { "count": string } }
|
|
2780
2806
|
"The Twelve Blessings": string
|
|
2807
|
+
".input {$count :number} {{{$count} of the following liturgical chants {$rating}}}": string & { __params: { "count": number; "rating": string } }
|
|
2781
2808
|
"except for {$list :list type=conjunction}": string & { __params: { "list": string[] } }
|
|
2782
2809
|
"depends on selected tradition": string
|
|
2783
2810
|
"Additional Prerequisites": string
|
|
@@ -3193,6 +3220,12 @@ export type AdvantageDisadvantageSubtype =
|
|
|
3193
3220
|
| {
|
|
3194
3221
|
kind: "BlessedTitle"
|
|
3195
3222
|
}
|
|
3223
|
+
| {
|
|
3224
|
+
kind: "BlessedHonor"
|
|
3225
|
+
}
|
|
3226
|
+
| {
|
|
3227
|
+
kind: "BlessedPunishment"
|
|
3228
|
+
}
|
|
3196
3229
|
|
|
3197
3230
|
export interface GeneralSelectOption {
|
|
3198
3231
|
/**
|
|
@@ -7034,7 +7067,13 @@ export interface ValueMapTranslation {
|
|
|
7034
7067
|
}
|
|
7035
7068
|
|
|
7036
7069
|
/**
|
|
7037
|
-
* The style of the generated string. It may
|
|
7070
|
+
* The style of the generated string. It may be displayed
|
|
7071
|
+
*
|
|
7072
|
+
* - in a `compressed` way (e.g. *1/1/2 AE for a small/medium/large object*),
|
|
7073
|
+
* - in a `verbose` way (e.g. *1 AE for a small object, 1 AE for a medium object, 2 AE for a large object*),
|
|
7074
|
+
* - or in a `grouped` way (e.g. *small/medium object: 1 AE, large object: 2 AE*).
|
|
7075
|
+
*
|
|
7076
|
+
* A `grouped` style only really makes sense if multiple options share the same value.
|
|
7038
7077
|
*/
|
|
7039
7078
|
export type ValueMapStyle =
|
|
7040
7079
|
| {
|
|
@@ -7043,6 +7082,9 @@ export type ValueMapStyle =
|
|
|
7043
7082
|
| {
|
|
7044
7083
|
kind: "Verbose"
|
|
7045
7084
|
}
|
|
7085
|
+
| {
|
|
7086
|
+
kind: "Grouped"
|
|
7087
|
+
}
|
|
7046
7088
|
|
|
7047
7089
|
export interface ParameterMapOption<Value> {
|
|
7048
7090
|
/**
|
|
@@ -18305,6 +18347,11 @@ export interface ProfessionMagicalActionIdentifier {
|
|
|
18305
18347
|
* The identifier of the magical action to provide the rating for.
|
|
18306
18348
|
*/
|
|
18307
18349
|
id: MagicalActionIdentifier
|
|
18350
|
+
|
|
18351
|
+
/**
|
|
18352
|
+
* Some Bannzeichen have options that can be selected. If the magical action has an option, this property can be set to specify the option.
|
|
18353
|
+
*/
|
|
18354
|
+
option?: BannzeichenOption_ID
|
|
18308
18355
|
}
|
|
18309
18356
|
|
|
18310
18357
|
export type MagicalActionIdentifier =
|
|
@@ -26621,8 +26668,16 @@ export interface Settings {
|
|
|
26621
26668
|
* Settings for supernatural base advantages.
|
|
26622
26669
|
*/
|
|
26623
26670
|
supernaturalBaseAdvantages: SupernaturalBaseAdvantageSettings
|
|
26671
|
+
|
|
26672
|
+
/**
|
|
26673
|
+
* Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.
|
|
26674
|
+
*/
|
|
26675
|
+
styles: StyleSpecialAbilitySettings
|
|
26624
26676
|
}
|
|
26625
26677
|
|
|
26678
|
+
/**
|
|
26679
|
+
* Settings for derived trade secrets.
|
|
26680
|
+
*/
|
|
26626
26681
|
export interface DerivedTradeSecretsSettings {
|
|
26627
26682
|
/**
|
|
26628
26683
|
* The special ability required to buy derived trade secrets for weapons.
|
|
@@ -26853,6 +26908,9 @@ export type SpecialAbilityIdentifier =
|
|
|
26853
26908
|
WeaponEnchantment: WeaponEnchantment_ID
|
|
26854
26909
|
}
|
|
26855
26910
|
|
|
26911
|
+
/**
|
|
26912
|
+
* Settings for supernatural base advantages.
|
|
26913
|
+
*/
|
|
26856
26914
|
export interface SupernaturalBaseAdvantageSettings {
|
|
26857
26915
|
/**
|
|
26858
26916
|
* The central advantage for spellcasters.
|
|
@@ -26865,6 +26923,31 @@ export interface SupernaturalBaseAdvantageSettings {
|
|
|
26865
26923
|
blessed: Advantage_ID
|
|
26866
26924
|
}
|
|
26867
26925
|
|
|
26926
|
+
/**
|
|
26927
|
+
* Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.
|
|
26928
|
+
*/
|
|
26929
|
+
export interface StyleSpecialAbilitySettings {
|
|
26930
|
+
/**
|
|
26931
|
+
* The focus rule for skill style special abilities and its advanced complements.
|
|
26932
|
+
*/
|
|
26933
|
+
skill: FocusRule_ID
|
|
26934
|
+
|
|
26935
|
+
/**
|
|
26936
|
+
* The focus rule for combat style special abilities and its advanced complements.
|
|
26937
|
+
*/
|
|
26938
|
+
combat: FocusRule_ID
|
|
26939
|
+
|
|
26940
|
+
/**
|
|
26941
|
+
* The focus rule for magic style special abilities and its advanced complements.
|
|
26942
|
+
*/
|
|
26943
|
+
magic: FocusRule_ID
|
|
26944
|
+
|
|
26945
|
+
/**
|
|
26946
|
+
* The focus rule for liturgical style special abilities and its advanced complements.
|
|
26947
|
+
*/
|
|
26948
|
+
liturgical: FocusRule_ID
|
|
26949
|
+
}
|
|
26950
|
+
|
|
26868
26951
|
export interface SexPractice {
|
|
26869
26952
|
/**
|
|
26870
26953
|
* References to where in which publications this entry has been defined. Entries may also be added or removed in later printings.
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { on } from "@elyukai/utils/function";
|
|
1
|
+
import { constant, on } from "@elyukai/utils/function";
|
|
2
2
|
import { isNotNullish } from "@elyukai/utils/nullable";
|
|
3
3
|
import { mapObject } from "@elyukai/utils/object";
|
|
4
4
|
import { compareNullish, compareNumber } from "@elyukai/utils/ordering";
|
|
@@ -424,6 +424,9 @@ const getDerivedSelectOptions = (selectOptionCategory, entryId, database) => {
|
|
|
424
424
|
};
|
|
425
425
|
return database
|
|
426
426
|
.getAllInstanceContainersOfEntity("BlessedTradition")
|
|
427
|
+
.filter(selectOptionCategory.BlessedTraditions.onlyType
|
|
428
|
+
? ({ content }) => content.type.kind === selectOptionCategory.BlessedTraditions.onlyType?.kind
|
|
429
|
+
: constant(true))
|
|
427
430
|
.map(({ id, content }) => ({
|
|
428
431
|
id: Case("BlessedTradition", id),
|
|
429
432
|
content: {
|
package/lib/types/Advantage.d.ts
CHANGED
|
@@ -8,6 +8,8 @@ export declare const Advantage: DB.Entity<"Advantage", {
|
|
|
8
8
|
MagicalPunishment: DB.EnumCase<null>;
|
|
9
9
|
BlessedRank: DB.EnumCase<null>;
|
|
10
10
|
BlessedTitle: DB.EnumCase<null>;
|
|
11
|
+
BlessedHonor: DB.EnumCase<null>;
|
|
12
|
+
BlessedPunishment: DB.EnumCase<null>;
|
|
11
13
|
}, []>>, false>;
|
|
12
14
|
nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableNameBuilderRules", DB.Object<{
|
|
13
15
|
levelPlacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableNameLevelPlacement", {
|
|
@@ -32,6 +34,10 @@ export declare const Advantage: DB.Entity<"Advantage", {
|
|
|
32
34
|
HomunculusTypes: DB.EnumCase<null>;
|
|
33
35
|
BlessedTraditions: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"BlessedTraditionsSelectOptionCategory", DB.Object<{
|
|
34
36
|
require_principles: DB.MemberDecl<DB.Boolean, false>;
|
|
37
|
+
onlyType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BlessedTraditionTypeForSelectOptionCategory", {
|
|
38
|
+
Church: DB.EnumCase<null>;
|
|
39
|
+
Shamanistic: DB.EnumCase<null>;
|
|
40
|
+
}, []>>, false>;
|
|
35
41
|
}>, []>>>;
|
|
36
42
|
Elements: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ElementsSelectOptionCategory", DB.Object<{
|
|
37
43
|
specific: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
|
|
@@ -1292,6 +1298,7 @@ export declare const Advantage: DB.Entity<"Advantage", {
|
|
|
1292
1298
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
1293
1299
|
Compressed: DB.EnumCase<null>;
|
|
1294
1300
|
Verbose: DB.EnumCase<null>;
|
|
1301
|
+
Grouped: DB.EnumCase<null>;
|
|
1295
1302
|
}, []>>, true>;
|
|
1296
1303
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
1297
1304
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
package/lib/types/Ceremony.d.ts
CHANGED
|
@@ -146,6 +146,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
|
|
|
146
146
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
147
147
|
Compressed: DB.EnumCase<null>;
|
|
148
148
|
Verbose: DB.EnumCase<null>;
|
|
149
|
+
Grouped: DB.EnumCase<null>;
|
|
149
150
|
}, []>>, true>;
|
|
150
151
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
151
152
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -169,6 +170,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
|
|
|
169
170
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
170
171
|
Compressed: DB.EnumCase<null>;
|
|
171
172
|
Verbose: DB.EnumCase<null>;
|
|
173
|
+
Grouped: DB.EnumCase<null>;
|
|
172
174
|
}, []>>, true>;
|
|
173
175
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
174
176
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -386,6 +388,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
|
|
|
386
388
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
387
389
|
Compressed: DB.EnumCase<null>;
|
|
388
390
|
Verbose: DB.EnumCase<null>;
|
|
391
|
+
Grouped: DB.EnumCase<null>;
|
|
389
392
|
}, []>>, true>;
|
|
390
393
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
391
394
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -435,6 +438,7 @@ export declare const Ceremony: DB.Entity<"Ceremony", {
|
|
|
435
438
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
436
439
|
Compressed: DB.EnumCase<null>;
|
|
437
440
|
Verbose: DB.EnumCase<null>;
|
|
441
|
+
Grouped: DB.EnumCase<null>;
|
|
438
442
|
}, []>>, true>;
|
|
439
443
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
440
444
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -8,6 +8,8 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
|
|
|
8
8
|
MagicalPunishment: DB.EnumCase<null>;
|
|
9
9
|
BlessedRank: DB.EnumCase<null>;
|
|
10
10
|
BlessedTitle: DB.EnumCase<null>;
|
|
11
|
+
BlessedHonor: DB.EnumCase<null>;
|
|
12
|
+
BlessedPunishment: DB.EnumCase<null>;
|
|
11
13
|
}, []>>, false>;
|
|
12
14
|
nameBuilderRules: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ActivatableNameBuilderRules", DB.Object<{
|
|
13
15
|
levelPlacement: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ActivatableNameLevelPlacement", {
|
|
@@ -32,6 +34,10 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
|
|
|
32
34
|
HomunculusTypes: DB.EnumCase<null>;
|
|
33
35
|
BlessedTraditions: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"BlessedTraditionsSelectOptionCategory", DB.Object<{
|
|
34
36
|
require_principles: DB.MemberDecl<DB.Boolean, false>;
|
|
37
|
+
onlyType: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"BlessedTraditionTypeForSelectOptionCategory", {
|
|
38
|
+
Church: DB.EnumCase<null>;
|
|
39
|
+
Shamanistic: DB.EnumCase<null>;
|
|
40
|
+
}, []>>, false>;
|
|
35
41
|
}>, []>>>;
|
|
36
42
|
Elements: DB.EnumCase<DB.IncludeIdentifier<[], DB.TypeAlias<"ElementsSelectOptionCategory", DB.Object<{
|
|
37
43
|
specific: DB.MemberDecl<DB.Array<DB.ReferenceIdentifier>, false>;
|
|
@@ -1216,6 +1222,7 @@ export declare const Disadvantage: DB.Entity<"Disadvantage", {
|
|
|
1216
1222
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
1217
1223
|
Compressed: DB.EnumCase<null>;
|
|
1218
1224
|
Verbose: DB.EnumCase<null>;
|
|
1225
|
+
Grouped: DB.EnumCase<null>;
|
|
1219
1226
|
}, []>>, true>;
|
|
1220
1227
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
1221
1228
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -146,6 +146,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
|
|
|
146
146
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
147
147
|
Compressed: DB.EnumCase<null>;
|
|
148
148
|
Verbose: DB.EnumCase<null>;
|
|
149
|
+
Grouped: DB.EnumCase<null>;
|
|
149
150
|
}, []>>, true>;
|
|
150
151
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
151
152
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -169,6 +170,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
|
|
|
169
170
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
170
171
|
Compressed: DB.EnumCase<null>;
|
|
171
172
|
Verbose: DB.EnumCase<null>;
|
|
173
|
+
Grouped: DB.EnumCase<null>;
|
|
172
174
|
}, []>>, true>;
|
|
173
175
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
174
176
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -386,6 +388,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
|
|
|
386
388
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
387
389
|
Compressed: DB.EnumCase<null>;
|
|
388
390
|
Verbose: DB.EnumCase<null>;
|
|
391
|
+
Grouped: DB.EnumCase<null>;
|
|
389
392
|
}, []>>, true>;
|
|
390
393
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
391
394
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -435,6 +438,7 @@ export declare const LiturgicalChant: DB.Entity<"LiturgicalChant", {
|
|
|
435
438
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
436
439
|
Compressed: DB.EnumCase<null>;
|
|
437
440
|
Verbose: DB.EnumCase<null>;
|
|
441
|
+
Grouped: DB.EnumCase<null>;
|
|
438
442
|
}, []>>, true>;
|
|
439
443
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
440
444
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
package/lib/types/Locale.d.ts
CHANGED
|
@@ -1382,6 +1382,8 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1382
1382
|
"Magical Punishment": null;
|
|
1383
1383
|
"Blessed Rank": null;
|
|
1384
1384
|
"Blessed Title": null;
|
|
1385
|
+
"Blessed Honor": null;
|
|
1386
|
+
"Blessed Punishment": null;
|
|
1385
1387
|
".input {$ord :number} {{{$ord}. attack}}": null;
|
|
1386
1388
|
".input {$ord :number} {{{$ord}. throw}}": null;
|
|
1387
1389
|
"depending on the level of the special ability {$name}": null;
|
|
@@ -1635,6 +1637,12 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1635
1637
|
"The following advantages and disadvantages distinguish Aventurian {$race}. You should choose these advantages and disadvantages. If you don\u2019t want to take them, talk to your GM.": null;
|
|
1636
1638
|
"Uncommon Advantages": null;
|
|
1637
1639
|
"Uncommon Disadvantages": null;
|
|
1640
|
+
"all magical and Blessed One advantages": null;
|
|
1641
|
+
"all magical and Blessed One disadvantages": null;
|
|
1642
|
+
"all Blessed One advantages": null;
|
|
1643
|
+
"all Blessed One disadvantages": null;
|
|
1644
|
+
"all magical advantages": null;
|
|
1645
|
+
"all magical disadvantages": null;
|
|
1638
1646
|
Language: null;
|
|
1639
1647
|
Script: null;
|
|
1640
1648
|
"Area Knowledge": null;
|
|
@@ -1681,6 +1689,7 @@ export declare const Locale: DB.Entity<"Locale", {
|
|
|
1681
1689
|
"{$count} more spellworks totaling {$apValue} AP": null;
|
|
1682
1690
|
"{$count} from the following list": null;
|
|
1683
1691
|
"The Twelve Blessings": null;
|
|
1692
|
+
".input {$count :number} {{{$count} of the following liturgical chants {$rating}}}": null;
|
|
1684
1693
|
"except for {$list :list type=conjunction}": null;
|
|
1685
1694
|
"depends on selected tradition": null;
|
|
1686
1695
|
"Additional Prerequisites": null;
|
package/lib/types/Locale.js
CHANGED
|
@@ -1418,6 +1418,8 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1418
1418
|
"Magical Punishment": null,
|
|
1419
1419
|
"Blessed Rank": null,
|
|
1420
1420
|
"Blessed Title": null,
|
|
1421
|
+
"Blessed Honor": null,
|
|
1422
|
+
"Blessed Punishment": null,
|
|
1421
1423
|
// combat special ability -- penalty
|
|
1422
1424
|
".input {$ord :number} {{{$ord}. attack}}": null,
|
|
1423
1425
|
".input {$ord :number} {{{$ord}. throw}}": null,
|
|
@@ -1685,6 +1687,12 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1685
1687
|
"The following advantages and disadvantages distinguish Aventurian {$race}. You should choose these advantages and disadvantages. If you don’t want to take them, talk to your GM.": null,
|
|
1686
1688
|
"Uncommon Advantages": null,
|
|
1687
1689
|
"Uncommon Disadvantages": null,
|
|
1690
|
+
"all magical and Blessed One advantages": null,
|
|
1691
|
+
"all magical and Blessed One disadvantages": null,
|
|
1692
|
+
"all Blessed One advantages": null,
|
|
1693
|
+
"all Blessed One disadvantages": null,
|
|
1694
|
+
"all magical advantages": null,
|
|
1695
|
+
"all magical disadvantages": null,
|
|
1688
1696
|
// cultures
|
|
1689
1697
|
"Language": null,
|
|
1690
1698
|
"Script": null,
|
|
@@ -1733,6 +1741,7 @@ export const Locale = DB.Entity(import.meta.url, {
|
|
|
1733
1741
|
"{$count} more spellworks totaling {$apValue} AP": null,
|
|
1734
1742
|
"{$count} from the following list": null,
|
|
1735
1743
|
"The Twelve Blessings": null,
|
|
1744
|
+
".input {$count :number} {{{$count} of the following liturgical chants {$rating}}}": null,
|
|
1736
1745
|
"except for {$list :list type=conjunction}": null,
|
|
1737
1746
|
"depends on selected tradition": null,
|
|
1738
1747
|
"Additional Prerequisites": null,
|
|
@@ -293,6 +293,7 @@ export declare const Profession: DB.Entity<"Profession", {
|
|
|
293
293
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
294
294
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
295
295
|
}, []>>, true>;
|
|
296
|
+
option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
296
297
|
}>, []>>>;
|
|
297
298
|
}, []>>>, true>;
|
|
298
299
|
rating_modifier: DB.MemberDecl<DB.Integer, true>;
|
|
@@ -559,6 +560,7 @@ export declare const Profession: DB.Entity<"Profession", {
|
|
|
559
560
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
560
561
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
561
562
|
}, []>>, true>;
|
|
563
|
+
option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
562
564
|
}>, []>>>;
|
|
563
565
|
}, []>>>, true>;
|
|
564
566
|
rating_modifier: DB.MemberDecl<DB.Integer, true>;
|
|
@@ -1079,6 +1081,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
|
|
|
1079
1081
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1080
1082
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1081
1083
|
}, []>>, true>;
|
|
1084
|
+
option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
1082
1085
|
}>, []>>>;
|
|
1083
1086
|
}, []>>>, true>;
|
|
1084
1087
|
rating_modifier: DB.MemberDecl<DB.Integer, true>;
|
|
@@ -1345,6 +1348,7 @@ export declare const ProfessionVersion: DB.Entity<"ProfessionVersion", {
|
|
|
1345
1348
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1346
1349
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1347
1350
|
}, []>>, true>;
|
|
1351
|
+
option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
1348
1352
|
}>, []>>>;
|
|
1349
1353
|
}, []>>>, true>;
|
|
1350
1354
|
rating_modifier: DB.MemberDecl<DB.Integer, true>;
|
|
@@ -1857,6 +1861,7 @@ export declare const ProfessionPackage: DB.Entity<"ProfessionPackage", {
|
|
|
1857
1861
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1858
1862
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
1859
1863
|
}, []>>, true>;
|
|
1864
|
+
option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
1860
1865
|
}>, []>>>;
|
|
1861
1866
|
}, []>>>, true>;
|
|
1862
1867
|
rating_modifier: DB.MemberDecl<DB.Integer, true>;
|
|
@@ -2123,6 +2128,7 @@ export declare const ProfessionPackage: DB.Entity<"ProfessionPackage", {
|
|
|
2123
2128
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
2124
2129
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
2125
2130
|
}, []>>, true>;
|
|
2131
|
+
option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
2126
2132
|
}>, []>>>;
|
|
2127
2133
|
}, []>>>, true>;
|
|
2128
2134
|
rating_modifier: DB.MemberDecl<DB.Integer, true>;
|
|
@@ -2399,6 +2405,7 @@ export declare const ProfessionVariant: DB.Entity<"ProfessionVariant", {
|
|
|
2399
2405
|
ZibiljaRitual: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
2400
2406
|
MagicalRune: DB.EnumCase<DB.ReferenceIdentifier>;
|
|
2401
2407
|
}, []>>, true>;
|
|
2408
|
+
option: DB.MemberDecl<DB.ReferenceIdentifier, false>;
|
|
2402
2409
|
}>, []>>>;
|
|
2403
2410
|
}, []>>>, true>;
|
|
2404
2411
|
rating_modifier: DB.MemberDecl<DB.Integer, true>;
|
package/lib/types/Profession.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { isNotNullish } from "@elyukai/utils/nullable";
|
|
2
2
|
import * as DB from "tsondb/schema/dsl";
|
|
3
3
|
import { CommonnessRatedAdvantageDisadvantage } from "./_CommonnessRatedAdvantageDisadvantage.js";
|
|
4
|
-
import { AdvantageIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
|
|
4
|
+
import { AdvantageIdentifier, BannzeichenOptionIdentifier, CantripIdentifier, CurriculumIdentifier, DisadvantageIdentifier, ExperienceLevelIdentifier, MagicalTraditionIdentifier, ProfessionIdentifier, ProfessionPackageIdentifier, ProfessionVersionIdentifier, SkillGroupIdentifier, SkillIdentifier, } from "./_Identifier.js";
|
|
5
5
|
import { CombatTechniqueIdentifier, LiturgyIdentifier, MagicalActionIdentifier, ProfessionSpecialAbilityIdentifier, RequirableSelectOptionIdentifier, SpellworkIdentifier, } from "./_IdentifierGroup.js";
|
|
6
6
|
import { ProfessionPrerequisites, ProfessionVariantPrerequisites } from "./_Prerequisite.js";
|
|
7
7
|
import { NestedTranslationMap } from "./Locale.js";
|
|
@@ -410,7 +410,14 @@ const ProfessionMagicalActionIdentifier = DB.TypeAlias(import.meta.url, {
|
|
|
410
410
|
comment: "The identifier of the magical action to provide the rating for.",
|
|
411
411
|
type: DB.IncludeIdentifier(MagicalActionIdentifier),
|
|
412
412
|
}),
|
|
413
|
+
option: DB.Optional({
|
|
414
|
+
comment: "Some Bannzeichen have options that can be selected. If the magical action has an option, this property can be set to specify the option.",
|
|
415
|
+
type: BannzeichenOptionIdentifier(),
|
|
416
|
+
}),
|
|
413
417
|
}),
|
|
418
|
+
customConstraints: ({ instanceContent }) => instanceContent.option !== undefined && instanceContent.id.kind !== "Bannzeichen"
|
|
419
|
+
? ["The option property can only be set for Bannzeichen magical actions."]
|
|
420
|
+
: [],
|
|
414
421
|
});
|
|
415
422
|
const LiturgicalChantRating = DB.TypeAlias(import.meta.url, {
|
|
416
423
|
name: "LiturgicalChantRating",
|
package/lib/types/Ritual.d.ts
CHANGED
|
@@ -146,6 +146,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
|
|
|
146
146
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
147
147
|
Compressed: DB.EnumCase<null>;
|
|
148
148
|
Verbose: DB.EnumCase<null>;
|
|
149
|
+
Grouped: DB.EnumCase<null>;
|
|
149
150
|
}, []>>, true>;
|
|
150
151
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
151
152
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -169,6 +170,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
|
|
|
169
170
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
170
171
|
Compressed: DB.EnumCase<null>;
|
|
171
172
|
Verbose: DB.EnumCase<null>;
|
|
173
|
+
Grouped: DB.EnumCase<null>;
|
|
172
174
|
}, []>>, true>;
|
|
173
175
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
174
176
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -386,6 +388,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
|
|
|
386
388
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
387
389
|
Compressed: DB.EnumCase<null>;
|
|
388
390
|
Verbose: DB.EnumCase<null>;
|
|
391
|
+
Grouped: DB.EnumCase<null>;
|
|
389
392
|
}, []>>, true>;
|
|
390
393
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
391
394
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -435,6 +438,7 @@ export declare const Ritual: DB.Entity<"Ritual", {
|
|
|
435
438
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
436
439
|
Compressed: DB.EnumCase<null>;
|
|
437
440
|
Verbose: DB.EnumCase<null>;
|
|
441
|
+
Grouped: DB.EnumCase<null>;
|
|
438
442
|
}, []>>, true>;
|
|
439
443
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
440
444
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
package/lib/types/Settings.d.ts
CHANGED
|
@@ -120,4 +120,10 @@ export declare const Settings: DB.SingletonEntity<"Settings", {
|
|
|
120
120
|
spellcasters: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
121
121
|
blessed: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
122
122
|
}>, []>>, true>;
|
|
123
|
+
styles: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"StyleSpecialAbilitySettings", DB.Object<{
|
|
124
|
+
skill: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
125
|
+
combat: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
126
|
+
magic: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
127
|
+
liturgical: DB.MemberDecl<DB.ReferenceIdentifier, true>;
|
|
128
|
+
}>, []>>, true>;
|
|
123
129
|
}>;
|
package/lib/types/Settings.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as DB from "tsondb/schema/dsl";
|
|
2
|
-
import { AdvantageIdentifier, DerivedCharacteristicIdentifier, ExperienceLevelIdentifier, } from "./_Identifier.js";
|
|
2
|
+
import { AdvantageIdentifier, DerivedCharacteristicIdentifier, ExperienceLevelIdentifier, FocusRuleIdentifier, } from "./_Identifier.js";
|
|
3
3
|
import { SpecialAbilityIdentifier } from "./_IdentifierGroup.js";
|
|
4
4
|
export const Settings = DB.SingletonEntity(import.meta.url, {
|
|
5
5
|
name: "Settings",
|
|
@@ -16,17 +16,22 @@ export const Settings = DB.SingletonEntity(import.meta.url, {
|
|
|
16
16
|
}),
|
|
17
17
|
}),
|
|
18
18
|
derivedTradeSecrets: DB.Required({
|
|
19
|
-
comment:
|
|
19
|
+
comment: DerivedTradeSecretsSettings.comment,
|
|
20
20
|
type: DB.IncludeIdentifier(DerivedTradeSecretsSettings),
|
|
21
21
|
}),
|
|
22
22
|
supernaturalBaseAdvantages: DB.Required({
|
|
23
|
-
comment:
|
|
23
|
+
comment: SupernaturalBaseAdvantageSettings.comment,
|
|
24
24
|
type: DB.IncludeIdentifier(SupernaturalBaseAdvantageSettings),
|
|
25
25
|
}),
|
|
26
|
+
styles: DB.Required({
|
|
27
|
+
comment: StyleSpecialAbilitySettings.comment,
|
|
28
|
+
type: DB.IncludeIdentifier(StyleSpecialAbilitySettings),
|
|
29
|
+
}),
|
|
26
30
|
}),
|
|
27
31
|
});
|
|
28
32
|
const SupernaturalBaseAdvantageSettings = DB.TypeAlias(import.meta.url, {
|
|
29
33
|
name: "SupernaturalBaseAdvantageSettings",
|
|
34
|
+
comment: "Settings for supernatural base advantages.",
|
|
30
35
|
type: () => DB.Object({
|
|
31
36
|
spellcasters: DB.Required({
|
|
32
37
|
comment: "The central advantage for spellcasters.",
|
|
@@ -40,6 +45,7 @@ const SupernaturalBaseAdvantageSettings = DB.TypeAlias(import.meta.url, {
|
|
|
40
45
|
});
|
|
41
46
|
const DerivedTradeSecretsSettings = DB.TypeAlias(import.meta.url, {
|
|
42
47
|
name: "DerivedTradeSecretsSettings",
|
|
48
|
+
comment: "Settings for derived trade secrets.",
|
|
43
49
|
type: () => DB.Object({
|
|
44
50
|
requiredSpecialAbilityForWeapons: DB.Required({
|
|
45
51
|
displayName: "Required Special Ability for Weapons",
|
|
@@ -53,3 +59,25 @@ const DerivedTradeSecretsSettings = DB.TypeAlias(import.meta.url, {
|
|
|
53
59
|
}),
|
|
54
60
|
}),
|
|
55
61
|
});
|
|
62
|
+
const StyleSpecialAbilitySettings = DB.TypeAlias(import.meta.url, {
|
|
63
|
+
name: "StyleSpecialAbilitySettings",
|
|
64
|
+
comment: "Style Special Abilities and Advanced Special Abilities are part of focus rules. This type defines which focus rule must be enabled in order to use any of these special abilities. Essentially, this is a default prerequisite all of these special abilities must meet, but manually inserting them with every special ability is a lot of work and error-prone. Therefore, in order to use any of these special abilities, prerequisites for the respective focus rule must be generated for every entry.",
|
|
65
|
+
type: () => DB.Object({
|
|
66
|
+
skill: DB.Required({
|
|
67
|
+
comment: "The focus rule for skill style special abilities and its advanced complements.",
|
|
68
|
+
type: FocusRuleIdentifier(),
|
|
69
|
+
}),
|
|
70
|
+
combat: DB.Required({
|
|
71
|
+
comment: "The focus rule for combat style special abilities and its advanced complements.",
|
|
72
|
+
type: FocusRuleIdentifier(),
|
|
73
|
+
}),
|
|
74
|
+
magic: DB.Required({
|
|
75
|
+
comment: "The focus rule for magic style special abilities and its advanced complements.",
|
|
76
|
+
type: FocusRuleIdentifier(),
|
|
77
|
+
}),
|
|
78
|
+
liturgical: DB.Required({
|
|
79
|
+
comment: "The focus rule for liturgical style special abilities and its advanced complements.",
|
|
80
|
+
type: FocusRuleIdentifier(),
|
|
81
|
+
}),
|
|
82
|
+
}),
|
|
83
|
+
});
|
package/lib/types/Spell.d.ts
CHANGED
|
@@ -146,6 +146,7 @@ export declare const Spell: DB.Entity<"Spell", {
|
|
|
146
146
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
147
147
|
Compressed: DB.EnumCase<null>;
|
|
148
148
|
Verbose: DB.EnumCase<null>;
|
|
149
|
+
Grouped: DB.EnumCase<null>;
|
|
149
150
|
}, []>>, true>;
|
|
150
151
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
151
152
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -169,6 +170,7 @@ export declare const Spell: DB.Entity<"Spell", {
|
|
|
169
170
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
170
171
|
Compressed: DB.EnumCase<null>;
|
|
171
172
|
Verbose: DB.EnumCase<null>;
|
|
173
|
+
Grouped: DB.EnumCase<null>;
|
|
172
174
|
}, []>>, true>;
|
|
173
175
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
174
176
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -386,6 +388,7 @@ export declare const Spell: DB.Entity<"Spell", {
|
|
|
386
388
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
387
389
|
Compressed: DB.EnumCase<null>;
|
|
388
390
|
Verbose: DB.EnumCase<null>;
|
|
391
|
+
Grouped: DB.EnumCase<null>;
|
|
389
392
|
}, []>>, true>;
|
|
390
393
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
391
394
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|
|
@@ -435,6 +438,7 @@ export declare const Spell: DB.Entity<"Spell", {
|
|
|
435
438
|
style: DB.MemberDecl<DB.IncludeIdentifier<[], DB.Enum<"ValueMapStyle", {
|
|
436
439
|
Compressed: DB.EnumCase<null>;
|
|
437
440
|
Verbose: DB.EnumCase<null>;
|
|
441
|
+
Grouped: DB.EnumCase<null>;
|
|
438
442
|
}, []>>, true>;
|
|
439
443
|
translations: DB.MemberDecl<DB.NestedEntityMap<"ValueMapTranslation", {
|
|
440
444
|
listPrefix: DB.MemberDecl<DB.IncludeIdentifier<[], DB.TypeAlias<"ResponsiveTextOptional", DB.Object<{
|