113 lines
3.6 KiB
Plaintext
113 lines
3.6 KiB
Plaintext
// IW6 GSC SOURCE
|
|
// Generated by https://github.com/xensik/gsc-tool
|
|
|
|
movewalk()
|
|
{
|
|
var_0 = undefined;
|
|
|
|
if ( isdefined( self.pathgoalpos ) && distancesquared( self.origin, self.pathgoalpos ) > 4096 )
|
|
var_0 = "stand";
|
|
|
|
var_1 = [[ self.chooseposefunc ]]( var_0 );
|
|
|
|
switch ( var_1 )
|
|
{
|
|
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;
|
|
}
|
|
}
|
|
|
|
#using_animtree("generic_human");
|
|
|
|
dowalkanimoverride( var_0 )
|
|
{
|
|
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_1 = common_scripts\utility::choose_from_weighted_array( self.walk_overrideanim, self.walk_override_weights );
|
|
else
|
|
var_1 = self.walk_overrideanim[randomint( self.walk_overrideanim.size )];
|
|
}
|
|
else
|
|
var_1 = self.walk_overrideanim;
|
|
|
|
self setflaggedanimknob( "moveanim", var_1, 1, 0.2 );
|
|
animscripts\shared::donotetracks( "moveanim" );
|
|
}
|
|
|
|
getwalkanim( var_0 )
|
|
{
|
|
if ( self.stairsstate == "up" )
|
|
return animscripts\utility::getmoveanim( "stairs_up" );
|
|
else if ( self.stairsstate == "down" )
|
|
return animscripts\utility::getmoveanim( "stairs_down" );
|
|
|
|
var_1 = animscripts\utility::getmoveanim( var_0 );
|
|
|
|
if ( isarray( var_1 ) )
|
|
var_1 = var_1[randomint( var_1.size )];
|
|
|
|
return var_1;
|
|
}
|
|
|
|
dowalkanim( var_0 )
|
|
{
|
|
self endon( "movemode" );
|
|
var_1 = self.moveplaybackrate;
|
|
|
|
if ( self.stairsstate != "none" )
|
|
var_1 = var_1 * 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_1, 1 );
|
|
}
|
|
else
|
|
self setflaggedanimknoball( "walkanim", var_0, %body, 1, 1, var_1, 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", var_0, %body, 1, 1, var_1, 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 );
|
|
}
|