IL-GSC/AW/PC/animscripts/walk.gsc
InfinityLoader b2389dbcb9 Full AW Dump
2024-04-22 02:38:24 -04:00

171 lines
4.2 KiB
Plaintext

/*******************************************************************
* Decompiled By: Bog
* Decompiled File: walk.gsc
* Game: Call of Duty: Advanced Warfare
* Platform: PC
* Function Count: 4
* Decompile Time: 67 ms
* Timestamp: 4/22/2024 2:01:11 AM
*******************************************************************/
//Function Number: 1
movewalk()
{
var_00 = undefined;
if(isdefined(self.pathgoalpos) && distancesquared(self.origin,self.pathgoalpos) > 4096)
{
var_00 = "stand";
}
var_01 = [[ self.chooseposefunc ]](var_00);
switch(var_01)
{
case "stand":
if(animscripts\setposemovement::standwalk_begin())
{
return;
}
if(isdefined(self.walk_overrideanim))
{
animscripts\move::movestand_moveoverride(self.walk_overrideanim,self.walk_override_weights);
return;
}
dowalkanim(getwalkanim("straight"));
break;
case "crouch":
if(animscripts\setposemovement::crouchwalk_begin())
{
return;
}
dowalkanim(getwalkanim("crouch"));
break;
default:
if(animscripts\setposemovement::pronewalk_begin())
{
return;
}
self.a.movement = "walk";
dowalkanim(getwalkanim("prone"));
break;
}
}
//Function Number: 2
dowalkanimoverride(param_00)
{
self endon("movemode");
self clearanim(%combatrun,0.6);
self setanimknoball(%combatrun,%body,1,0.5,self.moveplaybackrate);
if(isarray(self.walk_overrideanim))
{
if(isdefined(self.walk_override_weights))
{
var_01 = common_scripts\utility::choose_from_weighted_array(self.walk_overrideanim,self.walk_override_weights);
}
else
{
var_01 = self.walk_overrideanim[randomint(self.walk_overrideanim.size)];
}
}
else
{
var_01 = self.walk_overrideanim;
}
self setflaggedanimknob("moveanim",var_01,1,0.2);
animscripts\shared::donotetracks("moveanim");
}
//Function Number: 3
getwalkanim(param_00)
{
if(self.stairsstate == "up")
{
return animscripts\utility::getmoveanim("stairs_up");
}
else if(self.stairsstate == "down")
{
return animscripts\utility::getmoveanim("stairs_down");
}
var_01 = animscripts\utility::getmoveanim(param_00);
if(!animscripts\utility::isincombat() && !isdefined(self.noruntwitch) && self.noruntwitch && !isdefined(self.a.bdisablemovetwitch) && self.a.bdisablemovetwitch)
{
var_02 = animscripts\utility::getmoveanim("straight_twitch");
if(isdefined(self.isunstableground) && self.isunstableground)
{
var_03 = animscripts\traverse\shared::getnextfootdown();
if(var_03 == "Left")
{
var_02 = animscripts\utility::getmoveanim("straight_twitch_l");
}
else if(var_03 == "Right")
{
var_02 = animscripts\utility::getmoveanim("straight_twitch_r");
}
}
if(isdefined(var_02) && var_02.size > 0)
{
var_04 = animscripts\utility::getrandomintfromseed(self.a.runloopcount,4);
if(var_04 == 0)
{
var_04 = animscripts\utility::getrandomintfromseed(self.a.runloopcount,var_02.size);
return var_02[var_04];
}
}
}
if(isarray(var_01))
{
var_01 = var_01[randomint(var_01.size)];
}
return var_01;
}
//Function Number: 4
dowalkanim(param_00)
{
self endon("movemode");
var_01 = self.moveplaybackrate;
if(self.stairsstate != "none")
{
var_01 = var_01 * 0.6;
}
if(self.a.pose == "stand")
{
if(isdefined(self.enemy))
{
animscripts\cqb::cqbtracking();
self setflaggedanimknoball("walkanim",animscripts\cqb::determinecqbanim(),%walk_and_run_loops,1,1,var_01,1);
}
else
{
self setflaggedanimknoball("walkanim",param_00,%body,1,1,var_01,1);
}
animscripts\run::setmovenonforwardanims(animscripts\utility::getmoveanim("move_b"),animscripts\utility::getmoveanim("move_l"),animscripts\utility::getmoveanim("move_r"));
thread animscripts\run::setcombatstandmoveanimweights("walk");
}
else if(self.a.pose == "prone")
{
self setflaggedanimknob("walkanim",animscripts\utility::getmoveanim("prone"),1,0.3,self.moveplaybackrate);
}
else
{
self setflaggedanimknoball("walkanim",param_00,%body,1,1,var_01,1);
animscripts\run::setmovenonforwardanims(animscripts\utility::getmoveanim("move_b"),animscripts\utility::getmoveanim("move_l"),animscripts\utility::getmoveanim("move_r"));
thread animscripts\run::setcombatstandmoveanimweights("walk");
}
animscripts\notetracks::donotetracksfortime(0.2,"walkanim");
animscripts\run::setshootwhilemoving(0);
}