Files
IL-GSC/IW/PC/ALL/scripts/mp/_drone_pet.gsc
2023-10-27 03:49:01 -04:00

136 lines
2.8 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\mp\_drone_pet.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 8
* Decompile Time: 423 ms
* Timestamp: 10/27/2023 12:15:12 AM
*******************************************************************/
//Function Number: 1
init()
{
thread func_13962();
level.var_5CC0 = [];
level.var_5CC0["ability_pet_1"] = spawnstruct();
level.var_5CC0["ability_pet_1"].var_1088C = ::func_10610;
level.var_5CC0["ability_pet_2"] = spawnstruct();
level.var_5CC0["ability_pet_2"].var_1088C = ::func_10611;
level.var_5CC0["ability_pet_3"] = spawnstruct();
level.var_5CC0["ability_pet_3"].var_1088C = ::func_10612;
level.var_5CC0["ability_pet_4"] = spawnstruct();
level.var_5CC0["ability_pet_4"].var_1088C = ::func_10613;
}
//Function Number: 2
func_13962()
{
for(;;)
{
level waittill("connected",var_00);
var_00 thread func_D2FA();
}
}
//Function Number: 3
func_D2FA()
{
self endon("disconnect");
for(;;)
{
if(getdvarint("scr_drone_pet_debug_spawn") != 0)
{
self waittill("spawned_player");
var_00 = getdvarint("scr_drone_pet_debug_spawn");
var_01 = "select_ability";
}
else
{
self waittill("luinotifyserver",var_01,var_00);
if(var_01 != "select_ability")
{
continue;
}
}
if(!scripts\mp\killstreaks\_ball_drone::func_128DB(0,"ball_drone_ability_pet"))
{
continue;
}
self.var_27D3.var_151C = var_00;
var_02 = "ability_pet_" + var_00 + 1;
var_03 = level.var_5CC0[var_02];
self [[ var_03.var_1088C ]]();
}
}
//Function Number: 4
func_10610()
{
level.var_112C0 = 1;
level.var_47EF = 30;
scripts\mp\_utility::func_B2AC("");
}
//Function Number: 5
func_10611()
{
self.health = 200;
self.var_BCF6 = 0.6;
scripts\mp\_weapons::func_12ED5();
}
//Function Number: 6
func_10612()
{
var_00 = self getcurrentprimaryweapon();
if(var_00 == "none")
{
var_00 = scripts\common\utility::getlastweapon();
}
if(!self hasweapon(var_00))
{
var_00 = scripts\mp\killstreaks\_utility::func_7EB7();
}
scripts\mp\_utility::func_141E(var_00);
scripts\mp\_utility::func_12C6("iw7_knife_mp",0);
scripts\mp\_utility::_switchtoweapon("iw7_knife_mp");
thread func_94A9();
}
//Function Number: 7
func_10613()
{
var_00 = self getcurrentprimaryweapon();
if(var_00 == "none")
{
var_00 = scripts\common\utility::getlastweapon();
}
if(!self hasweapon(var_00))
{
var_00 = scripts\mp\killstreaks\_utility::func_7EB7();
}
scripts\mp\_utility::func_141E(var_00);
scripts\mp\_utility::func_12C6("iw7_knife_mp",0);
scripts\mp\_utility::_switchtoweapon("iw7_knife_mp");
self.var_BCF6 = 1.5;
}
//Function Number: 8
func_94A9()
{
self endon("disconnect");
self endon("death");
for(;;)
{
var_00 = self method_8115();
self givemaxammo(var_00);
wait(2);
}
}