aboutsummaryrefslogtreecommitdiff
path: root/internal/game/core_login_char.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-25 21:23:34 -0400
committerhistoria <[not public]>2026-06-25 21:23:34 -0400
commite2d5b081f27141bb3dd89dbe595860b8a1345d55 (patch)
tree3090f8150580fe85a872caa04165ff70613bbaa8 /internal/game/core_login_char.go
parent84d74ca4351a97148ad8339676f9df7946bc21fb (diff)
downloadthehouseoficarus-e2d5b081f27141bb3dd89dbe595860b8a1345d55.tar.gz
feat: on_enter features ported over to triggers, cosmetic fixes with trigger messages
Diffstat (limited to 'internal/game/core_login_char.go')
-rw-r--r--internal/game/core_login_char.go12
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)
}
}