Subversion-Projekte sthq.gbs

Revision

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