[General]
{
	Name = Boss1
	GunCount = 37
}

[0]
{
	Port = 2			;gun port dummy
	Sound = 0			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 15		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 6		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 15		;ticks to cool down between consecutive shots
	Burst = 5			;shots to fire until cease

	MinAngle = -30			;start angle
	MaxAngle = 10			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.50		;start velo
	MaxVelocity = 0.50		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.2			;x energy gathered when buzzed

	Aimed = 1
}

;base eye spread
[1]
{
	Port = 0			;gun port dummy
	Sound = 6			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 2		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 8		;ticks to cool down between consecutive shots
	Burst = 7			;shots to fire until cease

	MinAngle = -5			;start angle
	MaxAngle = 5			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.20		;start velo
	MaxVelocity = 0.30		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 9000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}

[2]
{
	Port = 0			;gun port dummy
	Sound = 6			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 16		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 2		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 7		;ticks to cool down between consecutive shots
	Burst = 8			;shots to fire until cease

	MinAngle = -5			;start angle
	MaxAngle = 5			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.20		;start velo
	MaxVelocity = 0.30		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 9000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}

;blossom guns
[3]
{
	Port = 1			;gun port dummy
	Sound = 0			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 7		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 24		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 8		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.35		;start velo
	MaxVelocity = 0.35		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 10250	;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8500		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.015			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}

[4]
{
	Port = 2			;gun port dummy
	Sound = 0			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 4		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 24		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 8		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.35		;start velo
	MaxVelocity = 0.35		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 10250	;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8750		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.01			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}

;arm spread gun
[5]
{
	Port = 1			;gun port dummy
	Sound = 10			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 11		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 2		;ticks to cool down between consecutive shots
	Burst = 18			;shots to fire until cease

	MinAngle = -40			;start angle
	MaxAngle = -40			;end angle
	AngleShiftPerTick = -5.8	;angle turns x degrees in one tick
			
	MinVelocity = 0.21		;start velo
	MaxVelocity = 0.36		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 4000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed
}

[6]
{
	Port = 2			;gun port dummy
	Sound = 10			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 10		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 2		;ticks to cool down between consecutive shots
	Burst = 18			;shots to fire until cease

	MinAngle = -20			;start angle
	MaxAngle = -20			;end angle
	AngleShiftPerTick = 5.8		;angle turns x degrees in one tick
			
	MinVelocity = 0.36		;start velo
	MaxVelocity = 0.21		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 4000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.02			;x energy gathered when buzzed
}


;random spammer
[7]
{
	Port = 0			;gun port dummy
	Sound = 8			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 10		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 3		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 2		;ticks to cool down between consecutive shots
	Burst = 25			;shots to fire until cease

	MinAngle = -180			;start angle
	MaxAngle = 180			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.20		;start velo
	MaxVelocity = 0.30		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 7000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.02			;x energy gathered when buzzed
}

[8]
{
	Port = 0			;gun port dummy
	Sound = 10			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 0			;appears on form x (-1 = all)
	BulletsPerShot = 3		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 4		;ticks to cool down between consecutive shots
	Burst = 15			;shots to fire until cease

	MinAngle = -180			;start angle
	MaxAngle = 180			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.20		;start velo
	MaxVelocity = 0.35		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 7500		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.03			;x energy gathered when buzzed
}

;form2 kick in blossom

[9]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 90			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed
}

[10]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 90			;start angle
	MaxAngle = 180			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed
}

[11]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 180			;start angle
	MaxAngle = 270			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed
}

[12]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 270			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed
}

[13]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 90			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

[14]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 90			;start angle
	MaxAngle = 180			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

[15]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 180			;start angle
	MaxAngle = 270			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

[16]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 8		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 1		;ticks to cool down between consecutive shots
	Burst = 1			;shots to fire until cease

	MinAngle = 270			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.225		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 2000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

;2nd form machinegun spam

[17]
{
	Port = 2			;gun port dummy
	Sound = 3			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 16		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 2		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 12		;ticks to cool down between consecutive shots
	Burst = 7			;shots to fire until cease

	MinAngle = -10			;start angle
	MaxAngle = 10			;end angle
	AngleShiftPerTick = -0.0	;angle turns x degrees in one tick
			
	MinVelocity = 0.30		;start velo
	MaxVelocity = 0.35		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 4000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}

[18]
{
	Port = 2			;gun port dummy
	Sound = 3			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 17		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 2		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 7			;shots to fire until cease

	MinAngle = -10			;start angle
	MaxAngle = 10			;end angle
	AngleShiftPerTick = -0.0	;angle turns x degrees in one tick
			
	MinVelocity = 0.30		;start velo
	MaxVelocity = 0.35		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 4500		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.05			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}


[19]
{
	Port = 1			;gun port dummy
	Sound = 3			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 16		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 2		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 12		;ticks to cool down between consecutive shots
	Burst = 7			;shots to fire until cease

	MinAngle = -10			;start angle
	MaxAngle = 10			;end angle
	AngleShiftPerTick = 0.0		;angle turns x degrees in one tick
			
	MinVelocity = 0.30		;start velo
	MaxVelocity = 0.35		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 6000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}

[20]
{
	Port = 1			;gun port dummy
	Sound = 3			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 17		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 2		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 0		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 7			;shots to fire until cease

	MinAngle = -10			;start angle
	MaxAngle = 10			;end angle
	AngleShiftPerTick = 0.0		;angle turns x degrees in one tick
			
	MinVelocity = 0.30		;start velo
	MaxVelocity = 0.35		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 6500		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.05			;x energy gathered when buzzed

	Aimed = 1
	CanAimBackwards = 1
}

;rose spinners

[21]
{
	Port = 1			;gun port dummy
	Sound = 11			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 1		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 6		;ticks to cool down between consecutive shots
	Burst = 16			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0.5		;angle turns x degrees in one tick
			
	MinVelocity = 0.20		;start velo
	MaxVelocity = 0.20		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 9700		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.03			;x energy gathered when buzzed
}

[22]
{
	Port = 1			;gun port dummy
	Sound = 11			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 6		;ticks to cool down between consecutive shots
	Burst = 16			;shots to fire until cease

	MinAngle = 18			;start angle
	MaxAngle = 378			;end angle
	AngleShiftPerTick = 0.5		;angle turns x degrees in one tick
			
	MinVelocity = 0.20		;start velo
	MaxVelocity = 0.20		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 9700		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.04			;x energy gathered when buzzed
}

[23]
{
	Port = 1			;gun port dummy
	Sound = 11			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 10		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 6		;ticks to cool down between consecutive shots
	Burst = 12			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = -0.5	;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 12000	;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.02			;x energy gathered when buzzed
}

[24]
{
	Port = 1			;gun port dummy
	Sound = 11			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 11		;visual sprite id
	
	Form = 1			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 6		;ticks to cool down between consecutive shots
	Burst = 12			;shots to fire until cease

	MinAngle = 18			;start angle
	MaxAngle = 378			;end angle
	AngleShiftPerTick = -0.5	;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.25		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 12000	;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 10000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

;3rd form kick in blossom

;form2 kick in blossom

[25]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 90			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.045			;x energy gathered when buzzed
}

[26]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 90			;start angle
	MaxAngle = 180			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.045			;x energy gathered when buzzed
}

[27]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 180			;start angle
	MaxAngle = 270			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.045			;x energy gathered when buzzed
}

[28]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 2		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 270			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.045			;x energy gathered when buzzed
}

[29]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 90			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

[30]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 90			;start angle
	MaxAngle = 180			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

[31]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 180			;start angle
	MaxAngle = 270			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

[32]
{
	Port = 0			;gun port dummy
	Sound = 1			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 0		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 0		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 0	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 10		;ticks to cool down between consecutive shots
	Burst = 2			;shots to fire until cease

	MinAngle = 270			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0		;angle turns x degrees in one tick
			
	MinVelocity = 0.25		;start velo
	MaxVelocity = 0.275		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 1000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = -1		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.025			;x energy gathered when buzzed
}

;hell rounder
[33]
{
	Port = 0			;gun port dummy
	Sound = 13			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 10		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 20		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 3		;ticks to cool down between consecutive shots
	Burst = 64			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0.25	;angle turns x degrees in one tick
			
	MinVelocity = 0.6		;start velo
	MaxVelocity = 0.6		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 3000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.02			;x energy gathered when buzzed
}

[34]
{
	Port = 0			;gun port dummy
	Sound = 13			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 1		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 10		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 8		;ticks to cool down between consecutive shots
	Burst = 20			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0.5		;angle turns x degrees in one tick
			
	MinVelocity = 0.4		;start velo
	MaxVelocity = 0.4		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 3500		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.03			;x energy gathered when buzzed
}

;arm rounders
[35]
{
	Port = 1			;gun port dummy
	Sound = 13			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 10		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 16		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 3		;ticks to cool down between consecutive shots
	Burst = 24			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = -0.1	;angle turns x degrees in one tick
			
	MinVelocity = 0.55		;start velo
	MaxVelocity = 0.55		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 8000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.02			;x energy gathered when buzzed
}

[36]
{
	Port = 2			;gun port dummy
	Sound = 13			;sound fx id
	Muzzle = 0			;visual muzzlefire id
	VisualSprite = 10		;visual sprite id
	
	Form = 2			;appears on form x (-1 = all)
	BulletsPerShot = 16		;bullets per shot
	ConstantSpread = 1		;1 = use constant spread, 0 use gaussian spread
	ConstantVelocityRamp = 1	;constant/gaussian velocity ramp
	AbsoluteAngle = 1		;0 = adjust angle by enemy orientation, 1 = use always absolute angle values
	CooldownPerShot = 3		;ticks to cool down between consecutive shots
	Burst = 24			;shots to fire until cease

	MinAngle = 0			;start angle
	MaxAngle = 360			;end angle
	AngleShiftPerTick = 0.1		;angle turns x degrees in one tick
			
	MinVelocity = 0.55		;start velo
	MaxVelocity = 0.55		;end velo
	BaseVelocityShiftPerTick = 0	;velo changes x amount in one tick

	FirstTriggeredAt = 8000		;barrage fired after x milliseconds when enemy appears
	BarrageCooldown = 8000		;-1 = fire only once, or cooldown x ms between consecutive barrages
	
	Buzz = 0.02			;x energy gathered when buzzed
}