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