Added AW, BO2, Ghosts, IW, MWR, WW2 Scripts

This commit is contained in:
InfinityLoader
2023-10-27 03:49:01 -04:00
parent d559c1d414
commit fbfff3c275
5072 changed files with 3221958 additions and 0 deletions

View File

@ -0,0 +1,124 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\alien_goon\alien_goon_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 9
* Decompile Time: 462 ms
* Timestamp: 10/27/2023 12:01:17 AM
*******************************************************************/
//Function Number: 1
asminit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
self.fnactionvalidator = ::isvalidaction;
scripts\asm\dlc4\dlc4_asm::analyzeanims();
}
//Function Number: 2
isvalidaction(param_00)
{
switch(param_00)
{
case "stumble":
case "slide_right":
case "slide_left":
case "jump_back":
case "jump_attack":
case "stand_melee":
case "jump":
case "moving_melee":
case "taunt":
return 1;
}
return 0;
}
//Function Number: 3
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 0;
}
//Function Number: 4
playstumble(param_00,param_01,param_02,param_03)
{
var_04 = lib_0A1D::func_2337(param_00,param_01);
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,0.2);
return;
}
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,self.var_C081);
}
//Function Number: 5
playpostattackmanuever(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = scripts\asm\dlc4\dlc4_asm::getenemy();
if(isdefined(var_04))
{
thread lib_0C73::func_6A6A(param_01,var_04);
}
var_05 = lib_0A1D::func_2337(param_00,param_01);
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,0.2);
return;
}
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,self.var_C081);
}
//Function Number: 6
wantstododge(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.requested_dodge_dir);
}
//Function Number: 7
playdodgeanim(param_00,param_01,param_02,param_03)
{
var_04 = lib_0A1D::func_2337(param_00,param_01);
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_8282(0.2,0.2);
}
else
{
self method_8282(self.var_1198.requested_dodge_scale,1);
}
self.var_1198.requested_dodge_dir = undefined;
self.var_1198.requested_dodge_scale = undefined;
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,0.2);
return;
}
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,self.var_C081);
}
//Function Number: 8
terminate_rundodge(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_8282(0.2,0.2);
return;
}
self method_8282(1,1);
}
//Function Number: 9
choosedodgeanim(param_00,param_01,param_02)
{
return lib_0A1A::func_2358(param_01,self.var_1198.requested_dodge_dir);
}

View File

@ -0,0 +1,687 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\alien_goon\alien_jump.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 30
* Decompile Time: 1494 ms
* Timestamp: 10/27/2023 12:01:19 AM
*******************************************************************/
//Function Number: 1
setjumpattackanimstates(param_00,param_01)
{
param_01.var_A7C6 = "attack_leap_swipe";
param_01.var_A7C4 = scripts\mp\agents\_scriptedagents::func_80AE("attack_leap_swipe");
}
//Function Number: 2
choosejumpattackarrival(param_00,param_01)
{
var_02 = 0.707;
if(isdefined(self.var_4B26) && isalive(self.var_4B26))
{
var_03 = vectornormalize(self.var_4B26.origin - param_00.var_A843);
var_04 = anglestoforward(param_00.var_630B);
var_05 = vectordot(var_03,var_04);
if(var_05 > var_02)
{
return;
}
var_06 = anglestoright(param_00.var_630B);
var_07 = vectordot(var_03,var_06);
if(var_07 > var_02)
{
param_01.var_A7C6 = "attack_leap_swipe_right";
param_01.var_A7C4 = scripts\mp\agents\_scriptedagents::func_80AE("attack_leap_swipe_right");
return;
}
if(var_07 < var_02 * -1)
{
param_01.var_A7C6 = "attack_leap_swipe_left";
param_01.var_A7C4 = scripts\mp\agents\_scriptedagents::func_80AE("attack_leap_swipe_left");
return;
}
}
}
//Function Number: 3
jumpattack(param_00,param_01,param_02)
{
var_03 = spawnstruct();
var_03.var_71CD = ::setjumpattackanimstates;
var_03.var_71BB = ::choosejumpattackarrival;
self.var_B59D = 1;
func_A4C3(param_00,param_01,self.origin,self.angles,param_02,self.var_4B26.angles,undefined,var_03);
self.var_B59D = 0;
}
//Function Number: 4
func_A4C3(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
var_09 = self method_827F();
func_A4E3(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08);
func_A4DA(var_09,param_05);
}
//Function Number: 5
func_A4DA(param_00,param_01)
{
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_8282(0.2,0.2);
}
else
{
self method_8282(1,1);
}
self method_8288(param_00);
self method_828A("gravity");
self.var_21D = 0;
self.ignoreme = 0;
}
//Function Number: 6
func_A4E3(param_00,param_01,param_02,param_03,param_04,param_05,param_06,param_07,param_08)
{
self endon("death");
self endon("killanimscript");
self endon(param_01 + "_finished");
self.var_11B2F = 0;
var_09 = spawnstruct();
var_0A = func_7F2B(param_02,param_03,param_04,param_05,param_06);
func_7F28(var_0A,var_09);
if(isdefined(param_07) && isdefined(param_07.var_71CD))
{
self [[ param_07.var_71CD ]](var_0A,var_09);
}
var_0B = func_7F2F(param_02,param_03,param_04);
self method_828A("noclip");
self method_8289("face angle abs",var_0B);
var_0C = 0;
var_0D = self method_80FD(var_09.var_AAA5,var_09.var_AAA4);
var_0E = self method_80FD(var_09.var_A7C6,var_09.var_A7C4);
var_0F = getnotetracktimes(var_0E,"finish");
if(var_0F.size > 0)
{
var_10 = var_0F[0] * getanimlength(var_0E);
}
else
{
var_10 = getanimlength(var_0F);
}
var_11 = var_10 / var_09.var_CEE4;
var_12 = floor(var_11 * 20);
var_13 = var_12 / 20 / var_11;
var_14 = getnotetracktimes(var_0E,"stop_teleport");
if(var_14.size > 0)
{
var_15 = var_14[0] * var_11;
var_16 = ceil(var_15 * 20);
var_17 = var_16 / 20 / var_11;
var_18 = getmovedelta(var_0E,var_17,var_13);
}
else
{
var_15 = 0.8 * var_15;
var_16 = ceil(var_18 * 20);
var_17 = var_18 / 20 / var_13;
var_18 = getmovedelta(var_0F,var_18,var_14);
}
param_05 = func_7F29(param_02,param_04,param_05);
var_19 = rotatevector(var_18,param_05);
var_1A = param_04 - var_19;
self method_8281("anim deltas");
self playsoundonmovingent(func_7A62());
if(animhasnotetrack(var_0D,"start_teleport"))
{
scripts\mp\agents\_scriptedagents::func_CED2(var_09.var_AAA5,var_09.var_AAA4,var_09.var_CEE4,"jump_launch","start_teleport");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED1(var_09.var_AAA5,var_09.var_AAA4,var_09.var_CE9E,0.5 * getanimlength(var_0D) / var_09.var_CEE4);
}
var_1B = gettime();
var_0C = self method_827D(self.origin,var_1A,var_0A.var_A4EB);
self.var_11B2F = 1;
self notify("jump_launching");
var_1C = self method_827F();
thread func_A4E9(var_0A,param_05,var_1C,var_0C);
scripts\mp\agents\_scriptedagents::func_1384C("jump_launch","end");
var_1D = gettime() - var_1B / 1000;
if(scripts\common\utility::istrue(self.bteleporting))
{
if(level.totalphantomsjumping < level.totalphantomsallowedtojump)
{
level.totalphantomsjumping++;
thread play_teleport_start();
self.bteleporting = 0;
}
else
{
self.bteleporting = 0;
}
}
var_1E = var_0C - var_1D - var_15;
if(var_1E > 0)
{
scripts\mp\agents\_scriptedagents::func_CED1(var_09.var_93B3,var_09.var_93B2,var_09.var_CEE4,var_1E);
}
if(isdefined(param_07) && isdefined(param_07.var_71BB))
{
self [[ param_07.var_71BB ]](var_0A,var_09);
}
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_82AF(var_09.var_A7C6,var_09.var_A7C4,0.2);
}
else
{
self method_82AF(var_09.var_A7C6,var_09.var_A7C4,var_09.var_CEE4);
}
var_1F = lib_0A1A::func_2341(param_00,param_01);
thread handlejumpnotetracks("jump_land","end",var_09.var_A7C6,var_09.var_A7C4,var_1F);
self waittill("traverse_complete");
self.var_11B2F = 0;
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_8282(0.2,0.2);
}
else
{
self method_8282(1,0);
}
self method_8288(20.28318);
self method_8281("anim deltas");
self method_8289("face angle abs",param_05);
scripts\mp\agents\_scriptedagents::func_1384C("jump_land","end");
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_8282(0.2,0.2);
}
else
{
self method_8282(1,1);
}
self setorigin(param_04,0);
}
//Function Number: 7
play_teleport_start()
{
self setscriptablepartstate("teleport_fx","teleport_start");
scripts\common\utility::func_136F7();
self method_85B7(1);
}
//Function Number: 8
handlejumpnotetracks(param_00,param_01,param_02,param_03,param_04)
{
self endon(param_02 + "_finished");
scripts\mp\agents\_scriptedagents::func_1384C(param_00,param_01,param_02,param_03,param_04);
}
//Function Number: 9
func_A4E9(param_00,param_01,param_02,param_03)
{
self endon("death");
var_04 = (0,0,1);
var_05 = 0.85;
var_06 = scripts\cp\_utility::func_9C52(param_00.var_10E05);
var_07 = scripts\cp\_utility::func_9C52(param_00.var_6397);
if(var_06 && !var_07)
{
var_08 = 0.5;
var_09 = 1;
}
else if(!var_08 && var_09)
{
var_08 = 0;
var_09 = 0.5;
}
else
{
var_08 = 0;
var_09 = 1;
}
var_0A = var_09 - var_08;
if(var_08 > 0)
{
wait(param_03 * var_08);
}
var_0B = 1;
if(distancesquared(self.angles,param_01) > var_0B)
{
var_0C = anglesdelta(self.angles,param_01);
var_0D = var_0C / param_03 * var_0A;
var_0D = var_0D * 3.141593 / 180;
var_0D = var_0D / 20;
self method_8288(var_0D);
}
self method_8289("face angle abs",param_01);
}
//Function Number: 10
func_7F2B(param_00,param_01,param_02,param_03,param_04)
{
var_05 = spawnstruct();
var_06 = param_02 - param_00;
var_07 = var_06 * (1,1,0);
var_07 = vectornormalize(var_07);
var_05.var_AAB4 = param_00 + var_07 * level.var_1BBA.var_A4E6;
var_05.var_A843 = param_02;
var_05.var_A4F8 = var_05.var_A843 - var_05.var_AAB4;
var_05.var_A4F7 = var_05.var_A4F8 * (1,1,0);
var_05.var_A4DC = length(var_05.var_A4F7);
var_05.var_A4DB = var_05.var_A4F7 / var_05.var_A4DC;
if(isdefined(param_04))
{
var_05.var_A844 = param_04 - param_02;
}
else if(isdefined(self.var_4B26))
{
var_05.var_A844 = self.var_4B26.origin - param_02;
}
else
{
var_05.var_A844 = anglestoforward(self.angles);
}
var_05.var_10D6D = func_7F27(var_05.var_A4F8,anglestoup(param_01));
var_05.var_630B = func_7F27(var_05.var_A4F8,anglestoup(param_03));
var_05.var_10E05 = anglestoup(var_05.var_10D6D);
var_05.var_6397 = anglestoup(var_05.var_630B);
func_7F30(var_05);
return var_05;
}
//Function Number: 11
func_DA68(param_00,param_01)
{
var_02 = vectordot(param_00,param_01);
var_03 = param_00 - param_01 * var_02;
return var_03;
}
//Function Number: 12
func_7F27(param_00,param_01)
{
var_02 = func_DA68(param_00,param_01);
var_03 = vectorcross(var_02,param_01);
var_04 = axistoangles(var_02,var_03,param_01);
return var_04;
}
//Function Number: 13
func_7F30(param_00)
{
var_01 = param_00.var_A4DC;
var_02 = param_00.var_A4F8[2];
var_03 = !scripts\cp\_utility::func_9C52(param_00.var_6397);
var_04 = func_7F2A(var_03);
var_05 = 1.01;
var_06 = trajectorycalculateminimumvelocity(param_00.var_AAB4,param_00.var_A843,var_04);
var_07 = func_7F2E(var_03);
var_08 = var_06 * var_05 * var_07;
var_09 = trajectorycalculateexitangle(var_08,var_04,var_01,var_02);
var_0A = cos(var_09);
param_00.var_A4ED = param_00.var_A4DC / var_08 * var_0A;
var_0B = var_04 * (0,0,-1);
param_00.var_AABA = trajectorycalculateinitialvelocity(param_00.var_AAB4,param_00.var_A843,var_0B,param_00.var_A4ED);
param_00.var_AAB9 = param_00.var_AABA * (1,1,0);
param_00.var_A4EB = length(param_00.var_AAB9);
}
//Function Number: 14
func_7F2E(param_00)
{
if(isdefined(self.var_B59D) && self.var_B59D)
{
return level.var_1B74;
}
if(param_00)
{
return getdvarfloat("agent_jumpWallSpeed");
}
return getdvarfloat("agent_jumpSpeed");
}
//Function Number: 15
func_7F2A(param_00)
{
if(isdefined(self.var_B59D) && self.var_B59D)
{
return level.var_1B73;
}
if(param_00)
{
return getdvarfloat("agent_jumpWallGravity");
}
return getdvarfloat("agent_jumpGravity");
}
//Function Number: 16
func_7F2D(param_00,param_01)
{
var_02 = self method_80FD(param_01.var_AAA5,param_01.var_AAA4);
var_03 = self method_80FD(param_01.var_93B3,param_01.var_93B2);
var_04 = self method_80FD(param_01.var_A7C6,param_01.var_A7C4);
var_05 = getanimlength(var_02);
var_06 = var_05 * 0.5;
var_07 = getnotetracktimes(var_02,"start_teleport");
if(isdefined(var_07) && var_07.size > 0)
{
var_06 = var_05 - var_07[0] * var_05;
}
var_08 = getanimlength(var_04);
var_09 = var_08 * 0.5;
var_0A = getnotetracktimes(var_04,"stop_teleport");
if(isdefined(var_0A) && var_0A.size > 0)
{
var_09 = var_0A[0] * var_08;
}
var_0B = getanimlength(var_03);
var_0C = ceil(param_00.var_A4ED * 20);
var_0D = var_0C / 20;
var_0E = var_0B + var_06 + var_09;
var_0F = var_0E / var_0D;
var_10 = var_0B / var_0F + 0.1;
var_11 = var_0B / var_10;
return var_11;
}
//Function Number: 17
func_7F28(param_00,param_01)
{
param_01.var_AAA5 = func_7F64(param_00);
param_01.var_AAA4 = func_7F63(param_00,param_01.var_AAA5);
param_01.var_A7C6 = func_7F5C(param_00);
param_01.var_A7C4 = func_7F5B(param_00,param_01.var_A7C6);
param_01.var_93B3 = func_7F17(param_00,param_01.var_AAA5,param_01.var_A7C6);
param_01.var_93B2 = func_7F16(param_00,param_01.var_AAA5,param_01.var_A7C6);
param_01.var_CEE4 = func_7F2D(param_00,param_01);
}
//Function Number: 18
func_7F2F(param_00,param_01,param_02)
{
var_03 = anglestoup(param_01);
var_04 = vectornormalize(param_02 - param_00);
if(vectordot(var_03,var_04) > 0.98)
{
var_04 = (0,0,1);
}
var_05 = vectorcross(var_03,var_04);
var_04 = vectorcross(var_05,var_03);
return axistoangles(var_04,-1 * var_05,var_03);
}
//Function Number: 19
func_7F64(param_00)
{
var_01 = 20;
var_02 = cos(90 - var_01);
var_03 = vectornormalize(param_00.var_A4F8);
var_04 = vectordot(var_03,param_00.var_10E05);
if(abs(var_04) <= var_02)
{
return "jump_launch_level";
}
if(var_04 > 0)
{
return "jump_launch_up";
}
if(var_04 < 0)
{
return "jump_launch_down";
}
}
//Function Number: 20
func_7F63(param_00,param_01)
{
var_02 = vectornormalize(param_00.var_AABA);
var_02 = rotatevector(var_02,param_00.var_10D6D);
var_03 = self method_8100(param_01);
var_04 = 0;
var_05 = vectordot(level.var_1BBA.var_A4E5[param_01][var_04],var_02);
for(var_06 = 1;var_06 < var_03;var_06++)
{
var_07 = vectordot(level.var_1BBA.var_A4E5[param_01][var_06],var_02);
if(var_07 > var_05)
{
var_04 = var_06;
var_05 = var_07;
}
}
return var_04;
}
//Function Number: 21
func_7F17(param_00,param_01,param_02)
{
return "jump_in_air";
}
//Function Number: 22
func_7F16(param_00,param_01,param_02)
{
return level.var_1BBA.var_93B2[param_01][param_02];
}
//Function Number: 23
func_7F29(param_00,param_01,param_02)
{
var_03 = anglestoup(param_02);
var_04 = vectornormalize(param_01 - param_00);
if(vectordot(var_03,var_04) > 0.98)
{
var_04 = (0,0,1);
}
var_05 = vectorcross(var_03,var_04);
var_04 = vectorcross(var_05,var_03);
return axistoangles(var_04,-1 * var_05,var_03);
}
//Function Number: 24
func_7F5C(param_00)
{
var_01 = length(param_00.var_A4F8);
var_02 = 0.342;
if(!scripts\cp\_utility::func_9C52(param_00.var_6397))
{
var_03 = (0,0,1);
var_04 = vectordot(param_00.var_A4F8,var_03) / var_01;
if(var_04 > var_02)
{
return "jump_land_sidewall_low";
}
else
{
return "jump_land_sidewall_high";
}
}
var_04 = vectordot(param_00.var_A4F8,param_00.var_6397) / var_01;
if(var_04 > var_02)
{
return "jump_land_down";
}
if(var_04 < var_02 * -1)
{
return "jump_land_up";
}
return "jump_land_level";
}
//Function Number: 25
func_7F5B(param_00,param_01)
{
var_02 = func_DA68(param_00.var_A4F8,param_00.var_6397);
var_03 = func_DA68(param_00.var_A844,param_00.var_6397);
var_04 = var_02 - var_03;
var_05 = vectorcross(var_03,param_00.var_6397);
var_06 = vectornormalize(func_DA68(var_05,param_00.var_6397)) * 100;
var_07 = vectordot(var_02 * -1,var_06);
var_08 = length(var_02);
var_09 = length(var_03);
var_0A = length(var_04);
var_0B = 0.001;
if(var_08 < var_0B || var_09 < var_0B)
{
return 1;
}
var_0C = var_08 * var_08 + var_09 * var_09 - var_0A * var_0A / 2 * var_08 * var_09;
if(var_0C <= -1)
{
return 6;
}
if(var_0C >= 1)
{
return 1;
}
var_0D = acos(var_0C);
if(var_07 > 0)
{
if(0 <= var_0D && var_0D < 22.5)
{
return 1;
}
if(22.5 <= var_0D && var_0D < 67.5)
{
return 2;
}
if(67.5 <= var_0D && var_0D < 112.5)
{
return 4;
}
if(112.5 <= var_0D && var_0D < 157.5)
{
return 7;
}
return 6;
}
if(0 <= var_0D && var_0D < 22.5)
{
return 1;
}
if(22.5 <= var_0D && var_0D < 67.5)
{
return 0;
}
if(67.5 <= var_0D && var_0D < 112.5)
{
return 3;
}
if(112.5 <= var_0D && var_0D < 157.5)
{
return 5;
}
return 6;
}
//Function Number: 26
func_A4EA(param_00,param_01)
{
}
//Function Number: 27
func_D4A2(param_00,param_01,param_02,param_03)
{
self endon("death");
self endon("killanimscript");
self endon("jump_finished");
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_82AF(param_00,param_01,0.2);
}
else
{
self method_82AF(param_00,param_01,1);
}
var_04 = scripts\common\utility::func_13734("jump_pain","traverse_complete");
if(var_04 == "traverse_complete")
{
return;
}
var_05 = param_02 - gettime() * 0.001;
if(var_05 > 0)
{
var_06 = 2;
var_07 = func_7F2C(param_03);
var_08 = self method_80FD(var_07,param_01);
var_09 = getanimlength(var_08);
var_0A = min(var_06,var_09 / var_05);
if(scripts\common\utility::istrue(self.activated_venomx_sphere))
{
self method_82AF(var_07,param_01,0.2);
}
else
{
self method_82AF(var_07,param_01,var_0A);
}
}
self waittill("traverse_complete");
}
//Function Number: 28
func_7F2C(param_00)
{
return "jump_pain_idle_" + param_00;
}
//Function Number: 29
func_7F11(param_00)
{
return "jump_impact_pain_" + param_00;
}
//Function Number: 30
func_7A62()
{
return "alien_jump";
}

View File

@ -0,0 +1,197 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\alien_goon\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 9
* Decompile Time: 558 ms
* Timestamp: 10/27/2023 12:01:16 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("alien_goon"))
{
return;
}
lib_0A1A::func_230B("alien_goon","start_here");
lib_0A1A::func_2374("start_here",::scripts\asm\alien_goon\alien_goon_asm::asminit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\alien_goon\alien_goon_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("turn",undefined,::scripts\asm\dlc4\dlc4_asm::shouldturn,undefined);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_idle_to_choose_movetype1,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::choosespawnanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("moving_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("slide_left",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("slide_right",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("jump_back",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("stumble",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("jump",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("jump_attack",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("stand_melee",::scripts\asm\dlc4\dlc4_asm::playmeleeattack,undefined,::scripts\asm\dlc4\dlc4_asm::alienmeleenotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_meleeattack,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::scripts\asm\dlc4\dlc4_asm::playaliendeathanim,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current",undefined,undefined);
lib_0A1A::func_2374("death_moving",::scripts\asm\dlc4\dlc4_asm::playaliendeathanim,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current",undefined,undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_sprint",undefined,::trans_check_move_to_idle_exit_sprint0,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle_exit_sprint",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_sprint_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::trans_pass_sprint_in_to_sprint_loop1,undefined);
lib_0A1A::func_2374("sprint_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("sprint_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_sprint_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("sprint_stop",undefined,::scripts\asm\dlc4\dlc4_asm::shouldstartarrivalalien,undefined);
lib_0A1A::func_2375("sprint_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_sprint_out_to_move_done2,undefined);
lib_0A1A::func_2374("sprint_stop",::scripts\asm\dlc4\dlc4_asm::playalienarrival,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_arrival,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_move",undefined,::trans_choose_movetype_to_check_move0,undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle_exit_run",undefined,::trans_pass_run_in_to_idle_exit_run1,undefined);
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_dodge",undefined,::scripts\asm\alien_goon\alien_goon_asm::wantstododge,undefined);
lib_0A1A::func_2374("run_stop",::scripts\asm\dlc4\dlc4_asm::playalienarrival,"run",undefined,::scripts\asm\dlc4\dlc4_asm::terminate_arrival,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run_stop",undefined,::scripts\asm\dlc4\dlc4_asm::shouldstartarrivalalien,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_run_out_to_move_done1,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2374("idle_exit_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("run_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_move_interruptions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_dodge",::scripts\asm\alien_goon\alien_goon_asm::playdodgeanim,"run",undefined,::scripts\asm\alien_goon\alien_goon_asm::terminate_rundodge,undefined,::scripts\asm\alien_goon\alien_goon_asm::choosedodgeanim,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\dlc4\dlc4_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("pain_moving_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("moving_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\dlc4\dlc4_asm::doteleporthack,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("moving_melee",::scripts\asm\dlc4\dlc4_asm::playmovingmeleeattack,undefined,::scripts\asm\dlc4\dlc4_asm::alienmeleenotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::scripts\asm\dlc4\dlc4_asm::choosemovingmeleeattack,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("moving_melee_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("moving_melee_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pain_moving_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_pain_moving_done_to_choose_movetype0,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("turn",::scripts\asm\dlc4\dlc4_asm::func_D56A,undefined,undefined,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::func_3F0A,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("slide_left",::scripts\asm\alien_goon\alien_goon_asm::playpostattackmanuever,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("slide_right",::scripts\asm\alien_goon\alien_goon_asm::playpostattackmanuever,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("taunt",::scripts\asm\alien_goon\alien_goon_asm::playpostattackmanuever,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("jump_back",::scripts\asm\alien_goon\alien_goon_asm::playpostattackmanuever,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("stumble",::scripts\asm\alien_goon\alien_goon_asm::playstumble,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("jump_in_air",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_down",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_level",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_up",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_arrival",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_up",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_level",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_down",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("alien_jump",::scripts\asm\dlc4\dlc4_asm::doalienjumptraversal,undefined,::scripts\asm\dlc4\dlc4_asm::jumpnotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_jump,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_sidewall_high",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_sidewall_low",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("attack_leap_swipe",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("attack_leap_swipe_left",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("attack_leap_swipe_right",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump",::scripts\asm\dlc4\dlc4_asm::dojump,undefined,::scripts\asm\dlc4\dlc4_asm::jumpnotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_jump,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isalienjumpfinished,undefined);
lib_0A1A::func_2374("jump_attack",::scripts\asm\dlc4\dlc4_asm::dojumpattack,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isalienjumpfinished,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_idle_to_choose_movetype1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_check_move_to_idle_exit_sprint0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("sprint");
}
//Function Number: 4
trans_pass_sprint_in_to_sprint_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 5
trans_pass_sprint_out_to_move_done2(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 6
trans_choose_movetype_to_check_move0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 7
trans_pass_run_in_to_idle_exit_run1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 8
trans_pass_run_out_to_move_done1(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 9
trans_pain_moving_done_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}

View File

@ -0,0 +1,266 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\alien_rhino\alien_rhino_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 17
* Decompile Time: 877 ms
* Timestamp: 10/27/2023 12:01:21 AM
*******************************************************************/
//Function Number: 1
asminit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
self.fnactionvalidator = ::isvalidaction;
scripts\asm\dlc4\dlc4_asm::analyzeanims();
analyzerhinoanims();
}
//Function Number: 2
analyzerhinoanims()
{
var_00 = scripts\asm\dlc4\dlc4_asm::gettunedata();
if(isdefined(var_00.chargeintroanimtimes))
{
return;
}
var_00.chargeintroanimtimes = [];
var_01 = self method_8100("charge_intro");
for(var_02 = 0;var_02 < var_01;var_02++)
{
var_03 = self method_80FD("charge_intro",var_02);
var_00.chargeintroanimtimes[var_02] = getanimlength(var_03);
}
}
//Function Number: 3
isvalidaction(param_00)
{
switch(param_00)
{
case "charge":
case "jump_attack":
case "stand_melee":
case "jump":
case "moving_melee":
case "taunt":
return 1;
}
return 0;
}
//Function Number: 4
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 0;
}
//Function Number: 5
onbigslam()
{
self notify("attack_hit_big");
var_00 = scripts\asm\dlc4\dlc4_asm::gettunedata();
radiusdamage(self.origin,var_00.big_slam_radius,var_00.big_slam_max_damage,var_00.big_slam_min_damage,self);
}
//Function Number: 6
onsmallslam()
{
self notify("attack_hit_small");
var_00 = scripts\asm\dlc4\dlc4_asm::gettunedata();
radiusdamage(self.origin,var_00.small_slam_radius,var_00.small_slam_max_damage,var_00.small_slam_min_damage,self);
}
//Function Number: 7
alienrhinomeleenotehandler(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "alien_slam_big":
onbigslam();
break;
case "alien_slam_small_l":
case "alien_slam_small_r":
onsmallslam();
break;
default:
scripts\asm\dlc4\dlc4_asm::alienmeleenotehandler(param_00,param_01,param_02,param_03);
break;
}
}
//Function Number: 8
alienrhinonotehandler(param_00,param_01,param_02,param_03)
{
}
//Function Number: 9
dochargedamageoncontact(param_00,param_01)
{
self endon(param_00 + "_finished");
self endon("DoChargeDamageOnContact_stop");
var_02 = scripts\asm\dlc4\dlc4_asm::gettunedata();
var_03 = 0;
while(!var_03)
{
foreach(var_05 in level.players)
{
if(scripts\aitypes\dlc4\behavior_utils::shouldignoreenemy(var_05))
{
continue;
}
var_06 = distancesquared(self.origin,var_05.origin);
if(var_06 < var_02.charge_attack_stop_facing_enemy_dist_sq)
{
lib_0C73::func_1106E();
self method_8281("code_move");
self method_8289("face angle abs",self.angles);
}
if(scripts\asm\dlc4\dlc4_asm::shouldmeleeattackhit(var_05,var_02.charge_attack_damage_radius_sq,var_02.charge_attack_damage_dot))
{
lib_0C73::func_1106E();
self method_8281("code_move");
self method_8289("face angle abs",self.angles);
var_07 = var_02.charge_attack_damage_amt;
if(isdefined(var_05.maxhealth))
{
var_07 = min(180,var_05.maxhealth * 0.9);
}
lib_0C73::func_5904(var_05,var_07,"MOD_IMPACT");
scripts\asm\dlc4\dlc4_asm::clearasmaction();
self.bchargehit = 1;
var_03 = 1;
break;
}
else
{
var_08 = vectornormalize(var_05.origin - self.origin * (1,1,0));
var_09 = anglestoforward(self.angles);
var_0A = vectordot(var_08,var_09);
if(var_0A < var_02.charge_abort_dot)
{
self.bchargehit = 0;
scripts\asm\dlc4\dlc4_asm::clearasmaction();
var_03 = 1;
break;
}
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 10
choosechargeintroanim(param_00,param_01,param_02)
{
if(isdefined(self.var_1198.chargeintroindex))
{
return self.var_1198.chargeintroindex;
}
return randomint(self method_8100(param_01));
}
//Function Number: 11
choosechargeoutroanim(param_00,param_01,param_02)
{
var_03 = "charge_miss";
if(scripts\common\utility::istrue(self.bchargehit))
{
var_03 = "charge_hit";
}
return lib_0A1A::func_2358(param_01,var_03);
}
//Function Number: 12
playchargeloop(param_00,param_01,param_02,param_03)
{
self.bchargehit = undefined;
if(isdefined(self.var_4B26))
{
thread dochargedamageoncontact(param_01,self.var_4B26);
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
}
self notify("charge_to_stop");
if(isdefined(self.preventplayerpushdist))
{
self method_85C9(self.preventplayerpushdist);
}
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 13
playchargeintro(param_00,param_01,param_02,param_03)
{
if(isdefined(self.var_4B26))
{
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
}
self notify("charge_start");
return lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 14
shouldabortcharge(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.var_4B26) || !isdefined(self.var_233))
{
self.bchargeaborted = 1;
return 1;
}
if(!navisstraightlinereachable(self.origin,self.var_233,self))
{
self.bchargeaborted = 1;
return 1;
}
return 0;
}
//Function Number: 15
playtauntanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = scripts\asm\dlc4\dlc4_asm::getenemy();
if(isdefined(var_04))
{
thread lib_0C73::func_6A6A(param_01,var_04);
}
self notify("taunt");
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 16
playsharpturnanim_rhino(param_00,param_01,param_02,param_03)
{
var_04 = self.var_BCD6;
self.var_BCD6 = 0.75;
lib_0F3B::func_D514(param_00,param_01,param_02,param_03);
self.var_BCD6 = var_04;
}
//Function Number: 17
playrhinochargeoutro(param_00,param_01,param_02,param_03)
{
if(isdefined(self.preventplayerpushdist))
{
self method_85C9(self.preventplayerpushdist);
}
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}

View File

@ -0,0 +1,193 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\alien_rhino\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 9
* Decompile Time: 645 ms
* Timestamp: 10/27/2023 12:01:20 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("alien_rhino"))
{
return;
}
lib_0A1A::func_230B("alien_rhino","start_here");
lib_0A1A::func_2374("start_here",::scripts\asm\alien_rhino\alien_rhino_asm::asminit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\alien_rhino\alien_rhino_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("turn",undefined,::scripts\asm\dlc4\dlc4_asm::shouldturn,undefined);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_idle_to_choose_movetype1,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::choosespawnanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("moving_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("charge",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("jump",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("jump_attack",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("stand_melee",::scripts\asm\dlc4\dlc4_asm::playmeleeattack,undefined,::scripts\asm\alien_rhino\alien_rhino_asm::alienrhinomeleenotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_meleeattack,undefined,::scripts\asm\dlc4\dlc4_asm::choosemeleeattack,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::scripts\asm\dlc4\dlc4_asm::playaliendeathanim,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current",undefined,undefined);
lib_0A1A::func_2374("death_moving",::scripts\asm\dlc4\dlc4_asm::playaliendeathanim,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current",undefined,undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_sprint",undefined,::trans_check_move_to_idle_exit_sprint0,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle_exit_sprint",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_sprint_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::trans_pass_sprint_in_to_sprint_loop1,undefined);
lib_0A1A::func_2374("sprint_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("sprint_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_sprint_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("sprint_stop",undefined,::scripts\asm\dlc4\dlc4_asm::shouldstartarrivalalien,undefined);
lib_0A1A::func_2375("sprint_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_sprint_out_to_move_done2,undefined);
lib_0A1A::func_2374("sprint_stop",::scripts\asm\dlc4\dlc4_asm::playalienarrival,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_arrival,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_move",undefined,::trans_choose_movetype_to_check_move0,undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle_exit_run",undefined,::trans_pass_run_in_to_idle_exit_run1,undefined);
lib_0A1A::func_2374("run_turn",::scripts\asm\alien_rhino\alien_rhino_asm::playsharpturnanim_rhino,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_stop",::scripts\asm\dlc4\dlc4_asm::playalienarrival,"run",undefined,::scripts\asm\dlc4\dlc4_asm::terminate_arrival,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run_stop",undefined,::scripts\asm\dlc4\dlc4_asm::shouldstartarrivalalien,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_run_out_to_move_done1,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2374("idle_exit_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("run_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_move_interruptions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\dlc4\dlc4_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("pain_moving_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("moving_melee",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\dlc4\dlc4_asm::doteleporthack,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("moving_melee",::scripts\asm\dlc4\dlc4_asm::playmovingmeleeattack,undefined,::scripts\asm\alien_rhino\alien_rhino_asm::alienrhinomeleenotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::scripts\asm\dlc4\dlc4_asm::choosemovingmeleeattack,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("moving_melee_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("moving_melee_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pain_moving_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_pain_moving_done_to_choose_movetype0,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("turn",::scripts\asm\dlc4\dlc4_asm::func_D56A,undefined,undefined,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::func_3F0A,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("taunt",::scripts\asm\alien_rhino\alien_rhino_asm::playtauntanim,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("charge",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("charge_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("charge_loop",::scripts\asm\alien_rhino\alien_rhino_asm::playchargeloop,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","code_move",undefined);
lib_0A1A::func_2375("charge_outro",undefined,::scripts\asm\dlc4\dlc4_asm::shouldabortaction,"charge");
lib_0A1A::func_2374("charge_outro",::scripts\asm\alien_rhino\alien_rhino_asm::playrhinochargeoutro,undefined,::scripts\asm\alien_rhino\alien_rhino_asm::alienrhinonotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_meleeattack,undefined,::scripts\asm\alien_rhino\alien_rhino_asm::choosechargeoutroanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("charge_intro",::scripts\asm\alien_rhino\alien_rhino_asm::playchargeintro,undefined,::scripts\asm\alien_rhino\alien_rhino_asm::alienrhinonotehandler,undefined,undefined,::scripts\asm\alien_rhino\alien_rhino_asm::choosechargeintroanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("charge_intro_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("charge_intro_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\alien_rhino\alien_rhino_asm::shouldabortcharge,"charge");
lib_0A1A::func_2375("charge_loop",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("jump_in_air",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_down",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_level",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_up",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_launch_arrival",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_up",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_level",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_down",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("alien_jump",::scripts\asm\dlc4\dlc4_asm::doalienjumptraversal,undefined,::scripts\asm\dlc4\dlc4_asm::jumpnotehandler,::scripts\asm\dlc4\dlc4_asm::terminate_jump,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_sidewall_high",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_land_sidewall_low",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("attack_leap_swipe",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("attack_leap_swipe_left",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("attack_leap_swipe_right",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump",::scripts\asm\dlc4\dlc4_asm::dojump,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::shouldabortaction,"jump");
lib_0A1A::func_2374("jump_attack",::scripts\asm\dlc4\dlc4_asm::dojumpattack,undefined,undefined,::scripts\asm\dlc4\dlc4_asm::terminate_movingmelee,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::shouldabortaction,"jump_attack");
lib_0A1A::func_2327();
}
//Function Number: 2
trans_idle_to_choose_movetype1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_check_move_to_idle_exit_sprint0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("sprint");
}
//Function Number: 4
trans_pass_sprint_in_to_sprint_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 5
trans_pass_sprint_out_to_move_done2(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 6
trans_choose_movetype_to_check_move0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 7
trans_pass_run_in_to_idle_exit_run1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 8
trans_pass_run_out_to_move_done1(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 9
trans_pain_moving_done_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,120 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\crab_boss\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 1
* Decompile Time: 130 ms
* Timestamp: 10/27/2023 12:01:21 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("crab_boss"))
{
return;
}
lib_0A1A::func_230B("crab_boss","start_here");
lib_0A1A::func_2374("start_here",::scripts\asm\crab_boss\crab_boss_asm::asminit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\crab_boss\crab_boss_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::chooseidleanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("turn",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,"turn");
lib_0A1A::func_2375("move",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("smash",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("beam",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("roar_start",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("spawn",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("toxic",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("submerge",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("heal",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("bomb",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("pain",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("toxic_spawn",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("roar",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("death",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("smash",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::smash_notehandler,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::choosesmashanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2375("smash_interrupted",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\crab_boss\crab_boss_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pain",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("crab_boss_aimset",undefined,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("taunt",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::choosetauntanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("beam",::scripts\asm\crab_boss\crab_boss_asm::playbeamanim,undefined,::scripts\asm\crab_boss\crab_boss_asm::beam_notehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isbeamdone,undefined);
lib_0A1A::func_2375("beam_interrupted",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("roar_start",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("roar_loop",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("spawn",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("toxic",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::toxic_spawn_notehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("emerge",::scripts\asm\crab_boss\crab_boss_asm::playcrabbossemergeanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("submerge",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("submerge_loop",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("heal",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("heal_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("heal_intro",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("heal_loop",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("heal_loop",::scripts\asm\crab_boss\crab_boss_asm::loophealanim,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("heal_exit",undefined,::scripts\asm\crab_boss\crab_boss_asm::isdonehealing,undefined);
lib_0A1A::func_2374("heal_exit",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("turn",::scripts\asm\crab_boss\crab_boss_asm::playcrabbossturnanim,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::choosecrabbossturnanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("submerge_loop",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("submerge_spawn",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("emerge",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("submerge_bomb",undefined,::scripts\asm\crab_boss\crab_boss_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("submerge_spawn",::lib_0F3C::func_B050,undefined,::scripts\asm\crab_boss\crab_boss_asm::submerge_spawn_notehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("submerge_loop",undefined,::scripts\asm\crab_boss\crab_boss_asm::shouldabortaction,"submerge_spawn");
lib_0A1A::func_2374("move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("move_exit",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("move_exit",::scripts\asm\crab_boss\crab_boss_asm::playmoveexit,undefined,undefined,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::choosecrabbossmoveanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("move_loop",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("move_loop",::scripts\asm\crab_boss\crab_boss_asm::loopcrabbossmoveanim,undefined,undefined,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::choosecrabbossmoveanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("move_arrival",undefined,::scripts\asm\crab_boss\crab_boss_asm::shouldabortaction,"move");
lib_0A1A::func_2374("move_arrival",::scripts\asm\crab_boss\crab_boss_asm::playmovearrival,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::choosecrabbossarrivalanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("submerge_bomb",::lib_0F3C::func_B050,undefined,::scripts\asm\crab_boss\crab_boss_asm::submerge_bomb_notehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("submerge_loop",undefined,::scripts\asm\crab_boss\crab_boss_asm::shouldabortaction,"submerge_bomb");
lib_0A1A::func_2374("bomb",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::bomb_notehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("beam_interrupted",::scripts\asm\crab_boss\crab_boss_asm::playbeamanim,undefined,::scripts\asm\crab_boss\crab_boss_asm::beam_notehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isbeamdone,undefined);
lib_0A1A::func_2374("smash_interrupted",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::smash_notehandler,undefined,undefined,::scripts\asm\crab_boss\crab_boss_asm::choosesmashinterruptedanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("toxic_spawn",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_boss\crab_boss_asm::toxicspawn_notehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("roar",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("roar_start",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("roar_loop",::scripts\asm\crab_boss\crab_boss_asm::playroarloop,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("roar_end",undefined,::lib_0A1A::func_68B0,"roar_done");
lib_0A1A::func_2374("roar_end",::scripts\asm\crab_boss\crab_boss_asm::playroarend,undefined,::scripts\asm\crab_boss\crab_boss_asm::crabbossnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2374("death",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_boss\crab_boss_asm::isanimdone,undefined);
lib_0A1A::func_2327();
}

View File

@ -0,0 +1,690 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\crab_brute\crab_brute_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 42
* Decompile Time: 2218 ms
* Timestamp: 10/27/2023 12:01:29 AM
*******************************************************************/
//Function Number: 1
asminit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
self.var_71D0 = ::shouldbruteplaypainanim;
}
//Function Number: 2
shouldbruteplaypainanim()
{
if(isdefined(self.bforceallowpain) && self.bforceallowpain)
{
return 1;
}
return lib_0C75::func_1004F();
}
//Function Number: 3
isvalidaction(param_00)
{
switch(param_00)
{
case "flash":
case "summon":
case "tired":
case "charge":
case "burrow":
case "taunt":
case "melee_attack":
return 1;
}
return 0;
}
//Function Number: 4
setaction(param_00)
{
self.requested_action = param_00;
self.current_action = undefined;
}
//Function Number: 5
clearaction()
{
self.requested_action = undefined;
self.current_action = undefined;
}
//Function Number: 6
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 1;
}
//Function Number: 7
playanimandlookatenemy(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\crab_brute\crab_brute_agent::getenemy());
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1);
}
//Function Number: 8
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 9
summonnotehandler(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "flash":
dosummon();
break;
}
}
//Function Number: 10
crabbrutenotehandler(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "flash":
doflash();
break;
case "fx_playfxontag, vfx/iw7/levels/cp_town/crog/vfx_brute_burrow_down.vfx, tag_origin":
thread starting_burrow_sfx(param_01);
break;
case "fx_playfxontag, vfx/iw7/levels/cp_town/crog/vfx_brute_flash_build.vfx, j_lure_5":
thread starting_flash_sfx();
break;
}
}
//Function Number: 11
starting_burrow_sfx(param_00)
{
if(param_00 == "burrow_intro")
{
thread scripts\common\utility::play_sound_in_space("brute_burrow_in_ground",self.origin + (0,0,30));
var_01 = 1;
}
}
//Function Number: 12
starting_flash_sfx()
{
thread scripts\common\utility::play_sound_in_space("brute_crog_build_up_to_flash",self.origin + (0,0,80));
}
//Function Number: 13
dosummonfromfakecrabboss(param_00)
{
self.spawnposarray = param_00;
self.numofspawnrequested = self.spawnposarray.size;
thread scripts\asm\crab_boss\crab_boss_asm::dospawnsovertime("none",0);
}
//Function Number: 14
dosummon()
{
self setscriptablepartstate("lure_fx","summon");
if(isdefined(level.crab_boss))
{
scripts\cp\zombies\cp_town_spawning::brute_goon_summon();
}
}
//Function Number: 15
doflash()
{
var_00 = scripts\mp\agents\crab_brute\crab_brute_tunedata::gettunedata();
foreach(var_02 in level.players)
{
if(scripts\mp\agents\crab_brute\crab_brute_agent::shouldignoreenemy(var_02))
{
continue;
}
if(scripts\common\utility::istrue(var_02.isfasttravelling))
{
continue;
}
var_03 = distance2dsquared(self.origin,var_02.origin);
if(var_03 > var_00.flash_radius_sq)
{
continue;
}
var_04 = var_02 getplayerangles();
var_05 = anglestoforward(var_04);
var_06 = vectornormalize(self.origin - var_02.origin * (1,1,0));
var_07 = vectordot(var_05,var_06);
if(var_07 < var_00.flash_dot)
{
continue;
}
var_08 = scripts\common\trace::func_48CC(1);
if(scripts\common\trace::func_DCF1(self geteye(),var_02 geteye(),var_02,var_08))
{
var_02 func_20CA(var_00.flash_duration,var_00.flash_rumble_duration);
}
}
}
//Function Number: 16
func_20CA(param_00,param_01)
{
if(!isdefined(self.var_6EC8) || param_00 > self.var_6EC8)
{
self.var_6EC8 = param_00;
}
if(!isdefined(self.var_6EDB) || param_01 > self.var_6EDB)
{
self.var_6EDB = param_01;
}
wait(0.05);
if(isdefined(self.var_6EC8))
{
self shellshock("flashbang_mp",self.var_6EC8);
self.var_6ECA = gettime() + self.var_6EC8 * 1000;
}
if(isdefined(self.var_6EDB))
{
thread func_6EDC(self.var_6EDB);
}
self.var_6EC8 = undefined;
self.var_6EDB = undefined;
}
//Function Number: 17
func_6EDC(param_00)
{
self endon("stop_monitoring_flash");
self endon("flash_rumble_loop");
self notify("flash_rumble_loop");
var_01 = gettime() + param_00 * 1000;
while(gettime() < var_01)
{
self playrumbleonentity("damage_heavy");
wait(0.05);
}
}
//Function Number: 18
meleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
var_04 = scripts\mp\agents\crab_brute\crab_brute_agent::getenemy();
if(isdefined(var_04))
{
if(distancesquared(var_04.origin,self.origin) < -25536)
{
self notify("attack_hit",var_04);
lib_0C73::func_5904(var_04,self.var_B601,"MOD_IMPACT");
}
else
{
self notify("attack_miss",var_04);
}
}
if(!scripts\common\utility::istrue(self.bmovingmelee))
{
self notify("stop_melee_face_enemy");
}
}
}
//Function Number: 19
shouldabortaction(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btraversalteleport))
{
return 0;
}
if(!isdefined(self.requested_action))
{
return 1;
}
if(isdefined(param_03))
{
if(self.requested_action != param_03)
{
return 1;
}
}
return 0;
}
//Function Number: 20
shoulddoaction(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(self.requested_action == param_02)
{
if(isdefined(self.current_action) && self.current_action == param_02)
{
return 0;
}
self.current_action = param_02;
return 1;
}
return 0;
}
//Function Number: 21
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
if(param_01 == "burrow_loop")
{
thread play_burrow_loop_sfx();
}
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 22
play_burrow_loop_sfx()
{
if(isdefined(self.burrow_loop_obj))
{
return;
}
var_00 = self gettagorigin("j_lure_5",1);
if(isdefined(var_00))
{
self.burrow_loop_obj = spawn("script_origin",var_00);
self.burrow_loop_obj linkto(self,"j_lure_5");
self.burrow_loop_obj playloopsound("brute_crog_move_underground_lp");
}
}
//Function Number: 23
playmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
}
//Function Number: 24
choosemeleeattack(param_00,param_01,param_02)
{
var_03 = self.var_4B26;
if(!isdefined(var_03))
{
var_03 = scripts\mp\agents\crab_brute\crab_brute_agent::getenemy();
}
var_04 = 0;
if(isdefined(var_03))
{
var_04 = length(var_03 getvelocity());
}
if(lib_0A1B::func_2955() || var_04 > 0)
{
var_05 = lib_0A1A::func_2358(param_01,"attack_moving");
}
else
{
var_05 = lib_0A1A::func_2358(param_02,"attack");
}
return var_05;
}
//Function Number: 25
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 26
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233) || self method_841E() < scripts\mp\agents\crab_brute\crab_brute_tunedata::gettunedata().min_moving_pain_dist)
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,1);
return;
}
lib_0A1D::func_2364(param_01,param_02,param_03,var_04);
}
//Function Number: 27
doteleporthack(param_00,param_01,param_02,param_03)
{
var_06 = self method_8146();
self setorigin(var_06,0);
var_06 = getgroundposition(var_06,15);
self.var_9CEC = undefined;
self notify("traverse_end");
lib_0A1A::func_237C("decide_idle",param_03);
}
//Function Number: 28
shouldstopshield(param_00,param_01,param_02,param_03)
{
if(shoulddoshield(param_00,param_01,param_02,param_03))
{
return 0;
}
if(gettime() < self.minshieldstoptime)
{
return 0;
}
return 1;
}
//Function Number: 29
shoulddoshield(param_00,param_01,param_02,param_03)
{
return 0;
}
//Function Number: 30
ismyenemyinfrontofme(param_00,param_01)
{
var_02 = vectornormalize(param_00.origin - self.origin * (1,1,0));
var_03 = anglestoforward(self.angles);
var_04 = vectordot(var_02,var_03);
if(var_04 > param_01)
{
return 1;
}
return 0;
}
//Function Number: 31
shouldmeleeattackhit(param_00,param_01,param_02)
{
if(lib_0F74::func_9DE0(param_00))
{
return 1;
}
var_03 = distance2dsquared(param_00.origin,self.origin);
if(var_03 > param_01)
{
return 0;
}
if(!ismyenemyinfrontofme(param_00,param_02))
{
return 0;
}
return 1;
}
//Function Number: 32
domeleedamageoncontact(param_00,param_01)
{
self endon(param_00 + "_finished");
self endon("DoMeleeDamageOnContact_stop");
var_02 = scripts\mp\agents\crab_brute\crab_brute_tunedata::gettunedata();
var_03 = 0;
while(!var_03)
{
foreach(var_05 in level.players)
{
if(scripts\mp\agents\crab_brute\crab_brute_agent::shouldignoreenemy(var_05))
{
continue;
}
var_06 = distancesquared(self.origin,var_05.origin);
if(var_06 < var_02.charge_attack_stop_facing_enemy_dist_sq)
{
lib_0C73::func_1106E();
self method_8281("code_move");
self method_8289("face angle abs",self.angles);
}
if(shouldmeleeattackhit(var_05,var_02.charge_attack_damage_radius_sq,var_02.charge_attack_damage_dot))
{
lib_0C73::func_1106E();
self method_8281("code_move");
self method_8289("face angle abs",self.angles);
lib_0C73::func_5904(var_05,var_02.charge_attack_damage_amt,"MOD_IMPACT");
clearaction();
self.bchargehit = 1;
var_03 = 1;
break;
}
else
{
var_07 = vectornormalize(var_05.origin - self.origin * (1,1,0));
var_08 = anglestoforward(self.angles);
var_09 = vectordot(var_07,var_08);
if(var_09 < var_02.charge_abort_dot)
{
self.bchargehit = 0;
clearaction();
var_03 = 1;
break;
}
}
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 33
playchargeloop(param_00,param_01,param_02,param_03)
{
self.bchargehit = undefined;
if(isdefined(self.var_4B26))
{
thread domeleedamageoncontact(param_01,self.var_4B26);
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
}
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 34
choosechargeoutroanim(param_00,param_01,param_02)
{
var_03 = "charge_miss";
if(scripts\common\utility::istrue(self.bchargehit))
{
var_03 = "charge_hit";
}
return lib_0A1A::func_2358(param_01,var_03);
}
//Function Number: 35
choosecrabbruteturnanim(param_00,param_01,param_02)
{
var_03 = undefined;
var_04 = abs(self.desiredyaw);
if(self.desiredyaw < 0)
{
if(var_04 < 67.5)
{
var_03 = 9;
}
else if(var_04 < 112.5)
{
var_03 = 6;
}
else if(var_04 < 157.5)
{
var_03 = 3;
}
else
{
var_03 = "2r";
}
}
else if(self.desiredyaw < 67.5)
{
var_03 = 7;
}
else if(self.desiredyaw < 112.5)
{
var_03 = 4;
}
else if(self.desiredyaw < 157.5)
{
var_03 = 1;
}
else
{
var_03 = "2l";
}
self.desiredyaw = undefined;
return lib_0A1A::func_2358(param_01,var_03);
}
//Function Number: 36
shouldturn(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.desiredyaw))
{
return 0;
}
return 1;
}
//Function Number: 37
shouldcrabbrutestartarrival(param_00,param_01,param_02,param_03)
{
var_04 = scripts\mp\agents\crab_brute\crab_brute_agent::getenemy();
if(!isdefined(var_04))
{
return lib_0C75::func_10092(param_00,param_01,param_02,param_03);
}
var_05 = scripts\mp\agents\crab_brute\crab_brute_tunedata::gettunedata();
var_06 = distancesquared(self.origin,var_04.origin);
if(var_06 < var_05.min_dist_to_enemy_to_do_arrival_sq)
{
return 0;
}
return lib_0C75::func_10092(param_00,param_01,param_02,param_03);
}
//Function Number: 38
playchargeintro(param_00,param_01,param_02,param_03)
{
if(isdefined(self.var_233))
{
var_04 = self method_845D(50);
if(isdefined(var_04))
{
var_05 = vectornormalize(var_04 - self.origin) * (1,1,0);
var_06 = vectortoangles(var_05);
self method_8289("face angle abs",var_06);
}
}
else if(isdefined(self.var_4B26))
{
var_05 = vectornormalize(self.var_4B26.origin - self.origin) * (1,1,0);
var_06 = vectortoangles(var_05);
self method_8289("face angle abs",var_06);
}
return lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 39
doburrowoutrodamage(param_00)
{
self endon(param_00 + "_finished");
thread play_burrow_outro_sfx();
var_01 = scripts\mp\agents\crab_brute\crab_brute_tunedata::gettunedata();
wait(var_01.burrow_outro_damage_wait_time);
radiusdamage(self.origin,var_01.burrow_outro_damage_radius,var_01.burrow_outro_max_damage_amt,var_01.burrow_outro_min_damage_amt,self,"MOD_IMPACT");
}
//Function Number: 40
play_burrow_outro_sfx()
{
if(isdefined(self.burrow_loop_obj))
{
thread stop_burrow_loop();
}
thread scripts\common\utility::play_sound_in_space("brute_burrow_out_of_ground",self.origin + (0,0,30));
}
//Function Number: 41
stop_burrow_loop()
{
self.burrow_loop_obj method_83AD();
wait(0.1);
if(isdefined(self.burrow_loop_obj))
{
self.burrow_loop_obj delete();
}
}
//Function Number: 42
playburrowoutro(param_00,param_01,param_02,param_03)
{
thread doburrowoutrodamage(param_01);
return playanimandlookatenemy(param_00,param_01,param_02,param_03);
}

View File

@ -0,0 +1,204 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\crab_brute\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 9
* Decompile Time: 492 ms
* Timestamp: 10/27/2023 12:01:27 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("crab_brute"))
{
return;
}
lib_0A1A::func_230B("crab_brute","start_here");
lib_0A1A::func_2374("start_here",::scripts\asm\crab_brute\crab_brute_asm::asminit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_idle_to_choose_movetype0,undefined);
lib_0A1A::func_2375("turn",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldturn,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("tired",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("melee_attack",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("burrow",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("charge",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("summon",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("flash",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("melee_attack",::scripts\asm\crab_brute\crab_brute_asm::playmeleeattack,undefined,::scripts\asm\crab_brute\crab_brute_asm::meleenotehandler,undefined,undefined,::scripts\asm\crab_brute\crab_brute_asm::choosemeleeattack,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_in",undefined,::trans_check_move_to_pass_run_in0,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_move",undefined,::trans_choose_movetype_to_check_move0,undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle_exit_run",undefined,::trans_pass_run_in_to_idle_exit_run1,undefined);
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,"code_move_slide",undefined);
lib_0A1A::func_2375("check_move_interruption",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_shield",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_stop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_move_interruption",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run_stop",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldcrabbrutestartarrival,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_run_out_to_move_done1,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2374("idle_exit_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("run_loop",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_move_interruption",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_sprint_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle_exit_sprint",undefined,::trans_pass_sprint_in_to_idle_exit_sprint1,undefined);
lib_0A1A::func_2374("sprint_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruption",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("sprint_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("sprint_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_shield",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_sprint_loop_to_move_done2,undefined);
lib_0A1A::func_2374("sprint_stop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_move_interruption",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_sprint_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("sprint_stop",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldcrabbrutestartarrival,undefined);
lib_0A1A::func_2375("sprint_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2374("idle_exit_sprint",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_move_interruption",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_move_interruption",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("shield_run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldstopshield,undefined);
lib_0A1A::func_2374("check_shield",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("shield_run_loop",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoshield,undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\crab_brute\crab_brute_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\crab_brute\crab_brute_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_pain_moving_to_choose_movetype0,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("melee_attack",undefined,::scripts\asm\crab_brute\crab_brute_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("jump_across",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_across_100",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_56",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("wall_over_40_flex",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_88",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_88",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("step_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("mantle_40_over_extended",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"mantle_40_over_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("wall_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_56",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_128",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_56_out_50",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\crab_brute\crab_brute_asm::doteleporthack,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("burrow_loop",::scripts\asm\crab_brute\crab_brute_asm::playanimwithplaybackrate,2,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("burrow_outro",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldabortaction,"burrow");
lib_0A1A::func_2374("burrow",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("burrow_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("burrow_intro",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_brute\crab_brute_asm::crabbrutenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("burrow_loop",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("burrow_outro",::scripts\asm\crab_brute\crab_brute_asm::playburrowoutro,undefined,::scripts\asm\crab_brute\crab_brute_asm::crabbrutenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("charge",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("charge_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("charge_intro",::scripts\asm\crab_brute\crab_brute_asm::playchargeintro,undefined,::scripts\asm\crab_brute\crab_brute_asm::crabbrutenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("charge_loop",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("charge_loop",::scripts\asm\crab_brute\crab_brute_asm::playchargeloop,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","code_move",undefined);
lib_0A1A::func_2375("charge_outro",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldabortaction,"charge");
lib_0A1A::func_2374("charge_outro",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_brute\crab_brute_asm::crabbrutenotehandler,undefined,undefined,::scripts\asm\crab_brute\crab_brute_asm::choosechargeoutroanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("tired",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_tired",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("tired_transition",undefined,::scripts\asm\crab_brute\crab_brute_asm::shouldabortaction,"tired");
lib_0A1A::func_2374("summon",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_brute\crab_brute_asm::summonnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("flash",::lib_0F3C::func_CEA8,undefined,::scripts\asm\crab_brute\crab_brute_asm::crabbrutenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("turn",::scripts\asm\crab_brute\crab_brute_asm::playanimwithplaybackrate,1.5,undefined,undefined,undefined,::scripts\asm\crab_brute\crab_brute_asm::choosecrabbruteturnanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_tired",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\crab_brute\crab_brute_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("tired",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("tired_transition",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2374("taunt",::scripts\asm\crab_brute\crab_brute_asm::playanimandlookatenemy,undefined,::scripts\asm\crab_brute\crab_brute_asm::crabbrutenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_brute\crab_brute_asm::isanimdone,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_idle_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_check_move_to_pass_run_in0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("run");
}
//Function Number: 4
trans_choose_movetype_to_check_move0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 5
trans_pass_run_in_to_idle_exit_run1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 6
trans_pass_run_out_to_move_done1(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 7
trans_pass_sprint_in_to_idle_exit_sprint1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 8
trans_sprint_loop_to_move_done2(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 9
trans_pain_moving_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}

View File

@ -0,0 +1,490 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\crab_mini\crab_mini_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 31
* Decompile Time: 1597 ms
* Timestamp: 10/27/2023 12:01:32 AM
*******************************************************************/
//Function Number: 1
asminit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
analyzeanims();
}
//Function Number: 2
analyzeanims()
{
var_00 = scripts\mp\agents\crab_mini\crab_mini_tunedata::gettunedata();
if(!isdefined(var_00.min_moving_pain_dist))
{
var_01 = self method_80FD("pain_moving",0);
var_02 = getmovedelta(var_01,0,1);
var_00.min_moving_pain_dist = length(var_02);
}
}
//Function Number: 3
isvalidaction(param_00)
{
switch(param_00)
{
case "moving_melee":
case "stand_melee":
return 1;
}
return 0;
}
//Function Number: 4
setaction(param_00)
{
self.requested_action = param_00;
}
//Function Number: 5
clearaction()
{
self.requested_action = undefined;
}
//Function Number: 6
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 1;
}
//Function Number: 7
playanimandlookatenemy(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\crab_mini\crab_mini_agent::getenemy());
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1);
}
//Function Number: 8
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 9
ismyenemyinfrontofme(param_00,param_01)
{
var_02 = vectornormalize(param_00.origin - self.origin * (1,1,0));
var_03 = anglestoforward(self.angles);
var_04 = vectordot(var_02,var_03);
if(var_04 > param_01)
{
return 1;
}
return 0;
}
//Function Number: 10
shouldmeleeattackhit(param_00,param_01,param_02)
{
if(lib_0F74::func_9DE0(param_00))
{
return 1;
}
var_03 = distance2dsquared(param_00.origin,self.origin);
if(var_03 > param_01)
{
return 0;
}
if(!ismyenemyinfrontofme(param_00,param_02))
{
return 0;
}
return 1;
}
//Function Number: 11
playmovingmelee(param_00,param_01,param_02,param_03)
{
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 12
domeleedamageoncontact(param_00,param_01)
{
self endon(param_00 + "_finished");
self endon("DoMeleeDamageOnContact_stop");
var_02 = scripts\mp\agents\crab_mini\crab_mini_tunedata::gettunedata();
while(isdefined(param_01) && isalive(param_01))
{
if(shouldmeleeattackhit(param_01,var_02.moving_melee_attack_damage_radius_sq,var_02.melee_dot))
{
if(randomint(100) < var_02.chance_to_get_stuck_if_hit)
{
scripts\mp\agents\crab_mini\crab_mini_agent::setisstuck(1);
}
else
{
scripts\mp\agents\crab_mini\crab_mini_agent::setisstuck(0);
}
lib_0C73::func_1106E();
lib_0C73::func_5904(param_01,self.var_B601,"MOD_IMPACT");
break;
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 13
movingmeleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
self method_8282(1,1);
self notify("DoMeleeDamageOnContact_stop");
return;
}
if(param_00 == "flex_start")
{
var_04 = scripts\mp\agents\crab_mini\crab_mini_agent::getenemy();
if(isdefined(var_04))
{
var_05 = scripts\mp\agents\crab_mini\crab_mini_tunedata::gettunedata();
var_06 = self method_80FD(param_01,param_02);
var_07 = getnotetracktimes(var_06,"hit");
var_08 = var_07[0];
if(var_08 > param_03)
{
var_09 = getmovedelta(var_06,param_03,var_08);
var_0A = length2d(var_09);
var_0B = getanimlength(var_06);
var_0C = var_08 * var_0B - param_03 * var_0B;
var_0D = var_04 getvelocity();
var_0E = var_04.origin + var_0D * var_0C;
var_0F = distance(var_0E,self.origin);
var_10 = 1;
if(var_0F > var_0A && var_0A > 0)
{
var_10 = var_0F / var_0A;
if(var_10 < 1)
{
var_10 = 1;
}
var_10 = var_10 + var_05.melee_xy_scale_boost;
if(var_10 > var_05.melee_max_flex_xy_scale)
{
var_10 = var_05.melee_max_flex_xy_scale;
}
}
else
{
var_10 = 1 + var_05.melee_xy_scale_boost;
}
self method_8282(var_10,1);
return;
}
return;
}
return;
}
if(var_0C == "check_stuck")
{
if(scripts\mp\agents\crab_mini\crab_mini_agent::iscrabministuck())
{
lib_0A1A::func_2330(var_0D,"end");
return;
}
return;
}
}
//Function Number: 14
meleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
self method_8282(1,1);
var_04 = scripts\mp\agents\crab_mini\crab_mini_agent::getenemy();
if(isdefined(var_04))
{
var_05 = scripts\mp\agents\crab_mini\crab_mini_tunedata::gettunedata();
if(shouldmeleeattackhit(var_04,var_05.melee_attack_damage_radius_sq,var_05.melee_dot))
{
self notify("attack_hit",var_04);
lib_0C73::func_5904(var_04,self.var_B601,"MOD_IMPACT");
}
else
{
self notify("attack_miss",var_04);
}
}
if(!scripts\common\utility::istrue(self.bmovingmelee))
{
self notify("stop_melee_face_enemy");
}
}
}
//Function Number: 15
timetogetstuck(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btimetogetstuck))
{
self.btimetogetstuck = undefined;
return 1;
}
return 0;
}
//Function Number: 16
terminate_movingmelee(param_00,param_01,param_02)
{
self.btimetogetstuck = undefined;
}
//Function Number: 17
shouldabortaction(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btraversalteleport))
{
return 0;
}
if(!isdefined(self.requested_action))
{
return 1;
}
if(isdefined(param_03))
{
if(self.requested_action != param_03)
{
return 1;
}
}
return 0;
}
//Function Number: 18
shoulddoaction(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(self.requested_action == param_02)
{
return 1;
}
return 0;
}
//Function Number: 19
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 20
stopfacingenemy(param_00,param_01)
{
self endon(param_00 + "_finished");
wait(param_01);
lib_0C73::func_1106E();
}
//Function Number: 21
playmovingmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getanimlength(var_05);
var_07 = getnotetracktimes(var_05,"hit");
var_08 = var_06 * var_07[0];
var_09 = scripts\mp\agents\crab_mini\crab_mini_tunedata::gettunedata();
var_0A = randomfloatrange(var_09.min_stop_facing_enemy_time_before_hit,var_09.max_stop_facing_enemy_time_before_hit);
var_0B = var_08 - var_0A;
if(var_0B < 0)
{
var_0B = 0.1;
}
if(randomint(100) < var_09.chance_to_get_stuck_if_miss)
{
scripts\mp\agents\crab_mini\crab_mini_agent::setisstuck(1);
}
else
{
scripts\mp\agents\crab_mini\crab_mini_agent::setisstuck(0);
}
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
thread stopfacingenemy(param_01,var_0B);
thread domeleedamageoncontact(param_01,self.var_4B26);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
}
//Function Number: 22
playmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
}
//Function Number: 23
choosemeleeattack(param_00,param_01,param_02)
{
self.meleeattackanimindex = randomintrange(0,self method_8100(param_01));
return self.meleeattackanimindex;
}
//Function Number: 24
choosestuckanim(param_00,param_01,param_02)
{
return self.meleeattackanimindex;
}
//Function Number: 25
isstuckdone(param_00,param_01,param_02,param_03)
{
return !scripts\common\utility::istrue(self.bisstuck);
}
//Function Number: 26
shoulddostuckanim(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.bisstuck);
}
//Function Number: 27
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 28
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233) || self method_841E() < scripts\mp\agents\crab_mini\crab_mini_tunedata::gettunedata().min_moving_pain_dist)
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,1);
return;
}
lib_0A1D::func_2364(param_01,param_02,param_03,var_04);
}
//Function Number: 29
doteleporthack(param_00,param_01,param_02,param_03)
{
var_06 = self method_8146();
self setorigin(var_06,0);
var_06 = getgroundposition(var_06,15);
self.var_9CEC = undefined;
self notify("traverse_end");
lib_0A1A::func_237C("decide_idle",param_03);
}
//Function Number: 30
shouldturn(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.desiredyaw))
{
return 0;
}
return 1;
}
//Function Number: 31
choosecrabminiturnanim(param_00,param_01,param_02)
{
var_03 = undefined;
var_04 = abs(self.desiredyaw);
if(self.desiredyaw < 0)
{
if(var_04 < 67.5)
{
var_03 = 9;
}
else if(var_04 < 112.5)
{
var_03 = 6;
}
else if(var_04 < 157.5)
{
var_03 = 3;
}
else
{
var_03 = "2r";
}
}
else if(self.desiredyaw < 67.5)
{
var_03 = 7;
}
else if(self.desiredyaw < 112.5)
{
var_03 = 4;
}
else if(self.desiredyaw < 157.5)
{
var_03 = 1;
}
else
{
var_03 = "2l";
}
self.desiredyaw = undefined;
return lib_0A1A::func_2358(param_01,var_03);
}

View File

@ -0,0 +1,169 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\crab_mini\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 8
* Decompile Time: 907 ms
* Timestamp: 10/27/2023 12:01:30 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("crab_mini"))
{
return;
}
lib_0A1A::func_230B("crab_mini","start_here");
lib_0A1A::func_2374("start_here",::scripts\asm\crab_mini\crab_mini_asm::asminit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\crab_mini\crab_mini_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("turn",undefined,::scripts\asm\crab_mini\crab_mini_asm::shouldturn,undefined);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_idle_to_choose_movetype1,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\crab_mini\crab_mini_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("moving_melee",undefined,::scripts\asm\crab_mini\crab_mini_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("stand_melee",::scripts\asm\crab_mini\crab_mini_asm::playmeleeattack,undefined,::scripts\asm\crab_mini\crab_mini_asm::meleenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_sprint",undefined,::trans_check_move_to_idle_exit_sprint0,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle_exit_sprint",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::trans_pass_walk_in_to_sprint_loop1,undefined);
lib_0A1A::func_2374("sprint_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("sprint_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_sprint_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("sprint_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("sprint_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_sprint_out_to_move_done2,undefined);
lib_0A1A::func_2374("sprint_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_move",undefined,::trans_choose_movetype_to_check_move0,undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle_exit_run",undefined,::trans_pass_run_in_to_idle_exit_run1,undefined);
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_stop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2374("idle_exit_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("run_loop",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_move_interruptions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_move_interruptions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\crab_mini\crab_mini_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\crab_mini\crab_mini_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("pain_moving_done",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\crab_mini\crab_mini_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\crab_mini\crab_mini_asm::doteleporthack,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("moving_melee",::scripts\asm\crab_mini\crab_mini_asm::playmovingmeleeattack,undefined,::scripts\asm\crab_mini\crab_mini_asm::movingmeleenotehandler,::scripts\asm\crab_mini\crab_mini_asm::terminate_movingmelee,undefined,::scripts\asm\crab_mini\crab_mini_asm::choosemeleeattack,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("moving_melee_done",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("moving_melee_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stuck_loop",0.05,::scripts\asm\crab_mini\crab_mini_asm::shoulddostuckanim,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("stuck_loop",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\crab_mini\crab_mini_asm::choosestuckanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("stuck_exit",undefined,::scripts\asm\crab_mini\crab_mini_asm::isstuckdone,undefined);
lib_0A1A::func_2374("stuck_exit",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\crab_mini\crab_mini_asm::choosestuckanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_pain_moving_done_to_choose_movetype0,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("turn",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\crab_mini\crab_mini_asm::choosecrabminiturnanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\crab_mini\crab_mini_asm::isanimdone,undefined);
lib_0A1A::func_2374("jump_across",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_across_100",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_56",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("wall_over_40_flex",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_88",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_88",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("step_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("mantle_40_over_extended",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"mantle_40_over_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("wall_over_40",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_56",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_128",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_56_out_50",::scripts\asm\zombie_dlc3\zombie_dlc3::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_idle_to_choose_movetype1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_check_move_to_idle_exit_sprint0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("sprint");
}
//Function Number: 4
trans_pass_walk_in_to_sprint_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 5
trans_pass_sprint_out_to_move_done2(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 6
trans_choose_movetype_to_check_move0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 7
trans_pass_run_in_to_idle_exit_run1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 8
trans_pain_moving_done_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}

View File

@ -0,0 +1,65 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\dlc4\alien_anim_utils.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 2
* Decompile Time: 144 ms
* Timestamp: 10/27/2023 12:01:33 AM
*******************************************************************/
//Function Number: 1
func_97C5()
{
if(isdefined(level.var_1BBA))
{
return;
}
level.var_1BBA = spawnstruct();
func_97C8(level.var_1BBA);
level.var_1BBA.var_A4E4 = 107.659;
level.var_1BBA.var_1108C = 99.4488;
level.var_1B74 = 1.05;
level.var_1B73 = 900;
}
//Function Number: 2
func_97C8(param_00)
{
level.var_1BBA.var_A4E2 = 907.0294;
level.var_1BBA.var_A4E6 = 16.8476;
level.var_1BBA.var_A4E7 = 0.111111;
level.var_1BBA.var_A4E5 = [];
level.var_1BBA.var_A4E5["jump_launch_up"] = [];
level.var_1BBA.var_A4E5["jump_launch_level"] = [];
level.var_1BBA.var_A4E5["jump_launch_down"] = [];
level.var_1BBA.var_A4E5["jump_launch_up"][0] = (0.338726,0,0.940885);
level.var_1BBA.var_A4E5["jump_launch_up"][1] = (0.688542,0,0.725196);
level.var_1BBA.var_A4E5["jump_launch_up"][2] = (0.906517,0,0.422169);
level.var_1BBA.var_A4E5["jump_launch_level"][0] = (0.248516,0,0.968628);
level.var_1BBA.var_A4E5["jump_launch_level"][1] = (0.579155,0,0.815218);
level.var_1BBA.var_A4E5["jump_launch_level"][2] = (0.906514,0,0.422177);
level.var_1BBA.var_A4E5["jump_launch_down"][0] = (0.333125,0,0.942883);
level.var_1BBA.var_A4E5["jump_launch_down"][1] = (0.518112,0,0.855313);
level.var_1BBA.var_A4E5["jump_launch_down"][2] = (0.892489,0,0.451068);
level.var_1BBA.var_93B2 = [];
level.var_1BBA.var_93B2["jump_launch_up"] = [];
level.var_1BBA.var_93B2["jump_launch_level"] = [];
level.var_1BBA.var_93B2["jump_launch_down"] = [];
level.var_1BBA.var_93B2["jump_launch_up"]["jump_land_up"] = 0;
level.var_1BBA.var_93B2["jump_launch_up"]["jump_land_level"] = 1;
level.var_1BBA.var_93B2["jump_launch_up"]["jump_land_down"] = 2;
level.var_1BBA.var_93B2["jump_launch_level"]["jump_land_up"] = 3;
level.var_1BBA.var_93B2["jump_launch_level"]["jump_land_level"] = 4;
level.var_1BBA.var_93B2["jump_launch_level"]["jump_land_down"] = 5;
level.var_1BBA.var_93B2["jump_launch_down"]["jump_land_up"] = 6;
level.var_1BBA.var_93B2["jump_launch_down"]["jump_land_level"] = 7;
level.var_1BBA.var_93B2["jump_launch_down"]["jump_land_down"] = 8;
level.var_1BBA.var_93B2["jump_launch_up"]["jump_land_sidewall_high"] = 9;
level.var_1BBA.var_93B2["jump_launch_level"]["jump_land_sidewall_high"] = 9;
level.var_1BBA.var_93B2["jump_launch_down"]["jump_land_sidewall_high"] = 9;
level.var_1BBA.var_93B2["jump_launch_up"]["jump_land_sidewall_low"] = 9;
level.var_1BBA.var_93B2["jump_launch_level"]["jump_land_sidewall_low"] = 9;
level.var_1BBA.var_93B2["jump_launch_down"]["jump_land_sidewall_low"] = 9;
}

View File

@ -0,0 +1,790 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\dlc4\dlc4_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 44
* Decompile Time: 2660 ms
* Timestamp: 10/27/2023 12:01:36 AM
*******************************************************************/
//Function Number: 1
gettunedata()
{
return level.agenttunedata[self.agent_type];
}
//Function Number: 2
getanimmovedeltadist(param_00)
{
var_01 = self method_80FD(param_00,0);
var_02 = getmovedelta(var_01,0,1);
var_03 = length2d(var_02);
return var_03;
}
//Function Number: 3
analyzeanims()
{
var_00 = gettunedata();
if(!isdefined(var_00.min_moving_pain_dist))
{
var_01 = self method_80FD("pain_moving",0);
var_02 = getmovedelta(var_01,0,1);
var_00.min_moving_pain_dist = length(var_02);
var_00.arrivalanimdist = [];
var_00.arrivalanimdist["run_stop"] = getanimmovedeltadist("run_stop");
var_00.arrivalanimdist["sprint_stop"] = getanimmovedeltadist("sprint_stop");
var_00.movingattackdisttoattack = [];
var_03 = self method_8100("moving_melee");
for(var_04 = 0;var_04 < var_03;var_04++)
{
var_01 = self method_80FD("moving_melee",var_04);
var_05 = getnotetracktimes(var_01,"start_melee");
var_02 = getmovedelta(var_01,0,var_05[0]);
var_00.movingattackdisttoattacksq[var_04] = length2dsquared(var_02);
}
}
}
//Function Number: 4
choosespawnanim(param_00,param_01,param_02)
{
if(isdefined(self.spawner) && isdefined(self.spawner.var_ECF5))
{
var_03 = "";
switch(self.var_1F5)
{
case "walk":
case "slow_walk":
var_03 = "_walk";
break;
case "run":
case "sprint":
var_03 = "_run";
break;
default:
break;
}
if(lib_0A1D::func_2347(param_01,self.spawner.var_ECF5 + var_03))
{
return lib_0A1A::func_2358(param_01,self.spawner.var_ECF5 + var_03);
}
else if(lib_0A1D::func_2347(param_01,self.spawner.var_ECF5))
{
return lib_0A1A::func_2358(param_01,self.spawner.var_ECF5);
}
}
if(!isdefined(param_02))
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
return lib_0A1A::func_2358(param_01,param_02);
}
//Function Number: 5
setasmaction(param_00)
{
if(isdefined(self.fnactionvalidator))
{
}
self.requested_action = param_00;
self.current_action = undefined;
}
//Function Number: 6
clearasmaction()
{
self.requested_action = undefined;
self.current_action = undefined;
}
//Function Number: 7
shoulddoaction(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(self.requested_action == param_02)
{
if(isdefined(self.current_action) && self.current_action == param_02)
{
return 0;
}
self.current_action = param_02;
return 1;
}
return 0;
}
//Function Number: 8
shouldabortaction(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btraversalteleport))
{
return 0;
}
if(!isdefined(self.requested_action))
{
return 1;
}
if(isdefined(param_03))
{
if(self.requested_action != param_03)
{
return 1;
}
}
return 0;
}
//Function Number: 9
playanimandlookatenemy(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,getenemy());
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,self.var_C081);
}
//Function Number: 10
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 11
ismyenemyinfrontofme(param_00,param_01)
{
var_02 = vectornormalize(param_00.origin - self.origin * (1,1,0));
var_03 = vectornormalize(anglestoforward(self.angles) * (1,1,0));
var_04 = vectordot(var_02,var_03);
if(var_04 > param_01)
{
return 1;
}
return 0;
}
//Function Number: 12
shouldmeleeattackhit(param_00,param_01,param_02,param_03,param_04)
{
if(!isdefined(param_03))
{
param_03 = 0;
}
if(!isdefined(param_04))
{
param_04 = self.origin;
}
if(lib_0F74::func_9DE0(param_00))
{
return 1;
}
var_05 = distance2dsquared(param_00.origin,param_04);
if(var_05 > param_01)
{
return 0;
}
if(!ismyenemyinfrontofme(param_00,param_02))
{
if(var_05 < param_03)
{
return 1;
}
return 0;
}
return 1;
}
//Function Number: 13
domeleedamageoncontact(param_00,param_01,param_02,param_03,param_04)
{
self endon(param_00 + "_finished");
self endon("DoMeleeDamageOnContact_stop");
var_05 = gettunedata();
while(isdefined(param_01) && isalive(param_01))
{
var_06 = self gettagorigin("j_head",1);
if(shouldmeleeattackhit(param_01,var_05.moving_melee_attack_damage_radius_sq,var_05.melee_dot,var_05.force_melee_attack_damage_radius_sq,var_06))
{
lib_0C73::func_1106E();
lib_0C73::func_5904(param_01,param_02,"MOD_IMPACT");
break;
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 14
alienmeleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
var_04 = gettunedata();
if(shouldmeleeattackhit(self.var_4B26,var_04.moving_melee_attack_damage_radius_sq,var_04.melee_dot))
{
lib_0C73::func_1106E();
lib_0C73::func_5904(self.var_4B26,self.var_B601,"MOD_IMPACT");
}
}
if(param_00 == "start_melee")
{
var_04 = gettunedata();
thread domeleedamageoncontact(param_01,self.var_4B26,self.var_B601,var_04.moving_melee_attack_damage_radius_sq,var_04.melee_dot);
return;
}
if(param_00 == "end_melee")
{
self method_8282(1,1);
self notify("DoMeleeDamageOnContact_stop");
return;
}
if(param_00 == "flex_start")
{
var_05 = getenemy();
if(isdefined(var_05))
{
var_04 = gettunedata();
var_06 = self method_80FD(param_01,param_02);
var_07 = getnotetracktimes(var_06,"hit");
var_08 = var_07[0];
if(var_08 > param_03)
{
var_09 = getmovedelta(var_06,param_03,var_08);
var_0A = length2d(var_09);
var_0B = getanimlength(var_06);
var_0C = var_08 * var_0B - param_03 * var_0B;
var_0D = var_05 getvelocity();
var_0E = var_05.origin + var_0D * var_0C;
var_0F = distance(var_0E,self.origin);
var_10 = 1;
if(var_0F > var_0A && var_0A > 0)
{
var_10 = var_0F / var_0A;
if(var_10 < 1)
{
var_10 = 1;
}
var_10 = var_10 + var_04.melee_xy_scale_boost;
if(var_10 > var_04.melee_max_flex_xy_scale)
{
var_10 = var_04.melee_max_flex_xy_scale;
}
}
else
{
var_10 = 1 + var_04.melee_xy_scale_boost;
}
self method_8282(var_10,1);
return;
}
return;
}
return;
}
}
//Function Number: 15
meleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
self method_8282(1,1);
var_04 = getenemy();
if(isdefined(var_04))
{
var_05 = gettunedata();
if(shouldmeleeattackhit(var_04,var_05.melee_attack_damage_radius_sq,var_05.melee_dot))
{
self notify("attack_hit",var_04);
lib_0C73::func_5904(var_04,self.var_B601,"MOD_IMPACT");
}
else
{
self notify("attack_miss",var_04);
}
}
if(!scripts\common\utility::istrue(self.bmovingmelee))
{
self notify("stop_melee_face_enemy");
}
}
}
//Function Number: 16
terminate_movingmelee(param_00,param_01,param_02)
{
self method_85C9(0);
}
//Function Number: 17
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 18
stopfacingenemy(param_00,param_01)
{
self endon(param_00 + "_finished");
wait(param_01);
lib_0C73::func_1106E();
}
//Function Number: 19
choosemovingmeleeattack(param_00,param_01,param_02)
{
if(isdefined(self.var_1198.movingmeleeattackindex))
{
return self.var_1198.movingmeleeattackindex;
}
return randomint(self method_8100(param_01));
}
//Function Number: 20
playmovingmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = 1;
if(isdefined(self.var_C081))
{
var_04 = self.var_C081;
}
var_05 = lib_0A1D::func_2337(param_00,param_01);
var_06 = self method_80FD(param_01,var_05);
var_07 = getanimlength(var_06) * 1 / var_04;
var_08 = getnotetracktimes(var_06,"start_melee");
var_09 = var_07 * var_08[0];
var_0A = gettunedata();
var_0B = randomfloatrange(var_0A.min_stop_facing_enemy_time_before_hit,var_0A.max_stop_facing_enemy_time_before_hit);
var_0C = var_09 - var_0B;
if(var_0C < 0)
{
var_0C = 0.1;
}
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
thread stopfacingenemy(param_01,var_0C);
if(isdefined(self.preventplayerpushdist))
{
self method_85C9(self.preventplayerpushdist);
}
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 21
terminate_meleeattack(param_00,param_01,param_02)
{
self method_85C9(0);
}
//Function Number: 22
playmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
var_04 = lib_0A1D::func_2337(param_00,param_01);
if(isdefined(self.preventplayerpushdist))
{
self method_85C9(self.preventplayerpushdist);
}
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,self.var_C081);
}
//Function Number: 23
choosemeleeattack(param_00,param_01,param_02)
{
self.meleeattackanimindex = randomintrange(0,self method_8100(param_01));
return self.meleeattackanimindex;
}
//Function Number: 24
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 25
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233) || self method_841E() < gettunedata().min_moving_pain_dist)
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,self.var_C081);
return;
}
var_04 = lib_0A1D::func_2337(param_01,param_02);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,self.var_C081);
}
//Function Number: 26
doteleporthack(param_00,param_01,param_02,param_03)
{
var_06 = self method_8146();
self setorigin(var_06,0);
var_06 = getgroundposition(var_06,15);
self.var_9CEC = undefined;
self notify("traverse_end");
lib_0A1A::func_237C("decide_idle",param_03);
}
//Function Number: 27
shouldturn(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.desiredyaw))
{
return 0;
}
return 1;
}
//Function Number: 28
handleadditionalyaw(param_00,param_01)
{
self endon(param_00 + "_finished");
var_02 = self.additionalyaw / param_01;
for(var_03 = 0;var_03 < param_01;var_03++)
{
var_04 = self.angles[1];
var_04 = var_04 + var_02;
var_05 = (self.angles[0],var_04,self.angles[2]);
self method_8289("face angle abs",var_05);
scripts\common\utility::func_136F7();
}
self.additionalyaw = undefined;
}
//Function Number: 29
func_D56A(param_00,param_01,param_02,param_03)
{
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getanimlength(var_05);
if(isdefined(self.additionalyaw))
{
thread handleadditionalyaw(param_01,floor(var_06 * 20));
}
return lib_0A1D::func_2365(param_00,param_01,param_02,var_04,self.var_C081);
}
//Function Number: 30
func_3F0A(param_00,param_01,param_02)
{
var_03 = undefined;
var_04 = abs(self.desiredyaw);
if(self.desiredyaw < 0)
{
if(var_04 < 67.5)
{
var_03 = 9;
}
else if(var_04 < 112.5)
{
var_03 = 6;
}
else if(var_04 < 157.5)
{
var_03 = 3;
}
else
{
var_03 = "2r";
}
}
else if(self.desiredyaw < 67.5)
{
var_03 = 7;
}
else if(self.desiredyaw < 112.5)
{
var_03 = 4;
}
else if(self.desiredyaw < 157.5)
{
var_03 = 1;
}
else
{
var_03 = "2l";
}
var_05 = lib_0A1A::func_2358(param_01,var_03);
var_06 = self method_80FD(param_01,var_05);
var_07 = getangledelta(var_06,0,1);
self.additionalyaw = self.desiredyaw - var_07;
self.desiredyaw = undefined;
return var_05;
}
//Function Number: 31
shouldstartarrivalalien(param_00,param_01,param_02,param_03)
{
if(!lib_0C75::func_FFE7())
{
return 0;
}
var_04 = self.var_233;
if(!isdefined(var_04))
{
return 0;
}
var_05 = gettunedata();
if(!isdefined(var_05.arrivalanimdist[param_02]))
{
return 0;
}
var_06 = var_05.arrivalanimdist[param_02];
var_07 = distance2d(var_04,self.origin);
if(var_07 < var_06 * 1.1 && var_07 > var_06 * 0.75)
{
return 1;
}
return 0;
}
//Function Number: 32
playalienarrival(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = self.var_233;
if(isdefined(var_04))
{
var_05 = gettunedata();
var_06 = var_05.arrivalanimdist[param_01];
var_07 = distance2d(var_04,self.origin);
var_08 = var_07 / var_06;
self method_8282(var_08,1);
}
lib_0A1D::func_2365(param_00,param_01,param_02,0,self.var_C081);
}
//Function Number: 33
terminate_arrival(param_00,param_01,param_02)
{
self method_8282(1,1);
}
//Function Number: 34
playaliendeathanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self method_828A("gravity");
if(!scripts\common\utility::istrue(self.var_11B2F))
{
self method_8281("anim deltas");
}
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 35
getenemy()
{
if(isdefined(self.myenemy))
{
return self.myenemy;
}
return undefined;
}
//Function Number: 36
lookatenemy()
{
var_00 = getenemy();
if(isdefined(var_00))
{
var_01 = var_00.origin - self.origin;
var_02 = vectortoangles(var_01);
self method_8289("face angle abs",var_02);
return;
}
self method_8289("face angle abs",self.angles);
}
//Function Number: 37
dojump(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(self.agent_type == "alien_phantom")
{
self.bteleporting = 1;
}
if(isdefined(self.preventplayerpushdist))
{
self method_85C9(self.preventplayerpushdist);
}
scripts\asm\alien_goon\alien_jump::func_A4C3(param_00,param_01,self.origin,self.angles,self.var_1198.jumpdestinationpos,self.var_1198.jumpdestinationangles,self.var_1198.jumpnextpos);
self.bteleporting = undefined;
self.var_1198.jumpdestinationpos = undefined;
self.var_1198.jumpdestinationangles = undefined;
self.var_1198.jumpnextpos = undefined;
clearasmaction();
}
//Function Number: 38
dojumpattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = gettunedata();
thread domeleedamageoncontact(param_01,self.var_4B26,self.var_B601 * var_04.jump_attack_melee_damage_multiplier,var_04.jump_attack_damage_radius_sq,var_04.jump_attack_damage_dot);
if(isdefined(self.preventplayerpushdist))
{
self method_85C9(self.preventplayerpushdist);
}
scripts\asm\alien_goon\alien_jump::jumpattack(param_00,param_01,self.var_1198.jumpdestinationpos);
self.var_1198.jumpdestinationpos = undefined;
clearasmaction();
}
//Function Number: 39
doalienjumptraversal(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = self method_8148();
var_05 = self method_8146();
var_06 = scripts\common\utility::func_824D(var_05);
if(abs(var_06) > 16)
{
self.desiredyaw = var_06;
func_D56A(param_00,"turn",param_02);
}
var_07 = vectornormalize(var_05 - self.origin * (1,1,0));
var_08 = vectortoangles(var_07);
if(self.agent_type == "alien_phantom")
{
self.bteleporting = 1;
}
scripts\asm\alien_goon\alien_jump::func_A4C3(param_00,param_01,self.origin,var_08,var_05,var_08,var_05 + anglestoforward(var_08) * 10);
self.bteleporting = undefined;
self notify("traverse_end");
thread lib_0A1A::func_237C("decide_idle");
}
//Function Number: 40
checkpainnotify()
{
if(self.var_1198.painnotifytime > 0)
{
self.var_1198.painnotifytime = 0;
return 1;
}
return 0;
}
//Function Number: 41
jumpnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "stop_teleport")
{
if(self method_85B8())
{
level.totalphantomsjumping--;
if(level.totalphantomsjumping <= 0)
{
level.totalphantomsjumping = 0;
}
self method_85B7(0);
thread play_teleport_end();
}
}
}
//Function Number: 42
play_teleport_end()
{
scripts\common\utility::func_136F7();
self setscriptablepartstate("teleport_fx","teleport_end");
}
//Function Number: 43
terminate_jump(param_00,param_01,param_02)
{
self method_85B7(0);
}
//Function Number: 44
isalienjumpfinished(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.var_11B2F))
{
return 0;
}
return shouldabortaction(param_00,param_01,param_02,param_01);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,210 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\dlc4_boss\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 5
* Decompile Time: 313 ms
* Timestamp: 10/27/2023 12:01:36 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("dlc4_boss"))
{
return;
}
lib_0A1A::func_230B("dlc4_boss","start_here");
lib_0A1A::func_2374("start_here",::scripts\asm\dlc4_boss\dlc4_boss_asm::asminit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance_turn_around",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("move_back_exit",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("move",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("ground_pound",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("temp_idle",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("air_pound",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("drop_move",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("fly_over",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("death",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("black_hole",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("eclipse",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("fireball",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("clap",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("summon",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("tornado",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("throw",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("pain_generic",::scripts\asm\dlc4_boss\dlc4_boss_asm::playpain,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::painterminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pain_transfer",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\dlc4_boss\dlc4_boss_asm::playmovingpain,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::painterminate,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosepainmovinganim,undefined,undefined,"stand",undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("pain_transfer",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("dlc4_boss_aimset",undefined,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("taunt",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("move_exit",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("move_exit",::scripts\asm\dlc4_boss\dlc4_boss_asm::playmoveexit,undefined,undefined,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosebossmoveanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("move_exit_pass",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("move_loop",::scripts\asm\dlc4_boss\dlc4_boss_asm::loopbossmoveanim,undefined,undefined,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosebossmoveanim,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("move_arrival",undefined,::trans_move_loop_to_move_arrival0,undefined);
lib_0A1A::func_2374("move_arrival",::scripts\asm\dlc4_boss\dlc4_boss_asm::playmovearrival,undefined,undefined,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosebossarrivalanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"move_arrival",undefined,"code_move",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("fireball",::scripts\asm\dlc4_boss\dlc4_boss_asm::playfireball,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::fireball_note_handler,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosefireballanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("clap",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::clap_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("summon",::scripts\asm\dlc4_boss\dlc4_boss_asm::playsummonanim,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::summon_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("tornado",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::tornado_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("teleport_in",::scripts\asm\dlc4_boss\dlc4_boss_asm::playanimandteleport,"desired_node",::scripts\asm\dlc4_boss\dlc4_boss_asm::teleportendnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("teleport_out",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::checkteleportdone,undefined);
lib_0A1A::func_2374("ground_pound_start",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::ground_pound_start_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_pound_land",undefined,::lib_0A1A::func_68B0,"teleport_finished");
lib_0A1A::func_2374("ground_pound_land",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_pound_pound",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("ground_pound_pound",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::ground_pound_pound_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_pound_launch",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("ground_pound_launch",::lib_0F3C::func_CEA8,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::groundpoundexit,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face node","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("ground_pound",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ground_pound_start",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("throw",::scripts\asm\dlc4\dlc4_asm::playanimandlookatenemy,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::throw_note_handler,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosethrowanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("temp_idle",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::shouldabortaction,"temp_idle");
lib_0A1A::func_2374("move_fireball",::scripts\asm\dlc4_boss\dlc4_boss_asm::playstrafefireball,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::strafefireballnotehandler,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosestrafefireballanim,undefined,undefined,"prone",undefined,undefined,"pain_moving",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("move_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("move_exit_pass",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",1);
lib_0A1A::func_2375("move_fireball",undefined,::trans_move_exit_pass_to_move_fireball0,undefined);
lib_0A1A::func_2375("move_clap",undefined,::trans_move_exit_pass_to_move_clap1,undefined);
lib_0A1A::func_2375("move_loop",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("move_back_exit",::scripts\asm\dlc4_boss\dlc4_boss_asm::playmoveexit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("move_back_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("move_back_loop",::scripts\asm\dlc4_boss\dlc4_boss_asm::loopbossmoveanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("move_back_arrival",undefined,::trans_move_back_loop_to_move_back_arrival0,undefined);
lib_0A1A::func_2374("move_back_arrival",::scripts\asm\dlc4_boss\dlc4_boss_asm::playmovearrival,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("entrance",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance_turn_around",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("move_clap",::scripts\asm\dlc4_boss\dlc4_boss_asm::playstrafefireball,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::clap_note_handler,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosestrafefireballanim,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("move_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("air_pound",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("air_pound_teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("air_pound_teleport_in",::scripts\asm\dlc4_boss\dlc4_boss_asm::playanimandteleport,"center",::scripts\asm\dlc4_boss\dlc4_boss_asm::teleportnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("air_pound_rise",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::checkteleportdone,undefined);
lib_0A1A::func_2374("air_pound_attack",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::air_pound_attack_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("air_pound_launch",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("air_pound_launch",::scripts\asm\dlc4_boss\dlc4_boss_asm::playanimandteleport,"desired_node",::scripts\asm\dlc4_boss\dlc4_boss_asm::teleportnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("air_pound_teleport_finish",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::checkteleportdone,undefined);
lib_0A1A::func_2374("ground_vul",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ground_vul_teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ground_vul_teleport_in",::scripts\asm\dlc4_boss\dlc4_boss_asm::playanimandteleport,"center",::scripts\asm\dlc4_boss\dlc4_boss_asm::teleportnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,"stand",undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_vul_land",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::groundvulteleportintransition,undefined);
lib_0A1A::func_2374("ground_vul_idle",::scripts\asm\dlc4_boss\dlc4_boss_asm::playgroundvulidle,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::groundvulidleterminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_vul_hurt",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::groundvulhurttransition,undefined);
lib_0A1A::func_2375("ground_vul_launch",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::groundvulidletransition,undefined);
lib_0A1A::func_2374("ground_vul_launch",::scripts\asm\dlc4_boss\dlc4_boss_asm::playgroundvullaunch,"desired_node",::scripts\asm\dlc4_boss\dlc4_boss_asm::groundvullaunchnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_vul_finish",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::checkteleportdone,undefined);
lib_0A1A::func_2374("ground_vul_land",::scripts\asm\dlc4_boss\dlc4_boss_asm::playgroundvulland,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("last_stand_start",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::shouldgointolaststand,undefined);
lib_0A1A::func_2375("ground_vul_idle",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("drop_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("drop_move_exit",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("drop_move_exit",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("drop_move_down",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("drop_move_down",::scripts\asm\dlc4_boss\dlc4_boss_asm::loopdropmovedown,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("drop_move_up",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::dropmovedowntransition,undefined);
lib_0A1A::func_2374("drop_move_up",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("drop_move_arrival",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::dropmoveuptransition,undefined);
lib_0A1A::func_2374("drop_move_arrival",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("air_pound_rise",::scripts\asm\dlc4_boss\dlc4_boss_asm::air_pound_rise_play,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("air_pound_attack",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("fly_over",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("fly_over_exit",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("fly_over_exit",::scripts\asm\dlc4_boss\dlc4_boss_asm::playflyoverexit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("fly_over_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("fly_over_loop",::lib_0F3C::func_B050,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::flyoverloopnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("fly_over_arrival",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::flyoverlooptransition,undefined);
lib_0A1A::func_2374("fly_over_arrival",::lib_0F3C::func_CEA8,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::terminateflyoverarrival,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("teleport",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("teleport_out",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::teleportnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("air_pound_teleport_finish",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::teleportendnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("black_hole_start",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::black_hole_start_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("black_hole_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("death",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("death_teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_teleport_in",::scripts\asm\dlc4_boss\dlc4_boss_asm::playanimandteleport,"center",undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("death_idle",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::checkteleportdone,undefined);
lib_0A1A::func_2374("death_idle",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::death_ground_idle_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("death_death",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("death_death",::scripts\asm\dlc4_boss\dlc4_boss_asm::playanimandteleport,"desired_node",::scripts\asm\dlc4_boss\dlc4_boss_asm::death_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::checkteleportdone,undefined);
lib_0A1A::func_2374("black_hole",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("black_hole_start",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("black_hole_end",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::black_hole_end_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("black_hole_loop",::scripts\asm\dlc4_boss\dlc4_boss_asm::playblackholeloop,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("black_hole_end",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::blackholelooptransition,undefined);
lib_0A1A::func_2374("eclipse",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::eclipse_note_handler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"code_move",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("ground_vul_hurt",::scripts\asm\dlc4_boss\dlc4_boss_asm::playanimandteleport,"desired_node",::scripts\asm\dlc4_boss\dlc4_boss_asm::groundvulhurtnotehandler,undefined,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::choosegroundvulhurtanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_vul_finish",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::checkteleportdone,undefined);
lib_0A1A::func_2374("last_stand_death",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::death_note_handler,::scripts\asm\dlc4_boss\dlc4_boss_asm::fightending,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("fin",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("ground_vul_finish",::lib_0F3C::func_CEA8,undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::teleportendnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("last_stand_start",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("last_stand_loop",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("last_stand_loop",::scripts\asm\dlc4_boss\dlc4_boss_asm::playlaststandloop,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("last_stand_end",undefined,::scripts\asm\dlc4_boss\dlc4_boss_asm::shouldplaydeath,undefined);
lib_0A1A::func_2374("last_stand_end",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("last_stand_death",undefined,::scripts\asm\dlc4\dlc4_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_transfer",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ground_vul",undefined,::scripts\asm\dlc4\dlc4_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("fin",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_move_loop_to_move_arrival0(param_00,param_01,param_02,param_03)
{
return self.var_1198.movereadyforarrival;
}
//Function Number: 3
trans_move_exit_pass_to_move_fireball0(param_00,param_01,param_02,param_03)
{
return self.var_1198.strafeaction == "fireball";
}
//Function Number: 4
trans_move_exit_pass_to_move_clap1(param_00,param_01,param_02,param_03)
{
return self.var_1198.strafeaction == "clap";
}
//Function Number: 5
trans_move_back_loop_to_move_back_arrival0(param_00,param_01,param_02,param_03)
{
return self.var_1198.movereadyforarrival;
}

View File

@ -0,0 +1,297 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\elvira\elvira_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 20
* Decompile Time: 1124 ms
* Timestamp: 10/27/2023 12:01:45 AM
*******************************************************************/
//Function Number: 1
elvirainit(param_00,param_01,param_02,param_03)
{
self.var_FFEF = 1;
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
}
//Function Number: 2
isvalidaction(param_00)
{
switch(param_00)
{
case "cast_return_spell":
case "cast_reveal_spell":
case "cast_revive_spell":
case "cast_spell":
case "revive_player":
case "reload":
case "melee":
return 1;
}
return 0;
}
//Function Number: 3
setaction(param_00)
{
self.requested_action = param_00;
}
//Function Number: 4
clearaction()
{
self.requested_action = undefined;
}
//Function Number: 5
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 6
isrevivedone(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.reviveplayer))
{
return 1;
}
if(!scripts\common\utility::istrue(self.reviveplayer.inlaststand))
{
return 1;
}
return 0;
}
//Function Number: 7
dorevive(param_00,param_01)
{
self endon(param_00 + "_finished");
param_01 endon("disconnect");
var_02 = scripts\mp\agents\elvira\elvira_tunedata::gettunedata();
wait(var_02.revive_wait_time);
if(!isdefined(param_01.reviveent))
{
return;
}
param_01.reviveent notify("pg_trigger",self);
}
//Function Number: 8
playreviveanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(isdefined(self.reviveplayer))
{
thread lib_0C73::func_6A6A(param_01,self.reviveplayer);
thread dorevive(param_01,self.reviveplayer);
}
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 9
shouldabortaction(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btraversalteleport))
{
return 0;
}
if(!isdefined(self.requested_action))
{
return 1;
}
if(isdefined(param_03))
{
if(self.requested_action != param_03)
{
return 1;
}
}
return 0;
}
//Function Number: 10
shoulddoaction(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(isdefined(param_03) && param_03 != "")
{
if(self.requested_action == param_03)
{
return 1;
}
return 0;
}
if(self.requested_action == param_02)
{
return 1;
}
return 0;
}
//Function Number: 11
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 12
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 13
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233) || self method_841E() < scripts\mp\agents\elvira\elvira_tunedata::gettunedata().min_moving_pain_dist)
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,1);
return;
}
lib_0A1D::func_2364(param_01,param_02,param_03,var_04);
}
//Function Number: 14
choosereviveanim(param_00,param_01,param_02)
{
if(!isdefined(self.reviveanimindex))
{
self.reviveanimindex = lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
return self.reviveanimindex;
}
//Function Number: 15
faceplayer(param_00,param_01)
{
self endon(param_00 + "_finished");
for(;;)
{
if(isdefined(param_01))
{
self method_8289("face angle abs",(0,vectortoyaw(param_01.origin - self.origin),0));
}
else
{
break;
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 16
playcastspellanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
playfxontag(level._effect["vfx_spell_tornado"],self,"j_wrist_le");
self playsound("elvira_fire_spell_cast");
thread scripts\cp\maps\cp_town\cp_town_elvira::elvira_timely_torrent();
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 17
playrevealspellanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
playfxontag(level._effect["vfx_spell_anom"],self,"j_wrist_le");
self playsound("elvira_portal_spell_cast");
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 18
playteleportfx(param_00,param_01)
{
self endon(param_00 + "_finished");
wait(param_01);
playfx(level._effect["elvira_stand_smoke"],self.origin);
}
//Function Number: 19
terminate_traverseexternal(param_00,param_01,param_02)
{
self.earlytraversalteleportpos = undefined;
self.ishidden = undefined;
self.var_9CEC = undefined;
}
//Function Number: 20
dotraverseteleport(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
thread playteleportfx(param_01,0.75);
var_04 = undefined;
if(isdefined(self.earlytraversalteleportpos))
{
var_04 = self.earlytraversalteleportpos;
}
else
{
var_04 = self method_8146();
}
var_05 = vectornormalize(var_04 - self.origin * (1,1,0));
var_06 = vectortoangles(var_05);
self method_8289("face angle abs",var_06);
wait(0.9);
self hide();
self.ishidden = 1;
self setorigin(var_04,0);
playfx(level._effect["elvira_stand_smoke"],var_04);
wait(0.25);
self show();
self.ishidden = undefined;
self.var_9CEC = undefined;
self notify("traverse_end");
thread lib_0A1A::func_237C("exposed_idle",param_03);
}

View File

@ -0,0 +1,307 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\elvira\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 16
* Decompile Time: 891 ms
* Timestamp: 10/27/2023 12:01:43 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("elvira"))
{
return;
}
scripts\asm\shoot_dlc3\mp\states::func_2371();
lib_0A1A::func_230B("elvira","c6_start");
lib_0A1A::func_2374("enter_combat",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,["shoot_dlc3"],undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("noncombat_stand_idle",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"noncombat_stand_idle",undefined,undefined,undefined,undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_exit",undefined,::func_122DB,undefined);
lib_0A1A::func_2375("move_walk_loop",undefined,::lib_0A1A::func_BCE7,"walk");
lib_0A1A::func_2375("exposed_idle",undefined,::func_122E1,undefined);
lib_0A1A::func_2375("exit",undefined,::lib_0C38::func_FFF3,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("enter_combat",undefined,::func_122D7,undefined);
lib_0A1A::func_2374("c6_start",::scripts\asm\elvira\elvira_asm::elvirainit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",1);
lib_0A1A::func_2375("intro",undefined,::lib_0C38::func_FFEF,undefined);
lib_0A1A::func_2375("noncombat_stand_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("exposed_aimset",undefined,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("strafe_aimset",undefined,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("death_generic",::lib_0C34::func_CF0E,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("death_standing",::lib_0C34::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C34::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("death_crouching",::lib_0C34::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C34::func_3ECA,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("death_moving",::lib_0C34::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C34::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("death_cover",::lib_0C34::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C34::func_3EC6,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_stand",::lib_0C37::func_D4EE,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EEC,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("pain_run",::lib_0C37::func_D4EE,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EEB,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("pain_crouch",::lib_0C37::func_D4EE,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EE8,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_prone",::lib_0C37::func_D4EE,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_cover_right",::lib_0C37::func_CF04,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EE5,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_cover","cover_right",undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_cover_stand",::lib_0C37::func_CF04,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EE7,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_cover","cover_stand",undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_cover_crouch",::lib_0C37::func_CF04,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EE6,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_cover","cover_crouch",undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_cover_left",::lib_0C37::func_CF04,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EE5,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_cover","cover_left",undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_on_back",::lib_0C37::func_D4EE,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_cover_left_suppress",::lib_0C37::func_CF04,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EE5,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_cover","cover_left",undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("pain_cover_right_suppress",::lib_0C37::func_CF04,undefined,undefined,::lib_0C37::func_4109,undefined,::lib_0C37::func_3EE5,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_cover","cover_right",undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("exposed_reload",::lib_0C38::func_260,undefined,undefined,undefined,undefined,::scripts\asm\shared_utility::func_3EAA,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,"reload","face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_throw_grenade",::lib_0C39::func_CEC6,undefined,undefined,undefined,undefined,::lib_0C39::func_3EA8,undefined,undefined,undefined,undefined,undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,"throwgrenade","face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_weaponswitch",::lib_0C38::func_CECB,undefined,undefined,undefined,undefined,::scripts\asm\shared_utility::func_3EAC,undefined,undefined,undefined,undefined,undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_stand_turn",::lib_0C38::func_D56A,undefined,undefined,::lib_0C38::func_116FF,undefined,::lib_0C38::func_3F0A,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",0,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2375("exposed_idle",undefined,::lib_0A1A::func_68B0,"finish early");
lib_0A1A::func_2374("exposed_idle",::lib_0C38::func_D46D,undefined,undefined,undefined,undefined,::lib_0F3C::func_3EB3,"_aim_5",["aim"],undefined,["shoot_dlc3"],undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_throw_grenade",undefined,::func_12125,undefined);
lib_0A1A::func_2375("exposed_weaponswitch",undefined,::lib_0C38::func_100A9,undefined);
lib_0A1A::func_2375("exposed_stand_turn",undefined,::lib_0C38::func_BEA0,undefined);
lib_0A1A::func_2375("exposed_crouch_exit",undefined,::trans_exposed_idle_to_exposed_crouch_exit3,undefined);
lib_0A1A::func_2375("exposed_crouch_exit",undefined,::func_120FD,undefined);
lib_0A1A::func_2375("noncombat_stand_idle",undefined,::lib_0C38::func_10088,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("exposed_exit",undefined,::lib_0A1A::func_BCE7,"combat");
lib_0A1A::func_2375("exposed_reload",undefined,::func_12113,undefined);
lib_0A1A::func_2375("exposed_stand_to_crouch",undefined,::lib_0A1B::func_2949,"crouch");
lib_0A1A::func_2375("exposed_stand_to_prone",undefined,::lib_0A1B::func_2949,"prone");
lib_0A1A::func_2374("exposed_stand_to_prone",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_prone",0,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_prone",::lib_0C38::func_D46D,undefined,undefined,undefined,undefined,::lib_0F3C::func_3EAB,"_aim_5",undefined,"prone",undefined,undefined,"pain_prone",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_prone_to_stand",undefined,::lib_0A1B::func_2949,"stand");
lib_0A1A::func_2375("exposed_prone_to_stand",undefined,::lib_0A1A::func_BCE7,undefined);
lib_0A1A::func_2375("exposed_prone_to_crouch",undefined,::lib_0A1B::func_2949,"crouch");
lib_0A1A::func_2374("exposed_prone_to_stand",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",0,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_stand_to_crouch",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_crouch",0,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_crouch",::lib_0C38::func_D46D,undefined,undefined,undefined,undefined,::lib_0F3C::func_3EAB,"_aim_5",["aim"],"crouch",["shoot_dlc3"],undefined,"pain_crouch",undefined,"death_crouching",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_crouch_to_stand",undefined,::lib_0A1B::func_2949,"stand");
lib_0A1A::func_2375("exposed_crouch_to_stand",undefined,::lib_0A1A::func_BCE7,undefined);
lib_0A1A::func_2375("exposed_crouch_to_prone",undefined,::lib_0A1B::func_2949,"prone");
lib_0A1A::func_2375("exposed_crouch_turn",undefined,::lib_0C38::func_BEA0,undefined);
lib_0A1A::func_2375("exposed_reload_crouch",undefined,::func_120ED,undefined);
lib_0A1A::func_2374("exposed_crouch_to_stand",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_idle",0,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_prone_to_crouch",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_crouch",0,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_crouch_to_prone",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_prone",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_crouch_turn",::lib_0C38::func_D56A,undefined,undefined,undefined,undefined,::lib_0C38::func_3F0A,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_crouch",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2375("exposed_crouch",undefined,::lib_0A1A::func_68B0,"finish early");
lib_0A1A::func_2374("exposed_reload_crouch",::lib_0C38::func_260,undefined,undefined,undefined,undefined,::scripts\asm\shared_utility::func_3EAA,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,"reload","face current","anim deltas",undefined);
lib_0A1A::func_2375("exposed_crouch",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("step_up_24",::lib_0C3A::func_D566,24,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("iw6_jumpdown_40",::lib_0C3A::func_D566,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("step_down_24",::lib_0C3A::func_D566,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("combatrun_forward_72",::lib_0F3C::func_CEA8,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("wall_hop",::lib_0C3A::func_D55D,39.875,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jumpdown_130",::lib_0C3A::func_D566,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jumpdown_96",::lib_0C3A::func_D566,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("double_jump_temp",::lib_0C3A::func_D55E,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\elvira\elvira_asm::dotraverseteleport,undefined,undefined,::scripts\asm\elvira\elvira_asm::terminate_traverseexternal,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current",undefined,undefined);
lib_0A1A::func_2374("jump_down_fast",::lib_0C3A::playtraverseanim_gravity,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("wall_over_40",::lib_0C3A::func_D566,undefined,undefined,undefined,"stand_run_loop",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("cover_right_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Cover Right",undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("cover_right_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("exposed_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Exposed",undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("exposed_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("stand_run_loop",::lib_0F3C::func_D4DD,undefined,undefined,undefined,undefined,::lib_0F3C::func_3EB8,"run",["(none)"],"stand",undefined,undefined,"pain_run",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("cover_right_arrival",undefined,::lib_0F3A::func_1008A,"Cover Right");
lib_0A1A::func_2375("cover_left_arrival",undefined,::lib_0F3A::func_1008A,"Cover Left");
lib_0A1A::func_2375("exposed_arrival",undefined,::lib_0F3A::func_1008A,["Exposed",1]);
lib_0A1A::func_2375("cover_stand_arrival",undefined,::lib_0F3A::func_1008A,"Cover Stand");
lib_0A1A::func_2375("cover_crouch_arrival",undefined,::lib_0F3A::func_1008A,["Cover Crouch",1]);
lib_0A1A::func_2375("cover_left_crouch_arrival",undefined,::lib_0F3A::func_1008A,"Cover Left Crouch");
lib_0A1A::func_2375("cover_right_crouch_arrival",undefined,::lib_0F3A::func_1008A,"Cover Right Crouch");
lib_0A1A::func_2375("exposed_crouch_arrival",undefined,::lib_0F3A::func_1008A,["Exposed Crouch",1]);
lib_0A1A::func_2375("sprint_loop",undefined,::func_1257C,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::func_1255B,undefined);
lib_0A1A::func_2375("stand_run_strafe_loop",undefined,::lib_0F3C::func_100A3,"stand");
lib_0A1A::func_2375("stand_run_n_gun_loop",undefined,::lib_0C36::func_10070,undefined);
lib_0A1A::func_2375("stand_run_n_gun_backwards_loop",undefined,::lib_0C36::func_1006F,undefined);
lib_0A1A::func_2375("crouch_run_strafe_loop",undefined,::lib_0F3C::func_100A3,"crouch");
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_run",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("cover_left_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Cover Left",undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("cover_left_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("cover_crouch_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("cover_crouch_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Cover Crouch",undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("cover_stand_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("cover_stand_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Cover Stand",undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("stand_run_strafe_loop",::lib_0F3B::func_D4E5,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,["aim"],"stand",["shoot_dlc3"],undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","code_move",undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::func_12594,undefined);
lib_0A1A::func_2375("exposed_idle",undefined,::func_12595,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0F3C::func_FFB6,"stand");
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1B::func_2950,undefined);
lib_0A1A::func_2374("stand_run_n_gun_loop",::lib_0C36::func_D50D,undefined,undefined,::lib_0C36::func_11088,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,["shoot_dlc3"],undefined,"pain_run",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("stand_run_n_gun_backwards_loop",undefined,::lib_0C36::func_1006F,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("exposed_reload",undefined,::func_12591,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0C36::func_1009F,undefined);
lib_0A1A::func_2374("stand_run_n_gun_backwards_loop",::lib_0C36::func_D50E,undefined,undefined,::lib_0C36::func_11088,undefined,::lib_0F3C::func_3E96,"move_back",undefined,undefined,["shoot_dlc3"],undefined,"pain_run",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","code_move",undefined);
lib_0A1A::func_2375("stand_run_n_gun_loop",undefined,::lib_0C36::func_10070,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0C36::func_1009E,undefined);
lib_0A1A::func_2374("cover_left_crouch_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("cover_right_crouch_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("cover_left_crouch_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Cover Left Crouch",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("cover_right_crouch_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Cover Right Crouch",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("exposed_crouch_arrival",::lib_0F3A::func_CEAA,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,"Exposed Crouch",undefined,undefined,undefined,undefined,undefined,undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("exposed_crouch",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exposed_crouch_exit",::lib_0F3B::func_CEB5,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("sprint_loop",::lib_0F3C::func_D4DD,undefined,undefined,undefined,undefined,::lib_0C36::func_3EFF,undefined,undefined,undefined,undefined,undefined,"pain_run",undefined,"death_generic",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::func_12511,undefined);
lib_0A1A::func_2374("crouch_run_strafe_loop",::lib_0F3B::func_D4E5,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,["aim"],"stand",["shoot_dlc3"],undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","code_move",undefined);
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0F3C::func_FFB6,"crouch");
lib_0A1A::func_2375("stand_run_loop",undefined,::lib_0A1B::func_2950,undefined);
lib_0A1A::func_2374("move_walk_loop",::lib_0F3C::func_D4DD,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_stand",undefined,"death_generic",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("noncombat_stand_idle",undefined,::func_122B0,undefined);
lib_0A1A::func_2374("intro",::lib_0C38::func_D4B2,undefined,undefined,::lib_0C38::func_116EC,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("noncombat_stand_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("exit",::lib_0C38::func_D4EC,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("revive_player",undefined,::scripts\asm\elvira\elvira_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("reload",undefined,::scripts\asm\elvira\elvira_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("melee",undefined,::scripts\asm\elvira\elvira_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("cast_reveal_spell",undefined,::scripts\asm\elvira\elvira_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("cast_return_spell",undefined,::scripts\asm\elvira\elvira_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("cast_spell",undefined,::scripts\asm\elvira\elvira_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("revive_player",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("revive_player_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("revive_player_intro",::scripts\asm\elvira\elvira_asm::playreviveanim,undefined,undefined,undefined,undefined,::scripts\asm\elvira\elvira_asm::choosereviveanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\elvira\elvira_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("noncombat_stand_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("reload",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("exposed_reload",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("melee",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("melee_stand_to_ready",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("melee_stand_to_ready",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("melee_attack",undefined,::scripts\asm\elvira\elvira_asm::isanimdone,undefined);
lib_0A1A::func_2374("melee_attack",::lib_0C35::func_D4D7,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,"melee_attack","face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\elvira\elvira_asm::isanimdone,undefined);
lib_0A1A::func_2374("cast_reveal_spell",::scripts\asm\elvira\elvira_asm::playrevealspellanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\elvira\elvira_asm::isanimdone,undefined);
lib_0A1A::func_2374("cast_return_spell",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\elvira\elvira_asm::isanimdone,undefined);
lib_0A1A::func_2374("cast_spell",::scripts\asm\elvira\elvira_asm::playcastspellanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\elvira\elvira_asm::isanimdone,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
func_122DB(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
func_122E1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2941();
}
//Function Number: 4
func_122D7(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2941();
}
//Function Number: 5
func_12125(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_298A();
}
//Function Number: 6
trans_exposed_idle_to_exposed_crouch_exit3(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955() && self.var_1198.var_BD23 == "combat" && lib_0F3C::func_138E2();
}
//Function Number: 7
func_120FD(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.var_2BDF) && self.var_1198.var_2BDF && lib_0F3C::func_138E2();
}
//Function Number: 8
func_12113(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2959();
}
//Function Number: 9
func_120ED(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2959();
}
//Function Number: 10
func_1257C(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("sprint");
}
//Function Number: 11
func_1255B(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 12
func_12594(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 13
func_12595(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2959();
}
//Function Number: 14
func_12591(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2959();
}
//Function Number: 15
func_12511(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2956("sprint");
}
//Function Number: 16
func_122B0(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}

View File

@ -0,0 +1,580 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\karatemaster\karatemaster_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 32
* Decompile Time: 1707 ms
* Timestamp: 10/27/2023 12:01:48 AM
*******************************************************************/
//Function Number: 1
setupmeleeanimdistances(param_00)
{
if(isdefined(level.karatemastermeleedist))
{
return;
}
level.karatemastermeleedist = [];
setupmeleedistances(param_00,"slow_walk_melee");
setupmeleedistances(param_00,"walk_melee");
setupmeleedistances(param_00,"run_melee");
setupmeleedistances(param_00,"sprint_melee");
setupmeleedistances(param_00,"stand_melee");
}
//Function Number: 2
getfirstattacknotetracktime(param_00)
{
var_01 = 99999;
var_02 = getnotetracktimes(param_00,"r_kick");
if(var_02.size > 0)
{
var_01 = var_02[var_02.size - 1];
}
var_02 = getnotetracktimes(param_00,"l_kick");
if(var_02.size > 0 && var_02[0] < var_01)
{
var_01 = var_02[var_02.size - 1];
}
var_02 = getnotetracktimes(param_00,"r_punch");
if(var_02.size > 0 && var_02[0] < var_01)
{
var_01 = var_02[0];
}
var_02 = getnotetracktimes(param_00,"l_punch");
if(var_02.size > 0 && var_02[0] < var_01)
{
var_01 = var_02[0];
}
if(var_01 > 999)
{
return undefined;
}
return var_01;
}
//Function Number: 3
distcompare(param_00,param_01)
{
return param_00 < param_01;
}
//Function Number: 4
setupmeleedistances(param_00,param_01)
{
var_02 = self method_8100(param_01);
for(var_03 = 0;var_03 < var_02;var_03++)
{
var_04 = self method_80FD(param_01,var_03);
var_05 = getfirstattacknotetracktime(var_04);
var_06 = getmovedelta(var_04,0,var_05);
var_07 = length(var_06);
level.karatemastermeleedist[param_01][var_03] = var_07;
var_08 = getanimlength(var_04);
var_09 = var_05 * var_08;
level.karatemastermeleetimetoimpact[param_01][var_03] = var_09;
}
level.karatemastermeleedist[param_01] = scripts\common\utility::func_22C3(level.karatemastermeleedist[param_01],::distcompare);
}
//Function Number: 5
karatemasterinit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
lib_0A1B::func_2968("run");
self.var_55B0 = 1;
setupmeleeanimdistances(param_00);
self.desiredmovemeleeindex = [];
}
//Function Number: 6
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 1;
}
//Function Number: 7
playanimandlookatenemy(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\karatemaster\karatemaster_agent::getenemy());
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1);
}
//Function Number: 8
faceenemyhelper(param_00,param_01,param_02)
{
if(isdefined(param_02))
{
self endon(param_02 + "_finished");
}
var_03 = gettime() + param_01;
while(gettime() <= var_03 && isdefined(param_00) && isalive(param_00))
{
var_04 = param_00.origin - self.origin;
if(length2dsquared(var_04) > 1024)
{
var_05 = vectortoyaw(var_04);
self method_8289("face angle abs",(0,var_05,0));
}
wait(0.05);
}
self method_8289("face angle abs",self.angles);
}
//Function Number: 9
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 10
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 11
func_BEA0(param_00,param_01,param_02,param_03)
{
var_04 = undefined;
var_05 = scripts\mp\agents\karatemaster\karatemaster_agent::getenemy();
if(isdefined(self.var_1198.var_FECD) && isdefined(self.var_1198.var_FECD.var_65D3))
{
var_04 = self.var_1198.var_FECD.var_65D3.origin;
}
else if(isdefined(self.var_1198.var_FECD) && isdefined(self.var_1198.var_FECD.var_D699))
{
var_04 = self.var_1198.var_FECD.var_D699;
}
else if(isdefined(var_05))
{
var_04 = var_05.origin;
}
if(!isdefined(var_04))
{
return 0;
}
var_06 = self.angles[1] - vectortoyaw(var_04 - self.origin);
var_07 = distancesquared(self.origin,var_04);
if(var_07 < 65536)
{
var_08 = sqrt(var_07);
if(var_08 > 3)
{
var_06 = var_06 + asin(-3 / var_08);
}
}
if(abs(angleclamp180(var_06)) > self.var_129AF)
{
return 1;
}
return 0;
}
//Function Number: 12
func_81DE()
{
var_00 = 0.25;
var_01 = undefined;
var_02 = undefined;
if(isdefined(self.var_1198.var_FECD))
{
if(isdefined(self.var_1198.var_FECD.var_65D3))
{
var_01 = self.var_1198.var_FECD.var_65D3;
}
else if(isdefined(self.var_1198.var_FECD.var_D699))
{
var_02 = self.var_1198.var_FECD.var_D699;
}
}
var_03 = scripts\mp\agents\karatemaster\karatemaster_agent::getenemy();
if(isdefined(var_03))
{
if(!isdefined(var_01) && !isdefined(var_02))
{
var_01 = var_03;
}
}
if(isdefined(var_01) && !issentient(var_01))
{
var_00 = 1.5;
}
var_04 = scripts\common\utility::func_8094(var_00,var_01,var_02);
return var_04;
}
//Function Number: 13
func_3F0A(param_00,param_01,param_02)
{
var_03 = func_81DE();
if(var_03 < 0)
{
var_04 = "right";
}
else
{
var_04 = "left";
}
var_03 = abs(var_03);
var_05 = 0;
if(var_03 > 157.5)
{
var_05 = 180;
}
else if(var_03 > 112.5)
{
var_05 = 135;
}
else if(var_03 > 67.5)
{
var_05 = 90;
}
else
{
var_05 = 45;
}
var_06 = var_04 + "_" + var_05;
var_07 = lib_0A1A::func_2358(param_01,var_06);
var_08 = self method_8101(param_01,var_07);
return var_07;
}
//Function Number: 14
func_D56A(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self.var_233;
self method_8289("face angle abs",self.angles);
self method_8281("anim deltas");
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
if(!isdefined(var_05) && isdefined(self.var_233))
{
self method_841F();
}
lib_0A1D::func_237F("face current");
lib_0A1D::func_237E("code_move");
}
//Function Number: 15
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 16
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233))
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,1);
return;
}
lib_0A1D::func_2364(param_01,param_02,param_03,var_04);
}
//Function Number: 17
shoulddomelee(param_00,param_01,param_02,param_03)
{
if(!scripts\common\utility::istrue(self.var_1198.bmeleerequested))
{
return 0;
}
if(!isdefined(self.var_1198.meleetype))
{
return 0;
}
if(self.var_1198.meleetype == param_02)
{
return 1;
}
return 0;
}
//Function Number: 18
playanim_melee(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,self.var_1198.var_B64D);
var_04 = lib_0A1D::func_2337(param_00,param_01);
self method_85C9(16);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
}
//Function Number: 19
terminate_melee(param_00,param_01,param_02)
{
self method_85C9(0);
}
//Function Number: 20
choosestandmeleeanim(param_00,param_01,param_02)
{
return choosemovingmeleeanim(param_00,param_01,param_02);
}
//Function Number: 21
choosemovingmeleeanim(param_00,param_01,param_02)
{
var_03 = self method_8100(param_01);
var_04 = self method_80FD(param_01,self.desiredmovemeleeindex[param_01]);
return self.desiredmovemeleeindex[param_01];
}
//Function Number: 22
choosemeleeanim(param_00,param_01,param_02)
{
if(self.var_2303.var_7257.var_7254 == "left")
{
return lib_0A1A::func_2358(param_01,"left");
}
return lib_0A1A::func_2358(param_01,"right");
}
//Function Number: 23
teleportrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bteleportrequested);
}
//Function Number: 24
playanim_teleportin(param_00,param_01,param_02,param_03)
{
var_04 = 1;
if(scripts\common\utility::istrue(self.var_1198.bfastteleport))
{
var_04 = 3;
}
playanimwithplaybackrate(param_00,param_01,param_02,var_04);
}
//Function Number: 25
playanim_teleportout(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\karatemaster\karatemaster_agent::getenemy());
var_04 = 1;
if(scripts\common\utility::istrue(self.var_1198.bfastteleport))
{
var_04 = 1.5;
}
playanimwithplaybackrate(param_00,param_01,param_02,var_04);
if(scripts\common\utility::istrue(self.btraversalteleport))
{
self.var_9CEC = undefined;
self.btraversalteleport = undefined;
self notify("traverse_end");
lib_0A1A::func_237C("decide_idle",param_03);
}
}
//Function Number: 26
terminate_teleport(param_00,param_01,param_02)
{
if(!isanimdone(param_00,param_01,undefined,param_02))
{
self show();
self.ishidden = undefined;
}
}
//Function Number: 27
teleportnotehandler(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "teleport_in":
thread doteleportin(param_01);
break;
case "teleport_out":
thread doteleportout(param_01);
break;
}
}
//Function Number: 28
playspawnin(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self setscriptablepartstate("teleport","tele_out");
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
wait(0.1);
self setscriptablepartstate("teleport","neutral");
}
//Function Number: 29
doteleportin(param_00)
{
self endon(param_00 + "_finished");
self setscriptablepartstate("teleport","tele_in");
wait(0.1);
self hide();
self.ishidden = 1;
self setscriptablepartstate("teleport","neutral");
}
//Function Number: 30
doteleportout(param_00)
{
self endon(param_00 + "_finished");
var_01 = scripts\mp\agents\karatemaster\karatemaster_agent::getenemy();
var_02 = self.var_1198.teleportspot;
self dontinterpolate();
self setorigin(var_02);
if(isdefined(var_01))
{
self.angles = (0,vectortoyaw(var_01.origin - self.origin),0);
}
wait(0.1);
self show();
self.ishidden = undefined;
self setscriptablepartstate("teleport","tele_out");
wait(0.1);
self setscriptablepartstate("teleport","neutral");
}
//Function Number: 31
meleenotehandler(param_00,param_01,param_02,param_03)
{
var_04 = undefined;
var_05 = undefined;
var_06 = scripts\mp\agents\karatemaster\karatemaster_tunedata::gettunedata();
if(param_00 == "r_kick")
{
var_04 = var_06.ckickmeleedamage;
var_05 = self gettagorigin("j_ankle_ri");
self method_8282(1,1);
}
else if(param_00 == "l_kick")
{
var_04 = var_06.ckickmeleedamage;
var_05 = self gettagorigin("j_ankle_le");
self method_8282(1,1);
}
else if(param_00 == "r_punch")
{
var_04 = var_06.cpunchmeleedamage;
var_05 = self gettagorigin("j_wrist_ri");
self method_8282(1,1);
}
else if(param_00 == "l_punch")
{
var_04 = var_06.cpunchmeleedamage;
var_05 = self gettagorigin("j_wrist_le");
self method_8282(1,1);
}
else if(param_00 == "flex_start")
{
var_07 = scripts\mp\agents\karatemaster\karatemaster_agent::getenemy();
if(isdefined(var_07))
{
var_08 = self method_80FD(param_01,param_02);
var_09 = getfirstattacknotetracktime(var_08);
if(var_09 > param_03)
{
var_0A = getmovedelta(var_08,param_03,var_09);
var_0B = length2d(var_0A);
var_0C = getanimlength(var_08);
var_0D = var_09 * var_0C - param_03 * var_0C;
var_0E = var_07 getvelocity();
var_0F = var_07.origin + var_0E * var_0D;
var_10 = distance(var_0F,self.origin);
var_11 = 1;
if(var_10 > var_0B && var_0B > 0)
{
var_11 = var_10 / var_0B;
if(var_11 > var_06.cmaxmeleeflexscale)
{
var_11 = var_06.cmaxmeleeflexscale;
}
}
self method_8282(var_11,1);
}
}
}
if(isdefined(var_04))
{
var_07 = scripts\mp\agents\karatemaster\karatemaster_agent::getenemy();
if(isdefined(var_07))
{
var_12 = distance2dsquared(var_07.origin,self.origin);
var_13 = distance2dsquared(var_05,var_07.origin);
if(var_13 < var_06.cpunchandkickmeleeradiussq || var_12 < var_06.cpunchandkickmeleeradiussq)
{
self notify("attack_hit",var_07);
lib_0C73::func_5904(var_07,var_04,"MOD_IMPACT");
return;
}
self notify("attack_miss",var_07);
return;
}
}
}
//Function Number: 32
ontraversalteleport(param_00,param_01,param_02,param_03)
{
self.var_1198.teleportspot = self method_8146();
self.btraversalteleport = 1;
return 1;
}

View File

@ -0,0 +1,263 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\karatemaster\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 18
* Decompile Time: 1083 ms
* Timestamp: 10/27/2023 12:01:46 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("karatemaster"))
{
return;
}
lib_0A1A::func_230B("karatemaster","karatemaster_start");
lib_0A1A::func_2374("karatemaster_start",::scripts\asm\karatemaster\karatemaster_asm::karatemasterinit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\karatemaster\karatemaster_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_idle_to_choose_movetype0,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::scripts\asm\karatemaster\karatemaster_asm::playspawnin,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::teleportrequested,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("stand_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosestandmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_sprint",undefined,::trans_choose_movetype_to_idle_exit_sprint0,undefined);
lib_0A1A::func_2375("idle_exit_walk",undefined,::trans_choose_movetype_to_idle_exit_walk1,undefined);
lib_0A1A::func_2375("idle_exit_run",undefined,::trans_choose_movetype_to_idle_exit_run2,undefined);
lib_0A1A::func_2375("idle_exit_slow_walk",undefined,::trans_choose_movetype_to_idle_exit_slow_walk3,undefined);
lib_0A1A::func_2374("idle_exit_walk",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2374("pass_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_loop",undefined,::trans_pass_walk_in_to_walk_loop1,undefined);
lib_0A1A::func_2374("walk_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("walk_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("walk_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_walk_out_to_move_done4,undefined);
lib_0A1A::func_2374("walk_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("idle_exit_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"finished");
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::trans_pass_run_in_to_run_loop1,undefined);
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("run_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_run_out_to_move_done2,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("sprint_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("sprint_loop",::lib_0C75::func_D4E3,"sprint",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("sprint_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("idle_exit_sprint",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"finished");
lib_0A1A::func_2374("pass_sprint_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::trans_pass_sprint_in_to_sprint_loop1,undefined);
lib_0A1A::func_2374("pass_sprint_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_sprint_out_to_move_done0,undefined);
lib_0A1A::func_2375("sprint_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("sprint_turn",undefined,::lib_0F3B::func_FFF8,"sprint_turn");
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("slow_walk_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("pass_slow_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_slow_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("slow_walk_loop",undefined,::trans_pass_slow_walk_in_to_slow_walk_loop1,undefined);
lib_0A1A::func_2374("slow_walk_loop",::lib_0C75::func_D4E3,"sprint",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_slow_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("slow_walk_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("pass_slow_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("slow_walk_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("slow_walk_turn",undefined,::lib_0F3B::func_FFF8,"slow_walk_turn");
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_slow_walk_out_to_move_done3,undefined);
lib_0A1A::func_2374("idle_exit_slow_walk",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"finished");
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\karatemaster\karatemaster_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\karatemaster\karatemaster_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("walk_loop",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("jump_up_128_over_40",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::ontraversalteleport,undefined);
lib_0A1A::func_2374("teleport_in",::scripts\asm\karatemaster\karatemaster_asm::playanim_teleportin,undefined,::scripts\asm\karatemaster\karatemaster_asm::teleportnotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_teleport,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("teleport_out",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("walk_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("run_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("sprint_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("slow_walk_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_melee",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("sprint_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("run_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("walk_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("slow_walk_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2374("teleport_out",::scripts\asm\karatemaster\karatemaster_asm::playanim_teleportout,undefined,::scripts\asm\karatemaster\karatemaster_asm::teleportnotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_teleport,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,"teleport_anim","face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("death_normal",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::scripts\asm\zombie_dlc2\zombie_dlc2::choosestandingdeathanim_dlc,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving_normal",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_generic",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("death_normal",undefined,::trans_death_generic_to_death_normal0,undefined);
lib_0A1A::func_2375("death_kungfu",undefined,::trans_death_generic_to_death_kungfu1,undefined);
lib_0A1A::func_2375("death_normal",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_moving",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("death_moving_normal",undefined,::trans_death_moving_to_death_moving_normal0,undefined);
lib_0A1A::func_2375("death_kungfu",undefined,::trans_death_moving_to_death_kungfu1,undefined);
lib_0A1A::func_2375("death_moving_normal",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_kungfu",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_idle_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_choose_movetype_to_idle_exit_sprint0(param_00,param_01,param_02,param_03)
{
return lib_0C75::func_BE9A();
}
//Function Number: 4
trans_choose_movetype_to_idle_exit_walk1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("walk");
}
//Function Number: 5
trans_choose_movetype_to_idle_exit_run2(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("run");
}
//Function Number: 6
trans_choose_movetype_to_idle_exit_slow_walk3(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("slow_walk");
}
//Function Number: 7
trans_pass_walk_in_to_walk_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 8
trans_pass_walk_out_to_move_done4(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 9
trans_pass_run_in_to_run_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 10
trans_pass_run_out_to_move_done2(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 11
trans_pass_sprint_in_to_sprint_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 12
trans_pass_sprint_out_to_move_done0(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 13
trans_pass_slow_walk_in_to_slow_walk_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 14
trans_pass_slow_walk_out_to_move_done3(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 15
trans_death_generic_to_death_normal0(param_00,param_01,param_02,param_03)
{
return self.agent_type == "skater";
}
//Function Number: 16
trans_death_generic_to_death_kungfu1(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.kung_fu_punched);
}
//Function Number: 17
trans_death_moving_to_death_moving_normal0(param_00,param_01,param_02,param_03)
{
return self.agent_type == "skater";
}
//Function Number: 18
trans_death_moving_to_death_kungfu1(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.kung_fu_punched);
}

View File

@ -0,0 +1,263 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\karatemaster_dlc4\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 18
* Decompile Time: 1066 ms
* Timestamp: 10/27/2023 12:01:49 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("karatemaster_dlc4"))
{
return;
}
lib_0A1A::func_230B("karatemaster_dlc4","karatemaster_start");
lib_0A1A::func_2374("karatemaster_start",::scripts\asm\karatemaster\karatemaster_asm::karatemasterinit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\karatemaster\karatemaster_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_idle_to_choose_movetype0,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::scripts\asm\karatemaster\karatemaster_asm::playspawnin,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::teleportrequested,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("stand_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosestandmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_sprint",undefined,::trans_choose_movetype_to_idle_exit_sprint0,undefined);
lib_0A1A::func_2375("idle_exit_walk",undefined,::trans_choose_movetype_to_idle_exit_walk1,undefined);
lib_0A1A::func_2375("idle_exit_run",undefined,::trans_choose_movetype_to_idle_exit_run2,undefined);
lib_0A1A::func_2375("idle_exit_slow_walk",undefined,::trans_choose_movetype_to_idle_exit_slow_walk3,undefined);
lib_0A1A::func_2374("idle_exit_walk",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2374("pass_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_loop",undefined,::trans_pass_walk_in_to_walk_loop1,undefined);
lib_0A1A::func_2374("walk_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("walk_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("walk_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_walk_out_to_move_done4,undefined);
lib_0A1A::func_2374("walk_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("idle_exit_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"finished");
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::trans_pass_run_in_to_run_loop1,undefined);
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("run_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_run_out_to_move_done2,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("sprint_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("sprint_loop",::lib_0C75::func_D4E3,"sprint",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("sprint_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("idle_exit_sprint",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"finished");
lib_0A1A::func_2374("pass_sprint_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::trans_pass_sprint_in_to_sprint_loop1,undefined);
lib_0A1A::func_2374("pass_sprint_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_sprint_out_to_move_done0,undefined);
lib_0A1A::func_2375("sprint_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("sprint_turn",undefined,::lib_0F3B::func_FFF8,"sprint_turn");
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("slow_walk_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("pass_slow_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_slow_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("slow_walk_loop",undefined,::trans_pass_slow_walk_in_to_slow_walk_loop1,undefined);
lib_0A1A::func_2374("slow_walk_loop",::lib_0C75::func_D4E3,"sprint",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_slow_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("slow_walk_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("pass_slow_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("slow_walk_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("slow_walk_turn",undefined,::lib_0F3B::func_FFF8,"slow_walk_turn");
lib_0A1A::func_2375("check_melee",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("move_done",undefined,::trans_pass_slow_walk_out_to_move_done3,undefined);
lib_0A1A::func_2374("idle_exit_slow_walk",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::lib_0A1A::func_68B0,"finished");
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\karatemaster\karatemaster_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\karatemaster\karatemaster_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("walk_loop",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("jump_up_128_over_40",::scripts\asm\zombie_dlc4\zombie_dlc4::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128",::scripts\asm\zombie_dlc4\zombie_dlc4::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128",::scripts\asm\zombie_dlc4\zombie_dlc4::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::ontraversalteleport,undefined);
lib_0A1A::func_2374("teleport_in",::scripts\asm\karatemaster\karatemaster_asm::playanim_teleportin,undefined,::scripts\asm\karatemaster\karatemaster_asm::teleportnotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_teleport,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("teleport_out",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("walk_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("run_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("sprint_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("slow_walk_melee",::scripts\asm\karatemaster\karatemaster_asm::playanim_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::meleenotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_melee,undefined,::scripts\asm\karatemaster\karatemaster_asm::choosemovingmeleeanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,"melee_anim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("pass_slow_walk_in",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_melee",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("stand_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("sprint_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("run_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("walk_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2375("slow_walk_melee",undefined,::scripts\asm\karatemaster\karatemaster_asm::shoulddomelee,undefined);
lib_0A1A::func_2374("teleport_out",::scripts\asm\karatemaster\karatemaster_asm::playanim_teleportout,undefined,::scripts\asm\karatemaster\karatemaster_asm::teleportnotehandler,::scripts\asm\karatemaster\karatemaster_asm::terminate_teleport,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,"teleport_anim","face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\karatemaster\karatemaster_asm::isanimdone,undefined);
lib_0A1A::func_2374("death_normal",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::scripts\asm\zombie_dlc4\zombie_dlc4::choosestandingdeathanim_dlc,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving_normal",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_generic",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("death_normal",undefined,::trans_death_generic_to_death_normal0,undefined);
lib_0A1A::func_2375("death_kungfu",undefined,::trans_death_generic_to_death_kungfu1,undefined);
lib_0A1A::func_2375("death_normal",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_moving",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("death_moving_normal",undefined,::trans_death_moving_to_death_moving_normal0,undefined);
lib_0A1A::func_2375("death_kungfu",undefined,::trans_death_moving_to_death_kungfu1,undefined);
lib_0A1A::func_2375("death_moving_normal",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_kungfu",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_idle_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_choose_movetype_to_idle_exit_sprint0(param_00,param_01,param_02,param_03)
{
return lib_0C75::func_BE9A();
}
//Function Number: 4
trans_choose_movetype_to_idle_exit_walk1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("walk");
}
//Function Number: 5
trans_choose_movetype_to_idle_exit_run2(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("run");
}
//Function Number: 6
trans_choose_movetype_to_idle_exit_slow_walk3(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("slow_walk");
}
//Function Number: 7
trans_pass_walk_in_to_walk_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 8
trans_pass_walk_out_to_move_done4(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 9
trans_pass_run_in_to_run_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 10
trans_pass_run_out_to_move_done2(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 11
trans_pass_sprint_in_to_sprint_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 12
trans_pass_sprint_out_to_move_done0(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 13
trans_pass_slow_walk_in_to_slow_walk_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 14
trans_pass_slow_walk_out_to_move_done3(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 15
trans_death_generic_to_death_normal0(param_00,param_01,param_02,param_03)
{
return self.agent_type == "skater";
}
//Function Number: 16
trans_death_generic_to_death_kungfu1(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.kung_fu_punched);
}
//Function Number: 17
trans_death_moving_to_death_moving_normal0(param_00,param_01,param_02,param_03)
{
return self.agent_type == "skater";
}
//Function Number: 18
trans_death_moving_to_death_kungfu1(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.kung_fu_punched);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,269 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\pamgrier\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 18
* Decompile Time: 1112 ms
* Timestamp: 10/27/2023 12:02:00 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("pamgrier"))
{
return;
}
lib_0A1A::func_230B("pamgrier","pamgrier_start");
lib_0A1A::func_2374("pamgrier_start",::scripts\asm\pamgrier\pamgrier_asm::pamgrierinit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\pamgrier\pamgrier_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_B050,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_move",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("idle_turn",undefined,::scripts\asm\pamgrier\pamgrier_asm::func_BEA0,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("chill_idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::ispamchillin,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("revive_player",undefined,::scripts\asm\pamgrier\pamgrier_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("melee_attack",undefined,::scripts\asm\pamgrier\pamgrier_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\pamgrier\pamgrier_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("melee_attack",::scripts\asm\pamgrier\pamgrier_asm::playmeleeattack,undefined,::scripts\asm\pamgrier\pamgrier_asm::meleenotehandler,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::choosemeleeattack,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_idle_exit",undefined,::trans_check_move_to_check_idle_exit0,undefined);
lib_0A1A::func_2374("idle_exit_walk",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_loop",undefined,::trans_pass_walk_in_to_walk_loop1,undefined);
lib_0A1A::func_2374("walk_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("walk_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_pass_walk_out_to_choose_movetype0,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("walk_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_walk_out_to_move_done4,undefined);
lib_0A1A::func_2374("walk_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_in",undefined,::trans_choose_movetype_to_pass_walk_in0,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::trans_choose_movetype_to_pass_run_in1,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::trans_choose_movetype_to_pass_sprint_in2,undefined);
lib_0A1A::func_2374("idle_exit_sprint",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("idle_exit_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2374("check_idle_exit",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_walk",undefined,::trans_check_idle_exit_to_idle_exit_walk0,undefined);
lib_0A1A::func_2375("idle_exit_run",undefined,::trans_check_idle_exit_to_idle_exit_run1,undefined);
lib_0A1A::func_2375("idle_exit_sprint",undefined,::trans_check_idle_exit_to_idle_exit_sprint2,undefined);
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::trans_pass_run_in_to_run_loop1,undefined);
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_pass_run_out_to_choose_movetype0,undefined);
lib_0A1A::func_2375("run_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_run_out_to_move_done3,undefined);
lib_0A1A::func_2374("pass_sprint_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("sprint_loop",undefined,::trans_pass_sprint_in_to_sprint_loop1,undefined);
lib_0A1A::func_2374("sprint_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_sprint_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("sprint_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2374("pass_sprint_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("choose_movetype",undefined,::trans_pass_sprint_out_to_choose_movetype0,undefined);
lib_0A1A::func_2375("sprint_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("sprint_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_sprint_out_to_move_done3,undefined);
lib_0A1A::func_2374("sprint_turn",::lib_0F3B::func_D514,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_sprint_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\pamgrier\pamgrier_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("walk_loop",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("chill_idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::ispamchillin,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("melee_attack",undefined,::scripts\asm\pamgrier\pamgrier_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("jump_across_196",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56_over_40",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_over_30_out_30_down_48",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_over_30_out_30_down_48",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_56",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40_out_30",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40_out_30",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_across_196_norestart",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40_norestart",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56_over_40_norestart",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_over_30_out_30_down_48_norestart",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_over_30_out_30_down_48",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128_norestart",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_56_norestart",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40_out_30_norestart",::scripts\asm\zombie_dlc2\zombie_dlc2::playtraverseanimz_dlc,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40_out_30",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("chill_idle",::scripts\asm\pamgrier\pamgrier_asm::playchillinanim,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::choosechillinidle,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::ispamdonechillin,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("chill_passive_transition",undefined,::scripts\asm\pamgrier\pamgrier_asm::needschilltransition,undefined);
lib_0A1A::func_2375("chill_twitch",undefined,::scripts\asm\pamgrier\pamgrier_asm::shouldplaychilltwitch,undefined);
lib_0A1A::func_2374("teleport",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_turn",undefined,::scripts\asm\pamgrier\pamgrier_asm::func_BEA0,undefined);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("teleport_in",::scripts\asm\pamgrier\pamgrier_asm::playteleportin,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::chooseteleportinanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("teleport_out",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("teleport_out",::scripts\asm\pamgrier\pamgrier_asm::playteleportout,undefined,::scripts\asm\pamgrier\pamgrier_asm::meleenotehandler,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::chooseteleportoutanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("teleport_done",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("revive_player_loop",::scripts\asm\pamgrier\pamgrier_asm::playreviveanim,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::choosereviveanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("revive_player_outro",undefined,::scripts\asm\pamgrier\pamgrier_asm::isrevivedone,undefined);
lib_0A1A::func_2374("teleport_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("revive_player_loop",undefined,::trans_teleport_done_to_revive_player_loop0,undefined);
lib_0A1A::func_2375("chill_idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::ispamchillin,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("revive_player",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("revive_player_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("revive_player_intro",::scripts\asm\pamgrier\pamgrier_asm::playreviveanim,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::choosereviveanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("revive_player_loop",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("revive_player_outro",::scripts\asm\pamgrier\pamgrier_asm::playreviveanim,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::choosereviveanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("idle_turn",::scripts\asm\pamgrier\pamgrier_asm::func_D56A,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::func_3F0A,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("idle_turn_done",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("idle_turn_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\pamgrier\pamgrier_asm::shoulddoaction,"teleport");
lib_0A1A::func_2374("chill_passive_transition",::scripts\asm\pamgrier\pamgrier_asm::playchillpassivetransition,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("chill_idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2374("chill_twitch",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\pamgrier\pamgrier_asm::choosechillinidle,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("chill_idle",undefined,::scripts\asm\pamgrier\pamgrier_asm::isanimdone,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_check_move_to_check_idle_exit0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_pass_walk_in_to_walk_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 4
trans_pass_walk_out_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0C75::func_BCCD();
}
//Function Number: 5
trans_pass_walk_out_to_move_done4(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 6
trans_choose_movetype_to_pass_walk_in0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("walk");
}
//Function Number: 7
trans_choose_movetype_to_pass_run_in1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("run");
}
//Function Number: 8
trans_choose_movetype_to_pass_sprint_in2(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("sprint");
}
//Function Number: 9
trans_check_idle_exit_to_idle_exit_walk0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("walk");
}
//Function Number: 10
trans_check_idle_exit_to_idle_exit_run1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("run");
}
//Function Number: 11
trans_check_idle_exit_to_idle_exit_sprint2(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("sprint");
}
//Function Number: 12
trans_pass_run_in_to_run_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 13
trans_pass_run_out_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0C75::func_BCCD();
}
//Function Number: 14
trans_pass_run_out_to_move_done3(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 15
trans_pass_sprint_in_to_sprint_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 16
trans_pass_sprint_out_to_choose_movetype0(param_00,param_01,param_02,param_03)
{
return lib_0C75::func_BCCD();
}
//Function Number: 17
trans_pass_sprint_out_to_move_done3(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 18
trans_teleport_done_to_revive_player_loop0(param_00,param_01,param_02,param_03)
{
return isdefined(self.teleporttype) && self.teleporttype == "revive_player";
}

View File

@ -0,0 +1,752 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\pamgrier\pamgrier_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 42
* Decompile Time: 2421 ms
* Timestamp: 10/27/2023 12:02:03 AM
*******************************************************************/
//Function Number: 1
pamgrierinit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
var_04 = self method_80FE("teleport_out","revive_player");
}
//Function Number: 2
isvalidaction(param_00)
{
switch(param_00)
{
case "teleport":
case "melee_attack":
case "revive_player":
return 1;
}
return 0;
}
//Function Number: 3
setaction(param_00)
{
self.requested_action = param_00;
}
//Function Number: 4
clearaction()
{
self.requested_action = undefined;
}
//Function Number: 5
ispamchillin(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.bchillin);
}
//Function Number: 6
ispamdonechillin(param_00,param_01,param_02,param_03)
{
return !ispamchillin(param_00,param_01,param_02,param_03);
}
//Function Number: 7
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 0;
}
//Function Number: 8
playanimandlookatenemy(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\pamgrier\pamgrier_agent::getenemy());
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1);
}
//Function Number: 9
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 10
isrevivedone(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.reviveplayer))
{
return 1;
}
if(!scripts\common\utility::istrue(self.reviveplayer.inlaststand))
{
return 1;
}
return 0;
}
//Function Number: 11
dorevive(param_00,param_01)
{
self endon(param_00 + "_finished");
param_01 endon("disconnect");
var_02 = scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata();
wait(var_02.revive_wait_time);
if(!isdefined(param_01.reviveent))
{
return;
}
param_01.reviveent notify("pg_trigger",self);
}
//Function Number: 12
playreviveanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(isdefined(self.reviveplayer))
{
thread lib_0C73::func_6A6A(param_01,self.reviveplayer);
thread dorevive(param_01,self.reviveplayer);
}
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 13
meleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
var_04 = scripts\mp\agents\pamgrier\pamgrier_agent::getenemy();
if(isdefined(var_04))
{
if(distancesquared(var_04.origin,self.origin) < -25536)
{
self notify("attack_hit",var_04);
if(isdefined(var_04.maxhealth))
{
lib_0C73::func_5904(var_04,var_04.maxhealth,"MOD_IMPACT");
}
else
{
lib_0C73::func_5904(var_04,self.var_B601,"MOD_IMPACT");
}
}
else
{
self notify("attack_miss",var_04);
}
}
if(!scripts\common\utility::istrue(self.bmovingmelee))
{
self notify("stop_melee_face_enemy");
}
}
}
//Function Number: 14
shouldabortaction(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btraversalteleport))
{
return 0;
}
if(!isdefined(self.requested_action))
{
return 1;
}
if(isdefined(param_03))
{
if(self.requested_action != param_03)
{
return 1;
}
}
return 0;
}
//Function Number: 15
shoulddoaction(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(isdefined(param_03) && param_03 != "")
{
if(self.requested_action == param_03)
{
return 1;
}
return 0;
}
if(self.requested_action == param_02)
{
return 1;
}
return 0;
}
//Function Number: 16
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 17
func_BEA0(param_00,param_01,param_02,param_03)
{
var_04 = func_81DE();
if(abs(angleclamp180(var_04)) > self.var_129AF)
{
return 1;
}
return 0;
}
//Function Number: 18
func_81DE(param_00)
{
var_01 = undefined;
var_02 = undefined;
var_03 = 0;
if(isdefined(self.desiredyaw))
{
var_03 = angleclamp180(self.desiredyaw - self.angles[1]);
}
if(isdefined(param_00))
{
var_03 = scripts\common\utility::func_8094(0.5,param_00);
}
return var_03;
}
//Function Number: 19
func_3F0A(param_00,param_01,param_02)
{
var_03 = func_81DE();
if(var_03 < 0)
{
var_04 = "right";
}
else
{
var_04 = "left";
}
var_03 = abs(var_03);
var_05 = 0;
if(var_03 > 157.5)
{
var_05 = 180;
}
else if(var_03 > 112.5)
{
var_05 = 135;
}
else if(var_03 > 67.5)
{
var_05 = 90;
}
else
{
var_05 = 45;
}
var_06 = var_04 + "_" + var_05;
var_07 = lib_0A1A::func_2358(param_01,var_06);
var_08 = self method_8101(param_01,var_07);
return var_07;
}
//Function Number: 20
func_D56A(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self.var_233;
self method_8289("face angle abs",self.angles);
self method_8281("anim deltas");
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
if(!isdefined(var_05) && isdefined(self.var_233))
{
self method_841F();
}
lib_0A1D::func_237F("face current");
lib_0A1D::func_237E("code_move");
}
//Function Number: 21
playmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,param_03);
}
//Function Number: 22
choosemeleeattack(param_00,param_01,param_02)
{
var_03 = "attack_moving_";
var_04 = func_81DE(scripts\mp\agents\pamgrier\pamgrier_agent::getenemy());
if(var_04 < 0)
{
var_05 = "right";
}
else
{
var_05 = "left";
}
var_04 = abs(var_04);
var_06 = 0;
if(var_04 > 157.5)
{
var_06 = 180;
}
else if(var_04 > 112.5)
{
var_06 = 135;
}
else if(var_04 > 67.5)
{
var_06 = 90;
}
else if(var_04 > 30)
{
var_06 = 45;
}
else
{
var_06 = undefined;
}
if(isdefined(var_06))
{
var_07 = "attack_moving_" + var_05 + "_" + var_06;
}
else
{
var_07 = "attack_moving";
}
var_08 = lib_0A1A::func_2358(param_01,var_07);
return var_08;
}
//Function Number: 23
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 24
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233) || self method_841E() < scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata().min_moving_pain_dist)
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,1);
return;
}
lib_0A1D::func_2364(param_01,param_02,param_03,var_04);
}
//Function Number: 25
chooseteleportoutanim(param_00,param_01,param_02)
{
var_03 = lib_0A1A::func_2358(param_01,self.teleporttype);
if(self.teleporttype == "revive_player")
{
self.reviveanimindex = var_03 - 5;
}
return var_03;
}
//Function Number: 26
needschilltransition(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.bneedschilltransition))
{
return 1;
}
return 0;
}
//Function Number: 27
playchillpassivetransition(param_00,param_01,param_02,param_03)
{
self.bneedschilltransition = undefined;
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 28
choosechillinidle(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.bpassive))
{
var_03 = lib_0A1A::func_2358(param_01,"passive");
}
else
{
var_03 = lib_0A1A::func_2358(param_02,"ready");
}
return var_03;
}
//Function Number: 29
gopassivesoon(param_00,param_01)
{
self endon(param_00 + "_finished");
wait(param_01);
scripts\mp\agents\pamgrier\pamgrier_agent::setpassive();
}
//Function Number: 30
shouldplaychilltwitch(param_00,param_01,param_02,param_03)
{
if(!scripts\common\utility::istrue(self.bpassive))
{
return 0;
}
if(!scripts\common\utility::istrue(self.btimefortwitch))
{
return 0;
}
self.btimefortwitch = undefined;
return 1;
}
//Function Number: 31
handletwitch(param_00)
{
self endon(param_00 + "_finished");
var_01 = scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata();
wait(randomfloatrange(var_01.min_wait_for_twitch_time,var_01.max_wait_for_twitch_time));
self.btimefortwitch = 1;
}
//Function Number: 32
playchillinanim(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.bpassive))
{
thread handletwitch(param_01);
}
else
{
thread gopassivesoon(param_01,scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata().chill_time_before_going_passive);
}
if(isdefined(self.teleportangles))
{
self method_8289("face angle abs",(0,self.teleportangles[1],0));
}
lib_0A1D::func_235F(param_00,param_01,param_02,param_03);
}
//Function Number: 33
choosereviveanim(param_00,param_01,param_02)
{
if(!isdefined(self.reviveanimindex))
{
self.reviveanimindex = lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
return self.reviveanimindex;
}
//Function Number: 34
chooseteleportinanim(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.bpassive))
{
return lib_0A1A::func_2358(param_01,"passive_teleport");
}
return lib_0A1A::func_2358(param_01,"teleport");
}
//Function Number: 35
playteleportin(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = self.teleportpos - self.origin;
var_04 = (var_04[0],var_04[1],0);
var_05 = vectornormalize(var_04);
var_06 = vectortoangles(var_05);
playanimwithplaybackrate(param_00,param_01,param_02,param_03);
}
//Function Number: 36
isplayerintheway(param_00)
{
var_01 = scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata();
foreach(var_03 in level.players)
{
if(!isalive(var_03))
{
continue;
}
if(scripts\common\utility::istrue(var_03.inlaststand))
{
continue;
}
var_04 = distance2dsquared(param_00,var_03.origin);
if(var_04 < var_01.player_too_close_teleport_dist_sq)
{
return 1;
}
}
return 0;
}
//Function Number: 37
isvalidteleportpos(param_00)
{
var_01 = self.teleportpos;
self.teleportpos = getclosestpointonnavmesh(self.teleportpos);
var_02 = scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata();
if(distance2dsquared(var_01,self.teleportpos) > var_02.navmesh_correction_dist_sq)
{
return 0;
}
if(isplayerintheway(self.teleportpos))
{
return 0;
}
if(isdefined(param_00))
{
var_03 = scripts\common\trace::func_48CC(1);
if(!scripts\common\trace::func_DCF1(self.teleportpos + (0,0,24),param_00 + (0,0,24),self,var_03))
{
return 0;
}
}
return 1;
}
//Function Number: 38
faceplayer(param_00,param_01)
{
self endon(param_00 + "_finished");
for(;;)
{
if(isdefined(param_01))
{
self method_8289("face angle abs",(0,vectortoyaw(param_01.origin - self.origin),0));
}
else
{
break;
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 39
playteleportout(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
if(!isdefined(var_04))
{
var_04 = 1;
}
var_05 = lib_0A1D::func_2337(param_00,param_01);
var_06 = scripts\mp\agents\pamgrier\pamgrier_agent::getenemy();
self setscriptablepartstate("movement","teleport");
self.ishidden = 1;
wait(0.1);
self setscriptablepartstate("movement","neutral");
self hide();
if(isdefined(var_06) && self.teleporttype == "teleport_attack")
{
var_07 = scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata();
var_08 = var_06 getvelocity();
var_09 = length2d(var_08);
var_0A = vectornormalize(var_06.origin - self.origin);
self.teleportpos = var_06.origin - var_0A * var_07.teleport_attack_dist_to_target;
if(!isvalidteleportpos(var_06.origin))
{
if(var_09 == 0)
{
var_0B = anglestoforward(var_06.angles);
}
else
{
var_0B = vectornormalize(var_09) * -1;
}
self.teleportpos = var_06.origin + var_0B * var_07.teleport_behind_target_dist;
if(!isvalidteleportpos(var_06.origin))
{
self.teleportpos = getclosestpointonnavmesh(var_06.origin);
}
}
self.teleportangles = vectortoangles(var_06.origin - self.teleportpos);
self.teleportangles = (0,self.teleportangles[1],0);
}
self dontinterpolate();
self setorigin(self.teleportpos,0);
if(isdefined(self.teleportangles))
{
self.angles = (0,self.teleportangles[1],0);
}
if(isdefined(self.teleporttype))
{
if(self.teleporttype == "teleport_attack" && isdefined(var_06))
{
thread lib_0C73::func_6A6A(param_01,var_06);
}
else if(self.teleporttype == "revive_player" && isdefined(self.reviveplayer))
{
thread faceplayer(param_01,self.reviveplayer);
}
else
{
self method_8289("face angle abs",(0,self.teleportangles[1],0));
}
}
else
{
self method_8289("face angle abs",(0,self.teleportangles[1],0));
}
self.teleportpos = undefined;
self method_8286(self.origin);
self method_841F();
thread showmelater();
thread gibnearbyenemies(0.1);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
if(scripts\common\utility::istrue(self.btraversalteleport))
{
self.var_9CEC = undefined;
self.btraversalteleport = undefined;
self notify("traverse_end");
lib_0A1A::func_237C("decide_idle",param_03);
}
}
//Function Number: 40
showmelater()
{
self endon("death");
wait(0.1);
self show();
self setscriptablepartstate("movement","teleport");
self.ishidden = 0;
wait(0.1);
self setscriptablepartstate("movement","neutral");
}
//Function Number: 41
gibnearbyenemies(param_00)
{
if(isdefined(param_00))
{
wait(param_00);
}
var_01 = scripts\mp\_mp_agent::func_7DAF();
var_02 = scripts\mp\agents\pamgrier\pamgrier_agent::getenemy();
var_03 = scripts\mp\agents\pamgrier\pamgrier_tunedata::gettunedata();
foreach(var_05 in var_01)
{
if(var_05 == self)
{
continue;
}
if(var_05.team == "allies")
{
continue;
}
if(isdefined(var_02) && var_05 == var_02)
{
continue;
}
if(var_05.agent_type == "ratking")
{
continue;
}
var_06 = distancesquared(self.origin,var_05.origin);
if(var_06 > var_03.telefrag_dist_sq)
{
continue;
}
var_05 gibthyself();
}
}
//Function Number: 42
gibthyself()
{
self.nocorpse = 1;
self.full_gib = 1;
self dodamage(self.health + -15536,self.origin);
}

View File

@ -0,0 +1,189 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\ratking\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 8
* Decompile Time: 553 ms
* Timestamp: 10/27/2023 12:02:03 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("ratking"))
{
return;
}
lib_0A1A::func_230B("ratking","ratking_start");
lib_0A1A::func_2374("ratking_start",::scripts\asm\ratking\ratking_asm::ratkinginit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("enter_world",undefined,::scripts\asm\ratking\ratking_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_move",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("enter_world",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_staff_and_shield",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("leave_world",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("staff_stomp",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("shield_throw",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("block",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("summon",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("melee_attack",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("staff_projectile",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("shield_throw_at_spot",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("staff_stomp",::scripts\asm\ratking\ratking_asm::dostaffstomp,undefined,::scripts\asm\ratking\ratking_asm::staffstompnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("block_intro",::scripts\asm\ratking\ratking_asm::playblockanim,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("block_loop",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("shield_throw",::scripts\asm\ratking\ratking_asm::doshieldthrow,undefined,::scripts\asm\ratking\ratking_asm::shieldthrownotehandler,::scripts\asm\ratking\ratking_asm::clearlooktarget,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_in",undefined,::trans_check_move_to_pass_walk_in0,undefined);
lib_0A1A::func_2375("pass_run_in",undefined,::trans_check_move_to_pass_run_in1,undefined);
lib_0A1A::func_2374("pass_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_staff_and_shield",undefined,undefined,undefined);
lib_0A1A::func_2375("walk_start",undefined,::trans_pass_walk_in_to_walk_start2,undefined);
lib_0A1A::func_2374("walk_turn",::lib_0F3B::func_D514,undefined,::scripts\asm\ratking\ratking_asm::ratkingturnnotehandler,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("walk_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("walk_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("walk_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_walk_out_to_move_done4,undefined);
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_move",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("walk_stop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("pass_run_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_staff_and_shield",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_start",undefined,::trans_pass_run_in_to_run_start2,undefined);
lib_0A1A::func_2374("run_turn",::lib_0F3B::func_D514,undefined,::scripts\asm\ratking\ratking_asm::ratkingturnnotehandler,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("run_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_loop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_run_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("run_stop",::lib_0C75::func_D4E3,"run",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("move_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("pass_run_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run_stop",undefined,::lib_0C75::func_10092,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2374("run_start",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::ratking_chooseanim_exit,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("run_loop",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("walk_start",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::ratking_chooseanim_exit,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("walk_loop",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\ratking\ratking_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("walk_loop",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("platform_idle",undefined,::trans_decide_idle_to_platform_idle0,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("teleport_in",::scripts\asm\ratking\ratking_asm::playteleportin,2,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("teleport_out",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::shouldabortaction,"teleport");
lib_0A1A::func_2374("summon",::lib_0F3C::func_CEA8,undefined,::scripts\asm\ratking\ratking_asm::summonnotehandler,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("staff_stomp",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("block",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("melee_attack",undefined,::scripts\asm\ratking\ratking_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("check_staff_and_shield",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("block",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("block_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("block_loop",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("block_outro",undefined,::scripts\asm\ratking\ratking_asm::shouldendblock,undefined);
lib_0A1A::func_2374("block_outro",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("teleport",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("teleport_out",::scripts\asm\ratking\ratking_asm::playteleportout,undefined,undefined,::scripts\asm\ratking\ratking_asm::terminate_teleportout,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::shouldabortaction,"teleport");
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\ratking\ratking_asm::shouldconsiderabortingteleport,undefined);
lib_0A1A::func_2374("traverse_external",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\ratking\ratking_asm::ontraversalteleport,undefined);
lib_0A1A::func_2374("leave_world",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2374("melee_attack",::scripts\asm\ratking\ratking_asm::playmeleeattack,undefined,::scripts\asm\ratking\ratking_asm::meleenotehandler,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("staff_projectile",::scripts\asm\ratking\ratking_asm::dostaffprojectile,undefined,::scripts\asm\ratking\ratking_asm::staffprojectilenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("shield_throw_at_spot",::scripts\asm\ratking\ratking_asm::doshieldthrowatspot,undefined,::scripts\asm\ratking\ratking_asm::shieldthrowatspotnotehandler,::scripts\asm\ratking\ratking_asm::clearlooktarget,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("platform_idle",::scripts\asm\ratking\ratking_asm::playplatformidle,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim angle delta",undefined);
lib_0A1A::func_2375("decide_idle",undefined,::trans_platform_idle_to_decide_idle0,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("aimset_shield_throw",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("shield_lost_and_found",::scripts\asm\ratking\ratking_asm::playshieldlostandfound,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::chooseshieldornoshieldanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim angle delta",undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("staff_lost_and_found",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\ratking\ratking_asm::choosestaffornostaffanim,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim angle delta",undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\ratking\ratking_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_staff_and_shield",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("shield_lost_and_found",undefined,::scripts\asm\ratking\ratking_asm::lostorfoundshield,undefined);
lib_0A1A::func_2375("staff_lost_and_found",undefined,::scripts\asm\ratking\ratking_asm::lostorfoundstaff,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_check_move_to_pass_walk_in0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("walk");
}
//Function Number: 3
trans_check_move_to_pass_run_in1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2956("run");
}
//Function Number: 4
trans_pass_walk_in_to_walk_start2(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 5
trans_pass_walk_out_to_move_done4(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}
//Function Number: 6
trans_pass_run_in_to_run_start2(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 7
trans_decide_idle_to_platform_idle0(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.isonplatform);
}
//Function Number: 8
trans_platform_idle_to_decide_idle0(param_00,param_01,param_02,param_03)
{
return !scripts\common\utility::istrue(self.isonplatform);
}

View File

@ -0,0 +1,951 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\ratking\ratking_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 58
* Decompile Time: 2988 ms
* Timestamp: 10/27/2023 12:02:07 AM
*******************************************************************/
//Function Number: 1
ratkinginit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
self.var_71D0 = ::scripts\mp\agents\ratking\ratking_agent::shouldratkingplaypainanim;
self.var_1198.requestedshieldstate = "equipped";
self.var_2303.shieldstate = "equipped";
}
//Function Number: 2
isvalidaction(param_00)
{
switch(param_00)
{
case "shield_throw":
case "shield_throw_at_spot":
case "teleport":
case "staff_projectile":
case "block":
case "summon":
case "staff_stomp":
case "melee_attack":
return 1;
}
return 0;
}
//Function Number: 3
setaction(param_00)
{
self.requested_action = param_00;
}
//Function Number: 4
clearaction()
{
self.requested_action = undefined;
}
//Function Number: 5
shouldendblock(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action) || self.requested_action != "block")
{
return 1;
}
return 0;
}
//Function Number: 6
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 1;
}
//Function Number: 7
playanimandlookatenemy(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\ratking\ratking_agent::getenemy());
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1);
}
//Function Number: 8
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 9
playtauntanim(param_00,param_01,param_02,param_03)
{
self notify("taunt");
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\ratking\ratking_agent::getenemy());
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 10
dosummonspawn()
{
var_00 = scripts\mp\agents\ratking\ratking_tunedata::gettunedata();
foreach(var_02 in self.var_108FB)
{
var_03 = scripts\cp\zombies\zombies_spawning::func_13F53(var_00.summon_agent_type,var_02,self.angles,"axis");
if(!isdefined(var_03))
{
break;
}
var_03 thread scripts\cp\zombies\zombies_spawning::func_64E7(var_00.summon_agent_type);
}
}
//Function Number: 11
damagezombies(param_00,param_01)
{
var_02 = scripts\mp\_mp_agent::func_7D95("generic_zombie");
var_03 = param_01 * param_01;
foreach(var_05 in var_02)
{
var_06 = distancesquared(var_05.origin,param_00);
if(var_06 > var_03)
{
continue;
}
var_05 dodamage(var_05.health * 10,param_00,self,self,"MOD_IMPACT");
}
}
//Function Number: 12
dostaffstompdamage(param_00,param_01)
{
if(isdefined(param_00))
{
self endon(param_00 + "_finished");
}
if(isdefined(param_01))
{
wait(param_01);
}
var_02 = scripts\mp\agents\ratking\ratking_tunedata::gettunedata();
self setscriptablepartstate("attacks","staff_stomp");
self radiusdamage(self.origin,var_02.staff_stomp_damage_radius,var_02.staff_stomp_max_damage,var_02.staff_stomp_min_damage,self,"MOD_IMPACT");
if(scripts\common\utility::istrue(self.battackzombies))
{
damagezombies(self.origin,var_02.staff_stomp_damage_radius);
}
}
//Function Number: 13
staffstompnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
dostaffstompdamage(param_01);
}
}
//Function Number: 14
dostaffstomp(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\ratking\ratking_agent::getenemy());
self notify("stomp");
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 15
summonnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "start_summon_zombies")
{
self notify("summon");
dosummonspawn();
}
}
//Function Number: 16
ratkingturnnotehandler(param_00,param_01,param_02,param_03)
{
if(isdefined(param_00))
{
switch(param_00)
{
case "right":
self setscriptablepartstate("turns","right");
break;
case "left":
self setscriptablepartstate("turns","left");
break;
default:
self setscriptablepartstate("turns","forward");
break;
}
}
}
//Function Number: 17
meleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
var_04 = scripts\mp\agents\ratking\ratking_agent::getenemy();
if(isdefined(var_04))
{
if(distancesquared(var_04.origin,self.origin) < -25536)
{
self notify("attack_hit",var_04);
if(var_04.team == "axis" && scripts\common\utility::istrue(self.battackzombies))
{
lib_0C73::func_5904(var_04,var_04.health * 10,"MOD_IMPACT");
}
else
{
lib_0C73::func_5904(var_04,self.var_B601,"MOD_IMPACT");
}
}
else
{
self notify("attack_miss",var_04);
}
}
if(!scripts\common\utility::istrue(self.bmovingmelee))
{
self notify("stop_melee_face_enemy");
}
}
}
//Function Number: 18
shieldthrowatspotnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
var_04 = scripts\mp\agents\ratking\ratking_agent::getstructpos();
if(!isdefined(var_04))
{
return;
}
var_05 = self gettagorigin("J_Shield_LE");
var_06 = var_04.origin;
var_07 = magicbullet("iw7_ratking_shield_projectile",var_05,var_06,self);
self setscriptablepartstate("shield","neutral");
thread scripts\aitypes\ratking\behaviors::throwandrecovershield(1);
}
}
//Function Number: 19
shieldthrownotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
var_04 = scripts\mp\agents\ratking\ratking_agent::getenemy();
if(!isdefined(var_04))
{
return;
}
var_05 = self gettagorigin("J_Shield_LE");
var_06 = var_04 geteye() - (0,0,12);
magicbullet("iw7_ratking_shield_projectile",var_05,var_06,self);
self setscriptablepartstate("shield","neutral");
thread scripts\aitypes\ratking\behaviors::throwandrecovershield(5);
}
}
//Function Number: 20
shieldthrowatspothack(param_00)
{
self endon(param_00 + "_finished");
wait(0.8);
shieldthrowatspotnotehandler("hit",param_00,1,0);
}
//Function Number: 21
doshieldthrowatspot(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = scripts\mp\agents\ratking\ratking_agent::getstructpos();
if(isdefined(var_04))
{
self.var_1C2 = var_04.origin;
}
scripts\mp\agents\ratking\ratking_agent::lookatspot();
self notify("shield_throw");
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
self.var_1C2 = undefined;
}
//Function Number: 22
aimatenemy(param_00,param_01)
{
self endon(param_00 + "_finished");
while(isdefined(param_01) && isalive(param_01))
{
self.var_1C2 = param_01 method_815B();
scripts\common\utility::func_136F7();
}
}
//Function Number: 23
clearlooktarget(param_00,param_01,param_02)
{
self.var_1C2 = undefined;
}
//Function Number: 24
doshieldthrow(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
scripts\mp\agents\ratking\ratking_agent::lookatenemy();
thread aimatenemy(param_01,scripts\mp\agents\ratking\ratking_agent::getenemy());
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
self.var_1C2 = undefined;
}
//Function Number: 25
shouldabortaction(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btraversalteleport))
{
return 0;
}
if(!isdefined(self.requested_action))
{
return 1;
}
if(isdefined(param_03))
{
if(self.requested_action != param_03)
{
return 1;
}
}
return 0;
}
//Function Number: 26
shoulddoaction(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(self.requested_action == param_02)
{
return 1;
}
return 0;
}
//Function Number: 27
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 28
playblockanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = vectortoangles(self.damageaccumulator.lastdir * -1);
var_04 = (0,var_04[1],0);
self method_8289("face angle abs",var_04);
self method_8281("anim deltas");
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 29
func_BEA0(param_00,param_01,param_02,param_03)
{
var_04 = undefined;
var_05 = scripts\mp\agents\ratking\ratking_agent::getenemy();
if(isdefined(self.var_1198.var_FECD) && isdefined(self.var_1198.var_FECD.var_65D3))
{
var_04 = self.var_1198.var_FECD.var_65D3.origin;
}
else if(isdefined(self.var_1198.var_FECD) && isdefined(self.var_1198.var_FECD.var_D699))
{
var_04 = self.var_1198.var_FECD.var_D699;
}
else if(isdefined(var_05))
{
var_04 = var_05.origin;
}
if(!isdefined(var_04))
{
return 0;
}
var_06 = self.angles[1] - vectortoyaw(var_04 - self.origin);
var_07 = distancesquared(self.origin,var_04);
if(var_07 < 65536)
{
var_08 = sqrt(var_07);
if(var_08 > 3)
{
var_06 = var_06 + asin(-3 / var_08);
}
}
if(abs(angleclamp180(var_06)) > self.var_129AF)
{
return 1;
}
return 0;
}
//Function Number: 30
func_81DE()
{
var_00 = 0.25;
var_01 = undefined;
var_02 = undefined;
if(isdefined(self.var_1198.var_FECD))
{
if(isdefined(self.var_1198.var_FECD.var_65D3))
{
var_01 = self.var_1198.var_FECD.var_65D3;
}
else if(isdefined(self.var_1198.var_FECD.var_D699))
{
var_02 = self.var_1198.var_FECD.var_D699;
}
}
var_03 = scripts\mp\agents\ratking\ratking_agent::getenemy();
if(isdefined(var_03))
{
if(!isdefined(var_01) && !isdefined(var_02))
{
var_01 = var_03;
}
}
if(isdefined(var_01) && !issentient(var_01))
{
var_00 = 1.5;
}
var_04 = scripts\common\utility::func_8094(var_00,var_01,var_02);
return var_04;
}
//Function Number: 31
choosestaffornostaffanim(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.nostaff))
{
return lib_0A1A::func_2358(param_01,"nostaff");
}
return lib_0A1A::func_2358(param_01,"staff");
}
//Function Number: 32
chooseshieldornoshieldanim(param_00,param_01,param_02)
{
if(self.var_2303.shieldstate == "equipped")
{
return lib_0A1A::func_2358(param_01,"shield");
}
return lib_0A1A::func_2358(param_01,"noshield");
}
//Function Number: 33
func_3F0A(param_00,param_01,param_02)
{
var_03 = func_81DE();
if(var_03 < 0)
{
var_04 = "right";
}
else
{
var_04 = "left";
}
var_03 = abs(var_03);
var_05 = 0;
if(var_03 > 157.5)
{
var_05 = 180;
}
else if(var_03 > 112.5)
{
var_05 = 135;
}
else if(var_03 > 67.5)
{
var_05 = 90;
}
else
{
var_05 = 45;
}
var_06 = var_04 + "_" + var_05;
var_07 = lib_0A1A::func_2358(param_01,var_06);
var_08 = self method_8101(param_01,var_07);
return var_07;
}
//Function Number: 34
func_D56A(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self.var_233;
self method_8289("face angle abs",self.angles);
self method_8281("anim deltas");
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
if(!isdefined(var_05) && isdefined(self.var_233))
{
self method_841F();
}
lib_0A1D::func_237F("face current");
lib_0A1D::func_237E("code_move");
}
//Function Number: 35
playmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
var_04 = lib_0A1D::func_2337(param_00,param_01);
self notify("melee");
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
}
//Function Number: 36
choosemeleeattack(param_00,param_01,param_02)
{
if(lib_0A1B::func_2955())
{
var_03 = lib_0A1A::func_2358(param_01,"attack_moving");
}
else
{
var_03 = lib_0A1A::func_2358(param_02,"attack");
}
return var_03;
}
//Function Number: 37
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 38
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233) || self method_841E() < scripts\mp\agents\ratking\ratking_tunedata::gettunedata().min_moving_pain_dist)
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
self notify("pain");
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,1);
return;
}
self notify("pain");
lib_0A1D::func_2364(param_01,param_02,param_03,var_04);
}
//Function Number: 39
playteleportin(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!scripts\aitypes\ratking\behaviors::rk_isonplatform())
{
self setscriptablepartstate("movement","dematerialize");
}
playanimwithplaybackrate(param_00,param_01,param_02,param_03);
}
//Function Number: 40
terminate_teleportout(param_00,param_01,param_02)
{
}
//Function Number: 41
shouldconsiderabortingteleport(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.ishidden))
{
return 0;
}
return shouldabortaction(param_00,param_01,param_02,"teleport");
}
//Function Number: 42
playteleportout(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self endon("death");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = scripts\mp\agents\ratking\ratking_agent::getenemy();
self.ishidden = 1;
wait(0.1);
self dontinterpolate();
self hide();
if(scripts\common\utility::istrue(self.fake_death))
{
scripts\mp\agents\ratking\ratking_agent::executefakedeath();
}
scripts\aitypes\ratking\behaviors::setplatformstate();
var_06 = undefined;
if(!scripts\aitypes\ratking\behaviors::rk_isonplatform())
{
var_06 = spawnfx(level._effect["rk_tele_spot"],self.teleportpos);
triggerfx(var_06);
}
self setorigin(self.teleportpos,0);
if(isdefined(var_05))
{
self.angles = vectortoangles(var_05.origin - self.origin);
}
self.teleportpos = undefined;
self method_8286(self.origin);
self method_841F();
thread showmelater(var_06);
if(!scripts\common\utility::istrue(self.btraversalteleport))
{
scripts\mp\agents\ratking\ratking_agent::lookatenemy();
}
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1);
if(scripts\common\utility::istrue(self.btraversalteleport))
{
self.var_9CEC = undefined;
self.btraversalteleport = undefined;
self notify("traverse_end");
lib_0A1A::func_237C("decide_idle",param_03);
}
}
//Function Number: 43
showmelater(param_00)
{
if(scripts\aitypes\ratking\behaviors::rk_isonplatform())
{
self setscriptablepartstate("rat_skirt","platform");
}
else
{
self setscriptablepartstate("movement","materialize");
self setscriptablepartstate("rat_skirt","active");
}
wait(0.1);
self show();
self.ishidden = 0;
thread gibnearbyzombies(0.1);
wait(1);
if(isdefined(param_00))
{
param_00 delete();
}
if(scripts\aitypes\ratking\behaviors::rk_isonplatform())
{
self setscriptablepartstate("movement","neutral");
}
}
//Function Number: 44
gibnearbyzombies(param_00)
{
if(isdefined(param_00))
{
wait(param_00);
}
var_01 = scripts\mp\_mp_agent::func_7DAF();
var_02 = scripts\mp\agents\ratking\ratking_agent::getenemy();
var_03 = scripts\mp\agents\ratking\ratking_tunedata::gettunedata();
foreach(var_05 in var_01)
{
if(var_05 == self)
{
continue;
}
if(var_05.team == "allies")
{
continue;
}
if(isdefined(var_02) && var_05 == var_02)
{
continue;
}
var_06 = distancesquared(self.origin,var_05.origin);
if(var_06 > var_03.telefrag_dist_sq)
{
continue;
}
var_05 gibthyself();
}
}
//Function Number: 45
gibthyself()
{
self.nocorpse = 1;
self.full_gib = 1;
self dodamage(self.health + -15536,self.origin);
}
//Function Number: 46
play_teleport_sound_to_players(param_00)
{
foreach(var_02 in level.players)
{
if(!self method_85B8() || scripts\common\utility::istrue(var_02.var_DCEB))
{
self playsoundtoplayer(param_00,var_02);
}
}
}
//Function Number: 47
ontraversalteleport(param_00,param_01,param_02,param_03)
{
self.teleportpos = self method_8146();
self.btraversalteleport = 1;
return 1;
}
//Function Number: 48
platformfaceenemy(param_00)
{
self endon(param_00 + "_finished");
for(;;)
{
var_01 = scripts\mp\agents\ratking\ratking_agent::getenemy();
if(isdefined(var_01) && isalive(var_01))
{
self method_8289("face angle abs",(0,vectortoyaw(var_01.origin - self.origin),0));
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 49
playplatformidle(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self method_841F();
thread platformfaceenemy(param_01);
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 50
dostaffprojectile(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\ratking\ratking_agent::getenemy());
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 51
dostaffprojectiledamage(param_00,param_01,param_02,param_03)
{
var_04 = param_01 * param_01;
var_05 = scripts\common\trace::func_48CC(1);
var_06 = scripts\common\trace::func_DCED(param_00 + (0,0,param_02),param_00 - (0,0,param_02),self,var_05);
param_00 = getgroundposition(param_00,8);
foreach(var_08 in level.players)
{
if(!isalive(var_08))
{
continue;
}
if(var_08.ignoreme || isdefined(var_08.var_222) && var_08.var_222.ignoreme)
{
continue;
}
if(lib_0F74::func_1002C(var_08))
{
continue;
}
var_09 = distance2dsquared(param_00,var_08.origin);
if(var_09 > var_04)
{
continue;
}
if(abs(param_00[2] - var_08.origin[2]) > param_02)
{
continue;
}
var_08 dodamage(param_03,param_00,self,self,"MOD_IMPACT");
}
}
//Function Number: 52
handlestaffprojectile()
{
var_00 = scripts\mp\agents\ratking\ratking_tunedata::gettunedata();
var_01 = anglestoforward(self.angles);
var_02 = var_00.staff_projectile_range / var_00.staff_projectile_speed;
var_03 = var_00.staff_projectile_speed * var_00.staff_projectile_interval;
var_04 = var_03 / 2;
var_05 = self.origin + var_01 * var_04;
var_06 = gettime() + var_02 * 1000;
var_07 = spawn("script_model",var_05);
var_07 setmodel("tag_origin_staff_proj");
var_07 show();
var_07.angles = var_01;
playsoundatpos(var_05,"rk_fissure_deploy_lr");
thread delayprojectileloopsound(var_07,var_00.staff_projectile_interval);
while(gettime() < var_06)
{
dostaffprojectiledamage(var_05,var_04,var_00.staff_projectile_z_delta,var_00.staff_projectile_damage);
var_07 moveto(var_05,var_00.staff_projectile_interval);
wait(var_00.staff_projectile_interval);
var_05 = var_05 + var_01 * var_03;
var_07.angles = vectortoangles(var_05 - var_07.origin);
}
var_07 stoploopsound();
var_07 delete();
}
//Function Number: 53
delayprojectileloopsound(param_00,param_01)
{
level endon("game_ended");
wait(param_01);
param_00 scripts\common\utility::func_CD7F("rk_fissure_ground_lp",(0,0,12));
}
//Function Number: 54
staffprojectilenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
handlestaffprojectile();
}
}
//Function Number: 55
lostorfoundstaff(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.bstaffchanged))
{
self.bstaffchanged = undefined;
return 1;
}
return 0;
}
//Function Number: 56
lostorfoundshield(param_00,param_01,param_02,param_03)
{
if(self.var_1198.requestedshieldstate == self.var_2303.shieldstate)
{
return 0;
}
if(self.var_1198.requestedshieldstate == "equipped" && self.var_2303.shieldstate != "equipped")
{
return 1;
}
if(self.var_1198.requestedshieldstate == "dropped" && self.var_2303.shieldstate == "equipped")
{
return 1;
}
self.var_2303.shieldstate = self.var_1198.requestedshieldstate;
return 0;
}
//Function Number: 57
playshieldlostandfound(param_00,param_01,param_02,param_03)
{
switch(self.var_1198.requestedshieldstate)
{
case "equipped":
self setscriptablepartstate("shield","shield_activate");
break;
case "dropped":
self setscriptablepartstate("shield","shield_dissolve");
break;
default:
break;
}
self.var_2303.shieldstate = self.var_1198.requestedshieldstate;
lib_0F3C::func_CEA8(param_00,param_01,param_02,param_03);
}
//Function Number: 58
ratking_chooseanim_exit(param_00,param_01,param_02)
{
var_03 = lib_0F3B::func_53CA(param_01);
return var_03;
}

View File

@ -0,0 +1,60 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\shared\mp\move_v2.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 3
* Decompile Time: 215 ms
* Timestamp: 10/27/2023 12:02:07 AM
*******************************************************************/
//Function Number: 1
waitforsharpturnv2(param_00,param_01,param_02)
{
self endon(param_01 + "_finished");
self waittill("path_dir_change",var_03);
var_04 = [var_03,0];
lib_0A1A::func_2330(param_01,"sharp_turn",var_04);
thread lib_0F3C::func_136E7(param_00,param_01,param_02);
}
//Function Number: 2
playmoveloopv2(param_00,param_01,param_02,param_03)
{
thread lib_0F3C::func_136B4(param_00,param_01,param_03);
thread waitforsharpturnv2(param_00,param_01,param_03);
thread lib_0F3C::func_136CC(param_00,param_01,param_03);
var_04 = 1;
if(isdefined(self.var_2303.var_BCD6))
{
var_04 = self.var_2303.var_BCD6;
}
else if(isdefined(self.var_BCD6))
{
var_04 = self.var_BCD6;
}
lib_0A1D::func_235F(param_00,param_01,param_02,var_04);
}
//Function Number: 3
playsharpturnanimv2(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
self.var_FC61 = undefined;
self method_8281("anim deltas");
self method_8289("face angle abs",self.angles);
var_05 = lib_0A1A::func_2341(param_00,param_01);
if(isdefined(self.var_BCD6))
{
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,self.var_BCD6,param_01,"code_move",var_05);
}
else
{
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_04,param_01,"code_move",var_05);
}
self method_8289("face motion");
self method_8281("code_move");
}

View File

@ -0,0 +1,546 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\shared_utility.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 32
* Decompile Time: 1462 ms
* Timestamp: 10/27/2023 12:26:20 AM
*******************************************************************/
//Function Number: 1
func_3EB7(param_00,param_01,param_02)
{
var_03 = param_02;
var_04 = self.var_1198.var_FED6 + "_" + var_03;
if(isdefined(self.var_1198.var_FED6) && lib_0A1A::func_2346(param_01,var_04))
{
return lib_0A1A::func_2358(param_01,var_04);
}
return lib_0A1A::func_2358(param_01,param_02);
}
//Function Number: 2
func_3ECD(param_00,param_01,param_02)
{
var_03 = lib_0A1A::func_233C();
if(lib_0A1A::func_234A(var_03,param_02))
{
var_04 = lib_0A1A::func_233D(var_03,param_02);
if(isarray(var_04))
{
return var_04[randomint(var_04.size)];
}
return var_04;
}
if(!lib_0A1A::func_2346(param_02,var_04))
{
return lib_0A1A::func_2358(param_02,"default");
}
return lib_0A1A::func_2358(param_02,var_04);
}
//Function Number: 3
func_3ECE(param_00,param_01,param_02)
{
var_03 = lib_0A1A::func_233C();
if(lib_0A1A::func_234A(var_03,param_02))
{
var_04 = lib_0A1A::func_233D(var_03,param_02);
if(isarray(var_04))
{
return var_04[randomint(var_04.size)];
}
return var_04;
}
if(!lib_0A1A::func_2346(param_02,var_04))
{
var_05 = [];
var_05[0] = lib_0A1A::func_2358(param_02,"trans_to_one_hand_run");
var_05[1] = lib_0A1A::func_2358(param_02,"one_hand_run");
var_05[2] = lib_0A1A::func_2358(param_02,"trans_to_two_hand_run");
var_05[3] = lib_0A1A::func_2358(param_02,"two_hand_run");
return var_05;
}
return lib_0A1A::func_2358(var_03,var_05);
}
//Function Number: 4
func_3EAA(param_00,param_01,param_02)
{
var_03 = weaponclass(self.var_394);
if(!lib_0A1A::func_2346(param_01,var_03))
{
var_03 = "rifle";
}
return lib_0A1A::func_2358(param_01,var_03);
}
//Function Number: 5
func_3E9A(param_00,param_01,param_02)
{
var_03 = param_02;
if(self.var_2303.var_FECD.var_FF0B == 1)
{
var_04 = "single";
}
else
{
var_04 = var_04 + self.var_2303.var_FECD.var_FF0B;
}
if(lib_0A1A::func_2346(param_01,var_04))
{
var_05 = lib_0A1A::func_2358(param_01,var_04);
}
else
{
var_05 = lib_0A1A::func_2358(param_02,"fire");
}
return var_05;
}
//Function Number: 6
func_3EAC(param_00,param_01,param_02)
{
if(weaponclass(self.var_394) == "rocketlauncher" && lib_0A1A::func_2346(param_01,"drop_rpg"))
{
return lib_0A1A::func_2358(param_01,"drop_rpg");
}
var_03 = lib_0A1B::func_292E();
if(!lib_0A1A::func_2346(param_01,var_03))
{
var_03 = "rifle";
}
return lib_0A1A::func_2358(param_01,var_03);
}
//Function Number: 7
func_12668(param_00,param_01,param_02,param_03)
{
return 1;
}
//Function Number: 8
func_2B58(param_00,param_01,param_02,param_03)
{
}
//Function Number: 9
func_BD25(param_00,param_01,param_02,param_03)
{
return lib_0A1A::func_233C() == param_03;
}
//Function Number: 10
func_BD26(param_00,param_01,param_02,param_03)
{
return lib_0A1A::func_233C() != param_03;
}
//Function Number: 11
func_BD28(param_00,param_01,param_02,param_03)
{
var_04 = lib_0A1A::func_233C();
return var_04 != "frantic" && var_04 != "combat" && var_04 != "sprint";
}
//Function Number: 12
func_BD27(param_00,param_01,param_02,param_03)
{
var_04 = lib_0A1A::func_233C();
return var_04 != "casual" && var_04 != "casual_gun";
}
//Function Number: 13
func_7FF8(param_00,param_01)
{
switch(param_01)
{
case "stand":
case "crouch":
case "prone":
break;
default:
return param_01;
}
switch(param_00)
{
case "Cover Left":
if(param_01 == "crouch")
{
return "Cover Left Crouch";
}
break;
case "Cover Right":
if(param_01 == "crouch")
{
return "Cover Right Crouch";
}
break;
case "Conceal Crouch":
case "Cover Crouch Window":
return "Cover Crouch";
case "Conceal Stand":
return "Cover Stand";
}
return undefined;
}
//Function Number: 14
func_8000(param_00,param_01,param_02)
{
var_03 = self.var_1491.var_D6A5;
if(isdefined(param_02))
{
var_03 = param_02;
}
else if(function_02A7(param_01) && !param_01 method_80B1(var_03))
{
var_03 = param_01 method_812D();
}
var_04 = func_7FF8(param_01.type,var_03);
if(isdefined(var_04) && isdefined(param_00[var_04]))
{
return param_00[var_04];
}
if(isdefined(param_00[param_01.type]))
{
return param_00[param_01.type];
}
return undefined;
}
//Function Number: 15
func_1C9C()
{
var_00 = scripts\common\utility::func_13C07(self.var_394) == "mg";
return var_00 || isdefined(self.var_1198.var_522F) && isdefined(self.var_205) && self.var_205 == self.var_1198.var_522F;
}
//Function Number: 16
func_8001(param_00,param_01)
{
if(function_02A4(param_00) || !isdefined(param_00.type))
{
return 0;
}
if(getdvarint("ai_iw7",0) == 1)
{
if((isdefined(self.var_1198.var_98F4) && self.var_1198.var_98F4) || isdefined(self.var_2303.var_1310E) && self.var_2303.var_1310E)
{
return 0;
}
if(self.var_2303.var_7360 && isdefined(level.var_7365) && isdefined(level.var_7365[self.var_238F]))
{
var_02 = func_8000(level.var_7365[self.var_238F],param_00,param_01);
if(isdefined(var_02))
{
return var_02;
}
return 0;
}
else if(isdefined(level.var_C05A) && isdefined(level.var_C05A[self.var_238F]))
{
var_02 = func_8000(level.var_C05A[self.var_238F],param_01,var_02);
if(isdefined(var_02))
{
return var_02;
}
return 0;
}
}
if(!isdefined(self.var_8CD0))
{
if(scripts\common\utility::func_9EB4(param_01))
{
return 90;
}
else if(scripts\common\utility::func_9EB7(param_01))
{
return -90;
}
}
return 0;
}
//Function Number: 17
func_812E(param_00,param_01)
{
if(!isdefined(param_00.angles))
{
return 0;
}
var_02 = param_00.type;
if(function_02A7(param_00) && !param_00 method_80B1("stand") && !isdefined(param_01))
{
switch(var_02)
{
case "Cover Left":
param_01 = "crouch";
break;
case "Cover Right":
param_01 = "crouch";
break;
}
}
var_03 = func_8001(param_00,param_01);
if(param_00.type == "Cover Left")
{
if(self.var_238F == "soldier")
{
var_03 = var_03 + 45;
}
}
return var_03;
}
//Function Number: 18
func_7FF7(param_00,param_01)
{
var_02 = func_8001(param_00,param_01);
return param_00.angles[1] + var_02;
}
//Function Number: 19
func_812D(param_00,param_01)
{
var_02 = func_812E(param_00,param_01);
return param_00.angles[1] + var_02;
}
//Function Number: 20
func_7FF6(param_00,param_01)
{
var_02 = func_8001(param_00,param_01);
return combineangles(param_00.angles,(0,var_02,0));
}
//Function Number: 21
func_7FF1(param_00,param_01,param_02)
{
var_03 = undefined;
if(param_02 == "exposed")
{
var_03 = level.var_C046[param_00];
}
else if(param_02 == "lean" || param_02 == "leanover")
{
var_03 = level.var_C04D[param_00];
}
if(isdefined(var_03))
{
var_04 = func_8000(var_03,param_01,undefined);
if(isdefined(var_04))
{
return var_04;
}
}
return 0;
}
//Function Number: 22
func_7FF2(param_00,param_01,param_02)
{
var_03 = undefined;
if(self.var_2303.var_7360)
{
if(param_02 == "lean")
{
var_03 = level.var_7364[param_00];
}
else if(param_02 == "A" || param_02 == "full" || param_02 == "right" || param_02 == "left")
{
var_03 = level.var_7363[param_00];
}
}
else if(param_02 == "lean")
{
var_03 = level.var_C04E[param_00];
}
if(isdefined(var_03))
{
var_04 = func_8000(var_03,param_01,undefined);
if(isdefined(var_04))
{
return var_04;
}
}
return 0;
}
//Function Number: 23
func_C04B(param_00)
{
if(param_00.type == "Cover Stand 3D")
{
return !func_C04A(param_00);
}
return 0;
}
//Function Number: 24
func_C04A(param_00)
{
if(param_00.type == "Cover Stand 3D")
{
if(isdefined(param_00.var_EE79) && param_00.var_EE79 == "exposed")
{
return 1;
}
}
return 0;
}
//Function Number: 25
func_7FFF(param_00)
{
if(isdefined(param_00))
{
if(func_C04A(param_00))
{
return "Cover Exposed 3D";
}
else
{
return param_00.type;
}
}
return "undefined";
}
//Function Number: 26
func_3F04(param_00,param_01,param_02)
{
var_03 = undefined;
if(abs(self.var_E3) > 150)
{
if(scripts\common\utility::func_4D59("left_leg_upper","left_leg_lower","right_leg_upper","right_leg_lower","left_foot","right_foot"))
{
var_03 = "legs";
}
else if(self.var_DD == "torso_lower")
{
var_03 = "torso_lower";
}
else
{
var_03 = "default";
}
}
else if(self.var_E3 < 0)
{
var_03 = "right";
}
else
{
var_03 = "left";
}
return lib_0A1A::func_2358(param_01,var_03);
}
//Function Number: 27
func_9D50()
{
return isdefined(lib_0A1B::func_2920());
}
//Function Number: 28
func_93DE(param_00,param_01,param_02,param_03)
{
return !isdefined(lib_0A1B::func_2920());
}
//Function Number: 29
func_C17A(param_00,param_01,param_02,param_03)
{
return !isdefined(lib_0A1B::func_2920());
}
//Function Number: 30
func_FB04(param_00,param_01)
{
self endon(param_00 + "_finished");
self.var_36A = 1;
thread func_FB05(param_00);
if(param_01 > 0)
{
wait(param_01);
}
self.var_36A = 0;
self notify("StopUseAnimGoalWeight");
}
//Function Number: 31
func_FB05(param_00)
{
self notify("StopUseAnimGoalWeight");
self endon("StopUseAnimGoalWeight");
self endon("death");
self endon("entitydeleted");
self waittill(param_00 + "_finished");
self.var_36A = 0;
}
//Function Number: 32
func_DCB8(param_00,param_01,param_02,param_03)
{
var_04 = level.var_2303[param_00].var_10E2F[param_02];
if(isdefined(var_04.var_1267B))
{
if(var_04.var_1267B.size == 2)
{
if(scripts\common\utility::func_4347())
{
var_05 = var_04.var_1267B[0];
var_04.var_1267B[0] = var_04.var_1267B[1];
var_04.var_1267B[1] = var_05;
}
}
else
{
var_04.var_1267B = scripts\common\utility::array_randomize(var_04.var_1267B);
}
}
return 1;
}

View File

@ -0,0 +1,150 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\shoot_dlc3\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 15
* Decompile Time: 826 ms
* Timestamp: 10/27/2023 12:02:08 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("shoot_dlc3"))
{
return;
}
lib_0A1A::func_230B("shoot_dlc3","shoot_start");
lib_0A1A::func_2374("shoot_idle",::lib_0F3E::func_FE75,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"shoot_idle",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("shoot_fire",undefined,::lib_0F3C::func_10076,undefined);
lib_0A1A::func_2374("shoot_single",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"single",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("shoot_idle",undefined,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("shoot_full",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::scripts\asm\shared_utility::func_3E9A,"burst",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("shoot_idle",undefined,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("shoot_semi",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::scripts\asm\shared_utility::func_3E9A,"semi",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("shoot_idle",undefined,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("shoot_start",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pistol_shoot_idle",undefined,::lib_0A1B::func_294D,"pistol");
lib_0A1A::func_2375("rpg_shoot",undefined,::lib_0A1B::func_294D,"rocketlauncher");
lib_0A1A::func_2375("crouch_shoot_idle",undefined,::func_124BC,undefined);
lib_0A1A::func_2375("shoot_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pistol_shoot_idle",::lib_0F3E::func_FE75,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"shoot_idle",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pistol_shoot_single",0,::func_123FD,undefined);
lib_0A1A::func_2374("pistol_shoot_single",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"single",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pistol_shoot_idle",0,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("rpg_shoot_idle",::lib_0F3E::func_FE75,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"shoot_idle",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("rpg_shoot_single",undefined,::func_12421,undefined);
lib_0A1A::func_2374("rpg_shoot_single",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"single",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("rpg_shoot_idle",0,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("rpg_shoot_crouch_idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"shoot_idle",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("rpg_shoot_crouch_single",undefined,::func_1241D,undefined);
lib_0A1A::func_2374("rpg_shoot_crouch_single",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"single",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("rpg_shoot_crouch_idle",0,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("shoot_fire",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("shoot_single",undefined,::func_124A9,undefined);
lib_0A1A::func_2375("shoot_full",undefined,::func_124A1,undefined);
lib_0A1A::func_2375("shoot_semi",undefined,::func_124A5,undefined);
lib_0A1A::func_2374("rpg_shoot",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("rpg_shoot_crouch_idle",undefined,::func_12425,undefined);
lib_0A1A::func_2375("rpg_shoot_idle",undefined,::func_12428,undefined);
lib_0A1A::func_2374("crouch_shoot_idle",::lib_0F3E::func_FE75,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"shoot_idle",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("crouch_shoot_fire",undefined,::func_12047,undefined);
lib_0A1A::func_2375("shoot_start",undefined,::func_1204C,undefined);
lib_0A1A::func_2374("crouch_shoot_full",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::scripts\asm\shared_utility::func_3E9A,"burst",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("crouch_shoot_idle",undefined,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("crouch_shoot_semi",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::scripts\asm\shared_utility::func_3E9A,"semi",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("crouch_shoot_idle",undefined,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2374("crouch_shoot_fire",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("crouch_shoot_single",undefined,::func_1203F,undefined);
lib_0A1A::func_2375("crouch_shoot_full",undefined,::func_12037,undefined);
lib_0A1A::func_2375("crouch_shoot_semi",undefined,::func_1203B,undefined);
lib_0A1A::func_2374("crouch_shoot_single",::scripts\asm\zombie_dlc3\zombie_dlc3::shoot_generic_dlc,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,"single",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("crouch_shoot_idle",undefined,::lib_0A1A::func_68B0,"shoot_finished");
lib_0A1A::func_2327();
}
//Function Number: 2
func_124BC(param_00,param_01,param_02,param_03)
{
return lib_0F3C::func_138E2();
}
//Function Number: 3
func_123FD(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_291C();
}
//Function Number: 4
func_12421(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_291C();
}
//Function Number: 5
func_1241D(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_291C();
}
//Function Number: 6
func_124A9(param_00,param_01,param_02,param_03)
{
return self.var_1198.var_FECD.var_FF0B == 1;
}
//Function Number: 7
func_124A1(param_00,param_01,param_02,param_03)
{
return self.var_1198.var_FECD.var_1119D == "full";
}
//Function Number: 8
func_124A5(param_00,param_01,param_02,param_03)
{
return 1;
}
//Function Number: 9
func_12425(param_00,param_01,param_02,param_03)
{
return self.var_1491.var_D6A5 == "crouch";
}
//Function Number: 10
func_12428(param_00,param_01,param_02,param_03)
{
return 1;
}
//Function Number: 11
func_12047(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_291C();
}
//Function Number: 12
func_1204C(param_00,param_01,param_02,param_03)
{
return !lib_0F3C::func_138E2();
}
//Function Number: 13
func_1203F(param_00,param_01,param_02,param_03)
{
return self.var_1198.var_FECD.var_FF0B == 1;
}
//Function Number: 14
func_12037(param_00,param_01,param_02,param_03)
{
return self.var_1198.var_FECD.var_1119D == "full";
}
//Function Number: 15
func_1203B(param_00,param_01,param_02,param_03)
{
return 1;
}

View File

@ -0,0 +1,183 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\slasher\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 4
* Decompile Time: 289 ms
* Timestamp: 10/27/2023 12:02:09 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("slasher"))
{
return;
}
lib_0A1A::func_230B("slasher","slasher_start");
lib_0A1A::func_2374("slasher_start",::scripts\asm\slasher\slasher_asm::slasherinit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\slasher\slasher_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_move",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("swipe_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("ground_pound",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("melee_spin",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("grenade_throw",undefined,::scripts\asm\slasher\slasher_asm::func_100AD,undefined);
lib_0A1A::func_2375("sawblade_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("ram_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("block",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("summon",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("swipe_attack",::scripts\asm\slasher\slasher_asm::playmeleeattack,undefined,::scripts\asm\slasher\slasher_asm::meleenotehandler,undefined,undefined,::scripts\asm\slasher\slasher_asm::choosemeleeattack,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("ground_pound",::scripts\asm\slasher\slasher_asm::playgroundpound,undefined,::scripts\asm\slasher\slasher_asm::groundpoundnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("melee_spin",::scripts\asm\slasher\slasher_asm::playmeleespinattack,undefined,::scripts\asm\slasher\slasher_asm::meleenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("block_intro",::scripts\asm\slasher\slasher_asm::playblockanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("block_loop",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("grenade_throw",::scripts\asm\slasher\slasher_asm::playgrenadethrowanim,undefined,::scripts\asm\slasher\slasher_asm::grenadethrownotehandler,::scripts\asm\slasher\slasher_asm::grenadethrowterminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("sawblade_shoot_transition_in",::scripts\asm\slasher\slasher_asm::playanimandlookatenemy,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("sawblade_shoot_idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("sawblade_attack",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("sawblade_shoot_transition_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("sawblade_shoot",::scripts\asm\slasher\slasher_asm::shootsawblades,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("aiming_turn",undefined,::scripts\asm\slasher\slasher_asm::func_BEA0,undefined);
lib_0A1A::func_2375("sawblade_shoot_transition_out",undefined,::scripts\asm\slasher\slasher_asm::issawbladeattackdone,undefined);
lib_0A1A::func_2375("sawblade_shoot_idle",undefined,::scripts\asm\slasher\slasher_asm::shouldstopshootingsawblade,undefined);
lib_0A1A::func_2374("sawblade_attack_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ram_attack",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ram_attack_start",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ram_attack_start",::scripts\asm\slasher\slasher_asm::playanimandlookatenemy,undefined,undefined,::scripts\asm\slasher\slasher_asm::ram_attack_start_terminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("ram_attack_loop",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("ram_attack_loop",::scripts\asm\slasher\slasher_asm::playramattackloop,1,undefined,::scripts\asm\slasher\slasher_asm::ram_attack_loop_terminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("ram_attack_anim",0.05,::scripts\asm\slasher\slasher_asm::shouldstartramanim,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"ram_attack");
lib_0A1A::func_2374("ram_attack_anim",::scripts\asm\slasher\slasher_asm::playramattackanim,1.5,::scripts\asm\slasher\slasher_asm::ramattacknotehandler,::scripts\asm\slasher\slasher_asm::ram_attack_anim_terminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("ram_attack_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("ram_attack_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_walk",undefined,::trans_check_move_to_idle_exit_walk0,undefined);
lib_0A1A::func_2374("idle_exit_walk",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_loop",undefined,::trans_pass_walk_in_to_walk_loop1,undefined);
lib_0A1A::func_2374("walk_turn",::scripts\asm\slasher\slasher_asm::slasherplaysharpturnanim,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("walk_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_stop",undefined,::scripts\asm\slasher\slasher_asm::slashershouldstartarrival,undefined);
lib_0A1A::func_2375("walk_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_walk_out_to_move_done3,undefined);
lib_0A1A::func_2374("walk_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_move",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\slasher\slasher_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\slasher\slasher_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("walk_loop",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("taunt",::scripts\asm\slasher\slasher_asm::playtauntanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"taunt");
lib_0A1A::func_2374("sawblade_shoot_transition_out",::scripts\asm\slasher\slasher_asm::playanimandlookatenemy,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("sawblade_attack_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("sawblade_shoot_idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("aiming_turn",undefined,::scripts\asm\slasher\slasher_asm::func_BEA0,undefined);
lib_0A1A::func_2375("sawblade_shoot_transition_out",undefined,::scripts\asm\slasher\slasher_asm::issawbladeattackdone,undefined);
lib_0A1A::func_2375("sawblade_shoot",undefined,::scripts\asm\slasher\slasher_asm::shouldshootsawblade,undefined);
lib_0A1A::func_2374("teleport_in",::scripts\asm\slasher\slasher_asm::playanimwithplaybackrate,2,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("teleport_out",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"teleport");
lib_0A1A::func_2374("summon",::lib_0F3C::func_CEA8,undefined,::scripts\asm\slasher\slasher_asm::summonnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("melee_spin",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("ground_pound",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("swipe_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("block",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("jump_across_196",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_over_30_out_30_down_48",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_over_30_out_30_down_48",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_56",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40_out_30",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40_out_30",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_across_196_norestart",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40_norestart",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56_over_40_norestart",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_over_30_out_30_down_48_norestart",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_over_30_out_30_down_48",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128_norestart",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_56_norestart",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40_out_30_norestart",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40_out_30",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("slasher_aimset",undefined,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("aiming_turn",::scripts\asm\slasher\slasher_asm::func_D56A,undefined,undefined,undefined,undefined,::scripts\asm\slasher\slasher_asm::func_3F0A,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("sawblade_shoot_idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("block",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("block_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("block_loop",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("block_outro",undefined,::scripts\asm\slasher\slasher_asm::shouldendblock,undefined);
lib_0A1A::func_2374("block_outro",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("teleport",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("teleport_out",::scripts\asm\slasher\slasher_asm::playteleportout,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"teleport");
lib_0A1A::func_2374("traverse_external",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\slasher\slasher_asm::ontraversalteleport,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_check_move_to_idle_exit_walk0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_pass_walk_in_to_walk_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 4
trans_pass_walk_out_to_move_done3(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}

View File

@ -0,0 +1,955 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\slasher\slasher_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 58
* Decompile Time: 3073 ms
* Timestamp: 10/27/2023 12:02:12 AM
*******************************************************************/
//Function Number: 1
slasherinit(param_00,param_01,param_02,param_03)
{
lib_0C75::func_13F9A(param_00,param_01,param_02,param_03);
self.var_71D0 = ::scripts\mp\agents\slasher\slasher_agent::shouldslasherplaypainanim;
self setscriptablepartstate("slasher_audio","normal");
}
//Function Number: 2
isvalidslasheraction(param_00)
{
switch(param_00)
{
case "grenade_throw":
case "melee_spin":
case "swipe_attack":
case "block":
case "ram_attack":
case "sawblade_attack":
case "summon":
case "teleport":
case "ground_pound":
case "taunt":
return 1;
}
return 0;
}
//Function Number: 3
setslasheraction(param_00)
{
self.requested_action = param_00;
}
//Function Number: 4
clearslasheraction()
{
self.requested_action = undefined;
}
//Function Number: 5
issawbladeattackdone(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 1;
}
if(self.requested_action != "sawblade_attack")
{
return 1;
}
return 0;
}
//Function Number: 6
shouldendblock(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action) || self.requested_action != "block")
{
return 1;
}
return 0;
}
//Function Number: 7
shouldshootsawblade(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(!lib_0A1B::func_291C())
{
return 0;
}
return 1;
}
//Function Number: 8
shouldstopshootingsawblade(param_00,param_01,param_02,param_03)
{
return !shouldshootsawblade(param_00,param_01,param_02,param_03);
}
//Function Number: 9
shouldplayentranceanim(param_00,param_01,param_02,param_03)
{
return 0;
}
//Function Number: 10
playanimandlookatenemy(param_00,param_01,param_02,param_03)
{
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\slasher\slasher_agent::getenemy());
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1);
}
//Function Number: 11
isanimdone(param_00,param_01,param_02,param_03)
{
if(lib_0A1A::func_232B(param_01,"end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"early_end"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"finish_early"))
{
return 1;
}
if(lib_0A1A::func_232B(param_01,"code_move"))
{
return 1;
}
return 0;
}
//Function Number: 12
playtauntanim(param_00,param_01,param_02,param_03)
{
self notify("taunt");
thread lib_0C73::func_6A6A(param_01,scripts\mp\agents\slasher\slasher_agent::getenemy());
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 13
dosummonspawn()
{
}
//Function Number: 14
dogroundpounddamage(param_00,param_01)
{
if(isdefined(param_00))
{
self endon(param_00 + "_finished");
}
if(isdefined(param_01))
{
wait(param_01);
}
var_02 = scripts\mp\agents\slasher\slasher_tunedata::gettunedata();
foreach(var_04 in level.players)
{
if(isalive(var_04))
{
if(distancesquared(self.origin,var_04.origin) < var_02.ground_pound_damage_radius_sq)
{
lib_0C73::func_5904(var_04,self.ground_pound_damage,"MOD_IMPACT");
}
}
}
}
//Function Number: 15
groundpoundnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "groundpound")
{
dogroundpounddamage();
}
}
//Function Number: 16
playgroundpound(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread dogroundpounddamage(param_01,0.75);
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 17
summonnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "start_summon_zombies")
{
dosummonspawn();
}
}
//Function Number: 18
meleenotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
var_04 = scripts\mp\agents\slasher\slasher_agent::getenemy();
if(isdefined(var_04))
{
if(distancesquared(var_04.origin,self.origin) < -25536)
{
self notify("attack_hit",var_04);
lib_0C73::func_5904(var_04,self.var_B601,"MOD_IMPACT");
}
else
{
self notify("attack_miss",var_04);
}
}
if(!scripts\common\utility::istrue(self.bmovingmelee))
{
self notify("stop_melee_face_enemy");
return;
}
return;
}
if(param_00 == "spin_attack_damage_begin")
{
thread startspinattackdamage(param_01);
return;
}
if(param_00 == "spin_attack_damage_end")
{
stopspinattackdamage();
return;
}
}
//Function Number: 19
shouldstartramanim(param_00,param_01,param_02,param_03)
{
if(lib_0A1B::func_2953(param_00,param_01,param_02,param_03))
{
return 1;
}
return 0;
}
//Function Number: 20
func_100AD(param_00,param_01,param_02,param_03)
{
if(!lib_0A1B::func_298A())
{
return 0;
}
return 1;
}
//Function Number: 21
func_2481(param_00,param_01,param_02)
{
self attach(param_01,param_02);
thread func_5392(param_00,param_01,param_02);
return param_02;
}
//Function Number: 22
func_5392(param_00,param_01,param_02)
{
self endon("stop grenade check");
self waittill(param_00 + "_finished");
if(!isdefined(self))
{
return;
}
self detach(param_01,param_02);
}
//Function Number: 23
grenadethrownotehandler(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "grenade_right":
case "grenade_left":
break;
case "grenade_throw":
if(scripts\common\utility::istrue(self.grenade_thrown))
{
return;
}
self.grenade_thrown = 1;
self notify("stop grenade check");
var_04 = lib_0A1B::func_2930();
if(isdefined(var_04))
{
var_05 = self.var_1B2;
var_06 = self method_806C(scripts\mp\agents\slasher\slasher_agent::getslashergrenadehandoffset(),var_05,0,"min time","min energy");
if(isdefined(var_06))
{
self method_83C2();
lib_0A1A::func_232F("grenade_throw","thrown");
}
else if(isdefined(self.enemygrenadepos))
{
var_06 = self method_806C(scripts\mp\agents\slasher\slasher_agent::getslashergrenadehandoffset(),self.enemygrenadepos,0,"min time","min energy");
if(isdefined(var_06))
{
self method_83C2();
lib_0A1A::func_232F("grenade_throw","thrown");
}
}
}
break;
}
}
//Function Number: 24
playgrenadethrowanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
scripts\mp\agents\slasher\slasher_agent::lookatslasherenemy();
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 25
grenadethrowterminate(param_00,param_01,param_02)
{
self.grenade_thrown = undefined;
}
//Function Number: 26
shouldabortaction(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.btraversalteleport))
{
return 0;
}
if(!isdefined(self.requested_action))
{
return 1;
}
if(isdefined(param_03))
{
if(self.requested_action != param_03)
{
return 1;
}
}
return 0;
}
//Function Number: 27
shoulddoaction(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.requested_action))
{
return 0;
}
if(self.requested_action == param_02)
{
return 1;
}
return 0;
}
//Function Number: 28
firebladeburst(param_00,param_01,param_02)
{
self endon(param_00 + "_finished");
var_03 = scripts\mp\agents\slasher\slasher_tunedata::gettunedata();
var_04 = randomintrange(var_03.min_burst_count,var_03.max_burst_count);
for(var_05 = 0;var_05 < var_04;var_05++)
{
var_06 = (randomfloatrange(var_03.sawblade_min_offset,var_03.sawblade_max_offset),randomfloatrange(var_03.sawblade_min_offset,var_03.sawblade_max_offset),randomfloatrange(var_03.sawblade_min_offset,var_03.sawblade_max_offset));
var_07 = magicbullet("iw7_slasher_sawblade_mp",param_01,param_02 + var_06,self);
var_08 = getdvar("ui_mapname");
if(var_08 != "cp_final")
{
var_07 thread hide_and_show_blade();
}
wait(var_03.sawblade_burst_interval);
}
}
//Function Number: 29
fireblades(param_00)
{
self endon(param_00 + "_finished");
wait(0.2);
var_01 = scripts\mp\agents\slasher\slasher_tunedata::gettunedata();
for(;;)
{
var_02 = scripts\mp\agents\slasher\slasher_agent::getenemy();
if(isdefined(var_02) && isdefined(self.var_1C2))
{
var_03 = self gettagorigin("j_wrist_ri");
var_04 = self.var_1C2;
if(randomint(100) < var_01.sawblade_burst_chance)
{
self notify("attack_shoot",var_02);
firebladeburst(param_00,var_03,var_04);
}
else
{
var_05 = (randomfloatrange(var_01.sawblade_min_offset,var_01.sawblade_max_offset),randomfloatrange(var_01.sawblade_min_offset,var_01.sawblade_max_offset),randomfloatrange(var_01.sawblade_min_offset,var_01.sawblade_max_offset));
var_06 = magicbullet("iw7_slasher_sawblade_mp",var_03,var_04 + var_05,self);
var_07 = getdvar("ui_mapname");
if(var_07 != "cp_final")
{
var_06 thread hide_and_show_blade();
}
}
var_08 = randomfloatrange(var_01.min_sawblade_fire_interval,var_01.max_sawblade_fire_interval);
wait(var_08);
continue;
}
wait(0.1);
}
}
//Function Number: 30
hide_and_show_blade()
{
level endon("game_ended");
self endon("death");
foreach(var_01 in level.players)
{
if(!scripts\common\utility::istrue(var_01.var_DCEB))
{
self method_8429(var_01);
}
}
}
//Function Number: 31
shootsawblades(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread fireblades(param_01);
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 32
playanimwithplaybackrate(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = param_03;
var_05 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_05,var_04);
}
//Function Number: 33
playblockanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = vectortoangles(self.damageaccumulator.lastdir * -1);
var_04 = (0,var_04[1],0);
self method_8289("face angle abs",var_04);
self method_8281("anim deltas");
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 34
func_BEA0(param_00,param_01,param_02,param_03)
{
var_04 = undefined;
var_05 = scripts\mp\agents\slasher\slasher_agent::getenemy();
if(isdefined(self.var_1198.var_FECD) && isdefined(self.var_1198.var_FECD.var_65D3))
{
var_04 = self.var_1198.var_FECD.var_65D3.origin;
}
else if(isdefined(self.var_1198.var_FECD) && isdefined(self.var_1198.var_FECD.var_D699))
{
var_04 = self.var_1198.var_FECD.var_D699;
}
else if(isdefined(var_05))
{
var_04 = var_05.origin;
}
if(!isdefined(var_04))
{
return 0;
}
var_06 = self.angles[1] - vectortoyaw(var_04 - self.origin);
var_07 = distancesquared(self.origin,var_04);
if(var_07 < 65536)
{
var_08 = sqrt(var_07);
if(var_08 > 3)
{
var_06 = var_06 + asin(-3 / var_08);
}
}
if(abs(angleclamp180(var_06)) > self.var_129AF)
{
return 1;
}
return 0;
}
//Function Number: 35
func_81DE()
{
var_00 = 0.25;
var_01 = undefined;
var_02 = undefined;
if(isdefined(self.var_1198.var_FECD))
{
if(isdefined(self.var_1198.var_FECD.var_65D3))
{
var_01 = self.var_1198.var_FECD.var_65D3;
}
else if(isdefined(self.var_1198.var_FECD.var_D699))
{
var_02 = self.var_1198.var_FECD.var_D699;
}
}
var_03 = scripts\mp\agents\slasher\slasher_agent::getenemy();
if(isdefined(var_03))
{
if(!isdefined(var_01) && !isdefined(var_02))
{
var_01 = var_03;
}
}
if(isdefined(var_01) && !issentient(var_01))
{
var_00 = 1.5;
}
var_04 = scripts\common\utility::func_8094(var_00,var_01,var_02);
return var_04;
}
//Function Number: 36
func_3F0A(param_00,param_01,param_02)
{
var_03 = func_81DE();
if(var_03 < 0)
{
var_04 = "right";
}
else
{
var_04 = "left";
}
var_03 = abs(var_03);
var_05 = 0;
if(var_03 > 157.5)
{
var_05 = 180;
}
else if(var_03 > 112.5)
{
var_05 = 135;
}
else if(var_03 > 67.5)
{
var_05 = 90;
}
else
{
var_05 = 45;
}
var_06 = var_04 + "_" + var_05;
var_07 = lib_0A1A::func_2358(param_01,var_06);
var_08 = self method_8101(param_01,var_07);
return var_07;
}
//Function Number: 37
func_D56A(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self.var_233;
self method_8289("face angle abs",self.angles);
self method_8281("anim deltas");
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
if(!isdefined(var_05) && isdefined(self.var_233))
{
self method_841F();
}
lib_0A1D::func_237F("face current");
lib_0A1D::func_237E("code_move");
}
//Function Number: 38
doramattackdamage(param_00)
{
param_00 endon("death");
if(scripts\common\utility::istrue(self.bramattackdamageoccured))
{
return;
}
var_01 = vectornormalize(self getvelocity());
var_02 = scripts\mp\agents\slasher\slasher_tunedata::gettunedata();
self.bramattackdamageoccured = 1;
param_00 method_84DC(var_01,var_02.ram_attack_push);
wait(0.2);
var_03 = int(var_02.ram_attack_damage / 100 * param_00.maxhealth);
lib_0C73::func_5904(param_00,var_03,"MOD_IMPACT");
}
//Function Number: 39
ramattacknotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
if(isdefined(self.var_4B26))
{
var_04 = scripts\mp\agents\slasher\slasher_tunedata::gettunedata();
var_05 = distancesquared(self.origin,self.var_4B26.origin);
if(var_05 < var_04.ram_attack_melee_dist_sq && lib_0C73::func_9DD7(self.var_4B26,var_04.ram_attack_dot))
{
thread doramattackdamage(self.var_4B26);
return;
}
}
}
}
//Function Number: 40
handleramattackprocessing(param_00,param_01,param_02)
{
self endon(param_00 + "_finished");
if(!isdefined(param_01))
{
return;
}
self setscriptablepartstate("slasher_audio","charge");
var_03 = 1;
var_04 = scripts\mp\agents\slasher\slasher_tunedata::gettunedata();
self notify("attack_charge");
for(;;)
{
var_05 = distance2dsquared(self.origin,param_01.origin);
if(var_03 && var_05 > var_04.ram_attack_go_straight_radius_sq)
{
var_06 = param_01 getvelocity();
var_07 = param_01.origin + var_06 * 0.15;
var_08 = var_07 - self.origin;
var_08 = (var_08[0],var_08[1],0);
var_08 = vectornormalize(var_08);
self method_8289("face angle abs",vectortoangles(var_08));
}
else if(var_03)
{
var_03 = 0;
}
if(param_02 && var_05 < var_04.ram_attack_collision_dist_sq)
{
if(lib_0C73::func_9DD7(param_01,var_04.ram_attack_dot))
{
thread doramattackdamage(param_01);
break;
}
}
scripts\common\utility::func_136F7();
if(!isdefined(param_01) || !isalive(param_01))
{
break;
}
}
self setscriptablepartstate("slasher_audio","normal");
}
//Function Number: 41
playramattackanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread handleramattackprocessing(param_01,self.var_4B26,0);
playanimwithplaybackrate(param_00,param_01,param_02,param_03);
self setscriptablepartstate("slasher_audio","normal");
}
//Function Number: 42
playramattackloop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread handleramattackprocessing(param_01,self.var_4B26,1);
playanimwithplaybackrate(param_00,param_01,param_02,param_03);
}
//Function Number: 43
playmeleeattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
}
//Function Number: 44
playmeleespinattack(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0C73::func_6A6A(param_01,self.var_4B26);
var_04 = lib_0A1D::func_2337(param_00,param_01);
lib_0A1D::func_2365(param_00,param_01,param_02,var_04);
}
//Function Number: 45
startspinattackdamage(param_00)
{
self endon(param_00 + "_finished");
self endon("StopSpinAttackDamage");
var_01 = [];
var_02 = scripts\mp\agents\slasher\slasher_tunedata::gettunedata();
for(;;)
{
var_03 = self gettagangles("tag_eye");
var_03 = (0,var_03[1],0);
var_04 = anglestoforward(var_03);
foreach(var_06 in level.players)
{
if(lib_0F74::func_1002C(var_06))
{
continue;
}
if(!isalive(var_06))
{
continue;
}
var_07 = distance2dsquared(var_06.origin,self.origin);
if(var_07 > var_02.slasher_spin_damage_range_sq)
{
continue;
}
var_08 = var_01[var_06 getentitynumber()];
if(isdefined(var_08))
{
if(gettime() - var_08 < 250)
{
continue;
}
}
var_09 = abs(var_06.origin[2] - self.origin[2]);
if(var_09 > 64)
{
continue;
}
var_0A = var_06.origin - self.origin * (1,1,0);
var_0B = vectornormalize(var_0A);
var_0C = vectordot(var_0B,var_04);
if(var_0C < 0.966)
{
continue;
}
var_01[var_06 getentitynumber()] = gettime();
lib_0C73::func_5904(var_06,var_02.slasher_spin_damage_amt,"MOD_IMPACT");
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 46
stopspinattackdamage()
{
self notify("StopSpinAttackDamage");
}
//Function Number: 47
slasherplaysharpturnanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
lib_0A1A::func_237B(1.5);
lib_0F3B::func_D514(param_00,param_01,param_02,param_03);
lib_0A1A::func_237B(1);
}
//Function Number: 48
slashershouldstartarrival(param_00,param_01,param_02,param_03)
{
var_04 = scripts\mp\agents\slasher\slasher_agent::getenemy();
if(isdefined(var_04))
{
var_05 = distancesquared(self.origin,var_04.origin);
if(var_05 < 65536)
{
return 0;
}
}
return lib_0C75::func_10092(param_00,param_01,param_02,param_03);
}
//Function Number: 49
choosemeleeattack(param_00,param_01,param_02)
{
if(lib_0A1B::func_2955())
{
var_03 = lib_0A1A::func_2358(param_01,"attack_moving");
}
else
{
var_03 = lib_0A1A::func_2358(param_02,"attack");
}
return var_03;
}
//Function Number: 50
func_3EE4(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}
//Function Number: 51
playmovingpainanim(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
if(!isdefined(self.var_233) || self method_841E() < scripts\mp\agents\slasher\slasher_tunedata::gettunedata().min_moving_pain_dist)
{
var_04 = func_3EE4(param_00,"pain_generic",param_03);
self method_8289("face angle abs",self.angles);
lib_0A1D::func_2365(param_00,"pain_generic",param_02,var_04,1);
return;
}
lib_0A1D::func_2364(param_01,param_02,param_03,var_04);
}
//Function Number: 52
playteleportout(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = scripts\mp\agents\slasher\slasher_agent::getenemy();
self setscriptablepartstate("teleport","hide");
if(soundexists("slasher_teleport_in"))
{
play_teleport_sound_to_players("slasher_teleport_in");
}
wait(0.1);
self hide();
self setorigin(self.teleportpos,0);
if(isdefined(var_05))
{
self.angles = vectortoangles(var_05.origin - self.origin);
}
self.teleportpos = undefined;
self method_8286(self.origin);
self method_841F();
thread showmelater();
if(!scripts\common\utility::istrue(self.btraversalteleport))
{
scripts\mp\agents\slasher\slasher_agent::lookatslasherenemy();
}
lib_0A1D::func_2365(param_00,param_01,param_02,var_04,1.5);
if(scripts\common\utility::istrue(self.btraversalteleport))
{
self.var_9CEC = undefined;
self.btraversalteleport = undefined;
self notify("traverse_end");
lib_0A1A::func_237C("decide_idle",param_03);
}
}
//Function Number: 53
showmelater()
{
wait(0.1);
if(soundexists("slasher_teleport_out"))
{
play_teleport_sound_to_players("slasher_teleport_out");
}
self setscriptablepartstate("teleport","show");
self show();
}
//Function Number: 54
play_teleport_sound_to_players(param_00)
{
foreach(var_02 in level.players)
{
if(!self method_85B8() || scripts\common\utility::istrue(var_02.var_DCEB))
{
self playsoundtoplayer(param_00,var_02);
}
}
}
//Function Number: 55
ontraversalteleport(param_00,param_01,param_02,param_03)
{
self.teleportpos = self method_8146();
self.btraversalteleport = 1;
return 1;
}
//Function Number: 56
ram_attack_anim_terminate(param_00,param_01,param_02)
{
self setscriptablepartstate("slasher_audio","normal");
}
//Function Number: 57
ram_attack_start_terminate(param_00,param_01,param_02)
{
self setscriptablepartstate("slasher_audio","normal");
}
//Function Number: 58
ram_attack_loop_terminate(param_00,param_01,param_02)
{
self setscriptablepartstate("slasher_audio","normal");
}

View File

@ -0,0 +1,169 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\slasher_dlc4\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 4
* Decompile Time: 377 ms
* Timestamp: 10/27/2023 12:02:13 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("slasher_dlc4"))
{
return;
}
lib_0A1A::func_230B("slasher_dlc4","slasher_start");
lib_0A1A::func_2374("slasher_start",::scripts\asm\slasher\slasher_asm::slasherinit,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("entrance",undefined,::scripts\asm\slasher\slasher_asm::shouldplayentranceanim,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_move",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("entrance",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_actions",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("swipe_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("ground_pound",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("melee_spin",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("grenade_throw",undefined,::scripts\asm\slasher\slasher_asm::func_100AD,undefined);
lib_0A1A::func_2375("sawblade_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("ram_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("block",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("summon",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("swipe_attack",::scripts\asm\slasher\slasher_asm::playmeleeattack,undefined,::scripts\asm\slasher\slasher_asm::meleenotehandler,undefined,undefined,::scripts\asm\slasher\slasher_asm::choosemeleeattack,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("ground_pound",::scripts\asm\slasher\slasher_asm::playgroundpound,undefined,::scripts\asm\slasher\slasher_asm::groundpoundnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("melee_spin",::scripts\asm\slasher\slasher_asm::playmeleespinattack,undefined,::scripts\asm\slasher\slasher_asm::meleenotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("block_intro",::scripts\asm\slasher\slasher_asm::playblockanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("block_loop",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("grenade_throw",::scripts\asm\slasher\slasher_asm::playgrenadethrowanim,undefined,::scripts\asm\slasher\slasher_asm::grenadethrownotehandler,::scripts\asm\slasher\slasher_asm::grenadethrowterminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("sawblade_shoot_transition_in",::scripts\asm\slasher\slasher_asm::playanimandlookatenemy,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("sawblade_shoot_idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("sawblade_attack",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("sawblade_shoot_transition_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("sawblade_shoot",::scripts\asm\slasher\slasher_asm::shootsawblades,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("aiming_turn",undefined,::scripts\asm\slasher\slasher_asm::func_BEA0,undefined);
lib_0A1A::func_2375("sawblade_shoot_transition_out",undefined,::scripts\asm\slasher\slasher_asm::issawbladeattackdone,undefined);
lib_0A1A::func_2375("sawblade_shoot_idle",undefined,::scripts\asm\slasher\slasher_asm::shouldstopshootingsawblade,undefined);
lib_0A1A::func_2374("sawblade_attack_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ram_attack",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ram_attack_start",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ram_attack_start",::scripts\asm\slasher\slasher_asm::playanimandlookatenemy,undefined,undefined,::scripts\asm\slasher\slasher_asm::ram_attack_start_terminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("ram_attack_loop",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("ram_attack_loop",::scripts\asm\slasher\slasher_asm::playramattackloop,1,undefined,::scripts\asm\slasher\slasher_asm::ram_attack_loop_terminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("ram_attack_anim",0.05,::scripts\asm\slasher\slasher_asm::shouldstartramanim,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"ram_attack");
lib_0A1A::func_2374("ram_attack_anim",::scripts\asm\slasher\slasher_asm::playramattackanim,1.5,::scripts\asm\slasher\slasher_asm::ramattacknotehandler,::scripts\asm\slasher\slasher_asm::ram_attack_anim_terminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("ram_attack_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("ram_attack_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("action_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3F00,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("death_moving",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0C71::func_3EE2,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2374("check_move",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle_exit_walk",undefined,::trans_check_move_to_idle_exit_walk0,undefined);
lib_0A1A::func_2374("idle_exit_walk",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"finish");
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_in",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_loop",undefined,::trans_pass_walk_in_to_walk_loop1,undefined);
lib_0A1A::func_2374("walk_turn",::scripts\asm\slasher\slasher_asm::slasherplaysharpturnanim,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("walk_loop",::lib_0C75::func_D4E3,"walk",undefined,undefined,undefined,::lib_0C75::func_3EE1,undefined,undefined,undefined,undefined,undefined,"pain_moving",undefined,"death_moving",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("pass_walk_out",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pass_walk_out",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_actions",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("walk_stop",undefined,::scripts\asm\slasher\slasher_asm::slashershouldstartarrival,undefined);
lib_0A1A::func_2375("walk_turn",undefined,::lib_0F3B::func_FFF8,"walk_turn");
lib_0A1A::func_2375("move_done",undefined,::trans_pass_walk_out_to_move_done3,undefined);
lib_0A1A::func_2374("walk_stop",::lib_0C75::func_CEAE,undefined,undefined,undefined,undefined,::lib_0F3A::func_3E97,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_moving",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("pass_walk_in",undefined,::lib_0A1A::func_68B0,"abort");
lib_0A1A::func_2375("move_done",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_done",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("decide_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("check_move",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("pain_generic",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::scripts\asm\slasher\slasher_asm::func_3EE4,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("pain_moving",::scripts\asm\slasher\slasher_asm::playmovingpainanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("walk_loop",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("decide_idle",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("taunt",::scripts\asm\slasher\slasher_asm::playtauntanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"taunt");
lib_0A1A::func_2374("sawblade_shoot_transition_out",::scripts\asm\slasher\slasher_asm::playanimandlookatenemy,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("sawblade_attack_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("sawblade_shoot_idle",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("check_interruptables",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("aiming_turn",undefined,::scripts\asm\slasher\slasher_asm::func_BEA0,undefined);
lib_0A1A::func_2375("sawblade_shoot_transition_out",undefined,::scripts\asm\slasher\slasher_asm::issawbladeattackdone,undefined);
lib_0A1A::func_2375("sawblade_shoot",undefined,::scripts\asm\slasher\slasher_asm::shouldshootsawblade,undefined);
lib_0A1A::func_2374("teleport_in",::scripts\asm\slasher\slasher_asm::playanimwithplaybackrate,2,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("teleport_out",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"teleport");
lib_0A1A::func_2374("summon",::lib_0F3C::func_CEA8,undefined,::scripts\asm\slasher\slasher_asm::summonnotehandler,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("check_interruptables",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("melee_spin",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("ground_pound",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("swipe_attack",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("block",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2375("teleport",undefined,::scripts\asm\slasher\slasher_asm::shoulddoaction,undefined);
lib_0A1A::func_2374("slasher_aimset",undefined,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("aiming_turn",::scripts\asm\slasher\slasher_asm::func_D56A,undefined,undefined,undefined,undefined,::scripts\asm\slasher\slasher_asm::func_3F0A,undefined,undefined,undefined,undefined,undefined,"pain_generic",undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("sawblade_shoot_idle",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("block",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("block_intro",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("block_loop",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("block_outro",undefined,::scripts\asm\slasher\slasher_asm::shouldendblock,undefined);
lib_0A1A::func_2374("block_outro",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2374("teleport",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("teleport_out",::scripts\asm\slasher\slasher_asm::playteleportout,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::isanimdone,undefined);
lib_0A1A::func_2375("action_done",undefined,::scripts\asm\slasher\slasher_asm::shouldabortaction,"teleport");
lib_0A1A::func_2374("traverse_external",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("teleport_in",undefined,::scripts\asm\slasher\slasher_asm::ontraversalteleport,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_check_move_to_idle_exit_walk0(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 3
trans_pass_walk_in_to_walk_loop1(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_2955();
}
//Function Number: 4
trans_pass_walk_out_to_move_done3(param_00,param_01,param_02,param_03)
{
return !lib_0A1B::func_2955();
}

View File

@ -0,0 +1,130 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\superslasher\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 1
* Decompile Time: 112 ms
* Timestamp: 10/27/2023 12:02:14 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("superslasher"))
{
return;
}
lib_0A1A::func_230B("superslasher","superslasherinit");
lib_0A1A::func_2374("superslasherinit",::scripts\asm\superslasher\superslasher_asm::superslasher_init,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ground_idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("rooftop_idle",::scripts\asm\superslasher\superslasher_asm::ss_play_roofidle,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("jump_to_ground",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_gotogroundrequested,undefined);
lib_0A1A::func_2375("rooftop_taunt",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_tauntrequested,undefined);
lib_0A1A::func_2375("roof_throw_saw",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldthrowsaw,undefined);
lib_0A1A::func_2375("roof_wires",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_wiresrequested,undefined);
lib_0A1A::func_2375("roof_shockwave_start",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shockwaverequested,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_to_ground",::scripts\asm\superslasher\superslasher_asm::ss_play_jumptoground,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumptoground_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"jumptoground",undefined,undefined,undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_idle",::scripts\asm\superslasher\superslasher_asm::ss_play_groundidle,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_groundidle_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("intro",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shoulddointro,undefined);
lib_0A1A::func_2375("ground_jump_move_pass",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldjumpmove,undefined);
lib_0A1A::func_2375("jump_to_roof",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_gotoroofrequested,undefined);
lib_0A1A::func_2375("ground_pound",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_groundpoundrequested,undefined);
lib_0A1A::func_2375("ground_swipe",undefined,::lib_0A1B::func_2953,undefined);
lib_0A1A::func_2375("ground_stomp",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_stomprequested,undefined);
lib_0A1A::func_2375("ground_idle_turn",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_needstoturn,undefined);
lib_0A1A::func_2375("move_exit",undefined,::lib_0A1A::func_BCE7,undefined);
lib_0A1A::func_2375("ground_throw_saw_charge_start",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldthrowsaw,undefined);
lib_0A1A::func_2375("ground_throw_saw_fan",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldthrowsawfan,undefined);
lib_0A1A::func_2375("ground_sharks",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_sharksrequested,undefined);
lib_0A1A::func_2374("move_exit",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("move_exit_complete",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("move_exit_complete",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_loop",::scripts\asm\superslasher\superslasher_asm::superslasher_playmoveloop,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_playmoveloop_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("move_swipe",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldmovemelee,undefined);
lib_0A1A::func_2375("move_charge",undefined,::lib_0A1B::func_2950,undefined);
lib_0A1A::func_2375("ground_jump_move_pass",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldjumpmove,undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_C17F,undefined);
lib_0A1A::func_2375("move_arrival",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldstartarrival,undefined);
lib_0A1A::func_2375("move_turn",undefined,::lib_0F3B::func_FFF8,"move_turn");
lib_0A1A::func_2374("move_arrival",::scripts\asm\superslasher\superslasher_asm::ss_play_arrival,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_arrival_clean,undefined,::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("rooftop_taunt",::scripts\asm\superslasher\superslasher_asm::ss_play_rooftaunt,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_rooftaunt_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"tauntanim","face current","anim deltas",undefined);
lib_0A1A::func_2375("rooftop_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_pound",::scripts\asm\superslasher\superslasher_asm::ss_play_groundpound,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"groundpoundanim","face current","anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_turn",::scripts\asm\shared\mp\move_v2::playsharpturnanimv2,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("move_loop",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("move_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_idle_turn",::scripts\asm\superslasher\superslasher_asm::ss_play_turn,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_turn_clean,undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_chooseanim_turn,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"turn_done");
lib_0A1A::func_2374("move_swipe",::scripts\asm\superslasher\superslasher_asm::ss_play_movemelee,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_movemelee_nt,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"meleeanim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_swipe",::scripts\asm\superslasher\superslasher_asm::ss_play_standmelee,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_movemelee_nt,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"meleeanim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_stagger",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"staggeranim","face current","anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("roof_throw_saw",::scripts\asm\superslasher\superslasher_asm::ss_play_throwsaw,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_throwsaw_nt,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"throwsawanim","face current","anim deltas",undefined);
lib_0A1A::func_2375("rooftop_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_throw_saw",::scripts\asm\superslasher\superslasher_asm::ss_play_throwsaw,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_throwsaw_nt,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"throwsawanim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("roof_stagger",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("rooftop_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("move_charge",::scripts\asm\superslasher\superslasher_asm::ss_play_meleecharge,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_meleecharge_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("move_swipe",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldmovemelee,undefined);
lib_0A1A::func_2375("move_loop",undefined,::lib_0A1B::func_2957,undefined);
lib_0A1A::func_2374("move_exit_complete",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("move_charge",undefined,::lib_0A1B::func_2950,undefined);
lib_0A1A::func_2375("move_loop",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ground_throw_saw_fan",::lib_0F3C::func_CEA8,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_throwsawfan_nt,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"sawfananim","face current","anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_jump_move",::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_nt,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_clean,undefined,::lib_0F3C::func_3E96,"arc",undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_jump_move_end",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_trapped",::scripts\asm\superslasher\superslasher_asm::ss_play_trapped,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_trapped_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"trap_end");
lib_0A1A::func_2374("ground_throw_saw_charge_start",::scripts\asm\superslasher\superslasher_asm::ss_play_sawcharge_start,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_sawcharge_start_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_throw_saw_charge_start_complete",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_throw_saw_charge_loop",::scripts\asm\superslasher\superslasher_asm::ss_play_sawcharge,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_sawcharge_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("ground_throw_saw",undefined,::lib_0A1A::func_68B0,"saw_charge_loop_complete");
lib_0A1A::func_2374("ground_throw_saw_charge_start_complete",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ground_throw_saw_charge_loop",undefined,::scripts\asm\superslasher\superslasher_asm::superslasher_shouldsawchargeloop,undefined);
lib_0A1A::func_2375("ground_throw_saw",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ground_stomp",::scripts\asm\superslasher\superslasher_asm::ss_play_stomp,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"stompanim",undefined,"anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_jump_move_start",::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_start,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_nt,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_start_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_jump_move",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_jump_move_end",::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_end,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_nt,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_end_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("jump_to_roof",::scripts\asm\superslasher\superslasher_asm::ss_play_jumptoroof,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumptoroof_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"jumptoroof",undefined,undefined,undefined);
lib_0A1A::func_2375("rooftop_turn",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("rooftop_turn",::scripts\asm\superslasher\superslasher_asm::ss_play_turn,undefined,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_turn_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("rooftop_idle",undefined,::lib_0A1A::func_68B0,"turn_done");
lib_0A1A::func_2374("ground_jump_move_end_2",::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_end,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_nt,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_end_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_jump_move_2",::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_nt,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_clean,undefined,::lib_0F3C::func_3E96,"arc",undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_jump_move_end_2",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_jump_move_start_2",::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_start,undefined,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_nt,::scripts\asm\superslasher\superslasher_asm::ss_play_jumpmove_start_clean,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("ground_jump_move_2",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("ground_jump_move_randomizer",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ground_jump_move_start",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2375("ground_jump_move_start_2",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("ground_jump_move_pass",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("ground_jump_move_randomizer",undefined,::scripts\asm\shared_utility::func_DCB8,undefined);
lib_0A1A::func_2374("roof_wires",::scripts\asm\superslasher\superslasher_asm::ss_play_wires,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"wiresanim","face current","anim deltas",undefined);
lib_0A1A::func_2375("rooftop_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("roof_shockwave_loop",::scripts\asm\superslasher\superslasher_asm::ss_play_shockwave_loop,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("roof_shockwave_end",undefined,::lib_0A1A::func_68B0,"shockwave_loop_complete");
lib_0A1A::func_2374("ground_sharks",::scripts\asm\superslasher\superslasher_asm::ss_play_summonsharks,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"sharksanim","face current","anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("roof_shockwave_start",::scripts\asm\superslasher\superslasher_asm::ss_play_shockwave_start,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("roof_shockwave_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("roof_shockwave_end",::scripts\asm\superslasher\superslasher_asm::ss_play_shockwave_finish,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"shockwaveanim",undefined,undefined,undefined);
lib_0A1A::func_2375("rooftop_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("intro",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"intro_anim","face current","anim deltas",undefined);
lib_0A1A::func_2375("ground_idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2327();
}

View File

@ -0,0 +1,864 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\superslasher\superslasher_actions.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 44
* Decompile Time: 2465 ms
* Timestamp: 10/27/2023 12:02:16 AM
*******************************************************************/
//Function Number: 1
superslasher_domeleedamage()
{
var_00 = 60;
if(isdefined(self.var_233))
{
var_01 = -28672;
}
else
{
var_01 = 25600;
}
var_02 = 72;
var_03 = 0.707;
var_04 = 5184;
var_05 = 0.174;
var_06 = anglestoforward(self.angles);
foreach(var_08 in level.players)
{
if(!isalive(var_08))
{
continue;
}
var_09 = var_08.origin - self.origin;
var_0A = lengthsquared(var_09);
if(var_0A > var_01)
{
continue;
}
if(abs(var_09[2]) > var_02)
{
continue;
}
var_0B = (var_09[0],var_09[1],0);
var_09 = vectornormalize(var_0B);
var_0C = vectordot(var_09,var_06);
if(var_0A < var_04)
{
if(var_0C < var_05)
{
continue;
}
}
else if(var_0C < var_03)
{
continue;
}
lib_0C73::func_5904(var_08,0.8 * var_08.maxhealth,"MOD_IMPACT");
var_0D = 20;
if(!self isonground())
{
var_0D = var_0D * 0.05;
}
var_0E = vectornormalize(var_08.origin + (0,0,45) - self.origin);
var_0F = var_0E * var_0D * 10;
var_08 setvelocity(var_0F);
}
}
//Function Number: 2
superslasher_dogroundpoundimpact()
{
self radiusdamage(self.origin,256,90,90,self,"MOD_IMPACT");
self setscriptablepartstate("groundpound","on");
}
//Function Number: 3
superslasher_summonminions(param_00)
{
self setscriptablepartstate("summon_minions","on");
if(param_00 == "ground")
{
dogenericsummons(self.nextsummonid,param_00,1.5,undefined);
}
else
{
dowallsummon(self.nextsummonid,param_00);
}
self.nextsummonid++;
}
//Function Number: 4
dogenericsummons(param_00,param_01,param_02,param_03)
{
var_04 = [(-4479,3951,-161),(-4200,4030,-164),(-4340,4527,-146),(-4174,4895,-144),(-4186,5220,-154),(-4261,5478,-160),(-4437,5668,-150),(-4805,5547,-134),(-4829,5045,-140),(-5111,4425,-67),(-4469,4789,-151),(-4642,4542,-156)];
var_05 = [130,146,160,193,163,205,238,266,291,12,237,85];
if(!isdefined(self.spawnwave))
{
self.spawnwave = 0;
}
var_06 = min(self.spawnwave,10);
self.spawnwave++;
var_07 = [];
for(var_08 = 0;var_08 < var_04.size;var_08++)
{
var_07[var_07.size] = var_08;
}
var_09 = scripts\common\utility::array_randomize(var_07);
var_0A = var_09.size;
if(param_01 == "ground")
{
var_0A = 8;
}
summontracker_init(param_00,var_0A,param_03);
if(param_02 <= 0)
{
param_02 = 0.05;
}
}
//Function Number: 5
dowallsummon(param_00,param_01)
{
thread dowalls(param_00);
wait(0.1);
dogenericsummons(param_00,param_01,0.05,::wallsummon_allguysdead);
}
//Function Number: 6
summontracker_init(param_00,param_01,param_02)
{
if(!isdefined(self.summontracker))
{
self.summontracker = [];
}
var_03 = spawnstruct();
var_03.guysremaining = param_01;
var_03.fnallguysdead = param_02;
self.summontracker[param_00] = var_03;
}
//Function Number: 7
summontracker_decrement(param_00)
{
if(!isdefined(self))
{
return;
}
var_01 = self.summontracker[param_00];
var_01.guysremaining--;
if(var_01.guysremaining == 0)
{
if(isdefined(var_01.fnallguysdead))
{
self [[ var_01.fnallguysdead ]](param_00);
}
self.summontracker[param_00] = undefined;
}
}
//Function Number: 8
summoned_waitfordeath(param_00,param_01)
{
param_01 waittill("death");
summontracker_decrement(param_00);
}
//Function Number: 9
wallsummon_allguysdead(param_00)
{
self notify("wallSummonComplete_" + param_00);
}
//Function Number: 10
dowalls(param_00)
{
}
//Function Number: 11
dowall(param_00,param_01,param_02,param_03,param_04,param_05)
{
level endon("game_ended");
}
//Function Number: 12
dowall_waitfortimeordone(param_00,param_01)
{
self endon("wallSummonComplete_" + param_00);
wait(param_01);
}
//Function Number: 13
checkwallsummondamage(param_00,param_01,param_02,param_03,param_04,param_05,param_06)
{
self endon("killWallSummon_" + param_00);
level endon("game_ended");
var_07 = 100;
var_08 = var_07 / 1000;
var_09 = param_05;
for(;;)
{
var_09 = var_09 - var_07;
if(var_09 <= 0)
{
break;
}
var_0A = param_05 - var_09 / param_05;
var_0B = param_01 + param_04 * var_0A * param_03;
foreach(var_0D in level.players)
{
if(isalive(var_0D) && var_0D getstance() != "prone")
{
var_0E = var_0D.origin - var_0B;
var_0F = vectordot(var_0E,param_03);
if(abs(var_0F) < param_06)
{
var_10 = var_0D.origin - var_0F * param_03;
var_0D dodamage(0.75 * var_0D.maxhealth,var_10,self,self,"MOD_IMPACT");
}
}
}
wait(var_08);
}
}
//Function Number: 14
superslasher_domaskchange(param_00,param_01)
{
level endon("game_ended");
self endon("death");
var_02 = 3;
param_00 = param_00 % var_02;
thread domaskfx(param_00);
wait(3);
thread domaskattack(param_00,param_01);
}
//Function Number: 15
domaskattack(param_00,param_01)
{
switch(param_00)
{
case 0:
domaskshockwave(param_01);
break;
case 1:
domaskwires();
break;
case 2:
dosawsharks(param_01);
break;
}
}
//Function Number: 16
domaskfx(param_00)
{
self setscriptablepartstate("maskchange_" + param_00,"on");
}
//Function Number: 17
domaskshockwave(param_00)
{
level endon("game_ended");
var_01 = param_00 == "roof";
var_02 = self.origin;
if(var_01)
{
var_02 = (-5092,4644,-129);
}
var_03 = 30;
var_04 = 5;
var_05 = 1;
var_06 = 3;
playsoundatpos((-6061,4944,596),"superslasher_shockwave_wind_build");
playsoundatpos((-4818,4858,13),"superslasher_shockwave_plr_build");
scripts\common\utility::exploder(101);
scripts\common\utility::exploder(102);
scripts\cp\maps\cp_rave\cp_rave_super_slasher_fight::set_zombie_spawning_parameters("continuous",999999,2,0.05,"shockwave","skeleton");
wait(var_06);
var_07 = thread scripts\common\utility::play_loopsound_in_space("superslasher_shockwave_plr_lp",(-4818,4858,13));
var_08 = shock_wave_wind_sfx();
scripts\cp\maps\cp_rave\cp_rave_super_slasher_fight::kill_off_existing_zombies();
var_09 = int(var_03 / var_04);
var_0A = int(var_04 / var_05);
for(var_0B = 0;var_0B < var_09;var_0B++)
{
scripts\common\utility::exploder(100);
for(var_0C = 0;var_0C < var_0A;var_0C++)
{
foreach(var_0E in level.players)
{
if(playerinanysafearea(var_0E))
{
continue;
}
if(scripts\cp\_laststand::player_in_laststand(var_0E))
{
continue;
}
var_0E dodamage(0.3 * var_0E.maxhealth,var_02);
}
wait(var_05);
}
}
level thread stop_wind_fire_sfxs(var_08);
var_07 stoploopsound();
playsoundatpos((-4818,4858,13),"superslasher_shockwave_plr_end");
self.var_1198.bstoptauntingcontinuously = 1;
scripts\cp\maps\cp_rave\cp_rave_super_slasher_fight::set_zombie_spawning_parameters("continuous",999999,0.2,0.05,"near_player","generic_zombie");
if(self.fight_round < 3)
{
level thread scripts\cp\maps\cp_rave\cp_rave_super_slasher_fight::soul_collection_sequence();
}
}
//Function Number: 18
shock_wave_wind_sfx()
{
var_00 = [];
var_01 = [];
var_01[0] = (-4949,4725,-99);
var_01[1] = (-4274,4711,-99);
var_01[2] = (-5051,3906,-99);
var_01[3] = (-4005,3854,-99);
var_01[4] = (-4747,5478,-99);
var_01[5] = (-4005,5717,-99);
var_01[6] = (-4947,6070,-99);
var_01[7] = (-4681,6521,-99);
var_01[8] = (-3436,4168,-99);
var_01[9] = (-3543,5167,-99);
var_01[10] = (-4076,6086,-99);
foreach(var_03 in var_01)
{
var_04 = scripts\common\utility::play_loopsound_in_space("superslasher_shockwave_wind_lp",var_03);
var_00[var_00.size] = var_04;
var_04 playsound("superslasher_shockwave_wind_start");
}
return var_00;
}
//Function Number: 19
stop_wind_fire_sfxs(param_00)
{
foreach(var_02 in param_00)
{
var_02 thread stop_wind_fire_sfx(var_02);
}
}
//Function Number: 20
stop_wind_fire_sfx(param_00)
{
param_00 playsound("superslasher_shockwave_wind_end");
wait(0.5);
param_00 stoploopsound();
wait(4);
param_00 delete();
}
//Function Number: 21
playerinanysafearea(param_00)
{
var_01 = [(-4542,3598,-175),(-4490,4148,-158),(-3587,4597,-145),(-4303,5204,-148),(-4422,6003,-146)];
var_02 = [-25536,-25536,-25536,-21436,-25536];
for(var_03 = 0;var_03 < var_01.size;var_03++)
{
if(distance2dsquared(var_01[var_03],param_00.origin) <= var_02[var_03])
{
var_04 = getentarray("superslasher_shockwave_safe_area","targetname");
foreach(var_06 in var_04)
{
if(function_010F(var_01[var_03],var_06))
{
param_00.super_slasher_shockwave_safe_area = var_06;
return 1;
}
}
}
}
return 0;
}
//Function Number: 22
domaskwires()
{
level endon("game_ended");
level endon("stop_wire_attack");
self.var_1198.bwired = 1;
if(!isdefined(level.superslasher.fight_round))
{
return;
}
if(level.superslasher.fight_round == 1)
{
return;
}
var_00 = 1;
if(level.superslasher.fight_round == 2)
{
var_00 = level.players.size;
}
else
{
var_00 = 4;
}
for(var_01 = 1;var_01 <= var_00;var_01++)
{
scripts\cp\maps\cp_rave\cp_rave_super_slasher_fight::activate_super_slasher_barrier(var_01);
}
}
//Function Number: 23
stopwireattack()
{
level notify("stop_wire_attack");
self.var_1198.bwired = undefined;
}
//Function Number: 24
dogroundjumpattackfx(param_00)
{
level endon("game_ended");
var_01 = allocattackent();
var_01 setattackentorigin(param_00);
var_01 setscriptablepartstate("attack","jumptarget");
self.jumpattackent = var_01;
}
//Function Number: 25
groundjumpattackfxcleanup()
{
if(isdefined(self.jumpattackent))
{
self.jumpattackent setscriptablepartstate("attack","off");
freeattackent(self.jumpattackent);
self.jumpattackent = undefined;
}
}
//Function Number: 26
superslasher_dosummonedsawblades()
{
var_00 = spawnstruct();
var_00.var_2C5 = (-5225,5716,20);
var_00.var_6378 = (-4087,3870,-160);
var_00.totaltime = 5000;
var_00.var_257 = 48;
var_00.bvertical = 1;
thread superslasher_dosawblade(var_00);
var_00 = spawnstruct();
var_00.var_2C5 = (-5687,3968,57);
var_00.var_6378 = (-3717,5209,-203);
var_00.totaltime = 5000;
var_00.var_257 = 48;
var_00.bvertical = 1;
thread superslasher_dosawblade(var_00);
}
//Function Number: 27
superslasher_dosawfan()
{
var_00 = 12;
var_01 = 360 / var_00;
var_02 = 1500;
for(var_03 = 0;var_03 < var_00;var_03++)
{
var_04 = rotatevector((1,0,0),(0,var_01 * var_03,0));
var_05 = spawnstruct();
var_05.var_2C5 = self.origin + var_04 * 40 + (0,0,48);
var_05.var_6378 = var_05.var_2C5 + var_04 * var_02;
var_05.totaltime = 3000;
var_05.var_257 = 48;
var_05.bvertical = 0;
thread superslasher_dosawblade(var_05);
if(var_03 % 4 == 0)
{
wait(0.05);
}
}
}
//Function Number: 28
superslasher_dosawblade(param_00)
{
magicbullet("zmb_superslasher_sawblade",param_00.var_2C5,param_00.var_6378,self);
}
//Function Number: 29
superslasher_dothrownsaw()
{
var_00 = self gettagorigin("j_wrist_ri");
if(isdefined(self.var_1198.throwsawtarget))
{
var_01 = self.var_1198.throwsawtarget.origin + (0,0,48);
}
else
{
var_01 = self.var_1198.throwsawbackuptargetpos + (0,0,48);
}
var_02 = vectornormalize(var_01 - var_00);
var_03 = vectortoyaw(var_02);
var_04 = angleclamp180(var_03 - self.angles[1]);
if(var_04 >= 45 || var_04 <= -45)
{
var_01 = self.origin + anglestoforward(self.angles) * 768;
var_02 = vectornormalize(var_01 - var_00);
}
}
//Function Number: 30
superslasher_dostompattack(param_00)
{
level endon("game_ended");
var_01 = 48;
var_02 = 0.2;
var_03 = 1024;
if(isdefined(param_00))
{
var_03 = param_00;
}
var_04 = int(var_03 / var_01 * 2);
var_05 = var_03 - var_01 * 2 / var_04 - 1;
var_06 = anglestoforward(self.angles);
var_07 = 50 + var_01;
var_08 = self.origin + var_06 * var_07;
for(var_09 = 0;var_09 < var_04;var_09++)
{
var_0A = var_08 + var_09 * var_05 * var_06;
thread dosticks(var_0A,var_01,1000);
wait(var_02);
}
}
//Function Number: 31
dosticks(param_00,param_01,param_02)
{
level endon("game_ended");
var_0F = allocattackent();
var_0F setattackentorigin(param_00);
var_0F setscriptablepartstate("attack","punjisticks");
wait(param_02 / 1000);
if(isdefined(var_0F))
{
var_0F setscriptablepartstate("attack","off");
freeattackent(var_0F);
}
}
//Function Number: 32
dostickdamage(param_00,param_01,param_02,param_03)
{
level endon("game_ended");
var_04 = param_02 * param_02;
var_05 = 90;
while(param_03 > 0)
{
foreach(var_07 in level.players)
{
if(isalive(var_07))
{
if(distance2dsquared(var_07.origin,param_01) < var_04)
{
var_07 dodamage(0.9 * var_07.maxhealth,param_01,param_00,param_00,"MOD_IMPACT");
}
}
}
param_03 = param_03 - 50;
wait(0.05);
}
}
//Function Number: 33
dosawsharks(param_00)
{
var_01 = level.players.size + 1;
var_02 = self.origin;
if(param_00 == "roof")
{
var_02 = (-4862,4788,-138);
}
self.sawsharks = [];
var_03 = spawnstruct();
var_03.perplayer = [];
foreach(var_05 in level.players)
{
var_03.perplayer[var_05 getentitynumber()] = 0;
}
var_07 = (90,0,0);
var_08 = -25536;
for(var_09 = 0;var_09 < var_01;var_09++)
{
var_0A = var_09 * 360 / var_01;
var_0B = self.origin + rotatevector(var_07,(0,var_0A,0));
var_0C = spawnsawshark(var_0B);
self.sawsharks[self.sawsharks.size] = var_0C;
if(param_00 == "roof")
{
thread dosawshark_followtarget(var_0C,var_03,undefined,var_02 + rotatevector(var_07,(0,var_0A,0)),var_08);
}
else
{
thread dosawshark_followowner(var_0C,var_03,var_0A,var_08);
}
scripts\common\utility::func_136F7();
}
}
//Function Number: 34
spawnsawshark(param_00)
{
var_01 = spawn("script_model",param_00);
var_01 setmodel("tag_origin");
var_01 thread delayplayingsawsharkvfx(var_01);
var_01 playsound("superslasher_ground_saw_deploy_lr");
var_01 playloopsound("superslasher_ground_saw_deploy_lp");
return var_01;
}
//Function Number: 35
delayplayingsawsharkvfx(param_00)
{
param_00 endon("death");
param_00 rotateroll(90,0.05);
wait(0.2);
playfxontag(level._effect["super_slasher_saw_shark_spark"],param_00,"tag_origin");
}
//Function Number: 36
killallsharks(param_00)
{
if(isdefined(param_00.sawsharks))
{
foreach(var_02 in param_00.sawsharks)
{
if(isdefined(var_02))
{
deletesawshark(var_02);
}
}
}
}
//Function Number: 37
deletesawshark(param_00)
{
playfx(level._effect["super_slasher_saw_shark_hit"],param_00.origin);
playsoundatpos(param_00.origin,"superslasher_ground_saw_explode");
param_00 delete();
}
//Function Number: 38
updatesawsharkposandangles(param_00,param_01,param_02)
{
var_03 = 90;
param_00.origin = param_01;
param_00.angles = (param_02[0],param_02[1],var_03);
}
//Function Number: 39
getclosesttargetableplayerwithinwithlos(param_00,param_01,param_02)
{
var_03 = getclosestpointonnavmesh(param_01);
var_04 = undefined;
var_05 = param_02 * param_02;
foreach(var_07 in level.players)
{
if(!isalive(var_07))
{
continue;
}
if(param_00.perplayer[var_07 getentitynumber()] >= 2)
{
continue;
}
var_08 = distance2dsquared(var_07.origin,param_01);
if(var_08 < var_05)
{
var_09 = getclosestpointonnavmesh(var_07.origin);
if(navisstraightlinereachable(var_03,var_09))
{
var_05 = var_08;
var_04 = var_07;
}
}
}
return var_04;
}
//Function Number: 40
dosawshark_followowner(param_00,param_01,param_02,param_03)
{
level endon("game_ended");
self endon("death");
self endon("kill_sharks");
var_04 = (80,0,-3);
var_05 = undefined;
var_06 = undefined;
while(param_03 > 0)
{
var_06 = self.origin + rotatevector(var_04,(0,param_02,0));
var_05 = getclosesttargetableplayerwithinwithlos(param_01,var_06,512);
if(isdefined(var_05))
{
break;
}
updatesawsharkposandangles(param_00,var_06,self.angles);
param_03 = param_03 - 50;
wait(0.05);
}
if(isdefined(var_05) && param_03 > 0)
{
thread dosawshark_followtarget(param_00,param_01,var_05,var_06,param_03);
return;
}
deletesawshark(param_00);
}
//Function Number: 41
dosawshark_followtarget(param_00,param_01,param_02,param_03,param_04)
{
level endon("game_ended");
param_00 endon("death");
var_05 = param_03;
var_06 = undefined;
var_07 = 8;
var_08 = 4;
var_09 = 32;
if(isdefined(param_02))
{
var_06 = vectortoyaw(param_02.origin - var_05);
var_0A = param_02 getentitynumber();
if(isdefined(param_01.perplayer[var_0A]))
{
param_01.perplayer[var_0A]++;
}
}
var_0B = scripts\common\trace::func_48CC(1);
while(param_04 > 0)
{
if(!isdefined(param_02) || !isalive(param_02))
{
param_02 = getclosesttargetableplayerwithinwithlos(param_01,var_05,512);
if(isdefined(param_02))
{
var_06 = vectortoyaw(param_02.origin - var_05);
param_01.perplayer[param_02 getentitynumber()]++;
}
}
if(isdefined(param_02))
{
var_0C = param_02.origin - var_05;
var_0D = vectortoyaw(var_0C);
var_0E = angleclamp180(var_0D - var_06);
var_0E = clamp(var_0E,-1 * var_08,var_08);
var_06 = angleclamp180(var_06 + var_0E);
var_0F = var_05 + rotatevector((var_07,0,0),(0,var_06,0));
if(navisstraightlinereachable(var_05,var_0F))
{
var_10 = scripts\common\trace::func_DCED(var_0F + (0,0,24),var_0F - (0,0,24),undefined,var_0B);
var_05 = var_10["position"];
if(distance2dsquared(var_05,param_02.origin) < var_09 * var_09)
{
param_02 dodamage(0.8 * param_02.maxhealth,var_05,self,self,"MOD_IMPACT");
break;
}
}
else
{
break;
}
updatesawsharkposandangles(param_01,vectortoangles(param_00.origin - param_01));
}
param_04 = param_04 - 50;
wait(0.05);
}
deletesawshark(param_00);
}
//Function Number: 42
allocattackent()
{
if(!isdefined(self.attackents))
{
self.attackents = [];
}
var_00 = undefined;
foreach(var_02 in self.attackents)
{
if(!var_02.binuse)
{
var_00 = var_02;
break;
}
}
if(!isdefined(var_00))
{
var_00 = spawn("script_model",self.origin);
var_00 setmodel("superslasher_attack_origin");
self.attackents[self.attackents.size] = var_00;
}
var_00.binuse = 1;
return var_00;
}
//Function Number: 43
setattackentorigin(param_00)
{
self.origin = param_00;
self dontinterpolate();
}
//Function Number: 44
freeattackent(param_00)
{
param_00.binuse = 0;
}

View File

@ -0,0 +1,890 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\superslasher\superslasher_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 79
* Decompile Time: 4180 ms
* Timestamp: 10/27/2023 12:02:21 AM
*******************************************************************/
//Function Number: 1
superslasher_init(param_00,param_01,param_02,param_03)
{
self.var_2303.var_7257 = spawnstruct();
self.var_2303.var_7257.var_7254 = "left";
self.var_2303.var_7257.time = gettime();
self.var_2303.var_4C86 = spawnstruct();
self.var_2CC = 32;
self.sharpturnnotifydist = 160;
var_04 = self method_80FD("jump_to_roof",0);
var_05 = getmovedelta(var_04);
var_06 = getangledelta(var_04);
level.superslasherjumptoroofangles = (0,angleclamp180(level.superslasherrooftopangles[1] - 180 - var_06),0);
level.superslashergotogroundspot = level.superslasherrooftopspot - rotatevector(var_05,level.superslasherjumptoroofangles);
}
//Function Number: 2
ss_play(param_00,param_01,param_02,param_03,param_04)
{
self endon(param_01 + "_finished");
var_05 = lib_0A1D::func_2337(param_00,param_01);
if(!isdefined(param_04))
{
param_04 = lib_0A1A::func_2341(param_00,param_01);
}
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_05,self.var_BCE4,param_01,"end",param_04);
}
//Function Number: 3
superslasher_playmoveloop(param_00,param_01,param_02,param_03)
{
self.var_1198.var_2BE4 = 1;
scripts\asm\shared\mp\move_v2::playmoveloopv2(param_00,param_01,param_02,param_03);
}
//Function Number: 4
superslasher_playmoveloop_clean(param_00,param_01,param_02,param_03)
{
self.var_1198.var_2BE4 = undefined;
}
//Function Number: 5
ss_play_groundidle(param_00,param_01,param_02,param_03)
{
self.var_1198.bidle = 1;
lib_0F3C::func_B050(param_00,param_01,param_02,param_03);
}
//Function Number: 6
ss_play_groundidle_clean(param_00,param_01,param_02)
{
self.var_1198.bidle = undefined;
}
//Function Number: 7
ss_play_roofidle(param_00,param_01,param_02,param_03)
{
self method_828A("noclip");
self method_8289("face angle abs",level.superslasherrooftopangles);
lib_0F3C::func_B050(param_00,param_01,param_02,param_03);
}
//Function Number: 8
ss_play_rooftaunt(param_00,param_01,param_02,param_03)
{
self method_828A("noclip");
self method_8289("face angle abs",level.superslasherrooftopangles);
lib_0F3C::func_CEA8(param_00,param_01,param_02,param_03);
}
//Function Number: 9
ss_play_rooftaunt_clean(param_00,param_01,param_02)
{
self method_828A("gravity");
}
//Function Number: 10
ss_play_jumptoground(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self.var_1198.buninterruptibleanim = 1;
self method_8281("anim deltas");
self method_828A("noclip");
thread ss_play_jtog_waitmigrate(param_01);
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 11
ss_play_jtog_waitmigrate(param_00)
{
self endon(param_00 + "_finished");
level waittill("host_migration_begin");
self.var_1198.bjumptogroundborked = 1;
}
//Function Number: 12
ss_play_jumptoground_clean(param_00,param_01,param_02)
{
self method_8282(1,1);
self method_828A("gravity");
self.var_1198.buninterruptibleanim = undefined;
if(isdefined(self.var_1198.bjumptogroundborked) || self.origin[2] > -116)
{
self setorigin(level.superslashergotogroundspot + (0,0,24));
self.var_1198.bjumptogroundborked = undefined;
}
}
//Function Number: 13
ss_play_jumptoground_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "land")
{
thread scripts\asm\superslasher\superslasher_actions::superslasher_dogroundpoundimpact();
}
}
//Function Number: 14
ss_play_jumpscale(param_00,param_01,param_02,param_03,param_04)
{
var_05 = param_04 - self.origin;
var_06 = vectortoangles((var_05[0],var_05[1],0));
if(isdefined(param_03))
{
var_07 = getmovedelta(param_03);
param_04 = param_04 - rotatevector(var_07,var_06);
var_05 = param_04 - self.origin;
}
self method_8281("anim deltas");
self method_8289("face angle abs",var_06);
self method_828A("noclip");
var_08 = getmovedelta(param_02);
var_09 = length2d(var_08);
var_0A = length2d(var_05);
var_0B = var_0A / var_09;
var_0C = max(var_05[2] / var_08[2],0);
var_0D = 1;
self method_8282(var_0B,var_0C);
scripts\mp\agents\_scriptedagents::func_CED2(param_00,param_01,var_0D,param_00,"end");
}
//Function Number: 15
ss_play_jumptoroof(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self.var_1198.buninterruptibleanim = 1;
var_04 = level.superslasherrooftopspot;
var_05 = lib_0A1D::func_2337(param_00,param_01);
var_06 = self method_80FD(param_01,var_05);
var_07 = level.superslasherjumptoroofangles;
self method_8281("anim deltas");
self method_8289("face angle abs",var_07);
self method_828A("noclip");
thread ss_play_jtog_waitmigrate(param_01);
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 16
ss_play_jumptoroof_clean(param_00,param_01,param_02)
{
self method_828A("gravity");
self.var_1198.buninterruptibleanim = undefined;
if(isdefined(self.var_1198.bjumptogroundborked) || self.origin[2] < 340)
{
self setorigin(level.superslasherrooftopspot);
self.var_1198.bjumptogroundborked = undefined;
}
if(lib_0A1A::func_232B(param_01,"end"))
{
self.var_2303.turndata = spawnstruct();
self.var_2303.turndata = angleclamp180(level.superslasherrooftopangles[1] - self.angles[1]);
}
}
//Function Number: 17
ss_play_groundpound(param_00,param_01,param_02,param_03)
{
self playsoundonmovingent("zmb_vo_supslasher_attack_ground_pound");
ss_play(param_00,param_01,param_02,param_03,::ss_play_groundpound_nt);
}
//Function Number: 18
ss_play_groundpound_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
thread scripts\asm\superslasher\superslasher_actions::superslasher_dogroundpoundimpact();
}
}
//Function Number: 19
ss_play_summonsawblades(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread scripts\asm\superslasher\superslasher_actions::superslasher_dosummonedsawblades();
ss_play(param_00,param_01,param_02,param_03);
}
//Function Number: 20
ss_play_sawcharge_start(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
if(isdefined(self.var_1198.throwsawchargetime))
{
var_05 = self method_80FD(param_01,var_04);
var_06 = getanimlength(var_05);
self.var_1198.throwsawchargelooptime = max(self.var_1198.throwsawchargetime - var_06,0);
}
var_07 = lib_0A1A::func_2341(param_00,param_01);
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,self.var_BCE4,param_01,"end",var_07);
}
//Function Number: 21
ss_play_sawcharge_start_clean(param_00,param_01,param_02)
{
self.var_1198.throwsawchargetime = undefined;
}
//Function Number: 22
ss_play_sawcharge(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
thread lib_0F3C::func_B050(param_00,param_01,param_02,param_03);
wait(self.var_1198.throwsawchargelooptime);
lib_0A1A::func_2330(param_01,"saw_charge_loop_complete");
}
//Function Number: 23
ss_play_sawcharge_clean(param_00,param_01,param_02)
{
self.var_1198.throwsawchargelooptime = undefined;
}
//Function Number: 24
ss_play_throwsaw(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = 1;
self.throwsawprevturnspeed = self method_827F();
if(isdefined(self.var_1198.throwsawtarget))
{
thread superslasher_faceenemyhelper(self.var_1198.throwsawtarget,var_04 * 1000,param_01);
}
ss_play(param_00,param_01,param_02,param_03,::ss_play_throwsaw_nt);
}
//Function Number: 25
ss_play_throwsaw_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "throw")
{
scripts\asm\superslasher\superslasher_actions::superslasher_dothrownsaw();
}
}
//Function Number: 26
ss_play_throwsaw_clean(param_00,param_01,param_02)
{
self method_8288(self.throwsawprevturnspeed);
self.throwsawprevturnspeed = undefined;
}
//Function Number: 27
ss_play_throwsawfan_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "throw")
{
thread scripts\asm\superslasher\superslasher_actions::superslasher_dosawfan();
}
}
//Function Number: 28
ss_play_summon(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
scripts\mp\agents\_scriptedagents::func_CED1(param_01,var_04,self.var_BCE4,2 / self.var_BCE4);
thread scripts\asm\superslasher\superslasher_actions::superslasher_summonminions(param_03);
scripts\mp\agents\_scriptedagents::func_1384C(param_01,"end",param_01,var_04);
}
//Function Number: 29
ss_play_wires(param_00,param_01,param_02,param_03)
{
thread scripts\asm\superslasher\superslasher_actions::superslasher_domaskchange(1,"roof");
ss_play(param_00,param_01,param_02,undefined);
}
//Function Number: 30
ss_play_shockwave_start(param_00,param_01,param_02,param_03)
{
self playsoundonmovingent("zmb_vo_supslasher_attack_shockwave_build_start");
self method_8289("face angle abs",level.superslasherrooftopangles);
lib_0F3C::func_CEA8(param_00,param_01,param_02,param_03);
}
//Function Number: 31
ss_play_shockwave_loop(param_00,param_01,param_02,param_03)
{
var_04 = 1;
self playsoundonmovingent("zmb_vo_supslasher_attack_shockwave_build");
var_05 = lib_0A1D::func_2337(param_00,param_01);
self method_82AF(param_01,var_05,self.var_BCE4);
wait(var_04);
lib_0A1A::func_2330(param_01,"shockwave_loop_complete");
}
//Function Number: 32
ss_play_shockwave_finish(param_00,param_01,param_02,param_03)
{
ss_play(param_00,param_01,param_02,undefined,::ss_play_shockwave_nt);
}
//Function Number: 33
ss_play_shockwave_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
thread scripts\asm\superslasher\superslasher_actions::domaskattack(0,"roof");
}
}
//Function Number: 34
ss_play_summonsharks(param_00,param_01,param_02,param_03)
{
self playsoundonmovingent("zmb_vo_supslasher_attack_summon");
thread scripts\asm\superslasher\superslasher_actions::superslasher_domaskchange(2,"ground");
ss_play(param_00,param_01,param_02,undefined);
}
//Function Number: 35
ss_play_trapped(param_00,param_01,param_02,param_03)
{
thread func_126BB(param_01,self.var_1198.trapduration);
self playsoundonmovingent("zmb_vo_supslasher_pain");
lib_0F3C::func_B050(param_00,param_01,param_02,param_03);
}
//Function Number: 36
func_126BB(param_00,param_01)
{
self endon(param_00 + "_finished");
wait(param_01);
lib_0A1A::func_2330(param_00,"trap_end");
}
//Function Number: 37
ss_play_trapped_clean(param_00,param_01,param_02)
{
self.var_1198.trapduration = undefined;
self.var_1198.btraprequested = undefined;
}
//Function Number: 38
ss_play_jumpmove_start(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = self.var_1198.jumptargetpos;
thread scripts\asm\superslasher\superslasher_actions::dogroundjumpattackfx(var_04);
var_05 = var_04 - self.origin;
var_06 = vectortoangles((var_05[0],var_05[1],0));
var_07 = length(var_05);
self method_8281("anim deltas");
self method_8289("face angle abs",var_06);
self method_828A("noclip");
self method_8282(1,3);
self playsoundonmovingent("zmb_vo_supslasher_jump");
ss_play(param_00,param_01,param_02,param_03);
}
//Function Number: 39
ss_play_jumpmove_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "takeoff")
{
self.var_1198.binair = 1;
return;
}
if(param_00 == "land")
{
thread scripts\asm\superslasher\superslasher_actions::superslasher_dogroundpoundimpact();
self.var_1198.binair = undefined;
scripts\asm\superslasher\superslasher_actions::groundjumpattackfxcleanup();
self playsoundonmovingent("zmb_vo_supslasher_attack_land");
}
}
//Function Number: 40
func_A4DA()
{
self.var_1198.binair = undefined;
scripts\asm\superslasher\superslasher_actions::groundjumpattackfxcleanup();
self.var_1198.jumptargetpos = undefined;
self method_828A("gravity");
self method_8282(1,1);
}
//Function Number: 41
ss_play_jumpmove_start_clean(param_00,param_01,param_02)
{
self method_8282(1,1);
if(!lib_0A1A::func_232B(param_01,"end"))
{
func_A4DA();
}
}
//Function Number: 42
ss_play_jumpmove(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = self.var_1198.jumptargetpos;
self.var_1198.buninterruptibleanim = 1;
var_05 = lib_0A1D::func_2337(param_00,param_01);
var_06 = self method_80FD(param_01,var_05);
var_07 = lib_0A1D::func_235A(param_01,"end");
var_08 = self method_80FD(param_01,var_07);
self.var_1198.binair = 1;
ss_play_jumpscale(param_01,var_05,var_06,var_08,var_04);
}
//Function Number: 43
ss_play_jumpmove_clean(param_00,param_01,param_02)
{
self.var_1198.buninterruptibleanim = undefined;
if(!lib_0A1A::func_232B(param_01,"end"))
{
func_A4DA();
}
}
//Function Number: 44
ss_play_jumpmove_end(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getmovedelta(var_05);
var_07 = scripts\common\trace::func_48CC(1);
var_08 = self.var_1198.jumptargetpos;
var_09 = scripts\common\trace::func_3A09(self.origin,self.origin - (0,0,60),self.var_257,self.height,self.angles,self,var_07);
if(var_09["fraction"] < 1 && var_09["normal"][2] > 0)
{
var_08 = var_09["position"];
}
var_0A = max(var_08[2] - self.origin[2] / var_06[2],0);
self method_8282(1,var_0A);
self method_8281("anim deltas");
self method_828A("noclip");
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,self.var_BCE4,param_01,"end",lib_0A1A::func_2341(param_00,param_01));
}
//Function Number: 45
ss_play_jumpmove_end_clean(param_00,param_01,param_02)
{
func_A4DA();
lib_0A1A::func_232F("jumpmoveanim","end");
}
//Function Number: 46
superslasher_shouldstartarrival(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.var_233))
{
return 0;
}
if(!lib_0A1A::func_232B(param_01,"cover_approach"))
{
return 0;
}
var_04 = gettime();
var_05 = 250;
if(var_04 - self.var_2303.var_7257.time > var_05)
{
return 0;
}
var_06 = 128;
var_07 = self.var_233 - self.origin;
var_08 = length(var_07);
if(var_08 > var_06)
{
return 0;
}
var_09 = gettime() - self.var_2303.var_7257.time;
if(var_09 < 250 || var_09 > 400)
{
return 0;
}
var_0A = self.var_15C;
if(isdefined(self.var_205) || isdefined(self.var_28B))
{
var_0A = 0;
}
self.var_2303.var_11068 = func_3722(param_00,param_02,self.var_233,var_0A,0);
if(!isdefined(self.var_2303.var_11068))
{
return 0;
}
return 1;
}
//Function Number: 47
func_3722(param_00,param_01,param_02,param_03,param_04)
{
param_02 = self.var_233;
var_05 = self.angles;
var_06 = param_02 - self.origin;
var_07 = length2dsquared(var_06);
var_08 = lib_0F3C::func_3E96(param_00,param_01);
var_09 = self method_80FD(param_01,var_08);
var_0A = getmovedelta(var_09);
var_0B = getangledelta3d(var_09);
var_0C = rotatevector(var_0A,self.angles);
var_0D = var_0C + self.origin;
var_0E = 0;
var_0F = distancesquared(var_0D,param_02);
if(var_0F > param_03 * param_03)
{
var_0E = 1;
}
var_10 = getclosestpointonnavmesh(var_0D,self);
var_11 = self method_84AC();
if(!navisstraightlinereachable(var_11,var_10,self))
{
return undefined;
}
if(var_0E)
{
var_0C = rotatevector(var_0A,var_05 - var_0B);
var_12 = param_02 - var_0C;
}
else if(distance2dsquared(var_11,var_0E) > 4)
{
var_0D = rotatevector(var_0B,var_06 - var_0C);
var_12 = var_11 - var_0D;
}
else
{
var_12 = self.origin;
}
var_13 = spawnstruct();
var_13.var_2C9 = var_09;
var_13.var_3F = 4;
var_13.var_2C5 = var_12;
var_13.var_3E = var_0B[1];
var_13.var_130 = var_05;
var_13.var_1F3 = var_0A;
var_13.animindex = var_08;
return var_13;
}
//Function Number: 48
ss_play_arrival(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = self.var_2303.var_11068;
self.var_2303.var_11068 = undefined;
var_05 = self.angles;
if(isdefined(self.var_233))
{
var_06 = distance2d(self.origin,self.var_233);
var_07 = var_06 / length2d(var_04.var_1F3);
self method_8282(var_07,1);
if(var_06 > 12)
{
var_08 = vectortoyaw(self.var_233 - self.origin);
var_05 = (0,var_08,0);
}
}
self method_8289("face angle abs",var_05);
self method_8281("anim deltas");
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04.animindex,self.var_BCD6,param_01,"end");
}
//Function Number: 49
ss_play_arrival_clean(param_00,param_01,param_02)
{
self method_8282(1,1);
}
//Function Number: 50
ss_play_meleecharge(param_00,param_01,param_02,param_03)
{
var_04 = lib_0A1D::func_2337(param_00,param_01);
thread superslasher_faceenemyhelper(self.var_3135.var_B64D,500,param_01);
self method_8282(2,1);
lib_0F3C::func_B050(param_00,param_01,param_02,param_03);
}
//Function Number: 51
ss_play_meleecharge_clean(param_00,param_01,param_02)
{
self method_8282(1,1);
}
//Function Number: 52
superslasher_shouldmovemelee(param_00,param_01,param_02,param_03)
{
if(!isdefined(self.var_233))
{
return 0;
}
if(!lib_0A1B::func_2953())
{
return 0;
}
return 1;
}
//Function Number: 53
superslasher_faceenemyhelper(param_00,param_01,param_02)
{
if(isdefined(param_02))
{
self endon(param_02 + "_finished");
}
var_03 = gettime() + param_01;
while(gettime() <= var_03 && isdefined(param_00) && isalive(param_00))
{
var_04 = param_00.origin - self.origin;
if(length2dsquared(var_04) > 1024)
{
var_05 = vectortoyaw(var_04);
self method_8289("face angle abs",(0,var_05,0));
}
wait(0.05);
}
self method_8289("face angle abs",self.angles);
}
//Function Number: 54
ss_play_standmelee(param_00,param_01,param_02,param_03)
{
thread superslasher_faceenemyhelper(self.var_3135.var_B64D,500,param_01);
ss_play(param_00,param_01,param_02,param_03);
}
//Function Number: 55
ss_play_movemelee(param_00,param_01,param_02,param_03)
{
if(lib_0A1B::func_2957(param_00,param_01))
{
thread superslasher_faceenemyhelper(self.var_3135.var_B64D,1000,param_01);
}
else
{
self method_8289("face angle abs",self.angles);
}
ss_play(param_00,param_01,param_02,param_03);
}
//Function Number: 56
ss_play_movemelee_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
scripts\asm\superslasher\superslasher_actions::superslasher_domeleedamage();
}
}
//Function Number: 57
ss_play_stomp(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = self.var_1198.stomptarget;
thread superslasher_faceenemyhelper(var_04,1500,param_01);
self playsoundonmovingent("zmb_vo_supslasher_attack_stomp");
ss_play(param_00,param_01,param_02,param_03,::ss_play_stomp_nt);
}
//Function Number: 58
ss_play_stomp_nt(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
scripts\asm\superslasher\superslasher_actions::superslasher_dostompattack(self.var_1198.stompdist);
}
}
//Function Number: 59
superslasher_needstoturn(param_00,param_01,param_02,param_03)
{
if(isdefined(self.var_233))
{
var_04 = vectortoyaw(self method_813A());
var_05 = angleclamp180(var_04 - self.angles[1]);
if(abs(var_05) >= 35)
{
var_06 = anglestoforward(self.angles);
var_07 = self.origin + var_06 * 128;
if(navtrace(self.origin,var_07,self))
{
self.var_2303.turndata = var_05;
return 1;
}
}
}
else if(isdefined(self.var_3135.target))
{
var_08 = self.var_3135.target getvelocity();
var_09 = self.var_3135.target.origin + var_08;
var_0A = var_09 - self.origin;
var_0B = vectortoyaw(var_0A);
var_0C = angleclamp180(var_0B - self.angles[1]);
if(abs(var_0C) >= 35)
{
self.var_2303.turndata = var_0C;
return 1;
}
}
return 0;
}
//Function Number: 60
superslasher_chooseanim_turn(param_00,param_01,param_02)
{
var_03 = self.var_2303.turndata;
if(var_03 > 0)
{
var_04 = int(180 + var_03 + 10 / 45);
}
else
{
var_04 = int(180 + var_04 - 10 / 45);
}
var_05 = ["2r","3","6","9","8","7","4","1","2l"];
return var_05[var_04];
}
//Function Number: 61
ss_play_turn(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getanimlength(var_05);
var_07 = 0.75;
var_08 = self.var_2303.turndata;
self.var_2303.turndata = undefined;
self method_8289("face angle abs",self.angles);
self method_8281("anim deltas");
self.var_1198.bcommittedtoanim = 1;
scripts\mp\agents\_scriptedagents::func_CED1(param_01,var_04,self.var_BCD6,var_06 - var_07 / self.var_BCD6);
lib_0A1A::func_2330(param_01,"turn_done");
}
//Function Number: 62
ss_play_turn_clean(param_00,param_01,param_02)
{
self.var_1198.bcommittedtoanim = undefined;
}
//Function Number: 63
superslasher_onroof(param_00,param_01,param_02,param_03)
{
return self.var_1198.bonroof;
}
//Function Number: 64
superslasher_gotogroundrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bgroundrequested);
}
//Function Number: 65
superslasher_gotoroofrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.broofrequested);
}
//Function Number: 66
superslasher_shouldroofjumpagain(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.iroofjump) && self.var_1198.iroofjump == 0;
}
//Function Number: 67
superslasher_tauntrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.btauntrequested);
}
//Function Number: 68
superslasher_shouldsummon(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bsummonrequested);
}
//Function Number: 69
superslasher_groundpoundrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bgroundpoundrequested);
}
//Function Number: 70
superslasher_shouldsummonsawblades(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bsummonsawbladesrequested);
}
//Function Number: 71
superslasher_shouldthrowsaw(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bthrowsawrequested);
}
//Function Number: 72
superslasher_shouldthrowsawfan(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bthrowsawfanrequested);
}
//Function Number: 73
superslasher_shouldjumpmove(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bjumpmoverequested) && isdefined(self.var_1198.jumptargetpos);
}
//Function Number: 74
superslasher_wiresrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bwiresrequested);
}
//Function Number: 75
superslasher_shockwaverequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bshockwaverequested);
}
//Function Number: 76
superslasher_sharksrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bsharksrequested);
}
//Function Number: 77
superslasher_shouldsawchargeloop(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.throwsawchargelooptime) && self.var_1198.throwsawchargelooptime > 0;
}
//Function Number: 78
superslasher_stomprequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bstomprequested);
}
//Function Number: 79
superslasher_shoulddointro(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.bintrorequested);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,166 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc1\zipline_traversal.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 10
* Decompile Time: 626 ms
* Timestamp: 10/27/2023 12:02:30 AM
*******************************************************************/
//Function Number: 1
playtraversezipline(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
self.do_immediate_ragdoll_save = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
var_04 = lib_0A1D::func_2337(param_00,param_01);
playtraverseziplineinternal(param_00,param_01,var_04);
}
//Function Number: 2
get_closest_zipline_traversal(param_00)
{
var_01 = 16384;
foreach(var_03 in level.zipline_traversals)
{
if(distance2dsquared(var_03.traversal_start,param_00) < var_01)
{
return var_03;
}
}
return undefined;
}
//Function Number: 3
playtraverseziplineinternal(param_00,param_01,param_02)
{
var_03 = param_02;
var_04 = self method_80FD(param_01,var_03);
var_05 = getnotetracktimes(var_04,"flex_height_up_end");
var_06 = get_closest_zipline_traversal(self.origin);
self.zipline = var_06;
var_07 = var_06.var_13EFC.origin + (0,0,-84);
var_08 = lib_0A1A::func_2341(param_00,param_01);
var_09 = vectortoangles(var_06.var_13EFB.origin - var_06.var_13EFC.origin);
var_09 = (0,var_09[1],0);
self method_8289("face angle abs",var_09);
self method_828A("noclip");
self method_8281("anim deltas");
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_03,param_01,"flex_height_up_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_03,param_01,var_04,"flex_height_up_start","flex_height_up_end",var_07,var_05[0]);
attach_to_zipline_and_go();
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_03,1,param_01,"end",undefined);
self.angles = var_09;
}
//Function Number: 4
attach_to_zipline_and_go()
{
self.zipline_ent = spawn("script_model",self.origin);
self.zipline_ent setmodel("tag_origin");
self.zipline_ent.angles = self.angles;
self linkto(self.zipline_ent,"tag_origin");
var_00 = self.zipline.var_13EFC.origin + (0,0,-84);
var_01 = self.zipline.var_13EFB.origin + (0,0,-84);
var_02 = distance(var_00,var_01);
var_03 = 500;
var_04 = int(var_02 / var_03);
self.zipline_ent moveto(var_01,var_04,2);
self.zipline.var_6393 = gettime() + int(var_04 * 1000);
}
//Function Number: 5
playtraverseziplineloop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self playloopsound("rave_zombie_zipline_lp");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
self method_82AF(param_01,var_04,1);
var_06 = self.zipline.var_6393 - gettime();
if(var_06 > 0)
{
wait(var_06 / 1000);
}
lib_0A1A::func_2330(param_01,"loop_finished");
}
//Function Number: 6
playtraverseziplinedrop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
self playsound("rave_zombie_zipline_stop");
self stoploopsound("rave_zombie_zipline_lp");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getnotetracktimes(var_05,"flex_height_down_end");
var_07 = self.zipline.traversal_end;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,2,param_01,"flex_height_down_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_04,param_01,var_05,"flex_height_down_start","flex_height_down_end",var_07,var_06[0],undefined);
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,1.5,param_01,"end",undefined);
self method_828A("gravity");
self.var_9CEC = undefined;
self notify("traverse_end");
thread lib_0C75::func_11701(param_00,param_01);
}
//Function Number: 7
terminateziplineintro(param_00,param_01,param_02)
{
if(!isalive(self) && isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 8
terminateziplineloop(param_00,param_01,param_02)
{
if(isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 9
terminatezipline(param_00,param_01,param_02)
{
self.do_immediate_ragdoll = self.do_immedate_ragdoll_save;
self.do_immedate_ragdoll_save = undefined;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
self.zipline = undefined;
self.zipline_arm = undefined;
}
//Function Number: 10
chooseanimzipline(param_00,param_01,param_02)
{
var_03 = ["left","right"];
if(!isdefined(self.zipline_arm))
{
if(lib_0C72::func_9EA4())
{
self.zipline_arm = "right";
}
else if(lib_0C72::func_9EA5())
{
self.zipline_arm = "left";
}
else
{
self.zipline_arm = var_03[randomint(var_03.size)];
}
}
return lib_0A1A::func_2358(param_01,self.zipline_arm);
}

View File

@ -0,0 +1,571 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc1\zombie_dlc1.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 16
* Decompile Time: 943 ms
* Timestamp: 10/27/2023 12:02:32 AM
*******************************************************************/
//Function Number: 1
playtraverseanimz_dlc1(param_00,param_01,param_02,param_03)
{
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
var_04 = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
dotraverseanim_dlc1(param_00,param_01,param_02,param_03);
self.do_immediate_ragdoll = var_04;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
}
//Function Number: 2
removezfromvec(param_00)
{
return (param_00[0],param_00[1],0);
}
//Function Number: 3
dotraverseanim_dlc1(param_00,param_01,param_02,param_03)
{
self endon("death");
self endon("terminate_ai_threads");
var_04 = self method_8148();
var_05 = self method_8146();
self.var_6367 = var_05;
if(!isdefined(var_04))
{
return;
}
if(!isdefined(var_05))
{
return;
}
self.var_6378 = var_05;
self.var_126CB = vectornormalize(var_05 - var_04.origin);
var_06 = undefined;
var_06 = var_04.var_48;
if(param_01 == "traverse_external")
{
var_06 = param_01;
}
if(needscrawlinganimstate_dlc1(var_06))
{
var_06 = "crawling_" + var_06;
}
if(self.agent_type == "lumberjack")
{
var_06 = var_06 + "_norestart";
}
if(!isdefined(var_06))
{
return;
}
self.var_9CEC = 1;
var_07 = lib_0A1D::func_2337(param_00,var_06);
var_08 = var_05 - var_04.origin;
var_09 = (var_08[0],var_08[1],0);
var_0A = vectortoangles(var_09);
var_0B = issubstr(var_06,"jump_across");
var_0C = var_06 == "traverse_boost" && self.var_1096F == "humanoid" || self.var_1096F == "zombie";
self method_8289("face angle abs",var_0A);
self method_8281("anim deltas");
var_0D = self method_80FD(var_06,var_07);
var_0E = "flex_height_up_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "flex_height_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "traverse_jump_start";
var_0F = getnotetracktimes(var_0D,var_0E);
}
}
var_10 = "flex_height_up_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "flex_height_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "traverse_jump_end";
var_11 = getnotetracktimes(var_0D,var_10);
}
}
var_12 = "highest_point";
var_13 = getnotetracktimes(var_0D,var_12);
var_14 = "flex_height_down_start";
var_15 = getnotetracktimes(var_0D,var_14);
var_16 = "flex_height_down_end";
var_17 = getnotetracktimes(var_0D,var_16);
var_18 = "crawler_early_stop";
var_19 = getnotetracktimes(var_0D,var_18);
var_1A = getnotetracktimes(var_0D,"code_move");
if(var_1A.size > 0)
{
var_1B = getmovedelta(var_0D,0,var_1A[0]);
}
else
{
var_1B = getmovedelta(var_0E,0,1);
}
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_08,var_1B);
var_1D = animhasnotetrack(var_0D,"ignoreanimscaling");
if(var_1D)
{
var_1C.var_13E2B = 1;
}
self method_828A("noclip");
var_1E = self method_8145();
if(isdefined(var_1E) && isdefined(var_1E.target))
{
self.var_6366 = var_1E;
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(var_13.size > 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_12,0,::zombietraversenotetrackhandler_dlc1);
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(isdefined(var_1F.script_noteworthy) && var_1F.script_noteworthy == "continue_flex_height")
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_12,var_10,1,::zombietraversenotetrackhandler_dlc1);
}
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc1);
}
else if(var_15.size == 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_10,0,::zombietraversenotetrackhandler_dlc1);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc1);
}
else if(var_0F.size == 0)
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","flex_height_down_start",::zombietraversenotetrackhandler_dlc1);
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_14,var_16,0,::zombietraversenotetrackhandler_dlc1);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc1);
}
else
{
var_20 = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
var_1F = var_20.origin;
var_21 = var_11[0];
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_0E,var_10,var_1F,var_21,::zombietraversenotetrackhandler_dlc1);
var_22 = getanimlength(var_0D);
if(var_15[0] - var_11[0] >= 0.05 / var_22)
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse",var_14,::zombietraversenotetrackhandler_dlc1);
}
var_1F = self.var_6366.origin;
var_21 = var_17[0];
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc1);
self method_8282(1,1);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc1);
}
}
self.var_6366 = undefined;
}
else if(var_15.size > 0 && var_17.size > 0 && self.agent_type != "zombie_brute")
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse",var_14,::zombietraversenotetrackhandler_dlc1);
var_21 = var_17[0];
if(!isdefined(var_1E))
{
var_1F = var_05;
}
else
{
var_1F = var_21.origin;
}
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc1);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc1);
}
}
else if(var_0B && abs(var_08[2]) < 64)
{
if(var_0F.size != 1)
{
var_0F = getnotetracktimes(var_0D,"flex_across_start");
}
if(var_11.size != 1)
{
var_11 = getnotetracktimes(var_0D,"flex_across_end");
}
var_22 = getanimlength(var_0D);
var_23 = var_0F[0] * var_22;
var_24 = var_11[0] * var_22;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_start");
var_25 = removezfromvec(getmovedelta(var_0D,var_0F[0],var_11[0]));
var_26 = distance2d(self.origin,var_05);
var_27 = getmovedelta(var_0D,var_0F[0],1);
var_28 = length2d(var_27);
var_29 = var_26 - var_28;
var_2A = length2d(var_25);
if(var_2A < 0.01)
{
var_2A = 1;
}
var_2B = var_29 + var_2A / var_2A;
self method_8282(var_2B,0);
childthread traverse_lerp_z_over_time_dlc1(var_04.origin[2],var_05[2],var_24 - var_23 / self.var_126E8);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_end");
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
else if(var_08[2] > 16)
{
if(var_1B[2] > 0)
{
if(var_0C)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2C = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2C * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_0F.size > 0)
{
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
if(!var_1D && length2dsquared(var_09) < 0.64 * length2dsquared(var_1B))
{
var_1C.var_13E2B = 0.4;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
var_2D = getmovedelta(var_0D,0,var_0F[0]);
var_2E = getmovedelta(var_0D,0,var_11[0]);
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
var_2F = var_05 - self.origin;
var_30 = var_1B - var_2D;
if(!var_1D && length2dsquared(var_2F) < 0.5625 * length2dsquared(var_30))
{
var_1C.var_13E2B = 0.75;
}
var_31 = var_1B - var_2E;
var_32 = (var_31[0] * var_1C.var_13E2B,var_31[1] * var_1C.var_13E2B,var_31[2] * var_1C.var_3A6);
var_33 = rotatevector(var_32,var_0A);
var_34 = var_05 - var_33;
var_35 = var_2E - var_2D;
var_36 = rotatevector(var_35,var_0A);
var_37 = var_34 - self.origin;
var_38 = var_1C;
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_37,var_36,1);
if(var_1D)
{
var_1C.var_13E2B = 1;
}
if(var_37[2] <= 0)
{
var_1C.var_3A6 = 0;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
var_1C = var_38;
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
}
else
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse","flex_height_start","flex_height_end",1,::zombietraversenotetrackhandler_dlc1);
}
}
else if(abs(var_08[2]) < 16 || var_1B[2] == 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2C = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2C * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_1B[2] < 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2C = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_0F.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
}
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2C * 1,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
if(animhasnotetrack(var_0D,"removestatelock"))
{
scripts\mp\agents\_scriptedagents::func_1384D("traverse","removestatelock");
}
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,1,"traverse");
}
self method_8282(1,1);
}
else
{
}
lerptoabovegrounddlc1();
self method_828A("gravity");
self.var_9CEC = undefined;
self notify("traverse_end");
terminatetraverse_dlc1(param_00,param_01);
}
//Function Number: 4
lerptoabovegrounddlc1()
{
var_00 = 0.1;
var_01 = self.var_6378;
var_02 = var_01[2];
var_03 = self.origin[2];
if(var_03 < var_02)
{
self setorigin((self.origin[0],self.origin[1],var_02 + var_00),0);
}
}
//Function Number: 5
terminatetraverse_dlc1(param_00,param_01)
{
var_02 = level.var_2303[param_00].var_10E2F[param_01];
var_03 = undefined;
if(isdefined(var_02.var_116FB))
{
if(isarray(var_02.var_116FB[0]))
{
var_03 = var_02.var_116FB[0];
}
else
{
var_03 = var_02.var_116FB;
}
}
lib_0A1A::func_2388(param_00,param_01,var_02,var_02.var_116FB);
lib_0A1A::func_238A(param_00,var_03,0.2,undefined,undefined,undefined);
self notify("killanimscript");
}
//Function Number: 6
traverse_lerp_z_over_time_dlc1(param_00,param_01,param_02)
{
self endon("death");
self endon("terminate_ai_threads");
var_03 = gettime();
for(;;)
{
var_04 = gettime() - var_03 / 1000;
var_05 = var_04 / param_02;
if(var_05 > 1)
{
break;
}
var_06 = lib_0F74::func_AB6F(var_05,param_00,param_01);
self setorigin((self.origin[0],self.origin[1],var_06),0);
wait(0.05);
}
}
//Function Number: 7
needscrawlinganimstate_dlc1(param_00)
{
if(self.var_565C)
{
return 1;
}
return 0;
}
//Function Number: 8
zombietraversenotetrackhandler_dlc1(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "apply_physics":
self method_828A("gravity");
break;
default:
break;
}
}
//Function Number: 9
choosestandingdeathanim_dlc1(param_00,param_01,param_02,param_03)
{
return lib_0C71::func_3F00(param_00,param_01,param_02,param_03);
}
//Function Number: 10
choosemovingdeathanim_dlc1(param_00,param_01,param_02)
{
return lib_0C71::func_3EE2(param_00,param_01,param_02);
}
//Function Number: 11
chooseballoongrabanim(param_00,param_01,param_02)
{
if(lib_0C75::func_BE92())
{
return lib_0A1A::func_2358(param_01,"prone");
}
return lib_0A1A::func_2358(param_01,"stand");
}
//Function Number: 12
handleballoonfloating()
{
self endon("death");
wait(randomfloatrange(5,5.9));
self notify("reached_end");
self unlink();
self setvelocity((randomintrange(-10,10),randomintrange(-10,10),-50));
self.do_immediate_ragdoll = 1;
self.var_4C87 = 1;
playfx(level._effect["balloon_death"],self.balloon_in_hand.origin + (0,0,50));
playsoundatpos(self.origin,"craftable_balloon_zmb_explo");
self dodamage(self.health + 100,self.origin,undefined,undefined,"MOD_EXPLOSIVE","zmb_imsprojectile_mp");
}
//Function Number: 13
balloongrabnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "balloon_attach")
{
var_04 = ["decor_balloon_a_blue","decor_balloon_a_blue_light","decor_balloon_a_cyan","decor_balloon_a_green","decor_balloon_a_green_light","decor_balloon_a_orange","decor_balloon_a_pink","decor_balloon_a_purple","decor_balloon_a_purple_deep","decor_balloon_a_red","decor_balloon_a_yellow"];
var_05 = self gettagorigin("j_shoulder_ri");
self.balloon_in_hand = spawn("script_model",var_05);
self.balloon_model = scripts\common\utility::random(var_04);
if(self.bholdingballooninleft)
{
self attach(self.balloon_model,"tag_accessory_left");
}
else
{
self attach(self.balloon_model,"tag_accessory_right");
}
self.balloon_in_hand.origin = var_05;
self linkto(self.balloon_in_hand);
self playerlinkedoffsetenable();
var_06 = randomintrange(-50,50);
var_07 = randomintrange(-50,50);
self.balloon_in_hand moveto(self.origin + (var_06,var_07,self.detonate_height),6,3);
self.balloon_in_hand rotateyaw(randomint(360),6);
thread handleballoonfloating();
}
}
//Function Number: 14
chooseballoonfloatanim(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.bholdingballooninleft))
{
return lib_0A1A::func_2358(param_01,"left");
}
return lib_0A1A::func_2358(param_01,"right");
}
//Function Number: 15
shouldballoongrableft(param_00,param_01,param_02,param_03)
{
self.bholdingballooninleft = undefined;
if(lib_0C72::func_9EA5())
{
self.bholdingballooninleft = 1;
}
else if(randomintrange(0,100) < 50)
{
self.bholdingballooninleft = 1;
}
else
{
self.bholdingballooninleft = 0;
}
return self.bholdingballooninleft;
}
//Function Number: 16
isdismembermentdisabled(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.var_55CF))
{
return 1;
}
return 0;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,142 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc2\zipline_traversal.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 10
* Decompile Time: 512 ms
* Timestamp: 10/27/2023 12:02:41 AM
*******************************************************************/
//Function Number: 1
playtraversezipline(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
self.do_immediate_ragdoll_save = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
var_04 = lib_0A1D::func_2337(param_00,param_01);
playtraverseziplineinternal(param_00,param_01,var_04);
}
//Function Number: 2
get_closest_zipline_traversal(param_00)
{
var_01 = 16384;
foreach(var_03 in level.zipline_traversals)
{
if(distance2dsquared(var_03.traversal_start,param_00) < var_01)
{
return var_03;
}
}
return undefined;
}
//Function Number: 3
playtraverseziplineinternal(param_00,param_01,param_02)
{
var_03 = param_02;
var_04 = self method_80FD(param_01,var_03);
var_05 = getnotetracktimes(var_04,"flex_height_up_end");
var_06 = get_closest_zipline_traversal(self.origin);
self.zipline = var_06;
var_07 = var_06.var_13EFC.origin + (0,0,-84);
var_08 = lib_0A1A::func_2341(param_00,param_01);
var_09 = vectortoangles(var_06.var_13EFB.origin - var_06.var_13EFC.origin);
var_09 = (0,var_09[1],0);
self method_8289("face angle abs",var_09);
self method_828A("noclip");
self method_8281("anim deltas");
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_03,param_01,"flex_height_up_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_03,param_01,var_04,"flex_height_up_start","flex_height_up_end",var_07,var_05[0]);
attach_to_zipline_and_go();
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_03,1,param_01,"end",undefined);
self.angles = var_09;
}
//Function Number: 4
attach_to_zipline_and_go()
{
self.zipline_ent = spawn("script_model",self.origin);
self.zipline_ent setmodel("tag_origin");
self.zipline_ent.angles = self.angles;
self linkto(self.zipline_ent,"tag_origin");
var_00 = self.zipline.var_13EFC.origin + (0,0,-84);
var_01 = self.zipline.var_13EFB.origin + (0,0,-84);
var_02 = distance(var_00,var_01);
var_03 = 500;
var_04 = int(var_02 / var_03);
self.zipline_ent moveto(var_01,var_04,2);
self.zipline.var_6393 = gettime() + int(var_04 * 1000);
}
//Function Number: 5
playtraverseziplineloop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
self method_82AF(param_01,var_04,1);
var_06 = self.zipline.var_6393 - gettime();
if(var_06 > 0)
{
wait(var_06 / 1000);
}
lib_0A1A::func_2330(param_01,"loop_finished");
}
//Function Number: 6
playtraverseziplinedrop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getnotetracktimes(var_05,"flex_height_down_end");
var_07 = self.zipline.traversal_end;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_04,param_01,"flex_height_down_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_04,param_01,var_05,"flex_height_down_start","flex_height_down_end",var_07,var_06[0],undefined);
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,1,param_01,"end",undefined);
thread lib_0C75::func_11701(param_00,param_01);
}
//Function Number: 7
terminateziplineintro(param_00,param_01,param_02)
{
if(!isalive(self) && isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 8
terminateziplineloop(param_00,param_01,param_02)
{
if(isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 9
terminatezipline(param_00,param_01,param_02)
{
self.do_immediate_ragdoll = self.do_immedate_ragdoll_save;
self.do_immedate_ragdoll_save = undefined;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
self.zipline = undefined;
}
//Function Number: 10
chooseanimzipline(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}

View File

@ -0,0 +1,622 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc2\zombie_dlc2.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 19
* Decompile Time: 1069 ms
* Timestamp: 10/27/2023 12:02:42 AM
*******************************************************************/
//Function Number: 1
playtraverseanimz_dlc(param_00,param_01,param_02,param_03)
{
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
var_04 = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
dotraverseanim_dlc(param_00,param_01,param_02,param_03);
self.do_immediate_ragdoll = var_04;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
}
//Function Number: 2
removezfromvec(param_00)
{
return (param_00[0],param_00[1],0);
}
//Function Number: 3
dotraverseanim_dlc(param_00,param_01,param_02,param_03)
{
self endon("death");
self endon("terminate_ai_threads");
var_04 = self method_8148();
var_05 = self method_8146();
self.var_6367 = var_05;
if(!isdefined(var_04))
{
return;
}
if(!isdefined(var_05))
{
return;
}
self.var_6378 = var_05;
self.var_126CB = vectornormalize(var_05 - var_04.origin);
var_06 = undefined;
var_06 = var_04.var_48;
if(param_01 == "traverse_external")
{
var_06 = param_01;
}
if(needscrawlinganimstate_dlc(var_06))
{
var_06 = "crawling_" + var_06;
}
if(!isdefined(var_06))
{
return;
}
self.var_9CEC = 1;
var_07 = lib_0A1D::func_2337(param_00,var_06);
var_08 = var_05 - var_04.origin;
var_09 = (var_08[0],var_08[1],0);
var_0A = vectortoangles(var_09);
var_0B = issubstr(var_06,"jump_across");
var_0C = var_06 == "traverse_boost" && self.var_1096F == "humanoid" || self.var_1096F == "zombie";
self method_8289("face angle abs",var_0A);
self method_8281("anim deltas");
var_0D = self method_80FD(var_06,var_07);
var_0E = "flex_height_up_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "flex_height_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "traverse_jump_start";
var_0F = getnotetracktimes(var_0D,var_0E);
}
}
var_10 = "flex_height_up_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "flex_height_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "traverse_jump_end";
var_11 = getnotetracktimes(var_0D,var_10);
}
}
var_12 = "highest_point";
var_13 = getnotetracktimes(var_0D,var_12);
var_14 = "flex_height_down_start_fix";
var_15 = getnotetracktimes(var_0D,var_14);
if(var_15.size == 0)
{
var_14 = "flex_height_down_start";
var_15 = getnotetracktimes(var_0D,var_14);
}
var_16 = "flex_height_down_end_fix";
var_17 = getnotetracktimes(var_0D,var_16);
if(var_17.size == 0)
{
var_16 = "flex_height_down_end";
var_17 = getnotetracktimes(var_0D,var_16);
}
var_18 = "crawler_early_stop";
var_19 = getnotetracktimes(var_0D,var_18);
var_1A = getnotetracktimes(var_0D,"code_move");
if(var_1A.size > 0)
{
var_1B = getmovedelta(var_0D,0,var_1A[0]);
}
else
{
var_1B = getmovedelta(var_0E,0,1);
}
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_08,var_1B);
var_1D = animhasnotetrack(var_0D,"ignoreanimscaling");
if(var_1D)
{
var_1C.var_13E2B = 1;
}
self method_828A("noclip");
var_1E = self method_8145();
if(isdefined(var_1E) && isdefined(var_1E.target))
{
self.var_6366 = var_1E;
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(var_13.size > 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_12,0,::zombietraversenotetrackhandler_dlc);
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(isdefined(var_1F.script_noteworthy) && var_1F.script_noteworthy == "continue_flex_height")
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_12,var_10,1,::zombietraversenotetrackhandler_dlc);
}
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else if(var_15.size == 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_10,0,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else if(var_0F.size == 0)
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","flex_height_down_start",::zombietraversenotetrackhandler_dlc);
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_14,var_16,0,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else
{
var_20 = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
var_1F = var_20.origin;
var_21 = var_11[0];
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_0E,var_10,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
var_22 = getanimlength(var_0D);
if(var_15[0] - var_11[0] >= 0.05 / var_22)
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse",var_14,::zombietraversenotetrackhandler_dlc);
}
var_21 = var_17[0];
var_23 = getmovedelta(var_0D,var_21,1);
var_1F = (self.var_6366.origin[0],self.var_6366.origin[1],self.var_6366.origin[2] - var_23[2]);
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
}
self.var_6366 = undefined;
}
else if(var_15.size > 0 && var_17.size > 0 && self.agent_type != "zombie_brute")
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse",var_14,::zombietraversenotetrackhandler_dlc);
var_21 = var_17[0];
if(!isdefined(var_1E))
{
var_1F = var_05;
}
else
{
var_1F = var_21.origin;
}
var_23 = getmovedelta(var_0D,var_21,1);
var_1F = (var_1F[0],var_1F[1],var_1F[2] - var_23[2]);
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
}
else if(var_0B && abs(var_08[2]) < 64)
{
if(var_0F.size != 1)
{
var_0F = getnotetracktimes(var_0D,"flex_across_start");
}
if(var_11.size != 1)
{
var_11 = getnotetracktimes(var_0D,"flex_across_end");
}
var_22 = getanimlength(var_0D);
var_24 = var_0F[0] * var_22;
var_25 = var_11[0] * var_22;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_start");
var_26 = removezfromvec(getmovedelta(var_0D,var_0F[0],var_11[0]));
var_27 = distance2d(self.origin,var_05);
var_28 = getmovedelta(var_0D,var_0F[0],1);
var_29 = length2d(var_28);
var_2A = var_27 - var_29;
var_2B = length2d(var_26);
if(var_2B < 0.01)
{
var_2B = 1;
}
var_2C = var_2A + var_2B / var_2B;
self method_8282(var_2C,0);
childthread traverse_lerp_z_over_time_dlc(var_04.origin[2],var_05[2],var_25 - var_24 / self.var_126E8);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_end");
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
else if(var_08[2] > 16)
{
if(var_1B[2] > 0)
{
if(var_0C)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_0F.size > 0)
{
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
if(!var_1D && length2dsquared(var_09) < 0.64 * length2dsquared(var_1B))
{
var_1C.var_13E2B = 0.4;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
var_2E = getmovedelta(var_0D,0,var_0F[0]);
var_2F = getmovedelta(var_0D,0,var_11[0]);
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
var_30 = var_05 - self.origin;
var_31 = var_1B - var_2E;
if(!var_1D && length2dsquared(var_30) < 0.5625 * length2dsquared(var_31))
{
var_1C.var_13E2B = 0.75;
}
var_32 = var_1B - var_2F;
var_33 = (var_32[0] * var_1C.var_13E2B,var_32[1] * var_1C.var_13E2B,var_32[2] * var_1C.var_3A6);
var_34 = rotatevector(var_33,var_0A);
var_35 = var_05 - var_34;
var_36 = var_2F - var_2E;
var_37 = rotatevector(var_36,var_0A);
var_38 = var_35 - self.origin;
var_39 = var_1C;
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_38,var_37,1);
if(var_1D)
{
var_1C.var_13E2B = 1;
}
if(var_38[2] <= 0)
{
var_1C.var_3A6 = 0;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
var_1C = var_39;
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
}
else
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse","flex_height_start","flex_height_end",1,::zombietraversenotetrackhandler_dlc);
}
}
else if(abs(var_08[2]) < 16 || var_1B[2] == 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_1B[2] < 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_0F.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
}
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * 1,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
if(animhasnotetrack(var_0D,"removestatelock"))
{
scripts\mp\agents\_scriptedagents::func_1384D("traverse","removestatelock");
}
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,1,"traverse");
}
self method_8282(1,1);
}
else
{
}
lerptoabovegrounddlc();
self method_828A("gravity");
self.var_9CEC = undefined;
self notify("traverse_end");
terminatetraverse_dlc(param_00,param_01);
}
//Function Number: 4
lerptoabovegrounddlc()
{
var_00 = 0.1;
var_01 = self.var_6378;
var_02 = var_01[2];
var_03 = self.origin[2];
var_04 = getgroundposition(var_01,8);
var_05 = var_04[2];
if(var_03 < var_05)
{
self setorigin((self.origin[0],self.origin[1],var_05 + var_00),0);
}
}
//Function Number: 5
terminatetraverse_dlc(param_00,param_01)
{
var_02 = level.var_2303[param_00].var_10E2F[param_01];
var_03 = undefined;
if(isdefined(var_02.var_116FB))
{
if(isarray(var_02.var_116FB[0]))
{
var_03 = var_02.var_116FB[0];
}
else
{
var_03 = var_02.var_116FB;
}
}
lib_0A1A::func_2388(param_00,param_01,var_02,var_02.var_116FB);
lib_0A1A::func_238A(param_00,var_03,0.2,undefined,undefined,undefined);
self notify("killanimscript");
}
//Function Number: 6
traverse_lerp_z_over_time_dlc(param_00,param_01,param_02)
{
self endon("death");
self endon("terminate_ai_threads");
var_03 = gettime();
for(;;)
{
var_04 = gettime() - var_03 / 1000;
var_05 = var_04 / param_02;
if(var_05 > 1)
{
break;
}
var_06 = lib_0F74::func_AB6F(var_05,param_00,param_01);
self setorigin((self.origin[0],self.origin[1],var_06),0);
wait(0.05);
}
}
//Function Number: 7
needscrawlinganimstate_dlc(param_00)
{
if(self.var_565C)
{
return 1;
}
return 0;
}
//Function Number: 8
zombietraversenotetrackhandler_dlc(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "apply_physics":
self method_828A("gravity");
break;
default:
break;
}
}
//Function Number: 9
choosestandingdeathanim_dlc(param_00,param_01,param_02,param_03)
{
if(!scripts\common\utility::istrue(self.kung_fu_punched))
{
if(scripts\common\utility::istrue(self.electrocuted))
{
return lib_0A1A::func_2358(param_01,"electrocuted");
}
}
return lib_0C71::func_3F00(param_00,param_01,param_02,param_03);
}
//Function Number: 10
choosemovingdeathanim_dlc(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.kung_fu_punched) && self.agent_type != "skater")
{
return lib_0A1A::func_2358(param_01,"kungfu");
}
if(!scripts\common\utility::istrue(self.kung_fu_punched))
{
if(scripts\common\utility::istrue(self.electrocuted))
{
return lib_0A1A::func_2358(param_01,"electrocuted");
}
}
return lib_0C71::func_3EE2(param_00,param_01,param_02);
}
//Function Number: 11
chooseballoongrabanim(param_00,param_01,param_02)
{
if(lib_0C75::func_BE92())
{
return lib_0A1A::func_2358(param_01,"prone");
}
return lib_0A1A::func_2358(param_01,"stand");
}
//Function Number: 12
handleballoonfloating()
{
self endon("death");
wait(randomfloatrange(5,5.9));
self notify("reached_end");
self unlink();
self setvelocity((randomintrange(-10,10),randomintrange(-10,10),-50));
self.do_immediate_ragdoll = 1;
self.var_4C87 = 1;
playfx(level._effect["balloon_death"],self.balloon_in_hand.origin + (0,0,50));
playsoundatpos(self.origin,"craftable_balloon_zmb_explo");
self dodamage(self.health + 100,self.origin,undefined,undefined,"MOD_EXPLOSIVE","zmb_imsprojectile_mp");
}
//Function Number: 13
balloongrabnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "balloon_attach")
{
var_04 = ["decor_balloon_a_blue","decor_balloon_a_blue_light","decor_balloon_a_cyan","decor_balloon_a_green","decor_balloon_a_green_light","decor_balloon_a_orange","decor_balloon_a_pink","decor_balloon_a_purple","decor_balloon_a_purple_deep","decor_balloon_a_red","decor_balloon_a_yellow"];
var_05 = self gettagorigin("j_shoulder_ri");
self.balloon_in_hand = spawn("script_model",var_05);
self.balloon_model = scripts\common\utility::random(var_04);
if(self.bholdingballooninleft)
{
self attach(self.balloon_model,"tag_accessory_left");
}
else
{
self attach(self.balloon_model,"tag_accessory_right");
}
self.balloon_in_hand.origin = var_05;
self linkto(self.balloon_in_hand);
self playerlinkedoffsetenable();
var_06 = randomintrange(-50,50);
var_07 = randomintrange(-50,50);
self.balloon_in_hand moveto(self.origin + (var_06,var_07,self.detonate_height),6,3);
self.balloon_in_hand rotateyaw(randomint(360),6);
thread handleballoonfloating();
}
}
//Function Number: 14
chooseballoonfloatanim(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.bholdingballooninleft))
{
return lib_0A1A::func_2358(param_01,"left");
}
return lib_0A1A::func_2358(param_01,"right");
}
//Function Number: 15
shouldballoongrableft(param_00,param_01,param_02,param_03)
{
self.bholdingballooninleft = undefined;
if(lib_0C72::func_9EA5())
{
self.bholdingballooninleft = 1;
}
else if(randomintrange(0,100) < 50)
{
self.bholdingballooninleft = 1;
}
else
{
self.bholdingballooninleft = 0;
}
return self.bholdingballooninleft;
}
//Function Number: 16
isdismembermentdisabled(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.var_55CF))
{
return 1;
}
return 0;
}
//Function Number: 17
shoulddosharpturn_dlc(param_00,param_01,param_02,param_03)
{
return lib_0F3B::func_FFF8(param_00,param_01,param_02,param_03);
}
//Function Number: 18
isdiscofeverdone(param_00,param_01,param_02,param_03)
{
return !hasdiscofever(param_00,param_01,param_02,param_03);
}
//Function Number: 19
hasdiscofever(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.bhasdiscofever);
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,142 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc3\zipline_traversal.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 10
* Decompile Time: 507 ms
* Timestamp: 10/27/2023 12:02:51 AM
*******************************************************************/
//Function Number: 1
playtraversezipline(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
self.do_immediate_ragdoll_save = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
var_04 = lib_0A1D::func_2337(param_00,param_01);
playtraverseziplineinternal(param_00,param_01,var_04);
}
//Function Number: 2
get_closest_zipline_traversal(param_00)
{
var_01 = 16384;
foreach(var_03 in level.zipline_traversals)
{
if(distance2dsquared(var_03.traversal_start,param_00) < var_01)
{
return var_03;
}
}
return undefined;
}
//Function Number: 3
playtraverseziplineinternal(param_00,param_01,param_02)
{
var_03 = param_02;
var_04 = self method_80FD(param_01,var_03);
var_05 = getnotetracktimes(var_04,"flex_height_up_end");
var_06 = get_closest_zipline_traversal(self.origin);
self.zipline = var_06;
var_07 = var_06.var_13EFC.origin + (0,0,-84);
var_08 = lib_0A1A::func_2341(param_00,param_01);
var_09 = vectortoangles(var_06.var_13EFB.origin - var_06.var_13EFC.origin);
var_09 = (0,var_09[1],0);
self method_8289("face angle abs",var_09);
self method_828A("noclip");
self method_8281("anim deltas");
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_03,param_01,"flex_height_up_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_03,param_01,var_04,"flex_height_up_start","flex_height_up_end",var_07,var_05[0]);
attach_to_zipline_and_go();
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_03,1,param_01,"end",undefined);
self.angles = var_09;
}
//Function Number: 4
attach_to_zipline_and_go()
{
self.zipline_ent = spawn("script_model",self.origin);
self.zipline_ent setmodel("tag_origin");
self.zipline_ent.angles = self.angles;
self linkto(self.zipline_ent,"tag_origin");
var_00 = self.zipline.var_13EFC.origin + (0,0,-84);
var_01 = self.zipline.var_13EFB.origin + (0,0,-84);
var_02 = distance(var_00,var_01);
var_03 = 500;
var_04 = int(var_02 / var_03);
self.zipline_ent moveto(var_01,var_04,2);
self.zipline.var_6393 = gettime() + int(var_04 * 1000);
}
//Function Number: 5
playtraverseziplineloop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
self method_82AF(param_01,var_04,1);
var_06 = self.zipline.var_6393 - gettime();
if(var_06 > 0)
{
wait(var_06 / 1000);
}
lib_0A1A::func_2330(param_01,"loop_finished");
}
//Function Number: 6
playtraverseziplinedrop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getnotetracktimes(var_05,"flex_height_down_end");
var_07 = self.zipline.traversal_end;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_04,param_01,"flex_height_down_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_04,param_01,var_05,"flex_height_down_start","flex_height_down_end",var_07,var_06[0],undefined);
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,1,param_01,"end",undefined);
thread lib_0C75::func_11701(param_00,param_01);
}
//Function Number: 7
terminateziplineintro(param_00,param_01,param_02)
{
if(!isalive(self) && isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 8
terminateziplineloop(param_00,param_01,param_02)
{
if(isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 9
terminatezipline(param_00,param_01,param_02)
{
self.do_immediate_ragdoll = self.do_immedate_ragdoll_save;
self.do_immedate_ragdoll_save = undefined;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
self.zipline = undefined;
}
//Function Number: 10
chooseanimzipline(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}

View File

@ -0,0 +1,810 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc3\zombie_dlc3.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 28
* Decompile Time: 1388 ms
* Timestamp: 10/27/2023 12:02:53 AM
*******************************************************************/
//Function Number: 1
playtraverseanimz_dlc(param_00,param_01,param_02,param_03)
{
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
var_04 = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
dotraverseanim_dlc(param_00,param_01,param_02,param_03);
self.do_immediate_ragdoll = var_04;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
}
//Function Number: 2
removezfromvec(param_00)
{
return (param_00[0],param_00[1],0);
}
//Function Number: 3
dotraverseanim_dlc(param_00,param_01,param_02,param_03)
{
self endon("death");
self endon("terminate_ai_threads");
var_04 = self method_8148();
var_05 = self method_8146();
self.var_6367 = var_05;
if(!isdefined(var_04))
{
return;
}
if(!isdefined(var_05))
{
return;
}
self.var_6378 = var_05;
self.var_126CB = vectornormalize(var_05 - var_04.origin);
var_06 = undefined;
var_06 = var_04.var_48;
if(param_01 == "traverse_external")
{
var_06 = param_01;
}
if(needscrawlinganimstate_dlc(var_06))
{
var_06 = "crawling_" + var_06;
}
if(!isdefined(var_06))
{
return;
}
self.var_9CEC = 1;
var_07 = lib_0A1D::func_2337(param_00,var_06);
var_08 = var_05 - var_04.origin;
var_09 = (var_08[0],var_08[1],0);
var_0A = vectortoangles(var_09);
var_0B = issubstr(var_06,"jump_across");
var_0C = var_06 == "traverse_boost" && self.var_1096F == "humanoid" || self.var_1096F == "zombie";
self method_8289("face angle abs",var_0A);
self method_8281("anim deltas");
var_0D = self method_80FD(var_06,var_07);
var_0E = "flex_height_up_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "flex_height_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "traverse_jump_start";
var_0F = getnotetracktimes(var_0D,var_0E);
}
}
var_10 = "flex_height_up_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "flex_height_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "traverse_jump_end";
var_11 = getnotetracktimes(var_0D,var_10);
}
}
var_12 = "highest_point";
var_13 = getnotetracktimes(var_0D,var_12);
var_14 = "flex_height_down_start_fix";
var_15 = getnotetracktimes(var_0D,var_14);
if(var_15.size == 0)
{
var_14 = "flex_height_down_start";
var_15 = getnotetracktimes(var_0D,var_14);
}
var_16 = "flex_height_down_end_fix";
var_17 = getnotetracktimes(var_0D,var_16);
if(var_17.size == 0)
{
var_16 = "flex_height_down_end";
var_17 = getnotetracktimes(var_0D,var_16);
}
var_18 = "crawler_early_stop";
var_19 = getnotetracktimes(var_0D,var_18);
var_1A = getnotetracktimes(var_0D,"code_move");
if(var_1A.size > 0)
{
var_1B = getmovedelta(var_0D,0,var_1A[0]);
}
else
{
var_1B = getmovedelta(var_0E,0,1);
}
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_08,var_1B);
var_1D = animhasnotetrack(var_0D,"ignoreanimscaling");
if(var_1D)
{
var_1C.var_13E2B = 1;
}
self method_828A("noclip");
var_1E = self method_8145();
if(isdefined(var_1E) && isdefined(var_1E.target))
{
self.var_6366 = var_1E;
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(var_13.size > 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_12,0,::zombietraversenotetrackhandler_dlc);
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(isdefined(var_1F.script_noteworthy) && var_1F.script_noteworthy == "continue_flex_height")
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_12,var_10,1,::zombietraversenotetrackhandler_dlc);
}
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else if(var_15.size == 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_10,0,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else if(var_0F.size == 0)
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","flex_height_down_start",::zombietraversenotetrackhandler_dlc);
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_14,var_16,0,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else
{
var_20 = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
var_1F = var_20.origin;
var_21 = var_11[0];
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_0E,var_10,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
var_22 = getanimlength(var_0D);
if(var_15[0] - var_11[0] >= 0.05 / var_22)
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED2(var_06,var_07,1,"traverse",var_14,::zombietraversenotetrackhandler_dlc);
}
var_21 = var_17[0];
var_23 = getmovedelta(var_0D,var_21,1);
var_1F = (self.var_6366.origin[0],self.var_6366.origin[1],self.var_6366.origin[2] - var_23[2]);
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
}
self.var_6366 = undefined;
}
else if(var_15.size > 0 && var_17.size > 0 && self.agent_type != "zombie_brute")
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse",var_14,::zombietraversenotetrackhandler_dlc);
var_21 = var_17[0];
if(!isdefined(var_1E))
{
var_1F = var_05;
}
else
{
var_1F = var_21.origin;
}
var_23 = getmovedelta(var_0D,var_21,1);
var_1F = (var_1F[0],var_1F[1],var_1F[2] - var_23[2]);
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
}
else if(var_0B && abs(var_08[2]) < 64)
{
if(var_0F.size != 1)
{
var_0F = getnotetracktimes(var_0D,"flex_across_start");
}
if(var_11.size != 1)
{
var_11 = getnotetracktimes(var_0D,"flex_across_end");
}
var_22 = getanimlength(var_0D);
var_24 = var_0F[0] * var_22;
var_25 = var_11[0] * var_22;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_start");
var_26 = removezfromvec(getmovedelta(var_0D,var_0F[0],var_11[0]));
var_27 = distance2d(self.origin,var_05);
var_28 = getmovedelta(var_0D,var_0F[0],1);
var_29 = length2d(var_28);
var_2A = var_27 - var_29;
var_2B = length2d(var_26);
if(var_2B < 0.01)
{
var_2B = 1;
}
var_2C = var_2A + var_2B / var_2B;
self method_8282(var_2C,0);
childthread traverse_lerp_z_over_time_dlc(var_04.origin[2],var_05[2],var_25 - var_24 / self.var_126E8);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_end");
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
else if(var_08[2] > 16)
{
if(var_1B[2] > 0)
{
if(var_0C)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_0F.size > 0)
{
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
if(!var_1D && length2dsquared(var_09) < 0.64 * length2dsquared(var_1B))
{
var_1C.var_13E2B = 0.4;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
var_2E = getmovedelta(var_0D,0,var_0F[0]);
var_2F = getmovedelta(var_0D,0,var_11[0]);
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
var_30 = var_05 - self.origin;
var_31 = var_1B - var_2E;
if(!var_1D && length2dsquared(var_30) < 0.5625 * length2dsquared(var_31))
{
var_1C.var_13E2B = 0.75;
}
var_32 = var_1B - var_2F;
var_33 = (var_32[0] * var_1C.var_13E2B,var_32[1] * var_1C.var_13E2B,var_32[2] * var_1C.var_3A6);
var_34 = rotatevector(var_33,var_0A);
var_35 = var_05 - var_34;
var_36 = var_2F - var_2E;
var_37 = rotatevector(var_36,var_0A);
var_38 = var_35 - self.origin;
var_39 = var_1C;
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_38,var_37,1);
if(var_1D)
{
var_1C.var_13E2B = 1;
}
if(var_38[2] <= 0)
{
var_1C.var_3A6 = 0;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
var_1C = var_39;
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
}
else
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse","flex_height_start","flex_height_end",1,::zombietraversenotetrackhandler_dlc);
}
}
else if(abs(var_08[2]) < 16 || var_1B[2] == 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_1B[2] < 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_0F.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
}
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * 1,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
if(animhasnotetrack(var_0D,"removestatelock"))
{
scripts\mp\agents\_scriptedagents::func_1384D("traverse","removestatelock");
}
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,1,"traverse");
}
self method_8282(1,1);
}
else
{
}
lerptoabovegrounddlc();
self method_828A("gravity");
self.var_9CEC = undefined;
self notify("traverse_end");
terminatetraverse_dlc(param_00,param_01);
}
//Function Number: 4
lerptoabovegrounddlc()
{
var_00 = 0.1;
var_01 = self.var_6378;
var_02 = var_01[2];
var_03 = self.origin[2];
var_04 = getgroundposition(var_01,8);
var_05 = var_04[2];
if(var_03 < var_05)
{
self setorigin((self.origin[0],self.origin[1],var_05 + var_00),0);
}
}
//Function Number: 5
terminatetraverse_dlc(param_00,param_01)
{
var_02 = level.var_2303[param_00].var_10E2F[param_01];
var_03 = undefined;
if(isdefined(var_02.var_116FB))
{
if(isarray(var_02.var_116FB[0]))
{
var_03 = var_02.var_116FB[0];
}
else
{
var_03 = var_02.var_116FB;
}
}
lib_0A1A::func_2388(param_00,param_01,var_02,var_02.var_116FB);
lib_0A1A::func_238A(param_00,var_03,0.2,undefined,undefined,undefined);
self notify("killanimscript");
}
//Function Number: 6
traverse_lerp_z_over_time_dlc(param_00,param_01,param_02)
{
self endon("death");
self endon("terminate_ai_threads");
var_03 = gettime();
for(;;)
{
var_04 = gettime() - var_03 / 1000;
var_05 = var_04 / param_02;
if(var_05 > 1)
{
break;
}
var_06 = lib_0F74::func_AB6F(var_05,param_00,param_01);
self setorigin((self.origin[0],self.origin[1],var_06),0);
wait(0.05);
}
}
//Function Number: 7
needscrawlinganimstate_dlc(param_00)
{
if(self.var_565C)
{
return 1;
}
return 0;
}
//Function Number: 8
zombietraversenotetrackhandler_dlc(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "apply_physics":
self method_828A("gravity");
break;
default:
break;
}
}
//Function Number: 9
choosestandingdeathanim_dlc(param_00,param_01,param_02,param_03)
{
if(!scripts\common\utility::istrue(self.kung_fu_punched))
{
if(scripts\common\utility::istrue(self.electrocuted))
{
return lib_0A1A::func_2358(param_01,"electrocuted");
}
}
return lib_0C71::func_3F00(param_00,param_01,param_02,param_03);
}
//Function Number: 10
choosemovingdeathanim_dlc(param_00,param_01,param_02)
{
return lib_0C71::func_3EE2(param_00,param_01,param_02);
}
//Function Number: 11
chooseballoongrabanim(param_00,param_01,param_02)
{
if(lib_0C75::func_BE92())
{
return lib_0A1A::func_2358(param_01,"prone");
}
return lib_0A1A::func_2358(param_01,"stand");
}
//Function Number: 12
handleballoonfloating()
{
self endon("death");
wait(randomfloatrange(5,5.9));
self notify("reached_end");
self unlink();
self setvelocity((randomintrange(-10,10),randomintrange(-10,10),-50));
self.do_immediate_ragdoll = 1;
self.var_4C87 = 1;
playfx(level._effect["balloon_death"],self.balloon_in_hand.origin + (0,0,50));
playsoundatpos(self.origin,"craftable_balloon_zmb_explo");
self dodamage(self.health + 100,self.origin,undefined,undefined,"MOD_EXPLOSIVE","zmb_imsprojectile_mp");
}
//Function Number: 13
balloongrabnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "balloon_attach")
{
var_04 = ["decor_balloon_a_blue","decor_balloon_a_blue_light","decor_balloon_a_cyan","decor_balloon_a_green","decor_balloon_a_green_light","decor_balloon_a_orange","decor_balloon_a_pink","decor_balloon_a_purple","decor_balloon_a_purple_deep","decor_balloon_a_red","decor_balloon_a_yellow"];
var_05 = self gettagorigin("j_shoulder_ri");
self.balloon_in_hand = spawn("script_model",var_05);
self.balloon_model = scripts\common\utility::random(var_04);
if(self.bholdingballooninleft)
{
self attach(self.balloon_model,"tag_accessory_left");
}
else
{
self attach(self.balloon_model,"tag_accessory_right");
}
self.balloon_in_hand.origin = var_05;
self linkto(self.balloon_in_hand);
self playerlinkedoffsetenable();
var_06 = randomintrange(-50,50);
var_07 = randomintrange(-50,50);
self.balloon_in_hand moveto(self.origin + (var_06,var_07,self.detonate_height),6,3);
self.balloon_in_hand rotateyaw(randomint(360),6);
thread handleballoonfloating();
}
}
//Function Number: 14
chooseballoonfloatanim(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.bholdingballooninleft))
{
return lib_0A1A::func_2358(param_01,"left");
}
return lib_0A1A::func_2358(param_01,"right");
}
//Function Number: 15
shouldballoongrableft(param_00,param_01,param_02,param_03)
{
self.bholdingballooninleft = undefined;
if(lib_0C72::func_9EA5())
{
self.bholdingballooninleft = 1;
}
else if(randomintrange(0,100) < 50)
{
self.bholdingballooninleft = 1;
}
else
{
self.bholdingballooninleft = 0;
}
return self.bholdingballooninleft;
}
//Function Number: 16
isdismembermentdisabled(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.var_55CF))
{
return 1;
}
return 0;
}
//Function Number: 17
shoulddosharpturn_dlc(param_00,param_01,param_02,param_03)
{
return lib_0F3B::func_FFF8(param_00,param_01,param_02,param_03);
}
//Function Number: 18
isdiscofeverdone(param_00,param_01,param_02,param_03)
{
return !hasdiscofever(param_00,param_01,param_02,param_03);
}
//Function Number: 19
hasdiscofever(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.bhasdiscofever);
}
//Function Number: 20
shoot_generic_dlc(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
lib_0F3E::func_FE89();
var_04 = lib_0F3E::func_FE64();
self method_83CE();
var_05 = lib_0A1D::func_2337(param_00,param_01);
shootburst_dlc(param_01,0.2,2);
self.var_2303.var_FECD.var_C21C--;
lib_0F3E::func_32BE();
lib_0A1A::func_2330(param_01,"shoot_finished");
}
//Function Number: 21
shootburst_dlc(param_00,param_01,param_02)
{
var_03 = param_00 + "_timeout";
var_04 = param_00 + "_timeout_end";
thread lib_0F3E::func_FE84(var_03,var_04,param_02);
self endon(var_03);
self endon(param_00 + "_finished");
var_05 = 0;
var_06 = self.var_2303.var_FECD.var_FF0B;
var_07 = var_06 == 1;
var_08 = 0;
var_09 = scripts\anim\utility_common::func_13C40();
while(var_05 < var_06 && var_06 > 0)
{
if(!isdefined(self.var_1198.var_FECD))
{
break;
}
if(isdefined(self.var_10C))
{
if(!lib_0F3C::func_9DED() && !lib_0F3C::func_9FFF())
{
break;
}
}
self.var_A9ED = gettime();
var_0A = lib_0F3C::func_811C();
var_0B = lib_0F3C::func_811E(var_0A);
self method_837B(1,var_0B,1,0,1);
if(self.var_3250 > 0)
{
if(var_08)
{
if(randomint(3) == 0)
{
self.var_3250--;
}
}
else
{
self.var_3250--;
}
}
var_05++;
if(var_09)
{
childthread lib_0F3E::func_FE7D(param_00);
}
if(self.var_2303.var_FECD.var_6B92 && var_05 == var_06)
{
break;
}
wait(param_01);
}
self notify(var_04);
}
//Function Number: 22
playanimvioletraydeath(param_00,param_01,param_02,param_03)
{
self method_8289("face angle abs",self.desired_death_angles);
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 23
violetraynotehandler(param_00,param_01,param_02,param_03)
{
thread handlevioletraydeath(param_00,param_01,param_02,param_03);
}
//Function Number: 24
handlevioletraydeath(param_00,param_01,param_02,param_03)
{
self endon("death");
self.nodamage = 1;
self.nocorpse = 1;
self.dont_cleanup = 1;
if(isdefined(self.var_CF80) && self.var_CF80 is_valid_player())
{
var_04 = self.var_CF80;
}
else
{
var_04 = undefined;
}
playfx(level._effect["vfx_crft_xray_spark_gd"],self.origin);
switch(param_00)
{
case "startdeathfx_01":
self setscriptablepartstate("deathfx","violetdeath_01");
break;
case "startdeathfx_02":
self setscriptablepartstate("deathfx","violetdeath_02");
break;
case "startdeathfx_03":
self setscriptablepartstate("deathfx","violetdeath_03");
break;
case "startdeathfx_04":
self setscriptablepartstate("deathfx","violetdeath_04");
break;
default:
break;
}
wait(1.75);
self hide();
self.nodamage = undefined;
self dodamage(self.health + 100,self.origin,var_04,var_04,"MOD_UNKNOWN","iw7_fantrap_zm");
}
//Function Number: 25
playanimhypnosisdeath(param_00,param_01,param_02,param_03)
{
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 26
hypnosisnotehandler(param_00,param_01,param_02,param_03)
{
thread handlehypnosisdeath(param_00,param_01,param_02,param_03);
}
//Function Number: 27
handlehypnosisdeath(param_00,param_01,param_02,param_03)
{
self endon("death");
self.dont_cleanup = 1;
self.nodamage = 1;
var_04 = undefined;
if(isdefined(self.var_CF80))
{
var_04 = self.var_CF80;
}
switch(param_00)
{
case "head_detach":
self.do_immediate_ragdoll = 1;
self setscriptablepartstate("head","hypnodeath");
wait(0.75);
self.nodamage = undefined;
self dodamage(self.health + 100,self.origin,var_04,var_04,"MOD_UNKNOWN","iw7_fantrap_zm");
break;
default:
break;
}
}
//Function Number: 28
is_valid_player()
{
if(!isplayer(self))
{
return 0;
}
if(!isdefined(self))
{
return 0;
}
if(!isalive(self))
{
return 0;
}
if(self.sessionstate == "spectator")
{
return 0;
}
return 1;
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,142 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc4\zipline_traversal.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 10
* Decompile Time: 570 ms
* Timestamp: 10/27/2023 12:03:02 AM
*******************************************************************/
//Function Number: 1
playtraversezipline(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
self.do_immediate_ragdoll_save = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
var_04 = lib_0A1D::func_2337(param_00,param_01);
playtraverseziplineinternal(param_00,param_01,var_04);
}
//Function Number: 2
get_closest_zipline_traversal(param_00)
{
var_01 = 16384;
foreach(var_03 in level.zipline_traversals)
{
if(distance2dsquared(var_03.traversal_start,param_00) < var_01)
{
return var_03;
}
}
return undefined;
}
//Function Number: 3
playtraverseziplineinternal(param_00,param_01,param_02)
{
var_03 = param_02;
var_04 = self method_80FD(param_01,var_03);
var_05 = getnotetracktimes(var_04,"flex_height_up_end");
var_06 = get_closest_zipline_traversal(self.origin);
self.zipline = var_06;
var_07 = var_06.var_13EFC.origin + (0,0,-84);
var_08 = lib_0A1A::func_2341(param_00,param_01);
var_09 = vectortoangles(var_06.var_13EFB.origin - var_06.var_13EFC.origin);
var_09 = (0,var_09[1],0);
self method_8289("face angle abs",var_09);
self method_828A("noclip");
self method_8281("anim deltas");
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_03,param_01,"flex_height_up_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_03,param_01,var_04,"flex_height_up_start","flex_height_up_end",var_07,var_05[0]);
attach_to_zipline_and_go();
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_03,1,param_01,"end",undefined);
self.angles = var_09;
}
//Function Number: 4
attach_to_zipline_and_go()
{
self.zipline_ent = spawn("script_model",self.origin);
self.zipline_ent setmodel("tag_origin");
self.zipline_ent.angles = self.angles;
self linkto(self.zipline_ent,"tag_origin");
var_00 = self.zipline.var_13EFC.origin + (0,0,-84);
var_01 = self.zipline.var_13EFB.origin + (0,0,-84);
var_02 = distance(var_00,var_01);
var_03 = 500;
var_04 = int(var_02 / var_03);
self.zipline_ent moveto(var_01,var_04,2);
self.zipline.var_6393 = gettime() + int(var_04 * 1000);
}
//Function Number: 5
playtraverseziplineloop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
self method_82AF(param_01,var_04,1);
var_06 = self.zipline.var_6393 - gettime();
if(var_06 > 0)
{
wait(var_06 / 1000);
}
lib_0A1A::func_2330(param_01,"loop_finished");
}
//Function Number: 6
playtraverseziplinedrop(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1D::func_2337(param_00,param_01);
var_05 = self method_80FD(param_01,var_04);
var_06 = getnotetracktimes(var_05,"flex_height_down_end");
var_07 = self.zipline.traversal_end;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(param_01,var_04,param_01,"flex_height_down_start",undefined);
scripts\mp\agents\_scriptedagents::func_5AC2(param_01,var_04,param_01,var_05,"flex_height_down_start","flex_height_down_end",var_07,var_06[0],undefined);
scripts\mp\agents\_scriptedagents::func_CED2(param_01,var_04,1,param_01,"end",undefined);
thread lib_0C75::func_11701(param_00,param_01);
}
//Function Number: 7
terminateziplineintro(param_00,param_01,param_02)
{
if(!isalive(self) && isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 8
terminateziplineloop(param_00,param_01,param_02)
{
if(isdefined(self.zipline_ent))
{
self unlink();
self.zipline_ent delete();
}
}
//Function Number: 9
terminatezipline(param_00,param_01,param_02)
{
self.do_immediate_ragdoll = self.do_immedate_ragdoll_save;
self.do_immedate_ragdoll_save = undefined;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
self.zipline = undefined;
}
//Function Number: 10
chooseanimzipline(param_00,param_01,param_02)
{
return lib_0F3C::func_3EF4(param_00,param_01,param_02);
}

View File

@ -0,0 +1,697 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_dlc4\zombie_dlc4.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 21
* Decompile Time: 1092 ms
* Timestamp: 10/27/2023 12:03:03 AM
*******************************************************************/
//Function Number: 1
playtraverseanimz_dlc(param_00,param_01,param_02,param_03)
{
scripts\mp\agents\_scriptedagents::func_F85E(1,"DoTraverse");
var_04 = self.do_immediate_ragdoll;
self.do_immediate_ragdoll = 1;
dotraverseanim_dlc(param_00,param_01,param_02,param_03);
self.do_immediate_ragdoll = var_04;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_F85E(0,"Traverse end_script");
self.var_8C35 = 1;
self.var_126CB = undefined;
}
//Function Number: 2
removezfromvec(param_00)
{
return (param_00[0],param_00[1],0);
}
//Function Number: 3
dotraverseanim_dlc(param_00,param_01,param_02,param_03)
{
self endon("death");
self endon("terminate_ai_threads");
var_04 = self method_8148();
var_05 = self method_8146();
self.var_6367 = var_05;
if(!isdefined(var_04))
{
return;
}
if(!isdefined(var_05))
{
return;
}
self.var_6378 = var_05;
self.var_126CB = vectornormalize(var_05 - var_04.origin);
var_06 = undefined;
var_06 = var_04.var_48;
if(param_01 == "traverse_external")
{
var_06 = param_01;
}
if(needscrawlinganimstate_dlc(var_06))
{
var_06 = "crawling_" + var_06;
}
if(!isdefined(var_06))
{
return;
}
self.var_9CEC = 1;
var_07 = lib_0A1D::func_2337(param_00,var_06);
var_08 = var_05 - var_04.origin;
var_09 = (var_08[0],var_08[1],0);
var_0A = vectortoangles(var_09);
var_0B = issubstr(var_06,"jump_across");
var_0C = var_06 == "traverse_boost" && self.var_1096F == "humanoid" || self.var_1096F == "zombie";
self method_8289("face angle abs",var_0A);
self method_8281("anim deltas");
var_0D = self method_80FD(var_06,var_07);
var_0E = "flex_height_up_start_fix";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "flex_height_up_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "flex_height_start";
var_0F = getnotetracktimes(var_0D,var_0E);
if(var_0F.size == 0)
{
var_0E = "traverse_jump_start";
var_0F = getnotetracktimes(var_0D,var_0E);
}
}
}
var_10 = "flex_height_up_end_fix";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "flex_height_up_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "flex_height_end";
var_11 = getnotetracktimes(var_0D,var_10);
if(var_11.size == 0)
{
var_10 = "traverse_jump_end";
var_11 = getnotetracktimes(var_0D,var_10);
}
}
}
var_12 = "highest_point";
var_13 = getnotetracktimes(var_0D,var_12);
var_14 = "flex_height_down_start_fix";
var_15 = getnotetracktimes(var_0D,var_14);
if(var_15.size == 0)
{
var_14 = "flex_height_down_start";
var_15 = getnotetracktimes(var_0D,var_14);
}
var_16 = "flex_height_down_end_fix";
var_17 = getnotetracktimes(var_0D,var_16);
if(var_17.size == 0)
{
var_16 = "flex_height_down_end";
var_17 = getnotetracktimes(var_0D,var_16);
}
var_18 = "crawler_early_stop";
var_19 = getnotetracktimes(var_0D,var_18);
var_1A = getnotetracktimes(var_0D,"code_move");
if(var_1A.size > 0)
{
var_1B = getmovedelta(var_0D,0,var_1A[0]);
}
else
{
var_1B = getmovedelta(var_0E,0,1);
}
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_08,var_1B);
var_1D = animhasnotetrack(var_0D,"ignoreanimscaling");
if(var_1D)
{
var_1C.var_13E2B = 1;
}
self method_828A("noclip");
var_1E = self method_8145();
if(isdefined(var_1E) && isdefined(var_1E.target))
{
self.var_6366 = var_1E;
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(var_13.size > 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_12,0,::zombietraversenotetrackhandler_dlc);
var_1F = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
if(isdefined(var_1F.script_noteworthy) && var_1F.script_noteworthy == "continue_flex_height")
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_12,var_10,1,::zombietraversenotetrackhandler_dlc);
}
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else if(var_15.size == 0)
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_0E,var_10,0,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else if(var_0F.size == 0)
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","flex_height_down_start",::zombietraversenotetrackhandler_dlc);
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse",var_14,var_16,0,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
else
{
var_20 = scripts\common\utility::getstruct(self.var_6366.target,"targetname");
var_1F = var_20.origin;
var_21 = var_11[0];
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_0E,var_10,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
var_22 = getanimlength(var_0D);
if(var_15[0] - var_11[0] >= 0.05 / var_22)
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED2(var_06,var_07,1,"traverse",var_14,::zombietraversenotetrackhandler_dlc);
}
var_21 = var_17[0];
var_23 = getmovedelta(var_0D,var_21,1);
var_1F = (self.var_6366.origin[0],self.var_6366.origin[1],self.var_6366.origin[2] - var_23[2]);
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
self method_8282(1,1);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
}
self.var_6366 = undefined;
}
else if(var_15.size > 0 && var_17.size > 0 && self.agent_type != "zombie_brute")
{
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse",var_14,::zombietraversenotetrackhandler_dlc);
var_21 = var_17[0];
if(!isdefined(var_1E))
{
var_1F = var_05;
}
else
{
var_1F = var_21.origin;
}
var_23 = getmovedelta(var_0D,var_21,1);
var_1F = (var_1F[0],var_1F[1],var_1F[2] - var_23[2]);
scripts\mp\agents\_scriptedagents::func_5AC2(var_06,var_07,"traverse",var_0D,var_14,var_16,var_1F,var_21,::zombietraversenotetrackhandler_dlc);
if(var_19.size == 0 || !scripts\common\utility::istrue(self.var_565C))
{
scripts\mp\agents\_scriptedagents::func_CED5(var_06,var_07,"traverse","end",::zombietraversenotetrackhandler_dlc);
}
}
else if(var_0B && abs(var_08[2]) < 64)
{
if(var_0F.size != 1)
{
var_0F = getnotetracktimes(var_0D,"flex_across_start");
}
if(var_11.size != 1)
{
var_11 = getnotetracktimes(var_0D,"flex_across_end");
}
var_22 = getanimlength(var_0D);
var_24 = var_0F[0] * var_22;
var_25 = var_11[0] * var_22;
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_start");
var_26 = removezfromvec(getmovedelta(var_0D,var_0F[0],var_11[0]));
var_27 = distance2d(self.origin,var_05);
var_28 = getmovedelta(var_0D,var_0F[0],1);
var_29 = length2d(var_28);
var_2A = var_27 - var_29;
var_2B = length2d(var_26);
if(var_2B < 0.01)
{
var_2B = 1;
}
var_2C = var_2A + var_2B / var_2B;
self method_8282(var_2C,0);
childthread traverse_lerp_z_over_time_dlc(var_04.origin[2],var_05[2],var_25 - var_24 / self.var_126E8);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse","flex_across_end");
self method_8282(1,1);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
else if(var_08[2] > 16)
{
if(var_1B[2] > 0)
{
if(var_0C)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_0F.size > 0)
{
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
if(!var_1D && length2dsquared(var_09) < 0.64 * length2dsquared(var_1B))
{
var_1C.var_13E2B = 0.4;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
var_2E = getmovedelta(var_0D,0,var_0F[0]);
var_2F = getmovedelta(var_0D,0,var_11[0]);
var_1C.var_13E2B = 1;
var_1C.var_3A6 = 1;
var_30 = var_05 - self.origin;
var_31 = var_1B - var_2E;
if(!var_1D && length2dsquared(var_30) < 0.5625 * length2dsquared(var_31))
{
var_1C.var_13E2B = 0.75;
}
var_32 = var_1B - var_2F;
var_33 = (var_32[0] * var_1C.var_13E2B,var_32[1] * var_1C.var_13E2B,var_32[2] * var_1C.var_3A6);
var_34 = rotatevector(var_33,var_0A);
var_35 = var_05 - var_34;
var_36 = var_2F - var_2E;
var_37 = rotatevector(var_36,var_0A);
var_38 = var_35 - self.origin;
var_39 = var_1C;
var_1C = scripts\mp\agents\_scriptedagents::func_7DC9(var_38,var_37,1);
if(var_1D)
{
var_1C.var_13E2B = 1;
}
if(var_38[2] <= 0)
{
var_1C.var_3A6 = 0;
}
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
var_1C = var_39;
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
}
else
{
scripts\mp\agents\_scriptedagents::func_5AC1(var_06,var_07,var_0D,"traverse","flex_height_start","flex_height_end",1,::zombietraversenotetrackhandler_dlc);
}
}
else if(abs(var_08[2]) < 16 || var_1B[2] == 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * self.var_126E8,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse");
}
self method_8282(1,1);
}
else if(var_1B[2] < 0)
{
self method_8282(var_1C.var_13E2B,var_1C.var_3A6);
var_2D = clamp(2 / var_1C.var_3A6,0.5,1);
if(var_0F.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,self.var_126E8,"traverse",var_0E);
}
if(var_11.size > 0)
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,var_2D * 1,"traverse",var_10);
scripts\mp\agents\_scriptedagents::func_F2B1(var_06,var_07,self.var_126E8);
if(animhasnotetrack(var_0D,"removestatelock"))
{
scripts\mp\agents\_scriptedagents::func_1384D("traverse","removestatelock");
}
scripts\mp\agents\_scriptedagents::func_F85E(0,"DoTraverse");
scripts\mp\agents\_scriptedagents::func_1384D("traverse","code_move");
}
else
{
scripts\mp\agents\_scriptedagents::func_CED3(var_06,var_07,1,"traverse");
}
self method_8282(1,1);
}
else
{
}
lerptoabovegrounddlc();
self method_828A("gravity");
self.var_9CEC = undefined;
self notify("traverse_end");
terminatetraverse_dlc(param_00,param_01);
}
//Function Number: 4
lerptoabovegrounddlc()
{
var_00 = 0.1;
var_01 = self.var_6378;
var_02 = var_01[2];
var_03 = self.origin[2];
var_04 = getgroundposition(var_01,8);
var_05 = var_04[2];
if(var_03 < var_05)
{
self setorigin((self.origin[0],self.origin[1],var_05 + var_00),0);
}
}
//Function Number: 5
terminatetraverse_dlc(param_00,param_01)
{
var_02 = level.var_2303[param_00].var_10E2F[param_01];
var_03 = undefined;
if(isdefined(var_02.var_116FB))
{
if(isarray(var_02.var_116FB[0]))
{
var_03 = var_02.var_116FB[0];
}
else
{
var_03 = var_02.var_116FB;
}
}
lib_0A1A::func_2388(param_00,param_01,var_02,var_02.var_116FB);
lib_0A1A::func_238A(param_00,var_03,0.2,undefined,undefined,undefined);
self notify("killanimscript");
}
//Function Number: 6
traverse_lerp_z_over_time_dlc(param_00,param_01,param_02)
{
self endon("death");
self endon("terminate_ai_threads");
var_03 = gettime();
for(;;)
{
var_04 = gettime() - var_03 / 1000;
var_05 = var_04 / param_02;
if(var_05 > 1)
{
break;
}
var_06 = lib_0F74::func_AB6F(var_05,param_00,param_01);
self setorigin((self.origin[0],self.origin[1],var_06),0);
wait(0.05);
}
}
//Function Number: 7
needscrawlinganimstate_dlc(param_00)
{
if(self.var_565C)
{
return 1;
}
return 0;
}
//Function Number: 8
zombietraversenotetrackhandler_dlc(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "apply_physics":
self method_828A("gravity");
break;
default:
break;
}
}
//Function Number: 9
choosestandingdeathanim_dlc(param_00,param_01,param_02,param_03)
{
if(!scripts\common\utility::istrue(self.kung_fu_punched))
{
if(scripts\common\utility::istrue(self.electrocuted))
{
return lib_0A1A::func_2358(param_01,"electrocuted");
}
}
return lib_0C71::func_3F00(param_00,param_01,param_02,param_03);
}
//Function Number: 10
choosemovingdeathanim_dlc(param_00,param_01,param_02)
{
return lib_0C71::func_3EE2(param_00,param_01,param_02);
}
//Function Number: 11
chooseballoongrabanim(param_00,param_01,param_02)
{
if(lib_0C75::func_BE92())
{
return lib_0A1A::func_2358(param_01,"prone");
}
return lib_0A1A::func_2358(param_01,"stand");
}
//Function Number: 12
handleballoonfloating()
{
self endon("death");
wait(randomfloatrange(5,5.9));
self notify("reached_end");
self unlink();
self setvelocity((randomintrange(-10,10),randomintrange(-10,10),-50));
self.do_immediate_ragdoll = 1;
self.var_4C87 = 1;
playfx(level._effect["balloon_death"],self.balloon_in_hand.origin + (0,0,50));
playsoundatpos(self.origin,"craftable_balloon_zmb_explo");
self dodamage(self.health + 100,self.origin,undefined,undefined,"MOD_EXPLOSIVE","zmb_imsprojectile_mp");
}
//Function Number: 13
balloongrabnotehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "balloon_attach")
{
var_04 = ["decor_balloon_a_blue","decor_balloon_a_blue_light","decor_balloon_a_cyan","decor_balloon_a_green","decor_balloon_a_green_light","decor_balloon_a_orange","decor_balloon_a_pink","decor_balloon_a_purple","decor_balloon_a_purple_deep","decor_balloon_a_red","decor_balloon_a_yellow"];
var_05 = self gettagorigin("j_shoulder_ri");
self.balloon_in_hand = spawn("script_model",var_05);
self.balloon_model = scripts\common\utility::random(var_04);
if(self.bholdingballooninleft)
{
self attach(self.balloon_model,"tag_accessory_left");
}
else
{
self attach(self.balloon_model,"tag_accessory_right");
}
self.balloon_in_hand.origin = var_05;
self linkto(self.balloon_in_hand);
self playerlinkedoffsetenable();
var_06 = randomintrange(-50,50);
var_07 = randomintrange(-50,50);
self.balloon_in_hand moveto(self.origin + (var_06,var_07,self.detonate_height),6,3);
self.balloon_in_hand rotateyaw(randomint(360),6);
thread handleballoonfloating();
}
}
//Function Number: 14
chooseballoonfloatanim(param_00,param_01,param_02)
{
if(scripts\common\utility::istrue(self.bholdingballooninleft))
{
return lib_0A1A::func_2358(param_01,"left");
}
return lib_0A1A::func_2358(param_01,"right");
}
//Function Number: 15
shouldballoongrableft(param_00,param_01,param_02,param_03)
{
self.bholdingballooninleft = undefined;
if(lib_0C72::func_9EA5())
{
self.bholdingballooninleft = 1;
}
else if(randomintrange(0,100) < 50)
{
self.bholdingballooninleft = 1;
}
else
{
self.bholdingballooninleft = 0;
}
return self.bholdingballooninleft;
}
//Function Number: 16
isdismembermentdisabled(param_00,param_01,param_02,param_03)
{
if(scripts\common\utility::istrue(self.var_55CF))
{
return 1;
}
return 0;
}
//Function Number: 17
shoulddosharpturn_dlc(param_00,param_01,param_02,param_03)
{
return lib_0F3B::func_FFF8(param_00,param_01,param_02,param_03);
}
//Function Number: 18
isdiscofeverdone(param_00,param_01,param_02,param_03)
{
return !hasdiscofever(param_00,param_01,param_02,param_03);
}
//Function Number: 19
hasdiscofever(param_00,param_01,param_02,param_03)
{
return scripts\common\utility::istrue(self.bhasdiscofever);
}
//Function Number: 20
shoot_generic_dlc(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
lib_0F3E::func_FE89();
var_04 = lib_0F3E::func_FE64();
self method_83CE();
var_05 = lib_0A1D::func_2337(param_00,param_01);
shootburst_dlc(param_01,0.2,2);
self.var_2303.var_FECD.var_C21C--;
lib_0F3E::func_32BE();
lib_0A1A::func_2330(param_01,"shoot_finished");
}
//Function Number: 21
shootburst_dlc(param_00,param_01,param_02)
{
var_03 = param_00 + "_timeout";
var_04 = param_00 + "_timeout_end";
thread lib_0F3E::func_FE84(var_03,var_04,param_02);
self endon(var_03);
self endon(param_00 + "_finished");
var_05 = 0;
var_06 = self.var_2303.var_FECD.var_FF0B;
var_07 = var_06 == 1;
var_08 = 0;
var_09 = scripts\anim\utility_common::func_13C40();
while(var_05 < var_06 && var_06 > 0)
{
if(!isdefined(self.var_1198.var_FECD))
{
break;
}
if(isdefined(self.var_10C))
{
if(!lib_0F3C::func_9DED() && !lib_0F3C::func_9FFF())
{
break;
}
}
self.var_A9ED = gettime();
var_0A = lib_0F3C::func_811C();
var_0B = lib_0F3C::func_811E(var_0A);
self method_837B(1,var_0B,1,0,1);
if(self.var_3250 > 0)
{
if(var_08)
{
if(randomint(3) == 0)
{
self.var_3250--;
}
}
else
{
self.var_3250--;
}
}
var_05++;
if(var_09)
{
childthread lib_0F3E::func_FE7D(param_00);
}
if(self.var_2303.var_FECD.var_6B92 && var_05 == var_06)
{
break;
}
wait(param_01);
}
self notify(var_04);
}

View File

@ -0,0 +1,161 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_sasquatch\mp\states.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 5
* Decompile Time: 342 ms
* Timestamp: 10/27/2023 12:03:04 AM
*******************************************************************/
//Function Number: 1
func_2371()
{
if(lib_0A1A::func_232E("zombie_sasquatch"))
{
return;
}
lib_0A1A::func_230B("zombie_sasquatch","start_state");
lib_0A1A::func_2374("start_state",::scripts\asm\zombie_sasquatch\sasquatch_asm::sasquatch_init,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("spawn_fx",undefined,::trans_start_state_to_spawn_fx0,undefined);
lib_0A1A::func_2375("spawn",undefined,::trans_start_state_to_spawn1,undefined);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("idle",::scripts\asm\zombie_sasquatch\sasquatch_asm::sasquatch_playidleanim,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,"pain_standing",undefined,"death_generic",undefined,undefined,undefined,undefined,"face enemy","anim deltas",undefined);
lib_0A1A::func_2375("exit_to_run",undefined,::lib_0A1A::func_BCE7,undefined);
lib_0A1A::func_2375("melee_swipe",undefined,::lib_0A1B::func_2953,undefined);
lib_0A1A::func_2375("throw_rock",undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasq_throwrockrequested,undefined);
lib_0A1A::func_2375("taunt",undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasq_tauntrequested,undefined);
lib_0A1A::func_2374("death_generic",::lib_0C71::func_CF0E,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("run",::scripts\asm\shared\mp\move_v2::playmoveloopv2,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("run_arrival",undefined,::lib_0A1A::func_C17F,undefined);
lib_0A1A::func_2375("melee_run_swipe",undefined,::lib_0A1B::func_2953,undefined);
lib_0A1A::func_2375("run_turn",undefined,::lib_0F3B::func_FFF8,"run_turn");
lib_0A1A::func_2375("rush",undefined,::scripts\asm\shared_utility::func_BD25,"sprint");
lib_0A1A::func_2375("throw_rock",undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasq_throwrockrequested,undefined);
lib_0A1A::func_2374("exit_to_run",::lib_0C75::func_CEB7,undefined,undefined,undefined,undefined,::lib_0F3B::func_3E9F,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("exit_to_run_complete",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2375("exit_to_run_complete",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_arrival",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("idle",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("traverse_passthrough",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2374("melee_swipe",::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_meleeattack,undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasquatch_melee_notehandler,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasquatch_melee_cleanup,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("melee_run_swipe",::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_meleeattack,undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasquatch_melee_notehandler,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasquatch_melee_cleanup,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("throw_rock",::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_throw,undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_throw_notehandler,::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_throw_terminate,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("taunt",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,"tauntevent","face current","anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("run_turn",::scripts\asm\shared\mp\move_v2::playsharpturnanimv2,undefined,undefined,undefined,undefined,::lib_0F3B::func_3EF5,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("run",undefined,::lib_0A1A::func_68B0,"code_move");
lib_0A1A::func_2374("rush",::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_rush,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face motion","code_move",undefined);
lib_0A1A::func_2375("rush_complete",undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sasq_rushnotrequested,undefined);
lib_0A1A::func_2375("run_arrival",undefined,::lib_0A1A::func_C17F,undefined);
lib_0A1A::func_2374("exit_to_run_complete",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("rush",undefined,::scripts\asm\shared_utility::func_BD25,"sprint");
lib_0A1A::func_2375("run",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("rush_attack",::lib_0F3C::func_CEA8,undefined,::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_rushattack_notehandler,::scripts\asm\zombie_sasquatch\sasquatch_asm::sas_play_rushattack_cleanup,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("rush_attack_complete",undefined,::lib_0A1A::func_68B0,"hit");
lib_0A1A::func_2375("idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("spawn",::lib_0C75::func_D571,undefined,undefined,::lib_0C75::func_11702,undefined,::lib_0C75::func_3EFC,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("idle",undefined,::trans_spawn_to_idle0,undefined);
lib_0A1A::func_2374("pain_standing",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,"face current","anim deltas",undefined);
lib_0A1A::func_2375("idle",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("rush_complete",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("rush_attack",undefined,::lib_0A1B::func_2953,undefined);
lib_0A1A::func_2375("run",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2374("spawn_fx",::lib_0C75::func_D532,undefined,undefined,undefined,undefined,::lib_0C75::func_3EFB,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("spawn",undefined,::trans_spawn_fx_to_spawn0,undefined);
lib_0A1A::func_2374("rush_attack_complete",::lib_0F3C::func_CEA8,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run",undefined,::lib_0A1A::func_BCE7,undefined);
lib_0A1A::func_2374("wall_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("traverse_external",::lib_0C75::func_D563,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_across_100",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("step_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("window_over_36",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("step_up_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_wall_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_across_100",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_step_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_window_over_36",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_step_up_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("mantle_40_over_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_128_out_50",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_128_out_50",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_56_out_50",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56_out_50",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_56",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_56_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_over_30_out_30_down_48",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_over_30_out_30_down_48",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_over_30_out_30_down_48",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_over_30_out_30_down_48",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_down_56_out_50",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56_out_50",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_mantle_40_over_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_down_128_out_50",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_128_out_50",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_up_56",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_up_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_down_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_down_56",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_up_128_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_up_56_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_56_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("over_40_down_56",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_over_40_down_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_128",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_over_40_down_56",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"over_40_down_56",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_down_384",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_384",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_down_384",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_down_384",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("window_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("window_over_40_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("window_over_40_left",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_left",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("window_over_40_left_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_left_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("window_over_40_right",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_right",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("window_over_40_right_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_right_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_window_over_40",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_window_over_40_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_window_over_40_left",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_left",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_window_over_40_left_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_left_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_window_over_40_right",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_right",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_window_over_40_right_extended",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"window_over_40_right_extended",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_up_128_over_40_out_30",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40_out_30",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_up_128_over_40_out_30",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jump_up_128_over_40_out_30",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("wall_over_40_flex",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_wall_over_40_flex",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"wall_over_40",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("zipline",::scripts\asm\zombie_dlc1\zipline_traversal::playtraversezipline,undefined,undefined,::scripts\asm\zombie_dlc1\zipline_traversal::terminateziplineintro,undefined,::scripts\asm\zombie_dlc1\zipline_traversal::chooseanimzipline,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("zipline_loop",undefined,::lib_0A1A::func_68B0,"end");
lib_0A1A::func_2374("zipline_loop",::scripts\asm\zombie_dlc1\zipline_traversal::playtraverseziplineloop,undefined,undefined,::scripts\asm\zombie_dlc1\zipline_traversal::terminateziplineloop,undefined,::scripts\asm\zombie_dlc1\zipline_traversal::chooseanimzipline,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2375("zipline_drop",undefined,::lib_0A1A::func_68B0,"loop_finished");
lib_0A1A::func_2374("zipline_drop",::scripts\asm\zombie_dlc1\zipline_traversal::playtraverseziplinedrop,undefined,undefined,::scripts\asm\zombie_dlc1\zipline_traversal::terminatezipline,"choose_movetype",::scripts\asm\zombie_dlc1\zipline_traversal::chooseanimzipline,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_across_50",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("crawling_jump_across_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_across_50",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("jump_across_128",::scripts\asm\zombie_dlc1\zombie_dlc1::playtraverseanimz_dlc1,undefined,undefined,undefined,"choose_movetype",::lib_0C75::func_3F08,"jumpacross",undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,undefined);
lib_0A1A::func_2374("choose_movetype",::scripts\asm\shared_utility::func_2B58,undefined,undefined,undefined,undefined,::lib_0F3C::func_3E96,undefined,undefined,undefined,undefined,undefined,undefined,undefined,"death_generic",undefined,undefined,undefined,undefined,undefined,undefined,1);
lib_0A1A::func_2375("run",undefined,::scripts\asm\shared_utility::func_12668,undefined);
lib_0A1A::func_2327();
}
//Function Number: 2
trans_start_state_to_spawn_fx0(param_00,param_01,param_02,param_03)
{
return lib_0C75::func_BE96();
}
//Function Number: 3
trans_start_state_to_spawn1(param_00,param_01,param_02,param_03)
{
return lib_0C75::func_BE97();
}
//Function Number: 4
trans_spawn_to_idle0(param_00,param_01,param_02,param_03)
{
return self.hasplayedvignetteanim;
}
//Function Number: 5
trans_spawn_fx_to_spawn0(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_8C12) && self.var_8C12;
}

View File

@ -0,0 +1,302 @@
/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\asm\zombie_sasquatch\sasquatch_asm.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 21
* Decompile Time: 1165 ms
* Timestamp: 10/27/2023 12:03:05 AM
*******************************************************************/
//Function Number: 1
sasquatch_init(param_00,param_01,param_02,param_03)
{
self.var_2303.var_7257 = spawnstruct();
self.var_2303.var_7257.var_7254 = "left";
self.var_2303.var_4C86 = spawnstruct();
self.sharpturnnotifydist = 24;
self.var_1198.btreespawn = 0;
self.var_1198.var_BD23 = "run";
}
//Function Number: 2
sasquatch_playidleanim(param_00,param_01,param_02,param_03)
{
var_04 = isdefined(self.var_10C);
if(var_04)
{
self method_8289("face enemy");
}
else
{
self method_8289("face angle abs",self.angles);
}
lib_0A1D::func_235F(param_00,param_01,param_02,1,0);
}
//Function Number: 3
sas_play_meleeattack(param_00,param_01,param_02,param_03)
{
if(isdefined(self.var_3135.var_B64D))
{
thread sasquatch_faceenemyhelper(self.var_3135.var_B64D,500,param_01);
}
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 4
sasquatch_melee_cleanup(param_00,param_01,param_02)
{
lib_0A1A::func_232F("meleeattack","end");
}
//Function Number: 5
sasquatch_faceenemyhelper(param_00,param_01,param_02)
{
if(isdefined(param_02))
{
self endon(param_02 + "_finished");
}
if(isdefined(param_01))
{
var_03 = gettime() + param_01;
}
else
{
var_03 = -1;
}
while((var_03 < 0 || gettime() <= var_03) && isdefined(param_00) && isalive(param_00))
{
var_04 = param_00.origin - self.origin;
if(length2dsquared(var_04) > 1024)
{
var_05 = vectortoyaw(var_04);
self method_8289("face angle abs",(0,var_05,0));
}
wait(0.05);
}
}
//Function Number: 6
sasquatch_melee_notehandler(param_00,param_01,param_02,param_03)
{
switch(param_00)
{
case "hit":
sasquatch_domeleedamage();
break;
}
}
//Function Number: 7
sasquatch_domeleedamage()
{
var_00 = 90;
var_01 = 9216;
var_02 = 72;
var_03 = 0.707;
var_04 = 2304;
var_05 = 0.174;
var_06 = anglestoforward(self.angles);
var_07 = 0;
foreach(var_09 in level.players)
{
if(!isalive(var_09))
{
continue;
}
var_0A = var_09.origin - self.origin;
var_0B = lengthsquared(var_0A);
if(var_0B > var_01)
{
continue;
}
if(abs(var_0A[2]) > var_02)
{
continue;
}
var_0C = (var_0A[0],var_0A[1],0);
var_0A = vectornormalize(var_0C);
var_0D = vectordot(var_0A,var_06);
if(var_0B < var_04)
{
if(var_0D < var_05)
{
continue;
}
}
else if(var_0D < var_03)
{
continue;
}
var_07 = 1;
self notify("attack_hit",var_09);
lib_0C73::func_5904(var_09,var_00,"MOD_IMPACT");
}
if(!var_07)
{
self notify("attack_miss");
}
}
//Function Number: 8
sas_play_throw(param_00,param_01,param_02,param_03)
{
self endon(param_01 + "_finished");
var_04 = lib_0A1B::func_2930();
thread sasquatch_faceenemyhelper(var_04,1500,param_01);
lib_0A1D::func_2364(param_00,param_01,param_02,param_03);
}
//Function Number: 9
sas_play_throw_notehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "pickup")
{
return;
}
if(param_00 == "throw")
{
if(isdefined(self.rockmodel))
{
self.rockmodel unlink();
self.rockmodel delete();
self.rockmodel = undefined;
}
sasquatch_throwrock(lib_0A1B::func_2930());
}
}
//Function Number: 10
sasquatch_throwrock(param_00)
{
var_01 = self gettagorigin("j_wrist_ri");
var_02 = undefined;
if(isdefined(param_00))
{
var_03 = anglestoforward(self.angles);
var_04 = param_00.origin - self.origin;
if(vectordot(var_03,vectornormalize(var_04)) > 0.707)
{
if(isalive(param_00))
{
var_02 = param_00 geteye();
}
else
{
var_02 = param_00.origin;
}
}
}
if(!isdefined(var_02))
{
var_05 = 256;
var_06 = (cos(20),0,-1 * sin(20));
var_02 = var_01 + rotatevector(var_06,self.angles) * var_05;
}
var_02 = var_02 + (0,0,-20);
magicbullet("iw7_sasq_rock_mp",var_01,var_02,self);
}
//Function Number: 11
sas_play_throw_terminate(param_00,param_01,param_02)
{
if(isdefined(self.rockmodel))
{
self.rockmodel delete();
}
lib_0A1A::func_232F("throwevent","end");
}
//Function Number: 12
sas_play_rush(param_00,param_01,param_02,param_03)
{
self notify("attack_charge");
lib_0A1D::func_235F(param_00,param_01,param_02,1,1);
}
//Function Number: 13
sas_play_rush_orienthelper(param_00,param_01)
{
self endon(param_00 + "_finished");
self method_8289("face motion");
}
//Function Number: 14
sas_play_rushattack_notehandler(param_00,param_01,param_02,param_03)
{
if(param_00 == "hit")
{
sasquatch_domeleedamage();
return;
}
if(param_00 == "footstep_left_small")
{
lib_0A1A::func_232F("rushattack","end");
}
}
//Function Number: 15
sas_play_rushattack_cleanup(param_00,param_01,param_02)
{
lib_0A1A::func_232F("rushattack","end");
}
//Function Number: 16
sas_play_traverseexternal(param_00,param_01,param_02,param_03)
{
self endon("death");
self endon("terminate_ai_threads");
var_04 = lib_0A1D::func_2337(param_00,param_01);
scripts\mp\agents\_scriptedagents::func_CED4(param_01,var_04,1);
var_05 = self method_8146();
self setorigin(var_05);
self notify("killanimscript");
lib_0A1A::func_2330(param_01,"end");
}
//Function Number: 17
sasq_tauntrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.btauntrequested) && self.var_1198.btauntrequested;
}
//Function Number: 18
sasq_rushrequested(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.brushrequested);
}
//Function Number: 19
sasq_rushnotrequested(param_00,param_01,param_02,param_03)
{
return !sasq_rushrequested(param_00,param_01,param_02,param_03);
}
//Function Number: 20
sasq_rushcomplete(param_00,param_01,param_02,param_03)
{
return isdefined(self.var_1198.brushcomplete) && self.var_1198.brushcomplete;
}
//Function Number: 21
sasq_throwrockrequested(param_00,param_01,param_02,param_03)
{
return lib_0A1B::func_298A();
}