From 61afea6cbe527b0c4dedc587e1beb4568f7d379d Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 5 Oct 2010 09:14:18 +0000 Subject: [PATCH] LURE: Bugfix for #3060480 - Ratpouch alternating between rooms svn-id: r53026 --- NEWS | 4 ++++ engines/lure/hotspots.cpp | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/NEWS b/NEWS index 02b8650cf5a..c1818948e0c 100644 --- a/NEWS +++ b/NEWS @@ -94,6 +94,10 @@ For a more comprehensive changelog for the latest experimental SVN code, see: - Implemented formerly missing recreation of some in game items. - Added support for playing Kyrandia 3 with the original CD file layout. + LURE: + - Fixed bug where Goewin could get stuck in the Weregate + - Fixed issue with Ratpouch repeatedly moving between two rooms + Parallaction: - Made part one of The Big Red Adventure completable. diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index a84a84b51f3..65a12981d83 100644 --- a/engines/lure/hotspots.cpp +++ b/engines/lure/hotspots.cpp @@ -4032,12 +4032,14 @@ void HotspotTickHandlers::npcRoomChange(Hotspot &h) { if (!h.currentActions().isEmpty()) { if (h.startRoomNumber() != 0) { - // If character isn't already returning to starting room, start them doing so + // If character isn't already returning to starting room, redirect them to the + // player's current room if (!h.currentActions().bottom().hasSupportData() || (h.currentActions().bottom().supportData().action() != RETURN)) { // Start follower returning + Hotspot *playerHotspot = res.getActiveHotspot(PLAYER_ID); h.currentActions().clear(); - h.currentActions().addFront(RETURN, h.startRoomNumber(), 0, 0); + h.currentActions().addFront(RETURN, playerHotspot->roomNumber(), 0, 0); } }