diff --git a/NEWS b/NEWS index bf18af39102..f6d4977f258 100644 --- a/NEWS +++ b/NEWS @@ -103,6 +103,7 @@ For a more comprehensive changelog for the latest experimental SVN code, see: - Fixed bug where Goewin could get stuck in the Weregate - Fixed issue with Ratpouch repeatedly moving between two rooms - Fix for Goewin losing her schedule after Were-cave + - Fix for player getting stuck in sewer exit room Parallaction: - Made part one of The Big Red Adventure completable. diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index 65a12981d83..30b6f840fcc 100644 --- a/engines/lure/hotspots.cpp +++ b/engines/lure/hotspots.cpp @@ -3133,8 +3133,14 @@ void HotspotTickHandlers::followerAnimHandler(Hotspot &h) { const RoomTranslationRecord *p = &roomTranslations[0]; while ((p->srcRoom != 0) && (p->srcRoom != player->roomNumber())) ++p; - h.currentActions().addFront(DISPATCH_ACTION, - (p->srcRoom != 0) ? p->destRoom : player->roomNumber()); + + if (p->destRoom == h.roomNumber()) + // Character is already in destination room, so set a random dest + h.setRandomDest(); + else + // Move character to either the player's room, or found alternate destination + h.currentActions().addFront(DISPATCH_ACTION, + (p->srcRoom != 0) ? p->destRoom : player->roomNumber()); } } }