optolith-database-schema 0.1.2 → 0.1.5
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 +37 -0
- package/lib/types/Advantage.d.ts +4 -0
- package/lib/types/ArcaneBardTradition.d.ts +2 -2
- package/lib/types/ArcaneDancerTradition.d.ts +2 -2
- package/lib/types/Ceremony.d.ts +2 -2
- package/lib/types/DerivedCharacteristic.d.ts +2 -2
- package/lib/types/Disadvantage.d.ts +4 -0
- package/lib/types/FamiliarsTrick.d.ts +2 -1
- package/lib/types/LiturgicalChant.d.ts +2 -2
- package/lib/types/Ritual.d.ts +2 -2
- package/lib/types/Spell.d.ts +2 -2
- package/lib/types/_Activatable.d.ts +1434 -79
- package/lib/types/_Activatable.js +44 -0
- package/lib/types/_ActivatableSkill.d.ts +4 -0
- package/lib/types/_Enhancements.d.ts +2 -2
- package/lib/types/_Identifier.d.ts +127 -85
- package/lib/types/_Identifier.js +110 -76
- package/lib/types/_Influence.d.ts +2 -0
- package/lib/types/_Prerequisite.d.ts +93 -397
- package/lib/types/_Prerequisite.js +1 -136
- package/lib/types/magicalActions/AnimistPower.d.ts +5 -0
- package/lib/types/magicalActions/Curse.d.ts +1 -1
- package/lib/types/magicalActions/ElvenMagicalSong.d.ts +1 -1
- package/lib/types/magicalActions/GeodeRitual.d.ts +2 -2
- package/lib/types/prerequisites/ConditionalPrerequisites.d.ts +10 -0
- package/lib/types/prerequisites/ConditionalPrerequisites.js +1 -0
- package/lib/types/prerequisites/DisplayOption.d.ts +19 -0
- package/lib/types/prerequisites/DisplayOption.js +1 -0
- package/lib/types/prerequisites/PrerequisiteGroups.d.ts +32 -0
- package/lib/types/prerequisites/PrerequisiteGroups.js +1 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.d.ts +95 -0
- package/lib/types/prerequisites/single/ActivatablePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.d.ts +28 -0
- package/lib/types/prerequisites/single/AnimistPowerPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.d.ts +3 -0
- package/lib/types/prerequisites/single/CommonSuggestedByRCPPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.d.ts +11 -0
- package/lib/types/prerequisites/single/CulturePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.d.ts +36 -0
- package/lib/types/prerequisites/single/EnhancementPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.d.ts +18 -0
- package/lib/types/prerequisites/single/InfluencePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PactPrerequisite.d.ts +32 -0
- package/lib/types/prerequisites/single/PactPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.d.ts +22 -0
- package/lib/types/prerequisites/single/PrimaryAttributePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.d.ts +13 -0
- package/lib/types/prerequisites/single/PublicationPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RacePrerequisite.d.ts +14 -0
- package/lib/types/prerequisites/single/RacePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.d.ts +99 -0
- package/lib/types/prerequisites/single/RatedPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/RulePrerequisite.d.ts +10 -0
- package/lib/types/prerequisites/single/RulePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/SexPrerequisite.d.ts +11 -0
- package/lib/types/prerequisites/single/SexPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.d.ts +16 -0
- package/lib/types/prerequisites/single/SocialStatusPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/StatePrerequisite.d.ts +11 -0
- package/lib/types/prerequisites/single/StatePrerequisite.js +1 -0
- package/lib/types/prerequisites/single/TextPrerequisite.d.ts +31 -0
- package/lib/types/prerequisites/single/TextPrerequisite.js +1 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.d.ts +33 -0
- package/lib/types/prerequisites/single/TraditionPrerequisite.js +1 -0
- package/lib/types/specialAbility/AdvancedCombatSpecialAbility.d.ts +9 -0
- package/lib/types/specialAbility/AdvancedKarmaSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/AdvancedMagicalSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/AdvancedSkillSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/AncestorGlyph.d.ts +4 -0
- package/lib/types/specialAbility/BlessedTradition.d.ts +5 -2
- package/lib/types/specialAbility/BrawlingSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/CeremonialItemSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/CombatSpecialAbility.d.ts +9 -0
- package/lib/types/specialAbility/CombatStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/CommandSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/FamiliarSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/FatePointSexSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/FatePointSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/GeneralSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/KarmaSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/LiturgicalStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/LycantropicGift.d.ts +4 -0
- package/lib/types/specialAbility/MagicStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/MagicalSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/MagicalTradition.d.ts +3 -0
- package/lib/types/specialAbility/PactGift.d.ts +6 -2
- package/lib/types/specialAbility/ProtectiveWardingCircleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/Sermon.d.ts +4 -0
- package/lib/types/specialAbility/SexSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/SikaryanDrainSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/SkillStyleSpecialAbility.d.ts +4 -0
- package/lib/types/specialAbility/VampiricGift.d.ts +4 -0
- package/lib/types/specialAbility/Vision.d.ts +4 -0
- package/lib/types/specialAbility/sub/Language.d.ts +2 -2
- package/lib/types/specialAbility/sub/TradeSecret.d.ts +2 -0
- package/lib/types/traditionArtifacts/ArcaneOrbEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/AttireEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/BowlEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/CauldronEnchantment.d.ts +19 -1
- package/lib/types/traditionArtifacts/ChronicleEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/DaggerRitual.d.ts +18 -0
- package/lib/types/traditionArtifacts/FoolsHatEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/InstrumentEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/Krallenkettenzauber.d.ts +18 -0
- package/lib/types/traditionArtifacts/OrbEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/RingEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/SickleRitual.d.ts +18 -0
- package/lib/types/traditionArtifacts/SpellSwordEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/StaffEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/ToyEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/Trinkhornzauber.d.ts +18 -0
- package/lib/types/traditionArtifacts/WandEnchantment.d.ts +18 -0
- package/lib/types/traditionArtifacts/WeaponEnchantment.d.ts +18 -0
- package/package.json +2 -2
- package/schema/Advantage.schema.json +9 -0
- package/schema/ArcaneBardTradition.schema.json +1 -1
- package/schema/ArcaneDancerTradition.schema.json +1 -1
- package/schema/Ceremony.schema.json +1 -1
- package/schema/DerivedCharacteristic.schema.json +1 -1
- package/schema/Disadvantage.schema.json +9 -0
- package/schema/FamiliarsTrick.schema.json +1 -0
- package/schema/LiturgicalChant.schema.json +1 -1
- package/schema/Ritual.schema.json +1 -1
- package/schema/Spell.schema.json +1 -1
- package/schema/_Activatable.schema.json +2447 -239
- package/schema/_ActivatableSkill.schema.json +1 -0
- package/schema/_Enhancements.schema.json +1 -1
- package/schema/_Identifier.schema.json +329 -146
- package/schema/_Influence.schema.json +4 -0
- package/schema/_Prerequisite.schema.json +887 -675
- package/schema/magicalActions/AnimistPower.schema.json +4 -0
- package/schema/magicalActions/Curse.schema.json +1 -1
- package/schema/magicalActions/ElvenMagicalSong.schema.json +1 -1
- package/schema/magicalActions/GeodeRitual.schema.json +1 -1
- package/schema/prerequisites/ConditionalPrerequisites.schema.json +15 -0
- package/schema/prerequisites/DisplayOption.schema.json +48 -0
- package/schema/prerequisites/PrerequisiteGroups.schema.json +246 -0
- package/schema/prerequisites/single/ActivatablePrerequisite.schema.json +142 -0
- package/schema/prerequisites/single/AnimistPowerPrerequisite.schema.json +40 -0
- package/schema/prerequisites/single/CommonSuggestedByRCPPrerequisite.schema.json +18 -0
- package/schema/prerequisites/single/CulturePrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/EnhancementPrerequisite.schema.json +54 -0
- package/schema/prerequisites/single/InfluencePrerequisite.schema.json +33 -0
- package/schema/prerequisites/single/PactPrerequisite.schema.json +46 -0
- package/schema/prerequisites/single/PrimaryAttributePrerequisite.schema.json +58 -0
- package/schema/prerequisites/single/PublicationPrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/RacePrerequisite.schema.json +31 -0
- package/schema/prerequisites/single/RatedPrerequisite.schema.json +184 -0
- package/schema/prerequisites/single/RulePrerequisite.schema.json +26 -0
- package/schema/prerequisites/single/SexPrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/SocialStatusPrerequisite.schema.json +30 -0
- package/schema/prerequisites/single/StatePrerequisite.schema.json +27 -0
- package/schema/prerequisites/single/TextPrerequisite.schema.json +63 -0
- package/schema/prerequisites/single/TraditionPrerequisite.schema.json +96 -0
- package/schema/source/Publication.schema.json +1 -1
- package/schema/specialAbility/AdvancedCombatSpecialAbility.schema.json +15 -0
- package/schema/specialAbility/AdvancedKarmaSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/AdvancedMagicalSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/AdvancedSkillSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/AncestorGlyph.schema.json +9 -0
- package/schema/specialAbility/BlessedTradition.schema.json +7 -1
- package/schema/specialAbility/BrawlingSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/CeremonialItemSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/CombatSpecialAbility.schema.json +15 -0
- package/schema/specialAbility/CombatStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/CommandSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/FamiliarSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/FatePointSexSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/FatePointSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/GeneralSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/KarmaSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/LiturgicalStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/LycantropicGift.schema.json +9 -0
- package/schema/specialAbility/MagicStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/MagicalSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/MagicalTradition.schema.json +6 -0
- package/schema/specialAbility/PactGift.schema.json +10 -1
- package/schema/specialAbility/ProtectiveWardingCircleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/Sermon.schema.json +9 -0
- package/schema/specialAbility/SexSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/SikaryanDrainSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/SkillStyleSpecialAbility.schema.json +9 -0
- package/schema/specialAbility/VampiricGift.schema.json +9 -0
- package/schema/specialAbility/Vision.schema.json +9 -0
- package/schema/specialAbility/sub/Language.schema.json +1 -1
- package/schema/specialAbility/sub/TradeSecret.schema.json +3 -0
- package/schema/traditionArtifacts/ArcaneOrbEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/AttireEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/BowlEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/CauldronEnchantment.schema.json +30 -4
- package/schema/traditionArtifacts/ChronicleEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/DaggerRitual.schema.json +27 -1
- package/schema/traditionArtifacts/FoolsHatEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/InstrumentEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/Krallenkettenzauber.schema.json +27 -1
- package/schema/traditionArtifacts/OrbEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/RingEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/SickleRitual.schema.json +27 -1
- package/schema/traditionArtifacts/SpellSwordEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/StaffEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/ToyEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/Trinkhornzauber.schema.json +27 -1
- package/schema/traditionArtifacts/WandEnchantment.schema.json +27 -1
- package/schema/traditionArtifacts/WeaponEnchantment.schema.json +27 -1
|
@@ -2,8 +2,12 @@
|
|
|
2
2
|
* General type specifications used by multiple activatable entries.
|
|
3
3
|
* @title Activatable
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
5
|
+
import { DisplayOption } from "./prerequisites/DisplayOption";
|
|
6
|
+
import { Errata } from "./source/_Erratum";
|
|
7
|
+
import { PublicationRefs } from "./source/_PublicationRef";
|
|
8
|
+
import { Duration } from "./_ActivatableSkill";
|
|
9
|
+
import { ActivatableIdentifier, AdvancedSpecialAbilityRestrictedOptionIdentifier, CombatRelatedSpecialAbilityIdentifier, CombatTechniqueIdentifier, MagicalTraditionIdentifier, PatronIdentifier, VolumePointsOptionReferenceIdentifier } from "./_Identifier";
|
|
10
|
+
import { GeneralPrerequisites } from "./_Prerequisite";
|
|
7
11
|
/**
|
|
8
12
|
* The activatable entry's identifier. An unique, increasing integer.
|
|
9
13
|
* @integer
|
|
@@ -28,13 +32,694 @@ export declare type NameInLibrary = string;
|
|
|
28
32
|
*/
|
|
29
33
|
export declare type Levels = number;
|
|
30
34
|
/**
|
|
35
|
+
* The number stating how often you can buy the entry. The **default** depends on
|
|
36
|
+
* the entry type:
|
|
31
37
|
*
|
|
38
|
+
* - **Advantage:** `1` in all cases (as specified in the **Core Rules**)
|
|
39
|
+
* - **Disadvantage:** `1` in all cases (as specified in the **Core Rules**)
|
|
40
|
+
* - **Special Abilities:** `1` if no options can be selected, otherwise the
|
|
41
|
+
* number of possible options
|
|
42
|
+
*
|
|
43
|
+
* The maximum is only set if it differs from the defaults specified above.
|
|
44
|
+
* @integer
|
|
45
|
+
* @minimum 1
|
|
32
46
|
*/
|
|
33
|
-
export declare type Maximum =
|
|
47
|
+
export declare type Maximum = number;
|
|
34
48
|
/**
|
|
49
|
+
* Definitions for possible options for the activatable entry. They can either
|
|
50
|
+
* be derived from entry categories or be defined explicitly. Both can happen as
|
|
51
|
+
* well, but if there is an explicitly defined select option and a derived
|
|
52
|
+
* select option has the same identifier (which may only happen if skill or
|
|
53
|
+
* combat technique identifiers are used for explicit select options), the
|
|
54
|
+
* explicit definition overwrites the derived option.
|
|
35
55
|
*
|
|
56
|
+
* Note that this is only a full definition of options for simple logic that can
|
|
57
|
+
* be made explicit using the more detailed configuration for both derived
|
|
58
|
+
* categories and explicit options. There are quite a few entries whose option
|
|
59
|
+
* logic cannot be fully represented here, so that it needs to be implemented
|
|
60
|
+
* manually.
|
|
61
|
+
* @minProperties 1
|
|
36
62
|
*/
|
|
37
|
-
export declare type
|
|
63
|
+
export declare type SelectOptions = {
|
|
64
|
+
/**
|
|
65
|
+
* A list of categories with optional further configuration. All available
|
|
66
|
+
* entries from the specified categories will be included as separate select
|
|
67
|
+
* options. You can also specify a set of groups that should only be
|
|
68
|
+
* included. Groups not mentioned will be excluded then.
|
|
69
|
+
* @minItems 1
|
|
70
|
+
*/
|
|
71
|
+
derived?: CategoryOption[];
|
|
72
|
+
/**
|
|
73
|
+
* A list of explicit select options. If the identifier has a specific type,
|
|
74
|
+
* its entry is the base of this select option, where values defined here
|
|
75
|
+
* override values from the base. Define the `src` property if the options
|
|
76
|
+
* are not derived from the rules text of the advantage/disadvantage/special
|
|
77
|
+
* ability but instead are listed in a separate block and/or on a separate
|
|
78
|
+
* page.
|
|
79
|
+
* @minItems 1
|
|
80
|
+
*/
|
|
81
|
+
explicit?: ExplicitOption[];
|
|
82
|
+
};
|
|
83
|
+
declare type CategoryOption = {
|
|
84
|
+
tag: "Blessings";
|
|
85
|
+
} | {
|
|
86
|
+
tag: "Cantrips";
|
|
87
|
+
} | {
|
|
88
|
+
tag: "TradeSecrets";
|
|
89
|
+
} | {
|
|
90
|
+
tag: "Scripts";
|
|
91
|
+
} | {
|
|
92
|
+
tag: "AnimalShapes";
|
|
93
|
+
} | {
|
|
94
|
+
tag: "ArcaneBardTraditions";
|
|
95
|
+
} | {
|
|
96
|
+
tag: "ArcaneDancerTraditions";
|
|
97
|
+
} | {
|
|
98
|
+
tag: "SexPractices";
|
|
99
|
+
} | {
|
|
100
|
+
tag: "Races";
|
|
101
|
+
} | {
|
|
102
|
+
tag: "Cultures";
|
|
103
|
+
} | {
|
|
104
|
+
tag: "BlessedTraditions";
|
|
105
|
+
/**
|
|
106
|
+
* Should the principles (code) of the tradition be required to select the
|
|
107
|
+
* respective tradition?
|
|
108
|
+
*/
|
|
109
|
+
require_principles?: true;
|
|
110
|
+
} | {
|
|
111
|
+
tag: "Elements";
|
|
112
|
+
/**
|
|
113
|
+
* Only include entries with the listed identifiers.
|
|
114
|
+
* @minItems 1
|
|
115
|
+
* @uniqueItems
|
|
116
|
+
*/
|
|
117
|
+
specific?: {
|
|
118
|
+
/**
|
|
119
|
+
* The element's identifier.
|
|
120
|
+
* @integer
|
|
121
|
+
* @minimum 1
|
|
122
|
+
* @maximum 6
|
|
123
|
+
*/
|
|
124
|
+
id: number;
|
|
125
|
+
}[];
|
|
126
|
+
} | {
|
|
127
|
+
tag: "Properties";
|
|
128
|
+
/**
|
|
129
|
+
* Does each property require it's corresponding property knowledge?
|
|
130
|
+
*/
|
|
131
|
+
require_knowledge?: true;
|
|
132
|
+
/**
|
|
133
|
+
* Require a minimum number of spellworks of the respective property to be
|
|
134
|
+
* on a minimum skill rating.
|
|
135
|
+
*/
|
|
136
|
+
require_minimum_spellworks_on?: {
|
|
137
|
+
/**
|
|
138
|
+
* The minimum number of spellworks that need to be on the defined minimum
|
|
139
|
+
* skill rating.
|
|
140
|
+
* @integer
|
|
141
|
+
* @minimum 1
|
|
142
|
+
*/
|
|
143
|
+
number: number;
|
|
144
|
+
/**
|
|
145
|
+
* The minimum skill rating the defined minimum number of spellworks need
|
|
146
|
+
* to be on.
|
|
147
|
+
* @integer
|
|
148
|
+
* @minimum 1
|
|
149
|
+
*/
|
|
150
|
+
value: number;
|
|
151
|
+
};
|
|
152
|
+
} | {
|
|
153
|
+
tag: "Aspects";
|
|
154
|
+
/**
|
|
155
|
+
* Does each aspect require it's corresponding aspect knowledge?
|
|
156
|
+
*/
|
|
157
|
+
require_knowledge?: true;
|
|
158
|
+
/**
|
|
159
|
+
* The generated name should be the *Master of (Aspect)* suffix for this
|
|
160
|
+
* aspect instead of the aspect's name. If an aspect does not provide a
|
|
161
|
+
* suffix (such as the General aspect), it is automatically excluded from
|
|
162
|
+
* the list.
|
|
163
|
+
*/
|
|
164
|
+
use_master_of_suffix_as_name?: true;
|
|
165
|
+
/**
|
|
166
|
+
* Require a minimum number of liturgies of the respective aspect to be on a
|
|
167
|
+
* minimum skill rating.
|
|
168
|
+
*/
|
|
169
|
+
require_minimum_liturgies_on?: {
|
|
170
|
+
/**
|
|
171
|
+
* The minimum number of liturgies that need to be on the defined minimum
|
|
172
|
+
* skill rating.
|
|
173
|
+
* @integer
|
|
174
|
+
* @minimum 1
|
|
175
|
+
*/
|
|
176
|
+
number: number;
|
|
177
|
+
/**
|
|
178
|
+
* The minimum skill rating the defined minimum number of liturgies need
|
|
179
|
+
* to be on.
|
|
180
|
+
* @integer
|
|
181
|
+
* @minimum 1
|
|
182
|
+
*/
|
|
183
|
+
value: number;
|
|
184
|
+
};
|
|
185
|
+
} | {
|
|
186
|
+
tag: "Diseases";
|
|
187
|
+
/**
|
|
188
|
+
* Only convert half the disease level into the AP value.
|
|
189
|
+
*/
|
|
190
|
+
use_half_level_as_ap_value?: true;
|
|
191
|
+
} | {
|
|
192
|
+
tag: "Poisons";
|
|
193
|
+
/**
|
|
194
|
+
* Only convert half the poison level into the AP value.
|
|
195
|
+
*/
|
|
196
|
+
use_half_level_as_ap_value?: true;
|
|
197
|
+
} | {
|
|
198
|
+
tag: "Languages";
|
|
199
|
+
/**
|
|
200
|
+
* Generate prerequisites for each entry of the category.
|
|
201
|
+
* @minItems 1
|
|
202
|
+
*/
|
|
203
|
+
prerequisites?: OptionOptionPrerequisite[];
|
|
204
|
+
} | {
|
|
205
|
+
tag: "Skills";
|
|
206
|
+
/**
|
|
207
|
+
* Only include entries of the specified groups.
|
|
208
|
+
* @minItems 1
|
|
209
|
+
*/
|
|
210
|
+
groups?: {
|
|
211
|
+
/**
|
|
212
|
+
* The skill group's identifier.
|
|
213
|
+
* @integer
|
|
214
|
+
* @minimum 1
|
|
215
|
+
* @maximum 5
|
|
216
|
+
*/
|
|
217
|
+
id: number;
|
|
218
|
+
}[];
|
|
219
|
+
/**
|
|
220
|
+
* Only include (`Intersection`) or exclude (`Difference`) specific skills.
|
|
221
|
+
*/
|
|
222
|
+
specific?: {
|
|
223
|
+
operation: {
|
|
224
|
+
tag: "Intersection";
|
|
225
|
+
} | {
|
|
226
|
+
tag: "Difference";
|
|
227
|
+
};
|
|
228
|
+
/**
|
|
229
|
+
* The list of specific skills.
|
|
230
|
+
* @minItems 1
|
|
231
|
+
* @uniqueItems
|
|
232
|
+
*/
|
|
233
|
+
list: {
|
|
234
|
+
/**
|
|
235
|
+
* The skill's identifier.
|
|
236
|
+
* @integer
|
|
237
|
+
* @minimum 1
|
|
238
|
+
* @maximum 59
|
|
239
|
+
*/
|
|
240
|
+
id: number;
|
|
241
|
+
}[];
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Registers new applications, which get enabled once this entry is
|
|
245
|
+
* activated with its respective select option. It specifies an entry-unique
|
|
246
|
+
* identifier, the skill it belongs to is derived from the select option
|
|
247
|
+
* automatically. A translation can be left out if its name equals the name
|
|
248
|
+
* of the origin entry.
|
|
249
|
+
*/
|
|
250
|
+
skill_applications?: SkillApplications;
|
|
251
|
+
/**
|
|
252
|
+
* Registers uses, which get enabled once this entry is activated with its
|
|
253
|
+
* respective select option. It specifies an entry-unique identifier, the
|
|
254
|
+
* skill it belongs to is derived from the select option automatically. A
|
|
255
|
+
* translation can be left out if its name equals the name of the origin
|
|
256
|
+
* entry.
|
|
257
|
+
*/
|
|
258
|
+
skill_uses?: SkillUses;
|
|
259
|
+
/**
|
|
260
|
+
* Generate prerequisites for each entry of the category.
|
|
261
|
+
* @minItems 1
|
|
262
|
+
*/
|
|
263
|
+
prerequisites?: ({
|
|
264
|
+
tag: "Self";
|
|
265
|
+
/**
|
|
266
|
+
* The entry requires itself on a certain Skill Rating.
|
|
267
|
+
* @integer
|
|
268
|
+
* @minimum 1
|
|
269
|
+
*/
|
|
270
|
+
value: number;
|
|
271
|
+
} | OptionOptionPrerequisite)[];
|
|
272
|
+
/**
|
|
273
|
+
* Generate AP values for each entry.
|
|
274
|
+
*/
|
|
275
|
+
ap_value?: {
|
|
276
|
+
tag: "DerivedFromImprovementCost";
|
|
277
|
+
/**
|
|
278
|
+
* This number is multiplied with the improvement cost of the entry
|
|
279
|
+
* (A = 1 to D = 4).
|
|
280
|
+
* @integer
|
|
281
|
+
* @minimum 2
|
|
282
|
+
*/
|
|
283
|
+
multiplier?: number;
|
|
284
|
+
} | {
|
|
285
|
+
tag: "Fixed";
|
|
286
|
+
/**
|
|
287
|
+
* A mapping of skill identifiers to their specific AP values.
|
|
288
|
+
*/
|
|
289
|
+
map: {
|
|
290
|
+
/**
|
|
291
|
+
* The skill's identifier.
|
|
292
|
+
* @integer
|
|
293
|
+
* @minimum 1
|
|
294
|
+
*/
|
|
295
|
+
skill_id: number;
|
|
296
|
+
/**
|
|
297
|
+
* The AP value for the specified entry.
|
|
298
|
+
* @integer
|
|
299
|
+
* @minimum 1
|
|
300
|
+
*/
|
|
301
|
+
ap_value: number;
|
|
302
|
+
}[];
|
|
303
|
+
/**
|
|
304
|
+
* The default value of an entry. Used as a fallback if no value is
|
|
305
|
+
* found in `list`.
|
|
306
|
+
* @integer
|
|
307
|
+
* @minimum 1
|
|
308
|
+
*/
|
|
309
|
+
default: number;
|
|
310
|
+
};
|
|
311
|
+
} | {
|
|
312
|
+
tag: "Skills";
|
|
313
|
+
/**
|
|
314
|
+
* Only include entries of the specified groups.
|
|
315
|
+
* @minItems 1
|
|
316
|
+
*/
|
|
317
|
+
groups?: {
|
|
318
|
+
/**
|
|
319
|
+
* The skill group's identifier.
|
|
320
|
+
* @integer
|
|
321
|
+
* @minimum 1
|
|
322
|
+
* @maximum 5
|
|
323
|
+
*/
|
|
324
|
+
id: number;
|
|
325
|
+
}[];
|
|
326
|
+
/**
|
|
327
|
+
* Only include (`Intersection`) or exclude (`Difference`) specific skills.
|
|
328
|
+
*/
|
|
329
|
+
specific?: {
|
|
330
|
+
operation: {
|
|
331
|
+
tag: "Intersection";
|
|
332
|
+
} | {
|
|
333
|
+
tag: "Difference";
|
|
334
|
+
};
|
|
335
|
+
/**
|
|
336
|
+
* The list of specific skills.
|
|
337
|
+
* @minItems 1
|
|
338
|
+
* @uniqueItems
|
|
339
|
+
*/
|
|
340
|
+
list: {
|
|
341
|
+
/**
|
|
342
|
+
* The skill's identifier.
|
|
343
|
+
* @integer
|
|
344
|
+
* @minimum 1
|
|
345
|
+
* @maximum 59
|
|
346
|
+
*/
|
|
347
|
+
id: number;
|
|
348
|
+
}[];
|
|
349
|
+
};
|
|
350
|
+
/**
|
|
351
|
+
* Registers new applications, which get enabled once this entry is
|
|
352
|
+
* activated with its respective select option. It specifies an entry-unique
|
|
353
|
+
* identifier, the skill it belongs to is derived from the select option
|
|
354
|
+
* automatically. A translation can be left out if its name equals the name
|
|
355
|
+
* of the origin entry.
|
|
356
|
+
* @minItems 1
|
|
357
|
+
*/
|
|
358
|
+
skill_applications?: {
|
|
359
|
+
/**
|
|
360
|
+
* The application's identifier. An entry-unique, increasing integer.
|
|
361
|
+
* @integer
|
|
362
|
+
* @minimum 1
|
|
363
|
+
*/
|
|
364
|
+
id: number;
|
|
365
|
+
/**
|
|
366
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
367
|
+
* @minProperties 1
|
|
368
|
+
*/
|
|
369
|
+
translations?: {
|
|
370
|
+
/**
|
|
371
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
372
|
+
*/
|
|
373
|
+
[localeId: string]: {
|
|
374
|
+
/**
|
|
375
|
+
* The name of the application if different from the activatable entry's
|
|
376
|
+
* name.
|
|
377
|
+
* @minLength 1
|
|
378
|
+
*/
|
|
379
|
+
name: string;
|
|
380
|
+
};
|
|
381
|
+
};
|
|
382
|
+
}[];
|
|
383
|
+
/**
|
|
384
|
+
* Registers uses, which get enabled once this entry is activated with its
|
|
385
|
+
* respective select option. It specifies an entry-unique identifier, the
|
|
386
|
+
* skill it belongs to is derived from the select option automatically. A
|
|
387
|
+
* translation can be left out if its name equals the name of the origin
|
|
388
|
+
* entry.
|
|
389
|
+
* @minItems 1
|
|
390
|
+
*/
|
|
391
|
+
skill_uses?: {
|
|
392
|
+
/**
|
|
393
|
+
* The use's identifier. An entry-unique, increasing integer.
|
|
394
|
+
* @integer
|
|
395
|
+
* @minimum 1
|
|
396
|
+
*/
|
|
397
|
+
id: number;
|
|
398
|
+
/**
|
|
399
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
400
|
+
* @minProperties 1
|
|
401
|
+
*/
|
|
402
|
+
translations?: {
|
|
403
|
+
/**
|
|
404
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
405
|
+
*/
|
|
406
|
+
[localeId: string]: {
|
|
407
|
+
/**
|
|
408
|
+
* The name of the use if different from the activatable entry's name.
|
|
409
|
+
* @minLength 1
|
|
410
|
+
*/
|
|
411
|
+
name: string;
|
|
412
|
+
};
|
|
413
|
+
};
|
|
414
|
+
}[];
|
|
415
|
+
/**
|
|
416
|
+
* Generate prerequisites for each entry of the category.
|
|
417
|
+
* @minItems 1
|
|
418
|
+
*/
|
|
419
|
+
prerequisites?: (OptionSkillSelfPrerequisite | OptionOptionPrerequisite)[];
|
|
420
|
+
/**
|
|
421
|
+
* Generate AP values for each entry.
|
|
422
|
+
*/
|
|
423
|
+
ap_value?: OptionSkillDeriveAdventurePointsValue;
|
|
424
|
+
} | {
|
|
425
|
+
tag: NonSkillSkillCategory;
|
|
426
|
+
/**
|
|
427
|
+
* Only include (`Intersection`) or exclude (`Difference`) specific entries.
|
|
428
|
+
*/
|
|
429
|
+
specific?: {
|
|
430
|
+
operation: {
|
|
431
|
+
tag: "Intersection";
|
|
432
|
+
} | {
|
|
433
|
+
tag: "Difference";
|
|
434
|
+
};
|
|
435
|
+
/**
|
|
436
|
+
* The list of specific entries.
|
|
437
|
+
* @minItems 1
|
|
438
|
+
* @uniqueItems
|
|
439
|
+
*/
|
|
440
|
+
list: {
|
|
441
|
+
/**
|
|
442
|
+
* The entry's identifier.
|
|
443
|
+
* @integer
|
|
444
|
+
* @minimum 1
|
|
445
|
+
* @maximum 59
|
|
446
|
+
*/
|
|
447
|
+
id: number;
|
|
448
|
+
}[];
|
|
449
|
+
};
|
|
450
|
+
/**
|
|
451
|
+
* Generate prerequisites for each entry of the category.
|
|
452
|
+
* @minItems 1
|
|
453
|
+
*/
|
|
454
|
+
prerequisites?: (OptionSkillSelfPrerequisite | OptionOptionPrerequisite)[];
|
|
455
|
+
/**
|
|
456
|
+
* Generate AP values for each entry.
|
|
457
|
+
*/
|
|
458
|
+
ap_value?: OptionSkillDeriveAdventurePointsValue;
|
|
459
|
+
};
|
|
460
|
+
declare enum NonSkillSkillCategory {
|
|
461
|
+
CloseCombatTechniques = "CloseCombatTechniques",
|
|
462
|
+
RangedCombatTechniques = "RangedCombatTechniques",
|
|
463
|
+
LiturgicalChants = "LiturgicalChants",
|
|
464
|
+
Ceremonies = "Ceremonies",
|
|
465
|
+
Spells = "Spells",
|
|
466
|
+
Rituals = "Rituals"
|
|
467
|
+
}
|
|
468
|
+
declare type OptionSkillSelfPrerequisite = {
|
|
469
|
+
tag: "Self";
|
|
470
|
+
/**
|
|
471
|
+
* The entry requires itself on a certain Skill Rating.
|
|
472
|
+
* @integer
|
|
473
|
+
* @minimum 1
|
|
474
|
+
*/
|
|
475
|
+
value: number;
|
|
476
|
+
};
|
|
477
|
+
/**
|
|
478
|
+
* The entry requires or prohibits itself as a select option of another entry.
|
|
479
|
+
*/
|
|
480
|
+
declare type OptionOptionPrerequisite = {
|
|
481
|
+
tag: "SelectOption";
|
|
482
|
+
/**
|
|
483
|
+
* The target entry's identifier.
|
|
484
|
+
*/
|
|
485
|
+
id: ActivatableIdentifier;
|
|
486
|
+
/**
|
|
487
|
+
* Is the select option required (`true`) or prohibited (`false`)?
|
|
488
|
+
*/
|
|
489
|
+
active: boolean;
|
|
490
|
+
/**
|
|
491
|
+
* The required level, if any.
|
|
492
|
+
* @integer
|
|
493
|
+
* @minimum 2
|
|
494
|
+
*/
|
|
495
|
+
level?: number;
|
|
496
|
+
};
|
|
497
|
+
/**
|
|
498
|
+
* Generate AP values for each entry.
|
|
499
|
+
*/
|
|
500
|
+
declare type OptionSkillDeriveAdventurePointsValue = {
|
|
501
|
+
tag: "DerivedFromImprovementCost";
|
|
502
|
+
/**
|
|
503
|
+
* This number is multiplied with the improvement cost of the entry
|
|
504
|
+
* (A = 1 to D = 4).
|
|
505
|
+
* @integer
|
|
506
|
+
* @minimum 2
|
|
507
|
+
*/
|
|
508
|
+
multiplier?: number;
|
|
509
|
+
} | {
|
|
510
|
+
tag: "Fixed";
|
|
511
|
+
/**
|
|
512
|
+
* A mapping of skill identifiers to their specific AP values.
|
|
513
|
+
*/
|
|
514
|
+
map: {
|
|
515
|
+
/**
|
|
516
|
+
* The skill's identifier.
|
|
517
|
+
* @integer
|
|
518
|
+
* @minimum 1
|
|
519
|
+
*/
|
|
520
|
+
skill_id: number;
|
|
521
|
+
/**
|
|
522
|
+
* The AP value for the specified entry.
|
|
523
|
+
* @integer
|
|
524
|
+
* @minimum 1
|
|
525
|
+
*/
|
|
526
|
+
ap_value: number;
|
|
527
|
+
}[];
|
|
528
|
+
/**
|
|
529
|
+
* The default value of an entry. Used as a fallback if no value is
|
|
530
|
+
* found in `list`.
|
|
531
|
+
* @integer
|
|
532
|
+
* @minimum 1
|
|
533
|
+
*/
|
|
534
|
+
default: number;
|
|
535
|
+
};
|
|
536
|
+
declare type ExplicitOption = {
|
|
537
|
+
tag: "General";
|
|
538
|
+
/**
|
|
539
|
+
* The option's identifier. An unique, increasing integer.
|
|
540
|
+
* @integer
|
|
541
|
+
* @minimum 1
|
|
542
|
+
*/
|
|
543
|
+
id: number;
|
|
544
|
+
/**
|
|
545
|
+
* Sometimes, professions use specific text selections that are not
|
|
546
|
+
* contained in described lists. This ensures you can use them for
|
|
547
|
+
* professions only. They are not going to be displayed as options to the
|
|
548
|
+
* user.
|
|
549
|
+
*/
|
|
550
|
+
profession_only?: true;
|
|
551
|
+
/**
|
|
552
|
+
* Registers new applications, which get enabled once this entry is
|
|
553
|
+
* activated with its respective select option. It specifies an entry-unique
|
|
554
|
+
* identifier and the skill it belongs to. A translation can be left out if
|
|
555
|
+
* its name equals the name of the origin select option.
|
|
556
|
+
*/
|
|
557
|
+
skill_applications?: SkillApplications;
|
|
558
|
+
/**
|
|
559
|
+
* Registers uses, which get enabled once this entry is activated with its
|
|
560
|
+
* respective select option. It specifies an entry-unique identifier and the
|
|
561
|
+
* skill it belongs to. A translation can be left out if its name equals the
|
|
562
|
+
* name of the origin select option.
|
|
563
|
+
*/
|
|
564
|
+
skill_uses?: SkillUses;
|
|
565
|
+
prerequisites?: GeneralPrerequisites;
|
|
566
|
+
/**
|
|
567
|
+
* Specific AP cost for the select option.
|
|
568
|
+
* @integer
|
|
569
|
+
* @minimum 1
|
|
570
|
+
*/
|
|
571
|
+
ap_value?: number;
|
|
572
|
+
src?: PublicationRefs;
|
|
573
|
+
/**
|
|
574
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
575
|
+
* @minProperties 1
|
|
576
|
+
*/
|
|
577
|
+
translations: {
|
|
578
|
+
/**
|
|
579
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
580
|
+
*/
|
|
581
|
+
[localeId: string]: {
|
|
582
|
+
/**
|
|
583
|
+
* The name of the select option.
|
|
584
|
+
* @minLength 1
|
|
585
|
+
*/
|
|
586
|
+
name: string;
|
|
587
|
+
/**
|
|
588
|
+
* The name of the select option when displayed in a generated
|
|
589
|
+
* profession text.
|
|
590
|
+
* @minLength 1
|
|
591
|
+
*/
|
|
592
|
+
name_in_profession?: string;
|
|
593
|
+
/**
|
|
594
|
+
* The description of the select option. Useful for Bad Habits, Trade
|
|
595
|
+
* Secrets and other entries where a description is available.
|
|
596
|
+
* @markdown
|
|
597
|
+
* @minLength 1
|
|
598
|
+
*/
|
|
599
|
+
description?: string;
|
|
600
|
+
errata?: Errata;
|
|
601
|
+
};
|
|
602
|
+
};
|
|
603
|
+
} | {
|
|
604
|
+
tag: "Skill";
|
|
605
|
+
/**
|
|
606
|
+
* The skill's identifier. An unique, increasing integer.
|
|
607
|
+
* @integer
|
|
608
|
+
* @minimum 1
|
|
609
|
+
*/
|
|
610
|
+
id: number;
|
|
611
|
+
/**
|
|
612
|
+
* Registers new applications, which get enabled once this entry is
|
|
613
|
+
* activated with its respective select option. It specifies an entry-unique
|
|
614
|
+
* identifier and the skill it belongs to. A translation can be left out if
|
|
615
|
+
* its name equals the name of the origin select option.
|
|
616
|
+
* @minItems 1
|
|
617
|
+
*/
|
|
618
|
+
skill_applications?: {
|
|
619
|
+
/**
|
|
620
|
+
* The application's identifier. An entry-unique, increasing integer.
|
|
621
|
+
* @integer
|
|
622
|
+
* @minimum 1
|
|
623
|
+
*/
|
|
624
|
+
id: number;
|
|
625
|
+
/**
|
|
626
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
627
|
+
* @minProperties 1
|
|
628
|
+
*/
|
|
629
|
+
translations?: {
|
|
630
|
+
/**
|
|
631
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
632
|
+
*/
|
|
633
|
+
[localeId: string]: {
|
|
634
|
+
/**
|
|
635
|
+
* The name of the application if different from the activatable entry's
|
|
636
|
+
* name.
|
|
637
|
+
* @minLength 1
|
|
638
|
+
*/
|
|
639
|
+
name: string;
|
|
640
|
+
};
|
|
641
|
+
};
|
|
642
|
+
}[];
|
|
643
|
+
/**
|
|
644
|
+
* Registers uses, which get enabled once this entry is activated with its
|
|
645
|
+
* respective select option. It specifies an entry-unique identifier and the
|
|
646
|
+
* skill it belongs to. A translation can be left out if its name equals the
|
|
647
|
+
* name of the origin select option.
|
|
648
|
+
* @minItems 1
|
|
649
|
+
*/
|
|
650
|
+
skill_uses?: {
|
|
651
|
+
/**
|
|
652
|
+
* The use's identifier. An entry-unique, increasing integer.
|
|
653
|
+
* @integer
|
|
654
|
+
* @minimum 1
|
|
655
|
+
*/
|
|
656
|
+
id: number;
|
|
657
|
+
/**
|
|
658
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
659
|
+
* @minProperties 1
|
|
660
|
+
*/
|
|
661
|
+
translations?: {
|
|
662
|
+
/**
|
|
663
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
664
|
+
*/
|
|
665
|
+
[localeId: string]: {
|
|
666
|
+
/**
|
|
667
|
+
* The name of the use if different from the activatable entry's name.
|
|
668
|
+
* @minLength 1
|
|
669
|
+
*/
|
|
670
|
+
name: string;
|
|
671
|
+
};
|
|
672
|
+
};
|
|
673
|
+
}[];
|
|
674
|
+
prerequisites?: GeneralPrerequisites;
|
|
675
|
+
/**
|
|
676
|
+
* Specific AP cost for the select option.
|
|
677
|
+
* @integer
|
|
678
|
+
* @minimum 1
|
|
679
|
+
*/
|
|
680
|
+
ap_value?: number;
|
|
681
|
+
src?: PublicationRefs;
|
|
682
|
+
/**
|
|
683
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
684
|
+
* @minProperties 1
|
|
685
|
+
*/
|
|
686
|
+
translations?: {
|
|
687
|
+
/**
|
|
688
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
689
|
+
* @minProperties 1
|
|
690
|
+
*/
|
|
691
|
+
[localeId: string]: {
|
|
692
|
+
errata?: Errata;
|
|
693
|
+
};
|
|
694
|
+
};
|
|
695
|
+
} | {
|
|
696
|
+
tag: "CombatTechnique";
|
|
697
|
+
/**
|
|
698
|
+
* The combat technique's identifier.
|
|
699
|
+
*/
|
|
700
|
+
id: CombatTechniqueIdentifier;
|
|
701
|
+
prerequisites?: GeneralPrerequisites;
|
|
702
|
+
/**
|
|
703
|
+
* Specific AP cost for the select option.
|
|
704
|
+
* @integer
|
|
705
|
+
* @minimum 1
|
|
706
|
+
*/
|
|
707
|
+
ap_value?: number;
|
|
708
|
+
src?: PublicationRefs;
|
|
709
|
+
/**
|
|
710
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
711
|
+
* @minProperties 1
|
|
712
|
+
*/
|
|
713
|
+
translations?: {
|
|
714
|
+
/**
|
|
715
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
716
|
+
* @minProperties 1
|
|
717
|
+
*/
|
|
718
|
+
[localeId: string]: {
|
|
719
|
+
errata?: Errata;
|
|
720
|
+
};
|
|
721
|
+
};
|
|
722
|
+
};
|
|
38
723
|
/**
|
|
39
724
|
* The rule text.
|
|
40
725
|
* @markdown
|
|
@@ -64,104 +749,670 @@ export declare type CombatSpecialAbilityType = {
|
|
|
64
749
|
* activatable entry.
|
|
65
750
|
* @minItems 1
|
|
66
751
|
*/
|
|
67
|
-
export declare type SkillApplications = {
|
|
752
|
+
export declare type SkillApplications = {
|
|
753
|
+
/**
|
|
754
|
+
* The application's identifier. An entry-unique, increasing integer.
|
|
755
|
+
* @integer
|
|
756
|
+
* @minimum 1
|
|
757
|
+
*/
|
|
758
|
+
id: number;
|
|
759
|
+
/**
|
|
760
|
+
* The skill(s) this application belongs to.
|
|
761
|
+
*/
|
|
762
|
+
skill: {
|
|
763
|
+
tag: "Single";
|
|
764
|
+
/**
|
|
765
|
+
* The referenced skill's identifier.
|
|
766
|
+
* @integer
|
|
767
|
+
* @minimum 1
|
|
768
|
+
*/
|
|
769
|
+
id: number;
|
|
770
|
+
} | {
|
|
771
|
+
tag: "Multiple";
|
|
772
|
+
/**
|
|
773
|
+
* The skills this application belongs to.
|
|
774
|
+
* @minItems 2
|
|
775
|
+
*/
|
|
776
|
+
list: {
|
|
777
|
+
/**
|
|
778
|
+
* The referenced skill's identifier.
|
|
779
|
+
* @integer
|
|
780
|
+
* @minimum 1
|
|
781
|
+
*/
|
|
782
|
+
id: number;
|
|
783
|
+
}[];
|
|
784
|
+
/**
|
|
785
|
+
* If an application applies to multiple skills, it may need to ensure the
|
|
786
|
+
* respective skill is on a certain skill rating if the activatable entry
|
|
787
|
+
* cannot ensure this prerequisite.
|
|
788
|
+
* @integer
|
|
789
|
+
* @minimum 1
|
|
790
|
+
*/
|
|
791
|
+
required_skill_rating?: number;
|
|
792
|
+
};
|
|
793
|
+
/**
|
|
794
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
795
|
+
* @minProperties 1
|
|
796
|
+
*/
|
|
797
|
+
translations?: {
|
|
798
|
+
/**
|
|
799
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
800
|
+
*/
|
|
801
|
+
[localeId: string]: {
|
|
802
|
+
/**
|
|
803
|
+
* The name of the application if different from the activatable entry's
|
|
804
|
+
* name.
|
|
805
|
+
* @minLength 1
|
|
806
|
+
*/
|
|
807
|
+
name: string;
|
|
808
|
+
};
|
|
809
|
+
};
|
|
810
|
+
}[];
|
|
811
|
+
/**
|
|
812
|
+
* Registers uses, which get enabled once this entry is activated. It specifies
|
|
813
|
+
* an entry-unique identifier and the skill it belongs to. A translation can be
|
|
814
|
+
* left out if its name equals the name of the origin activatable entry.
|
|
815
|
+
* @minItems 1
|
|
816
|
+
*/
|
|
817
|
+
export declare type SkillUses = {
|
|
818
|
+
/**
|
|
819
|
+
* The use's identifier. An entry-unique, increasing integer.
|
|
820
|
+
* @integer
|
|
821
|
+
* @minimum 1
|
|
822
|
+
*/
|
|
823
|
+
id: number;
|
|
824
|
+
/**
|
|
825
|
+
* The skill(s) this use belongs to.
|
|
826
|
+
*/
|
|
827
|
+
skill: {
|
|
828
|
+
tag: "Single";
|
|
829
|
+
/**
|
|
830
|
+
* The referenced skill's identifier.
|
|
831
|
+
* @integer
|
|
832
|
+
* @minimum 1
|
|
833
|
+
*/
|
|
834
|
+
id: number;
|
|
835
|
+
} | {
|
|
836
|
+
tag: "Multiple";
|
|
837
|
+
/**
|
|
838
|
+
* The skills this use belongs to.
|
|
839
|
+
* @minItems 2
|
|
840
|
+
*/
|
|
841
|
+
list: {
|
|
842
|
+
/**
|
|
843
|
+
* The referenced skill's identifier.
|
|
844
|
+
* @integer
|
|
845
|
+
* @minimum 1
|
|
846
|
+
*/
|
|
847
|
+
id: number;
|
|
848
|
+
}[];
|
|
849
|
+
};
|
|
850
|
+
/**
|
|
851
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
852
|
+
* @minProperties 1
|
|
853
|
+
*/
|
|
854
|
+
translations?: {
|
|
855
|
+
/**
|
|
856
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
857
|
+
*/
|
|
858
|
+
[localeId: string]: {
|
|
859
|
+
/**
|
|
860
|
+
* The name of the use if different from the activatable entry's name.
|
|
861
|
+
* @minLength 1
|
|
862
|
+
*/
|
|
863
|
+
name: string;
|
|
864
|
+
};
|
|
865
|
+
};
|
|
866
|
+
}[];
|
|
867
|
+
/**
|
|
868
|
+
* The penalty the special ability gives when used.
|
|
869
|
+
*/
|
|
870
|
+
export declare type Penalty = {
|
|
871
|
+
tag: "Single";
|
|
872
|
+
/**
|
|
873
|
+
* The penalty value.
|
|
874
|
+
* @integer
|
|
875
|
+
*/
|
|
876
|
+
value: number;
|
|
877
|
+
/**
|
|
878
|
+
* Set to `true` if the penalty applies to the parry instead of the attack.
|
|
879
|
+
*/
|
|
880
|
+
applies_to_parry?: true;
|
|
881
|
+
} | {
|
|
882
|
+
tag: "ByHandedness";
|
|
883
|
+
/**
|
|
884
|
+
* The penalty value for one-handed weapons.
|
|
885
|
+
* @integer
|
|
886
|
+
*/
|
|
887
|
+
one_handed: number;
|
|
888
|
+
/**
|
|
889
|
+
* The penalty value for two-handed weapons.
|
|
890
|
+
* @integer
|
|
891
|
+
*/
|
|
892
|
+
two_handed: number;
|
|
893
|
+
/**
|
|
894
|
+
* Set to `true` if the penalty applies to the parry instead of the attack.
|
|
895
|
+
*/
|
|
896
|
+
applies_to_parry?: true;
|
|
897
|
+
} | {
|
|
898
|
+
tag: "ByActivation";
|
|
899
|
+
/**
|
|
900
|
+
* The penalty value if the entry has been bought by the character.
|
|
901
|
+
* @integer
|
|
902
|
+
*/
|
|
903
|
+
active: number;
|
|
904
|
+
/**
|
|
905
|
+
* The penalty value if the entry has not been bought by the character.
|
|
906
|
+
* @integer
|
|
907
|
+
*/
|
|
908
|
+
inactive: number;
|
|
909
|
+
/**
|
|
910
|
+
* Set to `true` if the penalty applies to the parry instead of the attack.
|
|
911
|
+
*/
|
|
912
|
+
applies_to_parry?: true;
|
|
913
|
+
} | {
|
|
914
|
+
tag: "Selection";
|
|
915
|
+
options: {
|
|
916
|
+
tag: "Specific";
|
|
917
|
+
/**
|
|
918
|
+
* The list of specific penalty options.
|
|
919
|
+
* @minItems 2
|
|
920
|
+
* @uniqueItems
|
|
921
|
+
*/
|
|
922
|
+
list: {
|
|
923
|
+
/**
|
|
924
|
+
* The penalty value.
|
|
925
|
+
* @integer
|
|
926
|
+
*/
|
|
927
|
+
value: number;
|
|
928
|
+
}[];
|
|
929
|
+
} | {
|
|
930
|
+
tag: "Range";
|
|
931
|
+
/**
|
|
932
|
+
* The minimum penalty value.
|
|
933
|
+
* @integer
|
|
934
|
+
*/
|
|
935
|
+
minimum: number;
|
|
936
|
+
/**
|
|
937
|
+
* The maximum penalty value.
|
|
938
|
+
* @integer
|
|
939
|
+
*/
|
|
940
|
+
maximum: number;
|
|
941
|
+
};
|
|
942
|
+
} | {
|
|
943
|
+
tag: "ByLevel";
|
|
944
|
+
/**
|
|
945
|
+
* A continuous range of penalties for each level. The first element is the
|
|
946
|
+
* penalty for the first level, the second element is the penalty for the
|
|
947
|
+
* second level, and so on.
|
|
948
|
+
* @minItems 2
|
|
949
|
+
*/
|
|
950
|
+
levels: {
|
|
951
|
+
/**
|
|
952
|
+
* The penalty value for this level.
|
|
953
|
+
* @integer
|
|
954
|
+
*/
|
|
955
|
+
value: number;
|
|
956
|
+
}[];
|
|
957
|
+
/**
|
|
958
|
+
* The identifier of the combat-related special ability of which the level
|
|
959
|
+
* defines the penalty instead.
|
|
960
|
+
*/
|
|
961
|
+
external_id?: CombatRelatedSpecialAbilityIdentifier;
|
|
962
|
+
} | {
|
|
963
|
+
tag: "ByAttack";
|
|
964
|
+
/**
|
|
965
|
+
* A list of penalties for subsequent attacks. The first element is the
|
|
966
|
+
* penalty for the first attack, the second element is the penalty for the
|
|
967
|
+
* second attack, and so on. The order of the first element may be changed
|
|
968
|
+
* using `initial_order`, so that e.g. if set to `2`, the first element is
|
|
969
|
+
* the penalty for the second attack, the second element is the penalty for
|
|
970
|
+
* the third attack, and so on.
|
|
971
|
+
* @minItems 1
|
|
972
|
+
*/
|
|
973
|
+
list: {
|
|
974
|
+
/**
|
|
975
|
+
* The penalty value for this order.
|
|
976
|
+
* @integer
|
|
977
|
+
*/
|
|
978
|
+
value: number;
|
|
979
|
+
}[];
|
|
980
|
+
/**
|
|
981
|
+
* The order of the first element in the `list` of penalties.
|
|
982
|
+
*/
|
|
983
|
+
initial_order?: number;
|
|
984
|
+
/**
|
|
985
|
+
* Set if a predefined different word should be used instead of the word
|
|
986
|
+
* `attack` for display purposes.
|
|
987
|
+
*/
|
|
988
|
+
attack_replacement?: {
|
|
989
|
+
tag: "Throw";
|
|
990
|
+
};
|
|
991
|
+
} | {
|
|
992
|
+
tag: "DependsOnHitZone";
|
|
993
|
+
};
|
|
994
|
+
export declare type EnchantmentCost = {
|
|
995
|
+
tag: "ArcaneEnergyCost";
|
|
996
|
+
ae_cost: ArcaneEnergyCost;
|
|
997
|
+
} | {
|
|
998
|
+
tag: "BindingCost";
|
|
999
|
+
binding_cost: BindingCost;
|
|
1000
|
+
};
|
|
1001
|
+
/**
|
|
1002
|
+
* The AE Cost.
|
|
1003
|
+
*/
|
|
1004
|
+
export declare type ArcaneEnergyCost = {
|
|
1005
|
+
tag: "Fixed";
|
|
68
1006
|
/**
|
|
69
|
-
* The
|
|
1007
|
+
* The AE cost value.
|
|
70
1008
|
* @integer
|
|
71
1009
|
* @minimum 1
|
|
72
1010
|
*/
|
|
73
|
-
|
|
1011
|
+
value: number;
|
|
74
1012
|
/**
|
|
75
|
-
*
|
|
1013
|
+
* Set to `true` if the AE costs are permanent.
|
|
1014
|
+
* @integer
|
|
1015
|
+
* @minimum 1
|
|
76
1016
|
*/
|
|
77
|
-
|
|
78
|
-
|
|
1017
|
+
is_permanent?: true;
|
|
1018
|
+
/**
|
|
1019
|
+
* Specified if the AE cost `value` has to be paid for each time interval.
|
|
1020
|
+
*/
|
|
1021
|
+
interval?: Duration.UnitValue;
|
|
1022
|
+
/**
|
|
1023
|
+
* The AE cost are per level of the enchantment. It may either be displayed
|
|
1024
|
+
* in a compressed way (e.g. `1 AE per level`) or in a verbose way (e.g. `1
|
|
1025
|
+
* AE for level I; 2 AE for level II`).
|
|
1026
|
+
*/
|
|
1027
|
+
per_level?: {
|
|
1028
|
+
tag: "Compressed";
|
|
1029
|
+
} | {
|
|
1030
|
+
tag: "Verbose";
|
|
1031
|
+
};
|
|
1032
|
+
/**
|
|
1033
|
+
* All translations for the entry, identified by IETF language tag
|
|
1034
|
+
* (BCP47).
|
|
1035
|
+
* @minProperties 1
|
|
1036
|
+
*/
|
|
1037
|
+
translations?: {
|
|
79
1038
|
/**
|
|
80
|
-
*
|
|
1039
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
1040
|
+
* @minProperties 1
|
|
1041
|
+
*/
|
|
1042
|
+
[localeId: string]: {
|
|
1043
|
+
/**
|
|
1044
|
+
* A note, appended to the generated string in parenthesis.
|
|
1045
|
+
*/
|
|
1046
|
+
note?: {
|
|
1047
|
+
/**
|
|
1048
|
+
* The full note.
|
|
1049
|
+
* @minLength 1
|
|
1050
|
+
*/
|
|
1051
|
+
default: string;
|
|
1052
|
+
/**
|
|
1053
|
+
* A compressed note, if applicable. If not specified it should not
|
|
1054
|
+
* be displayed in small location.
|
|
1055
|
+
* @minLength 1
|
|
1056
|
+
*/
|
|
1057
|
+
compressed?: string;
|
|
1058
|
+
};
|
|
1059
|
+
};
|
|
1060
|
+
};
|
|
1061
|
+
} | {
|
|
1062
|
+
tag: "PerCountable";
|
|
1063
|
+
/**
|
|
1064
|
+
* The AE cost value that has to be per a specific countable entity.
|
|
1065
|
+
* @integer
|
|
1066
|
+
* @minimum 1
|
|
1067
|
+
*/
|
|
1068
|
+
value: number;
|
|
1069
|
+
/**
|
|
1070
|
+
* If defined, in addition to the cost per entity you have to pay a flat
|
|
1071
|
+
* amount, regardless of the entity count.
|
|
1072
|
+
* @integer
|
|
1073
|
+
* @minimum 1
|
|
1074
|
+
*/
|
|
1075
|
+
base_value?: number;
|
|
1076
|
+
/**
|
|
1077
|
+
* All translations for the entry, identified by IETF language tag
|
|
1078
|
+
* (BCP47).
|
|
1079
|
+
* @minProperties 1
|
|
1080
|
+
*/
|
|
1081
|
+
translations?: {
|
|
1082
|
+
/**
|
|
1083
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
1084
|
+
* @minProperties 1
|
|
1085
|
+
*/
|
|
1086
|
+
[localeId: string]: {
|
|
1087
|
+
/**
|
|
1088
|
+
* The cost have to be per a specific countable entity, e.g. `8 AE per
|
|
1089
|
+
* person`.
|
|
1090
|
+
*/
|
|
1091
|
+
per: {
|
|
1092
|
+
/**
|
|
1093
|
+
* The full countable entity name.
|
|
1094
|
+
* @minLength 1
|
|
1095
|
+
*/
|
|
1096
|
+
default: string;
|
|
1097
|
+
/**
|
|
1098
|
+
* The compressed countable entity name.
|
|
1099
|
+
* @minLength 1
|
|
1100
|
+
*/
|
|
1101
|
+
compressed: string;
|
|
1102
|
+
};
|
|
1103
|
+
/**
|
|
1104
|
+
* A note, appended to the generated string in parenthesis.
|
|
1105
|
+
*/
|
|
1106
|
+
note?: {
|
|
1107
|
+
/**
|
|
1108
|
+
* The full note.
|
|
1109
|
+
* @minLength 1
|
|
1110
|
+
*/
|
|
1111
|
+
default: string;
|
|
1112
|
+
/**
|
|
1113
|
+
* A compressed note, if applicable. If not specified it should not
|
|
1114
|
+
* be displayed in small location.
|
|
1115
|
+
* @minLength 1
|
|
1116
|
+
*/
|
|
1117
|
+
compressed?: string;
|
|
1118
|
+
};
|
|
1119
|
+
};
|
|
1120
|
+
};
|
|
1121
|
+
} | {
|
|
1122
|
+
tag: "ActivationAndHalfInterval";
|
|
1123
|
+
/**
|
|
1124
|
+
* The AE cost value that has to be payed for activation. Half of this value
|
|
1125
|
+
* has to be payed each interval.
|
|
1126
|
+
* @integer
|
|
1127
|
+
* @minimum 2
|
|
1128
|
+
* @multipleOf 2
|
|
1129
|
+
*/
|
|
1130
|
+
value: number;
|
|
1131
|
+
/**
|
|
1132
|
+
* The time interval for which the AE cost `value` has to be paid.
|
|
1133
|
+
*/
|
|
1134
|
+
interval: Duration.UnitValue;
|
|
1135
|
+
} | {
|
|
1136
|
+
tag: "Indefinite";
|
|
1137
|
+
/**
|
|
1138
|
+
* The indefinite AE cost may be modified by a certain value.
|
|
1139
|
+
*/
|
|
1140
|
+
modifier: {
|
|
1141
|
+
/**
|
|
1142
|
+
* The arithmetic how to apply the `value` to the indefinite base value.
|
|
1143
|
+
*/
|
|
1144
|
+
arithmetic: {
|
|
1145
|
+
tag: "Add";
|
|
1146
|
+
} | {
|
|
1147
|
+
tag: "Multiply";
|
|
1148
|
+
};
|
|
1149
|
+
/**
|
|
1150
|
+
* The value that is applied to the indefinite base value using the
|
|
1151
|
+
* defined `arithmetic`.
|
|
81
1152
|
* @integer
|
|
82
1153
|
* @minimum 1
|
|
83
1154
|
*/
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
|
|
1155
|
+
value: number;
|
|
1156
|
+
};
|
|
1157
|
+
/**
|
|
1158
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
1159
|
+
* @minProperties 1
|
|
1160
|
+
*/
|
|
1161
|
+
translations: {
|
|
87
1162
|
/**
|
|
88
|
-
*
|
|
89
|
-
* @minItems 2
|
|
1163
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
90
1164
|
*/
|
|
91
|
-
|
|
1165
|
+
[localeId: string]: {
|
|
92
1166
|
/**
|
|
93
|
-
*
|
|
94
|
-
* @integer
|
|
95
|
-
* @minimum 1
|
|
1167
|
+
* A description of where the cost come from.
|
|
96
1168
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
1169
|
+
description: {
|
|
1170
|
+
/**
|
|
1171
|
+
* The full description of where the cost come from.
|
|
1172
|
+
* @minLength 1
|
|
1173
|
+
*/
|
|
1174
|
+
default: string;
|
|
1175
|
+
/**
|
|
1176
|
+
* A compressed description of where the cost come from for use in
|
|
1177
|
+
* small areas (e.g. on character sheet).
|
|
1178
|
+
* @minLength 1
|
|
1179
|
+
*/
|
|
1180
|
+
compressed: string;
|
|
1181
|
+
};
|
|
1182
|
+
};
|
|
1183
|
+
};
|
|
1184
|
+
} | {
|
|
1185
|
+
tag: "Disjunction";
|
|
1186
|
+
/**
|
|
1187
|
+
* Specified if the selected AE cost option has to be paid for each time
|
|
1188
|
+
* interval.
|
|
1189
|
+
*/
|
|
1190
|
+
interval?: {
|
|
99
1191
|
/**
|
|
100
|
-
*
|
|
101
|
-
|
|
102
|
-
|
|
1192
|
+
* The interval itself.
|
|
1193
|
+
*/
|
|
1194
|
+
value: Duration.UnitValue;
|
|
1195
|
+
/**
|
|
1196
|
+
* The AE cost value for activation.
|
|
103
1197
|
* @integer
|
|
104
1198
|
* @minimum 1
|
|
105
1199
|
*/
|
|
106
|
-
|
|
1200
|
+
activation_value: number;
|
|
1201
|
+
/**
|
|
1202
|
+
* Set to `true` if the action where the enchantment is casted does
|
|
1203
|
+
* **not** as a part of the first interval that has to be payed, so that
|
|
1204
|
+
* the first interval payment needs to be done after the activation.
|
|
1205
|
+
*
|
|
1206
|
+
* This works different than other sustained spells, since for them the
|
|
1207
|
+
* end of the cast usually already counts as part of the first interval.
|
|
1208
|
+
*/
|
|
1209
|
+
after_activation: boolean;
|
|
107
1210
|
};
|
|
108
1211
|
/**
|
|
109
|
-
*
|
|
1212
|
+
* The possible AE cost values.
|
|
1213
|
+
*/
|
|
1214
|
+
options: {
|
|
1215
|
+
/**
|
|
1216
|
+
* A possible AE cost value.
|
|
1217
|
+
* @integer
|
|
1218
|
+
* @minimum 1
|
|
1219
|
+
*/
|
|
1220
|
+
value: number;
|
|
1221
|
+
/**
|
|
1222
|
+
* All translations for the entry, identified by IETF language tag
|
|
1223
|
+
* (BCP47).
|
|
1224
|
+
* @minProperties 1
|
|
1225
|
+
*/
|
|
1226
|
+
translations?: {
|
|
1227
|
+
/**
|
|
1228
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
1229
|
+
* @minProperties 1
|
|
1230
|
+
*/
|
|
1231
|
+
[localeId: string]: {
|
|
1232
|
+
/**
|
|
1233
|
+
* A note, appended to the generated option string in parenthesis.
|
|
1234
|
+
*/
|
|
1235
|
+
note?: {
|
|
1236
|
+
/**
|
|
1237
|
+
* The full note.
|
|
1238
|
+
* @minLength 1
|
|
1239
|
+
*/
|
|
1240
|
+
default: string;
|
|
1241
|
+
/**
|
|
1242
|
+
* A compressed note, if applicable. If not specified it should not
|
|
1243
|
+
* be displayed in small location.
|
|
1244
|
+
* @minLength 1
|
|
1245
|
+
*/
|
|
1246
|
+
compressed?: string;
|
|
1247
|
+
};
|
|
1248
|
+
};
|
|
1249
|
+
};
|
|
1250
|
+
}[];
|
|
1251
|
+
} | {
|
|
1252
|
+
tag: "None";
|
|
1253
|
+
/**
|
|
1254
|
+
* All translations for the entry, identified by IETF language tag
|
|
1255
|
+
* (BCP47).
|
|
110
1256
|
* @minProperties 1
|
|
111
1257
|
*/
|
|
112
1258
|
translations?: {
|
|
113
1259
|
/**
|
|
114
1260
|
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
1261
|
+
* @minProperties 1
|
|
115
1262
|
*/
|
|
116
1263
|
[localeId: string]: {
|
|
117
1264
|
/**
|
|
118
|
-
*
|
|
119
|
-
* name.
|
|
120
|
-
* @minLength 1
|
|
1265
|
+
* A note, appended to the generated string in parenthesis.
|
|
121
1266
|
*/
|
|
122
|
-
|
|
1267
|
+
note?: {
|
|
1268
|
+
/**
|
|
1269
|
+
* The full note.
|
|
1270
|
+
* @minLength 1
|
|
1271
|
+
*/
|
|
1272
|
+
default: string;
|
|
1273
|
+
/**
|
|
1274
|
+
* A compressed note, if applicable. If not specified it should not
|
|
1275
|
+
* be displayed in small location.
|
|
1276
|
+
* @minLength 1
|
|
1277
|
+
*/
|
|
1278
|
+
compressed?: string;
|
|
1279
|
+
};
|
|
123
1280
|
};
|
|
124
1281
|
};
|
|
125
|
-
}
|
|
1282
|
+
} | {
|
|
1283
|
+
tag: "Variable";
|
|
1284
|
+
};
|
|
126
1285
|
/**
|
|
127
|
-
*
|
|
128
|
-
* an entry-unique identifier and the skill it belongs to. A translation can be
|
|
129
|
-
* left out if its name equals the name of the origin activatable entry.
|
|
130
|
-
* @minItems 1
|
|
1286
|
+
* The volume points the enchantment needs.
|
|
131
1287
|
*/
|
|
132
|
-
export declare type
|
|
1288
|
+
export declare type Volume = {
|
|
1289
|
+
tag: "Fixed";
|
|
133
1290
|
/**
|
|
134
|
-
* The
|
|
1291
|
+
* The volume points.
|
|
1292
|
+
* @integer
|
|
1293
|
+
* @minimum 0
|
|
1294
|
+
*/
|
|
1295
|
+
points: number;
|
|
1296
|
+
} | {
|
|
1297
|
+
tag: "PerLevel";
|
|
1298
|
+
/**
|
|
1299
|
+
* The volume points per level.
|
|
135
1300
|
* @integer
|
|
136
1301
|
* @minimum 1
|
|
137
1302
|
*/
|
|
138
|
-
|
|
1303
|
+
points: number;
|
|
1304
|
+
} | {
|
|
1305
|
+
tag: "ByLevel";
|
|
139
1306
|
/**
|
|
140
|
-
* The
|
|
1307
|
+
* The volume points for each level. The first element is the volume points
|
|
1308
|
+
* for the first level, the second element is the volume points for the
|
|
1309
|
+
* second level, and so on.
|
|
1310
|
+
* @minItems 2
|
|
141
1311
|
*/
|
|
142
|
-
|
|
143
|
-
tag: "Single";
|
|
1312
|
+
list: {
|
|
144
1313
|
/**
|
|
145
|
-
* The
|
|
1314
|
+
* The volume points for this level.
|
|
146
1315
|
* @integer
|
|
147
|
-
* @minimum
|
|
1316
|
+
* @minimum 0
|
|
148
1317
|
*/
|
|
149
|
-
|
|
150
|
-
}
|
|
151
|
-
|
|
1318
|
+
points: number;
|
|
1319
|
+
}[];
|
|
1320
|
+
} | {
|
|
1321
|
+
tag: "Map";
|
|
1322
|
+
map: VolumeMap;
|
|
1323
|
+
};
|
|
1324
|
+
/**
|
|
1325
|
+
* A content that is `3/4/5 Points for Chimera, Daimonid, Golems, Undead /
|
|
1326
|
+
* Fairies, Ghosts / Demons, Elementals` may be respresented as the following
|
|
1327
|
+
* map:
|
|
1328
|
+
*
|
|
1329
|
+
* ```yaml
|
|
1330
|
+
* options:
|
|
1331
|
+
* - points: 3
|
|
1332
|
+
* associated_options:
|
|
1333
|
+
* - id:
|
|
1334
|
+
* tag: General
|
|
1335
|
+
* value: # ...
|
|
1336
|
+
* # ...
|
|
1337
|
+
* translations:
|
|
1338
|
+
* en-US:
|
|
1339
|
+
* label: "Chimera, Daimonid, Golems, Undead"
|
|
1340
|
+
* label_standalone: "Chimera/Daimonid/Golems/Undead"
|
|
1341
|
+
* - points: 4
|
|
1342
|
+
* associated_options:
|
|
1343
|
+
* - id:
|
|
1344
|
+
* tag: General
|
|
1345
|
+
* value: # ...
|
|
1346
|
+
* # ...
|
|
1347
|
+
* translations:
|
|
1348
|
+
* en-US:
|
|
1349
|
+
* label: "Fairies, Ghosts"
|
|
1350
|
+
* label_standalone: "Fairies/Ghosts"
|
|
1351
|
+
* - points: 5
|
|
1352
|
+
* associated_options:
|
|
1353
|
+
* - id:
|
|
1354
|
+
* tag: General
|
|
1355
|
+
* value: # ...
|
|
1356
|
+
* # ...
|
|
1357
|
+
* translations:
|
|
1358
|
+
* en-US:
|
|
1359
|
+
* label: "Demons, Elementals"
|
|
1360
|
+
* label_standalone: "Demons/Elementals"
|
|
1361
|
+
* ```
|
|
1362
|
+
*
|
|
1363
|
+
* This will generate the exact same string as seen above. The associated
|
|
1364
|
+
* options are not present in the example, but they link to the options the
|
|
1365
|
+
* volume specification is meant for.
|
|
1366
|
+
*/
|
|
1367
|
+
export declare type VolumeMap = {
|
|
1368
|
+
/**
|
|
1369
|
+
* The possible costs and associated labels.
|
|
1370
|
+
* @minItems 2
|
|
1371
|
+
*/
|
|
1372
|
+
options: VolumeMapOption[];
|
|
1373
|
+
/**
|
|
1374
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
1375
|
+
* @minProperties 1
|
|
1376
|
+
*/
|
|
1377
|
+
translations?: {
|
|
152
1378
|
/**
|
|
153
|
-
*
|
|
154
|
-
* @minItems 2
|
|
1379
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
155
1380
|
*/
|
|
156
|
-
|
|
1381
|
+
[localeId: string]: {
|
|
157
1382
|
/**
|
|
158
|
-
*
|
|
159
|
-
* @integer
|
|
160
|
-
* @minimum 1
|
|
1383
|
+
* Place a string between the `for` and the grouped map option labels.
|
|
161
1384
|
*/
|
|
162
|
-
|
|
163
|
-
|
|
1385
|
+
list_prepend?: string;
|
|
1386
|
+
/**
|
|
1387
|
+
* Place a string after the grouped map option labels.
|
|
1388
|
+
*/
|
|
1389
|
+
list_append?: string;
|
|
1390
|
+
/**
|
|
1391
|
+
* If the string from the book cannot be generated using the default
|
|
1392
|
+
* generation technique, use this string. All options still need to be
|
|
1393
|
+
* inserted propertly, since it may be used by in-game tools to provide a
|
|
1394
|
+
* selection to players.
|
|
1395
|
+
*/
|
|
1396
|
+
replacement?: string;
|
|
1397
|
+
};
|
|
164
1398
|
};
|
|
1399
|
+
};
|
|
1400
|
+
export declare type VolumeMapOption = {
|
|
1401
|
+
/**
|
|
1402
|
+
* The full permanent AE cost value for this option.
|
|
1403
|
+
* @integer
|
|
1404
|
+
* @minimum 1
|
|
1405
|
+
*/
|
|
1406
|
+
points: number;
|
|
1407
|
+
/**
|
|
1408
|
+
* Links to the options this volume specification is meant for.
|
|
1409
|
+
*/
|
|
1410
|
+
associated_options: {
|
|
1411
|
+
/**
|
|
1412
|
+
* The option's identifier.
|
|
1413
|
+
*/
|
|
1414
|
+
id: VolumePointsOptionReferenceIdentifier;
|
|
1415
|
+
}[];
|
|
165
1416
|
/**
|
|
166
1417
|
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
167
1418
|
* @minProperties 1
|
|
@@ -172,29 +1423,132 @@ export declare type SkillUses = {
|
|
|
172
1423
|
*/
|
|
173
1424
|
[localeId: string]: {
|
|
174
1425
|
/**
|
|
175
|
-
* The
|
|
1426
|
+
* The description of the option for cost string generation.
|
|
176
1427
|
* @minLength 1
|
|
177
1428
|
*/
|
|
178
|
-
|
|
1429
|
+
label: string;
|
|
1430
|
+
/**
|
|
1431
|
+
* The description of the option if used standalone. Only used if
|
|
1432
|
+
* different from `label`.
|
|
1433
|
+
* @minLength 1
|
|
1434
|
+
*/
|
|
1435
|
+
label_standalone?: string;
|
|
179
1436
|
};
|
|
180
1437
|
};
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* The penalty the special ability gives when used.
|
|
184
|
-
*/
|
|
185
|
-
export declare type Penalty = "";
|
|
186
|
-
/**
|
|
187
|
-
* The AE Cost.
|
|
188
|
-
*/
|
|
189
|
-
export declare type ArcaneEnergyCost = "";
|
|
1438
|
+
};
|
|
190
1439
|
/**
|
|
191
|
-
* The
|
|
1440
|
+
* The binding cost for an enchantment.
|
|
192
1441
|
*/
|
|
193
|
-
export declare type
|
|
1442
|
+
export declare type BindingCost = {
|
|
1443
|
+
tag: "Fixed";
|
|
1444
|
+
/**
|
|
1445
|
+
* The permanent AE cost.
|
|
1446
|
+
* @integer
|
|
1447
|
+
* @minimum 1
|
|
1448
|
+
*/
|
|
1449
|
+
permanent_value: number;
|
|
1450
|
+
} | {
|
|
1451
|
+
tag: "PerLevel";
|
|
1452
|
+
/**
|
|
1453
|
+
* The permanent AE cost per level.
|
|
1454
|
+
* @integer
|
|
1455
|
+
* @minimum 1
|
|
1456
|
+
*/
|
|
1457
|
+
permanent_value: number;
|
|
1458
|
+
} | {
|
|
1459
|
+
tag: "Map";
|
|
1460
|
+
map: BindingCostMap;
|
|
1461
|
+
};
|
|
194
1462
|
/**
|
|
195
|
-
*
|
|
1463
|
+
* A content that is `2/4/8 permanent AE for spell-swords with the combat
|
|
1464
|
+
* technique Daggers, Swords, or Two-Handed Swords` may be respresented as the
|
|
1465
|
+
* following map:
|
|
1466
|
+
*
|
|
1467
|
+
* ```yaml
|
|
1468
|
+
* options:
|
|
1469
|
+
* - permanent_value: 2
|
|
1470
|
+
* translations:
|
|
1471
|
+
* en-US:
|
|
1472
|
+
* label: "Daggers"
|
|
1473
|
+
* label_standalone: "Dagger"
|
|
1474
|
+
* - permanent_value: 4
|
|
1475
|
+
* translations:
|
|
1476
|
+
* en-US:
|
|
1477
|
+
* label: "Swords"
|
|
1478
|
+
* label_standalone: "Sword"
|
|
1479
|
+
* - permanent_value: 8
|
|
1480
|
+
* translations:
|
|
1481
|
+
* en-US:
|
|
1482
|
+
* label: "Two-Handed Swords"
|
|
1483
|
+
* label_standalone: "Two-Handed Sword"
|
|
1484
|
+
* list_prepend: "spell-swords with the combat technique"
|
|
1485
|
+
* ```
|
|
1486
|
+
*
|
|
1487
|
+
* This will generate the exact same string as seen above.
|
|
196
1488
|
*/
|
|
197
|
-
export declare type
|
|
1489
|
+
export declare type BindingCostMap = {
|
|
1490
|
+
/**
|
|
1491
|
+
* The possible costs and associated labels.
|
|
1492
|
+
* @minItems 2
|
|
1493
|
+
*/
|
|
1494
|
+
options: VolumeMapOption[];
|
|
1495
|
+
/**
|
|
1496
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
1497
|
+
* @minProperties 1
|
|
1498
|
+
*/
|
|
1499
|
+
translations?: {
|
|
1500
|
+
/**
|
|
1501
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
1502
|
+
*/
|
|
1503
|
+
[localeId: string]: {
|
|
1504
|
+
/**
|
|
1505
|
+
* Place a string between the `for` and the grouped map option labels.
|
|
1506
|
+
*/
|
|
1507
|
+
list_prepend?: string;
|
|
1508
|
+
/**
|
|
1509
|
+
* Place a string after the grouped map option labels.
|
|
1510
|
+
*/
|
|
1511
|
+
list_append?: string;
|
|
1512
|
+
/**
|
|
1513
|
+
* If the string from the book cannot be generated using the default
|
|
1514
|
+
* generation technique, use this string. All options still need to be
|
|
1515
|
+
* inserted propertly, since it may be used by in-game tools to provide a
|
|
1516
|
+
* selection to players.
|
|
1517
|
+
*/
|
|
1518
|
+
replacement?: string;
|
|
1519
|
+
};
|
|
1520
|
+
};
|
|
1521
|
+
};
|
|
1522
|
+
export declare type BindingCostMapOption = {
|
|
1523
|
+
/**
|
|
1524
|
+
* The full permanent AE cost value for this option.
|
|
1525
|
+
* @integer
|
|
1526
|
+
* @minimum 1
|
|
1527
|
+
*/
|
|
1528
|
+
permanent_value: number;
|
|
1529
|
+
/**
|
|
1530
|
+
* All translations for the entry, identified by IETF language tag (BCP47).
|
|
1531
|
+
* @minProperties 1
|
|
1532
|
+
*/
|
|
1533
|
+
translations?: {
|
|
1534
|
+
/**
|
|
1535
|
+
* @patternProperties ^[a-z]{2}-[A-Z]{2}$
|
|
1536
|
+
*/
|
|
1537
|
+
[localeId: string]: {
|
|
1538
|
+
/**
|
|
1539
|
+
* The description of the option for cost string generation.
|
|
1540
|
+
* @minLength 1
|
|
1541
|
+
*/
|
|
1542
|
+
label: string;
|
|
1543
|
+
/**
|
|
1544
|
+
* The description of the option if used standalone. Only used if
|
|
1545
|
+
* different from `label`.
|
|
1546
|
+
* @minLength 1
|
|
1547
|
+
*/
|
|
1548
|
+
label_standalone?: string;
|
|
1549
|
+
};
|
|
1550
|
+
};
|
|
1551
|
+
};
|
|
198
1552
|
/**
|
|
199
1553
|
* The magic property's identifier. `DependingOnProperty` can only be used if
|
|
200
1554
|
* the special ability has an option to select a property.
|
|
@@ -240,7 +1594,7 @@ export declare type AdvancedSpecialAbility = {
|
|
|
240
1594
|
* advanced special ability; others are disallowed.
|
|
241
1595
|
* @minItems 1
|
|
242
1596
|
*/
|
|
243
|
-
option:
|
|
1597
|
+
option: AdvancedSpecialAbilityRestrictedOptionIdentifier[];
|
|
244
1598
|
} | {
|
|
245
1599
|
tag: "OneOf";
|
|
246
1600
|
/**
|
|
@@ -264,8 +1618,8 @@ export declare type AdvancedSpecialAbility = {
|
|
|
264
1618
|
* advanced special ability; others are disallowed.
|
|
265
1619
|
* @minItems 1
|
|
266
1620
|
*/
|
|
267
|
-
option:
|
|
268
|
-
display_option?:
|
|
1621
|
+
option: AdvancedSpecialAbilityRestrictedOptionIdentifier[];
|
|
1622
|
+
display_option?: DisplayOption;
|
|
269
1623
|
} | {
|
|
270
1624
|
tag: "DeriveFromExternalOption";
|
|
271
1625
|
/**
|
|
@@ -292,7 +1646,7 @@ export declare type AdvancedSpecialAbility = {
|
|
|
292
1646
|
id: number;
|
|
293
1647
|
};
|
|
294
1648
|
}[];
|
|
295
|
-
display_option?:
|
|
1649
|
+
display_option?: DisplayOption;
|
|
296
1650
|
/**
|
|
297
1651
|
* Do have to choose on when buying the special ability? Otherwise the
|
|
298
1652
|
* decision can be made later.
|
|
@@ -303,10 +1657,10 @@ export declare type AdvancedSpecialAbility = {
|
|
|
303
1657
|
* advanced special ability; others are disallowed.
|
|
304
1658
|
* @minItems 1
|
|
305
1659
|
*/
|
|
306
|
-
option:
|
|
1660
|
+
option: AdvancedSpecialAbilityRestrictedOptionIdentifier[];
|
|
307
1661
|
};
|
|
308
|
-
export declare type AdvancedSpecialAbilityDerivedExternalEntryId =
|
|
309
|
-
export declare type AdvancedSpecialAbilityDerivedExternalEntryOptionId =
|
|
1662
|
+
export declare type AdvancedSpecialAbilityDerivedExternalEntryId = MagicalTraditionIdentifier;
|
|
1663
|
+
export declare type AdvancedSpecialAbilityDerivedExternalEntryOptionId = PatronIdentifier;
|
|
310
1664
|
/**
|
|
311
1665
|
* The Advanced Special Abilities for the respective Style Special Ability.
|
|
312
1666
|
* Sometimes, only a specific select option or a set of select options of an
|
|
@@ -347,7 +1701,7 @@ export declare type ApplicableCombatTechniques = {
|
|
|
347
1701
|
* @minItems 1
|
|
348
1702
|
*/
|
|
349
1703
|
list: {
|
|
350
|
-
id:
|
|
1704
|
+
id: CombatTechniqueIdentifier;
|
|
351
1705
|
/**
|
|
352
1706
|
* @minItems 1
|
|
353
1707
|
*/
|
|
@@ -376,7 +1730,7 @@ export declare type ApplicableAllCombatTechniquesRestriction = {
|
|
|
376
1730
|
* @minItems 1
|
|
377
1731
|
* @uniqueItems
|
|
378
1732
|
*/
|
|
379
|
-
list:
|
|
1733
|
+
list: CombatTechniqueIdentifier[];
|
|
380
1734
|
};
|
|
381
1735
|
export declare type ApplicableCloseCombatTechniquesRestriction = {
|
|
382
1736
|
tag: "Improvised";
|
|
@@ -526,3 +1880,4 @@ export declare type AdventurePointsValue = {
|
|
|
526
1880
|
* @minimum 0
|
|
527
1881
|
*/
|
|
528
1882
|
export declare type AdventurePointsSingleValue = number;
|
|
1883
|
+
export {};
|