Files
PlanetFleet/Assets/Scripts/GameObjects/Units/unitData.lua
T
2026-03-15 15:21:11 +02:00

2892 lines
80 KiB
Lua

OrderType = {
HALT = -1,
ATTACK = 0,
BUILD = 1,
MOVE = 2,
GARRISON = 3,
EJECT = 4,
PATROL = 5,
LAUNCH = 6,
SUPPLY = 7,
LOAD = 8,
UNLOAD = 9,
HACK = 10,
FREEZE = 11
}
UnitId = {
ACS_MECH = 0,
AINC_MECH = 1,
ER_MECH = 2,
ACS_TANK = 3,
AINC_TANK = 4,
ER_TANK = 5,
ACS_ARTILLERY = 6,
AINC_ARTILLERY = 7,
ER_ARTILLERY = 8,
ACS_ROBO_ENGINEER = 9,
ACS_CYBORG_ENGINEER = 10,
AINC_ROBO_ENGINEER = 11,
AINC_CYBORG_ENGINEER = 12,
ER_ROBO_ENGINEER = 13,
ER_CYBORG_ENGINEER = 14,
ACS_TRANSPORT = 15,
AINC_TRANSPORT = 16,
ER_TRANSPORT = 17,
ACS_CARGO_SHIP = 18,
AINC_CARGO_SHIP = 19,
ER_CARGO_SHIP = 20,
ACS_ASSAULT_CRUISER = 21,
AINC_ASSAULT_CRUISER = 22,
ER_ASSAULT_CRUISER = 23,
ACS_ANTI_SUB_CRUISER = 24,
AINC_ANTI_SUB_CRUISER = 25,
ER_ANTI_SUB_CRUISER = 26,
ACS_MISSILE_SUBMARINE = 27,
AINC_MISSILE_SUBMARINE = 28,
ER_MISSILE_SUBMARINE = 29,
ACS_SUBMARINE = 30,
AINC_SUBMARINE = 31,
ER_SUBMARINE = 32,
ACS_ICEBREAKER = 33,
AINC_ICEBREAKER = 34,
ER_ICEBREAKER = 35,
FREEZER = 36,
EMP_BOAT = 37,
ACS_LAND_FACTORY = 38,
AINC_LAND_FACTORY = 39,
ER_LAND_FACTORY = 40,
ACS_NAVAL_FACTORY = 41,
AINC_NAVAL_FACTORY = 42,
ER_NAVAL_FACTORY = 43,
ACS_TRADE_CENTER = 44,
AINC_TRADE_CENTER = 45,
ER_TRADE_CENTER = 46,
ACS_LAB = 47,
AINC_LAB = 48,
ER_LAB = 49,
POINT_DEFENSE = 50,
EXTRACTOR = 51,
ACS_REFINERY = 52,
AINC_REFINERY = 53,
ER_REFINERY = 54,
ICE_SHEET = 55
}
WeaponClass = {DAMAGE = 0, FREEZE = 1}
UnitClass = {
MECH = 0,
TANK = 1,
ARTILLERY = 2,
ROBO_ENGINEER = 3,
CYBORG_ENGINEER = 4,
TRANSPORT = 5,
RESOURCE_ROVER = 6,
CRUISER = 7,
ANTI_SUB_CRUISER = 8,
CARRIER = 9,
SUBMARINE = 10,
MISSILE_SUBMARINE = 11,
ICEBREAKER = 12,
FREEZER = 13,
EMP_BOAT = 14,
LAND_FACTORY = 15,
NAVAL_FACTORY = 16,
TRADE_CENTER = 17,
LAB = 18,
POINT_DEFENSE = 19,
EXTRACTOR = 20,
REFINERY = 21,
ICE_SHEET = 22,
}
UnitType = {UNDERWATER = 0, SEA_LEVEL = 1, HOVER = 2, LAND = 3, AIR = 4}
ArmorType = {CAST = 0, COMBINED = 1, MECHANIC = 2, SHELL = 3, STEEL = 4}
vfxPrefix = "Models/VFX/"
gameObjPrefix = "Models/GameObjects/"
vehiclePrefix = gameObjPrefix .. "Units/Vehicles/"
structurePrefix = gameObjPrefix .. "Units/Structures/"
explosionVfx = {
vfx = true,
duration = 1,
offset = 100,
mesh = {
numParticles = 1,
texture = PATH .. 'Textures/Explosion/explosion07.png',
lowLife = 3,
highLife = 3,
size = {x = 10, y = 10},
}
}
explosionSfx = {
vfx = false,
offset = 100,
path = PATH .. 'Sounds/SFX/Explosions/explosion00.ogg',
duration = 2500
}
units = {
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 100,
maxRange = 14,
damage = 50,
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = 0.428, y = 5.484, z = 3.08},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'
},
},
unitHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'
},
},
landHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/landHit.ogg'
},
},
waterHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/waterHit.ogg'
},
},
}
},
unitClass = UnitClass.MECH,
unitType = UnitType.LAND,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 6, y = 9.22, z = 2.42},
hitboxOffset = {x = 0, y = 4.5, z = 0},
lineOfSight = 25,
name = 'Mech',
basePath = PATH .. vehiclePrefix .. 'Mechs/',
meshPath = 'acsMech.xml',
albedoPath = 'mech.jpg',
colorNodes = {'WarRobotTemplate.001'},
selectionSfx = PATH .. 'Sounds/Units/WarMechs/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 1,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 100,
maxRange = 14,
damage = 50,
maxFireAngle = .15,
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = 2.46, y = 3.6, z = .53},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'
},
},
unitHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'
},
},
landHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/landHit.ogg'
},
},
waterHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/waterHit.ogg'
},
},
}
},
unitClass = UnitClass.MECH,
unitType = UnitType.LAND,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 5.37, y = 6, z = 8.57},
hitboxOffset = {x = 0, y = 3.02, z = .16},
lineOfSight = 25,
name = 'Mech',
basePath = PATH .. vehiclePrefix .. 'Mechs/',
meshPath = 'aincMech.xml',
albedoPath = 'mech.jpg',
colorNodes = {'blades'},
selectionSfx = PATH .. 'Sounds/Units/WarMechs/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .01,
maxTurnAngle = .1,
garrisonCategory = 1,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 100,
maxRange = 14,
damage = 50,
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = 0, y = 4, z = 4.35},
rot = {w = 1, x = 0, y = 0, z = 0},
scale = .32
},
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'
},
},
unitHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'
},
},
landHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/landHit.ogg'
},
},
waterHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/waterHit.ogg'
},
},
}
},
unitClass = UnitClass.MECH,
unitType = UnitType.LAND,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 3.25, y = 3.86, z = 3.86},
hitboxOffset = {x = 0, y = 4.27, z = .13},
lineOfSight = 25,
name = 'Mech',
basePath = PATH .. vehiclePrefix .. 'Mechs/',
meshPath = 'erMech.xml',
albedoPath = 'mech.jpg',
colorNodes = {'stripes'},
selectionSfx = PATH .. 'Sounds/Units/WarMechs/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 1,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 1000,
damage = 200,
maxRange = 50,
maxFireAngle = .1,
nodes = {{name = 'TankASHead', rotationSpeed = .05, vertical = false}, {name = 'barell', rotationSpeed = .05, angleConstraints = {min = 0, max = .349}, vertical = true}},
projectile = {id = ProjectileId.HE_SHELL, parent = 'barell', pos = {x = 0, y = .49, z = 8.35}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'barell',
pos = {x = 0, y = .49, z = 8.35},
rot = {w = 1, x = 0, y = 0, z = 0},
scale = 1.5
}
},
--landHitFx = {explosionVfx, explosionSfx},
--unitHitFx = {explosionVfx, explosionSfx}
}
},
unitClass = UnitClass.TANK,
unitType = UnitType.LAND,
armor = {ArmorType.STEEL},
maxUnevenness = .5,
isVehicle = true,
alignToSurface = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 11.505, y = 10.3979, z = 17.1902},
hitboxOffset = {x = 0, y = 5.46, z = .86},
lineOfSight = 25,
name = 'Tank',
basePath = PATH .. vehiclePrefix .. 'Tanks/',
meshPath = 'acsTank.xml',
albedoPath = 'tank.jpg',
colorNodes = {'TankASHead'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
speed = .4,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 1000,
damage = 200,
maxRange = 250,
maxFireAngle = .1,
nodes = {{name = 'TankGun_AM', rotationSpeed = .05, vertical = false}, {name = 'barell', rotationSpeed = .05, angleConstraints = {min = -.2, max = .74}, vertical = true}},
projectile = {id = ProjectileId.HE_SHELL, parent = 'barell', pos = {x = 0.06, y = .19, z = 9.18}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'barell',
pos = {x = 0.06, y = .19, z = 9.18},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
--landHitFx = {explosionVfx, explosionSfx},
--unitHitFx = {explosionVfx, explosionSfx}
}
},
unitClass = UnitClass.TANK,
unitType = UnitType.LAND,
armor = {ArmorType.STEEL},
maxUnevenness = .5,
isVehicle = true,
alignToSurface = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 13.6, y = 6.79, z = 21.8},
hitboxOffset = {x = 0, y = 3.31, z = 0},
lineOfSight = 25,
name = 'Tank',
basePath = PATH .. vehiclePrefix .. 'Tanks/',
meshPath = 'aincTank.xml',
albedoPath = 'tank.jpg',
colorNodes = {'barell'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
speed = .4,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 1000,
damage = 200,
maxRange = 50,
maxFireAngle = .1,
nodes = {{name = 'turret', rotationSpeed = .05, vertical = false}},
projectile = {id = ProjectileId.HE_SHELL, parent = 'turret', pos = {x = 0, y = .67, z = 5}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'GunHead',
pos = {x = 0, y = .67, z = 5},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
--landHitFx = {explosionVfx, explosionSfx},
--unitHitFx = {explosionVfx, explosionSfx}
}
},
unitClass = UnitClass.TANK,
unitType = UnitType.LAND,
armor = {ArmorType.STEEL},
maxUnevenness = .5,
isVehicle = true,
alignToSurface = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 7.2, y = 10.3, z = 15},
hitboxOffset = {x = 0, y = 5.27, z = .26},
lineOfSight = 25,
name = 'Tank',
basePath = PATH .. vehiclePrefix .. 'Tanks/',
meshPath = 'erTank.xml',
albedoPath = 'tank.jpg',
colorNodes = {'GunPlatform'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
speed = .4,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 2000,
damage = 5000,
maxRange = 700,
maxFireAngle = .1,
nodes = {
{name = 'Asia_Mech.001', rotationSpeed = .05, vertical = false},
{name = 'Asia_Mech.002', rotationSpeed = .05, angleConstraints = {min = -.348, max = .785}, vertical = true}
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'Asia_Mech.002', pos = {x = 0., y = 0., z = 5.91}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = true,
duration = 50,
parent = 'Asia_Mech.002',
pos = {x = 0., y = 0., z = 5.91},
rot = {w = 1, x = 0, y = 0, z = 0},
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
--scale = .5
},
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
}
},
}
},
unitClass = UnitClass.ARTILLERY,
unitType = UnitType.LAND,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
alignToSurface = true,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 9.99, y = 15.4, z = 14.},
hitboxOffset = {x = 0, y = 7.69, z = .71},
lineOfSight = 30,
name = 'Artillery',
basePath = PATH .. vehiclePrefix .. 'Artillery/',
meshPath = 'acsArtillery.xml',
albedoPath = 'artillery.jpg',
colorNodes = {'Asia_Mech.002'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 2000,
damage = 5000,
maxRange = 70,
maxFireAngle = .1,
nodes = {
{name = 'turret', rotationSpeed = .05, vertical = false},
{name = 'barrel', rotationSpeed = .05, angleConstraints = {min = -.139, max = .279}, vertical = true}
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'barrel', pos = {x = 0., y = 0, z = 9.14}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = true,
duration = 50,
parent = 'barrel',
pos = {x = 0., y = 0, z = 9.14},
rot = {w = 1, x = 0, y = 0, z = 0},
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
--scale = .5
},
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
}
},
}
},
unitClass = UnitClass.ARTILLERY,
unitType = UnitType.LAND,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
alignToSurface = true,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 10.4, y = 14, z = 12.9},
hitboxOffset = {x = 0, y = 7, z = 1.3},
lineOfSight = 30,
name = 'Artillery',
basePath = PATH .. vehiclePrefix .. 'Artillery/',
meshPath = 'aincArtillery.xml',
albedoPath = 'artillery.jpg',
colorNodes = {'barrel'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
speed = .3,
destinationOffset = .01,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 2000,
damage = 5000,
maxRange = 70,
maxFireAngle = .1,
nodes = {
{name = 'turret', rotationSpeed = .05, vertical = false},
--{name = 'tubes', rotationSpeed = .05, vertical = true}
},
projectile = {id = ProjectileId.MISSILE, parent = 'tubes', pos = {x = 0.95, y = 2.16, z = 4.11}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = true,
duration = 50,
parent = 'tubes',
pos = {x = 0.95, y = 2.16, z = 4.11},
rot = {w = 1, x = 0, y = 0, z = 0},
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
--scale = .5
},
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/missile.ogg',
}
},
}
},
unitClass = UnitClass.ARTILLERY,
unitType = UnitType.LAND,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
alignToSurface = true,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 6.8, y = 6.8, z = 15.2},
hitboxOffset = {x = 0, y = 1, z = 0},
lineOfSight = 30,
name = 'Artillery',
basePath = PATH .. vehiclePrefix .. 'Artillery/',
meshPath = 'artillery.xml',
albedoPath = 'artillery.jpg',
colorNodes = {'turret'},
selectionSfx = PATH .. 'Sounds/Units/Tanks/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 2,
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.ACS_LAND_FACTORY, buildable = true, trigger = 76},
{id = UnitId.ACS_NAVAL_FACTORY, buildable = true, trigger = 78},
{id = UnitId.ACS_TRADE_CENTER, buildable = true, trigger = 77},
{id = UnitId.ACS_LAB, buildable = true, trigger = 84},
{id = UnitId.ACS_REFINERY, buildable = true, trigger = 82},
{id = UnitId.POINT_DEFENSE, buildable = true, trigger = 80},
{id = UnitId.EXTRACTOR, buildable = true, trigger = 69},
},
unitClass = UnitClass.ROBO_ENGINEER,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
hackRange = 200,
buildTime = 1000,
hackTime = 1000,
cost = 500,
size = {x = 2.43, y = 2.43, z = 2.47},
hitboxOffset = {x = 0, y = 1.21, z = 0},
lineOfSight = 500,
name = 'Engineer',
basePath = PATH .. vehiclePrefix .. 'Engineers/',
albedoPath = 'engineer.jpg',
colorNodes = {'Cube'},
meshPath = 'acsRoboEngineer.xml',
selectionSfx = PATH .. 'Sounds/Units/Engineers/selection.ogg',
speed = .5,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.HACK,
rateOfFire = 100,
maxRange = 150,
damage = 0,
}
},
buildableUnits = {
{id = UnitId.ACS_LAND_FACTORY, buildable = true, trigger = 76},
{id = UnitId.ACS_NAVAL_FACTORY, buildable = true, trigger = 78},
{id = UnitId.ACS_TRADE_CENTER, buildable = true, trigger = 77},
{id = UnitId.ACS_LAB, buildable = true, trigger = 84},
{id = UnitId.ACS_REFINERY, buildable = true, trigger = 82},
{id = UnitId.POINT_DEFENSE, buildable = true, trigger = 80},
{id = UnitId.EXTRACTOR, buildable = true, trigger = 69},
},
abilityButtons = {{buttonType = ButtonType.ORDER, name = 'Hack', orderType = OrderType.HACK}},
unitClass = UnitClass.CYBORG_ENGINEER,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
hackRange = 200,
buildTime = 1000,
hackTime = 1000,
cost = 500,
size = {x = 4.95, y = 6.59, z = 4.11},
hitboxOffset = {x = .178, y = 3.27, z = 0},
lineOfSight = 200,
name = 'Engineer',
basePath = PATH .. vehiclePrefix .. 'Engineers/',
albedoPath = 'engineer.jpg',
colorNodes = {'Engineer_Asia.001'},
meshPath = 'acsCyborgEngineer.xml',
selectionSfx = PATH .. 'Sounds/Units/Engineers/selection.ogg',
speed = .5,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.AINC_LAND_FACTORY, buildable = true, trigger = 76},
{id = UnitId.AINC_NAVAL_FACTORY, buildable = true, trigger = 78},
{id = UnitId.AINC_TRADE_CENTER, buildable = true, trigger = 77},
{id = UnitId.AINC_LAB, buildable = true, trigger = 84},
{id = UnitId.AINC_REFINERY, buildable = true, trigger = 82},
{id = UnitId.POINT_DEFENSE, buildable = true, trigger = 80},
{id = UnitId.EXTRACTOR, buildable = true, trigger = 69},
},
unitClass = UnitClass.ROBO_ENGINEER,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
hackRange = 200,
buildTime = 1000,
hackTime = 1000,
cost = 500,
size = {x = 2, y = 2, z = 4.14},
hitboxOffset = {x = 0, y = 1.02, z = .19},
lineOfSight = 200,
name = 'Engineer',
basePath = PATH .. vehiclePrefix .. 'Engineers/',
albedoPath = 'engineer.jpg',
colorNodes = {'EngineerAM.001'},
meshPath = 'aincRoboEngineer.xml',
selectionSfx = PATH .. 'Sounds/Units/Engineers/selection.ogg',
speed = .5,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.HACK,
rateOfFire = 100,
maxRange = 150,
damage = 0,
}
},
buildableUnits = {
{id = UnitId.AINC_LAND_FACTORY, buildable = true, trigger = 76},
{id = UnitId.AINC_NAVAL_FACTORY, buildable = true, trigger = 78},
{id = UnitId.AINC_TRADE_CENTER, buildable = true, trigger = 77},
{id = UnitId.AINC_LAB, buildable = true, trigger = 84},
{id = UnitId.AINC_REFINERY, buildable = true, trigger = 82},
{id = UnitId.POINT_DEFENSE, buildable = true, trigger = 80},
{id = UnitId.EXTRACTOR, buildable = true, trigger = 69},
},
abilityButtons = {{buttonType = ButtonType.ORDER, name = 'Hack', orderType = OrderType.HACK}},
unitClass = UnitClass.CYBORG_ENGINEER,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
hackRange = 200,
buildTime = 1000,
hackTime = 1000,
cost = 500,
size = {x = 3.12, y = 5.31, z = 2.82},
hitboxOffset = {x = 0, y = 2.83, z = .4},
lineOfSight = 200,
name = 'Engineer',
basePath = PATH .. vehiclePrefix .. 'Engineers/',
albedoPath = 'engineer.jpg',
colorNodes = {'Cube.001'},
meshPath = 'aincCyborgEngineer.xml',
selectionSfx = PATH .. 'Sounds/Units/Engineers/selection.ogg',
speed = .5,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.ER_LAND_FACTORY, buildable = true, trigger = 76},
{id = UnitId.ER_NAVAL_FACTORY, buildable = true, trigger = 78},
{id = UnitId.ER_TRADE_CENTER, buildable = true, trigger = 77},
{id = UnitId.ER_LAB, buildable = true, trigger = 84},
{id = UnitId.ER_REFINERY, buildable = true, trigger = 82},
{id = UnitId.POINT_DEFENSE, buildable = true, trigger = 80},
{id = UnitId.EXTRACTOR, buildable = true, trigger = 69},
},
unitClass = UnitClass.ROBO_ENGINEER,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
hackRange = 200,
buildTime = 1000,
hackTime = 1000,
cost = 500,
size = {x = 3, y = 2.74, z = 2.97},
hitboxOffset = {x = 0, y = 1.41, z = 1},
lineOfSight = 200,
name = 'Engineer',
basePath = PATH .. vehiclePrefix .. 'Engineers/',
albedoPath = 'engineer.jpg',
colorNodes = {'Cube.001'},
meshPath = 'erRoboEngineer.xml',
selectionSfx = PATH .. 'Sounds/Units/Engineers/selection.ogg',
speed = .5,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.HACK,
rateOfFire = 100,
maxRange = 150,
damage = 0,
}
},
buildableUnits = {
{id = UnitId.ER_LAND_FACTORY, buildable = true, trigger = 76},
{id = UnitId.ER_NAVAL_FACTORY, buildable = true, trigger = 78},
{id = UnitId.ER_TRADE_CENTER, buildable = true, trigger = 77},
{id = UnitId.ER_LAB, buildable = true, trigger = 84},
{id = UnitId.ER_REFINERY, buildable = true, trigger = 82},
{id = UnitId.POINT_DEFENSE, buildable = true, trigger = 80},
{id = UnitId.EXTRACTOR, buildable = true, trigger = 69},
},
abilityButtons = {{buttonType = ButtonType.ORDER, name = 'Hack', orderType = OrderType.HACK}},
unitClass = UnitClass.CYBORG_ENGINEER,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
isVehicle = true,
health = 500,
hackRange = 200,
buildTime = 1000,
hackTime = 1000,
cost = 500,
size = {x = 3.65, y = 5.71, z = 3.86},
hitboxOffset = {x = 0, y = 2.9, z = .55},
lineOfSight = 200,
name = 'Engineer',
basePath = PATH .. vehiclePrefix .. 'Engineers/',
albedoPath = 'engineer.jpg',
colorNodes = {'Rig.001'},
meshPath = 'erCyborgEngineer.xml',
selectionSfx = PATH .. 'Sounds/Units/Engineers/selection.ogg',
speed = .5,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {{name = 'turret', rotationSpeed = .05, vertical = false}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = 2.23, y = 4.16, z = 23},
rot = {w = 1, x = 0, y = 0, z = 0},
parent = 'turret'
--scale = .5
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = -2.23, y = 4.16, z = 23},
rot = {w = 1, x = 0, y = 0, z = 0},
parent = 'turret'
--scale = .5
},
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'
},
},
unitHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'
},
},
landHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/landHit.ogg'
},
},
waterHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/waterHit.ogg'
},
},
}
},
unitClass = UnitClass.TRANSPORT,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
alignToSurface = true,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
garrisonCapacity = {2, 2, 2},
size = {x = 16.5, y = 15.2, z = 45.8},
hitboxOffset = {x = 0, y = 7, z = 0},
lineOfSight = 5,
colorNodes = {'Cube.002'},
name = 'Transport',
basePath = PATH .. vehiclePrefix .. 'Transports/',
meshPath = 'acsTransport.xml',
albedoPath = 'transport.jpg',
selectionSfx = PATH .. 'Sounds/Units/Transports/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {{name = 'turret', rotationSpeed = .05, vertical = false}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = 0, y = 4.4, z = 15.6},
rot = {w = 1, x = 0, y = 0, z = 0},
parent = 'turret'
--scale = .5
},
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'
},
},
unitHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'
},
},
landHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/landHit.ogg'
},
},
waterHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/waterHit.ogg'
},
},
}
},
unitClass = UnitClass.TRANSPORT,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
alignToSurface = true,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
garrisonCapacity = {2, 2, 2},
size = {x = 24.4, y = 15.8, z = 49.2},
hitboxOffset = {x = 0, y = 7, z = 0},
lineOfSight = 5,
colorNodes = {'turret'},
name = 'Transport',
basePath = PATH .. vehiclePrefix .. 'Transports/',
meshPath = 'aincTransport.xml',
albedoPath = 'transport.jpg',
selectionSfx = PATH .. 'Sounds/Units/Transports/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {{name = 'turret', rotationSpeed = .05, vertical = false}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = 0, y = 13, z = 12},
rot = {w = 1, x = 0, y = 0, z = 0},
parent = 'turret'
--scale = .5
},
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'
},
},
unitHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'
},
},
landHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/landHit.ogg'
},
},
waterHitFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/waterHit.ogg'
},
},
}
},
unitClass = UnitClass.TRANSPORT,
unitType = UnitType.HOVER,
armor = {ArmorType.MECHANIC},
maxUnevenness = .5,
alignToSurface = true,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
garrisonCapacity = {2, 2, 2},
size = {x = 17.7, y = 9.3, z = 57},
hitboxOffset = {x = 0, y = 4.8, z = 1},
lineOfSight = 5,
colorNodes = {'turret'},
name = 'Transport',
basePath = PATH .. vehiclePrefix .. 'Transports/',
meshPath = 'erTransport.xml',
albedoPath = 'transport.jpg',
selectionSfx = PATH .. 'Sounds/Units/Transports/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {},
abilityButtons = {
{buttonType = ButtonType.ORDER, name = 'Supply', orderType = OrderType.SUPPLY},
{buttonType = ButtonType.ORDER, name = 'Load', orderType = OrderType.LOAD},
{buttonType = ButtonType.ORDER, name = 'Unload', orderType = OrderType.UNLOAD},
},
unitClass = UnitClass.RESOURCE_ROVER,
unitType = UnitType.HOVER,
armor = {ArmorType.CAST},
maxUnevenness = .5,
alignToSurface = true,
capacity = 3000,
loadRate = 1,
loadSpeed = 5,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 8.66, y = 5.12, z = 30.3},
hitboxOffset = {x = 0, y = 2.65, z = 0},
lineOfSight = 5,
name = 'Cargo ship',
colorNodes = {'Cargo'},
basePath = PATH .. vehiclePrefix .. 'Cargoships/',
meshPath = 'acsCargoShip.xml',
albedoPath = 'cargoship.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cargoships/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {},
abilityButtons = {
{buttonType = ButtonType.ORDER, name = 'Supply', orderType = OrderType.SUPPLY},
{buttonType = ButtonType.ORDER, name = 'Load', orderType = OrderType.LOAD},
{buttonType = ButtonType.ORDER, name = 'Unload', orderType = OrderType.UNLOAD},
},
unitClass = UnitClass.RESOURCE_ROVER,
unitType = UnitType.HOVER,
armor = {ArmorType.CAST},
maxUnevenness = .5,
alignToSurface = true,
capacity = 1000,
loadRate = 1,
loadSpeed = 5,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 8.66, y = 5.12, z = 30.3},
hitboxOffset = {x = 0, y = 2.65, z = 0},
lineOfSight = 5,
name = 'Cargo ship',
colorNodes = {'Cargo'},
basePath = PATH .. vehiclePrefix .. 'Cargoships/',
meshPath = 'aincCargoShip.xml',
albedoPath = 'cargoship.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cargoships/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {},
abilityButtons = {
{buttonType = ButtonType.ORDER, name = 'Supply', orderType = OrderType.SUPPLY},
{buttonType = ButtonType.ORDER, name = 'Load', orderType = OrderType.LOAD},
{buttonType = ButtonType.ORDER, name = 'Unload', orderType = OrderType.UNLOAD},
},
unitClass = UnitClass.RESOURCE_ROVER,
unitType = UnitType.HOVER,
armor = {ArmorType.CAST},
maxUnevenness = .5,
alignToSurface = true,
capacity = 3000,
loadRate = 1,
loadSpeed = 5,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 8.66, y = 5.12, z = 30.3},
hitboxOffset = {x = 0, y = 2.65, z = 0},
lineOfSight = 5,
name = 'Cargo ship',
colorNodes = {'Cargo'},
basePath = PATH .. vehiclePrefix .. 'Cargoships/',
meshPath = 'erCargoShip.xml',
albedoPath = 'cargoship.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cargoships/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'FrontTurret', rotationSpeed = .05, angleConstraints = {min = -2.53, max = 2.53}, vertical = false},
{name = 'FrontTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.174, max = .174}, vertical = true}
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'FrontTurretBarrel',
pos = {x = 0., y = 5.7, z = 23},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'RearTurret', rotationSpeed = .05, angleConstraints = {min = -2.53, max = 2.53}, vertical = false},
{name = 'FrontTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.174, max = .174}, vertical = true}
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'RearTurretBarrel',
pos = {x = 0., y = 5.7, z = 23},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 70,
nodes = {{name = 'AATuret', rotationSpeed = .05, vertical = false}, {name = 'aaBarrels', angleConstraints = {min = 0, max = .8}, rotationSpeed = .05, vertical = true}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'aaBarrels',
pos = {x = 1.46, y = 0, z = 12.5},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'aaBarrels',
pos = {x = -1.46, y = 0, z = 12.5},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'},
},
unitHitFx = {{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'}},
},
},
unitClass = UnitClass.CRUISER,
unitType = UnitType.SEA_LEVEL,
armor = {ArmorType.STEEL},
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 18.9, y = 37.5, z = 96.1},
hitboxOffset = {x = 0, y = 11.465, z = 3.05},
lineOfSight = 50,
colorNodes = {'AATuret'},
name = 'Assault cruiser',
basePath = PATH .. vehiclePrefix .. 'Cruisers/',
meshPath = 'heavyAssaultCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {{name = 'frontTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44}, vertical = false}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'frontTurret',
pos = {x = 0., y = 2.9, z = 18},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {{name = 'rearTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44}, vertical = false}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'rearTurret',
pos = {x = 0., y = 2.9, z = 18},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {{name = 'frontAATurret', rotationSpeed = .05, vertical = false}, {name = 'frontAATurretBarrel', rotationSpeed = .05, vertical = true}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'frontAATurretBarrel',
pos = {x = 0, y = 0, z = 13.9},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'},
},
unitHitFx = {{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'}},
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {{name = 'rearAATurret', rotationSpeed = .05, vertical = false}, {name = 'rearAATurretBarrel', rotationSpeed = .05, vertical = true}},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'rearAATurretBarrel',
pos = {x = 0, y = 0, z = 15},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'},
},
unitHitFx = {{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'}},
},
},
unitClass = UnitClass.CRUISER,
unitType = UnitType.SEA_LEVEL,
armor = {ArmorType.STEEL},
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 21.2, y = 26.3, z = 85.8},
hitboxOffset = {x = 0, y = 6.92, z = .66},
lineOfSight = 5,
colorNodes = {'frontAATurret', 'rearAATurret'},
name = 'Assault cruiser',
basePath = PATH .. vehiclePrefix .. 'Cruisers/',
meshPath = 'mediumAssaultCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'frontTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44}, vertical = false},
{name = 'frontTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.2267, max = .2267}, vertical = true},
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'frontTurretBarrel',
pos = {x = 0., y = 2.8, z = 11},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'rearTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44}, vertical = false},
{name = 'rearTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.2267, max = .2267}, vertical = true},
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'rearTurretBarrel',
pos = {x = 0., y = 2.8, z = 11},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'aaTurret', rotationSpeed = .05, vertical = false},
{name = 'aaTurretBarrels', rotationSpeed = .05, angleConstraints = {min = 0, max = .523}, vertical = true}
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'aaTurretBarrels',
pos = {x = .86, y = 0, z = 9.09},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'aaTurretBarrels',
pos = {x = -.86, y = 0, z = 9.09},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/fire.ogg'},
},
unitHitFx = {{vfx = false, duration = 500, path = PATH .. 'Sounds/Units/WarMechs/unitHit.ogg'}},
},
},
unitClass = UnitClass.CRUISER,
unitType = UnitType.SEA_LEVEL,
armor = {ArmorType.STEEL},
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 21.1, y = 22.6, z = 67.3},
hitboxOffset = {x = 0, y = 6.42, z = 3.2},
lineOfSight = 5,
colorNodes = {'aaTurret'},
name = 'Assault cruiser',
basePath = PATH .. vehiclePrefix .. 'Cruisers/',
meshPath = 'lightAssaultCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 2000,
damage = 10,
maxRange = 100,
targetUnits = {UnitType.UNDERWATER},
targetProjectiles = {},
fireDir = {x = 0, y = -1, z = 0},
projectile = {id = ProjectileId.DEPTH_CHARGE, parent = 'hull', pos = {x = 0, y = -2, z = 0}, rot = {w = .707, x = .707, y = 0, z = 0}},
fireFx = {
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Submarines/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
minRange = 10,
maxRange = 500,
maxFireAngle = .01,
nodes = {
{name = 'FrontTurret', rotationSpeed = .05, angleConstraints = {min = -2.53, max = 2.53}, vertical = false},
{name = 'FrontTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.174, max = .174}, vertical = true}
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'FrontTurretBarrel',
pos = {x = 0., y = 0, z = 10.5},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
minRange = 10,
maxRange = 500,
maxFireAngle = .01,
nodes = {
{name = 'RearTurret', rotationSpeed = .05, angleConstraints = {min = -2.53, max = 2.53}, vertical = false},
{name = 'RearTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.174, max = .174}, vertical = true}
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {size = {x = .16, y = .16}, color = {x = 1, y = 0, z = 0, a = 1}},
parent = 'RearTurretBarrel',
pos = {x = 0., y = 0, z = 10.5},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
},
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Cruisers/fire.ogg'}
},
hitFx = {}
},
},
unitClass = UnitClass.ANTI_SUB_CRUISER,
unitType = UnitType.SEA_LEVEL,
armor = {ArmorType.STEEL},
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 6.93, y = 17.7, z = 76.1},
hitboxOffset = {x = 0, y = 4.77, z = 0},
lineOfSight = 100,
colorNodes = {'FrontTurret', 'RearTurret'},
name = 'Anti sub cruiser',
basePath = PATH .. vehiclePrefix .. 'Cruisers/',
meshPath = 'acsAntiSubCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 2000,
damage = 10,
maxRange = 100,
targetUnits = {UnitType.UNDERWATER},
targetProjectiles = {},
fireDir = {x = 0, y = -1, z = 0},
projectile = {id = ProjectileId.DEPTH_CHARGE, parent = 'Cruiser', pos = {x = 0, y = -2, z = 0}, rot = {w = .707, x = .707, y = 0, z = 0}},
fireFx = {
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Submarines/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'frontTurret', rotationSpeed = .05, angleConstraints = {min = -2.26, max = 2.26}, vertical = false},
{name = 'frontTurretBarrels', rotationSpeed = .05, angleConstraints = {min = -.1395, max = .348}, vertical = true}
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'frontTurret', pos = {x = 0.52, y = .83, z = 4.16}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'frontTurretBarrels',
pos = {x = 0.52, y = .83, z = 4.16},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'middleTurret', rotationSpeed = .05, vertical = false},
{name = 'middleTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.0872, max = .209}, vertical = true}
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'middleTurret', pos = {x = 0, y = 1.8, z = 7.45}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'middleTurretBarrel',
pos = {x = 0, y = 1.8, z = 7.45},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'rearTurret', rotationSpeed = .05, angleConstraints = {min = -2.79, max = 2.79}, vertical = false},
{name = 'rearTurretBarrel', rotationSpeed = .05, angleConstraints = {min = -.0872, max = .209}, vertical = true}
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'rearTurret', pos = {x = 0, y = 1.8, z = 7.45}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'rearTurret',
pos = {x = 0, y = 1.8, z = 7.45},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
},
},
unitClass = UnitClass.ANTI_SUB_CRUISER,
unitType = UnitType.SEA_LEVEL,
armor = {ArmorType.STEEL},
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 9.09, y = 13.6, z = 66.6},
hitboxOffset = {x = 0, y = .88, z = 0},
lineOfSight = 100,
colorNodes = {'sides'},
name = 'Anti sub cruiser',
basePath = PATH .. vehiclePrefix .. 'Cruisers/',
meshPath = 'aincAntiSubCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 2000,
damage = 10,
maxRange = 100,
targetUnits = {UnitType.UNDERWATER},
targetProjectiles = {},
fireDir = {x = 0, y = -1, z = 0},
projectile = {id = ProjectileId.DEPTH_CHARGE, parent = 'Gunship', pos = {x = 0, y = -2, z = 0}, rot = {w = .707, x = .707, y = 0, z = 0}},
fireFx = {
{vfx = false, duration = 50, path = PATH .. 'Sounds/Units/Submarines/fire.ogg'}
},
hitFx = {}
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'frontLowerTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44} , vertical = false},
{name = 'frontLowerTurretBarrels', rotationSpeed = .05, angleConstraints = {min = 0, max = .785}, vertical = true},
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'frontLowerTurret', pos = {x = .42, y = 1.68, z = 4.14}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'frontLowerTurretBarrels',
pos = {x = .42, y = 1.68, z = 4.14},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'frontUpperTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44} , vertical = false},
{name = 'frontUpperTurretBarrels', rotationSpeed = .05, angleConstraints = {min = 0, max = .785}, vertical = true},
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'frontUpperTurret', pos = {x = .42, y = 1.68, z = 4.14}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'frontUpperTurretBarrels',
pos = {x = .42, y = 1.68, z = 4.14},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'rearLowerTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44} , vertical = false},
{name = 'rearLowerTurretBarrels', rotationSpeed = .05, angleConstraints = {min = 0, max = .785}, vertical = true},
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'rearLowerTurret', pos = {x = .42, y = 1.68, z = 4.14}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'rearLowerTurretBarrels',
pos = {x = .42, y = 1.68, z = 4.14},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
},
{
orderType = OrderType.ATTACK,
rateOfFire = 200,
damage = 10,
maxRange = 50,
nodes = {
{name = 'rearUpperTurret', rotationSpeed = .05, angleConstraints = {min = -2.44, max = 2.44} , vertical = false},
{name = 'rearUpperTurretBarrels', rotationSpeed = .05, angleConstraints = {min = 0, max = .785}, vertical = true},
},
projectile = {id = ProjectileId.HE_SHELL, parent = 'rearUpperTurret', pos = {x = .42, y = 5.82, z = 11.4}, rot = {w = 1, x = 0, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
parent = 'rearUpperTurretBarrels',
pos = {x = .42, y = 1.68, z = 4.14},
rot = {w = 1, x = 0, y = 0, z = 0},
--scale = .5
}
},
},
},
unitClass = UnitClass.ANTI_SUB_CRUISER,
unitType = UnitType.SEA_LEVEL,
armor = {ArmorType.STEEL},
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 6.59, y = 8.6, z = 71.8},
hitboxOffset = {x = 0, y = 1.11, z = .84},
lineOfSight = 100,
colorNodes = {'Gunship.001'},
name = 'Anti sub cruiser',
basePath = PATH .. vehiclePrefix .. 'Cruisers/',
meshPath = 'erAntiSubCruiser.xml',
albedoPath = 'cruiser.jpg',
selectionSfx = PATH .. 'Sounds/Units/Cruisers/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 1000,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/fire.ogg',
}
},
damage = 200,
maxRange = 200,
projectile = {id = ProjectileId.TORPEDO, pos = {x = 0, y = -.27, z = 4.6}, rot = {w = 1, x = 0, y = 0, z = 0}}
},
{
orderType = OrderType.LAUNCH,
rateOfFire = 500,
maxRange = 30,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/missile.ogg',
}
},
projectile = {id = ProjectileId.CRUISE_MISSILE, pos = {x = 0, y = 15, z = -3.5}, rot = {w = .707, x = -.707, y = 0, z = 0}}
},
},
unitClass = UnitClass.MISSILE_SUBMARINE,
unitType = UnitType.UNDERWATER,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 9.29, y = 11.6, z = 32.9},
hitboxOffset = {x = 0, y = 1.8, z = -1.3},
lineOfSight = 50,
name = 'Missile submarine',
basePath = PATH .. vehiclePrefix .. 'Submarines/',
meshPath = 'acsMissileSubmarine.xml',
albedoPath = 'submarine.jpg',
colorNodes = {'Cube.001'},
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 1000,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/fire.ogg',
}
},
damage = 200,
maxRange = 20,
projectile = {id = ProjectileId.TORPEDO, pos = {x = 0, y = -.27, z = 4.6}, rot = {w = 1, x = 0, y = 0, z = 0}}
},
{
orderType = OrderType.LAUNCH,
rateOfFire = 500,
maxRange = 30,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/missile.ogg',
}
},
projectile = {id = ProjectileId.CRUISE_MISSILE, pos = {x = 0, y = 15, z = -3.5}, rot = {w = .707, x = -.707, y = 0, z = 0}}
},
},
unitClass = UnitClass.MISSILE_SUBMARINE,
unitType = UnitType.UNDERWATER,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
hitboxOffset = {x = 0, y = 1.83, z = 0},
size = {x = 8.32, y = 12.1, z = 57.4},
lineOfSight = 50,
name = 'Missile submarine',
basePath = PATH .. vehiclePrefix .. 'Submarines/',
meshPath = 'aincMissileSubmarine.xml',
albedoPath = 'submarine.jpg',
colorNodes = {'Cube.001'},
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 1000,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/fire.ogg',
}
},
damage = 200,
maxRange = 20,
projectile = {id = ProjectileId.TORPEDO, pos = {x = 0, y = -.27, z = 4.6}, rot = {w = 1, x = 0, y = 0, z = 0}}
},
{
orderType = OrderType.LAUNCH,
rateOfFire = 500,
maxRange = 30,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/missile.ogg',
}
},
projectile = {id = ProjectileId.CRUISE_MISSILE, pos = {x = 0, y = 15, z = -3.5}, rot = {w = .707, x = -.707, y = 0, z = 0}}
},
},
unitClass = UnitClass.MISSILE_SUBMARINE,
unitType = UnitType.UNDERWATER,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 7.9, y = 10.7, z = 63},
hitboxOffset = {x = 0, y = 2.29, z = -1.09},
lineOfSight = 500,
name = 'Missile submarine',
basePath = PATH .. vehiclePrefix .. 'Submarines/',
meshPath = 'erMissileSubmarine.xml',
albedoPath = 'submarine.jpg',
colorNodes = {'Sphere.001'},
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
projectile = {id = ProjectileId.TORPEDO, pos = {x = 0, y = -.27, z = 4.6}, rot = {w = 1, x = 0, y = 0, z = 0}},
damage = 200,
maxRange = 200,
rateOfFire = 500,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/fire.ogg',
}
},
}
},
unitClass = UnitClass.SUBMARINE,
unitType = UnitType.UNDERWATER,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 9.29, y = 11.6, z = 32.9},
hitboxOffset = {x = 0, y = 1.8, z = -1.3},
lineOfSight = 0,
name = 'Stealth submarine',
colorNodes = {'Cube.001'},
basePath = PATH .. vehiclePrefix .. 'Submarines/',
meshPath = 'acsSubmarine.xml',
albedoPath = 'submarine.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .2,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
projectile = {id = ProjectileId.TORPEDO, pos = {x = 0, y = -.27, z = 4.6}, rot = {w = 1, x = 0, y = 0, z = 0}},
damage = 200,
maxRange = 20,
rateOfFire = 500,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/fire.ogg',
}
},
}
},
unitClass = UnitClass.SUBMARINE,
unitType = UnitType.UNDERWATER,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
hitboxOffset = {x = 0, y = 1.83, z = -3.46},
size = {x = 8.32, y = 12.1, z = 57.4},
lineOfSight = 0,
name = 'Stealth submarine',
colorNodes = {'Cube.001'},
basePath = PATH .. vehiclePrefix .. 'Submarines/',
meshPath = 'aincSubmarine.xml',
albedoPath = 'submarine.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
projectile = {id = ProjectileId.TORPEDO, pos = {x = 0, y = -.27, z = 4.6}, rot = {w = 1, x = 0, y = 0, z = 0}},
damage = 200,
maxRange = 20,
rateOfFire = 500,
fireFx = {
{
vfx = false,
duration = 2500,
path = PATH .. 'Sounds/Units/Submarines/fire.ogg',
}
},
}
},
unitClass = UnitClass.SUBMARINE,
unitType = UnitType.UNDERWATER,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
hitboxOffset = {x = 0, y = 1.03, z = -1.41},
size = {x = 5.37, y = 7.66, z = 43},
lineOfSight = 0,
name = 'Stealth submarine',
colorNodes = {'Sphere.001'},
basePath = PATH .. vehiclePrefix .. 'Submarines/',
meshPath = 'erSubmarine.xml',
albedoPath = 'submarine.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.ICEBREAKER,
unitType = UnitType.SEA_LEVEL,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 19.6, y = 23.9, z = 79},
hitboxOffset = {x = 0, y = 6.7, z = 0},
lineOfSight = 25,
name = 'Icebreaker',
colorNodes = {'Cube.001'},
basePath = PATH .. vehiclePrefix .. 'Icebreakers/',
meshPath = 'acsIcebreaker.xml',
albedoPath = 'icebreaker.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.ICEBREAKER,
unitType = UnitType.SEA_LEVEL,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 24.2, y = 24.5, z = 75.7},
hitboxOffset = {x = 0, y = 7.6, z = 5.88},
lineOfSight = 25,
name = 'Icebreaker',
colorNodes = {'Cube.001'},
basePath = PATH .. vehiclePrefix .. 'Icebreakers/',
meshPath = 'aincIcebreaker.xml',
albedoPath = 'icebreaker.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.ICEBREAKER,
unitType = UnitType.SEA_LEVEL,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 23.3, y = 25.8, z = 75.8},
hitboxOffset = {x = 0, y = 6.71, z = 5.95},
lineOfSight = 25,
name = 'Icebreaker',
colorNodes = {'Cube.001'},
basePath = PATH .. vehiclePrefix .. 'Icebreakers/',
meshPath = 'erIcebreaker.xml',
albedoPath = 'icebreaker.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
type = WeaponClass.FREEZE,
orderType = OrderType.ATTACK,
rateOfFire = 100,
maxRange = 30,
damage = 0,
nodes = {
{name = 'turret', rotationSpeed = .05, vertical = false},
{name = 'barrel', rotationSpeed = .05, angleConstraints = {min = -.523, max = .523}, vertical = true},
},
fireFx = {
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/SFX/Freezing/freeze.ogg'
},
},
unitHitFx = {},
landHitFx = {},
waterHitFx = {},
}
},
buildableUnits = {{id = UnitId.ICE_SHEET, buildable = true, trigger = 83}},
unitClass = UnitClass.FREEZER,
unitType = UnitType.SEA_LEVEL,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 20.3, y = 12.5, z = 56.2},
hitboxOffset = {x = 0, y = 4.7, z = 0},
lineOfSight = 25,
name = 'Freezer',
colorNodes = {'CryoGun'},
basePath = PATH .. vehiclePrefix .. 'Freezers/',
meshPath = 'freezer.xml',
albedoPath = 'freezer.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .3,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 1000,
damage = 0,
maxRange = 25,
maxFireAngle = .1,
nodes = {{name = 'turret', rotationSpeed = .05, vertical = false}},
projectile = {id = ProjectileId.EMP_SHELL, parent = 'turret', pos = {x = 0.06, y = 5.82, z = 11.4}, rot = {w = .998, x = -.066, y = 0, z = 0}},
fireFx = {
{
vfx = false,
duration = 300,
path = PATH .. 'Sounds/Units/Tanks/attack.ogg',
},
},
}
},
unitClass = UnitClass.EMP_BOAT,
unitType = UnitType.SEA_LEVEL,
isVehicle = true,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 7.3, y = 7.15, z = 37.9},
hitboxOffset = {x = 0, y = 1.13, z = 1.83},
lineOfSight = 25,
name = 'EMP boat',
colorNodes = {'turret'},
basePath = PATH .. vehiclePrefix .. 'EMPShips/',
meshPath = 'empShip.xml',
albedoPath = 'empShip.jpg',
selectionSfx = PATH .. 'Sounds/Units/Submarines/selection.ogg',
speed = .1,
destinationOffset = .1,
anglePrecision = .1,
maxTurnAngle = .1,
garrisonCategory = 3,
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.ACS_MECH, buildable = true, trigger = 87},
{id = UnitId.ACS_TANK, buildable = true, trigger = 84},
{id = UnitId.ACS_ARTILLERY, buildable = true, trigger = 65},
{id = UnitId.ACS_CARGO_SHIP, buildable = true, trigger = 82},
{id = UnitId.ACS_ROBO_ENGINEER, buildable = true, trigger = 85},
{id = UnitId.ACS_CYBORG_ENGINEER, buildable = true, trigger = 86}
},
unitClass = UnitClass.LAND_FACTORY,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 38.5, y = 34, z = 38.5},
hitboxOffset = {x = 0, y = 16.7, z = .0},
lineOfSight = 5,
colorNodes = {'ring'},
name = 'Land factory',
albedoPath = 'factory.jpg',
basePath = PATH .. structurePrefix .. 'LandFactories/',
meshPath = 'acsFactory.xml',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.AINC_MECH, buildable = true, trigger = 87},
{id = UnitId.AINC_TANK, buildable = true, trigger = 84},
{id = UnitId.AINC_ARTILLERY, buildable = true, trigger = 65},
{id = UnitId.AINC_CARGO_SHIP, buildable = true, trigger = 82},
{id = UnitId.AINC_ROBO_ENGINEER, buildable = true, trigger = 85},
{id = UnitId.AINC_CYBORG_ENGINEER, buildable = true, trigger = 86}
},
unitClass = UnitClass.LAND_FACTORY,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 26.8, y = 22.3, z = 26},
hitboxOffset = {x = -.94, y = 6.09, z = .95},
lineOfSight = 5,
colorNodes = {'Cube.002'},
name = 'Land factory',
albedoPath = 'factory.jpg',
basePath = PATH .. structurePrefix .. 'LandFactories/',
meshPath = 'aincFactory.xml',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.ER_MECH, buildable = true, trigger = 87},
{id = UnitId.ER_TANK, buildable = true, trigger = 84},
{id = UnitId.ER_ARTILLERY, buildable = true, trigger = 65},
{id = UnitId.ER_CARGO_SHIP, buildable = true, trigger = 82},
{id = UnitId.ER_ROBO_ENGINEER, buildable = true, trigger = 85},
{id = UnitId.ER_CYBORG_ENGINEER, buildable = true, trigger = 86}
},
unitClass = UnitClass.LAND_FACTORY,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 31.4, y = 15.9, z = 29.1},
hitboxOffset = {x = 0, y = 7.92, z = .48},
lineOfSight = 5,
colorNodes = {'Sphere.001'},
name = 'Land factory',
albedoPath = 'factory.jpg',
basePath = PATH .. structurePrefix .. 'LandFactories/',
meshPath = 'erFactory.xml',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.ACS_ASSAULT_CRUISER, buildable = true, trigger = 76},
{id = UnitId.ACS_ANTI_SUB_CRUISER, buildable = true, trigger = 78},
{id = UnitId.ACS_MISSILE_SUBMARINE, buildable = true, trigger = 77},
{id = UnitId.ACS_SUBMARINE, buildable = true, trigger = 84},
{id = UnitId.ACS_CARGO_SHIP, buildable = true, trigger = 80},
{id = UnitId.ACS_ROBO_ENGINEER, buildable = true, trigger = 82},
{id = UnitId.ACS_ICEBREAKER, buildable = true, trigger = 69},
{id = UnitId.ACS_TRANSPORT, buildable = true, trigger = 70},
},
unitClass = UnitClass.NAVAL_FACTORY,
unitType = UnitType.SEA_LEVEL,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 142, y = 70, z = 122},
hitboxOffset = {x = 0, y = 28.4, z = -29},
lineOfSight = 5,
name = 'Naval factory',
basePath = PATH .. structurePrefix .. 'NavalFactories/',
meshPath = 'acsFactory.xml',
colorNodes = {'stripes'},
albedoPath = 'factory.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.AINC_ASSAULT_CRUISER, buildable = true, trigger = 76},
{id = UnitId.AINC_ANTI_SUB_CRUISER, buildable = true, trigger = 78},
{id = UnitId.AINC_MISSILE_SUBMARINE, buildable = true, trigger = 77},
{id = UnitId.AINC_SUBMARINE, buildable = true, trigger = 84},
{id = UnitId.AINC_CARGO_SHIP, buildable = true, trigger = 80},
{id = UnitId.AINC_ICEBREAKER, buildable = true, trigger = 69},
{id = UnitId.AINC_ROBO_ENGINEER, buildable = true, trigger = 82},
{id = UnitId.AINC_TRANSPORT, buildable = true, trigger = 70},
},
unitClass = UnitClass.NAVAL_FACTORY,
unitType = UnitType.SEA_LEVEL,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 131, y = 39, z = 109},
hitboxOffset = {x = 0, y = 18, z = 0},
lineOfSight = 5,
name = 'Naval factory',
colorNodes = {'roof'},
basePath = PATH .. structurePrefix .. 'NavalFactories/',
meshPath = 'aincFactory.xml',
albedoPath = 'factory.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
buildableUnits = {
{id = UnitId.ER_ASSAULT_CRUISER, buildable = true, trigger = 76},
{id = UnitId.ER_ANTI_SUB_CRUISER, buildable = true, trigger = 78},
{id = UnitId.ER_MISSILE_SUBMARINE, buildable = true, trigger = 77},
{id = UnitId.ER_SUBMARINE, buildable = true, trigger = 84},
{id = UnitId.ER_CARGO_SHIP, buildable = true, trigger = 80},
{id = UnitId.ER_ICEBREAKER, buildable = true, trigger = 69},
{id = UnitId.EMP_BOAT, buildable = true, trigger = 81},
{id = UnitId.FREEZER, buildable = true, trigger = 83},
{id = UnitId.ER_ROBO_ENGINEER, buildable = true, trigger = 82},
{id = UnitId.ER_TRANSPORT, buildable = true, trigger = 70},
},
unitClass = UnitClass.NAVAL_FACTORY,
unitType = UnitType.SEA_LEVEL,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 107, y = 30, z = 87},
hitboxOffset = {x = 0, y = 10, z = -14},
lineOfSight = 5,
name = 'Naval factory',
colorNodes = {'building'},
basePath = PATH .. structurePrefix .. 'NavalFactories/',
meshPath = 'erFactory.xml',
albedoPath = 'factory.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.TRADE_CENTER,
unitType = UnitType.LAND,
abilityButtons = {
{buttonType = ButtonType.BUY_REFINEDS, name = 'Buy ref', trigger = 73},
{buttonType = ButtonType.SELL_REFINEDS, name = 'Sell ref', trigger = 79},
{buttonType = ButtonType.BUY_RESEARCH, name = 'Buy rsch', trigger = 75},
{buttonType = ButtonType.SELL_RESEARCH, name = 'Sell rsch', trigger = 76}
},
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 25.3, y = 78.4, z = 25.3},
hitboxOffset = {x = 0, y = 35.7, z = 0},
lineOfSight = 5,
colorNodes = {'wall'},
name = 'Trade center',
basePath = PATH .. structurePrefix .. 'TradeCenters/',
meshPath = 'acsTradeCenter.xml',
albedoPath = 'tradeCenter.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.TRADE_CENTER,
unitType = UnitType.LAND,
abilityButtons = {
{buttonType = ButtonType.BUY_REFINEDS, name = 'Buy ref', trigger = 73},
{buttonType = ButtonType.SELL_REFINEDS, name = 'Sell ref', trigger = 79},
{buttonType = ButtonType.BUY_RESEARCH, name = 'Buy rsch', trigger = 75},
{buttonType = ButtonType.SELL_RESEARCH, name = 'Sell rsch', trigger = 76}
},
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 25.4, y = 103, z = 25.4},
hitboxOffset = {x = 0, y = 51.4, z = 0},
lineOfSight = 5,
colorNodes = {'Cube.001'},
name = 'Trade center',
basePath = PATH .. structurePrefix .. 'TradeCenters/',
meshPath = 'aincTradeCenter.xml',
albedoPath = 'tradeCenter.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.TRADE_CENTER,
unitType = UnitType.LAND,
abilityButtons = {
{buttonType = ButtonType.BUY_REFINEDS, name = 'Buy ref', trigger = 73},
{buttonType = ButtonType.SELL_REFINEDS, name = 'Sell ref', trigger = 79},
{buttonType = ButtonType.BUY_RESEARCH, name = 'Buy rsch', trigger = 75},
{buttonType = ButtonType.SELL_RESEARCH, name = 'Sell rsch', trigger = 76}
},
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 17.7, y = 92.4, z = 17.7},
hitboxOffset = {x = 0, y = 46.7, z = 0},
lineOfSight = 5,
colorNodes = {'sphere'},
name = 'Trade center',
basePath = PATH .. structurePrefix .. 'TradeCenters/',
meshPath = 'erTradeCenter.xml',
albedoPath = 'tradeCenter.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.LAB,
unitType = UnitType.LAND,
maxUnevenness = .5,
abilityButtons = {{buttonType = ButtonType.ACTIVE_STATE, name = 'Tech tree', guiScreen = 'acsTechTree.lua'}},
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 29.4, y = 21., z = 29.8},
hitboxOffset = {x = 0, y = 10.5, z = 0},
lineOfSight = 50,
generationRate = 100,
generationSpeed = 10,
researchCost = 1,
name = 'Lab',
colorNodes = {'stripes'},
basePath = PATH .. structurePrefix .. 'Labs/',
meshPath = 'acsLab.xml',
albedoPath = 'lab.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.LAB,
unitType = UnitType.LAND,
maxUnevenness = .5,
abilityButtons = {{buttonType = ButtonType.ACTIVE_STATE, name = 'Tech tree', guiScreen = 'aincTechTree.lua'}},
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 49.3, y = 37.4, z = 49.3},
hitboxOffset = {x = 0, y = 18.6, z = 0},
lineOfSight = 50,
generationRate = 100,
generationSpeed = 10,
researchCost = 1,
name = 'Lab',
colorNodes = {'stripe'},
basePath = PATH .. structurePrefix .. 'Labs/',
meshPath = 'aincLab.xml',
albedoPath = 'lab.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.LAB,
unitType = UnitType.LAND,
maxUnevenness = .5,
abilityButtons = {{buttonType = ButtonType.ACTIVE_STATE, name = 'Tech tree', guiScreen = 'erTechTree.lua'}},
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 37.7, y = 18.7, z = 42.8},
hitboxOffset = {x = 0, y = 9.6, z = 2.9},
lineOfSight = 50,
generationRate = 100,
generationSpeed = 10,
researchCost = 1,
name = 'Lab',
colorNodes = {'stripes'},
basePath = PATH .. structurePrefix .. 'Labs/',
meshPath = 'erLab.xml',
albedoPath = 'lab.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
weapons = {
{
orderType = OrderType.ATTACK,
rateOfFire = 100,
damage = 7,
maxRange = 100,
maxFireAngle = .4,
nodes = {
{name = 'TurretBody', rotationSpeed = .1, vertical = false},
{name = 'TurretArms', rotationSpeed = .1, angleConstraints = {min = 0, max = 1.1}, vertical = true}
},
fireFx = {
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = 1.4, y = -.18, z = 5.4},
rot = {w = 1, x = 0, y = 0, z = 0},
parent = 'LeftBarrel'
--scale = .5
},
{
vfx = true,
duration = 50,
mesh = {
path = PATH .. vfxPrefix .. 'muzzleFlash.xml',
color = {x = 1, y = 1, z = 0, a = 1},
},
pos = {x = -1.4, y = -.18, z = 5.4},
rot = {w = 1, x = 0, y = 0, z = 0},
parent = 'RightBarrel'
--scale = .5
},
{
vfx = false,
duration = 500,
path = PATH .. 'Sounds/Units/WarMechs/fire.ogg',
},
},
hitFx = {}
}
},
unitClass = UnitClass.POINT_DEFENSE,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
size = {x = 5, y = 8, z = 5},
hitboxOffset = {x = 0, y = 4, z = 0},
lineOfSight = 55,
name = 'Point defense',
colorNodes = {'Hoses', 'Hoses.001'},
turretNode = 'TurretBody',
basePath = PATH .. structurePrefix .. 'PointDefenses/',
meshPath = 'pointDefense2.xml',
albedoPath = 'pointDefense.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.EXTRACTOR,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
drawRate = 1,
drawSpeed = 5,
cost = 500,
colorNodes = {'Cube.001'},
hitboxOffset = {x = 0, y = 3, z = 0},
size = {x = 9.72, y = 10.14, z = 9.72},
lineOfSight = 5,
name = 'Extractor',
basePath = PATH .. structurePrefix .. 'Extractors/',
meshPath = 'extractor.xml',
albedoPath = 'extractor.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.REFINERY,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
colorNodes = {'chimneys'},
size = {x = 20.2, y = 29.9, z = 31.4},
hitboxOffset = {x = 0, y = 15.1, z = 1.85},
lineOfSight = 5,
name = 'Refinery',
basePath = PATH .. structurePrefix .. 'Refineries/',
meshPath = 'acsRefinery.xml',
albedoPath = 'refinery.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.REFINERY,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
colorNodes = {'chimneys'},
size = {x = 32.7, y = 34.1, z = 48.6},
hitboxOffset = {x = 0, y = 15.2, z = 0},
lineOfSight = 5,
name = 'Refinery',
basePath = PATH .. structurePrefix .. 'Refineries/',
meshPath = 'aincRefinery.xml',
albedoPath = 'refinery.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.REFINERY,
unitType = UnitType.LAND,
maxUnevenness = .5,
isVehicle = false,
health = 500,
buildTime = 1000,
cost = 500,
colorNodes = {'chimneys'},
size = {x = 24.6, y = 27.3, z = 31.4},
hitboxOffset = {x = 0, y = 13.95, z = 3.23},
lineOfSight = 5,
name = 'Refinery',
basePath = PATH .. structurePrefix .. 'Refineries/',
meshPath = 'erRefinery.xml',
albedoPath = 'refinery.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
},
{
unitClass = UnitClass.ICE_SHEET,
unitType = UnitType.SEA_LEVEL,
isVehicle = false,
health = 1000,
size = {x = 7, y = 1.5, z = 7},
hitboxOffset = {x = 0, y = 0, z = 0},
lineOfSight = 5,
name = 'Ice sheet',
basePath = PATH .. structurePrefix .. 'IceSheets/',
meshPath = 'iceSheet.xml',
albedoPath = 'iceSheet.jpg',
selectionSfx = PATH .. 'Sounds/Units/Sample/selection.ogg',
deathFx = {explosionVfx, explosionSfx},
}
}