Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

CSpellDelaySay (0x4E)

Previous: CSpellDelayRequest | Client action index | Next: CSendPortrait

CSpellDelaySay is client-to-server action 0x4E in the 4.21 protocol.

Direction: client to server

Encrypted: Yes. See Sequence and XOR Transformation.

Payload offsets begin with the first byte after the action. The frame marker, frame length, action, sequence, and trailing zero are excluded.

Payload format

OffsetWidthFieldEstablished meaning
0x001text_lengthNumber of following phrase bytes, truncated to one byte.
0x01text_lengthtextDelay phrase bytes copied without a terminator.

Queue call sites

Queue callContaining IDA functionFunction address
Darkages.exe:0x004548F1net_c_send_skill_delay_sayDarkages.exe:0x00454884
Darkages.exe:0x00455921net_c_send_spell_delay_sayDarkages.exe:0x00455834
Darkages.exe:0x00455815ui_spell_delay_beginDarkages.exe:0x004556F4
Darkages.exe:0x00456997ui_spell_delay_handle_timerDarkages.exe:0x00456940

Delay flow

Both the skill and spell paths build CSpellDelaySay as action 0x4E, a one-byte length, and the selected phrase. Spell delay phrases are loaded from SpellBook.cfg and emitted once per timer step before the held CUseSpell packet is released. The skill slot can emit its configured phrase immediately before CUseSkill.

See UI, Input, and Packet Flows.