diff options
Diffstat (limited to 'internal/game/cmd_dig.go')
| -rw-r--r-- | internal/game/cmd_dig.go | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/internal/game/cmd_dig.go b/internal/game/cmd_dig.go index 1497c34..c58ba63 100644 --- a/internal/game/cmd_dig.go +++ b/internal/game/cmd_dig.go @@ -63,7 +63,7 @@ func (g *Game) executeDig(sess *net.Session, args []string, rawInput string) { sess.WriteLine("Error updating current room YAML.") return } - if err := os.WriteFile(curPath, curData, 0644); err != nil { + if err := writeRoomFile(curPath, curData); err != nil { sess.WriteLine("Error writing current room file.") return } @@ -75,7 +75,9 @@ func (g *Game) executeDig(sess *net.Session, args []string, rawInput string) { if ok { conflictData, cerr := yaml.Marshal(conflictRoom) if cerr == nil { - os.WriteFile(conflictPath, conflictData, 0644) + if werr := writeRoomFile(conflictPath, conflictData); werr != nil { + sess.WriteLine(fmt.Sprintf("Warning: could not link the opposite exit in room %d: %v", conflictID, werr)) + } } } } @@ -161,7 +163,7 @@ func (g *Game) executeDig(sess *net.Session, args []string, rawInput string) { sess.WriteLine("Error creating directory.") return } - if err := os.WriteFile(newPath, data, 0644); err != nil { + if err := writeRoomFile(newPath, data); err != nil { sess.WriteLine("Error writing room file.") return } @@ -174,7 +176,7 @@ func (g *Game) executeDig(sess *net.Session, args []string, rawInput string) { sess.WriteLine("Error updating current room YAML.") return } - if err := os.WriteFile(curPath, curData, 0644); err != nil { + if err := writeRoomFile(curPath, curData); err != nil { sess.WriteLine("Error writing current room file.") return } |
