Merge branch '083-track-minimum-levels-of-spells' into 'master'

Add functionality to track the minimum levels of spells for each mage class

Closes #83

See merge request dungeonslayers/ds4!105
This commit is contained in:
Johannes Loher 2021-05-13 14:56:39 +00:00
commit 2bf3caac99
8 changed files with 43 additions and 6 deletions

View file

@ -113,6 +113,12 @@
"DS4.SpellEffectRadius": "Effektradius", "DS4.SpellEffectRadius": "Effektradius",
"DS4.SpellDuration": "Wirkdauer", "DS4.SpellDuration": "Wirkdauer",
"DS4.SpellCooldownDuration": "Abklingzeit", "DS4.SpellCooldownDuration": "Abklingzeit",
"DS4.SpellMinimumLevelsHealer": "Zugangsstufe für Heiler",
"DS4.SpellMinimumLevelsHealerAbbr": "Zugangsstufe Hei",
"DS4.SpellMinimumLevelsWizard": "Zugangsstufe für Zauberer",
"DS4.SpellMinimumLevelsWizardAbbr": "Zugangsstufe Zau",
"DS4.SpellMinimumLevelsSorcerer": "Zugangsstufe für Schwarzmagier",
"DS4.SpellMinimumLevelsSorcererAbbr": "Zugangsstufe Sch",
"DS4.SpellScrollPriceGold": "Schriftrollenpreis (Gold)", "DS4.SpellScrollPriceGold": "Schriftrollenpreis (Gold)",
"DS4.ActorTypeCharacter": "Charakter", "DS4.ActorTypeCharacter": "Charakter",
"DS4.ActorTypeCreature": "Kreatur", "DS4.ActorTypeCreature": "Kreatur",

View file

@ -113,6 +113,12 @@
"DS4.SpellEffectRadius": "Radius", "DS4.SpellEffectRadius": "Radius",
"DS4.SpellDuration": "Duration", "DS4.SpellDuration": "Duration",
"DS4.SpellCooldownDuration": "Cooldown", "DS4.SpellCooldownDuration": "Cooldown",
"DS4.SpellMinimumLevelsHealer": "Minimum level for Healers",
"DS4.SpellMinimumLevelsHealerAbbr": "Min lvl HEA",
"DS4.SpellMinimumLevelsWizard": "Minimum level for Wizards",
"DS4.SpellMinimumLevelsWizardAbbr": "Min lvl WIZ",
"DS4.SpellMinimumLevelsSorcerer": "Minimum level for Sorcerers",
"DS4.SpellMinimumLevelsSorcererAbbr": "Min lvl SRC",
"DS4.SpellScrollPriceGold": "Scroll Price (Gold)", "DS4.SpellScrollPriceGold": "Scroll Price (Gold)",
"DS4.ActorTypeCharacter": "Character", "DS4.ActorTypeCharacter": "Character",
"DS4.ActorTypeCreature": "Creature", "DS4.ActorTypeCreature": "Creature",

View file

@ -107,6 +107,11 @@ export interface DS4SpellDataData extends DS4ItemDataDataBase, DS4ItemDataDataEq
effectRadius: UnitData<DistanceUnit>; effectRadius: UnitData<DistanceUnit>;
duration: UnitData<TemporalUnit>; duration: UnitData<TemporalUnit>;
cooldownDuration: UnitData<TemporalUnit>; cooldownDuration: UnitData<TemporalUnit>;
minimumLevels: {
healer: number | null;
wizard: number | null;
sorcerer: number | null;
};
scrollPrice: number; scrollPrice: number;
} }

View file

@ -5,7 +5,7 @@
"version": "0.6.0", "version": "0.6.0",
"minimumCoreVersion": "0.7.9", "minimumCoreVersion": "0.7.9",
"compatibleCoreVersion": "0.7.9", "compatibleCoreVersion": "0.7.9",
"templateVersion": 4, "templateVersion": 5,
"author": "Johannes Loher, Gesina Schwalbe, Oliver Rümpelein, Siegfried Krug", "author": "Johannes Loher, Gesina Schwalbe, Oliver Rümpelein, Siegfried Krug",
"authors": [ "authors": [
{ {

View file

@ -214,6 +214,11 @@
"value": "", "value": "",
"unit": "custom" "unit": "custom"
}, },
"minimumLevels": {
"healer": null,
"wizard": null,
"sorcerer": null
},
"scrollPrice": 0 "scrollPrice": 0
}, },
"specialCreatureAbility": { "specialCreatureAbility": {

View file

@ -65,6 +65,21 @@
{{> unitDatum data=data property='duration' localizeString='DS4.SpellDuration' unitType='temporal' }} {{> unitDatum data=data property='duration' localizeString='DS4.SpellDuration' unitType='temporal' }}
{{> unitDatum data=data property='cooldownDuration' localizeString='DS4.SpellCooldownDuration' unitType='temporal' {{> unitDatum data=data property='cooldownDuration' localizeString='DS4.SpellCooldownDuration' unitType='temporal'
}} }}
<div class="side-property" title="{{localize 'DS4.SpellMinimumLevelsHealer'}}">
<label for="data.minimumLevels.healer">{{localize "DS4.SpellMinimumLevelsHealerAbbr"}}</label>
<input type="number" min="0" step="1" data-dtype="Number" name="data.minimumLevels.healer"
id="data.minimumLevels.healer" value="{{data.minimumLevels.healer}}" />
</div>
<div class="side-property" title="{{localize 'DS4.SpellMinimumLevelsWizard'}}">
<label for="data.minimumLevels.wizard">{{localize "DS4.SpellMinimumLevelsWizardAbbr"}}</label>
<input type="number" min="0" step="1" data-dtype="Number" name="data.minimumLevels.wizard"
id="data.minimumLevels.wizard" value="{{data.minimumLevels.wizard}}" />
</div>
<div class="side-property" title="{{localize 'DS4.SpellMinimumLevelsSorcerer'}}">
<label for="data.minimumLevels.sorcerer">{{localize "DS4.SpellMinimumLevelsSorcererAbbr"}}</label>
<input type="number" min="0" step="1" data-dtype="Number" name="data.minimumLevels.sorcerer"
id="data.minimumLevels.sorcerer" value="{{data.minimumLevels.sorcerer}}" />
</div>
<div class="side-property"> <div class="side-property">
<label for="data.scrollPrice">{{localize "DS4.SpellScrollPriceGold"}}</label> <label for="data.scrollPrice">{{localize "DS4.SpellScrollPriceGold"}}</label>
<input type="number" min="0" max="9999" step="0.01" data-dtype="Number" name="data.scrollPrice" <input type="number" min="0" max="9999" step="0.01" data-dtype="Number" name="data.scrollPrice"

View file

@ -1,9 +1,9 @@
{{!-- {{!--
Render a description tab. Render a description tab.
Additional elements of the side-properties div can be handed over via the @partial-block. Additional elements of the side-properties div can be handed over via the @partial-block.
--}} --}}
<div class="tab flexrow" data-group="primary" data-tab="description"> <div class="tab flexrow description" data-group="primary" data-tab="description">
<div class="side-properties"> <div class="side-properties">
{{#if isOwned}} {{#if isOwned}}
{{#if (ne data.equipped undefined)}}<div class="side-property"> {{#if (ne data.equipped undefined)}}<div class="side-property">
@ -34,4 +34,4 @@ Additional elements of the side-properties div can be handed over via the @parti
<div class="description" title="{{localize 'DS4.HeadingDescription'}}"> <div class="description" title="{{localize 'DS4.HeadingDescription'}}">
{{editor content=data.description target="data.description" button=true owner=owner editable=editable}} {{editor content=data.description target="data.description" button=true owner=owner editable=editable}}
</div> </div>
</div> </div>

View file

@ -1,5 +1,5 @@
{{!-- Tab for the items view to manage effects --}} {{!-- Tab for the items view to manage effects --}}
<div class="tab details" data-group="primary" data-tab="effects"> <div class="tab effects" data-group="primary" data-tab="effects">
<ol class="effects-list"> <ol class="effects-list">
<li class="effect flexrow effect-header"> <li class="effect flexrow effect-header">
<div class="effect-image"></div> <div class="effect-image"></div>
@ -21,4 +21,4 @@
</li> </li>
{{/each}} {{/each}}
</ol> </ol>
</div> </div>