diff options
| author | historia <[not public]> | 2026-09-18 20:03:13 -0400 |
|---|---|---|
| committer | historia <[not public]> | 2026-09-18 20:03:13 -0400 |
| commit | 79764732406d6484f67d3dec045483dcb5d08c28 (patch) | |
| tree | 7a64e8581a540b97ed554f5723e2d587424ab1c6 /internal/world/objects.go | |
| parent | f1e461ab6aec6b9bf056bbe2daa88a251e0f21da (diff) | |
| download | thehouseoficarus-79764732406d6484f67d3dec045483dcb5d08c28.tar.gz | |
feat: better card ascii art
Diffstat (limited to 'internal/world/objects.go')
| -rw-r--r-- | internal/world/objects.go | 7 |
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 |
