mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-23 00:07:52 -05:00
445 lines
9.3 KiB
Plaintext
445 lines
9.3 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\cp\zombies\zombie_scriptable_states.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 9
|
|
* Decompile Time: 397 ms
|
|
* Timestamp: 10/27/2023 12:27:08 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
applyzombiescriptablestate(param_00,param_01)
|
|
{
|
|
param_00 notify("applyZombieScriptableState");
|
|
param_00 endon("applyZombieScriptableState");
|
|
param_00 endon("death");
|
|
var_02 = 1;
|
|
var_03 = 0;
|
|
var_04 = 0;
|
|
var_05 = 0;
|
|
var_06 = 0;
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
while(var_02)
|
|
{
|
|
var_0A = scripts\common\utility::istrue(param_00.var_9B51);
|
|
var_0B = scripts\common\utility::istrue(param_00.var_9B81);
|
|
var_0C = scripts\common\utility::istrue(param_00.var_11196);
|
|
var_0D = scripts\common\utility::istrue(param_00.var_9E0C);
|
|
var_0E = scripts\common\utility::istrue(param_00.var_9B8A);
|
|
var_0F = scripts\common\utility::istrue(param_00.var_9BC9);
|
|
var_10 = isdefined(param_00.var_7455);
|
|
if(var_0D)
|
|
{
|
|
if(!var_05)
|
|
{
|
|
var_05 = 1;
|
|
var_03 = 0;
|
|
var_04 = 0;
|
|
var_06 = 0;
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
param_00.var_EF42 = 1;
|
|
func_5554(param_00,"frozen");
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_10)
|
|
{
|
|
if(!var_09)
|
|
{
|
|
var_09 = 1;
|
|
var_05 = 0;
|
|
var_03 = 0;
|
|
var_04 = 0;
|
|
var_06 = 0;
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
param_00.var_EF42 = 1;
|
|
if(isalive(param_00))
|
|
{
|
|
param_00 setscriptablepartstate("cold","active",1);
|
|
func_5554(param_00,"cold");
|
|
param_00 thread func_1887(param_00,param_01);
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_0A)
|
|
{
|
|
if(!var_08)
|
|
{
|
|
var_08 = 1;
|
|
var_03 = 0;
|
|
var_04 = 0;
|
|
var_05 = 0;
|
|
var_06 = 0;
|
|
var_07 = 0;
|
|
var_09 = 0;
|
|
param_00.var_EF42 = 1;
|
|
if(isalive(param_00))
|
|
{
|
|
param_00 setscriptablepartstate("arcane_white","active",1);
|
|
func_5554(param_00,"arcane_white");
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_0E)
|
|
{
|
|
if(!var_06)
|
|
{
|
|
var_06 = 1;
|
|
var_03 = 0;
|
|
var_04 = 0;
|
|
var_05 = 0;
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
param_00.var_EF42 = 1;
|
|
if(isalive(param_00))
|
|
{
|
|
param_00 setscriptablepartstate("chemburn","active",1);
|
|
func_5554(param_00,"chemburn");
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_0B)
|
|
{
|
|
if(!var_03)
|
|
{
|
|
var_03 = 1;
|
|
var_04 = 0;
|
|
var_05 = 0;
|
|
var_06 = 0;
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
param_00.var_EF42 = 1;
|
|
if(isalive(param_00))
|
|
{
|
|
param_00 setscriptablepartstate("burning","active",1);
|
|
func_5554(param_00,"burning");
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_0F)
|
|
{
|
|
if(!var_07)
|
|
{
|
|
var_07 = 1;
|
|
var_03 = 0;
|
|
var_04 = 0;
|
|
var_05 = 0;
|
|
var_06 = 0;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
param_00.var_EF42 = 1;
|
|
if(isalive(param_00))
|
|
{
|
|
param_00 setscriptablepartstate("shocked","active",1);
|
|
func_5554(param_00,"electrified");
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
if(var_0C)
|
|
{
|
|
if(!var_04)
|
|
{
|
|
var_04 = 1;
|
|
var_03 = 0;
|
|
var_05 = 0;
|
|
var_06 = 0;
|
|
var_07 = 0;
|
|
var_08 = 0;
|
|
var_09 = 0;
|
|
param_00.var_EF42 = 1;
|
|
if(isalive(param_00))
|
|
{
|
|
param_00 setscriptablepartstate("shocked","active",1);
|
|
func_5554(param_00,"shocked");
|
|
}
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
param_00.var_EF42 = undefined;
|
|
param_00 func_12973(param_00,var_05);
|
|
var_02 = 0;
|
|
wait(0.1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_1887(param_00,param_01)
|
|
{
|
|
param_00 endon("death");
|
|
if(scripts\common\utility::istrue(param_00.allowpain))
|
|
{
|
|
param_00 dodamage(1,param_00.origin);
|
|
param_00.allowpain = 0;
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_00.var_1031A))
|
|
{
|
|
param_00.var_1031A = undefined;
|
|
}
|
|
else
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!isdefined(param_00.var_2303.var_4B12))
|
|
{
|
|
var_02 = self.var_1F5;
|
|
}
|
|
else
|
|
{
|
|
var_02 = param_01.var_2303.var_4B12;
|
|
}
|
|
|
|
var_02 = param_00.var_2303.var_4B12;
|
|
switch(var_02)
|
|
{
|
|
case "slow_walk":
|
|
break;
|
|
|
|
case "walk":
|
|
param_00 lib_0A1B::func_2968("slow_walk");
|
|
break;
|
|
|
|
case "run":
|
|
param_00 lib_0A1B::func_2968("walk");
|
|
break;
|
|
|
|
case "sprint":
|
|
param_00 lib_0A1B::func_2968("run");
|
|
break;
|
|
}
|
|
|
|
param_00 waittill("defrosted");
|
|
param_00 lib_0A1B::func_2968(var_02);
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_E123(param_00)
|
|
{
|
|
param_00 notify("frozen_tick_updated");
|
|
param_00 endon("frozen_tick_updated");
|
|
param_00 endon("death");
|
|
wait(1);
|
|
if(isdefined(param_00.var_7455))
|
|
{
|
|
param_00.var_7455 = undefined;
|
|
}
|
|
|
|
param_00 notify("defrosted");
|
|
param_00 thread applyzombiescriptablestate(param_00);
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_7383(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
param_00.var_9E0C = 1;
|
|
param_00.var_180 = 1;
|
|
param_00.nocorpse = 1;
|
|
param_00.full_gib = 1;
|
|
param_00.var_C189 = 1;
|
|
if(isdefined(param_00.var_7387) && issubstr(param_00.var_7387,"window"))
|
|
{
|
|
param_00 setscriptablepartstate("frozen","frozen_traverse");
|
|
}
|
|
else if(scripts\common\utility::istrue(param_00.var_565C))
|
|
{
|
|
param_00 setscriptablepartstate("frozen","frozen_crawl");
|
|
}
|
|
else
|
|
{
|
|
param_00 setscriptablepartstate("frozen","frozen",1);
|
|
}
|
|
|
|
wait(10.1);
|
|
param_00.var_9E0C = undefined;
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_12B9A(param_00)
|
|
{
|
|
param_00 endon("death");
|
|
param_00 setscriptablepartstate("frozen","unfrozen",1);
|
|
if(!isalive(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
param_00 playsound("forge_freeze_shatter");
|
|
param_00.var_180 = 0;
|
|
param_00.nocorpse = undefined;
|
|
param_00.full_gib = undefined;
|
|
param_00.var_C189 = undefined;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_5554(param_00,param_01)
|
|
{
|
|
switch(param_01)
|
|
{
|
|
case "frozen":
|
|
param_00 setscriptablepartstate("cold","inactive",1);
|
|
param_00 setscriptablepartstate("burning","inactive",1);
|
|
param_00 setscriptablepartstate("shocked","inactive",1);
|
|
param_00 setscriptablepartstate("chemburn","inactive",1);
|
|
param_00 setscriptablepartstate("arcane_white","inactive",1);
|
|
param_00 setscriptablepartstate("eyes","eye_glow_off",1);
|
|
break;
|
|
|
|
case "cold":
|
|
param_00 setscriptablepartstate("burning","inactive",1);
|
|
param_00 setscriptablepartstate("shocked","inactive",1);
|
|
param_00 setscriptablepartstate("chemburn","inactive",1);
|
|
param_00 setscriptablepartstate("arcane_white","inactive",1);
|
|
param_00 setscriptablepartstate("eyes","eye_glow_off",1);
|
|
break;
|
|
|
|
case "arcane_white":
|
|
param_00 setscriptablepartstate("cold","inactive",1);
|
|
param_00 setscriptablepartstate("burning","inactive",1);
|
|
param_00 setscriptablepartstate("shocked","inactive",1);
|
|
param_00 setscriptablepartstate("chemburn","inactive",1);
|
|
param_00 setscriptablepartstate("eyes","eye_glow_off",1);
|
|
break;
|
|
|
|
case "chemburn":
|
|
param_00 setscriptablepartstate("cold","inactive",1);
|
|
param_00 setscriptablepartstate("burning","inactive",1);
|
|
param_00 setscriptablepartstate("shocked","inactive",1);
|
|
param_00 setscriptablepartstate("arcane_white","inactive",1);
|
|
param_00 setscriptablepartstate("eyes","eye_glow_off",1);
|
|
break;
|
|
|
|
case "burning":
|
|
param_00 setscriptablepartstate("cold","inactive",1);
|
|
param_00 setscriptablepartstate("shocked","inactive",1);
|
|
param_00 setscriptablepartstate("chemburn","inactive",1);
|
|
param_00 setscriptablepartstate("arcane_white","inactive",1);
|
|
param_00 setscriptablepartstate("eyes","eye_glow_off",1);
|
|
break;
|
|
|
|
case "electrified":
|
|
case "shocked":
|
|
param_00 setscriptablepartstate("cold","inactive",1);
|
|
param_00 setscriptablepartstate("burning","inactive",1);
|
|
param_00 setscriptablepartstate("chemburn","inactive",1);
|
|
param_00 setscriptablepartstate("arcane_white","inactive",1);
|
|
param_00 setscriptablepartstate("eyes","eye_glow_off",1);
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_12973(param_00,param_01)
|
|
{
|
|
if(isdefined(param_00.agent_type) && param_00.agent_type == "c6")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!func_FFAA(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(isalive(param_00))
|
|
{
|
|
param_00 setscriptablepartstate("burning","inactive",1);
|
|
param_00 setscriptablepartstate("shocked","inactive",1);
|
|
param_00 setscriptablepartstate("chemburn","inactive",1);
|
|
param_00 setscriptablepartstate("arcane_white","inactive",1);
|
|
param_00 setscriptablepartstate("cold","inactive",1);
|
|
}
|
|
|
|
if(scripts\common\utility::istrue(param_01))
|
|
{
|
|
param_00.var_9E0C = undefined;
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_1296F(param_00)
|
|
{
|
|
if(isdefined(param_00.agent_type) && param_00.agent_type == "c6" || param_00.agent_type == "zombie_brute" || param_00.agent_type == "zombie_grey" || param_00.agent_type == "zombie_ghost")
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(!func_FFAA(param_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
param_00 setscriptablepartstate("burning","inactive",1);
|
|
param_00 setscriptablepartstate("pet","inactive",1);
|
|
param_00 setscriptablepartstate("shocked","inactive",1);
|
|
param_00 setscriptablepartstate("corrosive","inactive",1);
|
|
param_00 setscriptablepartstate("chemburn","inactive",1);
|
|
param_00 setscriptablepartstate("arcane_white","inactive",1);
|
|
param_00 setscriptablepartstate("cold","inactive",1);
|
|
if(isdefined(param_00.var_8B66))
|
|
{
|
|
param_00 setscriptablepartstate("backpack","hide",1);
|
|
}
|
|
|
|
param_00 method_80BB(2,0);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_FFAA(param_00)
|
|
{
|
|
if(!isdefined(param_00.var_1096F))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(level.the_hoff) && param_00 == level.the_hoff)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(param_00.electrocuted))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
switch(param_00.var_1096F)
|
|
{
|
|
case "zombie_grey":
|
|
case "zombie_brute":
|
|
return 0;
|
|
|
|
default:
|
|
return 1;
|
|
}
|
|
} |