{{#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}}
