diff options
Diffstat (limited to 'engines/lure/hotspots.cpp')
-rw-r--r-- | engines/lure/hotspots.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/lure/hotspots.cpp b/engines/lure/hotspots.cpp index a40eaaddfb..ca89af2af9 100644 --- a/engines/lure/hotspots.cpp +++ b/engines/lure/hotspots.cpp @@ -4022,8 +4022,10 @@ void HotspotTickHandlers::npcRoomChange(Hotspot &h) { if (h.currentActions().size() > 1) { // Pending items on stack if (h.startRoomNumber() != 0) { - if (h.currentActions().top().supportData().id() != RETURN_SUPPORT_ID) { - h.currentActions().top().supportData().setDetails(RETURN, 0); + if (!h.currentActions().bottom().hasSupportData() || (h.currentActions().bottom().action() != RETURN)) { + // Signal character to return + h.currentActions().clear(); + h.currentActions().addFront(RETURN, h.startRoomNumber(), 0, 0); } } h.currentActions().top().setRoomNumber(h.roomNumber()); |