From e2d5b081f27141bb3dd89dbe595860b8a1345d55 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Thu, 25 Jun 2026 21:23:34 -0400 Subject: feat: on_enter features ported over to triggers, cosmetic fixes with trigger messages --- internal/game/core_login_char.go | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'internal/game/core_login_char.go') 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) } } -- cgit v1.2.3