@@ -1,37 +1,33 @@
-- UNITDEF -- EALLTERRASSAULT_t2 --
-- UNITDEF -- EALLTERRASSAULT --
--------------------------------------------------------------------------------

local unitName = "eallterrassault_t2"
-- local unitName = "eallterrassault"

--------------------------------------------------------------------------------

local buildCostMetal = 60
local maxDamage = 400 * 1.20
-- local buildCostMetal = 60
-- local maxDamage = 400

local tech = [[tech1]]
local armortype = [[armored]]
local supply = [[8]]
-- local tech = [[tech1]]
-- local armortype = [[armored]]
-- local supply = [[8]]

local weapon1Damage = 150 * 1.20
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
-- local weapon1Damage = 150
-- local weapon1AOE = 1
-- local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end
-- local function roundToFirstDecimal(energycosttofire)
-- return math.floor(energycosttofire*10 + 0.5)*0.1
-- end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**
-- local

unitDef = {

acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
buildCostMetal = 60,
builder = false,
buildTime = 5,
canAttack = true,
@@ -67,24 +63,25 @@ local unitDef = {
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxDamage = 400,
maxVelocity = 2.4,
maxReverseVelocity = 1,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK6",
name = "Anvil Upgraded",
name = humanName,
noChaseCategory = "VTOL",
objectName = "eallterrassault.s3o",
script = "eallterrassault.cob",
objectName = objectName,
script = script,
radarDistance = 0,
repairable = false,
selfDestructAs = "hugeExplosionGeneric",
shootme = "1",
sightDistance = 1100,
sightDistance = 1200,
smoothAnim = true,
stealth = true,
seismicSignature = 2,
transportbyenemy = false;
turnInPlace = true,
turnRate = 5000,
unitname = unitName,
@@ -118,7 +115,8 @@ local unitDef = {
},
},
customParams = {
unittype = "mobile",
-- unittype = "mobile",
isupgraded = isUpgraded,
canbetransported = "true",
needed_cover = 4,
death_sounds = "generic",
@@ -129,21 +127,21 @@ local unitDef = {
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
-- helptext = [[Armortype: ]] ..armortype.. [[

This unit can only fire at buildings!
-- This unit can only fire at buildings!

Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
-- Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
weaponDefs = {
assaulttankcannon = {
AreaOfEffect = weapon1AOE,
AreaOfEffect = 1,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
@@ -152,15 +150,15 @@ local weaponDefs = {
coreThickness = 0.6,
-- cegTag = "mediumcannonweapon3",
duration = 0.2,
energypershot = energycosttofire,
energypershot = 0,
explosionGenerator = "custom:genericshellexplosion-large-purple",
fallOffRate = 1,
fireStarter = 100,
impulseFactor = 0,
interceptedByShieldType = 4,
minintensity = "1",
name = "Laser",
range = 1100,
range = 1200,
reloadtime = 3,
WeaponType = "LaserCannon",
rgbColor = "0.5 0 1",
@@ -175,22 +173,14 @@ local weaponDefs = {
turret = true,
weaponVelocity = 2000,
customparams = {
isupgraded = isUpgraded,
damagetype = "eallterrassault",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
default = 150,
},
},
}
unitDef.weaponDefs = weaponDefs


--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------

@@ -1,37 +1,33 @@
-- UNITDEF -- EALLTERRHEAVY_t2 --
-- UNITDEF -- EALLTERRHEAVY --
--------------------------------------------------------------------------------

local unitName = "eallterrheavy_t2"
-- local unitName = "eallterrheavy"

--------------------------------------------------------------------------------

local buildCostMetal = 64
local maxDamage = 545 * 1.20
-- local buildCostMetal = 64
-- local maxDamage = 545

local tech = [[tech2]]
local armortype = [[armored]]
local supply = [[6]]
-- local tech = [[tech2]]
-- local armortype = [[armored]]
-- local supply = [[6]]

local weapon1Damage = 125 * 1.20
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
-- local weapon1Damage = 125
-- local weapon1AOE = 1
-- local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end
-- local function roundToFirstDecimal(energycosttofire)
-- return math.floor(energycosttofire*10 + 0.5)*0.1
-- end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**
-- local

unitDef = {

acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
buildCostMetal = 64,
builder = false,
buildTime = 5,
canAttack = true,
@@ -55,7 +51,7 @@ local unitDef = {

-- End Cloaking

description =[[Unit Type: Tank Destroyer • Uses +]] .. supply .. [[ Supply]],
description =[[Tank Destroyer • Uses +]] .. supply .. [[ Supply]],
energyMake = 0,
energyStorage = 0,
energyUse = 0,
@@ -67,17 +63,17 @@ local unitDef = {
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxDamage = 545,
maxVelocity = 2.8,
turninplacespeedlimit = 2.8,
maxReverseVelocity = 1,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK4",
name = "Sledge Upgraded",
name = humanName,
noChaseCategory = "VTOL",
objectName = "eallterrheavy2.s3o",
script = "eallterrheavy.cob",
objectName = objectName,
script = script,
radarDistance = 0,
repairable = false,
selfDestructAs = "largeExplosionGenericGreen",
@@ -86,6 +82,7 @@ local unitDef = {
smoothAnim = true,
stealth = true,
seismicSignature = 2,
transportbyenemy = false;
turnInPlace = true,
turnRate = 5000,
unitname = unitName,
@@ -116,12 +113,13 @@ local unitDef = {
weapons = {
[1] = {
def = "heavytankweapon",
onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
-- onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
badTargetCategory = "BUILDING WALL",
},
},
customParams = {
unittype = "mobile",
-- unittype = "mobile",
isupgraded = isUpgraded,
canbetransported = "true",
needed_cover = 3,
death_sounds = "generic",
@@ -131,21 +129,21 @@ local unitDef = {
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
factionname = "outer_colonies",
-- helptext = [[Armortype: ]] ..armortype.. [[
--
-- Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
weaponDefs = {
heavytankweapon = {

AreaOfEffect = weapon1AOE,
AreaOfEffect = 1,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
@@ -155,7 +153,7 @@ local weaponDefs = {
coreThickness = 0.5,
-- cegTag = "mediumcannonweapon3",
duration = 0.1,
energypershot = energycosttofire,
energypershot = 0,
explosionGenerator = "custom:genericshellexplosion-medium-green",
fallOffRate = 1,
fireStarter = 50,
@@ -179,22 +177,14 @@ local weaponDefs = {
turret = true,
weaponVelocity = 1000,
customparams = {
isupgraded = isUpgraded,
damagetype = "eallterrheavy",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
default = 125,
},
},
}
unitDef.weaponDefs = weaponDefs


--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------

}
@@ -1,26 +1,7 @@
-- UNITDEF -- EALLTERRLIGHT_t2 --
-- UNITDEF -- EALLTERRLIGHT DEFFOS FOR INHERITANCE --
--------------------------------------------------------------------------------

local unitName = "eallterrlight_t2"

--------------------------------------------------------------------------------

local buildCostMetal = 22
local maxDamage = 245 * 1.20

local tech = [[tech1]]
local armortype = [[light]]
local supply = [[2]]

local weapon1Damage = 50 * 1.20
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end

local unitDef = {
unitDef = {

--mobileunit
transportbyenemy = false;
@@ -31,7 +12,7 @@ local unitDef = {
acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
buildCostMetal = 22,
builder = false,
buildTime = 5,
canAttack = true,
@@ -67,17 +48,17 @@ local unitDef = {
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxDamage = 245,
maxVelocity = 5.5,
maxReverseVelocity = 2,
turninplacespeedlimit = 5.5,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK4",
name = "Recluse Upgraded",
name = humanName,
noChaseCategory = "VTOL",
objectName = "eallterrlight2.s3o",
script = "eallterrlight.cob",
objectName = objectName,
script = script,
radarDistance = 0,
repairable = false,
selfDestructAs = "smallExplosionGeneric",
@@ -118,7 +99,7 @@ local unitDef = {
},
},
customParams = {
unittype = "mobile",
isupgraded = isUpgraded,
canbetransported = "true",
needed_cover = 1,
death_sounds = "generic",
@@ -129,27 +110,27 @@ local unitDef = {
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
-- helptext = [[Armortype: ]] ..armortype.. [[

Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
-- Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
weaponDefs = {
lighttankweapon = {

AreaOfEffect = weapon1AOE,
AreaOfEffect = 1,
avoidFeature = false,
avoidFriendly = false,
collideFeature = false,
collideFriendly = false,
coreThickness = 0.3,
duration = 0.1,
energypershot = energycosttofire,
energypershot = 0,
explosionGenerator = "custom:genericshellexplosion-small-blue",
fallOffRate = 1,
fireStarter = 50,
@@ -172,21 +153,14 @@ local weaponDefs = {
turret = true,
weaponVelocity = 2000,
customparams = {
isupgraded = isUpgraded,
damagetype = "eallterrlight",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
default = 50,
},
},
}
unitDef.weaponDefs = weaponDefs


--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
@@ -1,26 +1,28 @@
-- UNITDEF -- EALLTERRMED_t2 --
-- UNITDEF -- EALLTERRMED STUFF TO INHERIT --
--------------------------------------------------------------------------------

local unitName = "eallterrmed_t2"
-- local unitName = "eallterrmed"

--------------------------------------------------------------------------------

local buildCostMetal = 44
local maxDamage = 500 * 1.20
-- local buildCostMetal = 44
-- local maxDamage = 500

local tech = [[tech2]]
local armortype = [[armored]]
local supply = [[4]]
-- local tech = [[tech2]]
-- local armortype = [[armored]]
-- local supply = [[4]]

local weapon1Damage = 200 * 1.20
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
-- local weapon1Damage = 200
-- local weapon1AOE = 1
-- local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end
-- local function roundToFirstDecimal(energycosttofire)
-- return math.floor(energycosttofire*10 + 0.5)*0.1
-- end

local unitDef = {
-- local

unitDef = {

--mobileunit
transportbyenemy = false;
@@ -31,7 +33,7 @@ local unitDef = {
acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
buildCostMetal = 44,
builder = false,
buildTime = 5,
canAttack = true,
@@ -66,7 +68,7 @@ local unitDef = {
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxDamage = 500,
maxSlope = 180,
maxVelocity = 3.5,
maxReverseVelocity = 1,
@@ -75,10 +77,10 @@ local unitDef = {
metalStorage = 0,
mobilestandorders = "1",
movementClass = "ALLTERRTANK4",
name = "Basher Upgraded",
name = humanName,
noChaseCategory = "VTOL",
objectName = "eallterrmed2.s3o",
script = "eallterrmed.cob",
objectName = objectName,
script = script,
radarDistance = 0,
repairable = false,
selfDestructAs = "mediumExplosionGenericPurple",
@@ -88,7 +90,7 @@ local unitDef = {
seismicSignature = 2,
turnInPlace = true,
turnRate = 5000,
unitname = unitName,
unitname = "eallterrmed",
upright = false,
workerTime = 0,
sfxtypes = {
@@ -115,12 +117,12 @@ local unitDef = {
weapons = {
[1] = {
def = "mediumtankcannon",
onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
-- onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
badTargetCategory = "BUILDING LIGHT WALL",
},
},
customParams = {
unittype = "mobile",
isupgraded = isUpgraded,
canbetransported = "true",
needed_cover = 2,
death_sounds = "generic",
@@ -131,20 +133,21 @@ local unitDef = {
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[

-- helptext = [[Armortype: ]] ..armortype.. [[

Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
-- Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
weaponDefs = {
mediumtankcannon = {

AreaOfEffect = weapon1AOE,
AreaOfEffect = 1,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
@@ -154,7 +157,7 @@ local weaponDefs = {
coreThickness = 0.5,
-- cegTag = "mediumcannonweapon3",
duration = 0.1,
energypershot = energycosttofire,
energypershot = 0,
explosionGenerator = "custom:genericshellexplosion",
fallOffRate = 1,
fireStarter = 50,
@@ -178,22 +181,23 @@ local weaponDefs = {
turret = true,
weaponVelocity = 1000,
customparams = {
isupgraded = isUpgraded,
damagetype = "eallterrmed",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
default = 200,
},
},

}
unitDef.weaponDefs = weaponDefs
-- unitDef.weaponDefs = weaponDefs


--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })
-- return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
@@ -1,45 +1,41 @@
-- UNITDEF -- EALLTERRRIOT_t2 --
-- UNITDEF -- EALLTERRRIOT --
--------------------------------------------------------------------------------

local unitName = "eallterrriot_t2"
-- local unitName = "eallterrriot"

--------------------------------------------------------------------------------

local buildCostMetal = 27
local maxDamage = 400 * 1.20
-- local buildCostMetal = 27
-- local maxDamage = 400

local tech = [[tech1]]
local armortype = [[light]]
local supply = [[3]]
-- local tech = [[tech1]]
-- local armortype = [[light]]
-- local supply = [[3]]

local weapon1Damage = 200 * 1.20
local weapon1AOE = 250
local weapon2Damage = 75 * 1.20
local weapon2AOE = 100
local weapon2Projectiles = 10
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
local energycosttofire2 = weapon2Damage / 10 * ((weapon2AOE / 1000) + 1) * weapon2Projectiles
-- local weapon1Damage = 200
-- local weapon1AOE = 250
-- local weapon2Damage = 75
-- local weapon2AOE = 100
-- local weapon2Projectiles = 10
-- local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
-- local energycosttofire2 = weapon2Damage / 10 * ((weapon2AOE / 1000) + 1) * weapon2Projectiles

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end
-- local function roundToFirstDecimal(energycosttofire)
-- return math.floor(energycosttofire*10 + 0.5)*0.1
-- end
--
-- local function roundToFirstDecimal(energycosttofire2)
-- return math.floor(energycosttofire2*10 + 0.5)*0.1
-- end

local function roundToFirstDecimal(energycosttofire2)
return math.floor(energycosttofire2*10 + 0.5)*0.1
end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**
-- local

unitDef = {

acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
buildCostMetal = 27,
builder = false,
buildTime = 5,
canAttack = true,
@@ -75,25 +71,26 @@ local unitDef = {
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxDamage = 400,
maxSlope = 180,
maxVelocity = 4.5,
maxReverseVelocity = 1,
turninplacespeedlimit = 3.3,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK4",
name = "Mossberg Upgraded",
name = humanName,
noChaseCategory = "VTOL",
objectName = "eallterrriot2.s3o",
script = "eallterrriot.cob",
objectName = objectName,
script = script,
radarDistance = 0,
repairable = false,
selfDestructAs = "mediumExplosionGenericRed",
sightDistance = 500,
smoothAnim = true,
stealth = true,
seismicSignature = 2,
transportbyenemy = false;
turnInPlace = true,
turnRate = 5000,
unitname = unitName,
@@ -133,7 +130,7 @@ local unitDef = {
},
},
customParams = {
unittype = "mobile",
isupgraded = isUpgraded,
canbetransported = "true",
needed_cover = 2,
death_sounds = "generic",
@@ -143,27 +140,28 @@ local unitDef = {
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
factionname = "outer_colonies",

-- helptext = [[Armortype: ]] ..armortype.. [[

Paralyzes enemy units
Projectile can hit multiple units
--Paralyzes enemy units
--Projectile can hit multiple units

Alternate fire mode fires 10 projectiles in a shotgun spread with a small area of effect. Reduced damage vs buildings when in shotgun mode.
--Alternate fire mode fires 10 projectiles in a shotgun spread with a small area of effect. Reduced damage vs buildings when in shotgun mode.

Energy cost to fire EMP: ]] .. roundToFirstDecimal(energycosttofire) .. [[
Energy cost to fire Shotgun: ]] .. roundToFirstDecimal(energycosttofire2),
--Energy cost to fire EMP: ]] .. roundToFirstDecimal(energycosttofire) .. [[
--Energy cost to fire Shotgun: ]] .. roundToFirstDecimal(energycosttofire2),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
weaponDefs = {
riottankempweapon = {

AreaOfEffect = weapon1AOE,
AreaOfEffect = 250,
avoidFeature = false,
avoidFriendly = false,
collideFeature = false,
@@ -198,19 +196,20 @@ local weaponDefs = {
turret = true,
weaponVelocity = 1000,
customparams = {
isupgraded = isUpgraded,
damagetype = "eallterrriot",
nofriendlyfire = 1,

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
default = 200,
},
},

riottankshotgun = {
AreaOfEffect = weapon2AOE,
AreaOfEffect = 100,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
@@ -222,7 +221,7 @@ local weaponDefs = {
interceptedByShieldType = 4,
impulseFactor = 0,
name = "Light Cannon",
projectiles = weapon2Projectiles,
projectiles = 10,
range = 450,
reloadtime = 5,
weaponType = "Cannon",
@@ -233,18 +232,19 @@ local weaponDefs = {
turret = true,
weaponVelocity = 400,
customparams = {
isupgraded = isUpgraded,
damagetype = "eallterrriotshotgun",
},
damage = {
default = weapon2Damage,
default = 75,
},
},
}
unitDef.weaponDefs = weaponDefs
-- unitDef.weaponDefs = weaponDefs


--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })
-- return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
@@ -0,0 +1,107 @@
-- ALL TERRAIN FACTORY : DEFFOS FOR INHERITING

unitDef = {

activatewhenbuilt = false,
buildAngle = 1024,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = true,
buildTime = 5,
canBeAssisted = true,
canGuard = true,
canMove = true,
canPatrol = true,
canReclaim = false,
canstop = true,
category = "BUILDING NOTAIR",

collisionVolumeOffsets = "0 60 0",
collisionVolumeScales = "298 142 168",
collisionVolumeTest = 1,
collisionVolumeType = "box",

corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 0,
minCloakDistance = 250,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

-- description = [[Build a Tech Facility to unlock units. Build Supply Depots to increase your army size.
-- Armortype: ]] ..armortype,
description = [[poopoo]],
energyStorage = 0,
energyUse = 0,
energyMake = 0,
explodeAs = "MEXPOP2",
footprintX = 22,
footprintZ = 22,
iconType = "factory",
idleAutoHeal = .5,
idleTime = 2200,
maxDamage = maxDamage,
maxSlope = 90,
maxWaterDepth = 0,
metalStorage = 0,
metalMake = 0,
name = humanName,
objectName = objectName,
script = script,
radarDistance = 0,
repairable = false,
selfDestructAs = "LARGE_BUILDING",
showNanoSpray = true,
sightDistance = 388,
smoothAnim = true,
TEDClass = "PLANT",
unitname = unitName,
-- unitRestricted = 1,
workerTime = 1,
yardMap = "oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo",
-- usePieceCollisionVolumes = true,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:nanoorb",
"custom:nano",
"custom:blacksmoke",
"custom:fusionreactionbasic",
},
},
buildoptions = AllTerrainFactoryBuildList,
sounds = {
underattack = "unitsunderattack1",
select = {
"gdfactoryselect",
},
},
customParams = {
unittype = "building",
death_sounds = "generic",
armortype = "building",
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
-- ProvideTech = "1 Powergrid",
-- ProvideTechRange = "1500",
-- groundtexselectimg = ":nc:bitmaps/power/powergrid.png",
-- groundtexselectxsize = 1500, -- optional
-- groundtexselectzsize = 1500, -- optional
},
useGroundDecal = true,
BuildingGroundDecalType = "factorygroundplate.dds",
BuildingGroundDecalSizeX = 27,
BuildingGroundDecalSizeY = 27,
BuildingGroundDecalDecaySpeed = 0.9,
}
@@ -1,281 +1,26 @@
-- UNITDEF -- eallterranarchid --
-- UNITDEF -- eallterranarchid -- Anarchid --
--------------------------------------------------------------------------------

local unitName = "eallterranarchid"
unitName = "eallterranarchid"

--------------------------------------------------------------------------------

local buildCostMetal = 225
local maxDamage = 2750
isUpgraded = [[0]]

local tech = [[tech3]]
local armortype = [[armored]]
local supply = [[12]]
humanName = [[Anarchid]]

local weapon1Damage = 300
local weapon1AOE = 10
local weapon2Damage = 25
local weapon2AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
local energycosttofire2 = weapon2Damage / 10 * ((weapon2AOE / 1000) + 1)
objectName = "eallterranarchid.s3o"
script = "eallterranarchid.cob"

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end

local function roundToFirstDecimal(energycosttofire2)
return math.floor(energycosttofire2*10 + 0.5)*0.1
end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**


acceleration = 0.18,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = false,
buildTime = 5,
canAttack = true,

canGuard = true,
canMove = true,
canPatrol = true,
canstop = "1",
cantBeTransported = true,
category = "ARMORED NOTAIR SKIRMISHER",
corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 0,
cloakCostMoving = 1,
minCloakDistance = 150,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

description =[[Unit Type: Endbringer Class Base Assault Walker • Uses +]] .. supply .. [[ Supply]],
energyMake = 0,
energyStorage = 0,
energyUse = 0,
explodeAs = "krabblast",
firestandorders = "1",
footprintX = 6,
footprintZ = 6,
iconType = "anarchid",
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxVelocity = 2.5,
maxReverseVelocity = 1,
maxWaterDepth = 80,
metalStorage = 0,
movementClass = "ALLTERRTANK6",
name = "Anarchid",
noChaseCategory = "VTOL",
objectName = "eallterranarchid.s3o",
pushResistant = true,
radarDistance = 0,
repairable = false,
selfDestructAs = "krabblast",
shootme = "1",
sightDistance = 1000,
smoothAnim = true,
stealth = true,
seismicSignature = 4,
turnInPlace = true,
turnRate = 5000,
unitname = "eallterranarchid",
unitnumber = "110",
upright = false,
-- usePieceCollisionVolumes = true,
workerTime = 0,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:gdhcannon",
"custom:dirtsmall",
"custom:flamethrowerrange500",
"custom:blacksmoke",
},
},
sounds = {
underattack = "unitsunderattack1",
ok = {
"ack",
},
select = {
"unitselect",
},
},
weapons = {
[1] = {
def = "heavybeamweapon",
},
[2] = {
def = "flamethrower",
},
[3] = {
def = "flamethrower",
},
},
customParams = {
unittype = "mobile",
death_sounds = "nuke",
RequireTech = tech,
armortype = armortype,
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
Energy cost to fire Primary Laser: ]] .. roundToFirstDecimal(energycosttofire) .. [[
Energy cost to fire Secondary Cannons: ]] .. roundToFirstDecimal(energycosttofire2),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
heavybeamweapon = {
AreaOfEffect = weapon1AOE,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
collideFeature = false,
beamTime = 1,
cameraShake = 1,
coreThickness = 0.2,
-- cegTag = "mediumcannonweapon3",
-- duration = 0.2,
energypershot = energycosttofire,
explosionGenerator = "custom:genericshellexplosion-large-sparks-burn",
fallOffRate = 1,
fireStarter = 50,
impulseFactor = 0,
interceptedByShieldType = 4,
minintensity = "1",
name = "Laser",
range = 1000,
reloadtime = 1,
WeaponType = "BeamLaser",
rgbColor = "1 0 0",
rgbColor2 = "1 1 1",
soundTrigger = true,
soundstart = "krabprimary.wav",
-- soundHit = "mediumcannonhit.wav",
-- sweepfire = true,
texture1 = "shot",
texture2 = "empty",
thickness = 6,
tolerance = 1000,
turret = true,
weaponVelocity = 800,
customparams = {
damagetype = "eallterranarchid",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
},
},

concussioncannon = {
accuracy = 1,
AreaOfEffect = weapon2AOE,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
collideFeature = false,
cylinderTargeting = true,
burnblow = true,
explosionGenerator = "custom:genericshellexplosion-medium",
energypershot = energycosttofire2,
fireStarter = 80,
id = 1,
impulseFactor = 0.1,
interceptedByShieldType = 4,
name = "Concussion Cannon",
range = 1000,
reloadtime = 1,
weaponType = "Cannon",
soundHit = "explode2",
soundStart = "krabsecondary.wav",
tolerance = 500,
turret = true,
weaponVelocity = 5000,
customparams = {
damagetype = "eallterranarchid",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon2Damage,
},
},
flamethrower = {

accuracy = 0,
AreaOfEffect = weapon2AOE,
avoidFeature = false,
avoidFriendly = false,
collideFeature = false,
collideFriendly = false,
explosionGenerator = "custom:burnblack",
coreThickness = 0,
duration = 1,
energypershot = energycosttofire2,
fallOffRate = 1,
fireStarter = 50,
interceptedByShieldType = 4,
soundstart = "flamethrower1.wav",

minintensity = 1,
impulseFactor = 0,
name = "Something with Flames",
range = 500,
reloadtime = 0.1,
WeaponType = [[LaserCannon]],
rgbColor = "0 0 0",
rgbColor2 = "0 0 0",
thickness = 0,
tolerance = 1000,
turret = true,
weaponVelocity = 400,
customparams = {
damagetype = "eallterranarchidflame",
},
damage = {
default = weapon2Damage,
},
},
}
unitDef.weaponDefs = weaponDefs
tech = [[tech3]]
armortype = [[armored]]
supply = [[12]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterranarchid_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
@@ -0,0 +1,26 @@
-- UNITDEF -- eallterranarchid -- Anarchid --
--------------------------------------------------------------------------------

unitName = "eallterranarchid"

--------------------------------------------------------------------------------

isUpgraded = [[0]]

humanName = [[Anarchid]]

objectName = "eallterranarchid.s3o"
script = "eallterranarchid.cob"

tech = [[tech3]]
armortype = [[armored]]
supply = [[12]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrassault_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
@@ -1,195 +1,26 @@
-- UNITDEF -- EALLTERRASSAULT --
-- UNITDEF -- eallterrassault -- Anvil --
--------------------------------------------------------------------------------

local unitName = "eallterrassault"
unitName = "eallterrassault"

--------------------------------------------------------------------------------

local buildCostMetal = 60
local maxDamage = 400
isUpgraded = [[0]]

local tech = [[tech1]]
local armortype = [[armored]]
local supply = [[8]]
humanName = [[Anvil]]

local weapon1Damage = 150
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
objectName = "eallterrassault.s3o"
script = "eallterrassault.cob"

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**


acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = false,
buildTime = 5,
canAttack = true,

canGuard = true,
canMove = true,
canPatrol = true,
canstop = "1",
category = "ARMORED NOTAIR SKIRMISHER",
corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 0,
cloakCostMoving = 1,
minCloakDistance = 70,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

description =[[Anti-Base Long Range Siege Tank • Uses +]] .. supply .. [[ Supply]],
energyMake = 0,
energyStorage = 0,
energyUse = 0,
explodeAs = "hugeExplosionGeneric",
firestandorders = "1",
footprintX = 6,
footprintZ = 6,
iconType = "arty_arm",
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxVelocity = 2.4,
maxReverseVelocity = 1,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK6",
name = "Anvil",
noChaseCategory = "VTOL",
objectName = "eallterrassault.s3o",
radarDistance = 0,
repairable = false,
selfDestructAs = "hugeExplosionGeneric",
shootme = "1",
sightDistance = 1200,
smoothAnim = true,
stealth = true,
seismicSignature = 2,
turnInPlace = true,
turnRate = 5000,
unitname = "eallterrassault",
unitnumber = "110",
upright = false,
workerTime = 0,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:gdhcannon",
"custom:dirtsmall",
"custom:blacksmoke",
},
},
sounds = {
underattack = "unitsunderattack1",
ok = {
"ack",
},
select = {
"unitselect",
},
},
weapons = {
[1] = {
def = "assaulttankcannon",
},
},
customParams = {
unittype = "mobile",
canbetransported = "true",
needed_cover = 4,
death_sounds = "generic",
RequireTech = tech,
armortype = armortype,
nofriendlyfire = "1",
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
This unit can only fire at buildings!
Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
assaulttankcannon = {
AreaOfEffect = weapon1AOE,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
collideFeature = false,
beamTime = 0.1,
coreThickness = 0.6,
-- cegTag = "mediumcannonweapon3",
duration = 0.2,
energypershot = energycosttofire,
explosionGenerator = "custom:genericshellexplosion-large-purple",
fallOffRate = 1,
fireStarter = 100,
impulseFactor = 0,
interceptedByShieldType = 4,
minintensity = "1",
name = "Laser",
range = 1200,
reloadtime = 3,
WeaponType = "LaserCannon",
rgbColor = "0.5 0 1",
rgbColor2 = "1 1 1",
soundTrigger = true,
soundstart = "allterrassaultshot.wav",
soundHit = "assaultshothit.wav",
texture1 = "shot",
texture2 = "empty",
thickness = 9,
tolerance = 1000,
turret = true,
weaponVelocity = 2000,
customparams = {
damagetype = "eallterrassault",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
},
},
}
unitDef.weaponDefs = weaponDefs
tech = [[tech1]]
armortype = [[armored]]
supply = [[8]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrassault_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
@@ -1,199 +1,26 @@
-- UNITDEF -- EALLTERRHEAVY --
-- UNITDEF -- eallterrheavy -- Sledge --
--------------------------------------------------------------------------------

local unitName = "eallterrheavy"
unitName = "eallterrheavy"

--------------------------------------------------------------------------------

local buildCostMetal = 64
local maxDamage = 545
isUpgraded = [[0]]

local tech = [[tech2]]
local armortype = [[armored]]
local supply = [[6]]
humanName = [[Sledge]]

local weapon1Damage = 125
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
objectName = "eallterrheavy2.s3o"
script = "eallterrheavy.cob"

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**


acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = false,
buildTime = 5,
canAttack = true,

canGuard = true,
canMove = true,
canPatrol = true,
canstop = "1",
category = "ARMORED NOTAIR SKIRMISHER",
corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 1,
cloakCostMoving = 2,
minCloakDistance = 70,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

description =[[Tank Destroyer • Uses +]] .. supply .. [[ Supply]],
energyMake = 0,
energyStorage = 0,
energyUse = 0,
explodeAs = "largeExplosionGenericGreen",
firestandorders = "1",
footprintX = 4,
footprintZ = 4,
iconType = "td_arm_all",
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxVelocity = 2.8,
turninplacespeedlimit = 2.8,
maxReverseVelocity = 1,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK4",
name = "Sledge",
noChaseCategory = "VTOL",
objectName = "eallterrheavy2.s3o",
radarDistance = 0,
repairable = false,
selfDestructAs = "largeExplosionGenericGreen",
shootme = "1",
sightDistance = 700,
smoothAnim = true,
stealth = true,
seismicSignature = 2,
turnInPlace = true,
turnRate = 5000,
unitname = "eallterrheavy",
unitnumber = "110",
upright = false,
workerTime = 0,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:gdhcannon",
"custom:dirtsmall",
"custom:blacksmoke",
},
},
sounds = {
underattack = "unitsunderattack1",
ok = {
"ack",
},
select = {
"unitselect",
},
},
weapons = {
[1] = {
def = "heavytankweapon",
onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
badTargetCategory = "BUILDING WALL",
},
},
customParams = {
unittype = "mobile",
canbetransported = "true",
needed_cover = 3,
death_sounds = "generic",
RequireTech = tech,
armortype = armortype,
nofriendlyfire = "1",
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
heavytankweapon = {

AreaOfEffect = weapon1AOE,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
collideFeature = false,
beamTime = 0.1,

coreThickness = 0.5,
-- cegTag = "mediumcannonweapon3",
duration = 0.1,
energypershot = energycosttofire,
explosionGenerator = "custom:genericshellexplosion-medium-green",
fallOffRate = 1,
fireStarter = 50,
impulseFactor = 0,
interceptedByShieldType = 4,

minintensity = "1",
name = "Laser",
range = 700,
reloadtime = 1,
WeaponType = "LaserCannon",
rgbColor = "0 1 0",
rgbColor2 = "1 1 1",
soundTrigger = true,
soundstart = "allterrheavyshot.wav",
soundHit = "mediumcannonhit.wav",
texture1 = "shot",
texture2 = "empty",
thickness = 9,
tolerance = 1000,
turret = true,
weaponVelocity = 1000,
customparams = {
damagetype = "eallterrheavy",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
},
},
}
unitDef.weaponDefs = weaponDefs
tech = [[tech2]]
armortype = [[armored]]
supply = [[6]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrheavy_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------

--------------------------------------------------------------------------------
@@ -1,191 +1,26 @@
-- UNITDEF -- EALLTERRLIGHT --
-- UNITDEF -- eallterrlight -- Recluse --
--------------------------------------------------------------------------------

local unitName = "eallterrlight"
unitName = "eallterrlight"

--------------------------------------------------------------------------------

local buildCostMetal = 22
local maxDamage = 245
isUpgraded = [[0]]

local tech = [[tech1]]
local armortype = [[light]]
local supply = [[2]]
humanName = [[Recluse]]

local weapon1Damage = 50
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
objectName = "eallterrlight2.s3o"
script = "eallterrlight.cob"

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**


acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = false,
buildTime = 5,
canAttack = true,

canGuard = true,
canMove = true,
canPatrol = true,
canstop = "1",
category = "LIGHT NOTAIR RAID",
corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 0,
cloakCostMoving = 1,
minCloakDistance = 70,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

description = [[Unit Type: Raider • Uses +]] .. supply .. [[ Supply]],
energyMake = 0,
energyStorage = 0,
energyUse = 0,
explodeAs = "smallExplosionGeneric",
firestandorders = "1",
footprintX = 4,
footprintZ = 4,
iconType = "raider",
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxVelocity = 5.5,
maxReverseVelocity = 2,
turninplacespeedlimit = 5.5,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK4",
name = "Recluse",
noChaseCategory = "VTOL",
objectName = "eallterrlight2.s3o",
radarDistance = 0,
repairable = false,
selfDestructAs = "smallExplosionGeneric",
sightDistance = 500,
smoothAnim = true,
stealth = true,
seismicSignature = 2,
turnInPlace = true,
turnRate = 5000,
unitname = "eallterrlight",
upright = false,
workerTime = 0,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:factorysparks",
"custom:dirtsmall",
"custom:blacksmoke",
},
},
sounds = {
underattack = "unitsunderattack1",
ok = {
"ack",
},
select = {
"unitselect",
},
},
weapons = {
[1] = {
def = "lighttankweapon",
badTargetCategory = "BUILDING ARMORED WALL",
},
},
customParams = {
unittype = "mobile",
canbetransported = "true",
needed_cover = 1,
death_sounds = "generic",
RequireTech = tech,
armortype = armortype,
nofriendlyfire = "1",
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
lighttankweapon = {

AreaOfEffect = weapon1AOE,
avoidFeature = false,
avoidFriendly = false,
collideFeature = false,
collideFriendly = false,
coreThickness = 0.3,
duration = 0.1,
energypershot = energycosttofire,
explosionGenerator = "custom:genericshellexplosion-small-blue",
fallOffRate = 1,
fireStarter = 50,
impulseFactor = 0,
interceptedByShieldType = 4,

minintensity = "1",
name = "Laser",
range = 350,
reloadtime = 0.5,
WeaponType = "LaserCannon",
rgbColor = "0.5 0.8 1",
rgbColor2 = "1 1 1",
soundTrigger = true,
soundstart = "heavycannonGD.wav",
texture1 = "shot",
texture2 = "empty",
thickness = 6,
tolerance = 1000,
turret = true,
weaponVelocity = 2000,
customparams = {
damagetype = "eallterrlight",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
},
},
}
unitDef.weaponDefs = weaponDefs
tech = [[tech1]]
armortype = [[light]]
supply = [[2]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrlight_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
@@ -1,198 +1,26 @@
-- UNITDEF -- EALLTERRMED --
-- UNITDEF -- eallterrmed -- Basher --
--------------------------------------------------------------------------------

local unitName = "eallterrmed"
unitName = "eallterrmed"

--------------------------------------------------------------------------------

local buildCostMetal = 44
local maxDamage = 500
isUpgraded = [[0]]

local tech = [[tech2]]
local armortype = [[armored]]
local supply = [[4]]
humanName = [[Basher]]

local weapon1Damage = 200
local weapon1AOE = 1
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
objectName = "eallterrmed2.s3o"
script = "eallterrmed.cob"

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**


acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = false,
buildTime = 5,
canAttack = true,

canGuard = true,
canMove = true,
canPatrol = true,
canstop = "1",
category = "ARMORED NOTAIR SKIRMISHER",
corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 0,
cloakCostMoving = 1,
minCloakDistance = 70,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

description = [[Unit Type: Armored Tank Destroyer • Uses +]] .. supply .. [[ Supply]],
energyMake = 0,
energyStorage = 0,
energyUse = 0,
explodeAs = "mediumExplosionGenericPurple",
footprintX = 4,
footprintZ = 4,
iconType = "td_arm_arm",
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxSlope = 180,
maxVelocity = 3.5,
maxReverseVelocity = 1,
turninplacespeedlimit = 4,
maxWaterDepth = 10,
metalStorage = 0,
mobilestandorders = "1",
movementClass = "ALLTERRTANK4",
name = "Basher",
noChaseCategory = "VTOL",
objectName = "eallterrmed2.s3o",
radarDistance = 0,
repairable = false,
selfDestructAs = "mediumExplosionGenericPurple",
sightDistance = 600,
smoothAnim = true,
stealth = true,
seismicSignature = 2,
turnInPlace = true,
turnRate = 5000,
unitname = "eallterrmed",
upright = false,
workerTime = 0,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:gdhcannon",
"custom:dirtsmall",
"custom:blacksmoke",
},
},
sounds = {
underattack = "unitsunderattack1",
ok = {
"ack",
},
select = {
"unitselect",
},
},
weapons = {
[1] = {
def = "mediumtankcannon",
onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
badTargetCategory = "BUILDING LIGHT WALL",
},
},
customParams = {
unittype = "mobile",
canbetransported = "true",
needed_cover = 2,
death_sounds = "generic",
RequireTech = tech,
armortype = armortype,
nofriendlyfire = "1",
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
Energy cost to fire: ]] .. roundToFirstDecimal(energycosttofire),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
mediumtankcannon = {

AreaOfEffect = weapon1AOE,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
collideFeature = false,
beamTime = 0.1,

coreThickness = 0.5,
-- cegTag = "mediumcannonweapon3",
duration = 0.1,
energypershot = energycosttofire,
explosionGenerator = "custom:genericshellexplosion",
fallOffRate = 1,
fireStarter = 50,
impulseFactor = 0,
interceptedByShieldType = 4,

minintensity = "1",
name = "Laser",
range = 600,
reloadtime = 1,
WeaponType = "LaserCannon",
rgbColor = "1 0.5 0",
rgbColor2 = "1 1 1",
soundTrigger = true,
soundstart = "medallterrweapon.wav",
soundHit = "mediumcannonhit.wav",
texture1 = "shot",
texture2 = "empty",
thickness = 9,
tolerance = 1000,
turret = true,
weaponVelocity = 1000,
customparams = {
damagetype = "eallterrmed",

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
},
},

}
unitDef.weaponDefs = weaponDefs
tech = [[tech2]]
armortype = [[armored]]
supply = [[4]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrmed_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
@@ -1,249 +1,26 @@
-- UNITDEF -- EALLTERRRIOT --
-- UNITDEF -- eallterrriot -- Mossberg --
--------------------------------------------------------------------------------

local unitName = "eallterrriot"
unitName = "eallterrriot"

--------------------------------------------------------------------------------

local buildCostMetal = 27
local maxDamage = 400
isUpgraded = [[0]]

local tech = [[tech1]]
local armortype = [[light]]
local supply = [[3]]
humanName = [[Mossberg]]

local weapon1Damage = 200
local weapon1AOE = 250
local weapon2Damage = 75
local weapon2AOE = 100
local weapon2Projectiles = 10
local energycosttofire = weapon1Damage / 10 * ((weapon1AOE / 1000) + 1)
local energycosttofire2 = weapon2Damage / 10 * ((weapon2AOE / 1000) + 1) * weapon2Projectiles
objectName = "eallterrriot2.s3o"
script = "eallterrriot.cob"

local function roundToFirstDecimal(energycosttofire)
return math.floor(energycosttofire*10 + 0.5)*0.1
end

local function roundToFirstDecimal(energycosttofire2)
return math.floor(energycosttofire2*10 + 0.5)*0.1
end

local unitDef = {

--mobileunit
transportbyenemy = false;

--**


acceleration = 1,
brakeRate = 1,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = false,
buildTime = 5,
canAttack = true,

-- canDgun = true,
canGuard = true,
canMove = true,
canPatrol = true,
canstop = "1",
category = "LIGHT NOTAIR RIOT",
corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 0,
cloakCostMoving = 1,
minCloakDistance = 70,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

description = [[Unit Type: Anti-Swarm EMP/Riot Tank • Uses +]] .. supply .. [[ Supply]],
energyMake = 0,
energyStorage = 0,
energyUse = 0,
explodeAs = "mediumExplosionGenericRed",
footprintX = 4,
footprintZ = 4,
iconType = "riot_lit",
idleAutoHeal = .5,
idleTime = 2200,
leaveTracks = false,
maxDamage = maxDamage,
maxSlope = 180,
maxVelocity = 4.5,
maxReverseVelocity = 1,
turninplacespeedlimit = 3.3,
maxWaterDepth = 10,
metalStorage = 0,
movementClass = "ALLTERRTANK4",
name = "Mossberg",
noChaseCategory = "VTOL",
objectName = "eallterrriot2.s3o",
radarDistance = 0,
repairable = false,
selfDestructAs = "mediumExplosionGenericRed",
sightDistance = 500,
smoothAnim = true,
stealth = true,
seismicSignature = 2,
turnInPlace = true,
turnRate = 5000,
unitname = "eallterrriot",
upright = false,
workerTime = 0,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:gdhcannon",
"custom:dirtsmall",
"custom:blacksmoke",
},
},
sounds = {
underattack = "unitsunderattack1",
ok = {
"ack",
},
select = {
"unitselect",
},
},
weapons = {
[1] = {
def = "riottankempweapon",
onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
badTargetCategory = "WALL",
},
[2] = {
def = "riottankshotgun",
onlyTargetCategory = "BIO LIGHT ARMORED BUILDING",
badTargetCategory = "WALL BUILDING",
},
},
customParams = {
unittype = "mobile",
canbetransported = "true",
needed_cover = 2,
death_sounds = "generic",
RequireTech = tech,
armortype = armortype,
nofriendlyfire = "1",
supply_cost = supply,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
factionname = "outer_colonies",
helptext = [[Armortype: ]] ..armortype.. [[
Paralyzes enemy units
Projectile can hit multiple units
Alternate fire mode fires 10 projectiles in a shotgun spread with a small area of effect. Reduced damage vs buildings when in shotgun mode.
Energy cost to fire EMP: ]] .. roundToFirstDecimal(energycosttofire) .. [[
Energy cost to fire Shotgun: ]] .. roundToFirstDecimal(energycosttofire2),
},
}


--------------------------------------------------------------------------------
-- Energy Per Shot Calculation is: dmg / 20 * ((aoe / 1000) + 1)

local weaponDefs = {
riottankempweapon = {

AreaOfEffect = weapon1AOE,
avoidFeature = false,
avoidFriendly = false,
collideFeature = false,
collideFriendly = false,
coreThickness = 0.6,
-- cegTag = "mediumcannonweapon3",
duration = 0.05,
edgeeffectiveness = 0.1,
energypershot = energycosttofire,
explosionGenerator = "custom:genericshellexplosion-medium-blue",
fallOffRate = 1,
fireStarter = 100,
impulseFactor = 0,

minintensity = 1,
name = "Laser",
noexplode = true,
paralyzer = true,
paralyzetime = 2.5,
range = 450,
reloadtime = 1,
WeaponType = "LaserCannon",
rgbColor = "0 0.2 1",
rgbColor2 = "1 1 1",
soundTrigger = true,
soundstart = "fnubeamfire.wav",
soundHit = "phasegun1hit.wav",
texture1 = "wave",
texture2 = "empty",
thickness = 40,
tolerance = 1000,
turret = true,
weaponVelocity = 1000,
customparams = {
damagetype = "eallterrriot",
nofriendlyfire = 1,

--Upgrades--
upgradeClass = "groundweapons",
},
damage = {
default = weapon1Damage,
},
},

riottankshotgun = {
AreaOfEffect = weapon2AOE,
avoidFriendly = false,
avoidFeature = false,
collideFriendly = false,
collideFeature = false,

cegTag = "bruisercannon",
explosionGenerator = "custom:genericshellexplosion-small",
energypershot = energycosttofire2,
interceptedByShieldType = 4,
impulseFactor = 0,
name = "Light Cannon",
projectiles = weapon2Projectiles,
range = 450,
reloadtime = 5,
weaponType = "Cannon",
soundHit = "mediumcannonhit.wav",
soundStart = "bruisercannon.wav",
sprayangle = 2000,

turret = true,
weaponVelocity = 400,
customparams = {
damagetype = "eallterrriotshotgun",
},
damage = {
default = weapon2Damage,
},
},
}
unitDef.weaponDefs = weaponDefs
tech = [[tech1]]
armortype = [[light]]
supply = [[3]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrriot_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
--------------------------------------------------------------------------------
@@ -1,129 +1,21 @@
-- UNITDEF -- EMINIFAC --
--------------------------------------------------------------------------------

local unitName = "eminifac"
unitName = "eminifac"

--------------------------------------------------------------------------------

local buildCostMetal = 30
local maxDamage = buildCostMetal * 12.5
buildCostMetal = 30
maxDamage = buildCostMetal * 12.5

local armortype = [[building]]
humanName = [[All-Terrain Strider Factory]]

local unitDef = {
objectName = "eallterrfac2.s3o"
script = "eallterrfac2.cob"

activatewhenbuilt = false,
buildAngle = 1024,
buildCostEnergy = 0,
buildCostMetal = buildCostMetal,
builder = true,
buildTime = 5,
canBeAssisted = true,
canGuard = true,
canMove = true,
canPatrol = true,
canReclaim = false,
canstop = true,
category = "BUILDING NOTAIR",

collisionVolumeOffsets = "0 60 0",
collisionVolumeScales = "298 142 168",
collisionVolumeTest = 1,
collisionVolumeType = "box",

corpse = "ammobox",

-- Cloaking

cancloak = true,
cloakCost = 0,
minCloakDistance = 250,
decloakOnFire = true,
decloakSpherical = true,
initCloaked = false,

-- End Cloaking

description = [[Build a Tech Facility to unlock units. Build Supply Depots to increase your army size.
Armortype: ]] ..armortype,
energyStorage = 0,
energyUse = 0,
energyMake = 0,
explodeAs = "MEXPOP2",
footprintX = 22,
footprintZ = 22,
iconType = "factory",
idleAutoHeal = .5,
idleTime = 2200,
maxDamage = maxDamage,
maxSlope = 90,
maxWaterDepth = 0,
metalStorage = 0,
metalMake = 0,
name = "All-Terrain Factory",
objectName = "eallterrfac2.s3o",
script = "eallterrfac2.cob",
radarDistance = 0,
repairable = false,
selfDestructAs = "LARGE_BUILDING",
showNanoSpray = true,
sightDistance = 388,
smoothAnim = true,
TEDClass = "PLANT",
unitname = "eminifac",
-- unitRestricted = 1,
workerTime = 1,
yardMap = "oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo oooccccccccccccccccooo",
-- usePieceCollisionVolumes = true,
sfxtypes = {
pieceExplosionGenerators = {
"deathceg3",
"deathceg4",
},

explosiongenerators = {
"custom:nanoorb",
"custom:nano",
"custom:blacksmoke",
"custom:fusionreactionbasic",
},
},
buildoptions = {
-- "eallterrengineer", --new
"eallterrlight",
"eallterrriot",
-- "eallterraa",
"eallterrmed",
"eallterrheavy",
"eallterrassault",
"eallterranarchid",
"eallterrshield",
},
sounds = {
underattack = "unitsunderattack1",
select = {
"gdfactoryselect",
},
},
customParams = {
unittype = "building",
death_sounds = "generic",
armortype = armortype,
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
-- ProvideTech = "1 Powergrid",
-- ProvideTechRange = "1500",
-- groundtexselectimg = ":nc:bitmaps/power/powergrid.png",
-- groundtexselectxsize = 1500, -- optional
-- groundtexselectzsize = 1500, -- optional
},
useGroundDecal = true,
BuildingGroundDecalType = "factorygroundplate.dds",
BuildingGroundDecalSizeX = 27,
BuildingGroundDecalSizeY = 27,
BuildingGroundDecalDecaySpeed = 0.9,
}
AllTerrainFactoryBuildList = Shared.buildListAllTerrainFactory

VFS.Include("units-configs-basedefs/basedefs/allterrain/eminifac_basedef.lua")

--------------------------------------------------------------------------------

@@ -1,16 +1,6 @@
-- UNITDEF -- EMINIFAC_t2 --
--------------------------------------------------------------------------------
-- ALL TERRAIN FACTORY : DEFFOS FOR INHERITING

local unitName = "eminifac_t2"

--------------------------------------------------------------------------------

local buildCostMetal = 460
local maxDamage = buildCostMetal * 12.5

local armortype = [[building]]

local unitDef = {
unitDef = {

activatewhenbuilt = false,
buildAngle = 1024,
@@ -88,17 +78,7 @@ Armortype: ]] ..armortype,
"custom:fusionreactionbasic",
},
},
buildoptions = {
-- "eallterrengineer_t2", --new
"eallterrlight_t2",
"eallterrriot_t2",
-- "eallterraa",
"eallterrmed_t2",
"eallterrheavy_t2",
"eallterrassault_t2",
"eallterranarchid_t2",
"eallterrshield_t2",
},
buildoptions = AllTerrainFactoryBuildList,
sounds = {
underattack = "unitsunderattack1",
select = {
@@ -108,7 +88,7 @@ Armortype: ]] ..armortype,
customParams = {
unittype = "building",
death_sounds = "generic",
armortype = armortype,
armortype = "building",
normaltex = "unittextures/lego2skin_explorernormal.dds",
buckettex = "unittextures/lego2skin_explorerbucket.dds",
-- ProvideTech = "1 Powergrid",
@@ -123,10 +103,3 @@ Armortype: ]] ..armortype,
BuildingGroundDecalSizeY = 27,
BuildingGroundDecalDecaySpeed = 0.9,
}


--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------

This file was deleted.

This file was deleted.

@@ -0,0 +1,26 @@
-- UNITDEF -- eallterranarchid -- Anarchid --
--------------------------------------------------------------------------------

unitName = "eallterranarchid_up1"

--------------------------------------------------------------------------------

isUpgraded = [[1]]

humanName = [[Anarchid Mark II]]

objectName = "eallterranarchid.s3o"
script = "eallterranarchid.cob"

tech = [[tech3]]
armortype = [[armored]]
supply = [[12]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterranarchid_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
@@ -0,0 +1,26 @@
-- UNITDEF -- eallterrassault -- Anvil --
--------------------------------------------------------------------------------

unitName = "eallterrassault_up1"

--------------------------------------------------------------------------------

isUpgraded = [[1]]

humanName = [[Anvil]]

objectName = "eallterrassault.s3o"
script = "eallterrassault.cob"

tech = [[tech1]]
armortype = [[armored]]
supply = [[8]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrassault_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
@@ -0,0 +1,26 @@
-- UNITDEF -- eallterrheavy -- Sledge --
--------------------------------------------------------------------------------

unitName = "eallterrheavy_up1"

--------------------------------------------------------------------------------

isUpgraded = [[1]]

humanName = [[Sledge Mark II]]

objectName = "eallterrheavy2.s3o"
script = "eallterrheavy.cob"

tech = [[tech2]]
armortype = [[armored]]
supply = [[6]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrheavy_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------
@@ -0,0 +1,26 @@
-- UNITDEF -- eallterrlight -- Recluse --
--------------------------------------------------------------------------------

unitName = "eallterrlight_up1"

--------------------------------------------------------------------------------

isUpgraded = [[1]]

humanName = [[Recluse Mark II]]

objectName = "eallterrlight2.s3o"
script = "eallterrlight.cob"

tech = [[tech1]]
armortype = [[light]]
supply = [[2]]

VFS.Include("Units-Configs-Basedefs/basedefs/allterrain/eallterrlight_basedef.lua")

unitDef.weaponDefs = weaponDefs
--------------------------------------------------------------------------------

return lowerkeys({ [unitName] = unitDef })

--------------------------------------------------------------------------------