Commit graph

10 commits

Author SHA1 Message Date
a4a866a77c
Change combat flow: KO persists, timeout requires no landed damage 2026-02-15 12:40:21 -05:00
7ae82480bc
Enrich GMCP Char.Status with admin, coords, and paint state 2026-02-14 21:17:03 -05:00
200cc00129
Dedupe MSDP vitals to avoid spamming idle clients
Cache last-sent values on Player and skip send_msdp() when
nothing changed. Idle players no longer get a packet every second.
2026-02-12 16:31:17 -05:00
ee0dc839d8
Offer GMCP/MSDP during connection and guard tick sends
The server never proactively offered GMCP or MSDP to clients, so
telnetlib3 logged "cannot send MSDP without negotiation" every second.
Now the server sends WILL GMCP and WILL MSDP on connection, and
send_msdp_vitals checks negotiation state before attempting to send.
2026-02-12 15:58:54 -05:00
3d386fbf99
Fix GMCP and MSDP support for rich clients 2026-02-11 23:13:14 -05:00
ca282851e3
Update test_char_vitals_sent_on_rest_complete to expect both Status and Vitals 2026-02-11 23:13:14 -05:00
6ed71873b5
Fix line length in test_gmcp.py 2026-02-11 23:13:14 -05:00
e247d70612
Send Char.Status on combat end and rest state changes 2026-02-11 23:13:14 -05:00
e9f70ebd2f
Send Char.Vitals on combat resolution and rest completion 2026-02-11 23:13:14 -05:00
d253012122
Add GMCP and MSDP support for rich clients
Implements Phase 7 foundation:
- gmcp.py module with package builders for Char.Vitals, Char.Status,
  Room.Info, Room.Map, and MSDP vitals
- Player helper methods send_gmcp() and send_msdp() for convenience
- Full test coverage for all GMCP/MSDP functions and edge cases
2026-02-11 22:52:16 -05:00