mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-11 10:47:57 -05:00
668 lines
14 KiB
Plaintext
668 lines
14 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: scripts\anim\traverse\shared.gsc
|
|
* Game: Call of Duty: Infinite Warfare
|
|
* Platform: PC
|
|
* Function Count: 21
|
|
* Decompile Time: 922 ms
|
|
* Timestamp: 10/26/2023 11:59:41 PM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_18D1(param_00,param_01)
|
|
{
|
|
self.var_5270 = "crouch";
|
|
scripts\anim\utility::func_12E5F();
|
|
self endon("killanimscript");
|
|
self method_83C4("nogravity");
|
|
self method_83C4("noclip");
|
|
var_02 = self method_8148();
|
|
self method_8221("face angle",var_02.angles[1]);
|
|
var_02.var_126D4 = var_02.origin[2] + var_02.var_126D5;
|
|
var_03 = var_02.var_126D4 - var_02.origin[2];
|
|
thread func_11661(var_03 - param_01);
|
|
var_04 = 0.15;
|
|
self method_806F(%body,var_04);
|
|
self method_82E4("traverse",param_00,%root,1,var_04,1);
|
|
var_05 = 0.2;
|
|
var_06 = 0.2;
|
|
thread scripts\anim\notetracks::func_592D("traverse","no clear");
|
|
if(!animhasnotetrack(param_00,"gravity on"))
|
|
{
|
|
var_07 = 1.23;
|
|
wait(var_07 - var_05);
|
|
self method_83C4("gravity");
|
|
wait(var_05);
|
|
return;
|
|
}
|
|
|
|
self waittillmatch("gravity on","traverse");
|
|
self method_83C4("gravity");
|
|
if(!animhasnotetrack(param_00,"blend"))
|
|
{
|
|
wait(var_05);
|
|
return;
|
|
}
|
|
|
|
self waittillmatch("blend","traverse");
|
|
}
|
|
|
|
//Function Number: 2
|
|
func_11661(param_00)
|
|
{
|
|
self endon("killanimscript");
|
|
self notify("endTeleportThread");
|
|
self endon("endTeleportThread");
|
|
var_01 = 5;
|
|
var_02 = (0,0,param_00 / var_01);
|
|
for(var_03 = 0;var_03 < var_01;var_03++)
|
|
{
|
|
self method_80F1(self.origin + var_02);
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_11662(param_00,param_01,param_02,param_03)
|
|
{
|
|
self endon("killanimscript");
|
|
self notify("endTeleportThread");
|
|
self endon("endTeleportThread");
|
|
if(param_00 == 0 || param_02 <= 0)
|
|
{
|
|
return;
|
|
}
|
|
|
|
if(param_01 > 0)
|
|
{
|
|
wait(param_01);
|
|
}
|
|
|
|
var_04 = (0,0,param_00 / param_02);
|
|
if(isdefined(param_03) && param_03 < 1)
|
|
{
|
|
self method_82E3("traverseAnim",self.var_126DB,self.var_126DD,1,0.2,param_03);
|
|
}
|
|
|
|
for(var_05 = 0;var_05 < param_02;var_05++)
|
|
{
|
|
self method_80F1(self.origin + var_04);
|
|
wait(0.05);
|
|
}
|
|
|
|
if(isdefined(param_03) && param_03 < 1)
|
|
{
|
|
self method_82E3("traverseAnim",self.var_126DB,self.var_126DD,1,0.2,1);
|
|
}
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_5AC3(param_00)
|
|
{
|
|
self endon("killanimscript");
|
|
var_01 = getdvarint("ai_iw7",0) != 0;
|
|
self.var_5270 = "stand";
|
|
scripts\anim\utility::func_12E5F();
|
|
var_02 = self method_8148();
|
|
var_02.var_126D4 = var_02.origin[2];
|
|
if(isdefined(var_02.var_126D5))
|
|
{
|
|
var_02.var_126D4 = var_02.var_126D4 + var_02.var_126D5;
|
|
}
|
|
|
|
var_03 = self method_8145();
|
|
self method_8221("face angle",var_02.angles[1]);
|
|
self.var_126E6 = param_00["traverseHeight"];
|
|
self.var_126EB = var_02;
|
|
var_04 = param_00["traverseAnim"];
|
|
var_05 = param_00["traverseToCoverAnim"];
|
|
if(var_01)
|
|
{
|
|
self method_8016("noclip");
|
|
}
|
|
else
|
|
{
|
|
self method_83C4("nogravity");
|
|
self method_83C4("noclip");
|
|
}
|
|
|
|
self.var_126EC = self.origin[2];
|
|
if(!animhasnotetrack(var_04,"traverse_align"))
|
|
{
|
|
func_89F5();
|
|
}
|
|
|
|
var_06 = 0;
|
|
if(isdefined(var_05) && isdefined(self.var_205) && self.var_205.type == param_00["coverType"] && distancesquared(self.var_205.origin,var_03.origin) < 625)
|
|
{
|
|
if(scripts\common\utility::func_152F(self.var_205.angles[1] - var_03.angles[1]) > 160)
|
|
{
|
|
var_06 = 1;
|
|
var_04 = var_05;
|
|
}
|
|
}
|
|
|
|
if(var_06)
|
|
{
|
|
if(isdefined(param_00["traverseToCoverSound"]))
|
|
{
|
|
thread scripts\sp\_utility::func_CE2F(param_00["traverseToCoverSound"]);
|
|
}
|
|
}
|
|
else if(isdefined(param_00["traverseSound"]))
|
|
{
|
|
thread scripts\sp\_utility::func_CE2F(param_00["traverseSound"]);
|
|
}
|
|
|
|
var_07 = undefined;
|
|
if(var_01)
|
|
{
|
|
var_07 = lib_0A1E::func_2339();
|
|
}
|
|
else
|
|
{
|
|
var_07 = %body;
|
|
}
|
|
|
|
self.var_126DB = var_04;
|
|
self.var_126DD = var_07;
|
|
self method_82E4("traverseAnim",var_04,var_07,1,0.2,1);
|
|
self.var_126E3 = 0;
|
|
self.var_126E2 = param_00["interruptDeathAnim"];
|
|
scripts\anim\shared::func_592B("traverseAnim",::func_89F8);
|
|
if(var_01)
|
|
{
|
|
self method_8016("gravity");
|
|
}
|
|
else
|
|
{
|
|
self method_83C4("gravity");
|
|
}
|
|
|
|
if(self.var_EB)
|
|
{
|
|
if(var_01)
|
|
{
|
|
self notify("external_traverse_complete");
|
|
}
|
|
|
|
return;
|
|
}
|
|
|
|
self.var_1491.var_C043 = 0;
|
|
if(var_06 && isdefined(self.var_205) && distancesquared(self.origin,self.var_205.origin) < 256)
|
|
{
|
|
self.var_1491.var_BCC8 = "stop";
|
|
self method_83B9(self.var_205.origin);
|
|
}
|
|
else if(isdefined(param_00["traverseStopsAtEnd"]))
|
|
{
|
|
self.var_1491.var_BCC8 = "stop";
|
|
}
|
|
else
|
|
{
|
|
self.var_1491.var_BCC8 = "run";
|
|
self method_806F(var_04,0.2);
|
|
}
|
|
|
|
self.var_126DD = undefined;
|
|
self.var_126DB = undefined;
|
|
self.var_4E2A = undefined;
|
|
self.var_126EB = undefined;
|
|
if(var_01)
|
|
{
|
|
self notify("external_traverse_complete");
|
|
}
|
|
}
|
|
|
|
//Function Number: 5
|
|
func_89F8(param_00)
|
|
{
|
|
if(param_00 == "traverse_death")
|
|
{
|
|
return func_89F6();
|
|
}
|
|
|
|
if(param_00 == "traverse_align")
|
|
{
|
|
return func_89F5();
|
|
}
|
|
|
|
if(param_00 == "traverse_drop")
|
|
{
|
|
return func_89F7();
|
|
}
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_89F6()
|
|
{
|
|
if(isdefined(self.var_126E2))
|
|
{
|
|
var_00 = self.var_126E2[self.var_126E3];
|
|
self.var_4E2A = var_00[randomint(var_00.size)];
|
|
self.var_126E3++;
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_89F5()
|
|
{
|
|
if(getdvarint("ai_iw7",0) != 0)
|
|
{
|
|
self method_8016("noclip");
|
|
}
|
|
else
|
|
{
|
|
self method_83C4("nogravity");
|
|
self method_83C4("noclip");
|
|
}
|
|
|
|
if(isdefined(self.var_126E6) && isdefined(self.var_126EB.var_126D4))
|
|
{
|
|
var_00 = self.var_126EB.var_126D4 - self.var_126EC;
|
|
thread func_11661(var_00 - self.var_126E6);
|
|
}
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_89F7()
|
|
{
|
|
var_00 = self.origin + (0,0,32);
|
|
var_01 = physicstrace(var_00,self.origin + (0,0,-512));
|
|
var_02 = distance(var_00,var_01);
|
|
var_03 = var_02 - 32 - 0.5;
|
|
var_04 = self method_8102(self.var_126DB);
|
|
var_05 = getmovedelta(self.var_126DB,var_04,1);
|
|
var_06 = getanimlength(self.var_126DB);
|
|
var_07 = 0 - var_05[2];
|
|
var_08 = var_07 - var_03;
|
|
if(var_07 < var_03)
|
|
{
|
|
var_09 = var_07 / var_03;
|
|
}
|
|
else
|
|
{
|
|
var_09 = 1;
|
|
}
|
|
|
|
var_0A = var_06 - var_04 / 3;
|
|
var_0B = ceil(var_0A * 20);
|
|
thread func_11662(var_08,0,var_0B,var_09);
|
|
thread func_6CE5(var_01[2]);
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_6CE5(param_00)
|
|
{
|
|
self endon("killanimscript");
|
|
param_00 = param_00 + 4;
|
|
for(;;)
|
|
{
|
|
if(self.origin[2] < param_00)
|
|
{
|
|
if(getdvarint("ai_iw7",0) != 0)
|
|
{
|
|
self method_8016("gravity");
|
|
}
|
|
else
|
|
{
|
|
self method_83C4("gravity");
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 10
|
|
func_593C()
|
|
{
|
|
self method_8016("zonly_physics");
|
|
self waittill("killanimscript");
|
|
}
|
|
|
|
//Function Number: 11
|
|
func_5864(param_00)
|
|
{
|
|
var_01 = undefined;
|
|
var_02 = 0;
|
|
var_03 = 0;
|
|
if(param_00 == "traverse_jump_start")
|
|
{
|
|
var_02 = 1;
|
|
var_04 = getnotetracktimes(self.var_126DB,"traverse_align");
|
|
if(var_04.size > 0)
|
|
{
|
|
var_01 = var_04;
|
|
}
|
|
else
|
|
{
|
|
var_01 = getnotetracktimes(self.var_126DB,"traverse_jump_end");
|
|
var_03 = 1;
|
|
}
|
|
}
|
|
else if(param_00 == "gravity on")
|
|
{
|
|
var_02 = 1;
|
|
var_01 = getnotetracktimes(self.var_126DB,"traverse_jump_end");
|
|
var_03 = 1;
|
|
}
|
|
|
|
if(var_02)
|
|
{
|
|
var_05 = getnotetracktimes(self.var_126DB,param_00);
|
|
var_06 = var_05[0];
|
|
var_07 = getmovedelta(self.var_126DB,0,var_05[0]);
|
|
var_08 = var_07[2];
|
|
var_07 = getmovedelta(self.var_126DB,0,var_01[0]);
|
|
var_09 = var_07[2];
|
|
var_0A = var_01[0];
|
|
var_0B = getanimlength(self.var_126DB);
|
|
var_0C = int(var_0A - var_06 * var_0B * 30);
|
|
var_0D = max(1,var_0C - 2);
|
|
var_0E = var_09 - var_08;
|
|
if(var_03)
|
|
{
|
|
var_07 = getmovedelta(self.var_126DB,0,1);
|
|
var_0F = var_07[2] - var_09;
|
|
var_10 = self.var_126E4.origin[2] - self.origin[2] - var_0F;
|
|
}
|
|
else
|
|
{
|
|
var_11 = self.var_126EB;
|
|
var_10 = var_11.var_126D5 - self.origin[2] - var_11.origin[2];
|
|
}
|
|
|
|
thread func_11662(var_10 - var_0E,0,var_0D);
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
//Function Number: 12
|
|
func_586C()
|
|
{
|
|
self waittill("killanimscript");
|
|
self.var_126EB = undefined;
|
|
self.var_126E4 = undefined;
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_586D(param_00,param_01,param_02)
|
|
{
|
|
self endon("killanimscript");
|
|
self method_83C4("nogravity");
|
|
self method_83C4("noclip");
|
|
thread func_586C();
|
|
var_03 = self method_8148();
|
|
self method_8221("face angle",var_03.angles[1]);
|
|
if(!isdefined(param_02))
|
|
{
|
|
var_04 = var_03.var_126D4 - var_03.origin[2];
|
|
thread func_11661(var_04 - param_01);
|
|
}
|
|
|
|
self.var_126DB = level.var_58C7[param_00];
|
|
self.var_126EB = var_03;
|
|
self.var_126E4 = self method_8145();
|
|
self method_806F(%body,0.2);
|
|
self method_82EA("dog_traverse",self.var_126DB,1,0.2,1);
|
|
self.var_BCA6 = "land";
|
|
scripts\anim\notetracks::func_5936("dog_traverse",::func_5864);
|
|
self.var_BCA6 = undefined;
|
|
self.var_126DB = undefined;
|
|
}
|
|
|
|
//Function Number: 14
|
|
func_5867(param_00,param_01,param_02,param_03)
|
|
{
|
|
self endon("killanimscript");
|
|
self method_83C4("noclip");
|
|
thread func_586C();
|
|
var_04 = self method_8148();
|
|
var_05 = self method_8145();
|
|
self method_8221("face angle",var_04.angles[1]);
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = "jump_down_40";
|
|
}
|
|
|
|
self.var_126DB = level.var_58C7[param_02];
|
|
self.var_126DD = %body;
|
|
self.var_126EB = var_04;
|
|
self.var_126E4 = var_05;
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = 0;
|
|
}
|
|
|
|
if(!param_03)
|
|
{
|
|
var_06 = var_04.origin[2] - var_05.origin[2];
|
|
thread func_11662(40 - var_06,0.1,param_00,param_01);
|
|
}
|
|
|
|
self.var_BCA6 = "land";
|
|
self method_806F(%body,0.2);
|
|
self method_82EA("traverseAnim",self.var_126DB,1,0.2,1);
|
|
if(!param_03)
|
|
{
|
|
scripts\anim\shared::func_592B("traverseAnim");
|
|
}
|
|
else
|
|
{
|
|
scripts\anim\notetracks::func_5936("traverseAnim",::func_5864);
|
|
}
|
|
|
|
self.var_BCA6 = undefined;
|
|
self method_83C4("gravity");
|
|
self.var_126DD = undefined;
|
|
self.var_126DB = undefined;
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_5868(param_00,param_01,param_02,param_03)
|
|
{
|
|
self endon("killanimscript");
|
|
self method_83C4("noclip");
|
|
thread func_586C();
|
|
var_04 = self method_8148();
|
|
self method_8221("face angle",var_04.angles[1]);
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = "jump_up_40";
|
|
}
|
|
|
|
self.var_126DB = level.var_58C7[param_02];
|
|
self.var_126DD = %body;
|
|
self.var_126EB = var_04;
|
|
self.var_126E4 = self method_8145();
|
|
if(!isdefined(param_03))
|
|
{
|
|
param_03 = 0;
|
|
}
|
|
|
|
if(!param_03)
|
|
{
|
|
thread func_11662(param_00 - 40,0.2,param_01);
|
|
}
|
|
|
|
self.var_BCA6 = "land";
|
|
self method_806F(%body,0.2);
|
|
self method_82EA("traverseAnim",self.var_126DB,1,0.2,1);
|
|
if(!param_03)
|
|
{
|
|
scripts\anim\shared::func_592B("traverseAnim");
|
|
}
|
|
else
|
|
{
|
|
scripts\anim\notetracks::func_5936("traverseAnim",::func_5864);
|
|
}
|
|
|
|
self.var_BCA6 = undefined;
|
|
self method_83C4("gravity");
|
|
self.var_126DB = undefined;
|
|
self.var_126DD = undefined;
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_5869(param_00,param_01)
|
|
{
|
|
self endon("killanimscript");
|
|
self method_83C4("nogravity");
|
|
self method_83C4("noclip");
|
|
thread func_586C();
|
|
var_02 = self method_8148();
|
|
self method_8221("face angle",var_02.angles[1]);
|
|
if(!isdefined(var_02.var_126D4))
|
|
{
|
|
var_02.var_126D4 = var_02.origin[2];
|
|
}
|
|
|
|
var_03 = var_02.var_126D4 - var_02.origin[2];
|
|
thread func_11661(var_03 - param_01);
|
|
self.var_BCA6 = "land";
|
|
self method_806F(%body,0.2);
|
|
self method_82E4("dog_traverse",level.var_58C7[param_00],1,0.2,1);
|
|
scripts\anim\shared::func_592B("dog_traverse");
|
|
self.var_BCA6 = undefined;
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_F163()
|
|
{
|
|
self waittill("killanimscript");
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_F9C6()
|
|
{
|
|
foreach(var_01 in function_00B4("traverse","targetname"))
|
|
{
|
|
var_01 thread func_126ED();
|
|
}
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_D999(param_00)
|
|
{
|
|
self.var_5AE2 = param_00.origin;
|
|
self.var_10DCE = self.angles;
|
|
if(function_02A6(param_00))
|
|
{
|
|
param_00 delete();
|
|
return;
|
|
}
|
|
|
|
scripts\sp\_utility::func_51D4(param_00);
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_D9BD(param_00)
|
|
{
|
|
var_01 = getent(param_00.target,"targetname");
|
|
if(!isdefined(var_01))
|
|
{
|
|
var_01 = scripts\common\utility::getstruct(param_00.target,"targetname");
|
|
}
|
|
|
|
self.var_138A6 = spawnstruct();
|
|
var_03 = param_00;
|
|
var_04 = 0;
|
|
self.var_138A6.var_10DCE = self.angles;
|
|
var_06 = undefined;
|
|
while(isdefined(var_03))
|
|
{
|
|
self.var_138A6.var_C050[var_04] = var_03.origin - self.origin;
|
|
var_04++;
|
|
var_07 = scripts\common\utility::getstruct(var_03.target,"targetname");
|
|
scripts\sp\_utility::func_51D4(var_03);
|
|
var_03 = var_07;
|
|
self.var_138A6.var_C050[var_04] = var_03.origin - self.origin;
|
|
var_04++;
|
|
if(isdefined(var_03.target))
|
|
{
|
|
var_0A = scripts\common\utility::getstruct(var_03.target,"targetname");
|
|
}
|
|
else
|
|
{
|
|
var_0A = undefined;
|
|
}
|
|
|
|
scripts\sp\_utility::func_51D4(var_03);
|
|
var_03 = var_0A;
|
|
if(isdefined(var_03) && isdefined(var_03.var_EF1D))
|
|
{
|
|
if(var_03.var_EF1D == "wallrun_mantle")
|
|
{
|
|
self.var_138A6.var_B313 = var_03.origin - self.origin;
|
|
if(isdefined(var_03.angles))
|
|
{
|
|
self.var_138A6.var_B312 = var_03.angles;
|
|
}
|
|
|
|
scripts\sp\_utility::func_51D4(var_03);
|
|
break;
|
|
}
|
|
else if(var_03.var_EF1D == "wallrun_vault")
|
|
{
|
|
self.var_138A6.var_B313 = var_03.origin - self.origin;
|
|
self.var_138A6.var_331A = 1;
|
|
scripts\sp\_utility::func_51D4(var_03);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_126ED()
|
|
{
|
|
var_00 = getent(self.target,"targetname");
|
|
if(!isdefined(var_00))
|
|
{
|
|
var_00 = scripts\common\utility::getstruct(self.target,"targetname");
|
|
}
|
|
|
|
switch(self.var_48)
|
|
{
|
|
case "wall_run":
|
|
func_D9BD(var_00);
|
|
break;
|
|
|
|
case "double_jump_mantle":
|
|
case "double_jump_vault":
|
|
func_D999(var_00);
|
|
break;
|
|
|
|
case "double_jump":
|
|
self.var_10DCE = self.angles;
|
|
if(!isdefined(var_00))
|
|
{
|
|
return;
|
|
}
|
|
|
|
self.var_A4C9 = var_00.origin - self.origin;
|
|
self.var_A4C8 = var_00.origin;
|
|
break;
|
|
|
|
case "rail_hop_double_jump_down":
|
|
self.var_10DCE = self.angles;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
self.var_126D4 = var_00.origin[2];
|
|
self.var_126D5 = var_00.origin[2] - self.origin[2];
|
|
if(function_02A6(var_00))
|
|
{
|
|
var_00 delete();
|
|
return;
|
|
}
|
|
|
|
scripts\sp\_utility::func_51D4(var_00);
|
|
} |