1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFWeap_GrenadeLauncher_M32.uc
2020-12-13 18:01:13 +03:00

245 lines
8.4 KiB
Ucode

//=============================================================================
// KFWeap_GrenadeLauncher_M32
//=============================================================================
// An M32 Grenade Launcher
//=============================================================================
// Killing Floor 2
// Copyright (C) 2017 Tripwire Interactive LLC
//=============================================================================
class KFWeap_GrenadeLauncher_M32 extends KFWeap_GrenadeLauncher_CylinderBase;
defaultproperties
{
ForceReloadTime=0.0f
// Inventory
InventoryGroup=IG_Primary
GroupPriority=125
InventorySize=9
WeaponSelectTexture=Texture2D'WEP_UI_M32_MGL_TEX.UI_WeaponSelect_M32_MGL'
// FOV
MeshIronSightFOV=52
PlayerIronSightFOV=73
// Zooming/Position
PlayerViewOffset=(X=19.0,Y=13,Z=-2)
FastZoomOutTime=0.2
// Content
PackageKey="M32_MGL"
FirstPersonMeshName="WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Rig"
FirstPersonAnimSetNames(0)="WEP_1P_M32_MGL_ANIM.Wep_1stP_M32_MGL_Anim"
PickupMeshName="WEP_3P_M32_MGL_MESH.Wep_3rdP_M32_MGL_Pickup"
AttachmentArchetypeName="WEP_M32_MGL_ARCH.Wep_M32_MGL_3P"
MuzzleFlashTemplateName="WEP_M32_MGL_ARCH.Wep_M32_MGL_MuzzleFlash" // Need to replace
Begin Object Name=FirstPersonMesh
// new anim tree with skelcontrol to rotate cylinders
AnimTreeTemplate=AnimTree'CHR_1P_Arms_ARCH.WEP_1stP_Animtree_Master_Revolver'
End Object
// Zooming/Position
IronSightPosition=(X=0,Y=0,Z=0)
// Ammo
MagazineCapacity[0]=6
SpareAmmoCapacity[0]=36
InitialSpareMags[0]=2
AmmoPickupScale[0]=1.0
bCanBeReloaded=true
bReloadFromMagazine=false
// Recoil
maxRecoilPitch=900
minRecoilPitch=775
maxRecoilYaw=500
minRecoilYaw=-500
RecoilRate=0.085
RecoilBlendOutRatio=0.35
RecoilMaxYawLimit=500
RecoilMinYawLimit=65035
RecoilMaxPitchLimit=1500
RecoilMinPitchLimit=64785
RecoilISMaxYawLimit=50
RecoilISMinYawLimit=65485
RecoilISMaxPitchLimit=500
RecoilISMinPitchLimit=65485
RecoilViewRotationScale=0.8
FallingRecoilModifier=1.5
HippedRecoilModifier=1.25
// DEFAULT_FIREMODE
FireModeIconPaths(DEFAULT_FIREMODE)=Texture2D'ui_firemodes_tex.UI_FireModeSelect_Grenade'
FiringStatesArray(DEFAULT_FIREMODE)=WeaponSingleFiring
WeaponFireTypes(DEFAULT_FIREMODE)=EWFT_Projectile
WeaponProjectiles(DEFAULT_FIREMODE)=class'KFProj_HighExplosive_M32'
FireInterval(DEFAULT_FIREMODE)=+0.25
InstantHitDamage(DEFAULT_FIREMODE)=150.0
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'KFDT_Ballistic_M32Impact'
Spread(DEFAULT_FIREMODE)=0.015
FireOffset=(X=23,Y=4.0,Z=-3)
// ALT_FIREMODE
FiringStatesArray(ALTFIRE_FIREMODE)=WeaponSingleFiring
WeaponFireTypes(ALTFIRE_FIREMODE)=EWFT_None
// BASH_FIREMODE
InstantHitDamageTypes(BASH_FIREMODE)=class'KFDT_Bludgeon_M32'
InstantHitDamage(BASH_FIREMODE)=26
// Fire Effects
WeaponFireSnd(DEFAULT_FIREMODE)=(DefaultCue=AkEvent'WW_WEP_M32.Play_M32_Fire_3P_Single', FirstPersonCue=AkEvent'WW_WEP_M32.Play_M32_Fire_1P_Single')
//@todo: add akevent when we have it
WeaponDryFireSnd(DEFAULT_FIREMODE)=AkEvent'WW_WEP_M32.Play_M32_DryFire'
// Animation
bHasFireLastAnims=true
// Attachments
bHasIronSights=true
bHasFlashlight=false
AssociatedPerkClasses(0)=class'KFPerk_Demolitionist'
WeaponFireWaveForm=ForceFeedbackWaveform'FX_ForceFeedback_ARCH.Gunfire.Heavy_Recoil_SingleShot'
// Revolver
bRevolver=true
CylinderRotInfo=(Inc=60, Time=0.0875/*about 0.35 in the anim divided by ratescale of 4*/)
// Revolver shell/cap replacement
BulletFXSocketNames=(RW_Bullet_FX_1, RW_Bullet_FX_2, RW_Bullet_FX_3, RW_Bullet_FX_4, RW_Bullet_FX_5, RW_Bullet_FX_6)
ShellBoneNames=(RW_Shell3, RW_Shell2, RW_Shell1, RW_Shell6, RW_Shell5, RW_Shell4)
Begin Object Class=KFBulletSkeletalMeshComponent Name=BulletMeshComp0
SkeletalMesh=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UnusedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UsedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Empty_Shell'
CollideActors=false
BlockActors=false
BlockZeroExtent=false
BlockNonZeroExtent=false
BlockRigidBody=false
bAcceptsStaticDecals=false
bAcceptsDecals=false
CastShadow=false
bUseAsOccluder=false
DepthPriorityGroup=SDPG_Foreground // First person only
End Object
Components.Add(BulletMeshComp0)
BulletMeshComponents.Add(BulletMeshComp0)
Begin Object Class=KFBulletSkeletalMeshComponent Name=BulletMeshComp1
SkeletalMesh=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UnusedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UsedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Empty_Shell'
CollideActors=false
BlockActors=false
BlockZeroExtent=false
BlockNonZeroExtent=false
BlockRigidBody=false
bAcceptsStaticDecals=false
bAcceptsDecals=false
CastShadow=false
bUseAsOccluder=false
DepthPriorityGroup=SDPG_Foreground // First person only
End Object
Components.Add(BulletMeshComp1)
BulletMeshComponents.Add(BulletMeshComp1)
Begin Object Class=KFBulletSkeletalMeshComponent Name=BulletMeshComp2
SkeletalMesh=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UnusedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UsedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Empty_Shell'
CollideActors=false
BlockActors=false
BlockZeroExtent=false
BlockNonZeroExtent=false
BlockRigidBody=false
bAcceptsStaticDecals=false
bAcceptsDecals=false
CastShadow=false
bUseAsOccluder=false
DepthPriorityGroup=SDPG_Foreground // First person only
End Object
Components.Add(BulletMeshComp2)
BulletMeshComponents.Add(BulletMeshComp2)
Begin Object Class=KFBulletSkeletalMeshComponent Name=BulletMeshComp3
SkeletalMesh=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UnusedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UsedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Empty_Shell'
CollideActors=false
BlockActors=false
BlockZeroExtent=false
BlockNonZeroExtent=false
BlockRigidBody=false
bAcceptsStaticDecals=false
bAcceptsDecals=false
CastShadow=false
bUseAsOccluder=false
DepthPriorityGroup=SDPG_Foreground // First person only
End Object
Components.Add(BulletMeshComp3)
BulletMeshComponents.Add(BulletMeshComp3)
Begin Object Class=KFBulletSkeletalMeshComponent Name=BulletMeshComp4
SkeletalMesh=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UnusedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UsedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Empty_Shell'
CollideActors=false
BlockActors=false
BlockZeroExtent=false
BlockNonZeroExtent=false
BlockRigidBody=false
bAcceptsStaticDecals=false
bAcceptsDecals=false
CastShadow=false
bUseAsOccluder=false
DepthPriorityGroup=SDPG_Foreground // First person only
End Object
Components.Add(BulletMeshComp4)
BulletMeshComponents.Add(BulletMeshComp4)
Begin Object Class=KFBulletSkeletalMeshComponent Name=BulletMeshComp5
SkeletalMesh=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UnusedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UsedBulletMeshTemplate = SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Empty_Shell'
CollideActors=false
BlockActors=false
BlockZeroExtent=false
BlockNonZeroExtent=false
BlockRigidBody=false
bAcceptsStaticDecals=false
bAcceptsDecals=false
CastShadow=false
bUseAsOccluder=false
DepthPriorityGroup=SDPG_Foreground // First person only
End Object
Components.Add(BulletMeshComp5)
BulletMeshComponents.Add(BulletMeshComp5)
Begin Object Class=KFBulletSkeletalMeshComponent Name=BulletMeshComp6
SkeletalMesh=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UnusedBulletMeshTemplate=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Shell'
UsedBulletMeshTemplate=SkeletalMesh'WEP_1P_M32_MGL_MESH.Wep_1stP_M32_MGL_Empty_Shell'
CollideActors=false
BlockActors=false
BlockZeroExtent=false
BlockNonZeroExtent=false
BlockRigidBody=false
bAcceptsStaticDecals=false
bAcceptsDecals=false
CastShadow=false
bUseAsOccluder=false
DepthPriorityGroup=SDPG_Foreground // First person only
End Object
Components.Add(BulletMeshComp6)
ReloadShell=BulletMeshComp6
}