mirror of
https://github.com/jmarshall23/Quake_4_Alpha.git
synced 2026-08-13 20:51:15 +02:00
2961 lines
84 KiB
Plaintext
2961 lines
84 KiB
Plaintext
#include "scripts/doom_defs.script"
|
|
|
|
|
|
entity starget; //Global entity for passing targets to the func_vehicle_drivers
|
|
|
|
boolean SECROOMSPECS;
|
|
boolean TUBESAREOFF;
|
|
boolean STRAUSSCINEMATIC;
|
|
boolean DRIVER_STOP_FIRING; //Tells the func_vehicle_driver when to stop shooting at bad guys
|
|
boolean DRIVER_FIRING; //Whether or not the driver is already firing at something
|
|
|
|
|
|
|
|
void straussCinematicOver();
|
|
void transferRoomTransport();
|
|
void squadTopLoop7Pos();
|
|
void controlRoomSeq2();
|
|
|
|
void theLevelBegins()
|
|
{
|
|
|
|
sys.fadeOut( '0 0 0', 0);
|
|
sys.wait( .2 );
|
|
sys.fadeIn( '0 0 0', .3);
|
|
$tak.setUndying( 1 );
|
|
$darnell.setUndying( 1 );
|
|
|
|
}
|
|
|
|
void tubeTransportSystem() //scripted tube mover
|
|
{
|
|
sys.trigger( $char_marine_naked_1 );
|
|
//aiScriptedAnimLoop( $char_marine_naked_1, "med_tube_float", 0 );
|
|
sys.trigger( $char_marine_naked_2 );
|
|
//aiScriptedAnimLoop( $char_marine_naked_2, "med_tube_float", 0 );
|
|
sys.trigger( $char_marine_naked_3 );
|
|
//aiScriptedAnimLoop( $char_marine_naked_3, "med_tube_float", 0 );
|
|
|
|
while( !TUBESAREOFF )
|
|
{
|
|
|
|
$transport_topclamp_3.time( 5.0 );
|
|
$transport_topclamp_4.time( 5.0 );
|
|
$transport_topclamp_5.time( 5.0 );
|
|
$transport_topclamp_6.time( 5.0 );
|
|
$transport_topclamp_3.moveTo( $transport_target_2 );
|
|
$transport_topclamp_4.moveTo( $transport_target_3 );
|
|
$transport_topclamp_5.moveTo( $transport_target_4 );
|
|
$transport_topclamp_6.moveTo( $transport_target_1 );
|
|
sys.wait( 1.35 );
|
|
sys.trigger( $func_door_1569 );
|
|
sys.wait( 1.0 );
|
|
sys.trigger( $func_door_1572 );
|
|
sys.waitFor( $transport_topclamp_6 );
|
|
|
|
$transport_topclamp_3.time( 5.0 );
|
|
$transport_topclamp_4.time( 5.0 );
|
|
$transport_topclamp_5.time( 5.0 );
|
|
$transport_topclamp_6.time( 5.0 );
|
|
$transport_topclamp_3.moveTo( $transport_target_3 );
|
|
$transport_topclamp_4.moveTo( $transport_target_4 );
|
|
$transport_topclamp_5.moveTo( $transport_target_1 );
|
|
$transport_topclamp_6.moveTo( $transport_target_2 );
|
|
sys.wait( 1.35 );
|
|
sys.trigger( $func_door_1569 );
|
|
sys.wait( 1.0 );
|
|
sys.trigger( $func_door_1572 );
|
|
sys.waitFor( $transport_topclamp_6 );
|
|
|
|
$transport_topclamp_3.time( 5.0 );
|
|
$transport_topclamp_4.time( 5.0 );
|
|
$transport_topclamp_5.time( 5.0 );
|
|
$transport_topclamp_6.time( 5.0 );
|
|
$transport_topclamp_3.moveTo( $transport_target_4 );
|
|
$transport_topclamp_4.moveTo( $transport_target_1 );
|
|
$transport_topclamp_5.moveTo( $transport_target_2 );
|
|
$transport_topclamp_6.moveTo( $transport_target_3 );
|
|
sys.wait( 1.35 );
|
|
sys.trigger( $func_door_1569 );
|
|
sys.wait( 1.0 );
|
|
sys.trigger( $func_door_1572 );
|
|
sys.waitFor( $transport_topclamp_6 );
|
|
|
|
$transport_topclamp_3.time( 5.0 );
|
|
$transport_topclamp_4.time( 5.0 );
|
|
$transport_topclamp_5.time( 5.0 );
|
|
$transport_topclamp_6.time( 5.0 );
|
|
$transport_topclamp_3.moveTo( $transport_target_1 );
|
|
$transport_topclamp_4.moveTo( $transport_target_2 );
|
|
$transport_topclamp_5.moveTo( $transport_target_3 );
|
|
$transport_topclamp_6.moveTo( $transport_target_4 );
|
|
sys.wait( 1.35 );
|
|
sys.trigger( $func_door_1569 );
|
|
sys.wait( 1.0 );
|
|
sys.trigger( $func_door_1572 );
|
|
sys.waitFor( $transport_topclamp_6 );
|
|
}
|
|
}
|
|
|
|
void tubeTransportSystem2()
|
|
{
|
|
while( !TUBESAREOFF )
|
|
{
|
|
$transport2_topclamp_1.show();
|
|
$transport2_pod_1.show();
|
|
$transport2_topclamp_1.time( 5.0 );
|
|
$transport2_topclamp_2.time( 5.0 );
|
|
$transport2_topclamp_3.hide();
|
|
$transport2_pod_3.hide();
|
|
$transport2_topclamp_3.time( 5.0 );
|
|
$transport2_topclamp_1.moveTo( $transport2_target_2 );
|
|
$transport2_topclamp_2.moveTo( $transport2_target_3 );
|
|
$transport2_topclamp_3.moveTo( $transport2_target_1 );
|
|
sys.waitFor( $transport2_topclamp_3 );
|
|
|
|
$transport2_topclamp_1.time( 5.0 );
|
|
$transport2_topclamp_2.hide();
|
|
$transport2_pod_2.hide();
|
|
$transport2_topclamp_2.time( 5.0 );
|
|
$transport2_topclamp_3.show();
|
|
$transport2_pod_3.show();
|
|
$transport2_topclamp_3.time( 5.0 );
|
|
$transport2_topclamp_1.moveTo( $transport2_target_3 );
|
|
$transport2_topclamp_2.moveTo( $transport2_target_1 );
|
|
$transport2_topclamp_3.moveTo( $transport2_target_2 );
|
|
sys.waitFor( $transport2_topclamp_3 );
|
|
|
|
$transport2_topclamp_1.hide();
|
|
$transport2_pod_1.hide();
|
|
$transport2_topclamp_1.time( 5.0 );
|
|
$transport2_topclamp_2.show();
|
|
$transport2_pod_2.show();
|
|
$transport2_topclamp_2.time( 5.0 );
|
|
$transport2_topclamp_3.time( 5.0 );
|
|
$transport2_topclamp_1.moveTo( $transport2_target_1 );
|
|
$transport2_topclamp_2.moveTo( $transport2_target_2 );
|
|
$transport2_topclamp_3.moveTo( $transport2_target_3 );
|
|
sys.waitFor( $transport2_topclamp_3 );
|
|
|
|
}
|
|
}
|
|
|
|
void startupPump()
|
|
{
|
|
$m05_pistonb_1.playCycle(ANIMCHANNEL_ALL, "cycle");
|
|
}
|
|
|
|
void setSecWindowShields()
|
|
{
|
|
$sec_windowShield_01.setOrigin( '1408 -3072 648' );
|
|
$sec_windowShield_02.setOrigin( '1248 -3232 648' );
|
|
|
|
}
|
|
|
|
//------------security camera startup threads--------------------
|
|
|
|
void secCamStart(entity secCamName)
|
|
{
|
|
secCamName.playCycle(ANIMCHANNEL_ALL, "idle");
|
|
}
|
|
|
|
void checkpointHit()
|
|
{
|
|
sys.trigger( $func_savegame_1 );
|
|
}
|
|
|
|
void controlRoomCheat()
|
|
{
|
|
$tak.setOrigin( '926 -200 232' );
|
|
$darnell.setOrigin( '1016 -340 232' );
|
|
}
|
|
|
|
void tacticalTakesALook()
|
|
{
|
|
sys.trigger( $monster_tactical_mgun_1 );
|
|
aiScriptedMoveWait( $monster_tactical_mgun_1, $sec_room_tact_check_pos2, 16, 1 );
|
|
//sys.trigger( $aas_obs_trapdoor );
|
|
aiScriptedMove( $monster_tactical_mgun_1, $t_mgun_1_pos, 32, 1 );
|
|
}
|
|
|
|
void squadMoveUp_0() //move team mates forward
|
|
{
|
|
sys.wait(.5 );
|
|
aiScriptedMove( $darnell, $darnell_tactpos_start, 8, 1 );
|
|
aiSpeakWait( $tak, "lipsync_tak_dekletmstrg" );
|
|
aiScriptedMoveWait( $tak, $player1, 64, 0 );
|
|
aiScriptedAnimWait( $tak, "player_gift_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "player_gift_end", 4, 0 );
|
|
//sys.wait( 3 );
|
|
aiSpeakWait( $tak, "lipsync_tak_therethatscp" );
|
|
sys.trigger( $core_mod_give );
|
|
sys.wait( .5 );
|
|
sys.music( "m4_enter_prison" );
|
|
thread tacticalTakesALook();
|
|
$player_start_block.hide();
|
|
sys.trigger( $item_objective_2 );
|
|
aiScriptedMove( $darnell, $darnell_tactpos_0, 8, 0 );
|
|
aiScriptedMove( $tak, $tak_tactpos_0, 8, 0 );
|
|
}
|
|
|
|
void candidCamScientist1()
|
|
{
|
|
sys.trigger( $monster_scientist_5 );
|
|
$monster_scientist_5.becomeNonSolid();
|
|
sys.wait( 0.1 );
|
|
aiScriptedAnimLoop( $monster_scientist_5, "work_on_human3_loop", 0 );
|
|
}
|
|
|
|
void squadMoveUp_1() //move team mates forward
|
|
{
|
|
aiScriptedMove( $darnell, $darnell_tactpos_1, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $tak, $tak_tactpos_1, 8, 1 );
|
|
}
|
|
|
|
void welcomeParty()
|
|
{
|
|
|
|
sys.trigger( $monster_tactical_mgun_35 );
|
|
sys.trigger( $tactical_secRoom );
|
|
thread candidCamScientist1();
|
|
sys.wait( 2 );
|
|
}
|
|
|
|
void run_for_alarm() //force ai to run & turn on alarm
|
|
{
|
|
thread squadMoveUp_1();
|
|
aiScriptedMoveWait( $tactical_secRoom, $alarm_location_3, 4, 0 ); //move to window
|
|
aiScriptedFaceWait( $tactical_secRoom, $func_static_1740, 0 );
|
|
//aiScriptedAnimWait( $tactical_secRoom, "point_left", 4, 0 ); //gesture
|
|
aiScriptedMoveWait( $tactical_secRoom, $alarm_location_1, 4, 0 ); //move to console
|
|
aiScriptedFaceWait( $tactical_secRoom, $func_static_54011, 0 );
|
|
//aiScriptedAnimWait( $tactical_secRoom, "point_forward", 4, 0 ); //turn on alarm
|
|
sys.trigger( $security_alarm_1 );
|
|
sys.trigger( $alarm_light01 );
|
|
sys.trigger( $func_rotating_1 );
|
|
$secRoomDoorFrame01.setShaderParm( 7, 0 );
|
|
$secRoomDoora.lock( 2 );
|
|
$secRoomDoorb.lock( 2 );
|
|
$sec_windowShield_01.time( 4 );
|
|
$sec_windowShield_01.accelTime( 1 );
|
|
$sec_windowShield_01.decelTime( .5 );
|
|
$sec_windowShield_02.time( 4 );
|
|
$sec_windowShield_02.accelTime( 1 );
|
|
$sec_windowShield_02.decelTime( .5 );
|
|
$sec_windowShield_01.move( DOWN, 120 );
|
|
$sec_windowShield_02.move( DOWN, 120 );
|
|
|
|
sys.wait( .3 );
|
|
sys.trigger( $alarm_light02 );
|
|
sys.trigger( $func_rotating_2 );
|
|
aiScriptedMove( $tactical_secRoom, $alarm_location_2, 4, 0 ); //move to console
|
|
sys.wait( .5 );
|
|
aiSpeakWait( $darnell, "lipsync_darn_shittrig" );
|
|
sys.wait( 1 );
|
|
aiSpeakWait( $tak, "lipsync_tak_thatalarmb" );
|
|
//aiScriptedFaceWait( $tactical_secRoom, $func_static_54013, 0 );
|
|
$tactical_secRoom.remove();
|
|
|
|
}
|
|
|
|
void securityRoomReinforcements()
|
|
{
|
|
sys.trigger( $secRoom_berserker );
|
|
sys.trigger( $monster_tactical_mgun_33 );
|
|
sys.trigger( $monster_tactical_mgun_34 );
|
|
sys.waitFrame();
|
|
sys.trigger( $secRoomAAS_block );
|
|
$secRoomDoora.lock( 0 );
|
|
$secRoomDoorb.lock( 0 );
|
|
aiScriptedMove( $secRoom_berserker, $secRoom_berkserk_pos_1, 4, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $monster_tactical_mgun_33, $secRoom_mgun33_pos_1, 32, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $monster_tactical_mgun_34, $secRoom_mgun34_pos_1, 32, 1 );
|
|
sys.wait( 3 );
|
|
sys.trigger( $secRoomAAS_block );
|
|
$secRoomDoora.lock( 2 );
|
|
$secRoomDoorb.lock( 2 );
|
|
|
|
}
|
|
|
|
void takDoorHack_1()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_doorhackpos_1, 4, 1);
|
|
aiScriptedFaceWait( $tak, $doorhack_monitor_1, 1);
|
|
aiScriptedAnimWait( $tak, "plant_tnt_low_start", 16, 1 );
|
|
}
|
|
|
|
void darnellNagHatch()
|
|
{
|
|
while(1)
|
|
{
|
|
sys.wait( 10 );
|
|
aiSpeak( $darnell, "lipsync_darn_overhere3" );
|
|
}
|
|
|
|
}
|
|
|
|
void darnellAtHatch()
|
|
{
|
|
sys.killthread( "darnellNagHatch" );
|
|
aiScriptedFaceWait( $darnell, $player1, 0);
|
|
aiSpeakWait( $darnell, "lipsync_darn_thistunn" );
|
|
aiScriptedMoveWait( $darnell, $darnell_doorhackpos_1, 8, 1);
|
|
}
|
|
|
|
void darnellLooksAround()
|
|
{
|
|
aiScriptedMoveWait( $darnell, $darnell_accessGratePos_4, 8, 0);
|
|
sys.wait( 5 );
|
|
aiScriptedMoveWait( $darnell, $darnell_accessGratePos_1, 4, 0);
|
|
aiScriptedFaceWait( $darnell, $sec_grate_clip, 1);
|
|
aiScriptedAnim( $darnell, "pr_darnell_grate", 8, 0 );
|
|
aiSpeak( $darnell, "lipsync_darn_ifoundh" );
|
|
sys.wait( $env_q4x_pr_darnell_grate_1.playAnim(ANIMCHANNEL_ALL, "pr_darnell_grate"));
|
|
//sys.waitFor( $env_q4x_pr_darnell_grate_1 );
|
|
$env_q4x_pr_darnell_grate_1.playCycle(ANIMCHANNEL_ALL, "end_idle");
|
|
$sec_grate_clip.remove();
|
|
sys.trigger( $darnell_hatch_trig );
|
|
thread darnellNagHatch();
|
|
}
|
|
|
|
void secRoomLastOne()
|
|
{
|
|
float k;
|
|
sys.wait( 3 );
|
|
aiScriptedMoveWait( $tak, $tak_doorhackpos_1, 8, 0 );
|
|
aiSpeak( $tak, "lipsync_tak_pris_door1" );
|
|
aiScriptedFaceWait( $tak, $doorhack_monitor_1, 0 );
|
|
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
aiSpeak( $tak, "lipsync_tak_weneedsecproc" );
|
|
aiScriptedMoveWait( $tak, $tak_doorhackpos_2, 8, 1);
|
|
aiScriptedFaceWait( $tak, $func_static_53381, 1);
|
|
aiScriptedAnim( $tak, "conversation_1", 16, 1 );
|
|
k = thread darnellLooksAround();
|
|
sys.wait( 5 );
|
|
aiSpeakWait( $tak, "lipsync_tak_accordacc" );
|
|
sys.wait( 2 );
|
|
|
|
sys.trigger( $item_objective_sec_room );
|
|
sys.waitForThread( k );
|
|
thread takDoorHack_1();
|
|
}
|
|
|
|
|
|
void tunnelReparBotWorking()
|
|
{
|
|
float t;
|
|
|
|
while( isValidEntity( $tunnel_bot ))
|
|
{
|
|
aiScriptedAnimLoop( $tunnel_bot, "idle", 12 );
|
|
sys.waitFrame();
|
|
|
|
aiScriptedMoveWait( $tunnel_bot, $tunBot_spot_1, 8, 0 );
|
|
aiScriptedFaceWait( $tunnel_bot, $func_static_54312, 0 );
|
|
$repbot_1.bind( $tunBot_spot_1 );
|
|
sys.wait( 1 );
|
|
|
|
aiScriptedActionWait( $tunnel_bot, $func_static_54312, 0 );
|
|
sys.wait( .5 );
|
|
|
|
$tunnel_bot.unbind();
|
|
aiScriptedAnimLoop( $tunnel_bot, "idle", 12 );
|
|
|
|
sys.wait( 1 );
|
|
|
|
aiScriptedMoveWait( $tunnel_bot, $tunBot_spot_2, 8, 0 );
|
|
aiScriptedFaceWait( $tunnel_bot, $func_static_54314, 0 );
|
|
$repbot_1.bind( $tunBot_spot_1 );
|
|
sys.wait( 1 );
|
|
|
|
aiScriptedActionWait( $tunnel_bot, $func_static_54314, 0 );
|
|
sys.wait( .5 );
|
|
|
|
$tunnel_bot.unbind();
|
|
aiScriptedAnimLoop( $tunnel_bot, "idle", 12 );
|
|
|
|
sys.wait( 1 );
|
|
|
|
//aiScriptedMoveWait( $tunnel_bot, $tunBot_spot_3, 8, 0 );
|
|
//aiScriptedFaceWait( $tunnel_bot, $func_static_54678, 0 );
|
|
//$repbot_1.bind( $tunBot_spot_1 );
|
|
//sys.wait( 1 );
|
|
|
|
//aiScriptedActionWait( $tunnel_bot, $func_static_54678, 0 );
|
|
//sys.wait( .5 );
|
|
|
|
//$tunnel_bot.unbind();
|
|
//aiScriptedAnimLoop( $tunnel_bot, "idle", 12 );
|
|
|
|
//sys.wait( 1 );
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
void overSecRoom()
|
|
{
|
|
sys.trigger( $tactical_secRoom_1 );
|
|
sys.wait( 0.5 );
|
|
aiScriptedMoveWait( $tactical_secRoom_1, $alarm_location_2, 16, 1 );
|
|
aiScriptedFaceWait( $tactical_secRoom_1, $func_static_54013, 1 );
|
|
aiScriptedWait( $tactical_secRoom_1 );
|
|
//aiScriptedAnimWait( $tactical_secRoom_1, "point_forward", 4, 1 );
|
|
aiScriptedMoveWait( $tactical_secRoom_1, $alarm_location_5, 16, 1 );
|
|
aiScriptedFaceWait( $tactical_secRoom_1, $func_static_54012, 1 );
|
|
aiScriptedWait( $tactical_secRoom_1 );
|
|
//aiScriptedAnimWait( $tactical_secRoom_1, "point_forward", 4, 1 );
|
|
aiScriptedMoveWait( $tactical_secRoom_1, $alarm_location_1, 16, 1 );
|
|
aiScriptedFaceWait( $tactical_secRoom_1, $func_static_54011, 1 );
|
|
}
|
|
|
|
void noMoreMrNiceGuy()
|
|
{
|
|
sys.killthread( "overSecRoom" );
|
|
}
|
|
|
|
void secRoomNag()
|
|
{
|
|
while( !SECROOMSPECS )
|
|
{
|
|
sys.wait( 30 );
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_tak_wegottogetg");
|
|
sys.wait( 30 );
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_tak_thatalarmb");
|
|
|
|
}
|
|
}
|
|
|
|
void gotSpecs()
|
|
{
|
|
SECROOMSPECS = true;
|
|
sys.killthread( "secRoomNag" );
|
|
sys.wait ( 1 );
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_tak_thatsitdek");
|
|
|
|
}
|
|
|
|
void unlockSecRoomDoors() //unlocks security room doors
|
|
{
|
|
$secRoomDoorFrame01.setShaderParm( 7, 1 );
|
|
$secRoomDoora.lock( 0 );
|
|
$secRoomDoorb.lock( 0 );
|
|
$secRoomDoorFrame02.setShaderParm( 7, 1 );
|
|
$secRoomDoor02R.lock( 0 );
|
|
$secRoomDoor02L.lock( 0 );
|
|
$sec_windowShield_01.time( 4 );
|
|
$sec_windowShield_01.accelTime( .5 );
|
|
$sec_windowShield_01.decelTime( .5 );
|
|
$sec_windowShield_02.time( 4 );
|
|
$sec_windowShield_02.accelTime( .5 );
|
|
$sec_windowShield_02.decelTime( .5 );
|
|
|
|
$sec_windowShield_01.move( UP, 120 );
|
|
$sec_windowShield_02.move( UP, 120 );
|
|
sys.trigger( $security_alarm_1 );
|
|
sys.trigger( $secRoomAAS_block );
|
|
sys.trigger( $item_objectivecomplete_sec_room );
|
|
sys.trigger( $alarm_light03 );
|
|
sys.trigger( $func_rotating_5 );
|
|
sys.trigger( $alarm_light01 );
|
|
sys.trigger( $func_rotating_1 );
|
|
sys.trigger( $alarm_light02 );
|
|
sys.trigger( $func_rotating_2 );
|
|
$func_mover_18.hide();
|
|
$func_mover_19.hide();
|
|
thread gotSpecs();
|
|
}
|
|
|
|
void cellblock0_prisoners() //turn on and set anims on cellblock guys
|
|
{
|
|
sys.trigger( $cellblock0_prisoner_1 );
|
|
sys.trigger( $cellblock0_prisoner_2 );
|
|
sys.trigger( $cellblock0_prisoner_3 );
|
|
sys.trigger( $cellblock0_prisoner_4 );
|
|
sys.trigger( $cellblock0_prisoner_5 );
|
|
//aiScriptedAnimLoop( $cellblock0_prisoner_1, "idle_sitting_2", 0 );
|
|
//aiScriptedAnimLoop( $cellblock0_prisoner_2, "ad_wounded_on_knee_loop", 0 );
|
|
//aiScriptedAnimLoop( $cellblock0_prisoner_3, "waving_down_tram", 0 );
|
|
//aiScriptedAnimLoop( $cellblock0_prisoner_4, "ad_wounded_on_knee_loop", 0 );
|
|
//aiScriptedAnimLoop( $cellblock0_prisoner_5, "idle_sitting_2", 0 );
|
|
}
|
|
|
|
void squadMoveUp_2() //move team mates forward
|
|
{
|
|
thread cellblock0_prisoners();
|
|
sys.wait( 0.1 );
|
|
aiScriptedMove( $darnell, $darnell_tactpos_2, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $tak, $tak_tactpos_2, 8, 1 );
|
|
aiScriptedWait( $darnell );
|
|
aiScriptedWait( $tak );
|
|
sys.trigger( $squad_block_pos_2 );
|
|
|
|
}
|
|
|
|
void bridge_unfold()
|
|
{
|
|
$center_walkway_east.time( 3 );
|
|
$center_walkway_east.rotateOnce( '-90 0 0' );
|
|
sys.wait( 1 );
|
|
$bridge_plat_rt_d_east.time( .5 );
|
|
$bridge_plat_lf_d_east.time( .5 );
|
|
$bridge_plat_lf_d_east.move( SOUTH, 24 );
|
|
$bridge_plat_rt_d_east.move( SOUTH, 24 );
|
|
}
|
|
|
|
void catwalk_c_east()
|
|
{
|
|
$bridge_arm_lf_c_east.time(1.5);
|
|
$bridge_arm_rt_c_east.time(1.5);
|
|
$bridge_plat_rt_c_east.time(1.5);
|
|
$bridge_plat_lf_c_east.time(1.5);
|
|
|
|
$bridge_plat_lf_c_east.rotateOnce('0 0 -195');
|
|
$bridge_plat_rt_c_east.rotateOnce('0 0 195');
|
|
|
|
sys.waitFor( $bridge_plat_rt_c_east );
|
|
|
|
$bridge_arm_lf_c_east.rotateOnce('-203 0 0');
|
|
$bridge_arm_rt_c_east.rotateOnce('-203 0 0');
|
|
|
|
sys.wait( .75 );
|
|
$bridge_plat_lf_c_east.time(.75);
|
|
$bridge_plat_rt_c_east.time(.75);
|
|
$bridge_plat_lf_c_east.rotateOnce('0 0 128');
|
|
$bridge_plat_rt_c_east.rotateOnce('0 0 -128');
|
|
|
|
sys.waitFor($bridge_arm_lf_c_east);
|
|
//sys.waitFor( $bridge_plat_rt_c_east );
|
|
|
|
$bridge_arm_lf_c_east.time(.5);
|
|
$bridge_arm_rt_c_east.time(.5);
|
|
|
|
$bridge_arm_lf_c_east.move(SOUTH, 232);
|
|
$bridge_arm_rt_c_east.move(SOUTH, 232);
|
|
|
|
}
|
|
|
|
void catwalk_b_east()
|
|
{
|
|
$bridge_arm_lf_b_east.time(1.5);
|
|
$bridge_arm_rt_b_east.time(1.5);
|
|
$bridge_plat_rt_b_east.time(1.5);
|
|
$bridge_plat_lf_b_east.time(1.5);
|
|
|
|
$bridge_plat_lf_b_east.rotateOnce('0 0 -195');
|
|
$bridge_plat_rt_b_east.rotateOnce('0 0 195');
|
|
|
|
sys.waitFor( $bridge_plat_rt_b_east );
|
|
|
|
$bridge_arm_lf_b_east.rotateOnce('-203 0 0');
|
|
$bridge_arm_rt_b_east.rotateOnce('-203 0 0');
|
|
|
|
sys.wait( .75 );
|
|
$bridge_plat_lf_b_east.time(.75);
|
|
$bridge_plat_rt_b_east.time(.75);
|
|
$bridge_plat_lf_b_east.rotateOnce('0 0 128');
|
|
$bridge_plat_rt_b_east.rotateOnce('0 0 -128');
|
|
|
|
sys.waitFor($bridge_arm_lf_b_east);
|
|
//sys.waitFor( $bridge_plat_rt_b_east );
|
|
|
|
sys.wait( .5 );
|
|
|
|
$bridge_arm_lf_b_east.time(1.);
|
|
$bridge_arm_rt_b_east.time(1.);
|
|
|
|
$bridge_arm_lf_b_east.move(SOUTH, 320);
|
|
$bridge_arm_rt_b_east.move(SOUTH, 320);
|
|
}
|
|
|
|
void catwalk_a_east()
|
|
{
|
|
$bridge_arm_lf_a_east.time(1.5);
|
|
$bridge_arm_rt_a_east.time(1.5);
|
|
$bridge_plat_rt_a_east.time(1.5);
|
|
$bridge_plat_lf_a_east.time(1.5);
|
|
|
|
$bridge_plat_lf_a_east.rotateOnce('0 0 -195');
|
|
$bridge_plat_rt_a_east.rotateOnce('0 0 195');
|
|
|
|
sys.waitFor( $bridge_plat_rt_a_east );
|
|
|
|
$bridge_arm_lf_a_east.rotateOnce('-203 0 0');
|
|
$bridge_arm_rt_a_east.rotateOnce('-203 0 0');
|
|
|
|
sys.wait( .75 );
|
|
$bridge_plat_lf_a_east.time(.75);
|
|
$bridge_plat_rt_a_east.time(.75);
|
|
$bridge_plat_lf_a_east.rotateOnce('0 0 128');
|
|
$bridge_plat_rt_a_east.rotateOnce('0 0 -128');
|
|
|
|
sys.waitFor($bridge_arm_lf_a_east);
|
|
//sys.waitFor( $bridge_plat_rt_a_east );
|
|
|
|
sys.wait( 1 );
|
|
|
|
$bridge_arm_lf_a_east.time(1.5);
|
|
$bridge_arm_rt_a_east.time(1.5);
|
|
|
|
$bridge_arm_lf_a_east.move(SOUTH, 420);
|
|
$bridge_arm_rt_a_east.move(SOUTH, 420);
|
|
}
|
|
|
|
void bridge_retract()
|
|
{
|
|
$bridge_east_supports.accelTime(.5);
|
|
$bridge_east_supports.decelTime(.5);
|
|
$bridge_east_supports.time(1.5);
|
|
$bridge_east_supports.move(SOUTH, 424);
|
|
sys.waitFor($bridge_east_supports);
|
|
}
|
|
|
|
void catwalks()
|
|
{
|
|
thread catwalk_c_east();
|
|
sys.wait(.5);
|
|
thread catwalk_b_east();
|
|
sys.wait(.5);
|
|
thread catwalk_a_east();
|
|
}
|
|
|
|
void prison_bridge()
|
|
{
|
|
thread bridge_unfold();
|
|
sys.wait(.5 );
|
|
thread catwalks();
|
|
sys.wait( 5 );
|
|
thread bridge_retract();
|
|
sys.wait( 2 );
|
|
|
|
sys.trigger( $alarm_light03 );
|
|
sys.trigger( $func_rotating_5 );
|
|
}
|
|
|
|
|
|
void scientistLeavesRoom()
|
|
{
|
|
sys.trigger( $monster_scientist_8 );
|
|
sys.trigger( $grunt_dragger_1 );
|
|
sys.trigger( $grunt_dragee );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $monster_scientist_8, $scientist_moveTo_2, 16, 1 );
|
|
sys.wait ( 1 );
|
|
aiScriptedAnim( $grunt_dragger_1, "pr_drag_marine", 16, 1 );
|
|
aiScriptedAnim( $grunt_dragee, "pr_drag_marine", 16, 1 );
|
|
aiScriptedWait( $monster_scientist_8 );
|
|
$monster_scientist_8.remove();
|
|
aiScriptedWait( $grunt_dragger_1 );
|
|
$grunt_dragger_1.remove();
|
|
$grunt_dragee.remove();
|
|
}
|
|
|
|
|
|
void takGuardBridge()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_BridgePos_1, 8, 1 );
|
|
aiScriptedFaceWait( $tak, $center_walkway_east, 1 );
|
|
|
|
}
|
|
|
|
void bridgeSpawn3Go(entity bridgeBlaster3)
|
|
{
|
|
aiScriptedMove( bridgeBlaster3, $bridgeBlaster_pos3, 32, 1 );
|
|
}
|
|
|
|
void bridgeSpawn4Go(entity bridgeBlaster4)
|
|
{
|
|
aiScriptedMove( bridgeBlaster4, $bridgeBlaster_pos4, 32, 1 );
|
|
}
|
|
|
|
void bridgeSpawn5Go(entity bridgeBlaster5)
|
|
{
|
|
aiScriptedMove( bridgeBlaster5, $bridgeBlaster_pos5, 32, 1 );
|
|
}
|
|
|
|
void bridgeSpawn6Go(entity bridgeBlaster6)
|
|
{
|
|
aiScriptedMove( bridgeBlaster6, $bridgeBlaster_pos6, 32, 1 );
|
|
}
|
|
|
|
void bridgeSpawn7Go(entity bridgeBlaster7)
|
|
{
|
|
aiScriptedMove( bridgeBlaster7, $bridgeBlaster_pos7, 32, 1 );
|
|
}
|
|
|
|
void bridgeSpawn8Go(entity bridgeBlaster8)
|
|
{
|
|
aiScriptedMove( bridgeBlaster8, $bridgeBlaster_pos8, 32, 1 );
|
|
}
|
|
|
|
void darnellDies()
|
|
{
|
|
sys.trigger( $objectivefailed_bridge );
|
|
}
|
|
|
|
void letsTakeTheBridge()
|
|
{
|
|
sys.trigger( $lift_1_block );
|
|
sys.waitFrame();
|
|
aiScriptedMove( $darnell, $darnell_bridge_pos_1, 8, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $tak, $tak_bridge_pos_1, 8, 1 );
|
|
aiSpeakWait( $darnell, "lipsync_darn_lookcondits" );
|
|
aiSpeakWait( $tak, "lipsync_tak_extractcare" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_anystrauss" );
|
|
aiSpeakWait( $tak, "lipsync_tak_neg4" );
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------
|
|
// start bridge extend
|
|
//-------------------------------------------------------------------------------------
|
|
|
|
void bridge_up()
|
|
{
|
|
$center_walkway_east.time( 2 );
|
|
$center_walkway_east.accelTime( .5 );
|
|
$center_walkway_east.decelTime( .5 );
|
|
$center_walkway_east.rotateOnce( '90 0 0' );
|
|
sys.wait( 1 );
|
|
$bridge_plat_rt_d_east.time( .5 );
|
|
$bridge_plat_lf_d_east.time( .5 );
|
|
$bridge_plat_lf_d_east.move( NORTH, 24 );
|
|
$bridge_plat_rt_d_east.move( NORTH, 24 );
|
|
}
|
|
|
|
|
|
|
|
void catwalk_a_east_out()
|
|
{
|
|
$bridge_arm_lf_a_east.time(1.5);
|
|
$bridge_arm_rt_a_east.time(1.5);
|
|
|
|
$bridge_arm_lf_a_east.move(NORTH, 420);
|
|
$bridge_arm_rt_a_east.move(NORTH, 420);
|
|
|
|
$bridge_arm_lf_a_east.time(1.5);
|
|
$bridge_arm_rt_a_east.time(1.5);
|
|
$bridge_plat_rt_a_east.time(1.5);
|
|
$bridge_plat_lf_a_east.time(1.5);
|
|
|
|
sys.waitFor( $bridge_arm_rt_a_east );
|
|
|
|
$bridge_arm_lf_a_east.rotateOnce('203 0 0');
|
|
$bridge_arm_rt_a_east.rotateOnce('203 0 0');
|
|
|
|
$bridge_plat_lf_a_east.time(.75);
|
|
$bridge_plat_rt_a_east.time(.75);
|
|
$bridge_plat_lf_a_east.rotateOnce('0 0 -128');
|
|
$bridge_plat_rt_a_east.rotateOnce('0 0 128');
|
|
|
|
sys.waitFor($bridge_arm_lf_a_east);
|
|
|
|
$bridge_plat_lf_a_east.rotateOnce('0 0 195');
|
|
$bridge_plat_rt_a_east.rotateOnce('0 0 -195');
|
|
|
|
sys.waitFor($bridge_plat_rt_a_east);
|
|
|
|
|
|
}
|
|
|
|
void catwalk_b_east_out()
|
|
{
|
|
$bridge_arm_lf_b_east.time(1);
|
|
$bridge_arm_rt_b_east.time(1);
|
|
$bridge_arm_lf_b_east.move(NORTH, 320);
|
|
$bridge_arm_rt_b_east.move(NORTH, 320);
|
|
|
|
$bridge_arm_lf_b_east.time(1.5);
|
|
$bridge_arm_rt_b_east.time(1.5);
|
|
$bridge_plat_rt_b_east.time(1.5);
|
|
$bridge_plat_lf_b_east.time(1.5);
|
|
|
|
sys.waitFor($bridge_arm_lf_b_east);
|
|
|
|
$bridge_arm_lf_b_east.rotateOnce('203 0 0');
|
|
$bridge_arm_rt_b_east.rotateOnce('203 0 0');
|
|
|
|
$bridge_plat_lf_b_east.time(.75);
|
|
$bridge_plat_rt_b_east.time(.75);
|
|
$bridge_plat_lf_b_east.rotateOnce('0 0 -128');
|
|
$bridge_plat_rt_b_east.rotateOnce('0 0 128');
|
|
|
|
sys.waitFor($bridge_arm_lf_b_east);
|
|
|
|
$bridge_plat_lf_b_east.rotateOnce('0 0 195');
|
|
$bridge_plat_rt_b_east.rotateOnce('0 0 -195');
|
|
|
|
sys.waitFor( $bridge_plat_rt_b_east );
|
|
}
|
|
|
|
void catwalk_c_east_out()
|
|
{
|
|
$bridge_arm_lf_c_east.time(.5);
|
|
$bridge_arm_rt_c_east.time(.5);
|
|
$bridge_arm_lf_c_east.move(NORTH, 232);
|
|
$bridge_arm_rt_c_east.move(NORTH, 232);
|
|
|
|
$bridge_arm_lf_c_east.time(1.5);
|
|
$bridge_arm_rt_c_east.time(1.5);
|
|
$bridge_plat_rt_c_east.time(1.5);
|
|
$bridge_plat_lf_c_east.time(1.5);
|
|
|
|
sys.waitFor($bridge_arm_lf_c_east);
|
|
|
|
$bridge_arm_lf_c_east.rotateOnce('203 0 0');
|
|
$bridge_arm_rt_c_east.rotateOnce('203 0 0');
|
|
|
|
$bridge_plat_lf_c_east.time(.75);
|
|
$bridge_plat_rt_c_east.time(.75);
|
|
$bridge_plat_lf_c_east.rotateOnce('0 0 -128');
|
|
$bridge_plat_rt_c_east.rotateOnce('0 0 128');
|
|
|
|
sys.waitFor($bridge_arm_lf_c_east);
|
|
|
|
$bridge_plat_lf_c_east.rotateOnce('0 0 195');
|
|
$bridge_plat_rt_c_east.rotateOnce('0 0 -195');
|
|
|
|
sys.waitFor( $bridge_plat_rt_c_east );
|
|
}
|
|
|
|
void bridge_extend()
|
|
{
|
|
$bridge_east_supports.accelTime(.5);
|
|
$bridge_east_supports.decelTime(.5);
|
|
$bridge_east_supports.time(1.5);
|
|
$bridge_east_supports.move(NORTH, 424);
|
|
sys.waitFor($bridge_east_supports);
|
|
}
|
|
|
|
void catwalks_out()
|
|
{
|
|
thread catwalk_a_east_out();
|
|
sys.wait(1);
|
|
thread catwalk_b_east_out();
|
|
sys.wait(1);
|
|
thread catwalk_c_east_out();
|
|
}
|
|
|
|
void prison_bridge_out()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_BridgePos_1, 8, 0 );
|
|
$bridge_controls.show();
|
|
aiSpeakWait( $tak, "lipsync_tak_bridgereeng" );
|
|
aiScriptedFaceWait( $tak, $bridge_controller, 0 );
|
|
sys.wait( 2 );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
thread bridge_extend();
|
|
sys.wait( 2 );
|
|
thread catwalks_out();
|
|
sys.wait( 4 );
|
|
thread bridge_up();
|
|
aiScriptedMove( $tak, $tak_toploop_13, 8, 1 );
|
|
sys.wait( 3 );
|
|
|
|
}
|
|
|
|
//-------------------------------------------------------------------------------------
|
|
// end bridge extend
|
|
//-------------------------------------------------------------------------------------
|
|
|
|
void darnellBridgeAnims()
|
|
{
|
|
$darnell.becomePassive( 1 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_start", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_idle", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_idle", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_idle", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_idle", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_idle", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_idle", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_idle", 4, 0 );
|
|
aiScriptedAnimWait( $darnell, "prison_bridge_end", 16, 1 );
|
|
$darnell.setUndying( 1 );
|
|
aiScriptedMoveWait( $darnell, $darnell_tactpos_postbridge, 8, 1 );
|
|
|
|
$darnell.becomeAggressive();
|
|
sys.trigger( $objectivecomplete_bridge );
|
|
}
|
|
|
|
void darnellUnlocksDoor1()
|
|
{
|
|
float db;
|
|
float pbo;
|
|
|
|
aiScriptedMoveWait( $tak, $tak_BridgePos_1, 8, 0 );
|
|
aiScriptedFaceWait( $tak, $bridge_controller, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 1 );
|
|
aiSpeakWait( $tak, "lipsync_tak_damncutoff" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_imonit" );
|
|
aiSpeakWait( $tak, "lipsync_tak_rogethat3" );
|
|
thread takGuardBridge();
|
|
aiScriptedMove( $tak, $tak_BridgePos_2, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMoveWait( $darnell, $darnell_unlockBridgeDoorPos_1, 2, 0 );
|
|
aiScriptedFaceWait( $darnell, $center_walkway_east, 0 );
|
|
sys.trigger( $objective_bridge );
|
|
$darnell.setUndying( 0 );
|
|
$darnell.setHealth( 200 );
|
|
db = thread darnellBridgeAnims();
|
|
sys.wait( 2 );
|
|
sys.trigger( $bridgeSpawner_1 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_darn_iseeit");
|
|
sys.wait( 4 );
|
|
sys.trigger( $bridgeSpawner_2 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_darn_gettclose");
|
|
sys.wait( 4 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_darn_almostthr");
|
|
sys.wait( 6 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_darn_gotitkeep");
|
|
sys.wait( 34 );
|
|
sys.trigger( $bridgeSpawner_1 );
|
|
sys.trigger( $bridgeSpawner_2 );
|
|
sys.wait( 6 );
|
|
pbo = thread prison_bridge_out();
|
|
sys.waitForThread( db );
|
|
sys.wait( .5 );
|
|
sys.waitForThread( pbo );
|
|
sys.trigger( $bridge_teamblock );
|
|
|
|
thread letsTakeTheBridge();
|
|
|
|
}
|
|
|
|
void cleanupBridgeSpawns()
|
|
{
|
|
$ai_avoid_1.remove();
|
|
$ai_avoid_2.remove();
|
|
|
|
}
|
|
|
|
void squadTopLoop1Pos()
|
|
{
|
|
aiScriptedMove( $darnell, $darnell_toploop_1, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $tak, $tak_toploop_1, 8, 1 );
|
|
}
|
|
|
|
void assistFoxSquadDialog()
|
|
{
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_fox1_thisisrose");
|
|
aiSpeakWait( $tak, "lipsync_tak_foxsq" );
|
|
aiSpeakComlinkWait( $darnell, "lipsync_darn_falcsqenroute" );
|
|
aiScriptedMove( $tak, $tak_toploop_1b, 8, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_1b, 8, 1 );
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_fox1_rogfalcsplit");
|
|
sys.wait( 1 );
|
|
sys.trigger( $item_objective_foxSquad_1 );
|
|
}
|
|
|
|
void scientistComesOut() //drop forcefield and move scientist into combat
|
|
{
|
|
aiScriptedMoveWait( $monster_scientist_1, $scientist_moveTo_1, 16, 0 );
|
|
aiScriptedWait( $monster_scientist_1 );
|
|
sys.wait( .5 );
|
|
$func_static_1500.setShaderParm( 7, 1 );
|
|
sys.trigger( $scientist_cell_beam_1 );
|
|
sys.trigger( $scientist_blocker_1 );
|
|
sys.wait( .2 );
|
|
aiScriptedMove( $monster_scientist_1, $scientist_moveTo_2, 16, 1 );
|
|
$monster_scientist_1.becomeAggressive();
|
|
|
|
}
|
|
|
|
void squadTopLoop2Pos()
|
|
{
|
|
aiScriptedMove( $darnell, $darnell_toploop_2, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $tak, $tak_toploop_2, 8, 1 );
|
|
}
|
|
|
|
void gruntShotty()
|
|
{
|
|
sys.trigger( $grunt_jumper_1 );
|
|
//sys.wait(.2 );
|
|
sys.trigger( $shotty );
|
|
sys.wait( 3 );
|
|
aiScriptedMoveWait( $shotty, $heath_moveTo_pos_1, 8, 1 );
|
|
sys.wait( 2 );
|
|
aiScriptedMoveWait( $shotty, $heath_moveTo_pos_1, 8, 0 );
|
|
$shotty.remove();
|
|
|
|
}
|
|
|
|
void foxSquadWarmUp()
|
|
{
|
|
sys.trigger( $sq2_marine_2 );
|
|
sys.trigger( $sq2_marine_3 );
|
|
aiScriptedAnimLoop( $sq2_marine_2, "crouch_idle", 8 );
|
|
aiScriptedAnimLoop( $sq2_marine_3, "cine_console_stand_loop", 8 );
|
|
|
|
}
|
|
|
|
void squadTopLoop3Pos()
|
|
{
|
|
sys.trigger( $squad_block_pos_10 );
|
|
sys.waitFrame();
|
|
aiScriptedMove( $darnell, $darnell_toploop_3, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMoveWait( $tak, $tak_toploop_3, 4, 0 );
|
|
aiScriptedFaceWait( $tak, $shotty_seq_doorHack, 0 );
|
|
aiSpeak( $tak, "tak_pris_door2" );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 1 );
|
|
$startSoloFrame.setShaderParm( 7, 1 );
|
|
sys.trigger( $shotty_door_trig );
|
|
}
|
|
|
|
void PostShottyHall()
|
|
{
|
|
sys.trigger( $squad_block_pos_9 );
|
|
$startSoloDoor_1.lock( 0 );
|
|
$startSoloDoor_2.lock( 0 );
|
|
sys.wait( .1 );
|
|
aiScriptedMove( $tak, $tak_toploop_4, 8, 1 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_4, 8, 1 );
|
|
|
|
}
|
|
|
|
//----------------------------------------- fox squad 1 seq start -----------------------------------
|
|
|
|
void pappasUnlocksDoor()
|
|
{
|
|
aiScriptedMoveWait( $sq2_marine_3, $fox1_door_pos, 8, 0 );
|
|
aiScriptedFaceWait( $sq2_marine_3, $fox1_exit_console, 0 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "console_stand_end", 4, 0 );
|
|
aiSpeak( $sq2_marine_3, "lipsync_fox3_thanksfalc" );
|
|
$turret_seq_frame.setShaderParm( 7, 1 ); //door is unlocked
|
|
$turret_seq_door1.lock( 0 );
|
|
$turret_seq_door2.lock( 0 );
|
|
$env_battery_5.playCycle(ANIMCHANNEL_ALL, "storage");
|
|
$env_battery_6.playCycle(ANIMCHANNEL_ALL, "shockloop");
|
|
aiScriptedAnimLoop( $sq2_marine_3, "relax_idle", 8 );
|
|
sys.trigger( $exit_to_turret_room );
|
|
}
|
|
|
|
void takHelpsPappas()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_helps_out_pos, 8, 0 );
|
|
aiScriptedFaceWait( $tak, $func_static_53432, 0 );
|
|
aiScriptedAnimLoop( $tak, "cine_console_stand_loop", 8 );
|
|
sys.wait( 15 );
|
|
TUBESAREOFF = true;
|
|
sys.wait( .25 );
|
|
sys.trigger( $conveyor_light_1 );
|
|
sys.trigger( $conveyor_light_2 );
|
|
sys.trigger( $conveyor_light_3 );
|
|
sys.trigger( $conveyor_light_4 );
|
|
sys.trigger( $conveyor_light_5 );
|
|
sys.trigger( $human_machine1 );
|
|
sys.killthread( "tubeTransportSystem" );
|
|
sys.killthread( "tubeTransportSystem2" );
|
|
aiSpeakWait( $tak, "lipsync_tak_okthatconv" );
|
|
aiSpeakWait( $sq2_marine_2, "lipsync_fox2_excellent" );
|
|
aiSpeakComlinkWait( $sq2_marine_2, "lipsync_fox2_ltrosedone" );
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_fox1_pointdir");
|
|
aiScriptedFaceWait( $sq2_marine_2, $turret_seq_frame, 0 );
|
|
aiSpeak( $sq2_marine_2, "lipsync_fox2_okviacrawl" );
|
|
sys.wait( 2 );
|
|
aiScriptedAnimWait( $sq2_marine_2, "point_forward", 4, 0 );
|
|
|
|
aiScriptedMove( $tak, $tak_toploop_5, 8, 1 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_5, 8, 1 );
|
|
thread pappasUnlocksDoor();
|
|
|
|
thread bridge_unfold();
|
|
sys.wait(.5 );
|
|
thread catwalks();
|
|
sys.wait( 4 );
|
|
thread bridge_retract();
|
|
sys.trigger( $bridge_teamblock );
|
|
|
|
}
|
|
|
|
void givePlayerGoobgun()
|
|
{
|
|
sys.wait( 3 );
|
|
aiScriptedMoveWait( $sq2_marine_3, $player1, 64, 0 );
|
|
aiSpeak( $sq2_marine_3, "lipsync_fox3_heysarge" );
|
|
aiScriptedFaceWait( $sq2_marine_3, $player1, 0 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "player_gift_start", 4, 0 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "player_gift_end", 4, 0 );
|
|
sys.trigger( $flame_gun_give );
|
|
sys.wait( 2 );
|
|
aiScriptedMoveWait( $sq2_marine_3, $sq2_marine_3_pos_1, 8, 0 );
|
|
aiScriptedFaceWait( $sq2_marine_3, $func_static_53432, 0 );
|
|
aiScriptedAnimLoop( $sq2_marine_3, "relax_idle", 4 );
|
|
}
|
|
|
|
void foxSquad1Meeting()
|
|
{
|
|
aiScriptedAnimWait( $sq2_marine_2, "crouch_to_relaxed", 4, 0 );
|
|
aiScriptedAnim( $sq2_marine_2, "conversation_1", 4, 0 );
|
|
aiSpeakWait( $sq2_marine_2, "lipsync_fox2_youshutdwn" );
|
|
aiSpeakWait( $tak, "lipsync_tak_letmeseewh" );
|
|
thread takHelpsPappas();
|
|
thread givePlayerGoobgun();
|
|
aiScriptedMoveWait( $sq2_marine_2, $sq2_marine_2_pos_3, 8, 0 );
|
|
aiScriptedFaceWait( $sq2_marine_2, $tak, 0 );
|
|
aiScriptedAnimLoop( $sq2_marine_2, "relax_idle", 4 );
|
|
}
|
|
|
|
void darnellExitFox1()
|
|
{
|
|
aiScriptedMoveWait( $darnell, $darnell_toploop_6, 8, 0 );
|
|
sys.trigger( $fox1_exit_counter );
|
|
}
|
|
|
|
void takExitFox1()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_toploop_6, 8, 0 );
|
|
sys.trigger( $fox1_exit_counter );
|
|
}
|
|
|
|
void squadTopLoop6Pos()
|
|
{
|
|
sys.trigger( $squad_block_fox1_exit );
|
|
sys.waitFrame();
|
|
thread darnellExitFox1();
|
|
sys.wait( 1 );
|
|
thread takExitFox1();
|
|
}
|
|
|
|
void turretFalseStart()
|
|
{
|
|
aiScriptedMove( $tak, $tak_toploop_7, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_7, 8, 1 );
|
|
}
|
|
|
|
void pappasLocksDoor()
|
|
{
|
|
thread turretFalseStart();
|
|
$turret_seq_frame.setShaderParm( 7, 0 ); //door is locked
|
|
$turret_seq_door1.lock( 2 );
|
|
$turret_seq_door2.lock( 2 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $sq2_marine_3, "console_stand_end", 4, 0 );
|
|
$sq2_marine_3.remove();
|
|
$sq2_marine_2.remove();
|
|
}
|
|
|
|
void cellblock3_prisoners() //turn on and set anims on cellblock guys
|
|
{
|
|
sys.trigger( $cellblock3_prisoner_1 );
|
|
sys.trigger( $cellblock3_prisoner_2 );
|
|
sys.trigger( $cellblock3_prisoner_3 );
|
|
sys.trigger( $cellblock3_prisoner_4 );
|
|
sys.trigger( $cellblock3_prisoner_5 );
|
|
sys.trigger( $cellblock3_prisoner_6 );
|
|
//aiScriptedAnimLoop( $cellblock3_prisoner_2, "idle_sitting_2", 0 );
|
|
//aiScriptedAnimLoop( $cellblock3_prisoner_3, "ad_wounded_on_knee_loop", 0 );
|
|
//aiScriptedAnimLoop( $cellblock3_prisoner_4, "idle_sitting_2", 0 );
|
|
}
|
|
|
|
//----------------------------------------- fox squad 1 seq end -----------------------------------
|
|
|
|
//----------------------------------------- turret seq start -----------------------------------
|
|
|
|
|
|
void gruntAndGunnerAttack()
|
|
{
|
|
thread cellblock3_prisoners();
|
|
|
|
if( isValidEntity( $prison_camera_8 ))
|
|
{
|
|
sys.wait( 2 );
|
|
sys.trigger( $monster_grunt_2 );
|
|
sys.waitFrame();
|
|
aiScriptedMoveWait( $monster_grunt_2, $Tbalcony_jumpdown_pos_3, 8, 0 );
|
|
aiScriptedAnimWait( $monster_grunt_2, "jump128", 8, 1 );
|
|
sys.wait( 2 );
|
|
sys.trigger( $monster_gunner_1 );
|
|
}
|
|
if( !isValidEntity( $prison_camera_8 ))
|
|
{
|
|
thread squadTopLoop7Pos();
|
|
}
|
|
|
|
}
|
|
|
|
void takDies()
|
|
{
|
|
sys.trigger( $item_objectivefailed_3 );
|
|
}
|
|
|
|
void gunnerDropsIn()
|
|
{
|
|
float jumptime;
|
|
jumptime = randomRoundFloat( 1, 20 ) + 20;
|
|
|
|
sys.wait( jumptime );
|
|
|
|
sys.trigger( $gunner_turret_jumpdown );
|
|
sys.waitFrame();
|
|
aiScriptedAnim( $gunner_turret_jumpdown, "pr_gunner_jump_down", 8, 1 );
|
|
sys.wait( .4 );
|
|
sys.trigger( $turret_glass_ceilingfx );
|
|
sys.trigger( $gunner_glass_ceilingbreak );
|
|
$turret_glass_ceiling.remove();
|
|
}
|
|
|
|
void manTheTurret() //turret wave seq while teammate opens door
|
|
{
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimLoop( $tak, "console_stand_loop", 8 );
|
|
|
|
sys.trigger( $hyg_obstacle );
|
|
|
|
sys.wait( 5 );
|
|
sys.trigger( $turretWaveSpawner ); //start wave of enemies
|
|
$tak.setUndying( 0 );
|
|
$tak.setHealth( 200 );
|
|
sys.wait( 8 );
|
|
thread gunnerDropsIn();
|
|
aiSpeak( $darnell, "vo_darn_aboveus" );
|
|
sys.trigger( $turretWaveSpawnerBig );
|
|
radioChatterPlay($prison1_radiochatter, "vo_tak_isobridge");
|
|
sys.wait( 15 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_tak_firstbr");
|
|
sys.wait( 15 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_tak_secondact");
|
|
sys.wait( 15 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_tak_therethird");
|
|
sys.wait( 10 );
|
|
sys.trigger( $turretWaveSpawner );
|
|
sys.trigger( $turretWaveSpawnerBig );
|
|
sys.wait( 15 ); //allow for spawned monsters to move through
|
|
radioChatterPlay($prison1_radiochatter, "vo_tak_thatwein");
|
|
$tak.setUndying( 1 );
|
|
//$tak.setHealth( 2000 );
|
|
$turret_exit_frame.setShaderParm( 7, 1 ); //door is unlocked
|
|
$turret_exit_door_1.lock( 0 );
|
|
$turret_exit_door_2.lock( 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 1 );
|
|
sys.wait( 5.5 );
|
|
sys.trigger( $darnell_remove_tether );
|
|
sys.trigger( $turretWaveOverTrig ); //enables trigger for monsters, removes aas ob, moves teammates
|
|
sys.wait( 0.5 );
|
|
sys.trigger( $func_savegame_1 );
|
|
}
|
|
|
|
void turretBalconyJumper(entity TJumperName)
|
|
{
|
|
//sys.println("jumperName =" + TJumperName.getName());
|
|
float x;
|
|
|
|
x = randomRoundFloat( 1, 4 );
|
|
|
|
if( x == 1 )
|
|
{
|
|
//sys.println( "jumping" );
|
|
aiScriptedMoveWait(TJumperName, $Tbalcony_jumpdown_pos_1, 16, 1);
|
|
TJumperName.scriptedJumpDown( 90 ); // this is the jump angle
|
|
aiScriptedWait( TJumperName );
|
|
}
|
|
|
|
if( x == 2 )
|
|
{
|
|
//sys.println( "jumping" );
|
|
aiScriptedMoveWait(TJumperName, $Tbalcony_jumpdown_pos_2, 16, 1);
|
|
TJumperName.scriptedJumpDown( 90 ); // this is the jump angle
|
|
aiScriptedWait( TJumperName );
|
|
}
|
|
|
|
if( x > 2 )
|
|
{
|
|
aiScriptedMoveWait(TJumperName, $Tbalcony_moveTo_pos_2, 16, 1);
|
|
}
|
|
}
|
|
|
|
void turretBalconyJumper2(entity TJumperName2)
|
|
{
|
|
//sys.println("jumperName =" + TJumperName2.getName());
|
|
float x;
|
|
|
|
x = randomRoundFloat( 1, 4 );
|
|
|
|
if( x == 1 )
|
|
{
|
|
//sys.println( "jumping" );
|
|
aiScriptedMoveWait(TJumperName2, $Tbalcony_jumpdown_pos_3, 16, 1);
|
|
TJumperName2.scriptedJumpDown( 0 ); // this is the jump angle
|
|
aiScriptedWait( TJumperName2 );
|
|
}
|
|
|
|
if( x == 2 )
|
|
{
|
|
//sys.println( "jumping" );
|
|
aiScriptedMoveWait(TJumperName2, $Tbalcony_jumpdown_pos_2, 16, 1);
|
|
TJumperName2.scriptedJumpDown( 90 ); // this is the jump angle
|
|
aiScriptedWait( TJumperName2 );
|
|
}
|
|
|
|
if( x > 2 )
|
|
{
|
|
aiScriptedMoveWait(TJumperName2, $Tbalcony_moveTo_pos_2, 32, 1);
|
|
}
|
|
|
|
}
|
|
|
|
void turretBalconyBerserk(entity TJumperBerserk)
|
|
{
|
|
//sys.println("jumperName =" + TJumperBerserk.getName());
|
|
float x;
|
|
|
|
x = randomRoundFloat( 1, 4 );
|
|
|
|
if( x <= 2 )
|
|
{
|
|
//sys.println( "jumping" );
|
|
aiScriptedMoveWait(TJumperBerserk, $Tbalcony_jumpdown_pos_1, 16, 1);
|
|
TJumperBerserk.scriptedJumpDown( 90 ); // this is the jump angle
|
|
aiScriptedWait( TJumperBerserk );
|
|
}
|
|
|
|
if( x > 2 )
|
|
{
|
|
//sys.println( "jumping" );
|
|
aiScriptedMoveWait(TJumperBerserk, $Tbalcony_jumpdown_pos_2, 16, 1);
|
|
TJumperBerserk.scriptedJumpDown( 90 ); // this is the jump angle
|
|
aiScriptedWait( TJumperBerserk );
|
|
}
|
|
|
|
}
|
|
|
|
void turretBalconyNoJump1(entity TBalconyName1)
|
|
{
|
|
aiScriptedMove( TBalconyName1, $Tbalcony_moveTo_pos_3, 16, 1 );
|
|
}
|
|
|
|
void turretBalconyNoJump2(entity TBalconyName2)
|
|
{
|
|
aiScriptedMove( TBalconyName2, $Tbalcony_moveTo_pos_2, 16, 1 );
|
|
}
|
|
|
|
void turretBigSpawnLow(entity TBigLowName)
|
|
{
|
|
aiScriptedMove( TBigLowName, $big_spawn_low_pos_1, 16, 1 );
|
|
}
|
|
|
|
void squadTopLoop7Pos() //team arrives at locked security door, tak overrides while player mans the turret
|
|
{
|
|
sys.wait( 4 );
|
|
aiScriptedMove( $tak, $tak_toploop_7, 8, 0 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_7, 8, 0 );
|
|
aiScriptedWait( $tak );
|
|
aiScriptedFaceWait( $tak, $turret_seq_monitor, 0 );
|
|
aiSpeak( $tak, "lipsync_tak_weneedtoget" );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
aiScriptedWait( $darnell );
|
|
sys.wait( .5 );
|
|
aiSpeakWait( $tak, "lipsync_tak_coverhack" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_dekifyouman" );
|
|
|
|
sys.wait( 4 );
|
|
sys.trigger( $spkr_breach_explosion );
|
|
sys.trigger( $breach_quake );
|
|
sys.trigger( $breach_quake_1 );
|
|
thread manTheTurret();
|
|
aiSpeak( $darnell, "lipsync_darn_incom3" );
|
|
aiScriptedMoveWait( $darnell, $darnell_hygpos_1, 8, 1 );
|
|
sys.trigger( $darnell_turret_tether );
|
|
}
|
|
|
|
|
|
//----------------------------------------- turret seq end -----------------------------------
|
|
|
|
void squadTopLoop8Pos()
|
|
{
|
|
aiScriptedMove( $tak, $tak_toploop_8, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_8, 8, 1 );
|
|
}
|
|
|
|
void cellblock2_prisoners() //turn on and set anims on cellblock guys
|
|
{
|
|
sys.trigger( $cellblock2_prisoner_1 );
|
|
sys.trigger( $cellblock2_prisoner_2 );
|
|
sys.trigger( $cellblock2_prisoner_3 );
|
|
sys.trigger( $cellblock2_prisoner_4 );
|
|
sys.trigger( $cellblock2_prisoner_5 );
|
|
sys.trigger( $cellblock2_prisoner_6 );
|
|
//aiScriptedAnimLoop( $cellblock2_prisoner_1, "waving_down_tram", 0 );
|
|
//aiScriptedAnimLoop( $cellblock2_prisoner_3, "ad_wounded_on_knee_loop", 0 );
|
|
//aiScriptedAnimLoop( $cellblock2_prisoner_4, "idle_sitting_2", 0 );
|
|
sys.trigger( $monster_scientist_7 );
|
|
$monster_scientist_7.becomeNonSolid();
|
|
sys.wait( 0.1 );
|
|
aiScriptedAnimLoop( $monster_scientist_7, "work_on_human3_loop", 0 );
|
|
}
|
|
|
|
void topLoopElevUp()
|
|
{
|
|
if( isValidEntity( $prison_camera_7 ))
|
|
{
|
|
sys.trigger( $top_loop_tact_1 );
|
|
sys.trigger( $top_loop_tact_2 );
|
|
sys.wait( 0.1 );
|
|
sys.println( "lift starting" );
|
|
$topLoopElev.gotoFloor( 2 );
|
|
sys.wait( 4 );
|
|
sys.println( "lift finished" );
|
|
}
|
|
|
|
}
|
|
|
|
void squadTopLoop9Pos()
|
|
{
|
|
aiScriptedMove( $tak, $tak_toploop_9, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_9, 8, 1 );
|
|
}
|
|
|
|
void squadTopLoop10Pos()
|
|
{
|
|
//aiScriptedMove( $darnell, $darnell_toploop_10, 8, 1 );
|
|
//aiScriptedMoveWait( $tak, $tak_doorhack_CB_1, 8, 1 );
|
|
//aiScriptedFaceWait( $tak, $CB1_entrance_console, 0 );
|
|
//aiSpeak( $tak, "tak_pris_door3" );
|
|
//aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
//aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
//aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
sys.trigger( $squad_block_CB1 );
|
|
//$CB1_hallframe.setShaderParm( 7, 1 ); //door is unlocked
|
|
//$CB1_halldoor1.lock( 0 );
|
|
//$CB1_halldoor2.lock( 0 );
|
|
aiScriptedMove( $tak, $tak_topLoop_CB1_1, 8, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $darnell, $darnell_topLoop_CB1_1, 8, 1 );
|
|
}
|
|
|
|
void cellblock1_prisoners() //turn on and set anims on cellblock guys
|
|
{
|
|
sys.trigger( $cellblock1_prisoner_01 );
|
|
sys.trigger( $cellblock1_prisoner_02 );
|
|
sys.trigger( $cellblock1_prisoner_03 );
|
|
sys.trigger( $cellblock1_prisoner_05 );
|
|
sys.trigger( $cellblock1_prisoner_07 );
|
|
sys.trigger( $cellblock1_prisoner_08 );
|
|
|
|
|
|
}
|
|
|
|
void CB1Grid1PrisonerOut()
|
|
{
|
|
aiScriptedMoveWait( $cellblock1_prisoner_01, $CB1_upr_escape_pos, 8, 0 );
|
|
$cellblock1_prisoner_01.remove();
|
|
}
|
|
|
|
void CB1Grid2PrisonerOut()
|
|
{
|
|
aiScriptedMoveWait( $cellblock1_prisoner_02, $CB1_upr_escape_pos, 8, 0 );
|
|
$cellblock1_prisoner_02.remove();
|
|
}
|
|
|
|
void CB1Grid3PrisonerOut()
|
|
{
|
|
aiScriptedMoveWait( $cellblock1_prisoner_03, $CB1_upr_escape_pos, 8, 0 );
|
|
$cellblock1_prisoner_03.remove();
|
|
}
|
|
|
|
void CB1Grid5PrisonerOut()
|
|
{
|
|
aiScriptedMoveWait( $cellblock1_prisoner_05, $CB1_lwr_escape_pos, 8, 0 );
|
|
$cellblock1_prisoner_05.remove();
|
|
}
|
|
|
|
void CB1Grid7PrisonerOut()
|
|
{
|
|
aiScriptedMoveWait( $cellblock1_prisoner_07, $CB1_lwr_escape_pos, 8, 0 );
|
|
$cellblock1_prisoner_07.remove();
|
|
}
|
|
|
|
void CB1Grid8PrisonerOut()
|
|
{
|
|
aiScriptedMoveWait( $cellblock1_prisoner_08, $CB1_lwr_escape_pos, 8, 0 );
|
|
$cellblock1_prisoner_08.remove();
|
|
}
|
|
|
|
void falconLeavesCB1()
|
|
{
|
|
sys.wait( 3 );
|
|
//aiScriptedMove( $darnell, $darnell_toploop_11, 8, 1 );
|
|
//aiScriptedMoveWait( $tak, $tak_doorhack_CB1_exit, 8, 1 );
|
|
//aiScriptedFaceWait( $tak, $CB1_exit_console, 0 );
|
|
//aiSpeak( $tak, "tak_pris_door4" );
|
|
//aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
//aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
//aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
$CB1_exit_frame.setShaderParm( 7, 1 ); //door is unlocked
|
|
$CB1_exit_door_1.lock( 0 );
|
|
$CB1_exit_door_2.lock( 0 );
|
|
sys.waitFrame();
|
|
sys.trigger( $CB1_retch );
|
|
$bridgeFrame_1.setShaderParm( 7, 1 ); //door is unlocked
|
|
$bridgeDoor1R.lock( 0 );
|
|
$bridgeDoor1L.lock( 0 );
|
|
|
|
}
|
|
|
|
void CellBreakLower()
|
|
{
|
|
sys.trigger( $cellblock_1_spawner2 );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_cover_lwr, $CB1_lwr_cvr_pos_1, 8, 1 );
|
|
sys.trigger( $CB1_marine_cover_lwr_tether );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_pos_5, 8, 0 );
|
|
|
|
$CB1_grid_5.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_5.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_5.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_5.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_5.hide();
|
|
$CB1_grid_5_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
thread CB1Grid5PrisonerOut();
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_return_pos, 8, 0 );
|
|
sys.wait( 6 );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_pos_6, 8, 0 );
|
|
$CB1_grid_6.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_6.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_6.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_6.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_6.hide();
|
|
$CB1_grid_6_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_pos_7, 8, 1 );
|
|
sys.wait( 6 );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_pos_7, 8, 0 );
|
|
$CB1_grid_7.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_7.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_7.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_7.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_7.hide();
|
|
$CB1_grid_7_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
thread CB1Grid7PrisonerOut();
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_return_pos, 8, 0 );
|
|
sys.wait( 6 );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_pos_8, 8, 0 );
|
|
$CB1_grid_8.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_8.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_8.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_8.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_8.hide();
|
|
$CB1_grid_8_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
thread CB1Grid8PrisonerOut();
|
|
aiScriptedMoveWait( $CB1_marine_medic_lwr, $CB1_lwr_medic_return_pos, 8, 0 );
|
|
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
aiSpeakWait( $tak, "lipsync_tak_allicando" );
|
|
sys.wait( 2 );
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_fox1_extractcomp");
|
|
sys.wait( 1 );
|
|
radioChatterPlayWait($prison1_radiochatter, "vo_fox1_thanksfalc");
|
|
sys.wait( 1 );
|
|
sys.trigger( $item_objectivecomplete_foxSquad_1 );
|
|
thread falconLeavesCB1();
|
|
//sys.trigger( $cellblock_1_spawner2 );
|
|
|
|
}
|
|
|
|
|
|
|
|
void readyCellBreak()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_CB1_hack_pos, 8, 0 );
|
|
aiScriptedFaceWait( $tak, $CB1_console, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimLoop( $tak, "console_stand_loop", 8 );
|
|
sys.wait( 3 );
|
|
aiSpeakWait( $tak, "lipsync_tak_lookslike" );
|
|
sys.wait( 3 );
|
|
aiSpeak( $tak, "lipsync_tak_opencells" );
|
|
sys.wait( 1 );
|
|
aiScriptedMoveWait( $CB1_marine_cover_upr, $CB1_upr_cvr_pos_1, 8, 1 );
|
|
sys.trigger( $CB1_marine_cover_upr_tether );
|
|
|
|
sys.wait( 1 );
|
|
|
|
sys.wait( 2 );
|
|
sys.trigger( $cellblock_1_spawner );
|
|
sys.wait( 1 );
|
|
aiSpeakWait( $marine_climbdown, "lipsync_fox4_openfire" );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_pos_1, 8, 0 );
|
|
$CB1_grid_1.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_1.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_1.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_1.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_1.hide();
|
|
$CB1_grid_1_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
thread CB1Grid1PrisonerOut();
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_return_pos, 8, 0 );
|
|
sys.wait( 6 );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_pos_2, 8, 0 );
|
|
$CB1_grid_2.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_2.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_2.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_2.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_2.hide();
|
|
$CB1_grid_2_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
thread CB1Grid2PrisonerOut();
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_return_pos, 8, 0 );
|
|
sys.wait( 6 );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_pos_3, 8, 0 );
|
|
$CB1_grid_3.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_3.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_3.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_3.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_3.hide();
|
|
$CB1_grid_3_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
thread CB1Grid3PrisonerOut();
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_return_pos, 8, 0 );
|
|
sys.wait( 6 );
|
|
|
|
//sys.trigger( $cellblock_1_spawner );
|
|
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_pos_4, 8, 0 );
|
|
$CB1_grid_4.hide();
|
|
sys.wait( .2 );
|
|
$CB1_grid_4.show();
|
|
sys.wait( .3 );
|
|
$CB1_grid_4.hide();
|
|
sys.wait( .1 );
|
|
$CB1_grid_4.show();
|
|
sys.wait( .4 );
|
|
$CB1_grid_4.hide();
|
|
$CB1_grid_4_frame.setShaderParm( 7, 1 );
|
|
sys.wait( 1 );
|
|
thread CellBreakLower();
|
|
aiScriptedMoveWait( $CB1_marine_medic_upr, $CB1_upr_medic_return_pos, 8, 0 );
|
|
|
|
}
|
|
|
|
void cellblock1Help()
|
|
{
|
|
sys.wait( 1 );
|
|
sys.trigger( $sec_accessGrate_3 );
|
|
sys.waitFrame();
|
|
$sec_accessGrate_3.applyImpulse( $sec_accessGrate_3, $sec_accessGrate_3.getWorldOrigin(), '0 2000 -5000' );
|
|
sys.wait( 1 );
|
|
sys.trigger( $marine_climbdown );
|
|
sys.waitFrame();
|
|
aiScriptedAnimWait( $marine_climbdown, "pr_climb_down", 4, 0 );
|
|
aiSpeakWait( $marine_climbdown, "lipsync_fox4_heywithlt" );
|
|
aiSpeakWait( $tak, "lipsync_tak_imonit3" );
|
|
aiSpeakComlinkWait( $marine_climbdown, "lipsync_fox4_falchere" );
|
|
radioChatterPlay($prison1_radiochatter, "vo_fox1_copymovein");
|
|
thread readyCellBreak();
|
|
aiScriptedMove( $darnell, $darnell_cine_cellblock1pos_2, 8, 1 );
|
|
aiScriptedMove( $marine_climbdown, $marine_climbdown_pos_1, 8, 0 );
|
|
sys.trigger( $ai_tether_radius_1 );
|
|
aiScriptedFaceWait( $marine_climbdown, $CB1_upr_medic_pos_2, 1 );
|
|
sys.wait( 13 );
|
|
sys.trigger( $CB1_behind_spawner );
|
|
|
|
}
|
|
|
|
void cellblock1UpperSpawnMove( entity CB1SpawnNameUpr )
|
|
{
|
|
aiScriptedMove( CB1SpawnNameUpr, $cb_1_upr_pos_1, 16, 1 );
|
|
}
|
|
|
|
void cellblock1LowerSpawnMove( entity CB1SpawnNameLwr )
|
|
{
|
|
aiScriptedMove( CB1SpawnNameLwr, $cb_1_lwr_pos_1, 16, 1 );
|
|
}
|
|
|
|
void cellblock1BehindYouSpawnMove( entity CB1SpawnNameBehind )
|
|
{
|
|
aiScriptedMove( CB1SpawnNameBehind, $CB1_behind_moveTo_pos, 16, 1 );
|
|
}
|
|
|
|
void hideBridgeLift()
|
|
{
|
|
$func_mover_4.hide();
|
|
$func_mover_5.hide();
|
|
$func_elevator_1.hide();
|
|
$func_static_1572.setShaderParm( 7, 0 ); //door is locked
|
|
$func_static_1546.lock( 2 );
|
|
$func_static_1547.lock( 2 );
|
|
$bridge_sci_frame.setShaderParm( 7, 0 ); //door is locked
|
|
$bridge_sci_door2.lock( 2 );
|
|
$bridge_sci_door1.lock( 2 );
|
|
}
|
|
|
|
void prison_bridge_out_again()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_BridgePos_1, 8, 0 );
|
|
aiScriptedFaceWait( $tak, $bridge_controller, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
thread bridge_extend();
|
|
sys.wait( 2 );
|
|
thread catwalks_out();
|
|
sys.wait( 4 );
|
|
thread bridge_up();
|
|
aiScriptedMove( $tak, $tak_toploop_13, 8, 1 );
|
|
sys.wait( 3 );
|
|
|
|
}
|
|
|
|
void squadTopLoop13Pos()
|
|
{
|
|
float boa;
|
|
|
|
aiScriptedMove( $darnell, $darnell_toploop_13, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMoveWait( $tak, $tak_toploop_13, 8, 0 );
|
|
boa = thread prison_bridge_out_again();
|
|
sys.trigger( $trigger_once_164 );
|
|
sys.waitForThread( boa );
|
|
sys.trigger( $bridge_teamblock );
|
|
|
|
sys.trigger( $glad_obs_1 );
|
|
sys.trigger( $glad_obs_2 );
|
|
sys.waitFrame();
|
|
aiScriptedMove( $darnell, $darnell_bridge_pos_1, 8, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $tak, $tak_bridge_pos_1, 8, 1 );
|
|
}
|
|
|
|
void takTalksToInsane()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_toploop_12, 8, 0 );
|
|
aiScriptedFaceWait( $tak, $insane_marine, 0 );
|
|
aiSpeak( $tak, "lipsync_tak_soldsold" );
|
|
aiSpeak( $insane_marine, "lipsync_insane1_mumble" );
|
|
sys.wait( 3 );
|
|
aiSpeak( $tak, "lipsync_tak_outtolunch" );
|
|
aiSpeakComlinkWait( $darnell, "lipsync_darn_foxsquad" );
|
|
sys.wait( 2 );
|
|
radioChatterPlay($prison1_radiochatter, "vo_fox1_roggetout");
|
|
|
|
/*
|
|
aiScriptedMoveWait( $tak, $tak_doorhack_insane_pos, 8, 1 );
|
|
aiScriptedFaceWait( $tak, $insane_exit_console_1, 0 );
|
|
aiSpeak( $tak, "tak_pris_door5" );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
$bridgeFrame_1.setShaderParm( 7, 1 ); //door is unlocked
|
|
$bridgeDoor1R.lock( 0 );
|
|
$bridgeDoor1L.lock( 0 );
|
|
*/
|
|
|
|
thread squadTopLoop13Pos();
|
|
}
|
|
|
|
void squadTopLoop12Pos()
|
|
{
|
|
sys.trigger( $insane_marine );
|
|
sys.trigger( $insane_team_block );
|
|
aiScriptedAnimLoop( $insane_marine, "tortured01", 0 );
|
|
thread takTalksToInsane();
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $darnell, $darnell_toploop_12, 8, 1 );
|
|
|
|
}
|
|
|
|
|
|
|
|
void gladDownLift()
|
|
{
|
|
sys.trigger( $lift_gladiator );
|
|
sys.wait( 0.1 );
|
|
$func_elevator_4.gotoFloor( 1 );
|
|
sys.wait( 4 );
|
|
aiScriptedMove( $lift_gladiator, $gladiator_off_lift_pos, 8, 1 );
|
|
$lift_gladiator.becomeAggressive();
|
|
|
|
$func_mover_11976.remove();
|
|
$func_mover_11975.remove();
|
|
$func_elevator_4.remove();
|
|
$func_mover_4.show();
|
|
$func_mover_5.show();
|
|
$func_elevator_1.show();
|
|
}
|
|
|
|
void darnellOnLift() //move darnell into lift
|
|
{
|
|
aiScriptedMoveWait( $darnell, $darnell_tactpos_lift_1, 16, 0 );
|
|
sys.println( "darnell on lift" );
|
|
sys.trigger( $lift_count );
|
|
}
|
|
|
|
void takOnLift() //move tak into lift
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_tactpos_lift, 16, 0 );
|
|
sys.println( "tak on lift" );
|
|
sys.trigger( $lift_count );
|
|
}
|
|
|
|
void squadOntoLift()
|
|
{
|
|
sys.wait( 5 );
|
|
thread darnellOnLift();
|
|
sys.wait( 1 );
|
|
thread takOnLift();
|
|
}
|
|
|
|
//************************************************************************************************************************************
|
|
|
|
//*******************************************************loop 2*************************************************
|
|
|
|
//************************************************************************************************************************************
|
|
|
|
|
|
|
|
void playerOnLift()
|
|
{
|
|
$func_elevator_1.setGuiParm( "noninteractive", "0" );
|
|
sys.trigger( $lift_1_player_block );
|
|
}
|
|
|
|
|
|
void lostStraussDialog()
|
|
{
|
|
aiSpeakWait( $tak, "lipsync_tak_shit3" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_whatgoon" );
|
|
aiSpeakWait( $tak, "lipsync_tak_strssmedchip" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_wednttime" );
|
|
aiSpeakWait( $tak, "lipsync_tak_wehavefindcent" );
|
|
aiSpeakWait( $tak, "lipsync_tak_icanfindstrss" );
|
|
}
|
|
|
|
void squadMoveUpB1()
|
|
{
|
|
aiScriptedMove( $darnell, $darnell_tactpos_B_1, 8, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $tak, $tak_tactpos_B_1, 8, 1 );
|
|
}
|
|
|
|
void squadOffLift()
|
|
{
|
|
//$darnell.setOrigin( '1476 -1320 262' );
|
|
//$tak.setOrigin( '1716 -1248 262' );
|
|
$func_elevator_1.setGuiParm( "noninteractive", "1" );
|
|
aiScriptedMove( $darnell, $darnell_tactpos_offLift, 8, 1 );
|
|
sys.wait( .5 );
|
|
sys.trigger( $lift_1_player_block );
|
|
aiScriptedMoveWait( $tak, $tak_tactpos_offLift, 8, 1 );
|
|
|
|
/*
|
|
aiScriptedFaceWait( $tak, $bridge_door_console_2, 0 );
|
|
aiSpeak( $tak, "tak_pris_door6" );
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_loop", 4, 0 );
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
$off_lift_frame.setShaderParm( 7, 1 ); //door is unlocked
|
|
$off_lift_door1.lock( 0 );
|
|
$off_lift_door2.lock( 0 );
|
|
*/
|
|
|
|
thread squadMoveUpB1();
|
|
}
|
|
|
|
void darnellMoveUpB2()
|
|
{
|
|
aiScriptedMove( $darnell, $darnell_tactpos_B_2, 8, 1 );
|
|
}
|
|
|
|
void takMoveUpB2()
|
|
{
|
|
aiScriptedMove( $tak, $tak_tactpos_B_2, 8, 1 );
|
|
}
|
|
|
|
void breakGunnerGlass()
|
|
{
|
|
sys.trigger( $gunner_glass_break_fx );
|
|
sys.trigger( $gunner_glass_throwbreak );
|
|
$gunner_glass_unbroken.hide();
|
|
$gunner_glass_broken.show();
|
|
$gunner_glass_floor.show();
|
|
sys.wait( 1 );
|
|
$monster_q4x_retch_2.becomeAggressive();
|
|
}
|
|
|
|
void summonGunner02() //pull gunner_02 into combat area
|
|
{
|
|
aiScriptedMoveWait( $monster_gunner_2, $gunner_2_pos, 8, 1 );
|
|
aiSpeak( $darnell, "lipsync_darn_lookslikeweatt" );
|
|
sys.waitFrame();
|
|
$marine_dragged_2.applyImpulse( $marine_dragged_2, $marine_dragged_2.getWorldOrigin(), '0 75000 10000' );
|
|
thread breakGunnerGlass();
|
|
}
|
|
|
|
|
|
void squadMoveUpB3()
|
|
{
|
|
aiScriptedMove( $darnell, $darnell_tactpos_B_3, 8, 1 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $tak, $tak_tactpos_B_3, 8, 1 );
|
|
}
|
|
|
|
void teleDropJumpUp()
|
|
{
|
|
$env_airdefense_pipes_1.playAnim(ANIMCHANNEL_ALL, "bustin_open");
|
|
sys.trigger( $bustpipes );
|
|
sys.trigger( $monster_teleport_dropper_1 );
|
|
sys.waitFrame();
|
|
$teleDropper_grate.becomeNonSolid();
|
|
aiScriptedAnim( $monster_teleport_dropper_1, "medlabs_intro", 4, 1 );
|
|
sys.wait( 1.1 );
|
|
sys.waitFrame();
|
|
$teleDropper_grate.applyImpulse( $teleDropper_grate, $teleDropper_grate.getWorldOrigin(), '-40000 70000 60000' );
|
|
aiScriptedWait( $monster_teleport_dropper_1 );
|
|
sys.trigger( $pit_obstacle );
|
|
|
|
}
|
|
|
|
void takMoveUpB4()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_tactpos_B_4, 16, 1 );
|
|
|
|
}
|
|
|
|
void openTrapDoor()
|
|
{
|
|
$teledropper_vent_exit.time( 1 );
|
|
$teledropper_vent_exit.accelTime( .2 );
|
|
$teledropper_vent_exit.rotateOnce( '0 0 170' );
|
|
}
|
|
|
|
void darnellMoveUpB5()
|
|
{
|
|
aiScriptedMoveWait( $darnell, $darnell_tactpos_B_5, 16, 1 );
|
|
}
|
|
|
|
void takMoveUpB5()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_tactpos_B_5, 16, 1 );
|
|
thread darnellMoveUpB5();
|
|
}
|
|
|
|
void darnellMoveUpB4()
|
|
{
|
|
aiScriptedMoveWait( $darnell, $darnell_tactpos_B_4, 16, 1 );
|
|
thread takMoveUpB5();
|
|
}
|
|
|
|
void takMoveUpB4_2()
|
|
{
|
|
aiScriptedMoveWait( $tak, $tak_tactpos_B_4_2, 16, 1 );
|
|
thread darnellMoveUpB4();
|
|
}
|
|
|
|
void closerToControlRoom2()
|
|
{
|
|
aiSpeak( $tak, "lipsync_tak_centrctrl" );
|
|
}
|
|
|
|
|
|
|
|
void squadMoveUp_12() //move team mates forward
|
|
{
|
|
//sys.trigger( $squad_block_pos_12 );
|
|
sys.wait( 0.1 );
|
|
aiScriptedMove( $darnell, $darnell_tactpos_12, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $tak, $tak_tactpos_12, 8, 1 );
|
|
}
|
|
|
|
void summonltTank2() //pull lt tank into combat area
|
|
{
|
|
sys.trigger( $monster_lt_tank_2 );
|
|
aiScriptedMove( $monster_lt_tank_2, $gladiator_1_pos, 32, 1 );
|
|
}
|
|
|
|
|
|
void squadMoveUp_13() //move team mates forward
|
|
{
|
|
|
|
aiScriptedMove( $darnell, $darnell_tactpos_13, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $tak, $tak_tactpos_13, 8, 1 );
|
|
}
|
|
|
|
|
|
void squadMoveUp_14() //move team mates forward
|
|
{
|
|
aiScriptedMove( $darnell, $darnell_tactpos_14, 8, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $tak, $tak_tactpos_14, 8, 1 );
|
|
}
|
|
|
|
|
|
void bridgeGunnerGo() //pull gunner3 into combat area
|
|
{
|
|
sys.wait( 6 );
|
|
sys.trigger( $monster_gunner_3 );
|
|
aiScriptedMove( $monster_gunner_3, $gunner_3_toBridge, 8, 1 );
|
|
}
|
|
|
|
|
|
void navajasMovesIn() //move navajas into control room
|
|
{
|
|
aiScriptedMoveWait( $navajas, $navajas_moveTo_1, 16, 1 );
|
|
$navajas.becomeAggressive();
|
|
}
|
|
|
|
|
|
void mitchellMovesIn() //move mitchell into control room
|
|
{
|
|
aiScriptedMoveWait( $mitchell, $mitchell_moveTo_1, 16, 1 );
|
|
$mitchell.becomeAggressive();
|
|
}
|
|
|
|
void navajasSecureDoor()
|
|
{
|
|
aiScriptedMoveWait( $navajas, $navajas_moveTo_2, 16, 0 );
|
|
sys.wait( 7 );
|
|
$ctrlRoomLockdownFrame1.setShaderParm( 7, 0 ); // door is locked
|
|
$ctrlRoomLockdowndoor1.lock( 2 );
|
|
$ctrlRoomLockdowndoor2.lock( 2 );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_nava_doorsec");
|
|
aiScriptedMoveWait( $navajas, $navajas_moveTo_1, 16, 1 );
|
|
}
|
|
|
|
void mitchellComesDown()
|
|
{
|
|
aiScriptedMoveWait( $mitchell, $mitchell_moveTo_3, 16, 1 );
|
|
//$mitchell.setOrigin( '986 718 128' );
|
|
//sys.waitFrame();
|
|
aiScriptedMoveWait( $mitchell, $mitchell_moveTo_5, 16, 1 );
|
|
}
|
|
|
|
void mitchellSecureDoor()
|
|
{
|
|
aiScriptedMoveWait( $mitchell, $mitchell_moveTo_2, 16, 0 );
|
|
sys.wait( 5 );
|
|
$ctrlRoomLockdownFrame2.setShaderParm( 7, 0 ); // door is locked
|
|
$ctrlRoomLockdowndoor3.lock( 2 );
|
|
$ctrlRoomLockdowndoor4.lock( 2 );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_mitch_doorsec");
|
|
sys.wait( 5 );
|
|
thread mitchellComesDown();
|
|
|
|
}
|
|
|
|
void markswellMovesIn() //move markswell into control room
|
|
{
|
|
aiScriptedMoveWait( $markswell, $markswell_moveTo_1, 16, 0 );
|
|
$markswell.becomeAggressive();
|
|
sys.wait( 0.1 );
|
|
aiScriptedMove( $markswell, $markswell_moveTo_2, 16, 1 );
|
|
aiSpeakWait( $markswell, "lipsync_marks_mitchwipe" );
|
|
aiSpeak( $mitchell, "lipsync_mitch_onit" );
|
|
sys.wait( .2 );
|
|
sys.trigger( $ctrlroomspawner1 );
|
|
sys.trigger( $ctrlroomspawner2 );
|
|
aiSpeak( $navajas, "lipsync_nava_yessir2" );
|
|
thread navajasSecureDoor();
|
|
thread mitchellSecureDoor();
|
|
aiScriptedMoveWait( $markswell, $markswell_moveTo_3, 16, 1 );
|
|
sys.wait( 3 );
|
|
aiScriptedMoveWait( $markswell, $markswell_moveTo_4, 16, 1 );
|
|
sys.wait( 1 );
|
|
aiScriptedMoveWait( $markswell, $markswell_moveTo_4, 16, 1 );
|
|
aiSpeakWait( $markswell, "lipsync_marks_takgetcompu" );
|
|
aiSpeakWait( $tak, "lipsync_tak_onit" );
|
|
aiScriptedMoveWait( $darnell, $darnell_console_pos3, 16, 0 );
|
|
aiScriptedFaceWait( $markswell, $player1, 0 );
|
|
aiSpeakWait( $markswell, "lipsync_marks_pris_lgun" );
|
|
aiScriptedAnimWait( $markswell, "player_gift_start", 4, 0 );
|
|
aiScriptedAnimWait( $markswell, "player_gift_end", 4, 0 );
|
|
sys.trigger( $lightning_gun_give );
|
|
aiScriptedMoveWait( $markswell, $markswell_moveTo_4, 16, 1 );
|
|
thread controlRoomSeq2();
|
|
|
|
}
|
|
|
|
|
|
|
|
void chaingunDriverFire( entity gunner )
|
|
{
|
|
float a;
|
|
float b;
|
|
float c;
|
|
|
|
if( DRIVER_FIRING ) {
|
|
return;
|
|
}
|
|
|
|
DRIVER_FIRING = true;
|
|
|
|
a = starget.getHealth();
|
|
|
|
while( a > 0 ) {
|
|
sys.wait( 2 );
|
|
gunner.lookAt( starget );
|
|
sys.wait( 0.5 );
|
|
gunner.fireWeapon( 0, 1.5 );
|
|
|
|
sys.wait( .6 );
|
|
a = starget.getHealth();
|
|
if( DRIVER_STOP_FIRING ) {
|
|
break;
|
|
}
|
|
}
|
|
|
|
DRIVER_FIRING = false;
|
|
}
|
|
|
|
|
|
|
|
void mitchellOnTurret()
|
|
{
|
|
aiScriptedMoveWait( $mitchell, $mitchell_turret_pos, 8, 0 );
|
|
aiScriptedFaceWait( $mitchell, $vehicle_q4x_turret_chaingun_3, 0);
|
|
sys.waitFrame();
|
|
$mitchell.bind( $vehicle_q4x_turret_chaingun_3 );
|
|
aiScriptedAnimLoop( $mitchell, "cine_weld_loop_short", 16 );
|
|
sys.waitFrame();
|
|
$chaingun_driver.enterVehicle( $vehicle_q4x_turret_chaingun_3 );
|
|
sys.waitFrame();
|
|
|
|
sys.println( "mitchell on turret" );
|
|
}
|
|
|
|
void controlRoomSeq2()
|
|
{
|
|
sys.trigger( $tether_remove_tak1 );
|
|
aiScriptedMoveWait( $tak, $tak_consolehackpos_1, 4, 0);
|
|
aiScriptedFaceWait( $tak, $control_column, 0);
|
|
|
|
/*
|
|
aiScriptedAnimWait( $tak, "point_up", 16, 0 );
|
|
sys.trigger( $light_5233 );
|
|
sys.trigger( $light_5234 );
|
|
sys.trigger( $light_5897 );
|
|
sys.trigger( $light_5896 );
|
|
sys.trigger( $light_5895 );
|
|
sys.trigger( $light_5232 );
|
|
sys.trigger( $light_5231 );
|
|
sys.trigger( $light_5255 );
|
|
sys.trigger( $light_5169 );
|
|
sys.trigger( $light_5235 );
|
|
sys.trigger( $light_5270 );
|
|
sys.trigger( $light_5269 );
|
|
$func_static_53472.setColor( .9333, .9333, 1 );
|
|
$func_static_1649.setColor( .9333, .9333, 1 );
|
|
$func_static_53674.setColor( .9333, .9333, 1 );
|
|
$func_static_53673.setColor( .9333, .9333, 1 );
|
|
$func_static_54471.setColor( .7922, .949, 1 );
|
|
$func_static_54470.setColor( .7922, .949, 1 );
|
|
$func_static_54453.setColor( 1, .815686, .560784 );
|
|
$func_static_54474.setColor( 1, .815686, .560784 );
|
|
$func_static_54473.setColor( 1, .815686, .560784 );
|
|
$func_static_54472.setColor( 1, .815686, .560784 );
|
|
$func_static_54451.setColor( 1, .7882, .451 );
|
|
$func_static_54449.setColor( 1, .7882, .451 );
|
|
$func_static_54450.setColor( 1, .7882, .451 );
|
|
$func_static_54452.setColor( 1, .7882, .451 );
|
|
|
|
$control_column.time( 3 );
|
|
$control_column.accelTime( 1 );
|
|
$control_column.decelTime( 1 );
|
|
$control_column.move( DOWN,72 );
|
|
$tak.flashlight(0);
|
|
$darnell.flashlight(0);
|
|
sys.waitFor( $control_column );
|
|
*/
|
|
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimLoop( $tak, "console_stand_loop", 4 );
|
|
sys.wait( 1 );
|
|
aiSpeakWait( $tak, "lipsync_tak_gotmove" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_howlongwe" );
|
|
aiSpeakWait( $tak, "lipsync_tak_notlong" );
|
|
$ctrlRoomLockdownFrame1.setShaderParm( 7, 1 ); // door is unlocked
|
|
$ctrlRoomLockdowndoor1.lock( 0 );
|
|
$ctrlRoomLockdowndoor2.lock( 0 );
|
|
aiSpeakWait( $darnell, "lipsync_darn_wegotincom" );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_mitch_letshell");
|
|
aiSpeakWait( $tak, "lipsync_tak_thistrack" );
|
|
$ctrlRoomLockdownFrame2.setShaderParm( 7, 1 ); // door is unlocked
|
|
$ctrlRoomLockdowndoor3.lock( 0 );
|
|
$ctrlRoomLockdowndoor4.lock( 0 );
|
|
aiSpeakWait( $markswell, "lipsync_marks_dekholdpos" );
|
|
aiSpeakWait( $markswell, "lipsync_marks_takeupdef" );
|
|
aiSpeakWait( $markswell, "lipsync_marks_mitchturr" );
|
|
thread mitchellOnTurret();
|
|
$ctrlRmExit_frame.setShaderParm( 7, 1 ); // exit door is unlocked
|
|
$ctrlRmExit_door1.lock( 0 );
|
|
$ctrlRmExit_door2.lock( 0 );
|
|
aiSpeakWait( $tak, "lipsync_tak_guidede" );
|
|
aiScriptedMoveWait( $darnell, $darnell_tactpos_14, 16, 1 );
|
|
sys.trigger( $ctrlroomspawner1_1 );
|
|
sys.trigger( $ctrlroomspawner2_1 );
|
|
sys.wait( 2 );
|
|
aiSpeakWait( $markswell, "lipsync_marks_getnow" );
|
|
|
|
}
|
|
|
|
void lockEmIn()
|
|
{
|
|
$ctrlRmEntryFrame.setShaderParm( 7, 0 ); // exit door is locked
|
|
$ctrlRmEntryDoor1.lock( 2 );
|
|
$ctrlRmEntryDoor2.lock( 2 );
|
|
}
|
|
|
|
void controlRoomHackSeq1()
|
|
{
|
|
sys.wait( 4 );
|
|
aiSpeak( $tak, "lipsync_tak_thatmain" );
|
|
aiScriptedMoveWait( $tak, $tak_consolehackpos_1, 4, 1);
|
|
aiScriptedFaceWait( $tak, $control_column, 1);
|
|
aiScriptedAnimWait( $tak, "console_stand_start", 4, 0 );
|
|
aiScriptedAnimLoop( $tak, "console_stand_loop", 4 );
|
|
sys.wait( 2 );
|
|
aiSpeakWait( $darnell, "lipsync_darn_wherestrss" );
|
|
aiSpeakWait( $tak, "lipsync_tak_hangonlord" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_whattalk" );
|
|
aiSpeakWait( $tak, "lipsync_tak_adpsero" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_takfndstrs" );
|
|
sys.wait( 2 );
|
|
aiSpeakWait( $tak, "lipsync_tak_okgetcls" );
|
|
sys.wait( 2 );
|
|
aiSpeakWait( $tak, "lipsync_tak_ithinkthis" );
|
|
aiSpeakWait( $tak, "lipsync_tak_ohshit" );
|
|
|
|
/*
|
|
sys.trigger( $light_5233 );
|
|
sys.trigger( $light_5234 );
|
|
sys.trigger( $light_5897 );
|
|
sys.trigger( $light_5896 );
|
|
sys.trigger( $light_5895 );
|
|
sys.trigger( $light_5232 );
|
|
sys.trigger( $light_5231 );
|
|
sys.trigger( $light_5255 );
|
|
sys.trigger( $light_5169 );
|
|
sys.trigger( $light_5235 );
|
|
sys.trigger( $light_5270 );
|
|
sys.trigger( $light_5269 );
|
|
$func_static_53472.setColor( 0, 0, 0 );
|
|
$func_static_1649.setColor( 0, 0, 0 );
|
|
$func_static_53674.setColor( 0, 0, 0 );
|
|
$func_static_53673.setColor( 0, 0, 0 );
|
|
$func_static_54471.setColor( 0, 0, 0 );
|
|
$func_static_54470.setColor( 0, 0, 0 );
|
|
$func_static_54453.setColor( 0, 0, 0 );
|
|
$func_static_54474.setColor( 0, 0, 0 );
|
|
$func_static_54473.setColor( 0, 0, 0 );
|
|
$func_static_54472.setColor( 0, 0, 0 );
|
|
$func_static_54451.setColor( 0, 0, 0 );
|
|
$func_static_54449.setColor( 0, 0, 0 );
|
|
$func_static_54450.setColor( 0, 0, 0 );
|
|
$func_static_54452.setColor( 0, 0, 0 );
|
|
|
|
$control_column.time( 3 );
|
|
$control_column.accelTime( 1 );
|
|
$control_column.decelTime( 1 );
|
|
$control_column.move( UP,72 );
|
|
$tak.flashlight(1);
|
|
$darnell.flashlight(1);
|
|
*/
|
|
|
|
|
|
aiScriptedAnimWait( $tak, "console_stand_end", 4, 0 );
|
|
|
|
|
|
sys.trigger( $makron_prison_monitor );
|
|
sys.wait( 1 );
|
|
|
|
|
|
$controlRmMakronScreenOn.show();
|
|
sys.waitFrame();
|
|
aiScriptedAnimLoop( $makron_prison_monitor, "verification_monitor", 0 );
|
|
|
|
aiScriptedMoveWait( $darnell, $darnell_console_pos1, 8, 0 );
|
|
aiSpeakWait( $darnell, "lipsync_darn_whathapp" );
|
|
aiSpeakWait( $tak, "lipsync_tak_itrigalarm" );
|
|
aiSpeakWait( $darnell, "lipsync_darn_secdoors" );
|
|
aiSpeakWait( $tak, "lipsync_tak_onit" );
|
|
aiScriptedMoveWait( $tak, $tak_tactpos_14, 8, 1 );
|
|
sys.trigger( $tether_tak_ctrlRoom );
|
|
sys.trigger( $lockEmIn_trig );
|
|
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_marks_dekstatus");
|
|
aiSpeakComlinkWait( $darnell, "lipsync_darn_weholed" );
|
|
aiScriptedMoveWait( $darnell, $darnell_tactpos_14, 8, 1 );
|
|
sys.trigger( $tether_darnell_ctrlRoom );
|
|
|
|
sys.wait( 1 );
|
|
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_marks_wealmost");
|
|
sys.trigger( $ctrlroomspawner1 );
|
|
sys.wait( 4 );
|
|
sys.music( "m4_prison_breach" );
|
|
aiSpeak( $tak, "lipsync_tak_theyrehere" );
|
|
sys.trigger( $ctrlroomspawner2 );
|
|
sys.wait( 3 );
|
|
aiSpeakWait( $darnell, "lipsync_darn_openfire" );
|
|
sys.wait( 12 );
|
|
aiSpeakWait( $tak, "lipsync_tak_theretoomany" );
|
|
sys.wait( 8 );
|
|
aiSpeakWait( $darnell, "lipsync_darn_navamarkwhr" );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_nava_wearecls");
|
|
sys.wait( 8 );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_nava_planting");
|
|
sys.wait( 8 );
|
|
sys.trigger( $navajas );
|
|
sys.trigger( $mitchell );
|
|
sys.trigger( $markswell );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_nava_detonating");
|
|
sys.wait( 0.5 );
|
|
sys.trigger( $breachDoorExp_fx1 );
|
|
sys.trigger( $breach_quake_2 );
|
|
$breachDoor_1.remove();
|
|
$breachDoor_2.remove();
|
|
$breachDoor_1_burst.show();
|
|
$breachDoor_2_burst.show();
|
|
sys.wait( 1 );
|
|
thread navajasMovesIn();
|
|
sys.wait( 1 );
|
|
thread mitchellMovesIn();
|
|
sys.wait( 1 );
|
|
thread markswellMovesIn();
|
|
}
|
|
|
|
void setHeavyTarget(entity heavyStroggTarget)
|
|
{
|
|
starget = heavyStroggTarget;
|
|
sys.wait( 1 );
|
|
thread chaingunDriverFire( $chaingun_driver );
|
|
}
|
|
|
|
void prisonWaveJumper(entity jumperName)
|
|
{
|
|
sys.println("jumperName =" + jumperName.getName());
|
|
float x;
|
|
|
|
x = randomRoundFloat( 1, 10 );
|
|
|
|
if( x <= 5 )
|
|
{
|
|
//sys.println( "jumping" );
|
|
aiScriptedMoveWait(jumperName, $strogg_ctrlRm_jumper_1_pos_1, 8, 1);
|
|
jumperName.scriptedJumpDown( 270 ); // this is the jump angle
|
|
aiScriptedWait( jumperName );
|
|
}
|
|
}
|
|
|
|
void startBatteries2()
|
|
{
|
|
$env_battery_1.playCycle(ANIMCHANNEL_ALL, "storage");
|
|
$env_battery_2.playCycle(ANIMCHANNEL_ALL, "shockloop");
|
|
sys.wait( .5 );
|
|
$env_battery_3.playCycle(ANIMCHANNEL_ALL, "storage");
|
|
$env_battery_4.playCycle(ANIMCHANNEL_ALL, "idle");
|
|
}
|
|
|
|
void hideMonitorMakron()
|
|
{
|
|
$makron_prison_monitor.hide();
|
|
$controlRmMakronScreenOff.show();
|
|
$controlRmMakronScreenOn.hide();
|
|
}
|
|
|
|
|
|
void lockSecDoor01() //locks exit door from control room
|
|
{
|
|
|
|
$ctrlRmExit_frame.setShaderParm( 7, 0 );
|
|
$ctrlRmExit_door1.lock( 2 );
|
|
$ctrlRmExit_door2.lock( 2 );
|
|
$navajas.remove();
|
|
$tak.remove();
|
|
$darnell.remove();
|
|
$mitchell.remove();
|
|
$markswell.remove();
|
|
}
|
|
|
|
void stroggJumper2()
|
|
{
|
|
sys.trigger( $monster_strogg_marine_mgun_18 );
|
|
sys.wait( .1 );
|
|
thread lockSecDoor01();
|
|
aiScriptedMoveWait($monster_strogg_marine_mgun_18, $strogg_jumper_2_pos_1, 8, 1);
|
|
$monster_strogg_marine_mgun_18.scriptedJumpDown( 70 ); // this is the jump angle
|
|
aiScriptedWait( $monster_strogg_marine_mgun_18 );
|
|
}
|
|
|
|
void stroggJumper4()
|
|
{
|
|
sys.trigger( $strogg_jumper_4 );
|
|
sys.wait( .1 );
|
|
aiScriptedMoveWait($strogg_jumper_4, $strogg_jumper_4_pos_1, 8, 1);
|
|
$strogg_jumper_4.scriptedJumpDown( 90 ); // this is the jump angle
|
|
aiScriptedWait( $strogg_jumper_4 );
|
|
}
|
|
|
|
void gunnerOnElevator()
|
|
{
|
|
sys.trigger( $monster_gunner_5 );
|
|
sys.wait( 0.1 );
|
|
$basementElev.gotoFloor( 2 );
|
|
sys.wait( 2 );
|
|
$monster_gunner_5.becomeAggressive();
|
|
sys.wait( 3 );
|
|
sys.trigger( $monster_q4x_retch_3 );
|
|
sys.wait( .1 );
|
|
$func_static_1929.setShaderParm( 7, 1 );
|
|
$almost_done1.lock( 0 );
|
|
$almost_done2.lock( 0 );
|
|
sys.wait( .5 );
|
|
aiScriptedMove($monster_q4x_retch_3, $retch_3_pos_1, 8, 1);
|
|
}
|
|
|
|
|
|
void stroggJumper3()
|
|
{
|
|
sys.trigger( $monster_strogg_marine_mgun_41 );
|
|
sys.wait( .1 );
|
|
aiScriptedMoveWait($monster_strogg_marine_mgun_41, $strogg_jumper_3_pos_1, 8, 1);
|
|
$monster_strogg_marine_mgun_41.scriptedJumpDown( 45 ); // this is the jump angle
|
|
aiScriptedWait( $monster_strogg_marine_mgun_41 );
|
|
}
|
|
|
|
void tactical_spawned1( entity tacticalSolo1 )
|
|
{
|
|
aiScriptedMove( tacticalSolo1, $tactical_spawn1_pos, 16, 1 );
|
|
}
|
|
|
|
void tactical_spawned2( entity tacticalSolo2 )
|
|
{
|
|
aiScriptedMove( tacticalSolo2, $tactical_spawn2_pos, 16, 1 );
|
|
}
|
|
|
|
void tankPopsOut()
|
|
{
|
|
sys.trigger( $monster_q4x_lt_tank_1 );
|
|
sys.waitFrame();
|
|
$tank_plate.applyImpulse( $tank_plate, $tank_plate.getWorldOrigin(), '300000 -30000 65000' );
|
|
|
|
}
|
|
|
|
void gettingCloseNow()
|
|
{
|
|
sys.trigger( $retch_wall_1 );
|
|
aiScriptedAnimWait( $retch_wall_1, "pr_wall_climb", 8, 0 );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_tak_keepmovdek");
|
|
}
|
|
|
|
void tact_strauss_1_out()
|
|
{
|
|
sys.trigger( $monster_q4x_tactical_railgun_1 );
|
|
sys.waitFrame();
|
|
aiScriptedMove($monster_q4x_tactical_railgun_1, $tact_strauss_1_pos, 16, 1);
|
|
}
|
|
|
|
void hold2BerserkerMoveIn()
|
|
{
|
|
sys.wait( 1 );
|
|
aiScriptedMove($hold2_berserker, $hold2_berserker_pos_1, 8, 1);
|
|
}
|
|
|
|
void straussTacticalEngage( entity tacticalEngage )
|
|
{
|
|
aiScriptedMove( tacticalEngage, $tactical_engage_pos, 16, 1 );
|
|
}
|
|
|
|
void straightAhead()
|
|
{
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_tak_directhead");
|
|
}
|
|
|
|
void straussCinematicOver()
|
|
{
|
|
thread transferRoomTransport();
|
|
$strauss_transfer_frame.setShaderParm( 7, 1 );
|
|
$strauss_transfer_door1.lock( 0 );
|
|
$strauss_transfer_door2.lock( 0 );
|
|
sys.trigger( $item_objectivecomplete_2 );
|
|
sys.trigger( $trigger_once_56 );
|
|
sys.trigger( $trigger_once_61 );
|
|
sys.trigger( $trigger_once_91 );
|
|
sys.trigger( $trigger_once_146 );
|
|
sys.trigger( $trigger_once_151 );
|
|
sys.wait( 5.0 );
|
|
sys.trigger( $item_objective_4 );
|
|
sys.wait( 3.0 );
|
|
sys.trigger( $func_savegame_1 );
|
|
}
|
|
|
|
//************************************************************************
|
|
// strauss pod mover start
|
|
//************************************************************************
|
|
|
|
void transferRoomTransport()
|
|
{
|
|
while( !STRAUSSCINEMATIC )
|
|
{
|
|
$transfer_transport_pod1.show();
|
|
$transfer_transport_1.show();
|
|
|
|
$transfer_transport_1.time( 5 );
|
|
$transfer_transport_1.decelTime( 1 );
|
|
$transfer_transport_1.moveTo( $transfer_transport_target_2 );
|
|
|
|
sys.waitFor( $transfer_transport_1 );
|
|
|
|
$scan_arm_lower_1.time( 1 );
|
|
$scan_arm_1.time( 1 );
|
|
$scan_arm_lower_2.time( 1 );
|
|
$scan_arm_2.time( 1 );
|
|
$scan_arm_lower_1.rotateOnce( '0 0 40' );
|
|
$scan_arm_1.moveTo( $scan_arm_1_up );
|
|
$scan_arm_lower_2.rotateOnce( '0 0 -40' );
|
|
$scan_arm_2.moveTo( $scan_arm_2_up );
|
|
|
|
sys.waitFor( $scan_arm_1 );
|
|
|
|
$scan_arm_1.bind( $scan_arm_lower_1 );
|
|
$scan_arm_2.bind( $scan_arm_lower_2 );
|
|
|
|
sys.wait( 0.1 );
|
|
|
|
$scan_arm_lower_1.bind( $scan_arm_base_1 );
|
|
$scan_arm_lower_2.bind( $scan_arm_base_2 );
|
|
$func_mover_20.show();
|
|
$func_mover_20.bind( $scan_arm_base_1 );
|
|
|
|
sys.wait( 0.1 );
|
|
|
|
$scan_arm_base_1.accelTime( 1.0 );
|
|
$scan_arm_base_2.accelTime( 1.0 );
|
|
$scan_arm_base_1.decelTime( 1.0 );
|
|
$scan_arm_base_2.decelTime( 1.0 );
|
|
$scan_arm_base_1.time( 5.0 );
|
|
$scan_arm_base_2.time( 5.0 );
|
|
$scan_arm_base_1.rotateOnce( '0 360 0' );
|
|
$scan_arm_base_2.rotateOnce( '0 360 0' );
|
|
|
|
sys.waitFor( $scan_arm_base_2 );
|
|
|
|
$func_mover_20.hide();
|
|
$scan_arm_lower_1.unbind();
|
|
$scan_arm_lower_2.unbind();
|
|
$scan_arm_1.unbind();
|
|
$scan_arm_2.unbind();
|
|
$func_mover_20.unbind();
|
|
$scan_arm_lower_1.time( 1 );
|
|
$scan_arm_1.time( 1 );
|
|
$scan_arm_lower_2.time( 1 );
|
|
$scan_arm_2.time( 1 );
|
|
$scan_arm_lower_1.rotateOnce( '0 0 -40' );
|
|
$scan_arm_1.moveTo( $scan_arm_1_down );
|
|
$scan_arm_lower_2.rotateOnce( '0 0 40' );
|
|
$scan_arm_2.moveTo( $scan_arm_2_down );
|
|
|
|
sys.waitFor( $scan_arm_2 );
|
|
|
|
$transfer_transport_1.time( 5 );
|
|
$transfer_transport_1.accelTime( 1 );
|
|
$transfer_transport_1.moveTo( $transfer_transport_target_3 );
|
|
|
|
sys.waitFor( $transfer_transport_1 );
|
|
|
|
$transfer_transport_pod1.hide();
|
|
$transfer_transport_1.hide();
|
|
setNewTimes($transfer_transport_1, .1, 0, 0);
|
|
$transfer_transport_1.moveTo( $transfer_transport_target_1 );
|
|
|
|
sys.waitFor( $transfer_transport_1 );
|
|
|
|
if ( STRAUSSCINEMATIC )
|
|
break;
|
|
}
|
|
|
|
sys.fadeOut( '0 0 0', 1);
|
|
sys.wait( 1.0 );
|
|
//STRAUSSCINEMATIC = true;
|
|
$player1.hide();
|
|
$player1.setOrigin( '2264 -1080 504' );
|
|
sys.trigger( $camera_cine_strauss_2 );
|
|
sys.wait( .1 );
|
|
$cinematic_strauss_dekard.show();
|
|
//aiScriptedAnimLoop( $strauss, "med_tube_float", 0 );
|
|
sys.wait( .1 );
|
|
aiScriptedMove( $cinematic_strauss_dekard, $deckard_cine_strauss_pos_1, 4, 0 );
|
|
sys.fadeIn( '0 0 0', 1);
|
|
sys.music( "m6_strauss_is_taken" );
|
|
aiScriptedWait( $cinematic_strauss_dekard );
|
|
aiScriptedFaceWait( $cinematic_strauss_dekard, $scan_arm_1, 0 );
|
|
sys.wait( 2.0 );
|
|
sys.fadeOut( '0 0 0', 1);
|
|
sys.wait( 1.0 );
|
|
sys.trigger( $camera_cine_strauss_1 );
|
|
sys.wait( .1 );
|
|
sys.fadeIn( '0 0 0', 1);
|
|
sys.wait( 1.0 );
|
|
sys.trigger( $strauss );
|
|
$strauss_pod.bind( $transport_topclamp_2 );
|
|
//$transport_topclamp_2.accelTime( 1 );
|
|
$transport_topclamp_2.time( 5 );
|
|
$transport_topclamp_2.decelTime( 1 );
|
|
$transport_topclamp_2.move( EAST, 432 );
|
|
sys.wait( 2.5 );
|
|
$strauss.lookAt( $cinematic_strauss_dekard );
|
|
aiScriptedAnimLoop( $cinematic_strauss_dekard, "pr_dekard_glass", 8 );
|
|
sys.waitFor( $transport_topclamp_2 );
|
|
$scan_arm_lower_1.time( 1 );
|
|
$scan_arm_1.time( 1 );
|
|
$scan_arm_lower_2.time( 1 );
|
|
$scan_arm_2.time( 1 );
|
|
$scan_arm_lower_1.rotateOnce( '0 0 40' );
|
|
$scan_arm_1.moveTo( $scan_arm_1_up );
|
|
$scan_arm_lower_2.rotateOnce( '0 0 -40' );
|
|
$scan_arm_2.moveTo( $scan_arm_2_up );
|
|
sys.waitFor( $scan_arm_1 );
|
|
$scan_arm_1.bind( $scan_arm_lower_1 );
|
|
$scan_arm_2.bind( $scan_arm_lower_2 );
|
|
sys.wait( 0.1 );
|
|
$scan_arm_lower_1.bind( $scan_arm_base_1 );
|
|
$scan_arm_lower_2.bind( $scan_arm_base_2 );
|
|
$func_mover_20.show();
|
|
$func_mover_20.bind( $scan_arm_base_1 );
|
|
sys.wait( 0.1 );
|
|
$scan_arm_base_1.accelTime( 1.0 );
|
|
$scan_arm_base_2.accelTime( 1.0 );
|
|
$scan_arm_base_1.decelTime( 1.0 );
|
|
$scan_arm_base_2.decelTime( 1.0 );
|
|
$scan_arm_base_1.time( 5.0 );
|
|
$scan_arm_base_2.time( 5.0 );
|
|
$scan_arm_base_1.rotateOnce( '0 360 0' );
|
|
$scan_arm_base_2.rotateOnce( '0 360 0' );
|
|
sys.wait( 3.0 );
|
|
$strauss.lookAt( $pod_grasper );
|
|
sys.waitFor( $scan_arm_base_2 );
|
|
aiScriptedAnimLoop( $cinematic_strauss_dekard, "relax_idle", 8 );
|
|
$func_mover_20.hide();
|
|
$scan_arm_lower_1.unbind();
|
|
$scan_arm_lower_2.unbind();
|
|
$scan_arm_1.unbind();
|
|
$scan_arm_2.unbind();
|
|
$func_mover_20.unbind();
|
|
$scan_arm_lower_1.time( 1 );
|
|
$scan_arm_1.time( 1 );
|
|
$scan_arm_lower_2.time( 1 );
|
|
$scan_arm_2.time( 1 );
|
|
$scan_arm_lower_1.rotateOnce( '0 0 -40' );
|
|
$scan_arm_1.moveTo( $scan_arm_1_down );
|
|
$scan_arm_lower_2.rotateOnce( '0 0 40' );
|
|
$scan_arm_2.moveTo( $scan_arm_2_down );
|
|
sys.waitFor( $scan_arm_2 );
|
|
$pod_grasper.time( 2 );
|
|
$pod_grasper.accelTime( .7 );
|
|
$pod_grasper.decelTime( .7 );
|
|
$pod_grasper.moveTo( $pod_grasper_up );
|
|
sys.waitFor( $pod_grasper );
|
|
sys.wait( 0.1 );
|
|
$strauss_pod.unbind();
|
|
$strauss_pod.bind( $pod_grasper );
|
|
sys.wait( 0.1 );
|
|
$pod_grasper.time( 7 );
|
|
$pod_grasper.accelTime( 1 );
|
|
$pod_grasper.decelTime( 1 );
|
|
$pod_grasper.moveTo( $pod_grasper_down );
|
|
sys.wait( 1.0 );
|
|
$strauss.lookAt( $cinematic_strauss_dekard );
|
|
sys.wait( 5.0 );
|
|
aiSpeakComlinkWait( $cinematic_strauss_dekard, "lipsync_dek_taktube" );
|
|
radioChatterPlayWait ($prison1_radiochatter, "vo_tak_hangmom");
|
|
//sys.wait( 1 );
|
|
sys.trigger( $camera_cine_strauss_2 );
|
|
sys.wait( .5 );
|
|
aiSpeakComlinkWait( $cinematic_strauss_dekard, "lipsync_dek_rogthat" );
|
|
sys.fadeOut( '0 0 0', 1);
|
|
sys.wait( 1.0 );
|
|
sys.trigger( $camera_cine_strauss_2 );
|
|
$cinematic_strauss_dekard.hide();
|
|
$player1.setOrigin( '-784 -256 144' );
|
|
$player1.show();
|
|
$makron_prison_monitor.remove();
|
|
$transferRoomMakronMonitorOn.hide();
|
|
STRAUSSCINEMATIC = false;
|
|
thread straussCinematicOver();
|
|
sys.fadeIn( '0 0 0', 1);
|
|
sys.wait( 2.0 );
|
|
|
|
}
|
|
|
|
|
|
|
|
//************************************************************************
|
|
// strauss pod mover start
|
|
//************************************************************************
|
|
|
|
void beginTransferRoomSpawns()
|
|
{
|
|
|
|
$strauss_transfer_frame.setShaderParm( 7, 0 );
|
|
$strauss_transfer_door1.lock( 2 );
|
|
$strauss_transfer_door2.lock( 2 );
|
|
sys.wait( .5 );
|
|
$makron_prison_monitor.show();
|
|
sys.waitFrame();
|
|
aiScriptedAnimLoop( $makron_prison_monitor, "verification_monitor", 0 );
|
|
sys.wait( 4 );
|
|
$transferRoomMakronMonitorOn.show();
|
|
sys.trigger( $transfer_room_spawner );
|
|
}
|
|
|
|
void timeForStraussCinematic()
|
|
{
|
|
STRAUSSCINEMATIC = true;
|
|
}
|
|
|
|
|
|
void unlockExitAccessDoor01() //unlocks exit door
|
|
{
|
|
$doorframe_to_exit_01.setShaderParm( 7, 1 );
|
|
$exit_accessdoor01.lock( 0 );
|
|
$exit_accessdoor02.lock( 0 );
|
|
sys.wait( 1 );
|
|
}
|
|
|
|
void darnellChecksIn()
|
|
{
|
|
radioChatterPlay ($prison1_radiochatter, "vo_darn_foxmeet");
|
|
}
|
|
|
|
void viperSquadIn()
|
|
{
|
|
|
|
sys.trigger( $tolson_RS );
|
|
sys.trigger( $mitchell_RS );
|
|
//$mitchell_RS.enableHeal();
|
|
}
|
|
|
|
void makronAngered()
|
|
{
|
|
$makron_prison.becomeAggressive();
|
|
}
|
|
|
|
void retractLiftBridge()
|
|
{
|
|
|
|
$drawbridge_origin1_1.time(9);
|
|
$drawbridge_origin1_1.accelTime(4);
|
|
$drawbridge_origin1_1.decelTime(4);
|
|
|
|
$drawbridge_origin2_1.time(9);
|
|
$drawbridge_origin2_1.accelTime(3);
|
|
$drawbridge_origin2_1.decelTime(6);
|
|
|
|
$drawbridge_origin1_1.rotateOnce( '0 0 75' );
|
|
$drawbridge_origin2_1.rotateOnce( '0 0 -165' );
|
|
|
|
sys.waitFor($drawbridge_origin2_1);
|
|
}
|
|
|
|
void makronWalkThrough()
|
|
{
|
|
sys.trigger( $makron_prison );
|
|
thread retractLiftBridge();
|
|
}
|
|
|
|
void MakronOutOfRoom()
|
|
{
|
|
$makron_prison.remove();
|
|
}
|
|
|
|
|
|
void finalPositions()
|
|
{
|
|
sys.println( "go to final positions");
|
|
sys.wait( 0.5 );
|
|
aiScriptedMove( $tolson_RS, $tolson_exitPos_1, 16, 0 );
|
|
aiScriptedMove( $mitchell_RS, $mitchell_exitPos_1, 16, 0 );
|
|
}
|
|
|
|
void extendLiftBridge()
|
|
{
|
|
sys.wait( 10 );
|
|
|
|
$drawbridge_origin1_1.time(9);
|
|
$drawbridge_origin1_1.accelTime(4);
|
|
$drawbridge_origin1_1.decelTime(4);
|
|
|
|
$drawbridge_origin2_1.time(9);
|
|
$drawbridge_origin2_1.accelTime(3);
|
|
$drawbridge_origin2_1.decelTime(6);
|
|
|
|
$drawbridge_origin1_1.rotateOnce( '0 0 -75' );
|
|
$drawbridge_origin2_1.rotateOnce( '0 0 165' );
|
|
|
|
sys.waitFor($drawbridge_origin2_1);
|
|
sys.trigger( $liftBridgeBlock );
|
|
sys.trigger( $liftBridgeBlock_2 );
|
|
}
|
|
|
|
|
|
|
|
void liftOperative()
|
|
{
|
|
$func_static_53762.setGuiParm( "noninteractive", "1" );
|
|
$exitLedgeFrame.setShaderParm( 7, 0 );
|
|
$exitLedgeDoor1.lock( 2 );
|
|
$exitLedgeDoor2.lock( 2 );
|
|
sys.trigger( $monster_q4x_tank_1 );
|
|
sys.wait( .5 );
|
|
radioChatterPlay ($prison1_radiochatter, "vo_tak_actlift");
|
|
$exit_lift.gotoFloor( 2 );
|
|
thread extendLiftBridge();
|
|
sys.trigger( $item_objectivecomplete_4 );
|
|
$mitchell_RS.disableHeal();
|
|
sys.wait( 2 );
|
|
aiScriptedMoveWait( $mitchell_RS, $mitchell_exitPos_2, 8, 0 );
|
|
aiSpeak( $mitchell, "lipsync_mitch_theresome" );
|
|
aiScriptedAnimWait( $mitchell_RS, "point_down", 4, 0 );
|
|
sys.wait( 1 );
|
|
aiScriptedMove( $mitchell_RS, $mitchell_exitPos_1, 16, 0 );
|
|
sys.wait( 6 );
|
|
aiSpeak( $tolson_RS, "lipsync_fox5_takecover" );
|
|
aiScriptedMove( $mitchell_RS, $mitchell_exitPos_1, 16, 0 );
|
|
aiScriptedMove( $tolson_RS, $tolson_exitPos_1, 16, 0 );
|
|
sys.wait( 6 );
|
|
aiScriptedMove( $mitchell_RS, $mitchell_exitPos_1, 16, 1 );
|
|
aiScriptedMove( $tolson_RS, $tolson_exitPos_1, 16, 1 );
|
|
|
|
}
|
|
|
|
void enableExitLift()
|
|
{
|
|
sys.wait( 3 );
|
|
aiScriptedMove( $mitchell_RS, $mitchell_exitPos_3, 8, 0 );
|
|
sys.wait( 1.0 );
|
|
aiScriptedMove( $tolson_RS, $tolson_exitPos_3, 8, 0 );
|
|
$exit_lift.setGuiParm( "noninteractive", "0" );
|
|
}
|
|
|
|
void cinematicEndLevel()
|
|
{
|
|
//sys.trigger( $exitAcessBlock_2 );
|
|
sys.fadeOut( '0 0 0', 1);
|
|
sys.wait( 1.0 );
|
|
if( isValidEntity( $monster_q4x_tank_1 ))
|
|
{
|
|
$monster_q4x_tank_1.remove();
|
|
}
|
|
sys.trigger( $camera_cine_levelEnd_1 );
|
|
$mitchell_RS.remove();
|
|
$tolson_RS.remove();
|
|
sys.wait( .1 );
|
|
$cinematic_endLevel_dekard.show();
|
|
sys.trigger( $cinematic_endLevel_mitchell );
|
|
sys.trigger( $cinematic_endLevel_tolson );
|
|
sys.wait( .5 );
|
|
aiScriptedMove( $cinematic_endLevel_dekard, $deckard_cine_endLevel_pos_1, 4, 0 );
|
|
sys.fadeIn( '0 0 0', 1);
|
|
sys.wait( 2.0 );
|
|
aiScriptedMove( $cinematic_endLevel_mitchell, $mitchell_cine_endLevel_pos_1, 8, 0 );
|
|
sys.wait( 1.0 );
|
|
aiScriptedMove( $cinematic_endLevel_tolson, $tolson_cine_endLevel_pos_1, 8, 0 );
|
|
sys.wait( 1.0 );
|
|
aiScriptedWait( $cinematic_endLevel_tolson );
|
|
aiScriptedFaceWait( $cinematic_endLevel_tolson, $tolson_cine_endLevel_face, 0 );
|
|
sys.wait( 1.0 );
|
|
aiScriptedFaceWait( $cinematic_endLevel_dekard, $exit_lift, 0 );
|
|
aiScriptedAnimWait( $cinematic_endLevel_dekard, "point_down", 4, 0);
|
|
sys.wait( .5 );
|
|
thread retractLiftBridge();
|
|
sys.wait( 3 );
|
|
$exit_lift.gotoFloor( 1 );
|
|
sys.wait( 8 );
|
|
sys.trigger( $target_endlevel_1 );
|
|
}
|
|
|
|
void main()
|
|
{
|
|
$func_mover_20.hide();
|
|
|
|
sys.wait( 0.1 );
|
|
thread theLevelBegins();
|
|
|
|
sys.wait( 0.1 );
|
|
thread setSecWindowShields();
|
|
|
|
|
|
sys.wait( 0.1 );
|
|
thread tubeTransportSystem();
|
|
|
|
sys.wait( 0.1 );
|
|
thread tubeTransportSystem2();
|
|
|
|
sys.wait( 0.1 );
|
|
thread startupPump();
|
|
|
|
SECROOMSPECS = false;
|
|
TUBESAREOFF = false;
|
|
STRAUSSCINEMATIC = false;
|
|
DRIVER_STOP_FIRING = false;
|
|
DRIVER_FIRING = false;
|
|
}
|
|
|