The attached number rides every cast path too

A number attached to SHIFT WAND silently stayed in hand: the two-stage
caster paths (shift-wand, teleport-opponent, mental-force) went through
withMods, which carried the modifier cards but not the separately-held
attached number. withMods now folds the number in wherever the call
site did not already carry it, so what the hand shows attached is what
the command carries — all of it, on every path.

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 23:22:56 -04:00
co-authored by Claude Fable 5
parent 5f1eda2731
commit 5eb5312637
+5 -1
View File
@@ -423,9 +423,13 @@
}
}
/** Every targeted cast goes out through here so attachments never drop. */
/** Every targeted cast goes out through here so attachments never drop
* the attached NUMBER included, unless the call site already carried it. */
function withMods<T extends Parameters<typeof net.command>[0] & { type: "cast" }>(cmd: T): T {
applyMods(cmd);
if (attachedNumber && !cmd.numberInstanceIds) {
cmd.numberInstanceIds = [attachedNumber.instanceId];
}
return cmd;
}