aboutsummaryrefslogtreecommitdiff
path: root/internal/game/cmd_room_mob.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/game/cmd_room_mob.go')
-rw-r--r--internal/game/cmd_room_mob.go11
1 files changed, 2 insertions, 9 deletions
diff --git a/internal/game/cmd_room_mob.go b/internal/game/cmd_room_mob.go
index ce729d4..5adc4b2 100644
--- a/internal/game/cmd_room_mob.go
+++ b/internal/game/cmd_room_mob.go
@@ -3,7 +3,6 @@ package game
import (
"fmt"
- "gopkg.in/yaml.v3"
"thehouseoficarus/internal/net"
"thehouseoficarus/internal/world"
)
@@ -41,10 +40,7 @@ func (g *Game) roomAddMob(sess *net.Session, args []string) {
}
room.Mobs = append(room.Mobs, world.RoomMob{ID: mobID})
- path, _ := g.World.GetRoomPath(p.RoomID)
- data, _ := yaml.Marshal(room)
- if err := writeRoomFile(path, data); err != nil {
- sess.WriteLine(fmt.Sprintf("Error saving room: %v", err))
+ if !g.mutateRoom(sess, func(r *world.Room) { *r = *room }) {
return
}
sess.WriteLine(fmt.Sprintf("Added mob '%s' to room.", mobID))
@@ -77,10 +73,7 @@ func (g *Game) roomRemMob(sess *net.Session, args []string) {
}
room.Mobs = filtered
- path, _ := g.World.GetRoomPath(p.RoomID)
- data, _ := yaml.Marshal(room)
- if err := writeRoomFile(path, data); err != nil {
- sess.WriteLine(fmt.Sprintf("Error saving room: %v", err))
+ if !g.mutateRoom(sess, func(r *world.Room) { *r = *room }) {
return
}
sess.WriteLine(fmt.Sprintf("Removed mob '%s' from room.", mobID))