61 lines
1.7 KiB
Ucode
61 lines
1.7 KiB
Ucode
//=============================================================================
|
|
// KFDT_Ballistic_RailGun
|
|
//=============================================================================
|
|
//=============================================================================
|
|
// Killing Floor 2
|
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
|
//=============================================================================
|
|
|
|
class KFDT_Ballistic_RailGun extends KFDT_Ballistic_Rifle
|
|
abstract
|
|
hidedropdown;
|
|
|
|
/** Allows the damage type to map a hit zone to a different bone for dismemberment purposes. */
|
|
static simulated function GetBoneToDismember(KFPawn_Monster InPawn, vector HitDirection, name InHitZoneName, out name OutBoneName)
|
|
{
|
|
local KFCharacterInfo_Monster MonsterInfo;
|
|
|
|
MonsterInfo = InPawn.GetCharacterMonsterInfo();
|
|
if ( MonsterInfo != none )
|
|
{
|
|
// Randomly pick the left or right shoulder to dismember
|
|
if( InHitZoneName == 'chest')
|
|
{
|
|
OutBoneName = Rand(2) == 0 ? MonsterInfo.SpecialMeleeDismemberment.LeftShoulderBoneName : MonsterInfo.SpecialMeleeDismemberment.RightShoulderBoneName;
|
|
}
|
|
}
|
|
}
|
|
|
|
/** Allows the damage type to customize exactly which hit zones it can dismember */
|
|
static simulated function bool CanDismemberHitZone( name InHitZoneName )
|
|
{
|
|
switch ( InHitZoneName )
|
|
{
|
|
case 'lupperarm':
|
|
case 'rupperarm':
|
|
case 'chest':
|
|
case 'heart':
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
}
|
|
|
|
defaultproperties
|
|
{
|
|
GoreDamageGroup=DGT_Shotgun
|
|
|
|
KDamageImpulse=4500
|
|
KDeathUpKick=500
|
|
KDeathVel=350
|
|
|
|
KnockdownPower=20
|
|
StunPower=50 //100
|
|
StumblePower=600 //400
|
|
GunHitPower=300 //100
|
|
MeleeHitPower=100
|
|
|
|
WeaponDef=class'KFWeapDef_RailGun'
|
|
ModifierPerkList(0)=class'KFPerk_Sharpshooter'
|
|
}
|