Files
IL-GSC/IW/PC/ALL/scripts/anim/cover_wall.gsc
2023-10-27 03:49:01 -04:00

879 lines
18 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: scripts\anim\cover_wall.gsc
* Game: Call of Duty: Infinite Warfare
* Platform: PC
* Function Count: 38
* Decompile Time: 1983 ms
* Timestamp: 10/27/2023 12:00:29 AM
*******************************************************************/
//Function Number: 1
func_950B()
{
}
//Function Number: 2
func_470E(param_00)
{
self endon("killanimscript");
self.var_473C = self.var_205;
self.var_4757 = param_00;
if(!isdefined(self.var_205.var_129B9))
{
scripts\anim\cover_behavior::func_129B4(0);
}
if(param_00 == "crouch")
{
func_F923("unknown");
self.var_473C func_97F0();
}
else
{
func_F925("unknown");
}
self.var_1491.var_1A3E = undefined;
self method_8221("face angle",self.var_473C.angles[1]);
if(isdefined(self.var_205) && isdefined(self.var_205.var_129B9))
{
func_130DF();
}
self method_8016("normal");
if(param_00 == "crouch" && self.var_1491.var_D6A5 == "stand")
{
var_01 = scripts\anim\utility::func_1F64("stand_2_hide");
var_02 = getanimlength(var_01);
self method_82A8(var_01,%body,1,0.2,scripts\anim\combat_utility::func_6B9A());
thread scripts\anim\shared::func_BD1D(self.var_473C,var_02);
wait(var_02);
self.var_1491.var_4727 = "hide";
}
else
{
func_B05A(0.4);
if(distancesquared(self.origin,self.var_473C.origin) > 1)
{
thread scripts\anim\shared::func_BD1D(self.var_473C,0.4);
wait(0.2);
if(param_00 == "crouch")
{
self.var_1491.var_D6A5 = "crouch";
}
wait(0.2);
}
else
{
wait(0.1);
}
}
func_F6C0();
if(param_00 == "crouch")
{
if(self.var_1491.var_D6A5 == "prone")
{
scripts\anim\utility::func_697B(1);
}
self.var_1491.var_D6A5 = "crouch";
}
if(self.var_4757 == "stand")
{
self.var_1491.var_10930 = "cover_stand";
}
else
{
self.var_1491.var_10930 = "cover_crouch";
}
var_03 = spawnstruct();
if(!self.var_132)
{
var_03.var_BD1C = ::scripts\anim\cover_behavior::func_BD1C;
}
var_03.var_260 = ::func_4742;
var_03.var_AB2D = ::func_D66A;
var_03.var_1BC = ::func_01BC;
var_03.var_6B9B = ::func_6B9B;
var_03.var_92CC = ::func_92CC;
var_03.var_6F27 = ::func_6F27;
var_03.var_15F = ::func_128AF;
var_03.var_85BF = ::func_128B0;
var_03.var_2B99 = ::func_2B99;
scripts\anim\cover_behavior::main(var_03);
}
//Function Number: 3
func_9F33(param_00)
{
return getsubstr(param_00,0,3) == "rpd" && param_00.size == 3 || param_00[3] == "_";
}
//Function Number: 4
func_97F0()
{
if(isdefined(self.var_4A9D))
{
return;
}
var_00 = (0,0,42);
var_01 = anglestoforward(self.angles);
self.var_4A9D = sighttracepassed(self.origin + var_00,self.origin + var_00 + var_01 * 64,0,undefined);
}
//Function Number: 5
func_F923(param_00)
{
scripts\anim\combat::func_F337(self.var_473C);
func_F92B(param_00);
}
//Function Number: 6
func_F925(param_00)
{
scripts\anim\combat::func_F337(self.var_473C);
func_FA52(param_00);
}
//Function Number: 7
func_4742()
{
var_00 = scripts\anim\combat_utility::func_260(2,scripts\anim\utility::func_1F64("reload"));
if(isdefined(var_00) && var_00)
{
return 1;
}
return 0;
}
//Function Number: 8
func_D66A()
{
self.var_1A4 = 1;
if(isdefined(self.var_DC5C) && randomfloat(1) < self.var_DC5C)
{
if(func_DC57())
{
return 1;
}
}
if(!func_D65B())
{
return 0;
}
func_FE95();
scripts\anim\combat_utility::func_631A();
if(isdefined(self.var_FECF))
{
var_00 = lengthsquared(self.origin - self.var_FECF);
if(scripts\anim\utility_common::func_1311B() && scripts\anim\utility::func_10000(var_00))
{
if(self.var_1491.var_D6A5 == "stand")
{
scripts\anim\shared::func_1180E(scripts\anim\utility::func_B027("combat","drop_rpg_stand"));
}
else
{
scripts\anim\shared::func_1180E(scripts\anim\utility::func_B027("combat","drop_rpg_crouch"));
}
}
}
func_8405();
self.var_4716 = undefined;
self.var_1A4 = 0;
return 1;
}
//Function Number: 9
func_FE95()
{
self endon("return_to_cover");
scripts\sp\_gameskill::func_54C4();
for(;;)
{
if(isdefined(self.var_1006D))
{
break;
}
if(!isdefined(self.var_FECF))
{
self waittill("do_slow_things");
waittillframeend;
if(isdefined(self.var_FECF))
{
continue;
}
break;
}
if(!self.var_3250)
{
break;
}
if(self.var_4757 == "crouch" && func_BE9D())
{
break;
}
func_FEE1();
self method_806F(%add_fire,0.2);
}
}
//Function Number: 10
func_FEE1()
{
if(self.var_4757 == "crouch")
{
thread func_1E82();
}
thread scripts\anim\combat_utility::func_1A3E();
scripts\anim\combat_utility::func_FEDF();
}
//Function Number: 11
func_DC57()
{
if(!scripts\anim\utility::func_8BED())
{
return 0;
}
var_00 = "rambo";
if(randomint(10) < 2)
{
var_00 = "rambo_fail";
}
if(!scripts\anim\utility::func_1F65(var_00))
{
return 0;
}
if(self.var_4757 == "crouch" && !self.var_473C.var_4A9D)
{
return 0;
}
var_01 = func_811F(self.var_473C.origin + scripts\anim\utility_common::func_7FFC(self.var_473C));
if(var_01 > 15)
{
return 0;
}
var_02 = anglestoforward(self.angles);
var_03 = self.origin + var_02 * -16;
if(!self method_8200(var_03))
{
return 0;
}
self.var_4740 = gettime();
func_F6C0();
self.var_1A4 = 1;
self.var_9F15 = 1;
self.var_1491.var_D892 = "rambo";
self.var_3C60 = 1;
thread scripts\anim\shared::func_DC59(0);
var_04 = scripts\anim\utility::func_1F67(var_00);
self method_82E4("rambo",var_04,%body,1,0.2,1);
func_470A(var_04);
scripts\anim\shared::func_592B("rambo");
self notify("rambo_aim_end");
self.var_3C60 = 0;
self.var_1A4 = 0;
self.var_A9D8 = gettime();
self.var_3C60 = 0;
self.var_9F15 = undefined;
return 1;
}
//Function Number: 12
func_92CC()
{
self endon("end_idle");
for(;;)
{
var_00 = randomint(2) == 0 && scripts\anim\utility::func_1F65("hide_idle_twitch");
if(var_00)
{
var_01 = scripts\anim\utility::func_1F67("hide_idle_twitch");
}
else
{
var_01 = scripts\anim\utility::func_1F64("hide_idle");
}
func_D49E(var_01,var_00);
}
}
//Function Number: 13
func_6F27()
{
if(!scripts\anim\utility::func_1F65("hide_idle_flinch"))
{
return 0;
}
var_00 = anglestoforward(self.angles);
var_01 = self.origin + var_00 * -16;
if(!self method_8200(var_01,!scripts\common\utility::func_167E()))
{
return 0;
}
func_F6C0();
self.var_1A4 = 1;
var_02 = scripts\anim\utility::func_1F67("hide_idle_flinch");
func_D49E(var_02,1);
self.var_1A4 = 0;
return 1;
}
//Function Number: 14
func_D49E(param_00,param_01)
{
if(param_01)
{
self method_82E4("idle",param_00,%body,1,0.25,1);
}
else
{
self method_82E3("idle",param_00,%body,1,0.25,1);
}
func_470A(param_00);
self.var_1491.var_4727 = "hide";
scripts\anim\shared::func_592B("idle");
}
//Function Number: 15
func_01BC(param_00)
{
if(!isdefined(self.var_1491.var_2274["hide_to_look"]))
{
return 0;
}
if(!func_C9FC())
{
return 0;
}
scripts\anim\shared::func_D4C2(scripts\anim\utility::func_1F64("look_idle"),param_00);
var_01 = undefined;
if(scripts\anim\utility_common::func_9F8F())
{
var_01 = scripts\anim\utility::func_1F64("look_to_hide_fast");
}
else
{
var_01 = scripts\anim\utility::func_1F64("look_to_hide");
}
self method_82E4("looking_end",var_01,%body,1,0.1);
func_470A(var_01);
scripts\anim\shared::func_592B("looking_end");
return 1;
}
//Function Number: 16
func_C9FC()
{
if(isdefined(self.var_473C.var_ED6A))
{
return 0;
}
var_00 = scripts\anim\utility::func_1F64("hide_to_look");
self method_82E3("looking_start",var_00,%body,1,0.2);
func_470A(var_00);
scripts\anim\shared::func_592B("looking_start");
return 1;
}
//Function Number: 17
func_6B9B()
{
var_00 = scripts\anim\utility::func_1F67("look");
self method_82E4("look",var_00,%body,1,0.1);
func_470A(var_00);
scripts\anim\shared::func_592B("look");
return 1;
}
//Function Number: 18
func_D65C()
{
if(self.var_1491.var_4727 == "left" || self.var_1491.var_4727 == "right" || self.var_1491.var_4727 == "over")
{
return 1;
}
return scripts\anim\combat_utility::func_DCAD();
}
//Function Number: 19
func_D65B()
{
var_00 = func_7DFA();
var_01 = 0.1;
var_02 = scripts\anim\utility::func_1F64("hide_2_" + var_00);
var_03 = !scripts\common\utility::func_167E();
if(!self method_8200(scripts\anim\utility::func_7DC6(var_02),var_03))
{
return 0;
}
if(self.script == "cover_crouch" && var_00 == "lean")
{
self.var_4716 = 1;
}
if(self.var_4757 == "crouch")
{
func_F923(var_00);
}
else
{
func_F925(var_00);
}
self.var_1491.var_10930 = "none";
self.var_10957 = undefined;
if(self.var_4757 == "stand")
{
self.var_1491.var_10930 = "cover_stand_aim";
}
else
{
self.var_1491.var_10930 = "cover_crouch_aim";
}
self.var_3C60 = 1;
self notify("done_changing_cover_pos");
func_F6C0();
var_04 = func_D65C();
self method_82E4("pop_up",var_02,%body,1,0.1,var_04);
thread func_5930("pop_up");
if(animhasnotetrack(var_02,"start_aim"))
{
self waittillmatch("start_aim","pop_up");
var_01 = getanimlength(var_02) / var_04 * 1 - self method_8102(var_02);
}
else
{
self waittillmatch("end","pop_up");
var_01 = 0.1;
}
self method_806F(var_02,var_01 + 0.05);
self.var_1491.var_4727 = var_00;
self.var_1491.var_D892 = var_00;
func_F8A6(var_01);
thread scripts\anim\track::func_11B07();
wait(var_01);
if(scripts\anim\utility_common::func_9D4D())
{
thread scripts\anim\shoot_behavior::func_103A7();
}
self.var_3C60 = 0;
self.var_4740 = gettime();
self notify("stop_popup_donotetracks");
return 1;
}
//Function Number: 20
func_5930(param_00)
{
self endon("killanimscript");
self endon("stop_popup_donotetracks");
scripts\anim\shared::func_592B(param_00);
}
//Function Number: 21
func_F8A6(param_00)
{
if(self.var_1491.var_4727 == "left" || self.var_1491.var_4727 == "right")
{
var_01 = "crouch";
}
else
{
var_01 = self.var_1491.var_4727;
}
self method_82A5(scripts\anim\utility::func_1F64(var_01 + "_aim"),%body,1,param_00);
if(var_01 == "crouch")
{
self method_82AC(scripts\anim\utility::func_B027("cover_crouch","add_aim_down"),1,0);
self method_82AC(scripts\anim\utility::func_B027("cover_crouch","add_aim_left"),1,0);
self method_82AC(scripts\anim\utility::func_B027("cover_crouch","add_aim_up"),1,0);
self method_82AC(scripts\anim\utility::func_B027("cover_crouch","add_aim_right"),1,0);
return;
}
if(var_01 == "stand")
{
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_down"),1,0);
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_left"),1,0);
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_up"),1,0);
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_right"),1,0);
return;
}
if(var_01 == "lean")
{
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_down"),1,0);
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_left"),1,0);
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_up"),1,0);
self method_82AC(scripts\anim\utility::func_B027("default_stand","add_aim_right"),1,0);
return;
}
if(var_01 == "over")
{
self method_82AC(scripts\anim\utility::func_B027("cover_stand","add_aim_down"),1,0);
self method_82AC(scripts\anim\utility::func_B027("cover_stand","add_aim_left"),1,0);
self method_82AC(scripts\anim\utility::func_B027("cover_stand","add_aim_up"),1,0);
self method_82AC(scripts\anim\utility::func_B027("cover_stand","add_aim_right"),1,0);
return;
}
}
//Function Number: 22
func_8405()
{
self notify("return_to_cover");
self.var_3C60 = 1;
self notify("done_changing_cover_pos");
scripts\anim\combat_utility::func_6309();
var_00 = func_D65C();
self method_82E3("go_to_hide",scripts\anim\utility::func_1F64(self.var_1491.var_4727 + "_2_hide"),%body,1,0.2,var_00);
self method_806F(%exposed_modern,0.2);
scripts\anim\shared::func_592B("go_to_hide");
self.var_1491.var_4727 = "hide";
if(self.var_4757 == "stand")
{
self.var_1491.var_10930 = "cover_stand";
}
else
{
self.var_1491.var_10930 = "cover_crouch";
}
self.var_3C60 = 0;
}
//Function Number: 23
func_128B0(param_00)
{
return func_128AF(param_00,1);
}
//Function Number: 24
func_128AF(param_00,param_01)
{
if(isdefined(self.var_595D) || isdefined(param_00.var_5951))
{
return 0;
}
var_02 = undefined;
if(isdefined(self.var_DC5C) && randomfloat(1) < self.var_DC5C)
{
var_02 = scripts\anim\utility::func_1F67("grenade_rambo");
}
else if(isdefined(param_01) && param_01)
{
var_02 = scripts\anim\utility::func_1F67("grenade_safe");
}
else
{
var_02 = scripts\anim\utility::func_1F67("grenade_exposed");
}
func_F6C0();
self.var_1A4 = 1;
var_03 = scripts\anim\combat_utility::func_128A0(param_00,var_02);
self.var_1A4 = 0;
return var_03;
}
//Function Number: 25
func_2B99()
{
if(!scripts\anim\utility::func_1F65("blind_fire"))
{
return 0;
}
func_F6C0();
self.var_1A4 = 1;
self method_82E4("blindfire",scripts\anim\utility::func_1F67("blind_fire"),%body,1,0.2,1);
scripts\anim\shared::func_592B("blindfire");
self.var_1A4 = 0;
return 1;
}
//Function Number: 26
func_4A2B(param_00,param_01,param_02)
{
var_03 = spawnturret("misc_turret",param_00.origin,param_01);
var_03.angles = param_00.angles;
var_03.var_1A56 = self;
var_03 setmodel(param_02);
var_03 makeusable();
var_03 method_82D1(0);
if(isdefined(param_00.var_1B8))
{
var_03.var_1B8 = param_00.var_1B8;
}
if(isdefined(param_00.var_269))
{
var_03.var_269 = param_00.var_269;
}
if(isdefined(param_00.var_349))
{
var_03.var_349 = param_00.var_349;
}
if(isdefined(param_00.var_6B))
{
var_03.var_6B = param_00.var_6B;
}
return var_03;
}
//Function Number: 27
func_51B9(param_00)
{
self endon("death");
self endon("being_used");
wait(0.1);
if(isdefined(param_00))
{
param_00 notify("turret_use_failed");
}
self delete();
}
//Function Number: 28
func_130DF()
{
var_00 = self.var_205.var_129B9;
if(!var_00.var_9F46)
{
return;
}
thread scripts\sp\_mg_penetration::func_8715(var_00);
self waittill("continue_cover_script");
}
//Function Number: 29
func_F92B(param_00)
{
self.var_1491.var_2274 = scripts\anim\utility::func_B028("cover_crouch");
if(scripts\anim\utility_common::func_13C40())
{
if(param_00 == "lean" || param_00 == "stand")
{
self.var_1491.var_2274["single"] = scripts\anim\utility::func_B027("shotgun_stand","single");
}
else
{
self.var_1491.var_2274["single"] = scripts\anim\utility::func_B027("shotgun_crouch","single");
}
}
if(isdefined(level.var_DC5B))
{
self.var_1491.var_2274["rambo"] = level.var_DC5B.var_4713;
self.var_1491.var_2274["rambo_fail"] = level.var_DC5B.var_4714;
self.var_1491.var_2274["grenade_rambo"] = level.var_DC5B.var_4715;
}
}
//Function Number: 30
func_FA52(param_00)
{
self.var_1491.var_2274 = scripts\anim\utility::func_B028("cover_stand");
if(param_00 != "over")
{
var_01 = scripts\anim\utility::func_B028("default_stand");
self.var_1491.var_2274["stand_aim"] = var_01["straight_level"];
self.var_1491.var_2274["fire"] = var_01["fire_corner"];
self.var_1491.var_2274["semi2"] = var_01["semi2"];
self.var_1491.var_2274["semi3"] = var_01["semi3"];
self.var_1491.var_2274["semi4"] = var_01["semi4"];
self.var_1491.var_2274["semi5"] = var_01["semi5"];
if(scripts\anim\utility_common::func_13C40())
{
self.var_1491.var_2274["single"] = scripts\anim\utility::func_B027("shotgun_stand","single");
}
else
{
self.var_1491.var_2274["single"] = var_01["single"];
}
self.var_1491.var_2274["burst2"] = var_01["burst2"];
self.var_1491.var_2274["burst3"] = var_01["burst3"];
self.var_1491.var_2274["burst4"] = var_01["burst4"];
self.var_1491.var_2274["burst5"] = var_01["burst5"];
self.var_1491.var_2274["burst6"] = var_01["burst6"];
}
if(isdefined(level.var_DC5B))
{
self.var_1491.var_2274["rambo"] = level.var_DC5B.var_474A;
self.var_1491.var_2274["rambo_fail"] = level.var_DC5B.var_474B;
self.var_1491.var_2274["grenade_rambo"] = level.var_DC5B.var_474C;
}
}
//Function Number: 31
func_B05A(param_00)
{
if(!isdefined(param_00))
{
param_00 = 0.1;
}
self method_82A8(scripts\anim\utility::func_1F64("hide_idle"),%body,1,param_00);
self.var_1491.var_4727 = "hide";
}
//Function Number: 32
func_1E82()
{
self endon("killanimscript");
self notify("newAngleRangeCheck");
self endon("newAngleRangeCheck");
self endon("return_to_cover");
for(;;)
{
if(func_BE9D())
{
break;
}
wait(0.1);
}
self notify("stopShooting");
}
//Function Number: 33
func_BE9D()
{
if(self.var_4757 != "crouch")
{
return 0;
}
var_00 = func_811F(self geteye());
if(self.var_1491.var_4727 == "lean")
{
return var_00 < 10;
}
return var_00 > 45;
}
//Function Number: 34
func_7DFA()
{
var_00 = [];
if(self.var_4757 == "stand")
{
var_00 = self.var_473C method_8169();
var_00[var_00.size] = "stand";
}
else
{
var_01 = func_811F(self.var_473C.origin + scripts\anim\utility_common::func_7FFC(self.var_473C));
if(var_01 > 30)
{
return "lean";
}
if(var_01 > 15 || !self.var_473C.var_4A9D)
{
return "stand";
}
var_00 = self.var_473C method_8169();
var_00[var_00.size] = "crouch";
}
for(var_02 = 0;var_02 < var_00.size;var_02++)
{
if(!isdefined(self.var_1491.var_2274["hide_2_" + var_00[var_02]]))
{
var_00[var_02] = var_00[var_00.size - 1];
var_00[var_00.size - 1] = undefined;
continue;
}
}
return scripts\anim\combat_utility::func_80B5(var_00);
}
//Function Number: 35
func_811F(param_00)
{
var_01 = scripts\anim\utility_common::func_7E8D();
return angleclamp180(vectortoangles(var_01 - param_00)[0]);
}
//Function Number: 36
func_F6C0()
{
if(scripts\common\utility::func_167E())
{
self method_8016("nogravity");
return;
}
self method_8016("zonly_physics");
}
//Function Number: 37
func_470A(param_00,param_01)
{
if(!isdefined(param_01))
{
param_01 = "run";
}
self.var_6A89 = scripts\anim\face::func_D475(param_00,param_01,self.var_6A89);
}
//Function Number: 38
func_4701()
{
self.var_6A89 = undefined;
self method_806F(%head,0.2);
}