diff options
Diffstat (limited to 'engines/lure/res.cpp')
-rw-r--r-- | engines/lure/res.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/lure/res.cpp b/engines/lure/res.cpp index f8b29d4dd6..4342a1d6ad 100644 --- a/engines/lure/res.cpp +++ b/engines/lure/res.cpp @@ -625,12 +625,16 @@ Hotspot *Resources::activateHotspot(uint16 hotspotId) { CharacterScheduleEntry *entry = resources.charSchedules().getEntry(res->npcScheduleId); res->npcSchedule.addFront(DISPATCH_ACTION, entry, res->roomNumber); } - if ((hotspotId == GOEWIN_ID) && (hotspot->roomNumber() == 39)) + if ((hotspotId == GOEWIN_ID) && (hotspot->roomNumber() == 39)) { // WORKAROUND: When you re-join Goewin in the caves, clear her schedule. This may prevent a // situation where you could close the left door, and she'd be permanently stuck trying to go // the next room on the left, since her old schedule still had her following your old path hotspot->currentActions().clear(); + // Since she's no longer a follower, clear her start room field + hotspot->setStartRoomNumber(0); + } + // TODO: Figure out why there's a room set in the animation decode for a range of characters, // particularly since it doesn't seem to match what happens in-game /* |