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

SRemoveSpell (0x18)

Previous: SAddSpell | Server action index | Next: SSoundEffect

SRemoveSpell is server-to-client action 0x18 in the 4.21 protocol.

Direction: server to client

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
0x00payload_lengthunknown_00Payload bytes whose field boundaries are not yet mapped.

Handler functions

Function addressCurrent IDA nameRole
Darkages.exe:0x00443B10ui_spell_inventory_handle_server_packetAccepts the action in its pane’s Event type 9 packet handler.
Darkages.exe:0x004889F0ui_local_user_handle_server_packetAccepts the action in the local-user Pane’s Event type 9 packet handler.

Handler notes

Darkages.exe:0x00443B10 ui_spell_inventory_handle_server_packet routes this action to the spell-slot removal path. That path unregisters and removes the child, deletes it, and clears the indexed owner pointer. Darkages.exe:0x004889F0 also observes the action in its own pane context.

UI behavior

Removing a slot does not hide the parent spell inventory. See UI, Input, and Packet Flows.