60 lines
1.7 KiB
Ucode
60 lines
1.7 KiB
Ucode
|
//=============================================================================
|
||
|
// KFWeap_ShotgunBase
|
||
|
//=============================================================================
|
||
|
// Base class for a shotgun weapon
|
||
|
//=============================================================================
|
||
|
// Killing Floor 2
|
||
|
// Copyright (C) 2015 Tripwire Interactive LLC
|
||
|
//=============================================================================
|
||
|
class KFWeap_ShotgunBase extends KFWeapon
|
||
|
abstract;
|
||
|
|
||
|
/** Spawn projectile is called once for each shot pellet fired */
|
||
|
simulated function KFProjectile SpawnAllProjectiles(class<KFProjectile> KFProjClass, vector RealStartLoc, vector AimDir)
|
||
|
{
|
||
|
local KFPerk InstigatorPerk;
|
||
|
|
||
|
if (CurrentFireMode == GRENADE_FIREMODE)
|
||
|
{
|
||
|
return Super.SpawnProjectile(KFProjClass, RealStartLoc, AimDir);
|
||
|
}
|
||
|
|
||
|
InstigatorPerk = GetPerk();
|
||
|
if (InstigatorPerk != none)
|
||
|
{
|
||
|
Spread[CurrentFireMode] = default.Spread[CurrentFireMode] * InstigatorPerk.GetTightChokeModifier();
|
||
|
}
|
||
|
|
||
|
return super.SpawnAllProjectiles(KFProjClass, RealStartLoc, AimDir);
|
||
|
}
|
||
|
|
||
|
/*********************************************************************************************
|
||
|
* @name Trader
|
||
|
*********************************************************************************************/
|
||
|
|
||
|
/** Returns trader filter index based on weapon type */
|
||
|
static simulated event EFilterTypeUI GetTraderFilter()
|
||
|
{
|
||
|
return FT_Shotgun;
|
||
|
}
|
||
|
|
||
|
defaultproperties
|
||
|
{
|
||
|
NumPellets(DEFAULT_FIREMODE)=7
|
||
|
NumPellets(ALTFIRE_FIREMODE)=7
|
||
|
|
||
|
Spread(DEFAULT_FIREMODE)=0.07
|
||
|
Spread(ALTFIRE_FIREMODE)=0.07
|
||
|
|
||
|
// BASH_FIREMODE - Waiting on animations
|
||
|
InstantHitDamage(BASH_FIREMODE)=20.0
|
||
|
|
||
|
// Animation
|
||
|
bHasFireLastAnims=true
|
||
|
|
||
|
// Aim Assist
|
||
|
AimCorrectionSize=0.f
|
||
|
}
|
||
|
|
||
|
|