IL-GSC/IW/PC/ALL/3607.gsc
2023-10-27 03:49:01 -04:00

281 lines
6.2 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3607.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 15
* Decompile Time: 3 ms
* Timestamp: 10/27/2023 12:30:53 AM
*******************************************************************/
//Function Number: 1
func_DD9E()
{
level._effect["reaper_kill"] = loadfx("vfx/iw7/_requests/mp/vfx_meatbag_large.vfx");
level._effect["reaper_kill_robot"] = loadfx("vfx/iw7/core/impact/robot/vfx_mp_c6_melee.vfx");
level._effect["screen_blood"] = loadfx("vfx/iw7/core/zombie/weapon/axe/vfx_zmb_axe_screen_blood.vfx");
}
//Function Number: 2
func_DD9D()
{
self method_845E(1);
self method_82BA(1);
self setclientomnvar("ui_odin",5);
self method_82C6("c6reaperservo");
thread func_13B7A();
self playsoundonmovingent("reaper_startup");
self.health = self.maxhealth;
self method_845A("reaper_mp");
func_DD94();
func_DD99();
func_DD9B();
self.var_B62A = spawn("script_model",self.origin);
self.var_B62A setmodel("tag_origin");
thread func_13ACC();
thread func_13A9F();
thread scripts\mp\_supers::watchobjuse(125);
return 1;
}
//Function Number: 3
func_DD97()
{
self endon("death");
self endon("disconnect");
self notify("reaper_removed");
self notify("obj_drain_end");
self method_845E(0);
self method_82BA(0);
self setclientomnvar("ui_odin",-1);
self thermalvisionoff();
self method_82C6(self.var_42B0);
self playlocalsound("reaper_shutdown");
if(scripts\mp\_utility::func_9FB3(level.tactical))
{
self method_845A("scout_mp_tactical");
}
else
{
self method_845A("scout_mp");
}
func_DD98();
reaper_restorerigperks();
func_DD9A();
self.var_B62A delete();
}
//Function Number: 4
func_13A9F()
{
self endon("death");
self endon("disconnect");
self endon("reaper_removed");
level endon("game_ended");
for(;;)
{
self waittill("got_a_kill");
self.health = self.maxhealth;
var_00 = self method_816E();
playfx(level._effect["screen_blood"],var_00);
}
}
//Function Number: 5
func_13B7A()
{
self endon("death");
self endon("disconnect");
self endon("reaper_removed");
level endon("game_ended");
var_00 = 0;
self thermalvisionoff();
self notifyonplayercommand("switch_reaper_thermal","+usereload");
self notifyonplayercommand("switch_reaper_thermal","+activate");
for(;;)
{
self waittill("switch_reaper_thermal");
if(!var_00)
{
self thermalvisionon();
}
else
{
self thermalvisionoff();
}
self playlocalsound("reaper_thermal_toggle");
var_00 = !var_00;
}
}
//Function Number: 6
func_13ACC()
{
self endon("death");
self endon("disconnect");
self endon("reaper_removed");
level endon("game_ended");
var_00 = (0,0,32);
for(;;)
{
self waittill("melee_fired");
self setscriptablepartstate("reaper_claws","claws_on_fire",0);
}
}
//Function Number: 7
func_DD99()
{
if(scripts\mp\_utility::_hasperk("specialty_dodge"))
{
self.restoredodge = "specialty_dodge";
self setclientomnvar("ui_dodge_charges",0);
self notify("setDodge");
scripts\mp\_utility::func_E150("specialty_dodge");
}
if(scripts\mp\_utility::_hasperk("specialty_afterburner"))
{
self.restoreafterburner = "specialty_afterburner";
scripts\mp\_utility::func_E150("specialty_afterburner");
}
if(scripts\mp\_utility::_hasperk("specialty_rush"))
{
self.restorerush = "specialty_rush";
scripts\mp\_utility::func_E150("specialty_rush");
}
self method_842C(0,400);
}
//Function Number: 8
reaper_restorerigperks()
{
if(isdefined(self.restoredodge))
{
scripts\mp\_utility::func_8387(self.restoredodge);
self.restoredodge = undefined;
}
if(isdefined(self.restoreafterburner))
{
scripts\mp\_utility::func_8387(self.restoreafterburner);
self.restoreafterburner = undefined;
}
if(isdefined(self.restorerush))
{
scripts\mp\_utility::func_8387(self.restorerush);
self.restorerush = undefined;
}
self method_842C(0,50);
}
//Function Number: 9
func_DD94()
{
scripts\mp\_utility::func_8387("specialty_extendedmelee");
scripts\mp\_utility::func_8387("specialty_fastermelee");
scripts\mp\_utility::func_8387("specialty_sprintmelee");
scripts\mp\_utility::func_8387("specialty_commando");
scripts\mp\_utility::func_8387("specialty_selectivehearing");
scripts\mp\_utility::func_8387("specialty_heartbreaker");
scripts\mp\_utility::func_8387("specialty_stun_resistance");
scripts\mp\_utility::func_8387("specialty_ghost");
}
//Function Number: 10
func_DD98()
{
scripts\mp\_utility::func_E150("specialty_extendedmelee");
scripts\mp\_utility::func_E150("specialty_fastermelee");
scripts\mp\_utility::func_E150("specialty_sprintmelee");
scripts\mp\_utility::func_E150("specialty_commando");
scripts\mp\_utility::func_E150("specialty_selectivehearing");
scripts\mp\_utility::func_E150("specialty_heartbreaker");
scripts\mp\_utility::func_E150("specialty_stun_resistance");
scripts\mp\_utility::func_E150("specialty_ghost");
}
//Function Number: 11
func_DD9B()
{
self disableweaponpickup();
scripts\common\utility::func_1C64(0);
scripts\common\utility::func_1C60(0);
scripts\common\utility::func_1C6E(0);
scripts\mp\_utility::func_1C47(0);
scripts\mp\_powers::func_D729();
}
//Function Number: 12
func_DD9A()
{
self enableweaponpickup();
scripts\common\utility::func_1C64(1);
scripts\common\utility::func_1C60(1);
scripts\common\utility::func_1C6E(1);
scripts\mp\_utility::func_1C47(1);
scripts\mp\_powers::func_D72F();
}
//Function Number: 13
func_93D9()
{
return scripts\common\utility::func_116D7(scripts\mp\_utility::func_9FB3(level.var_8B38),19,50);
}
//Function Number: 14
func_A668()
{
self endon("disconnect");
level endon("game_ended");
wait(0.05);
var_00 = self method_8113();
if(!isdefined(var_00))
{
return;
}
var_01 = var_00.origin;
if(self.var_AE62 == "archetype_scout")
{
playfx(level._effect["reaper_kill_robot"],var_01 + (0,0,12));
}
else
{
playfx(level._effect["reaper_kill"],var_01 + (0,0,12));
}
if(isdefined(var_00))
{
var_00 hide(1);
var_00.var_CA6C = 1;
}
}
//Function Number: 15
isusingreaper()
{
if(!isplayer(self))
{
return 0;
}
if(!scripts\mp\_utility::func_9F19(self))
{
return 0;
}
var_00 = scripts\mp\_supers::func_7E4F();
if(!isdefined(var_00) || var_00 != "super_reaper")
{
return 0;
}
return scripts\mp\_supers::func_9F88();
}