mirror of
https://github.com/InfinityLoader/IL-GSC.git
synced 2025-06-09 18:17:51 -05:00
1678 lines
34 KiB
Plaintext
1678 lines
34 KiB
Plaintext
/*******************************************************************
|
|
* Decompiled By: Bog
|
|
* Decompiled File: animscripts\corner.gsc
|
|
* Game: Call of Duty: Ghosts
|
|
* Platform: PC
|
|
* Function Count: 60
|
|
* Decompile Time: 1017 ms
|
|
* Timestamp: 10/27/2023 1:23:40 AM
|
|
*******************************************************************/
|
|
|
|
//Function Number: 1
|
|
func_1F52(param_00,param_01)
|
|
{
|
|
self endon("killanimscript");
|
|
self.animarrayfuncs["exposed"]["stand"] = ::func_6F9B;
|
|
self.animarrayfuncs["exposed"]["crouch"] = ::func_6E69;
|
|
self.var_1FCA = self.node;
|
|
self.cornerdirection = param_00;
|
|
self.a.cornermode = "unknown";
|
|
self.a.aimidlethread = undefined;
|
|
animscripts/cover_behavior::func_84C1(param_01);
|
|
func_6E66();
|
|
self.isshooting = 0;
|
|
self.var_8216 = 0;
|
|
self.var_1F53 = 0;
|
|
animscripts/track::setanimaimweight(0);
|
|
self.var_4030 = 0;
|
|
var_02 = spawnstruct();
|
|
if(!self.fixednode)
|
|
{
|
|
var_02.var_54BE = ::animscripts/cover_behavior::func_54BE;
|
|
}
|
|
|
|
var_02.mainloopstart = ::mainloopstart;
|
|
var_02.reload = ::cornerreload;
|
|
var_02.leavecoverandshoot = ::func_7BEC;
|
|
var_02.look = ::lookforenemy;
|
|
var_02.var_31EF = ::func_31EF;
|
|
var_02.var_43C6 = ::func_43C6;
|
|
var_02.grenade = ::func_8406;
|
|
var_02.var_3DB1 = ::func_8407;
|
|
var_02.blindfire = ::blindfire;
|
|
animscripts/cover_behavior::func_4FDD(var_02);
|
|
}
|
|
|
|
//Function Number: 2
|
|
end_script_corner()
|
|
{
|
|
self.var_7BED = undefined;
|
|
self.a.var_4D3C = undefined;
|
|
}
|
|
|
|
//Function Number: 3
|
|
func_6E66()
|
|
{
|
|
if(self.a.var_60B1 == "crouch")
|
|
{
|
|
func_6E31("crouch");
|
|
}
|
|
|
|
if(self.a.var_60B1 == "stand")
|
|
{
|
|
func_6E31("stand");
|
|
}
|
|
|
|
animscripts/utility::exitpronewrapper(1);
|
|
self.a.var_60B1 = "crouch";
|
|
func_6E31("crouch");
|
|
}
|
|
|
|
//Function Number: 4
|
|
func_74A2()
|
|
{
|
|
if(!isdefined(self.enemy))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!isdefined(self.changestanceforfuntime))
|
|
{
|
|
self.changestanceforfuntime = gettime() + randomintrange(5000,20000);
|
|
}
|
|
|
|
if(gettime() > self.changestanceforfuntime)
|
|
{
|
|
self.changestanceforfuntime = gettime() + randomintrange(5000,20000);
|
|
if(isdefined(self.var_62FD) && self.a.var_60B1 == "stand")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.a.prevattack = undefined;
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 5
|
|
mainloopstart()
|
|
{
|
|
var_00 = "stand";
|
|
if(self.a.var_60B1 == "crouch")
|
|
{
|
|
var_00 = "crouch";
|
|
if(self.var_1FCA doesnodeallowstance("stand"))
|
|
{
|
|
if(!self.var_1FCA doesnodeallowstance("crouch") || func_74A2())
|
|
{
|
|
var_00 = "stand";
|
|
}
|
|
}
|
|
}
|
|
else if(self.var_1FCA doesnodeallowstance("crouch"))
|
|
{
|
|
if(!self.var_1FCA doesnodeallowstance("stand") || func_74A2())
|
|
{
|
|
var_00 = "crouch";
|
|
}
|
|
}
|
|
|
|
if(self.var_4030)
|
|
{
|
|
func_8272(var_00);
|
|
}
|
|
|
|
if(self.a.var_60B1 == var_00)
|
|
{
|
|
if(isdefined(self.cover) && isdefined(self.cover.var_420D) && self.cover.var_420D == "back")
|
|
{
|
|
var_01 = animscripts/utility::animarray("alert_idle_back");
|
|
}
|
|
else
|
|
{
|
|
var_01 = animscripts/utility::animarray("alert_idle");
|
|
}
|
|
|
|
gotocover(var_01,0.3,0.4);
|
|
}
|
|
else
|
|
{
|
|
var_02 = animscripts/utility::animarray("stance_change");
|
|
gotocover(var_02,0.3,getanimlength(var_02));
|
|
func_6E31(var_00);
|
|
}
|
|
|
|
self.var_4030 = 1;
|
|
}
|
|
|
|
//Function Number: 6
|
|
func_61B2()
|
|
{
|
|
wait(2);
|
|
for(;;)
|
|
{
|
|
func_61B3();
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 7
|
|
func_19F8(param_00,param_01)
|
|
{
|
|
var_02 = param_01 animscripts/utility::getyawtoorigin(param_00);
|
|
if(var_02 > 60 || var_02 < -60)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(animscripts/utility::func_4917(param_01) && var_02 > 14)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(animscripts/utility::func_491A(param_01) && var_02 < -12)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 8
|
|
func_7446()
|
|
{
|
|
if(!isdefined(self.var_7445))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_00 = self.var_1FCA animscripts/utility::getyawtoorigin(self.var_7445);
|
|
if(self.a.cornermode == "over")
|
|
{
|
|
return var_00 < self.leftaimlimit || self.rightaimlimit < var_00;
|
|
}
|
|
|
|
if(self.cornerdirection == "up")
|
|
{
|
|
return var_00 < -50 || var_00 > 50;
|
|
}
|
|
|
|
if(self.cornerdirection == "left")
|
|
{
|
|
if(self.a.cornermode == "B")
|
|
{
|
|
return var_00 < 0 - self.abanglecutoff || var_00 > 14;
|
|
}
|
|
|
|
if(self.a.cornermode == "A")
|
|
{
|
|
return var_00 > 0 - self.abanglecutoff;
|
|
}
|
|
|
|
return var_00 < -50 || var_00 > 8;
|
|
}
|
|
|
|
if(self.a.cornermode == "B")
|
|
{
|
|
return var_00 > self.abanglecutoff || var_00 < -12;
|
|
}
|
|
|
|
if(self.a.cornermode == "A")
|
|
{
|
|
return var_00 < self.abanglecutoff;
|
|
}
|
|
|
|
return var_00 > 50 || var_00 < -8;
|
|
}
|
|
|
|
//Function Number: 9
|
|
func_3A61(param_00,param_01)
|
|
{
|
|
var_02 = 0;
|
|
var_03 = 0;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_03 = param_00 animscripts/utility::getyawtoorigin(param_01);
|
|
}
|
|
|
|
var_04 = [];
|
|
if(isdefined(param_00) && self.a.var_60B1 == "crouch" && var_03 > self.leftaimlimit && self.rightaimlimit > var_03)
|
|
{
|
|
var_04 = param_00 getvalidcoverpeekouts();
|
|
}
|
|
|
|
if(self.cornerdirection == "up")
|
|
{
|
|
if(animscripts/utility::func_4965())
|
|
{
|
|
var_05 = 0;
|
|
if(isdefined(param_01))
|
|
{
|
|
var_06 = anglestoup(self.angles);
|
|
var_05 = animscripts/combat_utility::func_3B8F(param_01,self geteye() + (var_06[0] * 12,var_06[1] * 12,var_06[2] * 12));
|
|
}
|
|
|
|
if(canlean(var_05,-5,80))
|
|
{
|
|
var_02 = func_74B6();
|
|
var_04[var_04.size] = "lean";
|
|
var_04[var_04.size] = "lean";
|
|
}
|
|
|
|
if(!var_02)
|
|
{
|
|
var_04[var_04.size] = "A";
|
|
}
|
|
}
|
|
else
|
|
{
|
|
var_04[var_04.size] = "A";
|
|
}
|
|
}
|
|
else if(self.cornerdirection == "left")
|
|
{
|
|
if(canlean(var_03,-40,0))
|
|
{
|
|
var_02 = func_74B6();
|
|
var_04[var_04.size] = "lean";
|
|
}
|
|
|
|
if(!var_02 && var_03 < 14)
|
|
{
|
|
if(var_03 < 0 - self.abanglecutoff)
|
|
{
|
|
var_04[var_04.size] = "A";
|
|
}
|
|
else
|
|
{
|
|
var_04[var_04.size] = "B";
|
|
}
|
|
}
|
|
}
|
|
else
|
|
{
|
|
if(canlean(var_03,0,40))
|
|
{
|
|
var_02 = func_74B6();
|
|
var_04[var_04.size] = "lean";
|
|
}
|
|
|
|
if(!var_02 && var_03 > -12)
|
|
{
|
|
if(var_03 > self.abanglecutoff)
|
|
{
|
|
var_04[var_04.size] = "A";
|
|
}
|
|
else
|
|
{
|
|
var_04[var_04.size] = "B";
|
|
}
|
|
}
|
|
}
|
|
|
|
return animscripts/combat_utility::func_3BB6(var_04);
|
|
}
|
|
|
|
//Function Number: 10
|
|
getbeststepoutpos()
|
|
{
|
|
var_00 = 0;
|
|
if(animscripts/utility::cansuppressenemy())
|
|
{
|
|
var_00 = self.var_1FCA animscripts/utility::getyawtoorigin(animscripts/utility::func_3A97());
|
|
}
|
|
else if(self.doingambush && isdefined(self.var_7445))
|
|
{
|
|
var_00 = self.var_1FCA animscripts/utility::getyawtoorigin(self.var_7445);
|
|
}
|
|
|
|
if(self.a.cornermode == "lean")
|
|
{
|
|
return "lean";
|
|
}
|
|
|
|
if(self.a.cornermode == "over")
|
|
{
|
|
return "over";
|
|
}
|
|
|
|
if(self.a.cornermode == "B")
|
|
{
|
|
if(self.cornerdirection == "left")
|
|
{
|
|
if(var_00 < 0 - self.abanglecutoff)
|
|
{
|
|
return "A";
|
|
}
|
|
}
|
|
else if(self.cornerdirection == "right")
|
|
{
|
|
if(var_00 > self.abanglecutoff)
|
|
{
|
|
return "A";
|
|
}
|
|
}
|
|
|
|
return "B";
|
|
}
|
|
|
|
if(self.a.cornermode == "A")
|
|
{
|
|
if(self.cornerdirection == "up")
|
|
{
|
|
return "A";
|
|
}
|
|
else if(self.cornerdirection == "left")
|
|
{
|
|
if(var_00 > 0 - self.abanglecutoff)
|
|
{
|
|
return "B";
|
|
}
|
|
}
|
|
else if(self.cornerdirection == "right")
|
|
{
|
|
if(var_00 < self.abanglecutoff)
|
|
{
|
|
return "B";
|
|
}
|
|
}
|
|
|
|
return "A";
|
|
}
|
|
}
|
|
|
|
//Function Number: 11
|
|
changestepoutpos()
|
|
{
|
|
self endon("killanimscript");
|
|
var_00 = getbeststepoutpos();
|
|
if(var_00 == self.a.cornermode)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.changingcoverpos = 1;
|
|
self notify("done_changing_cover_pos");
|
|
var_01 = self.a.cornermode + "_to_" + var_00;
|
|
var_02 = animscripts/utility::animarraypickrandom(var_01);
|
|
if(animscripts/utility::func_4965() && var_01 == "A_to_B" || var_01 == "B_to_A")
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_03 = !self.swimmer;
|
|
var_04 = getpredictedpathmidpoint();
|
|
if(!self maymovetopoint(var_04,var_03))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!self maymovefrompointtopoint(var_04,animscripts/utility::func_3A23(var_02),var_03))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
animscripts/combat_utility::func_2D4B();
|
|
func_7C5A(0.3);
|
|
var_05 = self.a.var_60B1;
|
|
self setanimlimited(animscripts/utility::animarray("straight_level"),0,0.2);
|
|
self setflaggedanimknob("changeStepOutPos",var_02,1,0.2,1.2);
|
|
corner_playcornerfacialanim(var_02);
|
|
thread donotetrackswithendon("changeStepOutPos");
|
|
var_06 = animhasnotetrack(var_02,"start_aim");
|
|
if(var_06)
|
|
{
|
|
self waittillmatch("start_aim","changeStepOutPos");
|
|
}
|
|
else
|
|
{
|
|
self waittillmatch("end","changeStepOutPos");
|
|
}
|
|
|
|
thread func_7AC0(undefined,0,0.3);
|
|
if(var_06)
|
|
{
|
|
self waittillmatch("end","changeStepOutPos");
|
|
}
|
|
|
|
self clearanim(var_02,0.1);
|
|
self.a.cornermode = var_00;
|
|
self.changingcoverpos = 0;
|
|
self.coverposestablishedtime = gettime();
|
|
if(self.a.var_60B1 != var_05)
|
|
{
|
|
func_6E31(self.a.var_60B1);
|
|
}
|
|
|
|
thread func_1AD9(undefined,1,0.3);
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 12
|
|
canlean(param_00,param_01,param_02)
|
|
{
|
|
if(self.a.var_55A8)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return param_01 <= param_00 && param_00 <= param_02;
|
|
}
|
|
|
|
//Function Number: 13
|
|
func_74B6()
|
|
{
|
|
if(self.team == "allies")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
if(animscripts/utility::ispartiallysuppressedwrapper())
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 14
|
|
donotetrackswithendon(param_00)
|
|
{
|
|
self endon("killanimscript");
|
|
animscripts/shared::func_2986(param_00);
|
|
}
|
|
|
|
//Function Number: 15
|
|
func_7AC0(param_00,param_01,param_02)
|
|
{
|
|
self.var_1F53 = 1;
|
|
if(self.a.cornermode == "lean")
|
|
{
|
|
self.a.var_4D3C = 1;
|
|
}
|
|
else
|
|
{
|
|
self.a.var_4D3C = undefined;
|
|
}
|
|
|
|
func_6FD7(param_00,param_01,param_02);
|
|
}
|
|
|
|
//Function Number: 16
|
|
func_1AD9(param_00,param_01,param_02)
|
|
{
|
|
if(self.a.cornermode == "lean")
|
|
{
|
|
self.a.var_4D3C = 1;
|
|
}
|
|
else
|
|
{
|
|
self.a.var_4D3C = undefined;
|
|
}
|
|
|
|
func_6FD7(param_00,param_01,param_02);
|
|
}
|
|
|
|
//Function Number: 17
|
|
func_7C5A(param_00)
|
|
{
|
|
self.var_1F53 = 0;
|
|
self clearanim(%add_fire,param_00);
|
|
animscripts/track::setanimaimweight(0,param_00);
|
|
self.facialidx = undefined;
|
|
self clearanim(%head,0.2);
|
|
}
|
|
|
|
//Function Number: 18
|
|
func_6FD7(param_00,param_01,param_02)
|
|
{
|
|
self.var_7966 = param_00;
|
|
self setanimlimited(%exposed_modern,1,param_02);
|
|
self setanimlimited(%exposed_aiming,1,param_02);
|
|
self setanimlimited(%add_idle,1,param_02);
|
|
animscripts/track::setanimaimweight(1,param_02);
|
|
corner_playaimfacialanim(undefined);
|
|
var_03 = undefined;
|
|
if(isdefined(self.a.var_ED8["lean_aim_straight"]))
|
|
{
|
|
var_03 = self.a.var_ED8["lean_aim_straight"];
|
|
}
|
|
|
|
thread animscripts/combat_utility::aimidlethread();
|
|
if(isdefined(self.a.var_4D3C))
|
|
{
|
|
self setanimlimited(var_03,1,param_02);
|
|
self setanimlimited(animscripts/utility::animarray("straight_level"),0,0);
|
|
self setanimknoblimited(animscripts/utility::animarray("lean_aim_left"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("lean_aim_right"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("lean_aim_up"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("lean_aim_down"),1,param_02);
|
|
}
|
|
|
|
if(param_01)
|
|
{
|
|
self setanimlimited(animscripts/utility::animarray("straight_level"),1,param_02);
|
|
if(isdefined(var_03))
|
|
{
|
|
self setanimlimited(var_03,0,0);
|
|
}
|
|
|
|
self setanimknoblimited(animscripts/utility::animarray("add_aim_up"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("add_aim_down"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("add_aim_left"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("add_aim_right"),1,param_02);
|
|
}
|
|
|
|
self setanimlimited(animscripts/utility::animarray("straight_level"),0,param_02);
|
|
if(isdefined(var_03))
|
|
{
|
|
self setanimlimited(var_03,0,0);
|
|
}
|
|
|
|
self setanimknoblimited(animscripts/utility::animarray("add_turn_aim_up"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("add_turn_aim_down"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("add_turn_aim_left"),1,param_02);
|
|
self setanimknoblimited(animscripts/utility::animarray("add_turn_aim_right"),1,param_02);
|
|
}
|
|
|
|
//Function Number: 19
|
|
func_7BEB()
|
|
{
|
|
if(self.a.cornermode == "over")
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return animscripts/combat_utility::func_6332();
|
|
}
|
|
|
|
//Function Number: 20
|
|
func_7BEA()
|
|
{
|
|
self.a.cornermode = "alert";
|
|
if(self.goalradius < 64)
|
|
{
|
|
self.goalradius = 64;
|
|
}
|
|
|
|
func_7017();
|
|
if(self.a.var_60B1 == "stand")
|
|
{
|
|
self.abanglecutoff = 38;
|
|
}
|
|
else
|
|
{
|
|
self.abanglecutoff = 31;
|
|
}
|
|
|
|
var_00 = self.a.var_60B1;
|
|
func_6E31(var_00);
|
|
animscripts/combat::func_6E7C();
|
|
var_01 = "none";
|
|
if(animscripts/utility::hasenemysightpos())
|
|
{
|
|
var_01 = func_3A61(self.var_1FCA,animscripts/utility::func_3A97());
|
|
}
|
|
else
|
|
{
|
|
var_01 = func_3A61(self.var_1FCA);
|
|
}
|
|
|
|
if(!isdefined(var_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = "alert_to_" + var_01;
|
|
if(!animscripts/utility::animarrayanyexist(var_02))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_03 = animscripts/utility::animarraypickrandom(var_02);
|
|
if(var_01 == "lean" && !ispeekoutposclear())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(var_01 != "over" && !ispathclear(var_03,var_01 != "lean"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.a.cornermode = var_01;
|
|
self.a.prevattack = var_01;
|
|
if(self.a.cornermode == "lean")
|
|
{
|
|
animscripts/combat::func_6E7C(self.var_1FCA);
|
|
}
|
|
|
|
if(var_01 == "A" || var_01 == "B")
|
|
{
|
|
self.a.var_78D0 = "cover_" + self.cornerdirection + "_" + self.a.var_60B1 + "_" + var_01;
|
|
}
|
|
else if(var_01 == "over")
|
|
{
|
|
self.a.var_78D0 = "cover_crouch_aim";
|
|
}
|
|
else
|
|
{
|
|
self.a.var_78D0 = "none";
|
|
}
|
|
|
|
self.keepclaimednodeifvalid = 1;
|
|
var_04 = 0;
|
|
self.changingcoverpos = 1;
|
|
self notify("done_changing_cover_pos");
|
|
var_05 = func_7BEB();
|
|
self.pushable = 0;
|
|
self setflaggedanimknoballrestart("stepout",var_03,%root,1,0.2,var_05);
|
|
corner_playcornerfacialanim(var_03);
|
|
thread donotetrackswithendon("stepout");
|
|
var_04 = animhasnotetrack(var_03,"start_aim");
|
|
if(var_04)
|
|
{
|
|
self.var_7BED = self.angles[1] + getangledelta(var_03,0,1);
|
|
self waittillmatch("start_aim","stepout");
|
|
}
|
|
else
|
|
{
|
|
self waittillmatch("end","stepout");
|
|
}
|
|
|
|
if(var_01 == "B" && common_scripts\utility::func_1DE9() && self.cornerdirection == "right")
|
|
{
|
|
self.a.var_78D0 = "corner_right_martyrdom";
|
|
}
|
|
|
|
func_6E32(var_00);
|
|
var_06 = var_01 == "over" || animscripts/utility::func_4965();
|
|
func_7AC0(undefined,var_06,0.3);
|
|
thread animscripts/track::trackshootentorpos();
|
|
if(var_04)
|
|
{
|
|
self waittillmatch("end","stepout");
|
|
self.var_7BED = undefined;
|
|
}
|
|
|
|
func_1AD9(undefined,1,0.2);
|
|
self clearanim(%cover,0.1);
|
|
self clearanim(%corner,0.1);
|
|
self.changingcoverpos = 0;
|
|
self.coverposestablishedtime = gettime();
|
|
self.pushable = 1;
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 21
|
|
func_7BEC()
|
|
{
|
|
self.keepclaimednodeifvalid = 1;
|
|
if(isdefined(self.var_62FD) && randomfloat(1) < self.var_62FD)
|
|
{
|
|
if(func_62F8())
|
|
{
|
|
return 1;
|
|
}
|
|
}
|
|
|
|
if(!func_7BEA())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
func_7430();
|
|
if(isdefined(self.var_7445))
|
|
{
|
|
var_00 = lengthsquared(self.origin - self.var_7445);
|
|
if(animscripts/utility::func_87FA() && animscripts/utility::func_74AE(var_00))
|
|
{
|
|
if(self.a.var_60B1 == "stand")
|
|
{
|
|
animscripts/shared::func_80AC(animscripts/utility::lookupanim("combat","drop_rpg_stand"));
|
|
}
|
|
else
|
|
{
|
|
animscripts/shared::func_80AC(animscripts/utility::lookupanim("combat","drop_rpg_crouch"));
|
|
}
|
|
|
|
thread func_6988();
|
|
}
|
|
}
|
|
|
|
func_6689();
|
|
self.keepclaimednodeifvalid = 0;
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 22
|
|
func_4033(param_00)
|
|
{
|
|
if(!isdefined(self.var_4C90))
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return gettime() - self.var_4C90 > param_00 * 1000;
|
|
}
|
|
|
|
//Function Number: 23
|
|
func_62F8()
|
|
{
|
|
if(!animscripts/utility::hasenemysightpos())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_00 = 0;
|
|
var_01 = 90;
|
|
var_02 = self.var_1FCA animscripts/utility::getyawtoorigin(animscripts/utility::func_3A97());
|
|
if(self.cornerdirection == "left")
|
|
{
|
|
var_02 = 0 - var_02;
|
|
}
|
|
|
|
if(var_02 > 30)
|
|
{
|
|
var_01 = 45;
|
|
if(self.cornerdirection == "left")
|
|
{
|
|
var_00 = 45;
|
|
}
|
|
else
|
|
{
|
|
var_00 = -45;
|
|
}
|
|
}
|
|
|
|
var_03 = "rambo" + var_01;
|
|
if(!animscripts/utility::animarrayanyexist(var_03))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_04 = animscripts/utility::animarraypickrandom(var_03);
|
|
var_05 = getpredictedpathmidpoint(48);
|
|
if(!self maymovetopoint(var_05,!self.swimmer))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
self.coverposestablishedtime = gettime();
|
|
func_7017();
|
|
self.keepclaimednodeifvalid = 1;
|
|
self.var_4940 = 1;
|
|
self.a.prevattack = "rambo";
|
|
self.changingcoverpos = 1;
|
|
thread animscripts/shared::func_62FA(var_00);
|
|
self setflaggedanimknoballrestart("rambo",var_04,%body,1,0,1);
|
|
corner_playcornerfacialanim(var_04);
|
|
animscripts/shared::func_2986("rambo");
|
|
self notify("rambo_aim_end");
|
|
self.changingcoverpos = 0;
|
|
self.keepclaimednodeifvalid = 0;
|
|
self.var_4C90 = gettime();
|
|
self.changingcoverpos = 0;
|
|
self.var_4940 = undefined;
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 24
|
|
func_7430()
|
|
{
|
|
maps\_gameskill::didsomethingotherthanshooting();
|
|
for(;;)
|
|
{
|
|
for(;;)
|
|
{
|
|
if(isdefined(self.shouldreturntocover))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(!isdefined(self.var_7445))
|
|
{
|
|
self waittill("do_slow_things");
|
|
waittillframeend;
|
|
if(isdefined(self.var_7445))
|
|
{
|
|
continue;
|
|
}
|
|
|
|
break;
|
|
}
|
|
|
|
if(!self.bulletsinclip)
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(func_7446())
|
|
{
|
|
if(!changestepoutpos())
|
|
{
|
|
if(getbeststepoutpos() == self.a.cornermode)
|
|
{
|
|
break;
|
|
}
|
|
|
|
func_7450(0.2);
|
|
continue;
|
|
}
|
|
|
|
if(func_7446())
|
|
{
|
|
break;
|
|
}
|
|
|
|
continue;
|
|
}
|
|
|
|
func_744E(1);
|
|
self clearanim(%add_fire,0.2);
|
|
}
|
|
|
|
if(canreturntocover(self.a.cornermode != "lean"))
|
|
{
|
|
break;
|
|
}
|
|
|
|
if(func_7446() && changestepoutpos())
|
|
{
|
|
continue;
|
|
}
|
|
|
|
func_7450(0.2);
|
|
}
|
|
}
|
|
|
|
//Function Number: 25
|
|
func_7450(param_00)
|
|
{
|
|
thread func_5731(param_00);
|
|
var_01 = gettime();
|
|
func_744E(0);
|
|
self notify("stopNotifyStopShootingAfterTime");
|
|
var_02 = gettime() - var_01 / 1000;
|
|
if(var_02 < param_00)
|
|
{
|
|
wait(param_00 - var_02);
|
|
}
|
|
}
|
|
|
|
//Function Number: 26
|
|
func_5731(param_00)
|
|
{
|
|
self endon("killanimscript");
|
|
self endon("stopNotifyStopShootingAfterTime");
|
|
wait(param_00);
|
|
self notify("stopShooting");
|
|
}
|
|
|
|
//Function Number: 27
|
|
func_744E(param_00)
|
|
{
|
|
self endon("return_to_cover");
|
|
if(param_00)
|
|
{
|
|
thread anglerangethread();
|
|
}
|
|
|
|
thread animscripts/combat_utility::aimidlethread();
|
|
animscripts/combat_utility::func_744D();
|
|
}
|
|
|
|
//Function Number: 28
|
|
anglerangethread()
|
|
{
|
|
self endon("killanimscript");
|
|
self notify("newAngleRangeCheck");
|
|
self endon("newAngleRangeCheck");
|
|
self endon("take_cover_at_corner");
|
|
for(;;)
|
|
{
|
|
if(func_7446())
|
|
{
|
|
break;
|
|
}
|
|
|
|
wait(0.1);
|
|
}
|
|
|
|
self notify("stopShooting");
|
|
}
|
|
|
|
//Function Number: 29
|
|
func_7524()
|
|
{
|
|
self.enemy endon("death");
|
|
self endon("enemy");
|
|
self endon("stopshowstate");
|
|
wait(0.05);
|
|
}
|
|
|
|
//Function Number: 30
|
|
canreturntocover(param_00)
|
|
{
|
|
var_01 = !self.swimmer;
|
|
if(param_00)
|
|
{
|
|
var_02 = getpredictedpathmidpoint();
|
|
if(!self maymovetopoint(var_02,var_01))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
return self maymovefrompointtopoint(var_02,self.var_1FCA.origin,var_01);
|
|
}
|
|
|
|
return self maymovetopoint(self.var_1FCA.origin,var_02);
|
|
}
|
|
|
|
//Function Number: 31
|
|
func_6689()
|
|
{
|
|
animscripts/combat_utility::func_2D52();
|
|
var_00 = animscripts/utility::func_4979();
|
|
self notify("take_cover_at_corner");
|
|
self.changingcoverpos = 1;
|
|
self notify("done_changing_cover_pos");
|
|
var_01 = self.a.cornermode + "_to_alert";
|
|
var_02 = animscripts/utility::animarraypickrandom(var_01);
|
|
func_7C5A(0.3);
|
|
var_03 = 0;
|
|
if(self.a.cornermode != "lean" && var_00 && animscripts/utility::animarrayanyexist(var_01 + "_reload") && randomfloat(100) < 75)
|
|
{
|
|
var_02 = animscripts/utility::animarraypickrandom(var_01 + "_reload");
|
|
var_03 = 1;
|
|
}
|
|
|
|
var_04 = func_7BEB();
|
|
if(animscripts/utility::func_4965())
|
|
{
|
|
self clearanim(%exposed_modern,0.2);
|
|
}
|
|
else
|
|
{
|
|
self clearanim(%body,0.1);
|
|
}
|
|
|
|
self setflaggedanimrestart("hide",var_02,1,0.1,var_04);
|
|
corner_playcornerfacialanim(var_02);
|
|
animscripts/shared::func_2986("hide");
|
|
if(var_03)
|
|
{
|
|
animscripts/weaponlist::refillclip();
|
|
}
|
|
|
|
self.changingcoverpos = 0;
|
|
if(self.cornerdirection == "up")
|
|
{
|
|
self.a.var_78D0 = "cover_up";
|
|
}
|
|
else if(self.cornerdirection == "left")
|
|
{
|
|
self.a.var_78D0 = "cover_left";
|
|
}
|
|
else
|
|
{
|
|
self.a.var_78D0 = "cover_right";
|
|
}
|
|
|
|
self.keepclaimednodeifvalid = 0;
|
|
self clearanim(var_02,0.2);
|
|
}
|
|
|
|
//Function Number: 32
|
|
blindfire()
|
|
{
|
|
if(!animscripts/utility::animarrayanyexist("blind_fire"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
func_7017();
|
|
self.keepclaimednodeifvalid = 1;
|
|
var_00 = animscripts/utility::animarraypickrandom("blind_fire");
|
|
self setflaggedanimknoballrestart("blindfire",var_00,%body,1,0,1);
|
|
corner_playcornerfacialanim(var_00);
|
|
animscripts/shared::func_2986("blindfire");
|
|
self.keepclaimednodeifvalid = 0;
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 33
|
|
func_4E20(param_00,param_01,param_02)
|
|
{
|
|
if(!isdefined(param_02))
|
|
{
|
|
param_02 = (1,1,1);
|
|
}
|
|
|
|
for(var_03 = 0;var_03 < 100;var_03++)
|
|
{
|
|
wait(0.05);
|
|
}
|
|
}
|
|
|
|
//Function Number: 34
|
|
func_8407(param_00)
|
|
{
|
|
return func_8406(param_00,1);
|
|
}
|
|
|
|
//Function Number: 35
|
|
func_8406(param_00,param_01)
|
|
{
|
|
if(!self maymovetopoint(getpredictedpathmidpoint()))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.var_29AA) || isdefined(param_00.var_29A1))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = undefined;
|
|
if(isdefined(self.var_62FD) && randomfloat(1) < self.var_62FD)
|
|
{
|
|
if(isdefined(self.a.var_ED8["grenade_rambo"]))
|
|
{
|
|
var_02 = animscripts/utility::animarray("grenade_rambo");
|
|
}
|
|
}
|
|
|
|
if(!isdefined(var_02))
|
|
{
|
|
if(isdefined(param_01) && param_01)
|
|
{
|
|
if(!isdefined(self.a.var_ED8["grenade_safe"]))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = animscripts/utility::animarray("grenade_safe");
|
|
}
|
|
else
|
|
{
|
|
if(!isdefined(self.a.var_ED8["grenade_exposed"]))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
var_02 = animscripts/utility::animarray("grenade_exposed");
|
|
}
|
|
}
|
|
|
|
func_7017();
|
|
self.keepclaimednodeifvalid = 1;
|
|
var_03 = animscripts/combat_utility::func_8400(param_00,var_02);
|
|
self.keepclaimednodeifvalid = 0;
|
|
return var_03;
|
|
}
|
|
|
|
//Function Number: 36
|
|
func_61B3()
|
|
{
|
|
}
|
|
|
|
//Function Number: 37
|
|
lookforenemy(param_00)
|
|
{
|
|
if(!isdefined(self.a.var_ED8["alert_to_look"]))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
func_7017();
|
|
self.keepclaimednodeifvalid = 1;
|
|
if(!func_5B75())
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
animscripts/shared::playlookanimation(animscripts/utility::animarray("look_idle"),param_00,::canstoppeeking);
|
|
var_01 = undefined;
|
|
if(animscripts/utility::func_4979())
|
|
{
|
|
var_01 = animscripts/utility::animarray("look_to_alert_fast");
|
|
}
|
|
else
|
|
{
|
|
var_01 = animscripts/utility::animarray("look_to_alert");
|
|
}
|
|
|
|
self setflaggedanimknoballrestart("looking_end",var_01,%body,1,0.1,1);
|
|
corner_playcornerfacialanim(var_01);
|
|
animscripts/shared::func_2986("looking_end");
|
|
func_7017();
|
|
self.keepclaimednodeifvalid = 0;
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 38
|
|
ispeekoutposclear()
|
|
{
|
|
var_00 = self.var_1FCA.angles;
|
|
if(animscripts/utility::func_4965())
|
|
{
|
|
var_00 = animscripts/utility::gettruenodeangles(self.var_1FCA);
|
|
}
|
|
|
|
var_01 = self geteye();
|
|
var_02 = anglestoright(var_00);
|
|
var_03 = anglestoup(var_00);
|
|
if(self.cornerdirection == "right")
|
|
{
|
|
var_01 = var_01 + var_02 * 30;
|
|
}
|
|
else if(self.cornerdirection == "left")
|
|
{
|
|
var_01 = var_01 - var_02 * 30;
|
|
}
|
|
else
|
|
{
|
|
var_01 = var_01 + var_03 * 30;
|
|
}
|
|
|
|
var_04 = var_01 + anglestoforward(var_00) * 30;
|
|
return sighttracepassed(var_01,var_04,1,self);
|
|
}
|
|
|
|
//Function Number: 39
|
|
func_5B75()
|
|
{
|
|
if(isdefined(self.var_1FCA.var_6B93))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(isdefined(self.nextpeekoutattempttime) && gettime() < self.nextpeekoutattempttime)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(!ispeekoutposclear())
|
|
{
|
|
self.nextpeekoutattempttime = gettime() + 3000;
|
|
return 0;
|
|
}
|
|
|
|
var_00 = animscripts/utility::animarray("alert_to_look");
|
|
self setflaggedanimknoball("looking_start",var_00,%body,1,0.2,1);
|
|
corner_playcornerfacialanim(var_00);
|
|
animscripts/shared::func_2986("looking_start");
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 40
|
|
canstoppeeking()
|
|
{
|
|
return self maymovetopoint(self.var_1FCA.origin,!self.swimmer);
|
|
}
|
|
|
|
//Function Number: 41
|
|
func_31EF()
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
//Function Number: 42
|
|
cornerreload()
|
|
{
|
|
var_00 = animscripts/utility::animarraypickrandom("reload");
|
|
self setflaggedanimknobrestart("cornerReload",var_00,1,0.2);
|
|
corner_playcornerfacialanim(var_00);
|
|
animscripts/shared::func_2986("cornerReload");
|
|
self notify("abort_reload");
|
|
animscripts/weaponlist::refillclip();
|
|
self setanimrestart(animscripts/utility::animarray("alert_idle"),1,0.2);
|
|
self clearanim(var_00,0.2);
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 43
|
|
ispathclear(param_00,param_01)
|
|
{
|
|
var_02 = !self.swimmer;
|
|
if(param_01)
|
|
{
|
|
var_03 = getpredictedpathmidpoint();
|
|
if(!self maymovetopoint(var_03,var_02))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
if(self.swimmer)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return self maymovefrompointtopoint(var_03,animscripts/utility::func_3A23(param_00),var_02);
|
|
}
|
|
|
|
if(self.swimmer)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
return self maymovetopoint(animscripts/utility::func_3A23(param_01),var_03);
|
|
}
|
|
|
|
//Function Number: 44
|
|
getpredictedpathmidpoint(param_00)
|
|
{
|
|
var_01 = self.var_1FCA.angles;
|
|
var_02 = anglestoright(var_01);
|
|
if(!isdefined(param_00))
|
|
{
|
|
param_00 = 36;
|
|
}
|
|
|
|
var_03 = self.script;
|
|
if(var_03 == "cover_multi")
|
|
{
|
|
if(self.cover.state == "right")
|
|
{
|
|
var_03 = "cover_right";
|
|
}
|
|
else if(self.cover.state == "left")
|
|
{
|
|
var_03 = "cover_left";
|
|
}
|
|
}
|
|
|
|
if(var_03 == "cover_swim_up")
|
|
{
|
|
var_04 = anglestoup(var_01);
|
|
return self.var_1FCA.origin + var_04 * param_00;
|
|
}
|
|
|
|
switch(var_04)
|
|
{
|
|
case "cover_swim_left":
|
|
case "cover_left":
|
|
var_03 = var_03 * 0 - var_01;
|
|
break;
|
|
|
|
case "cover_swim_right":
|
|
case "cover_right":
|
|
var_03 = var_03 * var_01;
|
|
break;
|
|
|
|
default:
|
|
break;
|
|
}
|
|
|
|
return self.var_1FCA.origin + (var_03[0],var_03[1],0);
|
|
}
|
|
|
|
//Function Number: 45
|
|
func_43C6()
|
|
{
|
|
self endon("end_idle");
|
|
for(;;)
|
|
{
|
|
var_00 = randomint(2) == 0 && isdefined(self.a.var_ED8["alert_idle_twitch"]) && animscripts/utility::animarrayanyexist("alert_idle_twitch");
|
|
if(var_00)
|
|
{
|
|
var_01 = animscripts/utility::animarraypickrandom("alert_idle_twitch");
|
|
}
|
|
else
|
|
{
|
|
var_01 = animscripts/utility::animarray("alert_idle");
|
|
}
|
|
|
|
func_6017(var_01,var_00);
|
|
}
|
|
}
|
|
|
|
//Function Number: 46
|
|
func_3427()
|
|
{
|
|
if(!animscripts/utility::animarrayanyexist("alert_idle_flinch"))
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
func_6017(animscripts/utility::animarraypickrandom("alert_idle_flinch"),1);
|
|
return 1;
|
|
}
|
|
|
|
//Function Number: 47
|
|
func_6017(param_00,param_01)
|
|
{
|
|
if(param_01)
|
|
{
|
|
self setflaggedanimknoballrestart("idle",param_00,%body,1,0.1,1);
|
|
}
|
|
else
|
|
{
|
|
self setflaggedanimknoball("idle",param_00,%body,1,0.1,1);
|
|
}
|
|
|
|
corner_playcornerfacialanim(param_00);
|
|
animscripts/shared::func_2986("idle");
|
|
}
|
|
|
|
//Function Number: 48
|
|
func_6E31(param_00)
|
|
{
|
|
[[ self.animarrayfuncs["hiding"][param_00] ]]();
|
|
[[ self.animarrayfuncs["exposed"][param_00] ]]();
|
|
}
|
|
|
|
//Function Number: 49
|
|
func_6E32(param_00)
|
|
{
|
|
[[ self.animarrayfuncs["exposed"][param_00] ]]();
|
|
}
|
|
|
|
//Function Number: 50
|
|
func_8272(param_00)
|
|
{
|
|
if(self.a.var_60B1 == param_00)
|
|
{
|
|
func_6E31(param_00);
|
|
}
|
|
|
|
var_01 = animscripts/utility::animarray("stance_change");
|
|
self setflaggedanimknoballrestart("changeStance",var_01,%body);
|
|
corner_playcornerfacialanim(var_01);
|
|
func_6E31(param_00);
|
|
animscripts/shared::func_2986("changeStance");
|
|
wait(0.2);
|
|
}
|
|
|
|
//Function Number: 51
|
|
gotocover(param_00,param_01,param_02)
|
|
{
|
|
var_03 = animscripts/utility::func_3B4A();
|
|
var_04 = animscripts/utility::func_3A52();
|
|
var_05 = var_03 + self.var_420F;
|
|
if(animscripts/utility::func_4965())
|
|
{
|
|
self notify("force_space_rotation_update",0,0);
|
|
}
|
|
else
|
|
{
|
|
self orientmode("face angle",var_05);
|
|
}
|
|
|
|
self animmode("normal");
|
|
if(isdefined(var_04))
|
|
{
|
|
thread animscripts/shared::func_54BF(var_04,param_01);
|
|
}
|
|
|
|
self setflaggedanimknoballrestart("coveranim",param_00,%body,1,param_01);
|
|
corner_playcornerfacialanim(param_00);
|
|
animscripts/notetracks::donotetracksfortime(param_02,"coveranim");
|
|
while(animscripts/utility::absangleclamp180(self.angles[1] - var_05) > 1)
|
|
{
|
|
animscripts/notetracks::donotetracksfortime(0.1,"coveranim");
|
|
var_03 = animscripts/utility::func_3B4A();
|
|
var_05 = var_03 + self.var_420F;
|
|
}
|
|
|
|
func_7017();
|
|
if(self.cornerdirection == "left")
|
|
{
|
|
self.a.var_78D0 = "cover_left";
|
|
}
|
|
|
|
if(self.cornerdirection == "right")
|
|
{
|
|
self.a.var_78D0 = "cover_right";
|
|
}
|
|
|
|
self.a.var_78D0 = "cover_up";
|
|
}
|
|
|
|
//Function Number: 52
|
|
drawoffset()
|
|
{
|
|
self endon("killanimscript");
|
|
wait(0.05);
|
|
}
|
|
|
|
//Function Number: 53
|
|
func_6F9B()
|
|
{
|
|
if(self.swimmer && isdefined(self.node))
|
|
{
|
|
func_6FA2();
|
|
}
|
|
|
|
if(!isdefined(self.a.var_ED8))
|
|
{
|
|
}
|
|
|
|
var_00 = animscripts/utility::func_4F5D("default_stand");
|
|
self.a.var_ED8["add_aim_up"] = var_00["add_aim_up"];
|
|
self.a.var_ED8["add_aim_down"] = var_00["add_aim_down"];
|
|
self.a.var_ED8["add_aim_left"] = var_00["add_aim_left"];
|
|
self.a.var_ED8["add_aim_right"] = var_00["add_aim_right"];
|
|
self.a.var_ED8["add_turn_aim_up"] = var_00["add_turn_aim_up"];
|
|
self.a.var_ED8["add_turn_aim_down"] = var_00["add_turn_aim_down"];
|
|
self.a.var_ED8["add_turn_aim_left"] = var_00["add_turn_aim_left"];
|
|
self.a.var_ED8["add_turn_aim_right"] = var_00["add_turn_aim_right"];
|
|
self.a.var_ED8["straight_level"] = var_00["straight_level"];
|
|
if(self.a.cornermode == "lean")
|
|
{
|
|
var_01 = self.a.var_ED8["lean_fire"];
|
|
var_02 = self.a.var_ED8["lean_single"];
|
|
self.a.var_ED8["fire"] = var_01;
|
|
self.a.var_ED8["single"] = animscripts/utility::func_ED8(var_02);
|
|
self.a.var_ED8["semi2"] = var_02;
|
|
self.a.var_ED8["semi3"] = var_02;
|
|
self.a.var_ED8["semi4"] = var_02;
|
|
self.a.var_ED8["semi5"] = var_02;
|
|
self.a.var_ED8["burst2"] = var_01;
|
|
self.a.var_ED8["burst3"] = var_01;
|
|
self.a.var_ED8["burst4"] = var_01;
|
|
self.a.var_ED8["burst5"] = var_01;
|
|
self.a.var_ED8["burst6"] = var_01;
|
|
}
|
|
else
|
|
{
|
|
self.a.var_ED8["fire"] = var_00["fire_corner"];
|
|
self.a.var_ED8["semi2"] = var_00["semi2"];
|
|
self.a.var_ED8["semi3"] = var_00["semi3"];
|
|
self.a.var_ED8["semi4"] = var_00["semi4"];
|
|
self.a.var_ED8["semi5"] = var_00["semi5"];
|
|
if(animscripts/utility::func_8D9B())
|
|
{
|
|
self.a.var_ED8["single"] = animscripts/utility::lookupanim("shotgun_stand","single");
|
|
}
|
|
else
|
|
{
|
|
self.a.var_ED8["single"] = var_00["single"];
|
|
}
|
|
|
|
self.a.var_ED8["burst2"] = var_00["burst2"];
|
|
self.a.var_ED8["burst3"] = var_00["burst3"];
|
|
self.a.var_ED8["burst4"] = var_00["burst4"];
|
|
self.a.var_ED8["burst5"] = var_00["burst5"];
|
|
self.a.var_ED8["burst6"] = var_00["burst6"];
|
|
}
|
|
|
|
self.a.var_ED8["exposed_idle"] = var_00["exposed_idle"];
|
|
}
|
|
|
|
//Function Number: 54
|
|
func_6E69()
|
|
{
|
|
if(self.swimmer && isdefined(self.node))
|
|
{
|
|
func_6FA2();
|
|
}
|
|
|
|
if(!isdefined(self.a.var_ED8))
|
|
{
|
|
}
|
|
|
|
var_00 = animscripts/utility::func_4F5D("default_crouch");
|
|
var_01["add_aim_up"] = animscripts/utility::lookupanim("cover_crouch","add_aim_up");
|
|
var_02["add_aim_up"] = animscripts/utility::lookupanim("cover_crouch","add_aim_up");
|
|
var_03[0] = animscripts/utility::lookupanim("cover_crouch","add_aim_up");
|
|
if(self.a.cornermode == "over")
|
|
{
|
|
self.a.var_ED8["add_aim_up"] = animscripts/utility::lookupanim("cover_crouch","add_aim_up");
|
|
self.a.var_ED8["add_aim_down"] = animscripts/utility::lookupanim("cover_crouch","add_aim_down");
|
|
self.a.var_ED8["add_aim_left"] = animscripts/utility::lookupanim("cover_crouch","add_aim_left");
|
|
self.a.var_ED8["add_aim_right"] = animscripts/utility::lookupanim("cover_crouch","add_aim_right");
|
|
self.a.var_ED8["straight_level"] = animscripts/utility::lookupanim("cover_crouch","straight_level");
|
|
self.a.var_ED8["exposed_idle"] = animscripts/utility::lookupanim("default_stand","exposed_idle");
|
|
}
|
|
|
|
if(self.a.cornermode == "lean")
|
|
{
|
|
var_04 = self.a.var_ED8["lean_fire"];
|
|
var_05 = self.a.var_ED8["lean_single"];
|
|
self.a.var_ED8["fire"] = var_04;
|
|
self.a.var_ED8["single"] = animscripts/utility::func_ED8(var_05);
|
|
self.a.var_ED8["semi2"] = var_05;
|
|
self.a.var_ED8["semi3"] = var_05;
|
|
self.a.var_ED8["semi4"] = var_05;
|
|
self.a.var_ED8["semi5"] = var_05;
|
|
self.a.var_ED8["burst2"] = var_04;
|
|
self.a.var_ED8["burst3"] = var_04;
|
|
self.a.var_ED8["burst4"] = var_04;
|
|
self.a.var_ED8["burst5"] = var_04;
|
|
self.a.var_ED8["burst6"] = var_04;
|
|
}
|
|
else
|
|
{
|
|
self.a.var_ED8["fire"] = var_00["fire"];
|
|
self.a.var_ED8["semi2"] = var_00["semi2"];
|
|
self.a.var_ED8["semi3"] = var_00["semi3"];
|
|
self.a.var_ED8["semi4"] = var_00["semi4"];
|
|
self.a.var_ED8["semi5"] = var_00["semi5"];
|
|
if(animscripts/utility::func_8D9B())
|
|
{
|
|
self.a.var_ED8["single"] = animscripts/utility::lookupanim("shotgun_crouch","single");
|
|
}
|
|
else
|
|
{
|
|
self.a.var_ED8["single"] = var_00["single"];
|
|
}
|
|
|
|
self.a.var_ED8["burst2"] = var_00["burst2"];
|
|
self.a.var_ED8["burst3"] = var_00["burst3"];
|
|
self.a.var_ED8["burst4"] = var_00["burst4"];
|
|
self.a.var_ED8["burst5"] = var_00["burst5"];
|
|
self.a.var_ED8["burst6"] = var_00["burst6"];
|
|
}
|
|
|
|
self.a.var_ED8["add_aim_up"] = var_00["add_aim_up"];
|
|
self.a.var_ED8["add_aim_down"] = var_00["add_aim_down"];
|
|
self.a.var_ED8["add_aim_left"] = var_00["add_aim_left"];
|
|
self.a.var_ED8["add_aim_right"] = var_00["add_aim_right"];
|
|
self.a.var_ED8["add_turn_aim_up"] = var_00["add_turn_aim_up"];
|
|
self.a.var_ED8["add_turn_aim_down"] = var_00["add_turn_aim_down"];
|
|
self.a.var_ED8["add_turn_aim_left"] = var_00["add_turn_aim_left"];
|
|
self.a.var_ED8["add_turn_aim_right"] = var_00["add_turn_aim_right"];
|
|
self.a.var_ED8["straight_level"] = var_00["straight_level"];
|
|
self.a.var_ED8["exposed_idle"] = var_00["exposed_idle"];
|
|
}
|
|
|
|
//Function Number: 55
|
|
func_6FA2()
|
|
{
|
|
if(!isdefined(self.a.var_ED8))
|
|
{
|
|
}
|
|
|
|
var_00 = [];
|
|
if(self.var_EB9 == "cover_corner_r")
|
|
{
|
|
var_00 = animscripts/swim::func_3C1D("cover_corner_r");
|
|
}
|
|
else if(self.var_EB9 == "cover_corner_l")
|
|
{
|
|
var_00 = animscripts/swim::func_3C1D("cover_corner_l");
|
|
}
|
|
else if(self.var_EB9 == "cover_u")
|
|
{
|
|
var_00 = animscripts/swim::func_3C1D("cover_u");
|
|
}
|
|
else if(self.var_EB9 == "exposed")
|
|
{
|
|
var_00 = animscripts/swim::func_3C1D("exposed");
|
|
}
|
|
else
|
|
{
|
|
}
|
|
|
|
self.a.var_ED8["add_aim_up"] = var_00["add_aim_up"];
|
|
self.a.var_ED8["add_aim_down"] = var_00["add_aim_down"];
|
|
self.a.var_ED8["add_aim_left"] = var_00["add_aim_left"];
|
|
self.a.var_ED8["add_aim_right"] = var_00["add_aim_right"];
|
|
self.a.var_ED8["add_turn_aim_up"] = var_00["add_aim_up"];
|
|
self.a.var_ED8["add_turn_aim_down"] = var_00["add_aim_down"];
|
|
self.a.var_ED8["add_turn_aim_left"] = var_00["add_aim_left"];
|
|
self.a.var_ED8["add_turn_aim_right"] = var_00["add_aim_right"];
|
|
self.a.var_ED8["straight_level"] = var_00["straight_level"];
|
|
self.a.var_ED8["fire"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["semi2"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["semi3"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["semi4"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["semi5"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["single"] = animscripts/utility::func_ED8(var_00["add_aim_straight"]);
|
|
self.a.var_ED8["burst2"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["burst3"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["burst4"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["burst5"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["burst6"] = var_00["add_aim_straight"];
|
|
self.a.var_ED8["exposed_idle"] = animscripts/utility::func_ED8(var_00["add_aim_idle"]);
|
|
}
|
|
|
|
//Function Number: 56
|
|
func_6988()
|
|
{
|
|
self notify("killanimscript");
|
|
thread animscripts/combat::func_4FDD();
|
|
}
|
|
|
|
//Function Number: 57
|
|
func_7017()
|
|
{
|
|
if(self.swimmer)
|
|
{
|
|
self animmode("nogravity");
|
|
}
|
|
|
|
self animmode("zonly_physics");
|
|
}
|
|
|
|
//Function Number: 58
|
|
corner_playcornerfacialanim(param_00)
|
|
{
|
|
if(self.cornerdirection == "left")
|
|
{
|
|
var_01 = "corner_stand_L";
|
|
}
|
|
else
|
|
{
|
|
var_01 = "corner_stand_R";
|
|
}
|
|
|
|
self.facialidx = animscripts/face::func_6004(param_00,var_01,self.facialidx);
|
|
}
|
|
|
|
//Function Number: 59
|
|
corner_playaimfacialanim(param_00)
|
|
{
|
|
self.facialidx = animscripts/face::func_6004(param_00,"aim",self.facialidx);
|
|
}
|
|
|
|
//Function Number: 60
|
|
corner_clearfacialanim()
|
|
{
|
|
self.facialidx = undefined;
|
|
self clearanim(%head,0.2);
|
|
} |