aboutsummaryrefslogtreecommitdiff
path: root/internal/game/core_login_char.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-07-09 22:15:54 -0400
committerhistoria <[not public]>2026-07-09 22:15:54 -0400
commitecba7f726f70b37126d852c38c7e3eec7b04d730 (patch)
tree9129215c6e5015336fde1116395336d82bb952d1 /internal/game/core_login_char.go
parentb3d4c616f59ad2519f3a0b77e3b47d6571cd2486 (diff)
downloadthehouseoficarus-ecba7f726f70b37126d852c38c7e3eec7b04d730.tar.gz
feat: old standalone trigger systems completely unified into trigger->condition->action system
Diffstat (limited to 'internal/game/core_login_char.go')
-rw-r--r--internal/game/core_login_char.go17
1 files changed, 2 insertions, 15 deletions
diff --git a/internal/game/core_login_char.go b/internal/game/core_login_char.go
index 90c06be..38499e2 100644
--- a/internal/game/core_login_char.go
+++ b/internal/game/core_login_char.go
@@ -112,21 +112,8 @@ func (g *Game) connectCharacter(sess *net.Session, name string) {
g.doLook(sess)
g.checkAggro(sess)
- // Resume an interrupted on_enter sequence (e.g. disconnected mid-sequence).
- // Only fires when a persisted marker matches the room the player is in, so
- // ordinary on_enter scripts never run on login.
- if p.EnterSeqRoom != 0 {
- if p.EnterSeqRoom == p.RoomID {
- g.runEnterSteps(sess, p.RoomID)
- }
- g.enterMu.Lock()
- _, active := g.enterSeqs[p.Name]
- g.enterMu.Unlock()
- if !active {
- p.EnterSeqRoom = 0
- g.AccountStore.SaveCharacter(p)
- }
- }
+ // Resume an interrupted LOCKED trigger sequence saved across disconnect.
+ g.resumePendingSequence(sess, p)
sess.WritePrompt("> ")
}