Subversion-Projekte sthq.gbs

Revision

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