aboutsummaryrefslogtreecommitdiff
path: root/internal/world/objects.go
diff options
context:
space:
mode:
authorhistoria <[not public]>2026-09-18 20:03:13 -0400
committerhistoria <[not public]>2026-09-18 20:03:13 -0400
commit79764732406d6484f67d3dec045483dcb5d08c28 (patch)
tree7a64e8581a540b97ed554f5723e2d587424ab1c6 /internal/world/objects.go
parentf1e461ab6aec6b9bf056bbe2daa88a251e0f21da (diff)
downloadthehouseoficarus-79764732406d6484f67d3dec045483dcb5d08c28.tar.gz
feat: better card ascii art
Diffstat (limited to 'internal/world/objects.go')
-rw-r--r--internal/world/objects.go7
1 files changed, 7 insertions, 0 deletions
diff --git a/internal/world/objects.go b/internal/world/objects.go
index 849c47a..fa17f08 100644
--- a/internal/world/objects.go
+++ b/internal/world/objects.go
@@ -308,6 +308,13 @@ func (w *World) TickObjWander() {
if toRoom == st.RoomID {
continue
}
+ // A wander_rooms entry may point at a room that was since deleted.
+ // Moving there would strand the object in a nonexistent room, so
+ // leave it where it is. (roomPathIndex is read under w.mu, which
+ // this method already holds; LoadRoom would deadlock here.)
+ if _, ok := w.roomPathIndex[toRoom]; !ok {
+ continue
+ }
moves = append(moves, struct {
st *ObjState
toRoom int