67 lines
1.9 KiB
Ucode
67 lines
1.9 KiB
Ucode
|
//=============================================================================
|
||
|
// KFSM_PlayerSpecial_Slasher
|
||
|
//=============================================================================
|
||
|
// Player controlled stalker attacks
|
||
|
//=============================================================================
|
||
|
// Killing Floor 2
|
||
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
||
|
//=============================================================================
|
||
|
class KFSM_PlayerSlasher_Roll extends KFSM_Evade;
|
||
|
|
||
|
var rotator InitialRotation;
|
||
|
|
||
|
/** Notification called when Special Move starts */
|
||
|
function SpecialMoveStarted( bool bForced, Name PrevMove )
|
||
|
{
|
||
|
super.SpecialMoveStarted( bForced, PrevMove );
|
||
|
|
||
|
InitialRotation = KFPOwner.Rotation;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Checks to see if this Special Move can be done.
|
||
|
*/
|
||
|
protected function bool InternalCanDoSpecialMove()
|
||
|
{
|
||
|
return KFPOwner != none && KFPOwner.Physics == PHYS_Walking && super.InternalCanDoSpecialMove();
|
||
|
}
|
||
|
|
||
|
static function byte PackFlagsBase(KFPawn P)
|
||
|
{
|
||
|
return class'KFSM_PlayerMeleeBase'.static.GetFourWayMoveDirection(P);
|
||
|
}
|
||
|
|
||
|
/** Constantly apply velocity while move is active */
|
||
|
function Tick( float DeltaTime )
|
||
|
{
|
||
|
super.Tick( DeltaTime );
|
||
|
|
||
|
if( KFPOwner != none && KFPOwner.Role != ROLE_SimulatedProxy )
|
||
|
{
|
||
|
KFPOwner.SetRotation( InitialRotation );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
bUseRootMotion=true
|
||
|
bDisableSteering=true
|
||
|
bLockPawnRotation=true
|
||
|
EvadeAnims.Empty
|
||
|
EvadeAnims(DIR_Forward)=(Anims=(Player_Roll_F))
|
||
|
EvadeAnims(DIR_Backward)=(Anims=(Player_Roll_B))
|
||
|
EvadeAnims(DIR_Left)=(Anims=(Player_Roll_L))
|
||
|
EvadeAnims(DIR_Right)=(Anims=(Player_Roll_R))
|
||
|
|
||
|
// ---------------------------------------------
|
||
|
// Camera
|
||
|
bUseCustomThirdPersonViewOffset=true
|
||
|
CustomThirdPersonViewOffset={(
|
||
|
OffsetHigh=(X=-175,Y=50,Z=-80),
|
||
|
OffsetLow=(X=-220,Y=50,Z=-80),
|
||
|
OffsetMid=(X=-145,Y=50,Z=-90),
|
||
|
)}
|
||
|
ViewOffsetInterpTime=0.3f
|
||
|
CustomCameraFOV=80.f
|
||
|
CameraFOVTransitionTime=0.3f
|
||
|
}
|