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

281 lines
6.1 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: 3584.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 17
* Decompile Time: 6 ms
* Timestamp: 10/27/2023 12:30:48 AM
*******************************************************************/
//Function Number: 1
func_FCAF(param_00)
{
}
//Function Number: 2
func_FCB6(param_00)
{
param_00.var_FCB9 = spawn("script_model",param_00.origin);
param_00.var_FCB9 setmodel("weapon_shinguard_wm");
func_FCB7(param_00);
param_00 notifyonplayercommand("shinGuard_crouchPress","+stance");
param_00 notifyonplayercommand("shinGuard_crouchRelease","-stance");
param_00 notifyonplayercommand("shinGuard_jumpPress","+goStand");
thread func_FCB1(param_00);
thread func_FCB5(param_00);
thread func_FCB3(param_00);
thread func_FCB4(param_00);
thread func_FCB2(param_00);
}
//Function Number: 3
func_FCBB(param_00)
{
param_00 notify("shinGuard_abort");
param_00 notify("shinGuard_unset");
if(isdefined(param_00.var_FCB9))
{
param_00.var_FCB9 delete();
}
}
//Function Number: 4
func_FCB1(param_00)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("shinGuard_unset");
for(;;)
{
param_00 waittill("shinGuard_crouchPress");
if(!func_FCB0(param_00))
{
thread func_FCAD(param_00);
}
}
}
//Function Number: 5
func_FCB5(param_00)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("shinGuard_unset");
for(;;)
{
param_00 waittill("sprint_slide_begin");
thread func_FCAE(param_00,"sprint_slide_end");
}
}
//Function Number: 6
func_FCB3(param_00)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("shinGuard_unset");
var_01 = lib_0DE9::func_8651(param_00);
var_02 = undefined;
for(;;)
{
var_02 = var_01;
var_01 = lib_0DE9::func_8651(param_00);
if(var_01 == 1 && var_01 != var_02)
{
thread func_FCAE(param_00,"groundPoundLand");
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 7
func_FCB4(param_00)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("shinGuard_unset");
for(;;)
{
param_00 waittill("runPowerSiege");
param_00 notify("shinGuard_abort");
}
}
//Function Number: 8
func_FCB2(param_00)
{
param_00 endon("shinguard_unset");
var_01 = param_00.var_FCB9;
param_00 waittill("disconnect");
if(isdefined(var_01))
{
var_01 delete();
}
}
//Function Number: 9
func_FCAE(param_00,param_01,param_02)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("shinGuard_crouchRelease");
param_00 endon("shinGuard_abort");
var_03 = gettime();
param_00 waittill(param_01);
scripts\common\utility::func_136F7();
var_04 = gettime() - var_03 * 1000;
if(isdefined(param_02))
{
var_04 = param_02;
}
param_00 notify("shinGuard_crouchPressOnNotify");
thread func_FCAD(param_00,var_04);
}
//Function Number: 10
func_FCAD(param_00,param_01)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("shinGuard_crouchRelease");
param_00 endon("shinGuard_crouchPress");
param_00 endon("shinGuard_crouchPressOnNotify");
param_00 endon("shinGuard_abort");
var_02 = 0;
if(isdefined(param_01))
{
var_02 = param_01;
}
while(var_02 < 0.5)
{
if(!func_FCAC(param_00))
{
return;
}
var_02 = var_02 + 0.05;
scripts\common\utility::func_136F7();
}
if(!func_FCAC(param_00))
{
return;
}
thread func_FCAA(param_00);
}
//Function Number: 11
func_FCAA(param_00)
{
param_00 endon("death");
param_00 endon("disconnect");
param_00 endon("shinGuard_abort");
param_00 notify("shinGuard_begin");
param_00 iprintln("Shin Guard Activated");
param_00.var_FCB0 = 1;
param_00.var_FCBA = 1;
param_00 setstance("crouch");
param_00 scripts\common\utility::func_1C67(0);
param_00 scripts\common\utility::func_1C68(0);
param_00 scripts\common\utility::allow_weapon(0);
param_00 scripts\mp\_powers::func_D729();
func_FCB8(param_00);
var_01 = param_00 scripts\common\utility::spawn_tag_origin();
param_00 playerlinkto(var_01,"tag_origin",0,32,32);
thread func_FCAB(param_00,var_01);
wait(0.5);
param_00.var_FCBA = undefined;
param_00 scripts\common\utility::func_1C67(1);
param_00 scripts\common\utility::func_1C68(1);
param_00 scripts\common\utility::waittill_any_3("shinGuard_crouchPress","shinGuard_jumpPress","sprint_begin");
param_00 notify("shinGuard_end");
}
//Function Number: 12
func_FCAB(param_00,param_01)
{
param_00 scripts\common\utility::waittill_any_3("death","disconnect","shinGuard_end","shinGuard_abort");
if(isdefined(param_00))
{
param_00.var_FCB0 = undefined;
if(isdefined(param_00.var_FCBA))
{
param_00.var_FCBA = undefined;
param_00 scripts\common\utility::func_1C67(1);
param_00 scripts\common\utility::func_1C68(1);
}
param_00 scripts\common\utility::allow_weapon(1);
param_00 scripts\mp\_powers::func_D72F();
func_FCB7(param_00);
param_00 unlink();
}
if(isdefined(param_01))
{
param_01 delete();
}
}
//Function Number: 13
func_FCB8(param_00)
{
param_00.var_FCB9.origin = param_00.origin;
param_00.var_FCB9.origin = param_00.var_FCB9.origin + anglestoforward(param_00.angles) * 10;
param_00.var_FCB9.angles = param_00.angles + (0,90,0);
param_00.var_FCB9 setcandamage(1);
param_00.var_FCB9 method_847F(1);
param_00 playlocalsound("heavy_shield_up");
param_00 playsoundtoteam("heavy_shield_up_npc","axis",param_00);
param_00 playsoundtoteam("heavy_shield_up_npc","allies",param_00);
param_00.var_FCB9 show();
}
//Function Number: 14
func_FCB7(param_00)
{
param_00.var_FCB9 setcandamage(0);
param_00.var_FCB9 method_847F(0);
param_00 playlocalsound("heavy_shield_down");
param_00 playsoundtoteam("heavy_shield_down_npc","axis",param_00);
param_00 playsoundtoteam("heavy_shield_down_npc","allies",param_00);
param_00.var_FCB9 hide();
}
//Function Number: 15
func_FCAC(param_00)
{
var_01 = param_00 getstance();
if(!param_00 isonground())
{
return 0;
}
else if(var_01 != "crouch")
{
return 0;
}
if(lib_0D6C::func_101CA(param_00))
{
return 0;
}
return 1;
}
//Function Number: 16
func_FCB0(param_00)
{
return isdefined(param_00.var_FCB0);
}
//Function Number: 17
func_FCB9(param_00)
{
return param_00.var_FCB9;
}