ScummVM API documentation
scoring.h
1/* ScummVM - Graphic Adventure Engine
2 *
3 * ScummVM is the legal property of its developers, whose names
4 * are too numerous to list here. Please refer to the COPYRIGHT
5 * file distributed with this source distribution.
6 *
7 * Additional copyright for this file:
8 * Copyright (C) 1995-1997 Presto Studios, Inc.
9 *
10 * This program is free software: you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License as published by
12 * the Free Software Foundation, either version 3 of the License, or
13 * (at your option) any later version.
14 *
15 * This program is distributed in the hope that it will be useful,
16 * but WITHOUT ANY WARRANTY; without even the implied warranty of
17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18 * GNU General Public License for more details.
19 *
20 * You should have received a copy of the GNU General Public License
21 * along with this program. If not, see <http://www.gnu.org/licenses/>.
22 *
23 */
24
25#ifndef PEGASUS_SCORING_H
26#define PEGASUS_SCORING_H
27
28#include "pegasus/types.h"
29
30namespace Pegasus {
31
33//
34// Scoring.
35
36static const CoordType kDeathScreenScoreLeft = 151;
37static const CoordType kDeathScreenScoreTop = 212;
38static const CoordType kDeathScreenScoreWidth = 124;
39static const CoordType kDeathScreenScoreHeight = 12;
40static const CoordType kDeathScreenScoreSkipVert = -16;
41
42// Caldoria & TSA
43
44static const GameScoreType kSawINNScore = 5;
45static const GameScoreType kTookShowerScore = 2;
46static const GameScoreType kFixedHairScore = 2;
47static const GameScoreType kGotKeyCardScore = 5;
48static const GameScoreType kReadPaperScore = 2;
49static const GameScoreType kLookThroughTelescopeScore = 2;
50static const GameScoreType kSawCaldoriaKioskScore = 2;
51static const GameScoreType kGoToTSAScore = 3;
52
53static const GameScoreType kEnterTSAScore = 2;
54static const GameScoreType kSawBust1Score = 2;
55static const GameScoreType kSawBust2Score = 2;
56static const GameScoreType kSawBust3Score = 2;
57static const GameScoreType kSawBust4Score = 2;
58static const GameScoreType kSawBust5Score = 2;
59static const GameScoreType kSawBust6Score = 2;
60static const GameScoreType kSawTheoryScore = 4;
61static const GameScoreType kSawBackgroundScore = 4;
62static const GameScoreType kSawProcedureScore = 4;
63static const GameScoreType kGotJourneymanKeyScore = 5;
64static const GameScoreType kGotPegasusBiochipScore = 5;
65static const GameScoreType kGotBiosuitScore = 5;
66static const GameScoreType kGoToPrehistoricScore = 5;
67
68static const GameScoreType kPutLogInReaderScore = 5;
69static const GameScoreType kSawCaldoriaNormalScore = 2;
70static const GameScoreType kSawCaldoriaAlteredScore = 2;
71static const GameScoreType kSawNoradNormalScore = 2;
72static const GameScoreType kSawNoradAlteredScore = 2;
73static const GameScoreType kSawMarsNormalScore = 2;
74static const GameScoreType kSawMarsAlteredScore = 2;
75static const GameScoreType kSawWSCNormalScore = 2;
76static const GameScoreType kSawWSCAlteredScore = 2;
77static const GameScoreType kWentToReadyRoom2Score = 5;
78static const GameScoreType kWentAfterSinclairScore = 5;
79static const GameScoreType kUsedCardBombScore = 10;
80static const GameScoreType kShieldedCardBombScore = 5;
81static const GameScoreType kStunnedSinclairScore = 10;
82static const GameScoreType kDisarmedNukeScore = 10;
83
84static const GameScoreType kMaxCaldoriaTSAScoreBefore = kSawINNScore +
85 kTookShowerScore +
86 kFixedHairScore +
87 kGotKeyCardScore +
88 kReadPaperScore +
89 kLookThroughTelescopeScore +
90 kSawCaldoriaKioskScore +
91 kGoToTSAScore +
92 kEnterTSAScore +
93 kSawBust1Score +
94 kSawBust2Score +
95 kSawBust3Score +
96 kSawBust4Score +
97 kSawBust5Score +
98 kSawBust6Score +
99 kSawTheoryScore +
100 kSawBackgroundScore +
101 kSawProcedureScore +
102 kGotJourneymanKeyScore +
103 kGotPegasusBiochipScore +
104 kGotBiosuitScore +
105 kGoToPrehistoricScore +
106 kPutLogInReaderScore +
107 kSawCaldoriaNormalScore +
108 kSawCaldoriaAlteredScore +
109 kSawNoradNormalScore +
110 kSawNoradAlteredScore +
111 kSawMarsNormalScore +
112 kSawMarsAlteredScore +
113 kSawWSCNormalScore +
114 kSawWSCAlteredScore +
115 kWentToReadyRoom2Score;
116
117static const GameScoreType kMaxCaldoriaTSAScoreAfter = kWentAfterSinclairScore +
118 kUsedCardBombScore +
119 kShieldedCardBombScore +
120 kStunnedSinclairScore +
121 kDisarmedNukeScore;
122
123static const GameScoreType kMaxCaldoriaTSAScore = kMaxCaldoriaTSAScoreBefore +
124 kMaxCaldoriaTSAScoreAfter;
125
126// Prehistoric
127
128static const GameScoreType kThrewBreakerScore = 10;
129static const GameScoreType kExtendedBridgeScore = 10;
130static const GameScoreType kGotHistoricalLogScore = 5;
131static const GameScoreType kFinishedPrehistoricScore = 10;
132
133static const GameScoreType kMaxPrehistoricScore = kThrewBreakerScore +
134 kExtendedBridgeScore +
135 kGotHistoricalLogScore +
136 kFinishedPrehistoricScore;
137
138// Mars
139
140static const GameScoreType kThrownByRobotScore = 3;
141static const GameScoreType kGotMarsCardScore = 5;
142static const GameScoreType kSawMarsKioskScore = 2;
143static const GameScoreType kSawTransportMapScore = 2;
144static const GameScoreType kGotCrowBarScore = 5;
145static const GameScoreType kTurnedOnTransportScore = 5;
146static const GameScoreType kGotOxygenMaskScore = 5;
147static const GameScoreType kAvoidedRobotScore = 5;
148static const GameScoreType kActivatedPlatformScore = 2;
149static const GameScoreType kUsedLiquidNitrogenScore = 3;
150static const GameScoreType kUsedCrowBarScore = 3;
151static const GameScoreType kFoundCardBombScore = 4;
152static const GameScoreType kDisarmedCardBombScore = 8;
153static const GameScoreType kGotCardBombScore = 5;
154static const GameScoreType kThreadedMazeScore = 5;
155static const GameScoreType kThreadedGearRoomScore = 2;
156static const GameScoreType kEnteredShuttleScore = 2;
157static const GameScoreType kEnteredLaunchTubeScore = 4;
158static const GameScoreType kStoppedRobotsShuttleScore = 10;
159static const GameScoreType kGotMarsOpMemChipScore = 10;
160static const GameScoreType kFinishedMarsScore = 10;
161
162static const GameScoreType kMaxMarsScore = kThrownByRobotScore +
163 kGotMarsCardScore +
164 kSawMarsKioskScore +
165 kSawTransportMapScore +
166 kGotCrowBarScore +
167 kTurnedOnTransportScore +
168 kGotOxygenMaskScore +
169 kAvoidedRobotScore +
170 kActivatedPlatformScore +
171 kUsedLiquidNitrogenScore +
172 kUsedCrowBarScore +
173 kFoundCardBombScore +
174 kDisarmedCardBombScore +
175 kGotCardBombScore +
176 kThreadedMazeScore +
177 kThreadedGearRoomScore +
178 kEnteredShuttleScore +
179 kEnteredLaunchTubeScore +
180 kStoppedRobotsShuttleScore +
181 kGotMarsOpMemChipScore +
182 kFinishedMarsScore;
183
184// Norad
185
186static const GameScoreType kSawSecurityMonitorScore = 5;
187static const GameScoreType kFilledOxygenCanisterScore = 5;
188static const GameScoreType kFilledArgonCanisterScore = 5;
189static const GameScoreType kSawUnconsciousOperatorScore = 5;
190static const GameScoreType kWentThroughPressureDoorScore = 5;
191static const GameScoreType kPreppedSubScore = 5;
192static const GameScoreType kEnteredSubScore = 5;
193static const GameScoreType kExitedSubScore = 10;
194static const GameScoreType kSawRobotAt54NorthScore = 5;
195static const GameScoreType kPlayedWithClawScore = 5;
196static const GameScoreType kUsedRetinalChipScore = 5;
197static const GameScoreType kFinishedGlobeGameScore = 10;
198static const GameScoreType kStoppedNoradRobotScore = 10;
199static const GameScoreType kGotNoradOpMemChipScore = 10;
200static const GameScoreType kFinishedNoradScore = 10;
201
202static const GameScoreType kMaxNoradScore = kSawSecurityMonitorScore +
203 kFilledOxygenCanisterScore +
204 kFilledArgonCanisterScore +
205 kSawUnconsciousOperatorScore +
206 kWentThroughPressureDoorScore +
207 kPreppedSubScore +
208 kEnteredSubScore +
209 kExitedSubScore +
210 kSawRobotAt54NorthScore +
211 kPlayedWithClawScore +
212 kUsedRetinalChipScore +
213 kFinishedGlobeGameScore +
214 kStoppedNoradRobotScore +
215 kGotNoradOpMemChipScore +
216 kFinishedNoradScore;
217
218// WSC
219
220static const GameScoreType kRemovedDartScore = 5;
221static const GameScoreType kAnalyzedDartScore = 5;
222static const GameScoreType kBuiltAntidoteScore = 5;
223static const GameScoreType kGotSinclairKeyScore = 5;
224static const GameScoreType kGotArgonCanisterScore = 5;
225static const GameScoreType kGotNitrogenCanisterScore = 5;
226static const GameScoreType kPlayedWithMessagesScore = 2;
227static const GameScoreType kSawMorphExperimentScore = 3;
228static const GameScoreType kEnteredSinclairOfficeScore = 2;
229static const GameScoreType kSawBrochureScore = 3;
230static const GameScoreType kSawSinclairEntry1Score = 3;
231static const GameScoreType kSawSinclairEntry2Score = 3;
232static const GameScoreType kSawSinclairEntry3Score = 3;
233static const GameScoreType kSawWSCDirectoryScore = 3;
234static const GameScoreType kUsedCrowBarInWSCScore = 5;
235static const GameScoreType kFinishedPlasmaDodgeScore = 10;
236static const GameScoreType kOpenedCatwalkScore = 3;
237static const GameScoreType kStoppedWSCRobotScore = 10;
238static const GameScoreType kGotWSCOpMemChipScore = 10;
239static const GameScoreType kFinishedWSCScore = 10;
240
241static const GameScoreType kMaxWSCScore = kRemovedDartScore +
242 kAnalyzedDartScore +
243 kBuiltAntidoteScore +
244 kGotSinclairKeyScore +
245 kGotArgonCanisterScore +
246 kGotNitrogenCanisterScore +
247 kPlayedWithMessagesScore +
248 kSawMorphExperimentScore +
249 kEnteredSinclairOfficeScore +
250 kSawBrochureScore +
251 kSawSinclairEntry1Score +
252 kSawSinclairEntry2Score +
253 kSawSinclairEntry3Score +
254 kSawWSCDirectoryScore +
255 kUsedCrowBarInWSCScore +
256 kFinishedPlasmaDodgeScore +
257 kOpenedCatwalkScore +
258 kStoppedWSCRobotScore +
259 kGotWSCOpMemChipScore +
260 kFinishedWSCScore;
261
262// Gandhi
263
264static const GameScoreType kMarsGandhiScore = 10;
265static const GameScoreType kNoradGandhiScore = 10;
266static const GameScoreType kWSCGandhiScore = 10;
267
268static const GameScoreType kMaxGandhiScore = kMarsGandhiScore +
269 kNoradGandhiScore +
270 kWSCGandhiScore;
271
272static const GameScoreType kMaxTotalScore = kMaxCaldoriaTSAScore +
273 kMaxPrehistoricScore +
274 kMaxMarsScore +
275 kMaxNoradScore +
276 kMaxWSCScore +
277 kMaxGandhiScore;
278} // End of namespace Pegasus
279
280#endif