25648aa2a3
Release Creation / build (release) Successful in 45s
- Remove D30 choice dialog — auto-roll bonus dice, flag special effects - Fix d30ChangedAttack infinite loop in defense do-while (missing reset) - Fix chat button dataset attributes (rollType/rollTarget/rollAvantage) - Extract buildDefenseReactionButtons from both defense loops - Merge Aether/Grace deduction via _deductResourceOnCast helper - Extract HP HUD toggling (_toggleHudWraps/_disableHudWraps) - Fix SYSTEM.EQUIPMENT_CATEGORIES typo in equipment model - Add missing imports to combat.mjs - Remove dead d30Auto branches, _buildSpecialLabel, d30-special-choice.hbs
41 lines
2.6 KiB
Handlebars
41 lines
2.6 KiB
Handlebars
{{#if (equals type "aetherSpend")}}
|
|
<p>🔮 <strong>{{actorName}}</strong> casts <em>{{spellName}}{{#if tierLabel}}{{tierLabel}}{{/if}}</em> — spends <strong>{{value}}</strong> Aether <span style="color:#888;">({{oldValue}} → {{newValue}})</span>.</p>
|
|
{{else if (equals type "graceSpend")}}
|
|
<p>✨ <strong>{{actorName}}</strong> invokes <em>{{spellName}}</em> — spends <strong>{{value}}</strong> Grace <span style="color:#888;">({{oldValue}} → {{newValue}})</span>.</p>
|
|
{{else if (equals type "bleedingNotice")}}
|
|
<p><strong>Bleeding:</strong> Wound of {{value}} HP for {{value}} seconds.</p>
|
|
{{else if (equals type "d30BonusRoll")}}
|
|
<p>D30 bonus: rolled <strong>{{formula}}</strong> = <strong>{{value}}</strong></p>
|
|
{{else if (equals type "mulligan")}}
|
|
<p><strong>{{actorName}}</strong> uses Mulligan and re-rolls {{side}}: <strong>{{oldRoll}}</strong> → <strong>{{newRoll}}</strong>.</p>
|
|
{{> chat/dice-breakdown diceResults=diceResults D30result=D30result D30message=D30message}}
|
|
<p>Both sides may now react to the new numbers.</p>
|
|
{{else}}
|
|
<p>
|
|
<strong>{{actorName}}</strong>
|
|
{{#if (equals type "grit")}}
|
|
spends 1 {{resource}} and rolls <strong>{{value}}</strong> for {{side}}.
|
|
{{else if (equals type "luck")}}
|
|
spends 1 {{resource}} and rolls <strong>{{value}}</strong> for {{side}}.
|
|
{{else if (equals type "bonusDie")}}
|
|
adds <strong>{{formula}}</strong> and rolls <strong>{{value}}</strong> for {{side}}.
|
|
{{else if (equals type "d30Bonus")}}
|
|
gains <strong>+{{value}}</strong> from D30 bonus die for {{side}}.
|
|
{{else if (equals type "d30Flag")}}
|
|
D30 — <strong>{{specialName}}</strong> possible for {{actorName}}!
|
|
{{else if (equals type "d30Bleed")}}
|
|
D30 — <strong>Bleeding/Internal Injury</strong> on hit! Damage past DR will cause a bleeding wound.
|
|
{{else if (equals type "d30DamageMultiplier")}}
|
|
D30 — <strong>x{{value}} damage</strong> before damage reduction!
|
|
{{else if (equals type "d30DRMultiplier")}}
|
|
D30 — Defense grants <strong>x{{value}} DR</strong> (choose which DR types to multiply when damage is applied).
|
|
{{else if (equals type "shieldBlock")}}
|
|
rolls <strong>{{shieldLabel}}</strong> and adds <strong>{{shieldBonus}}</strong> to defense ({{newTotal}} ≥ {{opposingRoll}}). <strong>Shield blocked the attack!</strong> Both armor DR and shield DR <strong>{{shieldDR}}</strong> will apply to damage.
|
|
{{else if (equals type "shieldFail")}}
|
|
rolls <strong>{{shieldLabel}}</strong> and adds <strong>{{shieldBonus}}</strong> to defense ({{newTotal}} < {{opposingRoll}}). Shield did not block — normal hit, armor DR only.
|
|
{{else if (equals type "generic")}}
|
|
{{{body}}}
|
|
{{/if}}
|
|
</p>
|
|
{{/if}}
|