~ubuntu-branches/ubuntu/lucid/warzone2100/lucid

« back to all changes in this revision

Viewing changes to data/script/fastplay/s-demo.slo

  • Committer: Bazaar Package Importer
  • Author(s): Christoph Egger, Paul Wise, Christoph Egger
  • Date: 2009-06-29 17:12:52 UTC
  • mfrom: (1.1.11 upstream) (2.1.7 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090629171252-5ddnlfg3zfchrega
Tags: 2.2.1+dfsg1-1
[ Paul Wise ]
* New upstream release (Closes: #534962)
* Adjust the flex build-depends to take account of the conflict
  with all the versions of flex 2.5.34 (LP: #372872)
* Make the -music Recommends more strict, 2.1 music doesn't work
  with 2.2.
* Upstream moved the downloads to sourceforge, update the watch file
* Bump Standards-Version, no changes needed
* Drop use of dh_desktop since it no longer does anything
* Recommend the new warzone2100-video package, version 2.2 or similar
* Mention the warzone2100 crash reports in the -dbg package description

[ Christoph Egger ]
* Replace CC-2.0 graphic from cybersphinx, create a new tarball
* Add myself to uploaders

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// SCRIPT file for Cam 1-2
2
 
 
3
 
/* General Values */
4
 
public          int             player;
5
 
public          int             enemy1;
6
 
public          int             enemy2;
7
 
private         int             numart;
8
 
public          int             pow1, pow2;
9
 
 
10
 
/* structure limit stuff */
11
 
public  STRUCTURESTAT           factory, research, oilDerrick, powerGen;
12
 
//public        STRUCTURESTAT           powerModuleHack;
13
 
public  STRUCTURESTAT           command;
14
 
public  INT                     numPow, numExt, numFac, numRes;
15
 
 
16
 
/* Win or lose */
17
 
public          SOUND           wonSnd;
18
 
public          SOUND           lostSnd;
19
 
public          LEVEL           NextLev;
20
 
private         GROUP           allPlayer, nearLZ;
21
 
private         int             totDroids;
22
 
 
23
 
/* Starting Technology */
24
 
public          int             numtecE1;
25
 
public          RESEARCHSTAT    tecE1[3];
26
 
private         int             tecCount;
27
 
 
28
 
/* Base Under Attack Stuff */
29
 
private         STRUCTURE       hitStruc;
30
 
private         BASEOBJ         attackerObj;
31
 
private         int             t;
32
 
public          SOUND           attackSnd1;
33
 
public          SOUND           LZSnd;
34
 
 
35
 
/* LZ Message */
36
 
public          INTMESSAGE              LZ_MSG;
37
 
public          SOUND                   LZComp, LZClear, reinfSnd;
38
 
public          INTMESSAGE              obj1;
39
 
public          TEXTSTRING              RetLZMsg;
40
 
public          INT                     ReinforceTime;
41
 
 
42
 
/* Transport Entry/Exit coords */
43
 
public          int             entryX, entryY, exitX, exitY;
44
 
 
45
 
/* Briefing stuff */
46
 
public          INTMESSAGE              endMsg, winMsg;
47
 
public          INTMESSAGE              InFlight;
48
 
public          INTMESSAGE              MissionBrief;   //, MissionBrief2;
49
 
public          SOUND                   incomingSnd;
50
 
private         BOOL                    brief2Flag;
51
 
 
52
 
/* Proximity: Resources */
53
 
/*
54
 
public          FEATURE         res1;
55
 
public          INTMESSAGE      res1Msg;
56
 
public          SOUND           res1Snd;
57
 
public          STRUCTURESTAT   derrick;
58
 
private         int             res1x,res1y;    //temp values to cope with oil disappearing!
59
 
*/
60
 
 
61
 
/* Proximity: Artifacts */
62
 
public          FEATURESTAT     crate;
63
 
 
64
 
public          int             art1X, art1Y;
65
 
public          STRUCTURE       art1Get;
66
 
public          SOUND           art1Snd1, art1Snd2;
67
 
//public                INTMESSAGE      art1Msg;
68
 
public          RESEARCHSTAT    art1Comp;
69
 
private         FEATURE         art1ID;
70
 
 
71
 
public          int             art2X, art2Y;
72
 
public          STRUCTURE       art2Get;
73
 
public          SOUND           art2Snd1, art2Snd2;
74
 
//public                INTMESSAGE      art2Msg;
75
 
public          RESEARCHSTAT    art2Comp;
76
 
private         FEATURE         art2ID;
77
 
 
78
 
public          int             art3X, art3Y;
79
 
public          STRUCTURE       art3Get;
80
 
public          SOUND           art3Snd1, art3Snd2;
81
 
//public                INTMESSAGE      art3Msg;
82
 
public          RESEARCHSTAT    art3Comp;
83
 
private         FEATURE         art3ID;
84
 
/* player Bonus Research topics given at end of mission */
85
 
public  int                     numResP0;
86
 
public  RESEARCHSTAT            resP0[20];      //need to be declared with value >= numResP0, numResP1, etc.
87
 
private INT                     count;
88
 
 
89
 
/* Proximity: Enemy */
90
 
public          STRUCTURE       enm1;
91
 
public          STRUCTUREID     enm1ID;
92
 
public          INTMESSAGE      enm1Msg;
93
 
public          SOUND           enm1Snd1;
94
 
public          SOUND           enm1Snd2;
95
 
 
96
 
public          STRUCTURE       enm2;
97
 
public          STRUCTUREID     enm2ID;
98
 
public          INTMESSAGE      enm2Msg;
99
 
public          SOUND           enm2Snd1;
100
 
public          SOUND           enm2Snd2;
101
 
 
102
 
//extra blips for guard entrances
103
 
public          INTMESSAGE      guard1Msg, guard2Msg;
104
 
public          SOUND           guard1Snd1, guard2Snd1, guard1Snd2, guard2Snd2;
105
 
 
106
 
/* Triggers: Win or Lose */
107
 
trigger winLoseTrig(every, 5);
108
 
 
109
 
/* Triggers: Briefing */
110
 
trigger vidEndTrig(CALL_VIDEO_QUIT);
111
 
 
112
 
/* Triggers: Resource */
113
 
/*
114
 
trigger res1SeenTrig(droidHasSeen(res1, player), 10);
115
 
trigger res1UsedTrig(every, 10);
116
 
*/
117
 
 
118
 
/* Triggers: Artifacts */
119
 
//trigger art1SeenTrig(droidHasSeen(art1ID, player), 5);
120
 
trigger art1TakeTrig(droidInRange(player, art1X, art1Y, 200), 5);
121
 
trigger art1PlaceTrig((art1Get==NULLOBJECT), 5);
122
 
 
123
 
//trigger art2SeenTrig(droidHasSeen(art2ID, player), 5);
124
 
trigger art2TakeTrig(droidInRange(player, art2X, art2Y, 200), 5);
125
 
trigger art2PlaceTrig((art2Get==NULLOBJECT), 5);
126
 
 
127
 
trigger art3TakeTrig(droidInRange(player, art3X, art3Y, 200), 5);
128
 
trigger art3PlaceTrig((art3Get==NULLOBJECT), 5);
129
 
 
130
 
/* Triggers: Enemy */
131
 
trigger enm1SeenTrig(seenStructInArea(player, enemy1, FALSE, 3136, 1728, 5440, 2624), 10);
132
 
trigger enm1DeadTrig(numStructsButNotWallsInArea(enemy1, 3136, 1728, 5440, 2624) == 0, 20);
133
 
 
134
 
trigger enm2SeenTrig(seenStructInArea(player, enemy1, FALSE, 1600, 6464, 2368, 7232), 10);
135
 
trigger enm2DeadTrig(numStructsButNotWallsInArea(enemy1, 1600, 6464, 2368, 7232) == 0, 20);
136
 
 
137
 
trigger guard1SeenTrig(seenStructInArea(player, enemy1, FALSE, 2368, 5568, 3392, 6592), 10);
138
 
trigger guard1DeadTrig(numStructsButNotWallsInArea(enemy1, 2368, 5568, 3392, 6592) == 0, 20);
139
 
 
140
 
trigger guard2SeenTrig(seenStructInArea(player, enemy1, FALSE, 4544, 2880, 5924, 4928), 10);
141
 
trigger guard2DeadTrig(numStructsButNotWallsInArea(enemy1, 4544, 2880, 5924, 4928) == 0, 20);
142
 
 
143
 
/* part 2 briefing */
144
 
trigger brief2Trig(brief2Flag, 15);
145
 
trigger retLZTrig(numart == 3, 20);
146
 
 
147
 
//LZ contains enemies?
148
 
//trigger LZNoGoTrig((objectInArea(enemy1, 6000, 7000, 7000, 8000)), 35);
149
 
//LZ clear of enemies?
150
 
//trigger LZ_OKTrig((not objectInArea(enemy1, 6000, 7000, 7000, 8000)), 35);
151
 
 
152
 
trigger gameLostTrig    (every, 20);
153
 
 
154
 
trigger researchTrig(every, 1200);      //2 minute delay between topics completed
155
 
 
156
 
event startEvnt(CALL_VIDEO_QUIT)        //(CALL_GAMEINIT)
157
 
{
158
 
        //setLandingZone(LZ_X1, LZ_Y1, LZ_X2, LZ_Y2);
159
 
        //centreView(enm1);             //temporary solution for thin maps
160
 
        removeMessage(InFlight, MISS_MSG, 0);
161
 
        centreViewPos(52*128, 55*128);
162
 
//set scroll limits
163
 
        setScrollParams(0, 0, 64, 64);                  //limit scroll
164
 
//set zoom Level 64x64
165
 
        setRadarZoom(1);
166
 
//call in transport
167
 
        flyTransporterIn(player, entryX, entryY, false);
168
 
        setTransporterExit(player, exitX, exitY);
169
 
//make sure all buttons available/unavailable
170
 
        //removeReticuleButton(DESIGN);
171
 
        //removeReticuleButton(BUILD);
172
 
//set starting power
173
 
        setPowerLevel(pow1, enemy1);
174
 
        setPowerLevel(pow2, enemy2);
175
 
        addMessage(MissionBrief, MISS_MSG, 0, false);
176
 
        flashOff(INTELMAP);
177
 
 
178
 
//Blip Given at start
179
 
        addMessage(obj1, PROX_MSG, player, false);
180
 
//allow to build stuff
181
 
        setStructureLimits (powerGen,numPow,0);
182
 
        setStructureLimits (oilDerrick,numExt,0);
183
 
        setStructureLimits (research,numRes,0);
184
 
        setStructureLimits (factory,numFac,0);
185
 
        setStructureLimits(command, 0, player);
186
 
        enableStructure(command, player);
187
 
        enableStructure(powerGen,0);
188
 
        enableStructure(oilDerrick,0);
189
 
        enableStructure(research,0);
190
 
        enableStructure(factory,0);
191
 
        //enableStructure(powerModuleHack, 0);
192
 
//give first topic for enemy
193
 
        completeResearch(tecE1[tecCount], enemy1);
194
 
        tecCount = tecCount + 1;
195
 
//set transport time
196
 
        setReinforcementTime(ReinforceTime);
197
 
//set up resource coords (since oil pools diappear when built on!!!)
198
 
        //res1x=res1.x;
199
 
        //res1y=res1.y;
200
 
        setEventTrigger(startEvnt, inactive);
201
 
}
202
 
 
203
 
event flightEvnt(CALL_GAMEINIT)
204
 
{
205
 
        addMessage(InFlight, MISS_MSG, 0, true);
206
 
        setEventTrigger(flightEvnt, inactive);
207
 
}
208
 
 
209
 
/*Events: */
210
 
 
211
 
/* Events: Artifacts */
212
 
event art1TakeEvnt(inactive)
213
 
{
214
 
        numart=numart+1;
215
 
        brief2Flag = TRUE;
216
 
        //playSound(art1Snd2, player);
217
 
        playSoundPos(art1Snd2, player, art1ID.x, art1ID.y, art1ID.z);
218
 
        destroyFeature(art1ID);
219
 
        removeMessage(obj1, PROX_MSG, player);
220
 
        //removeMessage(art1Msg, PROX_MSG, player);
221
 
        enableResearch(art1Comp, player);
222
 
        setEventTrigger(art1TakeEvnt, inactive);
223
 
}
224
 
 
225
 
event art1PlaceEvnt(art1PlaceTrig)
226
 
{
227
 
        //place artifact crate, and allow check for prox
228
 
        art1ID=addFeature(crate, art1X, art1Y);
229
 
        //setEventTrigger(art1SeenEvnt, art1SeenTrig);
230
 
        setEventTrigger(art1TakeEvnt, art1TakeTrig);
231
 
        setEventTrigger(art1PlaceEvnt, inactive);
232
 
}
233
 
 
234
 
event art2TakeEvnt(inactive)
235
 
{
236
 
        numart=numart+1;
237
 
        //playSound(art2Snd2, player);
238
 
        playSoundPos(art2Snd2, player, art2ID.x, art2ID.y, art2ID.z);
239
 
        destroyFeature(art2ID);
240
 
        //removeMessage(art2Msg, PROX_MSG, player);
241
 
        enableResearch(art2Comp, player);
242
 
        setEventTrigger(art2TakeEvnt, inactive);
243
 
}
244
 
 
245
 
event art2PlaceEvnt(art2PlaceTrig)
246
 
{
247
 
        //place artifact crate, and allow check for prox
248
 
        art2ID=addFeature(crate, art2X, art2Y);
249
 
        //setEventTrigger(art2SeenEvnt, art2SeenTrig);
250
 
        setEventTrigger(art2TakeEvnt, art2TakeTrig);
251
 
        setEventTrigger(art2PlaceEvnt, inactive);
252
 
}
253
 
 
254
 
event art3TakeEvnt(inactive)
255
 
{
256
 
        numart=numart+1;
257
 
        //playSound(art3Snd2, player);
258
 
        playSoundPos(art3Snd2, player, art3ID.x, art3ID.y, art3ID.z);
259
 
        destroyFeature(art3ID);
260
 
        //removeMessage(art3Msg, PROX_MSG, player);
261
 
        enableResearch(art3Comp, player);
262
 
        setEventTrigger(art3TakeEvnt, inactive);
263
 
}
264
 
 
265
 
event art3PlaceEvnt(art3PlaceTrig)
266
 
{
267
 
        //place artifact crate, and allow check for prox
268
 
        art3ID=addFeature(crate, art3X, art3Y);
269
 
        //setEventTrigger(art3SeenEvnt, art3SeenTrig);
270
 
        setEventTrigger(art3TakeEvnt, art3TakeTrig);
271
 
        setEventTrigger(art3PlaceEvnt, inactive);
272
 
}
273
 
 
274
 
/* Events: Enemies */
275
 
event enm1DeadEvnt(inactive)
276
 
{
277
 
        killStructsInArea(enemy1, REF_WALL, 3136, 1728, 5440, 2624, TRUE, TRUE);        //remove walls and features in base
278
 
        killStructsInArea(enemy1, REF_WALLCORNER, 3136, 1728, 5440, 2624, TRUE, FALSE); //remove corner walls in base
279
 
        removeMessage(enm1Msg, PROX_MSG, player);
280
 
        //playSound(enm1Snd2, player);
281
 
        playSoundPos(enm1Snd2, player, 4160, 2112, 0);
282
 
        setEventTrigger(enm1DeadEvnt, inactive);
283
 
}
284
 
 
285
 
event enm1SeenEvnt(enm1SeenTrig)
286
 
{
287
 
        brief2Flag = TRUE;
288
 
        pause(20);
289
 
        addMessage(enm1Msg, PROX_MSG, player, false);
290
 
        //playSound(enm1Snd1, player);
291
 
        playSoundPos(enm1Snd1, player, 4160, 2112, 0);
292
 
        setEventTrigger(enm1DeadEvnt, enm1DeadTrig);
293
 
        setEventTrigger(enm1SeenEvnt, inactive);
294
 
}
295
 
 
296
 
event enm2DeadEvnt(inactive)
297
 
{
298
 
        killStructsInArea(enemy2, REF_WALL, 1600, 6464, 2368, 7232, TRUE, TRUE);        //remove walls and features in base
299
 
        killStructsInArea(enemy2, REF_WALLCORNER, 1600, 6464, 2368, 7232, TRUE, FALSE); //remove corner walls in base
300
 
        removeMessage(enm2Msg, PROX_MSG, player);
301
 
        //playSound(enm2Snd2, player);
302
 
        playSoundPos(enm2Snd2, player, 1984, 7000, 0);
303
 
        setEventTrigger(enm2DeadEvnt, inactive);
304
 
}
305
 
 
306
 
event enm2SeenEvnt(enm2SeenTrig)                        //base 2 seen
307
 
{
308
 
        addMessage(enm2Msg, PROX_MSG, player, false);
309
 
        //playSound(enm2Snd1, player);
310
 
        playSoundPos(enm2Snd1, player, 1984, 7000, 0);
311
 
        setEventTrigger(enm2DeadEvnt, enm2DeadTrig);
312
 
        setEventTrigger(enm2SeenEvnt, inactive);
313
 
}
314
 
 
315
 
//Extra blips for guard entrances
316
 
event guard1DeadEvnt(inactive)
317
 
{
318
 
        killStructsInArea(enemy1, REF_WALL, 2368, 5568, 3392, 6592, TRUE, TRUE);        //remove walls and features in base
319
 
        killStructsInArea(enemy1, REF_WALLCORNER, 2368, 5568, 3392, 6592, TRUE, FALSE); //remove corner walls in base
320
 
        removeMessage(guard1Msg, PROX_MSG, player);
321
 
        //playSound(guard1Snd2, player);
322
 
        setEventTrigger(guard1DeadEvnt, inactive);
323
 
}
324
 
 
325
 
event guard1SeenEvnt(guard1SeenTrig)
326
 
{
327
 
        addMessage(guard1Msg, PROX_MSG, player, false);
328
 
        //playSound(guard1Snd1, player);
329
 
        playSoundPos(guard1Snd1, player, 2880, 5824, 0);
330
 
        setEventTrigger(guard1DeadEvnt, guard1DeadTrig);
331
 
        setEventTrigger(guard1SeenEvnt, inactive);
332
 
}
333
 
 
334
 
event guard2DeadEvnt(inactive)
335
 
{
336
 
        killStructsInArea(enemy2, REF_WALL, 4544, 3392, 5924, 4928, TRUE, TRUE);        //remove walls and features in base
337
 
        killStructsInArea(enemy2, REF_WALLCORNER, 4544, 3392, 5924, 4928, TRUE, FALSE); //remove corner walls in base
338
 
        removeMessage(guard2Msg, PROX_MSG, player);
339
 
        //playSound(guard2Snd2, player);
340
 
        setEventTrigger(guard2DeadEvnt, inactive);
341
 
}
342
 
 
343
 
event guard2SeenEvnt(guard2SeenTrig)                    //base 2 seen
344
 
{
345
 
        addMessage(guard2Msg, PROX_MSG, player, false);
346
 
        //playSound(guard2Snd1, player);
347
 
        playSoundPos(guard2Snd1, player, 5312, 4160, 0);
348
 
        setEventTrigger(guard2DeadEvnt, guard2DeadTrig);
349
 
        setEventTrigger(guard2SeenEvnt, inactive);
350
 
}
351
 
 
352
 
/* Disabled for demo
353
 
event brief2Evnt(brief2Trig)
354
 
{
355
 
        playSound(incomingSnd, player);
356
 
        pause(20);
357
 
        addMessage(MissionBrief2, MISS_MSG, 0, true);
358
 
        setEventTrigger(brief2Evnt, inactive);
359
 
}
360
 
*/
361
 
 
362
 
event giveLZmess(inactive)      //don't use for demo!
363
 
//(retLZTrig)
364
 
{
365
 
//add LZ blip and WAV message
366
 
        addMessage(LZ_MSG, PROX_MSG, player, false);
367
 
        addConsoleText(RetLZMsg, player);
368
 
        //playSound(LZSnd, player);
369
 
        playSoundPos(LZSnd, player, 6848, 7104, 0);
370
 
        setEventTrigger(giveLZmess, inactive);
371
 
}
372
 
 
373
 
//event wonYetEvnt;
374
 
event wonYetLZEvnt;
375
 
event timeUp;
376
 
 
377
 
/* Events: Win or Lose */
378
 
 
379
 
event nextLevEvnt(inactive)             //assumes victory already checked
380
 
{
381
 
        //playSound(wonSnd,0);
382
 
        //pause(20);
383
 
 
384
 
        // give bonus research (if req'd)
385
 
        count = 0;
386
 
        while (count < numResP0)
387
 
        {
388
 
                enableResearch(resP0[count], 0);
389
 
                count = count +1;
390
 
        }
391
 
 
392
 
        gameLevel=gameLevel+1;          //flag next part of map
393
 
        setLandingZone(10, 51, 12, 53);
394
 
//enable research
395
 
        enableResearch(art1Comp, player);
396
 
        removeMessage(MissionBrief, MISS_MSG, player);
397
 
        //startMission(BETWEEN, NextLev);
398
 
 
399
 
        //End game here for now! (don't try next mission)
400
 
//      addMessage(winMsg, MISS_MSG, 0, true);
401
 
//      pause(10);
402
 
//      gameOver(true);
403
 
        gameOverMessage(winMsg, MISS_MSG, 0, true);
404
 
 
405
 
        setEventTrigger(nextLevEvnt, inactive);
406
 
}
407
 
 
408
 
event gameLost(inactive)
409
 
{
410
 
//      addMessage(endMsg, MISS_MSG, 0, true);
411
 
//      pause(10);
412
 
//      gameOver(false);
413
 
        gameOverMessage(endMsg, MISS_MSG, 0, false);
414
 
        setEventTrigger(gameLost, inactive);
415
 
}
416
 
 
417
 
event   lostYetEvnt(winLoseTrig)
418
 
{
419
 
        if (not anyDroidsLeft(player))
420
 
        {
421
 
                if (not anyStructButWallsLeft(player))
422
 
                {
423
 
                        //setEventTrigger(wonYetEvnt,inactive);
424
 
                        setEventTrigger(wonYetLZEvnt, inactive);
425
 
                        setEventTrigger(timeUp, inactive);
426
 
                        //playSound(lostSnd,0);
427
 
                        //pause(20);
428
 
                        //addMessage(endMsg, MISS_MSG, 0, true);
429
 
                        //gameOver(false);
430
 
                        setEventTrigger(gameLost, gameLostTrig);        //waits 2 seconds before ending
431
 
                        setEventTrigger(lostYetEvnt, inactive);
432
 
                }
433
 
 
434
 
        }
435
 
}
436
 
 
437
 
//out of time?
438
 
event timeUp(CALL_MISSION_TIME)
439
 
{
440
 
        //setEventTrigger(wonYetEvnt,inactive);
441
 
        setEventTrigger(lostYetEvnt,inactive);
442
 
        setEventTrigger(wonYetLZEvnt, inactive);
443
 
        //playSound(lostSnd,0);
444
 
        //pause(20);
445
 
        //gameOver(false);
446
 
        setEventTrigger(gameLost, gameLostTrig);        //waits 2 seconds before ending
447
 
        setEventTrigger(timeUp, inactive);
448
 
}
449
 
 
450
 
event wonYetLZEvnt(retLZTrig)   //triggered when all artifacts picked up
451
 
// have all enemies lost yet? FOR DEMO ONLY!
452
 
{                                                               
453
 
        if (not anyDroidsLeft(enemy1))
454
 
        {
455
 
                if (not anyStructButWallsLeft(enemy1))
456
 
                {
457
 
                        setEventTrigger(lostYetEvnt, inactive);
458
 
                        setEventTrigger(timeUp, inactive);
459
 
                        setEventTrigger(nextLevEvnt, winLoseTrig);
460
 
                        //setEventTrigger(wonYetEvnt, inactive);
461
 
                        setEventTrigger(wonYetLZEvnt, inactive);
462
 
                }
463
 
        }
464
 
}
465
 
 
466
 
/* not used for demo (need to kill everything!)
467
 
event wonYetLZEvnt(winLoseTrig) //alternate victory condition, got artifact(s) and back at LZ
468
 
{
469
 
        totDroids = numDroidsInArea(player, 0, 0, 64*128, 64*128);
470
 
        if (totDroids == numDroidsInArea(player, 6080, 6464, 7616, 7616))
471
 
        {
472
 
                if (totDroids!=0)
473
 
                {
474
 
                        if (numart==3)
475
 
                        {
476
 
                                setEventTrigger(lostYetEvnt, inactive);
477
 
                                setEventTrigger(timeUp, inactive);
478
 
                                setEventTrigger(nextLevEvnt, winLoseTrig);
479
 
                                //setEventTrigger(wonYetEvnt, inactive);
480
 
                                setEventTrigger(wonYetLZEvnt, inactive);
481
 
                        }
482
 
                }
483
 
        }
484
 
}
485
 
*/
486
 
 
487
 
event cheatEvnt(CALL_MISSION_START)     //cheat button ctrl M
488
 
{
489
 
        setEventTrigger(nextLevEvnt, winLoseTrig);
490
 
        setEventTrigger(cheatEvnt, inactive);
491
 
}
492
 
 
493
 
/* base under attack */
494
 
event baseHit(CALL_STRUCT_ATTACKED, selectedPlayer, ref hitStruc, ref attackerObj)
495
 
{
496
 
        if (t>=20)
497
 
        {
498
 
                t=0;
499
 
                playSoundPos(attackSnd1, player, hitStruc.x, hitStruc.y, hitStruc.z);
500
 
        }
501
 
}
502
 
 
503
 
event everySec(every, 10)
504
 
{
505
 
        t=t+1;
506
 
}
507
 
 
508
 
event seeBaseHit(CALL_MISSION_END)
509
 
{
510
 
//go to where the structure being attacked is on CTRL B
511
 
        if (hitStruc!=NULLOBJECT)
512
 
        {
513
 
                centreView(hitStruc);
514
 
                t=0;                    //flag known about!
515
 
        }
516
 
}
517
 
 
518
 
/* LZ Compromised DISABLED!
519
 
event LZ_OK;
520
 
event LZNoGo(LZNoGoTrig)
521
 
{
522
 
//check LZ area for enemy structures and/or vehicles (in Trigger)
523
 
        //playSound(LZComp, player);    //"LZ Compromised"
524
 
        playSoundPos(LZComp, player, 6848, 7104, 0);
525
 
//disallow reinforcements
526
 
        setReinforcementTime(18000);    //(set to mission time)
527
 
//allow check for clear!
528
 
        setEventTrigger(LZ_OK,LZ_OKTrig);
529
 
        setEventTrigger(LZNoGo, inactive);
530
 
}
531
 
 
532
 
event LZ_OK(inactive)
533
 
{
534
 
//check LZ area clear of enemy structures and/or vehicles (in Trigger)
535
 
        //playSound(LZClear, player);   //"LZ Clear"
536
 
        playSoundPos(LZClear, player, 6848, 7104, 0);
537
 
//allow reinforcements now base found
538
 
        setReinforcementTime(ReinforceTime); //(set back to normal)
539
 
        setEventTrigger(LZNoGo, LZNoGoTrig);
540
 
        setEventTrigger(LZ_OK, inactive);
541
 
}
542
 
*/
543
 
/* Disabled for difficulty check
544
 
event researchEvnt(researchTrig)
545
 
{
546
 
// player specific technology startups
547
 
        if (tecCount >= numtecE1)
548
 
        {
549
 
                setEventTrigger(researchEvnt, inactive);
550
 
        }
551
 
        else
552
 
        {
553
 
                completeResearch(tecE1[tecCount], enemy1);
554
 
                tecCount = tecCount + 1;
555
 
        }
556
 
}
557
 
*/
558