The rules page, the offline page, the guide, two spell descriptions and
the share description no longer assume a duel has exactly two wizards:
every wizard chooses, attacks go at an opponent, the last wizard
standing wins, and blindness and invisibility speak of other wizards.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0141G6xqLeNRYEtviLWSB5Up
Every spell, blow and death in the chronicle now carries an image as
well as its facts, in the spirit of Plotkin's Spellcast but in our own
words. Disease and poison name the turn they will kill on when they
land, give a symptom each turn after, and warn on the last turn a cure
can come; the status panel names the same turn. Timing is unchanged:
as in Spellcast, the casting turn is the first of the six. Amnesia and
confusion now say when they land. Text only, so every ledger replays
as before.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0141G6xqLeNRYEtviLWSB5Up
Blocked blows now say what blocked them (shield, counter-spell, dispel
magic or protection from evil), the first counter-spell cast at the
other wizard earns a one-time explanation that it protects its subject,
and the spell's description says to cast it on yourself.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Duplicated logic and styling that had drifted apart is unified: the
gesture-sharing check, the hostile spell list, the enchanted test, the
plan limits, and the shared button, link, field and disabled styles.
Dead plumbing is gone: the always-true implemented flag, the unread
cast length, an unreachable guard, an impossible time-stop condition,
the unused sequence formatter and utility class, the template
placeholder. The counter-spell tests now put a counter-spell in front
of a spell, the test helpers live in one file, and the resolver's
sections are numbered in order. The deploy script's cache headers now
do what its comment says, and the README describes the screen rather
than listing features in the order they arrived.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
SvelteKit 5 single-player version against a heuristic bot. The engine
resolves all forty spells simultaneously as the rules describe, the
ledger of gestures is the interface, and the duel is saved in the
browser. Tester feedback rounds added per-hand planning, threat
evidence, a result strip with one-time rule explanations, a phone
layout and a structured rules page. Deploys as a static site behind
Caddy.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>