1007 lines
44 KiB
Text
1007 lines
44 KiB
Text
|
#include maps\_anim;
|
|||
|
#include maps\_utility;
|
|||
|
#include maps\_props;
|
|||
|
#include maps\sniperescape_code;
|
|||
|
#include maps\sniperescape_exchange;
|
|||
|
#include maps\sniperescape_wounding;
|
|||
|
#using_animtree( "generic_human" );
|
|||
|
|
|||
|
main()
|
|||
|
{
|
|||
|
if ( !level.sniperescape_fastload )
|
|||
|
{
|
|||
|
add_smoking_notetracks( "generic" );
|
|||
|
add_cellphone_notetracks( "generic" );
|
|||
|
}
|
|||
|
|
|||
|
level.scr_model[ "stone_block_1" ] = "me_stone_block01";
|
|||
|
level.scr_model[ "stone_block_2" ] = "me_stone_block02";
|
|||
|
level.scr_model[ "stone_block_3" ] = "me_stone_block03";
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "rappel_end" ] = %sniper_escape_rappel_finish;
|
|||
|
level.scr_anim[ "price" ][ "rappel_start" ] = %sniper_escape_rappel_start;
|
|||
|
level.scr_anim[ "price" ][ "rappel_idle" ][ 0 ] = %sniper_escape_rappel_idle;
|
|||
|
|
|||
|
level.scr_anim[ "dead_guy" ][ "pool_death" ] = %exposed_death_nerve;
|
|||
|
level.scr_animtree[ "dead_guy" ] = #animtree;
|
|||
|
|
|||
|
// We<57>ll have to take the short cut! Follow my lead!
|
|||
|
level.scr_sound[ "price" ][ "rappel_start" ] = "sniperescape_mcm_shortcut";
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "pilot_idle_ff" ] = %helicopter_pilot1_idle;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "smooth_door_open" ] = %hunted_open_barndoor_flathand;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "crash_pickup" ] = %sniper_escape_crash_pickup_macmillan;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "precrash_idle" ][ 0 ] = %sniper_escape_crash_macmillan_aim;
|
|||
|
level.scr_anim[ "price" ][ "fire_idle" ][ 0 ] = %sniper_escape_crash_macmillan_fire;
|
|||
|
level.scr_anim[ "price" ][ "fire_idle" ][ 1 ] = %sniper_escape_crash_macmillan_aim;
|
|||
|
level.scr_anim[ "price" ][ "crash" ] = %sniper_escape_crash_macmillan_runaway;
|
|||
|
level.scr_anim[ "price" ][ "crash_idle" ][ 0 ] = %sniper_escape_crash_macmillan_wounded_idle;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "pilot_idle" ][ 0 ] = %helicopter_pilot1_idle;
|
|||
|
level.scr_anim[ "generic" ][ "pilot_idle" ][ 1 ] = %helicopter_pilot1_twitch_clickpannel;
|
|||
|
level.scr_anim[ "generic" ][ "pilot_idle" ][ 2 ] = %helicopter_pilot1_twitch_lookback;
|
|||
|
level.scr_anim[ "generic" ][ "pilot_idle" ][ 3 ] = %helicopter_pilot1_twitch_lookoutside;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "gunner_idle" ][ 0 ] = %helicopter_pilot2_idle;
|
|||
|
level.scr_anim[ "generic" ][ "gunner_idle" ][ 1 ] = %helicopter_pilot2_twitch_clickpannel;
|
|||
|
level.scr_anim[ "generic" ][ "gunner_idle" ][ 2 ] = %helicopter_pilot2_twitch_radio;
|
|||
|
level.scr_anim[ "generic" ][ "gunner_idle" ][ 3 ] = %helicopter_pilot2_twitch_lookoutside;
|
|||
|
|
|||
|
|
|||
|
// level.scr_anim[ "zakhaev" ][ "zak_pain" ] = %exposed_death_twist; //exposed_pain_2_crouch;
|
|||
|
level.scr_anim[ "zakhaev" ][ "zak_pain" ] = %sniper_escape_meeting_zakhaev_hit_front; //exposed_pain_2_crouch;
|
|||
|
level.scr_anim[ "zakhaev" ][ "zak_pain_back" ] = %sniper_escape_meeting_zakhaev_hit_back; //exposed_pain_2_crouch;
|
|||
|
|
|||
|
level.scr_anim[ "zakhaev" ][ "run" ] = %unarmed_run_russian;
|
|||
|
level.scr_anim[ "zakhaev" ][ "exchange" ] = %sniper_escape_meeting_zakhaev;
|
|||
|
level.scr_anim[ "guard" ][ "exchange" ] = %sniper_escape_meeting_guard;
|
|||
|
level.scr_anim[ "dealer" ][ "exchange" ] = %sniper_escape_meeting_dealer;
|
|||
|
|
|||
|
level.scr_anim[ "guard" ][ "exchange_idle" ][ 0 ] = %sniper_escape_meeting_guard_idle;
|
|||
|
level.scr_anim[ "dealer" ][ "exchange_idle" ][ 0 ] = %sniper_escape_meeting_dealer_idle;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "spin" ] = %combatwalk_f_spin;
|
|||
|
level.scr_anim[ "price" ][ "halt" ] = %stand_exposed_wave_halt_v2;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "wounded_turn_left" ] = %sniper_escape_price_turn_L;
|
|||
|
level.scr_anim[ "price" ][ "wounded_turn_right" ] = %sniper_escape_price_turn_R;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "spotter_exit" ] = %sniper_escape_spotter_exit;
|
|||
|
level.scr_anim[ "price" ][ "spotter_idle" ][ 0 ] = %sniper_escape_spotter_idle;
|
|||
|
level.scr_anim[ "price" ][ "spotter_wave" ] = %sniper_escape_spotter_wave;
|
|||
|
|
|||
|
// Chopper!!! Get back! I'll cover you! sniperescape_mcm_choppergetback
|
|||
|
addNotetrack_dialogue( "price", "dialog", "wounded_begins", "sniperescape_mcm_choppergetback" );
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "wounded_begins" ] = %sniper_escape_price_hit;
|
|||
|
level.scr_anim[ "price" ][ "wounded_idle_reach" ] = %sniper_escape_price_hit_idle;
|
|||
|
level.scr_anim[ "price" ][ "wounded_idle" ][ 0 ] = %sniper_escape_price_hit_idle;
|
|||
|
level.scr_anim[ "price" ][ "wounded_idle" + "weight" ][ 0 ] = 100;
|
|||
|
level.scr_anim[ "price" ][ "wounded_idle" ][ 1 ] = %sniper_escape_price_hit_idle;
|
|||
|
level.scr_anim[ "price" ][ "wounded_idle" + "weight" ][ 1 ] = 35;
|
|||
|
level.scr_anim[ "price" ][ "wounded_fire" ] = %sniper_escape_price_hit_fire;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "wounded_crawl_start" ] = %sniper_escape_price_crawl_start;
|
|||
|
level.scr_anim[ "price" ][ "wounded_crawl_end" ] = %sniper_escape_price_crawl_end;
|
|||
|
level.scr_anim[ "price" ][ "wounded_crawl" ] = %sniper_escape_price_crawl;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "stealth_jog" ] = %patrol_jog;
|
|||
|
level.scr_anim[ "generic" ][ "stealth_walk" ] = %patrol_bored_patrolwalk;
|
|||
|
level.scr_anim[ "generic" ][ "combat_jog" ] = %combat_jog;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "wounded_death" ] = %sniper_escape_price_killed;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "wounded_base" ] = %wounded_aim;
|
|||
|
level.scr_anim[ "price" ][ "wounded_aim_left" ] = %sniper_escape_price_aim_L;
|
|||
|
level.scr_anim[ "price" ][ "wounded_aim_right" ] = %sniper_escape_price_aim_R;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "wounded_carry" ][ 0 ] = %sniper_escape_price_walk;
|
|||
|
level.scr_anim[ "player" ][ "wounded_carry" ][ 0 ] = %sniper_escape_playerview_walk;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "wounded_pickup" ] = %sniper_escape_price_getup;
|
|||
|
level.scr_anim[ "price" ][ "wounded_putdown" ] = %sniper_escape_price_putdown;
|
|||
|
level.scr_anim[ "price" ][ "wounded_seaknight_putdown" ] = %airlift_pilot_putdown;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "pickup_idle" ][ 0 ] = %sniper_escape_price_wounded_idle;
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "pickup_idle" ][ 0 ] = %sniper_escape_price_wounded_idle;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "patrol_look_up" ] = %patrol_jog_look_up;
|
|||
|
level.scr_anim[ "generic" ][ "patrol_360" ] = %patrol_jog_360;
|
|||
|
level.scr_anim[ "generic" ][ "patrol_jog" ] = %patrol_jog;
|
|||
|
level.scr_anim[ "generic" ][ "patrol_orders" ] = %patrol_jog_orders;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "patrol_look_up_once" ] = %patrol_jog_look_up_once;
|
|||
|
level.scr_anim[ "generic" ][ "patrol_360_once" ] = %patrol_jog_360_once;
|
|||
|
level.scr_anim[ "generic" ][ "patrol_jog_once" ] = %patrol_jog_once;
|
|||
|
level.scr_anim[ "generic" ][ "patrol_orders_once" ] = %patrol_jog_orders_once;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_zakhaev" ] = %unarmed_cowerstand_react;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_0" ] = %exposed_idle_reactA;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_1" ] = %exposed_idle_reactB;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_2" ] = %exposed_idle_twitch;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_3" ] = %exposed_idle_twitch_v4;
|
|||
|
addNotetrack_customFunction( "generic", "ready_to_run", ::exchange_ready_to_run );
|
|||
|
|
|||
|
/*
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_0" ] = %patrol_bored_react_look_v1;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_1" ] = %patrol_bored_react_look_v2;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_3" ] = %patrol_bored_react_walkstop;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_4" ] = %patrol_bored_react_walkstop_short;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_5" ] = %patrol_bored_react_look_advance;
|
|||
|
level.scr_anim[ "generic" ][ "exchange_surprise_6" ] = %patrol_bored_react_look_retreat;
|
|||
|
*/
|
|||
|
level.surprise_anims = 4;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "_stealth_behavior_whizby_0" ] = %exposed_idle_reactA;
|
|||
|
level.scr_anim[ "generic" ][ "_stealth_behavior_whizby_1" ] = %exposed_idle_reactB;
|
|||
|
level.scr_anim[ "generic" ][ "_stealth_behavior_whizby_2" ] = %exposed_idle_twitch;
|
|||
|
level.scr_anim[ "generic" ][ "_stealth_behavior_whizby_3" ] = %exposed_idle_twitch_v4;
|
|||
|
level.scr_anim[ "generic" ][ "_stealth_behavior_whizby_4" ] = %run_pain_stumble;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "_stealth_behavior_spotted_short" ] = %exposed_idle_twitch_v4;//patrol_bored_2_combat_alarm_short;
|
|||
|
level.scr_anim[ "generic" ][ "_stealth_behavior_spotted_long" ] = %exposed_idle_twitch_v4;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "sprint" ] = %sprint1_loop;
|
|||
|
level.scr_anim[ "generic" ][ "prone_dive" ] = %hunted_dive_2_pronehide_v1;
|
|||
|
level.scr_anim[ "generic" ][ "prone_idle" ][ 0 ] = %hunted_pronehide_idle_relative;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "bored_cell_loop" ][ 0 ] = %patrol_bored_idle_cellphone;
|
|||
|
level.scr_anim[ "generic" ][ "smoking" ][ 0 ] = %parabolic_leaning_guy_smoking_idle;
|
|||
|
level.scr_anim[ "generic" ][ "smoking" ][ 1 ] = %parabolic_leaning_guy_smoking_twitch;
|
|||
|
level.scr_anim[ "generic" ][ "bored_idle" ][ 0 ] = %patrol_bored_idle;
|
|||
|
level.scr_anim[ "generic" ][ "bored_idle" ][ 1 ] = %patrol_bored_twitch_bug;
|
|||
|
level.scr_anim[ "generic" ][ "bored_idle" ][ 2 ] = %patrol_bored_twitch_stretch;
|
|||
|
level.scr_anim[ "generic" ][ "smoke_idle" ][ 0 ] = %patrol_bored_idle_smoke;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "guy1" ][ "load" ] = %ch46_load_1;
|
|||
|
level.scr_anim[ "guy1" ][ "unload" ] = %ch46_unload_1;
|
|||
|
level.scr_anim[ "guy2" ][ "load" ] = %ch46_load_2;
|
|||
|
level.scr_anim[ "guy2" ][ "unload" ] = %ch46_unload_2;
|
|||
|
level.scr_anim[ "guy3" ][ "load" ] = %ch46_load_3;
|
|||
|
level.scr_anim[ "guy3" ][ "unload" ] = %ch46_unload_3;
|
|||
|
level.scr_anim[ "guy4" ][ "load" ] = %ch46_load_4;
|
|||
|
level.scr_anim[ "guy4" ][ "unload" ] = %ch46_unload_4;
|
|||
|
/*
|
|||
|
hunted_pronehide_2_stand_v1
|
|||
|
hunted_dive_2_pronehide_v2
|
|||
|
hunted_pronehide_idle_v2
|
|||
|
hunted_pronehide_2_stand_v2
|
|||
|
hunted_dive_2_pronehide_v3
|
|||
|
hunted_pronehide_idle_v3
|
|||
|
hunted_pronehide_2_stand_v3
|
|||
|
*/
|
|||
|
|
|||
|
level.scr_anim[ "price" ][ "crouch" ] = %exposed_stand_2_crouch;
|
|||
|
|
|||
|
// Incoming helicopter! Snipe the bastard!
|
|||
|
level.scr_radio[ "incoming_helicopter" ] = "sniperescape_mcm_incomingheli";
|
|||
|
|
|||
|
// Take out that helicopter! Hit the rotor!
|
|||
|
level.scr_radio[ "hit_the_rotor" ] = "sniperescape_mcm_hittherotor";
|
|||
|
|
|||
|
// Price, shoot the helicopter! We'll take it down together!
|
|||
|
level.scr_radio[ "shoot_the_helicopter" ] = "sniperescape_mcm_downtogether";
|
|||
|
|
|||
|
// Fire! Fire!
|
|||
|
level.scr_radio[ "fire_fire" ] = "sniperescape_mcm_firefire";
|
|||
|
|
|||
|
// Gooodnight ya bastard...
|
|||
|
level.scr_radio[ "goodnight_ya_bastard" ] = "sniperescape_mcm_goodnight";
|
|||
|
|
|||
|
// Aw shite - RUUN!
|
|||
|
level.scr_radio[ "aw_shite" ] = "sniperescape_mcm_run";
|
|||
|
|
|||
|
// Ahhh...CRAP! - RUUN!
|
|||
|
level.scr_radio[ "ahh_crap" ] = "sniperescape_mcm_run";
|
|||
|
|
|||
|
// (coughing) Crap, I can't move! (coughing)
|
|||
|
level.scr_radio[ "cant_move_1" ] = "sniperescape_mcm_cantmove";
|
|||
|
|
|||
|
// (coughing) Bloody hell, I can't move! (coughing)
|
|||
|
level.scr_radio[ "cant_move_2" ] = "sniperescape_mcm_cantmove";
|
|||
|
|
|||
|
// (coughing) Damn! My leg's all messed up, I can't move! (coughing)
|
|||
|
level.scr_radio[ "cant_move_3" ] = "sniperescape_mcm_cantmove";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
addNotetrack_customFunction( "price", "fire", maps\sniperescape_code::price_fires, "wounded_fire" );
|
|||
|
|
|||
|
//* Leftenant Price, the meeting is underway. Enemy transport sighted entering the target area.
|
|||
|
level.scr_radio[ "transport_sighted" ] = "sniperescape_mcm_enemysighted";
|
|||
|
|
|||
|
//* Now get on the Barrett rifle and wait for my signal. Do not engage until I give the word.
|
|||
|
// the wind's gettin a big choppy, you can compensate for it or wait it out but he might leave, it's your call
|
|||
|
level.scr_radio[ "get_on_barrett" ] = "sniperescape_mcm_getonbarrett";
|
|||
|
|
|||
|
//* Remember what I've taught you. Keep in mind variable humidity and wind speed along the bullet's flight path. At this distance you<6F>ll also have to take the Coriolis effect into account.
|
|||
|
level.scr_radio[ "remember_my_teaching" ] = "sniperescape_mcm_corioliseffect";
|
|||
|
|
|||
|
//* Prepare for ranging. Standby.
|
|||
|
level.scr_radio[ "prepare_for_ranging" ] = "sniperescape_mcm_prepranging";
|
|||
|
|
|||
|
//* White truck on the left, range, 1203.5 meters.
|
|||
|
level.scr_radio[ "white_truck" ] = "sniperescape_mcm_whitetruck";
|
|||
|
|
|||
|
//* Range to BMP, 1207 meters.
|
|||
|
level.scr_radio[ "range_to_bmp" ] = "sniperescape_mcm_bmprange";
|
|||
|
|
|||
|
//* The table with the briefcase, range, 1206 meters.
|
|||
|
level.scr_radio[ "table_with_case" ] = "sniperescape_mcm_table";
|
|||
|
|
|||
|
//* Ok... I think I see him. Wait for my mark.
|
|||
|
level.scr_radio[ "i_see_him" ] = "sniperescape_mcm_mymark";
|
|||
|
|
|||
|
//* Target...acquired. I have a positive I.D. on Imran Zakhaev.
|
|||
|
level.scr_radio[ "target_acquired" ] = "sniperescape_mcm_positiveid";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//sniperescape_mcm_abouttobegin
|
|||
|
|
|||
|
//sniperescape_mcm_eyeonflag
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//* Ach, where did he come from? Patience laddie... Wait for a clear shot<6F>.
|
|||
|
level.scr_radio[ "where_did_he_come_from" ] = "sniperescape_mcm_clearshot";
|
|||
|
|
|||
|
// steady, keep an eye on that flag
|
|||
|
//* Wait - the wind's picked up. Let it die down before you take the shot. Don<6F>t rush it.
|
|||
|
level.scr_radio[ "wind_picked_up" ] = "sniperescape_mcm_eyeonflag";
|
|||
|
|
|||
|
//* Ok take the shot.
|
|||
|
level.scr_radio[ "take_the_shot" ] = "sniperescape_mcm_taketheshot";
|
|||
|
|
|||
|
//* Damn, my line of sight was blocked. Did you take him out? I thought I saw his arm fly off! Can you see him?
|
|||
|
level.scr_radio[ "did_you_take_him_out" ] = "sniperescape_mcm_armflyoff";
|
|||
|
|
|||
|
//* Shit... they<65>re on to us! Take out that helicopter, it<69>ll buy us some time!
|
|||
|
level.scr_radio[ "take_out_that_heli" ] = "sniperescape_mcm_buysometime";
|
|||
|
|
|||
|
//* Great shot Leftenant! Now let's go! They'll be searching for us!
|
|||
|
level.scr_radio[ "great_shot_now_go" ] = "sniperescape_mcm_greatshot";
|
|||
|
|
|||
|
//* Delta Two Four, this is Alpha Six! We have been compromised, I repeat we have been compromised, now heading to Extraction Point four!
|
|||
|
level.scr_radio[ "compromised" ] = "sniperescape_mcm_comrpomised";
|
|||
|
|
|||
|
//* Alpha Six, Seaknight Five-Niner is en route, E.T.A. - 20 minutes. Don't be late. We're stretchin' our fuel as it is. Out.
|
|||
|
level.scr_radio[ "eta_20_min" ] = "sniperescape_hqr_stretchingourfuel";
|
|||
|
|
|||
|
//* Leftenant Price, follow me!
|
|||
|
level.scr_sound[ "price" ][ "follow_me" ] = "sniperescape_mcm_followme";
|
|||
|
|
|||
|
//* We've got to head for the extraction point! Move!
|
|||
|
level.scr_radio[ "head_for_extract" ] = "sniperescape_mcm_headforpoint";
|
|||
|
|
|||
|
// More behind us!
|
|||
|
level.scr_sound[ "price" ][ "more_behind" ] = "sniperescape_mcm_morebehind";
|
|||
|
|
|||
|
// In the bushes, behind us to the north.
|
|||
|
level.scr_sound[ "price" ][ "bushes_north" ] = "sniperescape_mcm_bushesnorth";
|
|||
|
|
|||
|
// More enemies behind us, in the bushes to the northwest.
|
|||
|
level.scr_sound[ "price" ][ "bushes_northwest" ] = "sniperescape_mcm_bushesNW";
|
|||
|
|
|||
|
// In the woods!
|
|||
|
level.scr_sound[ "price" ][ "woods_north" ] = "sniperescape_mcm_inthewoods";
|
|||
|
|
|||
|
// Behind us! Movement in the woods to the northeast.
|
|||
|
level.scr_sound[ "price" ][ "woods_northeast" ] = "sniperescape_mcm_woodsNE";
|
|||
|
|
|||
|
// More in the woods behind us to the east.
|
|||
|
level.scr_sound[ "price" ][ "woods_east" ] = "sniperescape_mcm_woodseast";
|
|||
|
|
|||
|
// In the woods!
|
|||
|
level.scr_sound[ "price" ][ "woods_southeast" ] = "sniperescape_mcm_inthewoods";
|
|||
|
|
|||
|
// Enemies behind us in the woods to the south.
|
|||
|
level.scr_sound[ "price" ][ "woods_south" ] = "sniperescape_mcm_woodssouth";
|
|||
|
|
|||
|
// Behind us! In the woods to the southwest.
|
|||
|
level.scr_sound[ "price" ][ "woods_southwest" ] = "sniperescape_mcm_woodsSW";
|
|||
|
|
|||
|
// In the woods!
|
|||
|
level.scr_sound[ "price" ][ "woods_west" ] = "sniperescape_mcm_inthewoods";
|
|||
|
|
|||
|
// In the woods!
|
|||
|
level.scr_sound[ "price" ][ "woods_northwest" ] = "sniperescape_mcm_inthewoods";
|
|||
|
|
|||
|
// Movement behind us. Coming through the bushes to the west.
|
|||
|
level.scr_sound[ "price" ][ "bushes_west" ] = "sniperescape_mcm_busheswest";
|
|||
|
|
|||
|
// More coming from the north.
|
|||
|
level.scr_sound[ "price" ][ "enemies_north" ] = "sniperescape_mcm_comingnorth";
|
|||
|
|
|||
|
// Movement. Northeast.
|
|||
|
level.scr_sound[ "price" ][ "enemies_northeast" ] = "sniperescape_mcm_movementNE";
|
|||
|
|
|||
|
// Tangos moving to the east.
|
|||
|
level.scr_sound[ "price" ][ "enemies_east" ] = "sniperescape_mcm_tangoseast";
|
|||
|
|
|||
|
// Targets southeast.
|
|||
|
level.scr_sound[ "price" ][ "enemies_southeast" ] = "sniperescape_mcm_targetsSE";
|
|||
|
|
|||
|
// More of them moving in from the south.
|
|||
|
level.scr_sound[ "price" ][ "enemies_south" ] = "sniperescape_mcm_morefromsouth";
|
|||
|
|
|||
|
// Contact southwest.
|
|||
|
level.scr_sound[ "price" ][ "enemies_southwest" ] = "sniperescape_mcm_contactSW";
|
|||
|
|
|||
|
// Hostiles closing from the west.
|
|||
|
level.scr_sound[ "price" ][ "enemies_west" ] = "sniperescape_mcm_hostileswest";
|
|||
|
|
|||
|
// More tangos to the northwest.
|
|||
|
level.scr_sound[ "price" ][ "enemies_northwest" ] = "sniperescape_mcm_tangosNW";
|
|||
|
|
|||
|
//* We'll lose 'em in that apartment! Come on!
|
|||
|
level.scr_sound[ "price" ][ "lose_them_in_apartment" ] = "sniperescape_mcm_apartmentcomeon";
|
|||
|
|
|||
|
// Quickly - plant a claymore in case they come this way!
|
|||
|
level.scr_sound[ "price" ][ "place_claymore" ] = "sniperescape_mcm_plantclaymore";
|
|||
|
|
|||
|
//* Standby<62>!
|
|||
|
level.scr_sound[ "price" ][ "standby" ] = "sniperescape_mcm_standby";
|
|||
|
|
|||
|
//* Now!
|
|||
|
level.scr_sound[ "price" ][ "now" ] = "sniperescape_mcm_now";
|
|||
|
|
|||
|
//* Bloody 'ell I<>m hit, I can't move!!!!
|
|||
|
level.scr_sound[ "price" ][ "im_hit" ] = "sniperescape_mcm_imhit";
|
|||
|
|
|||
|
//* Sorry mate, you're gonna have to carry me!
|
|||
|
level.scr_sound[ "price" ][ "carry_me" ] = "sniperescape_mcm_sorrymate";
|
|||
|
|
|||
|
//* Price! Put me down where I can cover you!
|
|||
|
level.scr_radio[ "put_me_down_1" ] = "sniperescape_mcm_coveryou";
|
|||
|
|
|||
|
//* Oi! Sit me down where I can cover your back!
|
|||
|
level.scr_radio[ "put_me_down_2" ] = "sniperescape_mcm_oisit";
|
|||
|
|
|||
|
//* You'd better put me down quick so I can fight back<63>
|
|||
|
level.scr_radio[ "put_me_down_quick" ] = "sniperescape_mcm_fightback";
|
|||
|
|
|||
|
//* Leftenant Price! Don't get too far ahead.
|
|||
|
level.scr_sound[ "price" ][ "dont_go_far" ] = "sniperescape_mcm_toofarahead";
|
|||
|
|
|||
|
// plays after you pick him up so its on the "radio" ie in your head
|
|||
|
// The extraction point is to the southwest. We can still make it if we hurry.
|
|||
|
level.scr_radio[ "extraction_is_southwest" ] = "sniperescape_mcm_makeithurry";
|
|||
|
|
|||
|
//* Got one.
|
|||
|
level.scr_sound[ "price" ][ "got_one" ] = "sniperescape_mcm_gotone";
|
|||
|
|
|||
|
//* Tango down.
|
|||
|
level.scr_sound[ "price" ][ "tango_down" ] = "sniperescape_mcm_tangodown";
|
|||
|
|
|||
|
//* He's down.
|
|||
|
level.scr_sound[ "price" ][ "he_is_down" ] = "sniperescape_mcm_hesdown";
|
|||
|
|
|||
|
//* Got another.
|
|||
|
level.scr_sound[ "price" ][ "got_another" ] = "sniperescape_mcm_gotanother";
|
|||
|
|
|||
|
//* Got him.
|
|||
|
level.scr_sound[ "price" ][ "got_him" ] = "sniperescape_mcm_gothim";
|
|||
|
|
|||
|
//* Target neutralized.
|
|||
|
level.scr_sound[ "price" ][ "target_neutralized" ] = "sniperescape_mcm_targetneutralized";
|
|||
|
|
|||
|
//* Head for that apartment, we'll try to lose 'em in there..
|
|||
|
level.scr_sound[ "price" ][ "head_for_apartment" ] = "sniperescape_mcm_headforapartment";
|
|||
|
|
|||
|
// We're almost there. The extraction point is on the other side of that building.
|
|||
|
level.scr_radio[ "almost_there" ] = "sniperescape_mcm_otherside";
|
|||
|
|
|||
|
// Leftenant Price, the meeting is underway. Enemy transport sighted entering the target area.
|
|||
|
level.scr_sound[ "price" ][ "transport_inbound" ] = "sniperescape_mcm_enemysighted";
|
|||
|
|
|||
|
|
|||
|
// Enemy contact up ahead. Let's cut through the woods.
|
|||
|
level.scr_sound[ "price" ][ "cut_through_woods" ] = "sniperescape_mcm_cutthruwoods";
|
|||
|
|
|||
|
// The extraction point is to the southwest. We can still make it if we hurry.
|
|||
|
level.scr_sound[ "price" ][ "extract_southwest" ] = "sniperescape_mcm_makeithurry";
|
|||
|
|
|||
|
// Head for that apartment, we'll try to lose 'em in there..
|
|||
|
level.scr_radio[ "head_for_apartment" ] = "sniperescape_mcm_headforapartment";
|
|||
|
|
|||
|
// Alright, go!
|
|||
|
level.scr_sound[ "price" ][ "alright_go" ] = "sniperescape_mcm_alrightgo";
|
|||
|
|
|||
|
// Get ready<64>
|
|||
|
level.scr_sound[ "price" ][ "get_ready" ] = "sniperescape_mcm_getready";
|
|||
|
|
|||
|
// Go!
|
|||
|
level.scr_sound[ "price" ][ "go!" ] = "sniperescape_mcm_go";
|
|||
|
|
|||
|
// Come on let's go!
|
|||
|
level.scr_sound[ "price" ][ "come_on_lets_go" ] = "sniperescape_mcm_comeon";
|
|||
|
|
|||
|
// It's time to move.
|
|||
|
level.scr_sound[ "price" ][ "time_to_move" ] = "sniperescape_mcm_timetomove";
|
|||
|
|
|||
|
// It's time to move.
|
|||
|
level.scr_sound[ "price" ][ "spotter_exit" ] = "sniperescape_mcm_timetomove";
|
|||
|
|
|||
|
|
|||
|
// You'd better put me down and sweep the rooms, I'll cover the entrance.
|
|||
|
level.scr_radio[ "sweep_the_rooms" ] = "sniperescape_mcm_putmedown";
|
|||
|
|
|||
|
// Easy does it<69>
|
|||
|
level.scr_sound[ "price" ][ "put_down_1" ] = "sniperescape_mcm_easydoesit";
|
|||
|
|
|||
|
// Easy now<6F>
|
|||
|
level.scr_sound[ "price" ][ "put_down_2" ] = "sniperescape_mcm_easynow";
|
|||
|
|
|||
|
// Careful<75>
|
|||
|
level.scr_sound[ "price" ][ "put_down_3" ] = "sniperescape_mcm_careful";
|
|||
|
|
|||
|
// It's time to move, give me a lift.
|
|||
|
level.scr_sound[ "price" ][ "lets_get_moving_1" ] = "sniperescape_mcm_givemealift";
|
|||
|
|
|||
|
// Looks like we're in the clear, we should get moving.
|
|||
|
level.scr_sound[ "price" ][ "lets_get_moving_2" ] = "sniperescape_mcm_intheclear";
|
|||
|
|
|||
|
// Leftenant, put me down in a good sniping position.
|
|||
|
level.scr_sound[ "price" ][ "good_sniping_position" ] = "sniperescape_mcm_snipingposition";
|
|||
|
|
|||
|
|
|||
|
// Great shot Leftenant! Now let's go! They'll be searching for us!
|
|||
|
//sniperescape_mcm_greatshot
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//* Enemy troops approaching. Find a spot where I can cover you and put me down.
|
|||
|
level.scr_radio[ "new_put_me_down_1" ] = "sniperescape_mcm_enemytroops";
|
|||
|
|
|||
|
//* Enemies closing in. Put me in a good spot where I can cover you.
|
|||
|
level.scr_radio[ "new_put_me_down_2" ] = "sniperescape_mcm_closingin";
|
|||
|
|
|||
|
//* Tangos closing fast! Put me in a good spot to cover you!
|
|||
|
level.scr_radio[ "new_put_me_down_3" ] = "sniperescape_mcm_tangosfast";
|
|||
|
|
|||
|
//* Tangos moving in! Find a spot where I can cover you and put me down!
|
|||
|
level.scr_radio[ "new_put_me_down_4" ] = "sniperescape_mcm_movingin";
|
|||
|
|
|||
|
//* If we run into trouble, you<6F>ll have to find a good spot to put me down so I can cover you.
|
|||
|
level.scr_radio[ "find_good_spot" ] = "sniperescape_mcm_findgoodspot";
|
|||
|
|
|||
|
//* Alpha Six, this is Big Bird. Standing by for your signal, over.
|
|||
|
level.scr_radio[ "waiting_for_signal" ] = "sniperescape_hp1_yoursignal";
|
|||
|
|
|||
|
|
|||
|
//* Good. Our helicopter is standing by at a safe distance. The enemy will try to overrun our LZ once they pick him up on radar, so find a good sniping spot and go prone. Once you're in position, I'll call in the helicopter. Go.
|
|||
|
level.scr_radio[ "find_sniping_spot" ] = "sniperescape_mcm_overrunlz";
|
|||
|
|
|||
|
|
|||
|
//* And if you have any claymores left, now is the time to use them.
|
|||
|
level.scr_radio[ "use_claymores" ] = "sniperescape_mcm_claymores";
|
|||
|
|
|||
|
|
|||
|
//* Find a good spot to snipe from and go prone.
|
|||
|
level.scr_radio[ "find_spot_go_prone" ] = "sniperescape_mcm_goprone";
|
|||
|
|
|||
|
//* Alright lad, I've activated the beacon. Good luck.
|
|||
|
level.scr_radio[ "activated_beacon" ] = "sniperescape_mcm_beacon";
|
|||
|
|
|||
|
|
|||
|
//* Alpha Six, we have a fix on your position. Hang tight. Big Bird out.
|
|||
|
level.scr_radio[ "have_a_fix" ] = "sniperescape_hp1_hangtight";
|
|||
|
|
|||
|
|
|||
|
//* Tangos in sight. Let them get closer.
|
|||
|
level.scr_radio[ "let_them_get_closer" ] = "sniperescape_mcm_getcloser";
|
|||
|
|
|||
|
|
|||
|
//* Standby to engage<67>
|
|||
|
level.scr_radio[ "standby_to_engage" ] = "sniperescape_mcm_standbyengage";
|
|||
|
|
|||
|
|
|||
|
//* Open fire.
|
|||
|
level.scr_radio[ "open_fire" ] = "sniperescape_mcm_openfire";
|
|||
|
|
|||
|
|
|||
|
//* WHERE'S MACMILLAAAN?!!!
|
|||
|
level.scr_radio[ "where_is_he" ] = "sniperescape_sas2_wheresmac";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//* Alpha Team, we're at the LZ. Standing by.
|
|||
|
level.scr_radio[ "heli_at_the_lz" ] = "sniperescape_hp1_atthelz";
|
|||
|
|
|||
|
|
|||
|
//* Alpha Team, we're at bingo fuel! You got thirty seconds!
|
|||
|
level.scr_radio[ "heli_got_thirty_seconds" ] = "sniperescape_hp1_bingofuel";
|
|||
|
|
|||
|
|
|||
|
//* Alpha Team, we are too low on fuel. We're outta here.
|
|||
|
level.scr_radio[ "heli_goodbye" ] = "sniperescape_hp1_toolow";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
// Forget these guys, we're going to get left behind! Let's get to the extraction point!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_1" ] = "sniperescape_mcm_leftbehind";
|
|||
|
|
|||
|
|
|||
|
// We've got to reach the extraction point before we run out of time! Keep moving!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_2" ] = "sniperescape_mcm_outoftime";
|
|||
|
|
|||
|
// We're going to get trapped if we stay here! Head for the extraction point!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_3" ] = "sniperescape_mcm_gettrapped";
|
|||
|
|
|||
|
// We've got to get to the LZ before time runs out! I'll watch your back! Go!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_4" ] = "sniperescape_mcm_gettolz";
|
|||
|
|
|||
|
|
|||
|
// Keep moving towards the extraction point! Go go go!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_5" ] = "sniperescape_mcm_keepmoving";
|
|||
|
|
|||
|
|
|||
|
// Price! We're wasting time here! We've got to head for the extraction point, now!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_6" ] = "sniperescape_mcm_wastingtime";
|
|||
|
|
|||
|
// We're running out of time! We've got to go!! We've got to go!!!!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_7" ] = "sniperescape_mcm_gottogo";
|
|||
|
|
|||
|
// Time's running out! Head for the LZ! I'll cover the rear!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_8" ] = "sniperescape_mcm_coverrear";
|
|||
|
|
|||
|
// Price! I'll cover your back! Head for the extraction point!!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_9" ] = "sniperescape_mcm_coverback";
|
|||
|
|
|||
|
// Price, forget it! We've got to move! We're running out of time!!!
|
|||
|
level.scr_sound[ "price" ][ "gotta_go_10" ] = "sniperescape_mcm_forgetit";
|
|||
|
|
|||
|
// We have fifteen minutes left to get to the extraction point.
|
|||
|
level.scr_sound[ "price" ][ "fifteen_minutes" ] = "sniperescape_mcm_15mins";
|
|||
|
|
|||
|
// We've got ten minutes left.
|
|||
|
level.scr_sound[ "price" ][ "ten_minuets" ] = "sniperescape_mcm_10mins";
|
|||
|
|
|||
|
// Eight minutes.
|
|||
|
level.scr_sound[ "price" ][ "eight_minutes" ] = "sniperescape_mcm_8mins";
|
|||
|
|
|||
|
// Six minutes left, let's keep moving.
|
|||
|
level.scr_sound[ "price" ][ "six_minutes" ] = "sniperescape_mcm_6mins";
|
|||
|
|
|||
|
// Five minutes.
|
|||
|
level.scr_sound[ "price" ][ "five_minutes" ] = "sniperescape_mcm_5mins";
|
|||
|
|
|||
|
|
|||
|
//* Wait. Make sure these rooms are clear first.
|
|||
|
level.scr_sound[ "price" ][ "wait_make_sure" ] = "sniperescape_mcm_makesureclear";
|
|||
|
|
|||
|
//* I will signal our transport in thirty seconds.
|
|||
|
level.scr_sound[ "price" ][ "signal_transport" ] = "sniperescape_mcm_signaltransport";
|
|||
|
|
|||
|
//* Put me down behind the Ferris wheel, where I can provide sniper support.
|
|||
|
level.scr_sound[ "price" ][ "put_down_behind_wheel" ] = "sniperescape_mcm_snipersupport";
|
|||
|
|
|||
|
//* This'll be fine.
|
|||
|
level.scr_sound[ "price" ][ "this_is_fine" ] = "sniperescape_mcm_thisllbefine";
|
|||
|
|
|||
|
//* A bit farther to the north, so I can get a clear shot.
|
|||
|
level.scr_sound[ "price" ][ "a_bit_farther_north" ] = "sniperescape_mcm_getaclearshot";
|
|||
|
|
|||
|
//* Get me over to that hill so I have a clear field of view.
|
|||
|
level.scr_sound[ "price" ][ "over_to_that_hill" ] = "sniperescape_mcm_clearview";
|
|||
|
|
|||
|
//* The enemy is bound to enter this area, so find a good sniping position.
|
|||
|
level.scr_sound[ "price" ][ "find_a_good_snipe" ] = "sniperescape_mcm_enterthisarea";
|
|||
|
|
|||
|
//* I will signal the helicopter in thirty seconds.
|
|||
|
level.scr_sound[ "price" ][ "i_will_signal_in_30" ] = "sniperescape_mcm_thirtysec";
|
|||
|
|
|||
|
// Prep the killzone by planting the rest of your claymores. Move.
|
|||
|
level.scr_sound[ "price" ][ "prep_the_killzone" ] = "sniperescape_mcm_prepkillzone";
|
|||
|
|
|||
|
//* Our helicopter is standing by at a safe distance.
|
|||
|
level.scr_sound[ "price" ][ "helicopter_is_standing_by" ] = "sniperescape_mcm_safedistance";
|
|||
|
|
|||
|
// Price, move me to a better position.
|
|||
|
level.scr_sound[ "price" ][ "move_me" ] = "sniperescape_mcm_betterposition";
|
|||
|
|
|||
|
//* Check your compass for the best location.
|
|||
|
level.scr_sound[ "price" ][ "check_your_compass" ] = "sniperescape_mcm_checkcompass";
|
|||
|
|
|||
|
//* Pick me up and move me a bit farther to the north.
|
|||
|
level.scr_sound[ "price" ][ "pick_me_up_and_move_me" ] = "sniperescape_mcm_pickupnorth";
|
|||
|
|
|||
|
//* A bit farther to the north<74>
|
|||
|
level.scr_sound[ "price" ][ "a_bit_farther_north_2" ] = "sniperescape_mcm_farthernorth";
|
|||
|
|
|||
|
//* Over there. Put me down on the rise behind the Ferris wheel.
|
|||
|
level.scr_sound[ "price" ][ "over_there_behind_ferris_wheel" ] = "sniperescape_mcm_behindferris";
|
|||
|
|
|||
|
level.heli_flag[ "cant_pick_up_price" ] = "near_pool";
|
|||
|
// The fugitives are near the swimming pool complex! Send Groups A and B to cut them off now!
|
|||
|
level.scr_sound[ "heli" ][ "near_pool" ] = "sniperescape_rul_nearpool";
|
|||
|
|
|||
|
level.heli_flag[ "player_abandon_protection" ] = "amusement_park";
|
|||
|
// They are heading towards the amusement park! We need reinforcements in sector three!
|
|||
|
level.scr_sound[ "heli" ][ "amusement_park" ] = "sniperescape_rul_amusementpk";
|
|||
|
|
|||
|
level.heli_flag[ "start_heat_spawners" ] = "hotel_police";
|
|||
|
// Enemy sighted near the Hotel Polissia! I repeat, enemy soldiers are moving from the Hotel Polissia!
|
|||
|
level.scr_sound[ "heli" ][ "hotel_police" ] = "sniperescape_rul_hotelpolissa";
|
|||
|
|
|||
|
level.heli_flag[ "stop_east_spawners" ] = "cut_exits";
|
|||
|
// They've moved into Apartment Block D, we can't follow them in there. Cut off all the exits and stop them at the park.
|
|||
|
level.scr_sound[ "heli" ][ "cut_exits" ] = "sniperescape_rul_cutoffexits";
|
|||
|
|
|||
|
level.heli_flag[ "enter_burnt" ] = "snipers_in_area";
|
|||
|
// Enemy snipers are in the area! They are hiding in the apartment blocks! Find them!
|
|||
|
level.scr_sound[ "heli" ][ "snipers_in_area" ] = "sniperescape_rul_snipersinarea";
|
|||
|
|
|||
|
level.heli_flag[ "to_the_pool" ] = "south_of_city";
|
|||
|
// Team five, search the swimming pool area! Team six, search the buildings to the south of the city!
|
|||
|
level.scr_sound[ "heli" ][ "south_of_city" ] = "sniperescape_rul_southofcity";
|
|||
|
|
|||
|
level.heli_flag[ "player_leaves_price_wounding" ] = "cover_woods";
|
|||
|
// They may be moving towards the northern end of the city! Send two more teams to cover the woods to the north!
|
|||
|
level.scr_sound[ "heli" ][ "cover_woods" ] = "sniperescape_rul_coverwoods";
|
|||
|
|
|||
|
level.heli_flag[ "plant_claymore" ] = "move_move";
|
|||
|
// The enemy snipers have been spotted moving through the courtyards between the apartment buildings! Move! Move!
|
|||
|
level.scr_sound[ "heli" ][ "move_move" ] = "sniperescape_rul_movemove";
|
|||
|
|
|||
|
|
|||
|
//* Quick, plant a claymore by the door up ahead!
|
|||
|
level.scr_radio[ "plant_claymore_by_door" ] = "sniperescape_mcm_bydoor";
|
|||
|
|
|||
|
// Enemy moving on your left flank!
|
|||
|
level.scr_radio[ "enemy_left_flank" ] = "snescape_mcm_movinglt";
|
|||
|
|
|||
|
// Enemy moving on your right flank!
|
|||
|
level.scr_radio[ "enemy_right_flank" ] = "snescape_mcm_movingrt";
|
|||
|
|
|||
|
// Enemy flanking on your left!
|
|||
|
level.scr_radio[ "enemy_left_flank_2" ] = "snescape_mcm_ltflank";
|
|||
|
|
|||
|
// Enemy flanking on your right!
|
|||
|
level.scr_radio[ "enemy_right_flank_2" ] = "snescape_mcm_rtflank";
|
|||
|
|
|||
|
//* Damn, it went wide! Probably should've waited for the wind to die down.
|
|||
|
level.scr_radio[ "went_wide" ] = "snescape_mcm_wentwide";
|
|||
|
|
|||
|
//* The target's still standing! Keep firing!
|
|||
|
level.scr_radio[ "target_still_standing" ] = "snescape_mcm_stillstand";
|
|||
|
|
|||
|
//* Target down. I think I saw his arm fly off. Nice work Leftenant. We got him.
|
|||
|
level.scr_radio[ "target_down_1" ] = "snescape_mcm_wegothim";
|
|||
|
|
|||
|
//* Target down. I think you blew off his arm. Shock and blood loss'll take care of the rest.
|
|||
|
level.scr_radio[ "target_down_2" ] = "snescape_mcm_shock";
|
|||
|
|
|||
|
//* Target is down! Nice shot Leftenant.
|
|||
|
level.scr_radio[ "target_down_3" ] = "snescape_mcm_niceshotlt";
|
|||
|
|
|||
|
//* It's now or never, take the shot!
|
|||
|
level.scr_radio[ "now_or_never" ] = "snescape_mcm_nownever";
|
|||
|
|
|||
|
//* (labored breathing reactions)
|
|||
|
level.scr_radio[ "pickup_breathing" ] = "sniperescape_mcm_breathing";
|
|||
|
|
|||
|
//* Take the rest of my claymores, now is the time to use them.
|
|||
|
level.scr_radio[ "take_my_claymores" ] = "snescape_mcm_takemy";
|
|||
|
|
|||
|
//* Enemy choppers inbound!
|
|||
|
level.scr_radio[ "enemy_choppers" ] = "snescape_mcm_enemychop";
|
|||
|
|
|||
|
//* Watch out!
|
|||
|
level.scr_radio[ "watch_out_1" ] = "snescape_mcm_watchout";
|
|||
|
|
|||
|
//* Pay attention!
|
|||
|
level.scr_radio[ "watch_out_2" ] = "snescape_mcm_payattention";
|
|||
|
|
|||
|
//* Big Bird we are heavily out numbered, where are you?
|
|||
|
level.scr_radio[ "where_are_you" ] = "sniperescape_mcm_bigbird";
|
|||
|
|
|||
|
//* Copy that Alpha, we'll be there ASAP. Hold tight.
|
|||
|
level.scr_radio[ "be_there_asap" ] = "sniperescape_hp1_holdtight";
|
|||
|
|
|||
|
//* Are you insane?
|
|||
|
level.scr_radio[ "are_you_insane" ] = "scoutsniper_mcm_youinsane";
|
|||
|
|
|||
|
level.scr_radio[ "scoutsniper_mcm_youdaft" ] = "scoutsniper_mcm_youdaft";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
level.scr_anim[ "axis" ][ "patrolwalk_1" ] = %huntedrun_2;
|
|||
|
level.scr_anim[ "axis" ][ "patrolwalk_2" ] = %huntedrun_2;
|
|||
|
level.scr_anim[ "axis" ][ "patrolwalk_3" ] = %huntedrun_2;
|
|||
|
level.scr_anim[ "axis" ][ "patrolwalk_4" ] = %huntedrun_2;
|
|||
|
level.scr_anim[ "axis" ][ "patrolwalk_5" ] = %huntedrun_2;
|
|||
|
*/
|
|||
|
|
|||
|
player_rappel();
|
|||
|
dog_anims();
|
|||
|
seaknight_anims();
|
|||
|
script_models();
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/*
|
|||
|
|
|||
|
// Now get on the Barrett rifle and wait for my signal. Do not engage until I give the word.
|
|||
|
sniperescape_mcm_getonrifle
|
|||
|
|
|||
|
// Remember what I've taught you. Keep in mind variable humidity and wind speed along the bullet's flight path. At this distance you<6F>ll also have to take the Coriolis effect into account.
|
|||
|
sniperescape_mcm_corioliseffect
|
|||
|
|
|||
|
// Prepare for ranging. Standby.
|
|||
|
sniperescape_mcm_prepranging
|
|||
|
|
|||
|
// White truck on the left, range, 1203.5 meters.
|
|||
|
sniperescape_mcm_whitetruck
|
|||
|
|
|||
|
// Range to BMP, 1207 meters.
|
|||
|
sniperescape_mcm_bmprange
|
|||
|
|
|||
|
// The table with the briefcase, range, 1206 meters.
|
|||
|
sniperescape_mcm_table
|
|||
|
|
|||
|
// Ok... I think I see him. Wait for my mark.
|
|||
|
sniperescape_mcm_mymark
|
|||
|
|
|||
|
// Target...acquired. I have a positive I.D. on Imran Zakhaev.
|
|||
|
sniperescape_mcm_positiveid
|
|||
|
|
|||
|
// Ach, where did he come from? Patience laddie... Wait for a clear shot<6F>.
|
|||
|
sniperescape_mcm_clearshot
|
|||
|
|
|||
|
// Ok take the shot.
|
|||
|
sniperescape_mcm_taketheshot
|
|||
|
|
|||
|
// Damn, my line of sight was blocked. Did you take him out? I thought I saw his arm fly off! Can you see him?
|
|||
|
sniperescape_mcm_armflyoff
|
|||
|
|
|||
|
// Shit... they<65>re on to us! Take out that helicopter, it<69>ll buy us some time!
|
|||
|
sniperescape_mcm_buysometime
|
|||
|
|
|||
|
// Great shot Leftenant! Now let's go! They'll be searching for us!
|
|||
|
sniperescape_mcm_greatshot
|
|||
|
|
|||
|
// We<57>ll have to take the short cut! Follow my lead!
|
|||
|
sniperescape_mcm_shortcut
|
|||
|
|
|||
|
|
|||
|
// Delta Two Four, this is Alpha Six! We have been compromised, I repeat we have been compromised, now heading to Extraction Point four!
|
|||
|
sniperescape_mcm_comrpomised
|
|||
|
|
|||
|
Contact north. sniperescape_mcm_contactnorth
|
|||
|
Movement. Northeast. sniperescape_mcm_movementNE
|
|||
|
Tangos moving to the east. sniperescape_mcm_tangoseast
|
|||
|
Targets southeast. sniperescape_mcm_targetsSE
|
|||
|
Contact south. sniperescape_mcm_contactsouth
|
|||
|
Contact southwest. sniperescape_mcm_contactSW
|
|||
|
Hostiles closing from the west. sniperescape_mcm_hostileswest
|
|||
|
Contact northwest. sniperescape_mcm_contactNW
|
|||
|
More coming from the north. sniperescape_mcm_comingnorth
|
|||
|
More coming from the northeast. sniperescape_mcm_moreNE
|
|||
|
More to the east. sniperescape_mcm_moreeast
|
|||
|
More hostiles to the southeast. sniperescape_mcm_hostilesSE
|
|||
|
More of them moving in from the south. sniperescape_mcm_morefromsouth
|
|||
|
More to the southwest. sniperescape_mcm_moreSW
|
|||
|
More tangos to the west. sniperescape_mcm_tangoswest
|
|||
|
More tangos to the northwest. sniperescape_mcm_tangosNW
|
|||
|
In the woods to the north! sniperescape_mcm_woodsnorth
|
|||
|
Movement in the woods to the northeast. sniperescape_mcm_woodsNE
|
|||
|
More in the woods to the east. sniperescape_mcm_woodseast
|
|||
|
In the woods to the southeast! sniperescape_mcm_woodsSE
|
|||
|
Enemies in the woods to the south. sniperescape_mcm_woodssouth
|
|||
|
In the woods to the southwest. sniperescape_mcm_woodsSW
|
|||
|
In the woods to the west! sniperescape_mcm_woodswest
|
|||
|
They're in the woods to the northwest! sniperescape_mcm_woodsNW
|
|||
|
In the bushes to the north. sniperescape_mcm_bushesnorth
|
|||
|
In the bushes to the northeast. sniperescape_mcm_bushesNE
|
|||
|
In the bushes to the east. sniperescape_mcm_busheseast
|
|||
|
To the southeast, in the bushes. sniperescape_mcm_bushesSE
|
|||
|
More tangos in the bushes to the south. sniperescape_mcm_tangosbushesS
|
|||
|
Enemies moving in the bushes to the southeast. sniperescape_mcm_enemiesSE
|
|||
|
Movement behind us. Coming through the bushes to the west. sniperescape_mcm_busheswest
|
|||
|
More enemies behind us, in the bushes to the northwest. sniperescape_mcm_bushesNW
|
|||
|
In the woods! sniperescape_mcm_inthewoods
|
|||
|
More behind us! sniperescape_mcm_morebehind
|
|||
|
|
|||
|
|
|||
|
Price! Put me down where I can cover you! sniperescape_mcm_coveryou
|
|||
|
|
|||
|
Oi! Sit me down where I can cover your back! sniperescape_mcm_oisit
|
|||
|
|
|||
|
You'd better put me down quick so I can fight back<63> sniperescape_mcm_fightback
|
|||
|
|
|||
|
|
|||
|
Leftenant Price! Don't get too far ahead. sniperescape_mcm_toofarahead
|
|||
|
|
|||
|
Got one. sniperescape_mcm_gotone
|
|||
|
|
|||
|
Tango down. sniperescape_mcm_tangodown
|
|||
|
|
|||
|
He's down. sniperescape_mcm_hesdown
|
|||
|
|
|||
|
Got another. sniperescape_mcm_gotanother
|
|||
|
|
|||
|
Target neutralized. sniperescape_mcm_targetneutralized
|
|||
|
|
|||
|
Got him. sniperescape_mcm_gothim
|
|||
|
|
|||
|
// We're almost there. The extraction point is on the other side of that building.
|
|||
|
sniperescape_mcm_otherside
|
|||
|
|
|||
|
// The fugitives are near the swimming pool complex! Send Groups A and B to cut them off now!
|
|||
|
sniperescape_rul_nearpool
|
|||
|
|
|||
|
// They are heading towards the amusement park! We need reinforcements in sector three!
|
|||
|
sniperescape_rul_amusementpk
|
|||
|
|
|||
|
// Enemy sighted near the Hotel Polissia! I repeat, enemy soldiers are moving from the Hotel Polissia!
|
|||
|
sniperescape_rul_hotelpolissa
|
|||
|
|
|||
|
// They've moved into Apartment Block D, we can't follow them in there. Cut off all the exits and stop them at the park.
|
|||
|
sniperescape_rul_cutoffexits
|
|||
|
|
|||
|
*/
|
|||
|
|
|||
|
#using_animtree( "player" );
|
|||
|
player_rappel()
|
|||
|
{
|
|||
|
level.scr_anim[ "player_rappel" ][ "rappel" ] = %sniper_escape_player_rappel;
|
|||
|
level.scr_animtree[ "player_rappel" ] = #animtree;
|
|||
|
level.scr_model[ "player_rappel" ] = "viewhands_player_marines";
|
|||
|
|
|||
|
level.scr_anim[ "player_carry" ][ "wounded_putdown" ] = %sniper_escape_player_putdown;
|
|||
|
level.scr_anim[ "player_carry" ][ "wounded_pickup" ] = %sniper_escape_player_getup;
|
|||
|
level.scr_animtree[ "player_carry" ] = #animtree;
|
|||
|
level.scr_model[ "player_carry" ] = "viewhands_player_marines";
|
|||
|
|
|||
|
level.scr_anim[ "player_carry" ][ "wounded_seaknight_putdown" ] = %airlift_player_putdown;
|
|||
|
level.scr_anim[ "player_carry" ][ "crash_pickup" ] = %sniper_escape_crash_pickup_player;
|
|||
|
}
|
|||
|
|
|||
|
#using_animtree( "dog" );
|
|||
|
|
|||
|
dog_anims()
|
|||
|
{
|
|||
|
level.scr_anim[ "dog" ][ "fence_attack" ] = %sniper_escape_dog_fence;
|
|||
|
level.scr_anim[ "generic" ][ "dog_food" ][ 0 ] = %german_shepherd_eating;
|
|||
|
level.scr_anim[ "generic" ][ "dog_food_w_sound" ][ 0 ] = %german_shepherd_eating;
|
|||
|
level.scr_anim[ "generic" ][ "dog_food_nonidle" ] = %german_shepherd_eating;
|
|||
|
|
|||
|
level.scr_sound[ "generic" ][ "dog_food_w_sound" ][ 0 ] = "anml_dog_eating_body";
|
|||
|
|
|||
|
|
|||
|
// addNotetrack_sound( "dog", "sound_dog_attack_fence", "fence_attack", "anml_dog_attack_jump" );
|
|||
|
addNotetrack_sound( "dog", "fence", "fence_attack", "fence_smash" );
|
|||
|
}
|
|||
|
|
|||
|
#using_animtree( "vehicles" );
|
|||
|
seaknight_anims()
|
|||
|
{
|
|||
|
level.scr_anim[ "seaknight" ][ "idle" ][ 0 ] = %sniper_escape_ch46_idle;
|
|||
|
level.scr_anim[ "seaknight" ][ "landing" ] = %sniper_escape_ch46_land;
|
|||
|
level.scr_anim[ "seaknight" ][ "take_off" ] = %sniper_escape_ch46_take_off;
|
|||
|
|
|||
|
addNotetrack_customFunction( "seaknight", "fade", maps\sniperescape::end_level, "take_off" );
|
|||
|
|
|||
|
addNotetrack_customFunction( "mi28", "rotor", maps\sniperescape_wounding::rotor_blades );
|
|||
|
|
|||
|
level.scr_anim[ "seaknight" ][ "rotors" ] = %sniper_escape_ch46_rotors;
|
|||
|
level.scr_animtree[ "seaknight" ] = #animtree;
|
|||
|
|
|||
|
level.scr_anim[ "mi28" ][ "entrance" ] = %sniper_escape_crash_mi28_entrance;
|
|||
|
level.scr_anim[ "mi28" ][ "idle" ][ 0 ] = %sniper_escape_crash_mi28_idle;
|
|||
|
level.scr_anim[ "mi28" ][ "crash" ] = %sniper_escape_crash_mi28_crash;
|
|||
|
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
#using_animtree( "script_model" );
|
|||
|
script_models()
|
|||
|
{
|
|||
|
level.scr_anim[ "zakhaev" ][ "zak_pain" ] = %sniper_escape_meeting_zakhaev_hit_front; //exposed_pain_2_crouch;
|
|||
|
level.scr_anim[ "generic" ][ "zak_pain_back" ] = %sniper_escape_meeting_zakhaev_hit_back; //exposed_pain_2_crouch;
|
|||
|
level.scr_animtree[ "zakhaev" ] = #animtree;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "curtain" ][ "curtain_right" ] = %chechnya_curtain_sway_le;
|
|||
|
level.scr_anim[ "curtain" ][ "curtain_left" ] = %chechnya_curtain_sway_ri;
|
|||
|
level.scr_animtree[ "curtain" ] = #animtree;
|
|||
|
level.scr_model[ "curtain" ] = "ch_curtain01";
|
|||
|
|
|||
|
level.scr_animtree[ "rope" ] = #animtree;
|
|||
|
level.scr_model[ "rope" ] = "rappelrope100_ri";
|
|||
|
|
|||
|
level.scr_anim[ "player_rope" ][ "rappel_for_player" ] = %sniper_escape_player_start_rappelrope100;
|
|||
|
level.scr_animtree[ "player_rope" ] = #animtree;
|
|||
|
level.scr_model[ "player_rope" ] = "rappelrope100_le";
|
|||
|
|
|||
|
level.scr_anim[ "player_rope_obj" ][ "rappel_for_player" ] = %sniper_escape_player_start_rappelrope100;
|
|||
|
level.scr_animtree[ "player_rope_obj" ] = #animtree;
|
|||
|
level.scr_model[ "player_rope_obj" ] = "rappelrope100_le_obj";
|
|||
|
|
|||
|
level.scr_anim[ "rope" ][ "rappel_end" ] = %sniper_escape_rappel_finish_rappelrope100;
|
|||
|
level.scr_anim[ "rope" ][ "rappel_start" ] = %sniper_escape_rappel_start_rappelrope100;
|
|||
|
level.scr_anim[ "rope" ][ "rappel_idle" ][ 0 ] = %sniper_escape_rappel_idle_rappelrope100;
|
|||
|
|
|||
|
level.scr_anim[ "briefcase" ][ "exchange" ] = %sniper_escape_meeting_briefcase;
|
|||
|
level.scr_animtree[ "briefcase" ] = #animtree;
|
|||
|
|
|||
|
level.scr_anim[ "brick" ][ "exchange" ] = %sniper_escape_meeting_briefcase;
|
|||
|
level.scr_animtree[ "brick" ] = #animtree;
|
|||
|
|
|||
|
level.scr_anim[ "flag" ][ "up" ] = %sniper_escape_flag_wave_up;
|
|||
|
level.scr_anim[ "flag" ][ "down" ] = %sniper_escape_flag_wave_down;
|
|||
|
level.scr_animtree[ "flag" ] = #animtree;
|
|||
|
|
|||
|
if ( !level.sniperescape_fastload )
|
|||
|
{
|
|||
|
level.scr_model[ "binocs" ] = "weapon_binocular";
|
|||
|
level.scr_model[ "flag" ] = "prop_car_flag";
|
|||
|
level.scr_model[ "brick" ] = "com_golden_brick";
|
|||
|
level.scr_model[ "briefcase" ] = "com_gold_brick_case";
|
|||
|
level.scr_model[ "zak_one_arm" ] = "body_complete_onearm_sp_zakhaev";
|
|||
|
level.scr_model[ "zak_left_arm" ] = "zakhaev_left_arm";
|
|||
|
}
|
|||
|
|
|||
|
level.scr_animtree[ "zak_left_arm" ] = #animtree;
|
|||
|
level.scr_anim[ "zak_left_arm" ][ "zak_pain" ] = %sniper_escape_meeting_zakhaev_hit_arm_front;
|
|||
|
|
|||
|
addNotetrack_flag( "briefcase", "dust", "briefcase_placed", "exchange" );
|
|||
|
|
|||
|
|
|||
|
level.scr_model[ "tag_gunner" ] = "vehicle_mi-28_window_front";
|
|||
|
|
|||
|
level.scr_model[ "tag_pilot" ] = "vehicle_mi-28_window_back";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
level.scr_model[ "blade1" ] = "vehicle_mi-28_hub";
|
|||
|
level.scr_model[ "blade2" ] = "vehicle_mi-28_blade1";
|
|||
|
level.scr_model[ "blade3" ] = "vehicle_mi-28_blade2";
|
|||
|
level.scr_model[ "blade4" ] = "vehicle_mi-28_blade3";
|
|||
|
level.scr_model[ "blade5" ] = "vehicle_mi-28_blade4";
|
|||
|
|
|||
|
addNotetrack_customFunction( "blade1", "blade", ::remove_blade );
|
|||
|
addNotetrack_customFunction( "blade2", "blade", ::remove_blade );
|
|||
|
addNotetrack_customFunction( "blade3", "blade", ::remove_blade );
|
|||
|
addNotetrack_customFunction( "blade4", "blade", ::remove_blade );
|
|||
|
addNotetrack_customFunction( "blade5", "blade", ::remove_blade );
|
|||
|
|
|||
|
level.scr_animtree[ "blade1" ] = #animtree;
|
|||
|
level.scr_animtree[ "blade2" ] = #animtree;
|
|||
|
level.scr_animtree[ "blade3" ] = #animtree;
|
|||
|
level.scr_animtree[ "blade4" ] = #animtree;
|
|||
|
level.scr_animtree[ "blade5" ] = #animtree;
|
|||
|
|
|||
|
level.scr_anim[ "blade1" ][ "spin" ] = %sniper_escape_crash_mi28_rotor_1;
|
|||
|
level.scr_anim[ "blade2" ][ "spin" ] = %sniper_escape_crash_mi28_rotor_2;
|
|||
|
level.scr_anim[ "blade3" ][ "spin" ] = %sniper_escape_crash_mi28_rotor_3;
|
|||
|
level.scr_anim[ "blade4" ][ "spin" ] = %sniper_escape_crash_mi28_rotor_4;
|
|||
|
level.scr_anim[ "blade5" ][ "spin" ] = %sniper_escape_crash_mi28_rotor_5;
|
|||
|
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "dead_pilot" ] = %sniper_escape_crash_mi28_pilot;
|
|||
|
level.scr_anim[ "generic" ][ "dead_gunner" ] = %sniper_escape_crash_mi28_copilot;
|
|||
|
level.scr_animtree[ "dead_heli_pilot" ] = #animtree;
|
|||
|
}
|