init
This commit is contained in:
136
maps/mp/killstreaks/_aalauncher.gsc
Normal file
136
maps/mp/killstreaks/_aalauncher.gsc
Normal file
@@ -0,0 +1,136 @@
|
||||
// IW6 GSC SOURCE
|
||||
// Generated by https://github.com/xensik/gsc-tool
|
||||
|
||||
init()
|
||||
{
|
||||
level.killstreakfuncs["aa_launcher"] = ::tryuseaalauncher;
|
||||
maps\mp\_laserguidedlauncher::lgm_init( "vfx/gameplay/mp/killstreaks/vfx_maaws_split", "vfx/gameplay/mp/killstreaks/vfx_maaws_homing" );
|
||||
}
|
||||
|
||||
getaalaunchername()
|
||||
{
|
||||
return "iw6_maaws_mp";
|
||||
}
|
||||
|
||||
getaalauncherchildname()
|
||||
{
|
||||
return "iw6_maawschild_mp";
|
||||
}
|
||||
|
||||
getaalauncherhomingname()
|
||||
{
|
||||
return "iw6_maawshoming_mp";
|
||||
}
|
||||
|
||||
getaalauncherammo( var_0 )
|
||||
{
|
||||
var_1 = getaalauncheruniqueindex( var_0 );
|
||||
var_2 = 0;
|
||||
|
||||
if ( isdefined( var_0.pers["aaLauncherAmmo"][var_1] ) )
|
||||
var_2 = var_0.pers["aaLauncherAmmo"][var_1];
|
||||
|
||||
return var_2;
|
||||
}
|
||||
|
||||
clearaalauncherammo( var_0 )
|
||||
{
|
||||
var_1 = getaalauncheruniqueindex( var_0 );
|
||||
var_0.pers["aaLauncherAmmo"][var_1] = undefined;
|
||||
}
|
||||
|
||||
setaalauncherammo( var_0, var_1, var_2 )
|
||||
{
|
||||
var_3 = getaalauncheruniqueindex( var_0 );
|
||||
var_0.pers["aaLauncherAmmo"][var_3] = var_1;
|
||||
|
||||
if ( !isdefined( var_2 ) || var_2 )
|
||||
{
|
||||
if ( var_0 hasweapon( getaalaunchername() ) )
|
||||
var_0 setweaponammoclip( getaalaunchername(), var_1 );
|
||||
}
|
||||
}
|
||||
|
||||
getaalauncheruniqueindex( var_0 )
|
||||
{
|
||||
return var_0.pers["killstreaks"][var_0.killstreakindexweapon].kid;
|
||||
}
|
||||
|
||||
tryuseaalauncher( var_0, var_1 )
|
||||
{
|
||||
return useaalauncher( self, var_0 );
|
||||
}
|
||||
|
||||
useaalauncher( var_0, var_1 )
|
||||
{
|
||||
if ( !isdefined( self.pers["aaLauncherAmmo"] ) )
|
||||
self.pers["aaLauncherAmmo"] = [];
|
||||
|
||||
if ( getaalauncherammo( var_0 ) == 0 )
|
||||
setaalauncherammo( self, 2, 0 );
|
||||
|
||||
level thread monitorweaponswitch( var_0 );
|
||||
level thread monitorlauncherammo( var_0 );
|
||||
thread maps\mp\_laserguidedlauncher::lgm_firing_monitormissilefire( getaalaunchername(), getaalauncherchildname(), getaalauncherhomingname() );
|
||||
var_2 = 0;
|
||||
var_3 = var_0 common_scripts\utility::waittill_any_return( "aa_launcher_switch", "aa_launcher_empty", "death", "disconnect" );
|
||||
|
||||
if ( var_3 == "aa_launcher_empty" )
|
||||
{
|
||||
var_0 common_scripts\utility::waittill_any( "weapon_change", "LGM_player_allMissilesDestroyed", "death", "disconnect" );
|
||||
var_2 = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if ( var_0 hasweapon( getaalaunchername() ) && var_0 getammocount( getaalaunchername() ) == 0 )
|
||||
clearaalauncherammo( var_0 );
|
||||
|
||||
if ( getaalauncherammo( var_0 ) == 0 )
|
||||
var_2 = 1;
|
||||
}
|
||||
|
||||
var_0 notify( "aa_launcher_end" );
|
||||
maps\mp\_laserguidedlauncher::lgm_firing_endmissilefire();
|
||||
return var_2;
|
||||
}
|
||||
|
||||
monitorweaponswitch( var_0 )
|
||||
{
|
||||
var_0 endon( "death" );
|
||||
var_0 endon( "disconnect" );
|
||||
var_0 endon( "aa_launcher_empty" );
|
||||
var_0 endon( "aa_launcher_end" );
|
||||
var_1 = var_0 getcurrentweapon();
|
||||
|
||||
while ( var_1 == getaalaunchername() )
|
||||
var_0 waittill( "weapon_change", var_1 );
|
||||
|
||||
var_0 notify( "aa_launcher_switch" );
|
||||
}
|
||||
|
||||
monitorlauncherammo( var_0 )
|
||||
{
|
||||
var_0 endon( "death" );
|
||||
var_0 endon( "disconnect" );
|
||||
var_0 endon( "aa_launcher_switch" );
|
||||
var_0 endon( "aa_launcher_end" );
|
||||
setaalauncherammo( var_0, getaalauncherammo( var_0 ), 1 );
|
||||
|
||||
for (;;)
|
||||
{
|
||||
var_0 waittill( "weapon_fired", var_1 );
|
||||
|
||||
if ( var_1 != getaalaunchername() )
|
||||
continue;
|
||||
|
||||
var_2 = var_0 getammocount( getaalaunchername() );
|
||||
setaalauncherammo( var_0, var_2, 0 );
|
||||
|
||||
if ( getaalauncherammo( var_0 ) == 0 )
|
||||
{
|
||||
clearaalauncherammo( var_0 );
|
||||
var_0 notify( "aa_launcher_empty" );
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user