diff options
Diffstat (limited to 'internal/game/tick.go')
| -rw-r--r-- | internal/game/tick.go | 5 |
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) |
