aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus
diff options
context:
space:
mode:
authorMatthew Hoops2012-09-20 19:45:01 -0400
committerMatthew Hoops2012-09-20 19:45:01 -0400
commitb0079f4fa67099cec2c58e7907bf3fe09d0755cf (patch)
treeac3b1af1c925d6905daf370f93772089b032443b /engines/pegasus
parent2e4ee0b2d0f687deb16ca18691042de1a21d7410 (diff)
downloadscummvm-rg350-b0079f4fa67099cec2c58e7907bf3fe09d0755cf.tar.gz
scummvm-rg350-b0079f4fa67099cec2c58e7907bf3fe09d0755cf.tar.bz2
scummvm-rg350-b0079f4fa67099cec2c58e7907bf3fe09d0755cf.zip
PEGASUS: Prevent recalling from Prehistoric without the historical log
Fixes an original game bug
Diffstat (limited to 'engines/pegasus')
-rw-r--r--engines/pegasus/items/biochips/pegasuschip.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/engines/pegasus/items/biochips/pegasuschip.cpp b/engines/pegasus/items/biochips/pegasuschip.cpp
index c0c3f6bb9e..8862271147 100644
--- a/engines/pegasus/items/biochips/pegasuschip.cpp
+++ b/engines/pegasus/items/biochips/pegasuschip.cpp
@@ -113,6 +113,12 @@ void PegasusChip::setUpPegasusChipRude() {
void PegasusChip::activatePegasusHotspots() {
switch (GameState.getCurrentNeighborhood()) {
case kPrehistoricID:
+ // WORKAROUND: Don't allow the player to recall if they don't have
+ // the historical log. Otherwise, gameplay is broken when returning
+ // to the TSA.
+ if (!((PegasusEngine *)g_engine)->playerHasItemID(kHistoricalLog))
+ return;
+ // fall through
case kMarsID:
case kWSCID:
case kNoradAlphaID: