iw6-scripts/maps/mp/alien/_laststand.gsc
2024-02-13 13:20:49 +01:00

817 lines
24 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
callback_playerlaststandalien( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9 )
{
blackbox_laststand( var_1, var_2 );
if ( maps\mp\alien\_utility::is_chaos_mode() )
maps\mp\alien\_chaos_laststand::chaos_playerlaststand( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_9 );
else
regularextinction_playerlaststand( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_9 );
}
regularextinction_playerlaststand( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7 )
{
var_8 = gameshouldend( self );
if ( var_8 )
level thread maps\mp\gametypes\aliens::alienendgame( "axis", maps\mp\alien\_hud::get_end_game_string_index( "kia" ) );
if ( self.inlaststand )
forcebleedout( var_7 );
else
dropintolaststand( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8 );
}
forcebleedout( var_0 )
{
if ( maps\mp\alien\_utility::isplayingsolo() )
self setorigin( var_0.origin );
self.bleedoutspawnentityoverride = var_0;
self notify( "force_bleed_out" );
}
dropintolaststand( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8 )
{
self endon( "disconnect" );
level endon( "game_ended" );
self notify( "last_stand" );
enter_gamemodespecificaction();
enter_laststand();
if ( maydolaststandalien( self, var_8, var_7 ) )
{
var_9 = waitinlaststand( var_7, var_8 );
if ( !var_9 )
waitinspecator( var_7, var_8 );
}
else
waitinspecator( var_7, var_8 );
self notify( "revive" );
exit_laststand();
exit_gamemodespecificaction();
}
enter_laststand()
{
self.inlaststand = 1;
self.laststand = 1;
self.ignoreme = 1;
self.health = 1;
common_scripts\utility::_disableusability();
}
exit_laststand()
{
self laststandrevive();
self setstance( "stand" );
self.inlaststand = 0;
self.laststand = undefined;
self.ignoreme = 0;
self.health = maps\mp\gametypes\aliens::gethealthcap();
common_scripts\utility::_enableusability();
}
enter_gamemodespecificaction_getcurrentweapon( var_0 )
{
var_1 = self getcurrentweapon();
if ( var_1 == "none" )
return self.copy_fullweaponlist[0];
foreach ( var_3 in var_0 )
{
if ( var_1 == var_3 )
return self.copy_fullweaponlist[0];
}
return var_1;
}
enter_gamemodespecificaction()
{
level thread maps\mp\alien\_music_and_dialog::playvofordowned( self );
maps\mp\alien\_gamescore::update_team_encounter_performance( maps\mp\alien\_gamescore::get_team_score_component_name(), "num_players_enter_laststand" );
var_0 = [ "alienbomb_mp", "killstreak_remote_uav_mp", "mortar_detonator_mp", "switchblade_laptop_mp", "aliendeployable_crate_marker_mp", "iw6_alienminigun_mp", "iw6_alienminigun1_mp", "iw6_alienminigun2_mp", "iw6_alienminigun3_mp", "iw6_alienminigun4_mp", "iw6_alienmk32_mp", "iw6_alienmk321_mp", "iw6_alienmk322_mp", "iw6_alienmk323_mp", "iw6_alienmk324_mp", "alienflare_mp", "aliensemtex_mp", "alienclaymore_mp", "alientrophy_mp", "alienbetty_mp", "alienthrowingknife_mp", "iw6_alienmaaws_mp", "alienmortar_shell_mp", "iw6_aliendlc21_mp", "iw6_aliendlc22_mp", "iw6_aliendlc31_mp", "iw6_aliendlc32_mp", "iw6_aliendlc33_mp", "iw6_aliendlc43_mp", "aliencortex_mp" ];
maps\mp\alien\_utility::store_weapons_status( var_0 );
self.lastweapon = enter_gamemodespecificaction_getcurrentweapon( var_0 );
self.bleedoutspawnentityoverride = undefined;
self.laststand_pistol = self getweaponslistprimaries()[0];
self.being_revived = 0;
thread only_use_weapon();
maps\mp\alien\_persistence::take_player_currency( 500, 1 );
maps\mp\alien\_persistence::eog_player_update_stat( "downs", 1 );
maps\mp\alien\_alien_matchdata::inc_downed_counts();
maps\mp\alien\_challenge::update_challenge( "no_laststand" );
self setclientomnvar( "ui_alien_player_in_laststand", 1 );
}
exit_gamemodespecificaction()
{
thread maps\mp\alien\_music_and_dialog::ext_last_stand_sfx();
self.haveinvulnerabilityavailable = 1;
self.damageshieldexpiretime = gettime() + 3000;
self visionsetnakedforplayer( "", 0 );
maps\mp\alien\_utility::restore_client_fog( 0 );
maps\mp\alien\_progression::restore_all_perks();
self setweaponammostock( self.laststand_pistol, self.laststand_ammo );
self setweaponammoclip( self.laststand_pistol, self.laststand_clip_ammo );
var_0 = [ "alienflare_mp", "aliensemtex_mp", "alienclaymore_mp", "alientrophy_mp", "alienbetty_mp", "alienthrowingknife_mp", "alienmortar_shell_mp", "iw6_aliendlc21_mp", "iw6_aliendlc22_mp", "iw6_aliendlc31_mp", "iw6_aliendlc32_mp", "iw6_aliendlc43_mp", "iw6_aliendlc33_mp" ];
maps\mp\alien\_utility::restore_weapons_status( var_0 );
self setclientomnvar( "ui_alien_player_in_laststand", 0 );
self.laststand_ammo = undefined;
self.bleedoutspawnentityoverride = undefined;
maps\mp\alien\_alien_matchdata::inc_revived_counts();
self setspawnweapon( self.lastweapon );
maps\mp\alien\_death::set_kill_trigger_event_processed( self, 0 );
if ( maps\mp\alien\_utility::is_chaos_mode() )
maps\mp\alien\_chaos_laststand::chaos_exit_gamemodespecificaction( self );
}
waitinlaststand( var_0, var_1 )
{
self endon( "disconnect" );
self endon( "revive" );
level endon( "game_ended" );
if ( !var_1 )
{
visionfadetoblack( 35 );
thread playdeathsoundinlaststand( 35 );
if ( maps\mp\alien\_utility::isplayingsolo() )
{
take_laststand( self, 1 );
self setclientomnvar( "ui_laststand_end_milliseconds", gettime() + 5000 );
register_laststand_ammo();
}
else
self setclientomnvar( "ui_laststand_end_milliseconds", gettime() + 35000 );
}
if ( maps\mp\alien\_utility::isplayingsolo() )
return wait_for_self_revive( var_0, var_1 );
else
return wait_to_be_revived( self, self.origin, undefined, undefined, 1, 5000, ( 0.33, 0.75, 0.24 ), 35, 0, var_1 );
}
waitinspecator( var_0, var_1 )
{
self endon( "disconnect" );
level endon( "game_ended" );
self notify( "death" );
register_laststand_ammo();
common_scripts\utility::waitframe();
level.alienbbdata["times_died"]++;
maps\mp\alien\_persistence::eog_player_update_stat( "deaths", 1 );
if ( isdefined( self.bleedoutspawnentityoverride ) )
{
var_0 = self.bleedoutspawnentityoverride;
self.bleedoutspawnentityoverride = undefined;
}
if ( is_killed_by_kill_trigger( var_0 ) )
{
var_2 = common_scripts\utility::drop_to_ground( var_0.origin, 32, -64 );
var_3 = var_0.angles;
}
else
{
maps\mp\alien\_gamescore::update_team_encounter_performance( maps\mp\alien\_gamescore::get_team_score_component_name(), "num_players_bleed_out" );
maps\mp\alien\_alien_matchdata::inc_bleedout_counts();
var_2 = self.origin;
var_3 = self.angles;
}
maps\mp\alien\_challenge::update_challenge( "no_bleedout" );
self setclientomnvar( "ui_laststand_end_milliseconds", 0 );
var_4 = wait_to_be_revived( self, var_2, "prop_dogtags_friend_iw6", "mp_dogtag_spin", 0, 6000, ( 1, 0, 0 ), undefined, 1, var_1 );
maps\mp\_utility::updatesessionstate( "playing" );
self.forcespawnorigin = var_2;
self.forcespawnangles = var_3;
if ( isdefined( self.forceteleportorigin ) )
self.forcespawnorigin = self.forceteleportorigin;
if ( isdefined( self.forceteleportangles ) )
self.forcespawnangles = self.forceteleportangles;
maps\mp\gametypes\_playerlogic::spawnplayer( 1 );
}
wait_for_self_revive( var_0, var_1 )
{
if ( var_1 )
{
level waittill( "forever" );
self setclientomnvar( "ui_laststand_end_milliseconds", 0 );
return 0;
}
if ( is_killed_by_kill_trigger( var_0 ) )
self setorigin( var_0.origin );
else
wait 5;
self setclientomnvar( "ui_laststand_end_milliseconds", 0 );
return 1;
}
wait_to_be_revived( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10 )
{
register_laststand_ammo();
var_11 = makereviveentity( var_0, var_1, var_2, var_3, var_4 );
var_11 thread cleanupreviveent( var_0 );
if ( maps\mp\alien\_utility::is_true( var_10 ) )
common_scripts\utility::_disableweapon();
if ( var_8 )
thread enter_spectate( var_0, var_1, var_11 );
if ( var_9 )
{
level waittill( "forever" );
return 0;
}
else
{
var_12 = var_11;
if ( var_8 )
var_12 = makereviveiconentity( var_0, var_11 );
var_12 maps\mp\alien\_hud::makereviveicon( var_0, var_6, var_7 );
var_0.reviveent = var_11;
var_0.reviveiconent = var_12;
var_11 thread laststandwaittilllifereceived( var_0, var_5 );
if ( isdefined( var_7 ) )
var_13 = var_11 waittill_any_ents_or_timeout_return( var_7, var_11, "revive_success", var_0, "force_bleed_out", var_0, "revive_success" );
else if ( !isdefined( var_7 ) && maps\mp\alien\_utility::is_true( var_10 ) )
var_13 = var_11 waittill_any_ents_return( var_11, "revive_success", var_0, "force_bleed_out", var_0, "revive_success" );
else
var_13 = var_11 common_scripts\utility::waittill_any_return( "revive_success" );
if ( var_13 == "timeout" && is_being_revived( var_0 ) )
var_13 = var_11 common_scripts\utility::waittill_any_return( "revive_success", "revive_fail" );
if ( var_13 == "revive_success" )
{
if ( maps\mp\alien\_utility::is_true( var_10 ) )
common_scripts\utility::_enableweapon();
return 1;
}
else
return 0;
}
}
laststandwaittilllifereceived( var_0, var_1 )
{
self endon( "death" );
level endon( "game_ended" );
for (;;)
{
self makeusable();
self waittill( "trigger", var_2 );
self makeunusable();
if ( !isplayer( var_2 ) || !var_2 isonground() )
continue;
var_3 = var_2 maps\mp\alien\_perk_utility::perk_getrevivetimescalar();
if ( var_0 maps\mp\alien\_persistence::is_upgrade_enabled( "faster_revive_upgrade" ) )
var_3 = var_3 * 1.2;
var_4 = int( var_1 / var_3 );
var_5 = get_revive_result( var_0, var_2, self.origin, var_4 );
if ( var_5 )
{
record_revive_success( var_2, var_0 );
break;
}
else
{
self notify( "revive_fail" );
continue;
}
}
var_0 setclientomnvar( "ui_laststand_end_milliseconds", 0 );
self notify( "revive_success" );
}
medic_revive( var_0, var_1 )
{
instant_revive( var_1 );
record_revive_success( var_0, var_1 );
}
record_revive_success( var_0, var_1 )
{
level thread maps\mp\alien\_music_and_dialog::playvoforrevived( var_0 );
var_0 maps\mp\alien\_persistence::set_player_revives();
var_0 maps\mp\alien\_persistence::eog_player_update_stat( "revives", 1 );
var_1 thread maps\mp\gametypes\_hud_message::playercardsplashnotify( "revived", var_0 );
}
makereviveentity( var_0, var_1, var_2, var_3, var_4 )
{
var_5 = ( 0, 0, 20 );
var_1 = common_scripts\utility::drop_to_ground( var_1 + var_5, 32, -64 );
var_6 = spawn( "script_model", var_1 );
var_6 setcursorhint( "HINT_NOICON" );
var_6 sethintstring( &"PLATFORM_REVIVE" );
var_6.owner = var_0;
var_6.inuse = 0;
var_6.targetname = "revive_trigger";
if ( isdefined( var_2 ) )
var_6 setmodel( var_2 );
if ( isdefined( var_3 ) )
var_6 scriptmodelplayanim( var_3 );
if ( var_4 )
var_6 linkto( var_0, "tag_origin", var_5, ( 0, 0, 0 ) );
return var_6;
}
makereviveiconentity( var_0, var_1 )
{
var_2 = ( 0, 0, 30 );
var_3 = spawn( "script_model", var_1.origin + var_2 );
var_3 thread cleanupreviveent( var_0 );
return var_3;
}
maydolaststandalien( var_0, var_1, var_2 )
{
if ( maps\mp\alien\_utility::isplayingsolo() )
return solo_maydolaststand( var_1, var_2 );
else
return coop_maydolaststand( var_2 );
}
solo_maydolaststand( var_0, var_1 )
{
if ( var_0 && is_killed_by_kill_trigger( var_1 ) )
return 0;
return 1;
}
coop_maydolaststand( var_0 )
{
if ( is_killed_by_kill_trigger( var_0 ) )
return 0;
return 1;
}
only_use_weapon( var_0 )
{
if ( isdefined( self.iscarrying ) && self.iscarrying )
wait 0.5;
var_1 = self getweaponslistprimaries()[0];
var_2 = [ "alienflare_mp", "aliensemtex_mp", "alienclaymore_mp", "alientrophy_mp", "alienbetty_mp", "iw6_aliendlc43_mp", "alienthrowingknife_mp", "alienmortar_shell_mp", "iw6_aliendlc21_mp", "iw6_aliendlc22_mp", "iw6_aliendlc31_mp", "iw6_aliendlc32_mp", "iw6_aliendlc33_mp" ];
var_3 = can_use_pistol_during_last_stand( self );
if ( var_3 )
var_2[var_2.size] = var_1;
_takeweaponsexceptlist( var_2 );
if ( var_3 )
{
var_4 = self getammocount( var_1 );
var_5 = weaponclipsize( var_1 );
if ( var_4 < var_5 )
self setweaponammoclip( var_1, var_5 );
self switchtoweapon( var_1 );
}
}
can_use_pistol_during_last_stand( var_0 )
{
if ( maps\mp\alien\_utility::is_chaos_mode() && var_0 get_last_stand_count() == 0 )
return 0;
return 1;
}
cleanupreviveent( var_0 )
{
self endon( "death" );
var_0 common_scripts\utility::waittill_any( "death", "disconnect", "revive" );
self delete();
}
player_init_laststand()
{
if ( maps\mp\alien\_utility::is_chaos_mode() )
maps\mp\alien\_chaos_laststand::chaos_player_init_laststand();
else
regularextinction_player_init_laststand();
}
regularextinction_player_init_laststand()
{
if ( maps\mp\alien\_utility::isplayingsolo() && !issplitscreen() )
{
set_last_stand_count( self, 1 );
thread init_selfrevive_icon( 1 );
}
}
init_selfrevive_icon( var_0 )
{
self endon( "death" );
self endon( "disconnect" );
level endon( "game_ended" );
wait 5.0;
var_1 = get_last_stand_count();
self setclientomnvar( "ui_alien_selfrevive", var_1 );
}
give_laststand( var_0, var_1 )
{
if ( !isdefined( var_1 ) )
var_1 = 1;
var_2 = var_0 get_last_stand_count() + var_1;
set_last_stand_count( var_0, var_2 );
}
take_laststand( var_0, var_1 )
{
if ( !isdefined( var_1 ) )
var_1 = 1;
var_2 = var_0 get_last_stand_count() - var_1;
set_last_stand_count( var_0, max( var_2, 0 ) );
}
gameshouldend( var_0 )
{
if ( maps\mp\alien\_utility::isplayingsolo() )
return solo_gameshouldend( var_0 );
else
return coop_gameshouldend( var_0 );
}
solo_gameshouldend( var_0 )
{
if ( var_0.inlaststand )
return 0;
return var_0 get_last_stand_count() == 0;
}
coop_gameshouldend( var_0 )
{
return everyone_else_all_in_laststand( var_0 );
}
everyone_else_all_in_laststand( var_0 )
{
foreach ( var_2 in level.players )
{
if ( var_2 == var_0 )
continue;
if ( !player_in_laststand( var_2 ) )
return 0;
}
return 1;
}
get_revive_result( var_0, var_1, var_2, var_3 )
{
var_1.iscapturingcrate = 1;
var_4 = createuseent( var_2 );
var_4 thread cleanupreviveent( var_0 );
var_5 = revive_use_hold_think( var_0, var_1, var_4, var_3 );
var_1.iscapturingcrate = 0;
return var_5;
}
createuseent( var_0 )
{
var_1 = spawn( "script_origin", var_0 );
var_1.curprogress = 0;
var_1.usetime = 0;
var_1.userate = 8000;
var_1.inuse = 0;
return var_1;
}
playdeathsoundinlaststand( var_0 )
{
self endon( "disconnect" );
self endon( "revive" );
level endon( "game_ended" );
maps\mp\_utility::playdeathsound();
wait( var_0 / 3 );
maps\mp\_utility::playdeathsound();
wait( var_0 / 3 );
maps\mp\_utility::playdeathsound();
}
visionfadetoblack( var_0 )
{
var_1 = 2.4;
self visionsetnakedforplayer( "black_bw", var_0 * var_1 );
maps\mp\alien\_utility::restore_client_fog( 0 );
}
enter_spectate( var_0, var_1, var_2 )
{
var_0 endon( "disconnect" );
level endon( "game_ended" );
enter_camera_zoomout();
camera_zoomout( var_0, var_1, var_2 );
exit_camera_zoomout();
}
camera_zoomout( var_0, var_1, var_2 )
{
var_2 endon( "revive_success" );
var_3 = ( 0, 0, 30 );
var_4 = ( 0, 0, 100 );
var_5 = ( 0, 0, 400 );
var_6 = 2.0;
var_7 = 0.6;
var_8 = 0.6;
var_9 = var_1 + var_3;
var_10 = bullettrace( var_9, var_9 + var_4, 0, var_0 );
var_11 = var_10["position"];
var_10 = bullettrace( var_11, var_11 + var_5, 0, var_0 );
var_12 = var_10["position"];
var_13 = spawn( "script_model", var_11 );
var_13 setmodel( "tag_origin" );
var_13.angles = vectortoangles( ( 0, 0, -1 ) );
var_13 thread cleanupreviveent( var_0 );
var_0 cameralinkto( var_13, "tag_origin" );
var_13 moveto( var_12, var_6, var_7, var_8 );
var_13 waittill( "movedone" );
var_13 delete();
var_0 maps\mp\gametypes\_playerlogic::respawn_asspectator();
}
enter_camera_zoomout()
{
self playerhide();
self freezecontrols( 1 );
self visionsetnakedforplayer( "cheat_bw", 0 );
maps\mp\alien\_utility::restore_client_fog( 0 );
}
exit_camera_zoomout()
{
self cameraunlink();
self freezecontrols( 0 );
}
revive_use_hold_think( var_0, var_1, var_2, var_3 )
{
enter_revive_use_hold_think( var_0, var_1, var_2, var_3 );
thread wait_for_exit_revive_use_hold_think( var_0, var_1, var_2 );
var_4 = 0;
var_5 = 0;
while ( should_revive_continue( var_1 ) )
{
if ( var_4 >= var_3 )
{
var_5 = 1;
break;
}
var_0 setclientomnvar( "ui_securing_progress", var_4 / var_3 );
var_1 setclientomnvar( "ui_securing_progress", var_4 / var_3 );
var_4 = var_4 + 50;
common_scripts\utility::waitframe();
}
var_2 notify( "use_hold_think_complete" );
var_2 waittill( "exit_use_hold_think_complete" );
return var_5;
}
enter_revive_use_hold_think( var_0, var_1, var_2, var_3 )
{
var_0 setclientomnvar( "ui_securing", 4 );
var_1 setclientomnvar( "ui_securing", 3 );
var_0.being_revived = 1;
var_1 playerlinkto( var_2 );
var_1 playerlinkedoffsetenable();
var_1 maps\mp\alien\_utility::disable_weapon_timeout( var_3 + 0.05, "revive_weapon_management" );
var_1.isreviving = 1;
}
wait_for_exit_revive_use_hold_think( var_0, var_1, var_2 )
{
common_scripts\utility::waittill_any_ents( var_2, "use_hold_think_complete", var_0, "disconnect", var_0, "revive_success", var_0, "force_bleed_out" );
if ( maps\mp\_utility::isreallyalive( var_0 ) )
{
var_0.being_revived = 0;
var_0 setclientomnvar( "ui_securing", 0 );
}
var_1 unlink();
var_1 maps\mp\alien\_utility::enable_weapon_wrapper( "revive_weapon_management" );
var_1 setclientomnvar( "ui_securing", 0 );
var_1.isreviving = 0;
var_2 notify( "exit_use_hold_think_complete" );
}
should_revive_continue( var_0 )
{
return !level.gameended && maps\mp\_utility::isreallyalive( var_0 ) && var_0 usebuttonpressed() && !var_0.inlaststand;
}
register_laststand_ammo()
{
self.laststand_ammo = self getweaponammostock( self.laststand_pistol );
self.laststand_clip_ammo = self getweaponammoclip( self.laststand_pistol );
}
_takeweaponsexceptlist( var_0 )
{
var_1 = self getweaponslistall();
foreach ( var_3 in var_1 )
{
if ( common_scripts\utility::array_contains( var_0, var_3 ) )
continue;
else
self takeweapon( var_3 );
}
}
blackbox_laststand( var_0, var_1 )
{
level.alienbbdata["times_downed"]++;
var_2 = isagent( var_0 );
if ( var_2 )
{
var_3 = ( gettime() - var_0.birthtime ) / 1000;
var_4 = "unknown agent";
if ( isdefined( var_0.agent_type ) )
{
var_4 = var_0.agent_type;
if ( isdefined( var_0.alien_type ) )
var_4 = var_0.alien_type;
}
}
else
{
var_3 = 0;
if ( isplayer( var_0 ) )
var_4 = "player";
else
var_4 = "nonagent";
}
var_5 = 0.0;
var_6 = 0.0;
var_7 = 0.0;
if ( isdefined( var_0 ) && isagent( var_0 ) )
{
var_5 = var_0.origin[0];
var_6 = var_0.origin[1];
var_7 = var_0.origin[2];
}
var_8 = "";
if ( isdefined( self.name ) )
var_8 = self.name;
var_9 = -1;
if ( isdefined( level.current_cycle_num ) )
var_9 = level.current_cycle_num;
var_10 = "unknown";
if ( isdefined( level.current_hive_name ) )
var_10 = level.current_hive_name;
bbprint( "alienplayerlaststand", "cyclenum %i hivename %s attackerisagent %i attackeragenttype %s attackeralivetime %f attackerx %f attackery %f attackerz %f victimx %f victimy %f victimz %f victimname %s damage %i", var_9, var_10, var_2, var_4, var_3, var_5, var_6, var_7, self.origin[0], self.origin[1], self.origin[2], var_8, var_1 );
}
waittill_any_ents_or_timeout_return( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11, var_12, var_13, var_14 )
{
self endon( "death" );
var_15 = spawnstruct();
var_1 childthread common_scripts\utility::waittill_string( var_2, var_15 );
if ( isdefined( var_3 ) && isdefined( var_4 ) )
var_3 childthread common_scripts\utility::waittill_string( var_4, var_15 );
if ( isdefined( var_5 ) && isdefined( var_6 ) )
var_5 childthread common_scripts\utility::waittill_string( var_6, var_15 );
if ( isdefined( var_7 ) && isdefined( var_8 ) )
var_7 childthread common_scripts\utility::waittill_string( var_8, var_15 );
if ( isdefined( var_9 ) && isdefined( var_10 ) )
var_9 childthread common_scripts\utility::waittill_string( var_10, var_15 );
if ( isdefined( var_11 ) && isdefined( var_12 ) )
var_11 childthread common_scripts\utility::waittill_string( var_12, var_15 );
if ( isdefined( var_13 ) && isdefined( var_14 ) )
var_13 childthread common_scripts\utility::waittill_string( var_14, var_15 );
var_15 childthread common_scripts\utility::_timeout( var_0 );
var_15 waittill( "returned", var_16 );
var_15 notify( "die" );
return var_16;
}
waittill_any_ents_return( var_0, var_1, var_2, var_3, var_4, var_5, var_6, var_7, var_8, var_9, var_10, var_11, var_12, var_13 )
{
self endon( "death" );
var_14 = spawnstruct();
var_0 childthread common_scripts\utility::waittill_string( var_1, var_14 );
if ( isdefined( var_2 ) && isdefined( var_3 ) )
var_2 childthread common_scripts\utility::waittill_string( var_3, var_14 );
if ( isdefined( var_4 ) && isdefined( var_5 ) )
var_4 childthread common_scripts\utility::waittill_string( var_5, var_14 );
if ( isdefined( var_6 ) && isdefined( var_7 ) )
var_6 childthread common_scripts\utility::waittill_string( var_7, var_14 );
if ( isdefined( var_8 ) && isdefined( var_9 ) )
var_8 childthread common_scripts\utility::waittill_string( var_9, var_14 );
if ( isdefined( var_10 ) && isdefined( var_11 ) )
var_10 childthread common_scripts\utility::waittill_string( var_11, var_14 );
if ( isdefined( var_12 ) && isdefined( var_13 ) )
var_12 childthread common_scripts\utility::waittill_string( var_13, var_14 );
var_14 waittill( "returned", var_15 );
var_14 notify( "die" );
return var_15;
}
is_killed_by_kill_trigger( var_0 )
{
return isdefined( var_0 );
}
set_last_stand_count( var_0, var_1 )
{
var_1 = int( var_1 );
var_0 setcoopplayerdata( "alienSession", "last_stand_count", var_1 );
var_0 setclientomnvar( "ui_alien_selfrevive", var_1 );
}
get_last_stand_count()
{
return self getcoopplayerdata( "alienSession", "last_stand_count" );
}
is_being_revived( var_0 )
{
return var_0.being_revived;
}
player_in_laststand( var_0 )
{
return var_0.inlaststand;
}
instant_revive( var_0 )
{
var_0 notify( "revive_success" );
}