aboutsummaryrefslogtreecommitdiff
path: root/engines/pegasus/scoring.h
blob: fbf8641ecbee3858f9b7a4b0b5bb0bb2c1fbd8a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
/* 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