aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_registry.go
diff options
context:
space:
mode:
authorworkhorse <workhorse@localhost.localdomain>2026-06-19 20:24:52 -0400
committerworkhorse <workhorse@localhost.localdomain>2026-06-19 20:24:52 -0400
commit8ee8982b8759bcae116647cc993867f4c8b0a6ce (patch)
treeee01f7b1d745cbc94d9981108a1209527487b3e5 /internal/game/cmd_registry.go
parent2bec24859af8f03c80a0a58e3240519942450167 (diff)
downloadthehouseoficarus-8ee8982b8759bcae116647cc993867f4c8b0a6ce.tar.gz
reorganized items, objects, and rooms in directories. oranized module names. added startup checks.
Diffstat (limited to 'internal/game/cmd_registry.go')
-rw-r--r--internal/game/cmd_registry.go26
1 files changed, 26 insertions, 0 deletions
diff --git a/internal/game/cmd_registry.go b/internal/game/cmd_registry.go
index e5bf30e..0439cc2 100644
--- a/internal/game/cmd_registry.go
+++ b/internal/game/cmd_registry.go
@@ -168,3 +168,29 @@ func (g *Game) executeCommand(sess *net.Session, cmd string, args []string, rawI
sess.WriteLine("Unknown command.")
}
+
+func (g *Game) executeGather(sess *net.Session, args []string, rawInput string) {
+ verb := strings.TrimSpace(rawInput)
+ p := sess.Player
+ g.cancelAction(p)
+ if len(args) == 0 {
+ target := g.resolveDefaultTarget(p.RoomID, verb)
+ if target == "" {
+ sess.WriteLine(fmt.Sprintf("%s what?", verb))
+ return
+ }
+ g.startAction(sess, verb, target)
+ } else {
+ g.startAction(sess, verb, strings.Join(args, " "))
+ }
+}
+
+func (g *Game) executeTalk(sess *net.Session, args []string, rawInput string) {
+ p := sess.Player
+ g.cancelAction(p)
+ if len(args) == 0 {
+ sess.WriteLine("Talk to whom?")
+ } else {
+ g.startAction(sess, "talk", strings.Join(args, " "))
+ }
+}