diff options
author | Matthew Hoops | 2013-04-12 15:05:02 -0400 |
---|---|---|
committer | Matthew Hoops | 2013-04-12 15:06:14 -0400 |
commit | 78f5e986cee705fa0833227d202f2563df07e8f9 (patch) | |
tree | b43f8e37dd9d8af07a9bd67885ef9d391cceb898 /engines/pegasus/neighborhood | |
parent | d500845de372f5d9231a24c17065a37508006bd9 (diff) | |
download | scummvm-rg350-78f5e986cee705fa0833227d202f2563df07e8f9.tar.gz scummvm-rg350-78f5e986cee705fa0833227d202f2563df07e8f9.tar.bz2 scummvm-rg350-78f5e986cee705fa0833227d202f2563df07e8f9.zip |
PEGASUS: Add a workaround in case the player doesn't get the card bomb
Diffstat (limited to 'engines/pegasus/neighborhood')
-rw-r--r-- | engines/pegasus/neighborhood/mars/mars.cpp | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/engines/pegasus/neighborhood/mars/mars.cpp b/engines/pegasus/neighborhood/mars/mars.cpp index 959eaa0a70..aa7ccd596c 100644 --- a/engines/pegasus/neighborhood/mars/mars.cpp +++ b/engines/pegasus/neighborhood/mars/mars.cpp @@ -1035,7 +1035,6 @@ void Mars::checkContinuePoint(const RoomID room, const DirectionConstant directi case MakeRoomView(kMars51, kEast): case MakeRoomView(kMars56, kEast): case MakeRoomView(kMars60, kWest): - case MakeRoomView(kMarsMaze004, kWest): case MakeRoomView(kMarsMaze009, kWest): case MakeRoomView(kMarsMaze012, kWest): case MakeRoomView(kMarsMaze037, kWest): @@ -1059,6 +1058,11 @@ void Mars::checkContinuePoint(const RoomID room, const DirectionConstant directi case MakeRoomView(kMarsMaze199, kWest): makeContinuePoint(); break; + case MakeRoomView(kMarsMaze004, kWest): + // WORKAROUND: See Mars::arriveAt() for more details. + if (GameState.isTakenItemID(kCardBomb)) + makeContinuePoint(); + break; case MakeRoomView(kMars05, kEast): case MakeRoomView(kMars06, kEast): case MakeRoomView(kMars07, kEast): @@ -1393,6 +1397,13 @@ void Mars::arriveAt(const RoomID room, const DirectionConstant direction) { case MakeRoomView(kMarsRobotShuttle, kEast): setCurrentActivation(kActivationRobotHeadClosed); break; + case MakeRoomView(kMarsMaze004, kWest): + // WORKAROUND: You're not supposed to continue through the maze without the + // bomb or the game will not be completable. We're using the previously unused + // bomb death here to prevent progress (you didn't find the bomb, after all). + if (!GameState.isTakenItemID(kCardBomb)) + didntFindBomb(); + break; case MakeRoomView(kMarsMaze007, kNorth): launchMaze007Robot(); break; |