62 lines
1.6 KiB
Plaintext
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;
|
|
}
|