54 lines
1.6 KiB
Ucode
54 lines
1.6 KiB
Ucode
|
//=============================================================================
|
||
|
// KFWeapAttach_Eviscerator
|
||
|
//=============================================================================
|
||
|
// A custom 3rd person weapon template for the eviscerator
|
||
|
//=============================================================================
|
||
|
// Killing Floor 2
|
||
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
||
|
//=============================================================================
|
||
|
class KFWeapAttach_Eviscerator extends KFWeaponAttachment;
|
||
|
|
||
|
var AnimTree CustomAnimTree;
|
||
|
|
||
|
const WeaponShoot = 'Shoot';
|
||
|
|
||
|
event PreBeginPlay()
|
||
|
{
|
||
|
Super.PreBeginPlay();
|
||
|
|
||
|
// Override the animtree. Doing this here (before AttachTo) instead of in defaultprops
|
||
|
// avoids an undesired call to our owning Pawn's PostInitAnimTree
|
||
|
if ( CustomAnimTree != None )
|
||
|
{
|
||
|
WeapMesh.SetAnimTreeTemplate(CustomAnimTree);
|
||
|
WeapAnimNode = AnimNodeSequence(AnimTree(WeapMesh.Animations).Children[0].Anim);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/** Custom firing animations */
|
||
|
simulated function bool ThirdPersonFireEffects(vector HitLocation, KFPawn P, byte ThirdPersonAnimRateByte )
|
||
|
{
|
||
|
local float Duration;
|
||
|
|
||
|
if( Super.ThirdPersonFireEffects(HitLocation, P, ThirdPersonAnimRateByte) )
|
||
|
{
|
||
|
Duration = WeapMesh.GetAnimLength( WeaponShoot );
|
||
|
WeapMesh.PlayAnim( WeaponShoot, Duration / ThirdPersonAnimRate );
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
// Weapon SkeletalMesh
|
||
|
Begin Object Name=SkeletalMeshComponent0
|
||
|
bForceRefPose=0
|
||
|
End Object
|
||
|
|
||
|
CustomAnimTree=AnimTree'WEP_SawBlade_ARCH.3P_Sawblade_Animtree'
|
||
|
|
||
|
bHasLaserSight=TRUE
|
||
|
}
|