public override void ShootResiduals()
{
for (var i = FireQueue.Count / 5 + Math.Min(1, FireQueue.Count); i != 0; i--)
{
FireQueue[0].SetLaunchParameters(Owner.Position, Owner.Velocity,
Owner.Angle + Math.Cos(16 * Owner.AngleVelocity * Constants.DegreesToRadians) * Constants.MultiFireAngles[Owner.UpgradeGroup.CannonMultiFire.Level][GunIndexQueue[0]],
Constants.MultiFireOffsets[Owner.UpgradeGroup.CannonMultiFire.Level][GunIndexQueue[0]], // offset from starting position
Speed);
World.Instance.AddBullet(FireQueue[0]);
FireQueue.RemoveAt(0);
GunIndexQueue.RemoveAt(0);
}
}