.variant:
{
"displayName":"Attack",
"hullId":"ex2_red_tempest",
"variantId":"ex2_red_tempest_Attack",
"fluxVents":0,
"fluxCapacitors":0,
"mods":[], # array of strings
# mode is either LINKED or ALTERNATING
# slot ids (WS ***) must match what's in the .ship file
"weaponGroups":[
{"mode":"LINKED",
"weapons":{
"WS 001":"AA_double",
"WS 002":"AA_double",
},
},
],
}
AA_double.wpn:
{
"id":"AA_double", # this id must match what's in the spreadsheet
"specClass":"projectile",
"type":"BALLISTIC",
"size":"MEDIUM",
"displayArcRadius":400,
"turretSprite":"graphics/ex2/weapons/AA_base.png",
"turretGunSprite":"graphics/ex2/weapons/AA_cannon.png",
"hardpointSprite":"graphics/ex2/weapons/AA_Hardpoint.png",
"hardpointGunSprite":"graphics/ex2/weapons/AA_cannon.png",
"visualRecoil":2.0, # the gun sprites are only used if this is non-0
"renderHints":[RENDER_BARREL_BELOW],
"turretOffsets":[18, -7, 18, 7],
"turretAngleOffsets":[0, 0],
"hardpointOffsets":[5,5,5,5],
"hardpointAngleOffsets":[0, 0],
"barrelMode":"LINKED", # or LINKED. whether barrels fire at the same time or alternate.
"animationType":"MUZZLE_FLASH", # NONE, GLOW, MUZZLE_FLASH, SMOKE
"muzzleFlashSpec":{"length":40.0, # only used if animationType = MUZZLE_FLASH
"spread":25.0,
"particleSizeMin":8.0,
"particleSizeRange":8.0,
"particleDuration":0.12,
"particleCount":46,
"particleColor":[255,155,75,245]},
"projectileSpecId":"dualflak_shot", # projectile that will be fired
"fireSoundTwo":"gun_light_flak",
}