{
	"id":"whirlwind_cannon",  # this id must match what's in the spreadsheet
	"specClass":"projectile",
	"type":"BALLISTIC",
	"size":"LARGE",
	"displayArcRadius":800,
	"turretSprite":"graphics/NGO/weapons/Whirlwind Cannon/whirlwind_cannon_base.png",
	"turretGunSprite":"graphics/NGO/weapons/Whirlwind Cannon/whirlwind_cannon_recoil.png",
	"hardpointSprite":"graphics/NGO/weapons/Whirlwind Cannon/whirlwind_cannon_base.png",
	"hardpointGunSprite":"graphics/NGO/weapons/Whirlwind Cannon/whirlwind_cannon_recoil.png",
	"visualRecoil":9.0,  # the gun sprites are only used if this is non-0
	"renderHints":["RENDER_BARREL_BELOW"],
	"turretOffsets":[19, -5, 19, 5, 16, -9, 16, 9],
	"turretAngleOffsets":[0, 0, 0, 0],
	"hardpointOffsets":[19, -5, 19, 5, 16, -9, 16, 9],
	"hardpointAngleOffsets":[0, 0, 0, 0],
	"barrelMode":"ALTERNATING", # or LINKED.  whether barrels fire at the same time or alternate.
	"animationType":"MUZZLE_FLASH",
	"muzzleFlashSpec":{"length":16.0,   # only used if animationType = MUZZLE_FLASH
					   "spread":4.0,
					   "particleSizeMin":6.0,
					   "particleSizeRange":3.0,
					   "particleDuration":0.75,
					   "particleCount":20,
					   "particleColor":[235,160,160,80]},
	"projectileSpecId":"whirlwind_cannon_shot",  # projectile that will be fired
	"fireSoundTwo":"whirlwind_cannon_shot",
}