From 72dbe734015916f98020d6a617981956f0509e26 Mon Sep 17 00:00:00 2001 From: historia <[not public]> Date: Mon, 29 Jun 2026 01:57:32 -0400 Subject: fix: room addlocalobj command handles multi-word names and aliases --- internal/game/cmd_room_object.go | 30 +++++++++++------------------- 1 file changed, 11 insertions(+), 19 deletions(-) (limited to 'internal/game/cmd_room_object.go') diff --git a/internal/game/cmd_room_object.go b/internal/game/cmd_room_object.go index f682d62..713a8f3 100644 --- a/internal/game/cmd_room_object.go +++ b/internal/game/cmd_room_object.go @@ -18,10 +18,6 @@ func (g *Game) roomObject(sess *net.Session, action string, args []string) { g.roomAddObj(sess, args) case "remobj": g.roomRemObj(sess, args) - case "addlocalobj": - g.roomAddLocalObj(sess, args) - case "remlocalobj": - g.roomRemLocalObj(sess, args) case "hide": g.roomHide(sess, args) case "unhide": @@ -86,17 +82,14 @@ func (g *Game) roomRemObj(sess *net.Session, args []string) { sess.WriteLine(fmt.Sprintf("Removed object '%s' from room.", objID)) } -func (g *Game) roomAddLocalObj(sess *net.Session, args []string) { - if len(args) < 2 { - sess.WriteLine("Usage: room addlocalobj ") - return - } - name := args[0] - desc := strings.Join(args[1:], " ") - +func (g *Game) roomAddLocalObj(sess *net.Session, name string, aliases []string, desc string) { normName := world.NormalizeObjectName(name) if normName == "" { - sess.WriteLine("Invalid object name.") + sess.WriteLine("Usage: room addlocalobj [name] ") + return + } + if desc == "" { + sess.WriteLine("Usage: room addlocalobj [name] ") return } @@ -119,7 +112,7 @@ func (g *Game) roomAddLocalObj(sess *net.Session, args []string) { Local: &object.ObjectDef{ Name: name, Description: behavior.DescList{{Text: desc}}, - Aliases: []string{name}, + Aliases: aliases, }, }) @@ -129,13 +122,12 @@ func (g *Game) roomAddLocalObj(sess *net.Session, args []string) { sess.WriteLine(fmt.Sprintf("Added local object '%s' to room.", name)) } -func (g *Game) roomRemLocalObj(sess *net.Session, args []string) { - if len(args) == 0 { - sess.WriteLine("Usage: room remlocalobj ") +func (g *Game) roomRemLocalObj(sess *net.Session, name string) { + normName := world.NormalizeObjectName(name) + if normName == "" { + sess.WriteLine("Usage: room remlocalobj [name]") return } - name := args[0] - normName := world.NormalizeObjectName(name) p := sess.Player room, _, err := g.loadRoomWrite(p) -- cgit v1.2.3