aboutsummaryrefslogtreecommitdiff
path: root/internal/game/act_talk.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/act_talk.go')
-rw-r--r--internal/game/act_talk.go30
1 files changed, 15 insertions, 15 deletions
diff --git a/internal/game/act_talk.go b/internal/game/act_talk.go
index dfa7b94..ef3c6e5 100644
--- a/internal/game/act_talk.go
+++ b/internal/game/act_talk.go
@@ -65,7 +65,7 @@ func (g *Game) handleNodeAction(sess *net.Session, na *behavior.Step) (intercept
if td, ok := p.Action.Data.(*behavior.TalkData); ok && td.StealGuard {
guardMob := g.findGuardInRoom(p.RoomID, "guard")
if guardMob != nil {
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
g.cancelAction(p)
guardMob.Protected = false
g.startCombat(sess, p, guardMob)
@@ -103,7 +103,7 @@ func (g *Game) showTalkNode(sess *net.Session, node behavior.TalkNode) {
}
td.SeqIndex = 1
if td.SeqIndex < len(node.Messages) {
- sess.State = net.StateTalkSequence
+ sess.SetState(net.StateTalkSequence)
sess.Write(g.colorize(sess, "dialog_options", "[enter to continue]\n"))
return
}
@@ -119,7 +119,7 @@ func (g *Game) showTalkNode(sess *net.Session, node behavior.TalkNode) {
for i, opt := range visible {
sess.WriteLine(fmt.Sprintf(" %d. %s", i+1, g.expandDialogTags(sess, g.resolveColor(sess, "dialog_options"), opt.Text)))
}
- sess.State = net.StateTalk
+ sess.SetState(net.StateTalk)
g.reprompt(sess)
return
}
@@ -138,7 +138,7 @@ func (g *Game) showTalkNode(sess *net.Session, node behavior.TalkNode) {
}
}
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
g.writePrompt(sess)
}
@@ -159,7 +159,7 @@ func (g *Game) finishSequence(sess *net.Session, node behavior.TalkNode) {
for i, opt := range visible {
sess.WriteLine(fmt.Sprintf(" %d. %s", i+1, g.expandDialogTags(sess, g.resolveColor(sess, "dialog_options"), opt.Text)))
}
- sess.State = net.StateTalk
+ sess.SetState(net.StateTalk)
g.reprompt(sess)
return
}
@@ -175,13 +175,13 @@ func (g *Game) finishSequence(sess *net.Session, node behavior.TalkNode) {
}
g.cancelAction(sess.Player)
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
}
func (g *Game) handleTalkInput(sess *net.Session, input string) {
p := sess.Player
if p == nil || p.Action == nil || p.Action.Type != behavior.TypeTalk {
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
g.writePrompt(sess)
return
}
@@ -193,17 +193,17 @@ func (g *Game) handleTalkInput(sess *net.Session, input string) {
td, ok := p.Action.Data.(*behavior.TalkData)
if !ok || td.Cfg == nil {
g.cancelAction(p)
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
g.writePrompt(sess)
return
}
input = strings.TrimSpace(input)
- if input == "" && sess.State != net.StateTalkSequence {
+ if input == "" && sess.State() != net.StateTalkSequence {
input = "1"
}
- if sess.State == net.StateTalkSequence {
+ if sess.State() == net.StateTalkSequence {
_, ok := td.Cfg.Nodes[td.Node]
if !ok {
td.CancelTalk = true
@@ -270,14 +270,14 @@ func (g *Game) advanceTalk(sess *net.Session, p *player.Player) {
td, ok := p.Action.Data.(*behavior.TalkData)
if !ok || td.Cfg == nil {
g.cancelAction(p)
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
return
}
if td.CancelTalk {
sess.WriteLine("You leave the conversation.")
g.cancelAction(p)
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
return
}
@@ -286,7 +286,7 @@ func (g *Game) advanceTalk(sess *net.Session, p *player.Player) {
node, ok := td.Cfg.Nodes[td.Node]
if !ok {
g.cancelAction(p)
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
return
}
dialogSpec := g.resolveColor(sess, "dialog")
@@ -301,7 +301,7 @@ func (g *Game) advanceTalk(sess *net.Session, p *player.Player) {
g.finishSequence(sess, node)
return
}
- sess.State = net.StateTalkSequence
+ sess.SetState(net.StateTalkSequence)
sess.Write("[enter to continue]\n")
return
}
@@ -325,7 +325,7 @@ func (g *Game) advanceTalk(sess *net.Session, p *player.Player) {
}
}
g.cancelAction(p)
- sess.State = net.StateGame
+ sess.SetState(net.StateGame)
return
}
}