IW4-Dump-Files/maps/contingency_anim.gsc

855 lines
33 KiB
Plaintext
Raw Permalink Blame History

#include maps\_anim;
#include maps\_utility;
#include common_scripts\utility;
main_anim()
{
ride_vehicle_anims();
ride_player_anims();
generic_human();
dialog();
vehicles();
}
//notetrack_gun_2_chest( guy )
//{
// level notify( "gun_2_chest" );
//}
//
//notetrack_shotgun_pickup( guy )
//{
// level notify( "shotgun_pickup" );
//}
notetrack_notify_attach_rocket( guy )
{
guy notify( "attach rocket" );
}
notetrack_notify_fire_rocket( guy )
{
guy notify( "fire rocket" );
}
notetrack_notify_drop_rocket( guy )
{
guy notify( "drop rocket" );
}
#using_animtree( "vehicles" );
ride_vehicle_anims()
{
level.scr_anim[ "generic" ][ "boneyard_UAZ_door" ] = %boneyard_UAZ_door;
}
//called by main contingency script
#using_animtree( "vehicles" );
ride_uaz_door()
{
anim_model = self maps\_vehicle_aianim::getanimatemodel();
anim_model setflaggedanimknob( "uaz_door_anim", level.scr_anim[ "generic" ][ "boneyard_UAZ_door" ], 1, .2, 1 );
anim_model waittillmatch( "uaz_door_anim", "end" );
anim_model ClearAnim( level.scr_anim[ "generic" ][ "boneyard_UAZ_door" ], 0 );
/*
flag_wait( "wait_for_player" );
anim_model = self maps\_vehicle_aianim::getanimatemodel();
anim_model maps\_vehicle_aianim::setanimrestart_once( %uaz_passenger_exit_into_stand_door, false );
flag_wait( "uaz_mounted" );
anim_model ClearAnim( %uaz_passenger_exit_into_stand_door, 0 );
anim_model maps\_vehicle_aianim::setanimrestart_once( %uaz_passenger_enter_from_huntedrun_door, true );
*/
}
#using_animtree( "player" );
ride_player_anims()
{
level.scr_animtree[ "player_rig" ] = #animtree;
level.scr_model[ "player_rig" ] = "viewhands_player_arctic_wind";
level.scr_anim[ "player_rig" ][ "boneyard_uaz_mount" ] = %boneyard_player_enter_UAZ;
}
#using_animtree( "generic_human" );
generic_human()
{
level.scr_anim[ "price" ][ "intro" ] = %contengency_price_intro;
level.scr_anim[ "generic" ][ "cqb_stand_idle_scan" ] = %patrol_bored_react_look_v1;
//level.scr_anim[ "generic" ][ "cqb_stand_idle_scan" ] = %cqb_stand_idle_scan;
level.scr_anim[ "price" ][ "slide" ] = %contengency_price_slide;
level.scr_anim[ "price" ][ "caution_stop" ] = %afgan_caves_intro_stop;
level.scr_anim[ "generic" ][ "tear_gas_guy1" ] = %contingency_teargas_1;
level.scr_anim[ "generic" ][ "tear_gas_guy2" ] = %contingency_teargas_2;
level.scr_anim[ "generic" ][ "tear_gas_guy3" ] = %contingency_teargas_3;
//FRAME 29 "attach rocket"
//FRAME 47 "fire rocket"
//FRAME 80 "drop rocket"
addNotetrack_customFunction( "price", "price_land", ::price_land_fx );
addNotetrack_customFunction( "price", "price_land_settle", ::price_land_settle_fx );
addNotetrack_customFunction( "price", "price_slide_start", ::price_slide_fx );
addNotetrack_customFunction( "price", "price_slide_end", ::price_stop_slide_fx );
level.scr_anim[ "bricktop" ][ "at4_fire" ] = %contengency_rocket_moment;
addNotetrack_customFunction( "bricktop", "attach rocket", ::notetrack_notify_attach_rocket, "at4_fire" );
addNotetrack_customFunction( "bricktop", "fire rocket", ::notetrack_notify_fire_rocket, "at4_fire" );
addNotetrack_customFunction( "bricktop", "drop rocket", ::notetrack_notify_drop_rocket, "at4_fire" );
level.scr_anim[ "rasta" ][ "at4_fire" ] = %contengency_rocket_moment;
addNotetrack_customFunction( "rasta", "attach rocket", ::notetrack_notify_attach_rocket, "at4_fire" );
addNotetrack_customFunction( "rasta", "fire rocket", ::notetrack_notify_fire_rocket, "at4_fire" );
addNotetrack_customFunction( "rasta", "drop rocket", ::notetrack_notify_drop_rocket, "at4_fire" );
level.scr_anim[ "price" ][ "at4_fire" ] = %contengency_rocket_moment;
addNotetrack_customFunction( "price", "attach rocket", ::notetrack_notify_attach_rocket, "at4_fire" );
addNotetrack_customFunction( "price", "fire rocket", ::notetrack_notify_fire_rocket, "at4_fire" );
addNotetrack_customFunction( "price", "drop rocket", ::notetrack_notify_drop_rocket, "at4_fire" );
//level.scr_anim[ "price" ][ "at4_fire" ] = %launchfacility_a_at4_fire;
// level.scr_anim[ "generic" ][ "shotgun_stand_pullout" ] = %shotgun_stand_pullout;
//
// //addNotetrack_customFunction( <animname>, <notetrack> , <function> , <anime> );
// addNotetrack_customFunction( "generic", "gun_2_chest", ::notetrack_gun_2_chest, "shotgun_stand_pullout" );
// addNotetrack_customFunction( "generic", "shotgun_pickup", ::notetrack_shotgun_pickup, "shotgun_stand_pullout" );
maps\_hand_signals::initHandSignals();
// cold patrol
level.scr_anim[ "generic" ][ "_stealth_patrol_search_a" ] = %patrolwalk_cold_gunup_idle;
level.scr_anim[ "generic" ][ "_stealth_patrol_search_b" ] = %patrolwalk_cold_gunup_idle;
level.scr_anim[ "generic" ][ "patrol_cold_huddle" ][0] = %patrolwalk_cold_huddle_idle;
level.scr_anim[ "generic" ][ "patrol_cold_huddle" ][1] = %patrolwalk_cold_huddle_twitch;
level.scr_anim[ "generic" ][ "patrol_cold_huddle_pause" ] = %patrolwalk_cold_huddle_stand_idle;
level.scr_anim[ "generic" ][ "patrol_cold_huddle_stop" ] = %patrolwalk_cold_huddle_walk2stand;
level.scr_anim[ "generic" ][ "patrol_cold_huddle_start" ] = %patrolwalk_cold_huddle_stand2walk;
level.scr_anim[ "generic" ][ "patrol_cold_crossed" ][0] = %patrolwalk_cold_crossed_idle;
level.scr_anim[ "generic" ][ "patrol_cold_crossed" ][1] = %patrolwalk_cold_crossed_twitch;
level.scr_anim[ "generic" ][ "patrol_cold_crossed_pause" ] = %patrolwalk_cold_crossed_stand_idle;
level.scr_anim[ "generic" ][ "patrol_cold_crossed_stop" ] = %patrolwalk_cold_crossed_walk2stand;
level.scr_anim[ "generic" ][ "patrol_cold_crossed_start" ] = %patrolwalk_cold_crossed_stand2walk;
level.scr_anim[ "generic" ][ "sprint" ] = %sprint1_loop;
weights = [];
weights[0] = 8;
weights[1] = 2;
level.scr_anim[ "generic" ][ "patrol_twitch_weights" ] = get_cumulative_weights( weights );
level.scr_anim[ "generic" ][ "patrol_cold_gunup_search" ] = %patrolwalk_cold_gunup_idle;
level.scr_anim[ "generic" ][ "patrol_cold_gunup" ][0] = %patrolwalk_cold_gunup_idle;
level.scr_anim[ "generic" ][ "patrol_cold_gunup" ][1] = %patrolwalk_cold_gunup_twitchA;
level.scr_anim[ "generic" ][ "patrol_cold_gunup" ][2] = %patrolwalk_cold_gunup_twitchB;
weights = [];
weights[0] = 4;
weights[1] = 3;
weights[2] = 3;
level.scr_anim[ "generic" ][ "patrol_gunup_twitch_weights" ] = get_cumulative_weights( weights );
//TRUCKRIDE
level.scr_anim[ "generic" ][ "truckride_climbin" ] = %traverse_stepup_52;
//JEEPCRASH
// level.scr_anim[ "generic" ][ "cliff_jeep_crash_price" ] = %cliff_jeep_crash_price;
}
price_caution_stop()
{
//level.price.goalradius = 64;
level endon( "run_to_woods" );
self anim_reach_solo( level.price, "caution_stop" );
self anim_single_solo( level.price, "caution_stop" );
level.price setgoalnode( self );
}
#using_animtree( "vehicles" );
vehicles()
{
level.scr_anim[ "gauntlet" ][ "radar_spinup" ] = %sa15_radar_spinup;
level.scr_anim[ "gauntlet" ][ "radar_spinloop" ] = %sa15_radar_spinloop;
level.scr_anim[ "gauntlet" ][ "radar_spindown" ] = %sa15_radar_spindown;
level.scr_anim[ "gauntlet" ][ "turret_scanloop" ] = %sa15_turret_scanloop;
level.scr_animtree[ "contingency_btr_slide" ] = #animtree;
level.scr_anim[ "contingency_btr_slide" ][ "contingency_btr_slide" ] = %contingency_btr_slide;
level.scr_model[ "contingency_btr_slide" ] = "vehicle_btr80_snow";
addNotetrack_customFunction( "contingency_btr_slide", "btr_fire", ::btr80_notetrack_fire, "contingency_btr_slide" );
//addNotetrack_customFunction( <animname>, <notetrack> , <function> , <anime> );
//addNotetrack_customFunction( "btr80", "BTRfire", ::btr80_notetrack_fire, "invasion_opening_BTR" );
}
btr80_notetrack_fire( guy )
{
guy fireWeapon();
//println( "fire" );
level notify ( "btr_fired" );
}
//animate_gauntlet1()
//{
// self.animname = "gauntlet";
//
// //anim_loop_solo( guy, anime, ender, tag )
// self anim_single_solo( self, "radar_spinloop" );
//}
//
//animate_gauntlet2()
//{
// self.animname = "gauntlet";
//
// //anim_loop_solo( guy, anime, ender, tag )
// self thread anim_single_solo( self, "turret_scanloop" );
// self anim_single_solo( self, "radar_spinloop" );
//}
price_land_fx ( price )
{
//iprintlnbold( "land" );
//playfxontag( getfx( "price_landing" ), price, "J_Ankle_RI");
tagPos = price gettagorigin( "J_Ankle_RI" ); // rough tag to play fx on
tagPos = PhysicsTrace( tagPos + ( 0,0,64), tagPos + ( 0,0,-64) );
playfx( level._effect[ "price_landing" ], tagPos );
}
price_land_settle_fx ( price )
{
//iprintlnbold( "settle " );
tagPos = price gettagorigin( "J_Ankle_LE" ); // rough tag to play fx on
tagPos = PhysicsTrace( tagPos + ( 0,0,64), tagPos + ( 0,0,-64) );
playfx( level._effect[ "price_landing" ], tagPos );
}
price_slide_fx( price )
{
//iprintlnbold( "slide " );
self endon( "stop_slide_fx" );
while ( true )
{
playfxontag( getfx( "price_sliding" ), price, "J_Ankle_LE" );
wait( .1 );
}
}
price_stop_slide_fx( price )
{
//iprintlnbold( "stop sliding " );
self notify( "stop_slide_fx" );
}
dialog()
{
//replacements:
//Take them out or leave them be. Your call. cont_pri_yourcall
//Use a suppressed weapon. We'll have to take them out at the same time. cont_pri_cantslipby
//You take the handler and his dog on the left. cont_pri_twoonleft
//A Predator drone loaded with Hellfires is enroute to your position. cont_cmt_almostinpos
//Roach take control of the Predator drone. cont_pri_controluav
//There's a mobile SAM site in the village. It just shot down our Predator. cont_pri_mobilesaminvillage
//Soap, we need another Predator with Hellfire missiles! cont_pri_uavsharpish
//Roger that. The second Predator is almost in position. Make it count, these things don't grow on trees. cont_cmt_2nduav
//Heads up, two trucks, ten plus guys to our north east! cont_rst_headsup
//Firing an unsuppressed weapon is going to alert a lot of enemies, Roach.
level.scr_radio[ "cont_pri_alertenemies" ] = "cont_pri_alertenemies";
//Looks like they found a body.
level.scr_radio[ "cont_pri_foundabody" ] = "cont_pri_foundabody";
//They found a body.
level.scr_radio[ "cont_pri_foundabody2" ] = "cont_pri_foundabody2";
//Let them pass.
level.scr_radio[ "cont_pri_letpass" ] = "cont_pri_letpass";
//You handle the two on the left.
level.scr_radio[ "cont_pri_twoonleft" ] = "cont_pri_twoonleft";
//Take them out or try to slip past. Your call.
level.scr_radio[ "cont_pri_slippast" ] = "cont_pri_slippast";
//Nicely done.
level.scr_radio[ "cont_pri_nicelydone" ] = "cont_pri_nicelydone";
//Well done.
level.scr_radio[ "cont_pri_welldone" ] = "cont_pri_welldone";
//Good.
level.scr_radio[ "cont_pri_good" ] = "cont_pri_good";
//Not bad, but I've seen better.
level.scr_radio[ "cont_pri_seenbetter" ] = "cont_pri_seenbetter";
//Good work.
level.scr_radio[ "cont_pri_goodwork" ] = "cont_pri_goodwork";
//Impressive.
level.scr_radio[ "cont_pri_impressive" ] = "cont_pri_impressive";
//Two of them have stopped for a smoke. Take one and I'll take out the other.
level.scr_radio[ "cont_pri_forasmoke" ] = "cont_pri_forasmoke";
//Take out the two in the woods on the other side of the bridge.
level.scr_radio[ "cont_pri_twoinwoods" ] = "cont_pri_twoinwoods";
//I'm ready. Lets take them all out at once.
level.scr_radio[ "cont_pri_imready" ] = "cont_pri_imready";
//Sometimes you can't end a war with a bullet, Soap.
level.scr_radio[ "cont_pri_endawar" ] = "cont_pri_endawar";
//level.scr_sound[ "price" ][ "cliff_pri_noidea" ] = "cliff_pri_noidea";
//level.scr_radio[ "outrunthem" ] = "cliff_pri_outrunthem";
//IN ----
//Soap, I've found Roach. He appears to be intact.
level.scr_sound[ "price" ][ "cont_pri_foundroach" ] = "cont_pri_foundroach";
level.scr_radio[ "cont_pri_foundroach" ] = "cont_pri_foundroach";
//We're going to head northwest to the sub base, over.
level.scr_sound[ "price" ][ "cont_pri_headnw" ] = "cont_pri_headnw";
level.scr_radio[ "cont_pri_headnw" ] = "cont_pri_headnw";
//Copy that. I've located Rasta and Bricktop, they landed pretty far to the east.
level.scr_radio[ "cont_cmt_fareast" ] = "cont_cmt_fareast";
//Tell them to proceed with the mission, we'll regroup if possible.
level.scr_sound[ "price" ][ "cont_pri_proceed" ] = "cont_pri_proceed";
level.scr_radio[ "cont_pri_proceed" ] = "cont_pri_proceed";
//Have you found us some transport?
level.scr_sound[ "price" ][ "cont_pri_foundtransport" ] = "cont_pri_foundtransport";
level.scr_radio[ "cont_pri_foundtransport" ] = "cont_pri_foundtransport";
//I'm working on it. Out.
level.scr_radio[ "cont_cmt_workingonit" ] = "cont_cmt_workingonit";
//IN ----
//Roach, follow me and stay out of sight.
level.scr_radio[ "cont_pri_outofsight" ] = "cont_pri_outofsight";
//Contact. Enemy patrol 30 meters to our front.
level.scr_radio[ "cont_pri_30metersfront" ] = "cont_pri_30metersfront";
//Let's follow them quietly, and pick off any stragglers.
level.scr_radio[ "cont_pri_pickoffstragglers" ] = "cont_pri_pickoffstragglers";
//IN ----
//Convoy coming, get out of sight.
level.scr_sound[ "price" ][ "cont_pri_convoycoming" ] = "cont_pri_convoycoming";
level.scr_radio[ "cont_pri_convoycoming" ] = "cont_pri_convoycoming";
//Let them pass.
level.scr_sound[ "price" ][ "cont_pri_letthempass" ] = "cont_pri_letpass";
level.scr_radio[ "cont_pri_letthempass" ] = "cont_pri_letpass";
//Soap, our intel was off. The Russians have mobile SAMs.
level.scr_sound[ "price" ][ "cont_pri_intelwasoff" ] = "cont_pri_intelwasoff";
level.scr_radio[ "cont_pri_intelwasoff" ] = "cont_pri_intelwasoff";
//Roger that.
level.scr_sound[ "price" ][ "cont_cmt_rogerthat" ] = "cont_cmt_rogerthat";
level.scr_radio[ "cont_cmt_rogerthat" ] = "cont_cmt_rogerthat";
//IN ----
//Looks like they saw your parachute.
level.scr_radio[ "cont_pri_yourparachute" ] = "cont_pri_yourparachute";
//Let's keep moving.
level.scr_radio[ "cont_pri_keepmoving" ] = "cont_pri_keepmoving";
//Helicopters coming! Get down!
level.scr_radio[ "cont_pri_getdown" ] = "cont_pri_getdown";
//Hug the walls!
level.scr_radio[ "cont_pri_hugthewalls" ] = "cont_pri_hugthewalls";
//That was close. Lets keep moving.
level.scr_radio[ "cont_pri_thatwasclose" ] = "cont_pri_thatwasclose";
//We're sitting ducks out here! Get off the bridge! Move!
level.scr_radio[ "cont_pri_sittingducks" ] = "cont_pri_sittingducks";
///////////////////////
///// MISC STEALTH
//STEALTH BROKEN! ----
//We're spotted! Go loud! Take them out!
level.scr_radio[ "cont_pri_goloud" ] = "cont_pri_goloud";
//They're on to us! Open fire!
level.scr_radio[ "cont_pri_ontous" ] = "cont_pri_ontous";
//We're spotted! Take them out!
level.scr_radio[ "cont_pri_werespotted" ] = "cont_pri_werespotted";
//first stragglers
//Patience<63>don't do anything stupid. -----
level.scr_radio[ "cont_pri_patience" ] = "cont_pri_patience";
//We'll have to take 'em out at the same time. -----
level.scr_radio[ "cont_pri_sametime" ] = "cont_pri_sametime";
//Now's your chance. Take one of 'em out. ----
level.scr_radio[ "cont_pri_yourchance" ] = "cont_pri_yourchance";
//STEALTH TIPS
//Don't get so close.
level.scr_radio[ "cont_pri_dontgetclose" ] = "cont_pri_dontgetclose";
//Wait for me to get into position.
level.scr_radio[ "cont_pri_waitposition" ] = "cont_pri_waitposition";
//Wait for me.
level.scr_radio[ "cont_pri_waitforme" ] = "cont_pri_waitforme";
//I'm in position - take the shot when you're ready.
level.scr_radio[ "cont_pri_whenyoureready" ] = "cont_pri_whenyoureready";
//STEALTH RECOVERY -----
//What the hell was that? You trying to get us killed?
level.scr_radio[ "cont_pri_getuskilled" ] = "cont_pri_getuskilled";
//Does the word stealth mean anything to you?
level.scr_radio[ "cont_pri_thewordstealth" ] = "cont_pri_thewordstealth";
//Don't give away our position, Roach. This is only going to get harder.
level.scr_radio[ "cont_pri_giveawayposition" ] = "cont_pri_giveawayposition";
//Roach, we can't afford to keep giving away our position like that. Maintain a low profile!
level.scr_radio[ "cont_pri_lowprofile" ] = "cont_pri_lowprofile";
//MOVE
//Move up.
level.scr_radio[ "cont_pri_moveup" ] = "cont_pri_moveup";
//Move.
level.scr_radio[ "cont_pri_move" ] = "cont_pri_move";
//ALERTED ALONG THE ROAD ----
//Quick! Hide in the woods! You alerted one of them!
level.scr_radio[ "cont_pri_hideinwoods" ] = "cont_pri_hideinwoods";
//Get into the woods! Hide!
level.scr_radio[ "cont_pri_getintowoods" ] = "cont_pri_getintowoods";
//They're alerted! Hide in the woods! Move!
level.scr_radio[ "cont_pri_theyrealerted" ] = "cont_pri_theyrealerted";
//STRAGGLERS
//Take him out when the others aren't looking.
level.scr_radio[ "cont_pri_arentlooking" ] = "cont_pri_arentlooking";
//They're splitting up. Take him down.
level.scr_radio[ "cont_pri_splittingup" ] = "cont_pri_splittingup";
//GOOD JOB ----
//Beautiful.
level.scr_radio[ "cont_pri_beautiful" ] = "cont_pri_beautiful";
//Good shot.
level.scr_radio[ "cont_pri_goodshot" ] = "cont_pri_goodshot";
//PRICE KILLS -----
//Got one.
level.scr_radio[ "cont_pri_gotone" ] = "cont_pri_gotone";
//He's down.
level.scr_radio[ "cont_pri_hesdown2" ] = "cont_pri_hesdown2";
//Tango down.
level.scr_radio[ "cont_pri_tangodown" ] = "cont_pri_tangodown";
//Good night.
level.scr_radio[ "cont_pri_goodnight" ] = "cont_pri_goodnight";
//Target eliminated.
level.scr_radio[ "cont_pri_targeteliminated" ] = "cont_pri_targeteliminated";
//Target down.
level.scr_radio[ "cont_pri_targetdown" ] = "cont_pri_targetdown";
//ALERTED!
//He noticed that! Hide!
level.scr_radio[ "cont_pri_henoticed" ] = "cont_pri_henoticed";
//Get out of sight! That one's coming over here!
level.scr_radio[ "cont_pri_getoutofsight" ] = "cont_pri_getoutofsight";
//Hide! One of them's been alerted!
level.scr_radio[ "cont_pri_hidebeenalerted" ] = "cont_pri_hidebeenalerted";
//He's alerted! Hide!
level.scr_radio[ "cont_pri_hesalerted" ] = "cont_pri_hesalerted";
//WOODS PATROL CALLOUTS
//Dog patrol. ------
level.scr_radio[ "cont_pri_dogpatrol" ] = "cont_pri_dogpatrol";
//Three man patrol dead ahead. -----
level.scr_radio[ "cont_pri_3manpatrol" ] = "cont_pri_3manpatrol";
//Large patrol at 12 o'clock. -----
level.scr_radio[ "cont_pri_largepatrol12" ] = "cont_pri_largepatrol12";
//We got another dog patrol. -----
level.scr_radio[ "cont_pri_anotherdogpatrol" ] = "cont_pri_anotherdogpatrol";
//Another patrol up ahead.
level.scr_radio[ "cont_pri_anotherpatrol" ] = "cont_pri_anotherpatrol";
//YOUR DECISION
//Take them out or leave them be. It's your call. ------
level.scr_radio[ "cont_pri_yourcall" ] = "cont_pri_yourcall";
//We can't slip by them. Get ready to take them out quickly. ------
level.scr_radio[ "cont_pri_cantslipby" ] = "cont_pri_cantslipby";
//Take them out or go around.
level.scr_radio[ "cont_pri_outoraround" ] = "cont_pri_outoraround";
//BTR80 moment
//Incoming! Look out!
level.scr_sound[ "price" ][ "cont_pri_incoming" ] = "cont_pri_incoming";
level.scr_radio[ "cont_pri_incoming" ] = "cont_pri_incoming";
//Get down!
level.scr_radio[ "cont_pri_getdown2" ] = "cont_pri_getdown2";
//INTO THE WOODS! LETS GO! LETS GO!
level.scr_sound[ "price" ][ "cont_pri_intothewoods" ] = "cont_pri_intothewoods";
level.scr_radio[ "cont_pri_intothewoods" ] = "cont_pri_intothewoods";
//FOLLOW ME!
level.scr_sound[ "price" ][ "cont_pri_followme" ] = "cont_pri_followme";
level.scr_radio[ "cont_pri_followme" ] = "cont_pri_followme";
//now in woods
//Slow down. They cant follow us this far.
level.scr_sound[ "price" ][ "cont_pri_slowdown" ] = "cont_pri_slowdown";
level.scr_radio[ "cont_pri_slowdown" ] = "cont_pri_slowdown";
//Dogs. I hate dogs. You go first.
level.scr_radio[ "cont_pri_hatedogs" ] = "cont_pri_hatedogs";
//Got'm.
level.scr_radio[ "cont_pri_gotm" ] = "cont_pri_gotm";
//Hes down.
level.scr_radio[ "cont_pri_hesdown" ] = "cont_pri_hesdown";
//Down boy.
level.scr_radio[ "cont_pri_downboy" ] = "cont_pri_downboy";
//Nap time.
level.scr_radio[ "cont_pri_naptime" ] = "cont_pri_naptime";
//Soap, what's the status of our air support?
level.scr_sound[ "price" ][ "cont_pri_airsupport" ] = "cont_pri_airsupport";
level.scr_radio[ "cont_pri_airsupport" ] = "cont_pri_airsupport";
//The UAV is almost in position.
level.scr_radio[ "cont_cmt_almostinpos" ] = "cont_cmt_almostinpos";
//Roger that.
level.scr_sound[ "price" ][ "cont_pri_rogerthat" ] = "cont_pri_rogerthat";
level.scr_radio[ "cont_pri_rogerthat" ] = "cont_pri_rogerthat";
//This ridge is perfect.
level.scr_sound[ "price" ][ "cont_pri_ridgeisperfect" ] = "cont_pri_ridgeisperfect";
level.scr_radio[ "cont_pri_ridgeisperfect" ] = "cont_pri_ridgeisperfect";
//Roach take control of the UAV.
level.scr_sound[ "price" ][ "cont_pri_controluav" ] = "cont_pri_controluav";
level.scr_radio[ "cont_pri_controluav" ] = "cont_pri_controluav";
//Bollocks!
level.scr_sound[ "price" ][ "cont_pri_bollocks" ] = "cont_pri_bollocks";
level.scr_radio[ "cont_pri_bollocks" ] = "cont_pri_bollocks";
//What just happened?
level.scr_radio[ "cont_cmt_whathappened" ] = "cont_cmt_whathappened";
//There's a mobile SAM site in the village. It just took out our UAV.
level.scr_sound[ "price" ][ "cont_pri_mobilesaminvillage" ] = "cont_pri_mobilesaminvillage";
level.scr_radio[ "cont_pri_mobilesaminvillage" ] = "cont_pri_mobilesaminvillage";
//Soap, we need another UAV, sharpish!
level.scr_sound[ "price" ][ "cont_pri_uavsharpish" ] = "cont_pri_uavsharpish";
level.scr_radio[ "cont_pri_uavsharpish" ] = "cont_pri_uavsharpish";
//Roach - let's go.
level.scr_sound[ "price" ][ "cont_pri_roachletsgo" ] = "cont_pri_roachletsgo";
level.scr_radio[ "cont_pri_roachletsgo" ] = "cont_pri_roachletsgo";
////////////////////// STOP RADIO????
//Stand back!
level.scr_sound[ "rasta" ][ "cont_rst_standback" ] = "cont_rst_standback";
//Get back!
level.scr_sound[ "rasta" ][ "cont_rst_getback" ] = "cont_rst_getback";
//Check your fire! Check your fire! Friendlies coming in at your 12!
level.scr_sound[ "rasta" ][ "cont_rst_checkfire" ] = "cont_rst_checkfire";
//Nice work on that SAM site.
level.scr_sound[ "price" ][ "cont_pri_nicework" ] = "cont_pri_nicework";
//Thanks, but we better get moving - those explosions are gonna attract a lot of attention.
level.scr_sound[ "rasta" ][ "cont_rst_getmoving" ] = "cont_rst_getmoving";
//Roach, they know we're here. You might want to grab a different weapon.
level.scr_sound[ "price" ][ "cont_pri_grabweapon" ] = "cont_pri_grabweapon";
//Soap - Rasta and Bricktop are here.
level.scr_sound[ "price" ][ "cont_pri_rastaandbricktop" ] = "cont_pri_rastaandbricktop";
//Roger that. The second UAV is almost in position.
level.scr_radio[ "cont_cmt_2nduav" ] = "cont_cmt_2nduav";
//race through base
//There's the submarine! Right below that crane!
level.scr_sound[ "price" ][ "cont_pri_belowcrane" ] = "cont_pri_belowcrane";
//Roach, soften up their defenses with the Hellfires!
level.scr_sound[ "price" ][ "cont_pri_softendefenses" ] = "cont_pri_softendefenses";
//That got their attention!
level.scr_radio[ "cont_cmt_gotattention" ] = "cont_cmt_gotattention";
//The whole base has gone on alert!
level.scr_radio[ "cont_cmt_baseonalert" ] = "cont_cmt_baseonalert";
//You'd better hurry. You've only got a couple of minutes before that submarine dives.
level.scr_radio[ "cont_cmt_betterhurry" ] = "cont_cmt_betterhurry";
//We're moving!
level.scr_sound[ "price" ][ "cont_pri_weremoving" ] = "cont_pri_weremoving";
//You're halfway there!
level.scr_radio[ "cont_cmt_halwaythere" ] = "cont_cmt_halwaythere";
//90 seconds!
level.scr_radio[ "cont_cmt_90secs" ] = "cont_cmt_90secs";
//60 seconds!
level.scr_radio[ "cont_cmt_60secs" ] = "cont_cmt_60secs";
//30 seconds! Move!
level.scr_radio[ "cont_cmt_30secs" ] = "cont_cmt_30secs";
//We've got to hurry! That sub isn't going to wait for us!
level.scr_sound[ "price" ][ "cont_pri_subwontwait" ] = "cont_pri_subwontwait";
//Go go go!
level.scr_sound[ "price" ][ "cont_pri_gogogo" ] = "cont_pri_gogogo";
//Get to the sub! Hurry!
level.scr_sound[ "price" ][ "cont_pri_gettosub" ] = "cont_pri_gettosub";
//Soap, we've reached the sub!
level.scr_sound[ "price" ][ "cont_pri_reachedsub" ] = "cont_pri_reachedsub";
//Roger that!
level.scr_radio[ "cont_cmt_rogerthat2" ] = "cont_cmt_rogerthat2";
//enter sub
//Roach! Get your mask on!
level.scr_sound[ "price" ][ "cont_pri_getmaskon" ] = "cont_pri_getmaskon";
//Down the hatch, lets go!
level.scr_sound[ "price" ][ "cont_pri_downthehatch" ] = "cont_pri_downthehatch";
//Roach! I need a few minutes! Cover me!
level.scr_sound[ "price" ][ "cont_pri_needfewminutes" ] = "cont_pri_needfewminutes";
//Alert! The use of nuclear weapons has been authorized.
//Price! I'm on my way to the east gate with our transport, over!
level.scr_radio[ "cont_cmt_eastgate" ] = "cont_cmt_eastgate";
//Copy that Soap!
level.scr_sound[ "price" ][ "cont_pri_copythatsoap" ] = "cont_pri_copythatsoap";
//Launch codes verified authentic. Launch codes accepted.
//Set condition one-SQ. Nuclear missile launch authorized.
//Now spinning up missiles 1 through 4 and 8 through 12 for strategic missile launch<63>
//Target package 572 has been authorized. Standing by for target confirmation and launch order.
//Roach! I'm almost done! Hold your ground!!
level.scr_sound[ "price" ][ "cont_pri_almostdone" ] = "cont_pri_almostdone";
//Price! How much longer do you need to sink the sub? We're almost at the gate!
level.scr_radio[ "cont_cmt_muchlonger" ] = "cont_cmt_muchlonger";
//Soap, I'm not sinking the sub - I'm launching the nukes.
level.scr_sound[ "price" ][ "cont_pri_notsinking" ] = "cont_pri_notsinking";
//The bloody hell you are!!!!
level.scr_radio[ "cont_cmt_bloodyhell" ] = "cont_cmt_bloodyhell";
//There's no time to explain! Roach! Turn that key over there! Hurry! They've scrambled MiGs to take us out!
level.scr_sound[ "price" ][ "cont_pri_notime" ] = "cont_pri_notime";
//Roach! We're running out of time! Turn the key!!!
level.scr_sound[ "price" ][ "cont_pri_runningout" ] = "cont_pri_runningout";
//Roach! Trust me! Turn - your - key!!!
level.scr_sound[ "price" ][ "cont_pri_trustme" ] = "cont_pri_trustme";
//Missiles are ready for launch. Ten<65>Nine<6E>Eight<68>Seven<65>Six...Five<76>Four<75>Three<65>Two<77>One<6E>ignition on missiles 1 through 4 and 8 through 12 for strategic missile launch.
//We're done here! Let's go!
level.scr_sound[ "price" ][ "cont_pri_donehereletsgo" ] = "cont_pri_donehereletsgo";
//Roach! Get to the truck! Move! Move!!
level.scr_sound[ "price" ][ "cont_pri_gettotruck" ] = "cont_pri_gettotruck";
//Bloody 'ell Price...God help us all if you're wrong<6E>
//Sometimes you can't end a war with a bullet, Soap.
level.scr_sound[ "price" ][ "cont_pri_endawar" ] = "cont_pri_endawar";
////////////////////////////////
//Use a Hellfire on that truck!
level.scr_sound[ "price" ][ "cont_pri_usehellfire" ] = "cont_pri_usehellfire";
//Take out that helicopter!
level.scr_sound[ "price" ][ "cont_pri_takeoutheli" ] = "cont_pri_takeoutheli";
//Five men, automatic rifles, frag grenades. One German Shepherd.
level.scr_radio[ "cont_pri_fivemen" ] = "cont_pri_fivemen";
//Dogs... I hate dogs.
level.scr_radio[ "cont_cmt_hatedogs" ] = "cont_cmt_hatedogs";
//Take the two on the right.
level.scr_radio[ "cont_pri_twoonright" ] = "cont_pri_twoonright";
//Looks like they're searching for us.
level.scr_radio[ "cont_pri_searchingforus" ] = "cont_pri_searchingforus";
//Destroy that armored vehicle!
level.scr_sound[ "price" ][ "cont_pri_armoredvehicle" ] = "cont_pri_armoredvehicle";
//split up
//I'm going for the sub!
level.scr_sound[ "price" ][ "cont_pri_goingforsub" ] = "cont_pri_goingforsub";
//Cover me from that guardhouse by the west gate!
level.scr_sound[ "price" ][ "cont_pri_coverme" ] = "cont_pri_coverme";
//Roger that!
level.scr_sound[ "rasta" ][ "cont_gst_rogerthat" ] = "cont_gst_rogerthat";
//Roach, we have to get to that guardhouse by the west gate to cover Price! Follow me!
level.scr_sound[ "rasta" ][ "cont_gst_guardhouse" ] = "cont_gst_guardhouse";
//All right, I'm inside the sub! Cover me, I need a few minutes!
level.scr_radio[ "cont_pri_insidesub" ] = "cont_pri_insidesub";
//defend
//Incoming! Two trucks to the east!
level.scr_sound[ "rasta" ][ "cont_gst_twotruckseast" ] = "cont_gst_twotruckseast";
//More vehicles to the east! Use the Hellfires!
level.scr_sound[ "rasta" ][ "cont_gst_morevehicleseast" ] = "cont_gst_morevehicleseast";
//Contact to the south, on the dock next to the sub!
level.scr_sound[ "rasta" ][ "cont_gst_nexttosub" ] = "cont_gst_nexttosub";
//Price, are you there? The silo doors are opening on the sub, I repeat, the silo doors are opening on the sub!
level.scr_sound[ "rasta" ][ "cont_gst_youthere" ] = "cont_gst_youthere";
//Price, come in!! They're opening the silo doors on the sub!!! Hurry!!!
level.scr_sound[ "rasta" ][ "cont_gst_comein" ] = "cont_gst_comein";
//Price, do you copy??? The silo doors are open, I repeat, the silo doors are open!!
level.scr_sound[ "rasta" ][ "cont_gst_doyoucopy" ] = "cont_gst_doyoucopy";
//Good.
level.scr_radio[ "cont_pri_good2" ] = "cont_pri_good2";
//What<61>? Wait...wait, Price - no!!!
level.scr_sound[ "rasta" ][ "cont_gst_whatwait" ] = "cont_gst_whatwait";
//We have a nuclear missile launch, missile in the air missile in the air!! Code black code black!!
level.scr_sound[ "rasta" ][ "cont_gst_codeblack" ] = "cont_gst_codeblack";
//Price what have you done???
level.scr_sound[ "rasta" ][ "cont_gst_whathaveyoudone" ] = "cont_gst_whathaveyoudone";
//Launch codes verified authentic. Launch codes accepted.
//cont_rsc_launchcodes
//Alert! The use of nuclear weapons has been authorized.
//cont_rsc_alert
//Set condition one-SQ. Nuclear missile launch authorized.
//cont_rsc_setcondition
//Now spinning up missiles 1 through 4 and 8 through 12 for strategic missile launch<63>
//cont_rsc_spinningup
//Target package 572 has been authorized. Standing by for target confirmation and launch order.
//cont_rsc_launchorder
//Missiles are ready for launch. Ten<65>Nine<6E>Eight<68>Seven<65>Six...Five<76>Four<75>Three<65>Two<77>One<6E>ignition on missiles 1 through 4 and 8 through 12 for strategic missile launch.
//cont_rsc_missilesready
//These Russian dogs are like pussycats compared to the ones in Pripyat.
level.scr_radio[ "cont_pri_russiandogs" ] = "cont_pri_russiandogs";
//Its good to have you back, old man.
level.scr_radio[ "cont_cmt_haveyouback" ] = "cont_cmt_haveyouback";
//Roger that.
level.scr_radio[ "cont_pri_rogerthat2" ] = "cont_pri_rogerthat2";
//Direct hit on the enemy helo. Nice shot Roach.
level.scr_radio[ "cont_cmt_directhitshelo" ] = "cont_cmt_directhitshelo";
//Good effect on target. BTR destroyed.
level.scr_radio[ "cont_cmt_btrdestroyed" ] = "cont_cmt_btrdestroyed";
//Direct hit on that jeep.
level.scr_radio[ "cont_cmt_directhitjeep" ] = "cont_cmt_directhitjeep";
//Good kill. Truck destroyed.
level.scr_radio[ "cont_cmt_goodkilltruck" ] = "cont_cmt_goodkilltruck";
//Good hit. Multiple vehicles destroyed.
level.scr_radio[ "cont_cmt_goodhitvehicles" ] = "cont_cmt_goodhitvehicles";
//Good effect on target. Multiple enemy vehicles KIA.
level.scr_radio[ "cont_cmt_goodeffectkia" ] = "cont_cmt_goodeffectkia";
//Five plus KIAs. Good hit. Good hit.
level.scr_radio[ "cont_cmt_fivepluskias" ] = "cont_cmt_fivepluskias";
//Multiple confirmed kills. Nice work.
level.scr_radio[ "cont_cmt_mutlipleconfirmed" ] = "cont_cmt_mutlipleconfirmed";
//Good hit. Looks like at least three kills.
level.scr_radio[ "cont_cmt_3kills" ] = "cont_cmt_3kills";
//They're down.
level.scr_radio[ "cont_cmt_theyredown" ] = "cont_cmt_theyredown";
//Direct hit.
level.scr_radio[ "cont_cmt_directhit" ] = "cont_cmt_directhit";
//He's down.
level.scr_radio[ "cont_cmt_hesdown" ] = "cont_cmt_hesdown";
// Sets up the dialog for remotemissile online/offline only
level.uav_radio_initialized = true;
level.scr_radio[ "uav_reloading" ] = "cont_cmt_rearmhellfires";
level.scr_radio[ "uav_offline" ] = "cont_cmt_hellfiresoffline";
level.scr_radio[ "uav_online" ] = "cont_cmt_hellfireonline";
level.scr_radio[ "uav_online_repeat" ] = "cont_cmt_repeatonline";
level.scr_radio[ "uav_down" ] = "cont_cmt_predatordown";
//Rearming Hellfires. Standby.
//level.scr_radio[ "cont_cmt_rearmhellfires" ] = "cont_cmt_rearmhellfires";
//Arming AGMs. Standby.
//cont_cmt_armagm
//Arming Hellfires. Standby.
//cont_cmt_armhellfire
//Price, I can barely see Roach's chute on my satellite feed. Too much interference. Do you see him, over?
level.scr_radio[ "cont_cmt_barelysee" ] = "cont_cmt_barelysee";
//Watch for the blinking strobes. That<61>s us.
level.scr_sound[ "price" ][ "cont_pri_strobes" ] = "cont_pri_strobes";
}