From 4cc682b5afbeef26289048fe51c2cc0fed5f6d22 Mon Sep 17 00:00:00 2001 From: Aquanim Date: Sat, 9 Dec 2017 12:11:32 +1100 Subject: [PATCH 1/2] Small campaign fixes. --- campaign/sample/planets/planet36.lua | 2 +- campaign/sample/planets/planet51.lua | 2 +- campaign/sample/planets/planet68.lua | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/campaign/sample/planets/planet36.lua b/campaign/sample/planets/planet36.lua index 31c9e4745..b26dc78ed 100644 --- a/campaign/sample/planets/planet36.lua +++ b/campaign/sample/planets/planet36.lua @@ -563,7 +563,7 @@ local function GetPlanet(planetUtilities, planetID) }, image = planetUtilities.ICON_DIR .. "staticmex.png", imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Prevent the enemy from building more than twelve Metal Extractors", + description = "Prevent the enemy from having more than 12 Metal Extractors", experience = planetUtilities.BONUS_EXP, }, } diff --git a/campaign/sample/planets/planet51.lua b/campaign/sample/planets/planet51.lua index 39700f38a..0198e46c1 100644 --- a/campaign/sample/planets/planet51.lua +++ b/campaign/sample/planets/planet51.lua @@ -27,7 +27,7 @@ local function GetPlanet(planetUtilities, planetID) text = [[...]] }, gameConfig = { - mapName = "LowTideV3", + mapName = "ContestedCanyon", playerConfig = { startX = 100, startZ = 100, diff --git a/campaign/sample/planets/planet68.lua b/campaign/sample/planets/planet68.lua index 96bf9a551..43cba7062 100644 --- a/campaign/sample/planets/planet68.lua +++ b/campaign/sample/planets/planet68.lua @@ -27,7 +27,7 @@ local function GetPlanet(planetUtilities, planetID) text = [[Your opponent is already conducting a victory celebration with their Disco Rave Party. Hold off their assault until your Starlight orbital chisel is complete, then demonstrate that their revels are premature.]] }, gameConfig = { - mapName = "Lost_v2", + mapName = "FrozenFortress_v2", playerConfig = { startX = 100, startZ = 100, From 33361f1cd14ef9d2560357f2d841ce275be3ef9c Mon Sep 17 00:00:00 2001 From: Aquanim Date: Sat, 9 Dec 2017 12:11:56 +1100 Subject: [PATCH 2/2] Implemented missions 31 (seawolf/corsair) and 32 (siren/mistral). --- campaign/sample/planets/planet31.lua | 676 ++++++- campaign/sample/planets/planet32.lua | 2759 +++++++++++++++++++++++++- 2 files changed, 3399 insertions(+), 36 deletions(-) diff --git a/campaign/sample/planets/planet31.lua b/campaign/sample/planets/planet31.lua index a598d6f12..2b702f975 100644 --- a/campaign/sample/planets/planet31.lua +++ b/campaign/sample/planets/planet31.lua @@ -24,13 +24,27 @@ local function GetPlanet(planetUtilities, planetID) primary = "Blank", primaryType = "G8V", milRating = 1, - text = [[...]] + text = [[This planet is largely covered by water, making it ideal for the deployment of ships and submarines. Move fast to take control of this resource-rich archipelago.]] + }, + tips = { + { + image = "unitpics/shipriot.png", + text = [[Corsairs are equipped with twin shotguns that are lethal at close range. Get up close to structures and surface vessels to destroy them quickly.]] + }, + { + image = "unitpics/subraider.png", + text = [[The Seawolf is good for picking off isolated ships and economy structures. Being underwater protects them from many attacks, but they don't have much HP so keep them away from torpedo boats and turrets.]] + }, + { + image = "unitpics/subraider.png", + text = [[This is a large map with a lot of metal. Expand quickly to secure an advantage.]] + }, }, gameConfig = { - mapName = "LowTideV3", + mapName = "BellicoseIslands_ZK-v01", playerConfig = { - startX = 100, - startZ = 100, + startX = 500, + startZ = 3300, allyTeam = 0, facplop = false, commanderParameters = { @@ -40,54 +54,680 @@ local function GetPlanet(planetUtilities, planetID) extraUnlocks = { "factoryship", "shipcon", - "shiptorpraider", "shipriot", "subraider", }, startUnits = { + { + name = "factoryship", + x = 352, + z = 2720, + facing = 1, + }, + { + name = "staticmex", + x = 88, + z = 2920, + facing = 1, + }, + { + name = "staticmex", + x = 88, + z = 3016, + facing = 1, + }, + { + name = "staticmex", + x = 88, + z = 3112, + facing = 1, + }, + { + name = "energywind", + x = 56, + z = 2856, + facing = 1, + }, + { + name = "energywind", + x = 136, + z = 2856, + facing = 1, + }, + { + name = "energywind", + x = 152, + z = 2936, + facing = 1, + }, + { + name = "energywind", + x = 152, + z = 3016, + facing = 1, + }, + { + name = "energywind", + x = 152, + z = 3096, + facing = 1, + }, + { + name = "energywind", + x = 152, + z = 3176, + facing = 1, + }, + { + name = "energywind", + x = 72, + z = 3192, + facing = 1, + }, + { + name = "staticmex", + x = 120, + z = 3576, + facing = 1, + }, + { + name = "staticmex", + x = 408, + z = 3560, + facing = 1, + }, + { + name = "staticmex", + x = 584, + z = 3624, + facing = 1, + }, + { + name = "energysolar", + x = 264, + z = 3560, + facing = 1, + }, + { + name = "energysolar", + x = 520, + z = 3544, + facing = 1, + }, + { + name = "energysolar", + x = 392, + z = 3448, + facing = 3, + }, + { + name = "staticradar", + x = 624, + z = 3504, + facing = 3, + }, + { + name = "turretmissile", + x = 832, + z = 3504, + facing = 1, + }, + { + name = "turrettorp", + x = 856, + z = 3656, + facing = 1, + }, + { + name = "turretmissile", + x = 448, + z = 2576, + facing = 1, + }, + { + name = "turrettorp", + x = 552, + z = 2520, + facing = 1, + }, + { + name = "staticmex", + x = 88, + z = 2456, + facing = 1, + }, + { + name = "subraider", + x = 757, + z = 2725, + facing = 1, + }, + { + name = "subraider", + x = 756, + z = 3051, + facing = 1, + }, + { + name = "shipriot", + x = 750, + z = 2890, + facing = 1, + }, + { + name = "shipriot", + x = 768, + z = 2561, + facing = 1, + }, + { + name = "staticcon", + x = 312, + z = 3064, + facing = 3, + commands = { + {cmdID = planetUtilities.COMMAND.PATROL, pos = {312, 3064}}, + {cmdID = planetUtilities.COMMAND.PATROL, pos = {337, 3039}, options = {"shift"}}, + }, + }, } }, aiConfig = { { - startX = 4000, - startZ = 75, aiLib = "Circuit_difficulty_autofill", - humanName = "Enemy", bitDependant = true, + --aiLib = "Null AI", + --bitDependant = false, + humanName = "Escorta", + allyTeam = 1, + unlocks = { + "staticmex", + "energywind", + "energyfusion", + "staticradar", + "staticstorage", + "staticcon", + "turrettorp", + "factoryship", + "shipcon", + "shiptorpraider", + "subraider", + }, + commander = false, + startUnits = { + { + name = "factoryship", + x = 7920, + z = 2000, + facing = 3, + }, + { + name = "staticcon", + x = 8100, + z = 2000, + facing = 3, + }, + { + name = "staticstorage", + x = 8100, + z = 2200, + facing = 3, + }, + { + name = "turrettorp", + x = 7500, + z = 1800, + facing = 3, + }, + } + }, + { + startX = 7500, + startZ = 3500, + humanName = "Bollik", + aiLib = "Circuit_difficulty_autofill", + bitDependant = true, + --aiLib = "Null AI", + --bitDependant = false, commanderParameters = { facplop = false, }, allyTeam = 1, unlocks = { - "cloakraid", + "staticmex", + "energywind", + "energyfusion", + "staticradar", + "staticstorage", + "staticcon", + "staticrearm", + "turretmissile", + "turrettorp", + "factoryship", + "shipcon", + "shipscout", + "shiptorpraider", + "shipskirm", + "shipaa", + "shiparty", + "shipriot", + "factoryplane", + "planecon", + "planescout", + "planeheavyfighter", + "bomberprec", + }, + difficultyDependantUnlocks = { + [3] = {"shipassault"}, + [4] = {"shipassault"}, }, - commanderLevel = 2, + commanderLevel = 6, commander = { - name = "Most Loyal Opposition", - chassis = "engineer", + name = "Carn Timber", + chassis = "guardian", decorations = { - "skin_support_dark", - icon_overhead = { image = "UW" } }, - modules = { } + modules = { + "commweapon_rocketlauncher", + "commweapon_rocketlauncher", + "module_ablative_armor", + "module_ablative_armor", + "module_ablative_armor", + "module_ablative_armor", + "module_high_power_servos", + "module_high_power_servos", + "module_high_power_servos", + "module_high_power_servos", + "module_autorepair", + "module_autorepair", + } + }, + midgameUnits = { + { + name = "bomberprec", + x = 8000, + z = 1700, + facing = 2, + spawnRadius = 50, + delay = 3*30*60, + orbitalDrop = false, + }, + { + name = "bomberprec", + x = 8000, + z = 1700, + facing = 2, + spawnRadius = 50, + delay = 43*30*60, + orbitalDrop = false, + difficultyAtLeast = 3, + }, + { + name = "shiparty", + x = 8000, + z = 1700, + facing = 2, + spawnRadius = 50, + delay = 4.5*30*60, + orbitalDrop = false, + }, + { + name = "shiparty", + x = 8000, + z = 1900, + facing = 2, + difficultyAtLeast = 2, + spawnRadius = 50, + delay = 4.5*30*60, + orbitalDrop = false, + }, + { + name = "shiparty", + x = 8000, + z = 2100, + facing = 2, + difficultyAtLeast = 3, + spawnRadius = 50, + delay = 4.5*30*60, + orbitalDrop = false, + }, + { + name = "shipheavyarty", + x = 8000, + z = 1900, + facing = 2, + difficultyAtLeast = 4, + spawnRadius = 50, + delay = 7*30*60, + orbitalDrop = false, + }, + { + name = "shipassault", + x = 8000, + z = 2100, + facing = 2, + difficultyAtLeast = 4, + spawnRadius = 50, + delay = 7*30*60, + orbitalDrop = false, + }, }, startUnits = { + { + name = "staticmex", + x = 7490, + z = 2750, + facing = 1, + difficultyAtLeast = 2, + }, + { + name = "staticmex", + x = 8123, + z = 1880, + facing = 1, + difficultyAtLeast = 3, + }, + { + name = "energyfusion", + x = 7930, + z = 3125, + facing = 1, + difficultyAtLeast = 4, + }, + { + name = "staticrearm", + x = 7970, + z = 2630, + facing = 3, + }, + { + name = "turretheavylaser", + x = 6660, + z = 2280, + facing = 3, + }, + { + name = "turretheavylaser", + x = 6950, + z = 1280, + facing = 3, + }, + { + name = "turretheavylaser", + x = 6000, + z = 3500, + facing = 3, + }, + { + name = "turrettorp", + x = 6860, + z = 3600, + facing = 3, + }, + { + name = "turrettorp", + x = 7700, + z = 1600, + facing = 3, + }, + { + name = "factoryship", + x = 7712, + z = 2992, + facing = 3, + }, + { + name = "staticmex", + x = 8120, + z = 2872, + facing = 3, + }, + { + name = "staticmex", + x = 8120, + z = 3016, + facing = 3, + }, + { + name = "staticmex", + x = 8120, + z = 3144, + facing = 3, + }, + { + name = "energywind", + x = 8152, + z = 2808, + facing = 3, + }, + { + name = "energywind", + x = 8072, + z = 2808, + facing = 3, + }, + { + name = "energywind", + x = 8040, + z = 2888, + facing = 3, + }, + { + name = "energywind", + x = 8040, + z = 2968, + facing = 3, + }, + { + name = "energywind", + x = 8040, + z = 3048, + facing = 3, + }, + { + name = "energywind", + x = 8040, + z = 3128, + facing = 3, + }, + { + name = "energywind", + x = 8040, + z = 3208, + facing = 3, + }, + { + name = "energywind", + x = 8120, + z = 3208, + facing = 3, + }, + { + name = "staticmex", + x = 8040, + z = 3592, + facing = 3, + }, + { + name = "staticmex", + x = 7768, + z = 3544, + facing = 3, + }, + { + name = "staticmex", + x = 7608, + z = 3656, + facing = 3, + }, + { + name = "energysolar", + x = 7672, + z = 3576, + facing = 3, + }, + { + name = "energysolar", + x = 7864, + z = 3512, + facing = 3, + }, + { + name = "energysolar", + x = 8008, + z = 3496, + facing = 3, + }, + { + name = "staticradar", + x = 7616, + z = 3504, + facing = 3, + }, + { + name = "staticcon", + x = 7816, + z = 2808, + facing = 1, + commands = { + {cmdID = planetUtilities.COMMAND.PATROL, pos = {7816, 2808}}, + {cmdID = planetUtilities.COMMAND.PATROL, pos = {7791, 2783}, options = {"shift"}}, + }, + }, + { + name = "turrettorp", + x = 7704, + z = 2568, + facing = 3, + }, + { + name = "turretlaser", + x = 7792, + z = 2608, + facing = 3, + }, + { + name = "shipcon", + x = 7449, + z = 3230, + facing = 3, + }, + { + name = "turrettorp", + x = 7448, + z = 3560, + facing = 3, + }, + { + name = "turretlaser", + x = 7472, + z = 3456, + facing = 3, + }, + { + name = "staticmex", + x = 8152, + z = 2456, + facing = 3, + }, + { + name = "shiptorpraider", + x = 7334, + z = 2964, + facing = 3, + }, + { + name = "shiptorpraider", + x = 7255, + z = 3141, + facing = 3, + }, + { + name = "shiptorpraider", + x = 7255, + z = 2800, + facing = 3, + }, + { + name = "shipriot", + x = 7349, + z = 3091, + facing = 3, + }, + { + name = "subraider", + x = 7454, + z = 2981, + facing = 2, + }, + { + name = "subraider", + x = 7503, + z = 3053, + facing = 3, + }, } }, }, defeatConditionConfig = { - + -- Indexed by allyTeam. + [0] = { }, + [1] = { + ignoreUnitLossDefeat = false, + vitalCommanders = true, + vitalUnitTypes = { + "factoryship", + "factoryplane" + }, + loseAfterSeconds = false, + allyTeamLossObjectiveID = 1, + }, }, objectiveConfig = { -- This is just related to displaying objectives on the UI. + [1] = { + description = "Destroy the enemy Commander and Factories", + }, + [2] = { + description = "Protect your Commander", + }, }, bonusObjectiveConfig = { - } + [1] = { + satisfyOnce = true, + comparisionType = planetUtilities.COMPARE.AT_LEAST, + targetNumber = 40, + unitTypes = { + "staticmex", + }, + image = planetUtilities.ICON_DIR .. "staticmex.png", + imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, + description = "Have 40 Metal Extractors", + experience = planetUtilities.BONUS_EXP, + }, + [2] = { + victoryByTime = 15*60, + image = planetUtilities.ICON_OVERLAY.CLOCK, + description = "Win by 15:00", + experience = planetUtilities.BONUS_EXP, + }, + [3] = { -- Prevent the enemy having more than twelve mex + satisfyForever = true, + comparisionType = planetUtilities.COMPARE.AT_MOST, + targetNumber = 25, + enemyUnitTypes = { + "staticmex", + }, + image = planetUtilities.ICON_DIR .. "staticmex.png", + imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, + description = "Prevent the enemy from having more than 25 Metal Extractors", + experience = planetUtilities.BONUS_EXP, + }, + }, }, completionReward = { experience = planetUtilities.MAIN_EXP, units = { - "shiptorpraider", "shipriot", "subraider", }, diff --git a/campaign/sample/planets/planet32.lua b/campaign/sample/planets/planet32.lua index 623f13a3e..8b3a4d8c0 100644 --- a/campaign/sample/planets/planet32.lua +++ b/campaign/sample/planets/planet32.lua @@ -19,18 +19,28 @@ local function GetPlanet(planetUtilities, planetID) image = image, size = planetUtilities.PLANET_SIZE_INFO, backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6550 km", - primary = "Blank", - primaryType = "G8V", + terrainType = "Coastal", + radius = "6910 km", + primary = "Vark-Absur", + primaryType = "G5VI", milRating = 1, - text = [[...]] + text = [[An enemy artillery piece is dominating this island chain. Assault it directly or cut off its energy supply, then clear out any lingering opposition.]] + }, + tips = { + { + image = "unitpics/shipassault.png", + text = [[The Siren is equipped with a sonic gun effective against surface and underwater targets, and a small cruise missile launcher for use against statics. Use them to escort your Envoys against submarine attack.]] + }, + { + image = "unitpics/shipskirm.png", + text = [[Mistrals are fast-moving skirmishers which fire volleys of rockets. They can be used to defeat Sirens from range and to destroy smaller concentrations of statics.]] + }, }, gameConfig = { mapName = "Paradise Lost v2", playerConfig = { - startX = 100, - startZ = 100, + startX = 1000, + startZ = 2500, allyTeam = 0, facplop = false, commanderParameters = { @@ -44,44 +54,2757 @@ local function GetPlanet(planetUtilities, planetID) "shipassault", }, startUnits = { + { + name = "turretaalaser", + x = 952, + z = 2408, + facing = 1, + }, + { + name = "staticmex", + x = 264, + z = 2488, + facing = 0, + }, + { + name = "staticmex", + x = 168, + z = 2712, + facing = 0, + }, + { + name = "staticmex", + x = 728, + z = 2600, + facing = 1, + }, + { + name = "energywind", + x = 312, + z = 2488, + facing = 0, + }, + { + name = "energywind", + x = 312, + z = 2536, + facing = 0, + }, + { + name = "energywind", + x = 264, + z = 2536, + facing = 3, + }, + { + name = "energywind", + x = 776, + z = 2600, + facing = 0, + }, + { + name = "energywind", + x = 216, + z = 2536, + facing = 3, + }, + { + name = "energywind", + x = 776, + z = 2648, + facing = 0, + }, + { + name = "energywind", + x = 216, + z = 2488, + facing = 2, + }, + { + name = "energywind", + x = 728, + z = 2648, + facing = 3, + }, + { + name = "energywind", + x = 216, + z = 2440, + facing = 2, + }, + { + name = "energywind", + x = 680, + z = 2648, + facing = 3, + }, + { + name = "energywind", + x = 264, + z = 2440, + facing = 1, + }, + { + name = "energywind", + x = 680, + z = 2600, + facing = 2, + }, + { + name = "energywind", + x = 312, + z = 2440, + facing = 1, + }, + { + name = "energywind", + x = 680, + z = 2552, + facing = 2, + }, + { + name = "energywind", + x = 216, + z = 2712, + facing = 0, + }, + { + name = "energywind", + x = 728, + z = 2552, + facing = 1, + }, + { + name = "energywind", + x = 776, + z = 2552, + facing = 1, + }, + { + name = "energywind", + x = 216, + z = 2760, + facing = 0, + }, + { + name = "energywind", + x = 168, + z = 2760, + facing = 3, + }, + { + name = "energywind", + x = 120, + z = 2760, + facing = 3, + }, + { + name = "energywind", + x = 120, + z = 2712, + facing = 2, + }, + { + name = "energywind", + x = 120, + z = 2664, + facing = 2, + }, + { + name = "energywind", + x = 168, + z = 2664, + facing = 1, + }, + { + name = "energywind", + x = 216, + z = 2664, + facing = 1, + }, + { + name = "factoryship", + x = 1024, + z = 2672, + facing = 1, + }, + { + name = "shipassault", + x = 1600, + z = 2672, + facing = 1, + }, + { + name = "shipskirm", + x = 1600, + z = 2572, + facing = 1, + }, + { + name = "shipskirm", + x = 1600, + z = 2772, + facing = 1, + }, + { + name = "staticcon", + x = 904, + z = 2840, + facing = 1, + commands = { + {cmdID = planetUtilities.COMMAND.PATROL, pos = {904, 2840}}, + {cmdID = planetUtilities.COMMAND.PATROL, pos = {929, 2815}, options = {"shift"}}, + }, + }, + { + name = "staticcon", + x = 1000, + z = 2840, + facing = 1, + commands = { + {cmdID = planetUtilities.COMMAND.PATROL, pos = {1000, 2840}}, + {cmdID = planetUtilities.COMMAND.PATROL, pos = {1025, 2815}, options = {"shift"}}, + }, + }, + { + name = "turrettorp", + x = 1160, + z = 2296, + facing = 1, + }, + { + name = "turrettorp", + x = 1288, + z = 2880, + facing = 1, + }, } }, aiConfig = { { - startX = 4000, - startZ = 75, aiLib = "Circuit_difficulty_autofill", - humanName = "Enemy", bitDependant = true, + --aiLib = "Null AI", + --bitDependant = false, + humanName = "Dalkia", + allyTeam = 0, + unlocks = { + "staticmex", + "energywind", + "energyfusion", + "staticradar", + "staticstorage", + "staticcon", + "turretmissile", + "turrettorp", + "turretlaser", + "factoryamph", + "amphcon", + "amphaa", + "amphbomb", + "amphraid", + "amphimpulse", + "amphfloater", + "amphriot", + "amphassault", + "factoryhover", + "hovercon", + "hoverraid", + "hoverriot", + "hoverskirm", + "hoverassault", + "hoverarty", + "hoverdepthcharge", + "hoveraa", + "factorygunship", + "gunshipcon", + "gunshipbomb", + "gunshipemp", + "gunshipheavyskirm", + "gunshipraid", + "gunshipskirm", + "gunshipassault", + }, + commander = false, + startUnits = { + { + name = "staticstorage", + x = 296, + z = 1096, + facing = 1, + }, + { + name = "staticheavyradar", + x = 4032, + z = 3328, + facing = 1, + terraformHeight = 166, + }, + { + name = "turretaalaser", + x = 1032, + z = 4376, + facing = 1, + }, + { + name = "turretaalaser", + x = 1192, + z = 856, + facing = 1, + }, + { + name = "staticmex", + x = 1416, + z = 1256, + facing = 0, + }, + { + name = "staticmex", + x = 872, + z = 4344, + facing = 0, + }, + { + name = "staticmex", + x = 984, + z = 1128, + facing = 0, + }, + { + name = "staticmex", + x = 632, + z = 4296, + facing = 0, + }, + { + name = "staticmex", + x = 1016, + z = 904, + facing = 0, + }, + { + name = "staticmex", + x = 248, + z = 4712, + facing = 0, + }, + { + name = "staticmex", + x = 424, + z = 4856, + facing = 0, + }, + { + name = "staticmex", + x = 488, + z = 568, + facing = 0, + }, + { + name = "staticmex", + x = 216, + z = 296, + facing = 0, + }, + { + name = "staticmex", + x = 1080, + z = 5032, + facing = 0, + }, + { + name = "staticmex", + x = 1080, + z = 104, + facing = 0, + }, + { + name = "staticmex", + x = 1144, + z = 3832, + facing = 0, + }, + { + name = "staticmex", + x = 440, + z = 3336, + facing = 0, + }, + { + name = "staticmex", + x = 600, + z = 1720, + facing = 0, + }, + { + name = "energywind", + x = 1000, + z = 968, + facing = 3, + }, + { + name = "energywind", + x = 1000, + z = 1048, + facing = 3, + }, + { + name = "energywind", + x = 1048, + z = 1128, + facing = 3, + }, + { + name = "energywind", + x = 1128, + z = 1160, + facing = 3, + }, + { + name = "energywind", + x = 1208, + z = 1208, + facing = 3, + }, + { + name = "energywind", + x = 1288, + z = 1240, + facing = 3, + }, + { + name = "energywind", + x = 1368, + z = 1272, + facing = 3, + }, + { + name = "energysolar", + x = 1000, + z = 136, + facing = 3, + }, + { + name = "energysolar", + x = 888, + z = 216, + facing = 3, + }, + { + name = "energysolar", + x = 776, + z = 296, + facing = 3, + }, + { + name = "energysolar", + x = 664, + z = 376, + facing = 3, + }, + { + name = "energysolar", + x = 552, + z = 456, + facing = 3, + }, + { + name = "energysolar", + x = 392, + z = 408, + facing = 3, + }, + { + name = "energysolar", + x = 280, + z = 376, + facing = 3, + }, + { + name = "energysolar", + x = 424, + z = 632, + facing = 3, + }, + { + name = "energysolar", + x = 424, + z = 744, + facing = 3, + }, + { + name = "energysolar", + x = 424, + z = 856, + facing = 3, + }, + { + name = "energysolar", + x = 440, + z = 968, + facing = 3, + }, + { + name = "energysolar", + x = 440, + z = 1080, + facing = 3, + }, + { + name = "energywind", + x = 680, + z = 4264, + facing = 2, + }, + { + name = "energysolar", + x = 440, + z = 1192, + facing = 3, + }, + { + name = "energywind", + x = 760, + z = 4264, + facing = 2, + }, + { + name = "energysolar", + x = 440, + z = 1304, + facing = 3, + }, + { + name = "energywind", + x = 840, + z = 4280, + facing = 2, + }, + { + name = "energywind", + x = 920, + z = 4280, + facing = 2, + }, + { + name = "energywind", + x = 952, + z = 4200, + facing = 2, + }, + { + name = "energywind", + x = 984, + z = 4120, + facing = 2, + }, + { + name = "energysolar", + x = 472, + z = 1416, + facing = 3, + }, + { + name = "energywind", + x = 1016, + z = 4040, + facing = 2, + }, + { + name = "energywind", + x = 1048, + z = 3960, + facing = 2, + }, + { + name = "energywind", + x = 1096, + z = 3880, + facing = 2, + }, + { + name = "energysolar", + x = 504, + z = 1528, + facing = 3, + }, + { + name = "energysolar", + x = 536, + z = 1640, + facing = 3, + }, + { + name = "energysolar", + x = 504, + z = 3352, + facing = 1, + }, + { + name = "energysolar", + x = 424, + z = 3400, + facing = 0, + }, + { + name = "energysolar", + x = 376, + z = 3320, + facing = 3, + }, + { + name = "energysolar", + x = 456, + z = 3272, + facing = 2, + }, + { + name = "energysolar", + x = 344, + z = 4728, + facing = 2, + }, + { + name = "energysolar", + x = 456, + z = 4760, + facing = 2, + }, + { + name = "energysolar", + x = 568, + z = 4808, + facing = 2, + }, + { + name = "energysolar", + x = 680, + z = 4840, + facing = 2, + }, + { + name = "energysolar", + x = 792, + z = 4888, + facing = 2, + }, + { + name = "energysolar", + x = 904, + z = 4920, + facing = 2, + }, + { + name = "energysolar", + x = 1016, + z = 4952, + facing = 2, + }, + { + name = "staticmex", + x = 2728, + z = 4536, + facing = 0, + }, + { + name = "staticmex", + x = 3880, + z = 4184, + facing = 0, + }, + { + name = "staticmex", + x = 3176, + z = 3080, + facing = 0, + }, + { + name = "staticmex", + x = 3032, + z = 2424, + facing = 0, + }, + { + name = "staticmex", + x = 2008, + z = 3064, + facing = 0, + }, + { + name = "staticmex", + x = 2840, + z = 1128, + facing = 3, + }, + { + name = "staticmex", + x = 2616, + z = 344, + facing = 3, + }, + { + name = "turrettorp", + x = 3400, + z = 792, + facing = 1, + }, + { + name = "staticradar", + x = 3104, + z = 2592, + facing = 1, + }, + { + name = "turrettorp", + x = 2696, + z = 4408, + facing = 1, + }, + { + name = "turrettorp", + x = 3512, + z = 1912, + facing = 1, + }, + { + name = "turretgauss", + x = 3880, + z = 2056, + facing = 1, + }, + { + name = "turretgauss", + x = 3896, + z = 2232, + facing = 1, + }, + { + name = "turretaaclose", + x = 3752, + z = 2152, + facing = 1, + }, + { + name = "turretheavylaser", + x = 3512, + z = 424, + facing = 1, + }, + { + name = "turretemp", + x = 3664, + z = 384, + facing = 1, + }, + { + name = "turretaaflak", + x = 3320, + z = 360, + facing = 1, + }, + { + name = "turretgauss", + x = 3912, + z = 4728, + facing = 1, + }, + { + name = "turretemp", + x = 3968, + z = 4848, + facing = 1, + }, + { + name = "turrettorp", + x = 3768, + z = 4520, + facing = 1, + }, + { + name = "turretheavylaser", + x = 4104, + z = 3208, + facing = 1, + }, + { + name = "turrettorp", + x = 4008, + z = 4456, + facing = 1, + }, + { + name = "turretemp", + x = 4080, + z = 3088, + facing = 1, + }, + { + name = "turrettorp", + x = 4008, + z = 4168, + facing = 1, + }, + { + name = "turretriot", + x = 4152, + z = 3336, + facing = 1, + }, + { + name = "turretaaflak", + x = 3560, + z = 4536, + facing = 1, + }, + { + name = "turretaalaser", + x = 4216, + z = 3448, + facing = 1, + }, + { + name = "energywind", + x = 2776, + z = 4536, + facing = 0, + }, + { + name = "energywind", + x = 2776, + z = 4584, + facing = 0, + }, + { + name = "energywind", + x = 2728, + z = 4584, + facing = 3, + }, + { + name = "energywind", + x = 2680, + z = 4584, + facing = 3, + }, + { + name = "energywind", + x = 2680, + z = 4536, + facing = 2, + }, + { + name = "energywind", + x = 2680, + z = 4488, + facing = 2, + }, + { + name = "energywind", + x = 2728, + z = 4488, + facing = 1, + }, + { + name = "energywind", + x = 2776, + z = 4488, + facing = 1, + }, + { + name = "energywind", + x = 2056, + z = 3064, + facing = 0, + }, + { + name = "energywind", + x = 2056, + z = 3112, + facing = 0, + }, + { + name = "energywind", + x = 2008, + z = 3112, + facing = 3, + }, + { + name = "energywind", + x = 1960, + z = 3112, + facing = 3, + }, + { + name = "energywind", + x = 1960, + z = 3064, + facing = 2, + }, + { + name = "energywind", + x = 1960, + z = 3016, + facing = 2, + }, + { + name = "energywind", + x = 2008, + z = 3016, + facing = 1, + }, + { + name = "energywind", + x = 2056, + z = 3016, + facing = 1, + }, + { + name = "factoryamph", + x = 1368, + z = 4472, + facing = 1, + }, + { + name = "factoryhover", + x = 1440, + z = 992, + facing = 1, + }, + { + name = "staticcon", + x = 1352, + z = 4248, + facing = 1, + }, + { + name = "factorygunship", + x = 1640, + z = 680, + facing = 1, + }, + { + name = "staticcon", + x = 1400, + z = 792, + facing = 1, + }, + { + name = "staticcon", + x = 1480, + z = 792, + facing = 1, + }, + { + name = "hovercon", + x = 2824, + z = 737, + facing = 1, + }, + { + name = "hovercon", + x = 3016, + z = 598, + facing = 1, + }, + { + name = "hoverriot", + x = 3668, + z = 1842, + facing = 1, + }, + { + name = "hovercon", + x = 2568, + z = 2999, + facing = 1, + }, + { + name = "amphcon", + x = 3310, + z = 1664, + facing = 1, + }, + { + name = "hovercon", + x = 3381, + z = 1871, + facing = 1, + }, + { + name = "hovercon", + x = 3203, + z = 2595, + facing = 2, + }, + { + name = "turretlaser", + x = 1264, + z = 4272, + facing = 1, + }, + { + name = "hoverraid", + x = 1488, + z = 1558, + facing = 0, + }, + { + name = "hovercon", + x = 3335, + z = 2617, + facing = 2, + }, + { + name = "staticcon", + x = 1496, + z = 696, + facing = 1, + }, + { + name = "turretlaser", + x = 256, + z = 528, + facing = 1, + }, + { + name = "turretlaser", + x = 3104, + z = 2768, + facing = 1, + }, + { + name = "turrettorp", + x = 792, + z = 4008, + facing = 1, + }, + { + name = "amphaa", + x = 5408, + z = 4154, + facing = 0, + }, + { + name = "staticradar", + x = 2784, + z = 928, + facing = 1, + }, + { + name = "hovercon", + x = 2272, + z = 776, + facing = 1, + }, + { + name = "amphriot", + x = 3917, + z = 3133, + facing = 2, + }, + { + name = "staticradar", + x = 1088, + z = 4032, + facing = 1, + }, + { + name = "amphfloater", + x = 4290, + z = 3014, + facing = 2, + }, + { + name = "turretlaser", + x = 272, + z = 4832, + facing = 1, + }, + { + name = "gunshipskirm", + x = 3207, + z = 1307, + facing = 0, + }, + { + name = "hoverassault", + x = 1402, + z = 865, + facing = 3, + patrolRoute = { + {1525, 973}, + {1352, 808}, + }, + }, + { + name = "turretlaser", + x = 1152, + z = 1392, + facing = 1, + }, + { + name = "hovercon", + x = 2713, + z = 655, + facing = 0, + }, + { + name = "gunshipskirm", + x = 3647, + z = 58, + facing = 3, + }, + { + name = "amphfloater", + x = 4308, + z = 2974, + facing = 1, + }, + { + name = "hoverskirm", + x = 4073, + z = 1998, + facing = 1, + }, + { + name = "turretmissile", + x = 2944, + z = 2688, + facing = 1, + }, + { + name = "turrettorp", + x = 2712, + z = 728, + facing = 1, + }, + { + name = "hovercon", + x = 3576, + z = 2392, + facing = 1, + }, + { + name = "staticradar", + x = 2864, + z = 2848, + facing = 1, + }, + { + name = "amphaa", + x = 4081, + z = 3147, + facing = 1, + }, + { + name = "amphcon", + x = 2605, + z = 4404, + facing = 1, + }, + { + name = "turrettorp", + x = 2136, + z = 3080, + facing = 1, + }, + { + name = "turretlaser", + x = 464, + z = 2736, + facing = 1, + }, + { + name = "amphcon", + x = 3761, + z = 4258, + facing = 1, + }, + { + name = "turretlaser", + x = 1456, + z = 4288, + facing = 1, + }, + { + name = "gunshipskirm", + x = 5863, + z = 756, + facing = 1, + }, + { + name = "staticcon", + x = 1496, + z = 648, + facing = 1, + }, + { + name = "gunshipemp", + x = 5600, + z = 545, + facing = 3, + }, + { + name = "staticmex", + x = 3912, + z = 2728, + facing = 0, + }, + { + name = "amphaa", + x = 2620, + z = 3627, + facing = 1, + }, + { + name = "amphaa", + x = 2112, + z = 3895, + facing = 2, + }, + { + name = "hoverraid", + x = 4702, + z = 2526, + facing = 1, + }, + { + name = "staticstorage", + x = 1912, + z = 3000, + facing = 1, + }, + { + name = "hoverraid", + x = 3287, + z = 2766, + facing = 0, + }, + { + name = "turretmissile", + x = 3264, + z = 2672, + facing = 1, + }, + { + name = "hovercon", + x = 1517, + z = 820, + facing = 2, + }, + { + name = "turretmissile", + x = 2800, + z = 576, + facing = 1, + }, + { + name = "gunshipskirm", + x = 1667, + z = 680, + facing = 1, + }, + { + name = "amphaa", + x = 1583, + z = 4166, + facing = 2, + }, + { + name = "hoverraid", + x = 2260, + z = 2251, + facing = 0, + }, + { + name = "hoverraid", + x = 1965, + z = 1957, + facing = 0, + }, + { + name = "staticradar", + x = 2560, + z = 4480, + facing = 1, + }, + { + name = "turrettorp", + x = 3336, + z = 1048, + facing = 0, + }, + { + name = "turrettorp", + x = 3368, + z = 1464, + facing = 0, + }, + { + name = "turretlaser", + x = 3248, + z = 2496, + facing = 1, + buildProgress = 0.68510002, + }, + { + name = "amphfloater", + x = 1404, + z = 4472, + facing = 1, + buildProgress = 0.34220001, + }, + { + name = "hovercon", + x = 1408, + z = 992, + facing = 1, + buildProgress = 0.67110002, + }, + { + name = "gunshipskirm", + x = 1641, + z = 680, + facing = 0, + buildProgress = 0.0355, + }, + { + name = "staticcon", + x = 1448, + z = 696, + facing = 1, + buildProgress = 0.0204, + }, + } + }, + { + startX = 9500, + startZ = 2500, + aiLib = "Circuit_difficulty_autofill", + bitDependant = true, + --aiLib = "Null AI", + --bitDependant = false, + humanName = "Sommelis", commanderParameters = { facplop = false, }, allyTeam = 1, unlocks = { - "cloakraid", + "staticmex", + "energywind", + "energyfusion", + "staticradar", + "staticstorage", + "staticcon", + "turretmissile", + "turrettorp", + "turretlaser", + "factoryamph", + "amphcon", + "amphaa", + "amphbomb", + "amphraid", + "amphimpulse", + "amphfloater", + "amphriot", + "amphassault", + "factoryhover", + "hovercon", + "hoverraid", + "hoverriot", + "hoverskirm", + "hoverassault", + "hoverarty", + "hoverdepthcharge", + "hoveraa", + "factoryship", + "shipcon", + "shipaa", + "shiparty", + "shipassault", + "shipcon", + "shipriot", + "shipskirm", + "shipscout", + "shiptorpraider", + "subraider", + "factoryplane", + "staticrearm", + "planescout", + "planecon", + "planefighter", + "planeheavyfighter", + "bomberprec", + "bomberdisarm", + "striderhub", + "shipcarrier", + }, + difficultyDependantUnlocks = { + [4] = {"bomberheavy"}, }, - commanderLevel = 2, + commanderLevel = 6, commander = { name = "Most Loyal Opposition", - chassis = "engineer", + chassis = "strike", decorations = { - "skin_support_dark", - icon_overhead = { image = "UW" } }, - modules = { } + modules = { + "commweapon_heavymachinegun", + "commweapon_disintegrator", + "module_autorepair", + "module_autorepair", + "module_autorepair", + "module_ablative_armor", + "module_ablative_armor", + "module_ablative_armor", + "module_adv_targeting", + "module_adv_targeting", + "module_high_power_servos", + "module_high_power_servos", + "module_high_power_servos", + } + }, + midgameUnits = { + { + name = "shipcarrier", + x = 10100, + z = 2170, + facing = 2, + difficultyAtLeast = 4, + spawnRadius = 50, + delay = 5*30*60, + orbitalDrop = false, + }, + { + name = "bomberheavy", + x = 10100, + z = 2170, + facing = 2, + spawnRadius = 50, + delay = 4*30*60, + orbitalDrop = false, + }, + { + name = "bomberheavy", + x = 10100, + z = 2170, + facing = 2, + difficultyAtLeast = 3, + spawnRadius = 50, + delay = 4*30*60, + orbitalDrop = false, + }, }, startUnits = { + { + name = "staticarty", + x = 5960, + z = 1800, + facing = 3, + terraformHeight = 166, + bonusObjectiveID = 2, + mapMarker = { + text = "Cerberus", + color = "red_small" + }, + }, + { + name = "staticheavyradar", + x = 6064, + z = 2160, + facing = 1, + terraformHeight = 166, + }, + { + name = "factoryamph", + x = 8504, + z = 936, + facing = 3, + }, + { + name = "staticcon", + x = 8552, + z = 824, + facing = 3, + }, + { + name = "staticmex", + x = 9544, + z = 1592, + facing = 0, + }, + { + name = "staticmex", + x = 9256, + z = 3208, + facing = 0, + }, + { + name = "staticmex", + x = 9256, + z = 1208, + facing = 0, + }, + { + name = "staticmex", + x = 9160, + z = 3656, + facing = 0, + }, + { + name = "staticmex", + x = 9256, + z = 968, + facing = 0, + }, + { + name = "staticmex", + x = 9080, + z = 3880, + facing = 0, + }, + { + name = "staticmex", + x = 8824, + z = 1048, + facing = 0, + }, + { + name = "staticmex", + x = 8616, + z = 3576, + facing = 0, + }, + { + name = "staticmex", + x = 9352, + z = 152, + facing = 0, + }, + { + name = "staticmex", + x = 9352, + z = 2680, + facing = 0, + }, + { + name = "staticmex", + x = 10024, + z = 408, + facing = 0, + }, + { + name = "staticmex", + x = 9928, + z = 680, + facing = 0, + }, + { + name = "staticmex", + x = 9896, + z = 3944, + facing = 0, + }, + { + name = "staticmex", + x = 9544, + z = 4504, + facing = 0, + }, + { + name = "staticmex", + x = 9880, + z = 4776, + facing = 0, + }, + { + name = "energyheavygeo", + x = 7624, + z = 3464, + facing = 3, + }, + { + name = "energypylon", + x = 6504, + z = 1848, + facing = 3, + }, + { + name = "energypylon", + x = 7240, + z = 2504, + facing = 3, + }, + { + name = "energypylon", + x = 8040, + z = 3064, + facing = 3, + }, + { + name = "factoryhover", + x = 9008, + z = 4032, + facing = 3, + }, + { + name = "energypylon", + x = 8888, + z = 3576, + facing = 2, + }, + { + name = "turretheavy", + x = 6200, + z = 1496, + facing = 2, + }, + { + name = "energywind", + x = 8888, + z = 1000, + facing = 2, + }, + { + name = "energywind", + x = 8968, + z = 1000, + facing = 2, + }, + { + name = "energywind", + x = 9048, + z = 1000, + facing = 2, + }, + { + name = "energywind", + x = 9128, + z = 1000, + facing = 2, + }, + { + name = "energywind", + x = 9208, + z = 1000, + facing = 2, + }, + { + name = "energywind", + x = 9208, + z = 1080, + facing = 2, + }, + { + name = "energywind", + x = 9128, + z = 1080, + facing = 2, + }, + { + name = "energywind", + x = 9048, + z = 1080, + facing = 2, + }, + { + name = "energywind", + x = 8968, + z = 1080, + facing = 2, + }, + { + name = "energywind", + x = 8888, + z = 1080, + facing = 2, + }, + { + name = "energywind", + x = 8888, + z = 1160, + facing = 2, + }, + { + name = "energywind", + x = 8968, + z = 1160, + facing = 2, + }, + { + name = "energywind", + x = 9048, + z = 1160, + facing = 2, + }, + { + name = "energywind", + x = 9128, + z = 1160, + facing = 2, + }, + { + name = "energywind", + x = 9208, + z = 1160, + facing = 2, + }, + { + name = "turrettorp", + x = 6216, + z = 1160, + facing = 3, + }, + { + name = "turrettorp", + x = 6248, + z = 1016, + facing = 3, + }, + { + name = "turrettorp", + x = 6264, + z = 680, + facing = 3, + }, + { + name = "energysolar", + x = 10088, + z = 424, + facing = 1, + }, + { + name = "turrettorp", + x = 6232, + z = 536, + facing = 3, + }, + { + name = "energysolar", + x = 10008, + z = 472, + facing = 0, + }, + { + name = "energysolar", + x = 9960, + z = 392, + facing = 3, + }, + { + name = "energysolar", + x = 10040, + z = 344, + facing = 2, + }, + { + name = "energysolar", + x = 9288, + z = 136, + facing = 3, + }, + { + name = "energysolar", + x = 9416, + z = 168, + facing = 1, + }, + { + name = "energysolar", + x = 9336, + z = 216, + facing = 0, + }, + { + name = "turretaafar", + x = 6048, + z = 2000, + facing = 3, + }, + { + name = "energysolar", + x = 9368, + z = 88, + facing = 2, + }, + { + name = "energysolar", + x = 9992, + z = 696, + facing = 1, + }, + { + name = "energysolar", + x = 9912, + z = 744, + facing = 0, + }, + { + name = "energysolar", + x = 9864, + z = 664, + facing = 3, + }, + { + name = "energysolar", + x = 9944, + z = 616, + facing = 2, + }, + { + name = "energysolar", + x = 9608, + z = 1608, + facing = 1, + }, + { + name = "energysolar", + x = 9528, + z = 1656, + facing = 0, + }, + { + name = "energysolar", + x = 9480, + z = 1576, + facing = 3, + }, + { + name = "energysolar", + x = 9560, + z = 1528, + facing = 2, + }, + { + name = "staticmex", + x = 6344, + z = 1272, + facing = 0, + }, + { + name = "staticmex", + x = 7208, + z = 1736, + facing = 0, + }, + { + name = "staticmex", + x = 8168, + z = 2920, + facing = 0, + }, + { + name = "staticmex", + x = 7464, + z = 2360, + facing = 0, + }, + { + name = "staticmex", + x = 9912, + z = 2600, + facing = 3, + }, + { + name = "staticmex", + x = 9816, + z = 2280, + facing = 3, + }, + { + name = "factoryship", + x = 9600, + z = 2432, + facing = 3, + }, + { + name = "energywind", + x = 9880, + z = 2328, + facing = 3, + }, + { + name = "staticmex", + x = 7576, + z = 328, + facing = 0, + }, + { + name = "energywind", + x = 9912, + z = 2408, + facing = 3, + }, + { + name = "energywind", + x = 9944, + z = 2488, + facing = 3, + }, + { + name = "energywind", + x = 9960, + z = 2568, + facing = 3, + }, + { + name = "energywind", + x = 9864, + z = 2664, + facing = 3, + }, + { + name = "energywind", + x = 9784, + z = 2680, + facing = 3, + }, + { + name = "staticmex", + x = 7288, + z = 3976, + facing = 3, + }, + { + name = "energywind", + x = 9704, + z = 2696, + facing = 3, + }, + { + name = "energywind", + x = 9624, + z = 2696, + facing = 3, + }, + { + name = "energywind", + x = 9544, + z = 2712, + facing = 3, + }, + { + name = "staticmex", + x = 7512, + z = 4632, + facing = 3, + }, + { + name = "energywind", + x = 9464, + z = 2728, + facing = 3, + }, + { + name = "energywind", + x = 9384, + z = 2744, + facing = 3, + }, + { + name = "staticcon", + x = 9528, + z = 2584, + facing = 3, + }, + { + name = "staticcon", + x = 9624, + z = 2584, + facing = 3, + commands = { + {cmdID = planetUtilities.COMMAND.PATROL, pos = {9599, 2559}, options = {"shift"}}, + {cmdID = planetUtilities.COMMAND.PATROL, pos = {9624, 2584}, options = {"shift"}}, + }, + }, + { + name = "energysolar", + x = 9320, + z = 3224, + facing = 2, + }, + { + name = "energysolar", + x = 9240, + z = 3272, + facing = 1, + }, + { + name = "energysolar", + x = 9192, + z = 3192, + facing = 0, + }, + { + name = "turrettorp", + x = 6200, + z = 3624, + facing = 3, + }, + { + name = "turrettorp", + x = 6392, + z = 3256, + facing = 3, + }, + { + name = "energysolar", + x = 9272, + z = 3144, + facing = 3, + }, + { + name = "turrettorp", + x = 6136, + z = 3912, + facing = 3, + }, + { + name = "staticcon", + x = 9176, + z = 4136, + facing = 2, + }, + { + name = "turrettorp", + x = 6168, + z = 4104, + facing = 3, + }, + { + name = "energysolar", + x = 9960, + z = 3960, + facing = 2, + }, + { + name = "energysolar", + x = 9880, + z = 4008, + facing = 1, + }, + { + name = "turrettorp", + x = 6152, + z = 4328, + facing = 3, + }, + { + name = "turretheavylaser", + x = 6008, + z = 4520, + facing = 3, + }, + { + name = "energysolar", + x = 9832, + z = 3928, + facing = 0, + }, + { + name = "turretaaflak", + x = 6168, + z = 1656, + facing = 3, + }, + { + name = "energysolar", + x = 9912, + z = 3880, + facing = 3, + }, + { + name = "turretriot", + x = 5816, + z = 4664, + facing = 3, + }, + { + name = "turretaaflak", + x = 5944, + z = 2184, + facing = 3, + }, + { + name = "turretriot", + x = 5704, + z = 1880, + facing = 3, + }, + { + name = "turretriot", + x = 5784, + z = 2280, + facing = 3, + }, + { + name = "turrettorp", + x = 5672, + z = 2120, + facing = 3, + }, + { + name = "turretheavylaser", + x = 6184, + z = 280, + facing = 3, + }, + { + name = "turretriot", + x = 6040, + z = 168, + facing = 3, + }, + { + name = "turretaalaser", + x = 6376, + z = 4488, + facing = 3, + }, + { + name = "turretaalaser", + x = 6408, + z = 4312, + facing = 3, + }, + { + name = "turretgauss", + x = 6280, + z = 2584, + facing = 3, + }, + { + name = "turretgauss", + x = 6408, + z = 2872, + facing = 3, + }, + { + name = "turretaalaser", + x = 6536, + z = 2632, + facing = 3, + }, + { + name = "turretaalaser", + x = 6408, + z = 344, + facing = 3, + }, + { + name = "energywind", + x = 7624, + z = 328, + facing = 0, + }, + { + name = "energywind", + x = 7624, + z = 376, + facing = 0, + }, + { + name = "energywind", + x = 7576, + z = 376, + facing = 3, + }, + { + name = "energywind", + x = 7528, + z = 376, + facing = 3, + }, + { + name = "energywind", + x = 7528, + z = 328, + facing = 2, + }, + { + name = "energywind", + x = 7528, + z = 280, + facing = 2, + }, + { + name = "energywind", + x = 7576, + z = 280, + facing = 1, + }, + { + name = "energywind", + x = 7624, + z = 280, + facing = 1, + }, + { + name = "energywind", + x = 7560, + z = 4632, + facing = 0, + }, + { + name = "energywind", + x = 7560, + z = 4680, + facing = 0, + }, + { + name = "energywind", + x = 7512, + z = 4680, + facing = 3, + }, + { + name = "energywind", + x = 7464, + z = 4680, + facing = 3, + }, + { + name = "energywind", + x = 7464, + z = 4632, + facing = 2, + }, + { + name = "energywind", + x = 7464, + z = 4584, + facing = 2, + }, + { + name = "energywind", + x = 7512, + z = 4584, + facing = 1, + }, + { + name = "energywind", + x = 7560, + z = 4584, + facing = 1, + }, + { + name = "factoryplane", + x = 9120, + z = 4328, + facing = 2, + }, + { + name = "staticrearm", + x = 9464, + z = 4328, + facing = 2, + }, + { + name = "staticcon", + x = 9256, + z = 4136, + facing = 2, + }, + { + name = "staticradar", + x = 7168, + z = 2016, + facing = 3, + }, + { + name = "hoverassault", + x = 5226, + z = 1945, + facing = 0, + }, + { + name = "shipassault", + x = 4239, + z = 847, + facing = 3, + }, + { + name = "hoverassault", + x = 8063, + z = 4064, + facing = 3, + }, + { + name = "turretmissile", + x = 6144, + z = 4944, + facing = 2, + }, + { + name = "staticmex", + x = 6264, + z = 5032, + facing = 0, + }, + { + name = "hovercon", + x = 6127, + z = 4812, + facing = 0, + }, + { + name = "amphcon", + x = 5655, + z = 1105, + facing = 3, + }, + { + name = "shipcon", + x = 5537, + z = 2241, + facing = 2, + }, + { + name = "staticstorage", + x = 8232, + z = 2888, + facing = 3, + }, + { + name = "amphcon", + x = 5337, + z = 1121, + facing = 3, + }, + { + name = "turrettorp", + x = 9720, + z = 2600, + facing = 3, + }, + { + name = "turrettorp", + x = 8280, + z = 2808, + facing = 3, + }, + { + name = "turrettorp", + x = 9000, + z = 3384, + facing = 3, + }, + { + name = "turretlaser", + x = 8528, + z = 720, + facing = 3, + }, + { + name = "turretlaser", + x = 9008, + z = 816, + facing = 3, + }, + { + name = "amphaa", + x = 4235, + z = 954, + facing = 2, + }, + { + name = "staticradar", + x = 8864, + z = 3456, + facing = 3, + }, + { + name = "turretlaser", + x = 7344, + z = 2016, + facing = 3, + }, + { + name = "shipcon", + x = 8869, + z = 2312, + facing = 3, + }, + { + name = "turretlaser", + x = 10000, + z = 3840, + facing = 3, + }, + { + name = "shipcon", + x = 6151, + z = 2900, + facing = 2, + }, + { + name = "staticcon", + x = 6248, + z = 4872, + facing = 2, + buildProgress = 0.5424, + }, + { + name = "hovercon", + x = 7321, + z = 4127, + facing = 1, + }, + { + name = "turretlaser", + x = 9536, + z = 400, + facing = 3, + }, + { + name = "turretlaser", + x = 6176, + z = 2768, + facing = 3, + }, + { + name = "amphcon", + x = 8762, + z = 2120, + facing = 3, + }, + { + name = "hovercon", + x = 6273, + z = 4962, + facing = 3, + }, + { + name = "staticradar", + x = 9616, + z = 560, + facing = 3, + }, + { + name = "amphcon", + x = 8718, + z = 2216, + facing = 3, + }, + { + name = "turretlaser", + x = 9616, + z = 4560, + facing = 3, + }, + { + name = "bomberprec", + x = 5443, + z = 4106, + facing = 0, + }, + { + name = "shiparty", + x = 5756, + z = 3229, + facing = 3, + }, + { + name = "staticmex", + x = 6392, + z = 2536, + facing = 0, + }, + { + name = "turrettorp", + x = 7448, + z = 392, + facing = 3, + }, + { + name = "turretlaser", + x = 8480, + z = 1136, + facing = 3, + }, + { + name = "staticradar", + x = 7488, + z = 544, + facing = 3, + }, + { + name = "turrettorp", + x = 6440, + z = 1368, + facing = 3, + }, + { + name = "bomberdisarm", + x = 8653, + z = 2118, + facing = 0, + }, + { + name = "turrettorp", + x = 7384, + z = 4200, + facing = 3, + }, + { + name = "hoverassault", + x = 3406, + z = 3741, + facing = 0, + }, + { + name = "staticradar", + x = 7472, + z = 4288, + facing = 3, + }, + { + name = "hoverskirm", + x = 5814, + z = 3892, + facing = 0, + }, + { + name = "shipriot", + x = 5677, + z = 3148, + facing = 0, + }, + { + name = "planeheavyfighter", + x = 4921, + z = 721, + facing = 2, + }, + { + name = "staticmex", + x = 5256, + z = 2184, + facing = 0, + }, + { + name = "turrettorp", + x = 6024, + z = 4744, + facing = 2, + }, + { + name = "staticmex", + x = 5912, + z = 2856, + facing = 0, + }, + { + name = "staticcon", + x = 6456, + z = 4008, + facing = 2, + buildProgress = 0.2712, + }, + { + name = "amphfloater", + x = 7490, + z = 1191, + facing = 3, + }, + { + name = "staticmex", + x = 6424, + z = 4056, + facing = 0, + }, + { + name = "planeheavyfighter", + x = 5852, + z = 2097, + facing = 2, + }, + { + name = "hovercon", + x = 6288, + z = 4768, + facing = 2, + }, + { + name = "shipcon", + x = 9481, + z = 2389, + facing = 2, + }, + { + name = "staticmex", + x = 5720, + z = 1992, + facing = 0, + }, + { + name = "turrettorp", + x = 5992, + z = 2808, + facing = 3, + }, + { + name = "turretmissile", + x = 6352, + z = 3968, + facing = 2, + }, + { + name = "turrettorp", + x = 6536, + z = 4024, + facing = 2, + }, + { + name = "shipscout", + x = 5751, + z = 1201, + facing = 1, + }, + { + name = "amphfloater", + x = 7831, + z = 1081, + facing = 3, + }, + { + name = "shiptorpraider", + x = 7206, + z = 3101, + facing = 3, + }, + { + name = "shipcon", + x = 9557, + z = 2442, + facing = 3, + }, + { + name = "turretmissile", + x = 6096, + z = 2608, + facing = 3, + }, + { + name = "staticcon", + x = 9752, + z = 2440, + facing = 3, + commands = { + {cmdID = planetUtilities.COMMAND.PATROL, pos = {9727, 2465}, options = {"shift"}}, + {cmdID = planetUtilities.COMMAND.PATROL, pos = {9752, 2440}, options = {"shift"}}, + }, + }, + { + name = "amphfloater", + x = 8468, + z = 936, + facing = 3, + buildProgress = 0.98549998, + }, + { + name = "hovercon", + x = 8732, + z = 4029, + facing = 0, + }, + { + name = "staticcon", + x = 6264, + z = 2664, + facing = 3, + buildProgress = 0.26930001, + }, + { + name = "staticcon", + x = 9752, + z = 2488, + facing = 3, + commands = { + {cmdID = planetUtilities.COMMAND.PATROL, pos = {9727, 2513}, options = {"shift"}}, + {cmdID = planetUtilities.COMMAND.PATROL, pos = {9752, 2488}, options = {"shift"}}, + }, + }, + { + name = "hovercon", + x = 9040, + z = 4032, + facing = 3, + buildProgress = 0.35330001, + }, + { + name = "staticmex", + x = 5544, + z = 1112, + facing = 0, + buildProgress = 0.2899, + }, + { + name = "shiptorpraider", + x = 9620, + z = 2440, + facing = 3, + buildProgress = 0.1266, + }, } }, }, defeatConditionConfig = { - + -- Indexed by allyTeam. + [0] = { }, + [1] = { + ignoreUnitLossDefeat = false, + vitalCommanders = true, + vitalUnitTypes = { + "factoryship", + "factoryplane", + "factoryamph", + "factoryhover", + }, + loseAfterSeconds = false, + allyTeamLossObjectiveID = 1, + }, }, objectiveConfig = { -- This is just related to displaying objectives on the UI. + [1] = { + description = "Destroy the enemy Commander and Factories", + }, + [2] = { + description = "Protect your Commander", + }, }, bonusObjectiveConfig = { - } + [1] = { + satisfyOnce = true, + countRemovedUnits = true, -- count units that previously died. + comparisionType = planetUtilities.COMPARE.AT_LEAST, + targetNumber = 7, + unitTypes = { + "shipassault", + }, + image = planetUtilities.ICON_DIR .. "shipassault.png", + imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, + description = "Build 6 Sirens", + experience = planetUtilities.BONUS_EXP, + }, + [2] = { + satisfyByTime = 9*60, + comparisionType = planetUtilities.COMPARE.AT_MOST, + targetNumber = 0, + -- See bonusObjectiveID in units table + image = planetUtilities.ICON_DIR .. "staticarty.png", + imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, + description = "Destroy the marked enemy Cerberus before 10:00", + experience = planetUtilities.BONUS_EXP, + }, + [3] = { + victoryByTime = 15*60, + image = planetUtilities.ICON_OVERLAY.CLOCK, + description = "Win by 18:00", + experience = planetUtilities.BONUS_EXP, + }, + }, }, completionReward = { experience = planetUtilities.MAIN_EXP,