67 lines
1.9 KiB
Ucode
67 lines
1.9 KiB
Ucode
|
//=============================================================================
|
||
|
// 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
|
||
|
}
|