aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_room_object.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-06-29 01:57:32 -0400
committerhistoria <[not public]>2026-06-29 01:57:32 -0400
commit72dbe734015916f98020d6a617981956f0509e26 (patch)
tree52dbe055604fe37fa995d8dea60a27441102320d /internal/game/cmd_room_object.go
parent12ed73f9ff9de1a145683de8a73c170613371979 (diff)
downloadthehouseoficarus-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.go30
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)