//============================================================================= // KFSM_PlayerSpecial_Slasher //============================================================================= // Player controlled stalker attacks //============================================================================= // Killing Floor 2 // Copyright (C) 2015 Tripwire Interactive LLC //============================================================================= class KFSM_PlayerStalker_Roll extends KFSM_Evade; static function byte PackFlagsBase(KFPawn P) { return class'KFSM_PlayerMeleeBase'.static.GetFourWayMoveDirection(P); } /** Notification called when Special Move starts */ function SpecialMoveStarted( bool bForced, Name PrevMove ) { super.SpecialMoveStarted( bForced, PrevMove ); // Disable cloak if( KFPOwner != none && KFPawn_Monster(KFPOwner).bIsCloaking ) { KFPawn_Monster(KFPOwner).SetCloaked( false ); } } /** Special move ended */ function SpecialMoveEnded( Name PrevMove, Name NextMove ) { // Re-enable cloak if( KFPOwner != none ) { KFPawn_Monster(KFPOwner).SetCloaked( true ); } super.SpecialMoveEnded( PrevMove, NextMove ); } defaultproperties { //Cooldown=0.f // @note: Using EPawnOctant not EEvadeDir. EEvadeDir is defined twice, weirdly offset, and should probably be deleted! EvadeAnims(DIR_Forward)=(Anims=(Player_Cartwheel_F)) EvadeAnims(DIR_Backward)=(Anims=(Player_Cartwheel_B)) EvadeAnims(DIR_Left)=(Anims=(Player_Cartwheel_L)) EvadeAnims(DIR_Right)=(Anims=(Player_Cartwheel_R)) }