diff options
| author | historia <[not public]> | 2026-06-29 01:57:32 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-06-29 01:57:32 -0400 |
| commit | 72dbe734015916f98020d6a617981956f0509e26 (patch) | |
| tree | 52dbe055604fe37fa995d8dea60a27441102320d /internal/game/cmd_room_object.go | |
| parent | 12ed73f9ff9de1a145683de8a73c170613371979 (diff) | |
| download | thehouseoficarus-72dbe734015916f98020d6a617981956f0509e26.tar.gz | |
fix: room addlocalobj command handles multi-word names and aliases
Diffstat (limited to 'internal/game/cmd_room_object.go')
| -rw-r--r-- | internal/game/cmd_room_object.go | 30 |
1 files changed, 11 insertions, 19 deletions
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 <name> <description>") - 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] <description>") + return + } + if desc == "" { + sess.WriteLine("Usage: room addlocalobj [name] <description>") 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 <name>") +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) |
