191 lines
6.6 KiB
Plaintext
191 lines
6.6 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
catchup_function()
|
|
{
|
|
var_0 = [ "landing_zpus" ];
|
|
|
|
foreach ( var_2 in var_0 )
|
|
maps\_utility::array_delete( getentarray( var_2, "targetname" ) );
|
|
|
|
maps\oilrocks_apache_code::spawn_apache_allies( "apache_landing_ally_0" );
|
|
maps\oilrocks_apache_code::spawn_blackhawk_ally( "apache_landing_blackhawk_ally", undefined, undefined, 0 );
|
|
common_scripts\utility::flag_set( "FLAG_apache_factory_finished" );
|
|
}
|
|
|
|
start()
|
|
{
|
|
level.player setclienttriggeraudiozone( "oilrocks_heli_gunner", 0.1 );
|
|
maps\oilrocks_apache_code::spawn_apache_allies( "apache_landing_ally_0" );
|
|
var_0 = maps\oilrocks_code::spawn_apache_player( "apache_landing" );
|
|
maps\oilrocks_apache_code::spawn_blackhawk_ally( "apache_landing_blackhawk_ally", undefined, undefined, 1 );
|
|
var_0 maps\_chopperboss_utility::chopper_boss_locs_monitor_disable_turn_off();
|
|
}
|
|
|
|
main()
|
|
{
|
|
maps\oilrocks_apache_code::send_apaches_to_hangout( "hangout_volume_landingzone" );
|
|
thread maps\_utility::smart_radio_dialogue( "oilrocks_hp5_youllneedtoengage" );
|
|
thread blackhawk_idle_next_to_factory();
|
|
var_0 = objective_player_clears_landing();
|
|
thread maps\_utility::autosave_by_name();
|
|
thread maps\oilrocks_apache_code::objective_protect_start();
|
|
var_1 = getent( "apache_landing_gate", "targetname" );
|
|
var_2 = var_1.origin;
|
|
blackhawk_landing( var_0, var_1, var_2 );
|
|
var_1 moveto( var_2, 2, 0.25, 0.25 );
|
|
maps\oilrocks_apache_code::objective_protect_complete();
|
|
}
|
|
|
|
blackhawk_idle_next_to_factory()
|
|
{
|
|
var_0 = maps\oilrocks_apache_code::get_blackhawk_ally();
|
|
|
|
if ( var_0 maps\_utility::ent_flag_exist( "blackhawk_reached_end" ) && var_0 maps\_utility::ent_flag( "blackhawk_reached_end" ) )
|
|
{
|
|
var_1 = common_scripts\utility::getstruct( "apache_landing_blackhawk_ally", "targetname" );
|
|
var_0 thread maps\_vehicle::vehicle_paths( var_1 );
|
|
}
|
|
}
|
|
|
|
_precache()
|
|
{
|
|
precachemodel( "vehicle_gaz_tigr_base_destroyed_oilrocks" );
|
|
common_scripts\utility::flag_init( "landing_finished" );
|
|
}
|
|
|
|
objective_player_clears_landing()
|
|
{
|
|
var_0 = maps\_utility::obj( "apache_landing_killingeverythings" );
|
|
objective_add( var_0, "active", &"OILROCKS_OBJ_CLEAR_THE_LANDING" );
|
|
objective_current( var_0 );
|
|
objective_position( var_0, common_scripts\utility::getstruct( "objective_pos_kill_everything", "targetname" ).origin );
|
|
var_1 = maps\_utility::array_spawn_targetname( "landing_spawn_wave1", undefined, 1, 1 );
|
|
maps\oilrocks_apache_code::spawn_vehicles_from_targetname_prunespawning( "landing_zpus" );
|
|
var_2 = get_landing_zpus();
|
|
|
|
if ( var_2.size )
|
|
maps\_utility::waittill_dead( var_2 );
|
|
|
|
var_1 = maps\_utility::array_removedead_or_dying( var_1 );
|
|
|
|
if ( var_1.size )
|
|
maps\_utility::waittill_dead( var_1, 6 );
|
|
|
|
return var_0;
|
|
}
|
|
|
|
get_landing_zpus()
|
|
{
|
|
var_0 = [];
|
|
var_1 = common_scripts\utility::getstruct( "infantry_player_start", "targetname" );
|
|
var_2 = squared( 1700 );
|
|
var_3 = vehicle_getarray();
|
|
|
|
foreach ( var_5 in var_3 )
|
|
{
|
|
if ( distancesquared( var_5.origin, var_1.origin ) < var_2 )
|
|
{
|
|
if ( isalive( var_5 ) && var_5.classname == "script_vehicle_zpu4_oilrocks" )
|
|
var_0[var_0.size] = var_5;
|
|
}
|
|
}
|
|
|
|
return var_0;
|
|
}
|
|
|
|
blackhawk_landing( var_0, var_1, var_2 )
|
|
{
|
|
var_3 = maps\oilrocks_apache_code::get_blackhawk_ally();
|
|
var_3 notify( "stop_kicking_up_dust" );
|
|
var_3 thread maps\_vehicle_code::aircraft_wash_thread();
|
|
var_4 = getent( "trigger_landing_zone", "targetname" );
|
|
var_3 settargetyaw( var_4.angles[1] );
|
|
var_5 = maps\_utility::groundpos( maps\_utility::add_z( var_4.origin, 200 ) );
|
|
var_5 = maps\_utility::add_z( var_5, 300 );
|
|
var_6 = spawnstruct();
|
|
var_6.origin = var_5;
|
|
var_7 = distance( var_3 gettagorigin( "tag_origin" ), var_3 gettagorigin( "tag_ground" ) );
|
|
var_6.origin = maps\_utility::add_z( var_6.origin, var_7 );
|
|
var_6.angles = var_4.angles;
|
|
|
|
if ( var_3 maps\_utility::ent_flag_exist( "blackhawk_reached_end" ) )
|
|
var_3 maps\_utility::ent_flag_wait( "blackhawk_reached_end" );
|
|
|
|
var_8 = ( var_6.origin + var_3.origin ) * 0.5;
|
|
var_3 setvehgoalpos( var_8, 1 );
|
|
var_3 vehicle_setspeed( 70, 33, 33 );
|
|
wait 2;
|
|
var_1 moveto( maps\_utility::add_z( var_2, 160 ), 2, 0.25, 0.25 );
|
|
spawn_gaz( var_0 );
|
|
var_3 setvehgoalpos( var_5, 1 );
|
|
var_3 vehicle_setspeed( 70, 33, 33 );
|
|
var_3 sethoverparams( 0, 0, 55 );
|
|
var_3 waittill( "goal" );
|
|
var_3 thread blackhawk_unloads_and_takes_off( var_6 );
|
|
kill_enemies_touching_trigger( getent( "landing_kill_enemies", "targetname" ) );
|
|
thread maps\_utility::autosave_by_name();
|
|
maps\_utility::smart_radio_dialogue_interrupt( "oilrocks_hp2_thanksforthehelp" );
|
|
wait 0.5;
|
|
maps\oilrocks_code::camlanding_from_apache( "camlanding" );
|
|
level.player clearclienttriggeraudiozone( 0.8 );
|
|
level.heroguy delete();
|
|
level.heroguy = undefined;
|
|
level.infantry_guys = maps\oilrocks_code::array_remove_undefined_dead_or_dying( level.infantry_guys );
|
|
}
|
|
|
|
spawn_gaz( var_0 )
|
|
{
|
|
var_1 = maps\_vehicle::spawn_vehicles_from_targetname_and_drive( "apache_landing_gaz" );
|
|
common_scripts\utility::array_thread( var_1, ::landing_gaz_stuff );
|
|
var_2 = [];
|
|
|
|
foreach ( var_4 in var_1 )
|
|
{
|
|
if ( var_4.riders.size )
|
|
var_2 = common_scripts\utility::array_combine( var_2, var_4.riders );
|
|
}
|
|
|
|
maps\_utility::waittill_dead( var_2 );
|
|
maps\_utility::objective_complete( var_0 );
|
|
}
|
|
|
|
landing_gaz_stuff()
|
|
{
|
|
maps\_vehicle::godon();
|
|
self.custom_death_script = ::gaz_custom_death;
|
|
self waittill( "reached_end_node" );
|
|
maps\_vehicle::godoff();
|
|
}
|
|
|
|
gaz_custom_death()
|
|
{
|
|
self.skipanimbaseddeath = 1;
|
|
self.skipmodelswapdeath = 1;
|
|
playfxontag( loadfx( "fx/explosions/helicopter_explosion_hind_oilrocks_primary" ), self, "tag_body" );
|
|
wait 0.4;
|
|
self setmodel( "vehicle_gaz_tigr_base_destroyed_oilrocks" );
|
|
self disconnectpaths();
|
|
}
|
|
|
|
blackhawk_unloads_and_takes_off( var_0 )
|
|
{
|
|
self.originheightoffset = distance( self gettagorigin( "tag_origin" ), self gettagorigin( "tag_ground" ) );
|
|
var_0 vehicle_scripts\silenthawk_landing::silenthawk_lands_and_unloads( self );
|
|
var_1 = common_scripts\utility::getstruct( "blackhawk_exist_landing", "targetname" );
|
|
self waittill( "unloaded" );
|
|
maps\oilrocks_code::assign_friendly_heros();
|
|
maps\_vehicle::vehicle_paths( var_1 );
|
|
}
|
|
|
|
kill_enemies_touching_trigger( var_0 )
|
|
{
|
|
var_1 = getaiarray( "axis" );
|
|
|
|
foreach ( var_3 in var_1 )
|
|
{
|
|
if ( var_3 istouching( var_0 ) )
|
|
var_3 kill();
|
|
}
|
|
}
|