Files
IL-GSC/MW3/PC/MP/maps/mp/killstreaks/_autoshotgun.gsc
InfinityLoader d559c1d414 Added MW3 Scripts
2023-10-27 03:47:01 -04:00

132 lines
3.0 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: maps\mp\killstreaks\_autoshotgun.gsc
* Game: Call of Duty: Modern Warfare 3
* Platform: PC
* Function Count: 9
* Decompile Time: 173 ms
* Timestamp: 10/27/2023 2:13:54 AM
*******************************************************************/
//Function Number: 1
init()
{
level.killstreakfuncs["auto_shotgun"] = ::tryuseautoshotgun;
level.killstreaksetupfuncs["auto_shotgun"] = ::shotgunsetup;
level.killstreakfuncs["thumper"] = ::tryusethumper;
level.killstreaksetupfuncs["thumper"] = ::thumpersetup;
thread onplayerconnect();
}
//Function Number: 2
shotgunsetup()
{
self givemaxammo("aa12_mp");
thread saveweaponammoondeath("aa12_mp");
}
//Function Number: 3
tryuseautoshotgun(param_00)
{
thread removeweapononoutofammo("aa12_mp");
return 1;
}
//Function Number: 4
thumpersetup()
{
self givemaxammo("m79_mp");
thread saveweaponammoondeath("m79_mp");
}
//Function Number: 5
tryusethumper()
{
thread removeweapononoutofammo("m79_mp");
return 1;
}
//Function Number: 6
onplayerconnect()
{
for(;;)
{
level waittill("connected",var_00);
var_00 thread onplayerspawned();
}
}
//Function Number: 7
onplayerspawned()
{
self endon("disconnect");
for(;;)
{
self waittill("spawned_player");
if(!isdefined(self.pers["ksWeapon_clip_ammo"]) || !isdefined(self.pers["ksWeapon_name"]))
{
continue;
}
var_00 = self.pers["ksWeapon_name"];
if(isdefined(self.pers["killstreak"]) && maps\mp\killstreaks\_killstreaks::getkillstreakweapon(self.pers["killstreak"]) != var_00)
{
self.pers["ksWeapon_name"] = undefined;
self.pers["ksWeapon_clip_ammo"] = undefined;
self.pers["ksWeapon_stock_ammo"] = undefined;
continue;
}
maps\mp\killstreaks\_killstreaks::givekillstreakweapon(var_00);
self setweaponammostock(var_00,self.pers["ksWeapon_stock_ammo"]);
self setweaponammoclip(var_00,self.pers["ksWeapon_clip_ammo"]);
thread removeweapononoutofammo(var_00);
thread saveweaponammoondeath(var_00);
}
}
//Function Number: 8
saveweaponammoondeath(param_00)
{
self endon("disconnect");
self endon("got_killstreak");
self notify("saveWeaponAmmoOnDeath");
self endon("saveWeaponAmmoOnDeath");
self.pers["ksWeapon_name"] = undefined;
self.pers["ksWeapon_clip_ammo"] = undefined;
self.pers["ksWeapon_stock_ammo"] = undefined;
self waittill("death");
if(!self hasweapon(param_00))
{
return;
}
self.pers["ksWeapon_name"] = param_00;
self.pers["ksWeapon_clip_ammo"] = self getweaponammoclip(param_00);
self.pers["ksWeapon_stock_ammo"] = self getweaponammostock(param_00);
}
//Function Number: 9
removeweapononoutofammo(param_00)
{
self endon("disconnect");
self endon("death");
self notify(param_00 + "_ammo_monitor");
self endon(param_00 + "_ammo_monitor");
for(;;)
{
self waittill("end_firing");
if(self getcurrentweapon() != param_00)
{
continue;
}
var_01 = self getweaponammoclip(param_00) + self getweaponammostock(param_00);
if(var_01)
{
continue;
}
self takeweapon(param_00);
}
}