Subversion-Projekte sthq.gbs

Revision

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