Files
moonwell-client-core/docs
Sam Sung 85feb2c865 Cast reports and events happen inside the call, as 1.12.1's do (#2023)
A cast's refusal line, `SPELLCAST_FAILED`, `CURRENT_SPELL_CAST_CHANGED` and `IsCurrentAction` answered after the verb returned, and in-flight state was cleared from many places, each by its own rule.

1.12.1 keeps one in-flight slot and one saved strike (`0xceca88`, `0xcecaa8`). The attempt pushes it, the cancel (`0x6e4940`) and the cast result (`0x6e741a`) pop it, and the report runs inside the call (`0x6e1a00`).

benilla now has that slot, and every cancel goes through it:
- auto-repeat sends its cast before ATTACKSTOP;
- a right-click skin casts through the attempt;
- a click the cursor cannot bind deselects;
- a second Esc re-sends a strike's cancel, the old deviation removed;
- a channel's button unchecks as it begins.

Tests: each behaviour, failing without it; a live trace shows the cast, its cancel and a refusal's cancel in the reference's order.

Fixes #1985, #1990, #1989, #295, #1325, #1986, #1585, #2012, #2015, #1695, #2014, #2021

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 09:01:50 +07:00
..