scummvm/engines/pegasus/scoring.h
2016-09-03 12:46:38 +02:00

282 lines
11 KiB
C++

/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* Additional copyright for this file:
* Copyright (C) 1995-1997 Presto Studios, Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
*/
#ifndef PEGASUS_SCORING_H
#define PEGASUS_SCORING_H
#include "pegasus/types.h"
namespace Pegasus {
/////////////////////////////////////////////
//
// Scoring.
static const CoordType kDeathScreenScoreLeft = 151;
static const CoordType kDeathScreenScoreTop = 212;
static const CoordType kDeathScreenScoreWidth = 124;
static const CoordType kDeathScreenScoreHeight = 12;
static const CoordType kDeathScreenScoreSkipVert = -16;
// Caldoria & TSA
static const GameScoreType kSawINNScore = 5;
static const GameScoreType kTookShowerScore = 2;
static const GameScoreType kFixedHairScore = 2;
static const GameScoreType kGotKeyCardScore = 5;
static const GameScoreType kReadPaperScore = 2;
static const GameScoreType kLookThroughTelescopeScore = 2;
static const GameScoreType kSawCaldoriaKioskScore = 2;
static const GameScoreType kGoToTSAScore = 3;
static const GameScoreType kEnterTSAScore = 2;
static const GameScoreType kSawBust1Score = 2;
static const GameScoreType kSawBust2Score = 2;
static const GameScoreType kSawBust3Score = 2;
static const GameScoreType kSawBust4Score = 2;
static const GameScoreType kSawBust5Score = 2;
static const GameScoreType kSawBust6Score = 2;
static const GameScoreType kSawTheoryScore = 4;
static const GameScoreType kSawBackgroundScore = 4;
static const GameScoreType kSawProcedureScore = 4;
static const GameScoreType kGotJourneymanKeyScore = 5;
static const GameScoreType kGotPegasusBiochipScore = 5;
static const GameScoreType kGotBiosuitScore = 5;
static const GameScoreType kGoToPrehistoricScore = 5;
static const GameScoreType kPutLogInReaderScore = 5;
static const GameScoreType kSawCaldoriaNormalScore = 2;
static const GameScoreType kSawCaldoriaAlteredScore = 2;
static const GameScoreType kSawNoradNormalScore = 2;
static const GameScoreType kSawNoradAlteredScore = 2;
static const GameScoreType kSawMarsNormalScore = 2;
static const GameScoreType kSawMarsAlteredScore = 2;
static const GameScoreType kSawWSCNormalScore = 2;
static const GameScoreType kSawWSCAlteredScore = 2;
static const GameScoreType kWentToReadyRoom2Score = 5;
static const GameScoreType kWentAfterSinclairScore = 5;
static const GameScoreType kUsedCardBombScore = 10;
static const GameScoreType kShieldedCardBombScore = 5;
static const GameScoreType kStunnedSinclairScore = 10;
static const GameScoreType kDisarmedNukeScore = 10;
static const GameScoreType kMaxCaldoriaTSAScoreBefore = kSawINNScore +
kTookShowerScore +
kFixedHairScore +
kGotKeyCardScore +
kReadPaperScore +
kLookThroughTelescopeScore +
kSawCaldoriaKioskScore +
kGoToTSAScore +
kEnterTSAScore +
kSawBust1Score +
kSawBust2Score +
kSawBust3Score +
kSawBust4Score +
kSawBust5Score +
kSawBust6Score +
kSawTheoryScore +
kSawBackgroundScore +
kSawProcedureScore +
kGotJourneymanKeyScore +
kGotPegasusBiochipScore +
kGotBiosuitScore +
kGoToPrehistoricScore +
kPutLogInReaderScore +
kSawCaldoriaNormalScore +
kSawCaldoriaAlteredScore +
kSawNoradNormalScore +
kSawNoradAlteredScore +
kSawMarsNormalScore +
kSawMarsAlteredScore +
kSawWSCNormalScore +
kSawWSCAlteredScore +
kWentToReadyRoom2Score;
static const GameScoreType kMaxCaldoriaTSAScoreAfter = kWentAfterSinclairScore +
kUsedCardBombScore +
kShieldedCardBombScore +
kStunnedSinclairScore +
kDisarmedNukeScore;
static const GameScoreType kMaxCaldoriaTSAScore = kMaxCaldoriaTSAScoreBefore +
kMaxCaldoriaTSAScoreAfter;
// Prehistoric
static const GameScoreType kThrewBreakerScore = 10;
static const GameScoreType kExtendedBridgeScore = 10;
static const GameScoreType kGotHistoricalLogScore = 5;
static const GameScoreType kFinishedPrehistoricScore = 10;
static const GameScoreType kMaxPrehistoricScore = kThrewBreakerScore +
kExtendedBridgeScore +
kGotHistoricalLogScore +
kFinishedPrehistoricScore;
// Mars
static const GameScoreType kThrownByRobotScore = 3;
static const GameScoreType kGotMarsCardScore = 5;
static const GameScoreType kSawMarsKioskScore = 2;
static const GameScoreType kSawTransportMapScore = 2;
static const GameScoreType kGotCrowBarScore = 5;
static const GameScoreType kTurnedOnTransportScore = 5;
static const GameScoreType kGotOxygenMaskScore = 5;
static const GameScoreType kAvoidedRobotScore = 5;
static const GameScoreType kActivatedPlatformScore = 2;
static const GameScoreType kUsedLiquidNitrogenScore = 3;
static const GameScoreType kUsedCrowBarScore = 3;
static const GameScoreType kFoundCardBombScore = 4;
static const GameScoreType kDisarmedCardBombScore = 8;
static const GameScoreType kGotCardBombScore = 5;
static const GameScoreType kThreadedMazeScore = 5;
static const GameScoreType kThreadedGearRoomScore = 2;
static const GameScoreType kEnteredShuttleScore = 2;
static const GameScoreType kEnteredLaunchTubeScore = 4;
static const GameScoreType kStoppedRobotsShuttleScore = 10;
static const GameScoreType kGotMarsOpMemChipScore = 10;
static const GameScoreType kFinishedMarsScore = 10;
static const GameScoreType kMaxMarsScore = kThrownByRobotScore +
kGotMarsCardScore +
kSawMarsKioskScore +
kSawTransportMapScore +
kGotCrowBarScore +
kTurnedOnTransportScore +
kGotOxygenMaskScore +
kAvoidedRobotScore +
kActivatedPlatformScore +
kUsedLiquidNitrogenScore +
kUsedCrowBarScore +
kFoundCardBombScore +
kDisarmedCardBombScore +
kGotCardBombScore +
kThreadedMazeScore +
kThreadedGearRoomScore +
kEnteredShuttleScore +
kEnteredLaunchTubeScore +
kStoppedRobotsShuttleScore +
kGotMarsOpMemChipScore +
kFinishedMarsScore;
// Norad
static const GameScoreType kSawSecurityMonitorScore = 5;
static const GameScoreType kFilledOxygenCanisterScore = 5;
static const GameScoreType kFilledArgonCanisterScore = 5;
static const GameScoreType kSawUnconsciousOperatorScore = 5;
static const GameScoreType kWentThroughPressureDoorScore = 5;
static const GameScoreType kPreppedSubScore = 5;
static const GameScoreType kEnteredSubScore = 5;
static const GameScoreType kExitedSubScore = 10;
static const GameScoreType kSawRobotAt54NorthScore = 5;
static const GameScoreType kPlayedWithClawScore = 5;
static const GameScoreType kUsedRetinalChipScore = 5;
static const GameScoreType kFinishedGlobeGameScore = 10;
static const GameScoreType kStoppedNoradRobotScore = 10;
static const GameScoreType kGotNoradOpMemChipScore = 10;
static const GameScoreType kFinishedNoradScore = 10;
static const GameScoreType kMaxNoradScore = kSawSecurityMonitorScore +
kFilledOxygenCanisterScore +
kFilledArgonCanisterScore +
kSawUnconsciousOperatorScore +
kWentThroughPressureDoorScore +
kPreppedSubScore +
kEnteredSubScore +
kExitedSubScore +
kSawRobotAt54NorthScore +
kPlayedWithClawScore +
kUsedRetinalChipScore +
kFinishedGlobeGameScore +
kStoppedNoradRobotScore +
kGotNoradOpMemChipScore +
kFinishedNoradScore;
// WSC
static const GameScoreType kRemovedDartScore = 5;
static const GameScoreType kAnalyzedDartScore = 5;
static const GameScoreType kBuiltAntidoteScore = 5;
static const GameScoreType kGotSinclairKeyScore = 5;
static const GameScoreType kGotArgonCanisterScore = 5;
static const GameScoreType kGotNitrogenCanisterScore = 5;
static const GameScoreType kPlayedWithMessagesScore = 2;
static const GameScoreType kSawMorphExperimentScore = 3;
static const GameScoreType kEnteredSinclairOfficeScore = 2;
static const GameScoreType kSawBrochureScore = 3;
static const GameScoreType kSawSinclairEntry1Score = 3;
static const GameScoreType kSawSinclairEntry2Score = 3;
static const GameScoreType kSawSinclairEntry3Score = 3;
static const GameScoreType kSawWSCDirectoryScore = 3;
static const GameScoreType kUsedCrowBarInWSCScore = 5;
static const GameScoreType kFinishedPlasmaDodgeScore = 10;
static const GameScoreType kOpenedCatwalkScore = 3;
static const GameScoreType kStoppedWSCRobotScore = 10;
static const GameScoreType kGotWSCOpMemChipScore = 10;
static const GameScoreType kFinishedWSCScore = 10;
static const GameScoreType kMaxWSCScore = kRemovedDartScore +
kAnalyzedDartScore +
kBuiltAntidoteScore +
kGotSinclairKeyScore +
kGotArgonCanisterScore +
kGotNitrogenCanisterScore +
kPlayedWithMessagesScore +
kSawMorphExperimentScore +
kEnteredSinclairOfficeScore +
kSawBrochureScore +
kSawSinclairEntry1Score +
kSawSinclairEntry2Score +
kSawSinclairEntry3Score +
kSawWSCDirectoryScore +
kUsedCrowBarInWSCScore +
kFinishedPlasmaDodgeScore +
kOpenedCatwalkScore +
kStoppedWSCRobotScore +
kGotWSCOpMemChipScore +
kFinishedWSCScore;
// Gandhi
static const GameScoreType kMarsGandhiScore = 10;
static const GameScoreType kNoradGandhiScore = 10;
static const GameScoreType kWSCGandhiScore = 10;
static const GameScoreType kMaxGandhiScore = kMarsGandhiScore +
kNoradGandhiScore +
kWSCGandhiScore;
static const GameScoreType kMaxTotalScore = kMaxCaldoriaTSAScore +
kMaxPrehistoricScore +
kMaxMarsScore +
kMaxNoradScore +
kMaxWSCScore +
kMaxGandhiScore;
} // End of namespace Pegasus
#endif