Subversion-Projekte sthq.gbs

Revision

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