diff options
Diffstat (limited to 'internal/game/core_login_char.go')
| -rw-r--r-- | internal/game/core_login_char.go | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/internal/game/core_login_char.go b/internal/game/core_login_char.go index dec6dae..5724c7b 100644 --- a/internal/game/core_login_char.go +++ b/internal/game/core_login_char.go @@ -57,6 +57,10 @@ func (g *Game) handleNewCharName(sess *net.Session, input string) { sess.Account.Characters = acc.Characters g.connectCharacter(sess, name) + + if sess.Player != nil { + g.runEnterSteps(sess, sess.Player.RoomID) + } } func (g *Game) connectCharacter(sess *net.Session, name string) { @@ -102,18 +106,18 @@ func (g *Game) connectCharacter(sess *net.Session, name string) { g.doLook(sess) g.checkAggro(sess) - // Resume an interrupted on_enter cutscene (e.g. disconnected mid-sequence). + // 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.CutsceneRoom != 0 { - if p.CutsceneRoom == p.RoomID { + 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.CutsceneRoom = 0 + p.EnterSeqRoom = 0 g.AccountStore.SaveCharacter(p) } } |
