diff options
-rw-r--r-- | engines/titanic/game/idle_summoner.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/titanic/game/idle_summoner.cpp b/engines/titanic/game/idle_summoner.cpp index 28a73da020..d67c55f157 100644 --- a/engines/titanic/game/idle_summoner.cpp +++ b/engines/titanic/game/idle_summoner.cpp @@ -76,9 +76,17 @@ bool CIdleSummoner::TimerMsg(CTimerMsg *msg) { uint nodesCtr = getNodeChangedCtr(); if (msg->_actionVal == 1 && !petDoorOrBellbotPresent() && nodesCtr > 0 && nodesCtr != _oldNodesCtr) { + + // They can only appear in the Top of the Well and the Embarkation Lobby if (!compareRoomNameTo("TopOfWell") && !compareRoomNameTo("EmbLobby")) return true; + // WORKAROUND: To benefit the players, don't allow the bots to turn up + // when at the Embarkation SuccUBus or in front of the Deskbot's desk + CString fullName = getFullViewName(); + if (fullName == "EmbLobby.Node 2.W" || fullName == "EmbLobby.Node 4.E") + return true; + int region = talkGetDialRegion("BellBot", 1); uint delay = region == 1 ? 15000 : 120000; uint enterTicks = MAX(getNodeEnterTicks(), _ticks); |