aboutsummaryrefslogtreecommitdiff
path: root/internal/game/tick.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-18 17:48:26 -0400
committerhistoria <[not public]>2026-09-18 17:48:26 -0400
commit8fe9e3c3fef0049df82281a62afe35dda516dfe2 (patch)
treedd269f2c0710f334e19f00a191260ebc46284a90 /internal/game/tick.go
parent194164a77eb4f2479b94c19e6f0e1278ab608781 (diff)
downloadthehouseoficarus-8fe9e3c3fef0049df82281a62afe35dda516dfe2.tar.gz
fix: close combat ghost, admin traversal, login throttle, journal double-pay, and quality/economy gaps
Diffstat (limited to 'internal/game/tick.go')
-rw-r--r--internal/game/tick.go5
1 files changed, 5 insertions, 0 deletions
diff --git a/internal/game/tick.go b/internal/game/tick.go
index ef8089a..21489ca 100644
--- a/internal/game/tick.go
+++ b/internal/game/tick.go
@@ -50,6 +50,11 @@ func (g *Game) DisconnectTick() {
}
if sess.TickDisconnectCountdown() {
delete(g.disconnectDeferrals, sess)
+ // The fight must not outlive the session: the combat tick
+ // subscribers are keyed by name and would otherwise keep
+ // attacking and saving for a character no longer in the world.
+ g.stopCombat(p.Name)
+ g.cancelRest(p.Name)
g.restoreGodPlayer(p)
g.saveCharacter(p)
g.Hub.HardRemove(sess)