484 lines
22 KiB
Plaintext
484 lines
22 KiB
Plaintext
|
#include maps\_utility;
|
|||
|
#include common_scripts\utility;
|
|||
|
#include maps\_anim;
|
|||
|
|
|||
|
#using_animtree( "generic_human" );
|
|||
|
main()
|
|||
|
{
|
|||
|
precacheModel( "com_cellphone_on" );
|
|||
|
precacheModel( "com_metal_briefcase" );
|
|||
|
|
|||
|
civilian_walk_loops();
|
|||
|
favela_anims();
|
|||
|
civilian_stand_loops();
|
|||
|
fence_dog_anims();
|
|||
|
vehicle_anims();
|
|||
|
player_anims();
|
|||
|
model_anims();
|
|||
|
dialog();
|
|||
|
}
|
|||
|
|
|||
|
civilian_walk_loops()
|
|||
|
{
|
|||
|
three_twitch_weights = [];
|
|||
|
three_twitch_weights[0] = 2;
|
|||
|
three_twitch_weights[1] = 1;
|
|||
|
three_twitch_weights[2] = 1;
|
|||
|
three_twitch_weights[3] = 1;
|
|||
|
|
|||
|
weights = [];
|
|||
|
weights[ 0 ] = 7;
|
|||
|
weights[ 1 ] = 3;
|
|||
|
one_twitch_weights = get_cumulative_weights( weights );
|
|||
|
|
|||
|
level.scr_anim[ "civilian_cellphone_walk" ][ "run_noncombat" ][ 0 ] = %civilian_cellphonewalk;
|
|||
|
level.scr_anim[ "civilian_cellphone_walk" ][ "run_noncombat" ][ 1 ] = %civilian_cellphonewalk_twitch;
|
|||
|
level.scr_anim[ "civilian_cellphone_walk" ][ "run_weights" ] = one_twitch_weights;
|
|||
|
level.scr_anim[ "civilian_cellphone_walk" ][ "dodge_left" ] = %civilian_cellphonewalk_dodge_L;
|
|||
|
level.scr_anim[ "civilian_cellphone_walk" ][ "dodge_right" ] = %civilian_cellphonewalk_dodge_R;
|
|||
|
level.scr_anim[ "civilian_cellphone_walk" ][ "turn_left_90" ] = %civilian_cellphonewalk_turn_L;
|
|||
|
level.scr_anim[ "civilian_cellphone_walk" ][ "turn_right_90" ] = %civilian_cellphonewalk_turn_R;
|
|||
|
|
|||
|
level.scr_anim[ "civilian_hurried_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_hurried_1;
|
|||
|
level.scr_anim[ "civilian_hurried_walk" ][ "run_noncombat" ][ 1 ] = %civilian_walk_hurried_2;
|
|||
|
|
|||
|
level.scr_anim[ "civilian_cool_walk" ][ "run_noncombat" ][ 0 ] = %civilian_walk_cool;
|
|||
|
|
|||
|
level.scr_anim[ "civilian_briefcase_walk" ][ "run_noncombat" ][ 0 ] = %civilian_briefcase_walk;
|
|||
|
level.scr_anim[ "civilian_briefcase_walk" ][ "dodge_left" ] = %civilian_briefcase_walk_dodge_L;
|
|||
|
level.scr_anim[ "civilian_briefcase_walk" ][ "dodge_right" ] = %civilian_briefcase_walk_dodge_R;
|
|||
|
level.scr_anim[ "civilian_briefcase_walk" ][ "turn_left_90" ] = %civilian_briefcase_walk_turn_L;
|
|||
|
level.scr_anim[ "civilian_briefcase_walk" ][ "turn_right_90" ] = %civilian_briefcase_walk_turn_R;
|
|||
|
}
|
|||
|
|
|||
|
civilian_stand_loops()
|
|||
|
{
|
|||
|
// STAND LOOPS
|
|||
|
level.scr_anim[ "generic" ][ "civilian_stand_idle" ][ 0 ] = %civilian_stand_idle;
|
|||
|
level.scr_anim[ "generic" ][ "civilian_smoking_A" ][ 0 ] = %civilian_smoking_A;
|
|||
|
level.scr_anim[ "generic" ][ "civilian_smoking_B" ][ 0 ] = %civilian_smoking_B;
|
|||
|
level.scr_anim[ "generic" ][ "civilian_directions_1_A" ][ 0 ] = %civilian_directions_1_A;
|
|||
|
level.scr_anim[ "generic" ][ "civilian_directions_1_B" ][ 0 ] = %civilian_directions_1_B;
|
|||
|
level.scr_anim[ "generic" ][ "civilian_hackey_guy1" ][ 0 ] = %civilian_hackey_guy1;
|
|||
|
level.scr_anim[ "generic" ][ "civilian_hackey_guy2" ][ 0 ] = %civilian_hackey_guy2;
|
|||
|
}
|
|||
|
|
|||
|
favela_anims()
|
|||
|
{
|
|||
|
level.scr_anim[ "generic" ][ "bike_rider" ] = %favela_bicycle_rider;
|
|||
|
|
|||
|
level.scr_anim[ "makarov" ][ "opening_scene" ] = %favela_van_shootout_guy1;
|
|||
|
level.scr_anim[ "makarov" ][ "opening_scene_shoot" ][ 0 ] = %favela_van_shootout_guy1_aimidle;
|
|||
|
level.scr_anim[ "makarov" ][ "opening_scene_flee" ] = %favela_van_shootout_guy1_runaway;
|
|||
|
level.scr_anim[ "makarov" ][ "stand_fire" ] = %pistol_stand_fire_A;
|
|||
|
|
|||
|
level.scr_anim[ "gunner1" ][ "opening_scene" ] = %favela_van_shootout_guy2;
|
|||
|
level.scr_anim[ "gunner2" ][ "opening_scene" ] = %favela_van_shootout_guy3;
|
|||
|
level.scr_anim[ "driver" ][ "opening_scene" ] = %favela_van_shootout_guy4;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "airport_civ_fear_drop_5" ] = %airport_civ_fear_drop_5;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "airport_civ_dying_groupA_kneel" ] = %airport_civ_dying_groupA_kneel;
|
|||
|
level.scr_anim[ "generic" ][ "airport_civ_dying_groupA_lean" ] = %airport_civ_dying_groupA_lean;
|
|||
|
|
|||
|
level.scr_anim[ "driver" ][ "idle" ][ 0 ] = %coup_driver_idle;
|
|||
|
level.scr_anim[ "driver" ][ "center2right" ] = %coup_driver_center2smallright;
|
|||
|
level.scr_anim[ "driver" ][ "right2center" ] = %coup_driver_smallright2center;
|
|||
|
level.scr_anim[ "driver" ][ "react" ] = %favela_opening_driver_death;
|
|||
|
addNotetrack_customFunction( "driver", "bullet hit", maps\favela::driver_shot_in_head );
|
|||
|
addNotetrack_customFunction( "driver", "steering hit", maps\favela::driver_falls_on_horn );
|
|||
|
|
|||
|
level.scr_anim[ "curtain_pull" ][ "pulldown" ] = %favela_curtain_pull;
|
|||
|
level.scr_anim[ "generic" ][ "window_smash" ] = %window_melee;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "civilian_window_1" ] = %unarmed_shout_window_v2;
|
|||
|
level.scr_sound[ "generic" ][ "civilian_window_1" ] = "civilian_window_shout_1";
|
|||
|
|
|||
|
level.scr_anim[ "desert_eagle_guy" ][ "run" ] = %unarmed_run_russian;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "run_death_roll" ] = %run_death_roll;
|
|||
|
|
|||
|
level.scr_anim[ "generic" ][ "alley_death_fall" ] = %civilian_run_2_crawldeath;
|
|||
|
addNotetrack_animSound( "generic", "alley_death_fall", "bodyfall large", "scn_favela_death_crawl" );
|
|||
|
|
|||
|
level.scr_anim[ "meat" ][ "favela_warning_jump" ] = %favela_civ_warning_jump;
|
|||
|
level.scr_anim[ "meat" ][ "favela_warning_landing" ] = %favela_civ_warning_landing;
|
|||
|
//level.scr_sound[ "meat" ][ "favela_warning_landing" ] = "favela_met_notsafe"; // It's not safe to be here!! Get as far away as you can!!
|
|||
|
|
|||
|
level.scr_anim[ "mactavish" ][ "run_and_wave" ] = %favela_run_and_wave;
|
|||
|
level.scr_sound[ "mactavish" ][ "run_and_wave" ] = "favela_cmt_gettingaway"; // He's getting away!! Roach let's go let's go!!!
|
|||
|
|
|||
|
level.scr_anim[ "faust" ][ "ending_takedown" ] = %favela_ending_runner;
|
|||
|
level.scr_anim[ "mactavish" ][ "ending_takedown" ] = %favela_ending_soldier;
|
|||
|
addNotetrack_dialogue( "mactavish", "dialog", "ending_takedown", "favela_cmt_gotpackage" );
|
|||
|
addNotetrack_animSound( "mactavish", "ending_takedown", "break_glass", "scn_favela_npc_through_window" );
|
|||
|
addNotetrack_customFunction( "mactavish", "break_glass", maps\favela_code::dive_through_glass );
|
|||
|
|
|||
|
level.scr_anim[ "torture_enemy" ][ "torture" ] = %favela_torture_sequence_prisoner;
|
|||
|
level.scr_anim[ "torture_friend1" ][ "torture" ] = %favela_torture_sequence_soldier1;
|
|||
|
level.scr_anim[ "torture_friend2" ][ "torture" ] = %favela_torture_sequence_soldier2;
|
|||
|
level.scr_sound[ "torture_friend2" ][ "torture" ] = "favela_cmt_hidinginfav"; // Roach, this is going to take some time. Go with Meat and Royce and check out the favela for any sign of Faust - that's where this guy was headed.
|
|||
|
addNotetrack_flag( "torture_friend2", "pull_start", "drop_door" );
|
|||
|
|
|||
|
level.scr_anim[ "trailer" ][ "casual_stand_v2_twitch_talk" ][ 0 ] = %casual_stand_v2_twitch_talk;
|
|||
|
}
|
|||
|
|
|||
|
#using_animtree( "dog" );
|
|||
|
fence_dog_anims()
|
|||
|
{
|
|||
|
level.scr_anim[ "dog" ][ "fence_attack" ] = %sniper_escape_dog_fence;
|
|||
|
}
|
|||
|
|
|||
|
#using_animtree( "vehicles" );
|
|||
|
vehicle_anims()
|
|||
|
{
|
|||
|
level.scr_animtree[ "van" ] = #animtree;
|
|||
|
level.scr_anim[ "van" ][ "door_open" ] = %favela_van_shootout_van;
|
|||
|
|
|||
|
level.scr_animtree[ "car" ] = #animtree;
|
|||
|
level.scr_anim[ "car" ][ "driving" ] = %coup_driver_idle_car;
|
|||
|
level.scr_anim[ "car" ][ "door_open" ] = %favela_opening_cardoor_open;
|
|||
|
level.scr_anim[ "car" ][ "center2right" ] = %coup_driver_center2smallright_car;
|
|||
|
level.scr_anim[ "car" ][ "right2center" ] = %coup_driver_smallright2center_car;
|
|||
|
level.scr_anim[ "car" ][ "run_and_wave" ] = %favela_run_and_wave_cardoor;
|
|||
|
|
|||
|
level.scr_anim[ "car" ][ "ending_takedown" ] = %favela_ending_car;
|
|||
|
addNotetrack_animSound( "car", "ending_takedown", "window_shatter", "scn_favela_npc_car_landing" );
|
|||
|
addNotetrack_customFunction( "car", "window_shatter", maps\favela_code::ending_car_fx );
|
|||
|
}
|
|||
|
|
|||
|
#using_animtree( "player" );
|
|||
|
player_anims()
|
|||
|
{
|
|||
|
level.scr_anim[ "player_rig" ][ "die" ] = %favela_opening_playerview_death;
|
|||
|
level.scr_anim[ "player_rig" ][ "duck_down" ] = %favela_opening_playerview_down;
|
|||
|
level.scr_anim[ "player_rig" ][ "duck_down_idle" ][ 0 ] = %favela_opening_playerview_downidle;
|
|||
|
level.scr_anim[ "player_rig" ][ "duck_up" ] = %favela_opening_playerview_up;
|
|||
|
level.scr_animtree[ "player_rig" ] = #animtree;
|
|||
|
level.scr_model[ "player_rig" ] = "viewhands_player_tf141_favela";
|
|||
|
}
|
|||
|
|
|||
|
#using_animtree( "script_model" );
|
|||
|
model_anims()
|
|||
|
{
|
|||
|
level.scr_animtree[ "bike" ] = #animtree;
|
|||
|
level.scr_anim[ "bike" ][ "pedal" ] = %favela_bicycle;
|
|||
|
|
|||
|
level.scr_animtree[ "curtain" ] = #animtree;
|
|||
|
level.scr_model[ "curtain" ] = "curtain_torn01_animated";
|
|||
|
level.scr_anim[ "curtain" ][ "pulldown" ] = %favela_curtain_model_pull;
|
|||
|
|
|||
|
level.scr_animtree[ "torture_cables" ] = #animtree;
|
|||
|
level.scr_model[ "torture_cables" ] = "machinery_jumper_cable";
|
|||
|
level.scr_anim[ "torture_cables" ][ "torture" ] = %favela_jumper_cables;
|
|||
|
//addNotetrack_animSound( "torture_cables", "torture", "spark", "SOUNDALIAS" );
|
|||
|
addNotetrack_customFunction( "torture_cables", "spark", ::jumper_cable_fx );
|
|||
|
|
|||
|
level.scr_animtree[ "hula_girl" ] = #animtree;
|
|||
|
level.scr_model[ "hula_girl" ] = "vehicle_hummer_hula_girl";
|
|||
|
level.scr_anim[ "hula_girl" ][ "bobble" ] = %hula_girl_bobble;
|
|||
|
level.scr_anim[ "hula_girl" ][ "bobble_stop" ] = %hula_girl_bobble_stop;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
dialog()
|
|||
|
{
|
|||
|
// Chad - not hooked up yet
|
|||
|
// Roach, that was a civilian! Last I checked you served with the SAS, not the SS. Check your bloody targets!
|
|||
|
//level.scr_sound[ "mactavish" ][ "favela_cmt_notthess" ] = "favela_cmt_notthess";
|
|||
|
|
|||
|
//------------
|
|||
|
// DRIVING IN CAR
|
|||
|
//------------
|
|||
|
|
|||
|
// Ghost, the plates are a match.
|
|||
|
level.scr_radio[ "favela_cmt_ready2move" ] = "favela_cmt_ready2move";
|
|||
|
|
|||
|
// Copy. Any sign of Faust's right hand man?
|
|||
|
level.scr_radio[ "favela_gst_good2go" ] = "favela_gst_good2go";
|
|||
|
|
|||
|
// Negative. They've stopped twice already - no sign of him.
|
|||
|
level.scr_radio[ "favela_cmt_rogerthat" ] = "favela_cmt_rogerthat";
|
|||
|
|
|||
|
// Wait, they've stopped again. Standby.
|
|||
|
level.scr_radio[ "favela_cmt_inposition" ] = "favela_cmt_inposition";
|
|||
|
|
|||
|
// Got a positive ID! Whoever these guys are, they're not happy to see him<69>
|
|||
|
level.scr_radio[ "favela_cmt_insight" ] = "favela_cmt_insight";
|
|||
|
|
|||
|
// Ghost we have a situation here!
|
|||
|
level.scr_radio[ "favela_cmt_needhimalive" ] = "favela_cmt_needhimalive";
|
|||
|
|
|||
|
// Get down get down!!!
|
|||
|
level.scr_radio[ "favela_cmt_getdown" ] = "favela_cmt_getdown";
|
|||
|
|
|||
|
//------------
|
|||
|
// CHASE
|
|||
|
//------------
|
|||
|
|
|||
|
// Ghost, our driver's dead! We're on foot! Meet us at the Hotel Rio and cut him off if you can!
|
|||
|
level.scr_sound[ "mactavish" ][ "favela_cmt_driversdead" ] = "favela_cmt_driversdead";
|
|||
|
|
|||
|
// Roger, I'm on my way!
|
|||
|
level.scr_radio[ "favela_gst_onmyway" ] = "favela_gst_onmyway";
|
|||
|
|
|||
|
// He went into the alley - bloody hell he's fast!
|
|||
|
level.scr_radio[ "favela_gst_hesfast" ] = "favela_gst_hesfast";
|
|||
|
|
|||
|
// Non-lethal takedowns only! We need him alive!
|
|||
|
level.scr_sound[ "mactavish" ][ "favela_cmt_nonlethal" ] = "favela_cmt_nonlethal";
|
|||
|
|
|||
|
// Roach - take the shot!! Go for his leg!!
|
|||
|
level.scr_sound[ "mactavish" ][ "favela_cmt_takeshot" ] = "favela_cmt_takeshot";
|
|||
|
|
|||
|
// He's down! Good job Roach.
|
|||
|
level.scr_sound[ "mactavish" ][ "favela_cmt_hesdown" ] = "favela_cmt_hesdown";
|
|||
|
|
|||
|
//------------
|
|||
|
// ALLEY
|
|||
|
//------------
|
|||
|
|
|||
|
// Let's go.
|
|||
|
level.scr_sound[ "royce" ][ "favela_ryc_letsgo" ] = "favela_ryc_letsgo";
|
|||
|
|
|||
|
// Remember - there are civilians in the favela. Take clean shots, watch your background.
|
|||
|
level.scr_sound[ "royce" ][ "favela_ryc_watchyourbg" ] = "favela_ryc_watchyourbg";
|
|||
|
|
|||
|
// Meat, give the civvies a fair warning.
|
|||
|
level.scr_sound[ "royce" ][ "favela_ryc_warning" ] = "favela_ryc_warning";
|
|||
|
|
|||
|
// Roger that.
|
|||
|
level.scr_sound[ "meat" ][ "favela_met_rogerthat" ] = "favela_met_rogerthat";
|
|||
|
|
|||
|
//------------
|
|||
|
// FAVELA
|
|||
|
//------------
|
|||
|
|
|||
|
// Bravo Six, be advised - we've engaged enemy militia at the lower village!
|
|||
|
level.scr_radio[ "favela_cmt_fullbattalion" ] = "favela_cmt_fullbattalion";
|
|||
|
|
|||
|
// Roach! I'm with you! Watch the rooftops! Go!
|
|||
|
level.scr_radio[ "favela_ryc_withyou" ] = "favela_ryc_withyou";
|
|||
|
|
|||
|
// Royce, gimme a sitrep, over!
|
|||
|
level.scr_radio[ "favela_cmt_doingok" ] = "favela_cmt_doingok";
|
|||
|
|
|||
|
// Lots of militia but no sign of Faust over here, over!
|
|||
|
level.scr_radio[ "favela_ryc_nosign" ] = "favela_ryc_nosign";
|
|||
|
|
|||
|
// Copy that! Keep searching! Let me know if you see him! Out!
|
|||
|
level.scr_radio[ "favela_cmt_keepsearching" ] = "favela_cmt_keepsearching";
|
|||
|
|
|||
|
// Roach! Move up! Let's go!
|
|||
|
level.scr_radio[ "favela_ryc_moveup" ] = "favela_ryc_moveup";
|
|||
|
|
|||
|
// Meat is down! I repeat, Meat is down!
|
|||
|
level.scr_radio[ "favela_ryc_meatisdown" ] = "favela_ryc_meatisdown";
|
|||
|
|
|||
|
// Roach! I'm down! Meat's dead! They're all over - (gunfire, angry shouting in Portuguese)
|
|||
|
level.scr_radio[ "favela_ryc_imhit" ] = "favela_ryc_imdown";
|
|||
|
|
|||
|
//------------
|
|||
|
// SOCCER
|
|||
|
//------------
|
|||
|
|
|||
|
// Roach - we've got Faust's location! He's headed west along the upper levels of the favela.
|
|||
|
level.scr_radio[ "favela_cmt_cuthimoff" ] = "favela_cmt_cuthimoff";
|
|||
|
|
|||
|
// We'll keep him from doubling back on our side - keep going and cut him off up top!
|
|||
|
level.scr_radio[ "favela_cmt_keepgoing" ] = "favela_cmt_keepgoing";
|
|||
|
|
|||
|
// There's no time to wait for backup. You're gonna have to do this on your own. Good luck. Out.
|
|||
|
level.scr_radio[ "favela_cmt_notime" ] = "favela_cmt_notime";
|
|||
|
|
|||
|
// Roach, watch the rooftops! We've had a few close calls with RPGs and machine guns positioned up high!
|
|||
|
level.scr_radio[ "favela_cmt_watchrooftops" ] = "favela_cmt_watchrooftops";
|
|||
|
|
|||
|
// Roach - this is their territory and they know it well! Keep an eye open for ambush positions and check your corners!
|
|||
|
level.scr_radio[ "favela_cmt_theirterritory" ] = "favela_cmt_theirterritory";
|
|||
|
|
|||
|
//------------
|
|||
|
// LOWER HILL
|
|||
|
//------------
|
|||
|
|
|||
|
// Roach, we're taking heavy fire from militia here but I'm still tracking Faust! He's gone into a building to get something! Ghost, you see him?
|
|||
|
level.scr_radio[ "favela_cmt_stilltracking" ] = "favela_cmt_stilltracking";
|
|||
|
|
|||
|
// Roger that, subject is now carrying a black duffel bag full of cash! Greedy bastard!
|
|||
|
level.scr_radio[ "favela_gst_duffelbag" ] = "favela_gst_duffelbag";
|
|||
|
|
|||
|
// Well that ought to slow him down! Roach, we're keeping him from doubling back! Keep moving to intercept! Go! Go!
|
|||
|
level.scr_radio[ "favela_cmt_intercept" ] = "favela_cmt_intercept";
|
|||
|
|
|||
|
// Keep going! Faust is still headed towards your side of the favela!
|
|||
|
level.scr_radio[ "favela_cmt_yourside" ] = "favela_cmt_yourside";
|
|||
|
|
|||
|
// Roach! Don't let the militia pin you down for too long! Use your flashbangs on them!
|
|||
|
level.scr_radio[ "favela_gst_pinyoudown" ] = "favela_gst_pinyoudown";
|
|||
|
|
|||
|
// I've lost sight of him again! Ghost, talk to me!
|
|||
|
level.scr_radio[ "favela_cmt_lostsightagain" ] = "favela_cmt_lostsightagain";
|
|||
|
|
|||
|
// I'm onto him! He's trying to double back through the alleys below!
|
|||
|
level.scr_radio[ "favela_gst_alleysbelow" ] = "favela_gst_alleysbelow";
|
|||
|
|
|||
|
// Roger that! Stay on him!
|
|||
|
level.scr_radio[ "favela_cmt_stayonhim" ] = "favela_cmt_stayonhim";
|
|||
|
|
|||
|
// I've got a visual on Faust! He's cutting through the market!
|
|||
|
level.scr_radio[ "favela_gst_cuttingthru" ] = "favela_gst_cuttingthru";
|
|||
|
|
|||
|
// Roger that! I'll head for the rooftops and try to cut him off on the right! He's going to have no choice but to head west!
|
|||
|
level.scr_radio[ "favela_cmt_headforrooftops" ] = "favela_cmt_headforrooftops";
|
|||
|
|
|||
|
// Bloody hell, I'm taking a lot of fire from the militia, I don't think I can track him through the market! I'm going to have to find another way around!
|
|||
|
level.scr_radio[ "favela_gst_wayaround" ] = "favela_gst_wayaround";
|
|||
|
|
|||
|
// Be advised, I'm about half a klick east of the market, I can see Faust running across the rooftops on my right side!
|
|||
|
level.scr_radio[ "favela_gst_halfklick" ] = "favela_gst_halfklick";
|
|||
|
|
|||
|
// Roger that! Roach! We're corraling him closer to your side of the hill! Keep an eye open for Faust! He's still moving across the rooftops!
|
|||
|
level.scr_radio[ "favela_cmt_eyeopen" ] = "favela_cmt_eyeopen";
|
|||
|
|
|||
|
// Sir, I've got Faust in my sights! I can go for a clean leg shot! We can end it here!
|
|||
|
level.scr_radio[ "favela_gst_legshot" ] = "favela_gst_legshot";
|
|||
|
|
|||
|
// Negative! We can't risk it! Do not engage Faust!
|
|||
|
level.scr_radio[ "favela_cmt_donotengage" ] = "favela_cmt_donotengage";
|
|||
|
|
|||
|
// Bollocks! Roger that!
|
|||
|
level.scr_radio[ "favela_gst_rogerthat2" ] = "favela_gst_rogerthat2";
|
|||
|
|
|||
|
// Roach! I've spotted Faust, he's making a run for it! He's headed your way!
|
|||
|
level.scr_radio[ "favela_cmt_spottedfaust" ] = "favela_cmt_spottedfaust";
|
|||
|
|
|||
|
// And don't shoot him! We need him alive and unharmed!
|
|||
|
level.scr_radio[ "favela_cmt_unharmed" ] = "favela_cmt_unharmed";
|
|||
|
|
|||
|
// Roach, we're going to cut him off at the summit, keep pushing him that way! Go! Go!
|
|||
|
level.scr_radio[ "favela_cmt_cutoff" ] = "favela_cmt_cutoff";
|
|||
|
|
|||
|
// Roach! Keep moving uphill! I've cut him off! He's got nowhere to go but west over the rooftops into your area!
|
|||
|
level.scr_radio[ "favela_cmt_nowheretogo" ] = "favela_cmt_nowheretogo";
|
|||
|
|
|||
|
// Roach! He knows the area well but we can trap him up here! Don't stop! Go! Go!
|
|||
|
level.scr_radio[ "favela_cmt_traphimuphere" ] = "favela_cmt_traphimuphere";
|
|||
|
|
|||
|
// He jumped the fence! I'm after him!!!
|
|||
|
level.scr_radio[ "favela_gst_jumpedfence" ] = "favela_gst_jumpedfence";
|
|||
|
|
|||
|
// Roger that! I'm going around to the left!
|
|||
|
level.scr_radio[ "favela_cmt_goingleft" ] = "favela_cmt_goingleft";
|
|||
|
|
|||
|
// Where is he where is he?
|
|||
|
level.scr_radio[ "favela_gst_whereishe" ] = "favela_gst_whereishe";
|
|||
|
|
|||
|
// Got a visual! He's over there, sliding down the tin rooftops!
|
|||
|
level.scr_radio[ "favela_cmt_slidingrooftops" ] = "favela_cmt_slidingrooftops";
|
|||
|
|
|||
|
// I've got another clear leg shot!
|
|||
|
level.scr_radio[ "favela_gst_anotherlegshot" ] = "favela_gst_anotherlegshot";
|
|||
|
|
|||
|
// Negative! Not unless you want to carry him back out with all this militia breathing down your neck! I need him unharmed!
|
|||
|
level.scr_radio[ "favela_cmt_carryhimback" ] = "favela_cmt_carryhimback";
|
|||
|
|
|||
|
// Roach! He's getting closer to your part of the favela!! Keep moving! Go! Go!
|
|||
|
level.scr_radio[ "favela_cmt_closertoyourpart" ] = "favela_cmt_closertoyourpart";
|
|||
|
|
|||
|
//------------
|
|||
|
// UPPER HILL
|
|||
|
//------------
|
|||
|
|
|||
|
// Ghost he's going for that motorcycle!
|
|||
|
level.scr_radio[ "favela_cmt_motorcycle" ] = "favela_cmt_motorcycle";
|
|||
|
|
|||
|
// (gunshots, explosion) No he's not.
|
|||
|
level.scr_radio[ "favela_gst_nohesnot" ] = "favela_gst_nohesnot";
|
|||
|
|
|||
|
// Nice! He's breaking to the right again! Roach, if you see him, don't shoot him! I need him unharmed!
|
|||
|
level.scr_radio[ "favela_cmt_dontshoothim" ] = "favela_cmt_dontshoothim";
|
|||
|
|
|||
|
// Roach! He's on the move and headed your way! Go! Go!
|
|||
|
level.scr_radio[ "favela_cmt_onthemove" ] = "favela_cmt_onthemove";
|
|||
|
|
|||
|
// Roach! He's jumped another fence and he's still headed towards your end of the favela! Keep moving up! Go! Go!
|
|||
|
level.scr_radio[ "favela_cmt_anotherfence" ] = "favela_cmt_anotherfence";
|
|||
|
|
|||
|
// Keep corraling him up the hill! We'll cut him off at the top!
|
|||
|
level.scr_radio[ "favela_cmt_corraling" ] = "favela_cmt_corraling";
|
|||
|
|
|||
|
// We've got eyes on Faust - wait! Shite! he's headed back towards you!
|
|||
|
level.scr_radio[ "favela_cmt_backtowards" ] = "favela_cmt_backtowards";
|
|||
|
|
|||
|
// Roach, keep pushing him up the hill! Don't let him double back!
|
|||
|
level.scr_radio[ "favela_cmt_doubleback" ] = "favela_cmt_doubleback";
|
|||
|
|
|||
|
// Ghost, I'm going far right!
|
|||
|
level.scr_radio[ "favela_cmt_farright" ] = "favela_cmt_farright";
|
|||
|
|
|||
|
// Roger that.
|
|||
|
level.scr_radio[ "favela_gst_rogerthat" ] = "favela_gst_rogerthat";
|
|||
|
|
|||
|
//------------
|
|||
|
// ENDING
|
|||
|
//------------
|
|||
|
|
|||
|
// He's gonna get away!!
|
|||
|
level.scr_radio[ "favela_gst_getaway" ] = "favela_gst_getaway";
|
|||
|
|
|||
|
// No he's not.
|
|||
|
level.scr_radio[ "favela_cmt_nohesnot" ] = "favela_cmt_nohesnot";
|
|||
|
|
|||
|
// Frontrunner, this is Bravo Six. We've got the package.
|
|||
|
level.scr_sound[ "mactavish" ][ "favela_cmt_gotpackage" ] = "favela_cmt_gotpackage";
|
|||
|
|
|||
|
|
|||
|
level.scr_sound[ "ghost" ][ "favela_gst_sendchopper" ] = "favela_gst_sendchopper";
|
|||
|
level.scr_sound[ "ghost" ][ "favela_gst_skiesareclear" ] = "favela_gst_skiesareclear";
|
|||
|
level.scr_sound[ "ghost" ][ "favela_gst_onourown" ] = "favela_gst_onourown";
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
//------------
|
|||
|
// CIVILIAN WALLA
|
|||
|
//------------
|
|||
|
|
|||
|
level.scr_sound[ "generic" ][ "walla1" ] = "favela_civ1_outofhere"; // Get out of here!! Hurry!!
|
|||
|
level.scr_sound[ "generic" ][ "walla2" ] = "favela_civ2_run"; // Run! Get to cover!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla3" ] = "favela_civ3_kidsoutofhere"; // Get the kids out of here!!! Go! Go!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla4" ] = "favela_civ4_carlarun"; // Carla, run!! Get out here!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla5" ] = "favela_civ1_policecoming"; // The police are coming to the favela!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla6" ] = "favela_civ2_surepolice"; // Cesar, are you sure they're the police??
|
|||
|
level.scr_sound[ "generic" ][ "walla7" ] = "favela_civ3_notstaying"; // I don't know, they're not from around here and I'm not staying to find out!!
|
|||
|
level.scr_sound[ "generic" ][ "walla8" ] = "favela_civ4_policeraid"; // It's a police raid!!! Get out of here!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla9" ] = "favela_civ1_ineshouse"; // Felipe and his men will take care of the police, get to Ines' house, go!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla10" ] = "favela_civ2_crossfire"; // Stay low!!! Stay out of the crossfire!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla11" ] = "favela_civ3_shootout"; // There's going to be a shootout!!! Get out of here!!!
|
|||
|
level.scr_sound[ "generic" ][ "walla12" ] = "favela_civ4_otherside"; // Head for the other side of the favela, hurry!!!
|
|||
|
|
|||
|
level.fleeing_civilian_wallas[ 0 ] = "walla1";
|
|||
|
level.fleeing_civilian_wallas[ 1 ] = "walla2";
|
|||
|
level.fleeing_civilian_wallas[ 2 ] = "walla3";
|
|||
|
level.fleeing_civilian_wallas[ 3 ] = "walla4";
|
|||
|
level.fleeing_civilian_wallas[ 4 ] = "walla5";
|
|||
|
level.fleeing_civilian_wallas[ 5 ] = "walla6";
|
|||
|
level.fleeing_civilian_wallas[ 6 ] = "walla7";
|
|||
|
level.fleeing_civilian_wallas[ 7 ] = "walla8";
|
|||
|
level.fleeing_civilian_wallas[ 8 ] = "walla9";
|
|||
|
level.fleeing_civilian_wallas[ 9 ] = "walla10";
|
|||
|
level.fleeing_civilian_wallas[ 10 ] = "walla11";
|
|||
|
level.fleeing_civilian_wallas[ 11 ] = "walla12";
|
|||
|
}
|
|||
|
|
|||
|
jumper_cable_fx( cables )
|
|||
|
{
|
|||
|
playFXOnTag( getfx( "jumper_cables" ), cables, "j_jcable_clamp02_head_ri" );
|
|||
|
}
|