A laden clockwork delivers before it avenges

Game five's automaton stood four steps from a winning drop and instead
warped across the board to chase the bot carrying its other treasure —
two compounding brain faults. First, the thief-chase rung outranked
delivery even while carrying; a carrier now never chases. Second, the
pathing ladder fell back to "march on any enemy with a clean corridor"
before trying the true objective through hazards, so one thornbush on
the road to the thief rerouted the whole campaign toward a bystander.
The objective now exhausts its hazard-waded route before any generic
enemy march. Replayed the FRP3 moment: the brain marches E,N,E straight
home instead of W through the warp. Brains ship ungated; ledgers
verified.

The duel skill gains game-five scars: the captured-treasures
elimination clock, FEAR as a self-cast aura, key-cutters without keys,
and Kestrel's two-players-per-card table play.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015RCWSTnb1KYTPyL4GmhGnF
This commit is contained in:
Eric Wagoner
2026-08-27 20:35:40 -04:00
co-authored by Claude Fable 5
parent 825a73b154
commit 37a390ebbf
2 changed files with 40 additions and 2 deletions
+8 -2
View File
@@ -1541,7 +1541,10 @@ export function automatonCommand(
// ends the march); otherwise the gold has its legs for the turn.
const strikeLive = !view.turn.attackUsed && !view.turn.attackForbidden &&
!view.turn.actionsEnded && view.yourHand.some((c) => ATTACKS[c.cardId] != null);
const chasing = thief !== null && strikeLive;
// A carrier never chases: the delivery in hand outranks the gold in
// someone else's. Chasing while laden once marched a bot across the
// whole board, four steps from a winning drop.
const chasing = thief !== null && strikeLive && !self.carriedTreasureId;
// BANK GUARD: enemy gold delivered to my home is my scoreboard, and
// anyone may snatch it off the floor. A raider nearer my bank than I
// am, with the bank stocked, outranks the next grab — run home.
@@ -1565,10 +1568,13 @@ export function automatonCommand(
const path =
pathToward(view, self.position, objectives, { avoidNearEnemies: style === "worrier" && !chasing, canUnlock }) ??
pathToward(view, self.position, objectives, { canUnlock }) ??
// The true objective, hazards waded, comes before any generic march
// on enemies: one thornbush on the road must not reroute the whole
// campaign toward whoever happens to have a clean corridor.
pathToward(view, self.position, objectives, { canUnlock, throughHazards: true }) ??
pathToward(view, self.position, enemyCells, { canUnlock }) ??
// No clean road to anything: grit the teeth and wade the hazards,
// as any wizard would rather than stand in a pocket forever.
pathToward(view, self.position, objectives, { canUnlock, throughHazards: true }) ??
pathToward(view, self.position, enemyCells, { canUnlock, throughHazards: true });
// A shimmering illusion on the best crossing costs nothing to doubt:
// roll the free test before spending any card on that wall.