aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_room.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/cmd_room.go')
-rw-r--r--internal/game/cmd_room.go12
1 files changed, 4 insertions, 8 deletions
diff --git a/internal/game/cmd_room.go b/internal/game/cmd_room.go
index 33627eb..8a76e81 100644
--- a/internal/game/cmd_room.go
+++ b/internal/game/cmd_room.go
@@ -37,10 +37,10 @@ func (g *Game) executeRoom(sess *net.Session, args []string, rawInput string) {
case "addobj", "remobj", "hide", "unhide":
g.roomObject(sess, action, rest)
case "addlocalobj":
- name, aliases, desc := parseLocalObjArgs(rawInput, "addlocalobj")
+ name, aliases, desc := parseLocalObjArgs(strings.Join(rawArgsFrom(rawInput, "room")[1:], " "))
g.roomAddLocalObj(sess, name, aliases, desc)
case "remlocalobj":
- name, _, _ := parseLocalObjArgs(rawInput, "remlocalobj")
+ name, _, _ := parseLocalObjArgs(strings.Join(rawArgsFrom(rawInput, "room")[1:], " "))
g.roomRemLocalObj(sess, name)
case "addmob", "remmob":
g.roomMob(sess, action, rest)
@@ -162,12 +162,8 @@ func (g *Game) loadRoomWrite(p *player.Player) (*world.Room, string, error) {
return room, path, nil
}
-func parseLocalObjArgs(rawInput, action string) (name string, aliases []string, desc string) {
- prefix := "room " + action
- rest := rawInput
- if idx := strings.Index(strings.ToLower(rest), prefix); idx >= 0 {
- rest = strings.TrimSpace(rest[idx+len(prefix):])
- }
+func parseLocalObjArgs(rest string) (name string, aliases []string, desc string) {
+ rest = strings.TrimSpace(rest)
if rest == "" {
return "", nil, ""
}