From b15f51ad7b5e8e85afe970c1740aae566236afe6 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Wed, 6 Oct 2010 09:55:41 +0000 Subject: LURE: Fix for #3062794 - Diermot cannot leave room 7 svn-id: r53039 --- engines/lure/hotspots.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'engines') diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index 65a12981d8..30b6f840fc 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()); } } } -- cgit v1.2.3