Subversion-Projekte sthq.gbs

Revision

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