Files
Recompilable-gscs-for-BO2-z…/patch_zm/maps/mp/animscripts/zm_run.gsc

62 lines
1.4 KiB
Plaintext

#include maps/mp/animscripts/zm_shared;
#include maps/mp/animscripts/zm_utility;
#include maps/mp/animscripts/utility;
#include maps/mp/animscripts/shared;
moverun()
{
self endon( "death" );
if ( isDefined( self.needs_run_update ) && !self.needs_run_update )
{
self waittill( "needs_run_update" );
}
if ( isDefined( self.is_inert ) && self.is_inert )
{
wait 0,1;
return;
}
self setaimanimweights( 0, 0 );
self setanimstatefromspeed();
maps/mp/animscripts/zm_shared::donotetracksfortime( 0,05, "move_anim" );
self.needs_run_update = 0;
}
setanimstatefromspeed()
{
animstate = self append_missing_legs_suffix( "zm_move_" + self.zombie_move_speed );
if ( isDefined( self.a.gib_ref ) && self.a.gib_ref == "no_legs" )
{
animstate = "zm_move_stumpy";
}
if ( isDefined( self.preserve_asd_substates ) && self.preserve_asd_substates && animstate == self getanimstatefromasd() )
{
substate = self getanimsubstatefromasd();
self setanimstatefromasd( animstate, substate );
}
else
{
self setanimstatefromasd( animstate );
}
if ( isDefined( self.setanimstatefromspeed ) )
{
self [[ self.setanimstatefromspeed ]]( animstate, substate );
}
}
needsupdate()
{
self.needs_run_update = 1;
self notify( "needs_run_update" );
}
needsdelayedupdate()
{
self endon( "death" );
while ( isDefined( self.needs_run_update ) && self.needs_run_update )
{
wait 0,1;
}
self.needs_run_update = 1;
self notify( "needs_run_update" );
}