Commit Graph

8 Commits

Author SHA1 Message Date
ee9aec0b32 feat: add in-game chat with / key
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 11:06:29 +09:00
ce2f03baf5 feat: remove inactive players after 60s disconnect timeout
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 10:59:33 +09:00
46afd82060 fix: stop combatLoop goroutine and remove lobby room on session exit
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 10:56:23 +09:00
e8887cd69a fix: use fingerprint as player ID to prevent name collision
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 10:50:21 +09:00
b0766c488c fix: deep-copy GameState in GetState to prevent data race
Replace shallow struct copy with full deep copy of Players, Monsters,
Floor/Rooms, Inventory, Relics, ShopItems, and CombatLog slices so
concurrent readers via GetState never alias the combatLoop's live data.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 10:23:21 +09:00
7556073cb5 feat: display turn countdown timer in combat HUD
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-24 00:53:17 +09:00
743b5b9058 fix: prevent double StartGame, use overlapping monster floor ranges 2026-03-24 00:51:00 +09:00
13d468943a feat: game session, turn system, lobby, and room events
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-23 23:55:08 +09:00