diff options
Diffstat (limited to 'engines/pegasus/neighborhood/prehistoric/prehistoric.cpp')
-rw-r--r-- | engines/pegasus/neighborhood/prehistoric/prehistoric.cpp | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp b/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp index d62b069e46..190984f8bc 100644 --- a/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp +++ b/engines/pegasus/neighborhood/prehistoric/prehistoric.cpp @@ -124,11 +124,6 @@ void Prehistoric::setUpAIRules() { AIHasItemCondition *hasLogCondition = new AIHasItemCondition(kHistoricalLog); AIRule *rule = new AIRule(hasLogCondition, doneAction); g_AIArea->addAIRule(rule); - } else { - AIPlayMessageAction *messageAction = new AIPlayMessageAction("Images/AI/Prehistoric/XP25W", false); - AIHasItemCondition *hasLogCondition = new AIHasItemCondition(kHistoricalLog); - AIRule *rule = new AIRule(hasLogCondition, messageAction); - g_AIArea->addAIRule(rule); } if (!_vm->isOldDemo()) { @@ -167,6 +162,13 @@ void Prehistoric::setUpAIRules() { rule = new AIRule(timerCondition, messageAction); g_AIArea->addAIRule(rule); } + + if (!_vm->isDemo()) { + AIPlayMessageAction *messageAction = new AIPlayMessageAction("Images/AI/Prehistoric/XP25W", false); + AIHasItemCondition *hasLogCondition = new AIHasItemCondition(kHistoricalLog); + AIRule *rule = new AIRule(hasLogCondition, messageAction); + g_AIArea->addAIRule(rule); + } } } @@ -202,11 +204,11 @@ TimeValue Prehistoric::getViewTime(const RoomID room, const DirectionConstant di void Prehistoric::findSpotEntry(const RoomID room, const DirectionConstant direction, SpotFlags flags, SpotTable::Entry &entry) { Neighborhood::findSpotEntry(room, direction, flags, entry); + // The original strangely disabled the loop for the two volcano spots: + // (kPrehistoric01, kSouth) and (kPrehistoric25, kSouth) + // We don't do that here. + switch (MakeRoomView(room, direction)) { - case MakeRoomView(kPrehistoric01, kSouth): - case MakeRoomView(kPrehistoric25, kSouth): - entry.clear(); - break; case MakeRoomView(kPrehistoric01, kEast): if (GameState.getPrehistoricSeenFlyer1()) entry.clear(); |