69ac6cd383
feat: add combo skill system with 5 combos
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 15:06:56 +09:00
22ebeb1d48
feat: add elite monsters with 5 prefix types
...
Elite monsters have ~20% spawn chance with Venomous, Burning, Freezing,
Bleeding, or Vampiric prefixes. Each prefix scales HP/ATK and applies
on-hit status effects (or life drain for Vampiric).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 15:02:44 +09:00
fc0c5edc38
feat: add chat emote system (/hi, /gg, /go, /wait, /help)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 14:05:04 +09:00
afe4ee1056
feat: add structured logging with log/slog and panic recovery
...
Replace log.Printf/Println with slog.Info/Error/Warn across the codebase.
Initialize slog with JSON handler in main.go. Add panic recovery defer
in SSH session handler. Add structured game event logging (room created,
player joined, game started, game over, player inactive removed).
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 13:18:06 +09:00
f85775dd3e
feat: replace all hardcoded constants with config values
...
Replace hardcoded game constants with values from the config system:
- GameSession now receives *config.Config from Lobby
- TurnTimeout, MaxFloors, SkillUses, InventoryLimit use config values
- combat.AttemptFlee accepts fleeChance param
- combat.ResolveAttacks accepts coopBonus param
- entity.NewMonster accepts scaling param
- Solo HP/DEF reduction uses config SoloHPReduction
- Lobby JoinRoom uses config MaxPlayers
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 13:08:52 +09:00
ad1482ae03
feat: wire config into main, server, and lobby
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-25 13:02:54 +09:00
604ca00e8b
feat: session reconnect via SSH fingerprint on disconnect
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 15:43:08 +09:00
ef9a713696
feat: online player tracking and count display in lobby
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 15:33:19 +09:00
fb0e64a109
feat: achievement system with 10 unlockable achievements
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 15:33:12 +09:00
57e56ae7a4
test: lobby, session, store tests — deep copy, logs, inventory, stats
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 15:07:51 +09:00
d3d7e2a76a
feat: status effects (poison/burn), boss patterns, new relics
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 14:49:55 +09:00
533e460968
feat: lobby shows player names and classes in room listing
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 14:47:53 +09:00
29387ebaa0
feat: help screen, detailed result screen, death/revive messages
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 14:44:03 +09:00
80c1988719
feat: party action status display and sequential turn result replay
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 14:23:44 +09:00
9221cfa7c6
refactor: replace goto with labeled break in RunTurn
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 13:46:33 +09:00
15199bd26f
feat: skill cooldown (3/combat), inventory limit (10), scaled event damage
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 13:46:17 +09:00
1104c6e4e9
fix: lock SoloMode at start, shop feedback, dead player exploration block
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-03-24 13:44:43 +09:00
01edb488f7
fix: game balance — gold scaling, solo DEF, floor-scaled items, healer targeting, AI fallback
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 11:17:23 +09:00
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
cd2013a917
feat: multiplayer flee marks player as out for current combat
...
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-24 10:47:38 +09:00
6f35bc1172
feat: show log messages for trap, blessing, and treasure events
2026-03-24 10:45:01 +09:00
b6c28ddd80
fix: set room status to Playing when game starts
2026-03-24 10:40:04 +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
3cc6f783b3
feat: apply relic passive effects (ATK/DEF boost, heal on kill, gold boost)
2026-03-24 00:50:42 +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