A creature's blow is named on the stack: the counter is played against the fire imp's scorch, not a punch (SC59)
The caster whose creature is countered now sees "your attack, answered" and the name of their own blow, instead of an incoming punch with the opponent's counter card standing in the attack slot. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Jm2auWk6RP71CjaAb4FMoG
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
c3f63d4eb7
commit
7a0a972452
@@ -52,7 +52,11 @@ export function humanize(e: GameEvent): string | null {
|
||||
const at = e.target ? ` at ${e.target}` : "";
|
||||
return `${e.caster} casts ${cardDef(e.cardId).name}${num}${amp}${at}.`;
|
||||
}
|
||||
case "counteractionPlayed": return `${e.player} counters with ${cardDef(e.cardId).name}!`;
|
||||
case "counteractionPlayed": {
|
||||
// A card's id has no spaces; a creature's blow or the ward's bite is named in words.
|
||||
const what = e.against === "punch" ? "the punch" : /[ ']/.test(e.against) ? `the ${e.against}` : spellName(e.against);
|
||||
return `${e.player} counters ${what} with ${cardDef(e.cardId).name}!`;
|
||||
}
|
||||
case "counterNullified": return `${cardDef(e.card.cardId).name} is nullified by Anti-Anti!`;
|
||||
case "attackAbsorbedIntoHand": return `${e.player} absorbs ${cardDef(e.attackCard.cardId).name} into their hand — the card is theirs now!`;
|
||||
case "attackResolved":
|
||||
|
||||
Reference in New Issue
Block a user