Subversion-Projekte sthq.gbs

Revision

Revision 880 | Revision 889 | Zur aktuellen Revision | Details | Vergleich mit vorheriger | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
606 TickNSwist 1
// EF2 Level Script File
2
//
665 lars 3
// Level:		map09.bsp
888 lars 4
// Script By:		DrBob & Argyle & TickNSwisted & Sam "Bicko" Bickley & LTiefland & Chrissstrahl
5
// Geometry By:		TickNSwisted & Argyle & Sam "Bicko" Bickley
6
// Created on:		02/04/04
7
// Last Edited on:		03.02.2006
8
// Last Edited By:		ltiefland
606 TickNSwist 9
//**************************************************************************
855 Avenger 10
//   MAP 9SCRIPT
606 TickNSwist 11
//**************************************************************************
12
//INCLUDES
855 Avenger 13
#include "maps/global_scripts/global_common.scr"
14
#include "maps/global_scripts/global_archetype.scr"
606 TickNSwist 15
#include "maps/global_scripts/global_playerLoadout.scr"
16
 
855 Avenger 17
//NOTES
18
/*
19
sound/doors/door_locked.wav
20
sound/ships/romulan/rom_beep_yes.wav
21
sound/ships/romulan/rom_beep_no.wav
22
sound/ships/romulan/rom_beep_activate.wav
23
sound/ships/romulan/rom_redalert.wav
24
*/
25
 
26
 
27
//VARS
28
//**************************************************************************
29
float romulan1_active;
30
float elevator1_pos = 1;
31
float door_01_pos = 1;
32
float lift_02_pos = 0;
33
 
34
 
35
//STAGE 0
36
void main();
37
void setupWorld();
38
 
39
//STAGE 1
40
void granade_romulan1();
41
void fire_lift_01() ;
42
void lift_01_romulaner();
43
//
606 TickNSwist 44
void fire_lift_01();
45
void fire_lift_02();
46
void fire_lift_03();
47
void fire_ff_01();
48
void fire_steam_01();
49
void fire_steam_02();
855 Avenger 50
//
606 TickNSwist 51
void cin_cells();
628 ticknswist 52
void cin_cells_skip();
855 Avenger 53
//
772 avenger 54
void shuttle_entrance();
55
void shuttle_entrance_skip();
855 Avenger 56
//
628 ticknswist 57
void cin_shuttle();
58
void cin_shuttle_skip();
812 lars 59
void stammheimEnteringShuttle();
60
void illiaEnteringShuttle();
61
 
62
 
606 TickNSwist 63
 
64
 
855 Avenger 65
void fire_lift_02 ()
66
{
67
	if ( lift_02_pos == 0 )
68
	{
69
		$lift_02.playsound ( "sound/environment/machine/lift3.wav" );
70
		$lift_02.time ( 4 );
71
		$lift_02.movedown ( 280 );
72
		wait ( 4 );
73
		$lift_02.playsound ( "sound/environment/machine/lift3stop.wav" );
74
		wait ( 3 );
75
		lift_02_pos = 1;
76
	}
77
	else
78
	{
79
		if ( lift_02_pos == 1 )
80
		{
81
			$lift_02.playsound ( "sound/environment/machine/lift3.wav" );
82
			$lift_02.time ( 4 );
83
			$lift_02.moveup ( 280 );
84
			wait ( 4 );
85
			$lift_02.playsound ( "sound/environment/machine/lift3stop.wav" );
86
			wait ( 3 );
87
			lift_02_pos = 0;
88
		}
89
	}
90
}
606 TickNSwist 91
 
92
void fire_lift_03 ()
93
{
855 Avenger 94
	$lift_03.playsound ( "sound/environment/machine/lift3.wav" );
95
	$lift_03.time ( 3 );
96
	$lift_03.moveup ( 262 );
97
	wait ( 3 );
98
	$lift_03.playsound ( "sound/environment/machine/lift3stop.wav" );
99
	wait ( 4 );
100
	$lift_03.playsound ( "sound/environment/machine/lift3.wav" );
101
	$lift_03.time ( 3 );
102
	$lift_03.movedown ( 262 );
103
	wait ( 3 );
104
	$lift_03.playsound ( "sound/environment/machine/lift3stop.wav" );
105
	wait ( 3 );
606 TickNSwist 106
}
107
 
108
void fire_baydoors ()
109
{
855 Avenger 110
	$bay_door_01.playsound ( "sound/environment/machine/lift4.wav");
111
	$bay_door_01.time ( 5 );
112
	$bay_door_01.movenorth ( 500 );
113
	$bay_door_02.time ( 5 );
114
	$bay_door_02.movesouth ( 500 );
115
	wait ( 5 );
116
	$bay_door_01.playsound ( "sound/environment/machine/lift4stop.wav" );
606 TickNSwist 117
}
118
 
119
void fire_ff_01 ()
855 Avenger 120
//Removes the ff to the controll center.
121
{
122
	$trigger_ff.playsound( "sound/ships/romulan/rom_beep_activate.wav" );
123
	wait( 2 );
124
 
125
	$sparks_ff.selfdetonate();
126
	wait( 0.1 );
127
	$device_ff_origin.angles( '90 -90 0' );
128
	$ff_01.remove ();
129
	$sparks_ff.show();
130
	$cable_ff.show();
131
	wait( 3 );
606 TickNSwist 132
}
133
 
134
 
135
void fire_steam_01()
136
{
855 Avenger 137
	$knob_steam_01.rotateZ(50);
138
	//  $knob_steam_01.movenorth(1);
139
	$knob_steam_01.playsound( "sound/environment/metal/crank_switch.wav" );
140
	wait(1);
141
	$knob_steam_01.rotateZ(0);
142
	$trig_steam_01.nottriggerable();
143
	$enty_steam_01.remove ();
606 TickNSwist 144
}
145
 
146
void fire_steam_02()
147
{
855 Avenger 148
	$knob_steam_02.rotateX(64);
149
	//  $knob_steam_02.movenorth(1);
150
	$knob_steam_02.playsound( "sound/environment/metal/crank_switch.wav" );
151
	wait(1);
152
	$knob_steam_02.rotateX(0);
153
	$trig_steam_02.nottriggerable();
154
	$enty_steam_02.remove ();
606 TickNSwist 155
}
156
 
157
//**************************************************************************
158
//MAIN
159
//**************************************************************************
160
void main()
161
{
855 Avenger 162
	soundtrack( "music/map9.mus" );
163
	$sky.rendereffects( "+skyorigin" );
164
	thread setupWorld();
165
 
166
	//Wait for the Player to be Ready
167
	waitForPlayer();
168
 
169
	//Equip developers with something special, like tricorder to chek all the model archetypes
877 lars 170
/*	if( getCvar( "developer" ) == "1" )
855 Avenger 171
	{
172
		$player.give ( "models/weapons/worldmodel-tricorder-STX.tik" );
173
		stuffcmd( "sv_showInfo", "1" );
174
		stuffcmd( "sv_showInfodist", "512" );
877 lars 175
	}*/ //Removed by Chrissstrahl for beta3 relase
855 Avenger 176
 
177
 
178
	//Euip player with weapons
888 lars 179
	$player.turn(45,.1);//BUGFIX, spawnpoint sux
855 Avenger 180
	$player.give( "models/weapons/worldmodel-compressionrifle.tik" );
181
	$player.give( "models/weapons/worldmodel-rom-disruptor.tik" );
606 TickNSwist 182
 
855 Avenger 183
	//Give some Ammo
184
	$player.ammo( "Plasma", 200 );
185
	$player.armor( "BasicArmor", 100 );
186
 
187
	//Make the player use this weapon now
188
	$player.use( "romulanDisruptor" );
189
 
190
	//Show the mission objective
191
	$player.setobjectiveshow( "findstammheim", 1 );
192
	wait( 1.5 );
606 TickNSwist 193
}
194
 
195
void setupWorld()
855 Avenger 196
{
197
	//Setup The Archetypes
198
	thread globalArchetype_Setup( $console_0, "RomulanGenericUsableConsole");
199
	thread globalArchetype_Setup( $console_1, "RomulanSecurityUsableConsole");
200
	thread globalArchetype_Setup( $console_2, "RomulanGenericUsableConsole");
201
	thread globalArchetype_Setup( $console_3, "RomulanSecurityUsableConsole");
202
 
203
	//Setup The OnUse Threads
204
	thread globalCommon_OnUse( $trigger_fire_lift_01, "lift_01_romulaner" );
205
 
206
	//Loop Sounds
207
	$stammheim_forcefield.loopsound( "sound/ships/enterprise/ent_forcefield.wav" , 1, 125 );
208
 
209
	//Force Field Generator Device (Not the ventilator system)
210
	$device_ff.bind( $device_ff_origin );
211
	$sparks_ff.hide();
212
	$cable_ff.hide();
213
	$device_ff_origin.angles( '0 -90 0' );
214
 
215
	//Granade Romulaner
216
	$romulan1.ai_off();//Sleep till we need you
217
 
218
	//TEMORARY -> Lock Cell Door and disable cinematics
219
	//Till player finds the console to unlock the cell
220
	$cell_door.lock();
221
	$trigger_cin_cells.nottriggerable();
222
	//Lock door for the shuttlebay
223
	$baydoor.lock();
224
 
225
	//Cells, outside gards
226
	$romulan2.ai_off();
227
	$romulan3.ai_off();
228
	$romulan4.ai_off();
229
	$romulan2.hide();
230
	$romulan3.hide();
231
	$romulan4.hide();
232
	$romulan2.notsolid();
233
	$romulan3.notsolid();
234
	$romulan4.notsolid();
235
 
236
	//Video Screen
786 lars 237
	$screen_on.hide();
855 Avenger 238
    $screen_pattern.show();
239
 
240
	//Shuttle, Romulan Patrols
785 lars 241
	$shuttle_attacker1.ai_off();
242
	$shuttle_attacker2.ai_off();
243
	$shuttle_attacker3.ai_off();
244
	$shuttle_attacker4.ai_off();
784 lars 245
	$shuttle_attacker1.hide();
855 Avenger 246
	$shuttle_attacker2.hide();
247
	$shuttle_attacker3.hide();
248
	$shuttle_attacker4.hide();
784 lars 249
	$shuttle_attacker1.notsolid();
250
	$shuttle_attacker2.notsolid();
251
	$shuttle_attacker3.notsolid();
252
	$shuttle_attacker4.notsolid();
772 avenger 253
 
855 Avenger 254
	//Shuttle, Bind Models
829 lars 255
	$drull_shuttle.bind($shuttle_bind);
256
	$shuttle_main.bind($shuttle_bind);
606 TickNSwist 257
 
829 lars 258
	//Change the player's model
259
	$player.model( "char/hazardteam_jurot.tik" );
606 TickNSwist 260
 
829 lars 261
	//Load the mission objectives
262
	$player.loadobjectives( "GBS10" );
263
 
855 Avenger 264
	//Make Stammheim so that he isn't allowed to be killed by you
265
	$stammheim.not_allowed_to_kill();
606 TickNSwist 266
 
855 Avenger 267
	//Remove Stammheim's toy
268
	$stammheim.removeactorweapon( "CompressionRifle" );
606 TickNSwist 269
 
855 Avenger 270
	$illia_cockpit.removeactorweapon( "CompressionRifleEnhanced" );
271
	$stammheim_cockpit.removeactorweapon( "CompressionRifle" );
772 avenger 272
 
273
 
855 Avenger 274
	//Spawn cameras
275
	spawn( "Camera", "targetname", "cam1" );
784 lars 276
	spawn( "Camera", "targetname", "cam2" );
855 Avenger 277
	spawn( "Camera", "targetname", "cam3" );
278
	spawn( "Camera", "targetname", "cam4" );
279
	spawn( "Camera", "targetname", "cam5" );
280
	spawn( "Camera", "targetname", "cam6" );
281
	spawn( "Camera", "targetname", "cam7" );
282
	spawn( "Camera", "targetname", "cam8" );
606 TickNSwist 283
 
855 Avenger 284
	//Remove NPCs AI
285
	$stammheim.ai_off();
286
	$stammheim_cockpit2.ai_off();
287
	$stammheim_cockpit2.hide();
288
	$stammheim_cockpit.ai_off();
289
	$illia_cockpit.ai_off();
290
	$imdead.ai_off();
291
	$arrest1.ai_off();
292
	$arrest2.ai_off();
293
	$arrest3.ai_off();
294
	$arrest4.ai_off();
606 TickNSwist 295
 
855 Avenger 296
	//Set NPCs sides
297
	$stammheim.actortype( "teammate" );
298
	$player.addrosterteammate1( $stammheim );
606 TickNSwist 299
 
855 Avenger 300
	//Make it so that Romulans wont attack Stammheim, only you
301
	$stammheim.flags( "+notarget" );
772 avenger 302
 
855 Avenger 303
	//Make Stammheim a mission target
304
	$stammheim.missionobjective( 1 );
305
 
306
	//Setup NPC animations
307
	$stammheim.anim( "idle_breathing" );
308
	$imdead.anim("dead_in_captain_chair");
309
 
310
	//Setup NPC facial animation
311
	$stammheim.morph( "exp_eyes_heavy" );
312
	$stammheim.morph( "exp_Nervous" );
313
	$stammheim.morph( "exp_Fear" );
314
	$stammheim.morph( "exp_Sad" );
315
 
316
	$entrance_trigger.nottriggerable();
317
	$trigger_final.nottriggerable();
318
 
319
	//Make NPCs non-pushable
320
 
321
	//Loop redalert Sound
322
	//$player.loopsound("sound/ships/romulan/rom_redalert.wav", 1 );
323
}
324
 
325
 
326
//STAGE 1
327
//**************************************************************************
328
// Reach the lift
329
//**************************************************************************
330
 
331
void granade_romulan1()
332
//Romulan Grenadier
333
{
334
	//Chek if he is still alive, then make him think
335
	if( doesEntityExist( $romulan1 ) )
336
	{
337
		$romulan1.ai_on();
338
	}
339
}
340
 
341
void fire_lift_01()
342
{
343
	//Check if the grenadier is still allive, if make him sleep
344
	//ELSE he will make noise all the time
345
	if( doesEntityExist( $romulan1 ) )
346
	{
347
		$romulan1.sleep();
348
	}
349
 
350
	//Check if the Lift was active
351
	if( romulan1_active != 1 )
352
	{
353
		thread lift_01_romulaner();
354
		romulan1_active = 1;
355
	}
356
	//Move the lift down, lock the trigger, wait and move the lift up again
357
	$trigger_fire_lift_01.nottriggerable();
358
	$lift_01.playsound ( "sound/environment/machine/lift3.wav" );
359
	$lift_01.time ( 6 );
360
	$lift_01.movedown ( 432 );
361
	wait ( 6 );
362
	$lift_01.playsound ( "sound/environment/machine/lift3stop.wav" );
363
 
364
	wait ( 5 );
365
 
366
	$lift_01.playsound ( "sound/environment/machine/lift3.wav" );
367
	$lift_01.time ( 6 );
368
	$lift_01.moveup ( 432 );
369
	wait ( 6 );
370
	$lift_01.playsound ( "sound/environment/machine/lift3stop.wav" );
371
	$trigger_fire_lift_01.triggerable();
606 TickNSwist 372
}
373
 
855 Avenger 374
 
375
void lift_01_romulaner()
376
{
377
	//Spawn a Romulan Solider at the lift01
378
	$romulan2.ai_on();
379
	$romulan2.displayeffect( "TransportIn", "Romulan" );
380
	$romulan2.show();
381
	wait( 2 ); //Wait a moment to simulate the transporter effect
382
	$romulan2.solid();
383
}
384
 
385
 
386
 
387
//STAGE 2
388
//**************************************************************************
389
// Manage to open the hall door
390
//**************************************************************************
391
 
392
void secret_dancer1()
393
//Secret dancer, if player enters the room she starts dancing
394
{
395
	//Let her dance
396
	while( doesEntityExist( $dancer1 ) )
397
	{
398
		$dancer1.anim( "dance1" );
399
		wait( 10 );
400
	}
401
}
402
 
403
void grp_hall_door()
404
//Unlock and open the hall door for stage 3
405
{
857 lars 406
	cam_fadeout( 0.1, 0, 0, 0, 1, 0 );
407
	$cam2.follow( $entrance );
408
	$cam2.cut();
409
	cinematic();
410
	freezeplayer();
411
	letterbox( 0.5 );
412
	wait( 0.5 );
413
 
414
	cam_fadein( 1, 0, 0, 0, 1, 0 );
415
	wait( 0.1 );
416
	cuecamera($cam2);
855 Avenger 417
	$trigger_grp_hall_door.nottriggerable();
418
	$grp_hall_door.unlock();
419
	$grp_hall_door.open( $trigger_grp_hall_door );
857 lars 420
	triggerentity($door_sound);
421
	wait(3);
422
	noncinematic();
423
	clearletterbox( 0.1 );
424
 
425
	releaseplayer();
426
	cueplayer();
427
 
428
	wait( 0.1 );
429
 
430
	cam_fadein( 0.1, 0, 0, 0, 1, 0 );
855 Avenger 431
}
432
 
433
//STAGE 3
434
//**************************************************************************
435
// -
436
//**************************************************************************
437
void grp_hall_door_lock()
438
//lock and open the hall door
439
{
440
	$grp_hall_door.close();
441
	$grp_hall_door.lock();
442
}
443
 
444
void unlock_cells()
445
{
446
	$trigger_unlock_cells.playsound("sound/ships/romulan/rom_beep_yes.wav", 1, 1, 10 );
447
	$trigger_cin_cells.triggerable();
448
	$cell_door.unlock();
449
	$romulan3.show();
450
	$romulan3.solid();
451
	$romulan3.ai_on();
452
}
606 TickNSwist 453
//CINEMATIC FUNCTIONS
454
void cin_cells()
855 Avenger 455
{
456
	//Unlock Bay Door,
457
	$baydoor.unlock();
458
 
459
	//Activate a nother soldier (he will patrol until player comes in viewrange)
460
	$romulan4.show();
461
	$romulan4.solid();
462
	$romulan4.ai_on();
463
 
464
 
465
	skipthread( "cin_cells_skip" );
466
	cam_fadeout( 0.1, 0, 0, 0, 1, 0 );
606 TickNSwist 467
 
855 Avenger 468
	//Make Illia holster any weapon she might have acquired
888 lars 469
	$player.holster();
470
	$player.immobilize(1);
471
	$player.droptofloor();
472
	wait(.1);
855 Avenger 473
	//Bring up a fake player model
474
	fakeplayer();
606 TickNSwist 475
 
855 Avenger 476
	//Make the fakeplayer use the same weapon as you
477
	globalCommon_AiActorUseWeapon( $fakeplayer, "current" );
606 TickNSwist 478
 
855 Avenger 479
	//Initialize the fake player
480
	$fakeplayer.strictlyfollowpath( 1 );
481
	$stammheim.strictlyfollowpath( 1 );
606 TickNSwist 482
 
855 Avenger 483
	$cam1.follow( $cin_cells_cam1_pos1, $fakeplayer );
484
	$cam1.cut();
606 TickNSwist 485
 
855 Avenger 486
	//Make it a cinematic
487
	cinematic();
488
	letterbox( 0.5 );
606 TickNSwist 489
 
855 Avenger 490
	wait( 0.5 );
606 TickNSwist 491
 
855 Avenger 492
	cam_fadein( 1, 0, 0, 0, 1, 0 );
493
	wait( 0.1 );
494
	cuecamera($cam1);
606 TickNSwist 495
 
855 Avenger 496
	//Make Illia walk up to the doors
497
	$fakeplayer.walkto( "$cin_cells_illia_pos_enter" );
498
	waitFor( $fakeplayer );
606 TickNSwist 499
 
855 Avenger 500
	//Open the door
501
	//thread fire_door_01();
606 TickNSwist 502
 
855 Avenger 503
	//Make the camera pan down to look through the door
504
	$cam1.follow( $cin_cells_cam1_pos2 );
606 TickNSwist 505
 
855 Avenger 506
	//Make Illia hesitate slightly
507
	wait( 0.3 );
508
	cuecamera($cam1);
606 TickNSwist 509
 
855 Avenger 510
	//Make Illia walk to inside the cell room
511
	//$fakeplayer.walkto( "$cin_cells_illia_pos_inside", "run", 0, -1 );
512
	$fakeplayer.walkto( "$cin_cells_illia_pos_inside" );
513
	waitFor( $fakeplayer );
514
	$fakeplayer.headwatch( $stammheim );
515
	$fakeplayer.walkto( "$cin_cells_illia_pos_nearcell" );
516
	wait( 1 );
606 TickNSwist 517
 
855 Avenger 518
	//Close the door again, just to be tidy
519
	//fire_door_01();
606 TickNSwist 520
 
855 Avenger 521
	//Fade the camera out
522
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
523
	wait( 2 );
606 TickNSwist 524
 
855 Avenger 525
	//Setup the camera inside the cell room
526
 
527
	$cam1.follow( $cin_cells_cam1_pos3 );
528
	$cam1.cut();
606 TickNSwist 529
 
855 Avenger 530
	wait( 1 );
531
	cuecamera($cam1);
606 TickNSwist 532
 
855 Avenger 533
	cam_fadein( 0.1, 0, 0, 0, 1, 0 );
606 TickNSwist 534
 
855 Avenger 535
	//POSSIBLE ANIMATIONS FOR STAMMHEIM:
536
	//   cheer              :   Arms above head
537
	//   conv-embarrassment :   Head in hands
538
	//   conv-gesture1      :   Looking around, scared
539
	//   conv-laugh1        :   Pain
540
	//   conv-look          :   Looking around, scared
541
	//   conv-shakehead     :   Pain in head, voices
542
	//   idle_breathing     :   Hard to breathe
606 TickNSwist 543
 
855 Avenger 544
	//Illia: Stammheim.
545
	$fakeplayer.morph( "exp_Relief" );
546
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/stammheim.mp3", 1, 10000, 0 );
547
	waitForDialog( $fakeplayer );
548
	$fakeplayer.unmorph( "exp_Relief" );
606 TickNSwist 549
 
855 Avenger 550
	wait( 0.5 );
606 TickNSwist 551
 
855 Avenger 552
	//Turn Stammheim towards the player
553
	$stammheim.turntowardsplayer();
554
	$stammheim.headwatch( $fakeplayer );
606 TickNSwist 555
 
855 Avenger 556
	wait( 0.5 );
606 TickNSwist 557
 
855 Avenger 558
	//Stammheim: Who...who are you?
559
	$stammheim.playdialog( "localization/sound/dialog/map09/Stammheim/whoareyou.mp3", 2, 10000, 0 );
560
	waitForDialog( $stammheim );
606 TickNSwist 561
 
855 Avenger 562
	//Start the camera panning up on Illia
563
	$cam1.follow( $cin_cells_cam1_pos4 );
564
	$cam1.cut();
606 TickNSwist 565
 
855 Avenger 566
	//Illia: You know me Stammheim.
567
	$fakeplayer.anim( "conv-gesture1" );
568
	$fakeplayer.morph( "exp_Skeptical" );
569
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/youknowme.mp3", 1, 10000, 0 );
570
	waitForDialog( $fakeplayer );
571
	$fakeplayer.anim( "idle" );
606 TickNSwist 572
 
855 Avenger 573
	//Illia: The mission on Cardassia Prime?
574
	$fakeplayer.anim( "conv_shrug" );
575
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/cardassiaprime.mp3", 1, 10000, 0 );
576
	waitForDialog( $fakeplayer );
577
	$fakeplayer.anim( "idle" );
606 TickNSwist 578
 
855 Avenger 579
	wait( 0.5 );
606 TickNSwist 580
 
855 Avenger 581
	//Illia: Doesn't that ring a bell?
582
	$fakeplayer.unmorph( "exp_Skeptical" );
583
	$fakeplayer.morph( "exp_Confused" );
584
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/ringabell.mp3", 1, 10000, 0 );
585
	waitForDialog( $fakeplayer );
606 TickNSwist 586
 
855 Avenger 587
	wait( 0.5 );
606 TickNSwist 588
 
855 Avenger 589
	//Pointing at Stammheim through the forcefield
590
	$cam1.follow( $cin_cells_cam1_pos5 );
591
	$cam1.cut();
606 TickNSwist 592
 
855 Avenger 593
	//Stammheim: No more questions...please...please...
594
	$stammheim.anim( "conv-shakehead" );
595
	$stammheim.playdialog( "localization/sound/dialog/map09/Stammheim/noquestions.mp3", 2, 10000, 0 );
596
	waitForDialog( $stammheim );
606 TickNSwist 597
 
855 Avenger 598
	wait( 1.5 );
599
 
600
	//Stammheim: My head...
601
	$stammheim.anim( "cheer" );
602
	$stammheim.morph( "exp_Pain" );
603
	$stammheim.playdialog( "localization/sound/dialog/map09/Stammheim/myhead.mp3", 2, 10000, 0 );
604
	waitForAnimation( $stammheim, "cheer" );
605
	$stammheim.anim( "idle" );
606
	waitForDialog( $stammheim );
607
 
608
	//Stammheim: The Romulan said the pain would stop...but it hasn't.
609
	$stammheim.anim( "conv-shakehead" );
610
	$stammheim.playdialog( "localization/sound/dialog/map09/Stammheim/painstop.mp3", 2, 10000, 0 );
611
	waitForDialog( $stammheim );
612
 
613
	wait( 0.5 );
614
 
615
	//Looking at Illia
616
	$cam1.follow( $cin_cells_cam1_pos6, $fakeplayer );
617
	$cam1.cut();
618
 
619
	//Illia: The Romulans didn't exactly handle him with kid gloves, it seems.
620
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/romulans.mp3", 1, 10000, 0 );
621
	waitForDialog( $fakeplayer );
622
	$fakeplayer.unmorph( "exp_Confused" );
623
	$fakeplayer.morph( "exp_Serious" );
624
 
625
	wait( 0.5 );
626
 
627
	//Make Illia walk over to the console & deactivate the forcefield
628
	$fakeplayer.walkto( "$cin_cells_illia_pos_console" );
629
	waitFor( $fakeplayer );
630
 
631
	wait( 0.1 );
632
 
633
	//Make Illia use the console and play a sound
634
	//$fakeplayer.turntowardsentity( $console );
635
	$fakeplayer.headwatch( $console );
636
	$fakeplayer.turntoangle( 0 );
637
	waitFor( $fakeplayer );
638
	$fakeplayer.anim( "ent-transporter-rear-gesture" );
639
	$console.playsound( "sound/ships/romulan/rom_beep_yes.wav", 0, 1 );
640
 
641
	$cam1.lookat( $fakeplayer );
642
 
643
	waitForAnimation( $fakeplayer, "ent-transporter-rear-gesture" );
644
	$fakeplayer.anim( "idle" );
645
 
646
	$cam1.follow( $cin_cells_cam1_pos7, $stammheim );
647
	$cam1.cut();
648
 
649
	//Stop the forcefield sound, and play the forcefield_down sound
650
	$stammheim_forcefield.stoploopsound();
651
	$stammheim_forcefield.playsound( "sound/ships/enterprise/ent_forcefield_down.wav", 0, 1 );
652
	$stammheim_forcefield.remove();
653
 
654
	wait( 0.1 );
655
 
656
	//Illia: Come on Alexander. I'll get you out of here.
657
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/comeonalexander.mp3", 1, 10000, 0 );
658
	waitForDialog( $fakeplayer );
659
 
660
	//Illia: Try to follow me, ok?
661
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/follow.mp3", 1, 10000, 0 );
662
	waitForDialog( $fakeplayer );
663
 
664
	wait( 1 );
665
 
666
	//Illia: Do you understand?
667
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/understood.mp3", 1, 10000, 0 );
668
	$stammheim.anim( "idle_breathing" );
669
	waitForDialog( $fakeplayer );
670
 
671
	wait( 1.5 );
672
 
673
	//Stammheim: Follow...Yes...
674
	$stammheim.anim( "conv-yes" );
675
	$cam1.follow( $cin_cells_cam1_posstammheim, $stammheim );
676
	//$cam1.cut();
677
	$stammheim.playdialog( "localization/sound/dialog/map09/Stammheim/follow.mp3", 2, 10000, 0 );
678
	waitForDialog( $stammheim );
679
	$stammheim.anim( "idle_breathing" );
680
 
681
	wait( 0.5 );
682
 
683
	//Stammheim: Follow...
684
	$stammheim.playdialog( "localization/sound/dialog/map09/Stammheim/follow2.mp3", 2, 10000, 0 );
685
	wait( 1 );
686
 
687
	cin_cells_skip();
606 TickNSwist 688
}
689
 
690
void cin_cells_skip()
691
{
855 Avenger 692
	skipthread( "Null" );
693
	killthread( "cin_cells" );
888 lars 694
	$player.immobilize(0);
855 Avenger 695
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
696
	wait( 2 );
606 TickNSwist 697
 
855 Avenger 698
	//Remove all evidence of before the cin
699
	$stammheim_forcefield.remove();
700
	$fakeplayer.warpto( "$cin_cells_illia_pos_inside" );
701
	removefakeplayer();
606 TickNSwist 702
 
855 Avenger 703
	//End the cinematic
704
	noncinematic();
705
	clearletterbox( 0.1 );
706
	cueplayer();
707
	wait( 0.1 );
708
 
709
	cam_fadein( 0.1, 0, 0, 0, 1, 0 );
606 TickNSwist 710
 
855 Avenger 711
	//Now that the cinematic is over, make Stammheim follow you
712
	$stammheim.ai_on();
606 TickNSwist 713
 
855 Avenger 714
	//Unholster the crap
715
	$player.holster();
716
 
717
	//Make the objective complete
718
	$player.setobjectivecomplete( "findstammheim", 1 );
719
	$stammheim.missionobjective( 0 );
720
 
721
	//Show the new objective
722
	$player.setobjectiveshow( "escapewithshuttle", 1 );
723
 
724
	$entrance_trigger.triggerable();
606 TickNSwist 725
}
628 ticknswist 726
 
772 avenger 727
void shuttle_entrance()
728
{
855 Avenger 729
	skipthread( "shuttle_entrance_skip" );
730
	cam_fadeout( 0.1, 0, 0, 0, 1, 0 );
628 ticknswist 731
 
855 Avenger 732
	//Make Illia holster any weapon she might have acquired
733
	$player.holster();
772 avenger 734
 
855 Avenger 735
	//Bring up a fake player model
736
	fakeplayer();
737
	$stammheim.ai_off();
772 avenger 738
 
855 Avenger 739
	$fakeplayer.warpto( "$shuttle_cin_illia" );
740
	$stammheim.warpto( "$shuttle_cin_stammheim" );
772 avenger 741
 
855 Avenger 742
	//Make the fakeplayer use the same weapon as you
888 lars 743
	$fakeplayer.removeactorweapon ( "BurstRifle" );
855 Avenger 744
	globalCommon_AiActorUseWeapon( $fakeplayer, "current" );
745
 
746
	$cam3.follow( $cin_enter_shuttle, $fakeplayer );
747
	$cam3.cut();
748
 
749
	//Make it a cinematic
750
	cinematic();
751
	letterbox( 0.5 );
752
 
753
	wait( 0.5 );
754
 
755
	cam_fadein( 1, 0, 0, 0, 1, 0 );
756
	wait( 0.1 );
757
	cuecamera($cam3);
758
 
759
 
760
	//Make Illia walk to the shuttle
761
	//$fakeplayer.strictlyfollowpath(1);
762
	//################################
763
	//Entering Shuttle
764
	thread illiaEnteringShuttle();
765
	stammheimEnteringShuttle();
766
 
767
 
768
	cam_fadeout( 0.1, 0, 0, 0, 1, 0 );
769
	$illia_cockpit.show();
809 lars 770
	$illia_cockpit.solid();
855 Avenger 771
	$stammheim_cockpit.show();
809 lars 772
	$stammheim_cockpit.solid();
855 Avenger 773
	$cam4.follow( $cam_cockpit );
774
	$cam4.cut();
775
	cam_fadein( 1, 0, 0, 0, 1, 0 );
776
	wait( 0.1 );
777
	cuecamera($cam4);
814 lars 778
	//Cockpit
779
	$illia_cockpit.walkto( "$shuttle_illia01" );
780
	$stammheim_cockpit.walkto( "$shuttle_stammheim01" );
781
	waitfor($stammheim_cockpit);
855 Avenger 782
	$stammheim.notsolid();
783
	$stammheim.hide();
782 lars 784
 
855 Avenger 785
	$illia_cockpit.playdialog( "localization/sound/dialog/map09/Illia/sitdownalexander.mp3", 2, 10000, 0 );
786
	waitForDialog( $illia_cockpit );
787
	$illia_cockpit.playdialog( "localization/sound/dialog/map09/Illia/doorsofshuttlebay.mp3", 2, 10000, 0 );
788
	waitForDialog( $illia_cockpit );
789
	wait(1.5);
790
	$stammheim_cockpit.playdialog( "localization/sound/dialog/map09/Stammheim/myhead2.mp3", 2, 10000, 0 );
791
	waitForDialog( $stammheim_cockpit );
792
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
772 avenger 793
 
855 Avenger 794
	$fakeplayer.warpto("$shuttle_exit1");
795
	$cam5.follow( $shuttle_exit_cin, $fakeplayer );
796
	$cam5.cut();
797
	wait(.5);
798
	cuecamera($cam5);
799
	cam_fadein( 1, 0, 0, 0, 1, 0 );
800
	$fakeplayer.walkto("$shuttle_exit2");
801
	waitfor( $fakeplayer );
802
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/deja-vu.mp3", 2, 10000, 0 );
803
	waitfordialog( $fakeplayer );
772 avenger 804
 
855 Avenger 805
	shuttle_entrance_skip();
806
}
772 avenger 807
 
808
 
809
void shuttle_entrance_skip()
810
{
855 Avenger 811
	skipthread( "Null" );
812
	killthread( "shuttle_entrance" );
813
	$stammheim.remove();
814
	$illia_cockpit.remove();
815
	$stammheim_cockpit.remove();
816
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
772 avenger 817
 
855 Avenger 818
	wait( 2 );
772 avenger 819
 
855 Avenger 820
	//Lock door for the shuttlebay
821
	$baydoor.close();
822
	$baydoor.lock();
823
	$fakeplayer.warpto( "$shuttle_exit2" );
824
	removefakeplayer();
825
	$player.holster();
772 avenger 826
 
855 Avenger 827
	//End the cinematic
828
	noncinematic();
829
	clearletterbox( 0.1 );
830
	cueplayer();
772 avenger 831
 
855 Avenger 832
	wait( 0.1 );
833
 
834
	cam_fadein( 0.1, 0, 0, 0, 1, 0 );
835
 
836
	$trigger_final.triggerable();
837
 
838
	$shuttle_attacker1.displayeffect( "TransportIn", "Romulan" );
839
	$shuttle_attacker2.displayeffect( "TransportIn", "Romulan" );
840
	$shuttle_attacker3.displayeffect( "TransportIn", "Romulan" );
841
	$shuttle_attacker4.displayeffect( "TransportIn", "Romulan" );
784 lars 842
	wait(2);
843
	$shuttle_attacker1.show();
844
	$shuttle_attacker1.solid();
845
	$shuttle_attacker2.show();
846
	$shuttle_attacker2.solid();
847
	$shuttle_attacker3.show();
848
	$shuttle_attacker3.solid();
849
	$shuttle_attacker4.show();
850
	$shuttle_attacker4.solid();
855 Avenger 851
	wait(.4);
852
	$shuttle_attacker1.ai_on();
853
	$shuttle_attacker1.attack($player);
854
	$shuttle_attacker2.ai_on();
855
	$shuttle_attacker2.attack($player);
856
	$shuttle_attacker3.ai_on();
857
	$shuttle_attacker3.attack($player);
858
	$shuttle_attacker4.ai_on();
859
	$shuttle_attacker4.attack($player);
772 avenger 860
}
861
 
628 ticknswist 862
void cin_shuttle()
863
{
855 Avenger 864
	skipthread( "cin_shuttle_skip" );
628 ticknswist 865
 
814 lars 866
	$stammheim_cockpit2.ai_off();
867
	$stammheim_cockpit2.show();
868
	$stammheim_cockpit2.solid();
869
	$stammheim_cockpit2.anim( "bar_sitting_forward" );
855 Avenger 870
 
871
	//Imo Player, stuck there
872
	$player.immobilize( 1 );
873
 
874
	//Close Shuttle Doors
875
	$drull_shuttle.anim( "closing" );
876
	$drull_shuttle.playsound( "sound/doors/enterprise_door1.wav", 1 ,800 );
877
	waitforanimation( $drull_shuttle, "closing" );
878
	$drull_shuttle.anim( "closed" );
879
 
880
	//Open Bay Sky Door
814 lars 881
	$bay_door_01.playsound ( "sound/environment/machine/lift4.wav");
882
	$bay_door_01.time ( 5 );
883
	$bay_door_01.movenorth ( 500 );
884
	$bay_door_02.time ( 5 );
885
	$bay_door_02.movesouth ( 500 );
886
	wait ( 5 );
887
	$bay_door_01.playsound ( "sound/environment/machine/lift4stop.wav" );
855 Avenger 888
 
889
	//Remove the Shuttle Clip,( no reason given why)
814 lars 890
	$shuttle_clip.remove();
855 Avenger 891
	wait(1);
892
 
893
	//Shuttle Takeoff
894
	$shuttle_bind.followpath($shuttle_path);
895
	$shuttle_bind.playsound( "sound/vehicles/shuttlecraft/shuttle_takeoff.wav", 0, 4 );
628 ticknswist 896
 
855 Avenger 897
 
898
	waitfor($shuttle_bind);
899
	$shuttle_bind.hide();
900
 
901
	//Make the fakeplayer use the same weapon as you
902
	globalCommon_AiActorUseWeapon( $fakeplayer, "current" );
903
 
904
	//Holster Player Weapon
905
	$player.holster();
906
 
907
	//Fade Out Cam
908
	cam_fadeout( 0.1, 0, 0, 0, 1, 0 );
909
 
910
	//Bring up a fake player model
911
	fakeplayer();
772 avenger 912
 
855 Avenger 913
	//Make it a cinematic
914
	cinematic();
915
	letterbox( 0.5 );
916
	wait( 0.5 );
772 avenger 917
 
855 Avenger 918
	$cam6.follow( $cin_final_pos1, $fakeplayer );
919
	$cam6.cut();
920
	cam_fadein( 1, 0, 0, 0, 1, 0 );
921
	wait(.5);
922
	cuecamera($cam6);
772 avenger 923
 
855 Avenger 924
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/no.mp3", 2, 10000, 0 );
925
	waitfordialog($fakeplayer);
772 avenger 926
 
855 Avenger 927
	wait(1);
772 avenger 928
 
855 Avenger 929
	$screen_pattern.hide();
814 lars 930
	$screen_on.show();
855 Avenger 931
	$fakeplayer.lookat( $screen_pos );
932
	wait(1);
772 avenger 933
 
855 Avenger 934
	//$cam7.follow( $cin_final_pos2 );
935
	//$cam7.cut();
936
	//wait(.5);
937
	//cuecamera($cam7);
938
	//wait(.2);
939
	$stammheim_cockpit2.playdialog( "localization/sound/dialog/map09/Stammheim/Sorry.mp3", 2, 10000, 0 );
814 lars 940
	waitfordialog($stammheim_cockpit2);
941
	$stammheim_cockpit2.playdialog( "localization/sound/dialog/map09/Stammheim/really.mp3", 2, 10000, 0 );
942
	waitfordialog($stammheim_cockpit2);
943
	$stammheim_cockpit2.playdialog( "localization/sound/dialog/map09/Stammheim/danger.mp3", 2, 10000, 0 );
944
	waitfordialog($stammheim_cockpit2);
945
	$stammheim_cockpit2.playdialog( "localization/sound/dialog/map09/Stammheim/played.mp3", 2, 10000, 0 );
946
	waitfordialog($stammheim_cockpit2);
947
	$stammheim_cockpit2.playdialog( "localization/sound/dialog/map09/Stammheim/hetlek.mp3", 2, 10000, 0 );
948
	waitfordialog($stammheim_cockpit2);
949
	$stammheim_cockpit2.playdialog( "localization/sound/dialog/map09/Stammheim/greet.mp3", 2, 10000, 0 );
950
	waitfordialog($stammheim_cockpit2);
951
	$stammheim_cockpit2.playdialog( "localization/sound/dialog/map09/Stammheim/youwill.mp3", 2, 10000, 0 );
952
	waitfordialog($stammheim_cockpit2);
953
	$screen_on.hide();
954
	$screen_pattern.show();
772 avenger 955
 
855 Avenger 956
	wait(.5);
772 avenger 957
 
855 Avenger 958
	$fakeplayer.playdialog( "localization/sound/dialog/map09/Illia/youbastard.mp3", 2, 10000, 0 );
959
	waitfordialog($fakeplayer);
772 avenger 960
 
855 Avenger 961
	$cam8.follow( $cin_final_pos3, $fakeplayer );
962
	$cam8.cut();
963
	wait(.5);
964
	cuecamera($cam8);
965
	$fakeplayer.walkto( "$illia_final" );
966
	waitfor($fakeplayer);
772 avenger 967
 
855 Avenger 968
	$sec_door.moveup(192);
969
	$sec_dppr.playsound("sound/doors/klingon_jtube.wav");
970
	waitfor($sec_door);
971
	$arrest1.walkto( "$arrest_dest1", "run" );
972
	$arrest2.walkto( "$arrest_dest2", "run" );
973
	$arrest3.walkto( "$arrest_dest3", "run" );
974
	$arrest4.walkto( "$arrest_dest4", "run" );
888 lars 975
	$arrest1.lookat($fakeplayer);
976
	$arrest2.lookat($fakeplayer);
977
	$arrest3.lookat($fakeplayer);
978
	$arrest4.lookat($fakeplayer);
855 Avenger 979
	wait(8);
772 avenger 980
 
981
 
855 Avenger 982
 
748 ticknswist 983
	//FAKE ILLIA TO "cin_shuttle_illia_01"
984
	//STANHEIM WALK TO "cin_shuttle_stan_01"
985
	//CAMERA FOLLOW "cin_shuttle_cam1_pos1"
986
	//MODEL "int_door" ANIMATION OPEN
987
	//STANHEIM RUN TO "cin_shuttle_stan_02"
988
	//NPC "cin_shuttle_guard_A" WALK TO "cin_shuttle_guard_01"
989
	//NPC "cin_shuttle_guard_B" WALK TO "cin_shuttle_guard_02"
990
	//NPC "cin_shuttle_guard_C" WALK TO "cin_shuttle_guard_03"
991
	//NPC "cin_shuttle_guard_D" WALK TO "cin_shuttle_guard_04"
992
	//CAMERA "cin_shuttle_cam2_pos1"
993
	//FAKE ILLIA ANIMATION HANDS UP
994
	//CAMERA FADE OUT
995
 
768 avenger 996
	thread cin_shuttle_skip();
628 ticknswist 997
}
998
 
999
 
1000
void cin_shuttle_skip()
1001
{
855 Avenger 1002
	cam_fadeout( 1, 0, 0, 0, 1, 0 );
1003
	skipthread( "Null" );
1004
	killthread( "cin_shuttle" );
781 lars 1005
	$player.immobilize(0);
855 Avenger 1006
	//End the cinematic
1007
	noncinematic();
1008
	clearletterbox( 0.1 );
1009
	cueplayer();
768 avenger 1010
	stuffcmd("map map10");
855 Avenger 1011
	cam_fadein( 1, 0, 0, 0, 1, 0 );
628 ticknswist 1012
}
812 lars 1013
 
1014
 
1015
void illiaEnteringShuttle()
1016
{
814 lars 1017
	$fakeplayer.notsolid();
1018
	$fakeplayer.walkto( "$enter_shuttle2" );
812 lars 1019
	waitfor( $fakeplayer );
1020
 
1021
	$fakeplayer.walkto( "$enter_waypoint1" );
1022
	waitfor( $fakeplayer );
814 lars 1023
 
812 lars 1024
	$fakeplayer.walkto( "$enter_waypoint3" );
1025
	waitfor( $fakeplayer );
1026
 
1027
	$fakeplayer.walkto( "$enter_waypoint5" );
1028
	waitfor( $fakeplayer );
1029
 
1030
	$fakeplayer.walkto( "$enter_waypoint7" );
1031
	waitfor( $fakeplayer );
1032
}
1033
 
1034
void stammheimEnteringShuttle()
1035
{
814 lars 1036
	$stammheim.notsolid();
812 lars 1037
 
814 lars 1038
	$stammheim.walkto( "$enter_shuttle1" );
812 lars 1039
	waitfor( $stammheim );
1040
 
814 lars 1041
	$stammheim.walkto( "$enter_waypoint0" );
812 lars 1042
	waitfor( $stammheim );
814 lars 1043
	wait(2);
1044
 
812 lars 1045
	$stammheim.walkto( "$enter_waypoint2" );
1046
	waitfor( $stammheim );
1047
 
1048
	$stammheim.walkto( "$enter_waypoint4" );
1049
	waitfor( $stammheim );
1050
 
1051
	$stammheim.walkto( "$enter_waypoint6" );
1052
	waitfor( $stammheim );
1053
 
1054
	$stammheim.walkto( "$enter_waypoint7" );
1055
	waitfor( $stammheim );
1056
}