Subversion-Projekte sthq.gbs

Revision

Revision 887 | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
886 lars 1
// EF2 Level Script File
2
//
3
// Level:		map3.bsp
4
// Script By:	Cortex, Argyle, ltiefland
5
// Geometry By:	Argyle, Cortex, Alpharaptor
6
// Created on:	17/11/03
7
// Last Edited on:  $Date: 2007-10-03 14:57:12 +0200 (Mi, 03 Okt 2007) $
902 lars 8
// Last Edited by:	Chrissstrahl
886 lars 9
 
10
void main();
11
void warning();
12
void attack_p();
13
void initArchetypes();
14
void turbo();
15
void eng_beccy();
16
void eng_harm();
17
void eng_mac();
18
void closed_door_sound();
19
void closed_door_sound_2();
20
void cpanel();
21
void panel();
22
void secretopen();
23
void secretprint();
24
void secret();
25
void comp_found();
26
void gas1();
27
void redalert();
28
void enviromentalcontrols();
29
void maincomputercontrols();
30
void compcontrolsa();
31
void compcontrolsb();
32
void eng_cin();
33
void skip_eng_cin();
34
void com_cin();
35
void com_cin_end();
36
//void switch_alert_on();
37
 
38
float alert_on;
39
float eng_door=0;
887 lars 40
float lift_state=0;
886 lars 41
 
42
#include "maps/global_scripts/global_archetype.scr"
43
#include "maps/global_scripts/global_common.scr"
44
#include "maps/global_scripts/global_array.scr"
45
#include "maps/global_scripts/global_math.scr"
46
#include "maps/global_scripts/global_acceleratedMovement.scr"
47
#include "maps/attackplayer.scr"
48
 
49
void main()
50
{
51
//--------------------------------------------------
52
//	General Level Setup
53
//--------------------------------------------------
54
 
55
	$world.light_lightstyle( "redalert3", "a", 1 ); //switch off red alert lights
56
	$warn.nottriggerable();
57
	$attack.nottriggerable();
58
	$alert_green.show();
59
	$alert_red.hide();
60
	$roof_hatch.show();
61
	$roof_hatch.solid();
62
	$roof_hatch_floor.hide();
63
	$roof_hatch_floor.notsolid();
64
	$roof_hatch_cover.hide();
65
	$roof_hatch_cover.notsolid();
66
	$turbo_door.lock();
67
 
68
	soundtrack( "music/m6l1.mus" );
69
	waitForPlayer();//Wait until the player is ready
70
	$player.model("char/hazardteam_jurot.tik");
71
	$player.give( "models/weapons/worldmodel-tricorder-stx.tik" );
72
 
73
	//Add the objectives list
74
	$player.loadobjectives( "GBS3" );
75
	//Make a new objective appear: get to main computer control and Sabotge the engines
76
	//Make the blip appear on your radar
77
	$player.missionobjective( 1 );
78
	//Make the mission objective appear
79
	$player.setobjectiveshow( "gettoengineering", 1 );
80
 
81
	$illia_prisoner.ai_off();
82
	$illia_prisoner.pushable(0);
83
	$illia_prisoner.hide();
84
	$illia_prisoner.notsolid();
85
	$illia_prisoner.removeactorweapon ( "CompressionRifle" );
86
	$illia_prisoner.removeactorweapon ( "AssaultRifle" );
87
	$illia_prisoner.removeactorweapon ( "CompressionRifleEnhanced" );
88
//	$attack.nottriggerable();
902 lars 89
	$player.take("models/weapons/worldmodel-tricorder.tik");
90
	$player.take("models/weapons/worldmodel-phaser.tik");
91
	$player.take("models/weapons/worldmodel-fieldassaultrifle.tik");
92
	$player.take("models/weapons/worldmodel-burstrifle.tik");
93
	$player.take("models/weapons/worldmodel-compressionrifle.tik");
94
	$player.take("models/weapons/worldmodel-IMod.tik");
95
	$player.take("models/weapons/worldmodel-grenadelauncher.tik");
96
	$player.take("models/weapons/worldmodel-photon.tik");
97
	$player.take("models/weapons/worldmodel-tetryon.tik");
98
	$player.take("models/weapons/worldmodel-sniperrifle.tik");
99
	$player.take("models/weapons/worldmodel-rom-disruptor.tik");
100
	$player.take("models/weapons/worldmodel-batleth.tik");
101
	$player.take("models/weapons/worldmodel-rom-radgun.tik");
102
	$player.take("models/weapons/worldmodel-attrex-rifle.tik");
103
	$player.take("models/weapons/worldmodel-enterprise.tik");
104
	$player.take("models/weapons/worldmodel-drull-staff.tik");
105
	$player.take("models/weapons/worldmodel-rom-datapad.tik");
106
	$player.take("models/weapons/worldmodel-phaser-STX.tik");
886 lars 107
 
108
	//--------------------------------------------------
109
	//	Red Alert Setup
110
	//--------------------------------------------------
111
 
112
	$panel_alert_on.hide();
113
	$panel_alert_off.show();
114
 
115
 
116
	//--------------------------------------------------
117
	//	Camera Setup
118
	//--------------------------------------------------
119
 
120
	spawn ( "Camera" , "targetname" , "cam1" );
121
	spawn ( "Camera" , "targetname" , "cam2" );
122
	spawn ( "Camera" , "targetname" , "cam3" );
123
	spawn ( "Camera" , "targetname" , "cam4" );
124
 
125
	//--------------------------------------------------
126
	//	Cargobay 4 Setup
127
	//--------------------------------------------------
128
	$cargopanelg.hide();
129
	$cargopanelr.show();
130
	$cargodoors.unlock();
131
 
132
	//--------------------------------------------------
133
	//	Jefferies Tube Setup
134
	//--------------------------------------------------
135
	//	SECRET SETUP
136
	$secretdoor.lock();
137
	$secret_red.show();
138
	$secret_green.hide();
139
	//	GENERAL SETUP
140
	$exitdoor.lock();
141
	$jdoor1.unlock();
142
	$jdoor2.lock();
143
	$jdoor2g.hide();
144
	$jdoor2r.show();
145
	$jdoor1_locked.nottriggerable();
146
 
147
	//--------------------------------------------------
148
	//	Main Compter Control Room Setup
149
	//--------------------------------------------------
150
	$comroomdoor.lock();
151
	//$engcong.show(); //NULL E
152
	//$engconr.hide(); //NULL E
153
	$gas3.hide();
154
	$gas4.hide();
155
	$gas5.hide();
156
	$gas6.hide();
157
	$hurt1.nottriggerable();
158
 
159
	//--------------------------------------------------
160
	//	Main Engineering Setup
161
	//--------------------------------------------------
162
	$bails.ai_off();
163
	$bails.removeactorweapon ( "CompressionRifle" );
164
	$bails.useactorweapon( "Tricorder" );
165
	$bails.anim( "tricorder_use_loop" );
166
	$bails.pushable( 0 );
167
 
168
	$jones.ai_off();
169
	$jones.anim("ent-curvedconsole-gesture");
170
	$jones.removeactorweapon ( "CompressionRifle" );
171
	$jones.useactorweapon( "none" );
172
	$jones.pushable( 0 );
173
 
174
	/*shaun was removed in order to save frames //Chrisstrahl
175
	$shaun.ai_off();
176
	$shaun.anim("ent-compstation-idle");
177
	$shaun.removeactorweapon ( "CompressionRifle" );
178
	$shaun.useactorweapon( "none" );
179
	$shaun.pushable( 0 );*/
180
 
181
	$jenks.ai_off();
182
	$jenks.anim("ent-compstation-gesture1");
183
	$jenks.removeactorweapon ( "CompressionRifle" );
184
	$jenks.useactorweapon( "none" );
185
	$jenks.pushable( 0 );
186
 
187
	/*  //NULL E
188
	$eddie.ai_off();
189
	$eddie.anim("ent-compstation-gesture1");
190
	$eddie.removeactorweapon ( "CompressionRifle" );
191
	$eddie.useactorweapon( "none" );
192
	$eddie.pushable( 0 );*/
193
 
194
	/*  //NULL E
195
	$catrin.ai_off();
196
	$catrin.removeactorweapon ( "CompressionRifle" );
197
	$catrin.useactorweapon( "none" );
198
	$catrin.pushable( 0 );*/
199
 
200
	$engdoor1.time(0.1);
201
	$engdoor1.moveDown(176);
202
	$engdoor1.notsolid();
203
	$engdoor1.hide();
204
 
205
	$beccy.ai_off();
206
	$beccy.removeactorweapon ( "CompressionRifle" );
207
	$beccy.useactorweapon( "none" );
208
	$beccy.pushable( 0 );
209
 
210
	$harm.ai_off();
211
	$harm.removeactorweapon ( "CompressionRifle" );
212
	$harm.useactorweapon( "none" );
213
	$harm.pushable( 0 );
214
 
215
	$mac.ai_off();
216
	$mac.removeactorweapon ( "CompressionRifle" );
217
	$mac.useactorweapon( "none" );
218
	$mac.pushable( 0 );
219
 
220
	$bud.ai_off();
221
	$bud.removeactorweapon ( "CompressionRifle" );
222
	$bud.useactorweapon( "none" );
223
	$bud.pushable( 0 );
224
	$bud.anim("kneel_working_idle");
225
 
226
	/* Jane was removed in order to save frames //Chrissstrahl
227
	$jane.ai_off();
228
	$jane.removeactorweapon ( "CompressionRifle" );
229
	$jane.useactorweapon( "none" );
230
	$jane.pushable( 0 );
231
	$jane.anim("ent-library-stand-scan");*/
232
 
233
	//This ship was removed for performance issues
234
	//$holo_excelsior.bind($holo_excelsior_origin);
235
	//$holo_excelsior.followpath( $holo_excelsior_nav1 );
236
 
237
	//--------------------------------------------------
238
	//	Main Engineering Cinematic Setup
239
	//--------------------------------------------------
240
 
241
	$illia.ai_off();
242
	$illia.pushable( 0 );
243
	$illia.notsolid();
244
	$illia.hide();
245
 
246
	wait(0.1);
247
 
248
	$moya.ai_off();
902 lars 249
	$moya.nodamage();//Patch Update 07.sep.2007 @ Chrissstrahl
886 lars 250
	$moya.pushable( 0 );
251
	$moya.useactorweapon( "EnterpriseDatapad" );
252
	$moya.anim( "ent-datapad-use" );
253
 
254
	thread initArchetypes();
255
 
256
 
257
	//--------------------------------------------------
258
	//	Computer Control Room Cinematic Setup
259
	//--------------------------------------------------
260
 
261
	$illia2.ai_off();
262
	$illia2.pushable( 0 );
263
	$illia2.notsolid();
264
	$illia2.hide();
265
 
266
	wait(0.1);
267
 
268
	$moya2.ai_off();
269
	$moya2.pushable( 0 );
270
	$moya2.notsolid();
271
	$moya2.hide();
272
 
273
	$eng_field.notsolid();
274
	$eng_field.hide();
275
	$eng_field.notsolid();
276
 
277
	//--------------------------------------------------
278
	//	Security Team Setup
279
	//--------------------------------------------------
280
 
281
	$security1.setgroupid ( 666 );
282
	$security1.giveactorweapon( "actorweapons/fed-compressionrifle.tik", 1.0 );
283
	$security1.useactorweapon( "CompressionRifle" );
284
	$security1.pushable( 0 );
285
 
286
	$security2.setgroupid ( 666 );
287
	$security2.giveactorweapon( "actorweapons/fed-compressionrifle.tik", 1.0 );
288
	$security2.useactorweapon( "CompressionRifle" );
289
	$security2.pushable( 0 );
290
 
291
	//Hide team till red alert
292
	$security1.hide();
293
	$security1.notsolid();
294
	$security2.hide();
295
	$security2.notsolid();
296
 
297
	$exitdoor.lock();
298
	$cargodoors_sound.nottriggerable();
299
 
300
 
301
	thread turbo();
302
	thread eng_beccy();
303
	thread eng_harm();
304
	thread eng_mac();
305
}
306
 
307
void climbing_up()
308
{
309
	AIShowGroup    ( 667, "Federation" );
310
	//$security1.ai_on();
311
	//$security2.ai_on();
312
	CommandToGroup ( 667 , "groupactortype" , "enemy" , "");
313
	CommandToGroup ( 667 , "visiondistance" , "4000" , "" );
314
	CommandToGroup ( 667 , "fov" , "360" , "" );
315
	CommandToGroup ( 667 , "attack" , "$player" , "" );
316
}
317
 
318
 
319
 
320
//--------------------------------------------------
321
// Archetype Setup
322
//--------------------------------------------------
323
 
324
// These let you see the information the tricorder displays about an object
325
 
326
void initArchetypes()
327
{
328
 
329
	thread globalArchetype_Setup( $tubedoor_controls, "tubedoorc");
330
	thread globalArchetype_Setup( $environmental_controls, "enviroc");
331
	thread globalArchetype_Setup( $maincomputer_controls, "compc");
332
	thread globalArchetype_Setup( $computer_a, "compa");
333
	thread globalArchetype_Setup( $computer_b, "compb");
334
	thread globalArchetype_Setup( $tubedoor_controls_2, "tubed");
335
 
336
	$bails.archetype ( "bails" );
337
	$jones.archetype ( "jones" );
338
	$jenks.archetype ( "jenks" );
339
	/*$shaun.archetype ( "shaun" );*/ //shaun was removed in order to save frames
340
	//$eddie.archetype ( "eddie" ); //NULL E
341
	//$catrin.archetype ( "catrin" ); //NULL E
342
}
343
 
344
void turbo()
345
{
346
	$player.loopsound( "sound/ships/enterprise/ent_turbolift_runloop.wav");
347
	wait(4);
348
	$player.stoploopsound();
349
	$player.playsound( "sound/ships/enterprise/ent_turbolift_stop.wav");
350
	wait(2.5);
351
	$turbo_door.unlock();
352
}
353
 
354
void eng_beccy()
355
{
356
	$beccy.useactorweapon( "Tricorder" );
357
	$beccy.anim( "tricorder_use_loop" );
358
	wait(3);
359
	$beccy.anim("idle");
360
	$beccy.useactorweapon( "none" );
361
	wait(0.2);
362
	$beccy.turntoangle( 315 );
363
	$beccy.walkto("$beccy_eng_nav1", "walk" );
364
	waitfor( $beccy );
365
	$beccy.useactorweapon( "Tricorder" );
366
	$beccy.anim( "tricorder_use_loop" );
367
	wait(4);
368
	$beccy.useactorweapon( "none" );
369
	$beccy.anim( "idle" );
370
	$beccy.walkto("$beccy_eng_nav2", "walk" );
371
	waitfor( $beccy );
372
	$beccy.walkto("$beccy_eng_nav2", "walk" );
373
	waitfor( $beccy );
374
	$beccy.walkto("$beccy_eng_nav3", "walk" );
375
	waitfor( $beccy );
376
	$beccy.walkto("$beccy_eng_nav4", "walk" );
377
	waitfor( $beccy );
378
	$beccy.useactorweapon( "EnterpriseDatapad" );
379
	$beccy.anim( "ent-datapad-use" );
380
	wait(5);
381
	$beccy.walkto("$beccy_eng_nav5", "walk" );
382
	waitfor( $beccy );
383
	$beccy.walkto("$beccy_eng_nav6", "walk" );
384
	waitfor( $beccy );
385
	$beccy.walkto("$beccy_eng_nav7", "walk" );
386
	waitfor( $beccy );
387
	$beccy.useactorweapon( "none" );
388
	$beccy.anim( "idle" );
389
	wait(0.1);
390
	$beccy.useactorweapon( "Tricorder" );
391
	$beccy.anim( "tricorder_use_loop" );
392
	wait(3);
393
	$beccy.walkto("$beccy_eng_nav8", "walk" );
394
	waitfor( $beccy );
395
	$beccy.walkto("$beccy_eng_nav9", "walk" );
396
	waitfor( $beccy );
397
 
398
	thread eng_beccy();
399
}
400
 
401
void eng_harm()
402
{
403
	$harm.useactorweapon( "EnterpriseDatapad" );
404
	$harm.anim( "ent-datapad-use" );
405
	$harm.walkto("$harm_eng_nav1", "walk" );
406
	waitfor( $harm );
407
	$harm.walkto("$harm_eng_nav2", "walk" );
408
	waitfor( $harm );
409
	$harm.walkto("$harm_eng_nav3", "walk" );
410
	waitfor( $harm );
411
	$harm.walkto("$harm_eng_nav4", "walk" );
412
	waitfor( $harm );
413
	$harm.walkto("$harm_eng_nav5", "walk" );
414
	waitfor( $harm );
415
	$harm.useactorweapon( "none" );
416
	$harm.anim( "idle" );
417
	wait(1);
418
	$harm.useactorweapon( "Tricorder" );
419
	$harm.anim( "tricorder_use_loop" );
420
	wait(3);
421
	$harm.useactorweapon( "none" );
422
	$harm.anim( "idle" );
423
	$harm.walkto("$harm_eng_nav6", "walk" );
424
	waitfor( $harm );
425
	$harm.walkto("$harm_eng_nav7", "walk" );
426
	waitfor( $harm );
427
	$harm.walkto("$harm_eng_nav8", "walk" );
428
	waitfor( $harm );
429
	$harm.walkto("$harm_eng_nav9", "walk" );
430
	waitfor( $harm );
431
	$harm.walkto("$harm_eng_nav10", "walk" );
432
	waitfor( $harm );
433
	$harm.useactorweapon( "Tricorder" );
434
	$harm.anim( "tricorder_use_loop" );
435
	wait(4);
436
	$harm.useactorweapon( "none" );
437
	$harm.anim( "idle" );
438
	$harm.walkto("$harm_eng_nav11", "walk" );
439
	waitfor( $harm );
440
	wait(0.2);
441
	$harm.useactorweapon( "EnterpriseDatapad" );
442
	$harm.anim( "ent-datapad-use" );
443
	wait(2);
444
	$harm.walkto("$harm_eng_nav12", "walk" );
445
	waitfor( $harm );
446
	$harm.walkto("$harm_eng_nav13", "walk" );
447
	waitfor( $harm );
448
	$harm.walkto("$harm_eng_nav14", "walk" );
449
	waitfor( $harm );
450
	$harm.useactorweapon( "none" );
451
	$harm.anim( "idle" );
452
	wait(0.1);
453
	$harm.useactorweapon( "Tricorder" );
454
	$harm.anim( "tricorder_use_loop" );
455
	wait(5);
456
	$harm.useactorweapon( "none" );
457
	$harm.anim( "idle" );
458
	$harm.turntoangle( 135 );
459
 
460
	thread eng_harm();
461
 
462
}
463
 
464
void eng_mac()
465
{
466
	$mac.walkto("$mac_eng_nav1", "walk" );
467
	waitfor( $mac );
468
	$mac.walkto("$mac_eng_nav2", "walk" );
469
	waitfor( $mac );
470
	$mac.walkto("$mac_eng_nav3", "walk" );
471
	waitfor( $mac );
472
	$mac.walkto("$mac_eng_nav4", "walk" );
473
	waitfor( $mac );
474
	$mac.walkto("$mac_eng_nav5", "walk" );
475
	waitfor( $mac );
476
	$mac.walkto("$mac_eng_nav6", "walk" );
477
	waitfor( $mac );
478
	$mac.walkto("$mac_eng_nav7", "walk" );
479
	waitfor( $mac );
480
	$mac.useactorweapon( "Tricorder" );
481
	$mac.anim( "tricorder_use_loop" );
482
	wait(4);
483
	$mac.useactorweapon( "none" );
484
	$mac.anim( "idle" );
485
	$mac.walkto("$mac_eng_nav8", "walk" );
486
	waitfor( $mac );
487
	$mac.walkto("$mac_eng_nav9", "walk" );
488
	waitfor( $mac );
489
	$mac.walkto("$mac_eng_nav10", "walk" );
490
	waitfor( $mac );
491
	$mac.walkto("$mac_eng_nav11", "walk" );
492
	waitfor( $mac );
493
	$mac.useactorweapon( "Tricorder" );
494
	$mac.anim( "tricorder_use_loop" );
495
	wait(3);
496
	$mac.useactorweapon( "none" );
497
	$mac.anim( "idle" );
498
	$mac.walkto("$mac_eng_nav12", "walk" );
499
	waitfor( $mac );
500
	$mac.walkto("$mac_eng_nav13", "walk" );
501
	waitfor( $mac );
502
	$mac.walkto("$mac_eng_nav14", "walk" );
503
	waitfor( $mac );
504
	$mac.walkto("$mac_eng_nav15", "walk" );
505
	waitfor( $mac );
506
	$mac.useactorweapon( "Tricorder" );
507
	$mac.anim( "tricorder_use_loop" );
508
	wait(3);
509
	$mac.useactorweapon( "none" );
510
	$mac.anim( "idle" );
511
 
512
	thread eng_mac();
513
}
514
 
515
void closed_door_sound()
516
{
517
	$player.playsound( "sound/doors/door_locked.wav");
518
}
519
 
520
void closed_door_sound_2()
521
{
522
	$player.playsound( "sound/environment/computer/lcars_no.wav");
523
}
524
//===================================================================
525
//	Cargo Bay 4
526
//===================================================================
527
 
528
void cpanel()
529
{
530
//-------------------------------------------------------------------
531
//	This moves the panels covering the power re-routing controls
532
//-------------------------------------------------------------------
533
	$cpanel1.moveeast(2);
534
	$cpanel2.moveeast(2);
535
	$cpanel3.moveeast(2);
536
 
537
 
538
	wait(1);
539
 
540
	$cpanel1.movenorth(73);
541
	$cpanel1.time(1.5);
542
	$cpanel2.movesouth(75);
543
	$cpanel2.time(1.5);
544
	$cpanel3.movenorth(73);
545
	$cpanel3.time(1.5);
546
 
547
	$player.loopsound( "sound/doors/lrg_01_start.wav" );
548
	wait(2);
549
	$player.stoploopsound();
550
	$player.playsound( "sound/doors/lrg_01_stop.wav" );
551
}
552
 
553
void panel()
554
{
555
 
556
//-------------------------------------------------------------------
557
//	This changes the colour of the power re-routing panel and plays
558
//	the power-up and power-down sounds
559
//-------------------------------------------------------------------
560
 
561
	$cargopanelr.hide();
562
	$cargopanelg.show();
563
	$player.playsound("sound/ships/forever/for_poweron.wav");
564
 
565
	wait(3);
566
 
567
	$cargopanelg.hide();
568
	$cargopanelr.show();
569
	$player.playsound("sound/environment/computer/lcars_error.wav");
570
 
571
	wait(1);
572
 
573
	$cargopanelr.hide();
574
	$cargopanelg.show();
575
	$player.playsound("sound/ships/forever/for_poweron.wav");
576
 
577
	wait(3);
578
 
579
	$cargopanelg.hide();
580
	$cargopanelr.show();
581
	$player.playsound("sound/environment/computer/lcars_error.wav");
582
 
583
	wait(1);
584
 
585
	$cargopanelr.hide();
586
	$cargopanelg.show();
587
	$player.playsound("sound/environment/computer/lcars_yes.wav");
588
 
589
	wait(1);
590
 
591
	music( "success" );
592
 
593
	wait(1);
594
 
595
	$jdoorpanel1.movenorth(2);
596
 
597
	wait(2);
598
 
599
	$jdoorpanel1.moveup(70);
600
 
601
	$cargotubedoor.unlock();
602
	$jdoorpanel1.playsound("sound/ships/forever/for_floorhatch.wav");
603
}
604
 
605
//==========================================================================
606
//	The Secret
607
//==========================================================================
608
 
609
void secretopen()
610
{
611
	$secret_locked.nottriggerable();
612
	$secretdoor.unlock();
613
	$secret_red.hide();
614
	$secret_green.show();
615
}
616
 
617
void secretprint()
618
{
619
      centerprint("Secret Area!");
620
}
621
 
622
void secret()
623
{
624
	$bob.ai_off();
625
	$phil.ai_off();
626
	$bob.playdialog("localization/sound/dialog/map03/bob/secret.mp3",1,10000,0);
627
	waitfordialog($bob);
628
	$phil.playdialog("localization/sound/dialog/map03/phil/secret.mp3",1,10000,0);
629
    waitfordialog($phil);
630
	wait(15);
631
	$bob.walkto("$nav2");
632
	wait(0.7);
633
	$phil.walkto("$nav2");
634
}
635
 
636
//===========================================================================
637
//	Main Computer Control Room
638
//===========================================================================
639
 
640
//---------------------------------------------------------------------------
641
//	Tells the player you've found what your looking for
642
//---------------------------------------------------------------------------
643
 
644
void comp_found()
645
{
646
	$illia.playdialog("localization/sound/dialog/map03/Illia/maincomputer.mp3",1,10000,0);//Main Computer Control.
647
	waitfordialog( $illia );
648
	wait(1);
649
	$illia.playdialog("localization/sound/dialog/map03/Illia/perfect.mp3",1,10000,0);//Perfect.
650
	waitfordialog( $illia );
651
	wait(1);
652
}
653
 
654
//---------------------------------------------------------------------------
655
//	Activates the trap
656
//---------------------------------------------------------------------------
657
 
658
void gas1()
659
{
660
	$gas3.show();
661
	$gas4.show();
662
	$gas5.show();
663
	$gas6.show();
664
	$jcomdoor.close();
665
	$jcomdoor.lock();
666
	$engconr.playsound( "sound/environment/computer/access_denied.wav");
667
	$player.loopsound( "sound/redalert.mp3", .4, 512 );
668
	$hurt1.triggerable();
669
	$comroomdoor.close();
670
	$comroomdoor.lock();
671
	$test6.remove(); //So that the player cannot initiate com_cin
672
}
673
 
674
//---------------------------------------------------------------------------
675
//	Red Alert Setup
676
//---------------------------------------------------------------------------
677
 
678
void redalert()
679
{
680
	while( 1 ) {
681
		$world.light_fade( "redalert3", .85, .4 );
682
		wait( .7 );
683
		$player.playsound("sound/redalert.mp3", 1, 1, 11111);
684
		$world.light_fade( "redalert3", .2, .6 );
685
		wait( 1.8 );
686
	}
687
 
688
}
689
 
690
//-------------------------------------------------------------------------
691
// Move the control panels in the computer room
692
//-------------------------------------------------------------------------
693
 
694
void enviromentalcontrols()
695
{
696
	$environmental.moveeast(17);
697
}
698
 
699
void maincomputercontrols()
700
{
701
	$maincomputercontrols.movewest(17);
702
}
703
 
704
void compcontrolsa()
705
{
706
	$computera.moveeast(17);
707
}
708
 
709
void compcontrolsb()
710
{
711
	$computerb.movewest(17);
712
}
713
 
714
//===========================================================================
715
//	Cinematics
716
//===========================================================================
717
 
718
void eng_cin()
719
{
720
 
721
	//---------------------------------------------------------------------------
722
	//	The sequence stopping you from entering engineering
723
	//---------------------------------------------------------------------------
724
	freezeplayer();
725
	cinematic();
726
 
727
	wait(1);
728
 
729
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
730
 
731
	wait(2);
732
 
733
	letterbox ( .1 );
734
 
735
	wait( .05 );
736
 
737
	$player.warp( '277 2667 -254' );
738
 
739
	$mainengdoor.close();
740
	$cam1.follow( $map3_cam1 );
741
	$cam1.cut();
742
	wait( .5);
743
	cuecamera($cam1);
744
	wait(0.5);
745
 
746
	skipthread("skip_eng_cin");
747
 
748
	cam_fadein( 3, 0, 0, 0, 1, 0 );
749
 
750
	$illia.solid();
751
	$illia.show();
752
	$illia.anim( "idle" );
753
	$illia.useactorweapon( "none" );
754
 
755
	wait(24);
756
 
757
	$illia.walkto("$illia_eng_nav1");
758
	waitfor( $illia );
759
	$illia.walkto("$illia_eng_nav2");
760
	waitfor( $illia );
761
	$moya.headwatchtarget( "illia" , 7 );
762
	$illia.walkto("$illia_eng_nav3");
763
	waitfor( $illia );
764
	$illia.walkto("$illia_eng_nav4");
765
	$illia.walkto("$illia_eng_nav5");
766
 
767
	wait(0.1);
768
 
769
	$moya.anim( "idle" );
770
	$moya.useactorweapon( "none" );
771
 
772
	$moya.walkto("$moya_eng_nav1");
773
	waitfor( $moya );
774
	$moya.walkto("$moya_eng_nav2");
775
	waitfor( $moya );
776
	$moya.walkto("$moya_eng_nav3");
777
	waitfor( $moya );
778
 
779
	wait(0.5);
780
 
781
	$moya.playdialog("localization/sound/dialog/map03/moya/sorry.mp3", 1, 10000, 0);// I'm Sorry Ms Ericsson.
782
	waitfordialog( $moya );
783
	$moya.playdialog("localization/sound/dialog/map03/moya/authorized.mp3", 1, 10000, 0);// Only Authorised Personnel May Enter Engineering.
784
	waitfordialog( $moya );
785
 
786
	wait(1);
787
 
788
	$illia.walkto("illia_eng_nav_return");
789
 
790
	wait(1);
791
 
792
	$mainengdoor.close();
793
 
794
	wait(1);
795
 
796
	thread skip_eng_cin();
797
}
798
 
799
void skip_eng_cin()
800
{
801
	killthread("eng_cin");
802
 
803
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
804
	wait(1);
805
 
806
	$moya.walkto("$moya_eng_nav3");
807
	waitfor( $moya );
808
 
809
	$illia.notsolid();
810
	$illia.hide();
811
	$player.warp( '-27 1655 -254');
812
	$moya.useactorweapon( "EnterpriseDatapad" );
813
	$moya.anim( "ent-datapad-use" );
814
	$moya.headwatchtarget( "none" , 7 );
815
 
816
	wait(1);
817
 
818
	noncinematic();
819
	clearletterbox( .1 );
820
	releaseplayer();
821
	cueplayer();
822
 
823
 
824
	wait(0.5);
825
 
826
	cam_fadein( 1, 0, 0, 0, 1, 0 );
827
 
828
	$player.missionobjective( 1 );
829
	//Make the mission objective appear
830
	$player.setobjectivefailed( "gettoengineering", 1 );
831
	$player.setobjectiveshow( "sabotageengines", 1 );
832
}
833
 
834
void com_cin()
835
{
836
 
837
	//---------------------------------------------------------------------------
838
	//	The sequence where you get caught messing with the engines.......Doh!
839
	//---------------------------------------------------------------------------
840
 
841
	freezeplayer();
842
	cinematic();
843
 
844
	wait(1);
845
 
846
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
847
 
848
	wait(2);
849
 
850
	letterbox ( .1 );
851
 
852
	wait( .05 );
853
 
854
	$cam3.follow($map3_cam3);
855
	$cam3.cut();
856
	wait( .5);
857
	cuecamera($cam3);
858
 
859
	skipthread("com_cin_end");
860
 
861
	$bud.notsolid();
862
	$bud.hide();
863
	$buds_case.hide();
864
	$buds_case.notsolid();
865
	$mac.notsolid();
866
	$mac.hide();
867
	$illia_prisoner.show();
868
	$illia_prisoner.solid();
869
	$illia_prisoner.anim("cin-m8_situp");
870
	$comroomdoor.unlock();
871
 
872
	wait(1);
873
 
874
	cam_fadein( 1, 0, 0, 0, 1, 0 );
875
 
876
	wait(1);
877
 
878
	$illia_prisoner.playdialog("localization/sound/dialog/map03/Illia/thesabotage.mp3",1,10000,0);// Sabotaging The Atlantic Was No Big Deal.
879
	waitfordialog( $illia_prisoner );
880
 
902 lars 881
	wait(0.1);
886 lars 882
 
883
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
884
	$player.notsolid();
885
	$player.hide();
886
	$illia2.show();
887
	$illia2.solid();
888
	$moya2.show();
889
	$moya2.solid();
890
	$jcomdoor.close();
891
	$jcomdoor.lock();
892
 
893
	$moya2.useactorweapon( "EnterpriseDatapad" );
894
	$moya2.anim( "ent-datapad-use" );
895
 
896
	$illia2.useactorweapon( "Tricorder" );
897
	$illia2.anim( "tricorder_use_loop" );
898
 
899
	$cam2.follow( $map3_cam2 );
900
	$cam2.cut();
901
	wait(0.5);
902
	cuecamera ( $cam2 );
903
	cam_fadein( 1, 0, 0, 0, 1, 0 );
904
 
905
	wait(7);
906
 
907
	$illia2.useactorweapon( "none" );
908
	$illia2.anim( "idle" );
909
 
910
	$illia2.turntoangle( 125 );
911
	$illia2.walkto("$illia2_com_nav1", "walk" );
912
	waitfor( $illia2 );
913
	$illia2.walkto("$illia2_com_nav2", "walk" );
914
	waitfor( $illia2 );
915
	$illia2.walkto("$illia2_com_nav3", "walk" );
916
	waitfor( $illia2 );
917
 
918
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
919
 
920
	wait(2);
921
	$cam3.follow($map3_cam3);
922
	$cam3.cut();
923
	wait(0.5);
924
	cuecamera($cam3);
925
	cam_fadein( 1, 0, 0, 0, 1, 0 );
926
 
927
	$illia_prisoner.playdialog("localization/sound/dialog/map03/Illia/virus.mp3",1,10000,0);//I Inserted a Virus Into The Main Compute That Was To Stop Every Attempt At Entering Warp For The Next Few Days.
928
	waitfordialog( $illia_prisoner );
929
 
930
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
931
 
932
	wait(2);
933
	$illia2.warp( '-921 1440 -56' );
934
	$cam4.follow( $map3_cam4 );
935
	$cam4.cut();
936
	wait(1.5);
937
	cuecamera ( $cam4 );
938
 
939
	cam_fadein( 1, 0, 0, 0, 1, 0 );
940
 
941
	wait(2);
942
 
943
	$illia2.turntoangle( 90 );
944
	$illia2.walkto("$illia2_eng_nav1", "walk" );
945
	waitfor( $illia2 );
946
	$illia2.walkto("$illia2_eng_nav2", "walk" );
947
	waitfor( $illia2 );
948
	$illia2.walkto("$illia2_eng_nav3", "walk" );
949
	waitfor( $illia2 );
950
	$illia2.useactorweapon( "Tricorder" );
951
	$illia2.anim( "tricorder_use_loop" );
952
 
953
	wait(3);
954
 
955
	$illia2.useactorweapon( "none" );
956
	$illia2.anim( "idle" );
957
 
958
	$illia2.walkto("$illia2_eng_nav4", "walk" );
959
	waitfor( $illia2 );
960
	$illia2.walkto("$illia2_eng_nav5", "walk" );
961
	waitfor( $illia2 );
962
 
963
	$illia2.useactorweapon( "Tricorder" );
964
	$illia2.anim( "tricorder_use_loop" );
965
 
887 lars 966
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
967
 
886 lars 968
	wait(2);
969
 
887 lars 970
	$cam3.follow($map3_cam3);
971
	$cam3.cut();
972
	wait(0.5);
973
	cuecamera($cam3);
974
	cam_fadein( 1, 0, 0, 0, 1, 0 );
975
 
886 lars 976
	$illia2.playdialog("localization/sound/dialog/map03/Illia/complete.mp3",1,10000,0);//When I Was Finished With My Small Manipulation Things Began To Take A Turn For The Worse.
977
	waitfordialog($illia2);
887 lars 978
	wait(2);
886 lars 979
 
887 lars 980
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
981
 
982
	wait(2);
983
 
984
	$cam3.follow($map3_cam5);
985
	$cam3.cut();
986
	wait(0.5);
987
	cuecamera($cam3);
988
	cam_fadein( 1, 0, 0, 0, 1, 0 );
989
 
886 lars 990
	$eng_lift.time(3);
991
	$eng_lift.moveup(201);
992
	$camnode_map3_cam4_6.playsound("sound/ships/enterprise/ent_lift01.wav",1,10000,0);
993
	$eng_lift.playsound("sound/ships/enterprise/ent_lift01.wav",1,10000,0);
994
	$console1.playsound("sound/ships/enterprise/ent_lift01.wav",1,10000,0);
995
	$cam4.playsound("sound/ships/enterprise/ent_lift01.wav",1,10000,0);
996
	waitfor( $eng_lift );
997
	$camnode_map3_cam4_6.playsound("sound/ships/enterprise/ent_lift01_stop.wav",1,10000,0);
998
	$console1.playsound("sound/ships/enterprise/ent_lift01_stop.wav",1,10000,0);
999
	$eng_lift.playsound("sound/ships/enterprise/ent_lift01_stop.wav",1,10000,0);
1000
	$cam4.playsound("sound/ships/enterprise/ent_lift01_stop.wav",1,10000,0);
887 lars 1001
	lift_state=1;
886 lars 1002
 
1003
 
1004
 
1005
	$illia2.useactorweapon( "none" );
1006
	$illia2.anim( "idle" );
1007
 
1008
	$moya2.useactorweapon( "none" );
1009
	$moya2.anim( "idle" );
1010
 
1011
	$moya2.headwatchtarget( "core" , 7 );
1012
 
1013
	$moya2.walkto("$moya2_eng_nav1");
1014
	waitfor( $moya2 );
1015
 
1016
	$moya2.headwatchtarget( "player" , 7 );
1017
 
1018
	wait(1);
1019
 
1020
	$moya2.playdialog("localization/sound/dialog/map03/Moya/msericsson.mp3",1,10000,0);// Ms Ericsson?
1021
	waitfordialog( $moya2 );
1022
	wait(1);
1023
	$moya2.playdialog("localization/sound/dialog/map03/Moya/doing.mp3",1,10000,0);// What Are You Doing?
1024
	waitfordialog( $moya2 );
1025
	wait(1);
1026
	//--- Ensign Moya taps his comm badge and calls security
1027
	$moya2.anim( "tap_comm" );
1028
	waitforanimation( $moya2, "tap_comm" );
1029
	$moya2.anim ("idle");
1030
	$moya2.playdialog("localization/sound/dialog/map03/Moya/security.mp3",1,10000,0);// I Need A Security Team In Engineering.
1031
	waitfordialog( $moya2 );
1032
 
1033
	wait(0.5);
1034
 
1035
	$console1.loopsound( "sound/redalert.mp3" );
1036
	$console2.loopsound( "sound/redalert.mp3" );
1037
	$camnode_map3_cam4_9.loopsound( "sound/redalert.mp3" );
1038
	$camnode_map3_cam4_8.loopsound( "sound/redalert.mp3" );
1039
 
1040
	$alert_green.hide();
1041
	$alert_red.show();
1042
	$engcong.hide();
1043
	$engconr.show();
1044
 
1045
 
1046
	thread redalert();
1047
	$panel_alert_on.show();
1048
	$panel_alert_off.hide();
1049
 
1050
	$illia2.useactorweapon( "Tricorder" );
1051
	$illia2.anim( "tricorder_use_loop" );
1052
 
1053
	$jcomdoor.unlock();
1054
 
1055
	wait(2);
1056
 
1057
	$eng_field.solid();
1058
	$eng_field.show();
1059
	$eng_field.solid();
1060
	$eng_field.playsound( "sound/ships/borg/borg_forcefield_on.wav", 1, 1, 11111 );
1061
	$engdoor1.solid();
1062
	$engdoor1.show();
1063
	$engdoor1.time( 8 );
1064
	$engdoor1.moveUp( 176 );
1065
	eng_door=1;
1066
 
1067
	$player.playsound("localization/sound/dialog/map03/Computer/shutdown_init.mp3", 1, 1, 11111); //System lockdown initialized.
1068
	$eng_field.loopsound( "sound/ships/enterprise/ent_forcefield.wav", .7, 30 );
1069
	wait(2);
1070
 
1071
	com_cin_end();
1072
}
1073
 
1074
void com_cin_end()
1075
{
1076
	killthread("com_cin");
1077
	$eng_field.solid();
1078
	$eng_field.show();
1079
	$eng_field.solid();
902 lars 1080
 
1081
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
1082
	wait(3);
887 lars 1083
	$moya2.show();
1084
	$moya2.solid();
1085
	$moya2.useactorweapon( "none" );
1086
	$moya2.warp( '-1211.00 2080.00 -55.00' );
1087
	$moya2.turntoangle( 90 );
1088
	$moya2.anim ("idle");
1089
	$moya2.headwatchtarget( "player" , 7 );
886 lars 1090
 
887 lars 1091
	if(lift_state==0)
1092
	{
1093
		$eng_lift.time(.1);
1094
		$eng_lift.moveup(201);
1095
	}
1096
 
1097
 
886 lars 1098
	if(eng_door==0)
1099
	{
1100
		$engdoor1.solid();
1101
		$engdoor1.show();
1102
		$engdoor1.time( .1 );
1103
		$engdoor1.moveUp( 176 );
1104
	}
1105
 
1106
	$player.warp( '-1148 1740 -56' );
1107
	$illia2.notsolid();
1108
	$illia2.hide();
1109
	$player.solid();
1110
	$player.show();
1111
	$eng_door3.lock();
1112
	$jack.solid();
1113
	$jack.show();
1114
	$jill.solid();
1115
	$jill.show();
1116
 
1117
 
1118
	wait(2);
1119
 
1120
	noncinematic();
1121
	clearletterbox( .1 );
1122
	releaseplayer();
1123
	cueplayer();
1124
	$player.turntoangle( 90 );
1125
	cam_fadein( 1, 0, 0, 0, 1, 0 );
1126
	//Make the objective complete
1127
	$player.setobjectivecomplete( "sabotageengines", 1 );
1128
	$player.setobjectiveshow("gettocargobay", 1);
1129
	$player.missionobjective(1);
1130
	$near_end.triggerable();
1131
	forcemusic( "action" );
1132
	//-------------------------------------------------------------------------
1133
	// Activates Red Alert and locks and unlocks several doors
1134
	//-------------------------------------------------------------------------
1135
 
1136
	$jdoor2.unlock();
1137
	$secretdoor.lock();
1138
	$secret_red.show();
1139
	$secret_green.hide();
1140
	$jdoor1.lock();
1141
	$jdoor1_red.show();
1142
	$jdoor1_green.hide();
1143
	$jdoor2g.show();
1144
	$jdoor2r.hide();
1145
	$jdoor1_locked.triggerable();
1146
	$jdoor2_locked.nottriggerable();
1147
	$secret_locked.triggerable();
1148
	$secrettrigger.nottriggerable();
1149
	$cargotubedoor.lock();
1150
	$jdoorpanel1.movesouth(3);
1151
	$exitdoor.unlock();
1152
	$exitdoor_sound.nottriggerable();
1153
 
1154
 
1155
	//-------------------------------------------------------------------------
1156
	// Close Off Access To Engineering
1157
	//-------------------------------------------------------------------------
1158
 
1159
	$mainengdoor.lock();
1160
	$mainengdoor2.lock();
1161
	$cargodoors.lock();
1162
	$cargodoors_sound.triggerable();
1163
	$exitdoor.unlock();
1164
 
1165
	$roof_hatch.hide();
1166
	$roof_hatch.notsolid();
1167
	$roof_hatch_floor.show();
1168
	$roof_hatch_floor.solid();
1169
	$roof_hatch_cover.show();
1170
	$roof_hatch_cover.solid();
1171
 
1172
	wait(2);
1173
 
1174
	$jdoorpanel1.movedown(70);
1175
	$cargobaydoor.lock();
1176
 
1177
	// Make security team attack player
1178
	AIShowGroup    ( 666, "Federation" );
1179
	$warn.triggerable();
902 lars 1180
 
1181
	//Patch Update 07.sep.2007 @ Chrissstrahl
1182
	$jcomdoor.unlock();
1183
 
886 lars 1184
}
1185
 
1186
void warning()
1187
{
1188
	$security2.playdialog("localization/sound/dialog/map03/lee/shoot.mp3",  1, 10000, 0);
1189
	waitfordialog($security2);
1190
	$attack.triggerable();
1191
}
1192
 
1193
void attack_p()
1194
{
1195
	CommandToGroup ( 666 , "groupactortype" , "enemy" , "");
1196
	CommandToGroup ( 666 , "visiondistance" , "20000" , "" );
1197
	CommandToGroup ( 666 , "fov" , "360" , "" );
1198
	CommandToGroup ( 666 , "attack" , "$player" , "" );
1199
	$security1.show();
1200
	$security1.solid();
1201
	$security2.show();
1202
	$security2.solid();
1203
	$security1.ai_on();
1204
	$security2.ai_on();
1205
	//Make security team visible
1206
	$security1.attack($player);
1207
	$security2.attack($player);
1208
}
1209