Files
Quake_4_Alpha/q4xbase/scripts/maps/m04_stranarus_trench.script
2026-08-06 14:45:27 -07:00

3233 lines
123 KiB
Plaintext

//---------------------------------------------------------------------------------------
// stranarus_trench.script
//
// (c) Ritual 2005
// -The Castle was here
//
// radioChatterPlayWait( $uni_radiochatter, "vo_vansen_whatquick" ); // %%%%%%%%%% VO %%%%%%%%%%
// radioChatterPlay( $uni_radiochatter, "vo_nava_detammofeed" ); // %%%%%%%%%% VO %%%%%%%%%%
//
// aiSpeakWait( $markswell, "lipsync_marks_everystation" ); // %%%%%%%%%% VO %%%%%%%%%%
// aiSpeak( $markswell, "lipsync_marks_everystation" ); // %%%%%%%%%% VO %%%%%%%%%%
//
//$m04_intro_unit1_seq_1_townsend.hideSurface("models/weapons/mp_guns/w_mg_lo");
//$m04_trench_unit1_uni_boom_flash_anc.setWorldOrigin ( $m04_trench_unit1_uni_boom_flash_anc_origin.getWorldOrigin() );
//---------------------------------------------------------------------------------------
#include "scripts/doom_defs.script"
namespace m04_stranarus_trench {
//=================================================================================
//---------------------------------------------------------------------------------
// intro_unit1 begin
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 1 start
// EXT. USS HANNIBAL, ESTALISHING SHOT
//---------------------------------------------------------------------------------
//Rotate the camera up towards the sky
void setupCam1()
{
$intro_unit1_seq_1_cam_1_mover.time( 0.01 );
$intro_unit1_seq_1_cam_1_mover.rotateOnce( '0 0 90' );
sys.waitFor( $intro_unit1_seq_1_cam_1_mover );
}
void setupDropship()
{
$cin_dropship.playAnim( ANIMCHANNEL_ALL, "outro_dropship" );
}
//Tilt down, pan right, and dolly over to first target_null
void moveCam1()
{
$intro_unit1_seq_1_cam_1_mover.time( 12 );
$intro_unit1_seq_1_cam_1_mover.accelTime( 2 );
$intro_unit1_seq_1_cam_1_mover.decelTime( 5 );
$intro_unit1_seq_1_cam_1_mover.rotateOnce( '0 -10 -90' );
$intro_unit1_seq_1_cam_1_mover.moveTo( $intro_unit1_seq_1_cam_1_target_1 );
sys.waitFor( $intro_unit1_seq_1_cam_1_mover );
}
//Slow push in and pan right
void moveCam1_second()
{
$intro_unit1_seq_1_cam_1_mover.time( 6 );
$intro_unit1_seq_1_cam_1_mover.accelTime( 4 );
$intro_unit1_seq_1_cam_1_mover.decelTime( 2 );
$intro_unit1_seq_1_cam_1_mover.rotateOnce( '0 -5 5' );
$intro_unit1_seq_1_cam_1_mover.moveTo( $intro_unit1_seq_1_cam_1_target_2 );
sys.waitFor( $intro_unit1_seq_1_cam_1_mover );
}
void intro_unit1_seq_1_main()
{
sys.fadeOut('0 0 0', .01 );
sys.waitFrame();
setupCam1();
thread setupDropship();
sys.trigger( $intro_unit1_seq_1_cam_1 );
sys.fadeIn('0 0 0', 1.5 );
sys.wait( 0.1 );
sys.wait( 1.9 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "text1_on" );
thread moveCam1();
sys.wait( 5 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "text2_on" );
sys.sendNamedEvent( GUI_CINEMATICHUD, "text3_on" );
sys.wait( 7.5 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "text4_on" );
sys.wait( 0.1 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "text5_on" );
sys.wait( 0.1 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "text6_on" );
sys.wait( 1 );
thread moveCam1_second();
sys.wait( 7 );
//sys.trigger( $intro_unit1_seq_1_cam_1 );
sys.trigger( $intro_unit1_seq_1_trigger_seq_2 );
}
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 1 start
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_intro_unit1 Sequence 2 start
// INT. USS HANNIBAL DROPSHIP HANGAR INTERIOR
//---------------------------------------------------------------------------------
void moveCamToNavajas()
{
$intro_cam_1_mover.time( 4 );
$intro_cam_1_mover.accelTime( 2 );
$intro_cam_1_mover.decelTime( 2 );
$intro_cam_1_mover.rotateOnce( '0 -20 0' );
$intro_cam_1_mover.moveTo( $cam_1_target_2 );
sys.wait( 3 );
aiScriptedFace( $intro_unit1_seq_2_m01_darnell, $darnell_face_helper, 0 );
sys.waitFor( $intro_cam_1_mover );
}
void moveCam2Darnell()
{
sys.wait( 2 );
$intro_cam_2_mover.time( 6 );
$intro_cam_2_mover.accelTime( 3 );
$intro_cam_2_mover.decelTime( 3 );
$intro_cam_2_mover.moveTo( $cam_2_target_1 );
sys.waitFor( $intro_cam_2_mover );
}
void moveMarkswellCam()
{
$intro_cam_marks_mover.time( 5 );
$intro_cam_marks_mover.accelTime( 1 );
$intro_cam_marks_mover.decelTime( 2 );
$intro_cam_marks_mover.moveTo( $intro_cam_marks_target_1 );
sys.waitFor( $intro_cam_marks_mover );
}
void moveMarkswellCam2()
{
sys.wait( 1 );
$intro_cam_marks_mover.time( 4 );
$intro_cam_marks_mover.accelTime( 2 );
$intro_cam_marks_mover.decelTime( 2 );
$intro_cam_marks_mover.rotateOnce( '10 0 0' );
$intro_cam_marks_mover.move( -1, 18 );
sys.waitFor( $intro_cam_marks_mover );
$intro_cam_marks_mover.time( 6 );
$intro_cam_marks_mover.accelTime( 3 );
$intro_cam_marks_mover.decelTime( 3 );
$intro_cam_marks_mover.moveTo( $intro_cam_marks_target_2 );
sys.waitFor( $intro_cam_marks_mover );
}
void moveTownsendFirst()
{
aiScriptedMoveWait( $intro_unit1_seq_2_m01_townsend, $intro_unit1_seq_2_m01_townsend_marker_1, 8, 0 );
aiScriptedMoveWait( $intro_unit1_seq_2_m01_townsend, $intro_unit1_seq_2_m01_townsend_marker_2, 8, 0 );
aiScriptedMoveWait( $intro_unit1_seq_2_m01_townsend, $intro_unit1_seq_2_m01_townsend_marker_3, 8, 0 );
}
void moveMorons()
{
aiScriptedMoveWait( $intro_unit1_seq_2_m01_darnell, $intro_unit1_seq_2_m01_darnell_node_attention, 8, 0 );
aiScriptedMoveWait( $intro_unit1_seq_2_m01_mitchell, $intro_unit1_seq_2_m01_mitchell_node_attention, 8, 0 );
aiScriptedFace( $intro_unit1_seq_2_m01_darnell, $intro_unit1_seq_2_m01_markswell, 0 );
aiScriptedFace( $intro_unit1_seq_2_m01_mitchell, $intro_unit1_seq_2_m01_markswell, 0 );
}
void animMitchell()
{
aiScriptedAnimWait( $intro_unit1_seq_2_m01_mitchell, "weaponless_idle3_start", 16, 0 );
aiScriptedAnimWait( $intro_unit1_seq_2_m01_mitchell, "weaponless_idle3_loop", 16, 0 );
aiScriptedAnimWait( $intro_unit1_seq_2_m01_mitchell, "weaponless_idle3_end", 16, 0 );
}
void animDekard()
{
aiScriptedAnimWait( $intro_unit1_seq_2_m01_dekard, "idle_weapon_2_start", 16, 0 );
aiScriptedAnimWait( $intro_unit1_seq_2_m01_dekard, "idle_weapon_2_loop", 16, 0 );
aiScriptedAnimWait( $intro_unit1_seq_2_m01_dekard, "idle_weapon_2_end", 16, 0 );
}
void intro_unit1_seq_2()
{
sys.trigger( $intro_unit1_seq_2_m01_tak );
sys.trigger( $intro_unit1_seq_2_m01_navajas );
sys.trigger( $intro_unit1_seq_2_m01_mitchell );
sys.trigger( $intro_unit1_seq_2_m01_darnell );
sys.trigger( $intro_unit1_seq_2_m01_townsend );
sys.trigger( $intro_unit1_seq_2_m01_atkins );
sys.trigger( $OFFICER_5 );
sys.trigger( $OFFICER_7 );
$intro_unit1_seq_2_m01_dekard.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_markswell.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_townsend.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_navajas.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_darnell.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_tak.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_mitchell.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_atkins.setMoveSpeed( AIMOVESPEED_WALK );
$intro_unit1_seq_2_m01_mitchell.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_2_m01_navajas.hideSurface("models/weapons/mp_guns/w_mg_lo");
aiScriptedAnimLoop( $intro_unit1_seq_2_m01_tak, "relaxed_idle", 8 );
aiScriptedAnimLoop( $intro_unit1_seq_2_m01_mitchell, "unarmed_idle", 8 );
aiScriptedAnimLoop( $intro_unit1_seq_2_m01_darnell, "relaxed_idle", 8 );
aiScriptedAnimLoop( $intro_unit1_seq_2_m01_atkins, "relaxed_idle", 8 );
sys.trigger( $intro_cam_1 );
thread moveTownsendFirst();
$intro_cam_1_mover.time( 4 );
$intro_cam_1_mover.accelTime( 2 );
$intro_cam_1_mover.decelTime( 2 );
$intro_cam_1_mover.rotateOnce( '0 0 -80' );
sys.waitFor( $intro_cam_1_mover );
aiScriptedAnim( $intro_unit1_seq_2_m01_mitchell, "weaponless_point_front", 12, 0 );
// CHARACTER: MCC ANNOUNCE
radioChatterPlay( $uni_radiochatter, "vo_mcc_allop" ); // %%%%%%%%%% VO %%%%%%%%%%
$intro_cam_1_mover.time( 7 );
$intro_cam_1_mover.accelTime( 3 );
$intro_cam_1_mover.decelTime( 3.5 );
$intro_cam_1_mover.rotateOnce( '0 -5 0' );
$intro_cam_1_mover.moveTo( $cam_1_target_1 );
sys.wait( 5 );
aiScriptedAnim( $intro_unit1_seq_2_m01_darnell, "idle_checks_time", 12, 0 );
aiScriptedFace( $intro_unit1_seq_2_m01_mitchell, $intro_unit1_seq_2_m01_darnell, 0 );
$intro_unit1_seq_2_m01_mitchell.lookAt( $intro_unit1_seq_2_m01_darnell );
sys.waitFor( $intro_cam_1_mover );
// CHARACTER: MITCHELL
aiSpeakWait( $intro_unit1_seq_2_m01_mitchell, "lipsync_mitch_heydarn" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedFace( $intro_unit1_seq_2_m01_darnell, $intro_unit1_seq_2_m01_mitchell, 0 );
// CHARACTER: DARNELL
aiSpeak( $intro_unit1_seq_2_m01_darnell, "lipsync_darn_stopworry" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 2 );
$intro_unit1_seq_2_m01_navajas.lookAt( $intro_unit1_seq_2_m01_darnell );
aiScriptedMove( $intro_unit1_seq_2_m01_navajas, $intro_unit1_seq_2_m01_navajas_node_1, 4, 0 );
sys.wait( 4.25 );
$intro_unit1_seq_2_m01_tak.lookAt( $intro_unit1_seq_2_m01_atkins );
$intro_unit1_seq_2_m01_atkins.lookAt( $intro_unit1_seq_2_m01_tak );
thread moveCamToNavajas();
aiScriptedFaceWait( $intro_unit1_seq_2_m01_navajas, $intro_unit1_seq_2_m01_mitchell, 0 );
aiScriptedAnim( $intro_unit1_seq_2_m01_navajas, "weaponless_idle4_start", 12, 0 );
aiScriptedAnim( $intro_unit1_seq_2_m01_atkins, "weapon_check_3", 12, 0 );
// CHARACTER: NAVAJAS
aiSpeakWait( $intro_unit1_seq_2_m01_navajas, "lipsync_nava_yeahone" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedFace( $intro_unit1_seq_2_m01_darnell, $intro_unit1_seq_2_m01_navajas, 0 );
sys.trigger( $intro_cam_2 );
thread animMitchell();
// CHARACTER: DARNELL
aiSpeakWait( $intro_unit1_seq_2_m01_darnell, "lipsync_nava_shutupnav" ); // %%%%%%%%%% VO %%%%%%%%%%
$intro_unit1_seq_2_m01_navajas.hide();
$intro_unit1_seq_2_m01_navajas_sitting.show();
aiScriptedAnimLoop( $intro_unit1_seq_2_m01_navajas_sitting, "idle_sitting_1", 0 );
$intro_unit1_seq_2_m01_tak.lookAt( $intro_unit1_seq_2_m01_darnell );
aiScriptedFace( $intro_unit1_seq_2_m01_tak, $intro_unit1_seq_2_m01_darnell, 0 );
sys.trigger( $intro_cam_4 );
aiScriptedAnim( $intro_unit1_seq_2_m01_atkins, "weapon_check_1", 12, 0 );
// CHARACTER: TAK
aiSpeak( $intro_unit1_seq_2_m01_tak, "lipsync_tak_heycorptak" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 0.5 );
$intro_unit1_seq_2_m01_tak.lookAt( $intro_unit1_seq_2_m01_navajas );
$intro_unit1_seq_2_m01_atkins.lookAt( $intro_unit1_seq_2_m01_tak );
$intro_unit1_seq_2_m01_navajas_sitting.lookAt( $intro_unit1_seq_2_m01_tak );
$intro_cam_1_mover.time( 4 );
$intro_cam_1_mover.accelTime( 2 );
$intro_cam_1_mover.decelTime( 2 );
$intro_cam_1_mover.rotateOnce( '0 -5 0' );
sys.waitFor( $intro_cam_1_mover );
sys.wait( 0.5 );
// CHARACTER: NAVAJAS
$intro_unit1_seq_2_m01_atkins.lookAt( $intro_unit1_seq_2_m01_navajas );
$intro_unit1_seq_2_m01_navajas_sitting.lookAt( $intro_unit1_seq_2_m01_darnell );
$intro_unit1_seq_2_m01_mitchell.lookAt( $intro_unit1_seq_2_m01_townsend );
aiScriptedFace( $intro_unit1_seq_2_m01_mitchell, $intro_unit1_seq_2_m01_townsend, 0 );
$intro_unit1_seq_2_m01_tak.lookAt( $intro_unit1_seq_2_m01_darnell );
aiSpeakWait( $intro_unit1_seq_2_m01_navajas_sitting, "lipsync_nava_sodrnspill" ); // %%%%%%%%%% VO %%%%%%%%%%
thread moveCam2Darnell();
sys.trigger( $intro_cam_2 );
$intro_unit1_seq_2_m01_darnell.lookAt( $intro_unit1_seq_2_m01_tak );
$intro_unit1_seq_2_m01_mitchell.lookAt( $intro_unit1_seq_2_m01_darnell );
aiScriptedFace( $intro_unit1_seq_2_m01_mitchell, $intro_unit1_seq_2_m01_darnell, 0 );
// CHARACTER: DARNELL
aiSpeakWait( $intro_unit1_seq_2_m01_darnell, "lipsync_darn_yeahknwdek" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMove( $intro_unit1_seq_2_m01_townsend, $intro_unit1_seq_2_m01_townsend_marker_2, 8, 0 );
$intro_unit1_seq_2_m01_darnell.lookAt( $intro_unit1_seq_2_m01_markswell );
// CHARACTER: TOWNSEND
aiSpeakWait( $intro_unit1_seq_2_m01_townsend, "lipsync_towns_offdeck" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $intro_cam_3 );
sys.trigger( $intro_unit1_seq_2_m01_dekard );
sys.trigger( $intro_unit1_seq_2_m01_markswell );
aiScriptedMove( $intro_unit1_seq_2_m01_dekard, $intro_unit1_seq_2_m01_dekard_node_1, 8, 1);
aiScriptedMove( $intro_unit1_seq_2_m01_markswell, $intro_unit1_seq_2_m01_markswell_node_1, 8, 1);
sys.trigger( $intro_cam_marks );
moveMarkswellCam();
thread moveMarkswellCam2();
$intro_unit1_seq_2_m01_navajas.show();
$intro_unit1_seq_2_m01_navajas_sitting.hide();
sys.waitFrame();
aiScriptedFace( $intro_unit1_seq_2_m01_navajas, $intro_unit1_seq_2_m01_markswell, 0 );
aiScriptedFace( $intro_unit1_seq_2_m01_tak, $intro_unit1_seq_2_m01_markswell, 0 );
aiScriptedFace( $intro_unit1_seq_2_m01_atkins, $intro_unit1_seq_2_m01_markswell, 0 );
aiScriptedFace( $intro_unit1_seq_2_m01_townsend, $intro_unit1_seq_2_m01_markswell, 0 );
thread moveMorons();
$intro_unit1_seq_2_m01_tak.lookAt( $intro_unit1_seq_2_m01_markswell );
$intro_unit1_seq_2_m01_atkins.lookAt( $intro_unit1_seq_2_m01_markswell );
$intro_unit1_seq_2_m01_townsend.lookAt( $intro_unit1_seq_2_m01_markswell );
$intro_unit1_seq_2_m01_darnell.lookAt( $intro_unit1_seq_2_m01_markswell );
$intro_unit1_seq_2_m01_mitchell.lookAt( $intro_unit1_seq_2_m01_markswell );
$intro_unit1_seq_2_m01_navajas.lookAt( $intro_unit1_seq_2_m01_markswell );
$intro_unit1_seq_2_m01_markswell.lookAt( $intro_unit1_seq_2_m01_navajas );
aiScriptedFace( $intro_unit1_seq_2_m01_markswell, $intro_unit1_seq_2_m01_navajas, 0 );
aiScriptedFace( $intro_unit1_seq_2_m01_dekard, $intro_unit1_seq_2_m01_tak, 0 );
thread animDekard();
// CHARACTER: MARKSWELL
aiSpeak( $intro_unit1_seq_2_m01_markswell, "lipsync_marks_ateastman" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 7 );
$intro_unit1_seq_2_m01_dekard.lookAt( $intro_unit1_seq_2_m01_markswell );
sys.wait( 6 );
$intro_unit1_seq_2_m01_dekard.lookAt( $intro_unit1_seq_2_m01_darnell );
aiScriptedFace( $intro_unit1_seq_2_m01_dekard, $intro_unit1_seq_2_m01_darnell, 0 );
sys.wait( 3.75 );
$intro_unit1_seq_2_m01_markswell.lookAt( $intro_unit1_seq_2_m01_tak );
aiScriptedFace( $intro_unit1_seq_2_m01_markswell, $intro_unit1_seq_2_m01_tak, 0 );
sys.trigger( $intro_cam_5 );
$intro_unit1_seq_2_m01_markswell.lookAt( $func_static_16989 );
// CHARACTER: MCC ANNOUNCE
radioChatterPlayWait( $uni_radiochatter, "vo_mcc_attentcidcd" ); // %%%%%%%%%% VO %%%%%%%%%%
$intro_unit1_seq_2_m01_markswell.lookAt( $intro_unit1_seq_2_m01_navajas );
// CHARACTER: MARKSWELL
aiSpeakWait( $intro_unit1_seq_2_m01_markswell, "lipsync_marks_thatsusgent" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: MARKSWELL
aiSpeakWait( $intro_unit1_seq_2_m01_markswell, "lipsync_marks_falconsqsd" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $intro_cam_3 );
$musicintro.remove();
sys.trigger( $intro_sound_player2 );
aiScriptedAnim( $intro_unit1_seq_2_m01_darnell, "weapon_check_2", 12, 0 );
aiScriptedAnim( $intro_unit1_seq_2_m01_tak, "weapon_check_3", 12, 0 );
$intro_unit1_seq_2_m01_dekard.setMoveSpeed( AIMOVESPEED_RUN );
$intro_unit1_seq_2_m01_markswell.setMoveSpeed( AIMOVESPEED_RUN );
$intro_unit1_seq_2_m01_townsend.setMoveSpeed( AIMOVESPEED_RUN );
$intro_unit1_seq_2_m01_navajas.setMoveSpeed( AIMOVESPEED_RUN );
$intro_unit1_seq_2_m01_darnell.setMoveSpeed( AIMOVESPEED_RUN );
$intro_unit1_seq_2_m01_tak.setMoveSpeed( AIMOVESPEED_RUN );
$intro_unit1_seq_2_m01_mitchell.setMoveSpeed( AIMOVESPEED_RUN );
$intro_unit1_seq_2_m01_atkins.setMoveSpeed( AIMOVESPEED_RUN );
aiScriptedMove( $intro_unit1_seq_2_m01_dekard, $intro_unit1_seq_2_m01_dekard_endrun, 4, 1);
sys.wait( 1 );
aiScriptedMove( $intro_unit1_seq_2_m01_markswell, $intro_unit1_seq_2_m01_markswell_endrun, 4, 1);
sys.wait( 1 );
sys.fadeOut( '0 0 0', 1 );
aiScriptedMove( $intro_unit1_seq_2_m01_townsend, $intro_unit1_seq_2_m01_townsend_endrun, 4, 1);
sys.wait( 1 );
sys.trigger( $intro_cam_3 );
sys.trigger( $intro_unit1_seq_2_trigger_seq_3 );
}
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 2 start
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 3 start
// INT: DROPSHIP HANGAR
//---------------------------------------------------------------------------------
void setupEstablishCam()
{
$intro_ds_cam_1_mover.time( 0.01 );
$intro_ds_cam_1_mover.rotateOnce( '0 45 0' );
sys.waitFor( $intro_ds_cam_1_mover );
}
void moveEstablishCam()
{
$intro_ds_cam_1_mover.time( 8 );
$intro_ds_cam_1_mover.accelTime( 2 );
$intro_ds_cam_1_mover.decelTime( 3 );
$intro_ds_cam_1_mover.moveTo( $intro_ds_cam_target_1 );
$intro_ds_cam_1_mover.rotateOnce( '45 -135 0' );
sys.waitFor( $intro_ds_cam_1_mover );
}
void moveCam2()
{
$intro_ds_cam_2_mover.time( 5 );
$intro_ds_cam_2_mover.accelTime( 2.5 );
$intro_ds_cam_2_mover.decelTime( 2.5 );
$intro_ds_cam_2_mover.moveTo( $intro_ds_cam_target_2 );
sys.waitFor( $intro_ds_cam_2_mover );
}
void moveMarkswell()
{
aiScriptedMoveWait( $ds_markswell, $ds_markswell_marker_1, 8, 0 );
aiScriptedFaceWait( $ds_markswell, $func_door_256, 0 );
sys.wait( 2.5 );
aiScriptedMoveWait( $ds_markswell, $ds_markswell_marker_2, 16, 0 );
sys.wait( 4 );
aiScriptedMoveWait( $ds_markswell, $ds_onboard, 32, 0 );
$ds_markswell.remove();
}
void moveDekard()
{
// sys.wait( 2.5 );
aiScriptedMoveWait( $ds_dekard, $ds_onboard, 32, 0 );
$ds_dekard.remove();
}
void moveNavajas()
{
// sys.wait( 2.5 );
aiScriptedMoveWait( $ds_navajas, $ds_onboard, 32, 0 );
$ds_navajas.remove();
}
void moveTak()
{
// sys.wait( 2.5 );
aiScriptedMoveWait( $ds_tak, $ds_onboard, 32, 0 );
$ds_tak.remove();
}
void moveDarnell()
{
sys.wait( 2.5 );
aiScriptedMoveWait( $ds_darnell, $ds_onboard, 32, 0 );
$ds_darnell.remove();
}
void moveAtkins()
{
sys.wait( 2.5 );
aiScriptedMoveWait( $ds_atkins, $ds_onboard, 32, 0 );
$ds_atkins.remove();
}
void moveMitchell()
{
sys.wait( 2.5 );
aiScriptedMoveWait( $ds_mitchell, $ds_onboard, 32, 0 );
$ds_mitchell.remove();
}
void moveTownsend()
{
sys.wait( 2.5 );
aiScriptedMoveWait( $ds_townsend, $ds_onboard, 32, 0 );
$ds_townsend.remove();
}
void showidCredit()
{
sys.sendNamedEvent( GUI_CINEMATICHUD, "id1" );
sys.wait( 0.75 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "id2" );
sys.wait( 0.75 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "id3" );
}
void showRitualCredit()
{
sys.sendNamedEvent( GUI_CINEMATICHUD, "rit1" );
sys.wait( 0.75 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "rit2" );
}
void showActCredit()
{
sys.sendNamedEvent( GUI_CINEMATICHUD, "pub" );
sys.wait( 0.5 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "act" );
}
void showQ4XLogo()
{
sys.sendNamedEvent( GUI_CINEMATICHUD, "quake" );
sys.wait( 0.5 );
sys.sendNamedEvent( GUI_CINEMATICHUD, "awakening" );
}
void intro_unit1_seq_3()
{
$env_q4x_dropship_1.hide();
setupEstablishCam();
sys.trigger( $OFFICER_9 );
sys.trigger( $OFFICER_10 );
sys.trigger( $ds_markswell );
sys.trigger( $ds_dekard );
sys.trigger( $ds_navajas );
sys.trigger( $ds_tak );
sys.trigger( $ds_darnell );
sys.trigger( $ds_atkins );
sys.trigger( $ds_mitchell );
sys.trigger( $ds_townsend );
thread moveMarkswell();
thread moveDekard();
thread moveNavajas();
thread moveTak();
thread moveDarnell();
thread moveAtkins();
thread moveMitchell();
thread moveTownsend();
sys.trigger( $intro_ds_cam_1 );
sys.fadeIn( '0 0 0', 1 );
sys.wait( 1 );
thread moveEstablishCam();
sys.wait( 0.5 );
thread showidCredit();
sys.wait( 8 );
sys.trigger( $intro_ds_cam_2 );
thread moveCam2();
thread showRitualCredit();
sys.wait( 7 );
sys.fadeOut( '0 0 0', 1 );
sys.wait( 1 );
sys.trigger( $intro_ds_cam_2 );
// END OF JOHN'S STUFF
// END OF JOHN'S STUFF
// END OF JOHN'S STUFF
// END OF JOHN'S STUFF
// sys.trigger( $main_clouds );
$cin_dropship.hide();
$env_q4x_dropship_1.show();
$env_q4x_dropship_2.show();
$env_q4x_dropship_3.show();
sys.trigger( $ethan_cam_viewer );
$ethan_cam_viewer.bind( $ethan_cam );
sys.trigger( $ethan_cam );
sys.fadeIn( '0 0 0', 1 );
sys.wait( 1 );
$env_q4x_dropship_1.playAnim( ANIMCHANNEL_ALL, "st_dropship_intro_01" );
$env_q4x_dropship_2.playAnim( ANIMCHANNEL_ALL, "st_dropship_intro_02" );
$env_q4x_dropship_3.playAnim( ANIMCHANNEL_ALL, "st_dropship_intro_03" );
sys.trigger( $intro_unit1_seq_6_tak );
sys.trigger( $intro_unit1_seq_6_navajas );
sys.trigger( $intro_unit1_seq_6_mitchell );
sys.trigger( $intro_unit1_seq_6_darnell );
sys.trigger( $intro_unit1_seq_6_townsend );
sys.trigger( $intro_unit1_seq_6_atkins );
sys.trigger( $intro_unit1_seq_6_dekard );
$intro_unit1_seq_6_tak.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_navajas.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_mitchell.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_darnell.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_townsend.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_atkins.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_markswell.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_markswell_sitting.hideSurface("models/weapons/mp_guns/w_mg_lo");
$intro_unit1_seq_6_dekard.hideSurface("models/weapons/mp_guns/w_mg_lo");
aiScriptedAnimLoop ( $intro_unit1_seq_6_tak, "st_dropship_chair", 8 );
sys.wait( .5 );
aiScriptedAnimLoop ( $intro_unit1_seq_6_navajas, "st_dropship_chair", 8 );
sys.wait( .3 );
aiScriptedAnimLoop ( $intro_unit1_seq_6_mitchell, "st_dropship_chair", 8 );
sys.wait( .6 );
aiScriptedAnimLoop ( $intro_unit1_seq_6_darnell, "st_dropship_chair", 8 );
sys.wait( .8 );
aiScriptedAnimLoop ( $intro_unit1_seq_6_townsend, "st_dropship_chair", 8 );
sys.wait( .2 );
aiScriptedAnimLoop ( $intro_unit1_seq_6_atkins, "st_dropship_chair", 8 );
sys.wait( .3 );
aiScriptedAnimLoop ( $intro_unit1_seq_6_dekard, "st_dropship_chair", 8 );
sys.wait( 18 );
sys.fadeOut( '0 0 0', 1 );
sys.trigger( $intro_unit1_seq_5_trigger_seq_6 );
}
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 3 start
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 4 start
// EXT: USS HANNIBAL
//---------------------------------------------------------------------------------
void intro_unit1_seq_4()
{
// JUMP CUT: Matching up-angle establishing shot of the Hannibal exterior.
// The 2 dropships and 1 gunship slowly lift out of the Hannibal's roof,
// and then one by one, each ship bolts off into the horizon.
// SCREEN TEXT
// Published by Activision
sys.trigger( $intro_unit1_seq_4_trigger_seq_5 );
}
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 4 start
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 5 start
// EXT: ATMOSPHERE
//---------------------------------------------------------------------------------
void intro_unit1_seq_5()
{
// A dropship bearing the Hades logo and a gunship bearing the Atlas logo streak
// across the sky left to right as the camera shakes to catch up, the ships fight to
// stay in the rough air, the 3rd ship slides smoothly into the foreground as the
// game logo appears
// SCREEN LOGO
// Quake4
// [beat]
// SCREEN LOGO
// The Awakening
// Finally the foreground ship's tail slides into frame,
// the Falcon squad logo clear as day, slow push into logo
// as we JUMP CUT to:
sys.trigger( $intro_unit1_seq_5_trigger_seq_6 );
}
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 5 start
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 6 start
// INT: FALCON SQUAD DROPSHIP INTERIOR
//---------------------------------------------------------------------------------
void intro_unit1_seq_6()
{
// All Marines strapped into their chairs, shaking and bouncing as the
// ship hits heavy turbulence.
sys.trigger( $intro_unit1_seq_6_cam_1 );
sys.waitFrame();
sys.fadeIn( '0 0 0', 1 );
// CHARACTER: GOC
// CONTEXT:Calm
// DIALOG : Falcon, Atlas walker force is initiating operation CITADEL.
// Report minimal resistance on your inbound vector - you are GO for ground assault.
// lipsync_goc_falconatlaswlk vo_goc_falconatlaswlk
radioChatterPlayWait( $uni_radiochatter, "vo_goc_falconatlaswlk" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 4 );
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Calm
// DIALOG : Roger that, package is prepped and ready for transfer eta to drop in one-zero-niner.
// lipsync_vansen_rogerthtp vo_vansen_rogerthtp
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_rogerthtp" ); // %%%%%%%%%% VO %%%%%%%%%%
// Lieutenant Markswell steps through the passenger door, the door closes behind him.
sys.trigger( $intro_unit1_seq_6_cam_2 );
sys.trigger( $intro_unit1_seq_6_markswell );
sys.trigger( $intro_unit1_seq_6_drop_ship_not_damaged );
aiScriptedAnimWait ( $intro_unit1_seq_6_markswell, "st_markswell_enters", 8, 1 );
// CHARACTER: MARKSWELL
// CONTEXT:Calm
// DIALOG : Ok, listen up! We've been ordered in with Atlas walker squad and Hades
// infantry unit to hit one of the Strogg's oldest raw materials processing facilities.
// Our objective is to gather data from the facility, while Hades and Atlas prep to destroy it.
// This facility is heavily guarded.
// lipsync_marks_oklisten vo_marks_oklisten
aiSpeak( $intro_unit1_seq_6_markswell, "lipsync_marks_oklisten" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedAnimWait ( $intro_unit1_seq_6_markswell, "st_markswell_talks", 8, 1 );
// AA fire Another barrage hits the drop ship, shaking it to its frame
// Markswell nearly stumbles. He finds his footing and straps himself in.
$intro_unit1_seq_6_drop_ship_not_damaged_markswell_sitting.show();
sys.trigger( $intro_unit1_seq_6_cam_3 );
$intro_unit1_seq_6_markswell.remove();
$intro_unit1_seq_6_drop_ship_not_damaged.remove();
sys.trigger( $intro_unit1_seq_6_markswell_sitting );
aiScriptedAnimLoop ( $intro_unit1_seq_6_markswell_sitting, "st_dropship_chair", 8 );
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : Everybody get to their seats, we have incoming!
// lipsync_vansen_everseat vo_vansen_everseat
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_everseat" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: ATKINS
// CONTEXT:Sarcastic
// DIALOG : This doesn't feel like minimal resistance to me!
// lipsync_atkins_minres vo_atkins_minres
aiSpeakWait( $intro_unit1_seq_6_atkins, "lipsync_atkins_minres" ); // %%%%%%%%%% VO %%%%%%%%%%
// AA fire is getting more pronounced - Another heavy tremor.
// The lights shift to an angry red. An alarm blares.
sys.trigger( $intro_unit1_seq_6_cam_4 );
sys.wait( 1 );
sys.trigger( $intro_unit1_seq_6_drop_ship_lighting_nominal_1 );
sys.trigger( $intro_unit1_seq_6_drop_ship_lighting_nominal_2 );
sys.wait( 1 );
sys.trigger( $intro_unit1_seq_6_drop_ship_lighting_emergency_lights_fade_in );
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : GOC, receiving heavy AA fire, re-routing approach to LZ.
// lipsync_vansen_gochvyaa vo_vansen_gochvyaa
sys.trigger( $intro_unit1_seq_6_cam_5 );
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_gochvyaa" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: GOC
// CONTEXT:Calm
// DIALOG : Confirm Falcon.
// lipsync_goc_conffalc vo_goc_conffalc
radioChatterPlayWait( $uni_radiochatter, "vo_goc_conffalc" ); // %%%%%%%%%% VO %%%%%%%%%%
// Another tremor hits the craft. The lights flicker. Sparks erupt.
// The engine sounds change, their pitch increasing.
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : We're hit!
// lipsync_vansen_wehit vo_vansen_wehit
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_wehit" ); // %%%%%%%%%% VO %%%%%%%%%%
// Big hit to the ship. The ship is hit. The lights go out.
// But the dropship is dark only a moment before.
$intro_unit1_seq_6_drop_ship_damaged.show();
//$intro_unit1_seq_6_townsend.bindToJoint( $intro_unit1_seq_6_drop_ship_damaged, "townsend", 0 );
//$intro_unit1_seq_6_atkins.bindToJoint( $intro_unit1_seq_6_drop_ship_damaged, "atkins", 0 );
$intro_unit1_seq_6_drop_ship_not_damaged_markswell_sitting.remove();
// The AFT section is torn off, allowing the last bits of day light to flood
// the passenger bay. The dropship is a nonstop tumbler, trembling and
// shaking itself apart.
// There's another sound of heavy plasma. This one accompanied by an explosion.
// A hole is ripped in the top of the passenger bay.
// Two marines: TOWNSEND is ripped from the ship as we see a large portion
// of the aft section spin off into the atmosphere.
sys.trigger( $intro_unit1_seq_6_drop_ship_damaged );
aiScriptedAnim ( $intro_unit1_seq_6_atkins, "st_atkins_fall", 8, 0 );
aiScriptedAnim ( $intro_unit1_seq_6_townsend, "st_townsend_fall", 8, 0 );
aiScriptedAnim ( $intro_unit1_seq_6_mitchell, "st_mitchel_hold", 8, 0 );
// CHARACTER: TOWNSEND
// CONTEXT:Death scream
// DIALOG : Arrrghhh!
// lipsync_towns_arrgg vo_towns_arrgg
// sys.trigger( $intro_unit1_seq_6_cam_6 );
aiSpeakWait( $intro_unit1_seq_6_townsend, "lipsync_towns_arrgg" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: DARNELL
// CONTEXT:Commanding
// DIALOG : Hold on man, grab on!
// lipsync_darn_holdonman vo_darn_holdonman
// sys.trigger( $intro_unit1_seq_6_cam_7 );
aiSpeakWait( $intro_unit1_seq_6_darnell, "lipsync_darn_holdonman" ); // %%%%%%%%%% VO %%%%%%%%%%
// Atkins seat begins to pull itself from the craft with him in it,
// he reaches for Darnell, Darnell grabs on but the forces are too strong
// CHARACTER: MITCHELL
// CONTEXT:Commanding
// DIALOG : Grab my hand!
// lipsync_mitch_grabhand vo_mitch_grabhand
// sys.trigger( $intro_unit1_seq_6_cam_8 );
aiSpeakWait( $intro_unit1_seq_6_mitchell, "lipsync_mitch_grabhand" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: DARNELL
// CONTEXT:Angry
// DIALOG : Shit!
// lipsync_darn_shit vo_darn_shit
aiSpeakWait( $intro_unit1_seq_6_darnell, "lipsync_darn_shit" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: ATKINS
// CONTEXT:Death imminent
// DIALOG : I can't hold on!
// lipsync_atkins_icanthold vo_atkins_icanthold
aiSpeakWait( $intro_unit1_seq_6_atkins, "lipsync_atkins_icanthold" ); // %%%%%%%%%% VO %%%%%%%%%%
// The chair breaks loose in a hail of sparks.
// CHARACTER: ATKINS
// CONTEXT:Death scream
// DIALOG : Arrrghh!
// lipsync_atkins_die vo_atkins_die
// sys.trigger( $intro_unit1_seq_6_cam_9 );
aiSpeakWait( $intro_unit1_seq_6_atkins, "lipsync_atkins_die" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 2 );
$intro_unit1_seq_6_atkins.remove();
$intro_unit1_seq_6_townsend.remove();
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : GOC, we've been hit hard, trying to stabilize..
// lipsync_vansen_gochithard vo_vansen_gochithard
sys.trigger( $intro_unit1_seq_6_cam_10 );
// The ship begins to stabilize slightly. Markswell barks into his wrist communicator.
// CHARACTER: MARKSWELL
// CONTEXT:Tense
// DIALOG : Everybody hold on! Vansen, we lost two marines and the starboard hull is compromised.
// lipsync_marks_evholdvans vo_marks_evholdvans
sys.trigger( $intro_unit1_seq_6_cam_11 );
aiScriptedAnimLoop ( $intro_unit1_seq_6_mitchell, "st_dropship_chair", 8 );
aiSpeakWait( $intro_unit1_seq_6_markswell_sitting, "lipsync_marks_evholdvans" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : Roger lieutenant, starboard engine is at 20 percent, we've got no rear landing struts, and we are losing altitude fast.
// lipsync_vansen_rgrltst20 vo_vansen_rgrltst20
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_rgrltst20" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: MARKSWELL
// CONTEXT:Commanding
// DIALOG : Understood. Tak, prepare a step-out line, we're taking the hard way out.
// lipsync_marks_understdt vo_marks_understdt
aiSpeakWait( $intro_unit1_seq_6_markswell_sitting, "lipsync_marks_understdt" ); // %%%%%%%%%% VO %%%%%%%%%%
//Big cut here for transition to landing sequence
sys.trigger( $m04_trench_unit1_main );
}
//---------------------------------------------------------------------------------
// intro_unit1 Sequence 6 start
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_intro_unit1 end
//---------------------------------------------------------------------------------
//=================================================================================
//=================================================================================
//---------------------------------------------------------------------------------
// m04_trench_unit1 begin
//---------------------------------------------------------------------------------
//=================================================================================
void uni_send_dead_guy_flying( entity guy )
{
sys.waitFrame();
guy.applyImpulse( guy, guy.getWorldOrigin(), '25000 12500 80000' );
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 1 start
//---------------------------------------------------------------------------------
void m04_trench_unit1_seq_1_main()
{
sys.trigger( $m04_trench_unit1_seq_1_tak );
sys.trigger( $m04_trench_unit1_seq_1_navajas );
sys.trigger( $m04_trench_unit1_seq_1_mitchell );
sys.trigger( $m04_trench_unit1_seq_1_darnell );
sys.trigger( $m04_trench_unit1_seq_1_markswell );
sys.trigger( $m04_trench_unit1_seq_1_dekard );
$m04_trench_unit1_seq_1_tak.hideSurface("models/weapons/mp_guns/w_mg_lo");
$m04_trench_unit1_seq_1_navajas.hideSurface("models/weapons/mp_guns/w_mg_lo");
$m04_trench_unit1_seq_1_mitchell.hideSurface("models/weapons/mp_guns/w_mg_lo");
$m04_trench_unit1_seq_1_darnell.hideSurface("models/weapons/mp_guns/w_mg_lo");
$m04_trench_unit1_seq_1_markswell.hideSurface("models/weapons/mp_guns/w_mg_lo");
$m04_trench_unit1_seq_1_dekard.hideSurface("models/weapons/mp_guns/w_mg_lo");
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_tak, "st_dropship_chair", 8 );
sys.wait( .8 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_navajas, "st_dropship_chair", 8 );
sys.wait( .2 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_mitchell, "st_dropship_chair", 8 );
sys.wait( .4 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_darnell, "st_dropship_chair", 8 );
sys.wait( .6 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_markswell, "st_dropship_chair", 8 );
sys.wait( .3 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_dekard, "st_dropship_chair", 8 );
sys.trigger( $m04_trench_unit1_seq_1_cam_1 );
sys.waitFrame();
// CHARACTER: TAK
// CONTEXT:Military
// DIALOG : Yes sir!
// lipsync_tak_yessir1 vo_tak_yessir1
aiSpeakWait( $m04_trench_unit1_seq_1_tak, "lipsync_tak_yessir1" ); // %%%%%%%%%% VO %%%%%%%%%%
// Tak springs into action, opening up the rolling cargo door, fishing around for parts.
// He blocks our view of what exactly he is doing, but is definitely intent.
sys.trigger( $m04_trench_unit1_seq_1_zipline_model_1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_tak, "st_tak_zipline_start", 8, 1 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_tak, "st_tak_zipline", 8 );
// CHARACTER: MARKSWELL
// CONTEXT:Commanding
// DIALOG : Everybody up! Grab your gear!
// lipsync_marks_everbdyup vo_marks_everbdyup
aiSpeakWait( $m04_trench_unit1_seq_1_markswell, "lipsync_marks_everbdyup" ); // %%%%%%%%%% VO %%%%%%%%%%
// All the marines lift their shoulder harnesses and step into position, crowded and shaky,
// they all grab ceiling struts for support while standing.
// Mitchell and Dekard don't stand up, struggling with their shoulder harnesses
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Calm
// DIALOG : Falcon, we are imminent to new LZ, short 1.5 klicks of planned LZ.
// You guys need to get out quick, we are still under fire and I can't hold this
// position for long.
// lipsync_vansen_falconweimm vo_vansen_falconweimm
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_falconweimm" ); // %%%%%%%%%% VO %%%%%%%%%%
// Tak turns around to reveal a rappelling line hanging out of the ship.
// CHARACTER: TAK
// CONTEXT:Military
// DIALOG : Line secure!
// lipsync_tak_linesec vo_tak_linesec
sys.trigger( $m04_trench_unit1_seq_1_cam_2 );
aiSpeakWait( $m04_trench_unit1_seq_1_tak, "lipsync_tak_linesec" ); // %%%%%%%%%% VO %%%%%%%%%%
// Mitchell, struggling with his shoulder harness since the accident speaks up.
$m04_trench_unit1_seq_1_zipline_model_1.remove();
$m04_trench_unit1_seq_1_zipline_model_2.show();
sys.trigger( $m04_trench_unit1_seq_1_zipline_model_2 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_tak, "st_tak_zipline_end", 8, 0 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_darnell, "st_chair_to_idle", 8, 1 );
aiScriptedFaceWait ( $m04_trench_unit1_seq_1_darnell, $m04_trench_unit1_seq_1_rap_node, 1 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_darnell, "st_dropship_stand", 8 );
// CHARACTER: MITCHELL
// CONTEXT:Concerned
// DIALOG : Lieutenant! The shoulder harnesses are jammed.
// lipsync_mitch_ltshldjam vo_mitch_ltshldjam
aiSpeakWait( $m04_trench_unit1_seq_1_mitchell, "lipsync_mitch_ltshldjam" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_darnell, "st_repelling", 8, 1 );
$m04_trench_unit1_seq_1_darnell.remove();
// CHARACTER: MARKSWELL
// CONTEXT:Commanding
// DIALOG : Tak, cut them out of there!
// lipsync_marks_takcutem vo_marks_takcutem
aiSpeakWait( $m04_trench_unit1_seq_1_markswell, "lipsync_marks_takcutem" ); // %%%%%%%%%% VO %%%%%%%%%%
// Tak squeezes past everybody and starts to work on Mitchell's harness.
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Terse
// DIALOG : Falcon, we are stable at new LZ, everybody out!
// lipsync_vansen_stablelz vo_vansen_stablelz
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_stablelz" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: MARKSWELL
// CONTEXT:Commanding
// DIALOG : You heard the lady, move! Go Go Go! Hit the ground and get moving!
// lipsync_marks_hrdlady vo_marks_hrdlady
aiSpeakWait( $m04_trench_unit1_seq_1_markswell, "lipsync_marks_hrdlady" ); // %%%%%%%%%% VO %%%%%%%%%%
// All the able marines start rappelling down the step-out line, Navajas is the
// last one, leaving Mitchell, Dekard and Tak.
// CHARACTER: NAVAJAS
// CONTEXT:Sarcastic
// DIALOG : See you on the ground!
// lipsync_nava_seegrn vo_nava_seegrn
aiSpeakWait( $m04_trench_unit1_seq_1_navajas, "lipsync_nava_seegrn" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_navajas, "st_chair_to_idle", 8, 1 );
aiScriptedFaceWait ( $m04_trench_unit1_seq_1_navajas, $m04_trench_unit1_seq_1_rap_node, 1 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_navajas, "st_dropship_stand", 8 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_navajas, "st_dropship_walk", 8, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_navajas, "st_repelling", 8, 1 );
$m04_trench_unit1_seq_1_navajas.remove();
$m04_trench_unit1_seq_1_dekard.remove();
sys.trigger( $m04_trench_unit1_seq_1_cam_3 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_markswell, "st_chair_to_idle", 8, 1 );
aiScriptedFaceWait ( $m04_trench_unit1_seq_1_markswell, $m04_trench_unit1_seq_1_rap_node, 1 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_markswell, "st_dropship_stand", 8 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_markswell, "st_dropship_walk", 8, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_markswell, "st_dropship_walk", 8, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_markswell, "st_dropship_walk", 8, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_markswell, "st_repelling", 8, 1 );
$m04_trench_unit1_seq_1_markswell.remove();
aiScriptedFaceWait ( $m04_trench_unit1_seq_1_tak, $m04_trench_unit1_seq_1_tak_weld_face_1, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_tak, "st_tak_weld_walk", 8, 1 );
aiScriptedAnim ( $m04_trench_unit1_seq_1_tak, "st_tak_weld", 8, 1 );
sys.wait( 4.5 );
// CHARACTER: TAK
// CONTEXT:Commanding
// DIALOG : Ok Mitchell, you're out! Go!
// lipsync_tak_okmitchout vo_tak_okmitchout
aiSpeakWait( $m04_trench_unit1_seq_1_tak, "lipsync_tak_okmitchout" ); // %%%%%%%%%% VO %%%%%%%%%%
// Mitchell steps up and slides down the step-out line.
// At this point we step in to POV of Dekard while Tak tries to free him from the seat.
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_mitchell, "st_chair_to_idle", 8, 1 );
aiScriptedFaceWait ( $m04_trench_unit1_seq_1_mitchell, $m04_trench_unit1_seq_1_rap_node, 1 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_mitchell, "st_dropship_stand", 8 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_mitchell, "st_dropship_walk", 8, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_mitchell, "st_repelling", 8, 1 );
$m04_trench_unit1_seq_1_mitchell.remove();
// CHARACTER: TAK
// CONTEXT:Dry
// DIALOG : I'll have you out in a second sarge.
// lipsync_tak_outsecsarge vo_tak_outsecsarge
$m04_trench_unit1_seq_1_cam_2.bind( $player1 );
sys.trigger( $cin_stranarus_trench_intro_cam_1 );
aiSpeakWait( $m04_trench_unit1_seq_1_tak, "lipsync_tak_outsecsarge" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : I can't hold this position much longer.
// lipsync_vansen_cntholdpos vo_vansen_cntholdpos
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_cntholdpos" ); // %%%%%%%%%% VO %%%%%%%%%%
// The ship pitches and groans. The sounds of ricochets pinging off the hull as the tension mounts
// CHARACTER: TAK
// CONTEXT:Dry
// DIALOG : Almost there.
// lipsync_tak_almostth vo_tak_almostth
aiSpeakWait( $m04_trench_unit1_seq_1_tak, "lipsync_tak_almostth" ); // %%%%%%%%%% VO %%%%%%%%%%
// The engines change their sounds again, much worse,
// sounding like a box of wrenches has been tossed into a fine tuned machine.
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : Starboard engine at 10 percent
// lipsync_vansen_stbeng10 vo_vansen_stbeng10
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_stbeng10" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Angry
// DIALOG : We're out of time marines!
// lipsync_vansen_weouttime vo_vansen_weouttime
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_weouttime" ); // %%%%%%%%%% VO %%%%%%%%%%
// CHARACTER: TAK
// CONTEXT:Commanding
// DIALOG : Got it! Dekard, let's go!
// lipsync_tak_gotitdek vo_tak_gotitdek
aiSpeakWait( $m04_trench_unit1_seq_1_tak, "lipsync_tak_gotitdek" ); // %%%%%%%%%% VO %%%%%%%%%%
// The seat harness lifts up automatically, we follow Tak in POV mode as he rappels
// down the line, the camera pans around slightly to see the landscape of the Trench ahead
// (whatever is possible), looking down Dekard slides down the line to the ground, we hit
// the ground and take a second to get up while facing the shadows of walker squads
// moving on the ground level above.
aiScriptedFaceWait ( $m04_trench_unit1_seq_1_tak, $m04_trench_unit1_seq_1_rap_node, 1 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_tak, "st_dropship_stand", 8 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_tak, "st_dropship_walk", 8, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_tak, "st_repelling", 8, 1 );
$m04_trench_unit1_seq_1_tak.remove();
aiScriptedFaceWait ( $m04_trench_unit1_seq_1_tak, $m04_trench_unit1_seq_1_rap_node, 1 );
aiScriptedAnimLoop ( $m04_trench_unit1_seq_1_tak, "st_dropship_stand", 8 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_tak, "st_dropship_walk", 8, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_1_tak, "st_repelling", 8, 1 );
$m04_trench_unit1_seq_1_tak.remove();
sys.trigger( $tak );
sys.trigger( $darnell );
sys.trigger( $m04_trench_unit1_seq_2_atlas_guy_1 );
sys.trigger( $m04_trench_unit1_seq_2_atlas_guy_2 );
sys.trigger( $m04_trench_unit1_seq_2_atlas_guy_3 );
sys.trigger( $m04_trench_unit1_seq_2_atlas_guy_4 );
sys.trigger( $m04_intro_unit1_seq_1_main_trigger_tely );
sys.trigger( $m04_trench_unit1_seq1_enable_weapons );
sys.trigger( $main_player_equip );
sys.trigger( $m04_trench_unit1_harvester_1 );
sys.trigger( $m04_trench_unit1_beach_turret_1 );
sys.trigger( $m04_trench_unit1_beach_turret_2 );
sys.trigger( $m04_trench_unit1_beach_turret_3 );
sys.trigger( $m04_trench_unit1_upper_level_team_spawner );
sys.trigger( $m04_trench_unit1_upper_level_team_walker_spawner );
sys.wait( 8 );
$m04_trench_unit1_seq_1_human_jet_1_anc.startSpline( $m04_trench_unit1_seq_1_human_jet_1_anc_spline );
aiSpeakWait( $darnell, "lipsync_darn_dekoverhr" ); // %%%%%%%%%% VO %%%%%%%%%%
$m04_trench_unit1_seq_1_human_jet_2_anc.startSpline( $m04_trench_unit1_seq_1_human_jet_2_anc_spline );
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 1 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 2 start
//---------------------------------------------------------------------------------
void m04_trench_unit1_seq_2()
{
// CHARACTER: VANSEN (PILOT)
// CONTEXT:Tense
// DIALOG : Dropship Falcon clearing hot zone.
// lipsync_vansen_dropshphot vo_vansen_dropshphot
radioChatterPlayWait( $uni_radiochatter, "vo_vansen_dropshphot" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $darnell, "lipsync_darn_welandmss" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.music( "m1_intro" );
aiSpeakWait( $darnell, "lipsync_darn_wenedgetmv" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $m04_trench_unit1_seq_1_init_breifing_player_blocker );
$tak.setLeader( $player1 );
$darnell.setLeader( $player1 );
$darnell.setTalkState( TALK_OK );
$darnell.setKey( "lipsync_talk_primary", "lipsync_darn_theywait" );
$darnell.setKey( "lipsync_talk_secondary", "lipsync_darn_therest" );
$darnell.setKey( "lipsync_talk_loop1", "lipsync_darn_thisreminsthat" );
$tak.setTalkState( TALK_OK );
$tak.setKey( "lipsync_talk_primary", "lipsync_tak_quiteop" );
$tak.setKey( "lipsync_talk_secondary", "lipsync_tak_marksregrp" );
$tak.setKey( "lipsync_talk_loop1", "lipsync_tak_weneedmvsrg" );
sys.trigger( $m04_trench_unit1_seq_2_strog_marine_1 );
sys.trigger( $m04_trench_unit1_seq_2_strog_marine_2 );
sys.trigger( $m04_trench_unit1_seq_2_gunner_1 );
sys.trigger( $m04_trench_unit1_seq_2_lower_area_strog_spawner_1 );
$tak.becomeAggressive();
$darnell.becomeAggressive();
aiSpeakWait( $m04_trench_unit1_seq_2_atlas_guy_1, "lipsync_atlas2_enemyfr" ); // %%%%%%%%%% VO %%%%%%%%%%
$m04_trench_unit1_seq_2_atlas_guy_1.kill();
$m04_trench_unit1_seq_2_atlas_guy_2.kill();
sys.trigger( $m04_trench_unit1_seq_2_boom_3 );
sys.wait( .24 );
$m04_trench_unit1_seq_2_atlas_guy_3.kill();
$m04_trench_unit1_seq_2_atlas_guy_4.kill();
sys.trigger( $m04_trench_unit1_seq_2_boom_4 );
sys.wait( .14 );
sys.trigger( $m04_trench_unit1_seq_2_boom_4 );
radioChatterPlayWait( $uni_radiochatter, "vo_atlas2_getwalkpos" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 6 );
radioChatterPlayWait( $uni_radiochatter, "vo_atlas2_rogwlk2" ); // %%%%%%%%%% VO %%%%%%%%%%
radioChatterPlayWait( $uni_radiochatter, "vo_atlas2_getwalkpos" ); // %%%%%%%%%% VO %%%%%%%%%%
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 2 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 3 start
//---------------------------------------------------------------------------------
void m04_trench_unit1_seq_3()
{
sys.trigger( $m04_trench_unit1_seq_3_atlas_guy_3 );
sys.trigger( $m04_trench_unit1_seq_3_atlas_guy_4 );
sys.wait( 1 );
$m04_trench_unit1_seq_3_atlas_guy_3.kill();
$m04_trench_unit1_seq_3_atlas_guy_4.kill();
sys.trigger( $m04_trench_unit1_seq_3_boom_2 );
sys.trigger( $m04_trench_unit1_seq_3_boom_1 );
sys.trigger( $m04_trench_unit1_uni_boom_flash_fade_efx_start );
$m04_trench_unit1_uni_boom_flash_anc.startSpline( $m04_trench_unit1_seq_3_boom_1_spline );
$m04_trench_unit1_harvester_1.remove();
$m04_trench_unit1_fallen_debris_harvester_1.show();
sys.trigger( $m04_trench_unit1_seq_2_lower_area_strog_spawner_3 );
radioChatterPlayWait( $uni_radiochatter, "vo_atlas_harvester" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $m04_trench_unit1_seq_3_upper_level_strog_spawner );
radioChatterPlayWait( $uni_radiochatter, "vo_pilot_razor16" ); // %%%%%%%%%% VO %%%%%%%%%%
$m04_trench_unit1_seq_5_crashing_drop_ship_anc.startSpline( $m04_trench_unit1_seq_5_crashing_drop_ship_spline );
radioChatterPlayWait( $uni_radiochatter, "vo_atlas2_airsupp" ); // %%%%%%%%%% VO %%%%%%%%%%
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 3 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 4 end
//---------------------------------------------------------------------------------
void m04_trench_unit1_seq_4_walker_1_into_tunnel()
{
$m04_trench_unit1_seq_4_tunnel_walker_1.setUndying( 1 );
aiScriptedMoveWait ( $m04_trench_unit1_seq_4_tunnel_walker_1, $m04_trench_unit1_seq_4_tunnel_walker_1_node_1, 64, 1);
sys.wait( 15 );
$m04_trench_unit1_seq_4_tunnel_walker_1.remove();
}
void m04_trench_unit1_seq_4_walker_2_into_tunnel()
{
$m04_trench_unit1_seq_4_tunnel_walker_2.setUndying( 1 );
aiScriptedMoveWait ( $m04_trench_unit1_seq_4_tunnel_walker_2, $m04_trench_unit1_seq_4_tunnel_walker_2_node_1, 64, 1);
sys.wait( 15 );
$m04_trench_unit1_seq_4_tunnel_walker_2.remove();
}
void m04_trench_unit1_seq_4()
{
thread m04_trench_unit1_seq_4_walker_1_into_tunnel();
thread m04_trench_unit1_seq_4_walker_2_into_tunnel();
sys.trigger( $m04_trench_unit1_seq_7_hades_squad_guy_1 );
sys.trigger( $m04_trench_unit1_seq_4_boom_1 );
sys.wait( .25 );
sys.trigger( $m04_trench_unit1_seq_4_boom_2 );
$m04_trench_unit1_seq_3_wave_atlas_guy_1.kill();
$m04_trench_unit1_seq_3_wave_atlas_guy_2.kill();
sys.wait( 4 );
$tak.setUndying( 1 );
$darnell.setUndying( 1 );
$tak.disableTarget();
$darnell.disableTarget();
aiSpeakWait( $tak, "lipsync_tak_ltsgo2" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $darnell, "lipsync_darn_gogogo" ); // %%%%%%%%%% VO %%%%%%%%%%
}
void m04_trench_unit1_seq_4_team_run_up()
{
aiScriptedMoveWait ( $tak, $m04_trench_unit1_tak_node_seq_4, 16, 1);
aiScriptedFaceWait ( $tak, $m04_trench_unit1_tak_face_seq_4, 0);
aiScriptedAnimLoop ( $tak, "cover_right_idle", 32 );
sys.wait( 1 );
aiScriptedMoveWait ( $darnell, $m04_trench_unit1_darnell_node_seq_4, 16, 1);
aiScriptedFaceWait ( $darnell, $m04_trench_unit1_darnell_face_seq_4, 0);
aiScriptedAnimLoop ( $darnell, "cover_left_idle", 32 );
sys.wait( 1 );
aiScriptedMoveWait ( $tak, $m04_trench_unit1_tak_node_seq_4a, 16, 1);
aiScriptedFaceWait ( $tak, $m04_trench_unit1_tak_face_seq_4a, 0);
aiScriptedAnimLoop ( $tak, "cover_left_idle", 32 );
sys.wait( 1 );
aiScriptedMoveWait ( $darnell, $m04_trench_unit1_darnell_node_seq_4a, 16, 1);
aiScriptedFaceWait ( $darnell, $m04_trench_unit1_darnell_face_seq_4a, 0);
aiScriptedAnimLoop ( $darnell, "cover_left_idle", 32 );
sys.wait( 1 );
aiScriptedMoveWait ( $tak, $m04_trench_unit1_tak_node_seq_4b, 16, 1);
aiScriptedFaceWait ( $tak, $m04_trench_unit1_tak_face_seq_4b, 0);
aiScriptedAnimLoop ( $tak, "cover_left_idle", 32 );
sys.wait( 1 );
aiScriptedMoveWait ( $darnell, $m04_trench_unit1_darnell_node_seq_4b, 16, 1);
aiScriptedFaceWait ( $darnell, $m04_trench_unit1_darnell_face_seq_4b, 0);
aiScriptedAnimLoop ( $darnell, "cover_right_idle", 32 );
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 4 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 7 start
//---------------------------------------------------------------------------------
void tak_trench_unit1_seq_7()
{
aiScriptedMoveWait ( $tak, $m04_trench_unit1_tak_node_seq_7, 32, 1);
aiScriptedFaceWait ( $tak, $m04_trench_unit1_tak_face_seq_7, 0);
}
void darnell_trench_unit1_seq_7()
{
aiScriptedMoveWait ( $darnell, $m04_trench_unit1_darnell_node_seq_7, 32, 1);
aiScriptedFaceWait ( $darnell, $m04_trench_unit1_darnell_face_seq_7, 0);
}
void m04_trench_unit1_seq_7()
{
thread darnell_trench_unit1_seq_7();
thread tak_trench_unit1_seq_7();
$m04_trench_unit1_seq_7_hades_squad_guy_1.resetTalkCount();
$m04_trench_unit1_seq_7_hades_squad_guy_1.setKey( "lipsync_talk_primary", "lipsync_hades2_weneedsupp2" );
$m04_trench_unit1_seq_7_hades_squad_guy_1.setKey( "lipsync_talk_secondary", "lipsync_hades2_cmdsenden" );
$m04_trench_unit1_seq_7_hades_squad_guy_1.setKey( "lipsync_talk_loop1", "lipsync_hades2_whyisthisant" );
sys.trigger( $markswell );
sys.trigger( $navajas );
sys.trigger( $mitchell );
sys.trigger( $m04_trench_unit1_seq_1_wounded_marine_1 );
sys.trigger( $m04_trench_unit1_seq_7_mort_boom_1 );
sys.trigger( $m04_trench_unit1_uni_boom_flash_fade_efx_start );
sys.wait(3);
$m04_trench_unit1_uni_boom_flash_anc.startSpline( $m04_trench_unit1_seq_7_mort_boom_1_spline );
sys.wait(3);
sys.trigger( $m04_trench_unit1_seq_7_mort_boom_2 );
sys.trigger( $m04_trench_unit1_uni_boom_flash_fade_efx_start );
$m04_trench_unit1_uni_boom_flash_anc.startSpline( $m04_trench_unit1_seq_7_mort_boom_2_spline );
}
void m04_trench_unit1_seq_7_disable_turrets()
{
aiSpeak( $m04_trench_unit1_seq_7_hades_squad_guy_1, "lipsync_hades2_heyfalc" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $m04_trench_unit1_seq_3_upper_level_strog_spawner );
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 7 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 8 start
//---------------------------------------------------------------------------------
void m04_trench_unit1_seq_8()
{
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 8 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 9 start
//---------------------------------------------------------------------------------
void markswell_trench_unit1_seq_9()
{
aiSpeakWait( $markswell, "lipsync_marks_dekoverhr" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $markswell, $m04_trench_unit1_markswell_node_seq_9, 32, 1);
sys.trigger( $OBJ_one_complete );
aiScriptedFaceWait ( $markswell, $m04_trench_unit1_markswell_face_seq_9, 0);
aiScriptedAnim ( $markswell, "point_forward", 16, 1 );
aiSpeakWait( $markswell, "lipsync_marks_twowalkfl" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $OBJ_two );
aiScriptedMove ( $tak, $m04_trench_unit1_tak_node_seq_9, 32, 1);
$tak.setLeader( $player1 );
$navajas.setLeader( $player1 );
sys.trigger( $m04_trench_unit1_seq_10 );
$darnell.resetTalkCount();
$darnell.setKey( "lipsync_talk_primary", "lipsync_darn_webefine" );
$darnell.setKey( "lipsync_talk_secondary", "lipsync_darn_getgoforev" );
$tak.resetTalkCount();
$tak.setKey( "lipsync_talk_primary", "lipsync_tak_letsgetwlk" );
$tak.setKey( "lipsync_talk_secondary", "lipsync_tak_ihopethosewl" );
$tak.setKey( "lipsync_talk_loop1", "lipsync_tak_weneedmvsrg" );
$markswell.setTalkState( TALK_OK );
$markswell.setKey( "lipsync_talk_primary", "lipsync_marks_forwent" );
$markswell.setKey( "lipsync_talk_secondary", "lipsync_marks_getmov" );
$markswell.setKey( "lipsync_talk_loop1", "lipsync_marks_deknottell" );
$mitchell.setTalkState( TALK_OK );
$mitchell.setKey( "lipsync_talk_primary", "lipsync_mitch_mostmed" );
$mitchell.setKey( "lipsync_talk_secondary", "lipsync_mitch_ivedoneall" );
$mitchell.setKey( "lipsync_talk_loop1", "lipsync_mitch_keepeyeatlas" );
$navajas.setTalkState( TALK_OK );
$navajas.setKey( "lipsync_talk_primary", "lipsync_nava_formintro" );
$navajas.setKey( "lipsync_talk_secondary", "lipsync_nava_letschatob" );
$navajas.setKey( "lipsync_talk_loop1", "lipsync_nava_timeisshort" );
$navajas.setKey( "lipsync_talk_loop2", "lipsync_nava_obvioyouhr" );
}
void m04_trench_unit1_seq_9()
{
$darnell.setLeader( $null_ent );
thread markswell_trench_unit1_seq_9();
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 9 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 10 start
//---------------------------------------------------------------------------------
void m04_trench_unit1_cave_boom_start()
{
sys.wait( 2 );
sys.trigger( $m04_trench_unit1_cave_dust_boom );
sys.trigger( $m04_trench_unit1_cave_dust_1 );
sys.wait( .25 );
sys.trigger( $m04_trench_unit1_cave_dust_2 );
sys.wait( .48 );
sys.trigger( $m04_trench_unit1_cave_dust_3 );
sys.wait( .32 );
sys.trigger( $m04_trench_unit1_cave_dust_4 );
sys.wait( .78 );
sys.trigger( $m04_trench_unit1_cave_dust_5 );
sys.wait( 12 );
sys.trigger( $m04_trench_unit1_cave_dust_boom );
sys.trigger( $m04_trench_unit1_cave_dust_1 );
sys.wait( .25 );
sys.trigger( $m04_trench_unit1_cave_dust_2 );
sys.wait( .48 );
sys.trigger( $m04_trench_unit1_cave_dust_3 );
sys.wait( .32 );
sys.trigger( $m04_trench_unit1_cave_dust_4 );
sys.wait( .78 );
sys.trigger( $m04_trench_unit1_cave_dust_5 );
sys.wait( 17 );
sys.trigger( $m04_trench_unit1_cave_dust_boom );
sys.trigger( $m04_trench_unit1_cave_dust_1 );
sys.wait( .25 );
sys.trigger( $m04_trench_unit1_cave_dust_2 );
sys.wait( .48 );
sys.trigger( $m04_trench_unit1_cave_dust_3 );
sys.wait( .32 );
sys.trigger( $m04_trench_unit1_cave_dust_4 );
sys.wait( .78 );
sys.trigger( $m04_trench_unit1_cave_dust_5 );
sys.wait( 32 );
sys.trigger( $m04_trench_unit1_cave_dust_boom );
sys.trigger( $m04_trench_unit1_cave_dust_1 );
sys.wait( .25 );
sys.trigger( $m04_trench_unit1_cave_dust_2 );
sys.wait( .48 );
sys.trigger( $m04_trench_unit1_cave_dust_3 );
sys.wait( .32 );
sys.trigger( $m04_trench_unit1_cave_dust_4 );
sys.wait( .78 );
sys.trigger( $m04_trench_unit1_cave_dust_5 );
}
void tak_trench_unit1_seq_10()
{
aiSpeakWait( $navajas, "lipsync_nava_blsenoughchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $tak, "lipsync_tak_alwaysblow" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $tak, "lipsync_tak_gimmeasec" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $tak, $m04_trench_unit1_tak_node_seq_10, 8, 1);
aiScriptedFaceWait ( $tak, $m04_trench_unit1_tak_face_seq_10, 0);
aiSpeak( $tak, "lipsync_tak_therewego" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedAnimWait ( $tak, "plant_tnt_high", 16, 1 );
aiScriptedFaceWait ( $tak, $m04_trench_unit1_tak_face_seq_10a, 0);
aiSpeak( $navajas, "lipsync_tak_strg1" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $m04_trench_unit1_seq_10_door_shader_parm_1 );
sys.trigger( $m04_trench_unit1_seq_10_door_lock_1 );
sys.trigger( $m04_trench_unit1_seq_10_ai_blocker_main );
sys.trigger( $m04_trench_unit1_seq_10_ai_blocker_ridge );
sys.trigger( $m04_trench_unit1_seq_10_strog_marine_1 );
aiScriptedMoveWait ( $m04_trench_unit1_seq_10_strog_marine_1, $m04_trench_unit1_seq_10_grunt_smack_tack_node, 8, 1);
aiScriptedAnim ( $tak, "cine_ad_fights_grunt_1", 2, 1 );
aiScriptedAnimWait ( $m04_trench_unit1_seq_10_strog_marine_1, "melee_attack2", 16, 1 );
aiSpeakWait( $tak, "lipsync_tak_whoa" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $m04_trench_unit1_seq_10_strog_marine_2 );
aiScriptedAnim ( $m04_trench_unit1_seq_10_strog_marine_1, "angry2", 2, 1 );
$tak.becomeAggressive();
$navajas.becomeAggressive();
sys.wait(1);
sys.trigger( $m04_trench_unit1_seq_10_player_blocker_scripted_seq_1 );
}
void navajas_trench_unit1_seq_10()
{
aiScriptedMoveWait ( $navajas, $m04_trench_unit1_navajas_node_seq_10, 32, 1);
}
void m04_trench_unit1_seq_10()
{
sys.trigger( $m04_trench_unit1_seq_10_player_blocker_scripted_seq_1 );
$tak.setLeader( $null_ent );
$navajas.setLeader( $null_ent );
aiSpeakWait( $tak, "lipsync_tak_gimmeasec" ); // %%%%%%%%%% VO %%%%%%%%%%
thread tak_trench_unit1_seq_10();
thread navajas_trench_unit1_seq_10();
}
void m04_trench_unit1_seq_10_begin_run_inside()
{
thread m04_trench_unit1_cave_boom_start();
aiScriptedMove ( $tak, $m04_trench_unit1_tak_node_seq_10a, 32, 1);
aiScriptedMoveWait ( $navajas, $m04_trench_unit1_navajas_node_seq_10a, 32, 1);
aiSpeakWait( $tak, "lipsync_tak_whewcls" ); // %%%%%%%%%% VO %%%%%%%%%%
$tak.setUndying( 0 );
$darnell.setUndying( 0 );
}
//---------------------------------------------------------------------------------
// m04_trench_unit1 Sequence 10 end
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_trench_unit1 end
//---------------------------------------------------------------------------------
//=================================================================================
//=================================================================================
//---------------------------------------------------------------------------------
// m04_building_unit1 begin
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 1 start
//---------------------------------------------------------------------------------
void tak_seq_1()
{
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_1, 8, 1);
aiScriptedFaceWait ( $tak, $m04_building_unit1_tak_face_seq_1, 0);
aiScriptedAnim ( $tak, "idle_scan_2", 4, 0 );
}
void navajas_seq_1()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_1, 8, 1);
aiScriptedFaceWait ( $navajas, $m04_building_unit1_navajas_face_seq_1, 0);
aiScriptedAnim ( $navajas, "idle_scan_3", 4, 0 );
}
void m04_building_unit1_seq_1_main()
{
$tak.flashlight(1);
$navajas.flashlight(1);
$tak.disableHeal();
thread tak_seq_1();
thread navajas_seq_1();
sys.trigger( $uni_auto_save_trigger );
sys.trigger( $m04_building_unit1_seq_2_ai_blocker_1 );
sys.trigger( $m04_building_unit1_seq_1_dead_strog_1 );
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 1 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 2 start
//---------------------------------------------------------------------------------
void tak_seq_2()
{
$tak.becomePassive(1);
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_2, 4, 1);
aiScriptedFaceWait ( $tak, $m04_building_unit1_tak_face_seq_2, 0);
aiSpeakWait( $tak, "lipsync_tak_whattht" ); // %%%%%%%%%% VO %%%%%%%%%%
$tak.flashlight(0);
$tak.hideSurface ("models/weapons/mp_guns/w_mg_lo");
aiScriptedAnimLoop ( $tak, "working_wall_panel", 16 );
aiSpeakWait( $tak, "lipsync_tak_strggweapnseen" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait(4);
sys.trigger ( $m04_building_unit1_seq_2_freeze_gun_hide_show );
$dummyfreezeGun.bindToJoint($tak, "r_wrist", 1);
aiScriptedFaceWait ( $tak, $player1, 0);
aiScriptedAnimWait ( $tak, "player_gift_start", 16, 1 );
aiScriptedAnimLoop ( $tak, "player_gift_loop", 16 );
sys.trigger ( $m04_building_unit1_seq_3 );
}
void navajas_seq_2()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_2, 8, 1);
aiScriptedFaceWait ( $navajas, $m04_building_unit1_navajas_face_seq_2, 0);
aiScriptedAnim ( $navajas, "idle_scan_3", 16, 1 );
}
void m04_building_unit1_seq_2()
{
thread tak_seq_2();
thread navajas_seq_2();
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 2 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 3 start
//---------------------------------------------------------------------------------
void bindToPiston()
{
$wing_rt_south_1.bind($bridge_piston_rt_1);
$wing_rt_north_1.bind($bridge_piston_rt_1);
$wing_rt_south_2.bind($bridge_piston_rt_2);
$wing_rt_north_2.bind($bridge_piston_rt_2);
$wing_rt_south_3.bind($bridge_piston_rt_3);
$wing_rt_north_3.bind($bridge_piston_rt_3);
$wing_rt_south_4.bind($bridge_piston_rt_4);
$wing_rt_north_4.bind($bridge_piston_rt_4);
$wing_rt_south_5.bind($bridge_piston_rt_5);
$wing_rt_north_5.bind($bridge_piston_rt_5);
$wing_rt_south_6.bind($bridge_piston_rt_6);
$wing_rt_north_6.bind($bridge_piston_rt_6);
$wing_rt_south_7.bind($bridge_piston_rt_7);
$wing_rt_north_7.bind($bridge_piston_rt_7);
$wing_rt_south_8.bind($bridge_piston_rt_8);
$wing_rt_north_8.bind($bridge_piston_rt_8);
}
void bindToPivot()
{
$wing_rt_south_1.bind($origin_south_1);
$wing_rt_north_1.bind($origin_north_1);
$wing_rt_south_2.bind($origin_south_2);
$wing_rt_north_2.bind($origin_north_2);
$wing_rt_south_3.bind($origin_south_3);
$wing_rt_north_3.bind($origin_north_3);
$wing_rt_south_4.bind($origin_south_4);
$wing_rt_north_4.bind($origin_north_4);
$wing_rt_south_5.bind($origin_south_1);
$wing_rt_north_5.bind($origin_north_1);
$wing_rt_south_6.bind($origin_south_2);
$wing_rt_north_6.bind($origin_north_2);
$wing_rt_south_7.bind($origin_south_3);
$wing_rt_north_7.bind($origin_north_3);
$wing_rt_south_8.bind($origin_south_4);
$wing_rt_north_8.bind($origin_north_4);
}
void pillarsDown()
{
$pillar_1.time(.5);
$pillar_1.accelTime(.4);
$pillar_2.time(.5);
$pillar_2.accelTime(.4);
$origin_pillar_1.time(.5);
$origin_pillar_2.time(.5);
$pillar_1.move( DOWN, 88 );
$pillar_2.move( DOWN, 88 );
$origin_pillar_1.rotateOnce( '0 450 0' );
$origin_pillar_2.rotateOnce( '0 450 0' );
sys.waitFor($pillar_1);
$origin_pillar_1.time(1);
$origin_pillar_2.time(1);
$origin_pillar_1.rotateOnce( '0 90 0' );
$origin_pillar_2.rotateOnce( '0 90 0' );
sys.waitFor($origin_pillar_1);
$pillar_1.move( DOWN, 167 );
$pillar_2.move( DOWN, 167 );
}
void bridge1_dn()
{
$origin_piston_rt_1.time(.5);
$origin_piston_rt_1.accelTime(.4);
$origin_piston_rt_5.time(.5);
$origin_piston_rt_5.accelTime(.4);
$origin_piston_rt_1.rotateOnce( '-90 0 0' );
$origin_piston_rt_5.rotateOnce( '90 0 0' );
sys.waitFor($origin_piston_rt_1);
$origin_piston_rt_1.move( NORTH, 22 );
$origin_piston_rt_5.move( NORTH, 22 );
sys.waitFor($origin_piston_rt_1);
thread pillarsDown();
$origin_piston_rt_1.move( DOWN, 88 );
$origin_piston_rt_5.move( DOWN, 88 );
sys.waitFor($origin_piston_rt_1);
$origin_piston_rt_1.rotateOnce( '0 0 -100' );
$origin_piston_rt_5.rotateOnce( '0 0 -100' );
sys.wait(1);
$origin_piston_rt_1.move( DOWN, 167 );
$origin_piston_rt_5.move( DOWN, 167 );
}
void bridge2_dn()
{
$origin_piston_rt_2.time(.5);
$origin_piston_rt_2.accelTime(.4);
$origin_piston_rt_6.time(.5);
$origin_piston_rt_6.accelTime(.4);
$origin_piston_rt_2.rotateOnce( '-90 0 0' );
$origin_piston_rt_6.rotateOnce( '90 0 0' );
sys.waitFor($origin_piston_rt_2);
$origin_piston_rt_2.move( SOUTH, 22 );
$origin_piston_rt_6.move( SOUTH, 22 );
sys.waitFor($origin_piston_rt_2);
$origin_piston_rt_2.move( DOWN, 88 );
$origin_piston_rt_6.move( DOWN, 88 );
sys.waitFor($origin_piston_rt_2);
$origin_piston_rt_2.rotateOnce( '0 0 100' );
$origin_piston_rt_6.rotateOnce( '0 0 100' );
sys.wait(1);
$origin_piston_rt_2.move( DOWN, 167 );
$origin_piston_rt_6.move( DOWN, 167 );
}
void bridge3_dn()
{
$origin_piston_rt_3.time(.5);
$origin_piston_rt_3.accelTime(.4);
$origin_piston_rt_7.time(.5);
$origin_piston_rt_7.accelTime(.4);
$origin_piston_rt_3.rotateOnce( '-90 0 0' );
$origin_piston_rt_7.rotateOnce( '90 0 0' );
sys.waitFor($origin_piston_rt_3);
$origin_piston_rt_3.move( NORTH, 22 );
$origin_piston_rt_7.move( NORTH, 22 );
sys.waitFor($origin_piston_rt_3);
thread pillarsDown();
$origin_piston_rt_3.move( DOWN, 88 );
$origin_piston_rt_7.move( DOWN, 88 );
sys.waitFor($origin_piston_rt_3);
$origin_piston_rt_3.rotateOnce( '0 0 -100' );
$origin_piston_rt_7.rotateOnce( '0 0 -100' );
sys.wait(1);
$origin_piston_rt_3.move( DOWN, 167 );
$origin_piston_rt_7.move( DOWN, 167 );
}
void bridge4_dn()
{
$origin_piston_rt_4.time(.5);
$origin_piston_rt_4.accelTime(.4);
$origin_piston_rt_8.time(.5);
$origin_piston_rt_8.accelTime(.4);
$origin_piston_rt_4.rotateOnce( '-90 0 0' );
$origin_piston_rt_8.rotateOnce( '90 0 0' );
sys.waitFor($origin_piston_rt_4);
$origin_piston_rt_4.move( SOUTH, 22 );
$origin_piston_rt_8.move( SOUTH, 22 );
sys.waitFor($origin_piston_rt_4);
$origin_piston_rt_4.move( DOWN, 88 );
$origin_piston_rt_8.move( DOWN, 88 );
sys.waitFor($origin_piston_rt_4);
$origin_piston_rt_4.rotateOnce( '0 0 100' );
$origin_piston_rt_8.rotateOnce( '0 0 100' );
sys.wait(1);
$origin_piston_rt_4.move( DOWN, 167 );
$origin_piston_rt_8.move( DOWN, 167 );
}
void foldWings()
{
$origin_north_1.time(.5);
$origin_north_2.time(.5);
$origin_north_3.time(.5);
$origin_north_4.time(.5);
$origin_south_1.time(.5);
$origin_south_2.time(.5);
$origin_south_3.time(.5);
$origin_south_4.time(.5);
$origin_north_1.decelTime(.4);
$origin_north_1.decelTime(.4);
$origin_north_1.decelTime(.4);
$origin_north_1.decelTime(.4);
$origin_south_1.decelTime(.4);
$origin_south_2.decelTime(.4);
$origin_south_3.decelTime(.4);
$origin_south_4.decelTime(.4);
thread bindToPivot();
$origin_north_1.rotateOnce( '0 0 -80' );
$origin_north_2.rotateOnce( '0 0 -80' );
$origin_north_3.rotateOnce( '0 0 -80' );
$origin_north_4.rotateOnce( '0 0 -80' );
$origin_south_1.rotateOnce( '0 0 80' );
$origin_south_2.rotateOnce( '0 0 80' );
$origin_south_3.rotateOnce( '0 0 80' );
$origin_south_4.rotateOnce( '0 0 80' );
sys.waitFor($origin_south_1);
thread bindToPiston();
thread bridge1_dn();
thread bridge2_dn();
thread bridge3_dn();
thread bridge4_dn();
}
void tak_seq_3()
{
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_3, 32, 1);
//aiScriptedAnim ( $tak, "idle_scan_3", 32, 1 );
}
void navajas_seq_3()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_3, 32, 1);
//aiScriptedAnim ( $navajas, "idle_scan_3", 32, 1 );
}
void m04_building_unit1_seq_3_dialog_fgun_clue()
{
aiSpeak( $tak, "lipsync_tak_tre_stroggweapon2" ); // %%%%%%%%%% VO %%%%%%%%%%
}
void m04_building_unit1_seq_3()
{
thread foldWings();
$dummyfreezeGun.remove();
sys.trigger ( $m04_building_unit1_seq_3_give_freeze_gun );
aiScriptedAnimWait ( $tak, "player_gift_end", 16, 1 );
$tak.showSurface ("models/weapons/mp_guns/w_mg_lo");
$tak.flashlight(1);
//sys.trigger( $m04_building_unit1_seq_3_door );
sys.music( "m1_objective" );
thread tak_seq_3();
thread navajas_seq_3();
sys.trigger( $m04_building_unit1_seq_3_set_door_shader );
sys.trigger( $m04_building_unit1_seq_3_door_lock );
sys.trigger( $m04_building_unit1_seq_3_door );
sys.trigger( $m04_building_unit1_seq_3_strog_ambusher_1 );
$tak.becomeAggressive();
$navajas.becomeAggressive();
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 3 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 4 start
//---------------------------------------------------------------------------------
void tak_seq_4()
{
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_4, 8, 0);
sys.wait(.1);
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_4, 8, 1);
sys.trigger( $m04_building_unit1_seq_4_counter_1);
}
void navajas_seq_4()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_4, 8, 0);
sys.wait(.1);
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_4, 8, 1);
sys.trigger( $m04_building_unit1_seq_4_counter_1 );
}
void m04_building_unit1_seq_4()
{
thread tak_seq_4();
thread navajas_seq_4();
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 4 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 5 start
//---------------------------------------------------------------------------------
void tak_seq_5()
{
$tak.becomePassive(1);
aiSpeak( $tak, "lipsync_tak_letmegetbr" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_5, 8, 1);
aiScriptedFaceWait ( $tak, $m04_building_unit1_tak_face_seq_5, 0);
aiScriptedAnimWait ( $tak, "st_tak_hacks_start", 8, 1 );
aiScriptedAnimLoop ( $tak, "st_tak_hacks_loop", 32 );
}
void m04_building_unit1_seq_5_grunt_1()
{
$m04_building_unit1_seq_5_grunt_1.disableGravity();
aiScriptedMoveWait ( $m04_building_unit1_seq_5_grunt_1, $m04_building_unit1_seq_5_grunt_1_node_1, 8, 1);
aiScriptedFaceWait ( $m04_building_unit1_seq_5_grunt_1, $m04_building_unit1_seq_5_grunt_1_face_1, 0);
aiScriptedAnimWait ( $m04_building_unit1_seq_5_grunt_1, "st_grunt_jump", 8, 1 );
$m04_building_unit1_seq_5_grunt_1.enableGravity();
$m04_building_unit1_seq_5_grunt_1.becomeAggressive();
}
void m04_building_unit1_seq_5()
{
sys.trigger( $m04_building_unit1_seq_5_door_lock_1 );
sys.trigger( $m04_building_unit1_seq_5_door_shader_parm_1 );
thread tak_seq_5();
sys.wait( 10 );
sys.trigger( $m04_building_unit1_seq_5_strog_marine_1 );
sys.trigger( $m04_building_unit1_seq_5_strog_marine_2 );
sys.trigger( $m04_building_unit1_seq_5_strog_gunner_1 );
$navajas.becomeAggressive();
aiSpeakWait( $navajas, "lipsync_nava_wegotcom" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeak( $tak, "lipsync_tak_almskeepoff" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 10 );
thread m04_building_unit1_seq_5_grunt_1();
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 5 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 6 start
//---------------------------------------------------------------------------------
void pillarsUp()
{
$pillar_1.time(1);
$pillar_1.decelTime(.25);
$pillar_2.time(1);
$pillar_2.decelTime(.25);
$origin_pillar_1.time(1);
$origin_pillar_1.decelTime(.25);
$origin_pillar_2.time(1);
$origin_pillar_2.decelTime(.25);
$pillar_1.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$pillar_2.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$pillar_1.move( UP, 167 );
$pillar_2.move( UP, 167 );
sys.waitFor($pillar_1);
$origin_pillar_1.startSoundShader( "tram_bridge_pillar2", SND_CHANNEL_ANY );
$origin_pillar_2.startSoundShader( "tram_bridge_pillar2", SND_CHANNEL_ANY );
$origin_pillar_1.rotateOnce( '0 90 0' );
$origin_pillar_2.rotateOnce( '0 90 0' );
sys.waitFor($origin_pillar_1);
$pillar_1.startSoundShader( "tram_bridge_pillar3", SND_CHANNEL_ANY );
$pillar_2.startSoundShader( "tram_bridge_pillar3", SND_CHANNEL_ANY );
$pillar_1.move( UP, 88 );
$pillar_2.move( UP, 88 );
$origin_pillar_1.rotateOnce( '0 450 0' );
$origin_pillar_2.rotateOnce( '0 450 0' );
}
void bridgeUnfold1()
{
$origin_piston_rt_1.startSoundShader( "tram_bridge_wings1", SND_CHANNEL_ANY );
$origin_piston_rt_5.startSoundShader( "tram_bridge_wings1", SND_CHANNEL_ANY );
$origin_piston_rt_1.rotateOnce( '90 0 0' );
$origin_piston_rt_5.rotateOnce( '-90 0 0' );
sys.waitFor($origin_piston_rt_1);
$wing_rt_north_1.bind($origin_north_1);
$wing_rt_north_5.bind($origin_north_1);
$wing_rt_south_1.bind($origin_south_1);
$wing_rt_south_5.bind($origin_south_1);
$origin_piston_rt_1.startSoundShader( "tram_bridge_wings2", SND_CHANNEL_ANY );
$origin_piston_rt_5.startSoundShader( "tram_bridge_wings2", SND_CHANNEL_ANY );
$origin_north_1.rotateOnce( '0 0 80' );
$origin_south_1.rotateOnce( '0 0 -80' );
sys.waitFor($origin_north_1);
$wing_rt_north_1.bind($origin_piston_rt_1);
$wing_rt_south_1.bind($origin_piston_rt_1);
$wing_rt_north_5.bind($origin_piston_rt_5);
$wing_rt_south_5.bind($origin_piston_rt_5);
$bridge_clip.show();
$origin_piston_rt_1.startSoundShader( "tram_bridge_wings3", SND_CHANNEL_ANY );
$origin_piston_rt_5.startSoundShader( "tram_bridge_wings3", SND_CHANNEL_ANY );
$origin_piston_rt_1.rotateOnce( '0 0 -720' );
$origin_piston_rt_5.rotateOnce( '0 0 -720' );
}
void bridgeUnfold2()
{
$origin_piston_rt_2.startSoundShader( "tram_bridge_wings1", SND_CHANNEL_ANY );
$origin_piston_rt_6.startSoundShader( "tram_bridge_wings1", SND_CHANNEL_ANY );
$origin_piston_rt_2.rotateOnce( '90 0 0' );
$origin_piston_rt_6.rotateOnce( '-90 0 0' );
sys.waitFor($origin_piston_rt_2);
$wing_rt_north_2.bind($origin_north_2);
$wing_rt_north_6.bind($origin_north_2);
$wing_rt_south_2.bind($origin_south_2);
$wing_rt_south_6.bind($origin_south_2);
$origin_piston_rt_2.startSoundShader( "tram_bridge_wings2", SND_CHANNEL_ANY );
$origin_piston_rt_6.startSoundShader( "tram_bridge_wings2", SND_CHANNEL_ANY );
$origin_north_2.rotateOnce( '0 0 80' );
$origin_south_2.rotateOnce( '0 0 -80' );
sys.waitFor($origin_north_2);
$wing_rt_north_2.bind($origin_piston_rt_2);
$wing_rt_south_2.bind($origin_piston_rt_2);
$wing_rt_north_6.bind($origin_piston_rt_6);
$wing_rt_south_6.bind($origin_piston_rt_6);
$origin_piston_rt_2.startSoundShader( "tram_bridge_wings3", SND_CHANNEL_ANY );
$origin_piston_rt_6.startSoundShader( "tram_bridge_wings3", SND_CHANNEL_ANY );
$origin_piston_rt_2.rotateOnce( '0 0 -720' );
$origin_piston_rt_6.rotateOnce( '0 0 -720' );
}
void bridgeUnfold3()
{
$origin_piston_rt_3.rotateOnce( '90 0 0' );
$origin_piston_rt_7.rotateOnce( '-90 0 0' );
sys.waitFor($origin_piston_rt_3);
$wing_rt_north_3.bind($origin_north_3);
$wing_rt_north_7.bind($origin_north_3);
$wing_rt_south_3.bind($origin_south_3);
$wing_rt_south_7.bind($origin_south_3);
$origin_north_3.rotateOnce( '0 0 80' );
$origin_south_3.rotateOnce( '0 0 -80' );
sys.waitFor($origin_north_3);
$wing_rt_north_3.bind($origin_piston_rt_3);
$wing_rt_south_3.bind($origin_piston_rt_3);
$wing_rt_north_7.bind($origin_piston_rt_7);
$wing_rt_south_7.bind($origin_piston_rt_7);
$origin_piston_rt_3.rotateOnce( '0 0 -720' );
$origin_piston_rt_7.rotateOnce( '0 0 -720' );
}
void bridgeUnfold4()
{
$origin_piston_rt_4.rotateOnce( '90 0 0' );
$origin_piston_rt_8.rotateOnce( '-90 0 0' );
sys.waitFor($origin_piston_rt_4);
$wing_rt_north_4.bind($origin_north_4);
$wing_rt_north_8.bind($origin_north_4);
$wing_rt_south_4.bind($origin_south_4);
$wing_rt_south_8.bind($origin_south_4);
$origin_north_4.rotateOnce( '0 0 80' );
$origin_south_4.rotateOnce( '0 0 -80' );
sys.waitFor($origin_north_4);
$wing_rt_north_4.bind($origin_piston_rt_4);
$wing_rt_south_4.bind($origin_piston_rt_4);
$wing_rt_north_8.bind($origin_piston_rt_8);
$wing_rt_south_8.bind($origin_piston_rt_8);
$origin_piston_rt_4.rotateOnce( '0 0 -720' );
$origin_piston_rt_8.rotateOnce( '0 0 -720' );
}
void bridge1_up()
{
$origin_piston_rt_1.time(1);
$origin_piston_rt_1.decelTime(.25);
$origin_piston_rt_5.time(1);
$origin_piston_rt_5.decelTime(.25);
$origin_piston_rt_1.move( UP, 167 );
$origin_piston_rt_5.move( UP, 167 );
sys.waitFor($origin_piston_rt_1);
$origin_piston_rt_1.rotateOnce( '0 0 100' );
$origin_piston_rt_5.rotateOnce( '0 0 100' );
sys.waitFor($origin_piston_rt_1);
$origin_piston_rt_1.move( UP, 88 );
$origin_piston_rt_5.move( UP, 88 );
sys.waitFor($origin_piston_rt_1);
$origin_piston_rt_1.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$origin_piston_rt_5.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$origin_piston_rt_1.move( SOUTH, 22 );
$origin_piston_rt_5.move( SOUTH, 22 );
}
void bridge2_up()
{
$origin_piston_rt_2.time(1);
$origin_piston_rt_2.decelTime(.25);
$origin_piston_rt_6.time(1);
$origin_piston_rt_6.decelTime(.25);
$origin_piston_rt_2.move( UP, 167 );
$origin_piston_rt_6.move( UP, 167 );
sys.waitFor($origin_piston_rt_2);
$origin_piston_rt_2.rotateOnce( '0 0 -100' );
$origin_piston_rt_6.rotateOnce( '0 0 -100' );
sys.waitFor($origin_piston_rt_2);
$origin_piston_rt_2.move( UP, 88 );
$origin_piston_rt_6.move( UP, 88 );
sys.waitFor($origin_piston_rt_2);
$origin_piston_rt_2.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$origin_piston_rt_6.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$origin_piston_rt_2.move( NORTH, 22 );
$origin_piston_rt_6.move( NORTH, 22 );
}
void bridge3_up()
{
$origin_piston_rt_3.time(1);
$origin_piston_rt_3.decelTime(.25);
$origin_piston_rt_7.time(1);
$origin_piston_rt_7.decelTime(.25);
$origin_piston_rt_3.move( UP, 167 );
$origin_piston_rt_7.move( UP, 167 );
sys.waitFor($origin_piston_rt_3);
$origin_piston_rt_3.rotateOnce( '0 0 100' );
$origin_piston_rt_7.rotateOnce( '0 0 100' );
sys.waitFor($origin_piston_rt_3);
$origin_piston_rt_3.move( UP, 88 );
$origin_piston_rt_7.move( UP, 88 );
sys.waitFor($origin_piston_rt_3);
$origin_piston_rt_3.move( SOUTH, 22 );
$origin_piston_rt_7.move( SOUTH, 22 );
}
void bridge4_up()
{
$origin_piston_rt_4.time(1);
$origin_piston_rt_4.decelTime(.25);
$origin_piston_rt_8.time(1);
$origin_piston_rt_8.decelTime(.25);
$origin_piston_rt_4.move( UP, 167 );
$origin_piston_rt_8.move( UP, 167 );
sys.waitFor($origin_piston_rt_4);
$origin_piston_rt_4.rotateOnce( '0 0 -100' );
$origin_piston_rt_8.rotateOnce( '0 0 -100' );
sys.waitFor($origin_piston_rt_4);
$origin_piston_rt_4.move( UP, 88 );
$origin_piston_rt_8.move( UP, 88 );
sys.waitFor($origin_piston_rt_4);
$origin_piston_rt_4.move( NORTH, 22 );
$origin_piston_rt_8.move( NORTH, 22 );
}
void unfoldWings()
{
$origin_north_1.time(1);
$origin_north_2.time(1);
$origin_north_3.time(1);
$origin_north_4.time(1);
$origin_south_1.time(1);
$origin_south_2.time(1);
$origin_south_3.time(1);
$origin_south_4.time(1);
$origin_north_1.decelTime(.25);
$origin_north_1.decelTime(.25);
$origin_north_1.decelTime(.25);
$origin_north_1.decelTime(.25);
$origin_south_1.decelTime(.25);
$origin_south_2.decelTime(.25);
$origin_south_3.decelTime(.25);
$origin_south_4.decelTime(.25);
}
void bridgeUnfoldSteps()
{
$bridge_steps_1_anc.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$bridge_steps_1_anc.moveTo ( $bridge_steps_1_anc_dest_1 );
sys.waitFor( $bridge_steps_1_anc );
$bridge_steps_2_anc.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$bridge_steps_2_anc.moveTo ( $bridge_steps_2_anc_dest_1 );
sys.waitFor( $bridge_steps_2_anc );
$bridge_steps_2_anc.startSoundShader( "tram_bridge_pillar1", SND_CHANNEL_ANY );
$bridge_steps_2_anc.moveTo ( $bridge_steps_2_anc_dest_2 );
sys.waitFor( $bridge_steps_2_anc );
}
void ActivateTramBridge()
{
sys.trigger( $m04_building_unit1_seq_6_bridge_light_active_1 );
thread pillarsUp();
thread bridge1_up();
thread bridge2_up();
thread bridge3_up();
thread bridge4_up();
sys.wait(4);
thread unfoldWings();
thread bridgeUnfold1();
sys.wait(2);
thread bridgeUnfold2();
sys.wait(2);
thread bridgeUnfold3();
sys.wait(2);
thread bridgeUnfold4();
thread bridgeUnfoldSteps();
sys.wait(2);
sys.trigger( $m04_building_unit1_seq_6_bridge_light_active_1 );
sys.trigger( $m04_building_unit1_seq_4_ai_blocker_1 ); // turn off the obstacle so ai can cross
}
void tak_seq_6()
{
aiScriptedAnimWait ( $tak, "st_tak_hacks_end", 8, 1 );
sys.wait(2);
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_6, 16, 1);
}
void navajas_seq_6()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_6, 16, 1);
}
void m04_building_unit1_seq_6()
{
thread tak_seq_6();
thread navajas_seq_6();
sys.wait(4);
$tak.becomePassive(1);
$navajas.becomePassive(1);
thread ActivateTramBridge();
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 6 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 7 start
//---------------------------------------------------------------------------------
void tak_seq_7()
{
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_7, 16, 1);
}
void navajas_seq_7()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_7, 16, 1);
}
void m04_building_unit1_seq_7()
{
sys.trigger( $uni_auto_save_trigger );
$tak.becomePassive(1);
$navajas.becomePassive(1);
thread tak_seq_7();
thread navajas_seq_7();
sys.wait(4);
$tak.becomeAggressive();
$navajas.becomeAggressive();
sys.wait(2);
sys.trigger( $m04_building_unit1_seq_8_berserker_1 );
sys.trigger( $m04_building_unit1_seq_8_berserker_wall_broken_stage_1 );
sys.trigger( $m04_building_unit1_seq_8_berserker_wall_broken_stage_3 );
sys.trigger( $m04_building_unit1_seq_8_ceiling_dust_fall_2 );
sys.trigger( $m04_building_unit1_seq_8_berserker_wall_break_effects_1 );
sys.wait(.8);
sys.trigger( $m04_building_unit1_seq_8_ceiling_dust_fall_3 );
sys.trigger( $m04_building_unit1_seq_8_berserker_wall_break_effects_2 );
sys.wait(.4);
sys.trigger( $m04_building_unit1_seq_8_ceiling_dust_fall_4 );
sys.wait(.5);
sys.trigger( $m04_building_unit1_seq_8_ceiling_dust_fall_5 );
sys.trigger( $m04_building_unit1_seq_8_berserker_wall_break_effects_3 );
sys.wait(.3);
sys.trigger( $m04_building_unit1_seq_8_ceiling_dust_fall_6 );
sys.wait(1);
sys.trigger( $m04_building_unit1_seq_8_ai_blocker_1 );
sys.trigger( $m04_building_unit1_seq_8_player_blocker_1 );
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 7 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 8 start
//---------------------------------------------------------------------------------
void m04_building_unit1_seq_8()
{
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 8 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 9 start
//---------------------------------------------------------------------------------
void tak_seq_9()
{
aiScriptedMoveWait ( $tak, $m04_building_unit1_tak_node_seq_9, 64, 1);
sys.wait( 5 );
$tak.setLeader( $player1 );
}
void navajas_seq_9()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit1_navajas_node_seq_9, 64, 1);
sys.wait( 5 );
$navajas.setLeader( $player1 );
}
void m04_building_unit1_seq_9_Freeze_gun_puzzle()
{
aiSpeakWait( $tak, "lipsync_tak_thatcoldfire" ); // %%%%%%%%%% VO %%%%%%%%%%
}
void m04_building_unit1_seq_9_Freeze_gun_puzzle_good_job()
{
aiSpeakWait( $tak, "lipsync_tak_goodjbdek" ); // %%%%%%%%%% VO %%%%%%%%%%
}
void m04_building_unit1_seq_9()
{
thread tak_seq_9();
thread navajas_seq_9();
$tak.flashlight(0);
$navajas.flashlight(0);
sys.wait( 10 );
sys.trigger( $m04_building_unit1_seq_9_wave_1_begin );
sys.trigger( $m04_building_unit1_seq_9_door_lock );
sys.trigger( $m04_building_unit1_seq_9_set_door_shader );
sys.wait( 4 );
sys.music( "m4_trench_intro" );
}
//---------------------------------------------------------------------------------
// m04_building_unit1 Sequence 9 end
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_building_unit1 end
//---------------------------------------------------------------------------------
//=================================================================================
//=================================================================================
//---------------------------------------------------------------------------------
// m04_building_unit2 begin
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 1 start
//---------------------------------------------------------------------------------
void m04_building_unit2_seq_1()
{
sys.trigger( $OBJ_two );
sys.trigger( $tak );
sys.trigger( $navajas );
aiScriptedMoveWait ( $tak, $m04_building_unit2_tak_node_seq_1, 16, 1);
aiSpeakWait( $navajas, "lipsync_nava_supplyahd" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $navajas, $m04_building_unit2_navajas_node_seq_1, 16, 1);
aiSpeakWait( $tak, "lipsync_tak_getttherdiff" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $navajas, "lipsync_nava_sndslkstrogg" ); // %%%%%%%%%% VO %%%%%%%%%%
$tak.setTalkState( TALK_OK );
$tak.setKey( "lipsync_talk_primary", "lipsync_tak_letsgetwlk" );
$tak.setKey( "lipsync_talk_secondary", "lipsync_tak_ihopethosewl" );
$tak.setKey( "lipsync_talk_loop1", "lipsync_tak_weneedmvsrg" );
$navajas.setTalkState( TALK_OK );
$navajas.setKey( "lipsync_talk_primary", "lipsync_nava_formintro" );
$navajas.setKey( "lipsync_talk_secondary", "lipsync_nava_letschatob" );
$navajas.setKey( "lipsync_talk_loop1", "lipsync_nava_timeisshort" );
$navajas.setKey( "lipsync_talk_loop2", "lipsync_nava_obvioyouhr" );
sys.wait( 1 );
$tak.flashlight(1);
$navajas.flashlight(1);
sys.music( "m4_prison_breach" );
$tak.setLeader( $player1 );
$navajas.setLeader( $player1 );
sys.trigger( $m04_building_unit2_seq_1_door_1 );
sys.trigger( $m04_building_unit2_seq_1_door_2 );
sys.trigger( $m04_building_unit2_seq_1_strog_marine_1 );
sys.trigger( $m04_building_unit2_seq_1_strog_marine_2 );
$tak.becomeAggressive();
$navajas.becomeAggressive();
}
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 1 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 2 start
//---------------------------------------------------------------------------------
void m04_building_unit2_seq_2()
{
sys.trigger( $m04_building_unit2_seq_2_ambient_snd_1 );
sys.wait( 6 );
sys.trigger( $m04_building_unit2_seq_2_ambient_snd_2 );
sys.wait( 4 );
sys.trigger( $m04_building_unit2_seq_2_ambient_snd_3 );
}
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 2 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 3 start
//---------------------------------------------------------------------------------
void m04_building_unit2_seq_3()
{
sys.trigger( $uni_auto_save_trigger );
sys.trigger( $m04_building_unit2_seq_3_stair_well_tactical_spawner_floor_1 );
sys.wait( 4 );
sys.trigger( $m04_building_unit2_seq_3_stair_well_tactical_spawner_floor_2 );
sys.wait( 4 );
sys.trigger( $m04_building_unit2_seq_3_stair_well_tactical_spawner_floor_3 );
sys.wait( 4 );
sys.trigger( $m04_building_unit2_seq_3_stair_well_tactical_spawner_floor_4 );
}
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 3 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 4 start
//---------------------------------------------------------------------------------
void m04_building_unit2_tak_seq_4()
{
aiScriptedMoveWait ( $tak, $m04_building_unit2_tak_node_seq_4, 16, 1);
}
void m04_building_unit2_navajas_seq_4()
{
aiScriptedMoveWait ( $navajas, $m04_building_unit2_navajas_node_seq_4, 16, 1);
}
void m04_building_unit2_seq_4()
{
sys.trigger( $uni_auto_save_trigger );
thread m04_building_unit2_tak_seq_4();
thread m04_building_unit2_navajas_seq_4();
sys.trigger( $m04_building_unit2_seq_4_retch_kill_marine );
}
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 4 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 5 start
//---------------------------------------------------------------------------------
void m04_building_unit2_seq_5()
{
sys.trigger( $m04_building_unit2_seq_5_cin_cam_main );
aiSpeakWait( $m04_building_unit2_seq_4_retch_kill_marine, "lipsync_atlas6_youfalcsq" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedAnim ( $m04_building_unit2_seq_4_retch_kill_marine, "st_retch_intro", 8, 0 );
sys.trigger( $m04_building_unit2_seq_4_retch_1 );
sys.wait( 4 );
sys.trigger( $m04_building_unit2_seq_5_retch_kill_door_anc );
aiSpeakWait( $m04_building_unit2_seq_4_retch_kill_marine, "lipsync_atlas6_die" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $tak, "lipsync_tak_whthelltht" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeak( $navajas, "lipsync_nava_killit" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 6 );
sys.trigger( $m04_building_unit2_seq_5_retch_kill_door_anc );
sys.trigger( $m04_building_unit2_seq_5_cin_cam_main );
$m04_building_unit2_seq_4_retch_1.enableDamage();
$m04_building_unit2_seq_4_retch_1.becomeAggressive();
$m04_building_unit2_seq_4_retch_1.enableTarget();
//sys.trigger( $m04_building_unit2_seq_5_lock_doors );
//sys.trigger( $m04_building_unit2_seq_5_door_shader_parm_locked );
sys.trigger( $m04_building_unit2_seq_3_ai_blocker_top_level );
sys.trigger( $m04_building_unit2_seq_5_lt_tank );
$m04_building_unit2_seq_4_retch_kill_marine.kill();
}
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 5 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 6 start
//---------------------------------------------------------------------------------
void m04_building_unit2_seq_6()
{
sys.trigger( $m04_building_unit2_seq_5_retch_kill_door_anc );
$tak.setLeader( $player1 );
$navajas.setLeader( $player1 );
}
//---------------------------------------------------------------------------------
// m04_building_unit2 Sequence 6 end
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_building_unit2 end
//---------------------------------------------------------------------------------
//=================================================================================
//=================================================================================
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 begin
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 1 start
//---------------------------------------------------------------------------------
void m04_maint_tunnel_unit1_tak_seq_1()
{
aiScriptedMoveWait ( $tak, $m04_maint_tunnel_unit1_tak_node_seq_1, 16, 1);
sys.wait( 4 );
$tak.setLeader( $null_entity );
}
void m04_maint_tunnel_unit1_navajas_seq_1()
{
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_1, 16, 1);
sys.wait( 4 );
$navajas.setLeader( $null_entity );
}
void m04_maint_tunnel_unit1_seq_1()
{
sys.trigger( $uni_auto_save_trigger );
sys.trigger( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak );
$m04_maint_tunnel_unit1_uni_vehicle_walker_player.lock(1);
aiScriptedAnimLoop ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, "idle_offline", 32 );
thread m04_maint_tunnel_unit1_tak_seq_1();
thread m04_maint_tunnel_unit1_navajas_seq_1();
sys.wait( 3 );
aiSpeakWait( $tak, "lipsync_tak_thertheyr" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $tunnel1Hatch_26 );
sys.trigger( $m04_maint_tunnel_unit1_seq_1_strog_hatch_spawner );
sys.wait( 4 );
sys.music( "m1_objective" );
}
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 1 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 2 start
//---------------------------------------------------------------------------------
void m04_maint_tunnel_unit1_tak_seq_2()
{
$tak.becomePassive(1);
$tak.setUndying(1);
aiScriptedMoveWait ( $tak, $m04_maint_tunnel_unit1_tak_node_seq_2, 16, 1);
aiScriptedFaceWait ( $tak, $m04_maint_tunnel_unit1_uni_vehicle_walker_player, 1);
aiScriptedAnimLoop ( $tak, "cine_weld_loop", 32 );
aiSpeakWait( $tak, "lipsync_tak_nahweapgonline" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $tak, "lipsync_tak_dekgetwlk" ); // %%%%%%%%%% VO %%%%%%%%%%
$m04_maint_tunnel_unit1_uni_vehicle_walker_player.lock(0);
}
void m04_maint_tunnel_unit1_navajas_seq_2()
{
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_2, 16, 1);
}
void m04_maint_tunnel_unit1_seq_2()
{
thread m04_maint_tunnel_unit1_tak_seq_2();
thread m04_maint_tunnel_unit1_navajas_seq_2();
aiSpeakWait( $navajas, "lipsync_tak_theybothdest" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 1 );
sys.trigger( $tunnel1Hatch_24 );
sys.wait( 1 );
sys.trigger( $tunnel1Hatch_23 );
sys.wait( 1 );
sys.trigger( $tunnel1Hatch_25 );
}
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 2 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 3 start
//---------------------------------------------------------------------------------
void m04_maint_tunnel_unit1_navajas_seq_3()
{
$navajas.becomePassive(1);
$navajas.setUndying(1);
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_3, 16, 1);
aiScriptedFaceWait ( $navajas, $m04_maint_tunnel_unit1_navajas_face_seq_3, 1);
aiScriptedAnimLoop ( $navajas, "idle_scan_3", 32 );
}
void m04_maint_tunnel_unit1_seq_3()
{
sys.waitFrame();
$m04_maint_tunnel_unit1_uni_vehicle_walker_player.guiEvent( "event_anim_sysoffline" );
$m04_maint_tunnel_unit1_uni_vehicle_walker_player.lock(1);
//$m04_maint_tunnel_unit1_uni_vehicle_walker_player.disableMovement(); this needs to be fixed
sys.wait( 2 );
aiSpeakWait( $tak, "lipsync_tak_okactuator" ); // %%%%%%%%%% VO %%%%%%%%%%
thread m04_maint_tunnel_unit1_navajas_seq_3();
sys.wait( 2 );
sys.trigger( $m04_maint_tunnel_unit1_seq_3_strog_hatch_spawner );
sys.wait( 4 );
aiSpeakWait( $tak, "lipsync_tak_pwr25" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 4 );
aiSpeakWait( $tak, "lipsync_tak_pwr50" ); // %%%%%%%%%% VO %%%%%%%%%%
}
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 3 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 4 start
//---------------------------------------------------------------------------------
void m04_maint_tunnel_unit1_seq_4_area_clear_counter()
{
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_area_clear_counter );
}
void m04_maint_tunnel_unit1_seq_4()
{
aiSpeakWait( $tak, "lipsync_tak_pwr75" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $tak, "lipsync_tak_drivepist" ); // %%%%%%%%%% VO %%%%%%%%%%
radioChatterPlayWait( $uni_radiochatter, "vo_marks_underhvyfr" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $tak, "lipsync_tak_walknumonefun" ); // %%%%%%%%%% VO %%%%%%%%%%
radioChatterPlayWait( $uni_radiochatter, "vo_marks_geitfin" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $tak, "lipsync_tak_rogerthat" );
sys.wait( 3 );
aiSpeakWait( $tak, "lipsync_tak_goodholdwlk" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 3 );
aiScriptedMoveWait ( $tak, $m04_maint_tunnel_unit1_tak_node_seq_4, 16, 1);
$tak.remove();
aiScriptedAnimWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, "diagnostic_start", 64, 1 );
$m04_maint_tunnel_unit1_uni_vehicle_walker_player.unbind();
$m04_maint_tunnel_unit1_uni_vehicle_walker_player.guiEvent( "event_anim_sysonline" );
sys.trigger( $OBJ_two_complete );
radioChatterPlayWait( $uni_radiochatter, "vo_tak_thiswlkbetter" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 3 );
radioChatterPlayWait( $uni_radiochatter, "vo_tak_babyalive" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $OBJ_three );
aiScriptedMoveWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_maint_tunnel_unit1_tak_node_seq_4a, 64, 1);
$m04_maint_tunnel_unit1_uni_vehicle_walker_tak.becomeAggressive();
sys.trigger( $m04_maint_tunnel_unit1_seq_4_strog_hatch_spawner );
sys.trigger( $m04_maint_tunnel_unit1_seq_4_ai_blocker );
sys.trigger( $m04_maint_tunnel_unit1_seq_4_strog_gladiator );
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_4, 16, 1);
aiScriptedFaceWait ( $navajas, $m04_maint_tunnel_unit1_navajas_face_seq_4, 1);
aiScriptedAnimLoop ( $navajas, "cine_weld_loop", 32 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_show_charge );
sys.wait( 10 );
radioChatterPlay( $uni_radiochatter, "vo_nava_firstchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
//aiSpeakWait( $navajas, "lipsync_nava_firstchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_4a, 16, 1);
aiScriptedFaceWait ( $navajas, $m04_maint_tunnel_unit1_navajas_face_seq_4a, 1);
aiScriptedAnimLoop ( $navajas, "cine_weld_loop", 32 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4a_show_charge );
sys.wait( 10 );
radioChatterPlay( $uni_radiochatter, "vo_nava_secondchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
//aiSpeakWait( $navajas, "lipsync_nava_secondchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_4b, 16, 1);
aiScriptedFaceWait ( $navajas, $m04_maint_tunnel_unit1_navajas_face_seq_4b, 1 );
aiScriptedAnimLoop ( $navajas, "crouch_cover_idle", 32 );
thread m04_maint_tunnel_unit1_seq_4_area_clear_counter();
}
void m04_maint_tunnel_unit1_seq_4_area_clear_and_charges_set()
{
sys.trigger( $m04_maint_tunnel_unit1_seq_4_ai_blocker );
aiScriptedMoveWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_maint_tunnel_unit1_tak_node_seq_4b, 64, 1);
aiScriptedFaceWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_maint_tunnel_unit1_tak_face_seq_4b, 1 );
aiScriptedAnimWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, "diagnostic_sweep", 32, 1 );
radioChatterPlay( $uni_radiochatter, "vo_nava_detonating" ); // %%%%%%%%%% VO %%%%%%%%%%
//aiSpeakWait( $navajas, "lipsync_nava_detonating" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 2 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_walker_blocker_1_boom_1 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_walker_blocker_1_boom_1_debriss );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_walker_blocker_1_scorch );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_show_charge );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_walker_blocker_1 );
sys.wait( 1.5 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_walker_blocker_2_boom_1 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_walker_blocker_2_scorch );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4a_show_charge );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_4_walker_blocker_2 );
sys.wait( 4 );
aiScriptedMoveWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_maint_tunnel_unit1_tak_node_seq_4c, 64, 1);
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_4c, 16, 1);
}
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 4 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 5 start
//---------------------------------------------------------------------------------
void m04_maint_tunnel_unit1_seq_5()
{
sys.trigger( $tunnel1Hatch_18 );
sys.wait( 1 );
sys.trigger( $tunnel1Hatch_17 );
sys.wait( 1 );
sys.trigger( $putra_floorhatch_28 );
sys.wait( 1 );
sys.trigger( $putra_floorhatch_27 );
sys.wait( 2 );
sys.trigger( $m04_maint_tunnel_unit1_seq_5_strog_marine_1 );
sys.trigger( $m04_maint_tunnel_unit1_seq_5_strog_marine_2 );
sys.trigger( $m04_maint_tunnel_unit1_seq_5_strog_marine_3 );
sys.trigger( $m04_maint_tunnel_unit1_seq_5_gladiator_1 );
}
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 5 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 6 start
//---------------------------------------------------------------------------------
void m04_maint_tunnel_unit1_seq_6_area_clear_counter()
{
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_area_clear_counter );
}
void m04_maint_tunnel_unit1_seq_6()
{
aiScriptedMoveWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_maint_tunnel_unit1_tak_node_seq_6, 64, 1);
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_6a, 16, 1);
aiScriptedFaceWait ( $navajas, $m04_maint_tunnel_unit1_navajas_face_seq_6a, 1);
aiScriptedAnimLoop ( $navajas, "cine_weld_loop", 32 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6a_show_charge );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_ai_blocker_1 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_strog_hatch_spawner_1 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_strog_berserker_1 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_strog_berserker_2 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_strog_berserker_3 );
sys.wait( 10 );
radioChatterPlay( $uni_radiochatter, "vo_nava_firstchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
//aiSpeakWait( $navajas, "lipsync_nava_firstchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_6b, 16, 1);
aiScriptedFaceWait ( $navajas, $m04_maint_tunnel_unit1_navajas_face_seq_6b, 1);
aiScriptedAnimLoop ( $navajas, "cine_weld_loop", 32 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6b_show_charge );
sys.wait( 10 );
radioChatterPlay( $uni_radiochatter, "vo_nava_secondchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
//aiSpeakWait( $navajas, "lipsync_nava_secondchrg" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_6c, 16, 1);
aiScriptedFaceWait ( $navajas, $m04_maint_tunnel_unit1_navajas_face_seq_6c, 1 );
aiScriptedAnimLoop ( $navajas, "crouch_cover_idle", 32 );
thread m04_maint_tunnel_unit1_seq_6_area_clear_counter();
}
void m04_maint_tunnel_unit1_seq_6_area_clear_and_charges_set()
{
sys.wait( 8 );
radioChatterPlay( $uni_radiochatter, "vo_nava_detonating" ); // %%%%%%%%%% VO %%%%%%%%%%
//aiSpeakWait( $navajas, "lipsync_nava_detonating" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 2 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_ai_blocker_1 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_walker_blocker_1_boom_1 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_walker_blocker_1_boom_1_debriss );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_walker_blocker_1_scorch );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6a_show_charge );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_walker_blocker_1 );
sys.wait( 1.5 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_walker_blocker_2_boom_1 );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_walker_blocker_2_scorch );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6b_show_charge );
sys.trigger( $m04_maint_tunnel_unit1_navajas_node_seq_6_walker_blocker_2 );
sys.wait( 4 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_ai_blocker_1 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_ai_blocker_2 );
sys.trigger( $m04_maint_tunnel_unit1_seq_6_wall_breach_attack_wave_1 );
sys.music( "m1_intro" );
sys.wait( 1 );
radioChatterPlayWait( $uni_radiochatter, "vo_tak_okdekpoint" ); // %%%%%%%%%% VO %%%%%%%%%%
radioChatterPlayWait( $uni_radiochatter, "vo_tak_ltsgo2" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeak( $navajas, "lipsync_nava_ltdektak" ); // %%%%%%%%%% VO %%%%%%%%%%
radioChatterPlay( $uni_radiochatter, "vo_marks_rogthat2" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMoveWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_maint_tunnel_unit1_tak_node_seq_6a, 64, 1);
aiScriptedMoveWait ( $navajas, $m04_maint_tunnel_unit1_navajas_node_seq_6d, 16, 1);
$navajas.becomeAggressive();
}
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 Sequence 6 end
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_maint_tunnel_unit1 end
//---------------------------------------------------------------------------------
//=================================================================================
//=================================================================================
//---------------------------------------------------------------------------------
// m04_trench_unit2 begin
//---------------------------------------------------------------------------------
//=================================================================================
void m04_trench_unit2_uni_turret_activate()
{
sys.trigger( $m04_trench_unit1_bunker_turret_alarm_charge );
$player1.disableTarget();
$m04_maint_tunnel_unit1_uni_vehicle_walker_tak.disableTarget();
$navajas.disableTarget();
sys.wait(2);
radioChatterPlay( $uni_radiochatter, "vo_marks_dektkoutturr" ); // %%%%%%%%%% VO %%%%%%%%%%
$m04_trench_unit2_beach_turret_1.becomeAggressive();
$m04_trench_unit2_beach_turret_2.becomeAggressive();
$m04_trench_unit2_beach_turret_3.becomeAggressive();
}
void m04_trench_unit2_uni_turret_activate_fire_at_player()
{
sys.wait(30);
sys.trigger( $m04_trench_unit1_bunker_turret_alarm_charge );
sys.wait(2);
$player1.enableTarget();
$m04_maint_tunnel_unit1_uni_vehicle_walker_tak.enableTarget();
$navajas.enableTarget();
}
//---------------------------------------------------------------------------------
// m04_trench_unit2 Sequence 1 start
//---------------------------------------------------------------------------------
void m04_trench_unit2_tak_seq_1()
{
aiScriptedMoveWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_trench_unit2_tak_node_seq_1, 64, 1);
}
void m04_trench_unit2_navajas_seq_1()
{
aiScriptedMoveWait ( $navajas, $m04_trench_unit2_navajas_node_seq_1, 16, 1);
}
void m04_trench_unit2_seq_1()
{
sys.trigger( $uni_auto_save_trigger );
sys.wait( 2 );
$navajas.becomePassive(1);
sys.trigger( $m04_trench_unit2_seq_1_huge_door_1 );
sys.trigger( $m04_trench_unit2_seq_1_huge_door_2 );
thread m04_trench_unit2_tak_seq_1();
thread m04_trench_unit2_navajas_seq_1();
sys.wait( 8 );
sys.trigger( $m04_trench_unit2_beach_turret_1 );
sys.trigger( $m04_trench_unit2_beach_turret_2 );
sys.trigger( $m04_trench_unit2_beach_turret_3 );
sys.trigger( $m04_trench_unit2_seq_1_huge_door_3 );
sys.trigger( $m04_trench_unit2_seq_1_huge_door_4 );
sys.trigger( $m04_trench_unit2_seq_1_activate_large_battle_relay );
sys.wait( 2 );
thread m04_trench_unit2_uni_turret_activate();
thread m04_trench_unit2_uni_turret_activate_fire_at_player();
}
//---------------------------------------------------------------------------------
// m04_trench_unit2 Sequence 1 end
//---------------------------------------------------------------------------------
//---------------------------------------------------------------------------------
// m04_trench_unit2 Sequence 2 start
//---------------------------------------------------------------------------------
void m04_trench_unit2_tak_seq_2()
{
aiScriptedMoveWait ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, $m04_trench_unit2_tak_node_seq_2, 64, 1);
$m04_maint_tunnel_unit1_uni_vehicle_walker_tak.becomePassive(1);
aiScriptedAnim ( $m04_maint_tunnel_unit1_uni_vehicle_walker_tak, "diagnostic_stop", 32, 0 );
aiScriptedMoveWait ( $tak_2, $m04_trench_unit2_tak_node_seq_2a, 16, 1 );
}
void m04_trench_unit2_navajas_seq_2()
{
aiScriptedMoveWait ( $navajas, $m04_trench_unit2_navajas_node_seq_2, 16, 1 );
}
void m04_trench_unit2_seq_2()
{
sys.trigger( $m04_trench_unit2_seq_1_huge_door_5 );
sys.trigger( $m04_trench_unit2_seq_1_huge_door_6 );
sys.wait( 4 );
aiSpeakWait( $markswell, "lipsync_marks_goodjbtakdek" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $markswell, "lipsync_marks_allableatlas" ); // %%%%%%%%%% VO %%%%%%%%%%
aiSpeakWait( $markswell, "lipsync_marks_onmemove" ); // %%%%%%%%%% VO %%%%%%%%%%
aiScriptedMove ( $tak_2, $m04_trench_unit2_tak_node_seq_3, 16, 1 );
aiScriptedMove ( $navajas, $m04_trench_unit2_navajas_node_seq_3, 16, 1 );
aiScriptedMove ( $darnell, $m04_trench_unit2_darnell_node_seq_3, 16, 1 );
aiScriptedMove ( $markswell, $m04_trench_unit2_markswell_node_seq_3, 16, 1 );
aiScriptedMove ( $guy_3, $m04_trench_unit2_guy_3_node_seq_3, 16, 1 );
aiScriptedMove ( $guy_4, $m04_trench_unit2_guy_4_node_seq_3, 16, 1 );
}
void m04_trench_unit2_seq_2_unlock_player()
{
sys.trigger( $OBJ_three_complete );
radioChatterPlayWait( $uni_radiochatter, "vo_tak_turrdown" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.wait( 4 );
radioChatterPlayWait( $uni_radiochatter, "vo_marks_rogertht2" ); // %%%%%%%%%% VO %%%%%%%%%%
thread m04_trench_unit2_tak_seq_2();
thread m04_trench_unit2_navajas_seq_2();
radioChatterPlay( $uni_radiochatter, "vo_marks_okmarup" ); // %%%%%%%%%% VO %%%%%%%%%%
sys.trigger( $darnell );
sys.wait( 4 );
sys.trigger( $guy_3 );
sys.wait( 4 );
sys.trigger( $guy_4 );
sys.wait( 4 );
sys.trigger( $markswell );
sys.wait( 4 );
sys.trigger( $OBJ_four );
radioChatterPlay( $uni_radiochatter, "vo_mark_tre_getout" ); // %%%%%%%%%% VO %%%%%%%%%%
$m04_maint_tunnel_unit1_uni_vehicle_walker_player.lock(0);
}
//---------------------------------------------------------------------------------
// m04_trench_unit2 Sequence 2 end
//---------------------------------------------------------------------------------
//=================================================================================
//---------------------------------------------------------------------------------
// m04_trench_unit2 end
//---------------------------------------------------------------------------------
//=================================================================================
//=================================================================================
//---------------------------------------------------------------------------------
// Global main scripts start below
//---------------------------------------------------------------------------------
//=================================================================================
void boom_flash_move_to_origin()
{
$m04_trench_unit1_uni_boom_flash_anc.setWorldOrigin ( $m04_trench_unit1_uni_boom_flash_anc_origin.getWorldOrigin() );
}
void uni_mission_critical_team_death()
{
sys.trigger( $uni_objectivefailed_team_death );
}
//moves one flyer sprite across the sky over the trenches
void maintainStroggFlyerSprite(entity entMover, entity fxNormal, entity fxDamage, entity entHangar, entity entTgrEnd, vector vDirection)
{
sys.wait( sys.random(10) );
//will the planes be swervey?
float fSwerve = 0;
float fWaitTime = 0;
float fAmplitude = 0;
while(1) {
//place the mover on the "hangar" line, equal in the X but displaced in the Y by +/- ___ units
// +/- Y displacement
float fDisplacementMax = 2000;
float fDelta = 0;
//start location for the flyer
vector vStart = entHangar.getWorldOrigin();
vector vSpeed = '0 0 0';
vector vAngs;
//flyer speed
float fSpeed = 900 + (sys.random(600));
//will the plane be swervey?
if ( 1 ) {//sys.random(10) < 4) {
fSwerve = sys.random(200) + 100;
fAmplitude = sys.random(90) + 30;
}
else {
fSwerve = 0;
fAmplitude = 0;
}
//stop the flyer-- move him into position after we figure out where he goes.
entMover.setLinearVelocity( '0 0 0');
//mathery mcmath
fDelta = (0 - fDisplacementMax + sys.random( fDisplacementMax * 2));
vStart_y += fDelta;
//faster planes sit lower in the sky
//vStart_z += (fSpeed / 10);
//move to position
entMover.setWorldOrigin( vStart );
//sys.print("starting at: ");
//printVector(vStart);
sys.waitFrame();
//set the direction as speed
vSpeed = vDirection * fSpeed;
vSpeed_z = 0;
// set initial angle in case this is a non-swerving dude..
vAngs = sys.VecToAngles(vSpeed);
entMover.setAngles(vAngs);
//first loop flies up,
//fWaitTime = sys.getTime() + 4 + sys.random(3);
fWaitTime = sys.getTime() + sys.random(2.5);
//turn on the regular plane, turn off the alternate
fxNormal.start();
fxDamage.stop();
//sys.println("Start flight!");
while( sys.getTime() < fWaitTime) {
//fly!
entMover.setLinearVelocity( vSpeed);
//swerve if need be
if( fSwerve != 0) {
vSpeed_y = sys.sin( sys.getTime() * fAmplitude ) * fSwerve;
// update facing so effects can draw properly
vAngs = sys.VecToAngles(vSpeed);
entMover.setAngles(vAngs);
//sys.println(" swerve = " + vSpeed_y);
}
//if somehow the ship has escaped the skybox, break
if( entMover.touches( entTgrEnd)) {
//sys.println("early end!");
break;
}
//decend on the way out
sys.waitFrame();
}
//second loop, descend.
//vSpeed_z *= -1;
vSpeed_z = 0;
if(sys.random(20) < 2)
{
//sys.println("Damaged!");
//slow down and fly off course, descend faster
vSpeed_x *= 0.25;
if (vSpeed_y < 10 && vSpeed_y > -10) {
vSpeed_y += ( -800 + sys.random(1600));
} else {
vSpeed_y *= 4;
}
vSpeed_z *= 1.25;
//no more swerving
fSwerve = 0;
//switch to damaged effect, and explode
fxNormal.stop();
fxDamage.start();
$fx_flyer_damage.setWorldOrigin( entMover.getWorldOrigin() );
sys.trigger( $fx_flyer_damage);
}
fWaitTime = sys.getTime() + 5;
//after the possible damage time, remove once the ship has left the skybox
while( (sys.getTime() < fWaitTime) && ( !entMover.touches( entTgrEnd)) ) {
//fly!
entMover.setLinearVelocity( vSpeed);
//swerve if need be
if( fSwerve != 0) {
vSpeed_y = sys.sin( sys.getTime() * fAmplitude ) * fSwerve;
// update facing so effects can draw properly
vAngs = sys.VecToAngles(vSpeed);
entMover.setAngles(vAngs);
//sys.println(" swerve = " + vSpeed_y);
}
//decend on the way out
sys.waitFrame();
}
//sys.println("End!");
//run it back!
}
}
void main()
{
//thread m04_intro_unit1_seq_1_main();
//strogg vs marine airpower go!
entity entFlyer;
float t;
//originally, there were six planes per side. Now we're using 2, and that might change too. But the
//+6 for the 3rd parameter is because originally the damaged versions of the sprites started at 7.
for (t = 1; t <= 2; t++) {
thread maintainStroggFlyerSprite( sys.getEntity("mvr_fx_strogg_flyer_" + t), sys.getEntity("fx_air_strogg_fighter_" + t), sys.getEntity("fx_air_strogg_fighter_" + (t + 6) ), $tgt_strogg_flyer_hangar, $tgr_strogg_flyer_end, '-1 0 .1' );
thread maintainStroggFlyerSprite( sys.getEntity("mvr_fx_marine_flyer_" + t), sys.getEntity("fx_air_marine_fighter_" + t), sys.getEntity("fx_air_marine_fighter_" + (t + 6) ), $tgt_marine_flyer_hangar, $tgr_marine_flyer_end, '1 0 .1' );
}
}
} //end namespace