feat: luck bonus, inventory slots bonus, multi-enhancements, magic skill modifier
Release Creation / build (release) Successful in 1m25s
Release Creation / build (release) Successful in 1m25s
- Add luck.bonus field to character DataModel; included in prepareDerivedData (luck.max = fate.rank + bonus); shown as editable +bonus field next to luck max in edit mode (same UX as grit bonus) - Add inventory.slotsBonus field to character DataModel; Equipment tab now shows an editable "Bonus Slots" input that adds to the calculated max slots (10 + Might×2 + bonus) - Replace single Enhancement <select> in spell cast dialog with a checkbox list; multiple enhancements can now be selected simultaneously — stress costs, pool penalties, and boolean flags (redDice, noStress) are aggregated across all active enhancements - Include skills.magic.modifier in basePool for both spell and miracle dialogs and in baseDice in rollSpellCast / rollMiracleCast; modifier is shown in the dialog pool-info line and in the chat card when non-zero - Fix: pool-reduction indicator in rollSpellCast now compares against intRank + magicRank + magicMod (was missing magicMod)
This commit is contained in:
@@ -2,6 +2,8 @@
|
||||
<div class="slots-counter">
|
||||
<span class="slots-label">{{localize "OATHHAMMER.Label.ItemSlots"}}</span>
|
||||
<span class="slots-value {{#if slotsOver}}slots-over{{/if}}">{{slotsUsed}} / {{slotsMax}}</span>
|
||||
<span class="slots-bonus-label">{{localize "OATHHAMMER.Label.SlotsBonus"}}</span>
|
||||
<input type="number" name="system.inventory.slotsBonus" value="{{system.inventory.slotsBonus}}" class="slots-bonus-input">
|
||||
</div>
|
||||
<fieldset class="currency-bar">
|
||||
<legend>{{localize "OATHHAMMER.Label.Currency"}}</legend>
|
||||
|
||||
@@ -72,7 +72,13 @@
|
||||
<a data-action="adjustLuck" data-delta="1" class="luck-btn">+</a>
|
||||
</div>
|
||||
<span class="res-sep">/</span>
|
||||
{{formInput systemFields.luck.fields.max value=system.luck.max name="system.luck.max" disabled=isPlayMode}}
|
||||
<span class="luck-max-group">
|
||||
{{formInput systemFields.luck.fields.max value=system.luck.max name="system.luck.max" disabled=true}}
|
||||
{{#unless isPlayMode}}
|
||||
<span class="res-bonus-label">+</span>
|
||||
{{formInput systemFields.luck.fields.bonus value=system.luck.bonus name="system.luck.bonus" class="res-bonus-input"}}
|
||||
{{/unless}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="character-resource">
|
||||
<span class="resource-label">{{localize "OATHHAMMER.Label.Movement"}}</span>
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
<div class="pool-info-line">
|
||||
{{localize "OATHHAMMER.Skill.Magic"}} ({{localize "OATHHAMMER.Attribute.Willpower"}} {{wpRank}})
|
||||
+ {{localize "OATHHAMMER.Label.SkillRank"}} {{magicRank}}
|
||||
{{#if magicModDisplay}} {{localize "OATHHAMMER.Label.SkillModifier"}} {{magicModDisplay}}{{/if}}
|
||||
= <strong>{{basePool}}d6</strong>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
<div class="pool-info-line">
|
||||
{{localize "OATHHAMMER.Skill.Magic"}} ({{localize "OATHHAMMER.Attribute.Intelligence"}} {{intRank}})
|
||||
+ {{localize "OATHHAMMER.Label.SkillRank"}} {{magicRank}}
|
||||
{{#if magicModDisplay}} {{localize "OATHHAMMER.Label.SkillModifier"}} {{magicModDisplay}}{{/if}}
|
||||
= <strong>{{basePool}}d6</strong>
|
||||
</div>
|
||||
|
||||
@@ -52,11 +53,16 @@
|
||||
<span class="roll-option-hint">{{localize "OATHHAMMER.Dialog.DiceColorHint"}}</span>
|
||||
</div>
|
||||
|
||||
<div class="roll-option-row">
|
||||
<label>{{localize "OATHHAMMER.Dialog.Enhancement"}}</label>
|
||||
<select name="enhancement" class="enhancement-select">
|
||||
{{#each enhancementOptions}}<option value="{{value}}"{{#if selected}} selected{{/if}}>{{label}}</option>{{/each}}
|
||||
</select>
|
||||
<div class="roll-option-row roll-option-enhancements">
|
||||
<label class="enhancements-header">{{localize "OATHHAMMER.Dialog.Enhancement"}}</label>
|
||||
<div class="enhancements-list">
|
||||
{{#each enhancementOptions}}
|
||||
<div class="enhancement-item">
|
||||
<input type="checkbox" id="enh_{{value}}" name="enh_{{value}}" value="true">
|
||||
<label for="enh_{{value}}" class="enh-name">{{label}}</label>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{{#if isElemental}}
|
||||
|
||||
Reference in New Issue
Block a user