2024-02-13 13:20:49 +01:00

62 lines
1.6 KiB
Plaintext

// IW6 GSC SOURCE
// Generated by https://github.com/xensik/gsc-tool
#using_animtree("dog");
main()
{
if ( isdefined( level.shark_functions ) )
{
if ( issubstr( self.model, "shark" ) )
{
self [[ level.shark_functions["pain"] ]]();
return;
}
}
self endon( "killanimscript" );
if ( isdefined( self.enemy ) && isdefined( self.enemy.syncedmeleetarget ) && self.enemy.syncedmeleetarget == self && ( !isdefined( self.disablepain ) || !self.disablepain ) )
{
self unlink();
self.enemy.syncedmeleetarget = undefined;
}
self animmode( "zonly_physics" );
self clearanim( %body, 0.2 );
if ( self.prevscript == "dog_stop" )
var_0 = "idle_pain";
else
var_0 = "run_pain";
self setflaggedanimrestart( "dog_pain_anim", getdogpainanim( var_0 ), 1, 0.2, 1 );
if ( self isdogbeingdriven() )
self playsound( "bullet_large_flesh" );
else
self playsound( "bullet_large_flesh_npc" );
animscripts\shared::donotetracks( "dog_pain_anim" );
}
getdogpainanim( var_0 )
{
var_1 = animscripts\utility::lookupdoganim( "reaction", var_0 );
if ( isarray( var_1 ) )
return var_1[randomint( var_1.size )];
return var_1;
}
initdogarchetype_reaction()
{
var_0 = [];
var_0["flash_long"] = [ %iw6_dog_run_pain_4, %iw6_dog_run_pain_6 ];
var_0["flash_short"] = %german_shepherd_run_flashbang_b;
var_0["run_pain"] = [ %iw6_dog_run_pain_4, %iw6_dog_run_pain_6 ];
var_0["idle_pain"] = [ %iw6_dog_alertidle_pain_4, %iw6_dog_alertidle_pain_6 ];
anim.archetypes["dog"]["reaction"] = var_0;
}