You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
packages: emit a private system message to one connected client #329
Category: enhancement Summary: Give compiled Packages one core operation that emits a private client system message.
Current behavior:
The Gateway can build SMSG_MESSAGECHAT System for command responses, but the Module has no recipient-scoped event or Package-callable operation for that packet. Package hooks can only misuse public Say/Yell or whisper paths, which changes gameplay semantics and may reach the wrong clients.
Desired behavior:
Add a transient, recipient-scoped System Message event owned by the Module. A small core operation accepts a character guid and message, resolves the recipient on the current Shard, normalizes and bounds the text, and writes the event. Compiled Package code can call that operation without table or protocol knowledge.
The Gateway relays an inserted event only to the named character's World Session using its existing System chat packet builder. The event follows the existing recipient-security and event-reaping rules. Missing recipients and empty messages produce an explicit result without writing.
Key interfaces:
Package-callable System Message operation
Recipient-scoped transient event
Gateway event relay to SMSG_MESSAGECHAT System
Acceptance criteria:
A caller can emit one bounded System Message by character guid from Module code.
Only the intended World Session receives the packet.
Another connected character receives nothing.
Empty text and a character absent from the current Shard write no event.
The Gateway reuses the existing System chat packet builder.
Event rows are protected like other recipient-scoped events and reaped by normal event GC.
Generated Gateway bindings are refreshed through the documented schema workflow.
Module and Gateway tests cover success, missing recipient, empty text, and recipient isolation.
Activity