498 lines
20 KiB
Plaintext
498 lines
20 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
base_array_init()
|
|
{
|
|
level.start_point = "base_array";
|
|
objective_add( maps\_utility::obj( "rendesvouz" ), "current", &"SATFARM_OBJ_RENDESVOUZ" );
|
|
thread maps\satfarm_code::follow_icon_manager();
|
|
thread base_array_ambient_dogfight_1();
|
|
thread base_array_ambient_dogfight_2();
|
|
thread base_array_ambient_dogfight_3();
|
|
thread maps\satfarm_m880::setup_ambient_missile_launches( "ambient_missile_launch_spot", "base_array_end" );
|
|
maps\satfarm_code::kill_spawners_per_checkpoint( "base_array" );
|
|
}
|
|
|
|
base_array_main()
|
|
{
|
|
if ( !isdefined( level.playertank ) )
|
|
{
|
|
maps\satfarm_code::spawn_player_checkpoint( "base_array_" );
|
|
maps\satfarm_code::spawn_heroes_checkpoint( "base_array_" );
|
|
common_scripts\utility::array_thread( level.allytanks, maps\satfarm_code::npc_tank_combat_init );
|
|
}
|
|
else
|
|
{
|
|
thread maps\satfarm_code::switch_node_on_flag( level.herotanks[0], "", "switch_base_array_path_hero0", "base_array_path_hero0" );
|
|
thread maps\satfarm_code::switch_node_on_flag( level.herotanks[1], "", "switch_base_array_path_hero1", "base_array_path_hero1" );
|
|
}
|
|
|
|
level.herotanks[0] thread maps\satfarm_code::tank_relative_speed( "air_strip_relative_speed", "base_array_end", 200, 15, 2 );
|
|
level.herotanks[1] thread maps\satfarm_code::tank_relative_speed( "air_strip_relative_speed", "base_array_end", 250, 13.5, 1.5 );
|
|
objective_onentity( maps\_utility::obj( "rendesvouz" ), level.herotanks[1], ( 0, 0, 60 ) );
|
|
objective_setpointertextoverride( maps\_utility::obj( "rendesvouz" ), &"SATFARM_FOLLOW" );
|
|
thread base_array_begin();
|
|
common_scripts\utility::flag_wait( "base_array_end" );
|
|
maps\_spawner::killspawner( 30 );
|
|
maps\satfarm_code::kill_vehicle_spawners_now( 30 );
|
|
base_array_cleanup();
|
|
}
|
|
|
|
base_array_begin()
|
|
{
|
|
common_scripts\utility::flag_set( "base_array_begin" );
|
|
thread base_array_allies_setup();
|
|
thread base_array_enemies_setup();
|
|
thread spawn_sat_array_a10_missile_dive_1();
|
|
thread spawn_sat_array_a10_gun_dive_1();
|
|
thread base_array_trucks_01_setup();
|
|
thread base_array_pinned_down_allies();
|
|
thread base_array_trucks_static_setup();
|
|
thread base_array_vo();
|
|
thread base_array_choppers();
|
|
thread base_array_hints();
|
|
thread base_array_end_vo();
|
|
thread base_array_exit_rpg();
|
|
thread setup_mortar_fire();
|
|
thread maps\satfarm_code::saf_streetlight_dynamic_setup( "base_array", "base_array_end" );
|
|
thread maps\satfarm_code::saf_concrete_barrier_dynamic_setup( "base_array", "base_array_end" );
|
|
thread satfarm_transient_unload();
|
|
thread satfarm_transient_load();
|
|
maps\_utility::autosave_by_name( "base_array" );
|
|
}
|
|
|
|
spawn_sat_array_a10_missile_dive_1()
|
|
{
|
|
common_scripts\utility::flag_wait( "start_sat_array_a10_missile_dive_1" );
|
|
maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "sat_array_a10_missile_dive_1" );
|
|
}
|
|
|
|
spawn_sat_array_a10_gun_dive_1()
|
|
{
|
|
common_scripts\utility::flag_wait( "start_sat_array_a10_gun_dive_1" );
|
|
maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "sat_array_a10_gun_dive_1" );
|
|
}
|
|
|
|
base_array_allies_setup()
|
|
{
|
|
var_0 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "sat_array_allies" );
|
|
level.allytanks = common_scripts\utility::array_combine( level.allytanks, var_0 );
|
|
common_scripts\utility::array_thread( var_0, maps\satfarm_code::npc_tank_combat_init );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
if ( isdefined( var_2.script_friendname ) && var_2.script_friendname == "Buzzard" )
|
|
{
|
|
var_2 thread maps\satfarm_code::tank_relative_speed( "air_strip_relative_speed", "base_array_end", 200, 5, 1.5 );
|
|
continue;
|
|
}
|
|
|
|
if ( isdefined( var_2.script_friendname ) && var_2.script_friendname == "Barracuda" )
|
|
{
|
|
var_2 thread maps\satfarm_code::tank_relative_speed( "air_strip_relative_speed", "base_array_end", 100, 2, 2.0 );
|
|
continue;
|
|
}
|
|
|
|
if ( isdefined( var_2.script_friendname ) && var_2.script_friendname == "Bronco" )
|
|
var_2 thread maps\satfarm_code::tank_relative_speed( "air_strip_relative_speed", "base_array_end", 50, 1, 1.75 );
|
|
}
|
|
}
|
|
|
|
base_array_enemies_setup()
|
|
{
|
|
var_0 = maps\_vehicle::spawn_vehicles_from_targetname( "sat_array_enemies" );
|
|
common_scripts\utility::array_thread( var_0, ::base_array_setup_reverse_start );
|
|
level.enemytanks = common_scripts\utility::array_combine( level.enemytanks, var_0 );
|
|
common_scripts\utility::array_thread( var_0, maps\satfarm_code::flag_wait_god_mode_off, "base_array_ridge_reached" );
|
|
common_scripts\utility::array_thread( var_0, maps\satfarm_code::npc_tank_combat_init );
|
|
maps\satfarm_code::waittilltanksdead( var_0, 2 );
|
|
common_scripts\utility::flag_set( "sat_array_enemies_retreat_01" );
|
|
common_scripts\utility::flag_wait_either( "sat_array_initial_enemies_dead", "spawn_base_array_choppers" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
if ( isdefined( var_2 ) && var_2.classname != "script_vehicle_corpse" )
|
|
var_2 thread maps\satfarm_code::random_wait_and_kill( 1.0, 3.0 );
|
|
}
|
|
}
|
|
|
|
base_array_choppers()
|
|
{
|
|
level endon( "start_base_array_mortar_strike" );
|
|
maps\_chopperboss::chopper_boss_locs_populate( "script_noteworthy", "heli_nav_mesh_base_array" );
|
|
common_scripts\utility::flag_wait_either( "sat_array_initial_enemies_dead", "spawn_base_array_choppers" );
|
|
var_0 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "base_array_intro_flyby_choppers" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
var_2 thread maps\satfarm_code::target_settings();
|
|
var_2 thread maps\satfarm_code::npc_tank_combat_init();
|
|
var_2 thread maps\satfarm_code::chopper_insta_kill();
|
|
}
|
|
|
|
var_4 = maps\satfarm_code_heli::spawn_hind_enemies( 3, "heli_nav_mesh_base_array_start" );
|
|
|
|
foreach ( var_2 in var_4 )
|
|
{
|
|
var_2 thread maps\satfarm_code::delayed_kill( randomfloatrange( 0.1, 2.0 ), "start_base_array_mortar_strike" );
|
|
var_2 thread maps\satfarm_code::chopper_insta_kill();
|
|
}
|
|
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_com_bcompanyyouhaveenemy" );
|
|
wait 1.0;
|
|
thread maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_enemyattackchoppersmoving" );
|
|
maps\satfarm_code::waittillhelisdead( maps\satfarm_code::get_hinds_enemy_active(), 2 );
|
|
wait 3.0;
|
|
var_4 = maps\satfarm_code::get_hinds_enemy_active();
|
|
|
|
foreach ( var_2 in var_4 )
|
|
{
|
|
if ( isdefined( var_2 ) )
|
|
{
|
|
level thread maps\satfarm_audio::chopper_death_player( var_2.origin );
|
|
var_2 kill();
|
|
wait 0.1;
|
|
|
|
if ( isdefined( var_2 ) )
|
|
var_2 delete();
|
|
}
|
|
}
|
|
}
|
|
|
|
base_array_setup_reverse_start()
|
|
{
|
|
self endon( "death" );
|
|
common_scripts\utility::flag_wait( "sat_array_enemies_retreat_01" );
|
|
wait( randomfloatrange( 0.1, 0.5 ) );
|
|
self.veh_transmission = "reverse";
|
|
self.script_transmission = "reverse";
|
|
var_0 = self.script_noteworthy + "_start_node";
|
|
maps\satfarm_code::switch_node_now( self, getvehiclenode( var_0, "targetname" ) );
|
|
self.veh_transmission = "reverse";
|
|
self.script_transmission = "reverse";
|
|
var_1 = "switch_" + self.script_noteworthy + "_start_node_2";
|
|
var_2 = self.script_noteworthy + "_start_node_2";
|
|
thread maps\satfarm_code::switch_node_on_flag( self, "sat_array_enemies_retreat_02", var_1, var_2 );
|
|
self.veh_transmission = "reverse";
|
|
self.script_transmission = "reverse";
|
|
var_1 = "switch_" + self.script_noteworthy + "_start_node_3";
|
|
var_2 = self.script_noteworthy + "_start_node_3";
|
|
thread maps\satfarm_code::switch_node_on_flag( self, "sat_array_enemies_retreat_02", var_1, var_2 );
|
|
}
|
|
|
|
base_array_trucks_01_setup()
|
|
{
|
|
common_scripts\utility::flag_wait( "spawn_base_array_choppers" );
|
|
var_0 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "base_array_trucks_01" );
|
|
common_scripts\utility::array_thread( var_0, maps\satfarm_code::gaz_spawn_setup );
|
|
}
|
|
|
|
base_array_pinned_down_allies()
|
|
{
|
|
var_0 = maps\_utility::array_spawn_targetname( "base_array_pinned_down_allies", 1 );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
var_2 maps\_utility::forceuseweapon( "rpg_straight", "primary" );
|
|
var_2 maps\_utility::magic_bullet_shield();
|
|
}
|
|
|
|
common_scripts\utility::flag_wait( "base_array_end" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
var_2 maps\_utility::stop_magic_bullet_shield();
|
|
var_2 delete();
|
|
}
|
|
}
|
|
|
|
base_array_vo()
|
|
{
|
|
wait 1.0;
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_werenearingyourposition" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_brv_rogerthatpoppinggreen" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_enemyarmorahead" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_keepittightprepare" );
|
|
common_scripts\utility::flag_wait( "base_array_ridge_reached" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_wehaveavisual" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_brv_welcometotheparty" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_youcanbuyus" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_td3_clearouttheenemy" );
|
|
wait 1.0;
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_td2_federationtanksincoming" );
|
|
}
|
|
|
|
satfarm_transient_unload()
|
|
{
|
|
common_scripts\utility::flag_wait( "satfarm_transient_unload" );
|
|
maps\_utility::transient_unload( "satfarm_start_tr" );
|
|
}
|
|
|
|
base_array_hints()
|
|
{
|
|
common_scripts\utility::flag_wait( "base_array_ridge_reached" );
|
|
maps\_utility::objective_complete( maps\_utility::obj( "rendesvouz" ) );
|
|
objective_add( maps\_utility::obj( "reach_air_strip" ), "current", &"SATFARM_OBJ_REACH_AIR_STRIP" );
|
|
objective_onentity( maps\_utility::obj( "reach_air_strip" ), level.herotanks[1], ( 0, 0, 60 ) );
|
|
objective_setpointertextoverride( maps\_utility::obj( "reach_air_strip" ), &"SATFARM_FOLLOW" );
|
|
|
|
if ( !common_scripts\utility::flag( "PLAYER_ZOOMED_ONCE" ) )
|
|
{
|
|
if ( level.player usinggamepad() )
|
|
level.player thread maps\_utility::display_hint_timeout( "HINT_ZOOM_SPEED_THROW", 8.0 );
|
|
else
|
|
{
|
|
var_0 = 1;
|
|
var_1 = 0;
|
|
var_2 = getkeybinding( "+speed_throw" );
|
|
|
|
if ( !isdefined( var_2 ) || var_2["count"] == 0 )
|
|
{
|
|
var_0 = 0;
|
|
var_2 = getkeybinding( "+toggleads_throw" );
|
|
|
|
if ( isdefined( var_2 ) && var_2["count"] > 0 )
|
|
var_1 = 1;
|
|
}
|
|
|
|
if ( var_0 )
|
|
level.player thread maps\_utility::display_hint_timeout( "HINT_ZOOM_SPEED_THROW", 8.0 );
|
|
else
|
|
level.player thread maps\_utility::display_hint_timeout( "HINT_ZOOM_TOGGLEADS_THROW", 8.0 );
|
|
}
|
|
}
|
|
|
|
common_scripts\utility::flag_wait_either( "sat_array_initial_enemies_dead", "spawn_base_array_choppers" );
|
|
wait 4.0;
|
|
thread maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_switchtolockonround" );
|
|
level.player thread maps\_utility::display_hint_timeout( "HINT_SWITCH_TO_GUIDED_ROUND", 8.0 );
|
|
}
|
|
|
|
base_array_end_vo()
|
|
{
|
|
common_scripts\utility::flag_wait( "sat_array_enemies_retreat_03" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_brv_thanksfortheassist" );
|
|
}
|
|
|
|
setup_mortar_fire()
|
|
{
|
|
level endon( "stop_base_array_mortar_strikes" );
|
|
common_scripts\utility::flag_wait( "start_base_array_mortar_strike" );
|
|
common_scripts\utility::flag_set( "stop_tank_chatter" );
|
|
thread base_array_mortar_strikes();
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_incoming" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_brv_incoming" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_theyvetargetedourposition" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_gogogo" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_dontstop" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_fullthrottle" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_movemove" );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_overlordweneedsuppression" );
|
|
wait( randomfloatrange( 2.0, 4.0 ) );
|
|
|
|
for (;;)
|
|
{
|
|
wait( randomfloatrange( 2.0, 4.0 ) );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_gogogo" );
|
|
wait( randomfloatrange( 2.0, 4.0 ) );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_incoming" );
|
|
wait( randomfloatrange( 2.0, 4.0 ) );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_movemove" );
|
|
wait( randomfloatrange( 2.0, 4.0 ) );
|
|
maps\satfarm_code::radio_dialog_add_and_go( "satfarm_brv_incoming" );
|
|
}
|
|
}
|
|
|
|
base_array_mortar_strikes()
|
|
{
|
|
var_0 = level.playertank vehicle_getspeed();
|
|
var_1 = 17.6;
|
|
|
|
while ( !common_scripts\utility::flag( "stop_base_array_mortar_strikes" ) )
|
|
{
|
|
for ( var_2 = 0; var_2 < 3; var_2++ )
|
|
{
|
|
var_3 = level.player geteye();
|
|
var_4 = level.player getplayerangles();
|
|
var_5 = anglestoforward( var_4 );
|
|
var_6 = anglestoright( var_4 );
|
|
var_7 = level.playertank vehicle_getspeed() * var_1;
|
|
|
|
if ( var_7 < var_0 )
|
|
var_7 = var_0 - ( var_0 - var_7 ) * 0.25;
|
|
|
|
var_8 = var_3 + var_7 * 1.0 * var_5;
|
|
var_9 = randomfloatrange( -500, 500 );
|
|
var_10 = randomfloatrange( 0, 1000 );
|
|
var_11 = var_9 * var_6 + var_10 * var_5;
|
|
var_12 = common_scripts\utility::spawn_tag_origin();
|
|
var_12.origin = common_scripts\utility::drop_to_ground( var_8 + var_11, 3000 );
|
|
var_12.angles = ( -90, 0, 0 );
|
|
thread common_scripts\utility::play_sound_in_space( "satf_mortar_incoming", var_12.origin );
|
|
wait( randomfloatrange( 0.25, 0.45 ) );
|
|
maps\satfarm_code::mortar_impact( var_12 );
|
|
wait( randomfloatrange( 0.25, 0.45 ) );
|
|
var_12 delete();
|
|
}
|
|
|
|
var_0 = level.playertank vehicle_getspeed();
|
|
wait( randomfloatrange( 0.5, 1 ) );
|
|
}
|
|
|
|
thread maps\satfarm_code::radio_dialog_add_and_go( "satfarm_whg_warthog31comingin" );
|
|
maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "air_strip_mortar_killers" );
|
|
var_0 = level.playertank vehicle_getspeed();
|
|
var_1 = 17.6;
|
|
|
|
for ( var_2 = 0; var_2 < 4; var_2++ )
|
|
{
|
|
if ( var_2 == 3 )
|
|
thread maps\satfarm_code::radio_dialog_add_and_go( "satfarm_bgr_wereclearwereclear" );
|
|
|
|
var_3 = level.player geteye();
|
|
var_4 = level.player getplayerangles();
|
|
var_5 = anglestoforward( var_4 );
|
|
var_6 = anglestoright( var_4 );
|
|
var_7 = level.playertank vehicle_getspeed() * var_1;
|
|
|
|
if ( var_7 < var_0 )
|
|
var_7 = var_0 - ( var_0 - var_7 ) * 0.25;
|
|
|
|
var_8 = var_3 + var_7 * 1.0 * var_5;
|
|
var_9 = randomfloatrange( -500, 500 );
|
|
var_10 = randomfloatrange( 0, 1000 );
|
|
var_11 = var_9 * var_6 + var_10 * var_5;
|
|
var_12 = common_scripts\utility::spawn_tag_origin();
|
|
var_12.origin = common_scripts\utility::drop_to_ground( var_8 + var_11, 3000 );
|
|
var_12.angles = ( -90, 0, 0 );
|
|
thread common_scripts\utility::play_sound_in_space( "satf_mortar_incoming", var_12.origin );
|
|
wait( randomfloatrange( 0.25, 0.45 ) );
|
|
maps\satfarm_code::mortar_impact( var_12 );
|
|
wait( randomfloatrange( 0.25, 0.45 ) );
|
|
var_12 delete();
|
|
var_0 = level.playertank vehicle_getspeed();
|
|
wait( randomfloatrange( 0.5, 0.75 ) );
|
|
}
|
|
|
|
common_scripts\utility::flag_clear( "stop_tank_chatter" );
|
|
}
|
|
|
|
base_array_ai_cleanup_spawn_function()
|
|
{
|
|
self endon( "death" );
|
|
thread maps\satfarm_code::detectkill();
|
|
|
|
if ( issubstr( tolower( self.classname ), "rpg" ) )
|
|
thread maps\satfarm_code::enemy_rpg_unlimited_ammo();
|
|
|
|
common_scripts\utility::flag_wait( "start_base_array_mortar_strike" );
|
|
|
|
if ( isdefined( self ) && isalive( self ) )
|
|
self kill();
|
|
}
|
|
|
|
base_array_ambient_dogfight_1()
|
|
{
|
|
level endon( "base_array_end" );
|
|
|
|
for (;;)
|
|
{
|
|
wait( randomfloatrange( 10.0, 20.0 ) );
|
|
level.base_array_ambient_a10_gun_dive_1 = undefined;
|
|
level.base_array_ambient_a10_gun_dive_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_a10_gun_dive_1" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_0 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_a10_gun_dive_1_buddy" );
|
|
|
|
wait 0.5;
|
|
var_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_mig29_missile_dive_1" );
|
|
var_1 thread maps\satfarm_ambient_a10::mig29_afterburners_node_wait();
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_2 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_mig29_missile_dive_1_buddy" );
|
|
|
|
wait( randomfloatrange( 5.0, 10.0 ) );
|
|
}
|
|
}
|
|
|
|
base_array_trucks_static_setup()
|
|
{
|
|
var_0 = maps\_vehicle::spawn_vehicles_from_targetname( "base_array_trucks_static" );
|
|
common_scripts\utility::array_thread( var_0, maps\satfarm_code::gaz_spawn_setup );
|
|
common_scripts\utility::flag_wait( "base_array_end" );
|
|
|
|
foreach ( var_2 in var_0 )
|
|
{
|
|
if ( isdefined( var_2 ) && var_2.classname != "script_vehicle_corpse" )
|
|
var_2 delete();
|
|
}
|
|
}
|
|
|
|
base_array_ambient_dogfight_2()
|
|
{
|
|
level endon( "base_array_end" );
|
|
|
|
for (;;)
|
|
{
|
|
wait( randomfloatrange( 20.0, 40.0 ) );
|
|
level.base_array_ambient_a10_gun_dive_2 = undefined;
|
|
level.base_array_ambient_a10_gun_dive_2 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_a10_gun_dive_2" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_0 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_a10_gun_dive_2_buddy" );
|
|
|
|
wait 0.5;
|
|
var_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_mig29_missile_dive_2" );
|
|
var_1 thread maps\satfarm_ambient_a10::mig29_afterburners_node_wait();
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_2 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_mig29_missile_dive_2_buddy" );
|
|
|
|
wait( randomfloatrange( 5.0, 10.0 ) );
|
|
}
|
|
}
|
|
|
|
base_array_ambient_dogfight_3()
|
|
{
|
|
level endon( "base_array_end" );
|
|
|
|
for (;;)
|
|
{
|
|
wait( randomfloatrange( 15.0, 30.0 ) );
|
|
level.base_array_ambient_a10_gun_dive_3 = undefined;
|
|
level.base_array_ambient_a10_gun_dive_3 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_a10_gun_dive_3" );
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_0 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_a10_gun_dive_3_buddy" );
|
|
|
|
wait 0.5;
|
|
var_1 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_mig29_missile_dive_3" );
|
|
var_1 thread maps\satfarm_ambient_a10::mig29_afterburners_node_wait();
|
|
|
|
if ( common_scripts\utility::cointoss() )
|
|
var_2 = maps\_vehicle::spawn_vehicle_from_targetname_and_drive( "base_array_ambient_mig29_missile_dive_3_buddy" );
|
|
|
|
wait( randomfloatrange( 5.0, 10.0 ) );
|
|
}
|
|
}
|
|
|
|
base_array_cleanup()
|
|
{
|
|
var_0 = getentarray( "base_array_ent", "script_noteworthy" );
|
|
maps\_utility::array_delete( var_0 );
|
|
}
|
|
|
|
base_array_exit_rpg()
|
|
{
|
|
common_scripts\utility::flag_wait( "base_array_exit_rpg" );
|
|
maps\_utility::array_spawn_targetname( "base_array_exit_tower_rpg_guys", 1 );
|
|
var_0 = common_scripts\utility::getstruct( "base_array_exit_rpg_spot", "targetname" );
|
|
magicbullet( "rpg_straight", var_0.origin, level.playertank.origin );
|
|
}
|
|
|
|
satfarm_transient_load()
|
|
{
|
|
common_scripts\utility::flag_wait( "satfarm_transient_load" );
|
|
maps\_utility::transient_load( "satfarm_tower_tr" );
|
|
}
|