IW4-Dump-Files/maps/favela_anim.gsc

484 lines
22 KiB
Plaintext
Raw Blame History

#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" );
}