1
0
KF2-Dev-Scripts/KFGameContent/Classes/KFWeap_AssaultRifle_Microwave.uc
2022-09-01 18:58:51 +03:00

166 lines
5.8 KiB
Ucode

//=============================================================================
// KFWeap_AssaultRifle_Microwave
//=============================================================================
// Killing Floor 2
// Copyright (C) 2017 Tripwire Interactive LLC
//=============================================================================
class KFWeap_AssaultRifle_Microwave extends KFWeap_RifleBase;
/** Animation to play when the weapon is fired in burst mode with 2 rounds left */
var(Animations) const editconst name BurstFire2RdAnim;
/** Animation to play when the weapon is fired in burst fire mode for 3 rounds*/
var(Animations) const editconst name BurstFire3RdAnim;
// Iron Sights
/** Animation to play when the weapon is fired in burst mode with 2 rounds left */
var(Animations) const editconst name BurstFire2RdSightedAnim;
/** Animation to play when the weapon is fired in burst fire mode for 3 rounds*/
var(Animations) const editconst name BurstFire3RdSightedAnim;
var int BurstAmountBegin;
simulated state WeaponBurstFiring
{
simulated event BeginState(Name PreviousStateName)
{
BurstAmountBegin = GetBurstAmount();
Super.BeginState(PreviousStateName);
}
simulated function name GetWeaponFireAnim(byte FireModeNum)
{
// only do one burst animation instead of a burst animation per shot
// since burst amount gets reduced after each shot, this will only play the one animation based on the number of shots in the burst fire
if (BurstAmount == BurstAmountBegin)
{
if (BurstAmount == 3)
{
if (bUsingSights)
{
return BurstFire3RdSightedAnim;
}
return BurstFire3RdAnim;
}
else if (BurstAmount == 2)
{
if (bUsingSights)
{
return BurstFire2RdSightedAnim;
}
return BurstFire2RdAnim;
}
else
{
return super.GetWeaponFireAnim(FireModeNum);
}
}
// will not play any animation
return '';
}
}
defaultproperties
{
// FOV
MeshFOV=70
MeshIronSightFOV=52
PlayerIronSightFOV=70
// Depth of field
DOF_FG_FocalRadius=85
DOF_FG_MaxNearBlurSize=2.5
// Zooming/Position
IronSightPosition=(X=10,Y=-0.015,Z=0.09) //x20
PlayerViewOffset=(X=30.0,Y=10,Z=-2.5) //x18 y9 z0
// Content
PackageKey="Microwave_Assault"
FirstPersonMeshName="WEP_1P_Microwave_Assault_MESH.Wep_1stP_Microwave_Assault_Rig"
FirstPersonAnimSetNames(0)="WEP_1P_Microwave_Assault_ANIM.WEP_1P_Microwave_Assault_ANIM"
PickupMeshName="WEP_3P_Microwave_Assault_MESH.Wep_3rdP_Microwave_Assault_Pickup"
AttachmentArchetypeName = "WEP_Microwave_Assault_ARCH.Microwave_Assault_3rdP"
MuzzleFlashTemplateName="WEP_Microwave_Assault_ARCH.Wep_Microwave_Gun_MuzzleFlash" //@TODO: Replace
// Ammo
MagazineCapacity[0]=40
SpareAmmoCapacity[0]=320
InitialSpareMags[0]=2
bCanBeReloaded=true
bReloadFromMagazine=true
// Recoil
maxRecoilPitch=125
minRecoilPitch=100
maxRecoilYaw=120
minRecoilYaw=-100
RecoilRate=0.085
RecoilMaxYawLimit=500
RecoilMinYawLimit=65035
RecoilMaxPitchLimit=900
RecoilMinPitchLimit=65035
RecoilISMaxYawLimit=75
RecoilISMinYawLimit=65460
RecoilISMaxPitchLimit=375
RecoilISMinPitchLimit=65460
IronSightMeshFOVCompensationScale=4.0
// Inventory
InventorySize=8
GroupPriority=125
WeaponSelectTexture=Texture2D'WEP_UI_Microwave_Assault_TEX.UI_WeaponSelect_Microwave_Assault'
// DEFAULT_FIREMODE
FireModeIconPaths(DEFAULT_FIREMODE)=Texture2D'ui_firemodes_tex.UI_FireModeSelect_BulletAuto'
FiringStatesArray(DEFAULT_FIREMODE)=WeaponFiring
WeaponFireTypes(DEFAULT_FIREMODE)=EWFT_Projectile
WeaponProjectiles(DEFAULT_FIREMODE)=class'KFProj_Bullet_MicrowaveRifle'
InstantHitDamageTypes(DEFAULT_FIREMODE)=class'KFDT_Ballistic_MicrowaveRifle'
FireInterval(DEFAULT_FIREMODE)=+0.1 // 600 RPM
Spread(DEFAULT_FIREMODE)=0.0085
PenetrationPower(DEFAULT_FIREMODE)=5.0
InstantHitDamage(DEFAULT_FIREMODE)=50.0
FireOffset=(X=30,Y=4.5,Z=-5)
// ALT_FIREMODE
FireModeIconPaths(ALTFIRE_FIREMODE)=Texture2D'ui_firemodes_tex.UI_FireModeSelect_BulletBurst'
FiringStatesArray(ALTFIRE_FIREMODE)=WeaponBurstFiring
WeaponFireTypes(ALTFIRE_FIREMODE)=EWFT_Projectile
WeaponProjectiles(ALTFIRE_FIREMODE)=class'KFProj_Bullet_MicrowaveRifle'
FireInterval(ALTFIRE_FIREMODE)=+0.1 // 600 RPM
InstantHitDamageTypes(ALTFIRE_FIREMODE)=class'KFDT_Ballistic_MicrowaveRifle'
InstantHitDamage(ALTFIRE_FIREMODE)=50.0
PenetrationPower(ALTFIRE_FIREMODE)=5.0
Spread(ALTFIRE_FIREMODE)=0.0085
BurstAmount=3
BurstFire2RdAnim=Shoot_Burst2
BurstFire3RdAnim=Shoot_Burst
BurstFire2RdSightedAnim=Shoot_Burst2_Iron
BurstFire3RdSightedAnim=Shoot_Burst_Iron
// BASH_FIREMODE
InstantHitDamageTypes(BASH_FIREMODE)=class'KFDT_Bludgeon_MicrowaveRifle'
InstantHitDamage(BASH_FIREMODE)=26
// Fire Effects
WeaponFireSnd(DEFAULT_FIREMODE)=(DefaultCue=AkEvent'WW_WEP_Helios.Play_WEP_Helios_Shoot_FullAuto_LP_3P', FirstPersonCue=AkEvent'WW_WEP_Helios.Play_WEP_Helios_Shoot_FullAuto_LP_1P') //@TODO: Replace
WeaponFireSnd(ALTFIRE_FIREMODE)=(DefaultCue=AkEvent'WW_WEP_Helios.Play_WEP_Helios_Shoot_Single_3P', FirstPersonCue=AkEvent'WW_WEP_Helios.Play_WEP_Helios_Shoot_Single_1P') //@TODO: Replace
WeaponDryFireSnd(DEFAULT_FIREMODE)=AkEvent'WW_WEP_SA_SCAR.Play_WEP_SA_SCAR_Handling_DryFire' //@TODO: Replace
WeaponDryFireSnd(ALTFIRE_FIREMODE)=AkEvent'WW_WEP_SA_SCAR.Play_WEP_SA_SCAR_Handling_DryFire' //@TODO: Replace
// Advanced (High RPM) Fire Effects
bLoopingFireAnim(DEFAULT_FIREMODE)=true
bLoopingFireSnd(DEFAULT_FIREMODE)=true
WeaponFireLoopEndSnd(DEFAULT_FIREMODE)=(DefaultCue=AkEvent'WW_WEP_Helios.Play_WEP_Helios_Shoot_FullAuto_LP_End_3P', FirstPersonCue=AkEvent'WW_WEP_Helios.Play_WEP_Helios_Shoot_FullAuto_LP_End_1P') //@TODO: Replace
SingleFireSoundIndex=ALTFIRE_FIREMODE
// Attachments
bHasIronSights=true
bHasFlashlight=false
AssociatedPerkClasses(0)=class'KFPerk_Firebug'
}