58 lines
1.9 KiB
Ucode
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
|
|
} |