1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFSM_Hans_WeaponSwitch.uc

67 lines
1.9 KiB
Ucode
Raw Normal View History

2020-12-13 15:01:13 +00:00
//=============================================================================
// KFSM_HansWeaponSwitch
//=============================================================================
// Play a weapon switch animation and update AnimSets
//=============================================================================
// Killing Floor 2
// Copyright (C) 2015 Tripwire Interactive LLC
//=============================================================================
class KFSM_Hans_WeaponSwitch extends KFSM_PlaySingleAnim;
var bool bIsEquipping;
const EquipGunsAnim = 'Equip_Gun';
const PutAwayGunsAnim = 'PutAway_Gun';
function PlayAnimation()
{
local KFPawn_ZedHans HansPawn;
bIsEquipping = KFPOwner.SpecialMoveFlags > 0;
AnimName = (bIsEquipping) ? EquipGunsAnim : PutAwayGunsAnim;
// Need to blend out the hip holster skel controls
HansPawn = KFPawn_ZedHans(PawnOwner);
if ( HansPawn != None )
{
HansPawn.RightHolsterSkelCtrl.SetSkelControlActive(false);
HansPawn.LeftHolsterSkelCtrl.SetSkelControlActive(false);
if( bIsEquipping )
{
HansPawn.PlayDrawGunsDialog();
}
}
Super.PlayAnimation();
}
function SpecialMoveEnded(Name PrevMove, Name NextMove)
{
local KFPawn_ZedHans HansPawn;
// Notify Hans to update AnimSets, etc...
HansPawn = KFPawn_ZedHans(PawnOwner);
if ( HansPawn != None )
{
HansPawn.SetWeaponStance(bIsEquipping);
// If we were waiting for Hans to get his guns put away before
// doing a smoke barrage and summoning minions, do it now!
if( !bIsEquipping && HansPawn != none && HansPawn.bPendingSmokeGrenadeBarrage
&& KFAIController_Hans(PawnOwner.Controller) != none )
{
KFAIController_Hans(PawnOwner.Controller).DoSmokeGrenadeThrow( true, true );
}
}
Super.SpecialMoveEnded(PrevMove, NextMove);
}
DefaultProperties
{
bDisableMovement=true
bDisablesWeaponFiring=true
}