//============================================================================= // BenelliFire //============================================================================= // Benelli shotgun primary fire class //============================================================================= // Killing Floor Source // Copyright (C) 2011 Tripwire Interactive LLC // - John "Ramm-Jaeger" Gibson //============================================================================= class BenelliFire extends KFShotgunFire; var() class ShellEjectClass; // class of the shell eject emitter var() Emitter ShellEjectEmitter; // The shell eject emitter var() name ShellEjectBoneName; // name of the shell eject bone simulated function InitEffects() { super.InitEffects(); // don't even spawn on server if ( (Level.NetMode == NM_DedicatedServer) || (AIController(Instigator.Controller) != None) ) return; if ( (ShellEjectClass != None) && ((ShellEjectEmitter == None) || ShellEjectEmitter.bDeleteMe) ) { ShellEjectEmitter = Weapon.Spawn(ShellEjectClass); Weapon.AttachToBone(ShellEjectEmitter, ShellEjectBoneName); } } function DrawMuzzleFlash(Canvas Canvas) { super.DrawMuzzleFlash(Canvas); // Draw shell ejects if (ShellEjectEmitter != None ) { Canvas.DrawActor( ShellEjectEmitter, false, false, Weapon.DisplayFOV ); } } function FlashMuzzleFlash() { super.FlashMuzzleFlash(); if (ShellEjectEmitter != None) { ShellEjectEmitter.Trigger(Weapon, Instigator); } } simulated function DestroyEffects() { super.DestroyEffects(); if (ShellEjectEmitter != None) ShellEjectEmitter.Destroy(); } defaultproperties { KickMomentum=(X=-45.000000,Z=10.000000) ProjPerFire=7 bAttachSmokeEmitter=True TransientSoundVolume=2.0 TransientSoundRadius=500.000000 FireSoundRef="KF_PumpSGSnd.SG_Fire" StereoFireSoundRef="KF_PumpSGSnd.SG_FireST" NoAmmoSoundRef="KF_PumpSGSnd.SG_DryFire" FireRate=0.2 FireAnimRate=1.0 AmmoClass=Class'KFMod.BenelliAmmo' ProjectileClass=Class'KFMod.BenelliBullet' BotRefireRate=0.200000 FlashEmitterClass=Class'ROEffects.MuzzleFlash1stKar' aimerror=1.000000 Spread=1125.0//1500.000000 maxVerticalRecoilAngle=1500 maxHorizontalRecoilAngle=900 FireAimedAnim=Fire_Iron //** View shake **// ShakeOffsetMag=(X=6.0,Y=2.0,Z=10.0) ShakeOffsetRate=(X=1000.0,Y=1000.0,Z=1000.0) ShakeOffsetTime=3.0 ShakeRotMag=(X=50.0,Y=50.0,Z=400.0) ShakeRotRate=(X=12500.0,Y=12500.0,Z=12500.0) ShakeRotTime=5.0 bWaitForRelease=true bRandomPitchFireSound=false ShellEjectClass=class'ROEffects.KFShellEjectBenelli' ShellEjectBoneName=Shell_eject }