Files
tevansandClaude Fable 5 6b63a95dc2 Ringworld 0.5.0: v13/v14 compatibility, Ringworld '84 theme, combat automation
- Foundry v13/v14 compatibility (verified on 14.364)
- Complete "Ringworld '84" retheme: CSS custom properties, warm
  space-black + bronze + ring-arc amber palette, uniform across sheets,
  dialogs, chat cards, hit-location picker, and impulse HUD
- Fix HP damage evaporating on re-prepare: maximums always derived,
  current values source-authoritative, with a one-time world migration
- Ammunition tracking: per-attack consumption, reload button, ammo
  badge; empty weapons block attacks
- Energy weapons auto-link a carried power pack instead of failing
- Special Success rolls damage dice twice; fumbles flag GM adjudication
  (both toggleable world settings)
- Defender Dodge prompt before damage (special hits need special dodge)
- Damage Mod and derived rolls always recompute; shown read-only
- Creature sheet rebuilt to full parity: characteristics, derived
  rolls, body-schema hit grid with AP totals, weapons/armor/skills
- Seeded "Ringworld GM Reference" journal (outcomes, impulses, attack
  workflow, wounds, 1984 quirks, quick start)
- Shared characteristic-check dialog between explorer and creature

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 23:41:33 +01:00

55 lines
2.3 KiB
Handlebars

<div class="ringworld-chat-card ringworld-chat-attack">
<header class="rw-chat-header">
<img class="rw-chat-actor-img" src="{{actorImg}}" alt="{{actorName}}" />
<div class="rw-chat-header-text">
<h3>{{actorName}} attacks {{targetName}}</h3>
<p class="rw-chat-outcome {{#if isSuccess}}success{{else}}failure{{/if}} {{#if isSpecial}}special{{/if}} {{#if isFumble}}fumble{{/if}}">{{attackOutcomeLabel}}</p>
</div>
</header>
<div class="rw-chat-tags">
<span class="rw-chat-tag">
{{#if weaponImg}}<img class="rw-chat-tag-img" src="{{weaponImg}}" alt="{{weaponName}}" />{{/if}}
<strong>Weapon</strong>: {{weaponName}}
</span>
<span class="rw-chat-tag">
{{#if skillImg}}<img class="rw-chat-tag-img" src="{{skillImg}}" alt="{{skillName}}" />{{/if}}
<strong>Skill</strong>: {{skillName}}
</span>
</div>
<p><strong>Attack:</strong> {{attackRoll}} vs {{attackTarget}}</p>
{{#if dodge}}
<p class="rw-chat-hitline rw-chat-dodge {{#if dodge.negated}}dodged{{/if}}">
<span class="rw-chat-hit-label">Dodge</span>
<span class="rw-chat-hit-roll">{{dodge.roll}} vs {{dodge.target}} &mdash;</span>
<span class="rw-chat-hit-value">{{#if dodge.negated}}Evaded{{else}}{{#if dodge.success}}Not enough{{else}}Failed{{/if}}{{/if}}</span>
</p>
{{/if}}
{{#if isSuccess}}
<p class="rw-chat-hitline">
<span class="rw-chat-hit-label">Hit Location</span>
<span class="rw-chat-hit-value">{{hitLocationLabel}}</span>{{#if hitLocationRoll}} <span class="rw-chat-hit-roll">(rolled {{hitLocationRoll}})</span>{{/if}}
</p>
<p class="rw-chat-damage-line">
<span class="rw-chat-damage-label">Total Damage</span>
<span class="rw-chat-damage-value">{{finalDamage}}</span>
<span class="rw-chat-damage-breakdown">({{rawDamage}} - {{armor}} armor)</span>
</p>
{{#if hasTarget}}
<p><strong>Remaining Location HP:</strong> {{remainingLocationHp}}</p>
<p><strong>Remaining General HP:</strong> {{remainingGeneralHp}}</p>
{{/if}}
{{/if}}
{{#if energyCost}}
<p><strong>Energy:</strong> {{energySourceLabel}} spent {{energyCost}}, remaining {{energyRemaining}}</p>
{{/if}}
{{#if ammoUsed}}
<p><strong>Ammo:</strong> spent {{ammoCost}}, remaining {{ammoRemaining}}</p>
{{/if}}
<p class="rw-chat-notes">{{notes}}</p>
</div>