feat!: change magical rune options to explicit options

This commit is contained in:
Lukas Obermann
2023-01-09 11:56:08 +01:00
parent 91b83d296c
commit a8c45d148d
3 changed files with 594 additions and 73 deletions
+300 -37
View File
@@ -9,7 +9,7 @@
Key | Description | Details
:-- | :-- | :--
`id` | The magical rune's identifier. An unique, increasing integer. | <a href="#MagicalRune/id">See details</a>
`option?` | | <a href="#MagicalRune/option">See details</a>
`options?` | The options the magical rune has, if any. | <a href="#MagicalRune/options">See details</a>
`check` | Lists the linked three attributes used to make a skill check. | <a href="#MagicalRune/check">See details</a>
`check_penalty?` | In some cases, the target's Spirit or Toughness is applied as a penalty. | <a href="#MagicalRune/check_penalty">See details</a>
`parameters` | Measurable parameters of a magical rune. | <a href="#MagicalRune/parameters">See details</a>
@@ -25,9 +25,15 @@ The magical rune's identifier. An unique, increasing integer.
- **Type:** Integer
- **Minimum:** `1`
#### <a name="MagicalRune/option"></a> `option?`
#### <a name="MagicalRune/options"></a> `options?`
- **Type:** <a href="#MagicalRuneOption">MagicalRuneOption</a>
The options the magical rune has, if any.
If there are multiple options, the magical rune may be activated for each
option, that is, multiple times.
- **Type:** List
- **Items:** <a href="#MagicalRune/options[]">MagicalRune/options[]</a>
#### <a name="MagicalRune/check"></a> `check`
@@ -57,7 +63,7 @@ The associated property.
States which column is used to improve the skill.
- **Type:** <a href="../_ImprovementCost.md#ImprovementCost">ImprovementCost</a>
- **Type:** <a href="#MagicalRuneImprovementCost">MagicalRuneImprovementCost</a>
#### <a name="MagicalRune/src"></a> `src`
@@ -74,6 +80,12 @@ All translations for the entry, identified by IETF language tag (BCP47).
---
### <a name="MagicalRune/options[]"></a> `MagicalRune/options[]`
- **Type:** <a href="#MagicalRuneOption">MagicalRuneOption</a>
---
### <a name="MagicalRune/translations[key]"></a> `MagicalRune/translations[key]`
- **Type:** <a href="#MagicalRuneTranslation">MagicalRuneTranslation</a>
@@ -87,7 +99,8 @@ All translations for the entry, identified by IETF language tag (BCP47).
Key | Description | Details
:-- | :-- | :--
`name` | The name of the magical rune. | <a href="#MagicalRuneTranslation/name">See details</a>
`native_name` | The native name of the magical rune. | <a href="#MagicalRuneTranslation/native_name">See details</a>
`name_in_library?` | The full name of the entry as stated in the sources. Only use when `name` needs to be different from full name for text generation purposes. | <a href="#MagicalRuneTranslation/name_in_library">See details</a>
`native_name?` | The native name of the magical rune. | <a href="#MagicalRuneTranslation/native_name">See details</a>
`effect` | The effect description may be either a plain text or a text that is divided by a list of effects for each quality level. It may also be a list for each two quality levels. | <a href="#MagicalRuneTranslation/effect">See details</a>
`cost` | | <a href="#MagicalRuneTranslation/cost">See details</a>
`crafting_time` | | <a href="#MagicalRuneTranslation/crafting_time">See details</a>
@@ -104,7 +117,14 @@ on demand.
- **Type:** <a href="../_NonEmptyString.md#NonEmptyString">NonEmptyString</a>
#### <a name="MagicalRuneTranslation/native_name"></a> `native_name`
#### <a name="MagicalRuneTranslation/name_in_library"></a> `name_in_library?`
The full name of the entry as stated in the sources. Only use when `name`
needs to be different from full name for text generation purposes.
- **Type:** <a href="../_NonEmptyString.md#NonEmptyString">NonEmptyString</a>
#### <a name="MagicalRuneTranslation/native_name"></a> `native_name?`
The native name of the magical rune.
@@ -272,92 +292,92 @@ Key | Description | Details
### <a name="MagicalRuneCheckPenalty"></a> `MagicalRuneCheckPenalty`
- **Type:** Union
- **Cases:** <a href="#MagicalRuneCheckPenalty'CloseCombatTechnique">MagicalRuneCheckPenalty'CloseCombatTechnique</a>
- **Cases:** <a href="#MagicalRuneCheckPenalty'CombatTechnique">MagicalRuneCheckPenalty'CombatTechnique</a>
---
### <a name="MagicalRuneCheckPenalty'CloseCombatTechnique"></a> `MagicalRuneCheckPenalty'CloseCombatTechnique`
### <a name="MagicalRuneCheckPenalty'CombatTechnique"></a> `MagicalRuneCheckPenalty'CombatTechnique`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`tag` | | <a href="#MagicalRuneCheckPenalty'CloseCombatTechnique/tag">See details</a>
`close_combat_technique` | | <a href="#MagicalRuneCheckPenalty'CloseCombatTechnique/close_combat_technique">See details</a>
`tag` | | <a href="#MagicalRuneCheckPenalty'CombatTechnique/tag">See details</a>
`combat_technique` | | <a href="#MagicalRuneCheckPenalty'CombatTechnique/combat_technique">See details</a>
#### <a name="MagicalRuneCheckPenalty'CloseCombatTechnique/tag"></a> `tag`
#### <a name="MagicalRuneCheckPenalty'CombatTechnique/tag"></a> `tag`
- **Constant:** `"CloseCombatTechnique"`
- **Constant:** `"CombatTechnique"`
#### <a name="MagicalRuneCheckPenalty'CloseCombatTechnique/close_combat_technique"></a> `close_combat_technique`
#### <a name="MagicalRuneCheckPenalty'CombatTechnique/combat_technique"></a> `combat_technique`
- **Type:** <a href="#MagicalRuneCloseCombatTechniqueCheckPenalty">MagicalRuneCloseCombatTechniqueCheckPenalty</a>
- **Type:** <a href="#MagicalRuneCombatTechniqueCheckPenalty">MagicalRuneCombatTechniqueCheckPenalty</a>
---
### <a name="MagicalRuneCloseCombatTechniqueCheckPenalty"></a> `MagicalRuneCloseCombatTechniqueCheckPenalty`
### <a name="MagicalRuneCombatTechniqueCheckPenalty"></a> `MagicalRuneCombatTechniqueCheckPenalty`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`map` | A map from close combat techniques to their modifiers. | <a href="#MagicalRuneCloseCombatTechniqueCheckPenalty/map">See details</a>
`rest` | | <a href="#MagicalRuneCloseCombatTechniqueCheckPenalty/rest">See details</a>
`map` | A map from combat techniques to their modifiers. | <a href="#MagicalRuneCombatTechniqueCheckPenalty/map">See details</a>
`rest` | | <a href="#MagicalRuneCombatTechniqueCheckPenalty/rest">See details</a>
#### <a name="MagicalRuneCloseCombatTechniqueCheckPenalty/map"></a> `map`
#### <a name="MagicalRuneCombatTechniqueCheckPenalty/map"></a> `map`
A map from close combat techniques to their modifiers.
A map from combat techniques to their modifiers.
- **Type:** List
- **Items:** <a href="#MagicalRuneCloseCombatTechniqueCheckPenalty/map[]">MagicalRuneCloseCombatTechniqueCheckPenalty/map[]</a>
- **Items:** <a href="#MagicalRuneCombatTechniqueCheckPenalty/map[]">MagicalRuneCombatTechniqueCheckPenalty/map[]</a>
- **Minimum Items:** `1`
#### <a name="MagicalRuneCloseCombatTechniqueCheckPenalty/rest"></a> `rest`
#### <a name="MagicalRuneCombatTechniqueCheckPenalty/rest"></a> `rest`
- **Type:** <a href="#MagicalRuneCloseCombatTechniqueCheckPenaltyRest">MagicalRuneCloseCombatTechniqueCheckPenaltyRest</a>
- **Type:** <a href="#MagicalRuneCombatTechniqueCheckPenaltyRest">MagicalRuneCombatTechniqueCheckPenaltyRest</a>
---
### <a name="MagicalRuneCloseCombatTechniqueCheckPenalty/map[]"></a> `MagicalRuneCloseCombatTechniqueCheckPenalty/map[]`
### <a name="MagicalRuneCombatTechniqueCheckPenalty/map[]"></a> `MagicalRuneCombatTechniqueCheckPenalty/map[]`
- **Type:** <a href="#MagicalRuneCloseCombatTechniqueCheckPenaltyMapping">MagicalRuneCloseCombatTechniqueCheckPenaltyMapping</a>
- **Type:** <a href="#MagicalRuneCombatTechniqueCheckPenaltyMapping">MagicalRuneCombatTechniqueCheckPenaltyMapping</a>
---
### <a name="MagicalRuneCloseCombatTechniqueCheckPenaltyMapping"></a> `MagicalRuneCloseCombatTechniqueCheckPenaltyMapping`
### <a name="MagicalRuneCombatTechniqueCheckPenaltyMapping"></a> `MagicalRuneCombatTechniqueCheckPenaltyMapping`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`combat_technique_id` | The close combat technique's identifier. | <a href="#MagicalRuneCloseCombatTechniqueCheckPenaltyMapping/combat_technique_id">See details</a>
`modifier` | The check modifier for the specified close combat technique. | <a href="#MagicalRuneCloseCombatTechniqueCheckPenaltyMapping/modifier">See details</a>
`id` | The combat technique's identifier. | <a href="#MagicalRuneCombatTechniqueCheckPenaltyMapping/id">See details</a>
`modifier` | The check modifier for the specified combat technique. | <a href="#MagicalRuneCombatTechniqueCheckPenaltyMapping/modifier">See details</a>
#### <a name="MagicalRuneCloseCombatTechniqueCheckPenaltyMapping/combat_technique_id"></a> `combat_technique_id`
#### <a name="MagicalRuneCombatTechniqueCheckPenaltyMapping/id"></a> `id`
The close combat technique's identifier.
The combat technique's identifier.
- **Type:** <a href="../_Identifier.md#CloseCombatTechniqueIdentifier">CloseCombatTechniqueIdentifier</a>
- **Type:** <a href="../_IdentifierGroup.md#CombatTechniqueIdentifier">CombatTechniqueIdentifier</a>
#### <a name="MagicalRuneCloseCombatTechniqueCheckPenaltyMapping/modifier"></a> `modifier`
#### <a name="MagicalRuneCombatTechniqueCheckPenaltyMapping/modifier"></a> `modifier`
The check modifier for the specified close combat technique.
The check modifier for the specified combat technique.
- **Type:** Integer
---
### <a name="MagicalRuneCloseCombatTechniqueCheckPenaltyRest"></a> `MagicalRuneCloseCombatTechniqueCheckPenaltyRest`
### <a name="MagicalRuneCombatTechniqueCheckPenaltyRest"></a> `MagicalRuneCombatTechniqueCheckPenaltyRest`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`modifier` | The check modifier for close combat techniques not specified in `map`. | <a href="#MagicalRuneCloseCombatTechniqueCheckPenaltyRest/modifier">See details</a>
`modifier` | The check modifier for combat techniques not specified in `map`. | <a href="#MagicalRuneCombatTechniqueCheckPenaltyRest/modifier">See details</a>
#### <a name="MagicalRuneCloseCombatTechniqueCheckPenaltyRest/modifier"></a> `modifier`
#### <a name="MagicalRuneCombatTechniqueCheckPenaltyRest/modifier"></a> `modifier`
The check modifier for close combat techniques not specified in `map`.
The check modifier for combat techniques not specified in `map`.
- **Type:** Integer
@@ -398,7 +418,7 @@ The duration.
### <a name="MagicalRuneCost"></a> `MagicalRuneCost`
- **Type:** Union
- **Cases:** <a href="#MagicalRuneCost'Single">MagicalRuneCost'Single</a> | <a href="#MagicalRuneCost'Disjunction">MagicalRuneCost'Disjunction</a>
- **Cases:** <a href="#MagicalRuneCost'Single">MagicalRuneCost'Single</a> | <a href="#MagicalRuneCost'Disjunction">MagicalRuneCost'Disjunction</a> | <a href="#MagicalRuneCost'DerivedFromOption">MagicalRuneCost'DerivedFromOption</a>
---
@@ -440,6 +460,76 @@ Key | Description | Details
---
### <a name="MagicalRuneCost'DerivedFromOption"></a> `MagicalRuneCost'DerivedFromOption`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`tag` | | <a href="#MagicalRuneCost'DerivedFromOption/tag">See details</a>
`derived_from_option` | | <a href="#MagicalRuneCost'DerivedFromOption/derived_from_option">See details</a>
#### <a name="MagicalRuneCost'DerivedFromOption/tag"></a> `tag`
- **Constant:** `"DerivedFromOption"`
#### <a name="MagicalRuneCost'DerivedFromOption/derived_from_option"></a> `derived_from_option`
- **Type:** <a href="#MagicalRuneCost'DerivedFromOption/derived_from_option">Object</a>
---
### <a name="MagicalRuneCost'DerivedFromOption/derived_from_option"></a> `MagicalRuneCost'DerivedFromOption/derived_from_option`
- **Type:** Empty Object
---
### <a name="MagicalRuneOptionCost"></a> `MagicalRuneOptionCost`
- **Type:** Union
- **Cases:** <a href="#MagicalRuneOptionCost'Single">MagicalRuneOptionCost'Single</a> | <a href="#MagicalRuneOptionCost'Disjunction">MagicalRuneOptionCost'Disjunction</a>
---
### <a name="MagicalRuneOptionCost'Single"></a> `MagicalRuneOptionCost'Single`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`tag` | | <a href="#MagicalRuneOptionCost'Single/tag">See details</a>
`single` | | <a href="#MagicalRuneOptionCost'Single/single">See details</a>
#### <a name="MagicalRuneOptionCost'Single/tag"></a> `tag`
- **Constant:** `"Single"`
#### <a name="MagicalRuneOptionCost'Single/single"></a> `single`
- **Type:** <a href="#SingleMagicalRuneCost">SingleMagicalRuneCost</a>
---
### <a name="MagicalRuneOptionCost'Disjunction"></a> `MagicalRuneOptionCost'Disjunction`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`tag` | | <a href="#MagicalRuneOptionCost'Disjunction/tag">See details</a>
`disjunction` | | <a href="#MagicalRuneOptionCost'Disjunction/disjunction">See details</a>
#### <a name="MagicalRuneOptionCost'Disjunction/tag"></a> `tag`
- **Constant:** `"Disjunction"`
#### <a name="MagicalRuneOptionCost'Disjunction/disjunction"></a> `disjunction`
- **Type:** <a href="#MagicalRuneCostDisjunction">MagicalRuneCostDisjunction</a>
---
### <a name="SingleMagicalRuneCost"></a> `SingleMagicalRuneCost`
- **Type:** Object
@@ -604,14 +694,106 @@ The duration on fast rune application.
---
### <a name="MagicalRuneImprovementCost"></a> `MagicalRuneImprovementCost`
- **Type:** Union
- **Cases:** <a href="#MagicalRuneImprovementCost'Constant">MagicalRuneImprovementCost'Constant</a> | <a href="#MagicalRuneImprovementCost'DerivedFromOption">MagicalRuneImprovementCost'DerivedFromOption</a>
---
### <a name="MagicalRuneImprovementCost'Constant"></a> `MagicalRuneImprovementCost'Constant`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`tag` | | <a href="#MagicalRuneImprovementCost'Constant/tag">See details</a>
`constant` | | <a href="#MagicalRuneImprovementCost'Constant/constant">See details</a>
#### <a name="MagicalRuneImprovementCost'Constant/tag"></a> `tag`
- **Constant:** `"Constant"`
#### <a name="MagicalRuneImprovementCost'Constant/constant"></a> `constant`
- **Type:** <a href="#ConstantMagicalRuneImprovementCost">ConstantMagicalRuneImprovementCost</a>
---
### <a name="MagicalRuneImprovementCost'DerivedFromOption"></a> `MagicalRuneImprovementCost'DerivedFromOption`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`tag` | | <a href="#MagicalRuneImprovementCost'DerivedFromOption/tag">See details</a>
`derived_from_option` | | <a href="#MagicalRuneImprovementCost'DerivedFromOption/derived_from_option">See details</a>
#### <a name="MagicalRuneImprovementCost'DerivedFromOption/tag"></a> `tag`
- **Constant:** `"DerivedFromOption"`
#### <a name="MagicalRuneImprovementCost'DerivedFromOption/derived_from_option"></a> `derived_from_option`
- **Type:** <a href="#MagicalRuneImprovementCost'DerivedFromOption/derived_from_option">Object</a>
---
### <a name="MagicalRuneImprovementCost'DerivedFromOption/derived_from_option"></a> `MagicalRuneImprovementCost'DerivedFromOption/derived_from_option`
- **Type:** Empty Object
---
### <a name="ConstantMagicalRuneImprovementCost"></a> `ConstantMagicalRuneImprovementCost`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`value` | | <a href="#ConstantMagicalRuneImprovementCost/value">See details</a>
#### <a name="ConstantMagicalRuneImprovementCost/value"></a> `value`
- **Type:** <a href="../_ImprovementCost.md#ImprovementCost">ImprovementCost</a>
---
### <a name="MagicalRuneOption"></a> `MagicalRuneOption`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`id` | The magical rune options identifier. An unique, increasing integer. | <a href="#MagicalRuneOption/id">See details</a>
`cost` | The option-specific AE cost. | <a href="#MagicalRuneOption/cost">See details</a>
`improvement_cost` | The option-specific improvement cost. | <a href="#MagicalRuneOption/improvement_cost">See details</a>
`suboption` | | <a href="#MagicalRuneOption/suboption">See details</a>
`translations` | All translations for the entry, identified by IETF language tag (BCP47). | <a href="#MagicalRuneOption/translations">See details</a>
#### <a name="MagicalRuneOption/id"></a> `id`
The magical rune options identifier. An unique, increasing integer.
- **Type:** Integer
- **Minimum:** `1`
#### <a name="MagicalRuneOption/cost"></a> `cost`
The option-specific AE cost.
- **Type:** <a href="#MagicalRuneOptionCost">MagicalRuneOptionCost</a>
#### <a name="MagicalRuneOption/improvement_cost"></a> `improvement_cost`
The option-specific improvement cost.
- **Type:** <a href="../_ImprovementCost.md#ImprovementCost">ImprovementCost</a>
#### <a name="MagicalRuneOption/suboption"></a> `suboption`
- **Type:** <a href="#MagicalRuneSuboption">MagicalRuneSuboption</a>
#### <a name="MagicalRuneOption/translations"></a> `translations`
All translations for the entry, identified by IETF language tag (BCP47).
@@ -629,6 +811,80 @@ All translations for the entry, identified by IETF language tag (BCP47).
---
### <a name="MagicalRuneSuboption"></a> `MagicalRuneSuboption`
- **Type:** Union
- **Cases:** <a href="#MagicalRuneSuboption'Custom">MagicalRuneSuboption'Custom</a>
---
### <a name="MagicalRuneSuboption'Custom"></a> `MagicalRuneSuboption'Custom`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`tag` | | <a href="#MagicalRuneSuboption'Custom/tag">See details</a>
`custom` | | <a href="#MagicalRuneSuboption'Custom/custom">See details</a>
#### <a name="MagicalRuneSuboption'Custom/tag"></a> `tag`
- **Constant:** `"Custom"`
#### <a name="MagicalRuneSuboption'Custom/custom"></a> `custom`
- **Type:** <a href="#CustomMagicalRuneSuboption">CustomMagicalRuneSuboption</a>
---
### <a name="CustomMagicalRuneSuboption"></a> `CustomMagicalRuneSuboption`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`translations` | All translations for the entry, identified by IETF language tag (BCP47). | <a href="#CustomMagicalRuneSuboption/translations">See details</a>
#### <a name="CustomMagicalRuneSuboption/translations"></a> `translations`
All translations for the entry, identified by IETF language tag (BCP47).
- **Type:** Dictionary
- **Property Values:** <a href="#CustomMagicalRuneSuboption/translations[key]">CustomMagicalRuneSuboption/translations[key]</a>
- **Pattern:** `^[a-z]{2}-[A-Z]{2}$`
- **Minimum Properties:** `1`
---
### <a name="CustomMagicalRuneSuboption/translations[key]"></a> `CustomMagicalRuneSuboption/translations[key]`
- **Type:** <a href="#CustomMagicalRuneSuboptionTranslation">CustomMagicalRuneSuboptionTranslation</a>
---
### <a name="CustomMagicalRuneSuboptionTranslation"></a> `CustomMagicalRuneSuboptionTranslation`
- **Type:** Object
Key | Description | Details
:-- | :-- | :--
`examples?` | One or more examples for the suboption. | <a href="#CustomMagicalRuneSuboptionTranslation/examples">See details</a>
#### <a name="CustomMagicalRuneSuboptionTranslation/examples"></a> `examples?`
One or more examples for the suboption.
- **Type:** List
- **Items:** <a href="#CustomMagicalRuneSuboptionTranslation/examples[]">CustomMagicalRuneSuboptionTranslation/examples[]</a>
---
### <a name="CustomMagicalRuneSuboptionTranslation/examples[]"></a> `CustomMagicalRuneSuboptionTranslation/examples[]`
- **Type:** <a href="../_NonEmptyString.md#NonEmptyString">NonEmptyString</a>
---
### <a name="MagicalRuneOptionTranslation"></a> `MagicalRuneOptionTranslation`
- **Type:** Object
@@ -636,6 +892,7 @@ All translations for the entry, identified by IETF language tag (BCP47).
Key | Description | Details
:-- | :-- | :--
`name` | The name of the option. | <a href="#MagicalRuneOptionTranslation/name">See details</a>
`native_name` | The native name of the magical rune option. | <a href="#MagicalRuneOptionTranslation/native_name">See details</a>
#### <a name="MagicalRuneOptionTranslation/name"></a> `name`
@@ -645,3 +902,9 @@ The surrounding parenthesis will/should not be included, they will/should
be generated.
- **Type:** <a href="../_NonEmptyString.md#NonEmptyString">NonEmptyString</a>
#### <a name="MagicalRuneOptionTranslation/native_name"></a> `native_name`
The native name of the magical rune option.
- **Type:** <a href="../_NonEmptyString.md#NonEmptyString">NonEmptyString</a>