Files
moonwell-client-core/crates/benilla-protocol/tests
Sam Sung 71d65a4883 Stock character delete and rename, with the client's name check (#1060)
The stock character select had no DeleteCharacter or RenameCharacter.

DeleteCharacter opens CHAR_DELETE_IN_PROGRESS and sends the delete (screen state 6). On success it fires SELECT_FIRST_CHARACTER and fetches the list again; a refusal shows OKAY with the status text (0x46c173).

RenameCharacter follows 0x473520 and 0x46b340:
- it needs flag 0x4000;
- the same name, or a failed name check, reopens the dialog with the key;
- otherwise it sends CMSG_CHAR_RENAME (state 7).
The reply (0x46b440) tells apart only result 0x31. Success renames the record, clears the flag, moves the character's local files (all or none, as one folder move) and fires CHARACTER_LIST_UPDATE.

The client's name check (0x5abd50 → 0x6c96c0), with NamesProfanity, ChatProfanity and NamesReserved compiled once, is shared with create.

Tests cover each verb arm, the wire, each name code, and both flows end to end.

Part of #856
Part of #79

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-13 00:28:58 +07:00
..