simulated function FireAmmunition()
{
local int x;
if(!WeaponFireModes[CurrentFireMode].bZoomedFireMode)
{
// if this is the local player, play the firing effects
PlayFiringSound();
// Use ammunition to fire
ConsumeAmmo( CurrentFireMode );
// Handle the different fire types
switch( WeaponFireModes[CurrentFireMode].FireType )
{
case EWFT_InstantHit:
for(x = 0; x < WeaponFireModes[CurrentFireMode].InstantHitTraces; x++)
InstantFire();
break;
case EWFT_Projectile:
ProjectileFire();
break;
case EWFT_Custom:
CustomFire();
break;
}
NotifyWeaponFired( CurrentFireMode );
if (UTPawn(Instigator) != None)
{
UTPawn(Instigator).DeactivateSpawnProtection();
}
UTInventoryManager(InvManager).OwnerEvent('FiredWeapon');
}
}