rott/kf_sources/ScrnHTec/Classes/FreezerFire.uc
2026-07-14 20:27:09 +07:00

68 lines
1.8 KiB
Ucode

class FreezerFire extends KFShotgunFire;
simulated function PostBeginPlay()
{
super.PostBeginPlay();
Load = ProjPerFire; // don't use AmmoPerFire here
}
simulated function bool AllowFire()
{
if(KFWeapon(Weapon).bIsReloading)
return false;
if(KFPawn(Instigator).SecondaryItem!=none)
return false;
if(KFPawn(Instigator).bThrowingNade)
return false;
if(KFWeapon(Weapon).MagAmmoRemaining < AmmoPerFire)
{
if( Level.TimeSeconds - LastClickTime>FireRate )
{
LastClickTime = Level.TimeSeconds;
}
if( AIController(Instigator.Controller)!=None )
KFWeapon(Weapon).ReloadMeNow();
return false;
}
return super(WeaponFire).AllowFire();
}
event ModeDoFire()
{
super.ModeDoFire();
Load = ProjPerFire; // don't use AmmoPerFire here
}
defaultproperties
{
RecoilRate=0.130000
maxVerticalRecoilAngle=200
maxHorizontalRecoilAngle=75
FireAimedAnim="Fire_Iron"
FireSoundRef="HTec_A.Fire1mono"
StereoFireSoundRef="HTec_A.Fire1"
NoAmmoSoundRef="KF_NailShotgun.Fire.KF_NailShotgun_Dryfire"
ProjPerFire=1
ProjSpawnOffset=(X=18.000000,Z=-8.000000)
TransientSoundVolume=1.000000
FireLoopAnim="Fire"
FireAnimRate=1.200000
TweenTime=0.001500
FireRate=0.150000
AmmoClass=Class'ScrnHTec.FreezerDartAmmo'
ShakeRotMag=(X=50.000000,Y=50.000000,Z=350.000000)
ShakeRotRate=(X=5000.000000,Y=5000.000000,Z=5000.000000)
ShakeRotTime=0.750000
ShakeOffsetMag=(X=6.000000,Y=3.000000,Z=7.500000)
ShakeOffsetRate=(X=1000.000000,Y=1000.000000,Z=1000.000000)
ShakeOffsetTime=1.250000
ProjectileClass=Class'ScrnHTec.FreezerDart'
BotRefireRate=0.990000
FlashEmitterClass=Class'ScrnHTec.IceDartMuzzleFlash'
aimerror=42.000000
Spread=0.008000
}