//
//=============================================================================
class BullpupBurstFire extends BullpupFire;

var() int BurstLength; //How many bullets to fire in one burst
var() float BurstRate; //Time between shots (should be smaller than FireRate).
var bool bBursting;
var int RoundsToFire;

event ModeDoFire()
{
	if(bBursting && RoundsToFire > 0)
		RoundsToFire--;

	//If not already firing, start a burst.
	if(!bBursting && AllowFire())
	{
		bBursting = true;
		RoundsToFire = BurstLength;
		SetTimer(BurstRate, true);
	}
	if(RoundsToFire < 1)
	{
		SetTimer(0, false);
		RoundsToFire = 0;
		bBursting = false;
		return;
	}
	Super.ModeDoFire();
}


simulated function Timer()
{
	if(bBursting)
		ModeDoFire();
	else SetTimer(0,false);
}

defaultproperties
{
     BurstLength=4
     BurstRate=0.1
     DamageMin=16
     DamageMax=26
     Momentum=10000.000000
    // bWaitForRelease=True
     TransientSoundVolume=1.8
     FireEndAnim=
     FireRate=0.5
     RecoilRate=0.07
     ShakeRotMag=(X=20.000000,Y=150.000000,Z=20.000000)
     ShakeOffsetMag=(X=1.000000,Y=1.000000,Z=1.000000)
     BotRefireRate=1.000000
     aimerror=50.000000


}
