1
0
KF2-Dev-Scripts/KFGame/Classes/KFSM_Evade.uc
2020-12-13 18:01:13 +03:00

58 lines
1.9 KiB
Ucode

//=============================================================================
// KFSM_Evade
//=============================================================================
// Handles playing evades. Best used with AICommand_Evade for NPCs.
//=============================================================================
// Killing Floor 2
// Copyright (C) 2015 Tripwire Interactive LLC
//=============================================================================
class KFSM_Evade extends KFSM_PlaySingleAnim;
/** Animation to play */
var array<AnimVariants> EvadeAnims;
static function byte PackAnimFlag( byte EvadeDir )
{
local byte Variant;
Variant = Rand(2);
return EvadeDir + (Variant << 4);
}
function PlayAnimation()
{
local byte Type, Variant;
Type = KFPOwner.SpecialMoveFlags & 15;
Variant = KFPOwner.SpecialMoveFlags >> 4;
PlaySpecialMoveAnim( EvadeAnims[Type].Anims[Variant], EAS_FullBody, BlendInTime, BlendOutTime, 1.f );
// Clear the special move flags now so that SpecialMoveFlagsUpdated never fails
KFPOwner.SpecialMoveFlags = 255;
}
DefaultProperties
{
Handle=KFSM_Evade
// ---------------------------------------------
// Animations
bUseRootMotion=true
AnimStance=EAS_FullBody
BlendInTime=0.15f
BlendOutTime=0.33f
bPawnRotationLocked=true
EvadeAnims(DIR_Forward)=(Anims=(Evade_F_V1, Evade_F_V2))
EvadeAnims(DIR_Backward)=(Anims=(Evade_B_V1, Evade_B_V2))
EvadeAnims(DIR_Left)=(Anims=(Evade_L_V1, Evade_L_V2))
EvadeAnims(DIR_Right)=(Anims=(Evade_R_V1, Evade_R_V2))
EvadeAnims(DIR_ForwardLeft)=(Anims=(Evade_FL_V1, Evade_FL_V2))
EvadeAnims(DIR_ForwardRight)=(Anims=(Evade_FR_V1, Evade_FR_V2))
EvadeAnims(DIR_BackwardLeft)=(Anims=(Evade_BL_V1, Evade_BL_V2))
EvadeAnims(DIR_BackwardRight)=(Anims=(Evade_BR_V1, Evade_BR_V2))
bDisablesWeaponFiring=true
bUseHigherMeshSmoothingThreshold=true
}