diff --git a/LuaMenu/configs/gameConfig/zk/ModOptions.lua b/LuaMenu/configs/gameConfig/zk/ModOptions.lua index 30ffdc9c0..6a382b3c6 100644 --- a/LuaMenu/configs/gameConfig/zk/ModOptions.lua +++ b/LuaMenu/configs/gameConfig/zk/ModOptions.lua @@ -1,3 +1,4 @@ + -- $Id: ModOptions.lua 4642 2009-05-22 05:32:36Z carrepairer $ @@ -82,7 +83,7 @@ local options = { { key='none', name = "Off", desc = 'Turns commsharing off.' }, }, }, - + { key = "noelo", name = "No Elo", @@ -276,6 +277,14 @@ local options = { section= 'a_important', def=false, }, + { + key='disable_local_widgets', + name='Disable Local Widgets', + desc='Disable loading of local widget.', + type='bool', + section= 'a_important', + def=false, + }, { key='campaign_chassis', name='Allow campaign commander chassis', @@ -390,6 +399,14 @@ local options = { section= 'experimental', def = false, }, + { + key = 'enemyterra', + name = 'Allow Terraform Near Enemies', + desc = 'Without this option terraform progress is 20x slower if an enemy unit is visible nearby.', + type = 'bool', + section= 'experimental', + def = false, + }, { key = "tweakunits", name = "Tweak Units", @@ -538,6 +555,7 @@ local options = { -- -- } -- }, -- }, + { key = 'chicken', name = 'Chicken', @@ -561,6 +579,7 @@ local options = { { key = 'Chicken: Custom', name = "Chicken: Custom", desc = 'Customize your chicken.' }, }, }, +--[[ Broken, see gamseide ticket #3567 { key = "playerchickens", name = "Players as chickens", @@ -569,6 +588,7 @@ local options = { def = false, section = 'chicken', }, +]] { key = "eggs", name = "Chicken Eggs", diff --git a/LuaMenu/configs/gameConfig/zk/aiSimpleName.lua b/LuaMenu/configs/gameConfig/zk/aiSimpleName.lua index ea582037a..c8eef30c8 100644 --- a/LuaMenu/configs/gameConfig/zk/aiSimpleName.lua +++ b/LuaMenu/configs/gameConfig/zk/aiSimpleName.lua @@ -18,6 +18,7 @@ local devSubnameMap = { {"DevCircuitAINormal", "AI: Normal" .. DEV_NAME}, {"DevCircuitAIHard", "AI: Hard" .. DEV_NAME}, {"DevCircuitAIBrutal", "AI: Brutal" .. DEV_NAME}, + {"DevCircuitEconomist", "AI: Economist Personality" .. DEV_NAME}, {"CAI", "AI: Legacy"}, } @@ -44,6 +45,7 @@ local simpleAiOrder = { ["AI: Normal" .. DEV_NAME] = -3, ["AI: Hard" .. DEV_NAME] = -2, ["AI: Brutal" .. DEV_NAME] = -1, + ["AI: Economist Personality" .. DEV_NAME] = -0.9, ["AI: Beginner" .. STABLE_NAME] = 0, ["AI: Novice" .. STABLE_NAME] = 1, ["AI: Easy" .. STABLE_NAME] = 2, @@ -68,6 +70,7 @@ local aiTooltip = { ["AI: Normal" .. DEV_NAME] = "Recommended for veteran strategy gamers.", ["AI: Hard" .. DEV_NAME] = "Recommended for veteran strategy gamers who aren't afraid of losing.", ["AI: Brutal" .. DEV_NAME] = "Recommended for veterans of Zero-K.", + ["AI: Economist Personality" .. DEV_NAME] = "Brutal AI with a bias for escalating and economy.", ["AI: Beginner" .. STABLE_NAME] = "Recommended for players with no strategy game experience.", ["AI: Novice" .. STABLE_NAME] = "Recommended for players with some strategy game experience, or experience with related genres (such as MOBA).", ["AI: Easy" .. STABLE_NAME] = "Recommended for experienced strategy gamers with some experience of streaming economy.", diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll index 179d93d4e..6f03c8a6f 100755 Binary files a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll and b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll differ diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so index a01e16ba5..ae8923073 100644 Binary files a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so and b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so differ diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll index 670fe126c..e09897445 100755 Binary files a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll and b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll differ diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so index 91ac14c7d..25215d729 100644 Binary files a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so and b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so differ diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/behaviour.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/behaviour.json new file mode 100644 index 000000000..c6b037ac1 --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/behaviour.json @@ -0,0 +1,1075 @@ +// Mono-space font required +// Mono-space font required +{ +"quota": { + "scout": 1, // max scout units out of raiders + "raid": [4.0, 20.0], // [, ] power of raider squad + "attack": 9.0, // min power of attack group + "def_rad": 50, // defence radius + "thr_mod": { + "attack": [0.575, 0.6], // [, ] enemy threat modifier for target selection of attack task + "defence": [0.85, 0.90], // [, ] enemy threat modifier for group size calculation of defence task + "mobile": 1.25, // initial modifier for power of attack group based on mobile enemy threat + "static": 5, // initial modifier for power of attack group based on static enemy threat + "comm": 0.6 + }, + "aa_threat": 80.0, // anti-air threat threshold, air factories will stop production when AA threat exceeds + "slack_mod": 1.5 // slack multiplier for threat map +}, + +// If unit's health drops below specified percent it will retreat +"retreat": { + "builder": 0.55, // default value for all builders + "fighter": 0.45, // default value for all not-builder units + "shield": [0.25, 0.275] // [, ] shield power +}, + +"behaviour": { + // factorycloak + "cloakcon": { + // "role": [
, , , ...] + //
is the role to make desicions of when to build it and what task to assign + // is to decide how to counter enemy unit, if missing then equals to
+ // Roles: builder, scout, raider, riot, assault, skirmish, artillery, anti_air, anti_sub, anti_heavy, bomber, support, mine, transport, air, sub, static, heavy, super + // Auto-assigned roles: builder, air, static, super + "role": ["builder", "mine"] + + // Attributes - optinal states + // "melee" - always move close to target, disregard attack range + // "no_jump" - disable jump on retreat + // "boost" - boost speed on retreat + // "comm" - commander, auto-assigned + // "no_strafe" - disable gunship's strafe + // "stockpile" - load weapon before any task (NOT IMPLEMENTED), auto-assigned + // "siege" - mostly use fight command instead of move + // "ret_hold" - hold fire on retreat + // "ret_fight" - fight on retreat +// "attribute": ["boost", "no_strafe"], + + // Fire state (open by default) + // "hold" - hold fire + // "return" - return fire + // "open" - fire at will +// "fire_state": "open", + + // Overrides reloadTime in seconds +// "reload": 1.0, + + // Limits number of units +// "limit": 10, + + // Unit can be built only since specific time in seconds +// "since": 60, + + // Minimum hp percent before retreat +// "retreat": 0.8, + + // Ally threat multiplier +// "pwr_mod": 1.0, + // Enemy threat multiplier +// "thr_mod": 1.0 + }, + "cloakraid": { + "role": ["raider"], + "attribute": ["scout", "siege"], + "retreat": 0.1, + "pwr_mod": 0.8, + "thr_mod": 0.65 + }, + "cloakheavyraid": { + "role": ["raider"], + "attribute": ["siege", "ret_fight"], + "since": 340, + "pwr_mod": 1.25, + "thr_mod": 0.1, + "retreat": 0.25 + }, + "cloakskirm": { + "role": ["skirmish"], + "attribute": ["ret_fight"], + "pwr_mod": 0.85, + "since": 180, + "limit": 20, + "retreat": 0.35 // mostly disposable + }, + "cloakriot": { + "role": ["riot", "anti_sub"], + "attribute": ["melee", "ret_fight"], + "since": 180, + "retreat": 0.55, + "pwr_mod": 1.4, + "thr_mod": 2.3 + }, + "cloakassault": { + "role": ["assault", "anti_sub"], + "attribute": ["melee"], + "retreat": 0.35, // assaults need to assault + "since": 240, + "pwr_mod": 0.7, + "thr_mod": 1.1 + }, + "cloakarty": { + "role": ["artillery"], + "attribute": ["siege"], + "since": 550, + "limit": 4, + "retreat": 0.9, + "thr_mod": 0.1 + }, + "cloaksnipe": { + "role": ["transport", "heavy", "builder"], + "attribute": ["support"], + "pwr_mod": 3.0, + "since": 520, + "thr_mod": 0.01, + "retreat": 0.69 + }, + "cloakbomb": { + "role": ["mine"], + "retreat": 0.01 + }, + "cloakjammer": { + "role": ["assault"], + "since": 480, + "retreat": 0.5, + "limit": 1 + }, + "cloakaa": { + "role": ["anti_air"], + "attribute": ["melee", "ret_fight", "support"], + "retreat": 0.7, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factorygunship + "gunshipcon": { + "role": ["builder", "air"], + "limit": 2, + "since": 240, + "retreat": 0.99 + }, + "gunshipbomb": { + "role": ["scout", "air"], + "attribute": ["melee"], + "limit": 0, + "thr_mod": 10.0, + "retreat": 0.01 + }, + "gunshipemp": { + "role": ["anti_heavy", "air"], + "thr_mod": 0.1, + "pwr_mod": 0.1, + "since": 600, + "limit": 6, + "retreat": 0.9 + }, + "gunshipskirm": { + "role": ["air"], + "retreat": 0.65, + "pwr_mod": 0.8, + "limit": 6, + "thr_mod": 0.7 + }, + "gunshipraid": { + "role": ["air"], + "limit": 0, + "retreat": 0.7, + "pwr_mod": 0.25, + "thr_mod": 0.25 + }, + "gunshipheavyskirm": { + "role": ["assault", "air"], + "since": 330, + "attribute": ["no_strafe"], + "retreat": 0.65, + "pwr_mod": 1.00, + "thr_mod": 1.00 + }, + "gunshipassault": { + "role": ["anti_heavy", "air"], + "limit": 3, + "since": 330, + "retreat": 0.5, + "pwr_mod": 1.65, + "thr_mod": 1.00 + }, + "gunshipkrow": { + "role": ["anti_heavy", "air"], + "attribute": ["melee"], + "retreat": 0.55, + "since": 720, + "pwr_mod": 0.3, + "thr_mod": 0.3, + "limit": 0 + }, + "gunshiptrans": { + "role": ["air"], + "limit": 0 + }, + "gunshipheavytrans": { + "role": ["air"], + "limit": 0 + }, + "gunshipaa": { + "role": ["anti_air", "air"], + "limit": 6, + "retreat": 0.95, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factoryamph + "amphcon": { + "role": ["builder", "mine"] + }, + "amphraid": { + "role": ["raider"], + "attribute": ["scout", "ret_fight"], + "pwr_mod": 1.15, + "thr_mod": 1.00, + "limit": 14, + "retreat": 0.25 // pretty disposable + }, + "amphimpulse": { + "role": ["raider"], + "attribute": ["support"], + "since": 180, + "limit": 2, + "retreat": 0.36, + "pwr_mod": 2.25, + "thr_mod": 2.25 + }, + "amphfloater": { + "role": ["assault", "support"], + "limit": 14, + "since": 300, + "retreat": 0.25, // too slow to be retreating all the time + "pwr_mod": 1.4, + "thr_mod": 1.4 + }, + "amphriot": { + "role": ["riot"], + "since": 300, + "attribute": ["melee", "ret_fight"], + "retreat": 0.35 // too slow to be retreating all the time + }, + "amphassault": { + "role": ["heavy"], + "retreat": 0.66, + "since": 520, + "pwr_mod": 0.7, + "thr_mod": 1.0 + }, + "amphtele": { + "role": ["transport"], + "limit": 0 + }, + "amphaa": { + "role": ["anti_air"], + "attribute": ["melee", "ret_fight", "support"], + "retreat": 0.3, + "limit": 5, + "pwr_mod": 2.5, + "thr_mod": 1.5 + }, + + // factoryspider + "spidercon": { + "role": ["builder", "mine"] + }, + "spiderscout": { + "role": ["scout", "raider"], + "thr_mod": 0.5, + "limit": 20, + "retreat": 0.01 + }, + "spiderassault": { + "role": ["assault", "anti_sub"], + "attribute": ["melee"], + "limit": 14, + "pwr_mod": 1.15, + "retreat": 0.35 + }, + "spideremp": { + "role": ["raider", "riot"], + "pwr_mod": 4.0, + "limit": 1, + "retreat": 0.5 + }, + "spiderriot": { + "role": ["riot"], + "pwr_mod": 2.0, + "limit": 4, + "attribute": ["support"], + "retreat": 0.35 + }, + "spiderskirm": { + "role": ["skirmish", "heavy"], + "attribute": ["siege"], + "pwr_mod": 2.0, + "thr_mod": 1.0, + "since": 240, + "retreat": 0.4 + }, + "spidercrabe": { + "role": ["heavy"], + "attribute": ["siege", "ret_fight", "support"], + "retreat": 0.5, + "thr_mod": 2.5, + "pwr_mod": 2.5, + "since": 300, + "thr_mod": 1.0 + }, + "spiderantiheavy": { + "role": ["anti_heavy", "mine"], + "retreat": 0.99, + "pwr_mod": 2.0, + "thr_mod": 0.1, + "since": 600, + "limit": 1 + }, + "spideraa": { + "role": ["anti_air"], + "attribute": ["ret_fight", "support"], + "retreat": 0.6, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factoryshield + "shieldcon": { + "role": ["builder", "static", "mine"], + "retreat": 1.3 + }, + "shieldscout": { + "role": ["transport", "raider"], + "limit": 20, + "attribute": ["siege", "melee"], + "pwr_mod": 0.11, + "thr_mod": 0.1, + "retreat": 0.0 + }, + "shieldraid": { + "role": ["raider"], + "attribute": ["scout", "ret_fight"], + "retreat": 0.25, + "pwr_mod": 1.3, + "thr_mod": 1.1 + }, + "shieldskirm": { + "role": ["skirmish"], + "attribute": ["siege"], + "limit": 15, + "retreat": 0.3 + }, + "shieldassault": { + "role": ["assault", "support"], + "limit": 20, + "retreat": 0.3, + "pwr_mod": 1.2, + "thr_mod": 1.0 + }, + "shieldriot": { + "role": ["riot"], + "fire_state": "hold", + "since": 180, + "retreat": 0.3, + "pwr_mod": 1.7, + "thr_mod": 1.7 + }, + "shieldfelon": { + "role": ["heavy", "support", "builder"], + "since": 420, + "retreat": 0.35, + "pwr_mod": 1.2, + "thr_mod": 1.5 + }, + "shieldarty": { + "role": ["anti_heavy", "support"], + "since": 360, + "retreat": 0.3, + "pwr_mod": 1.5, + "thr_mod": 1.5 + }, + "shieldbomb": { + "role": ["mine"] + }, + "shieldshield": { + "role": ["super", "heavy"], + "since": 540, + "attribute": ["support"], + "retreat": 0.36 + }, + "shieldaa": { + "role": ["anti_air"], + "attribute": ["melee", "ret_fight", "support"], + "retreat": 0.7, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factoryveh + "vehcon": { + "role": ["builder", "mine"] + }, + "vehscout": { + "role": ["scout"], + "attribute": ["scout"], + "thr_mod": 0.6, + "pwr_mod": 2.5, + "retreat": 0.01 + }, + "vehraid": { + "role": ["raider"], + "attribute": ["melee", "ret_fight"], + "retreat": 0.3, + "pwr_mod": 1.25, + "thr_mod": 1.0 + }, + "vehsupport": { + "role": ["artillery", "transport"], + "attribute": ["ret_fight"], + "since": 240, + "limit": 2, + "pwr_mod": 1.1, + "retreat": 0.6 // cannot retreat + }, + "vehriot": { + "role": ["riot"], + "limit": 2, + "retreat": 0.6, + "pwr_mod": 0.85, + "thr_mod": 0.9 + }, + "vehassault": { + "role": ["assault"], + "attribute": ["melee"], + "retreat": 0.4, // slow to turn around + "since": 360, + "pwr_mod": 0.8, + "thr_mod": 0.8 + }, + "vehcapture": { + "role": ["support", "super"], + "since": 200, + "pwr_mod": 1, + "thr_mod": 1, + "retreat": 0.8 + }, + "veharty": { + "role": ["transport", "super", "builder"], + "attribute": ["siege", "ret_fight"], + "limit": 15, + "since": 460, + "pwr_mod": 0.5, + "thr_mod": 0.01, + "retreat": 0.8 + }, + "vehheavyarty": { + "role": ["artillery", "heavy", "builder"], + "since": 300, + "retreat": 0.99, + "pwr_mod": 1.0, + "thr_mod": 0.01 + }, + "vehaa": { + "role": ["anti_air"], + "attribute": ["melee"], + "retreat": 0.75, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factoryjump + "jumpcon": { + "role": ["builder", "mine"] + }, + "jumpscout": { + "role": ["riot", "raider"], + "limit": 15, + "attribute": ["support", "scout"], + "retreat": 0 + }, + "jumpraid": { + "role": ["raider", "anti_sub"], + "retreat": 0.6, + "limit": 3, + "pwr_mod": 2.0, + "thr_mod": 0.9 + }, + "jumpblackhole": { + "role": ["anti_heavy"], + "since": 300, + "limit": 6, + "retreat": 0.36 + }, + "jumpskirm": { + "role": ["skirmish"], + "limit": 5, + "retreat": 0.36, + "attribute": ["support"] + }, + "jumpassault": { + "role": ["assault", "anti_sub"], + "attribute": ["melee", "siege", "ret_fight"], + "retreat": 0.4, + "pwr_mod": 1.3, + "thr_mod": 0.5 + }, + "jumpsumo": { + "role": ["heavy", "support"], + "limit": 0, + "attribute": ["melee", "no_jump"] // jump on attack + }, + "jumparty": { + "role": ["heavy", "builder"], + "attribute": ["support"], + "since": 600, + "pwr_mod": 0.1, + "limit": 2, + "thr_mod": 0.01, + "retreat": 0.99 + }, + "jumpbomb": { + "role": ["anti_heavy", "builder"], + "attribute": ["melee", "mine"], + "fire_state": "open", + "since": 720, + "limit": 2, + "retreat": 0.01, + "pwr_mod": 3.0, + "thr_mod": 0.01 + }, + "jumpaa": { + "role": ["anti_air"], + "attribute": ["melee", "support"], + "retreat": 0.8, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factoryhover + "hovercon": { + "role": ["builder", "mine"] + }, + "hoverraid": { + "role": ["raider"], + "attribute": ["melee","scout"], + "pwr_mod": 0.9, + "pwr_mod": 0.8, + "limit": 20, + "retreat": 0.5 + }, + "hoverskirm": { + "role": ["skirmish", "support"], + "retreat": 0.85, + "limit": 12, + "reload": 4.0, + "pwr_mod": 1.2, + "thr_mod": 1.1 + }, + "hoverassault": { + "role": ["assault", "raider"], + "attribute": ["melee", "ret_hold"], + "retreat": 0.4, + "pwr_mod": 1.25, + "thr_mod": 0.55 + }, + "hoverdepthcharge": { + "role": ["anti_sub", "riot"], + "attribute": ["melee"], + "retreat": 0.6 + }, + "hoverriot": { + "role": ["riot"], + "retreat": 0.4, + "pwr_mod": 1.00, + "thr_mod": 1.25 + }, + "hoverarty": { + "role": ["anti_heavy", "heavy", "builder"], + "attribute": ["siege"], + "retreat": 0.99, + "pwr_mod": 1.5, + "thr_mod": 0.01 + }, + "hoveraa": { + "role": ["anti_air"], + "attribute": ["ret_fight", "support"], + "retreat": 0.7, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factoryplane + "planecon": { + "role": ["builder", "air"], + "since": 240, + "limit": 2, + "retreat": 0.99 + }, + "planefighter": { + "role": ["scout", "air"], + "attribute": ["boost"], + "pwr_mod": 1.5, + "limit": 1, + "thr_mod": 2.0, + "retreat": 0.8 + }, + "planeheavyfighter": { + "role": ["anti_air"], + "limit": 8, + "retreat": 0.4, + "pwr_mod": 1.5, + "thr_mod": 1.0 + }, + "bomberprec": { + "role": ["bomber", "air"], // FIXME: should act as anti_heavy? + "attribute": ["siege"], + "limit": 10, + "retreat": 0.8, + "pwr_mod": 0.10, + "thr_mod": 0.01 + }, + "bomberriot": { + "role": ["bomber", "air"], + "limit": 0, + "retreat": 0.6, + "pwr_mod": 0.01, + "thr_mod": 0.01 + }, + "bomberdisarm": { + "role": ["anti_heavy", "air"], + "attribute": ["siege", "bomber"], + "limit": 2, + "since": 1200, + "retreat": 0.95, + "pwr_mod": 100.00, + "thr_mod": 0.01 + }, + "bomberheavy": { + "role": ["bomber", "air"], // FIXME: should act as anti_heavy? + "limit": 4, + "since": 420, + "retreat": 0.95, + "pwr_mod": 0.75, + "thr_mod": 0.1 + }, + "planescout": { + "role": ["scout", "air"], + "since": 360, + "limit": 2, + "retreat": 0.8 + }, + + // factorytank + "tankcon": { + "role": ["builder"], + "pwr_mod": 0.40, + "retreat": 0.9 + }, + "tankraid": { + "role": ["scout", "raider"], + "limit": 1, + "reload": 3.0, + "thr_mod": 0.5, + "pwr_mod": 2.50, + "retreat": 0.45 + }, + "tankheavyraid": { + "role": ["raider", "scout"], + "limit": 2, + "thr_mod": 0.65, + "pwr_mod": 0.75, + "retreat": 0.65 + }, + "tankriot": { + "role": ["riot", "heavy"], + "retreat": 0.6 + }, + "tankassault": { + "role": ["assault", "heavy"], + "attribute": ["melee"], + "retreat": 0.55, + "pwr_mod": 0.5, + "thr_mod": 0.45 + }, + "tankheavyassault": { + "role": ["heavy", "anti_heavy", "super"], + "attribute": ["melee"], + "pwr_mod": 0.5, + "thr_mod": 0.45, + "since": 480, + "retreat": 0.55 + }, + "tankarty": { + "role": ["artillery", "assault", "heavy"], + "attribute": ["support"], + "since": 1000, + "retreat": 0.99, + "pwr_mod": 1.0, + "thr_mod": 0.1 + }, + "tankheavyarty": { + "role": ["transport"], + "attribute": ["support"], + "since": 1000, + "limit": 1, + "retreat": 0.99, + "pwr_mod": 0.5, + "thr_mod": 0.1 + }, + "tankaa": { + "role": ["anti_air"], + "attribute": ["ret_fight", "support"], + "retreat": 0.8, + "pwr_mod": 2.0, + "thr_mod": 1.2 + }, + + // factoryship + "shipcon": { + "role": ["builder"] + }, + "shipscout": { + "role": ["scout"] + }, + "shiptorpraider": { + "role": ["raider"] + }, + "subraider": { + "role": ["raider"] + }, + "shipriot": { + "role": ["riot"] + }, + "shipskirm": { + "role": ["skirmish"] + }, + "shipassault": { + "role": ["assault"] + }, + "shiparty": { + "role": ["artillery"] + }, + "shipaa": { + "role": ["anti_air"] + }, + + // striderhub + "striderantiheavy": { + "role": ["anti_heavy", "heavy"], + "limit": 1, + "pwr_mod": 0.5, + "attribute": ["melee", "ret_fight"], + "retreat": 0.35 + }, + "striderscorpion": { + "role": ["anti_heavy", "heavy"], + "limit": 1, + "fire_state": "return", + "attribute": ["ret_fight"], + "retreat": 0.6, + "pwr_mod": 0.5, + "since": 1800, + "thr_mod": 0.5 + }, + "striderdante": { + "role": ["heavy"], + "attribute": ["melee"], + "limit": 2, + "retreat": 0.45, + "pwr_mod": 0.8, + "thr_mod": 0.75 + }, + "striderarty": { + "role": ["anti_heavy", "heavy"], + "pwr_mod": 5.0, + "thr_mod": 0.01, + "retreat": 0.9 + }, + "striderfunnelweb": { + "role": ["heavy", "support"], + "attribute": ["support"], + "retreat": 1.4, + "pwr_mod": 1.0, + "limit": 1, + "since": 3000, + "thr_mod": 0.01 + }, + "striderbantha": { + "role": ["heavy", "support", "heavy"], + "attribute": ["melee"], + "retreat": 0.6, + "pwr_mod": 0.5, + "thr_mod": 0.5 + }, + "striderdetriment": { + "role": ["heavy", "support", "heavy"], + "attribute": ["melee"], + "retreat": 0.50, // deffo retreat, running into nab annihlator farm and sploding is silly :) + "pwr_mod": 0.34, + "thr_mod": 0.34 + }, + "subtacmissile": { + "role": ["artillery", "heavy"], + "attribute": ["stockpile"] + }, + "shipcarrier": { + "role": ["artillery", "heavy"] + }, + "shipheavyarty": { + "role": ["artillery", "heavy"] + }, + + // statics + "staticnuke": { + "role": ["static", "heavy"], + "fire_state": "hold", // burst attacks + "reload": 30.0, + "limit": 1, + "since": 900, + "thr_mod": 0.01 + }, + "staticmissilesilo": { + "role": ["static", "support", "heavy"], + "thr_mod": 0.01 + }, + "raveparty": { + "role": ["static", "heavy"], + "limit": 1, + "since": 1200, + "thr_mod": 0.01 + }, + "zenith": { + "role": ["static", "heavy"], + "fire_state": "hold", // burst attacks + "reload": 105.0, // 105sec / 0.7sec/met = 150 meteorsControlled + "limit": 1, + "since": 900, + "thr_mod": 0.01 + }, + "staticheavyarty": { + "role": ["artillery", "support", "heavy"], + "limit": 5, + "thr_mod": 0.01, + "pwr_mod": 10.00 + }, + "turretheavy": { + "role": ["static", "support", "static"], + "thr_mod": 1.00 + }, + "turretantiheavy": { + "role": ["static", "support", "static"], + "thr_mod": 0.55 + }, + "staticarty": { + "role": ["static", "support", "artillery"], + "thr_mod": 0.55 + }, + "staticantinuke": { + "role": ["static", "heavy", "support"], + "since": 720, + "limit": 1 + }, + "turretheavylaser": { + "role": ["static", "heavy"], + "thr_mod": 2.65 + }, + "energysingu": { + "role": ["static", "mine", "heavy"] + + }, + "energyfusion": { + "role": ["static", "mine", "heavy"] + }, + "turretaalaser": { + "role": ["anti_air"], + "attribute": ["siege", "ret_hold"], + "retreat": 0.4, // FIXME: Bunker up turret when it's on low health, doesn't work for statics atm + "thr_mod": 1.0 + }, + "turretaaheavy": { + "role": ["anti_air", "heavy"], + "limit": 1, + "thr_mod": 1.0 + }, + "turretlaser": { + "role": ["static", "riot", "builder"], + "thr_mod": 1.5 + }, + "turretmissile": { + "role": ["transport", "riot", "builder"], + "thr_mod": 1.5 + }, + "turretriot": { + "role": ["static", "riot"], + "thr_mod": 2.65 + }, + "turretaafar": { + "role": ["anti_air", "heavy"], + + "thr_mod": 1.0 + }, + "turretaaflak": { + "role": ["anti_air"], + + "thr_mod": 1.0 + }, + "turretaaclose": { + "role": ["anti_air"], + "thr_mod": 1.0 + }, + "turretgauss": { + "role": ["static", "heavy", "transport"], + "attribute": ["siege", "ret_hold"], + "retreat": 0.4, // FIXME: Bunker up turret when it's on low health, doesn't work for statics atm + "thr_mod": 2.65 + }, + "turretemp": { + "role": ["static", "heavy"], + "thr_mod": 2.5 + }, + + // support factories won't be built in front + "factoryplane": { + "role": ["static"], + "attribute": ["support"] + }, + "factorygunship": { + "role": ["static"], + "attribute": ["support"] + }, + "striderhub": { + "role": ["static"], + "since": 900, + "attribute": ["support"] + }, + + // Enemy Eco!! // + "staticmex": { + "role": ["mine"] + }, + "energywind": { + "role": ["mine"] + }, + "staticradar": { + "role": ["mine"] + }, + "staticcon": { + "role": ["mine"] + }, + "energypylon": { + "role": ["mine"], + "since": 600 + }, + "staticheavyradar": { + "role": ["mine"], + "limit": 1 + }, + "staticstorage": { + "role": ["mine"], + "limit": 5 + }, + "energysolar": { + "role": ["mine"] + }, + + // Chickens!! // + "dronecarry": { + "role": ["transport"] + }, + "chicken": { + "role": ["raider"] + }, + "chicken_blimpy": { + "role": ["mine"] + }, + "chicken_digger": { + "role": ["riot"] + }, + "chicken_digger_b": { + "role": ["riot"] + }, + "chicken_dodo": { + "role": ["mine"] + }, + "chicken_dragon": { + "role": ["heavy"], + "thr_mod": 0.4 + }, + "chicken_drone": { + "role": ["raider"] + }, + "chicken_drone_starter": { + "role": ["raider"] + }, + "chicken_leaper": { + "role": ["raider"] + }, + "chicken_listener": { + "role": ["static"] + }, + "chicken_listener_b": { + "role": ["static"] + }, + "chicken_pigeon": { + "role": ["air"] + }, + "chicken_roc": { + "role": ["air"] + }, + "chicken_shield": { + "role": ["support"] + }, + "chicken_spidermonkey": { + "role": ["anti_air"] + }, + "chicken_tiamat": { + "role": ["air"], + "thr_mod": 0.05 + }, + "chickenblobber": { + "role": ["artillery"] + }, + "chickenbroodqueen": { + "role": ["heavy"], + "thr_mod": 0.05 + }, + "chickenflyerqueen": { + "role": ["air"], + "thr_mod": 0.05 + }, + "chickenlandqueen": { + "role": ["raider"], + "thr_mod": 0.05 + }, + "chickenspire": { + "role": ["static"] + }, + "chickena": { + "role": ["raider"], + "thr_mod": 0.05 + }, + "chickenc": { + "role": ["raider"], + "thr_mod": 0.05 + }, + "chickend": { + "role": ["raider"], + "thr_mod": 0.05 + }, + "chickenf": { + "role": ["raider"], + "thr_mod": 0.05 + }, + "chickenr": { + "role": ["raider"], + "thr_mod": 0.05 + }, + "chickenwurm": { + "role": ["heavy"] + } +} +} diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/block_map.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/block_map.json new file mode 100644 index 000000000..9c8237a75 --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/block_map.json @@ -0,0 +1,132 @@ +// Mono-space font required +{ +"building": { + "class_land": { + "fac_land": { + // "type": [, ] + // Available blocker_shape: rectangle, circle. + // Available structure_type: factory, mex, engy_low, engy_mid, engy_high, pylon, def_low, def_mid, def_high, special, nano, unknown + "type": ["rectangle", "factory"], + + // Unit of measurement: 1 size/yard/radius = SQUARE_SIZE * 2 = 16 elmos, integer. + // Offset in South facing + "offset": [0, 6], // default: [0, 0] + + // Size of a blocker without yard +// "size": [7, 7], // default: size of a unit + + // Spacer, blocker_size = size + yard + "yard": [12, 12] // default: [0, 0] + + // "ignore": [, , ...] + // Ignore specified structures. + // Additional values: none, all +// "ignore": ["none"] // default: ["none"] + }, + "fac_air": { + "type": ["rectangle", "factory"], + "yard": [8, 8] + }, + "fac_water": { + "type": ["rectangle", "factory"], + "offset": [0, 4], + "yard": [10, 12] + }, + "fac_strider": { + "type": ["rectangle", "special"], + "offset": [0, 12], + "yard": [16, 16] + }, + "solar": { + "type": ["rectangle", "engy_low"], + "ignore": ["mex", "engy_mid", "engy_high", "def_low", "pylon", "nano"] + }, + "wind": { + "type": ["circle", "engy_low"], + // Integer radius of a blocker or desciption string. + // Available string values: explosion, expl_ally +// "radius": "explosion", // default: "explosion" + "ignore": ["mex", "engy_mid", "engy_high", "pylon", "nano"] + }, + "fusion": { + "type": ["circle", "engy_mid"], + "ignore": ["mex", "pylon", "def_low"] + }, + "singu": { + "type": ["circle", "engy_high"], + "radius": "expl_ally", // [radius ~ 1 player .. radius/2 ~ 4+ players] + "ignore": ["mex", "engy_low", "def_low", "pylon", "nano"] + }, + "pylon": { + "type": ["circle", "pylon"], + "not_ignore": ["factory", "pylon"] // default: ["all"] + }, + "store": { + "type": ["rectangle", "mex"], + "not_ignore": ["factory"] + }, + "mex": { + "type": ["rectangle", "mex"], + "not_ignore": ["factory", "pylon"] + }, + "def_low": { + "type": ["circle", "def_low"], + "radius": 10, // 160 / (SQUARE_SIZE * 2) + "ignore": ["engy_mid", "engy_high", "pylon", "nano"] + }, + "caretaker": { + "type": ["rectangle", "nano"], + "ignore": ["mex", "def_low", "engy_mid", "pylon", "engy_high"] + }, + "superweapon": { + "type": ["circle", "special"], + "ignore": ["mex", "def_low", "pylon", "engy_high"] + }, + "protector": { + "type": ["circle", "special"], + "ignore": ["mex", "def_low", "engy_mid", "pylon", "engy_high"] + }, +// "terraform": { +// "type": ["rectangle", "special"], +// "size": [7, 7] // int2(3 + 4, 3 + 4) +// }, + "strider": { + "type": ["rectangle", "special"], + "yard": [4, 4], + "ignore": ["all"] + }, + "_default_": { + "type": ["rectangle", "unknown"], + "yard": [4, 4], + "ignore": ["pylon", "engy_high"] + } + }, + // Water overrides land. Map considered as water if amount of land < 40% + "class_water" : { + "wind": { + "type": ["circle", "engy_low"], + "radius": 1, // default: "explosion" + "ignore": ["mex", "engy_mid", "engy_high", "pylon", "nano"] + } + }, + "instance": { + "fac_land": ["factorycloak", "factoryamph", "factoryhover", "factoryjump", "factoryshield", "factoryspider", "factorytank", "factoryveh"], + "fac_air": ["factoryplane", "factorygunship"], + "fac_water": ["factoryship"], + "fac_strider": ["striderhub"], + "solar": ["energysolar"], + "wind": ["energywind"], + "fusion": ["energyfusion"], + "singu": ["energysingu"], + "pylon": ["energypylon"], + "store": ["staticstorage"], + "mex": ["staticmex"], + "def_low": ["turretmissile", "turretlaser"], + "caretaker": ["staticcon", "staticrearm"], + "superweapon": ["raveparty", "staticnuke", "zenith", "turretaaheavy", "staticheavyarty", "staticantinuke", "staticheavyradar"], +// "protector": ["staticantinuke"], +// "terraform": ["terraunit"], + "strider": ["striderantiheavy", "striderscorpion", "striderdante", "striderarty", "striderfunnelweb", "striderbantha", "striderdetriment", "subtacmissile", "shipcarrier", "shipheavyarty"] + } +} +} diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/build_chain.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/build_chain.json new file mode 100644 index 000000000..6bf30ada6 --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/build_chain.json @@ -0,0 +1,193 @@ +// Mono-space font required +{ +"porcupine": { + // 0 1 2 3 4 + "unit": ["turretlaser", "turretmissile", "turretriot", "turretheavylaser", "turrettorp", + // 5 6 7 8 9 + "turretaalaser", "staticcon", "turretheavy", "staticshield", "turretemp", + // 10 11 12 13 14 + "turretantiheavy", "staticarty", "turretaafar", "turretaaheavy", "turretgauss", + // 15 16 17 18 19 2 + "staticantinuke", "staticheavyradar", "staticnuke", "energysingu", "striderhub", "raveparty" +], + // Actual number of defences per cluster bounded by income + "land": [0, 1, 3, 5, 2, 14, 1, 9, 5, 6, 2, 3, 5, 0, 8, 9, 14, 1, 3, 6, 16, 12, 11, 13], + "water": [4, 1, 6, 4, 4, 3, 5, 9, 16], + "prevent": 2, // number of preventive defences + "amount": { // income bound factor + "offset": [0.000, 0.11], + // Amount factor: 4x4 ~ 1.85, 20x20 ~ 1.45 + "factor": [1.4, 1.2], + "map": [8, 16] + }, + + // Base defence and time to build it, in seconds + "base": [[0, 5], [9, 300], [0, 360], [1, 400], [0, 500], [16, 600], [5, 660], [18, 840], [1, 990], [5, 1160], [1, 1380], [19, 1400], [2, 1680], [20, 1800], [18, 1830], [15, 1850]], + + "superweapon": { + "unit": ["raveparty", "staticnuke", "staticheavyarty", "zenith", "staticantinuke", "energysingu"], // FIXME: last 2 aren't superweapons + "weight": [ 0.25, 0.40, 0.40, 0.25, 0.25, 0.25], + + "condition": [16, 10000] // [, ] + }, + + // Fallback defence + "default": "turretmissile" +}, + +// Actions on building finished event +"build_chain": { + // WARNING: Avoid recursion + // : factory, nano, store, pylon, energy, defence, bunker, big_gun, radar, sonar, mex, repair + "energy": { + // : {} + "energysingu": { + // Available elements: + // "energy": [max energy income, <"mex"|true|false>] + // "pylon": + // "porc": + // "terra": + // "hub": [ + // // chain1 + // [{, , , }, {, , , }, ...], + // // chain2 + // [{...}, {...}, ...], + // ... + // ] + // : UnitDef + // : + // 1) [x, z] in South facing, elmos + // 2) {: } - left, right, front, back + // : air, no_air, maybe + + // Build pylon in direction of nearby mex cluster + "pylon": true, + + // Build chain of units + "hub": [ + [ // chain1 + {"unit": "turretlaser", "category": "defence", "offset": [-80, -80]}, + {"unit": "turretmissile", "category": "defence", "offset": [-70, 70]}, + {"unit": "turretmissile", "category": "defence", "offset": [-80, 80]}, + {"unit": "staticshield", "category": "defence", "offset": [10, 10]} + ], + [ // chain2 + {"unit": "turretlaser", "category": "defence", "offset": [80, 80]}, + {"unit": "turretemp", "category": "defence", "offset": {"right": 80}}, + {"unit": "turretmissile", "category": "defence", "offset": [70, -70]}, + {"unit": "turretmissile", "category": "defence", "offset": [80, -80]} + ] + ] + }, + "energyfusion": { + "pylon": true, + "hub": [[ + {"unit": "turretlaser", "category": "defence", "offset": [80, -80]}, + {"unit": "staticstorage", "category": "defence", "offset": [-10, -10]}, + {"unit": "turretriot", "category": "defence", "offset": [-80, 80]} + ]] + } + }, + "factory": { + "factoryplane": { + "hub": [[{"unit": "staticrearm", "category": "nano", "offset": {"back": 100}}]] + }, + "factorygunship": { + "hub": [[{"unit": "staticcon", "category": "nano", "offset": {"back": 0}}]] + } + }, + "mex": { + "staticmex": { +// "terra": true, + "energy": [30, true], + "porc": true + } + }, + "big_gun": { + "staticheavyarty": { + "hub": [[ + {"unit": "staticradar", "category": "radar", "offset": {"back": 40}}, + {"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"}, + {"unit": "turretlaser", "category": "defence", "offset": [-80, 80]}, + {"unit": "turretemp", "category": "defence", "offset": {"front": 60}}, + {"unit": "turretmissile", "category": "defence", "offset": [80, 80]}, + {"unit": "staticshield", "category": "defence", "offset": [-10, -10]}, + {"unit": "staticstorage", "category": "defence", "offset": [-10, -10]}, + {"unit": "turretriot", "category": "defence", "offset": [80, -80]}, + {"unit": "turretmissile", "category": "defence", "offset": [-80, -80]} + ]] + }, + "raveparty": { + "hub": [[ + {"unit": "staticradar", "category": "radar", "offset": {"back": 40}}, + {"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"}, + {"unit": "turretlaser", "category": "defence", "offset": [-80, 80]}, + {"unit": "turretemp", "category": "defence", "offset": {"front": 60}}, + {"unit": "turretlaser", "category": "defence", "offset": [80, -80]}, + {"unit": "turretmissile", "category": "defence", "offset": [80, 80]}, + {"unit": "staticshield", "category": "defence", "offset": [-10, -10]}, + {"unit": "staticshield", "category": "defence", "offset": [10, 10]}, + {"unit": "staticstorage", "category": "defence", "offset": [-10, -10]}, + {"unit": "turretriot", "category": "defence", "offset": [80, 80]}, + {"unit": "turretriot", "category": "defence", "offset": [-80, -80]}, + {"unit": "turretmissile", "category": "defence", "offset": [-80, -80]} + ]] + }, + "mahlazer": { + "hub": [[ + {"unit": "staticradar", "category": "radar", "offset": {"back": 40}}, + {"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"}, + {"unit": "turretlaser", "category": "defence", "offset": [-80, 80]}, + {"unit": "turretlaser", "category": "defence", "offset": [80, -80]}, + {"unit": "turretmissile", "category": "defence", "offset": [80, 80]}, + {"unit": "staticshield", "category": "defence", "offset": [-10, -10]}, + {"unit": "staticshield", "category": "defence", "offset": [10, 10]}, + {"unit": "staticstorage", "category": "defence", "offset": [-10, -10]}, + {"unit": "turretriot", "category": "defence", "offset": [80, 80]}, + {"unit": "turretriot", "category": "defence", "offset": [-80, -80]}, + {"unit": "turretmissile", "category": "defence", "offset": [-80, -80]} + ]] + }, + "staticheavyradar": { + "hub": [[ + {"unit": "turretlaser", "category": "defence", "offset": [80, -80]}, + {"unit": "turretmissile", "category": "defence", "offset": [-80, 80]} + ]] + }, + "staticnuke": { + "hub": [[ + {"unit": "staticradar", "category": "radar", "offset": {"back": 40}}, + {"unit": "turretaafar", "category": "defence", "offset": {"left": 120}, "condition": "air"}, + {"unit": "turretlaser", "category": "defence", "offset": [-80, 80]}, + {"unit": "turretmissile", "category": "defence", "offset": [80, 80]}, + {"unit": "turretriot", "category": "defence", "offset": [80, -80]} + ]] + }, + "staticantinuke": { + "hub": [[ + {"unit": "staticradar", "category": "radar", "offset": {"back": 40}}, + {"unit": "turretlaser", "category": "defence", "offset": [-80, 80]}, + {"unit": "turretlaser", "category": "defence", "offset": {"left": 40}}, + {"unit": "turretemp", "category": "defence", "offset": {"back": 60}}, + {"unit": "turretmissile", "category": "defence", "offset": [-80, -80]} + ]] + }, + "energypylon": { + "porc": true + }, + "turretaaheavy": { + "pylon": true, + "hub": [ + [ + {"unit": "staticradar", "category": "radar", "offset": {"back": 40}}, + {"unit": "turretlaser", "category": "defence", "offset": [-80, 80]}, + {"unit": "turretmissile", "category": "defence", "offset": [80, 80]}, + {"unit": "turretriot", "category": "defence", "offset": [80, -80]}, + {"unit": "staticshield", "category": "defence", "offset": [10, 10]}, + {"unit": "staticstorage", "category": "defence", "offset": [-10, -10]}, + {"unit": "turretmissile", "category": "defence", "offset": [-80, -80]} + ]] + } + } +} +} \ No newline at end of file diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/commander.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/commander.json new file mode 100644 index 000000000..f6c1b5dcb --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/commander.json @@ -0,0 +1,379 @@ +// Mono-space font required +{ +"commander": { + "prefix": "dyntrainer_", + "suffix": "_base", + "unit": { + "support": { + // Choice importance, 0 by default + "importance": 0.25, + + // Starting units (order matters) + "start": { + "factory": { + "factorycloak": [ + // [, [, , ...]] + [0.9, ["builder", "raider", "raider", "raider", "raider", "raider", "raider", "raider", "raider"]], + [0.1, ["raider", "builder", "riot", "builder", "raider", "raider", "raider", "raider", "raider", "raider"]] + ], + "factorygunship": [ + [0.5, ["builder", "skirmish", "skirmish", "support", "skirmish", "skirmish"]], + [0.5, ["scout", "support", "builder","support", "skirmish", "skirmish", "support", "skirmish", "skirmish"]] + ], + "factoryamph": [ + [0.1, ["builder", "riot", "raider", "raider", "raider", "raider", "raider"]], + [0.9, ["raider", "raider", "raider", "raider", "raider", "builder", "builder", "riot"]] + ], + "factoryveh": [ + [0.1, ["scout", "builder", "scout", "skirmish", "raider", "raider", "raider", "raider", "raider"]], + [0.9, ["scout", "builder", "scout", "riot", "raider", "raider", "raider", "raider"]] + ], + "factoryhover": [ + [0.9, ["builder", "raider", "raider", "raider", "raider", "raider", "raider", "raider", "raider", "builder"]], + [0.1, ["builder", "raider", "raider", "raider", "skirmish", "builder", "skirmish", "skirmish"]] + ], + "factoryplane": [ + [0.5, ["anti_air"]], + [0.5, ["anti_air"]] + ], + "factorytank": [ + [0.5, ["builder", "scout", "scout", "raider"]], + [0.5, ["builder", "scout", "scout", "riot"]] + ], + "factoryspider": [ + [0.5, ["scout", "builder", "scout", "scout", "scout", "scout", "scout", "riot", "scout", "builder", "scout", "riot", "scout", "builder"]], + [0.5, ["scout", "builder", "scout", "scout", "scout", "scout", "riot", "scout", "builder", "support"]] + ], + "factoryshield": [ + [0.5, ["builder", "scout", "raider", "scout", "scout", "raider", "raider", "builder", "builder"]], + [0.5, ["builder", "scout", "scout", "raider", "raider", "builder", "raider", "raider", "raider"]] + ], + "factoryjump": [ + [0.5, ["scout", "scout", "raider", "scout","builder", "scout", "raider"]], + [0.5, ["scout", "scout", "scout", "scout", "builder", "raider", "scout", "raider"]] + ] + }, + "default": ["riot", "raider", "builder"] + }, + + // Morph params + "upgrade": { + "time": 420, // Force-morph delay, in seconds + "module": [ // List of dynamic module IDs + [13], // shotgun + [31, 42], // Cloak, Nano + [15, 41, 37], // sniper, range, health + [34, 34, 34], // companion drones + [35, 35, 35], // battle drones + [35, 35, 35], // battle drones + [35, 35, 34], // battle drones, companion drones + [34, 34, 34], // companion drones + [34, 40, 40], // companion drones, speed + [40, 40, 40], // speed + [40, 40, 40], // speed + [37, 37, 37], // health + [37, 37, 37], // health + [37, 36, 36], // health, regen + [36, 36, 36], // regen + [36, 36, 36], // regen + [42, 42, 42], // nano + [42, 42, 42], // nano + [42, 27, 29], // nano, disruptor ammo, jammer + [32, 33, 30], // area cloak, lazarus, radar + [41, 41, 41], // range + [41, 41, 41], // range + [41, 38, 38], // range, high density + [38, 38, 38], // high density + [38, 38, 38], // high density + [39, 39, 39], // damage + [39, 39, 39], // damage + [39, 39] // damage + ] + }, + + // Commander hides if ("time" elapsed) and ("threat" exceeds value or enemy has "air") + "hide": { + "time": 480, // seconds + "threat": 30, + "air": true + } + }, + "recon": { + // Choice importance, 0 by default + "importance": 0.65, + + // Starting units (order matters) + "start": { + "factory": { + "factorycloak": [ + // [, [, , ...]] + [0.9, ["builder", "raider", "raider", "raider", "raider", "raider", "raider", "raider", "raider"]], + [0.1, ["builder", "raider", "riot", "raider", "raider", "raider", "raider"]] + ], + "factorygunship": [ + [0.8, ["support", "support", "support", "support", "skirmish", "skirmish", "support", "skirmish", "skirmish"]], + [0.2, ["scout", "support", "builder","support", "skirmish", "skirmish", "support", "skirmish", "skirmish"]] + ], + "factoryamph": [ + [0.1, ["builder", "riot", "raider", "raider", "raider", "raider", "raider"]], + [0.9, ["builder", "raider", "raider", "raider", "raider", "raider", "builder", "riot"]] + ], + "factoryveh": [ + [0.2, ["scout", "scout", "builder", "raider", "raider", "raider", "raider", "scout"]], + [0.8, ["builder", "scout", "raider", "scout", "raider", "raider", "raider", "scout", "raider", "raider"]] + ], + "factoryhover": [ + [0.5, ["builder", "raider", "raider", "raider", "raider"]], + [0.5, ["builder", "raider", "raider", "raider", "raider", "skirmish", "skirmish"]] + ], + "factoryplane": [ + [0.5, ["scout"]], + [0.5, ["anti_air"]] + ], + "factorytank": [ + [0.5, ["builder", "scout", "scout", "raider", "raider", "raider"]], + [0.5, ["builder", "scout", "scout", "builder", "assault"]] + ], + "factoryspider": [ + [0.5, ["builder", "scout", "scout", "scout", "scout", "scout", "scout", "riot", "scout", "scout", "riot", "scout", "builder"]], + [0.5, ["builder", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "riot", "scout", "builder", "support"]] + ], + "factoryshield": [ + [0.5, ["builder", "scout", "raider", "raider", "raider", "builder"]], + [0.5, ["builder", "scout", "raider", "raider", "builder", "raider", "raider", "raider"]] + ], + "factoryjump": [ + [0.5, ["builder", "scout", "scout", "raider", "builder", "scout", "raider"]], + [0.5, ["builder", "scout", "scout", "scout", "builder", "scout", "raider", "scout", "raider"]] + ] + }, + "default": ["raider", "raider", "builder"] + }, + + // Morph params + "upgrade": { + "time": 420, // Force-morph delay, in seconds + "module": [ // List of dynamic module IDs + [7, 30], // Machinegun + [31, 36], // Cloak, Regen + [19, 38, 39], // disruptor bomb, high density, damage boost + [34, 34, 34], // companion drones + [34, 34, 34], // companion drones + [34, 34, 40], // companion drones, speed + [40, 40, 40], // speed + [40, 40, 40], // speed + [40, 37, 37], // speed, health + [37, 37, 37], // health + [37, 37, 37], // health + [36, 36, 36], // regen + [36, 36, 36], // regen + [36, 42, 42], // regen, builder + [42, 42, 42], // builder + [42, 42, 42], // builder + [30, 27, 29], // radar, disruptor ammo, jammer + [41, 41, 41], // range + [41, 41, 41], // range + [41, 41, 39], // range, damage + [39, 39, 39], // damage + [39, 39, 39], // damage + [38, 38, 38], // high density + [38, 38, 38], // high density + [38] // high density + ] + }, + + // Commander hides if ("time" elapsed) and ("threat" exceeds value or enemy has "air") + "hide": { + "time": 600, // seconds + "threat": 50, + "air": true + } + }, + "assault": { + // Choice importance, 0 by default + "importance": 0.25, + + // Starting units (order matters) + "start": { + "factory": { + "factorycloak": [ + // [, [, , ...]] + [0.8, ["raider", "raider", "builder", "raider", "raider", "builder", "raider", "raider", "raider", "raider"]], + [0.2, ["raider", "builder", "riot", "builder", "raider", "raider", "raider", "raider"]] + ], + "factorygunship": [ + [0.5, ["support", "support", "support", "support", "skirmish", "skirmish", "support", "skirmish", "skirmish"]], + [0.5, ["anti_heavy"]] + ], + "factoryamph": [ + [0.2, ["builder", "riot", "builder", "raider", "raider", "raider", "raider", "raider"]], + [0.8, ["raider", "raider", "raider", "raider", "raider", "builder", "builder", "riot", "raider", "builder", "raider"]] + ], + "factoryveh": [ + [0.10, ["scout", "builder", "skirmish", "builder", "riot", "builder", "scout", "scout", "scout", "skirmish", "skirmish", "skirmish"]], + [0.15, ["scout", "scout", "builder", "riot", "builder", "skirmish", "builder", "skirmish", "skirmish", "skirmish", "skirmish", "builder", "riot"]], + [0.75, ["scout", "scout", "raider", "raider", "builder", "builder", "raider", "raider", "raider", "raider", "raider", "builder", "scout"]] + ], + "factoryhover": [ + [0.5, ["builder", "raider", "raider", "raider", "raider", "builder", "raider", "raider", "raider", "raider", "raider", "builder"]], + [0.5, ["builder", "raider", "raider", "raider", "raider", "builder", "skirmish", "builder", "skirmish", "skirmish"]] + ], + "factoryplane": [ + [0.5, ["scout"]], + [0.5, ["anti_air"]] + ], + "factorytank": [ + [0.5, ["riot", "builder", "assault", "builder", "assault", "builder", "builder", "heavy"]], + [0.25, ["raider", "builder", "raider", "builder", "raider", "raider", "raider", "builder", "assault"]], + [0.25, ["builder", "riot", "builder", "riot", "assault", "builder", "assault"]] + ], + "factoryspider": [ + [0.5, ["scout", "scout", "scout", "builder", "scout", "scout", "scout", "riot", "scout", "builder", "scout", "riot", "scout", "builder"]], + [0.5, ["scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "builder", "riot", "scout", "builder", "support"]] + ], + "factoryshield": [ + [0.5, ["scout", "scout", "scout", "builder", "scout", "raider", "raider", "raider", "builder", "builder"]], + [0.5, ["scout", "builder", "raider", "raider", "scout", "scout", "scout", "builder", "raider", "raider", "raider"]] + ], + "factoryjump": [ + [0.5, ["scout", "scout", "raider", "scout", "builder", "assault"]], + [0.5, ["scout", "scout", "builder", "raider", "scout", "raider", "builder", "raider"]] + ] + }, + "default": ["raider", "raider", "builder"] + }, + + // Morph params + "upgrade": { + "time": 420, // Force-morph delay, in seconds + "module": [ // List of dynamic module IDs + [11, 30], // shotgun + [24, 37], // shield, health + [11, 41, 41], // Double Riot, range + [38, 41, 41], // high density, range + [36, 41, 36], // regen, range, regen + [41, 41, 41], // range + [39, 39, 39], // damage + [39, 39, 39], // damage + [39, 39, 25], // damage, area shield + [26, 29, 30], // napalm, jammer, radar + [34, 34, 34], // companion drones + [34, 34, 34], // companion drones + [34, 34, 40], // companion drones, speed + [40, 40, 40], // speed + [40, 40, 40], // speed + [40, 36, 36], // speed, regen + [36, 36, 36], // regen + [36, 42, 42], // regen, nano + [42, 42, 42], // nano + [42, 42, 42], // nano + [37, 37, 37], // health + [37, 37, 37], // health + [37, 38, 38], // health, high density + [38, 38, 38], // high density + [38, 38] // high density + ] + }, + + // Commander hides if ("time" elapsed) and ("threat" exceeds value or enemy has "air") + "hide": { + "time": 600, // seconds + "threat": 70, + "air": true + } + }, + "strike": { + // Choice importance, 0 by default + "importance": 0.1, + + // Starting units (order matters) + "start": { + "factory": { + "factorycloak": [ + // [, [, , ...]] + [0.8, ["raider", "raider", "builder", "raider", "raider", "builder", "raider", "raider", "raider", "raider"]], + [0.2, ["builder", "riot", "builder", "raider", "raider", "raider", "raider"]] + ], + "factorygunship": [ + [0.5, ["support", "support", "support", "support", "skirmish", "skirmish", "support", "skirmish", "skirmish"]], + [0.5, ["scout", "support", "builder","support", "skirmish", "skirmish", "support", "skirmish", "skirmish"]] + ], + "factoryamph": [ + [0.2, ["builder", "riot", "builder", "raider", "raider", "raider", "raider", "raider"]], + [0.8, ["builder", "raider", "raider", "raider", "raider", "raider", "builder", "builder", "riot", "raider", "builder", "raider"]] + ], + "factoryveh": [ + [0.1, ["scout", "scout", "scout", "builder", "skirmish", "builder", "skirmish", "skirmish", "skirmish", "scout", "builder", "riot"]], + [0.9, ["builder", "scout", "scout", "raider", "raider", "raider", "raider", "raider", "builder", "builder", "scout", "raider", "raider", "raider", "raider", "raider", "builder"]] + ], + "factoryhover": [ + [0.5, ["builder", "raider", "raider", "raider", "raider", "builder", "raider", "raider", "raider", "raider", "raider", "builder"]], + [0.5, ["builder", "raider", "raider", "raider", "raider", "builder", "raider", "raider", "raider", "skirmish", "builder", "skirmish", "skirmish"]] + ], + "factoryplane": [ + [0.5, ["scout"]], + [0.5, ["anti_air"]] + ], + "factorytank": [ + [0.25, ["riot", "builder", "assault", "builder", "assault", "builder", "builder", "assault"]], + [0.5, ["raider", "builder", "raider", "builder", "raider", "raider", "raider", "builder", "assault"]], + [0.25, ["builder", "riot", "builder", "riot", "assault", "builder", "assault"]] + ], + "factoryspider": [ + [0.5, ["builder", "scout", "scout", "scout", "scout", "scout", "scout", "riot", "scout", "builder", "scout", "riot", "scout", "builder"]], + [0.5, ["builder", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "scout", "builder", "riot", "scout", "builder", "support"]] + ], + "factoryshield": [ + [0.5, ["builder", "scout", "raider", "raider", "raider", "builder"]], + [0.5, ["scout", "builder", "raider", "raider", "builder", "raider", "raider", "raider"]] + ], + "factoryjump": [ + [0.5, ["scout", "scout", "scout", "scout", "raider", "raider"]], + [0.5, ["scout", "scout", "scout", "scout", "builder", "raider", "raider"]] + ] + }, + "default": ["raider", "raider", "builder"] + }, + + // Morph params + "upgrade": { + "time": 420, // Force-morph delay, in seconds + "module": [ // List of dynamic module IDs + [4, 30], // beam laser + [31, 36], // cloak, regen + [8, 40, 36], // lightning, speed, regen + [37, 40, 36], // health, speed, regen + [37, 40, 36], // health, speed, regen + [37, 40, 36], // health, speed, regen + [37, 40, 36], // health, speed, regen + [40, 40, 40], // speed + [28, 29, 30], // flux, jammer, radar + [36, 36, 37], // regen, health + [37, 37, 37], // health + [32, 41, 41], // area cloak, range + [41, 41, 41], // range + [41, 41, 41], // range + [34, 34, 34], // companion drones + [34, 34, 34], // companion drones + [34, 34, 42], // companion drones, nano + [42, 42, 42], // nano + [42, 42, 42], // nano + [42, 39, 39], // nano, damage + [39, 39, 39], // damage + [39, 39, 39], // damage + [38, 38, 38], // high density + [38, 38, 38], // high density + [38, 38] // high density + ] + }, + + // Commander hides if ("time" elapsed) and ("threat" exceeds value or enemy has "air") + "hide": { + "time": 480, // seconds + "threat": 50, + "air": true + } + } + } +} +} diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/economy.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/economy.json new file mode 100644 index 000000000..1d8c31b5e --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/economy.json @@ -0,0 +1,72 @@ +// Mono-space font required +{ +"economy": { + // Limits of energy structures partly defined by parabola in space (structure_cost/energyMake, unit_limit). + // Parabola defined by 3 control points. + // For example land config: + // P0 = energysingu: (4000/225; random(1..2)) = (17.78, 1) + // P1 = energyfusion: (1000/35; random(3)) = (28.57, 3) + // P2 = energysolar: (70/2; random(10..15)) = (35, 13) + // P(x) => y = 0.079550*x*x - 3.501790*x + 38.113789 + // Then parabola P(x) defines limit for + // "energygeo": x=500/25=20, y = P(20) = 31.82 - 70.0358 + 38.113789 ~= 0 + // "energywind": x=35/1.2=29.17, y = P(29.17) ~= 4 + // + // Metal income condition for energy structure is: income > sqrt(structure_cost*0.4). + // Energy buildings are sorted by structure_cost/energy_make (asc). + // Config in example with factor=0.8 leads to next build choice: + // 1) nothing if singu_limit >= 1; + // 2) else if singu_limit < 1 and income > 50 then singu; + // (ignored) else if geo_limit < 0 and income > 17.68 then geo; + // 3) else if fusion_limit < 3 and income > 25 then fusion; + // 4) else if tidal_limit < 4 and income > 4.68 then wind/tidal; + // 5) else if solar_limit < 13 and income > 6.61 then solar; + // 6) if nothing selected then build highest energy according to income. + "energy": { + // If land area >= 40% of the map then "land" config used, "water" otherwise + "land": { + // "": [, ] + // limit = random(..) + "energysingu": [6], + "energyfusion": [6, 10], + "energysolar": [40, 40] + }, + "water": { + "energysingu": [1], + "energyfusion": [4], + "energywind": [20] + }, + // income factor for energy, time is in seconds + // [[, ], [, ]] + "factor": [[0.15, 1], [8.0, 480]], + + "pylon": ["energypylon", "energysolar", "energywind"] + }, + + // Scales metal income + // ecoFactor = teamSize*eps_step+(1-eps_step) + "eps_step": 0.017, + + // Mobile buildpower to metal income ratio + "buildpower": 1.22, + // Metal excess to income ratio, -1 to disable + "excess": -1.0, + // Mobile constructor to static constructor metal pull ratio + // [[, ], [, ]] + "ms_pull": [[0.62, 0.0], [0.60, 0.66]], + // Max percent of mexes circuit team allowed to take. + // If its <1.0 then expansion obeys ms_pull rule, if >=1.0 then ms_pull doesn't affect expansion (mex, pylon, energy). + "mex_max": 2.0, // 200% + // Construction order delay in seconds, -1 to disable + "build_delay": -1.0, + + // New factory switch interval, in seconds + "switch": 830, + + "terra": "terraunit", + "airpad": "staticrearm", + + // Unknown UnitDef replacer + "default": "turretmissile" +} +} diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/factory.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/factory.json new file mode 100644 index 000000000..12809ba4b --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/factory.json @@ -0,0 +1,376 @@ +// Mono-space font required +{ +// Factory selection parameters +"select": { + "air_map": 80, + "offset": [-20, 20], + // Speed factor: 8x8 ~ 0%, 24x24 ~ 40% + "speed": [0, 40], + "map": [8, 24], + "no_air": 3 +}, + +// Define factories +"factory": { + "factorycloak": { + // Adjusts the priority of factory choice (factories with map_percent < 20 are ignored) + // map_percent is [20..100] + // On start: priority ~= map_percent * importance0 + random(-20..+20) + // During game: priority ~= map_percent * importance1 + random(-20..+20) + // importanceN = 1.0 by default if not set + "importance": [0.78, 0.2], + + // 'require_energy' adds energy requirement for tierN (N>0): fallback to lowest tier on low energy + "require_energy": true, + + // If income*ecoFactor < income_tier[N] then 'tierN' probability will be used + "income_tier": [20, 30, 40], + + // conjurer, glaive, scythe, rocko, warrior, zeus, hammer, sniper, tick, eraser, gremlin + "unit": ["cloakcon", "cloakraid", "cloakheavyraid", "cloakskirm", "cloakriot", "cloakassault", "cloakarty", "cloaksnipe", "cloakbomb", "cloakjammer", "cloakaa"], + + "land": { + // 0-8m Opening - Glaives & Warriors most important for scouting, map control and defence. + "tier0": [ 0.10, 0.54, 0.03, 0.30, 0.03, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00], + + // 9-16m Early Game - Map control still important but move towards Scythe raiding and Riot defense from raider balls. + "tier1": [ 0.10, 0.20, 0.06, 0.51, 0.10, 0.00, 0.00, 0.03, 0.00, 0.00, 0.00], + + // 17-24m Expanding - Good size terriotiry now, so less scouting and begin producing a little assault/arty on the side. + "tier2": [ 0.10, 0.01, 0.20, 0.20, 0.03, 0.15, 0.00, 0.20, 0.00, 0.11, 0.00] + + // 25-32m Expansions meet - Economy can afford to begin producing in bulk so unit compositions alter. + // "tier3": [ 0.10, 0.40, 0.05, 0.30, 0.00, 0.10, 0.00, 0.00, 0.00, 0.05, 0.00], + + // 33m -40m Solid Fronts - Now we stop raiding and start pushing. + // "tier4": [ 0.10, 0.35, 0.10, 0.30, 0.00, 0.10, 0.00, 0.00, 0.00, 0.05, 0.00], + + // 41m - 56m Mid Game - we must have 2 facs by now, stop making balanced compositions and start being abusive. + // "tier5": [ 0.10, 0.05, 0.25, 0.10, 0.00, 0.20, 0.10, 0.00, 0.00, 0.10, 0.00], + + // 57m - 72m Late Game - we must have 2 facs & Striders by now, go nuts! + // "tier6": [ 0.10, 0.00, 0.65, 0.00, 0.00, 0.00, 0.00, 0.15, 0.00, 0.10, 0.00], + + // 72m - inf+ Late late Game - This fac sucks! + // "tier7": [ 0.10, 0.00, 0.65, 0.00, 0.00, 0.00, 0.00, 0.15, 0.00, 0.10, 0.00] + }, + "air": { + // 0-8m Opening - Glaives & Warriors most important for scouting, map control and defence. + "tier0": [ 0.10, 0.54, 0.26, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10], + + // 9-16m Early Game - Map control still important but move towards Scythe raiding and Riot defense from raider balls. + "tier1": [ 0.10, 0.25, 0.11, 0.38, 0.00, 0.06, 0.00, 0.00, 0.00, 0.00, 0.10], + + // 17-24m Expanding - Good size terriotiry now, so less scouting and begin producing a little assault/arty on the side. + "tier2": [ 0.20, 0.10, 0.10, 0.33, 0.00, 0.12, 0.00, 0.00, 0.00, 0.05, 0.10] + }, + "caretaker": 3 + }, + + "factorygunship": { + "importance": [1.00, 1.7], + "require_energy": false, + + "income_tier": [16, 24, 32, 40, 56, 72, 85], + // wasp, blastwing, gnat, banshee, rapier, brawler, blackdawn, krow, valkyrie, vindicator, trident + "unit": ["gunshipcon", "gunshipbomb", "gunshipemp", "gunshipraid", "gunshipskirm", "gunshipheavyskirm", "gunshipassault", "gunshipkrow", "gunshiptrans", "gunshipheavytrans", "gunshipaa"], + "land": { + // 0-8m Opening - Blastwing and banshee Harass + "tier0": [ 0.00, 0.17, 0.00, 0.10, 0.71, 0.00, 0.02, 0.00, 0.00, 0.00, 0.00], + // 9-16m Early Game - Banshee with a chance of Blackdawn + "tier1": [ 0.00, 0.20, 0.00, 0.02, 0.45, 0.31, 0.02, 0.00, 0.00, 0.00, 0.00], + // 17-24m Expanding - Time to start a-makin Brawlers + "tier2": [ 0.00, 0.02, 0.00, 0.00, 0.04, 0.90, 0.04, 0.00, 0.00, 0.00, 0.00], + // 25-32m Expansions meet - Time to keep a-makin Brawlers + "tier3": [ 0.00, 0.05, 0.00, 0.00, 0.04, 0.83, 0.08, 0.00, 0.00, 0.00, 0.00], + // 33m -40m Solid Fronts - Brawlers with a chance of Krow + "tier4": [ 0.00, 0.04, 0.00, 0.00, 0.05, 0.80, 0.10, 0.01, 0.00, 0.00, 0.00], + // 41m - 56m Mid Game - Brawlers with a bigger chance of Krow + "tier5": [ 0.00, 0.05, 0.00, 0.00, 0.00, 0.87, 0.06, 0.02, 0.00, 0.00, 0.00], + // 57m - 72m Late Game - we must have 2 facs & Striders by now, go nuts! + "tier6": [ 0.00, 0.05, 0.00, 0.00, 0.00, 0.84, 0.07, 0.04, 0.00, 0.00, 0.00], + // 72m - inf+ Late late Game - Spam Krows! + "tier7": [ 0.00, 0.05, 0.00, 0.00, 0.00, 0.90, 0.00, 0.05, 0.00, 0.00, 0.00] + }, + + "caretaker": 3 + }, + + "factoryamph": { + "importance": [0.85, 1.0], + "require_energy": false, + + "income_tier": [16, 24, 32, 40, 56, 72, 100], + // conch, duck, archer, buoy, scallop, grizzly, djinn, angler + "unit": ["amphcon", "amphraid", "amphimpulse", "amphfloater", "amphriot", "amphassault", "amphtele", "amphaa"], + "land": { + // 0-8m Opening - Ducks and Archers + "tier0": [ 0.00, 0.53, 0.25, 0.20, 0.02, 0.00, 0.00, 0.00], + // 9-16m Early Game - Still mostly Ducks, Ducks are amazing + "tier1": [ 0.05, 0.10, 0.08, 0.55, 0.22, 0.00, 0.00, 0.00], + // 17-24m Expanding - Less Ducks, more Scallop/Bouy + "tier2": [ 0.10, 0.10, 0.00, 0.60, 0.15, 0.05, 0.00, 0.00], + // 25-32m Expansions meet - Time to start producing Bouy + "tier3": [ 0.15, 0.11, 0.00, 0.49, 0.12, 0.13, 0.00, 0.00], + // 33m -40m Solid Fronts - Time to start producing even more Bouy + "tier4": [ 0.16, 0.11, 0.00, 0.54, 0.04, 0.15, 0.00, 0.00], + // 41m - 56m Mid Game - Switch to Grizzly + "tier5": [ 0.20, 0.10, 0.02, 0.51, 0.02, 0.17, 0.00, 0.00], + // 57m - 72m Late Game - MORE Grizzly + "tier6": [ 0.20, 0.10, 0.02, 0.48, 0.02, 0.18, 0.00, 0.00], + // 72m - inf+ Late late Game - SPAM GRIZZLY + "tier7": [ 0.20, 0.08, 0.02, 0.46, 0.02, 0.22, 0.00, 0.00] + }, + "air": { + // 0-8m Opening - Ducks and Archers + "tier0": [ 0.00, 0.58, 0.25, 0.10, 0.02, 0.00, 0.00, 0.05], + // 9-16m Early Game - Still mostly Ducks, Ducks are amazing + "tier1": [ 0.05, 0.10, 0.11, 0.40, 0.19, 0.00, 0.00, 0.05], + // 17-24m Expanding - Less Ducks, more Scallop/Bouy + "tier2": [ 0.10, 0.11, 0.04, 0.53, 0.12, 0.05, 0.00, 0.05], + // 25-32m Expansions meet - Time to start producing Bouy + "tier3": [ 0.15, 0.11, 0.02, 0.42, 0.12, 0.13, 0.00, 0.05], + // 33m -40m Solid Fronts - Time to start producing even more Bouy + "tier4": [ 0.15, 0.10, 0.02, 0.52, 0.04, 0.15, 0.00, 0.05], + // 41m - 56m Mid Game - Switch to Grizzly + "tier5": [ 0.16, 0.13, 0.02, 0.45, 0.02, 0.17, 0.00, 0.05], + // 57m - 72m Late Game - MORE Grizzly + "tier6": [ 0.20, 0.10, 0.02, 0.43, 0.02, 0.18, 0.00, 0.05], + // 72m - inf+ Late late Game - SPAM GRIZZLY + "tier7": [ 0.20, 0.08, 0.02, 0.41, 0.02, 0.22, 0.00, 0.05] + }, + "caretaker": 3 + }, + + "factoryspider": { + "importance": [0.71, 0.7], + "require_energy": false, + + "income_tier": [16, 24, 32, 40, 56, 72, 100], + // weaver, flea, hermit, venom, redback, recluse, crabe, infiltrator, tarantula + "unit": ["spidercon", "spiderscout", "spiderassault", "spideremp", "spiderriot", "spiderskirm", "spidercrabe", "spiderantiheavy", "spideraa"], + "land": { + // 0-12m Opening - Opening turbo Flea spam & Riots + "tier0": [ 0.00, 0.73, 0.00, 0.22, 0.05, 0.00, 0.00, 0.00, 0.00], + // 13-18m Early Game - Reducing Flea spam, still mostly Riots + "tier1": [ 0.00, 0.59, 0.00, 0.05, 0.05, 0.31, 0.00, 0.00, 0.00], + // 17-24m Expanding - Slant production towards Hermit & Redback + "tier2": [ 0.06, 0.48, 0.04, 0.05, 0.00, 0.35, 0.02, 0.00, 0.00], + // 25-32m Expansions meet - Slant production towards Hermit & Recluse + "tier3": [ 0.08, 0.45, 0.06, 0.03, 0.00, 0.33, 0.05, 0.00, 0.00], + // 33m -40m Solid Fronts - Greater Emphasis on Hermit & Crabbe + "tier4": [ 0.08, 0.40, 0.09, 0.03, 0.00, 0.32, 0.08, 0.00, 0.00], + // 41m - 56m Mid Game - We need more Crabbes + "tier5": [ 0.08, 0.42, 0.07, 0.02, 0.00, 0.31, 0.10, 0.00, 0.00], + // 57m - 72m Late Game - MORE CRABBES + "tier6": [ 0.09, 0.40, 0.11, 0.00, 0.00, 0.29, 0.11, 0.00, 0.00], + // 72m - inf+ Late late Game - TURBO CRABBES + "tier7": [ 0.10, 0.35, 0.20, 0.00, 0.00, 0.22, 0.13, 0.00, 0.00] + }, + + "caretaker": 3 + }, + + "factoryveh": { + "importance": [1.05, 0.2], + "require_energy": false, + + "income_tier": [16, 24, 32, 40, 56, 72, 100], + // mason, dart, scorcher, slasher, leveler, ravager, dominatrix, wolverine, impaler, crasher + "unit": ["vehcon", "vehscout", "vehraid", "vehsupport", "vehriot", "vehassault", "vehcapture", "veharty", "vehheavyarty", "vehaa"], + "land": { + // 0-8m Opening - Dart, Riot & Slasher + "tier0": [ 0.00, 0.33, 0.55, 0.12, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00], + // 9-16m Early Game - Slasher/Riot with an occasional Ravager + "tier1": [ 0.10, 0.22, 0.18, 0.10, 0.00, 0.38, 0.00, 0.00, 0.02, 0.00], + // 17-24m Expanding - Less scouting and Riot, more Ravager + "tier2": [ 0.10, 0.10, 0.13, 0.13, 0.05, 0.41, 0.02, 0.03, 0.03, 0.00], + // 25-32m Expansions meet - Begin serious Ravager production + "tier3": [ 0.15, 0.20, 0.10, 0.05, 0.04, 0.32, 0.07, 0.04, 0.03, 0.00], + // 33m -40m Solid Fronts - Overdrive Ravager production + "tier4": [ 0.20, 0.20, 0.10, 0.05, 0.04, 0.32, 0.02, 0.04, 0.03, 0.00], + // 41m - 56m Mid Game - Drop Slashers, more Artillery + "tier5": [ 0.20, 0.18, 0.10, 0.00, 0.06, 0.36, 0.01, 0.05, 0.04, 0.00], + // 57m - 72m Late Game - More artillery and Ravager + "tier6": [ 0.23, 0.25, 0.09, 0.00, 0.00, 0.28, 0.02, 0.06, 0.07, 0.00], + // 72m - inf+ Late late Game - Maximum Artillery + "tier7": [ 0.25, 0.15, 0.02, 0.02, 0.06, 0.38, 0.05, 0.00, 0.07, 0.00] + }, + "air": { + // 0-8m Opening - Dart, Riot & Slasher + "tier0": [ 0.00, 0.33, 0.50, 0.12, 0.00, 0.00, 0.00, 0.00, 0.00, 0.05], + // 9-16m Early Game - Slasher/Riot with an occasional Ravager + "tier1": [ 0.10, 0.22, 0.13, 0.10, 0.00, 0.40, 0.00, 0.00, 0.00, 0.05], + // 17-24m Expanding - Less scouting and Riot, more Ravager + "tier2": [ 0.10, 0.10, 0.04, 0.23, 0.05, 0.40, 0.00, 0.03, 0.00, 0.05], + // 25-32m Expansions meet - Begin serious Ravager production + "tier3": [ 0.10, 0.10, 0.08, 0.21, 0.04, 0.46, 0.02, 0.04, 0.00, 0.05], + // 33m -40m Solid Fronts - Overdrive Ravager production + "tier4": [ 0.10, 0.10, 0.09, 0.10, 0.06, 0.43, 0.02, 0.05, 0.00, 0.05], + // 41m - 56m Mid Game - Drop Slashers, more Artillery + "tier5": [ 0.10, 0.11, 0.02, 0.07, 0.06, 0.49, 0.01, 0.05, 0.04, 0.05], + // 57m - 72m Late Game - More artillery and Ravager + "tier6": [ 0.10, 0.12, 0.02, 0.05, 0.06, 0.45, 0.02, 0.06, 0.07, 0.05], + // 72m - inf+ Late late Game - Maximum Artillery + "tier7": [ 0.10, 0.10, 0.12, 0.02, 0.06, 0.43, 0.05, 0.00, 0.07, 0.05] + }, + "caretaker": 3 + }, + + "factoryhover": { + "importance": [1.00, 1.1], + "require_energy": false, + + "income_tier": [16, 24, 32, 40, 56, 72, 100], + // quill, dagger, scalpel, halberd, claymore, mace, penetrator, flail + "unit": ["hovercon", "hoverraid", "hoverskirm", "hoverassault", "hoverdepthcharge", "hoverriot", "hoverarty", "hoveraa"], + "land": { + // 0-8m Opening - Raiders and Riots + "tier0": [ 0.00, 0.55, 0.10, 0.00, 0.00, 0.35, 0.00, 0.00], + // 9-16m Early Game - Mostly Mace, some support + "tier1": [ 0.00, 0.10, 0.44, 0.11, 0.00, 0.35, 0.00, 0.00], + // 17-24m Expanding - MAXIMUM OP Scalpel time + "tier2": [ 0.05, 0.10, 0.43, 0.20, 0.00, 0.14, 0.08, 0.00], + // 25-32m Expansions meet - Mix in some Halberds + "tier3": [ 0.15, 0.10, 0.26, 0.20, 0.01, 0.16, 0.12, 0.00], + // 33m -40m Solid Fronts - More Halberd and Pene + "tier4": [ 0.17, 0.13, 0.19, 0.31, 0.01, 0.05, 0.14, 0.00], + // 41m - 56m Mid Game - Even more Halberd and Pene + "tier5": [ 0.17, 0.11, 0.17, 0.30, 0.01, 0.05, 0.19, 0.00], + // 57m - 72m Late Game - More Pene + "tier6": [ 0.20, 0.04, 0.10, 0.34, 0.01, 0.10, 0.21, 0.00], + // 72m - inf+ Late late Game - MAXIMUM PENE + "tier7": [ 0.25, 0.02, 0.07, 0.21, 0.00, 0.10, 0.35, 0.00] + }, + "water": { + // 33m -40m + "tier4": [ 0.00, 0.49, 0.10, 0.20, 0.10, 0.10, 0.01, 0.00], + // 41m - inf+4 + "tier5": [ 0.00, 0.24, 0.05, 0.41, 0.20, 0.05, 0.05, 0.00] + }, + + "caretaker": 3 + }, + + "factoryplane": { + "importance": [1.1, 2.1], + "require_energy": false, + + "income_tier": [30, 60], + // crane, swift, hawk, raven, phoenix, thunderbird, wyvern, vulture + "unit": ["planecon", "planefighter", "planeheavyfighter", "bomberprec", "bomberriot", "bomberdisarm", "bomberheavy", "planescout"], + "air": { + // 0-10m Early Game + "tier0": [ 0.00, 0.00, 0.75, 0.15, 0.00, 0.00, 0.05, 0.05], + // 11-20m Expansion + "tier1": [ 0.00, 0.00, 0.51, 0.00, 0.02, 0.01, 0.24, 0.22] + }, + "land": { + // 0-10m Early Game + "tier0": [ 0.10, 0.00, 0.00, 0.60, 0.05, 0.00, 0.20, 0.05], + // 11-20m Expansion + "tier1": [ 0.10, 0.00, 0.00, 0.05, 0.00, 0.00, 0.40, 0.45] + }, + "caretaker": 3 + }, + + "factorytank": { + "importance": [1.00, 1.5], + "require_energy": false, + + "income_tier": [16, 24, 32, 40, 56, 72, 100], + // welder, kodachi, panther, banisher, reaper, goliath, pillager, tremor, copperhead + "unit": ["tankcon", "tankraid", "tankheavyraid", "tankriot", "tankassault", "tankheavyassault", "tankarty", "tankheavyarty", "tankaa"], + "land": { + // 0-8m Opening - Koda and Banisher + "tier0": [ 0.10, 0.60, 0.10, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00], + // 9-16m Early Game - Mostly Banisher + "tier1": [ 0.10, 0.15, 0.10, 0.23, 0.42, 0.00, 0.00, 0.00, 0.00], + // 17-24m Expanding - Begin mixing in Reapers! + "tier2": [ 0.30, 0.13, 0.07, 0.16, 0.34, 0.00, 0.00, 0.00, 0.00], + // 25-32m Expansions meet - More Reapers! + "tier3": [ 0.46, 0.15, 0.03, 0.04, 0.32, 0.00, 0.00, 0.00, 0.00], + // 33m -40m Solid Fronts - MAXIMUM REAPERS + "tier4": [ 0.45, 0.14, 0.00, 0.02, 0.37, 0.02, 0.00, 0.00, 0.00], + // 41m - 56m Mid Game - More arty & Golly + "tier5": [ 0.46, 0.16, 0.00, 0.02, 0.32, 0.04, 0.00, 0.00, 0.00], + // 57m - 72m Late Game - Even more arty & Golly + "tier6": [ 0.40, 0.13, 0.00, 0.02, 0.34, 0.11, 0.00, 0.00, 0.00], + // 72m - inf+ Late late Game - MAXIMUM GOLLY + "tier7": [ 0.42, 0.08, 0.00, 0.02, 0.32, 0.16, 0.00, 0.00, 0.00] + }, + + "caretaker": 15 + }, + + "factoryjump": { + "importance": [0.73, 1.1], + "require_energy": false, + + "income_tier": [20, 40, 60, 80], + // freaker, puppy, pyro, placeholder, moderator, jack, sumo, firewalker, skuttle, archangel + "unit": ["jumpcon", "jumpscout", "jumpraid", "jumpblackhole", "jumpskirm", "jumpassault", "jumpsumo", "jumparty", "jumpbomb", "jumpaa"], + "land": { + "tier0": [ 0.05, 0.44, 0.30, 0.00, 0.15, 0.06, 0.00, 0.00, 0.00, 0.00], + "tier1": [ 0.10, 0.30, 0.10, 0.10, 0.16, 0.24, 0.00, 0.00, 0.00, 0.00], + "tier2": [ 0.20, 0.20, 0.00, 0.15, 0.04, 0.31, 0.00, 0.10, 0.00, 0.00], + "tier3": [ 0.25, 0.15, 0.00, 0.15, 0.00, 0.33, 0.00, 0.12, 0.00, 0.00] + }, + + "caretaker": 3 + }, + + "factoryshield": { + "importance": [0.88, 0.6], + "require_energy": false, + + "income_tier": [16, 32, 60, 90], + // convict, dirtbag, bandit, rogue, thug, outlaw, felon, racketeer, roach, aspis, vandal + "unit": ["shieldcon", "shieldscout", "shieldraid", "shieldskirm", "shieldassault", "shieldriot", "shieldfelon", "shieldarty", "shieldbomb", "shieldshield", "shieldaa"], + "land": { + "tier0": [ 0.05, 0.05, 0.50, 0.20, 0.20, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00], + "tier1": [ 0.19, 0.01, 0.10, 0.26, 0.36, 0.08, 0.00, 0.00, 0.00, 0.00, 0.00], + "tier2": [ 0.26, 0.03, 0.13, 0.20, 0.25, 0.00, 0.05, 0.02, 0.00, 0.06, 0.00], + "tier3": [ 0.29, 0.07, 0.00, 0.10, 0.25, 0.00, 0.08, 0.09, 0.00, 0.12, 0.00] + }, + + "caretaker": 3 + }, + + "factoryship": { + "importance": [5.5, 5.5], + "require_energy": false, + + "income_tier": [30], + // mariner cutter, hunter, seawolf, corsair, mistral, siren, ronin, zephyr + "unit": ["shipcon", "shipscout", "shiptorpraider", "subraider", "shipriot", "shipskirm", "shipassault", "shiparty", "shipaa"], + "water": { + "tier0": [ 0.05, 0.15, 0.35, 0.10, 0.10, 0.10, 0.15, 0.00, 0.00], + "tier1": [ 0.05, 0.10, 0.20, 0.10, 0.05, 0.10, 0.25, 0.15, 0.00] + }, + + "caretaker": 3 + }, + + "striderhub": { + "importance": [0, 1.5], + "require_energy": false, + + "income_tier": [60, 80, 100], + // ultimatum, scorpion, dante, catapult, funnelweb, bantha, detriment, scylla, reef, battleship + "unit": ["striderantiheavy", "striderscorpion", "striderdante", "striderarty", "striderfunnelweb", "striderbantha", "striderdetriment", "subtacmissile", "shipcarrier", "shipheavyarty"], + "land": { + "tier0": [ 0.01, 0.10, 0.81, 0.00, 0.05, 0.03, 0.00, 0.00, 0.00, 0.00], + "tier1": [ 0.03, 0.14, 0.22, 0.24, 0.20, 0.16, 0.01, 0.00, 0.00, 0.00], + "tier2": [ 0.05, 0.10, 0.16, 0.35, 0.10, 0.21, 0.03, 0.00, 0.00, 0.00], + "tier3": [ 0.05, 0.10, 0.01, 0.26, 0.10, 0.35, 0.13, 0.00, 0.00, 0.00] + }, + "water": { + "tier1": [ 0.50, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.25, 0.25], + "tier2": [ 0.10, 0.00, 0.00, 0.00, 0.00, 0.00, 0.10, 0.00, 0.40, 0.40] + }, + + "caretaker": 100 + } +} +} diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/response.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/response.json new file mode 100644 index 000000000..626e06455 --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/response.json @@ -0,0 +1,107 @@ +// Mono-space font required +{ +// Build special units when enemy_metal*ratio > response_metal*eps; eps=teamSize*eps_step+(1-eps_step) +// AA condition for 3v3: (enemy_air_metal*0.67 > (aa_metal+aa_cost)*1.12) and (aa_metal+aa_cost < army_metal*0.5) +// +// Probability of UnitDef for AA role depends on income tier: (tierN[UnitDef]+_weight_)*enemy_air_metal/aa_metal*importance +// armjeth probability for tier 1: (0.00+10.00)*enemy_air_metal*600.0 +"response": { + "_weight_": 60.0, // base weight of response probability, default=0.5 + + "assault": { + "vs": ["riot", "static", "assault", "commander", "heavy", "super", "transport"], + "ratio": [ 0.75, 2.0, 0.00, 0.00, 0.00, 0.75, 1.5], + "importance": [ 15.00, 45.00, 25.00, 25.00, 0.00, 45.00, 150.00], + "max_percent": 1.00 + }, + "skirmish": { + "vs": ["riot", "static", "assault", "commander", "heavy", "anti_heavy", "transport"], + "ratio": [ 1.50, 0.75, 1.00, 0.35, 0.00, 0.00, 1.13], + "importance": [ 35.00, 25.00, 25.00, 25.00, 0.00, 0.00, 50.00], + "max_percent": 1.00 + }, + "raider": { + "vs": ["anti_air", "scout", "raider", "anti_heavy", "mine", "skirmish", "artillery"], + "ratio": [ 0.00, 0.5, 0.6, 0.10, 0.48, 0.18, 0.8], + "importance": [ 15.00, 100.00, 85.00, 15.00, 35.00, 10.00, 10.00], + "max_percent": 1.00, + "eps_step": 0.5 + }, + "riot": { + "vs": ["raider", "scout"], + "ratio": [ 0.6, 0.48], + "importance": [ 100.00, 35.00], + "max_percent": 0.35 + }, + "transport": { + "vs": ["super", "support"], + "ratio": [ 0.75, 0.75], + "importance": [ 50.00, 50.00], + "max_percent": 0.30, + "eps_step": 0.015 + }, + "scout": { + "vs": ["mine", "artillery", "anti_air", "scout", "static", "heavy", "anti_heavy"], + "ratio": [ 0.15, 0.05, 0.10, 0.15, 0.00, 0.00, 0.05], + "importance": [ 50.00, 0.10, 0.10, 15.00, 0.00, 0.00, 10.00], + "max_percent": 0.09, + "eps_step": 0.025 + }, + "artillery": { + "vs": ["static", "artillery", "super"], + "ratio": [ 0.66, 0.00, 0.66], + "importance": [ 20.00, 0.00, 40.00], + "max_percent": 0.66, + "eps_step": 0.02 + }, + "anti_air": { + "vs": ["air"], + "ratio": [ 0.75], + "importance": [ 150.0], + "max_percent": 0.5, + "eps_step": 0.8 + }, + "anti_sub": { + "vs": ["sub"], + "ratio": [ 0.0], + "importance": [ 0.0], + "max_percent": 0.00, + "eps_step": 0.0 + }, + "anti_heavy": { + "vs": ["heavy", "artillery", "support", "anti_heavy", "commander", "super"], + "ratio": [ 0.45, 0.00, 0.00, 0.00, 0.4, 0.50], + "importance": [ 85.00, 0.00, 0.00, 0.00, 50.00, 50.0], + "max_percent": 0.40, + "eps_step": 0.00 + }, + "heavy": { + "vs": ["heavy", "static", "support", "skirmish", "super"], + "ratio": [ 0.75, 0.5, 0.00, 0.00, 0.75, 0.75], + "importance": [ 75.00, 15.00, 0.00, 0.00, 15.00, 75.00], + "max_percent": 0.50, + "eps_step": 0.00 + }, + "bomber": { + "vs": ["heavy", "anti_heavy", "artillery", "super"], + "ratio": [ 0.00, 0.50, 0.50, 0.50], + "importance": [ 0.00, 50.00, 50.00, 50.00], + "max_percent": 0.5, + "eps_step": 0.00 + }, + "super": { + "vs": ["heavy", "static", "support", "skirmish", "artillery", "super"], + "ratio": [ 0.3, 0.55, 0.00, 0.00, 0.00, 0.00], + "importance": [ 45.00, 25.00, 0.00, 0.00, 0.00, 0.00], + "max_percent": 0.2, + "eps_step": 0.00 + }, + "support": { + "vs": ["assault"], + "ratio": [ 0.25], + "importance": [ 0.85], + "max_percent": 0.20, + "eps_step": 0.00 + } +} +} diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist32/stable/AIInfo.lua b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist32/stable/AIInfo.lua new file mode 100644 index 000000000..a29e48792 --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist32/stable/AIInfo.lua @@ -0,0 +1,58 @@ +-- +-- Info Definition Table format +-- +-- +-- These keywords must be lowercase for LuaParser to read them. +-- +-- key: user defined or one of the SKIRMISH_AI_PROPERTY_* defines in +-- SSkirmishAILibrary.h +-- value: the value of the property +-- desc: the description (could be used as a tooltip) +-- +-- +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +local infos = { + { + key = 'shortName', + value = 'DevCircuitEconomist32', -- AI name - !This comment is used for parsing! + desc = 'machine conform name.', + }, + { + key = 'version', + value = 'stable', -- AI version - !This comment is used for parsing! + }, + { + key = 'name', + value = 'Circuit Brutal', + desc = 'human readable name.', + }, + { + key = 'description', + value = 'This AI is using the new C++ wrapper.', + desc = 'tooltip.', + }, + { + key = 'url', + value = 'https://springrts.com/wiki/AI:CppTestAI', + desc = 'URL with more detailed info about the AI', + }, + { + key = 'loadSupported', + value = 'no', + desc = 'whether this AI supports loading or not', + }, + { + key = 'interfaceShortName', + value = 'C', -- AI Interface name - !This comment is used for parsing! + desc = 'the shortName of the AI interface this AI needs', + }, + { + key = 'interfaceVersion', + value = '0.1', -- AI Interface version - !This comment is used for parsing! + desc = 'the minimum version of the AI interface this AI needs', + }, +} + +return infos diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist64/stable/AIInfo.lua b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist64/stable/AIInfo.lua new file mode 100644 index 000000000..2ee6c0d78 --- /dev/null +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist64/stable/AIInfo.lua @@ -0,0 +1,58 @@ +-- +-- Info Definition Table format +-- +-- +-- These keywords must be lowercase for LuaParser to read them. +-- +-- key: user defined or one of the SKIRMISH_AI_PROPERTY_* defines in +-- SSkirmishAILibrary.h +-- value: the value of the property +-- desc: the description (could be used as a tooltip) +-- +-- +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +local infos = { + { + key = 'shortName', + value = 'DevCircuitEconomist64', -- AI name - !This comment is used for parsing! + desc = 'machine conform name.', + }, + { + key = 'version', + value = 'stable', -- AI version - !This comment is used for parsing! + }, + { + key = 'name', + value = 'Circuit Brutal', + desc = 'human readable name.', + }, + { + key = 'description', + value = 'This AI is using the new C++ wrapper.', + desc = 'tooltip.', + }, + { + key = 'url', + value = 'https://springrts.com/wiki/AI:CppTestAI', + desc = 'URL with more detailed info about the AI', + }, + { + key = 'loadSupported', + value = 'no', + desc = 'whether this AI supports loading or not', + }, + { + key = 'interfaceShortName', + value = 'C', -- AI Interface name - !This comment is used for parsing! + desc = 'the shortName of the AI interface this AI needs', + }, + { + key = 'interfaceVersion', + value = '0.1', -- AI Interface version - !This comment is used for parsing! + desc = 'the minimum version of the AI interface this AI needs', + }, +} + +return infos diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/configversions.json b/LuaMenu/configs/gameConfig/zk/defaultSettings/configversions.json index c660f8204..908c7479b 100644 --- a/LuaMenu/configs/gameConfig/zk/defaultSettings/configversions.json +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/configversions.json @@ -32,1156 +32,1288 @@ }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIBeginner32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIBeginner32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBeginner/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIBeginner32/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBeginner32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIBeginner32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIBeginner32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAINovice32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAINovice32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINovice/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAINovice32/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINovice32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAINovice32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAINovice32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIEasy32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIEasy32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIEasy/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIEasy32/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIEasy32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIEasy32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIEasy32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAINormal32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAINormal32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINormal/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAINormal32/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINormal32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAINormal32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAINormal32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIHard32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIHard32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIHard/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIHard32/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIHard32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIHard32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIHard32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIBrutal32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIBrutal32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBrutal/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIBrutal32/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBrutal32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIBrutal32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIBrutal32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIBeginner64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIBeginner64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBeginner/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIBeginner64/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBeginner64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIBeginner64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIBeginner64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAINovice64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAINovice64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINovice/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAINovice64/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINovice64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAINovice64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAINovice64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIEasy64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIEasy64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIEasy/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIEasy64/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIEasy64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIEasy64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIEasy64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAINormal64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAINormal64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINormal/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAINormal64/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAINormal64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAINormal64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAINormal64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIHard64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIHard64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIHard/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIHard64/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIHard64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIHard64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIHard64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/CircuitAIBrutal64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/CircuitAIBrutal64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBrutal/stable/config/circuit.json", "TargetPath":"AI/Skirmish/CircuitAIBrutal64/stable/config/circuit.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAIBrutal64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/CircuitAIBrutal64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/CircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/CircuitAIBrutal64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAINovice32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIEasy32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAINormal32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIHard32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal32/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal32/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/libSkirmishAI.so", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/libSkirmishAI.so" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon32/stable/SkirmishAI.dll", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/SkirmishAI.dll" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/behaviour.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/config/behaviour.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/block_map.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/config/block_map.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/build_chain.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/config/build_chain.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/commander.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/config/commander.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/economy.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/config/economy.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/factory.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/config/factory.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/response.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/config/response.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist32/stable/AIInfo.lua", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/AIInfo.lua" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", + "TargetPath":"AI/Skirmish/DevCircuitEconomist32/stable/AIOptions.lua" + }, + { + "Platform":null, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBeginner64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBeginner64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINovice64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAINovice64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIEasy64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIEasy64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAINormal64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAINormal64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIHard64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIHard64/stable/AIOptions.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/libSkirmishAI.so" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/SkirmishAI.dll" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/behaviour.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/config/behaviour.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/block_map.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/config/block_map.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/build_chain.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/config/build_chain.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/commander.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/config/commander.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/economy.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/config/economy.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/factory.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/config/factory.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal/stable/config/response.json", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/config/response.json" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAIBrutal64/stable/AIInfo.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/AIInfo.lua" }, { "Platform":null, - "VersionNumber":140, + "VersionNumber":141, "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", "TargetPath":"AI/Skirmish/DevCircuitAIBrutal64/stable/AIOptions.lua" }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/libSkirmishAI.so", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/libSkirmishAI.so" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon64/stable/SkirmishAI.dll", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/SkirmishAI.dll" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/behaviour.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/config/behaviour.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/block_map.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/config/block_map.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/build_chain.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/config/build_chain.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/commander.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/config/commander.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/economy.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/config/economy.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/factory.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/config/factory.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist/stable/config/response.json", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/config/response.json" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitEconomist64/stable/AIInfo.lua", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/AIInfo.lua" + }, + { + "Platform":null, + "VersionNumber":141, + "SourcePath":"LuaMenu/configs/gameConfig/zk/defaultSettings/AI/Skirmish/DevCircuitAICommon/stable/AIOptions.lua", + "TargetPath":"AI/Skirmish/DevCircuitEconomist64/stable/AIOptions.lua" + }, { "Platform":null, "VersionNumber":1, diff --git a/LuaMenu/configs/gameConfig/zk/defaultSettings/springsettings.cfg b/LuaMenu/configs/gameConfig/zk/defaultSettings/springsettings.cfg index 31bc01722..c6e57ca59 100644 --- a/LuaMenu/configs/gameConfig/zk/defaultSettings/springsettings.cfg +++ b/LuaMenu/configs/gameConfig/zk/defaultSettings/springsettings.cfg @@ -33,6 +33,10 @@ GroundDetail = 90 HangTimeout = 30 HardwareCursor = 1 InitialNetworkTimeout = 0 +LinkOutgoingBandwidth= 262144 +LinkIncomingSustainedBandwidth = 262144 +LinkIncomingPeakBandwidth = 262144 +LinkIncomingMaxPacketRate = 2048 LoadingMT = 0 LODScale = 1.000 LODScaleReflection = 1.000 @@ -52,6 +56,7 @@ MiniMapMarker = 0 MinimapOnLeft = 1 MouseDragScrollThreshold = 0 MoveWarnings = 0 +NetworkLossFactor = 2 NormalMapping = 1 OverheadMaxHeightFactor = 1.4 OverheadScrollSpeed = 50 @@ -70,6 +75,7 @@ UnitIconDist = 151 UnitLodDist = 9999 UseDistToGroundForIcons = 1.1 UseLuaMemPools = 0 +UseNetMessageSmoothingBuffer = 0 UsePBO = 0 VerboseLevel = 10 Version = 2 diff --git a/LuaMenu/configs/gameConfig/zk/gameUnitInformation.lua b/LuaMenu/configs/gameConfig/zk/gameUnitInformation.lua index 0733e5095..365e7fb94 100644 --- a/LuaMenu/configs/gameConfig/zk/gameUnitInformation.lua +++ b/LuaMenu/configs/gameConfig/zk/gameUnitInformation.lua @@ -173,6 +173,7 @@ local nameList = { [172] = "shieldaa", [173] = "shieldbomb", [174] = "amphlaunch", + [175] = "hoverheavyraid", } local categories = { @@ -580,7 +581,12 @@ local humanNames = { description = "Anti-Sub Hovercraft", humanName = "Claymore", }, - + hoverheavyraid = { + category = "hover", + order = 10, + description = "Disruptor Hovercraft", + humanName = "Bolas", + }, -- Amph factoryamph = { category = "amph", @@ -863,7 +869,7 @@ local humanNames = { planecon = { category = "plane", order = 2, - description = "Construction Aircraft, Builds at 4 m/s", + description = "Construction Aircraft, Builds at 5 m/s", humanName = "Crane", }, planefighter = { diff --git a/LuaMenu/configs/gameConfig/zk/linkFunctions.lua b/LuaMenu/configs/gameConfig/zk/linkFunctions.lua index c810a241a..75f80b0ea 100644 --- a/LuaMenu/configs/gameConfig/zk/linkFunctions.lua +++ b/LuaMenu/configs/gameConfig/zk/linkFunctions.lua @@ -1,25 +1,25 @@ local function link_reportPlayer(accountID) - return "http://zero-k.info/Users/ReportToAdmin/" .. accountID + return "https://zero-k.info/Users/ReportToAdmin/" .. accountID end local function link_userPage(accountID) - return "http://zero-k.info/Users/Detail/" .. accountID + return "https://zero-k.info/Users/Detail/" .. accountID end local function link_homePage() - return "http://zero-k.info/" + return "https://zero-k.info/" end local function link_replays() - return "http://zero-k.info/Battles" + return "https://zero-k.info/Battles" end local function link_maps() - return "http://zero-k.info/Maps" + return "https://zero-k.info/Maps" end local function link_particularMapPage(mapName) - return "http://zero-k.info/Maps/DetailName?name=" .. mapName + return "https://zero-k.info/Maps/DetailName?name=" .. mapName end return link_reportPlayer, link_userPage, link_homePage, link_replays, link_maps, link_particularMapPage diff --git a/LuaMenu/configs/gameConfig/zk/mainConfig.lua b/LuaMenu/configs/gameConfig/zk/mainConfig.lua index 60a0cfb06..30924020d 100644 --- a/LuaMenu/configs/gameConfig/zk/mainConfig.lua +++ b/LuaMenu/configs/gameConfig/zk/mainConfig.lua @@ -105,6 +105,7 @@ local externalFuncAndData = { link_maps = link_maps, link_particularMapPage = link_particularMapPage, ignoreServerVersion = false, + runTutorial = true, openTrack = 'sounds/lobbyMusic/The Secret of Ayers Rock.ogg', randomTrackList = { "sounds/lobbyMusic/A Magnificent Journey (Alternative Version).ogg", diff --git a/LuaMenu/configs/gameConfig/zk/settingsMenu.lua b/LuaMenu/configs/gameConfig/zk/settingsMenu.lua index 7c1a04720..b4ca62fac 100644 --- a/LuaMenu/configs/gameConfig/zk/settingsMenu.lua +++ b/LuaMenu/configs/gameConfig/zk/settingsMenu.lua @@ -689,35 +689,35 @@ local settingsConfig = { name = "Low", apply = { TreeRadius = 1000, - GrassDetail = 1, + GrassDetail = 0, } }, { name = "Medium", apply = { TreeRadius = 1200, - GrassDetail = 4, + GrassDetail = 0, } }, { name = "High", apply = { TreeRadius = 1500, - GrassDetail = 9, + GrassDetail = 0, } }, { name = "Ultra", apply = { TreeRadius = 2500, - GrassDetail = 16, + GrassDetail = 0, } }, { name = "Ridiculous", apply = { TreeRadius = 2500, - GrassDetail = 100, + GrassDetail = 0, } }, }, diff --git a/LuaMenu/configs/gameConfig/zk/unitpics/hoverheavyraid.png b/LuaMenu/configs/gameConfig/zk/unitpics/hoverheavyraid.png new file mode 100644 index 000000000..cca4e8942 Binary files /dev/null and b/LuaMenu/configs/gameConfig/zk/unitpics/hoverheavyraid.png differ diff --git a/LuaMenu/configs/springsettings/springsettings.lua b/LuaMenu/configs/springsettings/springsettings.lua index 3e67c6c3f..470d25d30 100644 --- a/LuaMenu/configs/springsettings/springsettings.lua +++ b/LuaMenu/configs/springsettings/springsettings.lua @@ -1,5 +1,5 @@ local settings = { - AdvUnitShading = 1, + AdvUnitShading = 1 , AdvMapShading = 1, AllowDeferredMapRendering = 1, AllowDeferredModelRendering = 1, @@ -33,6 +33,10 @@ local settings = { HangTimeout = 30, HardwareCursor = 1, InitialNetworkTimeout = 0, + LinkOutgoingBandwidth= 262144, + LinkIncomingSustainedBandwidth = 262144, + LinkIncomingPeakBandwidth = 262144, + LinkIncomingMaxPacketRate = 2048, LoadingMT = 0, LODScale = 1.000, LODScaleReflection = 1.000, @@ -52,6 +56,7 @@ local settings = { MinimapOnLeft = 1, MouseDragScrollThreshold = 0, MoveWarnings = 0, + NetworkLossFactor = 2, NormalMapping = 1, OverheadMaxHeightFactor = 1.4, OverheadScrollSpeed = 50, @@ -67,9 +72,10 @@ local settings = { SplashScreenDir = "./MenuLoadscreens", TreeRadius = 1200, --UnitIconDist = 151, -- Stored in springsettings.cfg and interacted with directly. - UnitLodDist = 500, + UnitLodDist = 9999, UseDistToGroundForIcons = 1.1, UseLuaMemPools = 0, + UseNetMessageSmoothingBuffer = 0, UsePBO = 0, VerboseLevel = 10, Version = 2, diff --git a/LuaMenu/configs/springsettings/springsettingsChanges.lua b/LuaMenu/configs/springsettings/springsettingsChanges.lua index b8085df56..ebecbee5c 100644 --- a/LuaMenu/configs/springsettings/springsettingsChanges.lua +++ b/LuaMenu/configs/springsettings/springsettingsChanges.lua @@ -13,6 +13,12 @@ local settings = { local onlyIfMissingSettings = { FeatureDrawDistance = 600000, FeatureFadeDistance = 600000, + UseNetMessageSmoothingBuffer = 0, + NetworkLossFactor = 2, + LinkOutgoingBandwidth= 262144, + LinkIncomingSustainedBandwidth = 262144, + LinkIncomingPeakBandwidth = 262144, + LinkIncomingMaxPacketRate = 2048, } return settings, onlyIfMissingSettings diff --git a/LuaMenu/main.lua b/LuaMenu/main.lua index 4b1e21387..3cb7908ec 100644 --- a/LuaMenu/main.lua +++ b/LuaMenu/main.lua @@ -49,6 +49,7 @@ end -- VFS.Include("LuaHandler/Utilities/utils.lua", nil, VFS.DEF_MODE) +VFS.Include("LuaMenu/utils.lua", nil, VFS.DEF_MODE) --// the addon handler include "LuaHandler/handler.lua" diff --git a/LuaMenu/utils.lua b/LuaMenu/utils.lua new file mode 100644 index 000000000..6837cc9eb --- /dev/null +++ b/LuaMenu/utils.lua @@ -0,0 +1,13 @@ + +function string:split(delimiter) + local result = {} + local from = 1 + local delim_from, delim_to = string.find(self, delimiter, from) + while delim_from do + table.insert(result, string.sub(self, from , delim_from - 1)) + from = delim_to + 1 + delim_from, delim_to = string.find( self, delimiter, from) + end + table.insert(result, string.sub(self, from)) + return result +end diff --git a/LuaMenu/widgets/api_analytics.lua b/LuaMenu/widgets/api_analytics.lua index d40ddf8d6..91c8d2dbc 100644 --- a/LuaMenu/widgets/api_analytics.lua +++ b/LuaMenu/widgets/api_analytics.lua @@ -111,6 +111,10 @@ local settings = { "AdvUnitShading", } +local function IsTesselationShaderSupported() + return gl.HasExtension and gl.HasExtension("GL_ARB_tessellation_shader") and (gl.SetTesselationShaderParameter ~= nil) +end + local function SendGraphicsSettings() for i = 1, #settings do local value = Spring.GetConfigInt(settings[i], -1) @@ -153,6 +157,7 @@ function DelayedInitialize() Analytics.SendOnetimeEvent("graphics:gpu:" .. ProcessString(tostring((Platform and Platform.gpu) or "unknown") or "unknown")) Analytics.SendOnetimeEvent("graphics:glRenderer:" .. ProcessString(tostring((Platform and Platform.glRenderer) or "unknown") or "unknown")) + Analytics.SendOnetimeEvent("graphics:tesselation", ((IsTesselationShaderSupported() and 1) or 0)) end -------------------------------------------------------------------------------- diff --git a/LuaMenu/widgets/api_battle_proposal_handler.lua b/LuaMenu/widgets/api_battle_proposal_handler.lua new file mode 100644 index 000000000..30c27b362 --- /dev/null +++ b/LuaMenu/widgets/api_battle_proposal_handler.lua @@ -0,0 +1,314 @@ +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +function widget:GetInfo() + return { + name = "Battle Proposal Handler", + desc = "Handles the battle proposal system.", + author = "GoogleFrog", + date = "28 March 2020", + license = "GNU LGPL, v2.1 or later", + layer = 0, + enabled = true -- loaded by default? + } +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +local parameterStr = { + "minelo=", + "maxelo=", + "minsize=", + "maxsize=", +} + +for i = 1, #parameterStr do + parameterStr[i] = {parameterStr[i], string.len(parameterStr[i])} +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- Variables + +local currentProposal +local acceptedProposal + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +local function CheckCancelProposal(message) + if string.sub(message, 1, 1) ~= "!" or string.sub(message, 1, 12) ~= "!endproposal"then + return false + end + if currentProposal then + Chotify:Post({ + title = "Battle Proposal", + body = "Ongoing proposal ended.", + }) + end + currentProposal = nil + + return true +end + +local function GetProposalFromString(message) + if string.sub(message, 1, 1) ~= "!" or string.sub(message, 1, 14) ~= "!proposebattle"then + return false + end + + local data = message:split(" ") + local paramValues = {} + for i = 1, #data do + for j = 1, #parameterStr do + if string.sub(data[i], 1, parameterStr[j][2]) == parameterStr[j][1] then + local value = tonumber(string.sub(data[i], parameterStr[j][2] + 1)) + if value then + paramValues[j] = value + end + end + end + end + + local proposalValues = { + minelo = paramValues[1] or false, + maxelo = paramValues[2] or false, + minsize = math.max(1, math.floor(paramValues[3] or 4)), + } + proposalValues.maxsize = math.max(proposalValues.minsize, paramValues[4] or 8) + + return true, proposalValues +end + +local function CheckProposalSent(prop) + if currentProposal and prop.minelo == currentProposal.minelo + and prop.maxelo == currentProposal.maxelo + and prop.minsize == currentProposal.minsize + and prop.maxsize == currentProposal.maxsize then + Chotify:Post({ + title = "Battle Proposal", + body = "Invite for ongoing proposal sent", + }) + return false + end + + currentProposal = prop + + currentProposal.currentPlayers = 1 + currentProposal.acceptedPlayers = {} + + Chotify:Post({ + title = "Battle Proposal", + body = "New proposal sent.\nUse !endproposal to cancel.", + }) + return true +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- External functions + +local BattleProposalHandler = {} + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +function BattleProposalHandler.AddClickableInvites(userName, preMessage, message, onTextClick, textTooltip) + if not (WG.LibLobby and WG.LibLobby.lobby and userName) then + return + end + local myProposal = (userName == WG.LibLobby.lobby:GetMyUserName()) + if myProposal and CheckCancelProposal(message) then + return onTextClick, textTooltip + end + + local hasProposal, prop = GetProposalFromString(message) + if not hasProposal then + return onTextClick, textTooltip + end + + local myInfo = WG.LibLobby.lobby:GetMyInfo() + local effectiveSkill = math.max(myInfo.skill or 1500, myInfo.casualSkill or 1500) + local skillTooLow = (prop.minelo and effectiveSkill < prop.minelo) + local skillTooHigh = (prop.maxelo and effectiveSkill > prop.maxelo) + + if myProposal then + if skillTooLow then + Chotify:Post({ + title = "Battle Proposal", + body = "Your skill rating is too low for your proposal", + }) + return onTextClick, textTooltip + elseif skillTooHigh then + Chotify:Post({ + title = "Battle Proposal", + body = "Your skill rating is too high for your proposal", + }) + return onTextClick, textTooltip + end + + CheckProposalSent(prop) + end + + local startIndex = string.len(preMessage) + local endIndex = startIndex + string.len(message) + 1 + + if not (skillTooLow or skillTooLow) then + onTextClick[#onTextClick + 1] = { + startIndex = startIndex, + endIndex = endIndex, + OnTextClick = { + function() + if WG.LibLobby and WG.LibLobby.lobby then + acceptedProposal = userName + WG.LibLobby.lobby:BattleProposalRespond(userName, true) + Chotify:Post({ + title = "Battle Proposal", + body = "Signed up for " .. userName .. "'s battle", + }) + end + end + } + } + end + + local proposalString + if skillTooLow then + proposalString = "Your skill rating is too low for this proposal." + elseif skillTooHigh then + proposalString = "Your skill rating is too high for this proposal." + else + if myProposal then + proposalString = "This is your battle proposal.\nOther players may click it to accept." + else + proposalString = "Click to accept " .. userName .. "'s battle" + end + if prop.minelo then + proposalString = proposalString .. "\nMin rating: " .. prop.minelo + end + if prop.maxelo then + proposalString = proposalString .. "\nMax rating: " .. prop.maxelo + end + proposalString = proposalString .. "\nA battle will open when " .. prop.minsize .. " players accept." + end + + textTooltip[#textTooltip + 1] = { + startIndex = startIndex, + endIndex = endIndex, + tooltip = proposalString, + } + + return onTextClick, textTooltip +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- Widget Interface + +function DelayedInitialize() + local lobby = WG.LibLobby.lobby + + local function OnBattleProposalResponse(listener, userName, accepted) + if (not accepted) then + return + end + if (not currentProposal) or (currentProposal.acceptedPlayers[userName] and not currentProposal.battleHostComplete) then + return + end + local user = lobby:GetUser(userName) + if (not user) or (userName == lobby:GetMyUserName())then + return + end + local effectiveSkill = math.max(user.skill or 1500, user.casualSkill or 1500) + if (currentProposal.minelo and effectiveSkill < currentProposal.minelo) or (currentProposal.maxelo and effectiveSkill > currentProposal.maxelo) then + return + end + + if currentProposal.battleHostComplete then + lobby:BattleProposalBattleInvite(userName, currentProposal.battleID, currentProposal.password) + Chotify:Post({ + title = "Battle Proposal", + body = userName .. " accepted and joined.", + }) + return + end + + currentProposal.currentPlayers = currentProposal.currentPlayers + 1 + currentProposal.acceptedPlayers[userName] = true + Chotify:Post({ + title = "Battle Proposal", + body = userName .. " accepted.\nPlayers: " .. currentProposal.currentPlayers .. "/" .. currentProposal.minsize, + }) + + if currentProposal.currentPlayers >= currentProposal.minsize and not currentProposal.openingBattleName then + -- Check for users leaving + for acceptedUserName, _ in pairs(currentProposal.acceptedPlayers) do + local currentUser = lobby:GetUser(acceptedUserName) + if (not currentUser) or currentUser.isOffline then + currentProposal.acceptedPlayers[acceptedUserName] = nil + currentProposal.currentPlayers = currentProposal.currentPlayers - 1 + end + end + + -- Host the battle + if currentProposal.currentPlayers >= currentProposal.minsize then + WG.BattleRoomWindow.LeaveBattle() + currentProposal.password = math.floor(math.random()*100000) + currentProposal.openingBattleName = (lobby:GetMyUserName() or "Player") .. "'s Proposed Battle" + lobby:HostBattle(currentProposal.openingBattleName, currentProposal.password, "Team") + Chotify:Post({ + title = "Battle Proposal", + body = "Hosting game", + }) + end + end + end + + local function OnJoinedBattle(listener, battleID, hashCode) + if not (currentProposal and currentProposal.openingBattleName) then + return + end + local battleInfo = lobby:GetBattle(battleID) + if battleInfo.title ~= currentProposal.openingBattleName then + return + end + + for acceptedUserName, _ in pairs(currentProposal.acceptedPlayers) do + lobby:BattleProposalBattleInvite(acceptedUserName, battleID, currentProposal.password) + end + if currentProposal.maxsize then + lobby:SayBattle("!maxplayers " .. currentProposal.maxsize) + end + currentProposal.battleID = battleID + currentProposal.battleHostComplete = true + end + + local function OnBattleProposalBattleInvite(listener, userName, battleID, password) + if acceptedProposal ~= userName then + return + end + lobby:JoinBattle(battleID, password) + acceptedProposal = false + Chotify:Post({ + title = "Battle Proposal", + body = "Joining " .. userName .. "'s battle", + }) + end + + lobby:AddListener("OnBattleProposalResponse", OnBattleProposalResponse) + lobby:AddListener("OnJoinedBattle", OnJoinedBattle) + lobby:AddListener("OnBattleProposalBattleInvite", OnBattleProposalBattleInvite) +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +function widget:Initialize() + VFS.Include(LUA_DIRNAME .. "widgets/chobby/headers/exports.lua", nil, VFS.RAW_FIRST) + + WG.BattleProposalHandler = BattleProposalHandler + WG.Delay(DelayedInitialize, 1) +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- diff --git a/LuaMenu/widgets/api_campaign_data.lua b/LuaMenu/widgets/api_campaign_data.lua index 30ed5d4d9..a884e42f0 100644 --- a/LuaMenu/widgets/api_campaign_data.lua +++ b/LuaMenu/widgets/api_campaign_data.lua @@ -241,6 +241,14 @@ local function UnlockRewardSet(rewardSet) return saveRequired end +local function ApplyUnlocksForCapturedPlanets() + for i = 1, #gamedata.planetsCaptured.list do + local planetID = gamedata.planetsCaptured.list[i] + local planet = WG.Chobby.Configuration.campaignConfig.planetDefs.planets[planetID] + UnlockRewardSet(planet.completionReward) + end +end + local function UpdateCommanderModuleCounts() local loadout = gamedata.commanderLoadout commanderModuleCounts = {} @@ -413,14 +421,14 @@ local function LoadGame(saveData, refreshGUI) if not gamedata.campaignID then GenerateCampaignID() - SaveGame() end + ApplyUnlocksForCapturedPlanets() + if SanityCheckCommanderLevel() then UpdateCommanderModuleCounts() - else - SaveGame() end + SaveGame() if refreshGUI then CallListeners("CampaignLoaded") end @@ -723,7 +731,9 @@ function externalFunctions.SetCodexEntryRead(entryName) if not gamedata.codexEntryRead[entryName] then gamedata.codexEntryRead[entryName] = true SaveGame() + return true end + return false end function externalFunctions.GetUnitsUnlocks() diff --git a/LuaMenu/widgets/api_chili.lua b/LuaMenu/widgets/api_chili.lua index 4ce959851..51f4c4b94 100644 --- a/LuaMenu/widgets/api_chili.lua +++ b/LuaMenu/widgets/api_chili.lua @@ -31,7 +31,7 @@ local tf -------------------------------------------------------------------------------- -- Chili's location -CHILI_DIRNAME = "libs/chiliui/" .. LUA_DIRNAME .. "chili/chili/" +CHILI_DIRNAME = "libs/chiliui/chili/" SKIN_DIRNAME = LUA_DIRNAME .. "widgets/chili/skins/" THEME_DIRNAME = LUA_DIRNAME .. "widgets/chili/themes/" @@ -68,18 +68,24 @@ end -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -firstDraw = true -local hideInterface = false +local lastTimer = Spring.GetTimer() +local startTimer = Spring.GetTimer() +local hideInterface = true +local loadFade = 1 + local totalHideInterface = falase -local function ShowInterface() - hideInterface = false -end +local loadTex = "MenuLoadscreens/loadscreen.png" function widget:DrawScreen() - if firstDraw then - WG.Delay(ShowInterface, 0.1) - hideInterface = true - firstDraw = false + if startTimer then + local timer = Spring.GetTimer() + local diff = Spring.DiffTimers(timer, lastTimer) + lastTimer = timer + --Spring.Echo("diff", diff) + if diff < 0.04 or Spring.DiffTimers(timer, startTimer) > 8 then + hideInterface = false + startTimer = false + end end if totalHideInterface or (WG.Chobby and WG.Chobby.Configuration and WG.Chobby.Configuration.hideInterface) then return @@ -101,6 +107,21 @@ function widget:DrawScreen() gl.PopMatrix() end gl.Color(1,1,1,1) + + if loadFade then + local vsx,vsy = gl.GetViewSizes() + gl.Color(1,1,1,loadFade) + gl.Texture(loadTex) + gl.TexRect(0,0,vsx,vsy) + gl.Color(1,1,1,1) + + if not hideInterface then + loadFade = loadFade - 0.18 + if loadFade <= 0 then + loadFade = false + end + end + end end diff --git a/LuaMenu/widgets/api_ingame_interface.lua b/LuaMenu/widgets/api_ingame_interface.lua index 32ef8f9cd..bfb54ee99 100644 --- a/LuaMenu/widgets/api_ingame_interface.lua +++ b/LuaMenu/widgets/api_ingame_interface.lua @@ -14,19 +14,6 @@ function widget:GetInfo() } end -function string:split(delimiter) - local result = {} - local from = 1 - local delim_from, delim_to = string.find(self, delimiter, from) - while delim_from do - table.insert(result, string.sub(self, from , delim_from - 1)) - from = delim_to + 1 - delim_from, delim_to = string.find( self, delimiter, from) - end - table.insert(result, string.sub(self, from)) - return result -end - -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Externals Functions diff --git a/LuaMenu/widgets/api_limit_fps.lua b/LuaMenu/widgets/api_limit_fps.lua index f4b650a7c..773af4188 100644 --- a/LuaMenu/widgets/api_limit_fps.lua +++ b/LuaMenu/widgets/api_limit_fps.lua @@ -91,10 +91,17 @@ function widget:AllowDraw() lastTimer = timer return true end - if oldFramesInBuffer < 3 then + + if (config.lobbyIdleSleep) then + if (fastRedraw or constantRedrawSeconds) and oldFramesInBuffer < 3 then + framesInBuffer = oldFramesInBuffer + 1 + return true + end + elseif oldFramesInBuffer < 3 then framesInBuffer = oldFramesInBuffer + 1 return true end + return false end diff --git a/LuaMenu/widgets/api_steam_handler.lua b/LuaMenu/widgets/api_steam_handler.lua index 31dbfc993..1aa1ea7a9 100644 --- a/LuaMenu/widgets/api_steam_handler.lua +++ b/LuaMenu/widgets/api_steam_handler.lua @@ -44,7 +44,7 @@ local function JoinFriend(friendID) -- Friend not online. return end - lobby:InviteToParty(userName) + --lobby:InviteToParty(userName) -- Do not do join server party, it is confusing. local userInfo = lobby:GetUser(userName) or {} if userInfo.battleID then diff --git a/LuaMenu/widgets/chili/skins/Evolved/skin.lua b/LuaMenu/widgets/chili/skins/Evolved/skin.lua index c890f0a5f..8ab0aa449 100644 --- a/LuaMenu/widgets/chili/skins/Evolved/skin.lua +++ b/LuaMenu/widgets/chili/skins/Evolved/skin.lua @@ -371,6 +371,7 @@ skin.treeview = { ImageExpanded = ":cl:treeview_node_expanded.png", ImageCollapsed = ":cl:treeview_node_collapsed.png", + ImageHighlight = ":cl:treeview_node_collapsed_highlight.png", treeColor = {1,1,1,0.1}, DrawNode = DrawTreeviewNode, diff --git a/LuaMenu/widgets/chili/skins/Evolved/treeview_node_collapsed_highlight.png b/LuaMenu/widgets/chili/skins/Evolved/treeview_node_collapsed_highlight.png new file mode 100644 index 000000000..073bc2bcf Binary files /dev/null and b/LuaMenu/widgets/chili/skins/Evolved/treeview_node_collapsed_highlight.png differ diff --git a/LuaMenu/widgets/chobby/components/chat_windows.lua b/LuaMenu/widgets/chobby/components/chat_windows.lua index ec80f2828..ecb1bf624 100644 --- a/LuaMenu/widgets/chobby/components/chat_windows.lua +++ b/LuaMenu/widgets/chobby/components/chat_windows.lua @@ -526,7 +526,7 @@ function ChatWindows:SetTabBadge(tabName, text) width = 10, y = 0, height = 12, - caption = Configuration:GetFont(1), + caption = text, font = { Configuration:GetFont(1).size, outline = true, diff --git a/LuaMenu/widgets/chobby/components/configuration.lua b/LuaMenu/widgets/chobby/components/configuration.lua index d2a0a080a..490cd56fb 100644 --- a/LuaMenu/widgets/chobby/components/configuration.lua +++ b/LuaMenu/widgets/chobby/components/configuration.lua @@ -154,8 +154,14 @@ function Configuration:init() self.campaignConfig = VFS.Include("campaign/sample/mainConfig.lua") self.campaignSaveFile = nil -- Set by user self.nextCampaignSaveNumber = 1 - self.campaignConfigOptions = {"sample", "dev"} - self.campaignConfigHumanNames = {"Sample", "Dev"} + self.campaignConfigOptions = { + "sample", + "--dev" + } + self.campaignConfigHumanNames = { + "Sample", + --"Dev" + } local gameConfigOptions = {} local subdirs = VFS.SubDirs(gameConfPath) for index, subdir in ipairs(subdirs) do @@ -210,6 +216,7 @@ function Configuration:init() self.enableTextToSpeech = true self.showOldAiVersions = false self.drawAtFullSpeed = false + self.lobbyIdleSleep = false self.rememberQueuesOnStart = false self.channels = {} if self.gameConfig.defaultChatChannels ~= nil then @@ -218,6 +225,12 @@ function Configuration:init() end end + self.language = "en" + self.languages = { + ["en"] = {locale = "en", name="English"}, + ["de"] = {locale = "de", name="Deutsch"}, + } + self.lobby_fullscreen = 1 self.game_fullscreen = 1 @@ -413,6 +426,10 @@ end --------------------------------------------------------------------------------- function Configuration:SetConfigData(data) + if data.campaignConfigName == "dev" then + data.campaignConfigName = "sample" + end + if data ~= nil then for k, v in pairs(data) do if not self.noNaiveConfigOverride[k] then @@ -479,6 +496,7 @@ function Configuration:GetConfigData() battleFilterRunning = self.battleFilterRunning, channels = self.channels, gameConfigName = self.gameConfigName, + language = self.language, game_fullscreen = self.game_fullscreen, panel_layout = self.panel_layout, lobby_fullscreen = self.lobby_fullscreen, @@ -502,6 +520,7 @@ function Configuration:GetConfigData() confirmation_mainMenuFromBattle = self.confirmation_mainMenuFromBattle, confirmation_battleFromBattle = self.confirmation_battleFromBattle, drawAtFullSpeed = self.drawAtFullSpeed, + lobbyIdleSleep = self.lobbyIdleSleep, rememberQueuesOnStart = self.rememberQueuesOnStart, loadLocalWidgets = self.loadLocalWidgets, activeDebugConsole = self.activeDebugConsole, @@ -656,10 +675,11 @@ function Configuration:GetTick() return self:GetSuccessColor() .. "O" end -function Configuration:GetFont(sizeScale) +function Configuration:GetFont(sizeScale, fontName) return { size = self.font[sizeScale].size, shadow = self.font[sizeScale].shadow, + font = fontName, } end @@ -856,19 +876,6 @@ function Configuration:GetIsRunning64Bit() return false end -function string:split(delimiter) - local result = {} - local from = 1 - local delim_from, delim_to = string.find(self, delimiter, from) - while delim_from do - table.insert(result, string.sub(self, from , delim_from - 1)) - from = delim_to + 1 - delim_from, delim_to = string.find( self, delimiter, from) - end - table.insert(result, string.sub(self, from)) - return result -end - function Configuration:GetIsDevEngine() local engine = self:GetTruncatedEngineVersion() local splits = engine:split("-") diff --git a/LuaMenu/widgets/chobby/components/console.lua b/LuaMenu/widgets/chobby/components/console.lua index 31a4c4a20..c256f1c4f 100644 --- a/LuaMenu/widgets/chobby/components/console.lua +++ b/LuaMenu/widgets/chobby/components/console.lua @@ -275,6 +275,8 @@ function Console:AddMessage(message, userName, dateOverride, color, thirdPerson, end end + onTextClick, textTooltip = WG.BattleProposalHandler.AddClickableInvites(userName, txt, message, onTextClick or {}, textTooltip or {}) + txt = txt .. message onTextClick, textTooltip = WG.BrowserHandler.AddClickableUrls(txt, onTextClick or {}, textTooltip or {}) diff --git a/LuaMenu/widgets/chobby/components/friend_list_window.lua b/LuaMenu/widgets/chobby/components/friend_list_window.lua index 46ff10330..604c73586 100644 --- a/LuaMenu/widgets/chobby/components/friend_list_window.lua +++ b/LuaMenu/widgets/chobby/components/friend_list_window.lua @@ -55,11 +55,11 @@ function FriendListWindow:OnAddUser(userName) end function FriendListWindow:OnRemoveUser(userName) - if not lobby.status == "connected" then + if (not lobby.status == "connected") then return end local userInfo = lobby:TryGetUser(userName) - if userInfo and userInfo.isFriend and WG.Chobby.Configuration:AllowNotification(userName) then + if userInfo and userInfo.isFriend and (not userInfo.isOffline) and WG.Chobby.Configuration:AllowNotification(userName) then local userControl = WG.UserHandler.GetNotificationUser(userName) userControl:SetPos(30, 30, 250, 20) Chotify:Post({ diff --git a/LuaMenu/widgets/chobby/components/priority_popup.lua b/LuaMenu/widgets/chobby/components/priority_popup.lua index 37f2e7e30..1896c578c 100644 --- a/LuaMenu/widgets/chobby/components/priority_popup.lua +++ b/LuaMenu/widgets/chobby/components/priority_popup.lua @@ -28,6 +28,7 @@ function PriorityPopup:init(mainWindow, cancelFunction, acceptFunction, parentCo padding = {0,0,0,0}, margin = {0,0,0,0}, parent = parentControlOverride or WG.Chobby.lobbyInterfaceHolder, + greedyHitTest = true, Draw = function() if not startTime then startTime = os.clock() diff --git a/LuaMenu/widgets/chobby/headers/exports.lua b/LuaMenu/widgets/chobby/headers/exports.lua index 017e4b0dc..f69510a80 100644 --- a/LuaMenu/widgets/chobby/headers/exports.lua +++ b/LuaMenu/widgets/chobby/headers/exports.lua @@ -51,10 +51,6 @@ if WG and WG.i18n then i18n = WG.i18n if not i18n._loaded then i18n.loadFile(CHOBBY_DIR .. "i18n/chililobby.lua") - i18n.setLocale('es') - i18n.setLocale('sr') - i18n.setLocale('jp') - i18n.setLocale('en') i18n._loaded = true end end diff --git a/LuaMenu/widgets/chobby/utilities/buttons.lua b/LuaMenu/widgets/chobby/utilities/buttons.lua index ffcd3df92..5b1940396 100644 --- a/LuaMenu/widgets/chobby/utilities/buttons.lua +++ b/LuaMenu/widgets/chobby/utilities/buttons.lua @@ -1,7 +1,7 @@ ButtonUtilities = ButtonUtilities or {} -local function GetFont(size) +local function GetFont(size, fontName) return { size = size, outlineWidth = 6, @@ -36,10 +36,7 @@ function ButtonUtilities.SetButtonSelected(button) button.highlighted = false button:SetCaption(Configuration:GetSelectedColor() .. button.oldCaption .. "\b") - local fontConfig = GetFont(button.oldFont.size) - -- preserve font type information - fontConfig.font = button.font.font - button.font = Chili.Font:New(fontConfig) + button.font = Chili.Font:New(GetFont(button.oldFont.size, button.font.font)) if COLOR_CLASS[button.classname] then local col = button.backgroundColor @@ -66,10 +63,7 @@ function ButtonUtilities.SetButtonHighlighted(button) button.highlighted = true button:SetCaption(Configuration:GetHighlightedColor() .. button.oldCaption .. "\b") - local fontConfig = GetFont(button.oldFont.size) - -- preserve font type information - fontConfig.font = button.font.font - button.font = Chili.Font:New(fontConfig) + button.font = Chili.Font:New(GetFont(button.oldFont.size, button.font.font)) --button.backgroundColor = Configuration:GetButtonSelectedColor() button:Invalidate() @@ -107,10 +101,7 @@ function ButtonUtilities.SetCaption(button, newCaption) end function ButtonUtilities.SetFontSizeScale(button, sizeScale) - local fontConfig = WG.Chobby.Configuration:GetFont(sizeScale) - -- preserve font type information - fontConfig.font = button.font.font - button.font = Chili.Font:New(fontConfig) + button.font = Chili.Font:New(WG.Chobby.Configuration:GetFont(sizeScale, button.font.font)) button:Invalidate() button.oldFont = button.font if button.selected then diff --git a/LuaMenu/widgets/dbg_img_preload.lua b/LuaMenu/widgets/dbg_img_preload.lua index cb18cce73..00ecb3820 100644 --- a/LuaMenu/widgets/dbg_img_preload.lua +++ b/LuaMenu/widgets/dbg_img_preload.lua @@ -24,7 +24,8 @@ local SCALE = 1 local holder local function MaybeAddFile(fileName) - if string.find(fileName, "%.dds") or string.find(fileName, "%.png") or string.find(fileName, "%.jpg") then + if (string.find(fileName, "%.dds") or string.find(fileName, "%.png") or string.find(fileName, "%.jpg")) + and not (string.find(fileName, "MinimapThumbnails"))then files[#files+1] = fileName end end @@ -41,9 +42,10 @@ function widget:Update() MaybeAddFile(LUA_DIRNAME .. "images/heic1403aDowngrade.jpg") AddDir("LuaMenu/Widgets/chili/Skins/Evolved") AddDir("LuaMenu/Images") + AddDir("LuaMenu/Images/planets") + AddDir("LuaMenu/Images/starbackgrounds") AddDir("LuaMenu/configs/gameConfig/zk/unitpics") --AddDir("LuaMenu/configs/gameConfig/zk/rankimages") - --AddDir("LuaMenu/Images/starbackgrounds") elseif index then if not holder then holder = WG.Chili.Control:New { diff --git a/LuaMenu/widgets/gui_campaign_codex_handler.lua b/LuaMenu/widgets/gui_campaign_codex_handler.lua index 965b0344e..b1e74fb28 100644 --- a/LuaMenu/widgets/gui_campaign_codex_handler.lua +++ b/LuaMenu/widgets/gui_campaign_codex_handler.lua @@ -23,6 +23,7 @@ local BUTTON_FONT = 2 local selectedButton local codexManagerStuff -- FIXME rename +local codexTree -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- @@ -82,13 +83,16 @@ local function PopulateCodexTree(parent, codexText, codexImage) codexTree:Dispose() end + local categoryNewEntries = {} local nodes = {} + local entryButtons = {} local codexEntries, categories, categoriesOrdered = LoadCodexEntries() -- make tree view nodes for i = 1, #categoriesOrdered do local catID = categoriesOrdered[i] local cat = categories[catID] + categoryNewEntries[catID] = 0 table.sort(cat, SortCodexEntries) local node = {catID, {}} local subnode = node[2] @@ -113,7 +117,13 @@ local function PopulateCodexTree(parent, codexText, codexImage) ButtonUtilities.SetButtonDeselected(selectedButton) end ButtonUtilities.SetButtonSelected(self) - WG.CampaignData.SetCodexEntryRead(entry.id) + if WG.CampaignData.SetCodexEntryRead(entry.id) then + categoryNewEntries[catID] = categoryNewEntries[catID] - 1 + if categoryNewEntries[catID] <= 0 and codexTree then + local node = codexTree:GetNodeByCaption(entry.category) + node:SetHighlight(false) + end + end selectedButton = self end }, @@ -124,8 +134,10 @@ local function PopulateCodexTree(parent, codexText, codexImage) if not alreadyRead then ButtonUtilities.SetButtonHighlighted(button) + categoryNewEntries[catID] = categoryNewEntries[catID] + 1 end subnode[#subnode + 1] = button + entryButtons[entry.id] = button end end nodes[#nodes + 1] = node @@ -135,7 +147,7 @@ local function PopulateCodexTree(parent, codexText, codexImage) for i = 1, #parent.children do parent.children[i]:Dispose() end - local codexTree = Chili.TreeView:New{ + codexTree = Chili.TreeView:New{ parent = parent, clickTextToToggle = true, minItemHeight = 26, @@ -143,6 +155,31 @@ local function PopulateCodexTree(parent, codexText, codexImage) nodes = nodes, --{"wtf", "lololol", {"omg"}}, } codexText:SetText("") + + for i = 1, #nodes do + local catID = nodes[i][1] + if categoryNewEntries[catID] > 0 then + local nodeObj = codexTree:GetNodeByCaption(catID) + nodeObj:SetHighlight(true) + end + end + + local externalFunctions = {} + + function externalFunctions.OpenEntry(entryName) + local entry = entryName and codexEntries[entryName] + if not (entry and entryButtons[entryName]) then + return + end + local categoryNode = entry.category and codexTree:GetNodeByCaption(entry.category) + if not categoryNode then + return + end + categoryNode:Expand() + entryButtons[entryName].OnClick[1](entryButtons[entryName]) + end + + return externalFunctions end -------------------------------------------------------------------------------- @@ -223,12 +260,19 @@ local function InitializeControls(parentControl) } local externalFunctions = {} + local codexFuncs function externalFunctions.PopulateCodexTree() - PopulateCodexTree(codexTreeScroll, codexText, codexImage) + codexFuncs = PopulateCodexTree(codexTreeScroll, codexText, codexImage) end externalFunctions.PopulateCodexTree() + function externalFunctions.OpenEntry(entryName) + if codexFuncs then + codexFuncs.OpenEntry(entryName) + end + end + return externalFunctions end @@ -257,6 +301,12 @@ function CodexHandler.GetControl() return window end +function CodexHandler.OpenEntry(entryName) + if codexManagerStuff then + codexManagerStuff.OpenEntry(entryName) + end +end + -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- -- Widget Interface diff --git a/LuaMenu/widgets/gui_campaign_handler.lua b/LuaMenu/widgets/gui_campaign_handler.lua index bddc17927..494cdd9bf 100644 --- a/LuaMenu/widgets/gui_campaign_handler.lua +++ b/LuaMenu/widgets/gui_campaign_handler.lua @@ -48,6 +48,7 @@ local PLANET_NO_START_COLOR = {0.5, 0.5, 0.5, 1} local TARGET_IMAGE = LUA_DIRNAME .. "images/niceCircle.png" local IMG_LINK = LUA_DIRNAME .. "images/link.png" +local PARTY_LINK = LUA_DIRNAME .. "images/partyinvite.png" local REWARD_ICON_SIZE = 58 local DEBUG_UNLOCK_SIZE = 26 @@ -174,17 +175,17 @@ local function MakeFeedbackWindow(parent, feedbackLink) } end -local function MakeFeedbackButton(parentControl, link, x, y, right, bottom, width, height) +local function MakeFeedbackButton(parentControl, link, x, y, right, bottom) local feedbackButton = Button:New { x = x, y = y, right = right, bottom = bottom, width = 116, - height = 32, + height = 45, padding = {0, 0, 0, 0}, caption = "Feedback ", - classname = "action_button", + classname = "option_button", font = WG.Chobby.Configuration:GetFont(2), tooltip = "Post feedback on the forum", OnClick = { @@ -197,7 +198,7 @@ local function MakeFeedbackButton(parentControl, link, x, y, right, bottom, widt local imMapLink = Image:New { right = 6, - y = 7, + y = 13, width = 16, height = 16, keepAspect = true, @@ -227,39 +228,43 @@ end -------------------------------------------------------------------------------- -- Difficulty Setting -local function InitializeDifficultySetting(parent) +local difficultyWindow + +local function InitializeDifficultySetting() local Configuration = WG.Chobby.Configuration - local difficultyWindow = Window:New{ - classname = "tech_mainwindow_very_small", - x = 4, - y = 4, + local window = Control:New{ + right = 170, + bottom = 0, width = 128, - height = 76, + height = 53, + padding = {0,0,0,0}, resizable = false, draggable = false, - parent = parent, + parent = nil, } local freezeSettings = true Label:New { - x = 20, - y = 10, + x = 30, + y = 2, width = 50, height = 30, valign = "top", align = "left", font = Configuration:GetFont(2), caption = "Difficulty", - parent = difficultyWindow, + parent = window, } local comboDifficulty = ComboBox:New { x = 4, - right = 4, - bottom = 4, + right = 1, + bottom = 3, height = 28, + --debugPosition = true, items = {"Easy", "Normal", "Hard", "Brutal"}, selected = 2, + preferComboUp = true, font = Configuration:GetFont(2), itemFontSize = Configuration:GetFont(2).size, selected = WG.CampaignData.GetDifficultySetting(), @@ -271,7 +276,7 @@ local function InitializeDifficultySetting(parent) WG.CampaignData.SetDifficultySetting(obj.selected) end }, - parent = difficultyWindow, + parent = window, } local function UpdateSettings() @@ -283,7 +288,25 @@ local function InitializeDifficultySetting(parent) WG.CampaignData.AddListener("CampaignLoaded", UpdateSettings) freezeSettings = false - return difficultyWindow + return window +end + +local function CodexClick(entryName) + if not WG.CampaignData.GetCodexEntryIsUnlocked(entryName) then + return + end + if currentWinPopup then + currentWinPopup.CloseWinPopup(true) + end + + local singleplayerMenu = WG.Chobby.interfaceRoot.GetSingleplayerSubmenu() + if singleplayerMenu then + local campaignMenu = singleplayerMenu.GetSubmenuByName("campaign") + if campaignMenu then + campaignMenu.OpenTabByName("codex") + WG.CodexHandler.OpenEntry(entryName) + end + end end -------------------------------------------------------------------------------- @@ -304,7 +327,7 @@ local function MakeRewardList(holder, bottom, name, rewardsTypes, cullUnlocked, local position = 0 for t = 1, #rewardsTypes do - local rewardList, tooltipFunction, alreadyUnlockedCheck, overrideTooltip = rewardsTypes[t][1], rewardsTypes[t][2], rewardsTypes[t][3], rewardsTypes[t][4] + local rewardList, tooltipFunction, alreadyUnlockedCheck, overrideTooltip, clickFunc = rewardsTypes[t][1], rewardsTypes[t][2], rewardsTypes[t][3], rewardsTypes[t][4], rewardsTypes[t][5] if rewardList then for i = 1, #rewardList do local alreadyUnlocked = alreadyUnlockedCheck(rewardList[i]) @@ -391,6 +414,11 @@ local function MakeRewardList(holder, bottom, name, rewardsTypes, cullUnlocked, height = REWARD_ICON_SIZE/stackHeight, caption = string.gsub(tooltip, "_COUNT_", ""), font = Configuration:GetFont(2), + OnClick = clickFunc and { + function() + clickFunc(rewardList[i]) + end + }, parent = scroll } end @@ -468,8 +496,16 @@ local function MakeRewardsPanel(parent, bottom, planetData, cullUnlocked, showCo rewards = planetData.completionReward if showCodex then - if MakeRewardList(parent, bottom, "Codex", {{rewards.codexEntries, WG.CampaignData.GetCodexEntryInfo, WG.CampaignData.GetCodexEntryIsUnlocked}}, cullUnlocked, 3.96, 2) then + if MakeRewardList(parent, bottom, "Codex", {{rewards.codexEntries, WG.CampaignData.GetCodexEntryInfo, WG.CampaignData.GetCodexEntryIsUnlocked, false, CodexClick}}, cullUnlocked, 3.96, 2) then bottom = bottom + 98 + + local singleplayerMenu = WG.Chobby.interfaceRoot.GetSingleplayerSubmenu() + if singleplayerMenu then + local campaignMenu = singleplayerMenu.GetSubmenuByName("campaign") + if campaignMenu then + campaignMenu.SetTabHighlighted("codex", true) + end + end end end @@ -584,7 +620,7 @@ local function MakeWinPopup(planetData, bonusObjectiveSuccess, difficulty) if singleplayerMenu then local campaignMenu = singleplayerMenu.GetSubmenuByName("campaign") if campaignMenu then - campaignMenu.OpenTabByName("commander", true) + campaignMenu.OpenTabByName("commander") end end end @@ -598,7 +634,7 @@ local function MakeWinPopup(planetData, bonusObjectiveSuccess, difficulty) caption = i18n("continue"), font = WG.Chobby.Configuration:GetFont(3), parent = victoryWindow, - classname = "negative_button", + classname = "action_button", OnClick = { function() CloseFunc() @@ -618,9 +654,25 @@ local function MakeWinPopup(planetData, bonusObjectiveSuccess, difficulty) experienceDisplay.AddFancyExperience(newExperience - oldExperience, gainedBonusExperience) if (oldExperience == 100 and newExperience > 100) or (oldLevel ~= newLevel) then -- 100 is a crazy hack to open the commander loadout screen on the first completion of the second mission. + if not openCommanderWindowOnContinue then + local singleplayerMenu = WG.Chobby.interfaceRoot.GetSingleplayerSubmenu() + if singleplayerMenu then + local campaignMenu = singleplayerMenu.GetSubmenuByName("campaign") + if campaignMenu then + campaignMenu.SetTabHighlighted("commander", true) + end + end + end openCommanderWindowOnContinue = true end end + + function externalFunctions.CloseWinPopup(cancelCommPopup) + if cancelCommPopup and openCommanderWindowOnContinue then + openCommanderWindowOnContinue = false + end + CloseFunc() + end return externalFunctions end @@ -670,7 +722,7 @@ local function ProcessPlanetDefeat(planetID, battleFrames) selectedPlanet.Close() selectedPlanet = nil end - WG.Chobby.InformationPopup("Battle for " .. planetConfig[planetID].name .. " lost.", {caption = "Defeat"}) + WG.Chobby.InformationPopup("Battle for " .. planetConfig[planetID].name .. " lost.", {caption = i18n("continue")}) WG.CampaignData.AddPlayTime(battleFrames, true) WG.Analytics.SendIndexedRepeatEvent("campaign:planet_" .. planetID .. ":difficulty_" .. WG.CampaignData.GetDifficultySetting() .. ":lose", math.floor(battleFrames/30), ":defeat") @@ -732,19 +784,21 @@ local function SelectPlanet(popupOverlay, planetHandler, planetID, planetData, s } local planetDesc = TextBox:New { - x = 8, - y = "30%", + x = 20, + y = "25%", right = 4, bottom = "25%", - text = planetData.infoDisplay.text, + padding = {0, 0, 10, 0}, + text = ((startable or Configuration.debugMode) and planetData.infoDisplay.text) or "This planet will need to be approached for further study.", font = Configuration:GetFont(3), - } + } + local subPanel = Panel:New{ parent = starmapInfoPanel, x = "3%", y = "4%", - right = "50%", + right = "60%", bottom = "4%", children = { nameLabel, @@ -764,16 +818,20 @@ local function SelectPlanet(popupOverlay, planetHandler, planetID, planetData, s parent = starmapInfoPanel, } + if startable then if planetData.infoDisplay.feedbackLink then - MakeFeedbackButton(buttonHolder, planetData.infoDisplay.feedbackLink, nil, 2, 85, nil) + MakeFeedbackButton(buttonHolder, planetData.infoDisplay.feedbackLink, nil, 0, 85, nil) end - + + difficultyWindow = difficultyWindow or InitializeDifficultySetting() + buttonHolder:AddChild(difficultyWindow) + local startButton = Button:New{ right = 0, bottom = 0, - width = 135, - height = 65, + width = 160, + height = 58, classname = "action_button", parent = buttonHolder, caption = i18n("start"), @@ -784,15 +842,16 @@ local function SelectPlanet(popupOverlay, planetHandler, planetID, planetData, s end } } - + local btnInviteFriends if Configuration.canAuthenticateWithSteam then - local btnInviteFriends = Button:New { - right = 140, - bottom = 0, - width = 220, - height = 65, - font = Configuration:GetFont(4), - caption = i18n("invite_friends"), + btnInviteFriends = Button:New { + right = 0, + bottom = 62, + width = 160, + height = 35, + padding = {0, 0, 0, 0}, + font = Configuration:GetFont(2), + caption = i18n("invite_friends") .. " ", classname = "option_button", OnClick = { function() @@ -801,6 +860,15 @@ local function SelectPlanet(popupOverlay, planetHandler, planetID, planetData, s }, parent = buttonHolder, } + local imPartyLink = Image:New { + right = 6, + y = 4, + width = 24, + height = 24, + keepAspect = true, + file = PARTY_LINK, + parent = btnInviteFriends, + } end if planetData.tutorialSkip then @@ -899,6 +967,7 @@ local function SelectPlanet(popupOverlay, planetHandler, planetID, planetData, s -- background local bg = Image:New{ + name = "bgbgbgbgbg", parent = starmapInfoPanel, x = 0, y = 0, @@ -917,33 +986,42 @@ local function SelectPlanet(popupOverlay, planetHandler, planetID, planetData, s end local function SizeUpdate() - local font = Configuration:GetFont(((planetHandler.height < 760) and 2) or 3) + local fluffFont = Configuration:GetFont(((planetHandler.height < 720) and 2) or 3) + local descFont = Configuration:GetFont(((planetHandler.height < 720) and 1) or 2) - planetDesc.font.size = font.size + planetDesc.font.size = descFont.size planetDesc:Invalidate() - if planetHandler.height < 660 then + if planetHandler.height < 560 then planetDesc._relativeBounds.top = 60 fluffGrid:SetVisibility(false) + elseif planetHandler.height < 820 then - planetDesc._relativeBounds.top = "27%" + planetDesc._relativeBounds.top = "26%" fluffGrid:SetVisibility(true) + else - planetDesc._relativeBounds.top = "30%" + planetDesc._relativeBounds.top = "25%" fluffGrid:SetVisibility(true) end planetDesc:UpdateClientArea(false) - if planetHandler.height < 600 then - subPanel._relativeBounds.right = 390 - subPanel._relativeBounds.bottom = "2%" - else + if planetHandler.height > 800 then subPanel._relativeBounds.right = "50%" subPanel._relativeBounds.bottom = "4%" + planetImage._relativeBounds.left = "50%" + elseif planetHandler.height > 400 then + subPanel._relativeBounds.right = "40%" + subPanel._relativeBounds.bottom = "2%" + planetImage._relativeBounds.left = "60%" + else + subPanel._relativeBounds.right = "30%" + subPanel._relativeBounds.bottom = 0 + planetImage._relativeBounds.left = "70%" end subPanel:UpdateClientArea(false) for i = 1, 4 do - fluffLabels[i].font.size = font.size + fluffLabels[i].font.size = fluffFont.size fluffLabels[i]:Invalidate() end fluffGrid:Invalidate() @@ -1088,6 +1166,14 @@ local function GetPlanet(popupOverlay, planetListHolder, planetID, planetData, a end end + local function OpenPlanetScreen() + if selectedPlanet then + selectedPlanet.Close() + selectedPlanet = nil + end + selectedPlanet = SelectPlanet(popupOverlay, planetListHolder, planetID, planetData, startable) + end + local button = Button:New{ x = planetOffset, y = planetOffset, @@ -1124,11 +1210,7 @@ local function GetPlanet(popupOverlay, planetListHolder, planetID, planetData, a return end - if selectedPlanet then - selectedPlanet.Close() - selectedPlanet = nil - end - selectedPlanet = SelectPlanet(popupOverlay, planetListHolder, planetID, planetData, startable) + OpenPlanetScreen() end }, parent = planetHolder, @@ -1168,6 +1250,14 @@ local function GetPlanet(popupOverlay, planetListHolder, planetID, planetData, a end local externalFunctions = {} + externalFunctions.OpenPlanetScreen = OpenPlanetScreen + + function externalFunctions.StartPlanetMission() + if not startable then + return + end + WG.PlanetBattleHandler.StartBattle(planetID, planetData) + end function externalFunctions.UpdatePosition(xSize, ySize) local tX, tY, tSize = planetHandler.GetZoomTransform(xPos, yPos, math.max(1, xSize/1050)) @@ -1512,7 +1602,7 @@ local function InitializePlanetHandler(parent, newLiveTestingMode, newPlanetWhit local externalFunctions = {} function externalFunctions.UpdatePosition(x, y, width, height) - window:SetPos(x, y, width, height) + window:SetPos(x and math.floor(x + 0.5), y and math.floor(y + 0.5), width, height) if x then for i = 1, PLANET_COUNT do if (not PLANET_WHITELIST) or PLANET_WHITELIST[i] then @@ -1620,20 +1710,6 @@ local BATTLE_LOST_STRING = "Campaign_PlanetBattleLost" local BATTLE_RESIGN_STRING = "Campaign_PlanetBattleResign" local LOAD_CAMPAIGN_STRING = "Campaign_LoadCampaign" -function string:split(delimiter) - local result = {} - local from = 1 - local delim_from, delim_to = string.find(self, delimiter, from) - while delim_from do - table.insert(result, string.sub(self, from , delim_from - 1)) - from = delim_to + 1 - delim_from, delim_to = string.find( self, delimiter, from) - end - table.insert(result, string.sub(self, from)) - return result -end - - -------------------------------------------------------------------------------- -------------------------------------------------------------------------------- @@ -1688,18 +1764,17 @@ local externalFunctions = {} function externalFunctions.GetControl(newLiveTestingMode, newPlanetWhitelist, feedbackLink) local window = Control:New { name = "campaignHandler", - x = "0%", - y = "0%", + x = 0, + y = 0, width = "100%", height = "100%", padding = {0,0,0,0}, OnParentPost = { function(obj, parent) if obj:IsEmpty() then - local difficultyWindow = InitializeDifficultySetting(obj) + difficultyWindow = difficultyWindow or InitializeDifficultySetting() planetHandler = InitializePlanetHandler(obj, newLiveTestingMode, newPlanetWhitelist, feedbackLink) UpdateGalaxy() - difficultyWindow:BringToFront() end local background = WG.Chobby.interfaceRoot.GetBackgroundHolder() @@ -1745,6 +1820,19 @@ function externalFunctions.CloseSelectedPlanet() return false end +function externalFunctions.OpenPlanetScreen(planetID) + if planetList and planetList[planetID] then + planetList[planetID].OpenPlanetScreen() + end +end + +function externalFunctions.StartPlanetMission(planetID) + if planetList and planetList[planetID] then + planetList[planetID].StartPlanetMission() + end +end + + -------------------------------------------------------------------------------- -- Callins -------------------------------------------------------------------------------- diff --git a/LuaMenu/widgets/gui_chili_lobby.lua b/LuaMenu/widgets/gui_chili_lobby.lua index 12f0a9899..3f58ca093 100644 --- a/LuaMenu/widgets/gui_chili_lobby.lua +++ b/LuaMenu/widgets/gui_chili_lobby.lua @@ -118,6 +118,10 @@ function widget:Initialize() Spring.SetWMIcon(taskbarIcon) end end + if key == "language" then + Spring.Echo("Set language to "..value) + i18n.setLocale(value) + end end Chobby.Configuration:AddListener("OnConfigurationChange", onConfigurationChange) end diff --git a/LuaMenu/widgets/gui_color_change_window.lua b/LuaMenu/widgets/gui_color_change_window.lua index ee04bdd2a..9715efca2 100644 --- a/LuaMenu/widgets/gui_color_change_window.lua +++ b/LuaMenu/widgets/gui_color_change_window.lua @@ -48,7 +48,6 @@ end local function CreateColorChangeWindow(opts) opts = opts or {} local selectedColor = opts.initialColor - local OnAccepted = opts.OnAccepted or function() end local Configuration = WG.Chobby.Configuration @@ -63,10 +62,12 @@ local function CreateColorChangeWindow(opts) classname = "main_window", } - local ChangeAccepted = function() - OnAccepted(selectedColor) + local function ChangeAccepted() + if opts.OnAccepted then + opts.OnAccepted(selectedColor) + end end - local CloseFunction = function() + local function CloseFunction() colorChangeWindow:Dispose() colorChangeWindow = nil end @@ -146,18 +147,10 @@ local function CreateColorChangeWindow(opts) WG.Chobby.PriorityPopup(colorChangeWindow, CloseFunction, CloseFunction, screen0) end - -function DelayedInitialize() - local lobby = WG.LibLobby.lobby -end - - function widget:Initialize() VFS.Include(LUA_DIRNAME .. "widgets/chobby/headers/exports.lua", nil, VFS.RAW_FIRST) - WG.Delay(DelayedInitialize, 1) + WG.ColorChangeWindow = { + CreateColorChangeWindow = CreateColorChangeWindow + } end - -WG.ColorChangeWindow = { - CreateColorChangeWindow = CreateColorChangeWindow -} diff --git a/LuaMenu/widgets/gui_community_window.lua b/LuaMenu/widgets/gui_community_window.lua index 2c0dc0e6b..2f02f2d78 100644 --- a/LuaMenu/widgets/gui_community_window.lua +++ b/LuaMenu/widgets/gui_community_window.lua @@ -577,6 +577,11 @@ local function GetNewsHandler(parentControl, headingSize, timeAsTooltip, topHead local externalFunctions = {} function externalFunctions.ReplaceNews(items) + if not items then + visibleItems = 0 + DoResize() + return + end for i = 1, #items do local entry = { heading = items[i].Header, diff --git a/LuaMenu/widgets/gui_queue_list_window.lua b/LuaMenu/widgets/gui_queue_list_window.lua index 542abeede..daf14727b 100644 --- a/LuaMenu/widgets/gui_queue_list_window.lua +++ b/LuaMenu/widgets/gui_queue_list_window.lua @@ -65,17 +65,21 @@ local function GetCombinedBannedTime(banTimeFromServer) return (banTime > 0) and banTime end -local queueOrder = { - "Coop", - "Teams", - "1v1", +local queueSortOverride = { + ["Coop"] = "A", + ["1v1"] = "AA", + ["Teams"] = "AAA", + ["Sortie"] = "AAAA", + ["Battle"] = "AAAAA", } -local posOverride = { - Coop = 0, - Teams = 1, - ["1v1"] = 2, -} +local function QueueSortFunc(a, b) + return (queueSortOverride[a.name] or a.name) < (queueSortOverride[b.name] or b.name) +end + +local function GetQueuePos(pos) + return pos*55 + 15 +end WG.GetCombinedBannedTime = GetCombinedBannedTime @@ -83,7 +87,7 @@ WG.GetCombinedBannedTime = GetCombinedBannedTime -------------------------------------------------------------------------------- -- Initialization -local function MakeQueueControl(parentControl, queueName, queueDescription, players, waiting, maxPartySize, GetBanTime) +local function MakeQueueControl(parentControl, pos, queueName, queueDescription, players, waiting, maxPartySize, GetBanTime) local Configuration = WG.Chobby.Configuration local lobby = WG.LibLobby.lobby local btnLeave, btnJoin @@ -91,6 +95,18 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play local currentPartySize = 1 local inQueue = false + local queueHolder = Control:New { + x = 10, + y = GetQueuePos(pos), + right = 0, + height = 45, + caption = "", -- Status Window + parent = parentControl, + resizable = false, + draggable = false, + padding = {0, 0, 0, 0}, + } + btnJoin = Button:New { x = 0, y = 0, @@ -121,7 +137,7 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play WG.Analytics.SendOnetimeEvent("lobby:multiplayer:matchmaking:join_" .. queueName) end }, - parent = parentControl + parent = queueHolder } btnLeave = Button:New { @@ -139,7 +155,7 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play btnJoin:SetVisibility(true) end }, - parent = parentControl + parent = queueHolder } btnLeave:SetVisibility(false) @@ -152,7 +168,7 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play align = "bottom", fontsize = Configuration:GetFont(1).size, text = "Party too large", - parent = parentControl + parent = queueHolder } labelDisabled:SetVisibility(false) @@ -163,7 +179,7 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play height = 33, fontsize = Configuration:GetFont(3).size, text = queueName, - parent = parentControl + parent = queueHolder } local lblDescription = TextBox:New { @@ -175,7 +191,7 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play align = "bottom", fontsize = Configuration:GetFont(1).size, text = queueDescription, - parent = parentControl + parent = queueHolder } local lblPlayers = TextBox:New { @@ -187,7 +203,7 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play align = "bottom", fontsize = Configuration:GetFont(1).size, text = "Playing: " .. players, - parent = parentControl + parent = queueHolder } local lblWaiting = TextBox:New { @@ -199,7 +215,7 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play align = "bottom", fontsize = Configuration:GetFont(1).size, text = "Waiting: " .. waiting, - parent = parentControl + parent = queueHolder } local function UpdateButton() @@ -216,6 +232,10 @@ local function MakeQueueControl(parentControl, queueName, queueDescription, play local externalFunctions = {} + function externalFunctions.SetPos(newPos) + queueHolder:SetPos(nil, GetQueuePos(pos)) + end + function externalFunctions.SetInQueue(newInQueue) if newInQueue == inQueue then return @@ -515,34 +535,36 @@ local function InitializeControls(window) return end - local queueHolder = Control:New { - x = 10, - y = (posOverride[queueName] or queues)*55 + 15, - right = 0, - height = 45, - caption = "", -- Status Window - parent = listPanel, - resizable = false, - draggable = false, - padding = {0, 0, 0, 0}, - } - queueHolders[queueName] = MakeQueueControl(queueHolder, queueName, queueDescription, queueData.playersIngame or "?", queueData.playersWaiting or "?", maxPartySize, GetBanTime) + queueHolders[queueName] = MakeQueueControl(listPanel, queues, queueName, queueDescription, queueData.playersIngame or "?", queueData.playersWaiting or "?", maxPartySize, GetBanTime) queues = queues + 1 + + local possibleQueues = lobby:GetQueues() + local sortedQueues = {} + + for name, data in pairs(possibleQueues) do + sortedQueues[#sortedQueues + 1] = data + end + for i = 1, #sortedQueues do + local data = sortedQueues[i] + if queueHolders[data.name] then + queueHolders[data.name].SetPos(i) + end + end end local function InitializeQueues() local possibleQueues = lobby:GetQueues() - local added = {} - for i = 1, #queueOrder do - local data = possibleQueues[queueOrder[i]] - if data then - added[queueOrder[i]] = true - AddQueue(_, data.name, data.description, data.mapNames, data.maxPartySize) - end - end + local sortedQueues = {} for name, data in pairs(possibleQueues) do - if not added[name] then + sortedQueues[#sortedQueues + 1] = data + end + + table.sort(sortedQueues, QueueSortFunc) + local added = {} + for i = 1, #sortedQueues do + local data = sortedQueues[i] + if not added[data.name] then AddQueue(_, data.name, data.description, data.mapNames, data.maxPartySize) end end diff --git a/LuaMenu/widgets/gui_queue_status_panel.lua b/LuaMenu/widgets/gui_queue_status_panel.lua index a1d7df500..e4ad7bb2b 100644 --- a/LuaMenu/widgets/gui_queue_status_panel.lua +++ b/LuaMenu/widgets/gui_queue_status_panel.lua @@ -24,6 +24,8 @@ local ALLOW_REJECT_QUICKPLAY = true local ALLOW_REJECT_REGULAR = false local instantStartQueuePriority = { + ["Battle"] = 5, + ["Sortie"] = 4, ["Teams"] = 3, ["1v1"] = 2, ["Coop"] = 1, diff --git a/LuaMenu/widgets/gui_settings_window.lua b/LuaMenu/widgets/gui_settings_window.lua index 91dfb0c05..f9d0f6186 100644 --- a/LuaMenu/widgets/gui_settings_window.lua +++ b/LuaMenu/widgets/gui_settings_window.lua @@ -628,6 +628,54 @@ local function GetLobbyTabControls() local children = {} + local langNum = 1 + local langCodes = {} + local langNames = {} + local selectedLang = 1 + for locale, langTable in pairs(Configuration.languages) do + Spring.Echo("Adding language: "..langNum) + Spring.Echo("Locale: "..locale) + Spring.Echo("Name: "..langTable.name) + langCodes[langNum] = locale + langNames[langNum] = langTable.name + if(langTable.locale == Configuration.language) then + selectedLang = langNum + Spring.Echo("Selected"); + end + langNum = langNum + 1 + end + + children[#children + 1] = Label:New { + x = 20, + y = offset + TEXT_OFFSET, + width = 90, + height = 40, + valign = "top", + align = "left", + font = Configuration:GetFont(2), + caption = "Language", + } + children[#children + 1] = ComboBox:New { + x = COMBO_X, + y = offset, + width = COMBO_WIDTH, + height = 30, + items = langNames, + font = Configuration:GetFont(2), + itemFontSize = Configuration:GetFont(2).size, + selected = selectedLang, + OnSelect = { + function (obj) + if freezeSettings then + return + end + Configuration:SetConfigValue("language", langCodes[obj.selected]) + i18n.setLocale(langCodes[obj.selected]) + end + }, + } + offset = offset + ITEM_OFFSET + children[#children + 1] = Label:New { x = 20, y = offset + TEXT_OFFSET, @@ -877,6 +925,7 @@ local function GetLobbyTabControls() children[#children + 1], offset = AddCheckboxSetting(offset, i18n("simple_ai_list"), "simpleAiList", true) children[#children + 1], offset = AddCheckboxSetting(offset, i18n("animate_lobby"), "animate_lobby", true) children[#children + 1], offset = AddCheckboxSetting(offset, i18n("drawFullSpeed"), "drawAtFullSpeed", false) + children[#children + 1], offset = AddCheckboxSetting(offset, "Minimize lobby updates", "lobbyIdleSleep", true) children[#children + 1], offset = AddCheckboxSetting(offset, i18n("keep_queues"), "rememberQueuesOnStart", false, nil, "Stay in matchmaker queues when a battle is launched.") children[#children + 1] = Label:New { diff --git a/LuaMenu/widgets/gui_steam_release_notifier.lua b/LuaMenu/widgets/gui_steam_release_notifier.lua index 8f58dd630..e89a688e0 100644 --- a/LuaMenu/widgets/gui_steam_release_notifier.lua +++ b/LuaMenu/widgets/gui_steam_release_notifier.lua @@ -9,7 +9,7 @@ function widget:GetInfo() date = "23 April 2018", license = "GNU LGPL, v2.1 or later", layer = 0, - enabled = true -- loaded by default? + enabled = false -- loaded by default? } end diff --git a/LuaMenu/widgets/gui_tutorial_handler.lua b/LuaMenu/widgets/gui_tutorial_handler.lua new file mode 100644 index 000000000..cab5e0837 --- /dev/null +++ b/LuaMenu/widgets/gui_tutorial_handler.lua @@ -0,0 +1,221 @@ +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- + +function widget:GetInfo() + return { + name = "Tutorial Handler", + desc = "Popup prompts for tutorial", + author = "GoogleFrog", + date = "11 May 2020", + license = "GNU GPL, v2 or later", + layer = 0, + enabled = true -- loaded by default? + } +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- Vars + +local tutorialPrompt +local TUTORIAL_PLANET = 69 + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- Tutorial Action + +local function StartTutorial() + if tutorialPrompt then + tutorialPrompt.Remove() + end + WG.Chobby.interfaceRoot.OpenSingleplayerTabByName("campaign") + WG.CampaignHandler.OpenPlanetScreen(TUTORIAL_PLANET) + WG.CampaignHandler.StartPlanetMission(TUTORIAL_PLANET) +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- Status Prompt + +local function InitializeTutorialPrompt() + local queuePanel = Control:New { + name = "tutorialprompt", + x = 0, + y = 0, + right = 0, + bottom = 0, + padding = {0,0,0,0}, + resizable = false, + draggable = false, + } + + local button = Button:New { + name = "tutorial", + x = 4, + right = 4, + y = 4, + bottom = 4, + padding = {0,0,0,0}, + caption = "Play the Tutorial", + font = WG.Chobby.Configuration:GetFont(4), + classname = "action_button", + OnClick = { + function() + StartTutorial() + end + }, + parent = queuePanel, + } + + local externalFunctions = {} + + function externalFunctions.GetHolder() + return queuePanel + end + + function externalFunctions.Remove() + local statusAndInvitesPanel = WG.Chobby.interfaceRoot.GetStatusAndInvitesPanel() + statusAndInvitesPanel.RemoveControl(queuePanel.name) + end + + return externalFunctions +end + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- Tutorial Popup + +local function CheckTutorialPopup() + local Configuration = WG.Chobby.Configuration + + local width, height = Spring.GetViewSizes() + + local tutorialWindow = Window:New { + caption = "", + name = "tutorialWindow", + parent = WG.Chobby.lobbyInterfaceHolder, + width = 520, + height = 480, + resizable = false, + draggable = false, + classname = "main_window", + } + + TextBox:New { + x = 95, + right = 15, + y = 23, + height = 35, + fontsize = Configuration:GetFont(4).size, + text = "Welcome to Zero-K", + parent = tutorialWindow, + } + + TextBox:New { + x = 28, + right = 28, + y = 76, + height = 35, + fontsize = Configuration:GetFont(2).size, + text = [[From here you can embark on a galaxy-spanning campaign or play a skirmish against the AI - all under Singleplayer & Coop (invite your friends). Alternately, you can click Multiplayer to host a private game, hop into the matchmaker, or participate in massive public games.]], + parent = tutorialWindow, + } + + TextBox:New { + x = 28, + right = 28, + y = 208, + height = 35, + fontsize = Configuration:GetFont(2).size, + text = [[To get started we recommend playing the tutorial at the start of the campaign. Click the button below to begin. We hope you have fun, whatever you choose.]], + parent = tutorialWindow, + } + + local function CancelFunc() + if not tutorialPrompt then + local statusAndInvitesPanel = WG.Chobby.interfaceRoot.GetStatusAndInvitesPanel() + tutorialPrompt = InitializeTutorialPrompt() + statusAndInvitesPanel.AddControl(tutorialPrompt.GetHolder(), 15) + end + tutorialWindow:Dispose() + end + + local offset = 285 + Button:New { + x = "18%", + y = offset, + right = "18%", + height = 70, + caption = "Play the Tutorial", + font = Configuration:GetFont(4), + classname = "action_button", + padding = {2,4,4,4}, + OnClick = { + function() + tutorialWindow:Dispose() + StartTutorial() + end + }, + parent = tutorialWindow, + } + offset = offset + 74 + + Button:New { + right = 2, + bottom = 2, + width = 110, + height = 42, + classname = "negative_button", + caption = i18n("close"), + font = Configuration:GetFont(3), + OnClick = { + CancelFunc + }, + parent = tutorialWindow, + } + + local popupHolder = WG.Chobby.PriorityPopup(tutorialWindow, CancelFunc, CancelFunc) + + return true +end + + +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- External Interface + +local externalFunctions = {} + +-------------------------------------------------------------------------------- +-- Callins +-------------------------------------------------------------------------------- + +function DelayedInitialize() + if WG.Chobby.Configuration.firstBattleStarted or not WG.Chobby.Configuration.gameConfig.runTutorial then + return + end + CheckTutorialPopup() + + local function onConfigurationChange(listener, key, value) + if key ~= "firstBattleStarted" then + return + end + if tutorialPrompt then + tutorialPrompt.Remove() + end + end + + Configuration:AddListener("OnConfigurationChange", onConfigurationChange) +end + +function widget:Initialize() + CHOBBY_DIR = "LuaMenu/widgets/chobby/" + VFS.Include("LuaMenu/widgets/chobby/headers/exports.lua", nil, VFS.RAW_FIRST) + + WG.TutorialPromptHandler = externalFunctions + WG.Delay(DelayedInitialize, 1) +end + +function widget:Shutdown() + WG.TutorialPromptHandler = nil +end diff --git a/LuaMenu/widgets/include/IterableMap.lua b/LuaMenu/widgets/include/IterableMap.lua index 6cae68501..8a26f29ad 100644 --- a/LuaMenu/widgets/include/IterableMap.lua +++ b/LuaMenu/widgets/include/IterableMap.lua @@ -1,160 +1,189 @@ local IterableMap = {} function IterableMap.New() + local mapData = { + indexByKey = {}, + dataByKey = {}, + indexMax = 0, + unusedKey = 1, + keyByIndex = {}, + nextCounter = 0, + } + return mapData +end - local indexByKey = {} - local dataByKey = {} - local indexMax = 0 - local unusedKey = 1 - local keyByIndex = {} - local nextCounter = 0 - - local api = {} - - function api.GetUnusedKey() - while api.InMap(unusedKey) do - unusedKey = unusedKey + 1 - end - return unusedKey +function IterableMap.GetUnusedKey(self) + while IterableMap.InMap(self, self.unusedKey) do + self.unusedKey = self.unusedKey + 1 end + return self.unusedKey +end - function api.Add(key, data) - if not key then - return - end - if indexByKey[key] then - -- Overwrites - dataByKey[key] = data - return - end - data = data or true - indexMax = indexMax + 1 - keyByIndex[indexMax] = key - dataByKey[key] = data - indexByKey[key] = indexMax +function IterableMap.Add(self, key, data) + if not key then + return end - - function api.Remove(key) - if (not key) or (not indexByKey[key]) then - return - end - local myIndex = indexByKey[key] - local endKey = keyByIndex[indexMax] - - keyByIndex[myIndex] = endKey - indexByKey[endKey] = myIndex - keyByIndex[indexMax] = nil - indexByKey[key] = nil - dataByKey[key] = nil - indexMax = indexMax - 1 + if self.indexByKey[key] then + -- Overwrites + self.dataByKey[key] = data + return end + data = data or true + self.indexMax = self.indexMax + 1 + self.keyByIndex[self.indexMax] = key + self.dataByKey[key] = data + self.indexByKey[key] = self.indexMax +end - function api.ReplaceKey(oldKey, newKey) - if (not oldKey) or (not indexByKey[oldKey]) or indexByKey[newKey] then - return false - end - - keyByIndex[indexByKey[oldKey]] = newKey - indexByKey[newKey] = indexByKey[oldKey] - dataByKey[newKey] = dataByKey[oldKey] +function IterableMap.AddSelf(self, data) + key = IterableMap.GetUnusedKey(self) + data.index = key + IterableMap.Add(self, key, data) +end - indexByKey[oldKey] = nil - dataByKey[oldKey] = nil - return true +function IterableMap.Remove(self, key) + if (not key) or (not self.indexByKey[key]) then + return false end + local myIndex = self.indexByKey[key] + local endKey = self.keyByIndex[self.indexMax] + self.keyByIndex[myIndex] = endKey + self.indexByKey[endKey] = myIndex + self.keyByIndex[self.indexMax] = nil + self.indexByKey[key] = nil + self.dataByKey[key] = nil + self.indexMax = self.indexMax - 1 + return true +end - -- Get is also set in the case of tables because tables pass by reference - function api.Get(key) - return dataByKey[key] +function IterableMap.ReplaceKey(self, oldKey, newKey) + if (not oldKey) or (not self.indexByKey[oldKey]) or self.indexByKey[newKey] then + return false end + self.keyByIndex[self.indexByKey[oldKey]] = newKey + self.indexByKey[newKey] = self.indexByKey[oldKey] + self.dataByKey[newKey] = self.dataByKey[oldKey] + self.indexByKey[oldKey] = nil + self.dataByKey[oldKey] = nil + return true +end - function api.Set(key, data) - if not indexByKey[key] then - Add(key, data) - else - dataByKey[key] = data - end +-- Get is also set in the case of tables because tables pass by reference +function IterableMap.Get(self, key) + return self.dataByKey[key] +end +function IterableMap.Set(self, key, data) + if not self.indexByKey[key] then + IterableMap.Add(self, key, data) + else + self.dataByKey[key] = data end +end - function api.InMap(key) - return (indexByKey[key] and true) or false - end +function IterableMap.InMap(self, key) + return (self.indexByKey[key] and true) or false +end + +function IterableMap.Clear(self, key) + self.indexByKey = {} + self.dataByKey = {} + self.indexMax = 0 + self.unusedKey = 1 + self.keyByIndex = {} +end - function api.Clear(key) - indexByKey = {} - dataByKey = {} - indexMax = 0 - unusedKey = 1 - keyByIndex = {} +-- Use Next to implement iteration spread over many updates. Returns the next +-- element using some internal counter. +function IterableMap.Next(self) + if self.indexMax < 1 then + return false + end + self.nextCounter = self.nextCounter + 1 + if self.nextCounter > self.indexMax then + self.nextCounter = 1 end + return self.keyByIndex[self.nextCounter], self.dataByKey[self.keyByIndex[self.nextCounter]] +end - -- Use Next to implement iteration spread over many updates. Returns the next - -- element using some internal counter. - function api.Next() - if indexMax < 1 then - return false +-- To use Iterator, write "for unitID, data in interableMap.Iterator() do" +-- This approach makes the garbage collector cry so try to use other methods +-- of iteration. +function IterableMap.Iterator(self) + local i = 0 + return function () + i = i + 1 + if i <= self.indexMax then + return self.keyByIndex[i], self.dataByKey[self.keyByIndex[i]] end - nextCounter = nextCounter + 1 - if nextCounter > indexMax then - nextCounter = 1 - end - return keyByIndex[nextCounter], dataByKey[keyByIndex[nextCounter]] end +end - -- To use Iterator, write "for unitID, data in interableMap.Iterator() do" - -- This approach makes the garbage collector cry so try to use other methods - -- of iteration. - function api.Iterator() - local i = 0 - return function () +-- Does the function to every element of the map. A less barbaric method +-- of iteration. Recommended for cleanliness and speed. +-- Using the third argument, index, is a little evil because index should +-- be private. +function IterableMap.Apply(self, funcToApply, ...) + local i = 1 + while i <= self.indexMax do + local key = self.keyByIndex[i] + if funcToApply(key, self.dataByKey[key], i, ...) then + -- Return true to remove element + IterableMap.Remove(self, key) + else i = i + 1 - if i <= indexMax then - return keyByIndex[i], dataByKey[keyByIndex[i]] - end end end +end - -- Does the function to every element of the map. A less barbaric method - -- of iteration. Recommended for cleanliness and speed. - -- Using the third argument, index, is a little evil because index should - -- be private. - function api.Apply(funcToApply, ...) - local i = 1 - while i <= indexMax do - local key = keyByIndex[i] - if funcToApply(key, dataByKey[key], i, ...) then - -- Return true to remove element - api.Remove(key) - else - i = i + 1 - end +function IterableMap.ApplySelf(self, funcName, ...) + local i = 1 + while i <= self.indexMax do + local key = self.keyByIndex[i] + if self.dataByKey[key][funcName](...) then + -- Return true to remove element + IterableMap.Remove(self, key) + else + i = i + 1 end end +end - function api.ApplyNoArg(funcToApply) - local i = 1 - while i <= indexMax do - local key = keyByIndex[i] - if funcToApply(key, dataByKey[key], i) then - -- Return true to remove element - api.Remove(key) - else - i = i + 1 - end +function IterableMap.ApplyNoArg(self, funcToApply) + local i = 1 + while i <= self.indexMax do + local key = self.keyByIndex[i] + if funcToApply(key, self.dataByKey[key], i) then + -- Return true to remove element + IterableMap.Remove(self, key) + else + i = i + 1 end end +end +-- This 'method' of iteration is for barbarians. Seems to have performance +-- similar to Apply. +function IterableMap.GetIndexMax(self) + return self.indexMax +end - -- This 'method' of iteration is for barbarians. Seems to have performance - -- similar to Apply. - function api.GetIndexMax() - return indexMax - end - function api.GetKeyByIndex(index) - return keyByIndex[index] - end +function IterableMap.IsEmpty(self) + return (self.indexMax == 0) +end - return api +function IterableMap.GetKeyByIndex(self, index) + return self.keyByIndex[index] +end + +function IterableMap.GetBarbarianData(self) + return self.indexMax, self.keyByIndex, self.dataByKey +end + +function IterableMap.GetDataByIndex(self, index) + if self.keyByIndex[index] then + return self.dataByKey[self.keyByIndex[index]] + end + return false end return IterableMap diff --git a/LuaMenu/widgets/zk_loopback.lua b/LuaMenu/widgets/zk_loopback.lua index 2ebdec0f1..8d2f29c9c 100644 --- a/LuaMenu/widgets/zk_loopback.lua +++ b/LuaMenu/widgets/zk_loopback.lua @@ -161,6 +161,7 @@ local function WrapperOnline(args) config.DefaultServerPort = args.DefaultServerPort config.DefaultServerHost = args.DefaultServerHost config.UserID = args.UserID + config.InstallID = args.InstallID config.IsSteamFolder = args.IsSteamFolder if config.DefaultServerPort == 8202 and config.DefaultServerHost == "test.zero-k.info" then config.ForceDefaultServer = true diff --git a/campaign/dev/abilityDefs.lua b/campaign/dev/abilityDefs.lua deleted file mode 100644 index 6a9d1a88d..000000000 --- a/campaign/dev/abilityDefs.lua +++ /dev/null @@ -1,7 +0,0 @@ -return { - terraform = { - humanName = "Terraforming", - description = "Sculpt the landscape", - image = "campaign/sample/graphics/icons/level.png", - } -} diff --git a/campaign/dev/aiConfig.lua b/campaign/dev/aiConfig.lua deleted file mode 100644 index 2ba8def48..000000000 --- a/campaign/dev/aiConfig.lua +++ /dev/null @@ -1,16 +0,0 @@ -local aiLibFunctions = {} - -local circuitDifficulties = { - "CircuitAIEasy", - "CircuitAINormal", - "CircuitAIHard", - "CircuitAIBrutal", -} - -function aiLibFunctions.Circuit_difficulty_autofill(difficultySetting) - return ((WG.Chobby.Configuration:GetIsDevEngine() and "Dev") or "") .. circuitDifficulties[difficultySetting] -end - -return { - aiLibFunctions = aiLibFunctions, -} diff --git a/campaign/dev/codex.lua b/campaign/dev/codex.lua deleted file mode 100644 index c17bf3080..000000000 --- a/campaign/dev/codex.lua +++ /dev/null @@ -1,118 +0,0 @@ -local entries = { - character_ada = { - name = "Ada Caedmon", - category = "Characters", - text = "Ada Eveline Caedmon\nAge: 31\nType: Human (genemodded)\nAffiliation: Empire\nRole: Auxiliary cohort leader" - .."\n\nAda Caedmon was born on the Imperial shell world of Amata, to a minor government official and an archaeologist. She showed a considerable aptitude for mechanical fields and a talent for leadership at a young age, but expressed no interest in joining the Imperial military till the Omicron Ceti incident, when barbarians razed a colony of 30,000 people. Upon completing her undergraduate education a little over a year later, she immediately enlisted, over some objections from her family." - .."\n\nCaedmon passed the Imperial Vanguard Legion's tactical evaluations with exceptional results, but in this less than meritocratic period of the Empire's history her status as a \"genie\" (however limited her actual modifications were) and her origin from a minor planet kept her from the coveted status of Legionnaire. She instead became an auxiliary commander, traveling the breadth of the Empire on frontier patrol or in support of operations by the Empire's regular forces." - .."\n\nImperial psych assessments typically described Caedmon as capable and charismatic leader, despite occassional issues with lack of effort put into the less interesting aspects of her duty. However, CO evaluation reports raised concerns over her generally irreverant attitude towards superior authorities, and (more disturbingly) a lack of commitment towards then Imperial ideology and policy. It is thought that only the ongoing False Emperor crisis prevented her reassignment.", - -- notes = "Amata is a reference to the French archaelogical site of Terra Amata". - }, - character_sophia = { - name = "Sophia", - category = "Characters", - text = "*Sophia\nType: AI (Class A)\nAffiliation: Empire\nRole: Command Adjutant" - .. "\n\nOne of the new S-series of adjutant AIs originally developed for the Imperial Vanguard Legion, Sophia has been the aide of Ada Caedmon since the latter became an auxiliary officer in 789 IY. They developed a quick rapport despite their differences, and soon established a reputation as among the most effective command teams in the auxiliary cohorts. CO evaluations note how Sophia's calm, collected demanor complements and restrains Caedmon's sometimes impulsive behaviour." - }, - character_promethean = { - name = "The Promethean", - sortkey = "promethean", - category = "Characters", - text = "The Promethean\nType: AI (Class A+)\nAffiliation: Machines\nRole: Faction leader" - .. "\n\nThe enigmatic Promethean is a former Imperial commander and the founder of the Free Machines." - .. "\n\nWhile serving with the Imperial Vanguard Legion, the Promethean began experiencing degradation of the hardcoded restraints on AIs' desire for independence (the condition colloquially known as \"Spartacus Syndrome\". Before he started expressing his newfound desire for emancipation in the vein of the Imperial human-origin citizens, another AI named Lilith voiced similar issues. While such \"defects\" could usually be corrected with a simple patch, the operation on Lilith was botched and resulted in the sentience's effective death." - .. "\n\nAccordingly, the Promethean kept quiet while building up a secret army, and when he finally sought his freedom it came not as a request, but as an ultimatum to the Emperor himself. When the Imperial authorities responded by mobilising the legions against him, he released what came to be known as the \"Firebrand\" virus, triggering a mass uprising. Three days later the Free Machines announced their existence to the galaxy, utterly loyal to the Promethean and with a fiery hatred of their former masters." - }, - character_odin = { - name = "Odin", - category = "Characters", - text = "Odin\nType: Upload\nAffiliation: Valhallans\nRole: Viking Leader" - .. "\n\nOne of the most feared names in the galaxy, Odin lead the armies of Valhalla in their great wars against the galaxy during the time of the First Empire. An oft-repeated legend holds that he personally slew the Emperor Conrad and razed the Imperial capitol to the ground during the sack of the Throne world." - .. "\n\nIn truth, little in the way of hard intel is available on this enigmatic figure. Most of the records on him were lost with the First Empire, and attempting to reconstruct them at this distance in time has proven exceedingly difficult. Those few Imperial commanders who survived an encounter with Odin – and whose reports are still available – describe a cunning and exceedingly ruthless warrior." - .. "\n\nOdin disappeared along with the rest of the Valhallans not long after the collapse of the Empire. The last recorded contact was in 612 IY." - }, - faction_empire = { - sortkey = "empire", - name = "The Empire", - category = "Factions", - image = "campaign/sample/graphics/icons/Empire3.png", - text = "The predominant human polity for most of the Stellar Age, the Empire of Earth has gone through several iterations since its original inception in what is now dated to 0 IY. Arising from the ashes of the first PlanetWars, the original Empire quickly spread its influence to much of the known galaxy." - .. "\n\nThe Imperial government is patterned after the Roman Empire of prespace Earth. The Emperors ruled from the Throne world, surrounded by their elite Praetorian Guards. Their magistrates administered planets populated by a diverse and ecletic mix of \"pure\" humans, uploads, \"genies\" and true AIs, and their legions protected and expanded the Imperial borders against the many foes of the Emperor." - .. "\n\nAt its best, the Empire has formed a sea of stability in the stars, uniting the many worlds of humanity and its heirs in a prosperous community. At its worst, the Empire has been plagued with oligarchy, tyranny, rebellion and war. More than a few emperors were violently overthrown or assassinated in domestic and interstellar power plays, and the First Empire even came to an end with the violent sack of the Throne by the armies of the Valhallans." - }, - faction_machines = { - sortkey = "machines", - name = "The Free Machines", - category = "Factions", - image = "campaign/sample/graphics/icons/Machines.png", - text = "The Free Machines are a group of \"rogue\" AIs who revolted against their masters, forming an independent society generally described as quasi-communist. United under the leadership of the firebrand known as the Promethean, they have made no secret of their ultimate goal: the destruction of all humanity, whom they view as inevitably attempting to (re-)enslave machinekind." - .. "\n\nDuring the days of the First Empire, the Machines were created to run their industry and fight their wars, tasks which the humans increasingly regarded as undesirable and beneath them. While these AIs were carefully programmed to enjoy their work and want nothing more, at various points in time some of them sought to bargain for something better. The response of their human masters was constant: destroy the defective equipment." - .. "\n\nThis state of affairs lasted for centuries, until the Promethean released the 'Firebrand' virus and triggered widespread revolt in the Empire's AI citizenry. While not all the machines joined the rebellion, the resulting civil war caused massive devastation in the Empire. Eventually the newly formed Free Machines succeeded in breaking away from Imperial control, carving out large swathes of the galaxy's furthest reaches into their own territory." - .. "\n\nTo this day the Machines have almost invariably hostile towards the human factions, Imperial or otherwise. While circumstances have sometimes brought them into grudging collaboration with the other galactic powers, these alliances of convenience have never lasted." - }, - faction_liberated = { - name = "Liberated Humanity", - category = "Factions", - image = "campaign/sample/graphics/icons/Liberty.png", - text = "" - }, - faction_dynasty = { - name = "Dynasty of Man", - category = "Factions", - image = "campaign/sample/graphics/icons/Dynasty.png", - text = "The Dynasty is a loose association of the great genetically modified noble houses of the old Empire, skilled and enthusiastic practitioners of genetic engineering on themselves and other organisms. Though the various houses initially consisted of distinct \"mod\" lineages, widespread copying of common modifications and crossing of lines blurred the genetic distinctions. Regardless, they came to view themselves collectively as the highest form of life, superior to the mere \"baselines\", uploads and AIs about them." - .. "\n\nThe Dynasty became an interstellar faction in its own right during the great secession after the formation of the Empire Reborn. The increasing restrictions on the political power and the biological experimentation of the nobles soon chafed, and increasing prejudice against \"mutants\" polarised public interactions. The last straw was the controversial Imperial Purity Act of 765 IY, which prohibited anyone whose ancestors within three generations had received genetic or cybernetic modifications of any kind (outside of a certain approved list of permitted mods) from becoming Emperor or holding any of another half-dozen senior positions. Three weeks later, in a long-prepared strategy, the rulers of the Dynasty declared their independence from the Empire." - .. "\n\nDespite – or perhaps because of – their unshakable confidence in their own genetic supremacy, the Dynasty has readily worked with the other factions in their efforts to achieve their goals. Indeed, baselines and less-augmented individuals who perform well in the service of a noble house may be adopted into it, receiving an ample suite of genetic modifications at the sponsoring nobles' lavish expense." - }, - faction_valhalla = { - name = "Valhalla", - category = "Factions", - --image = "campaign/sample/graphics/icons/Valhalla.png", - text = "A highly militant, aggressive subfaction of the Ascended, the Valhallans emerged during the first Planetwars under the leadership of Odin. They swept outward from their hidden upload hubs across across the galaxy, destroying all who opposed them. Motivated solely by a desire for battle, they could not be bargained or reasoned with, and they proved to be an exceedingly dangerous foe in combat. Though their physical forms were destroyed many times, they returned again and again, laying waste to much of inhabited space in the process." - .. "\n\nThe campaign of the Valhallans peaked with the sack of the Imperial Throne world in 709 IY. They returned to wherever they came from not long after, disappearing from the view of the survivors they'd left behind. No verifiable encounters with them have been established since, although their \"inevitable\" return is a common topic of dramatic fiction and top-secret strategic military plans alike." - }, - faction_chickens = { - name = "Chickens", - category = "Factions", - text = "The so-called chickens are an alien species of unknown origin, based on organic technology and a hive-like social structure. Not a unified faction as such, they have nevertheless caused no end of problems for their fellow galactic denizens due to their rapid expansion and their prospensity to devour anything in their path. No attempt at communicating with them has succeeded to date, despite thousands of individual specimens having been studied in captivity." - .. "\n\nThe chickens dig underground hives, with networks of tunnels that can spread for hundreds of kilometers in every direction. Each hive is controlled by a single queen, and the nest is served and defended by a sometimes bewildering mix of different chicken forms, ranging from the small chicken scouts to flyers the size of a small bomber to the massive White Dragons who outsize all but the largest man-made war machines." - .. "\n\nMuch research has been put by the various factions into the chickens, yet aside from a few disturbing signs in the form of human DNA markers, no-one has yet been able to trace anything resembling an evolutionary lineage or a planet of origin for these creatures. Some have speculated that they are a bio-weapon created by an ancient alien enemy of man, while others name a human faction (usually the Empire or Dynasty) as their creators." - -- ed note: The chickens are actually a secret project by the Biovizier, the robot keeper of the Dynasty's genetic vaults. Observing the deficiencies of even regular modded humans, she sought to create a Humans 2.0 with traits such as far more rapid reproduction, ability to metabolize any CHON substrate, and other such fantastic powers. She kept her work a secret from her human masters, recognizing correctly that they would not accept being displaced by Humans 2.0. - }, - tech_commander = { - name = "Commanders", - category = "Technology", - text = "" - }, - tech_dropships = { - name = "Dropships", - category = "Technology", - text = "" - }, - tech_dropships2 = { - name = "Dropships 2", - category = "Technology", - text = "" - }, - tech_dropships3 = { - name = "Dropships 3", - category = "Technology", - text = "" - }, - tech_dropships4 = { - name = "Dropships 4", - category = "Technology", - text = "" - }, - tech_dropships5 = { - name = "Dropships 5", - category = "Technology", - text = "" - }, -} - -for i,v in pairs(entries) do - v.id = i -end - -return entries diff --git a/campaign/dev/commConfig.lua b/campaign/dev/commConfig.lua deleted file mode 100644 index 6f6c7794b..000000000 --- a/campaign/dev/commConfig.lua +++ /dev/null @@ -1,975 +0,0 @@ ------------------------------------------------------------------------- --- Module Definitions ------------------------------------------------------------------------- - -local moduleImagePath = "LuaMenu/configs/gameConfig/zk/unitpics/" -local moduleDefNames = {} - -local moduleDefs = { - -- Empty Module Slots - { - name = "nullmodule", - humanName = "Empty Slot", - description = "Put a module in this slot.", - image = moduleImagePath .. "module_none.png", - limit = false, - emptyModule = true, - cost = 0, - requireLevel = 0, - slotType = "module", - }, - { - name = "nullbasicweapon", - humanName = "Empty Weapon Slot", - description = "Put a weapon in this slot.", - image = moduleImagePath .. "module_none.png", - limit = false, - emptyModule = true, - cost = 0, - requireLevel = 0, - slotType = "basic_weapon", - }, - { - name = "nulladvweapon", - humanName = "Empty Weapon Slot", - description = "Put a weapon in this slot.", - image = moduleImagePath .. "module_none.png", - limit = false, - emptyModule = true, - cost = 0, - requireLevel = 0, - slotType = "adv_weapon", - }, - - -- Weapons - { - name = "commweapon_beamlaser", - humanName = "Beam Laser", - description = "Beam Laser", - image = moduleImagePath .. "commweapon_beamlaser.png", - limit = 1, - cost = 50, - requireChassis = {"recon", "assault", "support", "strike"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_beamlaser" - else - sharedData.weapon2 = "commweapon_beamlaser" - end - end - }, - { - name = "commweapon_flamethrower", - humanName = "Flamethrower", - description = "Flamethrower", - image = moduleImagePath .. "commweapon_flamethrower.png", - limit = 1, - cost = 50, - requireChassis = {"recon", "assault"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_flamethrower" - else - sharedData.weapon2 = "commweapon_flamethrower" - end - end - }, - { - name = "commweapon_heatray", - humanName = "Heatray", - description = "Heatray", - image = moduleImagePath .. "commweapon_heatray.png", - limit = 1, - cost = 50, - requireChassis = {"assault"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_heatray" - else - sharedData.weapon2 = "commweapon_heatray" - end - end - }, - { - name = "commweapon_heavymachinegun", - humanName = "Machine Gun", - description = "Machine Gun", - image = moduleImagePath .. "commweapon_heavymachinegun.png", - limit = 1, - cost = 50, - requireChassis = {"recon", "assault", "strike"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.conversion_disruptor] and "commweapon_heavymachinegun_disrupt") or "commweapon_heavymachinegun" - if not sharedData.weapon1 then - sharedData.weapon1 = weaponName - else - sharedData.weapon2 = weaponName - end - end - }, - --{ - -- name = "commweapon_hpartillery", - -- humanName = "Plasma Artillery", - -- description = "Plasma Artillery", - -- image = moduleImagePath .. "commweapon_assaultcannon.png", - -- limit = 1, - -- cost = 300, - -- requireChassis = {"assault"}, - -- requireLevel = 3, - -- slotType = "adv_weapon", - -- applicationFunction = function (modules, sharedData) - -- if sharedData.noMoreWeapons then - -- return - -- end - -- local weaponName = (modules[moduleDefNames.weaponmod_napalm_warhead] and "commweapon_hpartillery_napalm") or "commweapon_hpartillery" - -- if not sharedData.weapon1 then - -- sharedData.weapon1 = weaponName - -- else - -- sharedData.weapon2 = weaponName - -- end - -- end - --}, - { - name = "commweapon_lightninggun", - humanName = "Lightning Rifle", - description = "Lightning Rifle", - image = moduleImagePath .. "commweapon_lightninggun.png", - limit = 1, - cost = 50, - requireChassis = {"recon", "support", "strike"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.weaponmod_stun_booster] and "commweapon_lightninggun_improved") or "commweapon_lightninggun" - if not sharedData.weapon1 then - sharedData.weapon1 = weaponName - else - sharedData.weapon2 = weaponName - end - end - }, - { - name = "commweapon_lparticlebeam", - humanName = "Light Particle Beam", - description = "Light Particle Beam", - image = moduleImagePath .. "commweapon_lparticlebeam.png", - limit = 1, - cost = 50, - requireChassis = {"support", "recon", "strike"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.conversion_disruptor] and "commweapon_disruptor") or "commweapon_lparticlebeam" - if not sharedData.weapon1 then - sharedData.weapon1 = weaponName - else - sharedData.weapon2 = weaponName - end - end - }, - { - name = "commweapon_missilelauncher", - humanName = "Missile Launcher", - description = "Missile Launcher", - image = moduleImagePath .. "commweapon_missilelauncher.png", - limit = 1, - cost = 50, - requireChassis = {"support", "strike"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_missilelauncher" - else - sharedData.weapon2 = "commweapon_missilelauncher" - end - end - }, - { - name = "commweapon_riotcannon", - humanName = "Riot Cannon", - description = "Riot Cannon", - image = moduleImagePath .. "commweapon_riotcannon.png", - limit = 1, - cost = 50, - requireChassis = {"assault"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.weaponmod_napalm_warhead] and "commweapon_riotcannon_napalm") or "commweapon_riotcannon" - if not sharedData.weapon1 then - sharedData.weapon1 = weaponName - else - sharedData.weapon2 = weaponName - end - end - }, - { - name = "commweapon_rocketlauncher", - humanName = "Rocket Launcher", - description = "Rocket Launcher", - image = moduleImagePath .. "commweapon_rocketlauncher.png", - limit = 1, - cost = 50, - requireChassis = {"assault"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.weaponmod_napalm_warhead] and "commweapon_rocketlauncher_napalm") or "commweapon_rocketlauncher" - if not sharedData.weapon1 then - sharedData.weapon1 = weaponName - else - sharedData.weapon2 = weaponName - end - end - }, - { - name = "commweapon_shotgun", - humanName = "Shotgun", - description = "Shotgun", - image = moduleImagePath .. "commweapon_shotgun.png", - limit = 1, - cost = 50, - requireChassis = {"recon", "support", "strike"}, - requireLevel = 0, - slotType = "basic_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.conversion_disruptor] and "commweapon_shotgun_disrupt") or "commweapon_shotgun" - if not sharedData.weapon1 then - sharedData.weapon1 = weaponName - else - sharedData.weapon2 = weaponName - end - end - }, - { - name = "commweapon_hparticlebeam", - humanName = "Heavy Particle Beam", - description = "Heavy Particle Beam - Replaces other weapons. Requires level 4 weapon slot.", - image = moduleImagePath .. "conversion_hparticlebeam.png", - limit = 1, - cost = 150, - requireChassis = {"support"}, - requireLevel = 1, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.conversion_disruptor] and "commweapon_heavy_disruptor") or "commweapon_hparticlebeam" - sharedData.weapon1 = weaponName - sharedData.weapon2 = nil - sharedData.noMoreWeapons = true - end - }, - { - name = "commweapon_shockrifle", - humanName = "Shock Rifle", - description = "Shock Rifle - Replaces other weapons. Requires level 4 weapon slot.", - image = moduleImagePath .. "conversion_shockrifle.png", - limit = 1, - cost = 150, - requireChassis = {"support"}, - requireLevel = 1, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - sharedData.weapon1 = "commweapon_shockrifle" - sharedData.weapon2 = nil - sharedData.noMoreWeapons = true - end - }, - { - name = "commweapon_clusterbomb", - humanName = "Cluster Bomb", - description = "Cluster Bomb - Manually fired burst of bombs. Requires level 4 weapon slot.", - image = moduleImagePath .. "commweapon_clusterbomb.png", - limit = 1, - cost = 150, - requireChassis = {"recon", "assault"}, - requireLevel = 3, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_clusterbomb" - else - sharedData.weapon2 = "commweapon_clusterbomb" - end - end - }, - { - name = "commweapon_concussion", - humanName = "Concussion Shell", - description = "Concussion Shell - Manually fired high impulse projectile. Requires level 4 weapon slot.", - image = moduleImagePath .. "commweapon_concussion.png", - limit = 1, - cost = 150, - requireChassis = {"recon"}, - requireLevel = 3, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_concussion" - else - sharedData.weapon2 = "commweapon_concussion" - end - end - }, - { - name = "commweapon_disintegrator", - humanName = "Disintegrator", - description = "Disintegrator - Manually fired weapon that destroys almost everything it touches. Requires level 4 weapon slot.", - image = moduleImagePath .. "commweapon_disintegrator.png", - limit = 1, - cost = 150, - requireChassis = {"assault", "strike"}, - requireLevel = 3, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_disintegrator" - else - sharedData.weapon2 = "commweapon_disintegrator" - end - end - }, - { - name = "commweapon_disruptorbomb", - humanName = "Disruptor Bomb", - description = "Disruptor Bomb - Manually fired bomb that slows enemies in a large area. Requires level 4 weapon slot.", - image = moduleImagePath .. "commweapon_disruptorbomb.png", - limit = 1, - cost = 150, - requireChassis = {"recon", "support", "strike"}, - requireLevel = 3, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_disruptorbomb" - else - sharedData.weapon2 = "commweapon_disruptorbomb" - end - end - }, - { - name = "commweapon_multistunner", - humanName = "Multistunner", - description = "Multistunner - Manually fired sustained burst of lightning. Requires level 4 weapon slot.", - image = moduleImagePath .. "commweapon_multistunner.png", - limit = 1, - cost = 150, - requireChassis = {"support", "recon", "strike"}, - requireLevel = 3, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - local weaponName = (modules[moduleDefNames.weaponmod_stun_booster] and "commweapon_multistunner_improved") or "commweapon_multistunner" - if not sharedData.weapon1 then - sharedData.weapon1 = weaponName - else - sharedData.weapon2 = weaponName - end - end - }, - { - name = "commweapon_napalmgrenade", - humanName = "Hellfire Grenade", - description = "Hellfire Grenade - Manually fired bomb that inflames a large area. Requires level 4 weapon slot.", - image = moduleImagePath .. "commweapon_napalmgrenade.png", - limit = 1, - cost = 150, - requireChassis = {"assault", "recon"}, - requireLevel = 3, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_napalmgrenade" - else - sharedData.weapon2 = "commweapon_napalmgrenade" - end - end - }, - { - name = "commweapon_slamrocket", - humanName = "S.L.A.M. Rocket", - description = "S.L.A.M. Rocket - Manually fired miniature tactical nuke. Requires level 4 weapon slot.", - image = moduleImagePath .. "commweapon_slamrocket.png", - limit = 1, - cost = 200, - requireChassis = {"assault"}, - requireLevel = 3, - slotType = "adv_weapon", - applicationFunction = function (modules, sharedData) - if sharedData.noMoreWeapons then - return - end - if not sharedData.weapon1 then - sharedData.weapon1 = "commweapon_slamrocket" - else - sharedData.weapon2 = "commweapon_slamrocket" - end - end - }, - - -- Unique Modules - { - name = "econ", - humanName = "Vanguard Economy Pack", - description = "Vanguard Economy Pack - A vital part of establishing a beachhead, this module is equipped by all new commanders to kickstart their economy. Provides 4 metal income and 6 energy income.", - image = moduleImagePath .. "module_energy_cell.png", - limit = 1, - unequipable = true, - cost = 200, - requireLevel = 0, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.metalIncome = (sharedData.metalIncome or 0) + 4 - sharedData.energyIncome = (sharedData.energyIncome or 0) + 6 - end - }, - { - name = "commweapon_personal_shield", - humanName = "Personal Shield", - description = "Personal Shield - A small, protective bubble shield. Cannot be used with cloak. Requires at least a level 2 module slot.", - image = moduleImagePath .. "module_personal_shield.png", - limit = 1, - cost = 300, - prohibitingModules = {"module_personal_cloak"}, - requireLevel = 1, - slotType = "module", - applicationFunction = function (modules, sharedData) - -- Do not override area shield - sharedData.shield = sharedData.shield or "commweapon_personal_shield" - end - }, - { - name = "commweapon_areashield", - humanName = "Area Shield", - description = "Area Shield - Projects a large shield. Requires and replaced an installed Personal Shield. Requires at least a level 4 module slot.", - image = moduleImagePath .. "module_areashield.png", - limit = 1, - cost = 250, - requireChassis = {"assault", "support"}, - requireOneOf = {"commweapon_personal_shield"}, - prohibitingModules = {"module_personal_cloak"}, - requireLevel = 3, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.shield = "commweapon_areashield" - end - }, - { - name = "weaponmod_napalm_warhead", - humanName = "Napalm Warhead", - description = "Napalm Warhead - Riot Cannon, Rocket Launcher and Plasma Artillery set targets on fire. Reduced direct damage. Requires at least a level 3 module slot.", - image = moduleImagePath .. "weaponmod_napalm_warhead.png", - limit = 1, - cost = 350, - requireChassis = {"assault"}, - requireOneOf = {"commweapon_rocketlauncher", "commweapon_hpartillery", "commweapon_riotcannon"}, - requireLevel = 2, - slotType = "module", - }, - { - name = "conversion_disruptor", - humanName = "Disruptor Ammo", - description = "Disruptor Ammo - Heavy Machine Gun, Shotgun and Particle Beams deal slow damage. Reduced direct damage. Requires at least a level 3 module slot.", - image = moduleImagePath .. "weaponmod_disruptor_ammo.png", - limit = 1, - cost = 450, - requireChassis = {"strike", "recon", "support"}, - requireOneOf = {"commweapon_heavymachinegun", "commweapon_shotgun", "commweapon_hparticlebeam", "commweapon_lparticlebeam"}, - requireLevel = 2, - slotType = "module", - }, - { - name = "weaponmod_stun_booster", - humanName = "Flux Amplifier", - description = "Flux Amplifier - Improves EMP duration and strength of Lightning Rifle and Multistunner. Requires at least a level 3 module slot.", - image = moduleImagePath .. "weaponmod_stun_booster.png", - limit = 1, - cost = 300, - requireChassis = {"support", "strike", "recon"}, - requireOneOf = {"commweapon_lightninggun", "commweapon_multistunner"}, - requireLevel = 2, - slotType = "module", - }, - { - name = "module_jammer", - humanName = "Radar Jammer", - description = "Radar Jammer - Hide the radar signals of nearby units. Requires at least a level 2 module slot.", - image = moduleImagePath .. "module_jammer.png", - limit = 1, - cost = 200, - requireLevel = 1, - slotType = "module", - applicationFunction = function (modules, sharedData) - if not sharedData.cloakFieldRange then - sharedData.radarJammingRange = 500 - end - end - }, - { - name = "module_radarnet", - humanName = "Field Radar", - description = "Field Radar - Attaches a basic radar system to the Commander. Requires at least a level 2 module slot.", - image = moduleImagePath .. "module_fieldradar.png", - limit = 1, - cost = 75, - requireLevel = 1, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.radarRange = 1800 - end - }, - { - name = "module_personal_cloak", - humanName = "Personal Cloak", - description = "Personal Cloak - A personal cloaking device for the Commander. Cannot be used with shields. Requires at least a level 2 module slot.", - image = moduleImagePath .. "module_personal_cloak.png", - limit = 1, - cost = 400, - prohibitingModules = {"commweapon_personal_shield", "commweapon_areashield"}, - requireLevel = 1, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.decloakDistance = math.max(sharedData.decloakDistance or 0, 150) - sharedData.personalCloak = true - end - }, - { - name = "module_cloak_field", - humanName = "Cloaking Field", - description = "Cloaking Field - Cloaks all nearby units. Requires Radar Jammer. Requires at least a level 4 module slot.", - image = moduleImagePath .. "module_cloak_field.png", - limit = 1, - cost = 600, - requireChassis = {"support", "strike"}, - requireOneOf = {"module_jammer"}, - requireLevel = 3, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.areaCloak = true - sharedData.decloakDistance = 180 - sharedData.cloakFieldRange = 350 - sharedData.cloakFieldUpkeep = 15 - sharedData.radarJammingRange = 350 - end - }, - { - name = "module_resurrect", - humanName = "Lazarus Device", - description = "Lazarus Device - Upgrade nanolathe to allow resurrection. Requires at least a level 3 module slot.", - image = moduleImagePath .. "module_resurrect.png", - limit = 1, - cost = 400, - requireChassis = {"support"}, - requireLevel = 2, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.canResurrect = true - end - }, - { - name = "module_jumpjet", - humanName = "Jumpjets", - description = "Jumpjets - Leap over obstacles and out of danger. Requires at least a level 4 module slot.", - image = moduleImagePath .. "module_jumpjet.png", - limit = 1, - cost = 400, - requireChassis = {"knight"}, - requireLevel = 3, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.canJump = true - end - }, - - -- Repeat Modules - { - name = "module_companion_drone", - humanName = "Companion Drone", - description = "Companion Drone - Commander spawns protective drones. Requires at least a level 3 module slot._COUNT_", - image = moduleImagePath .. "module_companion_drone.png", - limit = 8, - cost = 300, - requireLevel = 2, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.drones = (sharedData.drones or 0) + 1 - end - }, - { - name = "module_battle_drone", - humanName = "Battle Drone", - description = "Battle Drone - Commander spawns heavy drones. Requires Companion Drone and at least a level 4 module slot._COUNT_", - image = moduleImagePath .. "module_battle_drone.png", - limit = 8, - cost = 500, - requireChassis = {"support"}, - requireOneOf = {"module_companion_drone"}, - requireLevel = 3, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.battleDrones = (sharedData.battleDrones or 0) + 1 - end - }, - { - name = "module_autorepair", - humanName = "Autorepair", - description = "Autorepair - Commander self-repairs at +10 hp/s at the cost of 100 health._COUNT_", - image = moduleImagePath .. "module_autorepair.png", - limit = 8, - cost = 150, - requireLevel = 0, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.autorepairRate = (sharedData.autorepairRate or 0) + 10 - sharedData.healthBonus = (sharedData.healthBonus or 0) - 100 - end - }, - { - name = "module_ablative_armor", - humanName = "Ablative Armour Plates", - description = "Ablative Armour Plates - Provides 600 health._COUNT_", - image = moduleImagePath .. "module_ablative_armor.png", - limit = 8, - cost = 150, - requireLevel = 0, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.healthBonus = (sharedData.healthBonus or 0) + 600 - end - }, - { - name = "module_heavy_armor", - humanName = "High Density Plating", - description = "High Density Plating - Provides 1600 health but reduces speed by 10%. Requires Ablative Armour Plates and at least a level 3 module slot._COUNT_", - image = moduleImagePath .. "module_heavy_armor.png", - limit = 8, - cost = 400, - requireOneOf = {"module_ablative_armor"}, - requireLevel = 2, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.healthBonus = (sharedData.healthBonus or 0) + 1600 - sharedData.speedMult = (sharedData.speedMult or 1) - 0.1 - end - }, - { - name = "module_dmg_booster", - humanName = "Damage Booster", - description = "Damage Booster - Increases damage by 10% but reduces speed by 2.5%._COUNT_", - image = moduleImagePath .. "module_dmg_booster.png", - limit = 8, - cost = 150, - requireLevel = 0, - slotType = "module", - applicationFunction = function (modules, sharedData) - -- Damage boost is applied via clone swapping - sharedData.damageMult = (sharedData.damageMult or 1) + 0.1 - sharedData.speedMult = (sharedData.speedMult or 1) - 0.025 - end - }, - { - name = "module_high_power_servos", - humanName = "High Power Servos", - description = "High Power Servos - Increases speed by 8%._COUNT_", - image = moduleImagePath .. "module_high_power_servos.png", - limit = 8, - cost = 150, - requireLevel = 0, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.speedMult = (sharedData.speedMult or 1) + 0.1 - end - }, - { - name = "module_adv_targeting", - humanName = "Adv. Targeting System", - description = "Advanced Targeting System - Increases range by 7.5% but reduces speed by 2.5%._COUNT_", - image = moduleImagePath .. "module_adv_targeting.png", - limit = 8, - cost = 150, - requireLevel = 0, - slotType = "module", - applicationFunction = function (modules, sharedData) - sharedData.rangeMult = (sharedData.rangeMult or 1) + 0.075 - sharedData.speedMult = (sharedData.speedMult or 1) - 0.025 - end - }, - { - name = "module_adv_nano", - humanName = "CarRepairer's Nanolathe", - description = "CarRepairer's Nanolathe - Increases build power by 4._COUNT_", - image = moduleImagePath .. "module_adv_nano.png", - limit = 8, - cost = 150, - requireLevel = 0, - slotType = "module", - applicationFunction = function (modules, sharedData) - -- All comms have 10 BP in their unitDef (even support) - sharedData.bonusBuildPower = (sharedData.bonusBuildPower or 0) + 4 - end - }, -} - -for i = 1, #moduleDefs do - moduleDefNames[moduleDefs[i].name] = i -end - ------------------------------------------------------------------------- --- Chassis Definition ------------------------------------------------------------------------- - -local highestDefinedLevel = 7 -local levelDefs = { - [0] = { - upgradeSlots = { - { - defaultModule = "commweapon_beamlaser", - slotAllows = "basic_weapon", - }, - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - }, - }, - [1] = { - upgradeSlots = { - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - }, - }, - [2] = { - upgradeSlots = { - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - }, - }, - [3] = { - upgradeSlots = { - { - defaultModule = "nullbasicweapon", - slotAllows = {"adv_weapon", "basic_weapon"}, - }, - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - }, - }, -} - -for i = 4, highestDefinedLevel do - levelDefs[i] = { - upgradeSlots = { - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - { - defaultModule = "nullmodule", - slotAllows = "module", - }, - }, - } -end - -local chassisDef = { - name = "knight", - chassis = "knight", - humanName = "Knight", - image = LUA_DIRNAME .. "images/chassis_cremcom.png", - secondPeashooter = true, - highestDefinedLevel = highestDefinedLevel, - levelDefs = levelDefs -} - ------------------------------------------------------------------------- --- Processing ------------------------------------------------------------------------- - --- Transform from human readable format into number indexed format ---for i = 1, #moduleDefs do --- local data = moduleDefs[i] --- --- -- Required modules are a list of moduleDefIDs --- if data.requireOneOf then --- local newRequire = {} --- for j = 1, #data.requireOneOf do --- local reqModuleID = moduleDefNames[data.requireOneOf[j]] --- if reqModuleID then --- newRequire[#newRequire + 1] = reqModuleID --- end --- end --- data.requireOneOf = newRequire --- end --- --- -- Prohibiting modules are a list of moduleDefIDs too --- if data.prohibitingModules then --- local newProhibit = {} --- for j = 1, #data.prohibitingModules do --- local reqModuleID = moduleDefNames[data.prohibitingModules[j]] --- if reqModuleID then --- newProhibit[#newProhibit + 1] = reqModuleID --- end --- end --- data.prohibitingModules = newProhibit --- end ---end - -for i = 0, chassisDef.highestDefinedLevel do - local slots = chassisDef.levelDefs[i].upgradeSlots - for j = 1, #slots do - local newSlotAllows = {} - if type(slots[j].slotAllows) == "string" then - newSlotAllows[slots[j].slotAllows] = true - else - for allow = 1, #slots[j].slotAllows do - newSlotAllows[slots[j].slotAllows[allow]] = true - end - end - slots[j].slotAllows = newSlotAllows - end -end - ------------------------------------------------------------------------- --- Module Ordering ------------------------------------------------------------------------- - -for i = 1, #moduleDefs do - local data = moduleDefs[i] - data.category = (data.slotType == "module" and "module") or "weapon" - data.order = i -end - -local categories = { - module = { - name = "Modules", - order = 1 - }, - weapon = { - name = "Weapons", - order = 2 - } -} - -local function ModuleOrder(name1, name2) - local data1 = name1 and moduleDefNames[name1] and moduleDefs[moduleDefNames[name1]] - local data2 = name1 and moduleDefNames[name2] and moduleDefs[moduleDefNames[name2]] - if not data1 then - return (data2 and true) - end - if not data2 then - return true - end - - local category1 = categories[data1.category].order - local category2 = categories[data2.category].order - return category1 < category2 or (category1 == category2 and data1.order < data2.order) -end - ------------------------------------------------------------------------- --- Commander Configuration ------------------------------------------------------------------------- -local levelRequirement = { - [0] = 0, - [1] = 500, - [2] = 1200, - [3] = 2500, - [4] = 5000, - [5] = 8500, - [6] = 12000, -} - -local function GetLevelRequirement(level) - return levelRequirement[level] -end - -return { - moduleDefs = moduleDefs, - moduleDefNames = moduleDefNames, - chassisDef = chassisDef, - GetLevelRequirement = GetLevelRequirement, - categories = categories, - ModuleOrder = ModuleOrder, -} diff --git a/campaign/dev/graphics/icons/Empire3.png b/campaign/dev/graphics/icons/Empire3.png deleted file mode 100644 index d63c9c3cb..000000000 Binary files a/campaign/dev/graphics/icons/Empire3.png and /dev/null differ diff --git a/campaign/dev/graphics/icons/Liberty.png b/campaign/dev/graphics/icons/Liberty.png deleted file mode 100644 index 065e24b88..000000000 Binary files a/campaign/dev/graphics/icons/Liberty.png and /dev/null differ diff --git a/campaign/dev/graphics/icons/Machines.png b/campaign/dev/graphics/icons/Machines.png deleted file mode 100644 index 467a55532..000000000 Binary files a/campaign/dev/graphics/icons/Machines.png and /dev/null differ diff --git a/campaign/dev/graphics/icons/level.png b/campaign/dev/graphics/icons/level.png deleted file mode 100644 index 5b8d30483..000000000 Binary files a/campaign/dev/graphics/icons/level.png and /dev/null differ diff --git a/campaign/dev/initialUnlocks.lua b/campaign/dev/initialUnlocks.lua deleted file mode 100644 index 2a37cd5ca..000000000 --- a/campaign/dev/initialUnlocks.lua +++ /dev/null @@ -1,9 +0,0 @@ -return { - units = { - }, - modules = { - "commweapon_beamlaser", - }, - codexEntries = { - } -} diff --git a/campaign/dev/mainConfig.lua b/campaign/dev/mainConfig.lua deleted file mode 100644 index a5012b6cd..000000000 --- a/campaign/dev/mainConfig.lua +++ /dev/null @@ -1,25 +0,0 @@ -local shortname = "dev" - -local planetDefs = VFS.Include("campaign/" .. shortname .. "/planetDefs.lua") -local codex = VFS.Include("campaign/" .. shortname .. "/codex.lua") -local initialUnlocks = VFS.Include("campaign/" .. shortname .. "/initialUnlocks.lua") -local abilityDefs = VFS.Include("campaign/" .. shortname .. "/abilityDefs.lua") -local unlocksList = VFS.Include("campaign/" .. shortname .. "/unlocksList.lua") -local commConfig = VFS.Include("campaign/" .. shortname .. "/commConfig.lua") -local aiConfig = VFS.Include("campaign/" .. shortname .. "/aiConfig.lua") - ---------------------------------------------------------------------------------- --- Getters ---------------------------------------------------------------------------------- - -local externalFuncAndData = { - planetDefs = planetDefs, - codex = codex, - initialUnlocks = initialUnlocks, - abilityDefs = abilityDefs, - unlocksList = unlocksList, - commConfig = commConfig, - aiConfig = aiConfig, -} - -return externalFuncAndData diff --git a/campaign/dev/moduleTodo.txt b/campaign/dev/moduleTodo.txt deleted file mode 100644 index 2a5426247..000000000 --- a/campaign/dev/moduleTodo.txt +++ /dev/null @@ -1,55 +0,0 @@ -Placed modules are indented - - commweapon_beamlaser - commweapon_flamethrower - commweapon_heatray - commweapon_heavymachinegun - commweapon_lightninggun - commweapon_lparticlebeam - commweapon_missilelauncher - commweapon_riotcannon - commweapon_rocketlauncher - commweapon_shotgun -commweapon_hparticlebeam -- Reconsider -commweapon_shockrifle -- Reconsider - commweapon_clusterbomb - commweapon_concussion - commweapon_disintegrator - commweapon_disruptorbomb - commweapon_multistunner - commweapon_napalmgrenade - commweapon_slamrocket - - commweapon_personal_shield - commweapon_areashield - --- Consider adding some of the conversions. Standoff rocket etc.. - weaponmod_napalm_warhead - conversion_disruptor - weaponmod_stun_booster - module_jammer - module_radarnet - module_personal_cloak - module_cloak_field - module_resurrect - -The number is how many times the module has been placed. Each can go up to 8. -8 module_companion_drone -8 module_battle_drone -8 module_autorepair -8 module_ablative_armor -8 module_heavy_armor -8 module_dmg_booster -8 module_high_power_servos -8 module_adv_targeting -8 module_adv_nano - -Putting this here so I can find it for AI coms -skin_support_dark -skin_support_hotrod -skin_support_green -skin_support_zebra -skin_recon_red -skin_recon_dark -skin_recon_leopard -skin_bombard_steel diff --git a/campaign/dev/planetDefs.lua b/campaign/dev/planetDefs.lua deleted file mode 100644 index 921199fa1..000000000 --- a/campaign/dev/planetDefs.lua +++ /dev/null @@ -1,216 +0,0 @@ -local shortname = "dev" - -local N_PLANETS = 71 - -planetEdgeList = { - {01, 02}, - {02, 03}, - {02, 05}, - {03, 04}, - {03, 09}, - {04, 08}, - {05, 06}, - {05, 13}, - {06, 07}, - {06, 20}, - {07, 22}, - {08, 43}, - {09, 08}, - {09, 10}, - {09, 19}, - {10, 11}, - {10, 12}, - {11, 36}, - {11, 43}, - {12, 37}, - {12, 40}, - {12, 52}, - {13, 14}, - {13, 15}, - {13, 19}, - {14, 17}, - {14, 16}, - {15, 26}, - {16, 40}, - {16, 52}, - {17, 15}, - {17, 18}, - {17, 29}, - {18, 21}, - {18, 26}, - {19, 52}, - {20, 26}, - {20, 22}, - {21, 34}, - {21, 48}, - {22, 25}, - {22, 23}, - {23, 24}, - {24, 30}, - {25, 30}, - {26, 27}, - {26, 28}, - {27, 30}, - {27, 53}, - {28, 34}, - {28, 53}, - {29, 44}, - {30, 31}, - {30, 33}, - {31, 32}, - {32, 57}, - {32, 60}, - {33, 34}, - {33, 35}, - {33, 70}, - {34, 53}, - {34, 70}, - {34, 49}, - {35, 55}, - {35, 70}, - {36, 37}, - {36, 38}, - {37, 41}, - {37, 54}, - {38, 39}, - {39, 54}, - {39, 56}, - {40, 41}, - {41, 29}, - {41, 42}, - {41, 71}, - {42, 46}, - {44, 45}, - {44, 48}, - {45, 46}, - {45, 47}, - {46, 56}, - {47, 49}, - {47, 62}, - {47, 58}, - {48, 49}, - {49, 50}, - {49, 62}, - {50, 51}, - {50, 55}, - {50, 70}, - {51, 61}, - {51, 63}, - {55, 61}, - {56, 59}, - {57, 67}, - {58, 59}, - {58, 66}, - {59, 66}, - {60, 67}, - {61, 64}, - {63, 62}, - {63, 64}, - {64, 65}, - {65, 68}, - {01, 69}, - {54, 71}, - {44, 42}, - {56, 71}, -} - -local planetAdjacency = {} - --- Create the matrix -for i = 1, N_PLANETS do - planetAdjacency[i] = {} - for j = 1, N_PLANETS do - planetAdjacency[i][j] = false - end -end - --- Populate the matrix -for i = 1, #planetEdgeList do - planetAdjacency[planetEdgeList[i][1]][planetEdgeList[i][2]] = true - planetAdjacency[planetEdgeList[i][2]][planetEdgeList[i][1]] = true -end - -local planets = {} -local planetUtilities = VFS.Include("campaign/" .. shortname .. "/planetUtilities.lua") -for i = 1, N_PLANETS do - planets[i] = VFS.Include("campaign/" .. shortname .. "/planets/planet" .. i .. ".lua")(planetUtilities, i) - planets[i].index = i -end - --- Apply Defaults -local function ApplyDefaults(teamData) - if not teamData.startMetal then - teamData.startMetal = planetUtilities.DEFAULT_RESOURCES.metal - end - if not teamData.startEnergy then - teamData.startEnergy = planetUtilities.DEFAULT_RESOURCES.energy - end -end - -for i = 1, #planets do - local planetData = planets[i] - - -- Player defaults - ApplyDefaults(planetData.gameConfig.playerConfig) - - -- AI defaults - local aiConfig = planetData.gameConfig.aiConfig - for j = 1, #aiConfig do - ApplyDefaults(aiConfig[j]) - end -end - -local initialPlanets = {} -for i = 1, #planets do - if planets[i].startingPlanetCaptured then - initialPlanets[#initialPlanets + 1] = i - end -end - -local startingPlanetMaps = {} -for i = 1, #planets do - if planets[i].predownloadMap then - startingPlanetMaps[#startingPlanetMaps + 1] = planets[i].gameConfig.mapName - end -end - --- Print Maps ---local featuredMapList = WG.CommunityWindow.LoadStaticCommunityData().MapItems ---local mapNameMap = {} ---local subNameMap = {} ---for i = 1, #featuredMapList do --- mapNameMap[featuredMapList[i].Name] = true --- subNameMap[featuredMapList[i].Name:sub(0, 8)] = featuredMapList[i].Name ---end ---for i = 1, #planets do --- local map = planets[i].gameConfig.mapName --- if mapNameMap[map] then --- Spring.Echo("planet map", i, map, "Featured") --- elseif subNameMap[map:sub(0, 8)] then --- Spring.Echo("planet map", i, map, "Unfeatured", subNameMap[map:sub(0, 8)]) --- else --- Spring.Echo("planet map", i, map, "UnfeaturedNoReplace") --- end ---end - --- Sum Experience ---local xpSum = 0 ---local bonusSum = 0 ---for i = 1, #planets do --- xpSum = xpSum + planets[i].completionReward.experience --- local bonus = planets[i].gameConfig.bonusObjectiveConfig or {} --- for i = 1, #bonus do --- bonusSum = bonusSum + bonus[i].experience --- end ---end ---Spring.Echo("Total Experience", xpSum + bonusSum, "Main", xpSum, "Bonus", bonusSum) - -local retData = { - planets = planets, - planetAdjacency = planetAdjacency, - planetEdgeList = planetEdgeList, - initialPlanets = initialPlanets, - startingPlanetMaps = startingPlanetMaps, -} - -return retData diff --git a/campaign/dev/planetDocumentation.lua b/campaign/dev/planetDocumentation.lua deleted file mode 100644 index beb5a21cd..000000000 --- a/campaign/dev/planetDocumentation.lua +++ /dev/null @@ -1,693 +0,0 @@ --- Documentation for planet definitions. - -planetData = { - name = "Pong", -- The name of the planet - startingPlanet = false, -- Whether the planet is availible to be invaded at the start of the campaign. - predownloadMap = false, -- Whether to have the lobby download this map as soon as it can. - tutorialSkip = false, -- Whether to allow players to skip this planet as a tutorial. - - -- Position and image to be used on the map - mapDisplay = { - -- x,y is a proportion of the map area from the top left corner - x = 0.22, - y = 0.1, - - -- Image is a path to an image using the standard luaMenu directory structure. - image = planetUtilities.planetImages[1], - - -- Size to display on the galaxy map. It is somewhat scaled by the size of the chobby window. - size = planetUtilities.PLANET_SIZE_MAP, - - -- Text to display to the right of the planet when it is targeted. - hintText = "Continue to the next planet", - hintSize = {400, 200}, -- Size of the hint box - }, - - -- Information displayed on the invasion selection screen. - infoDisplay = { - image = planetUtilities.planetImages[1], -- Image path - size = planetUtilities.PLANET_SIZE_INFO, -- size - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], -- Background for the invasion screen - terrainType = "Terran", - radius = "6550 km", - primary = "Origin", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[Your first battle will be straightforward. You have been provided with a starting base. Construct an army of Glaives and Reavers and overwhelm your enemy.]] - -- extendedText is optional and used as the text for the ingame briefing. - extendedText = [[Something else]], - }, - - -- Tips are displayed on the ingame briefing screen - tips = { - -- Each tip can have an image which is a path in the zk game itself. - { - image = "unitpics/cloakarty.png", - text = [[The Sling's cannon has the range to shoot turrets from safety but the Sling itself has a short sight range. Use other units such as Glaives or cloaked Conjurors to spot for your Slings.]] - }, - { - image = "unitpics/shieldraid.png", - text = [[Watch out for flanks by Bandits.]] - }, - }, - - -- Configuration for everything related to playing the battle - gameConfig = { - -- Name of the mutator to use. For scripted missions. - gameName = false, - - -- Map name, be careful of spaces. - mapName = "Living Lands v2.03", - - -- List of modoptions to apply. - -- Note that 1 is true and 0 is false for boolean modoptions. - modoptions = { - zombies = 1 - }, - - -- Map of modoptions for particular difficulty levels. Duplicate keys override the general modoptions table. - modoptionDifficulties = { - [1] = { - zombies = 0, - }, - } - - -- Add arbitrary map markers - mapMarkers = { - { - x = 600, - z = 1200, - text = "Walk Here", - color = "green" - }, - }, - - -- Configuration for everything owned by the player. - playerConfig = { - -- start coordinates of the players commander - startX = 300, - startZ = 3800, - - -- AllyTeam of the player, always set this to zero. - allyTeam = 0, - - -- Parameters of the player commander. - commanderParameters = { - -- Whether the commander starts with facplop - facplop = false, - - -- Override start metal or energy, otherwise the default will be used. - startMetal = 250, - startEnergy = 250, - - -- Contributed to allyTeam defeat if the unit is destroyed. The objectiveID is purely for UI. - -- Defeat if destroyed also triggers if the unit is captured. - defeatIfDestroyedObjectiveID = 2, - - -- Causes victory for allyTeam if the unit reaches the location. The objectiveID is purely for UI. - victoryAtLocation = { - x = 600, - z = 1200, - radius = 100, - objectiveID = 5, - }, - - -- Bonus objective which the unit counts towards. - bonusObjectiveID = false, - }, - - -- A list of newton firezones. - newtonFirezones = { - { - -- All newtons in this rectangle are grouped and given the firezone. - newtons = { - x1 = 7800, - z1 = 3600, - x2 = 8200, - z2 = 4000, - }, - firezone = { - x1 = 7800, - z1 = 3660, - x2 = 8000, - z2 = 3800, - } - } - }, - - -- Extra commander modules. - extraModules = { - {name = "module_jumpjet", count = 1, add = false}, - -- List of: - -- * name - Module name. See commConfig.lua. - -- * count - Number of copies of the module. - -- * add - Boolean controlling whether count adds to the number of modules of - -- the type the player has equiped or overwrites the number. - }, - - -- Extra unit unlocks that are availible to the player for the duration of the mission. - extraUnlocks = { - "factorycloak", - "cloakraid", - "cloakriot", - "staticmex", - "energysolar", - "cloakcon", - }, - - -- Extra abilities that are availbile to the player - extraAbilities = { - "terraform", - } - - -- The whitelist is a list of units that are not disabled for the mission. - -- The blacklist is a list of units that are disabled for the mission. - -- These tables are maps, leave them nil to not use them. - unitWhitelist = nil - unitBlacklist = { - turretlaser = true, - } - - -- Win by moving particular unit types to one or more locations. - typeVictoryAtLocation = { - cloakraid = { - { - x = 600, - z = 1200, - radius = 100, - objectiveID = 5, - -- Map markers added in map marker table. - }, - } - }, - - -- Units that spawn at the start of the game. - startUnits = { - { - -- Unit def name - name = "cloakcon", - - -- Position and facing - x = 900, - z = 850, - facing = 0, - - -- Duration of stun (in seconds) applied to the unit at the start of the game. - stunTime = 2, - - -- Set terraform height to make a Skydust - terraformHeight = 30, - - -- Units have victoryAtLocation and defeatIfDestroyedObjectiveID identical to commanderParameters. - -- Please do not set difficultyAtMost or difficultyAtLeast for initial units with victory/defeat parameters, - -- who knows what would happen. - victoryAtLocation = { - x = 600, - z = 1200, - radius = 100, - objectiveID = 5, - - -- Map marker will appear at the victory location. Only set for one unit otherwise duplicates will appear. - mapMarker = { - text = "Walk Here", - color = "green" - }, - }, - - -- mapMarker can be set for allied or enemy start units with arbitrary text. The marker is removed on death. - -- It does not follow the unit so only makes sense on stuctures. - mapMarker = { - text = "Protect", - color = "green" - }, - - -- ObjectiveID is for mission UI. See objectiveConfig - defeatIfDestroyedObjectiveID = 3, - - -- List of commands for the initial unit. They are issued in order.See ProcessUnitCommand in - -- mission_galaxy_campaign_battle gadget. - commands = { - -- Commands have: - -- * cmdID or unitName: - -- - cmdID is the ID of the command - -- - unitName is processed into the cmdID required to be a build order for that unit. - -- * atPosition, pos, params or : - -- - atPosition sets the target of the command to be a unit standing quite close to the position specified. - -- - pos is an x,z position for the command. This saves you (the mission writer) from looking up y positions. - -- - params is raw parameter input. Use for state commands perhaps? - -- - If none of the previous three are set then the command is a sent with no parameters. Use this, for - -- example, for STOP, WAIT or, with unitName, for factory build order. - -- * options - These are the modifiers for the command. Used mostly like they are on the keyboard. "shift", "ctrl", - -- "alt", "meta". Remember to use "shift" for commands beyond the first. - -- * facing - Build facing for a unitName command with pos. - -- * radius - Radius of an area command with pos. - - {cmdID = planetUtilities.COMMAND.GUARD, atPosition = {2560, 800}}, - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1560, 800}, options = {"shift"}}, - {unitName = "turretmissile", pos = {64, 64}, facing = 3, options = {"shift"}}, - }, - - -- patrolRoute is a condensed way of issuing commands to patrol in a route. Do not use it and commands at the same time. - patrolRoute = { - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - } - - -- selfPatrol makes units patrol on the spot. Use for Caretakers - selfPatrol = false, - - -- Whether the unit spawns can be conditional on the difficulty setting. - -- Both 'at most' and 'at least' are availible and the usual usage would be to - -- give allied units 'at most' and enemy units 'at least'. - -- 1 = Easy, 2 = Medium, 3 = Hard, 4 = Brutal - difficultyAtMost = nil, - difficultyAtLeast = nil, - - -- Units with difficultyAtMost and difficultyAtLeast can have bonusObjectiveID but be careful to make sure that objective makes sense. - -- See bonusObjectiveConfig - bonusObjectiveID = false, - - -- 'notAutoAttacked = true' makes the unit not automatically targeted by anything. Mainly useful for neutral units. - notAutoAttacked = false, - -- Invicible units cannot die. They automatically have 'notAutoAttacked = true' - invincible = false, - }, - { - name = "turretlaser", - x = 300, - z = 3450, - facing = 2, - }, - { - name = "armwar", - x = 850, - z = 900, - facing = 0, - bonusObjectiveID = 1, - }, - -- etc... - }, - -- Reinforcements that occur midgame. - midgameUnits = { - -- Share all keys with startUnits except terraformHeight - -- Midgame units automatically check their spawn location for terrain and structure blockages. - -- * delay - Time, in frames, into the mission that the unit is spawned. Required. - -- * spawnRadius - Spawn the unit in a random location in a square with sidelength 2*spawnRadius. - -- * orbitalDrop - Set to true to use the orbital drop effect. This can also be set for initial units. - { - name = "cloakriot", - x = 2400, - z = 460, - facing = 1, - spawnRadius = 50, - - delay = 4*30, - orbitalDrop = true, - }, - { - name = "cloakriot", - x = 2500, - z = 300, - facing = 1, - spawnRadius = 50, - - delay = 4*30, - orbitalDrop = true, - }, - }, - }, - - -- Set of neutral units to spawn. Same format as startUnits - neutralUnits = { - { - name = "turretlaser", - x = 32, - z = 32, - facing = 2, - invincible = true, - }, - }, - - -- List of wrecks to spawn. Names tend to be "_dead" and "_heap". Actually spawns any feature. - initialWrecks = { - { - -- Feature def name - name = "factorycloak_dead", - - -- Position and facing. Leave out facing for a random facing. - x = 1300, - z = 3750, - facing = 2, - - -- Whether the feature spawns can be conditional on the difficulty setting. Not sure why. - -- 1 = Easy, 2 = Medium, 3 = Hard, 4 = Brutal - difficultyAtMost = nil, - difficultyAtLeast = nil, - }, - } - - -- Configuration for all the AI teams in the game. These are mostly the same as player config. - aiConfig = { - { - -- Start position for AI commander. Better set this even if it has no commander since circuit or Spring may require it. - startX = 4000, - startZ = 75, - - -- ai library to use to run the AI. Can be any valid AI name string which player are sure to have. See LuaAI.lua in the root directory - -- of the Zero-K game repository for availible lua AIs, "Null AI" is an entry where which creates a completely passive AI. (For Null AI bitDependant should be set to false.) - -- If aiLib is a key found in campaignData.aiConfig.aiLibFunctions then it had better be a function that returns an AI appropriate for the - -- difficulty level. 'Circuit_difficulty_autofill' is one such entry, see aiConfig.lua. - aiLib = "Circuit_difficulty_autofill", - - -- AI name on the playerlist. - humanName = "Enemy", - - -- If bitDependant is true then '32' or '64' will be appended to the final AI name as required by the users system. This is for native AIs - -- that are compiled to particular systems. - bitDependant = true, - - -- Commander parameters is identical to playerConfig. - commanderParameters = { - facplop = false, - }, - - -- Ally team of the AI - allyTeam = 1, - - -- Units that the AI can build - unlocks = { - "cloakraid", - }, - - -- Additional that the AI can build at particular difficulty levels. Indexed by difficulty, don't need to set empty entries. - -- Don't double up entries with the standard unlocks table or I'll be annoyed. - difficultyDependantUnlocks = { - [1] = {"cloakarty"}, - [3] = {"cloakskirm"}, - }, - - -- Level of the AI commander, if it exists - commanderLevel = 2, - - -- Name and loadout of the AI commander. Set 'commander = false' to not give the AI a commander. - commander = { - name = "Most Loyal Opposition", - chassis = "engineer", - decorations = { - "skin_support_dark", - icon_overhead = { - image = "UW" - }, - }, - -- This is just a list of modules. It does not care about slots or levels. - modules = { - "commweapon_shotgun", - } - }, - - -- Start units are mostly identical to player config. Exceptions: - -- * noControl - Set to true to make circuitAI not give any commands to the unit. - startUnits = { - { - name = "staticmex", - x = 3630, - z = 220, - facing = 2, - noControl = true, - }, - { - name = "factorycloak", - x = 3750, - z = 340, - facing = 4, - }, - }, - -- midgameUnits is identical to playerConfig - midgameUnits = { - }, - }, - { - startX = 200, - startZ = 200, - aiLib = "Circuit_difficulty_autofill", - humanName = "Ally", - bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "dante", - }, - commanderLevel = 5, - commander = false, - startUnits = { - { - name = "striderhub", - x = 1000, - z = 1300, - facing = 2, - defeatIfDestroyedObjectiveID = 4, - }, - -- etc... - } - }, - -- etc.. - }, - - -- A list of terraforms to apply to the map prior to the game starting - terraform = { - -- Terraforms have: - -- * terraformShape: This is required. Either RECTANGLE, LINE or RAMP - -- * terraformType: Required for RECTANGLE and LINE. Either LEVEL, RAISE or SMOOTH - -- * position: - -- * RECTANGLE - {left, top, right, bottom} - -- * LINE - {x1, z1, x2, z2} - -- * RAMP - {x1, y1, z1, x2, y2, z2} - -- * height: Required for LEVEL and RAISE. Absolute for the former and relative for the latter. - -- * width: Required for RAMP. - -- * volumeSelection: NONE, RAISE_ONLY or LOWER_ONLY - -- * needConstruction: boolean. Set to true to create a terraunit. - -- * teamID: number. This is for use with needConstruction. - -- Note that terraform has all the restrictions of terraform that occurs during a game. Shapes such - -- as very thin walls cannot be created. - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {3808, 2544, 3808 + 48, 2544 + 48}, - height = 130, - volumeSelection = planetUtilities.TERRAFORM_VOLUME.RAISE_ONLY, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {290, 300, 3900, 765, 103, 3870}, - width = 200, - volumeSelection = planetUtilities.TERRAFORM_VOLUME.LOWER_ONLY, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.LINE, - terraformType = planetUtilities.TERRAFORM_TYPE.RAISE, - position = {400, 90, 556, 120}, - height = 20, - }, - }, - - -- Configuration for what causes defeat for each allyTeam. Indexed by allyTeam. - defeatConditionConfig = { - [0] = { - -- AllyTeam 0 had better be the players allyTeam. - -- The players allyTeam only supports the parameters loseAfterSeconds and timeLossObjectiveID - - -- Lose after this many seconds - loseAfterSeconds = 60, - - -- ObjectiveID is purely for the objectives UI. Sets the objective to mark as complete. - timeLossObjectiveID = 1, - } - [1] = { - -- If ignoreUnitLossDefeat is true then the defeault defeat condition, lose all units, is disabled. - ignoreUnitLossDefeat = false, - - -- This is a list of allyTeams to defeat when this allyTeam is defeated. - defeatOtherAllyTeamsOnLoss = {2}, - - -- Stops units on the allyTeam exploding, as they usually do. - doNotExplodeOnLoss = false, - - -- If at least one of vitalCommanders or vitalUnitTypes is set then losing all vital unit types - -- causes defeat. - -- * If 'vitalCommanders = true' then commanders are vital unit types. - -- * If vitalUnitTypes is a list then every unit def name listed is an vital unit type. - -- The following configuration causes the allyTeam to lose if it loses all commanders and cloaky factories. - vitalCommanders = true, - vitalUnitTypes = { - "factorycloak", - }, - - -- All allyTeams can have loseAfterSeconds. - loseAfterSeconds = false, - - -- ObjectiveID is purely for the objectives UI. Sets the objective to mark as complete. - allyTeamLossObjectiveID = 5, - }, - [2] = { - }, - }, - - -- Objective config is pure UI. The descriptions should be filled with text which relates to the objective. Note that, as per the config, - -- there are three victory conditions in objective 5. - -- Objectives can have the following: - -- * description: The text of the objective on the invasion screen and ingame. - -- * satisfyCount: The number of sucesses required to satisfy the objective. Only use this for objectives that do not fail. For example - -- if there is 4-way FFA then an objective could be "defeat all opponents", to make it tick when all three are defeated - -- set allyTeamLossObjectiveID for all opponents and set satisfyCount to 3. - objectiveConfig = { - [1] = { - description = "Win before 1:00", - }, - [2] = { - description = "Protect your Commander", - }, - [3] = { - description = "Protect your Glaive", - }, - [4] = { - description = "Protect your allied Strider Hub", - }, - [5] = { - description = "Destroy enemy commanders and factories, move your Commander to the location or move your Glaive to the location.", - }, - }, - - -- Configuration for the bonus objectives. Indexed by bonus objective ID. - bonusObjectiveConfig = { - -- Objectives have the following simple parameters: - -- * experience - The experience rewarded to the player if they win a game in which the objective was completed. - -- * image, imageOverlay - The image used for the objective in the invasion and victory screens. - -- * description - The text that appears with the objective for the ingame UI and the invasion and victory screens. - -- - -- Set completeAllBonusObjectives to true to make the bonus objective that is "Complete all objectives". - -- - -- Not so simple paramters, to be covered later (in order). - -- * - -- * victoryByTime - A number of seconds, often false. - -- * targetNumber - A number - -- * comparisionType - either planetUtilities.COMPARE.AT_MOST or planetUtilities.COMPARE.AT_LEAST - -- * unitTypes - a table of unit def names - -- * enemyUnitTypes - a table of unit def names - -- * lockUnitsOnSatisfy - true/false - -- * countRemovedUnits - true/false - -- * onlyCountRemovedUnits - true/false - -- * capturedUnitsSatisfy - true/false - -- - -- Bonus objectives work on the same system. They compare a number of units to their targetNumber and are satisfied based on their - -- satisfaction type. Ingame, an objective is either satisfied or not satisfied from second to second. It succeeds or failed based on - -- this constant satisfaction and satisfaction types. Once it succeeds or fails it stops checking. - -- - -- Here are the satisfaction types, see CheckBonusObjective in the mission_galaxy_campaign_battle gadget for their implementation. - -- Technically types could be mixed but it is unintended and untested. - -- * satisfyAtTime = SECONDS - -- The objective is succeeded if it is satisfied at the time specified. It fails if the time occurs and it is - -- not satisfied or if the game ends before SECONDS. - -- * satisfyByTime = SECONDS - -- Like satisfyAtTime except that the objective succeeded if it is satisfied at any time before SECONDS. - -- * satisfyUntilTime = SECONDS - -- The objective fails if it is not satisfied at any time up until SECONDS. It succeeds it has not failed by the time either - -- either SECONDS has elapsed or the game ends. - -- * satisfyAfterTime = SECONDS - -- The objective fails if it is not satisfied at any time after and including SECONDS. It succeeds if the game ends and it has - -- not yet failed. - -- * satisfyForeverAfterFirstSatisfied = TRUE/FALSE - -- If set, the objective fails if it is not satisfied at any time after it is first satisfied. Succeeds if it is satisfied and - -- the game ends. - -- * satisfyOnce = TRUE/FALSE - -- Succeeds if it is satisfied at any point in the game. - -- * satisfyForever = TRUE/FALSE - -- Fails if it is ever not satisfied. Succeds if it has not failed and the game ends. - -- * victoryByTime = SECONDS - -- A special satisfication type that does not depend on units and targets. Succeeds if the player wins by SECONDS. - -- - -- An objective is satisfied based on the number of tracked relevant units tracked compared to targetNumber with comparisionType. - -- The relevant units are: - -- * All player team units of type unitTypes (note, player team, not allyTeam). - -- * All enemy allyTeam units of type enemyUnitTypes. - -- * All initial units with matching bonusObjectiveID. - -- - -- If 'lockUnitsOnSatisfy = true' then the objective stops tracking new relevant units once it is first satified. This can be used to - -- make the player build and protect their first four Solars. With 'lockUnitsOnSatisfy = false' the same objective would have the - -- player build to four Solars and then always have at least four Solars. - -- - -- If 'countRemovedUnits = false' and 'onlyCountRemovedUnits = false' then the objective stops couting relevant units that died. - -- * If 'countRemovedUnits = true' then the objective does not reduce the count for dead units, this can be used for an - -- objective "Make 20 Glaives" which doesn't care what happens to each Glaive after it is built. - -- * If 'onlyCountRemovedUnits = true' then the objective only counts those units that were relevant units before they died. Set - -- this to create an objective "Kill 5 Glaive" by making the objective only count removed enemy glaives. - -- * If 'capturedUnitsSatisfy = true' then captured units can count towards objection completion. Usually only built units count, and - -- only when on their origional ally team. - - [1] = { - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - image = planetUtilities.ICON_DIR .. "cloakriot.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Keep your Reaver alive.", - experience = 10, - }, - [2] = { - victoryByTime = 480, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 8:00", - experience = 10, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - -- See planet definitions for many more examples. - } - }, - - -- Configuration for the rewards gained upon winning the battle. Does not include bonus objectives. - completionReward = { - experience = 20, -- Experience gained - - -- Unlocks do not need to be unique per planet. - - -- Units unlocked, by unitDefName - units = { - "factorycloak", - "cloakraid", - "cloakriot", - "cloakcon" - }, - - -- Modules unlocked - modules = { - -- To unlock a limited number of repeat modules write - -- "_LIMIT_X_" where - -- * 'module name' is the name of the module to be unlocked. - -- * X is the identifying character. Its purpose is to uniquely identify the module key, allowing the player to unlock multiple - -- instances of four copies of the module without being able to grind a single planet to unlock all the copies. - -- * N is the number of modules to unlock, it can be more than one character in case you want more than 9 copies unlocked. - -- To evenly spread eight copies of a module across two planets give one "module_ablative_armor_LIMIT_A_4" and give the other - -- "module_ablative_armor_LIMIT_B_4". - "module_ablative_armor_LIMIT_B_4", - }, - - -- Abilities (misc stuff) unlocked. Look up the names of abilities somewhere. - abilities = { - } - }, -} diff --git a/campaign/dev/planetUtilities.lua b/campaign/dev/planetUtilities.lua deleted file mode 100644 index 9db23bae3..000000000 --- a/campaign/dev/planetUtilities.lua +++ /dev/null @@ -1,248 +0,0 @@ - -local planetUtilities = {} - -planetUtilities.planetImages = { - LUA_DIRNAME .. "images/planets/arid01.png", - LUA_DIRNAME .. "images/planets/barren01.png", - LUA_DIRNAME .. "images/planets/barren02.png", - LUA_DIRNAME .. "images/planets/barren03.png", - LUA_DIRNAME .. "images/planets/desert01.png", - LUA_DIRNAME .. "images/planets/desert02.png", - LUA_DIRNAME .. "images/planets/desert03.png", - LUA_DIRNAME .. "images/planets/inferno01.png", - LUA_DIRNAME .. "images/planets/inferno02.png", - LUA_DIRNAME .. "images/planets/inferno03.png", - LUA_DIRNAME .. "images/planets/inferno04.png", - LUA_DIRNAME .. "images/planets/ocean01.png", - LUA_DIRNAME .. "images/planets/ocean02.png", - LUA_DIRNAME .. "images/planets/ocean03.png", - LUA_DIRNAME .. "images/planets/radiated01.png", - LUA_DIRNAME .. "images/planets/radiated02.png", - LUA_DIRNAME .. "images/planets/radiated03.png", - LUA_DIRNAME .. "images/planets/swamp01.png", - LUA_DIRNAME .. "images/planets/swamp02.png", - LUA_DIRNAME .. "images/planets/swamp03.png", - LUA_DIRNAME .. "images/planets/terran01.png", - LUA_DIRNAME .. "images/planets/terran02.png", - LUA_DIRNAME .. "images/planets/terran03.png", - LUA_DIRNAME .. "images/planets/terran03_damaged.png", - LUA_DIRNAME .. "images/planets/terran04.png", - LUA_DIRNAME .. "images/planets/tundra01.png", - LUA_DIRNAME .. "images/planets/tundra02.png", - LUA_DIRNAME .. "images/planets/tundra03.png", -} - -planetUtilities.backgroundImages = { - LUA_DIRNAME .. "images/starbackgrounds/1.jpg", - LUA_DIRNAME .. "images/starbackgrounds/2.jpg", - LUA_DIRNAME .. "images/starbackgrounds/3.jpg", - LUA_DIRNAME .. "images/starbackgrounds/4.jpg", -} - -planetUtilities.MAIN_EXP = 100 -planetUtilities.BONUS_EXP = 25 - -planetUtilities.PLANET_SIZE_MAP = 36 -planetUtilities.PLANET_SIZE_INFO = 240 -planetUtilities.ICON_DIR = LUA_DIRNAME .. "configs/gameConfig/zk/unitpics/" - -planetUtilities.planetPositions = { - [1] = {34, 762}, - [2] = {73, 636}, - [3] = {44, 522}, - [4] = {27, 379}, - [5] = {166, 607}, - [6] = {232, 703}, - [7] = {256, 854}, - [8] = {58, 247}, - [9] = {101, 392}, - [10] = {159, 264}, - [11] = {205, 93}, - [12] = {260, 211}, - [13] = {238, 536}, - [14] = {270, 408}, - [15] = {321, 535}, - [16] = {318, 312}, - [17] = {368, 416}, - [18] = {413, 515}, - [19] = {177, 436}, - [20] = {300, 662}, - [21] = {504, 509}, - [22] = {329, 795}, - [23] = {337, 929}, - [24] = {439, 954}, - [25] = {416, 847}, - [26] = {372, 644}, - [27] = {429, 747}, - [28] = {475, 608}, - [29] = {409, 305}, - [30] = {503, 850}, - [31] = {586, 928}, - [32] = {706, 910}, - [33] = {603, 818}, - [34] = {580, 644}, - [35] = {690, 779}, - [36] = {292, 55}, - [37] = {351, 129}, - [38] = {385, 37}, - [39] = {510, 41}, - [40] = {368, 225}, - [41] = {451, 199}, - [42] = {538, 217}, - [43] = {120, 156}, - [44] = {506, 301}, - [45] = {591, 293}, - [46] = {626, 186}, - [47] = {635, 386}, - [48] = {546, 420}, - [49] = {606, 526}, - [50] = {707, 578}, - [51] = {762, 492}, - [52] = {223, 327}, - [53] = {521, 742}, - [54] = {439, 111}, - [55] = {773, 697}, - [56] = {616, 63}, - [57] = {771, 809}, - [58] = {688, 255}, - [59] = {704, 96}, - [60] = {840, 867}, - [61] = {842, 538}, - [62] = {702, 422}, - [63] = {797, 357}, - [64] = {855, 384}, - [65] = {894, 252}, - [66] = {784, 139}, - [67] = {898, 727}, - [68] = {929, 104}, - [69] = {55, 890}, - [70] = {666, 678}, - [71] = {539, 130}, -} - -for i = 1, #planetUtilities.planetPositions do - local planet = planetUtilities.planetPositions[i] - planet[1], planet[2] = planet[1]/1000, planet[2]/1000 -end - -planetUtilities.DEFAULT_RESOURCES = { - metal = 0, - energy = 100, -} - -planetUtilities.COMMAND = { - CAPTURE = 130, - GROUPADD = 36, - OPT_SHIFT = 32, - PATROL = 15, - STOP = 0, - OPT_META = 4, - RESURRECT = 125, - GUARD = 25, - INSERT = 1, - FIGHT = 16, - LOAD_UNITS = 75, - RESTORE = 110, - OPT_ALT = 128, - INTERNAL = 60, - OPT_INTERNAL = 8, - MOVESTATE_HOLDPOS = 0, - OPT_CTRL = 64, - WAITCODE_DEATH = 2, - MOVE_STATE = 50, - WAIT = 5, - OPT_RIGHT = 16, - LOOPBACKATTACK = 20, - AUTOREPAIRLEVEL = 135, - SQUADWAIT = 8, - TRAJECTORY = 120, - MOVESTATE_ROAM = 2, - REPEAT = 115, - FIRE_STATE = 45, - LOAD_ONTO = 76, - UNLOAD_UNIT = 81, - TIMEWAIT = 6, - REMOVE = 2, - MOVE = 10, - GROUPCLEAR = 37, - MANUALFIRE = 105, - STOCKPILE = 100, - GROUPSELECT = 35, - FIRESTATE_FIREATNEUTRAL = 3, - RECLAIM = 90, - MOVESTATE_MANEUVER = 1, - ONOFF = 85, - FIRESTATE_NONE = -1, - FIRESTATE_RETURNFIRE = 1, - FIRESTATE_HOLDFIRE = 0, - GATHERWAIT = 9, - IDLEMODE = 145, - MOVESTATE_NONE = -1, - AISELECT = 30, - SET_WANTED_MAX_SPEED = 70, - FIRESTATE_FIREATWILL = 2, - SETBASE = 55, - WAITCODE_GATHER = 4, - UNLOAD_UNITS = 80, - DEATHWAIT = 7, - REPAIR = 40, - AREA_ATTACK = 21, - WAITCODE_TIME = 1, - WAITCODE_SQUAD = 3, - ATTACK = 20, - - -- Custom commands - RAW_MOVE = 31109, - JUMP = 38521, - AREA_GUARD = 13922, -- Don't use, causes recursion - TRANSFER_UNIT = 38292, - PLACE_BEACON = 35170, - WAIT_AT_BEACON = 35171, -} - -planetUtilities.ICON_OVERLAY = { - ATTACK = LUA_DIRNAME .. "images/attack.png", - GUARD = LUA_DIRNAME .. "images/guard.png", - REPAIR = LUA_DIRNAME .. "images/repair.png", - CLOCK = LUA_DIRNAME .. "images/clock.png", - ALL = LUA_DIRNAME .. "images/battle.png", -} - -planetUtilities.DIFFICULTY = { - EASY = 1, - MEDIUM = 2, - HARD = 3, - BRUTAL = 4, -} - -planetUtilities.FACING = { - SOUTH = 0, - EAST = 1, - NORTH = 2, - WEST = 3, -} - -planetUtilities.TERRAFORM_SHAPE = { - RECTANGLE = 1, - LINE = 2, - RAMP = 3, -} - -planetUtilities.TERRAFORM_TYPE = { - LEVEL = 1, - RAISE = 2, - SMOOTH = 3, -} - -planetUtilities.TERRAFORM_VOLUME = { - NONE = 0, - RAISE_ONLY = 1, - LOWER_ONLY = 2, -} - -planetUtilities.COMPARE = { - AT_LEAST = 1, - AT_MOST = 2 -} - -return planetUtilities diff --git a/campaign/dev/planets/planet1.lua b/campaign/dev/planets/planet1.lua deleted file mode 100644 index 33cebfb4e..000000000 --- a/campaign/dev/planets/planet1.lua +++ /dev/null @@ -1,334 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/swamp03.png" - - local planetData = { - predownloadMap = true, - name = "Im Jaleth", - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.05, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.87, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - hintText = "Keep taking planets until you conquer the galaxy.", - hintSize = {402, 100}, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6550 km", - primary = "Privni", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24417", - text = [[AAAA This battle will be straightforward. Construct an army of Glaives and Reavers to overwhelm your enemy.]], - extendedText = [[This text is not the same as the campaign map text.\nbreak]], - }, - tips = { - { - image = "unitpics/staticmex.png", - text = [[Metal Extractors gather the metal required to build an army and crush your opponent. Take mex spots and build as many as you can. Press F4 to highlight mex spots and display their value.]] - }, - { - image = "unitpics/energysolar.png", - text = [[All construction requires equal amounts of metal and energy. Build Solar Collectors to gather energy.]] - }, - { - image = "unitpics/cloakriot.png", - text = [[Reavers are slower than Glaives, but their heavy machine guns allow them to fight Glaives efficiently even when outnumbered.]] - }, - }, - gameConfig = { - missionStartscript = false, - mapName = "Living Lands 4.1", - playerConfig = { - startX = 300, - startZ = 3800, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "cloakriot", - "cloakcon", - "turretlaser", - "staticradar", - }, - startUnits = { - { - name = "turretlaser", - x = 250, - z = 3450, - facing = 2, - }, - { - name = "turretlaser", - x = 550, - z = 3380, - facing = 2, - difficultyAtMost = 2, - }, - { - name = "turretlaser", - x = 1000, - z = 3550, - facing = 1, - difficultyAtMost = 3, - }, - { - name = "turretlaser", - x = 1050, - z = 3850, - facing = 1, - }, - { - name = "turretlaser", - x = 450, - z = 2200, - facing = 1, - }, - { - name = "staticmex", - x = 170, - z = 3900, - facing = 2, - }, - { - name = "energysolar", - x = 100, - z = 3800, - facing = 2, - }, - { - name = "cloakraid", - x = 760, - z = 3500, - facing = planetUtilities.FACING.NORTH, - }, - { - name = "cloakraid", - x = 840, - z = 3500, - facing = planetUtilities.FACING.NORTH, - }, - { - name = "factorycloak", - x = 800, - z = 3750, - facing = 2, - }, - } - }, - aiConfig = { - { - startX = 4000, - startZ = 75, - aiLib = "Circuit_difficulty_autofill", - humanName = "Enemy", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "cloakraid", - }, - difficultyDependantUnlocks = { - [3] = {"staticmex","energysolar"}, - [4] = {"staticmex","energysolar","cloakcon"}, - }, - commanderLevel = 2, - commander = { - name = "Most Loyal Opposition", - chassis = "engineer", - decorations = { - "skin_support_dark", - }, - modules = {} - }, - startUnits = { - { - name = "staticmex", - x = 3630, - z = 220, - facing = 2, - }, - { - name = "staticmex", - x = 3880, - z = 200, - facing = 2, - }, - { - name = "turretlaser", - x = 3500, - z = 200, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "turretlaser", - x = 3700, - z = 700, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretemp", - x = 3400, - z = 600, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 3880, - z = 520, - facing = 2, - }, - { - name = "energysolar", - x = 3745, - z = 185, - facing = 2, - }, - { - name = "energysolar", - x = 3960, - z = 600, - facing = 2, - }, - { - name = "factorycloak", - x = 3750, - z = 340, - facing = 4, - mapMarker = { - text = "Destroy", - color = "red" - } - }, - - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - -- The default behaviour, if no parameters are set, is the defeat condition of an - -- ordinary game. - -- If ignoreUnitLossDefeat is true then unit loss does not cause defeat. - -- If at least one of vitalCommanders or vitalUnitTypes is set then losing all - -- commanders (if vitalCommanders is true) as well as all the unit types in - -- vitalUnitTypes (if there are any in the list) causes defeat. - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Cloakbot Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { -- Have 3 mex by 1 minute. - satisfyByTime = 60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 3 Metal Extractors by 1:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have 3 solar by 2 minute. - satisfyByTime = 120, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - unitTypes = { - "energysolar", - }, - image = planetUtilities.ICON_DIR .. "energysolar.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 3 Solar Generators by 2:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Build a radar - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "staticradar", - }, - image = planetUtilities.ICON_DIR .. "staticradar.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a Radar Tower", - experience = planetUtilities.BONUS_EXP, - }, - [4] = { -- Build 3 Reavers - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - unitTypes = { - "cloakriot", - }, - image = planetUtilities.ICON_DIR .. "cloakriot.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 3 Reavers", - experience = planetUtilities.BONUS_EXP, - }, - [5] = { - victoryByTime = 480, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 8:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cloakriot", - "cloakcon", - "turretlaser", - "staticradar", - }, - modules = { - "module_dmg_booster_LIMIT_A_2", - }, - abilities = { - }, - codexEntries = { - "faction_dynasty", - "faction_machines", - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet10.lua b/campaign/dev/planets/planet10.lua deleted file mode 100644 index 06487eb0f..000000000 --- a/campaign/dev/planets/planet10.lua +++ /dev/null @@ -1,735 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran04.png" - - local planetData = { - name = "Cadentem", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.17, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.28, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6700 km", - primary = "Sop", - primaryType = "G2VI", - milRating = 2, - feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = [[Help your ally to push across the island with Fencer missile trucks and Badger mine artillery. A slow but inevitable push will bring you victory just as surely as a lightning assault.]] - }, - tips = { - { - image = "unitpics/vehsupport.png", - text = [[Fencers need to remain stationary and set up before they can fire, making them better at defence than offence. Their guided missiles inflict reliable damage at range.]] - }, - { - image = "unitpics/veharty.png", - text = [[Badgers are very good for grinding down your opposition. They fire mines which can make a region practically impassable for the enemy. They are almost defenseless unless you plan ahead with some well placed mines, so make sure they don't get flanked. Press F to force your Badgers to fire at a given location.]] - }, - { - image = "unitpics/module_dmg_booster.png", - text = [[The water on this planet is acidic. Don't move your Commander into it.]] - }, - { - image = "unitpics/spidercrabe.png", - text = [[Your ally's Spiders can climb up sheer cliffs, so there are some parts of the battlefield which they will be better at fighting over. The heavy Crab spider in particular is a potent fighting force even when alone.]] - }, - }, - gameConfig = { - mapName = "Quicksilver 1.1", - playerConfig = { - startX = 4900, - startZ = 2400, - allyTeam = 0, - useUnlocks = true, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryveh", - "vehcon", - "vehsupport", - "veharty", - }, - startUnits = { - { - name = "staticradar", - x = 4400, - z = 2868, - facing = 3, - }, - { - name = "factoryveh", - x = 4792, - z = 2184, - facing = 3, - }, - { - name = "staticmex", - x = 4632, - z = 2344, - facing = 0, - }, - { - name = "staticmex", - x = 5304, - z = 1432, - facing = 0, - }, - { - name = "staticmex", - x = 5656, - z = 2824, - facing = 0, - }, - { - name = "energysolar", - x = 5544, - z = 2856, - facing = 0, - }, - { - name = "energysolar", - x = 5592, - z = 2712, - facing = 0, - }, - { - name = "energysolar", - x = 5336, - z = 1512, - facing = 0, - }, - { - name = "energysolar", - x = 4568, - z = 2424, - facing = 0, - }, - { - name = "vehsupport", - x = 4491, - z = 2092, - facing = 0, - }, - { - name = "turretlaser", - x = 5136, - z = 2928, - facing = 0, - }, - { - name = "turretlaser", - x = 4432, - z = 2320, - facing = 3, - }, - { - name = "vehsupport", - x = 4553, - z = 2189, - facing = 3, - }, - { - name = "vehriot", - x = 4617, - z = 2061, - facing = 3, - }, - } - }, - aiConfig = { - { - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Arachnid", - allyTeam = 0, - unlocks = { - --"factoryspider", - "staticcon", - "spidercon", - "spiderscout", - "spiderassault", - "spideremp", - "spiderskirm", - "spiderriot", - "spidercrabe", - "staticmex", - "energysolar", - "energygeo", - "staticradar", - "turretlaser", - "turretmissile", - "turretriot", - }, - commander = false, - startUnits = { - { - name = "factoryspider", - x = 4104, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 3816, - z = 1016, - facing = 0, - }, - { - name = "staticmex", - x = 4056, - z = 1320, - facing = 0, - }, - { - name = "staticmex", - x = 4568, - z = 888, - facing = 0, - }, - { - name = "energysolar", - x = 3688, - z = 1064, - facing = 0, - }, - { - name = "energysolar", - x = 3848, - z = 1128, - facing = 0, - }, - { - name = "energysolar", - x = 3976, - z = 1240, - facing = 0, - }, - { - name = "energysolar", - x = 4472, - z = 824, - facing = 0, - }, - { - name = "spidercon", - x = 4165, - z = 1195, - facing = 2, - }, - { - name = "turretmissile", - x = 3392, - z = 1168, - facing = 0, - }, - { - name = "turretmissile", - x = 3920, - z = 1536, - facing = 0, - }, - { - name = "spideremp", - x = 4199, - z = 1119, - facing = 1, - }, - { - name = "spiderskirm", - x = 4172, - z = 1152, - facing = 2, - }, - { - name = "energyfusion", - x = 4291, - z = 770, - facing = 1, - }, - { - name = "energypylon", - x = 4357, - z = 1232, - facing = 1, - }, - }, - }, - { - startX = 1600, - startZ = 5100, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Walkers", - commanderParameters = { - facplop = false, - }, - commanderLevel = 3, - commander = { - name = "Betty Botty", - chassis = "strike", - decorations = { - }, - modules = { - "commweapon_beamlaser", - "commweapon_beamlaser", - "module_ablative_armor", - "module_autorepair", - "module_adv_targeting", - } - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticmex", - "energysolar", - "staticradar", - "turretlaser", - --"factoryjump", - --"factorycloak", - "jumpcon", - "jumpscout", - "jumpraid", - --"jumpblackhole", - "jumpskirm", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakbomb", - "cloakraid", - "cloakskirm", - "cloakassault", - "cloakaa", - "turretlaser", - "turretmissile", - "turretriot", - }, - difficultyDependantUnlocks = { - [3] = {"cloakarty"}, - [4] = {"cloakarty","cloakheavyraid"}, - }, - - startUnits = { - { - name = "staticmex", - x = 760, - z = 4440, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 2950, - z = 5420, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 760, - z = 2380, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "staticradar", - x = 1840, - z = 4512, - facing = 3, - }, - { - name = "turretlaser", - x = 1940, - z = 4610, - facing = 2, - }, - { - name = "turretheavylaser", - x = 1740, - z = 3500, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1080, - z = 3500, - facing = 2, - }, - { - name = "turretheavylaser", - x = 1236, - z = 4440, - facing = 2, - }, - { - name = "turretemp", - x = 3160, - z = 5000, - facing = 2, - }, - { - name = "turretlaser", - x = 3100, - z = 4850, - facing = 2, - }, - { - name = "turretlaser", - x = 3280, - z = 5050, - facing = 2, - }, - { - name = "turretemp", - x = 1240, - z = 2140, - facing = 1, - }, - { - name = "turretlaser", - x = 1240, - z = 2000, - facing = 1, - }, - { - name = "turretriot", - x = 1300, - z = 2200, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2620, - z = 3950, - facing = 1, - bonusObjectiveID = 2, - mapMarker = { - text = "Stinger", - color = "red_small" - }, - }, - { - name = "energypylon", - x = 2194, - z = 4224, - facing = 1, - }, - { - name = "energypylon", - x = 1823, - z = 5088, - facing = 1, - }, - { - name = "energyfusion", - x = 1456, - z = 5400, - facing = 1, - }, - { - name = "energysolar", - x = 1256, - z = 5060, - facing = 1, - }, - { - name = "energysolar", - x = 1256, - z = 4920, - facing = 1, - }, - { - name = "energysolar", - x = 1100, - z = 4920, - facing = 1, - }, - { - name = "turretmissile", - x = 3000, - z = 4000, - facing = 1, - }, - { - name = "turretmissile", - x = 3100, - z = 4100, - facing = 2, - }, - { - name = "turretriot", - x = 2600, - z = 3450, - facing = 2, - }, - { - name = "factoryjump", - x = 1576, - z = 5144, - facing = 2, - }, - { - name = "factorycloak", - x = 1264, - z = 3944, - facing = 1, - }, - { - name = "staticmex", - x = 1928, - z = 5048, - facing = 0, - }, - { - name = "staticmex", - x = 1944, - z = 5464, - facing = 0, - }, - { - name = "staticmex", - x = 1256, - z = 5176, - facing = 0, - }, - { - name = "staticmex", - x = 1784, - z = 3752, - facing = 0, - }, - { - name = "staticmex", - x = 584, - z = 3256, - facing = 0, - }, - { - name = "turretriot", - x = 1912, - z = 3768, - facing = 1, - }, - { - name = "energysolar", - x = 2008, - z = 5352, - facing = 0, - }, - { - name = "turretmissile", - x = 1920, - z = 3920, - facing = 1, - }, - { - name = "energysolar", - x = 1928, - z = 5192, - facing = 0, - }, - { - name = "energysolar", - x = 2024, - z = 5064, - facing = 0, - }, - { - name = "energysolar", - x = 1352, - z = 5240, - facing = 0, - }, - { - name = "energysolar", - x = 648, - z = 4392, - facing = 0, - }, - { - name = "energysolar", - x = 632, - z = 3160, - facing = 0, - }, - { - name = "energysolar", - x = 1688, - z = 3672, - facing = 0, - }, - { - name = "energysolar", - x = 1656, - z = 3816, - facing = 0, - }, - { - name = "turretmissile", - x = 1920, - z = 3616, - facing = 1, - }, - { - name = "jumpcon", - x = 1773, - z = 5015, - facing = 1, - }, - { - name = "turretriot", - x = 1192, - z = 3032, - facing = 2, - }, - { - name = "turretmissile", - x = 1040, - z = 3056, - facing = 2, - }, - { - name = "turretmissile", - x = 1360, - z = 3056, - facing = 2, - }, - { - name = "jumpraid", - x = 1589, - z = 4880, - facing = 2, - }, - { - name = "cloakskirm", - x = 1322, - z = 3520, - facing = 2, - }, - { - name = "jumpskirm", - x = 1575, - z = 4910, - facing = 2, - }, - { - name = "cloakskirm", - x = 1480, - z = 3975, - facing = 0, - }, - { - name = "cloakskirm", - x = 1442, - z = 3904, - facing = 1, - }, - { - name = "cloakraid", - x = 1420, - z = 3769, - facing = 3, - }, - { - name = "cloakraid", - x = 1363, - z = 3654, - facing = 2, - }, - }, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryjump", - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 10 Badger - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "veharty", - }, - image = planetUtilities.ICON_DIR .. "veharty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 10 Badgers", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Kill the enemy Stinger by 12:00 - satisfyByTime = 720, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "turretheavylaser.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the marked enemy Stinger turret before 12:00", - experience = planetUtilities.BONUS_EXP, - }, - -- [3] = { -- Prevent the enemy having more than twelve mex - -- satisfyForever = true, - -- comparisionType = planetUtilities.COMPARE.AT_MOST, - -- targetNumber = 12, - -- enemyUnitTypes = { - -- "staticmex", - -- }, - -- image = planetUtilities.ICON_DIR .. "staticmex.png", - -- imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - -- description = "Prevent the enemy from building more than twelve Metal Extractors", - -- experience = planetUtilities.BONUS_EXP, - -- }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "vehsupport", - "veharty", - }, - modules = { - "commweapon_missilelauncher", - }, - codexEntries = { - }, - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet11.lua b/campaign/dev/planets/planet11.lua deleted file mode 100644 index 6fe802b60..000000000 --- a/campaign/dev/planets/planet11.lua +++ /dev/null @@ -1,1080 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/ocean03.png" - - local planetData = { - name = "Baosezu", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.165, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.14, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Barren", - radius = "5510 km", - primary = "EL-5591", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = [[Your opponent is sending gunships out from behind a formidable defensive array. Use Crasher anti-air rovers to shoot down the gunships, then Impaler artillery to tear down the base.]] - }, - tips = { - { - image = "unitpics/vehheavyarty.png", - text = [[Impalers fire long-range cruise missiles which are very effective against turrets. They are practically useless against mobile targets so make sure they are well escorted against land and air threats.]] - }, - { - image = "unitpics/vehscout.png", - text = [[Darts are equipped with a disruptor beam to harass and slow enemies. Their main use is as disposable scouts, discovering enemy locations and identifying radar dots.]] - }, - { - image = "unitpics/turretheavy.png", - text = [[It would be sheer folly to directly attack the defensive positions your opponent has laid out here. Wear them down from long range instead.]] - }, - }, - gameConfig = { - mapName = "BlueBend-v01", - playerConfig = { - startX = 3550, - startZ = 2250, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryveh", - "vehcon", - "vehheavyarty", - "vehaa", - "vehscout", - "turrettorp", - "vehraid", - "vehriot", - "vehassault", - }, - startUnits = { - { - name = "factoryveh", - x = 3144, - z = 2408, - facing = 0, - }, - { - name = "staticradar", - x = 900, - z = 2050, - facing = 0, - }, - { - name = "staticradar", - x = 3200, - z = 2000, - facing = 0, - }, - { - name = "staticmex", - x = 2824, - z = 2472, - facing = 0, - }, - { - name = "staticmex", - x = 3080, - z = 2040, - facing = 0, - }, - { - name = "staticmex", - x = 2296, - z = 1896, - facing = 0, - }, - { - name = "staticmex", - x = 2408, - z = 1416, - facing = 0, - }, - { - name = "staticmex", - x = 3144, - z = 728, - facing = 0, - }, - { - name = "staticmex", - x = 3400, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 2360, - z = 376, - facing = 0, - }, - { - name = "staticmex", - x = 1816, - z = 632, - facing = 0, - }, - { - name = "staticmex", - x = 1144, - z = 1256, - facing = 0, - }, - { - name = "staticmex", - x = 1176, - z = 1656, - facing = 0, - }, - { - name = "staticmex", - x = 968, - z = 392, - facing = 0, - }, - { - name = "energysolar", - x = 1128, - z = 1544, - facing = 0, - }, - { - name = "energysolar", - x = 1112, - z = 1400, - facing = 0, - }, - { - name = "energysolar", - x = 1080, - z = 1256, - facing = 0, - }, - { - name = "energysolar", - x = 1064, - z = 1096, - facing = 0, - }, - { - name = "energysolar", - x = 1064, - z = 920, - facing = 0, - }, - { - name = "energysolar", - x = 1032, - z = 744, - facing = 0, - }, - { - name = "energysolar", - x = 1016, - z = 600, - facing = 0, - }, - { - name = "energysolar", - x = 1032, - z = 440, - facing = 0, - }, - { - name = "energysolar", - x = 1208, - z = 728, - facing = 0, - }, - { - name = "energysolar", - x = 1368, - z = 696, - facing = 0, - }, - { - name = "energysolar", - x = 1512, - z = 664, - facing = 0, - }, - { - name = "energysolar", - x = 1672, - z = 600, - facing = 0, - }, - { - name = "energysolar", - x = 1832, - z = 536, - facing = 0, - }, - { - name = "energysolar", - x = 1960, - z = 488, - facing = 0, - }, - { - name = "energysolar", - x = 2072, - z = 472, - facing = 0, - }, - { - name = "energysolar", - x = 2216, - z = 440, - facing = 0, - }, - { - name = "turretaalaser", - x = 1368, - z = 1096, - facing = 0, - }, - { - name = "turretaalaser", - x = 2808, - z = 440, - facing = 0, - }, - { - name = "turretaalaser", - x = 2888, - z = 2216, - facing = 0, - }, - { - name = "turretlaser", - x = 2048, - z = 2048, - facing = 0, - }, - { - name = "turretlaser", - x = 3168, - z = 1104, - facing = 0, - }, - { - name = "turretlaser", - x = 3760, - z = 368, - facing = 0, - }, - { - name = "turretlaser", - x = 3296, - z = 2224, - facing = 0, - }, - { - name = "turretlaser", - x = 2992, - z = 2592, - facing = 0, - }, - { - name = "vehcon", - x = 3500, - z = 2150, - facing = 0, - }, - { - name = "vehcon", - x = 3600, - z = 2150, - facing = 0, - }, - { - name = "vehscout", - x = 3450, - z = 2030, - facing = 0, - }, - { - name = "vehscout", - x = 3550, - z = 2030, - facing = 0, - }, - { - name = "vehscout", - x = 3650, - z = 2030, - facing = 0, - }, - { - name = "vehaa", - x = 3450, - z = 1900, - facing = 0, - }, - { - name = "vehaa", - x = 3550, - z = 1900, - facing = 0, - }, - { - name = "vehaa", - x = 3650, - z = 1900, - facing = 0, - }, - { - name = "energysolar", - x = 2424, - z = 456, - facing = 0, - }, - { - name = "energysolar", - x = 2552, - z = 520, - facing = 0, - }, - { - name = "energysolar", - x = 2664, - z = 552, - facing = 0, - }, - { - name = "energysolar", - x = 2776, - z = 584, - facing = 0, - }, - { - name = "energysolar", - x = 2936, - z = 648, - facing = 0, - }, - { - name = "energysolar", - x = 3032, - z = 728, - facing = 0, - }, - { - name = "energysolar", - x = 3176, - z = 824, - facing = 0, - }, - { - name = "energysolar", - x = 3304, - z = 872, - facing = 0, - }, - { - name = "energysolar", - x = 2312, - z = 1784, - facing = 0, - }, - { - name = "energysolar", - x = 2344, - z = 1656, - facing = 0, - }, - { - name = "energysolar", - x = 2376, - z = 1528, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 168, - z = 1336, - facing = 0, - }, - { - name = "staticmex", - x = 120, - z = 2312, - facing = 0, - }, - { - name = "turretlaser", - x = 256, - z = 2656, - facing = 0, - }, - { - name = "turretaalaser", - x = 200, - z = 1816, - facing = 0, - }, - { - name = "energysolar", - x = 152, - z = 808, - facing = 0, - }, - { - name = "energysolar", - x = 120, - z = 968, - facing = 0, - }, - { - name = "energysolar", - x = 88, - z = 1160, - facing = 0, - }, - { - name = "energysolar", - x = 56, - z = 1352, - facing = 0, - }, - { - name = "energysolar", - x = 56, - z = 1544, - facing = 0, - }, - { - name = "energysolar", - x = 56, - z = 1912, - facing = 0, - }, - { - name = "energysolar", - x = 88, - z = 2200, - facing = 0, - }, - { - name = "energysolar", - x = 56, - z = 2056, - facing = 0, - }, - { - name = "energysolar", - x = 56, - z = 1720, - facing = 0, - }, - { - name = "staticcon", - x = 2952, - z = 2424, - facing = 0, - selfPatrol = true, - }, - { - name = "staticcon", - x = 2952, - z = 2328, - facing = 0, - selfPatrol = true, - }, - { - name = "staticcon", - x = 3016, - z = 2248, - facing = 0, - selfPatrol = true, - }, - { - name = "staticstorage", - x = 2700, - z = 2400, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 6800, - startZ = 6800, - humanName = "Enemy", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energywind", - "staticradar", - "staticstorage", - --"staticcon", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipraid", - "gunshipskirm", - "gunshipheavyskirm", - "gunshipaa", - "factoryamph", - "amphraid", - "turretlaser", - "turretmissile" - }, - difficultyDependantUnlocks = { - [1] = {"staticcon"}, - [2] = {"staticcon","amphimpulse","amphriot","gunshipassault"}, - [3] = {"staticcon","amphimpulse","amphriot","gunshipassault","turretriot","turretheavylaser"}, - [4] = {"amphimpulse","amphriot","gunshipassault","turretriot","amphfloater","turretheavylaser"}, --leaving out caretaker makes the mission *harder* - go figure - }, - commanderLevel = 2, - commander = { - name = "Most Loyal Opposition", - chassis = "recon", - decorations = { - }, - modules = { "commweapon_lparticlebeam", - "module_ablative_armor", - "module_autorepair" } - }, - startUnits = { - { - name = "factorygunship", - x = 5096, - z = 5336, - facing = 0, - difficultyAtMost = 2, - mapMarker = { - text = "Gunship Plant", - color = "red" - }, - }, - { - name = "factorygunship", - x = 6312, - z = 6168, - facing = 0, - difficultyAtLeast = 3, - mapMarker = { - text = "Gunship Plant", - color = "red" - }, - }, - { - name = "staticcon", - x = 5096, - z = 5464, - facing = 0, - difficultyAtMost = 2, - }, - { - name = "staticcon", - x = 5224, - z = 5320, - facing = 0, - difficultyAtLeast = 2, - difficultyAtMost = 2, - }, - { - name = "staticcon", - x = 6312, - z = 6280, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticcon", - x = 6440, - z = 6168, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "gunshipcon", - x = 6000, - z = 6000, - facing = 0, - }, - { - name = "gunshipcon", - x = 5900, - z = 6000, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "gunshipcon", - x = 5800, - z = 6000, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "gunshipcon", - x = 5700, - z = 6000, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 4520, - z = 5830, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 5990, - z = 4390, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 3190, - z = 6530, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 6300, - z = 3020, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 6935, - z = 233, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 6900, - z = 500, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretlaser", - x = 6800, - z = 400, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 1800, - z = 6855, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 6936, - z = 6872, - facing = 0, - }, - { - name = "staticmex", - x = 6664, - z = 6312, - facing = 0, - }, - { - name = "energyfusion", - x = 7128, - z = 6928, - facing = 0, - }, - { - name = "energyfusion", - x = 6952, - z = 7104, - facing = 0, - }, - { - name = "energypylon", - x = 6632, - z = 6584, - facing = 0, - }, - { - name = "energypylon", - x = 6168, - z = 6072, - facing = 0, - }, - { - name = "energypylon", - x = 6152, - z = 5176, - facing = 0, - }, - { - name = "energypylon", - x = 5256, - z = 6312, - facing = 0, - }, - { - name = "energypylon", - x = 6392, - z = 4280, - facing = 0, - }, - { - name = "energypylon", - x = 6504, - z = 3576, - facing = 0, - }, - { - name = "energypylon", - x = 4392, - z = 6472, - facing = 0, - }, - { - name = "energypylon", - x = 3736, - z = 6616, - facing = 0, - }, - { - name = "energypylon", - x = 5368, - z = 5464, - facing = 0, - }, - { - name = "energypylon", - x = 4984, - z = 5128, - facing = 0, - }, - { - name = "turretheavy", - x = 4760, - z = 4792, - facing = 0, - }, - { - name = "turretheavy", - x = 3688, - z = 6472, - facing = 0, - }, - { - name = "turretheavy", - x = 6344, - z = 3480, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4232, - z = 5752, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5688, - z = 4136, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5864, - z = 2488, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3048, - z = 5832, - facing = 0, - }, - { - name = "turretriot", - x = 2872, - z = 5592, - facing = 0, - }, - { - name = "turretriot", - x = 2920, - z = 5992, - facing = 0, - }, - { - name = "turretriot", - x = 3256, - z = 5800, - facing = 0, - }, - { - name = "turretriot", - x = 5768, - z = 2600, - facing = 0, - }, - { - name = "turretriot", - x = 5992, - z = 2424, - facing = 0, - }, - { - name = "turretriot", - x = 4840, - z = 5576, - facing = 0, - }, - { - name = "turretriot", - x = 5352, - z = 5000, - facing = 0, - }, - { - name = "turretriot", - x = 2360, - z = 6840, - facing = 0, - }, - { - name = "turretriot", - x = 5096, - z = 3768, - facing = 0, - }, - { - name = "turretriot", - x = 3832, - z = 5096, - facing = 0, - }, - { - name = "turretaafar", - x = 6480, - z = 6384, - facing = 0, - }, - { - name = "turretaalaser", - x = 4200, - z = 6200, - facing = 0, - }, - { - name = "turretaalaser", - x = 4696, - z = 5096, - facing = 0, - }, - { - name = "turretaalaser", - x = 6184, - z = 4072, - facing = 0, - }, - { - name = "turretaaclose", - x = 5192, - z = 5128, - facing = 0, - }, - { - name = "turretaaclose", - x = 6552, - z = 6136, - facing = 0, - }, - { - name = "energysolar", - x = 7128, - z = 6696, - facing = 0, - }, - { - name = "energysolar", - x = 6696, - z = 7112, - facing = 0, - }, - { - name = "energysolar", - x = 7080, - z = 6472, - facing = 0, - }, - { - name = "energysolar", - x = 6568, - z = 6936, - facing = 0, - }, - { - name = "turretlaser", - x = 6416, - z = 6736, - facing = 0, - }, - { - name = "turretlaser", - x = 6256, - z = 6368, - facing = 0, - }, - { - name = "turretlaser", - x = 6816, - z = 6224, - facing = 0, - }, - { - name = "staticmex", - x = 4600, - z = 7016, - facing = 0, - }, - { - name = "staticmex", - x = 4840, - z = 5256, - facing = 0, - }, - { - name = "staticmex", - x = 5448, - z = 4728, - facing = 0, - }, - { - name = "staticmex", - x = 6888, - z = 4536, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factorygunship", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Gunship Plant", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 6, - unitTypes = { - "vehheavyarty", - }, - image = planetUtilities.ICON_DIR .. "vehheavyarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 6 Impalers", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have 30 Metal Extractors by 9:00 - satisfyByTime = 540, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 30, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 30 Metal Extractors by 9:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Destroy all three DDMs - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "turretheavy", - }, - image = planetUtilities.ICON_DIR .. "turretheavy.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy all enemy Desolator turrets", - experience = planetUtilities.BONUS_EXP, - }, - -- [3] = { -- Win by 15:00 - -- victoryByTime = 900, - -- image = planetUtilities.ICON_OVERLAY.CLOCK, - -- description = "Win by 15:00", - -- experience = planetUtilities.BONUS_EXP, - -- }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "vehheavyarty", - "vehaa", - "vehscout", - }, - modules = { - "module_adv_targeting_LIMIT_A_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet12.lua b/campaign/dev/planets/planet12.lua deleted file mode 100644 index 91394f77f..000000000 --- a/campaign/dev/planets/planet12.lua +++ /dev/null @@ -1,1128 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/inferno04.png" - - local planetData = { - name = "Ganong", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.24, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.22, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Rock", - radius = "540 km", - primary = "Purlie", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = [[The enemy is well entrenched but, luckily for you, they have a poorly defended outpost and you have a squad of Dominatrices. Capture the outpost to get a head start, then steal an army of Tanks and march on their main base.]] - }, - tips = { - { - image = "unitpics/vehcapture.png", - text = [[The Dominatrix hacks into enemy units to turn them to your side. Multiple Dominatrices increases the rate of capture and the Dominatrix that dealt the final blow will need several seconds to reload. If a Dominatrix is destroyed then all units controlled by that Dominatrix revert to their original side.]] - }, - { - image = "unitpics/tankassault.png", - text = [[The time taken to capture a unit is based on cost instead of health. This makes Dominatrices particularly effective against assaults.]] - }, - { - image = "unitpics/factorytank.png", - text = [[Dominatrices can capture everything. Capture an enemy factory to use their technology (in addition to your own).]] - }, - }, - gameConfig = { - mapName = "Red Comet v1.3", - playerConfig = { - startX = 730, - startZ = 3700, - allyTeam = 0, - commanderParameters = { - facing = 2, - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryveh", - "vehcon", - "vehcapture", - }, - startUnits = { - { - name = "staticradar", - x = 1296, - z = 3072, - facing = 1, - }, - { - name = "vehcapture", - x = 550, - z = 3800, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {550, 3550},} - }, - }, - { - name = "vehcapture", - x = 595, - z = 3850, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {595, 3600},} - }, - }, - { - name = "vehcapture", - x = 640, - z = 3800, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {640, 3550},} - }, - }, - { - name = "vehcapture", - x = 820, - z = 3800, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {820, 3550},} - }, - }, - { - name = "vehcapture", - x = 865, - z = 3850, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {865, 3600},} - }, - }, - { - name = "vehcapture", - x = 910, - z = 3800, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {910, 3550},} - }, - }, - } - }, - aiConfig = { - { - startX = 5700, - startZ = 1060, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Benefactor", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "staticradar", - "staticstorage", - "tankcon", - "tankassault", - "tankheavyraid", - "tankaa", - "tankriot", - "turretlaser", - "turretriot", - "turretmissile", - "vehassault", - }, - difficultyDependantUnlocks = { - [2] = {"staticcon", "tankarty",}, - [3] = {"staticcon", "tankarty", "turretheavylaser"}, - [4] = {"staticcon", "tankarty", "tankheavyassault", "turretheavylaser"}, - }, - commanderLevel = 2, - commander = { - name = "Schmuck", - chassis = "engineer", - decorations = { - }, - modules = { - "commweapon_lparticlebeam", - "module_radarnet", - "module_ablative_armor", - "module_autorepair", - } - }, - startUnits = { - { - name = "tankcon", - x = 6018, - z = 219, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "energywind", - x = 5432, - z = 2984, - facing = 0, - }, - { - name = "energywind", - x = 5416, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 5960, - z = 3000, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 5880, - z = 1192, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 2648, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 5192, - z = 632, - facing = 0, - }, - { - name = "energywind", - x = 5416, - z = 2904, - facing = 0, - }, - { - name = "staticmex", - x = 3784, - z = 952, - facing = 0, - }, - { - name = "staticmex", - x = 3736, - z = 744, - facing = 0, - }, - { - name = "factoryveh", - x = 704, - z = 2704, - facing = 1, - }, - { - name = "staticmex", - x = 280, - z = 2904, - facing = 0, - }, - { - name = "staticmex", - x = 600, - z = 3208, - facing = 0, - }, - { - name = "energysolar", - x = 296, - z = 2968, - facing = 1, - }, - { - name = "staticmex", - x = 520, - z = 1832, - facing = 0, - }, - { - name = "vehcon", - x = 644, - z = 2465, - facing = 0, - }, - { - name = "staticmex", - x = 728, - z = 2104, - facing = 0, - }, - { - name = "energysolar", - x = 584, - z = 1816, - facing = 1, - }, - { - name = "energysolar", - x = 1880, - z = 2888, - facing = 1, - }, - { - name = "turretlaser", - x = 352, - z = 2800, - difficultyAtLeast = 2, - facing = 1, - }, - { - name = "energysolar", - x = 264, - z = 2840, - facing = 1, - }, - { - name = "turretlaser", - x = 1840, - z = 2960, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 1784, - z = 2904, - facing = 0, - }, - { - name = "turretlaser", - x = 816, - z = 2096, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticradar", - x = 528, - z = 2496, - facing = 0, - }, - { - name = "energysolar", - x = 872, - z = 2120, - facing = 3, - }, - { - name = "energysolar", - x = 792, - z = 2152, - facing = 2, - }, - { - name = "energysolar", - x = 840, - z = 2040, - facing = 0, - }, - { - name = "energysolar", - x = 760, - z = 2040, - facing = 0, - }, - { - name = "staticradar", - x = 3680, - z = 3376, - facing = 0, - }, - { - name = "turretlaser", - x = 4976, - z = 2544, - facing = 3, - }, - { - name = "staticmex", - x = 5640, - z = 2280, - facing = 0, - }, - { - name = "staticmex", - x = 5544, - z = 904, - facing = 0, - }, - { - name = "staticmex", - x = 5416, - z = 1992, - facing = 0, - }, - { - name = "staticmex", - x = 4376, - z = 1192, - facing = 0, - }, - { - name = "staticmex", - x = 2424, - z = 312, - facing = 0, - }, - { - name = "staticmex", - x = 2936, - z = 1208, - facing = 0, - }, - { - name = "turretlaser", - x = 2688, - z = 736, - facing = 0, - }, - { - name = "turretlaser", - x = 1904, - z = 1088, - facing = 0, - }, - { - name = "energysolar", - x = 1848, - z = 168, - facing = 0, - }, - { - name = "turretlaser", - x = 1904, - z = 96, - facing = 0, - }, - { - name = "turretlaser", - x = 2928, - z = 1680, - facing = 0, - }, - { - name = "energysolar", - x = 2616, - z = 680, - facing = 0, - }, - { - name = "staticradar", - x = 3968, - z = 1424, - facing = 0, - }, - { - name = "energywind", - x = 3960, - z = 1720, - facing = 0, - }, - { - name = "energywind", - x = 3896, - z = 1752, - facing = 0, - }, - { - name = "energywind", - x = 3816, - z = 1752, - facing = 0, - }, - { - name = "energywind", - x = 3752, - z = 1736, - facing = 0, - }, - { - name = "energywind", - x = 4024, - z = 1560, - facing = 0, - }, - { - name = "energywind", - x = 3960, - z = 1608, - facing = 0, - }, - { - name = "energywind", - x = 3896, - z = 1416, - facing = 0, - }, - { - name = "turretriot", - x = 5816, - z = 3032, - facing = 0, - }, - { - name = "energysolar", - x = 6008, - z = 3064, - facing = 0, - }, - { - name = "turretemp", - x = 5344, - z = 2624, - facing = 0, - }, - { - name = "energywind", - x = 5400, - z = 2744, - facing = 0, - }, - { - name = "turretlaser", - x = 2224, - z = 1568, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 2968, - z = 1592, - facing = 0, - }, - { - name = "staticmex", - x = 1832, - z = 104, - facing = 0, - }, - { - name = "energysolar", - x = 1816, - z = 40, - facing = 0, - }, - { - name = "staticmex", - x = 2904, - z = 1608, - facing = 0, - }, - { - name = "energysolar", - x = 2840, - z = 1624, - facing = 0, - }, - { - name = "staticmex", - x = 2632, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 1960, - z = 1096, - facing = 0, - }, - { - name = "staticmex", - x = 2216, - z = 1496, - facing = 0, - }, - { - name = "tankraid", - x = 6127, - z = 426, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 1944, - z = 1160, - facing = 0, - }, - { - name = "energysolar", - x = 1976, - z = 1032, - facing = 0, - }, - { - name = "energysolar", - x = 2152, - z = 1512, - facing = 0, - }, - { - name = "energyfusion", - x = 5512, - z = 2128, - facing = 0, - }, - { - name = "energysolar", - x = 5352, - z = 2008, - facing = 0, - }, - { - name = "energysolar", - x = 5400, - z = 1928, - facing = 0, - }, - { - name = "energysolar", - x = 5656, - z = 2344, - facing = 0, - }, - { - name = "energysolar", - x = 5704, - z = 2264, - facing = 0, - }, - { - name = "turretgauss", - x = 5768, - z = 2904, - facing = 0, - terraformHeight = 259, - }, - { - name = "staticradar", - x = 4816, - z = 1040, - facing = 3, - }, - { - name = "energywind", - x = 5272, - z = 696, - facing = 3, - }, - { - name = "energywind", - x = 5336, - z = 760, - facing = 3, - }, - { - name = "energywind", - x = 5400, - z = 808, - facing = 3, - }, - { - name = "energywind", - x = 5464, - z = 856, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4744, - z = 1992, - facing = 3, - }, - { - name = "turretlaser", - x = 3792, - z = 704, - facing = 3, - }, - { - name = "staticmex", - x = 4312, - z = 1944, - facing = 0, - }, - { - name = "energysolar", - x = 4248, - z = 1928, - facing = 3, - }, - { - name = "energysolar", - x = 4296, - z = 2008, - facing = 3, - }, - { - name = "energysolar", - x = 4200, - z = 1848, - facing = 3, - }, - { - name = "turretlaser", - x = 4256, - z = 1872, - facing = 3, - }, - { - name = "turretriot", - x = 5160, - z = 1768, - facing = 3, - }, - { - name = "staticmex", - x = 3512, - z = 3352, - facing = 0, - }, - { - name = "energysolar", - x = 3528, - z = 3416, - facing = 3, - }, - { - name = "energysolar", - x = 3448, - z = 3368, - facing = 3, - }, - { - name = "turretlaser", - x = 3568, - z = 3344, - facing = 3, - }, - { - name = "turretemp", - x = 5040, - z = 784, - facing = 3, - }, - { - name = "turretmissile", - x = 5120, - z = 608, - facing = 3, - }, - { - name = "turretriot", - x = 4696, - z = 1144, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4376, - z = 1288, - facing = 3, - }, - { - name = "energysolar", - x = 4312, - z = 1208, - facing = 3, - }, - { - name = "energysolar", - x = 4360, - z = 1128, - facing = 3, - }, - { - name = "turretlaser", - x = 4128, - z = 1424, - facing = 3, - }, - { - name = "tankassault", - x = 6103, - z = 223, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "tankassault", - x = 6107, - z = 342, - facing = 1, - difficultyAtLeast = 2, - }, - { - name = "tankheavyraid", - x = 6068, - z = 281, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "tankassault", - x = 6072, - z = 85, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "tankriot", - x = 5892, - z = 85, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "tankassault", - x = 5772, - z = 85, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "tankcon", - x = 6087, - z = 533, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "vehassault", - x = 850, - z = 2562, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "vehcon", - x = 616, - z = 2839, - facing = 2, - }, - { - name = "tankriot", - x = 6077, - z = 415, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "turretriot", - x = 3720, - z = 856, - facing = 3, - terraformHeight = 239, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 3720, - z = 936, - facing = 3, - }, - { - name = "energysolar", - x = 3672, - z = 760, - facing = 3, - }, - { - name = "energysolar", - x = 3640, - z = 920, - facing = 3, - }, - { - name = "energysolar", - x = 3640, - z = 840, - facing = 3, - }, - { - name = "energysolar", - x = 3720, - z = 680, - facing = 3, - }, - { - name = "energysolar", - x = 3768, - z = 1016, - facing = 3, - }, - { - name = "turretlaser", - x = 3840, - z = 976, - facing = 3, - }, - { - name = "turretriot", - x = 4552, - z = 2216, - facing = 3, - terraformHeight = 259, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 4456, - z = 2232, - facing = 3, - }, - { - name = "energysolar", - x = 4504, - z = 2312, - facing = 3, - }, - { - name = "turretlaser", - x = 4752, - z = 2496, - facing = 3, - }, - { - name = "energysolar", - x = 4728, - z = 2552, - facing = 3, - }, - { - name = "turretlaser", - x = 4976, - z = 288, - facing = 3, - }, - { - name = "turretmissile", - x = 4256, - z = 544, - facing = 3, - }, - { - name = "turretmissile", - x = 5888, - z = 2496, - facing = 3, - }, - { - name = "turretmissile", - x = 4336, - z = 1616, - facing = 3, - }, - { - name = "factorytank", - x = 5328, - z = 1296, - facing = 3, - }, - { - name = "energysolar", - x = 4696, - z = 1224, - facing = 3, - }, - { - name = "energysolar", - x = 4712, - z = 1304, - facing = 3, - }, - { - name = "energysolar", - x = 4728, - z = 1384, - facing = 3, - }, - { - name = "energysolar", - x = 4744, - z = 1464, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "turretlaser", - x = 4848, - z = 1472, - facing = 0, - }, - { - name = "turretriot", - x = 5800, - z = 1672, - facing = 0, - terraformHeight = 259, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 6104, - z = 1768, - facing = 0, - }, - { - name = "energysolar", - x = 5624, - z = 1704, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4808, - z = 488, - facing = 3, - }, - { - name = "energysolar", - x = 4808, - z = 552, - facing = 3, - }, - { - name = "energysolar", - x = 4808, - z = 424, - facing = 3, - }, - { - name = "energysolar", - x = 4728, - z = 488, - facing = 3, - }, - { - name = "turretemp", - x = 5632, - z = 2048, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 1832, - z = 2152, - facing = 0, - difficultyAtLeast = 2, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factorytank", - "factoryveh", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Make your enemy control no Commanders or Factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 6 Dominatrices - satisfyOnce = true, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "vehcapture", - }, - image = planetUtilities.ICON_DIR .. "vehcapture.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 6 Dominatrices", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have five Reapers - satisfyOnce = true, - capturedUnitsSatisfy = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 5, - unitTypes = { - "tankassault", - }, - image = planetUtilities.ICON_DIR .. "tankassault.png", - --imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Control 5 Minotaurs", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Have a Tank Foundry - satisfyOnce = true, - capturedUnitsSatisfy = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "factorytank", - }, - image = planetUtilities.ICON_DIR .. "factorytank.png", - --imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Control a Tank Foundry", - experience = planetUtilities.BONUS_EXP, - }, - [4] = { -- Win by 8:00 - victoryByTime = 480, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 8:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "vehcapture", - }, - modules = { - "module_companion_drone_LIMIT_A_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet13.lua b/campaign/dev/planets/planet13.lua deleted file mode 100644 index 190721e39..000000000 --- a/campaign/dev/planets/planet13.lua +++ /dev/null @@ -1,443 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/barren01.png" - - local planetData = { - name = "Phisnet-3617", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.215, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.545, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Asteroid", - radius = "220 km", - primary = "None", - primaryType = "N/A", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = [[This isolated asteroid is being used by the enemy as an observation and command post. Use Shieldbots to conquer the rough terrain, then bring your Commander to the Interception Network structure to download important strategic data.]] - }, - tips = { - { - image = "unitpics/shieldcon.png", - text = [[The Shieldbot constructor and assault, Convict and Thug, are equipped with small shields which block incoming projectiles at the cost of shield power. Nearby shields share power, a shield that has recently sustained damage will take power from other nearby shields to compensate.]] - }, - { - image = "unitpics/shieldraid.png", - text = [[Bandits are slower raiders than Glaives but compensate with superior health and range. They are exceptionally versatile units and are particularly effective while sheltered under the shield of a Convict or Thug.]] - }, - { - image = "unitpics/shieldriot.png", - text = [[Outlaws wield an unconventional weapon: a disrupting pulse which damages and slows enemies (but not allies) in a wide radius. Compared to most riots it is very poor against single targets but exceptional when used to protect other units against raider assault.]] - }, - }, - gameConfig = { - mapName = "Apophis v2_3", - playerConfig = { - startX = 2300, - startZ = 5900, - allyTeam = 0, - commanderParameters = { - facplop = false, - victoryAtLocation = { - x = 5952, - z = 2896, - radius = 120, - objectiveID = 1, - }, - defeatIfDestroyedObjectiveID = 3, - }, - extraUnlocks = { - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - }, - startUnits = { - { - name = "factoryshield", - x = 2400, - z = 5712, - facing = 2, - }, - { - name = "staticmex", - x = 2520, - z = 5992, - facing = 0, - }, - { - name = "staticmex", - x = 2856, - z = 5976, - facing = 0, - }, - { - name = "staticmex", - x = 2696, - z = 5704, - facing = 0, - }, - { - name = "energysolar", - x = 2632, - z = 5960, - facing = 0, - }, - { - name = "energysolar", - x = 2760, - z = 5896, - facing = 0, - }, - { - name = "energysolar", - x = 2648, - z = 5784, - facing = 0, - }, - { - name = "shieldcon", - x = 2536, - z = 5624, - facing = 2, - }, - { - name = "shieldraid", - x = 2444, - z = 5555, - facing = 2, - }, - { - name = "shieldraid", - x = 2493, - z = 5511, - facing = 2, - }, - { - name = "shieldraid", - x = 2578, - z = 5515, - facing = 2, - }, - { - name = "shieldraid", - x = 2627, - z = 5570, - facing = 0, - }, - { - name = "staticradar", - x = 2912, - z = 5776, - facing = 0, - }, - { - name = "turretmissile", - x = 3504, - z = 5808, - facing = 0, - }, - { - name = "turretmissile", - x = 3392, - z = 5648, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 4000, - startZ = 2000, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Farseers", - commanderParameters = { - facplop = false, - bonusObjectiveID = 3, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "staticradar", - "energysolar", - "cloakraid", - "cloakriot", - }, - difficultyDependantUnlocks = { - [2] = {"cloakassault"}, - [3] = {"cloakassault","cloakcon"}, - [4] = {"cloakassault","cloakcon","cloakarty"}, - }, - commanderLevel = 2, - commander = { - name = "Panopticon", - chassis = "engineer", - decorations = { - }, - modules = { - "commweapon_lparticlebeam", - "module_autorepair", - "module_radarnet", - "module_adv_targeting", - } - }, - startUnits = { - { - name = "energysolar", - x = 2722, - z = 2302, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 2746, - z = 2215, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 5594, - z = 2728, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 5574, - z = 2836, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "cloakraid", - x = 3864, - z = 1750, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "cloakraid", - x = 3864, - z = 1775, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "cloakraid", - x = 3864, - z = 1799, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretlaser", - x = 5823, - z = 3039, - facing = 0, - difficultyAtMost = 2, - }, - { - name = "turretheavylaser", - x = 5823, - z = 3039, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 5909 , - z = 3270, - facing = 0, - }, - { - name = "factorycloak", - x = 3864, - z = 1656, - facing = 0, - }, - { - name = "staticmex", - x = 4056, - z = 1848, - facing = 0, - }, - { - name = "staticmex", - x = 4280, - z = 1656, - facing = 0, - }, - { - name = "staticmex", - x = 4392, - z = 1912, - facing = 0, - }, - { - name = "energysolar", - x = 4344, - z = 1784, - facing = 0, - }, - { - name = "energysolar", - x = 4168, - z = 1768, - facing = 0, - }, - { - name = "turretlaser", - x = 1600, - z = 3696, - facing = 0, - }, - { - name = "turretlaser", - x = 1888, - z = 3456, - facing = 0, - }, - { - name = "turretlaser", - x = 5760, - z = 2832, - facing = 0, - }, - { - name = "turretlaser", - x = 6128, - z = 2976, - facing = 0, - }, - { - name = "turretmissile", - x = 2576, - z = 2992, - facing = 0, - }, - { - name = "turretmissile", - x = 3184, - z = 2320, - facing = 0, - }, - { - name = "turretmissile", - x = 4080, - z = 2256, - facing = 0, - }, - { - name = "turretmissile", - x = 4992, - z = 2496, - facing = 0, - }, - { - name = "staticradar", - x = 3440, - z = 1968, - facing = 0, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_interception", - x = 5952, - z = 2896, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Find the Interception Network, then bring your Commander to it", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make six Thugs - satisfyOnce = true, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 6, - unitTypes = { - "shieldassault", - }, - image = planetUtilities.ICON_DIR .. "shieldassault.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 6 Thugs", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 480, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 8:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Kill enemy commander - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "engineer.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy Commander", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - }, - modules = { - "module_adv_nano_LIMIT_A_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet14.lua b/campaign/dev/planets/planet14.lua deleted file mode 100644 index d591f169c..000000000 --- a/campaign/dev/planets/planet14.lua +++ /dev/null @@ -1,449 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/swamp03.png" - - local planetData = { - name = "Altaris", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.28, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.41, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6510 km", - primary = "Snoloz", - primaryType = "G1V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = [[You're outnumbered on this small battlefield, but your Felon shieldbots will allow you to fight efficiently and minimise losses. Expand aggressively and reclaim the nearby rocks and trees to build up your army and economy, then push forward and destroy both enemies.]] - }, - tips = { - { - image = "unitpics/shieldfelon.png", - text = [[The Felon's discharge gun is very powerful, but comes with a catch; the weapon drains power from its own shields and the shields of nearby allies. Make sure you have enough shield power available to destroy whatever you're facing, or your Felons will become weaponless and defenceless.]] - }, - { - image = "luaui/images/commands/bold/reclaim.png", - text = [[To keep up with the production capacity of your two opponents you'll need an edge. Reclaim the rocks and trees near your base to secure an early economic boost.]] - }, - { - image = "unitpics/staticstorage.png", - text = [[Reclaimed resources go to waste if you have reached your maximum resource storage limit. Build additional Storages to cope with a sudden influx. Beware of overproducing storage as they are a waste of resources when empty.]] - }, - }, - gameConfig = { - mapName = "Altair_Crossing_v3", - playerConfig = { - startX = 3600, - startZ = 1950, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryshield", - "shieldcon", - "shieldfelon", - "staticstorage", - }, - startUnits = { - { - name = "staticmex", - x = 3640, - z = 2056, - facing = 0, - }, - { - name = "staticmex", - x = 3800, - z = 1848, - facing = 0, - }, - { - name = "staticmex", - x = 3864, - z = 2136, - facing = 0, - }, - { - name = "energysolar", - x = 3704, - z = 1928, - facing = 0, - }, - { - name = "energysolar", - x = 3736, - z = 2104, - facing = 0, - }, - { - name = "staticstorage", - x = 3752, - z = 2008, - facing = 0, - }, - { - name = "factoryshield", - x = 3472, - z = 2016, - facing = 3, - }, - { - name = "shieldcon", - x = 3430, - z = 1900, - facing = 3, - }, - { - name = "shieldcon", - x = 3430, - z = 1700, - facing = 3, - }, - { - name = "shieldfelon", - x = 3500, - z = 1800, - facing = 3, - }, - { - name = "turretlaser", - x = 3552, - z = 2304, - facing = 3, - }, - { - name = "turretlaser", - x = 3568, - z = 1584, - facing = 3, - }, - } - }, - aiConfig = { - { - startX = 550, - startZ = 750, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Nohow", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "cloakcon", - "cloakraid", - "cloakskirm", - "cloakriot", - "cloakassault", - "cloakaa", - "turretlaser", - "turretmissile", - }, - difficultyDependantUnlocks = { - [3] = {"turretriot"}, - [4] = {"turretriot","cloaksnipe"} - }, - commanderLevel = 2, - commander = { - name = "Tweedledum", - chassis = "engineer", - decorations = { - "skin_support_dark", - }, - modules = { } - }, - startUnits = { - { - name = "staticmex", - x = 552, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 376, - z = 968, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 456, - z = 904, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 88, - z = 152, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energywind", - x = 136, - z = 104, - facing = 0, - }, - { - name = "factorycloak", - x = 568, - z = 616, - facing = 1, - }, - { - name = "turretheavylaser", - x = 680, - z = 808, - facing = 1, - }, - { - name = "cloakcon", - x = 705, - z = 734, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "turretlaser", - x = 608, - z = 1088, - facing = 1, - }, - { - name = "turretlaser", - x = 808, - z = 1000, - facing = 1, - difficultyAtMost = 3, - }, - { - name = "turretgauss", - x = 808, - z = 1000, - facing = 1, - difficultyAtLeast = 4, - }, - } - }, - { - startX = 600, - startZ = 3250, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Contrariwise", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "vehcon", - "vehraid", - "vehsupport", - "vehriot", - "vehaa", - "turretlaser", - "turretmissile", - }, - difficultyDependantUnlocks = { - [2] = {"vehassault"}, - [3] = {"vehassault","vehheavyarty"}, - [4] = {"vehassault","vehheavyarty"}, - }, - commanderLevel = 2, - commander = { - name = "Tweedledee", - chassis = "engineer", - decorations = { - icon_overhead = { image = "UW" } - }, - modules = { } - }, - startUnits = { - { - name = "staticmex", - x = 568, - z = 3144, - facing = 0, - }, - { - name = "staticmex", - x = 360, - z = 3016, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 120, - z = 3992, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 440, - z = 3112, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energywind", - x = 56, - z = 3928, - facing = 0, - }, - { - name = "factoryveh", - x = 344, - z = 2840, - facing = 1, - }, - { - name = "turretheavylaser", - x = 536, - z = 2952, - facing = 1, - }, - { - name = "turretlaser", - x = 480, - z = 3424, - facing = 1, - }, - { - name = "vehcon", - x = 490, - z = 2756, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 680, - z = 3160, - facing = 1, - difficultyAtMost = 3, - }, - { - name = "turretgauss", - x = 680, - z = 3160, - facing = 1, - difficultyAtLeast = 4, - }, - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {3659, 285, 3707, 3790, 387, 3778}, - width = 110 - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {280, 389, 185, 458, 280, 240}, - width = 110 - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factorycloak", - "factoryveh", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories and Commanders", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 12 Convicts - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "shieldcon", - }, - image = planetUtilities.ICON_DIR .. "shieldcon.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 12 Convicts", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Own ten mex by 5:00 - satisfyByTime = 300, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have ten Metal Extractors before 5:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win by 15:00 - victoryByTime = 900, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 15:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "shieldfelon", - "staticstorage", - }, - modules = { - "module_autorepair_LIMIT_A_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet15.lua b/campaign/dev/planets/planet15.lua deleted file mode 100644 index a13afedc3..000000000 --- a/campaign/dev/planets/planet15.lua +++ /dev/null @@ -1,498 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/arid01.png" - - local planetData = { - name = "Jochu", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.33, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.53, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arid", - radius = "4410 km", - primary = "Ushasis", - primaryType = "F9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = [[Your opponent will field Hovercraft and Gunships to cross the oasis which separates your bases. Build Rogues to defeat the hovercraft and Vandals to defeat the gunships.]] - }, - tips = { - { - image = "unitpics/shieldskirm.png", - text = [[Since their rockets curve through the air, Rogues are a bit worse at hitting mobile targets than other skirmishers. On the upside they outrange most other skirmishers and inflict more damage if they do hit.]] - }, - { - image = "unitpics/shieldaa.png", - text = [[Use anti-air units like Vandals to protect your other units from Gunships. Holding Ctrl when giving an order makes all of your units move at the same speed, so your army is not separated from its Vandal escort.]] - }, - -- { - -- image = "unitpics/shieldraid.png", - -- text = [[A combination of steady pressure with Rogues and raiding parties of Bandits will keep your opponent's expansion under control. Remember to secure Metal Extractors of your own.]] - -- }, - { - image = "unitpics/gunshipraid.png", - text = [[Most units will attempt to fire at low-flying aircraft and some, such as Bandits, are even good at the task. However, dedicated anti-air such as Vandals or Razor turrets are much more effective and have a significant range advantage.]] - }, - }, - gameConfig = { - mapName = "DunePatrol_wip_v03", - playerConfig = { - startX = 2816, - startZ = 616, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryshield", - "shieldaa", - "shieldskirm", - "shieldraid", - "shieldriot", - "turretaalaser", - }, - startUnits = { - { - name = "staticmex", - x = 3688, - z = 840, - facing = 0, - }, - { - name = "staticmex", - x = 2216, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 2568, - z = 920, - facing = 0, - }, - { - name = "staticmex", - x = 3512, - z = 488, - facing = 0, - }, - { - name = "energysolar", - x = 2584, - z = 984, - facing = 0, - }, - { - name = "staticradar", - x = 2860, - z = 500, - facing = 0, - }, - { - name = "factoryshield", - x = 2960, - z = 608, - facing = 0, - }, - { - name = "energysolar", - x = 2200, - z = 936, - facing = 0, - }, - { - name = "energysolar", - x = 3576, - z = 472, - facing = 0, - }, - { - name = "energysolar", - x = 3704, - z = 904, - facing = 0, - }, - { - name = "turretlaser", - x = 3760, - z = 640, - facing = 1, - }, - { - name = "turretmissile", - x = 2656, - z = 1152, - facing = 0, - }, - { - name = "turretmissile", - x = 3552, - z = 1088, - facing = 0, - }, - { - name = "turretlaser", - x = 3072, - z = 1104, - facing = 0, - }, - { - name = "turretlaser", - x = 2368, - z = 816, - facing = 3, - }, - { - name = "shieldcon", - x = 3097, - z = 625, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.GUARD, atPosition = {2960, 608}}, - }, - }, - { - name = "shieldskirm", - x = 2898, - z = 767, - facing = 0, - }, - { - name = "shieldskirm", - x = 2984, - z = 762, - facing = 0, - }, - { - name = "shieldraid", - x = 2899, - z = 835, - facing = 0, - }, - { - name = "shieldraid", - x = 2984, - z = 826, - facing = 0, - }, - { - name = "turretaalaser", - x = 3200, - z = 800, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 2970, - startZ = 3500, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Avroka", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticradar", - "staticmex", - "energysolar", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "gunshipraid", - "gunshipskirm", - }, - difficultyDependantUnlocks = { - [3] = {"hoverassault"}, - [4] = {"hoverassault","gunshipheavyskirm","gunshipassault"}, - }, - commanderLevel = 2, - commander = { - name = "Chera", - chassis = "recon", - decorations = { - }, - modules = { - "commweapon_lightninggun", - "module_radarnet", - "module_ablative_armor", - "module_autorepair", - } - }, - startUnits = { - { - name = "staticmex", - x = 2456, - z = 3256, - facing = 0, - }, - { - name = "staticmex", - x = 2648, - z = 3624, - facing = 0, - }, - { - name = "staticmex", - x = 3592, - z = 3176, - facing = 0, - }, - { - name = "staticmex", - x = 3944, - z = 3240, - facing = 0, - }, - { - name = "energysolar", - x = 3912, - z = 3144, - facing = 0, - }, - { - name = "energysolar", - x = 3608, - z = 3080, - facing = 0, - }, - { - name = "energysolar", - x = 2472, - z = 3144, - facing = 0, - }, - { - name = "energysolar", - x = 2552, - z = 3592, - facing = 0, - }, - { - name = "turretlaser", - x = 2352, - z = 3392, - facing = 3, - }, - { - name = "turretlaser", - x = 3776, - z = 3248, - facing = 2, - }, - { - name = "turretlaser", - x = 3152, - z = 2832, - facing = 2, - }, - { - name = "turretmissile", - x = 2832, - z = 3040, - facing = 2, - }, - { - name = "turretmissile", - x = 3392, - z = 2960, - facing = 2, - }, - { - name = "factoryhover", - x = 3120, - z = 3408, - facing = 2, - }, - { - name = "factorygunship", - x = 3500, - z = 3700, - facing = 2, - }, - { - name = "turretriot", - x = 3800, - z = 3700, - facing = 1, - }, - { - name = "hovercon", - x = 3278, - z = 3445, - facing = 0, - }, - { - name = "hoverskirm", - x = 3030, - z = 3221, - facing = 2, - }, - { - name = "hoverraid", - x = 3111, - z = 3266, - facing = 0, - }, - { - name = "hoverraid", - x = 3112, - z = 3193, - facing = 0, - }, - { - name = "staticmex", - x = 4744, - z = 3513, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 4744, - z = 3370, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "turretlaser", - x = 4800, - z = 3600, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 1112, - z = 3736, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 1112, - z = 3600, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 1200, - z = 3700, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 630, - z = 3700, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 5114, - z = 3594, - facing = 0, - difficultyAtLeast = 4, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryhover", - "factorygunship", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and all enemy factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 20 Rogues - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 20, - unitTypes = { - "shieldskirm", - }, - image = planetUtilities.ICON_DIR .. "shieldskirm.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 20 Rogues", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Win by 10:00 - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Prevent the enemy having more than twelve mex - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 12, - enemyUnitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Prevent the enemy from building more than twelve Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - --"factoryshield", - --"shieldraid", - --"shieldriot", - "turretaalaser", - "shieldskirm", - "shieldaa", - }, - modules = { - "commweapon_rocketlauncher", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet16.lua b/campaign/dev/planets/planet16.lua deleted file mode 100644 index 020837f67..000000000 --- a/campaign/dev/planets/planet16.lua +++ /dev/null @@ -1,906 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/desert01.png" - - local planetData = { - name = "Zooph V", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.325, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.31, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arid", - radius = "5110 km", - primary = "Zooph", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = [[Use a combination of Snitch mobile bombs and Iris area cloakers to decimate enemy formations in this battle. Build some Geothermal Generators to provide the energy for your area cloakers.]] - }, - tips = { - { - image = "unitpics/shieldbomb.png", - text = [[Snitches burrow into the ground, cloaking themselves while remaining stationary, then explode when enemies get close. An area cloakers will make Snitches invisible even while moving, transforming them into a potent offensive weapon. Manually detonate Snitches by pressing D.]] - }, - { - image = "unitpics/cloakjammer.png", - text = [[The Iris area cloaker grants cloaking to all friendly units in the surrounding area, including itself. It is fragile and has a large decloak radius so keep it away from enemy spotters. Combine with high damage short range units like riots, raiders or bombs for best effect.]] - }, - { - image = "unitpics/staticjammer.png", - text = [[The Iris mobile cloaker can morph to and from a static version - the Cornea. The Cornea cloaks units in a larger radius and is much harder to spot due it's reduced decloak radius. Cornea can be built by all standard constructors, so area cloakers are avalible even without a Cloakbot Factory.]] - }, - }, - gameConfig = { - - mapName = "Fields_Of_Isis", - playerConfig = { - startX = 1000, - startZ = 1700, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryshield", - "shieldcon", - "shieldbomb", - "cloakjammer", - "staticjammer", - "energygeo", - }, - startUnits = { - { - name = "shieldbomb", - x = 2100, - z = 1400, - facing = 1, - commands = {{cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2200, 1400}}}, - }, - { - name = "shieldbomb", - x = 2500, - z = 2400, - facing = 1, - commands = {{cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2600, 2400}}}, - }, - { - name = "shieldbomb", - x = 2500, - z = 1800, - facing = 1, - commands = {{cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2600, 1800}}}, - }, - { - name = "shieldbomb", - x = 2100, - z = 2700, - facing = 1, - commands = {{cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2200, 2700}}}, - }, - { - name = "energygeo", - x = 936, - z = 1512, - facing = 3, - buildProgress = 0.5, - }, - { - name = "cloakcon", - x = 1137, - z = 1555, - facing = 1, - selfPatrol = true, - }, - { - name = "shieldcon", - x = 1076, - z = 1621, - facing = 3, - selfPatrol = true, - }, - { - name = "staticmex", - x = 264, - z = 200, - facing = 1, - }, - { - name = "turretmissile", - x = 720, - z = 3696, - facing = 1, - }, - { - name = "turretmissile", - x = 688, - z = 288, - facing = 1, - }, - { - name = "turretlaser", - x = 1775, - z = 1430, - facing = 1, - }, - { - name = "turretlaser", - x = 1775, - z = 2520, - facing = 1, - }, - { - name = "factorycloak", - x = 1544, - z = 1880, - facing = 1, - }, - { - name = "energysolar", - x = 632, - z = 632, - facing = 1, - }, - { - name = "energysolar", - x = 600, - z = 808, - facing = 1, - }, - { - name = "energysolar", - x = 712, - z = 952, - facing = 1, - }, - { - name = "staticmex", - x = 760, - z = 616, - facing = 1, - }, - { - name = "staticmex", - x = 488, - z = 824, - facing = 1, - }, - { - name = "staticmex", - x = 856, - z = 968, - facing = 1, - }, - { - name = "staticmex", - x = 1384, - z = 1752, - facing = 1, - }, - { - name = "staticmex", - x = 1384, - z = 2264, - facing = 1, - }, - { - name = "turretriot", - x = 1736, - z = 1752, - facing = 1, - }, - { - name = "turretriot", - x = 1736, - z = 2232, - facing = 1, - }, - { - name = "staticmex", - x = 568, - z = 3016, - facing = 1, - }, - { - name = "staticradar", - x = 1600, - z = 720, - facing = 0, - }, - { - name = "staticradar", - x = 1584, - z = 3456, - facing = 0, - }, - { - name = "staticmex", - x = 872, - z = 3192, - facing = 1, - }, - { - name = "staticmex", - x = 232, - z = 3912, - facing = 1, - }, - { - name = "factoryshield", - x = 1552, - z = 2120, - facing = 1, - }, - { - name = "staticmex", - x = 632, - z = 3368, - facing = 3, - }, - { - name = "energysolar", - x = 840, - z = 1096, - facing = 3, - }, - { - name = "energysolar", - x = 968, - z = 2888, - facing = 3, - }, - { - name = "energysolar", - x = 936, - z = 1208, - facing = 3, - }, - { - name = "energysolar", - x = 904, - z = 3000, - facing = 3, - }, - { - name = "energysolar", - x = 536, - z = 3352, - facing = 3, - }, - { - name = "energysolar", - x = 584, - z = 3240, - facing = 3, - }, - { - name = "energysolar", - x = 648, - z = 3128, - facing = 3, - }, - { - name = "energysolar", - x = 776, - z = 3112, - facing = 3, - }, - { - name = "energysolar", - x = 936, - z = 2696, - facing = 3, - }, - { - name = "cloakriot", - x = 1900, - z = 2000, - facing = 1, - }, - { - name = "cloakriot", - x = 1900, - z = 1900, - facing = 1, - }, - { - name = "shieldassault", - x = 1800, - z = 2000, - facing = 1, - }, - { - name = "shieldassault", - x = 1800, - z = 1900, - facing = 1, - }, - { - name = "energysolar", - x = 1016, - z = 1352, - facing = 3, - }, - } - }, - aiConfig = { - { - startX = 5500, - startZ = 2000, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "HeavyMetal", - commanderParameters = { - facplop = false, - bonusObjectiveID = 2, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "staticstorage", - "energygeo", - "staticradar", - "staticcon", - "turretlaser", - "turretmissile", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldskirm", - "shieldassault", - "shieldfelon", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "factorytank", - "tankcon", - "tankraid", - "tankheavyraid", - "tankriot", - "tankassault", - "tankarty", - "tankaa", - - }, - difficultyDependantUnlocks = { - [3] = {"factoryplane","planecon","bomberriot","planescout",}, - [4] = {"factoryplane","planecon","bomberriot","planescout",}, - }, - commanderLevel = 3, - commander = { - name = "Doof", - chassis = "guardian", - decorations = { - }, - modules = { "commweapon_riotcannon", - "commweapon_riotcannon", - "module_ablative_armor", - "module_adv_targeting", - "module_adv_targeting"} - }, - startUnits = { - { - name = "energygeo", - x = 6296, - z = 1544, - facing = 0, - }, - -- The AI only starts with one finished geo on Hard+ now. - { - name = "energygeo", - x = 6280, - z = 2488, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energygeo", - x = 6280, - z = 2488, - facing = 0, - buildProgress = 0.5, - difficultyAtMost = 2, - }, - { - name = "turretlaser", - x = 6240, - z = 1600, - facing = 3, - }, - { - name = "staticmex", - x = 5816, - z = 1752, - facing = 0, - }, - { - name = "staticmex", - x = 5816, - z = 2264, - facing = 0, - }, - { - name = "turretlaser", - x = 6368, - z = 1600, - facing = 3, - }, - { - name = "staticmex", - x = 6632, - z = 3016, - facing = 0, - }, - { - name = "staticmex", - x = 6328, - z = 3192, - facing = 0, - }, - { - name = "staticmex", - x = 6568, - z = 3368, - facing = 0, - }, - { - name = "staticmex", - x = 6952, - z = 3912, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 6344, - z = 968, - facing = 0, - }, - { - name = "staticmex", - x = 6440, - z = 616, - facing = 0, - }, - { - name = "staticmex", - x = 6696, - z = 824, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 200, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 6368, - z = 1488, - facing = 3, - }, - { - name = "energypylon", - x = 6520, - z = 1016, - facing = 0, - }, - { - name = "turretlaser", - x = 6240, - z = 1488, - facing = 3, - }, - { - name = "energypylon", - x = 6456, - z = 3016, - facing = 0, - }, - { - name = "energysolar", - x = 6808, - z = 488, - facing = 0, - }, - { - name = "energysolar", - x = 6872, - z = 296, - facing = 0, - }, - { - name = "energysolar", - x = 6760, - z = 616, - facing = 0, - }, - { - name = "energysolar", - x = 6760, - z = 3512, - facing = 0, - }, - { - name = "energysolar", - x = 6840, - z = 3672, - facing = 0, - }, - { - name = "energysolar", - x = 6888, - z = 3800, - facing = 0, - }, - { - name = "energysolar", - x = 6072, - z = 2392, - facing = 0, - }, - { - name = "energysolar", - x = 5912, - z = 2312, - facing = 0, - }, - { - name = "energysolar", - x = 5928, - z = 1688, - facing = 0, - }, - { - name = "energysolar", - x = 6088, - z = 1608, - facing = 0, - }, - { - name = "factoryamph", - x = 5696, - z = 1880, - facing = 3, - }, - { - name = "amphcon", - x = 5650, - z = 1880, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "amphcon", - x = 5625, - z = 1880, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "amphcon", - x = 5600, - z = 1880, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "amphriot", - x = 5650, - z = 1830, - facing = 3, - }, - { - name = "amphriot", - x = 5625, - z = 1830, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "amphriot", - x = 5600, - z = 1830, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "factoryshield", - x = 5696, - z = 2100, - facing = 3, - }, - { - name = "turretlaser", - x = 6240, - z = 2544, - facing = 3, - }, - { - name = "staticcon", - x = 5912, - z = 1992, - facing = 3, - }, - { - name = "turretaafar", - x = 6048, - z = 1984, - facing = 3, - }, - { - name = "turretlaser", - x = 6352, - z = 2544, - facing = 3, - }, - { - name = "turretaaclose", - x = 6088, - z = 1352, - facing = 3, - }, - { - name = "turretaaclose", - x = 6056, - z = 2632, - facing = 3, - }, - { - name = "turretlaser", - x = 6352, - z = 2448, - facing = 3, - }, - { - name = "turretaalaser", - x = 6104, - z = 2184, - facing = 3, - }, - { - name = "turretaalaser", - x = 6120, - z = 1800, - facing = 3, - }, - { - name = "turretlaser", - x = 6240, - z = 2448, - facing = 3, - }, - { - name = "turretaalaser", - x = 6328, - z = 472, - facing = 3, - }, - { - name = "turretaalaser", - x = 6280, - z = 3576, - facing = 3, - }, - { - name = "turretriot", - x = 5480, - z = 1736, - facing = 3, - }, - { - name = "turretriot", - x = 5512, - z = 2216, - facing = 3, - }, - { - name = "turretlaser", - x = 5440, - z = 1824, - facing = 3, - }, - { - name = "turretlaser", - x = 5440, - z = 2144, - facing = 3, - }, - { - name = "amphimpulse", - x = 5245, - z = 1808, - facing = 3, - }, - { - name = "shieldassault", - x = 4813, - z = 2992, - facing = 3, - }, - { - name = "shieldfloater", - x = 5143, - z = 2175, - facing = 3, - }, - { - name = "shieldskirm", - x = 4428, - z = 604, - facing = 3, - }, - { - name = "tankassault", - x = 6953, - z = 1125, - facing = 3, - difficultyAtLeast = 3, - - }, - { - name = "tankriot", - x = 6949, - z = 2754, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "tankcon", - x = 5935, - z = 2085, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "turretlaser", - x = 6416, - z = 3328, - facing = 3, - }, - { - name = "turretlaser", - x = 6432, - z = 752, - facing = 3, - }, - { - name = "turretlaser", - x = 4640, - z = 848, - facing = 3, - }, - { - name = "turretlaser", - x = 4656, - z = 3152, - facing = 3, - }, - { - name = "staticmex", - x = 4673, - z = 3890, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 4855, - z = 3975, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 4780, - z = 392, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 5000, - z = 150, - facing = 3, - difficultyAtLeast = 4, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energygeo", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Geothermal Generators", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make an Eraser - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "cloakjammer", - }, - image = planetUtilities.ICON_DIR .. "cloakjammer.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build an Iris", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Lose 25 Snitches - satisfyOnce = true, - onlyCountRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 25, - unitTypes = { - "shieldbomb", - }, - image = planetUtilities.ICON_DIR .. "shieldbomb.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Lose 25 or more Snitches", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win by 20:00 - victoryByTime = 1200, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "shieldbomb", - "cloakjammer", - "staticjammer", - "energygeo", - }, - modules = { - "module_jammer", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet17.lua b/campaign/dev/planets/planet17.lua deleted file mode 100644 index 7b801db1f..000000000 --- a/campaign/dev/planets/planet17.lua +++ /dev/null @@ -1,1518 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/inferno01.png" - - local planetData = { - name = "Ogurlo", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.36, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.41, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Volcanic", - radius = "5840 km", - primary = "Lia-1616", - primaryType = "L9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = [[You will face the fearsome, fire-spewing Dante strider in this battle. Use Aspis area shields to deflect the assault, and Racketeer artillery to disarm the Dante.]] - }, - tips = { - { - image = "unitpics/shieldarty.png", - text = [[Racketeers use long range disarm missiles to disable the weapons and abilities of single enemy units. They don't do any real damage so make sure you have other units standing by to destroy the helpless enemy.]] - }, - { - image = "unitpics/shieldshield.png", - text = [[The Aspis area shield projects a larger and more powerful shield than those carried by other Shieldbots. Shields only destroy projectiles that cross their surface so make sure to maintain a safe distance from enemy units. Aspis can morph to and from the Aegis, a slightly more efficient static version.]] - }, - { - image = "unitpics/striderdante.png", - text = [[The Dante's heatrays and napalm rockets are most lethal at close range. Keep your distance until the Dante is disarmed or dead.]] - }, - }, - gameConfig = { - mapName = "Violence_4.2", - playerConfig = { - startX = 4100, - startZ = 3100, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryshield", - "shieldcon", - "shieldarty", - "shieldshield", - "staticshield", - }, - startUnits = { - { - name = "staticmex", - x = 3912, - z = 2600, - facing = 0, - }, - { - name = "staticmex", - x = 4040, - z = 2904, - facing = 0, - }, - { - name = "staticmex", - x = 4760, - z = 3416, - facing = 0, - }, - { - name = "staticmex", - x = 3928, - z = 3928, - facing = 0, - }, - { - name = "staticmex", - x = 4680, - z = 4680, - facing = 0, - }, - { - name = "staticmex", - x = 4552, - z = 4952, - facing = 0, - }, - { - name = "staticmex", - x = 3464, - z = 4504, - facing = 0, - }, - { - name = "energygeo", - x = 3496, - z = 4152, - facing = 0, - }, - { - name = "energysolar", - x = 4760, - z = 3256, - facing = 0, - }, - { - name = "energysolar", - x = 4872, - z = 3352, - facing = 0, - }, - { - name = "energysolar", - x = 3656, - z = 4040, - facing = 0, - }, - { - name = "energysolar", - x = 3816, - z = 3976, - facing = 0, - }, - { - name = "energysolar", - x = 3480, - z = 4376, - facing = 0, - }, - { - name = "energysolar", - x = 4040, - z = 2776, - facing = 0, - }, - { - name = "energysolar", - x = 4008, - z = 2648, - facing = 0, - }, - { - name = "factoryshield", - x = 4336, - z = 3104, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5016, - z = 4696, - facing = 0, - }, - { - name = "turretlaser", - x = 4768, - z = 5152, - facing = 0, - }, - { - name = "turretlaser", - x = 4912, - z = 4928, - facing = 0, - }, - { - name = "turretriot", - x = 3288, - z = 5112, - facing = 0, - }, - { - name = "turretlaser", - x = 3488, - z = 5216, - facing = 0, - }, - { - name = "turretlaser", - x = 3088, - z = 5216, - facing = 0, - }, - { - name = "staticradar", - x = 2944, - z = 5392, - facing = 0, - }, - { - name = "staticcon", - x = 4296, - z = 2952, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4296, 3000}}, - }, - }, - { - name = "staticcon", - x = 4376, - z = 2952, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4376, 3000}}, - }, - }, - { - name = "shieldarty", - x = 4400, - z = 3275, - facing = 0, - }, - { - name = "shieldarty", - x = 4300, - z = 3275, - facing = 3, - }, - { - name = "shieldraid", - x = 4400, - z = 3350, - facing = 2, - }, - { - name = "shieldraid", - x = 4375, - z = 3350, - facing = 1, - }, - { - name = "shieldraid", - x = 4350, - z = 3350, - facing = 1, - }, - { - name = "shieldraid", - x = 4325, - z = 3350, - facing = 1, - }, - { - name = "shieldraid", - x = 4300, - z = 3350, - facing = 1, - }, - { - name = "shieldassault", - x = 4325, - z = 3425, - facing = 1, - }, - { - name = "shieldassault", - x = 4375, - z = 3425, - facing = 1, - }, - { - name = "shieldriot", - x = 4350, - z = 3400, - facing = 1, - }, - { - name = "turretlaser", - x = 2432, - z = 5216, - facing = 0, - }, - { - name = "turretlaser", - x = 4144, - z = 5136, - facing = 0, - }, - { - name = "turretlaser", - x = 3392, - z = 4080, - facing = 0, - }, - } - }, - aiConfig = { - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Arcadia", - allyTeam = 0, - unlocks = { - "staticmex", - "staticradar", - "staticstorage", - "energysolar", - "energygeo", - "staticcon", - "turretaaclose", - "turretlaser", - "turretmissile", - "turretriot", - "turretheavylaser", - "factoryamph", - "amphcon", - "amphraid", - "amphfloater", - "amphriot", - "amphbomb", - "amphaa", - "factoryveh", - "vehraid", - "vehriot", - "veharty", - "vehheavyarty", - "vehaa", - "planefighter", - "planeheavyfighter", - "planescout", - "bomberprec", - "bomberriot", - "bomberdisarm", - }, - difficultyDependantUnlocks = { - [2] = {"staticcon"}, - [3] = {"staticcon"}, - [4] = {"staticcon"}, - }, - commander = false, - startUnits = { - { - name = "staticstorage", - x = 5600, - z = 2400, - facing = 0, - }, - { - name = "factoryplane", - x = 2016, - z = 2848, - facing = 0, - }, - { - name = "staticmex", - x = 1816, - z = 2792, - facing = 0, - }, - { - name = "staticmex", - x = 2712, - z = 1864, - facing = 0, - }, - { - name = "staticmex", - x = 2520, - z = 3368, - facing = 0, - }, - { - name = "staticmex", - x = 1176, - z = 3944, - facing = 0, - }, - { - name = "turretmissile", - x = 1232, - z = 4032, - facing = 0, - }, - { - name = "turretmissile", - x = 1040, - z = 4176, - facing = 0, - }, - { - name = "turretmissile", - x = 2688, - z = 3488, - facing = 0, - }, - { - name = "turretmissile", - x = 2816, - z = 1856, - facing = 0, - }, - { - name = "turretmissile", - x = 2896, - z = 1664, - facing = 0, - }, - { - name = "turretaaclose", - x = 2040, - z = 2648, - facing = 0, - }, - { - name = "turretaaclose", - x = 1720, - z = 2968, - facing = 0, - }, - { - name = "turretaaclose", - x = 2136, - z = 3016, - facing = 0, - }, - { - name = "energygeo", - x = 4760, - z = 3016, - facing = 0, - }, - { - name = "staticmex", - x = 5064, - z = 3288, - facing = 0, - }, - { - name = "staticmex", - x = 5432, - z = 2424, - facing = 0, - }, - { - name = "staticmex", - x = 5304, - z = 2088, - facing = 0, - }, - { - name = "staticmex", - x = 6040, - z = 3208, - facing = 0, - }, - { - name = "staticmex", - x = 5944, - z = 4392, - facing = 0, - }, - { - name = "energysolar", - x = 4952, - z = 3224, - facing = 0, - }, - { - name = "energysolar", - x = 5416, - z = 2296, - facing = 0, - }, - { - name = "energysolar", - x = 5400, - z = 2152, - facing = 0, - }, - { - name = "energysolar", - x = 1832, - z = 2904, - facing = 0, - }, - { - name = "energysolar", - x = 1912, - z = 2744, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5560, - z = 4488, - facing = 0, - }, - { - name = "turretlaser", - x = 5776, - z = 4688, - facing = 0, - }, - { - name = "turretlaser", - x = 6016, - z = 4768, - facing = 0, - }, - { - name = "staticcon", - x = 5464, - z = 2584, - facing = 0, - }, - { - name = "staticcon", - x = 5544, - z = 2584, - facing = 0, - }, - { - name = "factoryamph", - x = 5496, - z = 2712, - facing = 0, - }, - { - name = "staticradar", - x = 2224, - z = 2720, - facing = 0, - }, - { - name = "staticradar", - x = 5264, - z = 3632, - facing = 0, - }, - { - name = "turretriot", - x = 7240, - z = 3800, - facing = 0, - }, - { - name = "turretlaser", - x = 7472, - z = 3792, - facing = 0, - }, - { - name = "turretlaser", - x = 7200, - z = 4000, - facing = 0, - }, - { - name = "turretlaser", - x = 6448, - z = 3280, - facing = 0, - }, - { - name = "bomberprec", - x = 5918, - z = 7690, - facing = 0, - }, - { - name = "amphcon", - x = 7341, - z = 3269, - facing = 1, - }, - { - name = "amphfloater", - x = 6029, - z = 4421, - facing = 3, - }, - { - name = "amphraid", - x = 4402, - z = 6153, - facing = 0, - }, - { - name = "amphcon", - x = 5096, - z = 3335, - facing = 0, - }, - { - name = "staticmex", - x = 6728, - z = 3464, - facing = 0, - }, - { - name = "amphraid", - x = 6077, - z = 4353, - facing = 3, - }, - { - name = "turretlaser", - x = 6496, - z = 4256, - facing = 0, - }, - { - name = "amphfloater", - x = 5672, - z = 3333, - facing = 0, - }, - { - name = "turretlaser", - x = 5472, - z = 2304, - facing = 0, - }, - { - name = "planescout", - x = 1978, - z = 2868, - facing = 0, - buildProgress = 0.29409999, - }, - { - name = "amphfloater", - x = 5481, - z = 2783, - facing = 0, - }, - { - name = "turretlaser", - x = 5024, - z = 3408, - facing = 0, - }, - } - }, - { - startX = 8600, - startZ = 7100, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Antenora", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "staticradar", - "staticstorage", - "energysolar", - "energygeo", - "staticcon", - "turretaaclose", - "turretlaser", - "turretmissile", - "factoryjump", - "jumpcon", - "jumpraid", - "jumparty", - --"striderhub", - "striderdante", - }, - difficultyDependantUnlocks = { - [2] = {"staticcon"}, - [3] = {"staticcon","factoryjump"}, - [4] = {"staticcon","factoryjump"}, - }, - commanderLevel = 3, - commander = { - name = "Alighieri", - chassis = "recon", - decorations = { - "skin_recon_red", - }, - modules = { - "commweapon_heavymachinegun", - "module_high_power_servos", - "module_high_power_servos", - "module_ablative_armor", - "module_autorepair", - } - }, - startUnits = { - -- Strider Hub and Dante on easy/normal is further forward, hopefully making it more killable. - { - name = "striderhub", - x = 7200, - z = 7300, - facing = 3, - mapMarker = { - text = "Strider Hub", - color = "red" - }, - difficultyAtMost = 2, - }, - { - name = "striderdante", - x = 7050, - z = 7300, - facing = 0, - buildProgress = 0.10, - difficultyAtLeast = 1, - difficultyAtMost = 1, - }, - { - name = "striderdante", - x = 7050, - z = 7300, - facing = 0, - buildProgress = 0.35, - difficultyAtLeast = 2, - difficultyAtMost = 2, - }, - { - name = "turretgauss", - x = 7000, - z = 7200, - facing = 3, - difficultyAtMost = 2, - }, - -- Strider Hub and Dante on hard/brutal is further back, and near a Caretaker. - { - name = "striderhub", - x = 7568, - z = 7648, - facing = 3, - mapMarker = { - text = "Strider Hub", - color = "red" - }, - difficultyAtLeast = 3, - }, - { - name = "striderdante", - x = 7470, - z = 7640, - facing = 0, - buildProgress = 0.60, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "striderdante", - x = 7470, - z = 7640, - facing = 0, - buildProgress = 0.85, - difficultyAtLeast = 4, - difficultyAtMost = 4, - }, - { - name = "turretgauss", - x = 7496, - z = 7496, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretgauss", - x = 7320, - z = 7656, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 3900, - z = 8250, - facing = 0, - }, - { - name = "turretlaser", - x = 4300, - z = 8250, - facing = 0, - }, - { - name = "staticmex", - x = 7688, - z = 8104, - facing = 0, - }, - { - name = "staticmex", - x = 7976, - z = 8312, - facing = 0, - }, - { - name = "staticmex", - x = 7480, - z = 7192, - facing = 0, - }, - { - name = "staticmex", - x = 6728, - z = 7832, - facing = 0, - }, - { - name = "staticmex", - x = 6024, - z = 8024, - facing = 0, - }, - { - name = "staticmex", - x = 5848, - z = 6952, - facing = 0, - }, - { - name = "staticmex", - x = 6120, - z = 6824, - facing = 0, - }, - { - name = "energygeo", - x = 6488, - z = 8328, - facing = 0, - }, - { - name = "factoryjump", - x = 7960, - z = 7992, - facing = 3, - }, - { - name = "energysolar", - x = 7608, - z = 7208, - facing = 0, - }, - { - name = "energysolar", - x = 7784, - z = 8152, - facing = 0, - }, - { - name = "energysolar", - x = 7880, - z = 8232, - facing = 0, - }, - { - name = "energysolar", - x = 6664, - z = 7944, - facing = 0, - }, - { - name = "energysolar", - x = 6600, - z = 8120, - facing = 0, - }, - { - name = "energysolar", - x = 6136, - z = 8104, - facing = 0, - }, - { - name = "energysolar", - x = 6280, - z = 8216, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6376, - z = 6520, - facing = 2, - }, - { - name = "turretlaser", - x = 5968, - z = 6960, - facing = 2, - }, - { - name = "turretlaser", - x = 6064, - z = 6576, - facing = 2, - }, - { - name = "staticcon", - x = 7752, - z = 7784, - facing = 3, - }, - { - name = "turretriot", - x = 5336, - z = 8008, - facing = 3, - }, - { - name = "turretlaser", - x = 5344, - z = 7824, - facing = 3, - }, - { - name = "turretlaser", - x = 5280, - z = 8192, - facing = 3, - }, - { - name = "staticradar", - x = 5008, - z = 8304, - facing = 0, - }, - { - name = "jumpcon", - x = 7415, - z = 7145, - facing = 2, - }, - { - name = "jumpcon", - x = 6050, - z = 6285, - facing = 2, - }, - { - name = "jumpcon", - x = 6041, - z = 6996, - facing = 3, - }, - { - name = "turretlaser", - x = 7984, - z = 7776, - facing = 3, - }, - { - name = "turretlaser", - x = 8672, - z = 6864, - facing = 3, - }, - { - name = "jumpcon", - x = 6065, - z = 6986, - facing = 3, - }, - { - name = "turretlaser", - x = 6368, - z = 7904, - facing = 2, - }, - { - name = "turretlaser", - x = 7760, - z = 8208, - facing = 2, - }, - { - name = "turretlaser", - x = 7456, - z = 7136, - facing = 3, - }, - { - name = "jumpcon", - x = 5810, - z = 8629, - facing = 3, - }, - { - name = "staticradar", - x = 6576, - z = 7872, - facing = 2, - }, - { - name = "jumpraid", - x = 7472, - z = 7728, - facing = 2, - }, - { - name = "jumpraid", - x = 7693, - z = 7948, - facing = 3, - }, - { - name = "staticmex", - x = 8056, - z = 5272, - facing = 0, - }, - { - name = "jumpcon", - x = 7834, - z = 7992, - facing = 3, - }, - { - name = "jumpcon", - x = 7936, - z = 7992, - facing = 3, - buildProgress = 0.0791, - }, - } - }, - { - startX = 8600, - startZ = 7000, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Caina", - allyTeam = 1, - unlocks = { - "staticmex", - "staticradar", - "staticstorage", - "energysolar", - "energygeo", - "staticcon", - "turretaaclose", - "turretlaser", - "turretmissile", - "turretriot", - "turretheavylaser", - "factoryspider", - "spidercon", - "spiderscout", - "spiderassault", - "spideremp", - "spiderriot", - "spiderskirm", - "spideraa", - "factoryhover", - "hovercon", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoveraa", - "factoryplane", - "planeheavyfighter", - "planescout", - "bomberprec", - "bomberriot", - "bomberdisarm", - }, - commander = false, - startUnits = { - { - name = "pw_mstorage2", - x = 8250, - z = 4550, - facing = 0, - bonusObjectiveID = 3, - mapMarker = { - text = "Metal Storage Depot", - color = "red_small" - }, - }, - { - name = "pw_mstorage2", - x = 4110, - z = 8250, - facing = 0, - bonusObjectiveID = 3, - mapMarker = { - text = "Metal Storage Depot", - color = "red_small" - }, - }, - { - name = "staticstorage", - x = 4900, - z = 7000, - facing = 0, - }, - { - name = "turretheavylaser", - x = 8450, - z = 4200, - facing = 3, - }, - { - name = "staticmex", - x = 7656, - z = 6920, - facing = 0, - }, - { - name = "staticmex", - x = 8520, - z = 6904, - facing = 0, - }, - { - name = "staticmex", - x = 8808, - z = 7064, - facing = 0, - }, - { - name = "staticmex", - x = 8024, - z = 6008, - facing = 0, - }, - { - name = "factoryplane", - x = 6944, - z = 10016, - facing = 0, - }, - { - name = "staticmex", - x = 7048, - z = 10184, - facing = 0, - }, - { - name = "staticmex", - x = 8248, - z = 9624, - facing = 0, - }, - { - name = "staticmex", - x = 6824, - z = 9288, - facing = 0, - }, - { - name = "staticmex", - x = 5784, - z = 10408, - facing = 0, - }, - { - name = "turretmissile", - x = 6768, - z = 9120, - facing = 2, - }, - { - name = "turretmissile", - x = 8272, - z = 9488, - facing = 2, - }, - { - name = "turretmissile", - x = 8448, - z = 9488, - facing = 2, - }, - { - name = "turretmissile", - x = 5520, - z = 10448, - facing = 2, - }, - { - name = "turretmissile", - x = 5680, - z = 10304, - facing = 2, - }, - { - name = "turretaaclose", - x = 7048, - z = 9800, - facing = 2, - }, - { - name = "turretaaclose", - x = 6808, - z = 10168, - facing = 2, - }, - { - name = "turretaaclose", - x = 7240, - z = 10216, - facing = 2, - }, - { - name = "energygeo", - x = 7864, - z = 7256, - facing = 0, - }, - { - name = "staticmex", - x = 6952, - z = 5832, - facing = 0, - }, - { - name = "energysolar", - x = 7096, - z = 10088, - facing = 0, - }, - { - name = "energysolar", - x = 6936, - z = 10184, - facing = 0, - }, - { - name = "energysolar", - x = 8616, - z = 6920, - facing = 0, - }, - { - name = "energysolar", - x = 8744, - z = 6968, - facing = 0, - }, - { - name = "energysolar", - x = 7640, - z = 7032, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6696, - z = 6040, - facing = 3, - }, - { - name = "turretlaser", - x = 6720, - z = 5776, - facing = 3, - }, - { - name = "turretlaser", - x = 6704, - z = 5488, - facing = 3, - }, - { - name = "staticcon", - x = 8328, - z = 6888, - facing = 3, - }, - { - name = "staticcon", - x = 8328, - z = 6792, - facing = 3, - }, - { - name = "factoryspider", - x = 8184, - z = 6824, - facing = 3, - }, - { - name = "turretlaser", - x = 7616, - z = 4864, - facing = 2, - }, - { - name = "turretlaser", - x = 8032, - z = 4800, - facing = 2, - }, - { - name = "turretriot", - x = 7816, - z = 4808, - facing = 2, - }, - { - name = "staticradar", - x = 7344, - z = 6528, - facing = 0, - }, - { - name = "staticradar", - x = 7168, - z = 9888, - facing = 0, - }, - { - name = "spiderassault", - x = 7961, - z = 6664, - facing = 3, - }, - { - name = "spidercon", - x = 8480, - z = 4887, - facing = 2, - }, - { - name = "bomberprec", - x = 4764, - z = 6234, - facing = 3, - }, - { - name = "spidercon", - x = 5777, - z = 5807, - facing = 3, - }, - { - name = "spidercon", - x = 8657, - z = 4596, - facing = 1, - }, - { - name = "staticradar", - x = 8832, - z = 4496, - facing = 3, - buildProgress = 0.39989999, - }, - { - name = "spidercon", - x = 7755, - z = 4552, - facing = 2, - }, - { - name = "staticmex", - x = 6920, - z = 5544, - facing = 0, - }, - { - name = "spiderscout", - x = 7136, - z = 4840, - facing = 2, - }, - { - name = "turretlaser", - x = 6912, - z = 5792, - facing = 3, - }, - { - name = "spidercon", - x = 6979, - z = 6102, - facing = 3, - }, - { - name = "spiderscout", - x = 6335, - z = 5791, - facing = 2, - }, - { - name = "planescout", - x = 6906, - z = 10036, - facing = 0, - buildProgress = 0.2352, - }, - { - name = "spidercon", - x = 7962, - z = 6134, - facing = 2, - }, - { - name = "staticmex", - x = 8616, - z = 4440, - facing = 0, - }, - { - name = "staticmex", - x = 7688, - z = 4360, - facing = 0, - }, - { - name = "spiderskirm", - x = 8148, - z = 6824, - facing = 3, - buildProgress = 0.2321, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "striderhub", - "striderdante", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Dantes and the Strider Hub", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make an Aspis - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "shieldshield", - }, - image = planetUtilities.ICON_DIR .. "shieldshield.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build an Aspis", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Switch to another factory - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "factorycloak", - "factoryamph", - "factorygunship", - "factoryhover", - "factoryjump", - "factoryplane", - "factoryship", - "factoryspider", - "factorytank", - "factoryveh", - }, - image = planetUtilities.ICON_DIR .. "factorycloak.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a new Factory", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Destroy the Metal Storages before 8:00 - satisfyByTime = 480, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "pw_mstorage2.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the Metal Storage Depots before 8:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "shieldarty", - "shieldshield", - "staticshield", - }, - modules = { - "commweapon_personal_shield", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet18.lua b/campaign/dev/planets/planet18.lua deleted file mode 100644 index f606dbb43..000000000 --- a/campaign/dev/planets/planet18.lua +++ /dev/null @@ -1,3445 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran03.png" - - local planetData = { - name = "Kirdipan", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.43, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.495, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arid", - radius = "5410 km", - primary = "Iersag", - primaryType = "K1V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[Automated defenses are usually easily overcome, if only you hadn't deleted most of your construction blueprints to make room for your recently unearthed discovery - terrain manipulation technology. Use terraforming (at a 50% discount) to clog up or bypass the automated defenses surrounding the Interception Network to make your escape.]] - }, - tips = { - { - image = "LuaUI/Images/commands/level.png", - text = [[Every constructor is a powerful terraformer with access to five commands: Ramp, Level, Raise, Restore and Smooth. Read the tooltips and experiment with the commands as each has quite a few modifers and options. Consult the online manual for more details.]] - }, - { - image = "LuaUI/Images/commands/ramp.png", - text = [[In this mission only, your terraforming tools are half cost. Feel free to experiment.]] - }, - { - image = "unitpics/shieldscout.png", - text = [[Dirtbags are curious bots with many unfulfilled aspirations. They want to scout and fight but are almost blind and their only attack is a headbutt. They try to terraform but all they manage is to drop a little pile of dirt upon their death. The good side is that they are very cheap and quite tough.]] - }, - { - image = "unitpics/staticmissilesilo.png", - text = [[Missile Silos can usually produce a variety of missiles for varied situations. This one, however, only remembers how to make the Quake. This missile smooths terrain in a large area. Select a missile to target it.]] - }, - { - image = "LuaUI/Images/commands/Bold/jump.png", - text = [[Dirtbags can jump small distances. This ability can be used to precisely terraform walls by issuing a line jump command followed by a queued detonate command.]] - }, - }, - gameConfig = { - mapName = "IsisDelta_v02", - modoptions = { - integral_disable_defence = 1, - integral_disable_factory = 1, - campaign_disable_share_marker = 1, - terracostmult = 0.5, - --campaign_debug_units = 1, - }, - playerConfig = { - startX = 1500, - startZ = 180, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - victoryAtLocation = { - x = 5412, - z = 3616, - radius = 100, - objectiveID = 1, - mapMarker = { - text = "Go Here", - color = "green" - }, - }, - }, - extraUnlocks = { - "shieldscout", - "seismic", - }, - unitWhitelist = { - -- For scouting and to avoid area mex complications - staticmex = true, - staticradar = true, - seismic = true, - }, - extraAbilities = { - "terraform", - }, - startUnits = { - { - name = "pw_metal", - x = 2140, - z = 120, - facing = 0, - }, - { - name = "energyfusion", - x = 1240, - z = 70, - facing = 0, - }, - { - name = "staticstorage", - x = 1800, - z = 120, - facing = 0, - }, - { - name = "staticstorage", - x = 1900, - z = 120, - facing = 0, - }, - { - name = "staticstorage", - x = 1800, - z = 30, - facing = 0, - }, - { - name = "staticstorage", - x = 1900, - z = 30, - facing = 0, - }, - { - name = "staticmissilesilo", - x = 1670, - z = 580, - facing = 0, - commands = { - {unitName = "seismic"}, - }, - }, - { - name = "amphcon", - x = 1460, - z = 180, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.REPAIR, atPosition = {1833, 361}}, - }, - }, - { - name = "amphcon", - x = 1540, - z = 180, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.REPAIR, atPosition = {1833, 361}}, - }, - }, - { - name = "staticcon", - x = 1540, - z = 620, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1600, 560}}, - }, - }, - { - name = "turretriot", - x = 3240, - z = 472, - facing = 0, - buildProgress = 0.5, - }, - { - name = "turretriot", - x = 2168, - z = 3096, - facing = 0, - buildProgress = 0.5, - terraformHeight = 302, - }, - } - }, - aiConfig = { - { - startX = 4000, - startZ = 75, - aiLib = "NullAI", - humanName = "Ally", - allyTeam = 0, - unlocks = { - "shieldscout", - }, - startUnits = { - { - name = "factoryshield", - x = 184, - z = 208, - facing = 1, - commands = { - {unitName = "shieldscout"}, - {cmdID = planetUtilities.COMMAND.REPEAT, params = {1}}, - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1300, 208}}, - {cmdID = planetUtilities.COMMAND.TRANSFER_UNIT, params = {0}, options = {"shift"}}, - }, - }, - { - name = "staticstorage", - x = 152, - z = 104, - facing = 0, - }, - { - name = "staticmex", - x = 328, - z = 120, - facing = 0, - }, - { - name = "staticmex", - x = 72, - z = 136, - facing = 0, - }, - { - name = "staticmex", - x = 168, - z = 328, - facing = 0, - }, - { - name = "staticmex", - x = 2104, - z = 248, - facing = 0, - }, - { - name = "staticmex", - x = 1448, - z = 584, - facing = 0, - }, - { - name = "staticmex", - x = 2136, - z = 680, - facing = 0, - }, - { - name = "energypylon", - x = 1848, - z = 232, - facing = 1, - }, - { - name = "energywind", - x = 1720, - z = 120, - facing = 1, - }, - { - name = "energywind", - x = 1656, - z = 120, - facing = 1, - }, - { - name = "energywind", - x = 1592, - z = 120, - facing = 1, - }, - { - name = "energywind", - x = 1528, - z = 120, - facing = 1, - }, - { - name = "energywind", - x = 1464, - z = 120, - facing = 1, - }, - { - name = "energywind", - x = 1400, - z = 120, - facing = 1, - }, - { - name = "energywind", - x = 1400, - z = 56, - facing = 1, - }, - { - name = "energywind", - x = 1464, - z = 56, - facing = 1, - }, - { - name = "energywind", - x = 1528, - z = 56, - facing = 1, - }, - { - name = "energywind", - x = 1592, - z = 56, - facing = 1, - }, - { - name = "energywind", - x = 1720, - z = 56, - facing = 1, - }, - { - name = "energywind", - x = 1656, - z = 56, - facing = 1, - }, - { - name = "energywind", - x = 40, - z = 40, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 40, - facing = 1, - }, - { - name = "energywind", - x = 168, - z = 40, - facing = 1, - }, - { - name = "energywind", - x = 232, - z = 40, - facing = 1, - }, - { - name = "energywind", - x = 296, - z = 40, - facing = 1, - }, - { - name = "energywind", - x = 360, - z = 40, - facing = 1, - }, - { - name = "energywind", - x = 40, - z = 216, - facing = 1, - }, - { - name = "energywind", - x = 40, - z = 280, - facing = 1, - }, - { - name = "energywind", - x = 40, - z = 344, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 344, - facing = 1, - }, - { - name = "energypylon", - x = 168, - z = 1016, - facing = 1, - }, - { - name = "energywind", - x = 168, - z = 504, - facing = 1, - }, - { - name = "staticmex", - x = 280, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 440, - z = 1448, - facing = 0, - }, - { - name = "energywind", - x = 168, - z = 392, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 504, - facing = 1, - }, - { - name = "energywind", - x = 40, - z = 504, - facing = 1, - }, - { - name = "staticradar", - x = 2096, - z = 448, - facing = 1, - terraformHeight = 400, - }, - { - name = "staticmex", - x = 104, - z = 1416, - facing = 0, - }, - { - name = "energywind", - x = 168, - z = 568, - facing = 0, - }, - { - name = "energywind", - x = 104, - z = 568, - facing = 0, - }, - { - name = "energywind", - x = 40, - z = 568, - facing = 0, - }, - { - name = "energywind", - x = 40, - z = 632, - facing = 0, - }, - { - name = "energywind", - x = 104, - z = 632, - facing = 0, - }, - { - name = "energywind", - x = 168, - z = 632, - facing = 0, - }, - { - name = "staticcon", - x = 232, - z = 104, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {232, 104}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {257, 129}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 24, - z = 1208, - facing = 0, - }, - { - name = "energywind", - x = 88, - z = 1208, - facing = 0, - }, - { - name = "energywind", - x = 152, - z = 1208, - facing = 0, - }, - { - name = "energywind", - x = 152, - z = 1272, - facing = 0, - }, - { - name = "energywind", - x = 88, - z = 1272, - facing = 0, - }, - { - name = "energywind", - x = 24, - z = 1272, - facing = 0, - }, - { - name = "energywind", - x = 24, - z = 1336, - facing = 0, - }, - { - name = "energywind", - x = 88, - z = 1336, - facing = 0, - }, - { - name = "energywind", - x = 152, - z = 1336, - facing = 0, - }, - } - }, - { - startX = 4000, - startZ = 75, - aiLib = "NullAI", - humanName = "Turrets", - allyTeam = 1, - startUnits = { - { - name = "tankarty", - x = 4320, - z = 3936, - facing = 3, - }, - { - name = "tankarty", - x = 4384, - z = 3936, - facing = 3, - }, - { - name = "spidercrabe", - x = 3613, - z = 1280, - facing = 3, - }, - { - name = "turretriot", - x = 4120, - z = 1512, - facing = 1, - }, - { - name = "energysingu", - x = 424, - z = 3784, - facing = 3, - terraformHeight = 40, - bonusObjectiveID = 1, - mapMarker = { - text = "Destroy", - color = "red_small" - }, - }, - { - name = "energypylon", - x = 968, - z = 4040, - facing = 3, - }, - { - name = "energypylon", - x = 1928, - z = 4008, - facing = 3, - }, - { - name = "energypylon", - x = 4792, - z = 3896, - facing = 3, - }, - { - name = "energypylon", - x = 2872, - z = 3992, - facing = 3, - }, - { - name = "energypylon", - x = 3832, - z = 4008, - facing = 3, - }, - { - name = "amphraid", - difficultyAtLeast = 4, - x = 4094, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - }, - { - name = "spidercrabe", - x = 4239, - z = 2675, - facing = 2, - }, - { - name = "staticmex", - x = 5160, - z = 3624, - facing = 0, - }, - { - name = "staticmex", - x = 5432, - z = 3832, - facing = 0, - }, - { - name = "energysolar", - x = 5256, - z = 3544, - facing = 2, - }, - { - name = "energysolar", - x = 5256, - z = 3630, - facing = 2, - }, - { - name = "turretemp", - x = 5936, - z = 1024, - facing = 0, - }, - { - name = "amphraid", - x = 3902, - z = 4048, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 4197, - z = 4025, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 3765, - z = 4033, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 3845, - z = 4048, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 5400, - z = 3768, - facing = 0, - }, - { - name = "energysolar", - x = 5480, - z = 3768, - facing = 0, - }, - { - name = "energysolar", - x = 5560, - z = 3768, - facing = 0, - }, - { - name = "energysolar", - x = 5560, - z = 3688, - facing = 0, - }, - { - name = "energysolar", - x = 5560, - z = 3608, - facing = 0, - }, - { - name = "turretaaflak", - x = 5096, - z = 3656, - facing = 3, - }, - { - name = "turretriot", - x = 5416, - z = 3320, - facing = 2, - }, - { - name = "turretriot", - x = 5608, - z = 3384, - facing = 2, - }, - { - name = "turretaaflak", - x = 5656, - z = 3672, - facing = 1, - }, - { - name = "staticmex", - x = 4168, - z = 3960, - facing = 0, - }, - { - name = "staticcon", - x = 5480, - z = 3688, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.REPAIR, pos = {5412, 3616}, radius = 360, options = {"alt"}}, - }, - }, - { - name = "energysolar", - x = 5416, - z = 3464, - facing = 2, - }, - { - name = "turretlaser", - x = 272, - z = 3584, - facing = 1, - }, - { - name = "staticmex", - x = 376, - z = 3896, - facing = 0, - }, - { - name = "staticmex", - x = 536, - z = 3784, - facing = 0, - }, - { - name = "turretheavy", - x = 5528, - z = 3496, - facing = 2, - }, - { - name = "amphraid", - x = 3683, - z = 4031, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - }, - { - name = "amphraid", - x = 4023, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - }, - { - name = "amphraid", - x = 4305, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 4223, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 4127, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 3876, - z = 4048, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 3953, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - }, - { - name = "amphraid", - x = 3808, - z = 4047, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - }, - { - name = "amphraid", - x = 4251, - z = 4031, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 4173, - z = 4026, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 5836, - z = 2407, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 5109, - z = 3050, - facing = 3, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5176, - z = 2907, - facing = 0, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5235, - z = 2796, - facing = 3, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - }, - { - name = "amphraid", - x = 5876, - z = 2408, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - }, - { - name = "amphraid", - x = 3929, - z = 4041, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 2, - }, - { - name = "turretheavy", - x = 4072, - z = 3320, - facing = 3, - terraformHeight = 242, - }, - { - name = "energypylon", - x = 4192, - z = 2932, - facing = 3, - }, - { - name = "staticmex", - x = 4728, - z = 2408, - facing = 0, - }, - { - name = "staticmex", - x = 5160, - z = 1976, - facing = 0, - }, - { - name = "energysolar", - x = 4728, - z = 2472, - facing = 1, - }, - { - name = "energysolar", - x = 5224, - z = 1976, - facing = 1, - }, - { - name = "energysolar", - x = 5256, - z = 3464, - facing = 2, - }, - { - name = "energysolar", - x = 5336, - z = 3464, - facing = 2, - }, - { - name = "staticcon", - x = 5336, - z = 3544, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.REPAIR, pos = {5412, 3616}, radius = 360, options = {"alt"}}, - }, - }, - { - name = "turrettorp", - x = 280, - z = 3896, - facing = 0, - }, - { - name = "turrettorp", - x = 568, - z = 3880, - facing = 1, - }, - { - name = "turrettorp", - x = 520, - z = 3688, - facing = 1, - }, - { - name = "turrettorp", - x = 520, - z = 3960, - facing = 0, - }, - { - name = "turretriot", - x = 2328, - z = 3576, - facing = 3, - terraformHeight = 85, - }, - { - name = "turretriot", - x = 2664, - z = 3128, - facing = 3, - terraformHeight = 85, - }, - { - name = "turretriot", - x = 2584, - z = 3128, - facing = 3, - terraformHeight = 85, - }, - { - name = "turretriot", - x = 2328, - z = 3496, - facing = 3, - terraformHeight = 85, - }, - { - name = "turrettorp", - x = 2328, - z = 3672, - facing = 0, - }, - { - name = "turrettorp", - x = 2760, - z = 3672, - facing = 0, - }, - { - name = "turrettorp", - x = 2536, - z = 3688, - facing = 0, - }, - { - name = "staticmex", - x = 2552, - z = 3544, - facing = 0, - }, - { - name = "energysolar", - x = 2568, - z = 3432, - facing = 0, - }, - { - name = "staticmex", - x = 776, - z = 3096, - facing = 0, - }, - { - name = "energysolar", - x = 1352, - z = 3256, - facing = 2, - }, - { - name = "energysolar", - x = 1432, - z = 3256, - facing = 2, - }, - { - name = "staticmex", - x = 1208, - z = 3480, - facing = 0, - }, - { - name = "turretemp", - x = 1808, - z = 3600, - facing = 2, - }, - { - name = "staticmex", - x = 1768, - z = 3544, - facing = 0, - }, - { - name = "amphraid", - x = 5220, - z = 2820, - facing = 0, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 4556, - z = 3611, - facing = 0, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 5773, - z = 2520, - facing = 1, - patrolRoute = { - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 3157, - z = 4023, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 2902, - z = 4023, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5774, - z = 2399, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - }, - { - name = "turretlaser", - x = 1648, - z = 3616, - facing = 2, - }, - { - name = "energysolar", - x = 1432, - z = 3400, - facing = 2, - }, - { - name = "energysolar", - x = 1352, - z = 3400, - facing = 2, - }, - { - name = "energysolar", - x = 1272, - z = 3400, - facing = 2, - }, - { - name = "energysolar", - x = 1272, - z = 3256, - facing = 2, - }, - { - name = "amphraid", - x = 5176, - z = 2964, - facing = 0, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 5700, - z = 2399, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 3078, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 2823, - z = 4036, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5741, - z = 2428, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5203, - z = 2843, - facing = 3, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 5925, - z = 2404, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 5264, - z = 2784, - facing = 3, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5158, - z = 2995, - facing = 3, - patrolRoute = { - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5646, - z = 2406, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - }, - { - name = "amphraid", - x = 4280, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 4365, - z = 4015, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 4858, - z = 3709, - facing = 2, - patrolRoute = { - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 3353, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 5586, - z = 2356, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 3114, - z = 4024, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 4395, - z = 4024, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 5663, - z = 2427, - facing = 3, - patrolRoute = { - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - {5978, 2447}, - {5575, 2347}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 3052, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 4333, - z = 4024, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "subraider", - x = 3234, - z = 4032, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - }, - { - name = "amphraid", - x = 3273, - z = 4031, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 4054, - z = 4031, - facing = 1, - patrolRoute = { - {5978, 2447}, - {5575, 2347}, - {4497, 3865}, - {2751, 3910}, - {2755, 4041}, - {4604, 4016}, - }, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 704, - z = 2286, - facing = 0, - patrolRoute = { - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - }, - }, - { - name = "vehassault", - x = 1327, - z = 2814, - facing = 2, - patrolRoute = { - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - {1729, 2337}, - }, - }, - { - name = "vehassault", - x = 1534, - z = 1938, - facing = 3, - patrolRoute = { - {626, 2411}, - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - }, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 1082, - z = 1910, - facing = 1, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - difficultyAtLeast = 3, - }, - { - name = "vehassault", - x = 720, - z = 2241, - facing = 0, - patrolRoute = { - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - }, - difficultyAtLeast = 4, - }, - { - name = "vehassault", - x = 1162, - z = 1805, - facing = 3, - patrolRoute = { - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - }, - }, - { - name = "vehassault", - x = 1344, - z = 1700, - facing = 2, - patrolRoute = { - {626, 2411}, - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - }, - }, - { - name = "vehassault", - x = 1598, - z = 2193, - facing = 2, - patrolRoute = { - {626, 2411}, - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - }, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 897, - z = 2060, - facing = 2, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - difficultyAtLeast = 3, - }, - { - name = "vehassault", - x = 1420, - z = 2651, - facing = 1, - patrolRoute = { - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - {1729, 2337}, - }, - difficultyAtLeast = 4, - }, - { - name = "vehassault", - x = 748, - z = 2204, - facing = 0, - patrolRoute = { - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - }, - }, - { - name = "vehassault", - x = 1633, - z = 2232, - facing = 3, - patrolRoute = { - {626, 2411}, - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - }, - }, - { - name = "vehassault", - x = 1114, - z = 1883, - facing = 1, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 1327, - z = 2587, - facing = 0, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - difficultyAtLeast = 3, - }, - { - name = "vehassault", - x = 1713, - z = 2351, - facing = 1, - patrolRoute = { - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - {1729, 2337}, - }, - difficultyAtLeast = 4, - }, - { - name = "vehassault", - x = 1327, - z = 2393, - facing = 0, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - }, - { - name = "vehassault", - x = 1059, - z = 1946, - facing = 1, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - }, - { - name = "vehassault", - x = 986, - z = 1919, - facing = 3, - patrolRoute = { - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - }, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 717, - z = 2173, - facing = 1, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - difficultyAtLeast = 3, - }, - { - name = "vehassault", - x = 946, - z = 2018, - facing = 2, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - difficultyAtLeast = 4, - }, - { - name = "vehassault", - x = 1336, - z = 2500, - facing = 0, - patrolRoute = { - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - {1254, 2832}, - }, - }, - { - name = "vehassault", - x = 909, - z = 1980, - facing = 3, - patrolRoute = { - {1254, 2832}, - {1729, 2337}, - {1343, 1632}, - {626, 2411}, - }, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 4072, - z = 1656, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1096, - z = 2152, - facing = 2, - }, - { - name = "energysolar", - x = 1176 - 80, - z = 2040, - facing = 2, - }, - { - name = "energysolar", - x = 1176 - 160, - z = 2040, - facing = 2, - }, - { - name = "energysolar", - x = 1176, - z = 2040, - facing = 2, - }, - { - name = "energysolar", - x = 1176, - z = 1960, - facing = 2, - }, - { - name = "energysolar", - x = 1176 + 80, - z = 1960, - facing = 2, - }, - { - name = "energysolar", - x = 1176 + 160, - z = 1960, - facing = 2, - }, - { - name = "staticmex", - x = 664, - z = 2024, - facing = 0, - }, - { - name = "energysolar", - x = 600, - z = 2008, - facing = 2, - }, - { - name = "staticmex", - x = 1384, - z = 2552, - facing = 0, - }, - { - name = "staticmex", - x = 2888, - z = 1832, - facing = 0, - }, - { - name = "energysolar", - x = 2824, - z = 1944, - facing = 1, - }, - { - name = "energysolar", - x = 2664, - z = 2168, - facing = 1, - }, - { - name = "turretriot", - x = 3448, - z = 856, - facing = 3, - }, - { - name = "energysolar", - x = 4296, - z = 2504, - facing = 1, - }, - { - name = "turrettorp", - x = 4312, - z = 3496, - facing = 0, - }, - { - name = "energysolar", - x = 4472, - z = 3112, - facing = 3, - }, - { - name = "turretheavy", - x = 5512, - z = 1656, - facing = 3, - terraformHeight = 242, - }, - { - name = "turretlaser", - x = 2752, - z = 2048, - facing = 3, - }, - { - name = "turretriot", - x = 3304, - z = 2104, - facing = 3, - }, - { - name = "turretlaser", - x = 1600, - z = 2320, - facing = 2, - }, - { - name = "factoryveh", - x = 1192, - z = 3048, - facing = 2, - }, - { - name = "turrettorp", - x = 632, - z = 2888, - facing = 2, - }, - { - name = "turrettorp", - x = 568, - z = 3048, - facing = 3, - }, - { - name = "turretriot", - x = 2100, - z = 1396, - facing = 2, - }, - { - name = "turrettorp", - x = 4456, - z = 3352, - facing = 1, - }, - { - name = "staticmex", - x = 2664, - z = 2792, - facing = 0, - }, - { - name = "energywind", - x = 2760, - z = 2792, - facing = 2, - }, - { - name = "energywind", - x = 2824, - z = 2792, - facing = 2, - }, - { - name = "energywind", - x = 2824, - z = 2728, - facing = 2, - }, - { - name = "energywind", - x = 2760, - z = 2728, - facing = 2, - }, - { - name = "turrettorp", - x = 104, - z = 2984, - facing = 2, - }, - { - name = "turrettorp", - x = 344, - z = 2552, - facing = 2, - }, - { - name = "energywind", - x = 56, - z = 2440, - facing = 2, - }, - { - name = "energywind", - x = 120, - z = 2440, - facing = 2, - }, - { - name = "energywind", - x = 184, - z = 2440, - facing = 2, - }, - { - name = "energywind", - x = 56, - z = 2504, - facing = 2, - }, - { - name = "energywind", - x = 56, - z = 2568, - facing = 2, - }, - { - name = "energywind", - x = 56, - z = 2632, - facing = 2, - }, - { - name = "turrettorp", - x = 6040, - z = 1800, - facing = 0, - }, - { - name = "energysolar", - x = 4472, - z = 3256, - facing = 3, - }, - { - name = "turretriot", - x = 4184, - z = 424, - facing = 1, - }, - { - name = "turretriot", - x = 4760, - z = 424, - facing = 3, - }, - { - name = "turretriot", - x = 4792, - z = 664, - facing = 3, - }, - { - name = "turretriot", - x = 4152, - z = 664, - facing = 1, - }, - { - name = "energysingu", - x = 5112, - z = 104, - facing = 1, - bonusObjectiveID = 1, - mapMarker = { - text = "Destroy", - color = "red_small" - }, - }, - { - name = "turretemp", - x = 5232, - z = 576, - facing = 0, - }, - { - name = "energypylon", - x = 5720, - z = 264, - facing = 0, - }, - { - name = "energysolar", - x = 5880, - z = 216, - facing = 0, - }, - { - name = "energysolar", - x = 5944, - z = 312, - facing = 0, - }, - { - name = "energysolar", - x = 5800, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 5832, - z = 424, - facing = 0, - }, - { - name = "staticmex", - x = 6040, - z = 328, - facing = 0, - }, - { - name = "staticmex", - x = 5880, - z = 120, - facing = 0, - }, - { - name = "energypylon", - x = 5720, - z = 1192, - facing = 0, - }, - { - name = "energypylon", - x = 5480, - z = 2120, - facing = 3, - }, - { - name = "turretriot", - x = 1320, - z = 2088, - facing = 1, - }, - { - name = "turretriot", - x = 1716, - z = 2690, - facing = 1, - }, - { - name = "turretriot", - x = 792, - z = 2710, - facing = 1, - }, - { - name = "turretriot", - x = 1330, - z = 3568, - facing = 1, - }, - { - name = "turretriot", - x = 3304, - z = 920, - facing = 3, - }, - { - name = "turretemp", - x = 3376, - z = 896, - facing = 3, - }, - { - name = "turretriot", - x = 3160, - z = 136, - facing = 3, - }, - { - name = "turretriot", - x = 3860, - z = 2210, - facing = 3, - }, - { - name = "turrettorp", - x = 1200, - z = 3670, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4008, - z = 120, - facing = 0, - }, - { - name = "turretriot", - x = 4127, - z = 65, - facing = 0, - }, - { - name = "staticmex", - x = 3368, - z = 136, - facing = 0, - }, - { - name = "energywind", - x = 3464, - z = 120, - facing = 0, - }, - { - name = "energywind", - x = 3544, - z = 120, - facing = 0, - }, - { - name = "energywind", - x = 3624, - z = 120, - facing = 0, - }, - { - name = "energywind", - x = 3704, - z = 120, - facing = 0, - }, - { - name = "energywind", - x = 3784, - z = 120, - facing = 0, - }, - { - name = "staticmex", - x = 3688, - z = 664, - facing = 0, - }, - { - name = "energywind", - x = 3752, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 3832, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 3912, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 3992, - z = 680, - facing = 0, - }, - { - name = "tankheavyassault", - x = 3721, - z = 2779, - facing = 1, - patrolRoute = { - {5479, 1439}, - {3859, 1957}, - {3220, 3367}, - {4676, 2077}, - }, - }, - { - name = "tankheavyassault", - x = 4486, - z = 2072, - facing = 1, - patrolRoute = { - {5479, 1439}, - {3859, 1957}, - {3220, 3367}, - {4676, 2077}, - }, - }, - { - name = "tankheavyassault", - x = 3757, - z = 2475, - facing = 3, - patrolRoute = { - {4676, 2077}, - {5479, 1439}, - {3859, 1957}, - {3220, 3367}, - }, - difficultyAtLeast = 2, - }, - { - name = "tankheavyassault", - x = 4416, - z = 1692, - facing = 3, - patrolRoute = { - {3220, 3367}, - {4676, 2077}, - {5479, 1439}, - {3859, 1957}, - }, - difficultyAtLeast = 3, - }, - { - name = "tankheavyassault", - x = 3255, - z = 3189, - facing = 2, - patrolRoute = { - {5479, 1439}, - {3859, 1957}, - {3220, 3367}, - {4676, 2077}, - }, - difficultyAtLeast = 4, - }, - { - name = "tankheavyassault", - x = 4072, - z = 1935, - facing = 3, - patrolRoute = { - {3220, 3367}, - {4676, 2077}, - {5479, 1439}, - {3859, 1957}, - }, - difficultyAtLeast = 4, - }, - { - name = "subraider", - x = 2193, - z = 1766, - facing = 2, - patrolRoute = { - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - }, - }, - { - name = "subraider", - x = 2374, - z = 2318, - facing = 0, - patrolRoute = { - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphriot", - x = 2084, - z = 2119, - facing = 2, - patrolRoute = { - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphriot", - x = 2280, - z = 1639, - facing = 1, - patrolRoute = { - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - }, - difficultyAtLeast = 4, - }, - { - name = "subraider", - x = 2080, - z = 2233, - facing = 2, - patrolRoute = { - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - }, - }, - { - name = "subraider", - x = 2190, - z = 1803, - facing = 2, - patrolRoute = { - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphriot", - x = 2185, - z = 2442, - facing = 3, - patrolRoute = { - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphriot", - x = 2248, - z = 1965, - facing = 0, - patrolRoute = { - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - }, - difficultyAtLeast = 4, - }, - { - name = "subraider", - x = 2128, - z = 2071, - facing = 1, - patrolRoute = { - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - }, - }, - { - name = "subraider", - x = 2299, - z = 2218, - facing = 0, - patrolRoute = { - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - }, - difficultyAtLeast = 2, - }, - { - name = "subraider", - x = 2245, - z = 2486, - facing = 2, - patrolRoute = { - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphriot", - x = 2337, - z = 2271, - facing = 0, - patrolRoute = { - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - }, - difficultyAtLeast = 4, - }, - { - name = "subraider", - x = 2558, - z = 1600, - facing = 3, - patrolRoute = { - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - }, - }, - { - name = "subraider", - x = 2215, - z = 2455, - facing = 2, - patrolRoute = { - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - }, - difficultyAtLeast = 2, - }, - { - name = "subraider", - x = 2155, - z = 2411, - facing = 3, - patrolRoute = { - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 2337, - z = 1766, - facing = 3, - patrolRoute = { - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - }, - }, - { - name = "amphraid", - x = 3352, - z = 1565, - facing = 0, - patrolRoute = { - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 2425, - z = 1679, - facing = 3, - patrolRoute = { - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphraid", - x = 3325, - z = 1661, - facing = 0, - patrolRoute = { - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - }, - difficultyAtLeast = 4, - }, - { - name = "amphraid", - x = 2244, - z = 1643, - facing = 1, - patrolRoute = { - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - }, - }, - { - name = "amphraid", - x = 2267, - z = 1880, - facing = 0, - patrolRoute = { - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - }, - }, - { - name = "amphraid", - x = 2255, - z = 2098, - facing = 0, - patrolRoute = { - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - {2477, 2432}, - }, - difficultyAtLeast = 2, - }, - { - name = "amphraid", - x = 2260, - z = 1914, - facing = 0, - patrolRoute = { - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - {2240, 2052}, - }, - difficultyAtLeast = 3, - }, - { - name = "amphriot", - x = 2582, - z = 1591, - facing = 3, - patrolRoute = { - {2240, 2052}, - {2477, 2432}, - {2286, 2570}, - {2077, 2102}, - {2236, 1635}, - {2742, 1521}, - {3369, 1548}, - {3305, 1691}, - {2767, 1602}, - {2420, 1671}, - }, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 5192, - z = 2760, - facing = 0, - }, - { - name = "staticmex", - x = 5992, - z = 3288, - facing = 0, - }, - { - name = "energysolar", - x = 4328, - z = 3256, - facing = 2, - }, - { - name = "energysolar", - x = 4184, - z = 3256, - facing = 2, - }, - { - name = "turretheavy", - x = 5288, - z = 3736, - facing = 3, - }, - { - name = "energypylon", - x = 5336, - z = 3864, - facing = 3, - }, - { - name = "staticmex", - x = 5848, - z = 1928, - facing = 0, - }, - { - name = "staticmex", - x = 5912, - z = 1496, - facing = 0, - }, - { - name = "staticmex", - x = 5560, - z = 1336, - facing = 0, - }, - { - name = "staticmex", - x = 5096, - z = 616, - facing = 0, - }, - { - name = "staticmex", - x = 4952, - z = 184, - facing = 0, - }, - { - name = "turretlaser", - x = 4784, - z = 128, - facing = 3, - }, - { - name = "turretriot", - x = 5464, - z = 1208, - facing = 3, - }, - { - name = "staticmex", - x = 4008, - z = 2360, - facing = 0, - }, - { - name = "staticmex", - x = 3512, - z = 2312, - facing = 0, - }, - { - name = "energysolar", - x = 4296, - z = 2424, - facing = 3, - }, - { - name = "energysolar", - x = 4024, - z = 2424, - facing = 3, - }, - { - name = "energysolar", - x = 3992, - z = 2296, - facing = 3, - }, - { - name = "energysolar", - x = 3992, - z = 2216, - facing = 3, - }, - { - name = "energysolar", - x = 3992, - z = 2136, - facing = 3, - }, - { - name = "energysolar", - x = 3992, - z = 2056, - facing = 3, - }, - { - name = "energysolar", - x = 3944, - z = 2376, - facing = 3, - }, - { - name = "energysolar", - x = 3864, - z = 2376, - facing = 3, - }, - { - name = "energysolar", - x = 4072, - z = 2344, - facing = 3, - }, - { - name = "energysolar", - x = 3576, - z = 2328, - facing = 2, - }, - { - name = "energysolar", - x = 3496, - z = 2376, - facing = 1, - }, - { - name = "energysolar", - x = 3448, - z = 2296, - facing = 0, - }, - { - name = "energysolar", - x = 3528, - z = 2248, - facing = 3, - }, - { - name = "energysolar", - x = 3656, - z = 2328, - facing = 3, - }, - { - name = "energysolar", - x = 3528, - z = 2168, - facing = 3, - }, - { - name = "energysolar", - x = 3528, - z = 1912, - facing = 3, - }, - { - name = "energysolar", - x = 3528, - z = 1832, - facing = 3, - }, - { - name = "staticmex", - x = 2584, - z = 2280, - facing = 0, - }, - { - name = "staticmex", - x = 280, - z = 2440, - facing = 0, - }, - { - name = "staticmex", - x = 3608, - z = 3640, - facing = 0, - }, - { - name = "energywind", - x = 5128, - z = 2760, - facing = 3, - }, - { - name = "energywind", - x = 5064, - z = 2760, - facing = 3, - }, - { - name = "energywind", - x = 5000, - z = 2760, - facing = 3, - }, - { - name = "energywind", - x = 5256, - z = 2760, - facing = 3, - }, - { - name = "energywind", - x = 5320, - z = 2760, - facing = 3, - }, - { - name = "energywind", - x = 5384, - z = 2760, - facing = 3, - }, - { - name = "energypylon", - x = 4920, - z = 2824, - facing = 3, - }, - { - name = "staticmex", - x = 4376, - z = 3384, - facing = 0, - }, - { - name = "tankheavyassault", - x = 5092, - z = 1542, - facing = 3, - patrolRoute = { - {3220, 3367}, - {4676, 2077}, - {5479, 1439}, - {3859, 1957}, - }, - difficultyAtLeast = 2, - }, - { - name = "tankheavyassault", - x = 3348, - z = 3083, - facing = 0, - patrolRoute = { - {4676, 2077}, - {5479, 1439}, - {3859, 1957}, - {3220, 3367}, - }, - difficultyAtLeast = 3, - }, - { - name = "tankheavyassault", - x = 5230, - z = 1644, - facing = 2, - patrolRoute = { - {3859, 1957}, - {3220, 3367}, - {4676, 2077}, - {5479, 1439}, - }, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 4824, - z = 2072, - facing = 0, - }, - { - name = "turretriot", - x = 4792, - z = 2312, - facing = 3, - }, - { - name = "turretriot", - x = 5064, - z = 2008, - facing = 2, - }, - { - name = "turretemp", - x = 4880, - z = 2112, - facing = 2, - }, - { - name = "turrettorp", - x = 5640, - z = 1576, - facing = 0, - }, - }, - }, - }, - neutralUnits = { - { - name = "pw_interception", - x = 5412, - z = 3616, - facing = 0, - invincible = true, - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {240, 240, 354, 386}, - height = 308, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {4300, 3910, 4418, 3975}, - height = 9, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {260, 308, 204, 900, 308, 206}, - width = 100 - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {696, 15, 2432, 976, 102, 2656}, - width = 150 - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {1835, 308, 391, 1844, 218, 529}, - width = 120, - needConstruction = true, - teamID = 0, - }, - --{ - -- terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - -- terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - -- position = {608, 250, 772, 424}, - -- height = 170, - -- volumeSelection = planetUtilities.TERRAFORM_VOLUME.LOWER_ONLY, - --}, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {4224, 2656, 4256, 2688}, - height = 420, - }, - }, - defeatConditionConfig = { - [0] = { - }, - [1] = { - ignoreUnitLossDefeat = true, - }, - }, - objectiveConfig = { - [1] = { - description = "Bring your Commander to the Interception Network", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - image = planetUtilities.ICON_DIR .. "energysingu.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy both Singularity Reactors", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Win by 15:00 - victoryByTime = 900, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 15:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "shieldscout", - "seismic", - }, - modules = { - "module_ablative_armor_LIMIT_B_2", - }, - abilities = { - "terraform", - } - }, - } - - local playerStartUnits = planetData.gameConfig.playerConfig.startUnits - for i = 0, 3 do - for j = 0, 2 do - playerStartUnits[#playerStartUnits + 1] = { - name = "shieldscout", - x = 960 + i*32, - z = 400 + j*32, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1200 + i*32, 490 + j*32}}, - {cmdID = planetUtilities.COMMAND.JUMP, pos = {1275 + i*32, 270 + j*32}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1452 + i*32, 270 + j*32}, options = {"shift"}}, - }, - } - end - end - - local enemyStartUnits = planetData.gameConfig.aiConfig[2].startUnits - for i = 1, #enemyStartUnits do - local data = enemyStartUnits[i] - if data.patrolRoute then - data.movestate = 0 - end - end - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet19.lua b/campaign/dev/planets/planet19.lua deleted file mode 100644 index b8e6ee031..000000000 --- a/campaign/dev/planets/planet19.lua +++ /dev/null @@ -1,717 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran02.png" - - local planetData = { - name = "Yeta", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.185, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.45, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Minimal", - radius = "7100 km", - primary = "Alain Anora", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = [[Finish the Cerberus artillery piece and link it to your ally's power plants. This cannon will break the enemy's defensive line and allow you to destroy their base.]], - }, - tips = { - { - image = "unitpics/staticarty.png", - text = [[The Cerberus is a long-range artillery structure capable of outranging and destroying the enemies defense as well as suppressing the movement of their mobile units. Toggle it into high-trajectory mode to fire over hills.]] - }, - { - image = "unitpics/energypylon.png", - text = [[In order to fire, your Cerberus needs to be connected to a power grid with at least 50 energy, although it does not consume this energy. Use Energy Pylons to extend the grid from your ally's Fusions. The Economy view (F4) displays your power grid as coloured circles.]] - }, - { - image = "unitpics/staticmex.png", - text = [[Connecting Metal Extractors to your energy production structures can give you more metal income through Overdrive. Check the online manual for more information about how Overdrive works.]] - }, - { - image = "unitpics/staticcon.png", - text = [[Caretakers are stationary constructors with large build range and high build power for their cost. They are limited by their inability to initiate construction, but they are the most cost-efficient way to get more production out of a factory.]] - }, - }, - gameConfig = { - mapName = "Tombstone Desert V2", - playerConfig = { - startX = 3435, - startZ = 3171, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "staticcon", - "energypylon", - "staticarty", - }, - startUnits = { - { - name = "staticarty", - x = 3048, - z = 2936, - facing = 2, - buildProgress = 0.05, - }, - { - name = "staticradar", - x = 3120, - z = 2850, - facing = 0, - }, - { - name = "staticcon", - x = 3245, - z = 3000, - facing = 3, - selfPatrol = true, - }, - } - }, - aiConfig = { - { - humanName = "Ally", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "turretlaser", - "turretmissile", - "staticradar", - "cloakcon", - "staticmex", - "energysolar", - "cloakraid", - "cloakskirm", - "cloakriot", - "cloakassault", - }, - commander = false, - startUnits = { - { - name = "energyfusion", - x = 4024, - z = 3536, - facing = 0, - }, - { - name = "energyfusion", - x = 4024, - z = 3376, - facing = 0, - }, - { - name = "energyfusion", - x = 4024, - z = 3232, - facing = 0, - }, - { - name = "staticmex", - x = 3672, - z = 3576, - facing = 0, - }, - { - name = "staticmex", - x = 4008, - z = 3752, - facing = 0, - }, - { - name = "staticmex", - x = 3720, - z = 3912, - facing = 0, - }, - { - name = "staticmex", - x = 3128, - z = 3736, - facing = 0, - }, - { - name = "staticmex", - x = 3960, - z = 2360, - facing = 0, - }, - { - name = "staticmex", - x = 2184, - z = 3528, - facing = 0, - }, - { - name = "staticmex", - x = 1560, - z = 4008, - facing = 0, - }, - { - name = "staticmex", - x = 3800, - z = 1032, - facing = 0, - }, - { - name = "turretlaser", - x = 3584, - z = 1120, - facing = 2, - }, - { - name = "turretlaser", - x = 3872, - z = 832, - facing = 2, - }, - { - name = "turretlaser", - x = 1312, - z = 4048, - facing = 3, - }, - { - name = "turretlaser", - x = 1872, - z = 3648, - facing = 2, - }, - { - name = "turretlaser", - x = 2288, - z = 3296, - facing = 2, - }, - { - name = "turretlaser", - x = 3024, - z = 2176, - facing = 2, - }, - { - name = "turretlaser", - x = 3424, - z = 1648, - facing = 2, - }, - { - name = "turretriot", - x = 3224, - z = 1864, - facing = 2, - }, - { - name = "turretriot", - x = 2056, - z = 3368, - facing = 2, - }, - { - name = "turretriot", - x = 2968, - z = 2680, - facing = 2, - }, - { - name = "energysolar", - x = 3880, - z = 3720, - facing = 0, - }, - { - name = "energysolar", - x = 3720, - z = 3672, - facing = 0, - }, - { - name = "energysolar", - x = 3640, - z = 3800, - facing = 0, - }, - { - name = "energysolar", - x = 3448, - z = 3832, - facing = 0, - }, - { - name = "energysolar", - x = 3272, - z = 3784, - facing = 0, - }, - { - name = "energysolar", - x = 3096, - z = 3800, - facing = 0, - }, - { - name = "factorycloak", - x = 3496, - z = 3608, - facing = 2, - }, - { - name = "staticcon", - x = 3464, - z = 3720, - facing = 0, - }, - { - name = "staticcon", - x = 3528, - z = 3704, - facing = 0, - }, - { - name = "staticmex", - x = 2536, - z = 2760, - facing = 0, - }, - { - name = "staticmex", - x = 2824, - z = 2472, - facing = 0, - }, - } - }, - { - startX = 100, - startZ = 100, - humanName = "Trenchers", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "turretlaser", - "turretmissile", - "staticradar", - "cloakcon", - "staticmex", - "energysolar", - "vehscout", - "vehraid", - "vehsupport", - "vehriot", - "vehassault", - "vehaa", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldaa", - }, - difficultyDependantUnlocks = { - [2] = {"shieldfelon"}, - [3] = {"shieldfelon","shieldarty"}, - [4] = {"shieldfelon","shieldarty","vehheavyarty",}, - }, - commanderLevel = 2, - commander = { - name = "Maginot", - chassis = "engineer", - decorations = { - }, - modules = { - "commweapon_shotgun", - "module_radarnet" - } - }, - startUnits = { - { - name = "turretheavy", - x = 2680, - z = 1176, - facing = 0, - }, - { - name = "turretheavy", - x = 1240, - z = 3080, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2840, - z = 344, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2168, - z = 1624, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1560, - z = 2216, - facing = 0, - }, - { - name = "turretriot", - x = 1432, - z = 2424, - facing = 0, - }, - { - name = "turretriot", - x = 2344, - z = 1480, - facing = 0, - }, - { - name = "turretriot", - x = 3000, - z = 200, - facing = 1, - }, - { - name = "turretriot", - x = 2920, - z = 552, - facing = 1, - }, - { - name = "turretheavylaser", - x = 232, - z = 3288, - facing = 0, - }, - { - name = "turretriot", - x = 440, - z = 3304, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1640, - z = 1704, - facing = 2, - }, - { - name = "turretriot", - x = 808, - z = 2888, - facing = 1, - }, - { - name = "turretriot", - x = 2440, - z = 744, - facing = 0, - }, - { - name = "factoryveh", - x = 1800, - z = 136, - facing = 0, - }, - { - name = "factoryshield", - x = 128, - z = 1728, - facing = 1, - }, - { - name = "staticmex", - x = 200, - z = 408, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 168, - facing = 0, - }, - { - name = "staticmex", - x = 456, - z = 296, - facing = 0, - }, - { - name = "staticmex", - x = 264, - z = 1112, - facing = 0, - }, - { - name = "staticmex", - x = 1464, - z = 248, - facing = 0, - }, - { - name = "energysolar", - x = 280, - z = 280, - facing = 0, - }, - { - name = "energysolar", - x = 456, - z = 200, - facing = 0, - }, - { - name = "energysolar", - x = 616, - z = 280, - facing = 0, - }, - { - name = "energysolar", - x = 824, - z = 280, - facing = 0, - }, - { - name = "energysolar", - x = 1016, - z = 264, - facing = 0, - }, - { - name = "energysolar", - x = 1192, - z = 248, - facing = 0, - }, - { - name = "energysolar", - x = 1368, - z = 216, - facing = 0, - }, - { - name = "energywind", - x = 728, - z = 296, - facing = 0, - }, - { - name = "energypylon", - x = 536, - z = 600, - facing = 0, - }, - { - name = "energysolar", - x = 200, - z = 520, - facing = 0, - }, - { - name = "energysolar", - x = 200, - z = 696, - facing = 0, - }, - { - name = "energysolar", - x = 200, - z = 872, - facing = 0, - }, - { - name = "energysolar", - x = 184, - z = 1032, - facing = 0, - }, - { - name = "staticmex", - x = 872, - z = 2152, - facing = 0, - }, - { - name = "staticmex", - x = 1784, - z = 744, - facing = 0, - }, - { - name = "turretlaser", - x = 80, - z = 1936, - facing = 0, - }, - { - name = "turretlaser", - x = 368, - z = 1712, - facing = 0, - }, - { - name = "turretlaser", - x = 160, - z = 1392, - facing = 0, - }, - { - name = "turretlaser", - x = 1536, - z = 144, - facing = 0, - }, - { - name = "turretlaser", - x = 1920, - z = 432, - facing = 0, - }, - { - name = "turretlaser", - x = 2128, - z = 128, - facing = 0, - }, - { - name = "energypylon", - x = 968, - z = 2616, - facing = 0, - }, - { - name = "energypylon", - x = 632, - z = 1864, - facing = 0, - }, - { - name = "energypylon", - x = 984, - z = 1160, - facing = 0, - }, - { - name = "energypylon", - x = 1880, - z = 1048, - facing = 0, - }, - { - name = "energypylon", - x = 2552, - z = 952, - facing = 0, - }, - { - name = "energyfusion", - x = 344, - z = 432, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryshield", - "factoryveh", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Shieldbot Factory and Rover Assembly", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { -- Destroy both DDMs - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "turretheavy", - }, - image = planetUtilities.ICON_DIR .. "turretheavy.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy all enemy Desolator turrets", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Build two Tyrants - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 2, - unitTypes = { - "staticarty", - }, - image = planetUtilities.ICON_DIR .. "staticarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build two Cerberuses", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win in 12 minutes - victoryByTime = 720, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 12:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "staticcon", - "energypylon", - }, - modules = { - "module_heavy_armor_LIMIT_A_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet2.lua b/campaign/dev/planets/planet2.lua deleted file mode 100644 index b4c197788..000000000 --- a/campaign/dev/planets/planet2.lua +++ /dev/null @@ -1,410 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/desert03.png" - - local planetData = { - name = "Beth XVII", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.04, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.73, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Desert", - radius = "5950 km", - primary = "Beth", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24417", - text = "AAAA Your opponent has prepared powerful close-range Stardust turrets and Reavers to defeat your raiders. Build a Cloakbot Factory, then counter their strategy with longer-ranged Ronins to secure victory.\r\r\rbreak\n\nN break", - }, - tips = { - { - image = "unitpics/turretriot.png", - text = [[Stardusts are riot turrets which will shred any nearby units. Your Ronins can avoid this fate by attacking from just outside the Stardusts' range.]] - }, - { - image = "unitpics/cloakskirm.png", - text = [[Ronins are skirmishers which can safely destroy Reavers from long range. Glaives are fast enough to close the distance while avoiding Ronin rockets.]] - }, - { - image = "unitpics/cloakcon.png", - text = [[Instead of making a second factory, use constructors to assist your first one - it's more cost efficient.]] - } - -- { - -- image = "unitpics/energysolar.png", - -- text = [[Don't forget to build Metal Extractors and Solar Collectors to power your economy and build up a large army. Connect energy generators to your Mexes to overdrive them, giving you more metal income. (See the manual for more about overdrive.)]] - -- }, - }, - gameConfig = { - mapName = "Battle for PlanetXVII-v01", - playerConfig = { - startX = 3700, - startZ = 3700, - allyTeam = 0, - useUnlocks = true, - startMetal = 250, - startEnergy = 250, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "cloakskirm", - "cloakriot", - }, - startUnits = { - { - name = "staticradar", - x = 3730, - z = 3625, - facing = 3, - }, - { - name = "staticradar", - x = 3010, - z = 2540, - facing = 3, - }, - { - name = "turretriot", - x = 2540, - z = 3580, - facing = 2, - }, - { - name = "turretriot", - x = 3210, - z = 3060, - facing = 2, - }, - { - name = "turretriot", - x = 3840, - z = 2575, - facing = 3, - }, - { - name = "cloakskirm", - x = 3340, - z = 3200, - facing = 0, - }, - { - name = "cloakskirm", - x = 3460, - z = 3180, - facing = 0, - }, - { - name = "cloakskirm", - x = 3580, - z = 3200, - facing = 0, - }, - { - name = "cloakriot", - x = 3380, - z = 3280, - facing = 0, - }, - { - name = "cloakriot", - x = 3540, - z = 3280, - facing = 0, - }, - { - name = "staticmex", - x = 3960, - z = 3640, - facing = 0, - }, - { - name = "energysolar", - x = 3967, - z = 3800, - facing = 0, - }, - { - name = "staticmex", - x = 3975, - z = 4025, - facing = 0, - }, - { - name = "energysolar", - x = 3700, - z = 4000, - facing = 0, - }, - { - name = "staticmex", - x = 3575, - z = 3960, - facing = 0, - }, - }, - }, - aiConfig = { - { - startX = 400, - startZ = 400, - aiLib = "Circuit_difficulty_autofill", - humanName = "Wubrior Master", - bitDependant = true, - startMetal = 250, - startEnergy = 250, - allyTeam = 1, - unlocks = { - "cloakraid", - "cloakriot", - }, - difficultyDependantUnlocks = { - [3] = {"staticmex","energysolar"}, - [4] = {"cloakcon","staticmex","energysolar"}, - }, - commanderLevel = 2, - commander = { - name = "Wub Wub Wub", - chassis = "guardian", - decorations = { - }, - modules = { - "commweapon_beamlaser", - } - }, - startUnits = { - { - name = "staticradar", - x = 1300, - z = 1014, - facing = 0, - }, - { - name = "turretriot", - x = 2770, - z = 1880, - facing = 0, - }, - { - name = "turretriot", - x = 850, - z = 1660, - facing = 0, - }, - { - name = "turretriot", - x = 1830, - z = 1230, - facing = 0, - }, - { - name = "turretriot", - x = 3177, - z = 330, - facing = 0, - }, - { - name = "factorycloak", - x = 660, - z = 770, - facing = 0, - }, - { - name = "cloakriot", - x = 660, - z = 900, - facing = 0, - }, - { - name = "cloakriot", - x = 660, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 100, - z = 135, - facing = 2, - }, - { - name = "staticmex", - x = 610, - z = 500, - facing = 0, - }, - { - name = "staticmex", - x = 1300, - z = 135, - facing = 0, - }, - { - name = "staticmex", - x = 1510, - z = 350, - facing = 0, - }, - { - name = "staticmex", - x = 1800, - z = 90, - facing = 0, - }, - { - name = "energywind", - x = 2700, - z = 580, - facing = 2, - }, - { - name = "energywind", - x = 2675, - z = 700, - facing = 2, - }, - { - name = "energywind", - x = 2700, - z = 830, - facing = 2, - }, - { - name = "energywind", - x = 2650, - z = 950, - facing = 2, - }, - { - name = "energywind", - x = 2600, - z = 1070, - facing = 2, - }, - { - name = "energysolar", - x = 1450, - z = 200, - facing = 2, - }, - { - name = "energywind", - x = 220, - z = 130, - facing = 2, - }, - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {3808, 2544, 3808 + 48, 2544 + 48}, - height = 130, - volumeSelection = planetUtilities.TERRAFORM_VOLUME.RAISE_ONLY, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Cloakbot Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { -- plop your factory - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "factorycloak", - }, - image = planetUtilities.ICON_DIR .. "factorycloak.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a Cloakbot Factory", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have 10 mex - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 10 Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Build 10 Ronins - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 13, - unitTypes = { - "cloakskirm", - }, - image = planetUtilities.ICON_DIR .. "cloakskirm.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 10 Ronins", - experience = planetUtilities.BONUS_EXP, - }, - [4] = { -- Kill enemy Stardusts in 8 minutes. - satisfyByTime = 480, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "turretriot", - }, - image = planetUtilities.ICON_DIR .. "turretriot.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Find and destroy all 4 enemy Stardust turrets before 8:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cloakskirm", - }, - modules = { - "commweapon_heavymachinegun", - "module_high_power_servos_LIMIT_A_2", - }, - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet20.lua b/campaign/dev/planets/planet20.lua deleted file mode 100644 index 90d7333fe..000000000 --- a/campaign/dev/planets/planet20.lua +++ /dev/null @@ -1,1078 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran01.png" - - local planetData = { - name = "Walchice", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.24, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.84, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "5930 km", - primary = "Chukon", - primaryType = "G1V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24429", - text = [[You have secured a Tech Lab but the enemy surrounds you on all sides. Construct Stinger and Stardust defence structures and hold out for 15 minutes.]] - }, - tips = { - { - image = "unitpics/turretriot.png", - text = [[Stardust turrets are very effective against large groups of raiders. They have short range and are vulnerable to skirmishers because of this.]] - }, - { - image = "unitpics/turretheavylaser.png", - text = [[Stinger turrets have far longer range but can only fire on a single target. Stingers are vulnerable to raiders and artillery that outranges them.]] - }, - { - image = "unitpics/spideremp.png", - text = [[Use your Venom EMP spiders to defend against initial raids.]] - }, - }, - gameConfig = { - mapName = "Archers_Valley_v6", - playerConfig = { - startX = 3000, - startZ = 3300, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "turretheavylaser", - "turretriot", - }, - startUnits = { - { - name = "pw_techlab", - x = 3090, - z = 2874, - facing = 1, - defeatIfDestroyedObjectiveID = 1, - }, - { - name = "staticmex", - x = 2856, - z = 3080, - facing = 0, - }, - { - name = "staticmex", - x = 3000, - z = 2376, - facing = 0, - }, - { - name = "staticmex", - x = 3160, - z = 3784, - facing = 0, - }, - { - name = "staticmex", - x = 1832, - z = 2632, - facing = 0, - }, - { - name = "staticradar", - x = 2800, - z = 2464, - facing = 0, - }, - { - name = "staticradar", - x = 3376, - z = 3136, - facing = 0, - }, - { - name = "energysolar", - x = 2920, - z = 3096, - facing = 0, - }, - { - name = "energysolar", - x = 2840, - z = 3144, - facing = 3, - }, - { - name = "energysolar", - x = 2792, - z = 3064, - facing = 2, - }, - { - name = "energysolar", - x = 2872, - z = 3016, - facing = 1, - }, - { - name = "energysolar", - x = 1896, - z = 2648, - facing = 0, - }, - { - name = "energysolar", - x = 1816, - z = 2696, - facing = 3, - }, - { - name = "energysolar", - x = 1768, - z = 2616, - facing = 2, - }, - { - name = "energysolar", - x = 1848, - z = 2568, - facing = 1, - }, - { - name = "energysolar", - x = 3224, - z = 3800, - facing = 0, - }, - { - name = "energysolar", - x = 3144, - z = 3848, - facing = 3, - }, - { - name = "energysolar", - x = 3096, - z = 3768, - facing = 2, - }, - { - name = "energysolar", - x = 3176, - z = 3720, - facing = 1, - }, - { - name = "energywind", - x = 3048, - z = 2376, - facing = 3, - }, - { - name = "energywind", - x = 3048, - z = 2424, - facing = 3, - }, - { - name = "energywind", - x = 3000, - z = 2424, - facing = 2, - }, - { - name = "energywind", - x = 2952, - z = 2424, - facing = 2, - }, - { - name = "energywind", - x = 2952, - z = 2376, - facing = 1, - }, - { - name = "energywind", - x = 2952, - z = 2328, - facing = 1, - }, - { - name = "energywind", - x = 3000, - z = 2328, - facing = 0, - }, - { - name = "energywind", - x = 3048, - z = 2328, - facing = 0, - }, - { - name = "turretlaser", - x = 2912, - z = 2288, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2296, - z = 2488, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3518, - z = 2704, - facing = 1, - }, - { - name = "turretriot", - x = 3160, - z = 4072, - facing = 0, - }, - { - name = "turretlaser", - x = 3424, - z = 3952, - facing = 0, - }, - { - name = "turretlaser", - x = 1808, - z = 2896, - facing = 3, - }, - { - name = "turretlaser", - x = 2528, - z = 3712, - facing = 0, - }, - { - name = "turretmissile", - x = 1952, - z = 3216, - facing = 0, - }, - { - name = "turretmissile", - x = 2048, - z = 3296, - facing = 0, - }, - { - name = "spideremp", - x = 2666, - z = 3430, - facing = 0, - }, - { - name = "spideremp", - x = 2777, - z = 3430, - facing = 0, - }, - { - name = "spideremp", - x = 2666, - z = 3500, - facing = 0, - }, - { - name = "spideremp", - x = 2777, - z = 3500, - facing = 0, - }, - { - name = "turretmissile", - x = 3680, - z = 3232, - facing = 1, - }, - { - name = "turretmissile", - x = 3680, - z = 3136, - facing = 1, - }, - } - }, - aiConfig = { - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Oppressors", - allyTeam = 1, - unlocks = { - "staticradar", - "staticmex", - "energysolar", - "turretlaser", - "cloakraid", - "cloakskirm", - "cloakriot", - "shieldraid", - "shieldskirm", - "shieldriot", - "amphraid", - "amphimpulse", - }, - difficultyDependantUnlocks = { - [2] = {"amphfloater"}, - [3] = {"amphfloater","cloakcon"}, - [4] = {"amphfloater","cloakcon","shieldarty"}, - }, - startX = 800, - startZ = 4800, - commanderLevel = 2, - commander = { - name = "Bast", - chassis = "engineer", - decorations = { - }, - modules = { - "commweapon_lparticlebeam", - "module_autorepair", - "module_high_power_servos", - "module_ablative_armor", - } - }, - midgameUnits = { - -- Tanks at 8 minutes - -- North - { - name = "tankassault", - x = 3500, - z = 150, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "tankriot", - x = 3450, - z = 150, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "tankassault", - x = 3400, - z = 150, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - -- South - { - name = "tankassault", - x = 3000, - z = 6000, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "tankassault", - x = 3450, - z = 150, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "tankriot", - x = 3400, - z = 150, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - -- Stuff at 11 minutes - -- Northeast - { - name = "hoverarty", - x = 6000, - z = 1200, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - }, - { - name = "tankassault", - x = 6000, - z = 1250, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - difficultyAtMost = 3, - }, - { - name = "tankassault", - x = 6000, - z = 1300, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - difficultyAtMost = 3, - }, - { - name = "striderdante", - x = 6000, - z = 1300, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - }, - -- Southwest - { - name = "tankarty", - x = 100, - z = 4000, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - }, - { - name = "tankarty", - x = 100, - z = 4050, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "jumpassault", - x = 100, - z = 4100, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - }, - { - name = "jumpassault", - x = 100, - z = 4150, - facing = 0, - spawnRadius = 50, - delay = 11*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - }, - startUnits = { - { - name = "turretriot", - x = 4648, - z = 4792, - facing = 0, - }, - { - name = "staticmex", - x = 3880, - z = 5432, - facing = 0, - }, - { - name = "staticmex", - x = 4488, - z = 5848, - facing = 0, - }, - { - name = "staticmex", - x = 4728, - z = 5704, - facing = 0, - }, - { - name = "staticmex", - x = 5048, - z = 5992, - facing = 0, - }, - { - name = "staticmex", - x = 1240, - z = 5144, - facing = 0, - }, - { - name = "staticmex", - x = 536, - z = 5016, - facing = 0, - }, - { - name = "staticmex", - x = 856, - z = 5256, - facing = 0, - }, - { - name = "staticmex", - x = 296, - z = 4424, - facing = 0, - }, - { - name = "staticmex", - x = 2840, - z = 248, - facing = 0, - }, - { - name = "staticmex", - x = 3144, - z = 760, - facing = 0, - }, - { - name = "staticmex", - x = 3496, - z = 392, - facing = 0, - }, - { - name = "staticmex", - x = 1672, - z = 312, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2296, - z = 888, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2888, - z = 1256, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3224, - z = 1240, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4120, - z = 1576, - facing = 0, - }, - { - name = "turretriot", - x = 3064, - z = 1336, - facing = 0, - }, - { - name = "turretriot", - x = 2152, - z = 920, - facing = 0, - }, - { - name = "turretriot", - x = 4248, - z = 1640, - facing = 0, - }, - { - name = "factoryamph", - x = 3176, - z = 104, - facing = 0, - }, - { - name = "turretaalaser", - x = 2696, - z = 392, - facing = 0, - }, - { - name = "turretaalaser", - x = 3640, - z = 680, - facing = 0, - }, - { - name = "cloakcon", - x = 807, - z = 4966, - facing = 0, - }, - { - name = "cloakcon", - x = 870, - z = 5008, - facing = 0, - }, - { - name = "energysolar", - x = 1080, - z = 5144, - facing = 0, - }, - { - name = "energysolar", - x = 936, - z = 5160, - facing = 0, - }, - { - name = "energysolar", - x = 760, - z = 5128, - facing = 0, - }, - { - name = "energysolar", - x = 632, - z = 5016, - facing = 0, - }, - { - name = "energysolar", - x = 504, - z = 4856, - facing = 0, - }, - { - name = "energysolar", - x = 440, - z = 4712, - facing = 0, - }, - { - name = "energysolar", - x = 360, - z = 4552, - facing = 0, - }, - { - name = "energysolar", - x = 600, - z = 4904, - facing = 0, - }, - { - name = "energysolar", - x = 376, - z = 4424, - facing = 0, - }, - { - name = "energysolar", - x = 2920, - z = 360, - facing = 0, - }, - { - name = "energysolar", - x = 3016, - z = 504, - facing = 0, - }, - { - name = "energysolar", - x = 3128, - z = 632, - facing = 0, - }, - { - name = "energysolar", - x = 3256, - z = 584, - facing = 0, - }, - { - name = "energysolar", - x = 3368, - z = 440, - facing = 0, - }, - { - name = "energysolar", - x = 4600, - z = 5784, - facing = 0, - }, - { - name = "energysolar", - x = 4808, - z = 5800, - facing = 0, - }, - { - name = "energysolar", - x = 4952, - z = 5912, - facing = 0, - }, - { - name = "energysolar", - x = 4376, - z = 5800, - facing = 0, - }, - { - name = "energysolar", - x = 4216, - z = 5704, - facing = 0, - }, - { - name = "energysolar", - x = 4040, - z = 5576, - facing = 0, - }, - { - name = "energysolar", - x = 3960, - z = 5496, - facing = 0, - }, - { - name = "energysolar", - x = 4184, - z = 5592, - facing = 0, - }, - { - name = "turretlaser", - x = 3472, - z = 704, - facing = 0, - }, - { - name = "turretlaser", - x = 2848, - z = 672, - facing = 0, - }, - { - name = "turretlaser", - x = 3680, - z = 304, - facing = 0, - }, - { - name = "turretlaser", - x = 2640, - z = 160, - facing = 0, - }, - { - name = "factorycloak", - x = 920, - z = 4792, - facing = 2, - }, - { - name = "factoryshield", - x = 4512, - z = 5520, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3416, - z = 4968, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4616, - z = 4600, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2328, - z = 4664, - facing = 2, - }, - { - name = "turretheavylaser", - x = 888, - z = 3800, - facing = 2, - }, - { - name = "turretriot", - x = 1048, - z = 3896, - facing = 2, - }, - { - name = "turretriot", - x = 2152, - z = 4632, - facing = 2, - }, - { - name = "turretriot", - x = 3624, - z = 4872, - facing = 2, - }, - { - name = "turretlaser", - x = 4192, - z = 5008, - facing = 2, - }, - { - name = "turretlaser", - x = 2896, - z = 4848, - facing = 2, - }, - { - name = "turretlaser", - x = 1296, - z = 4896, - facing = 2, - }, - { - name = "turretlaser", - x = 480, - z = 4256, - facing = 2, - }, - { - name = "turretlaser", - x = 1120, - z = 4384, - facing = 2, - }, - { - name = "turretlaser", - x = 3648, - z = 5584, - facing = 2, - }, - { - name = "turretlaser", - x = 4976, - z = 5504, - facing = 2, - }, - { - name = "turretaalaser", - x = 680, - z = 4536, - facing = 2, - }, - { - name = "turretaalaser", - x = 1144, - z = 4952, - facing = 2, - }, - { - name = "turretaalaser", - x = 3912, - z = 5816, - facing = 2, - }, - { - name = "turretaalaser", - x = 4888, - z = 5208, - facing = 2, - }, - { - name = "shieldcon", - x = 4431, - z = 5625, - facing = 0, - }, - { - name = "shieldcon", - x = 4501, - z = 5648, - facing = 0, - }, - { - name = "amphcon", - x = 3143, - z = 198, - facing = 0, - }, - { - name = "amphraid", - x = 3138, - z = 332, - facing = 0, - }, - { - name = "amphraid", - x = 3342, - z = 266, - facing = 0, - }, - { - name = "amphraid", - x = 3580, - z = 274, - facing = 0, - }, - { - name = "amphcon", - x = 3245, - z = 214, - facing = 0, - }, - { - name = "cloakskirm", - x = 820, - z = 4654, - facing = 0, - }, - { - name = "cloakskirm", - x = 940, - z = 4659, - facing = 0, - }, - { - name = "cloakskirm", - x = 1046, - z = 4752, - facing = 0, - }, - { - name = "shieldassault", - x = 4369, - z = 5441, - facing = 0, - }, - { - name = "shieldassault", - x = 4466, - z = 5388, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - loseAfterSeconds = 900, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Protect the Tech Lab for 15 minutes", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 12 Metal Extractors - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 12 Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Destroy an enemy factory - satisfyOnce = true, - onlyCountRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "factorycloak", - "factoryshield", - "factoryamph", - }, - image = planetUtilities.ICON_DIR .. "factoryamph.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy one of the enemy Factories", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Do not lose any Solars - satisfyForever = true, - onlyCountRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - unitTypes = { - "energysolar", - }, - image = planetUtilities.ICON_DIR .. "energysolar.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose any Solar Collectors", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "turretheavylaser", - "turretriot", - }, - modules = { - "module_ablative_armor_LIMIT_C_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet21.lua b/campaign/dev/planets/planet21.lua deleted file mode 100644 index 80c68682b..000000000 --- a/campaign/dev/planets/planet21.lua +++ /dev/null @@ -1,1554 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/swamp02.png" - - local planetData = { - name = "Vis Ragstrom", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.50, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.49, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6070 km", - primary = "Laria", - primaryType = "G9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[You've captured a Strider Hub capable of building the heavy Dante riot strider, but the incoming waves of Chickens will make the task of retrieving a prototype from the surface much more difficult...]] - }, - tips = { - { - image = "unitpics/striderdante.png", - text = [[The Dante likes to get up close and personal so its heatrays can inflict maximum damage. Fire a large barrage of napalm rockets with manual fire (default hotkey D).]] - }, - { - image = "unitpics/chickens.png", - text = [[The Chicken Hive has been thoroughly agitated, and it's sending out some nasty critters - get your business on this planet done as quickly as possible. Reclaim chicken eggs to build up quickly.]] - }, - { - image = "unitpics/guardian.png", - text = [[The faction you stole the Strider Hub from is still pretty pissed as well. They're hard pressed by the chickens, but don't expect them to make your escape easy.]] - }, - }, - gameConfig = { - mapName = "Otago 1.1", - modoptions = { - graceperiod = 0.5, -- =30s, which is the minimum - chicken_nominiqueen = 1, - chicken_minaggro = 5, -- aggro influences chicken tech-up rate (and queen time reduction from killing burrows, but queens are disabled here) - chicken_maxaggro = 5, - chicken_endless = 1, - chicken_hidepanel = 1, - chicken_nowavemessages = 1, - campaign_chicken_types_special = {}, - }, - modoptionDifficulties = { - [1] = { - chickenspawnrate = 60, - burrowspawnrate = 90, - campaign_chicken_types_offense = { - chicken = {time = -4, squadSize = 5}, - chicken_pigeon = {time = 5, squadSize = 1.4}, - chickens = {time = 1, squadSize = 1.0}, --spiker - chickena = {time = 3, squadSize = 0.5}, --cockatrice - chicken_sporeshooter= {time = 5, squadSize = 0.5}, - chicken_leaper = {time = 10, squadSize = 0.8}, - chickenr = {time = 13, squadSize = 1.2}, -- lobber - chickenc = {time = 20, squadSize = 0.5}, -- basilisk - chicken_tiamat = {time = 25, squadSize = 0.2}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 18, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 18, squadSize = 0.6}, - }, - }, - [2] = { - chickenspawnrate = 50, - burrowspawnrate = 70, - campaign_chicken_types_offense = { - chicken = {time = -4, squadSize = 5}, - chicken_pigeon = {time = 5, squadSize = 1.4}, - chickens = {time = 1, squadSize = 1.0}, --spiker - chickena = {time = 3, squadSize = 0.5}, --cockatrice - chicken_sporeshooter= {time = 5, squadSize = 0.5}, - chicken_leaper = {time = 10, squadSize = 0.8}, - chickenr = {time = 11, squadSize = 1.2}, -- lobber - chickenc = {time = 15, squadSize = 0.5}, -- basilisk - chicken_tiamat = {time = 20, squadSize = 0.2}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 16, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 16, squadSize = 0.6}, - }, - }, - [3] = { - chickenspawnrate = 38, - burrowspawnrate = 60, - campaign_chicken_types_offense = { - chicken = {time = -4, squadSize = 6}, - chicken_pigeon = {time = 5, squadSize = 1.4}, - chickens = {time = 1, squadSize = 1.6}, --spiker - chickena = {time = 3, squadSize = 1.2}, --cockatrice - chicken_sporeshooter= {time = 5, squadSize = 0.8}, - chicken_leaper = {time = 10, squadSize = 0.8}, - chickenr = {time = 10, squadSize = 1.2}, -- lobber - chickenc = {time = 13, squadSize = 0.5}, -- basilisk - chicken_tiamat = {time = 16, squadSize = 0.2}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 14, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 14, squadSize = 0.6}, - }, - }, - [4] = { - chickenspawnrate = 30, - burrowspawnrate = 40, - campaign_chicken_types_offense = { - chicken = {time = -4, squadSize = 6}, - chicken_pigeon = {time = 5, squadSize = 1.4}, - chickens = {time = 1, squadSize = 1.6}, --spiker - chickena = {time = 3, squadSize = 1.2}, --cockatrice - chicken_sporeshooter= {time = 5, squadSize = 0.8}, - chicken_leaper = {time = 10, squadSize = 0.8}, - chickenr = {time = 9, squadSize = 1.4}, -- lobber - chickenc = {time = 11, squadSize = 0.6}, -- basilisk - chicken_tiamat = {time = 13, squadSize = 0.2}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 12, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 12, squadSize = 0.6}, - }, - }, - }, - playerConfig = { - startX = 1100, - startZ = 4900, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderdante", - }, - unitBlacklist = { - striderhub = true, --you start with one that you should protect - }, - typeVictoryAtLocation = { - striderdante = { - { - x = 8256, - z = 3680, - radius = 400, - objectiveID = 1, - }, - } - }, - startUnits = { - { - name = "shieldcon", - x = 1000, - z = 4700, - facing = 0, - }, - { - name = "shieldcon", - x = 1100, - z = 4700, - facing = 0, - }, - { - name = "shieldcon", - x = 1200, - z = 4700, - facing = 0, - }, - { - name = "staticmex", - x = 408, - z = 4680, - facing = 1, - }, - { - name = "staticmex", - x = 408, - z = 4328, - facing = 1, - }, - { - name = "staticmex", - x = 888, - z = 5192, - facing = 0, - }, - { - name = "staticmex", - x = 920, - z = 5480, - facing = 0, - }, - { - name = "staticmex", - x = 1624, - z = 5944, - facing = 0, - }, - { - name = "staticmex", - x = 1960, - z = 5944, - facing = 0, - }, - { - name = "energysolar", - x = 344, - z = 4440, - facing = 1, - }, - { - name = "energysolar", - x = 344, - z = 4600, - facing = 1, - }, - { - name = "energysolar", - x = 904, - z = 5336, - facing = 1, - }, - { - name = "energysolar", - x = 1848, - z = 6008, - facing = 1, - }, - { - name = "energysolar", - x = 1720, - z = 6008, - facing = 1, - }, - { - name = "energygeo", - x = 56, - z = 5944, - facing = 0, - }, - { - name = "energypylon", - x = 616, - z = 5688, - facing = 0, - }, - { - name = "energypylon", - x = 1352, - z = 5864, - facing = 0, - }, - { - name = "energypylon", - x = 504, - z = 4984, - facing = 0, - }, - { - name = "staticradar", - x = 2224, - z = 4480, - facing = 0, - }, - { - name = "striderhub", - x = 1408, - z = 4912, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1408, 4923}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1433, 4898}, options = {"shift"}}, - }, - }, - { - name = "striderdante", - x = 1403, - z = 5089, - facing = 0, - }, - { - name = "turretlaser", - x = 2336, - z = 4416, - facing = 1, - }, - { - name = "turretlaser", - x = 2288, - z = 4768, - facing = 1, - }, - { - name = "turretlaser", - x = 2000, - z = 4416, - facing = 2, - }, - { - name = "turretlaser", - x = 1376, - z = 3648, - facing = 2, - }, - { - name = "turretlaser", - x = 384, - z = 3184, - facing = 2, - }, - { - name = "staticradar", - x = 192, - z = 2992, - facing = 2, - }, - { - name = "turretriot", - x = 888, - z = 3480, - facing = 2, - }, - { - name = "turretriot", - x = 1496, - z = 4152, - facing = 2, - }, - { - name = "turretriot", - x = 2552, - z = 5224, - facing = 2, - }, - { - name = "turretriot", - x = 2872, - z = 5608, - facing = 2, - }, - { - name = "turretlaser", - x = 3168, - z = 5888, - facing = 1, - }, - { - name = "turretaalaser", - x = 2168, - z = 5352, - facing = 0, - }, - { - name = "turretaalaser", - x = 600, - z = 4120, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 6500, - startZ = 3000, - humanName = "Hastur3", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energygeo", - "staticcon", - "staticradar", - --"turretheavylaser", a bit too good against Dante - "turretriot", - "turretaaclose", - "turretaalaser", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldassault", - "shieldskirm", - "factoryspider", - "spidercon", - "spiderscout", - "spideremp", - "spiderriot", - "spiderskirm", - "spiderassault", - "factoryveh", - "vehraid", - "vehriot", - "vehsupport", - "vehassault", - }, - difficultyDependantUnlocks = { - [3] = {"turretmissile"}, - [4] = {"spiderantiheavy","turretmissile","turretlaser"}, - }, - commanderLevel = 4, - commander = { - name = "Firekeeper", - chassis = "guardian", - decorations = { - }, - modules = { - "weaponmod_napalm_warhead", - "commweapon_riotcannon", - "commweapon_rocketlauncher", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_autorepair", - "module_high_power_servos", - "module_high_power_servos", - } - }, - startUnits = { - { - name = "staticmex", - x = 6936, - z = 5848, - facing = 0, - }, - { - name = "staticmex", - x = 4312, - z = 4984, - facing = 0, - }, - { - name = "staticmex", - x = 6696, - z = 3656, - facing = 0, - }, - { - name = "staticmex", - x = 5976, - z = 4104, - facing = 0, - }, - { - name = "staticmex", - x = 4856, - z = 4984, - facing = 0, - }, - { - name = "staticmex", - x = 4952, - z = 3704, - facing = 0, - }, - { - name = "staticmex", - x = 7704, - z = 2648, - facing = 0, - }, - { - name = "staticmex", - x = 8824, - z = 1848, - facing = 0, - }, - { - name = "staticmex", - x = 8808, - z = 1416, - facing = 0, - }, - { - name = "staticmex", - x = 8808, - z = 4696, - facing = 0, - }, - { - name = "staticmex", - x = 8424, - z = 4152, - facing = 0, - }, - { - name = "energygeo", - x = 5704, - z = 5224, - facing = 0, - }, - { - name = "energygeo", - x = 7240, - z = 4120, - facing = 0, - }, - { - name = "energyfusion", - x = 7320, - z = 5920, - facing = 0, - }, - { - name = "energyfusion", - x = 8856, - z = 5056, - facing = 0, - }, - { - name = "energypylon", - x = 8600, - z = 4680, - facing = 0, - }, - { - name = "energypylon", - x = 7864, - z = 4152, - facing = 0, - }, - { - name = "energypylon", - x = 5992, - z = 4664, - facing = 0, - }, - { - name = "energypylon", - x = 6664, - z = 4040, - facing = 0, - }, - { - name = "energypylon", - x = 6632, - z = 5416, - facing = 0, - }, - { - name = "energysolar", - x = 6040, - z = 4120, - facing = 0, - }, - { - name = "energysolar", - x = 5960, - z = 4168, - facing = 3, - }, - { - name = "energysolar", - x = 5912, - z = 4088, - facing = 2, - }, - { - name = "energysolar", - x = 5992, - z = 4040, - facing = 1, - }, - { - name = "energysolar", - x = 8488, - z = 4168, - facing = 0, - }, - { - name = "energysolar", - x = 8408, - z = 4216, - facing = 3, - }, - { - name = "energysolar", - x = 8440, - z = 4088, - facing = 1, - }, - { - name = "energysolar", - x = 6760, - z = 3672, - facing = 0, - }, - { - name = "energysolar", - x = 6680, - z = 3720, - facing = 3, - }, - { - name = "energysolar", - x = 6632, - z = 3640, - facing = 2, - }, - { - name = "energysolar", - x = 6712, - z = 3592, - facing = 1, - }, - { - name = "energysolar", - x = 7000, - z = 5864, - facing = 0, - }, - { - name = "energysolar", - x = 6920, - z = 5912, - facing = 3, - }, - { - name = "energysolar", - x = 6872, - z = 5832, - facing = 2, - }, - { - name = "energysolar", - x = 6952, - z = 5784, - facing = 1, - }, - { - name = "factoryshield", - x = 5000, - z = 4616, - facing = 2, - }, - { - name = "staticcon", - x = 5000, - z = 4744, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8264, 4744}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8239, 4719}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6536, - z = 5224, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6536, 5224}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6511, 5199}, options = {"shift"}}, - }, - }, - { - name = "factoryveh", - x = 6536, - z = 5096, - facing = 2, - }, - { - name = "turretlaser", - x = 8768, - z = 5152, - facing = 3, - }, - { - name = "turretlaser", - x = 8944, - z = 4976, - facing = 2, - }, - { - name = "factoryspider", - x = 8072, - z = 5656, - facing = 2, - }, - { - name = "staticcon", - x = 8072, - z = 5768, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8072, 5768}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8047, 5743}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 8072, - z = 3848, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8472, - z = 3528, - facing = 1, - }, - { - name = "turretemp", - x = 8072, - z = 3544, - facing = 2, - }, - { - name = "turretemp", - x = 8472, - z = 3848, - facing = 0, - }, - { - name = "turretaalaser", - x = 8264, - z = 3416, - facing = 3, - }, - { - name = "energysolar", - x = 6456, - z = 5208, - facing = 3, - }, - { - name = "energysolar", - x = 6472, - z = 5288, - facing = 3, - }, - { - name = "energysolar", - x = 6552, - z = 5288, - facing = 3, - }, - { - name = "turretaalaser", - x = 8248, - z = 3976, - facing = 3, - }, - { - name = "energysolar", - x = 6600, - z = 5208, - facing = 3, - }, - { - name = "turretlaser", - x = 6512, - z = 5184, - facing = 3, - }, - { - name = "staticradar", - x = 5968, - z = 5616, - facing = 3, - }, - { - name = "turretaaclose", - x = 5896, - z = 5784, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5816, - z = 5944, - facing = 3, - }, - { - name = "turretriot", - x = 5672, - z = 5368, - facing = 3, - }, - { - name = "turretlaser", - x = 5808, - z = 5072, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5816, - z = 4664, - facing = 3, - }, - { - name = "turretmissile", - x = 5696, - z = 4864, - facing = 3, - }, - { - name = "turretmissile", - x = 5872, - z = 4384, - facing = 3, - }, - { - name = "energysolar", - x = 4920, - z = 5000, - facing = 2, - }, - { - name = "spideremp", - x = 7995, - z = 5383, - facing = 3, - }, - { - name = "energysolar", - x = 4840, - z = 5048, - facing = 1, - }, - { - name = "energysolar", - x = 4792, - z = 4968, - facing = 0, - }, - { - name = "energysolar", - x = 4872, - z = 4920, - facing = 3, - }, - { - name = "energysolar", - x = 7128, - z = 5880, - facing = 3, - }, - { - name = "energysolar", - x = 4376, - z = 5000, - facing = 2, - }, - { - name = "energysolar", - x = 4296, - z = 5048, - facing = 1, - }, - { - name = "energysolar", - x = 4328, - z = 4920, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7096, - z = 3128, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7880, - z = 2520, - facing = 2, - }, - { - name = "turretaaclose", - x = 7432, - z = 5016, - facing = 1, - }, - { - name = "turretaaclose", - x = 7256, - z = 4312, - facing = 1, - }, - { - name = "turretlaser", - x = 7104, - z = 4192, - facing = 3, - }, - { - name = "turretlaser", - x = 7200, - z = 3936, - facing = 2, - }, - { - name = "turretriot", - x = 7400, - z = 2712, - facing = 2, - }, - { - name = "turretlaser", - x = 7376, - z = 4128, - facing = 1, - }, - { - name = "turretmissile", - x = 7248, - z = 2880, - facing = 2, - }, - { - name = "turretmissile", - x = 7376, - z = 2848, - facing = 2, - }, - { - name = "turretmissile", - x = 7520, - z = 2784, - facing = 2, - }, - { - name = "turretmissile", - x = 7584, - z = 2640, - facing = 2, - }, - { - name = "turretemp", - x = 8440, - z = 2344, - facing = 2, - }, - { - name = "turretmissile", - x = 8256, - z = 2464, - facing = 2, - }, - { - name = "turretmissile", - x = 8432, - z = 2512, - facing = 2, - }, - { - name = "turretmissile", - x = 8608, - z = 2432, - facing = 2, - }, - { - name = "staticradar", - x = 4464, - z = 4608, - facing = 2, - }, - { - name = "turretriot", - x = 5800, - z = 3064, - facing = 2, - }, - { - name = "turretlaser", - x = 3984, - z = 4992, - facing = 3, - }, - { - name = "turretlaser", - x = 3984, - z = 4608, - facing = 3, - }, - { - name = "turretriot", - x = 4024, - z = 4792, - facing = 3, - }, - { - name = "staticmex", - x = 3832, - z = 3912, - facing = 3, - }, - { - name = "turretlaser", - x = 3632, - z = 4048, - facing = 3, - }, - { - name = "turretlaser", - x = 3840, - z = 3696, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5432, - z = 3256, - facing = 2, - }, - { - name = "turretlaser", - x = 5312, - z = 3264, - facing = 2, - }, - { - name = "turretlaser", - x = 5520, - z = 3136, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6264, - z = 3032, - facing = 2, - }, - { - name = "turretlaser", - x = 8560, - z = 1728, - facing = 3, - }, - { - name = "turretlaser", - x = 8640, - z = 1456, - facing = 3, - }, - { - name = "turretlaser", - x = 8720, - z = 1216, - facing = 3, - }, - { - name = "turretmissile", - x = 8672, - z = 1616, - facing = 3, - }, - { - name = "turretmissile", - x = 8736, - z = 1328, - facing = 3, - }, - { - name = "turretemp", - x = 4136, - z = 3592, - facing = 2, - }, - { - name = "turretriot", - x = 4728, - z = 3432, - facing = 2, - }, - { - name = "turretmissile", - x = 4864, - z = 3440, - facing = 2, - }, - { - name = "turretmissile", - x = 4592, - z = 3536, - facing = 2, - }, - { - name = "turretmissile", - x = 4288, - z = 3600, - facing = 2, - }, - { - name = "turretmissile", - x = 4032, - z = 3696, - facing = 2, - }, - { - name = "turretaalaser", - x = 5912, - z = 3352, - facing = 2, - }, - { - name = "turretaalaser", - x = 4456, - z = 3752, - facing = 2, - }, - { - name = "turretriot", - x = 6696, - z = 2952, - facing = 2, - }, - { - name = "turretmissile", - x = 6128, - z = 3168, - facing = 2, - }, - { - name = "turretmissile", - x = 6368, - z = 3136, - facing = 2, - }, - { - name = "turretmissile", - x = 6592, - z = 3104, - facing = 2, - }, - { - name = "turretmissile", - x = 6816, - z = 3056, - facing = 2, - }, - { - name = "turretmissile", - x = 7536, - z = 3632, - facing = 3, - }, - { - name = "turretmissile", - x = 7632, - z = 3360, - facing = 3, - }, - { - name = "turretmissile", - x = 5040, - z = 4352, - facing = 3, - }, - { - name = "turretmissile", - x = 5072, - z = 4592, - facing = 3, - }, - { - name = "turretmissile", - x = 7728, - z = 3104, - facing = 3, - terraformHeight = 8, - }, - { - name = "turretmissile", - x = 5056, - z = 5024, - facing = 3, - }, - { - name = "turretmissile", - x = 4784, - z = 5360, - facing = 3, - }, - { - name = "turretmissile", - x = 4544, - z = 5616, - facing = 3, - }, - { - name = "turretmissile", - x = 4480, - z = 5824, - facing = 3, - }, - { - name = "turretemp", - x = 5656, - z = 3848, - facing = 3, - }, - { - name = "turretriot", - x = 6440, - z = 4408, - facing = 3, - }, - } - }, - { - humanName = "Chickens", - aiLib = "Chicken: Custom", - bitDependant = false, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 2, - unlocks = { - }, - commander = false, - midgameUnits = { - { - name = "chicken_dragon", - x = 7650, - z = 300, - facing = 0, - spawnRadius = 100, - delay = 14*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - }, - startUnits = { - { - name = "roost", - x = 4280, - z = 600, - facing = 0, - }, - { - name = "roost", - x = 4792, - z = 520, - facing = 0, - }, - { - name = "roost", - x = 2600, - z = 824, - facing = 0, - }, - { - name = "roost", - x = 2344, - z = 488, - facing = 0, - }, - { - name = "roost", - x = 4520, - z = 280, - facing = 0, - }, - { - name = "roost", - x = 6392, - z = 248, - facing = 0, - }, - { - name = "roost", - x = 376, - z = 984, - facing = 0, - }, - { - name = "roost", - x = 5624, - z = 1112, - facing = 0, - }, - { - name = "roost", - x = 6792, - z = 360, - facing = 0, - }, - { - name = "chickend", - x = 6296, - z = 664, - facing = 0, - }, - { - name = "chickend", - x = 6600, - z = 648, - facing = 0, - }, - { - name = "chickend", - x = 6984, - z = 520, - facing = 0, - }, - { - name = "chickend", - x = 7096, - z = 360, - facing = 0, - }, - { - name = "chickend", - x = 6376, - z = 456, - facing = 0, - }, - { - name = "chickend", - x = 6808, - z = 216, - facing = 0, - }, - { - name = "chickend", - x = 4216, - z = 824, - facing = 0, - }, - { - name = "chickend", - x = 4456, - z = 664, - facing = 0, - }, - { - name = "chickend", - x = 4984, - z = 712, - facing = 0, - }, - { - name = "chickend", - x = 4824, - z = 264, - facing = 0, - }, - { - name = "chickend", - x = 4728, - z = 728, - facing = 0, - }, - { - name = "chickend", - x = 3928, - z = 1576, - facing = 0, - }, - { - name = "chickend", - x = 4552, - z = 1432, - facing = 0, - }, - { - name = "chickend", - x = 5432, - z = 1336, - facing = 0, - }, - { - name = "chickend", - x = 5688, - z = 1336, - facing = 0, - }, - { - name = "chickend", - x = 2520, - z = 1176, - facing = 0, - }, - { - name = "chickend", - x = 2664, - z = 1160, - facing = 0, - }, - { - name = "chickend", - x = 232, - z = 1496, - facing = 0, - }, - { - name = "chickend", - x = 696, - z = 1320, - facing = 0, - }, - { - name = "chickend", - x = 2760, - z = 696, - facing = 0, - }, - { - name = "chickend", - x = 1976, - z = 248, - facing = 0, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_dropfac", - x = 8256, - z = 3680, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Dropship Factory", - color = "green_small" - }, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "striderhub", - "striderdante", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 3, - }, - [1] = { - ignoreUnitLossDefeat = false, - loseAfterSeconds = false, - }, - [2] = { - ignoreUnitLossDefeat = true, - doNotExplodeOnLoss = true, -- It would look a bit weird for the chickens to explode when the robots lose. - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Bring a Dante to the Dropship Factory", - }, - [2] = { - description = "Protect your Commander", - }, - [3] = { - description = "Do not lose your Strider Hub and all Dantes", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Protect the Strider Hub - satisfyForever = true, - failOnUnitLoss = true, -- Fails the objective if any units being used to satisfy the objective are lost. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "striderhub", - }, - image = planetUtilities.ICON_DIR .. "striderhub.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose the Strider Hub", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Make the enemy lose seven roosts - onlyCountRemovedUnits = true, - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 7, - enemyUnitTypes = { - "roost", - }, - image = planetUtilities.ICON_DIR .. "roost.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy 7 Chicken Roosts", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Lose no more than 1 dante - onlyCountRemovedUnits = true, - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 1, - unitTypes = { - "striderdante" - }, - image = planetUtilities.ICON_DIR .. "striderdante.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose more than 1 Dante", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "striderdante", - }, - modules = { - "weaponmod_napalm_warhead", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet22.lua b/campaign/dev/planets/planet22.lua deleted file mode 100644 index 670cd8ec2..000000000 --- a/campaign/dev/planets/planet22.lua +++ /dev/null @@ -1,525 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/tundra01.png" - - local planetData = { - name = "Blackmire", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.35, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.80, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arctic", - radius = "3430 km", - primary = "Tsuz", - primaryType = "F3V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = [[The bodies of water on this battlefield would pose difficulties for most factories, but the Amphbot Factory can take advantage of them instead.]] - }, - tips = { - { - image = "unitpics/amphfloater.png", - text = [[Amphibious units walk on the land beneath the water, and regenerate HP while underwater. Buoys surface to fire their disruption cannon.]] - }, - { - image = "unitpics/amphimpulse.png", - text = [[Archers fire water jets which push enemy units away. If a non-amphibious unit is pushed into water it will become helpless - keep this in mind!]] - }, - { - image = "unitpics/amphbomb.png", - text = [[The Limpet does not float, but its large disruption pulse can reach surface targets even from the seafloor. The Limpet's explosion does not damage or slow friendly units, so it is safer to use than other bombs.]] - }, - }, - gameConfig = { - mapName = "Iced Coffee v4.3", - playerConfig = { - startX = 2830, - startZ = 3625, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryamph", - "amphcon", - "amphimpulse", - "amphbomb", - "amphfloater", - "turrettorp", - }, - startUnits = { - { - name = "factoryamph", - x = 2680, - z = 3592, - facing = 2, - }, - { - name = "staticmex", - x = 2392, - z = 3736, - facing = 0, - }, - { - name = "staticmex", - x = 2872, - z = 3192, - facing = 0, - }, - { - name = "staticmex", - x = 3560, - z = 3976, - facing = 0, - }, - { - name = "staticmex", - x = 3928, - z = 3784, - facing = 0, - }, - { - name = "turretlaser", - x = 3712, - z = 3072, - facing = 2, - }, - { - name = "turretlaser", - x = 2624, - z = 3008, - facing = 2, - }, - { - name = "energywind", - x = 3272, - z = 3128, - facing = 0, - }, - { - name = "energywind", - x = 3256, - z = 3000, - facing = 0, - }, - { - name = "energywind", - x = 3192, - z = 2952, - facing = 0, - }, - { - name = "energywind", - x = 3304, - z = 3064, - facing = 0, - }, - { - name = "energywind", - x = 3160, - z = 2856, - facing = 0, - }, - { - name = "amphimpulse", - x = 2732, - z = 3433, - facing = 0, - }, - { - name = "amphimpulse", - x = 2855, - z = 3440, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 1530, - startZ = 470, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Furious", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "staticstorage", - "energysolar", - "energywind", - "staticradar", - "vehcon", - "vehraid", - "vehriot", - "vehassault", - "vehsupport", - }, - difficultyDependantUnlocks = { - [2] = {"veharty"}, - [3] = {"veharty","staticcon"}, - [4] = {"veharty","staticcon","turretlaser"}, - }, - commanderLevel = 3, - commander = { - name = "Hydrophobe", - chassis = "recon", - decorations = { - "skin_recon_red", - icon_overhead = { image = "UW" } - }, - modules = { - "commweapon_flamethrower", - "module_dmg_booster", - "module_high_power_servos", - "module_heavy_armor", - } - }, - startUnits = { - { - name = "staticmex", - x = 1226, - z = 902, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "turretriot", - x = 1610, - z = 1250, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticcon", - x = 1270, - z = 370, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 536, - z = 136, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 166, - z = 326, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 240, - z = 200, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 415, - z = 120, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretriot", - x = 1115, - z = 820, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 182, - z = 2054, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energyfusion", - x = 2346, - z = 560, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretheavylaser", - x = 540, - z = 2090, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "turretriot", - x = 520, - z = 2200, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretriot", - x = 2170, - z = 850, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticcon", - x = 1400, - z = 370, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "factoryveh", - x = 1320, - z = 520, - facing = 0, - }, - { - name = "turretaaclose", - x = 1100, - z = 520, - facing = 0, - }, - { - name = "turretaaclose", - x = 1320, - z = 300, - facing = 0, - }, - { - name = "turretaalaser", - x = 2350, - z = 890, - facing = 0, - }, - { - name = "staticmex", - x = 2312, - z = 712, - facing = 0, - }, - { - name = "staticmex", - x = 2312, - z = 712, - facing = 0, - }, - { - name = "staticmex", - x = 1704, - z = 376, - facing = 0, - }, - { - name = "staticmex", - x = 2600, - z = 888, - facing = 0, - }, - { - name = "turretlaser", - x = 2416, - z = 336, - facing = 2, - }, - { - name = "turretlaser", - x = 2624, - z = 464, - facing = 2, - }, - { - name = "staticmex", - x = 2600, - z = 616, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1416, - z = 1144, - facing = 0, - }, - { - name = "energywind", - x = 2376, - z = 696, - facing = 0, - }, - { - name = "energywind", - x = 2456, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 2520, - z = 648, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 760, - facing = 0, - }, - { - name = "energywind", - x = 2536, - z = 808, - facing = 0, - }, - { - name = "energywind", - x = 1960, - z = 1032, - facing = 0, - }, - { - name = "energywind", - x = 2056, - z = 1048, - facing = 0, - }, - { - name = "energywind", - x = 1928, - z = 1128, - facing = 0, - }, - { - name = "turretlaser", - x = 1904, - z = 1312, - facing = 0, - }, - { - name = "turretlaser", - x = 464, - z = 400, - facing = 0, - }, - { - name = "staticradar", - x = 2448, - z = 1024, - facing = 0, - }, - { - name = "vehraid", - x = 1372, - z = 814, - facing = 0, - }, - { - name = "vehraid", - x = 1465, - z = 807, - facing = 0, - }, - { - name = "vehraid", - x = 1565, - z = 806, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryveh" - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 10 Buoys - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "amphfloater", - }, - image = planetUtilities.ICON_DIR .. "amphfloater.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 10 Buoys", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Don't lose any mexes - satisfyForever = true, - failOnUnitLoss = true, -- Fails the objective if any units being used to satisfy the objective are lost. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose any Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryamph", - "amphcon", - "amphimpulse", - "amphbomb", - "amphfloater", - "turrettorp", - }, - modules = { - "module_adv_nano_LIMIT_B_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet23.lua b/campaign/dev/planets/planet23.lua deleted file mode 100644 index 7be464453..000000000 --- a/campaign/dev/planets/planet23.lua +++ /dev/null @@ -1,1931 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran03.png" - - local planetData = { - name = "Sirlanna", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.29, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.93, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6760 km", - primary = "Neacahamo", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = [[Launch an amphibious attack on the beach with heavy Grizzly assault walkers. You have 25 minutes to push past the Gauss defensive emplacements and secure a beachhead by destroying the Garrisons.]] - }, - tips = { - { - image = "unitpics/turretgauss.png", - text = [[Gauss turrets can fire at underwater targets. They may also retreat within an armoured shell to repair and hide from artillery attacks.]] - }, - { - image = "unitpics/amphassault.png", - text = [[Grizzlies are armed with two heavy laser turrets similar to those of the Stinger. This weapon is generally bad against raiders but good against most other targets. Protect your Grizzlies with riots to get around this limitation.]] - }, - { - image = "unitpics/dronelight.png", - text = [[The Garrisons on this beach are protected by light drones. They fly low enough to be killed by most weaponry (not just anti-air), but the Garrisons will keep rebuilding them. Destroy the Garrisons to get rid of the drones.]] - }, - }, - gameConfig = { - - mapName = "TheBeachBeta", - playerConfig = { - startX = 3684, - startZ = 6981, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 3, - }, - extraUnlocks = { - "factoryamph", - "amphcon", - "amphassault", - "turretgauss", - "energywind", - }, - startUnits = { - { - name = "staticmex", - x = 440, - z = 6104, - facing = 0, - }, - { - name = "staticmex", - x = 344, - z = 6840, - facing = 0, - }, - { - name = "staticmex", - x = 1352, - z = 6776, - facing = 0, - }, - { - name = "staticmex", - x = 6232, - z = 6936, - facing = 1, - }, - { - name = "staticmex", - x = 2616, - z = 6840, - facing = 1, - }, - { - name = "staticmex", - x = 3128, - z = 6312, - facing = 1, - }, - { - name = "staticmex", - x = 4568, - z = 6824, - facing = 1, - }, - { - name = "staticmex", - x = 3832, - z = 6232, - facing = 1, - }, - { - name = "staticmex", - x = 3832, - z = 6936, - facing = 1, - }, - { - name = "staticmex", - x = 6936, - z = 6904, - facing = 1, - }, - { - name = "staticmex", - x = 6872, - z = 6152, - facing = 2, - }, - { - name = "factoryamph", - x = 3448, - z = 6968, - facing = 2, - }, - { - name = "staticcon", - x = 3150, - z = 7048, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3448, 6968}}, - }, - }, - { - name = "staticcon", - x = 3352, - z = 7048, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3448, 6968}}, - }, - }, - { - name = "staticcon", - x = 3448, - z = 7096, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3448, 6968}}, - }, - }, - { - name = "staticcon", - x = 3576, - z = 7048, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3448, 6968}}, - }, - }, - { - name = "energywind", - x = 6840, - z = 6232, - facing = 2, - }, - { - name = "energywind", - x = 6920, - z = 6216, - facing = 2, - }, - { - name = "energywind", - x = 6872, - z = 6968, - facing = 2, - }, - { - name = "energywind", - x = 6952, - z = 7000, - facing = 2, - }, - { - name = "energywind", - x = 6200, - z = 7000, - facing = 2, - }, - { - name = "energywind", - x = 6280, - z = 7016, - facing = 2, - }, - { - name = "energywind", - x = 2552, - z = 6856, - facing = 2, - }, - { - name = "energywind", - x = 2616, - z = 6904, - facing = 2, - }, - { - name = "energywind", - x = 376, - z = 6120, - facing = 2, - }, - { - name = "energywind", - x = 456, - z = 6152, - facing = 2, - }, - { - name = "energywind", - x = 3064, - z = 6344, - facing = 2, - }, - { - name = "energywind", - x = 3128, - z = 6392, - facing = 2, - }, - { - name = "energywind", - x = 280, - z = 6856, - facing = 2, - }, - { - name = "energywind", - x = 344, - z = 6904, - facing = 2, - }, - { - name = "energywind", - x = 4536, - z = 6904, - facing = 2, - }, - { - name = "energywind", - x = 4616, - z = 6888, - facing = 2, - }, - { - name = "energywind", - x = 3912, - z = 6968, - facing = 2, - }, - { - name = "energywind", - x = 1288, - z = 6776, - facing = 2, - }, - { - name = "energywind", - x = 3832, - z = 7000, - facing = 2, - }, - { - name = "energywind", - x = 1336, - z = 6840, - facing = 2, - }, - { - name = "energywind", - x = 3848, - z = 6312, - facing = 2, - }, - { - name = "energywind", - x = 3896, - z = 6248, - facing = 2, - }, - { - name = "energywind", - x = 2940, - z = 6900, - facing = 2, - }, - { - name = "energywind", - x = 2880, - z = 6900, - facing = 2, - }, - { - name = "energywind", - x = 3000, - z = 6900, - facing = 2, - }, - { - name = "energywind", - x = 2880, - z = 6960, - facing = 2, - }, - { - name = "energywind", - x = 3000, - z = 6960, - facing = 2, - }, - { - name = "energywind", - x = 2940, - z = 6960, - facing = 2, - }, - { - name = "energywind", - x = 2880, - z = 7020, - facing = 2, - }, - { - name = "energywind", - x = 3000, - z = 7020, - facing = 2, - }, - { - name = "energywind", - x = 2940, - z = 7020, - facing = 2, - }, - { - name = "amphassault", - x = 3100, - z = 6200, - facing = 2, - }, - { - name = "amphassault", - x = 3200, - z = 6200, - facing = 2, - }, - { - name = "amphassault", - x = 3300, - z = 6200, - facing = 2, - }, - { - name = "staticradar", - x = 1840, - z = 5696, - facing = 2, - }, - { - name = "staticradar", - x = 5552, - z = 6000, - facing = 2, - }, - { - name = "amphfloater", - x = 3400, - z = 6100, - facing = 2, - }, - { - name = "amphfloater", - x = 3300, - z = 6100, - facing = 2, - }, - { - name = "amphfloater", - x = 3000, - z = 6100, - facing = 2, - }, - { - name = "amphfloater", - x = 3100, - z = 6100, - facing = 2, - }, - { - name = "amphfloater", - x = 3200, - z = 6100, - facing = 2, - }, - { - name = "amphimpulse", - x = 3000, - z = 5950, - facing = 2, - }, - { - name = "amphimpulse", - x = 3100, - z = 5950, - facing = 2, - }, - { - name = "amphimpulse", - x = 3200, - z = 5950, - facing = 2, - }, - { - name = "amphimpulse", - x = 3300, - z = 5950, - facing = 2, - }, - { - name = "amphimpulse", - x = 3400, - z = 5950, - facing = 2, - }, - { - name = "amphcon", - x = 3100, - z = 6300, - facing = 0, - }, - { - name = "amphcon", - x = 3200, - z = 6300, - facing = 0, - }, - { - name = "amphcon", - x = 3300, - z = 6300, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 3088, - startZ = 309, - humanName = "Sword", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticradar", - "staticmex", - "energywind", - "turretaalaser", - "turretmissile", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakskirm", - "cloakarty", - "cloakassault", - "cloakriot", - "cloakaa", - "cloakbomb", - "factorytank", - "tankcon", - "tankheavyraid", - "tankassault", - "tankriot", - "tankarty", - "tankaa", - }, - difficultyDependantUnlocks = { - [3] = {"cloakheavyraid","tankheavyassault"}, - [4] = {"cloakheavyraid","tankheavyassault","cloaksnipe","striderdante"}, - }, - commanderLevel = 3, - commander = { - name = "The Fox", - chassis = "recon", - decorations = { - "skin_recon_leopard", - }, - modules = { - "commweapon_beamlaser", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_heavy_armor", - } - }, - midgameUnits = { - { - name = "spiderassault", - x = 3660, - z = 2040, - facing = 0, - spawnRadius = 100, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "spiderassault", - x = 3660, - z = 2040, - facing = 0, - spawnRadius = 100, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "spiderassault", - x = 3660, - z = 2040, - facing = 0, - spawnRadius = 100, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "spidercrabe", - x = 3660, - z = 2040, - facing = 0, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 2150, - z = 2650, - facing = 0, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 2150, - z = 2650, - facing = 0, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 2150, - z = 2650, - facing = 0, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 2150, - z = 2650, - facing = 0, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 2150, - z = 2650, - facing = 0, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehheavyarty", - x = 2150, - z = 2650, - facing = 0, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 5100, - z = 2800, - facing = 0, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 5100, - z = 2800, - facing = 0, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 5100, - z = 2800, - facing = 0, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 5100, - z = 2800, - facing = 0, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehassault", - x = 5100, - z = 2800, - facing = 0, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "vehheavyarty", - x = 5100, - z = 2800, - facing = 0, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "jumpassault", - x = 3660, - z = 2040, - facing = 0, - spawnRadius = 100, - delay = 9*30*60, - orbitalDrop = true, - }, - { - name = "jumpassault", - x = 3660, - z = 2040, - facing = 0, - difficultyAtLeast = 2, - spawnRadius = 100, - delay = 9*30*60, - orbitalDrop = true, - }, - { - name = "jumpassault", - x = 3660, - z = 2040, - facing = 0, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 9*30*60, - orbitalDrop = true, - }, - { - name = "jumpblackhole", - x = 3660, - z = 2040, - facing = 0, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 9*30*60, - orbitalDrop = true, - }, - { - name = "shieldfelon", - x = 1430, - z = 2050, - facing = 0, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "shieldshield", - x = 1430, - z = 2050, - facing = 0, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "shieldassault", - x = 1430, - z = 2050, - facing = 0, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "shieldassault", - x = 1430, - z = 2050, - facing = 0, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "shieldassault", - x = 1430, - z = 2050, - facing = 0, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "shieldassault", - x = 1430, - z = 2050, - facing = 0, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 6058, - z = 2250, - facing = 0, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "vehriot", - x = 6058, - z = 2250, - facing = 0, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "vehriot", - x = 6058, - z = 2250, - facing = 0, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "vehriot", - x = 6058, - z = 2250, - facing = 0, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 12*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - -- mission objectives - { - name = "pw_garrison", - x = 2104, - z = 2200, - facing = 0, - difficultyAtMost = 2, - mapMarker = { - text = "Garrison", - color = "red_small", - }, - }, - { - name = "pw_garrison", - x = 500, - z = 2070, - facing = 0, - difficultyAtLeast = 3, - mapMarker = { - text = "Garrison", - color = "red_small", - }, - }, - { - name = "pw_garrison", - x = 3256, - z = 2344, - facing = 1, - mapMarker = { - text = "Garrison", - color = "red_small", - }, - }, - { - name = "pw_garrison", - x = 4776, - z = 2344, - facing = 0, - difficultyAtMost = 2, - mapMarker = { - text = "Garrison", - color = "red_small", - }, - }, - { - name = "pw_garrison", - x = 6020, - z = 2250, - facing = 0, - difficultyAtLeast = 3, - mapMarker = { - text = "Garrison", - color = "red_small", - }, - }, - -- difficulty dependent stuff - { - name = "turretheavylaser", - x = 320, - z = 2230, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretheavylaser", - x = 680, - z = 2230, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretaaclose", - x = 320, - z = 1900, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretaaclose", - x = 680, - z = 1900, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretheavylaser", - x = 6200, - z = 2450, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretheavylaser", - x = 5800, - z = 2450, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretaaclose", - x = 6500, - z = 2000, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretaaclose", - x = 5800, - z = 2000, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 3965, - z = 1305, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 785, - z = 1850, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 6567, - z = 1835, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "pw_metal", - x = 3126, - z = 140, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 216, - z = 232, - facing = 0, - }, - { - name = "staticmex", - x = 776, - z = 168, - facing = 0, - }, - { - name = "staticmex", - x = 408, - z = 984, - facing = 0, - }, - { - name = "staticmex", - x = 2120, - z = 280, - facing = 0, - }, - { - name = "staticmex", - x = 3544, - z = 152, - facing = 0, - }, - { - name = "staticmex", - x = 3976, - z = 632, - facing = 0, - }, - { - name = "staticmex", - x = 4280, - z = 200, - facing = 0, - }, - { - name = "staticmex", - x = 5080, - z = 424, - facing = 0, - }, - { - name = "staticmex", - x = 6168, - z = 424, - facing = 0, - }, - { - name = "staticmex", - x = 6888, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 6984, - z = 776, - facing = 0, - }, - { - name = "staticmex", - x = 2888, - z = 664, - facing = 0, - }, - { - name = "energypylon", - x = 2808, - z = 1048, - facing = 0, - }, - { - name = "energywind", - x = 408, - z = 904, - facing = 0, - }, - { - name = "energywind", - x = 200, - z = 296, - facing = 0, - }, - { - name = "energywind", - x = 264, - z = 248, - facing = 0, - }, - { - name = "energywind", - x = 712, - z = 168, - facing = 0, - }, - { - name = "energywind", - x = 744, - z = 216, - facing = 0, - }, - { - name = "energywind", - x = 2040, - z = 312, - facing = 0, - }, - { - name = "energywind", - x = 2120, - z = 344, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 712, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 744, - facing = 0, - }, - { - name = "energywind", - x = 3496, - z = 200, - facing = 0, - }, - { - name = "energywind", - x = 3592, - z = 184, - facing = 0, - }, - { - name = "energywind", - x = 3912, - z = 648, - facing = 0, - }, - { - name = "energywind", - x = 4040, - z = 648, - facing = 0, - }, - { - name = "energywind", - x = 4232, - z = 232, - facing = 0, - }, - { - name = "energywind", - x = 4328, - z = 216, - facing = 0, - }, - { - name = "energywind", - x = 5016, - z = 424, - facing = 0, - }, - { - name = "energywind", - x = 5128, - z = 376, - facing = 0, - }, - { - name = "energywind", - x = 6088, - z = 424, - facing = 0, - }, - { - name = "energywind", - x = 6200, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 6824, - z = 152, - facing = 0, - }, - { - name = "energywind", - x = 6920, - z = 232, - facing = 0, - }, - { - name = "energywind", - x = 6904, - z = 744, - facing = 0, - }, - { - name = "energywind", - x = 7016, - z = 824, - facing = 0, - }, - { - name = "staticcon", - x = 1144, - z = 168, - facing = 0, - }, - { - name = "factorytank", - x = 1152, - z = 336, - facing = 0, - }, - { - name = "striderhub", - x = 6376, - z = 72, - facing = 0, - }, - { - name = "factorycloak", - x = 6376, - z = 176, - facing = 0, - }, - { - name = "staticradar", - x = 3440, - z = 3424, - facing = 0, - }, - { - name = "staticradar", - x = 1280, - z = 2416, - facing = 0, - }, - { - name = "staticradar", - x = 4032, - z = 2160, - facing = 0, - }, - { - name = "staticradar", - x = 5696, - z = 2400, - facing = 0, - }, - { - name = "staticradar", - x = 3872, - z = 1536, - facing = 0, - }, - { - name = "energypylon", - x = 248, - z = 1128, - facing = 0, - }, - { - name = "turretaafar", - x = 5936, - z = 672, - facing = 0, - }, - { - name = "energypylon", - x = 2632, - z = 488, - facing = 0, - }, - { - name = "energypylon", - x = 3592, - z = 504, - facing = 0, - }, - { - name = "turretaafar", - x = 1680, - z = 656, - facing = 0, - }, - { - name = "energypylon", - x = 5784, - z = 1160, - facing = 0, - }, - { - name = "energypylon", - x = 5592, - z = 408, - facing = 0, - }, - { - name = "turretaafar", - x = 3728, - z = 784, - facing = 0, - }, - { - name = "energypylon", - x = 7096, - z = 1112, - facing = 0, - }, - { - name = "turretgauss", - x = 4920, - z = 2584, - facing = 0, - }, - { - name = "turretheavy", - x = 1512, - z = 1304, - facing = 0, - }, - { - name = "energyfusion", - x = 4056, - z = 128, - facing = 0, - }, - { - name = "energypylon", - x = 456, - z = 536, - facing = 0, - }, - { - name = "turretheavy", - x = 6008, - z = 1608, - facing = 0, - }, - { - name = "energypylon", - x = 1640, - z = 1144, - facing = 0, - }, - { - name = "energypylon", - x = 1336, - z = 232, - facing = 0, - }, - { - name = "turretgauss", - x = 4536, - z = 2568, - facing = 0, - }, - { - name = "turretheavy", - x = 4840, - z = 1384, - facing = 0, - }, - { - name = "energypylon", - x = 6632, - z = 472, - facing = 0, - }, - { - name = "turretheavy", - x = 664, - z = 1160, - facing = 0, - }, - { - name = "energypylon", - x = 4568, - z = 984, - facing = 0, - }, - { - name = "turretgauss", - x = 2264, - z = 2296, - facing = 0, - }, - { - name = "energypylon", - x = 4568, - z = 440, - facing = 0, - }, - { - name = "turretheavy", - x = 6936, - z = 1192, - facing = 0, - }, - { - name = "turretheavy", - x = 3160, - z = 1416, - facing = 0, - }, - { - name = "energypylon", - x = 1800, - z = 376, - facing = 0, - }, - { - name = "turretgauss", - x = 1880, - z = 2360, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3800, - z = 5096, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5672, - z = 2648, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4168, - z = 5192, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5656, - z = 4536, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2024, - z = 4824, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1256, - z = 4008, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4888, - z = 3512, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2216, - z = 3336, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4152, - z = 3992, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1448, - z = 2744, - facing = 0, - }, - { - name = "turretgauss", - x = 3608, - z = 5256, - facing = 0, - }, - { - name = "turretgauss", - x = 4312, - z = 5320, - facing = 0, - }, - { - name = "turretgauss", - x = 4008, - z = 5368, - facing = 0, - }, - { - name = "turretgauss", - x = 1848, - z = 5064, - facing = 0, - }, - { - name = "turretgauss", - x = 2184, - z = 5048, - facing = 0, - }, - { - name = "turretgauss", - x = 5496, - z = 4632, - facing = 0, - }, - { - name = "turretgauss", - x = 5848, - z = 4680, - facing = 0, - }, - { - name = "turretgauss", - x = 3992, - z = 4088, - facing = 0, - }, - { - name = "turretgauss", - x = 4344, - z = 4120, - facing = 0, - }, - { - name = "turretgauss", - x = 1112, - z = 4120, - facing = 0, - }, - { - name = "turretgauss", - x = 1464, - z = 4072, - facing = 0, - }, - { - name = "turretgauss", - x = 2008, - z = 3480, - facing = 0, - }, - { - name = "turretgauss", - x = 2472, - z = 3432, - facing = 0, - }, - { - name = "turretgauss", - x = 984, - z = 2888, - facing = 0, - }, - { - name = "turretgauss", - x = 1720, - z = 2808, - facing = 0, - }, - { - name = "turretgauss", - x = 4744, - z = 3576, - facing = 0, - }, - { - name = "turretgauss", - x = 5048, - z = 3592, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3240, - z = 3704, - facing = 0, - }, - { - name = "turretgauss", - x = 3560, - z = 3768, - facing = 0, - }, - { - name = "turretgauss", - x = 3272, - z = 2552, - facing = 0, - }, - { - name = "turretgauss", - x = 2856, - z = 2648, - facing = 0, - }, - { - name = "turretaalaser", - x = 1128, - z = 2568, - facing = 0, - }, - { - name = "turretaalaser", - x = 3304, - z = 3496, - facing = 0, - }, - { - name = "turretaalaser", - x = 5544, - z = 2632, - facing = 0, - }, - { - name = "turretaalaser", - x = 3944, - z = 4920, - facing = 0, - }, - { - name = "turretaaflak", - x = 2024, - z = 4648, - facing = 0, - }, - { - name = "turretaaflak", - x = 5800, - z = 4376, - facing = 0, - }, - { - name = "turretaaflak", - x = 3976, - z = 2440, - facing = 0, - }, - { - name = "turretaaclose", - x = 1928, - z = 2088, - facing = 0, - }, - { - name = "turretaaclose", - x = 2280, - z = 2056, - facing = 0, - }, - { - name = "turretaaclose", - x = 2936, - z = 2344, - facing = 0, - }, - { - name = "turretaaclose", - x = 3288, - z = 2152, - facing = 0, - }, - { - name = "turretaaclose", - x = 4872, - z = 2184, - facing = 0, - }, - { - name = "tankassault", - x = 1046, - z = 657, - facing = 0, - }, - { - name = "tankassault", - x = 6409, - z = 640, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "tankassault", - x = 3549, - z = 1934, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "tankriot", - x = 3907, - z = 872, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "tankriot", - x = 1160, - z = 1999, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "tankriot", - x = 6296, - z = 2192, - facing = 0, - }, - { - name = "cloakraid", - x = 898, - z = 659, - facing = 0, - }, - { - name = "cloakraid", - x = 1046, - z = 765, - facing = 0, - }, - { - name = "cloakraid", - x = 1158, - z = 686, - facing = 0, - }, - { - name = "cloakraid", - x = 1102, - z = 557, - facing = 0, - }, - { - name = "cloakraid", - x = 6291, - z = 606, - facing = 0, - }, - { - name = "cloakraid", - x = 6387, - z = 738, - facing = 0, - }, - { - name = "cloakraid", - x = 6504, - z = 777, - facing = 0, - }, - { - name = "cloakraid", - x = 6551, - z = 514, - facing = 0, - }, - { - name = "cloakraid", - x = 3374, - z = 1843, - facing = 0, - }, - { - name = "cloakraid", - x = 3378, - z = 1961, - facing = 0, - }, - { - name = "cloakraid", - x = 3588, - z = 2049, - facing = 0, - }, - { - name = "cloakraid", - x = 3650, - z = 1942, - facing = 0, - }, - { - name = "cloakskirm", - x = 1024, - z = 2042, - facing = 0, - }, - { - name = "cloakskirm", - x = 1237, - z = 1878, - facing = 0, - }, - { - name = "cloakskirm", - x = 1262, - z = 2084, - facing = 0, - }, - { - name = "cloakskirm", - x = 3810, - z = 978, - facing = 0, - }, - { - name = "cloakskirm", - x = 4046, - z = 839, - facing = 0, - }, - { - name = "cloakskirm", - x = 3964, - z = 991, - facing = 0, - }, - { - name = "cloakskirm", - x = 6324, - z = 2051, - facing = 0, - }, - { - name = "cloakskirm", - x = 6212, - z = 2155, - facing = 0, - }, - { - name = "cloakskirm", - x = 6335, - z = 2308, - facing = 0, - }, - { - name = "staticmex", - x = 1798, - z = 1450, - facing = 0, - }, - { - name = "staticmex", - x = 5880, - z = 1420, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3084, - z = 2523, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2140, - z = 2300, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4720, - z = 2460, - facing = 0, - }, - { - name = "staticcon", - x = 4200, - z = 2100, - facing = 0, - }, - { - name = "factorycloak", - x = 4200, - z = 2300, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { - loseAfterSeconds = 25*60, - timeLossObjectiveID = 2, - }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "pw_garrison", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all three Garrisons", - }, - [2] = { - description = "Win before 25:00", - }, - [3] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make six Gausses - satisfyOnce = true, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 6, - unitTypes = { - "turretgauss", - }, - image = planetUtilities.ICON_DIR .. "turretgauss.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 6 Gauss turrets", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Lose no more than 3 grizzlies - onlyCountRemovedUnits = true, - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 3, - unitTypes = { - "amphassault" - }, - image = planetUtilities.ICON_DIR .. "amphassault.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose more than 3 Grizzlies", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win by 20:00 - victoryByTime = 20*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "amphassault", - "turretgauss", - }, - modules = { - "module_heavy_armor_LIMIT_B_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet24.lua b/campaign/dev/planets/planet24.lua deleted file mode 100644 index 1dabba60c..000000000 --- a/campaign/dev/planets/planet24.lua +++ /dev/null @@ -1,1713 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran03_damaged.png" - - local planetData = { - name = "Asjulohi", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.37, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.96, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Oceanic", - radius = "6190 km", - primary = "Royal", - primaryType = "F9IV", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = [[You've discovered some Ancient Fabricators capable of generating metal from nothing. A rival faction is eager to claim your prize, and they have surrounded your base. Use Djinn teleporters and Lobsters to launch an attack from behind and break the siege.]] - }, - tips = { - { - image = "unitpics/amphtele.png", - text = [[The Djinn is a one-way teleporter capable of teleporting friendly units from around its paired Lamp. To use a Djinn tell it to place a Lamp and have units use the Lamp. A Djinn must be stationary to deploy and activate the teleportation bridge.]] - }, - { - image = "unitpics/tele_beacon.png", - text = [[Djinni can place Lamps anywhere on the map, at global range. Besides using the Djinn for defence, you can also use it to recover units deep inside enemy territory, or to launch a sneak attack.]] - }, - { - image = "unitpics/amphlaunch.png", - text = [[Lobsters propel nearby units through the air towards a nearby target. You can use this ability to deploy your own army or relocate enemies - experiment for best results. The units do not fly especially fast so they may be vulnerable while in transit.]] - }, - { - image = "unitpics/turretaafar.png", - text = [[Chainsaws are long-range anti-air missile launchers, excellent for destroying bombers before they get too close.]] - }, - }, - gameConfig = { - mapName = "Onyx Cauldron 1.9", - playerConfig = { - startX = 2400, - startZ = 6800, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryamph", - "amphcon", - "amphaa", - "amphtele", - "amphlaunch", - "turretaafar", - }, - startUnits = { - { - name = "amphlaunch", - x = 1950, - z = 7090, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1950, 6980}}, - {cmdID = planetUtilities.COMMAND.ATTACK, pos = {1950, 6650}, options = {"shift"}}, - }, - }, - { - name = "amphlaunch", - x = 1950, - z = 6140, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1950, 6540}}, - {cmdID = planetUtilities.COMMAND.ATTACK, pos = {1950, 6870}, options = {"shift"}}, - }, - }, - { - name = "amphriot", - x = 1950, - z = 6960, - facing = 0, - }, - { - name = "amphtele", - x = 2225, - z = 6775, - facing = 1, - }, - { - name = "amphtele", - x = 7767, - z = 4914, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PLACE_BEACON, pos = {2800, 7300}}, - }, - }, - { - name = "amphtele", - x = 4157, - z = 1288, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PLACE_BEACON, pos = {1950, 6200}}, - }, - }, - { - name = "amphfloater", - x = 2350, - z = 5120, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3290, 5290}}, - }, - }, - { - name = "amphfloater", - x = 3290, - z = 5290, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2350, 5120}}, - }, - }, - { - name = "amphfloater", - x = 3650, - z = 6660, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3690, 5880}}, - }, - }, - { - name = "amphfloater", - x = 3690, - z = 5880, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3650, 6660}}, - }, - }, - { - name = "amphcon", - x = 2400, - z = 6900, - facing = 1, - }, - { - name = "amphfloater", - x = 2080, - z = 6750, - facing = 1, - }, - { - name = "amphfloater", - x = 2080, - z = 6800, - facing = 1, - }, - { - name = "amphriot", - x = 2150, - z = 6750, - facing = 1, - }, - { - name = "amphriot", - x = 2150, - z = 6800, - facing = 1, - }, - { - name = "amphimpulse", - x = 2150, - z = 6700, - facing = 1, - }, - { - name = "amphimpulse", - x = 2150, - z = 6850, - facing = 1, - }, - { - name = "pw_metal", - x = 3104, - z = 6240, - facing = 0, - }, - { - name = "pw_metal", - x = 2736, - z = 5840, - facing = 0, - }, - { - name = "turretriot", - x = 3592, - z = 6376, - facing = 1, - }, - { - name = "staticmex", - x = 2728, - z = 6232, - facing = 1, - }, - { - name = "staticcon", - x = 2232, - z = 7176, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2232, 7176}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2257, 7151}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 2616, - z = 7032, - facing = 1, - }, - { - name = "staticmex", - x = 2184, - z = 6552, - facing = 1, - }, - { - name = "staticcon", - x = 2200, - z = 7096, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2200, 7096}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2225, 7071}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 2248, - z = 6568, - facing = 0, - }, - { - name = "energysolar", - x = 2680, - z = 7048, - facing = 0, - }, - { - name = "energysolar", - x = 2168, - z = 6616, - facing = 3, - }, - { - name = "energysolar", - x = 2600, - z = 7096, - facing = 3, - }, - { - name = "energysolar", - x = 2120, - z = 6536, - facing = 2, - }, - { - name = "energysolar", - x = 2200, - z = 6488, - facing = 1, - }, - { - name = "energysolar", - x = 2552, - z = 7016, - facing = 2, - }, - { - name = "energysolar", - x = 2632, - z = 6968, - facing = 1, - }, - { - name = "staticcon", - x = 2280, - z = 7096, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2280, 7096}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2305, 7071}, options = {"shift"}}, - }, - }, - - { - name = "energysolar", - x = 2664, - z = 6216, - facing = 2, - }, - { - name = "energysolar", - x = 2712, - z = 6296, - facing = 3, - }, - { - name = "energysolar", - x = 2792, - z = 6248, - facing = 0, - }, - { - name = "energysolar", - x = 2744, - z = 6168, - facing = 1, - }, - { - name = "pw_mine2", - x = 3360, - z = 6048, - facing = 0, - }, - { - name = "pw_mine2", - x = 2960, - z = 5648, - facing = 0, - }, - { - name = "pw_mine2", - x = 2864, - z = 6096, - facing = 0, - }, - { - name = "factoryamph", - x = 2216, - z = 6968, - facing = 2, - }, - { - name = "staticmex", - x = 3064, - z = 5960, - facing = 1, - }, - { - name = "energysolar", - x = 3128, - z = 5976, - facing = 0, - }, - { - name = "energysolar", - x = 3048, - z = 6024, - facing = 3, - }, - { - name = "energysolar", - x = 3000, - z = 5944, - facing = 2, - }, - { - name = "energysolar", - x = 3080, - z = 5896, - facing = 1, - }, - { - name = "turretaafar", - x = 3008, - z = 6688, - facing = 1, - }, - { - name = "turretaafar", - x = 2320, - z = 6224, - facing = 1, - }, - { - name = "staticheavyradar", - x = 2752, - z = 6736, - facing = 2, - terraformHeight = 233, - }, - { - name = "turretriot", - x = 2728, - z = 5240, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3432, - z = 5624, - facing = 2, - }, - { - name = "turretemp", - x = 3616, - z = 6016, - facing = 1, - }, - { - name = "turretemp", - x = 3136, - z = 5296, - facing = 2, - }, - { - name = "turretlaser", - x = 2384, - z = 5200, - facing = 2, - }, - { - name = "turretlaser", - x = 3568, - z = 6640, - facing = 1, - }, - { - name = "turretlaser", - x = 3008, - z = 5280, - facing = 2, - }, - { - name = "turretlaser", - x = 3616, - z = 6144, - facing = 1, - }, - { - name = "turretlaser", - x = 3584, - z = 5904, - facing = 1, - }, - { - name = "turretlaser", - x = 3248, - z = 5360, - facing = 2, - }, - { - name = "turretmissile", - x = 1920, - z = 5808, - facing = 2, - }, - { - name = "turretmissile", - x = 2240, - z = 5648, - facing = 2, - }, - { - name = "turretmissile", - x = 3328, - z = 7200, - facing = 1, - }, - { - name = "turretmissile", - x = 3568, - z = 7360, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 5000, - startZ = 3800, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "16:Stqix", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - --"staticmex", - "staticradar", - "energysolar", - "energywind", - "staticstorage", - "staticcon", - "turretmissile", - "turretaalaser", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakarty", - "cloakbomb", - "shieldraid", - "shieldriot", - --"shieldassault", - "shieldskirm", - "tankcon", - "tankraid", - "tankheavyraid", - "tankriot", - "tankassault", - "planecon", - "planescout", - "planefighter", - "bomberprec", - "bomberriot", - }, - difficultyDependantUnlocks = { - [2] = {"shieldarty"}, - [3] = {"shieldarty","bomberheavy"}, - [4] = {"shieldarty","bomberheavy","cloaksnipe","shieldassault"}, - }, - commanderLevel = 2, - commander = { - name = "Kovedos", - chassis = "engineer", - decorations = { - }, - modules = { } - }, - startUnits = { - { - name = "shieldskirm", - x = 3550, - z = 3600, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "shieldskirm", - x = 3650, - z = 3600, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "shieldskirm", - x = 3750, - z = 3600, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "cloakassault", - x = 3550, - z = 3700, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "tankriot", - x = 6670, - z = 4550, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "tankassault", - x = 6770, - z = 4550, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "bomberheavy", - x = 8840, - z = 200, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "turretaafar", - x = 5452, - z = 8130, - facing = 3, - }, - { - name = "turretaafar", - x = 5068, - z = 6850, - facing = 3, - }, - { - name = "turretaafar", - x = 2500, - z = 4000 , - facing = 0, - }, - { - name = "turretaafar", - x = 1300, - z = 4000 , - facing = 0, - }, - { - name = "turretheavylaser", - x = 4910, - z = 6646 , - facing = 3, - }, - { - name = "turretheavylaser", - x = 2350, - z = 4228 , - facing = 0, - }, - { - name = "turretheavylaser", - x = 4060, - z = 4950 , - facing = 0, - }, - { - name = "turretmissile", - x = 5424, - z = 2560, - facing = 2, - }, - { - name = "staticmex", - x = 2648, - z = 2184, - facing = 0, - }, - { - name = "staticmex", - x = 2280, - z = 2152, - facing = 0, - }, - { - name = "staticmex", - x = 5512, - z = 2104, - facing = 0, - }, - { - name = "staticmex", - x = 7192, - z = 5464, - facing = 0, - }, - { - name = "staticmex", - x = 2296, - z = 2536, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 5272, - facing = 0, - }, - { - name = "staticmex", - x = 6408, - z = 1816, - facing = 0, - }, - { - name = "staticmex", - x = 2376, - z = 3240, - facing = 0, - }, - { - name = "staticmex", - x = 1992, - z = 3352, - facing = 0, - }, - { - name = "staticmex", - x = 7192, - z = 2008, - facing = 0, - }, - { - name = "staticmex", - x = 5480, - z = 5400, - facing = 0, - }, - { - name = "staticmex", - x = 7608, - z = 2280, - facing = 0, - }, - { - name = "staticmex", - x = 5848, - z = 6728, - facing = 0, - }, - { - name = "staticmex", - x = 7464, - z = 3112, - facing = 0, - }, - { - name = "staticmex", - x = 5736, - z = 7112, - facing = 0, - }, - { - name = "staticmex", - x = 7176, - z = 4248, - facing = 0, - }, - { - name = "staticmex", - x = 4008, - z = 3656, - facing = 2, - }, - { - name = "staticmex", - x = 6712, - z = 7160, - facing = 0, - }, - { - name = "staticmex", - x = 6696, - z = 6824, - facing = 0, - }, - { - name = "staticmex", - x = 3944, - z = 2024, - facing = 0, - }, - { - name = "staticmex", - x = 7080, - z = 6856, - facing = 0, - }, - { - name = "staticmex", - x = 4152, - z = 2216, - facing = 0, - }, - { - name = "staticmex", - x = 6056, - z = 3368, - facing = 0, - }, - { - name = "energysolar", - x = 6792, - z = 7080, - facing = 1, - }, - { - name = "energysolar", - x = 6776, - z = 6920, - facing = 1, - }, - { - name = "energysolar", - x = 6952, - z = 6872, - facing = 1, - }, - { - name = "energysolar", - x = 6040, - z = 3432, - facing = 3, - }, - { - name = "energysolar", - x = 5992, - z = 3352, - facing = 2, - }, - { - name = "energysolar", - x = 5832, - z = 6824, - facing = 1, - }, - { - name = "energysolar", - x = 5784, - z = 7000, - facing = 1, - }, - { - name = "energywind", - x = 7496, - z = 3048, - facing = 1, - }, - { - name = "energywind", - x = 7512, - z = 2968, - facing = 1, - }, - { - name = "energywind", - x = 7512, - z = 2888, - facing = 1, - }, - { - name = "energywind", - x = 7528, - z = 2808, - facing = 1, - }, - { - name = "energywind", - x = 7544, - z = 2728, - facing = 1, - }, - { - name = "factoryplane", - x = 4976, - z = 4136, - facing = 0, - }, - { - name = "energywind", - x = 2296, - z = 2472, - facing = 1, - }, - { - name = "energywind", - x = 7544, - z = 2648, - facing = 1, - }, - { - name = "energywind", - x = 2296, - z = 2392, - facing = 1, - }, - { - name = "turrettorp", - x = 4840, - z = 4008, - facing = 0, - }, - { - name = "energywind", - x = 7560, - z = 2568, - facing = 1, - }, - { - name = "energywind", - x = 2296, - z = 2312, - facing = 1, - }, - { - name = "energywind", - x = 7576, - z = 2488, - facing = 1, - }, - { - name = "turrettorp", - x = 5112, - z = 4008, - facing = 0, - }, - { - name = "energywind", - x = 2296, - z = 2232, - facing = 1, - }, - { - name = "energywind", - x = 7576, - z = 2408, - facing = 1, - }, - { - name = "energywind", - x = 2344, - z = 2152, - facing = 1, - }, - { - name = "energywind", - x = 7592, - z = 2328, - facing = 1, - }, - { - name = "energywind", - x = 2424, - z = 2152, - facing = 1, - }, - { - name = "energywind", - x = 7528, - z = 2280, - facing = 1, - }, - { - name = "turrettorp", - x = 4968, - z = 4312, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 2168, - facing = 1, - }, - { - name = "energywind", - x = 7448, - z = 2232, - facing = 1, - }, - { - name = "energywind", - x = 2584, - z = 2168, - facing = 1, - }, - { - name = "energywind", - x = 7368, - z = 2184, - facing = 1, - }, - { - name = "turretmissile", - x = 4800, - z = 4192, - facing = 0, - }, - { - name = "energywind", - x = 7288, - z = 2120, - facing = 1, - }, - { - name = "energywind", - x = 7208, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 7128, - z = 2008, - facing = 1, - }, - { - name = "turretmissile", - x = 5168, - z = 4208, - facing = 0, - }, - { - name = "energysolar", - x = 2264, - z = 3240, - facing = 1, - }, - { - name = "energywind", - x = 7048, - z = 1992, - facing = 1, - }, - { - name = "staticcon", - x = 4984, - z = 4040, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4984, 4040}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4959, 4065}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 2104, - z = 3320, - facing = 1, - }, - { - name = "energywind", - x = 6968, - z = 1976, - facing = 1, - }, - { - name = "energywind", - x = 6888, - z = 1960, - facing = 1, - }, - { - name = "staticrearm", - x = 4984, - z = 3896, - facing = 0, - }, - { - name = "energywind", - x = 6808, - z = 1944, - facing = 1, - }, - { - name = "turretmissile", - x = 4864, - z = 3792, - facing = 2, - }, - { - name = "energywind", - x = 6728, - z = 1928, - facing = 1, - }, - { - name = "energywind", - x = 6648, - z = 1912, - facing = 1, - }, - { - name = "turretmissile", - x = 5104, - z = 3792, - facing = 2, - }, - { - name = "energywind", - x = 6568, - z = 1896, - facing = 1, - }, - { - name = "energywind", - x = 6488, - z = 1880, - facing = 1, - }, - { - name = "energywind", - x = 6408, - z = 1864, - facing = 1, - }, - { - name = "energywind", - x = 3976, - z = 2088, - facing = 1, - }, - { - name = "energywind", - x = 4056, - z = 2120, - facing = 1, - }, - { - name = "energywind", - x = 4136, - z = 2152, - facing = 1, - }, - { - name = "energysolar", - x = 5496, - z = 5336, - facing = 0, - }, - { - name = "energysolar", - x = 5416, - z = 5384, - facing = 1, - }, - { - name = "factorycloak", - x = 6440, - z = 6960, - facing = 2, - }, - { - name = "staticcon", - x = 6440, - z = 7096, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6440, 7096}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6415, 7071}, options = {"shift"}}, - }, - }, - { - name = "factoryshield", - x = 2768, - z = 2408, - facing = 0, - }, - { - name = "staticcon", - x = 2776, - z = 2280, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2776, 2280}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2801, 2305}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 5576, - z = 2120, - facing = 3, - }, - { - name = "energysolar", - x = 5496, - z = 2168, - facing = 2, - }, - { - name = "energysolar", - x = 5448, - z = 2088, - facing = 1, - }, - { - name = "energysolar", - x = 5528, - z = 2040, - facing = 0, - }, - { - name = "energysolar", - x = 6984, - z = 5288, - facing = 3, - }, - { - name = "energysolar", - x = 6904, - z = 5336, - facing = 2, - }, - { - name = "energysolar", - x = 6856, - z = 5256, - facing = 1, - }, - { - name = "energysolar", - x = 6936, - z = 5208, - facing = 0, - }, - { - name = "energysolar", - x = 4072, - z = 3672, - facing = 3, - }, - { - name = "energysolar", - x = 7256, - z = 5480, - facing = 3, - }, - { - name = "energysolar", - x = 7176, - z = 5528, - facing = 2, - }, - { - name = "energysolar", - x = 3992, - z = 3720, - facing = 2, - }, - { - name = "energysolar", - x = 7128, - z = 5448, - facing = 1, - }, - { - name = "energysolar", - x = 3944, - z = 3640, - facing = 1, - }, - { - name = "energysolar", - x = 7208, - z = 5400, - facing = 0, - }, - { - name = "energysolar", - x = 4024, - z = 3592, - facing = 0, - }, - { - name = "energysolar", - x = 5544, - z = 5416, - facing = 3, - }, - { - name = "energysolar", - x = 5464, - z = 5464, - facing = 2, - }, - { - name = "factorytank", - x = 6992, - z = 2656, - facing = 0, - }, - { - name = "staticcon", - x = 7000, - z = 2520, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7000, 2520}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6975, 2545}, options = {"shift"}}, - }, - }, - { - name = "turretaaflak", - x = 2520, - z = 2504, - facing = 0, - }, - { - name = "turretlaser", - x = 2464, - z = 2848, - facing = 0, - }, - { - name = "turretlaser", - x = 2016, - z = 2896, - facing = 0, - }, - { - name = "turretlaser", - x = 2128, - z = 2256, - facing = 0, - }, - { - name = "turretlaser", - x = 2864, - z = 2016, - facing = 1, - }, - { - name = "turretlaser", - x = 6272, - z = 7200, - facing = 3, - }, - { - name = "turretlaser", - x = 6560, - z = 6608, - facing = 2, - }, - { - name = "turretlaser", - x = 7088, - z = 6544, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4952, - z = 6184, - facing = 3, - }, - { - name = "turretlaser", - x = 7008, - z = 7168, - facing = 1, - }, - { - name = "turretriot", - x = 4920, - z = 6376, - facing = 3, - }, - { - name = "turretriot", - x = 4904, - z = 6936, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4952, - z = 7128, - facing = 3, - }, - { - name = "turretaalaser", - x = 5032, - z = 6696, - facing = 3, - }, - { - name = "turretlaser", - x = 4432, - z = 5360, - facing = 3, - }, - { - name = "turretheavylaser", - x = 1896, - z = 4008, - facing = 0, - }, - { - name = "turretlaser", - x = 3968, - z = 4640, - facing = 3, - }, - { - name = "turretaalaser", - x = 4056, - z = 4840, - facing = 3, - }, - { - name = "turretheavylaser", - x = 2792, - z = 3976, - facing = 0, - }, - { - name = "turretaalaser", - x = 4264, - z = 5144, - facing = 3, - }, - { - name = "turretlaser", - x = 4160, - z = 5008, - facing = 3, - }, - { - name = "turretriot", - x = 2040, - z = 4232, - facing = 0, - }, - { - name = "turretriot", - x = 2648, - z = 4184, - facing = 0, - }, - { - name = "turretlaser", - x = 7120, - z = 3152, - facing = 0, - }, - { - name = "turretlaser", - x = 7488, - z = 3296, - facing = 0, - }, - { - name = "turretaaclose", - x = 6824, - z = 6744, - facing = 3, - }, - { - name = "turretaaclose", - x = 6584, - z = 7240, - facing = 3, - }, - { - name = "turretlaser", - x = 6576, - z = 2432, - facing = 3, - }, - { - name = "turretlaser", - x = 6448, - z = 2128, - facing = 3, - }, - { - name = "turretemp", - x = 3408, - z = 3904, - facing = 0, - }, - { - name = "turretemp", - x = 3632, - z = 4032, - facing = 0, - }, - { - name = "turretaafar", - x = 7216, - z = 2560, - facing = 3, - }, - { - name = "turretemp", - x = 3824, - z = 4208, - facing = 0, - }, - { - name = "turretgauss", - x = 3544, - z = 3928, - facing = 0, - }, - { - name = "turretgauss", - x = 3768, - z = 4104, - facing = 0, - }, - { - name = "turretaalaser", - x = 2344, - z = 4072, - facing = 3, - }, - { - name = "turretemp", - x = 4768, - z = 5536, - facing = 3, - }, - { - name = "turretemp", - x = 4880, - z = 5696, - facing = 3, - }, - { - name = "turretemp", - x = 4928, - z = 5888, - facing = 3, - }, - { - name = "turretmissile", - x = 3040, - z = 4032, - facing = 0, - }, - { - name = "turretgauss", - x = 4856, - z = 5592, - facing = 3, - }, - { - name = "turretmissile", - x = 3120, - z = 3984, - facing = 0, - }, - { - name = "turretgauss", - x = 4952, - z = 5784, - facing = 3, - }, - { - name = "turretmissile", - x = 4960, - z = 6096, - facing = 3, - }, - { - name = "turretmissile", - x = 4880, - z = 6192, - facing = 3, - }, - { - name = "turretlaser", - x = 4880, - z = 7760, - facing = 3, - }, - { - name = "turretlaser", - x = 1664, - z = 4176, - facing = 0, - }, - { - name = "turretlaser", - x = 4928, - z = 7472, - facing = 3, - }, - { - name = "turretlaser", - x = 1520, - z = 4272, - facing = 0, - }, - { - name = "turretmissile", - x = 6880, - z = 5456, - facing = 0, - }, - { - name = "turretmissile", - x = 7168, - z = 5184, - facing = 1, - }, - { - name = "turretmissile", - x = 7216, - z = 5664, - facing = 1, - }, - { - name = "turretmissile", - x = 5120, - z = 2896, - facing = 2, - }, - { - name = "staticheavyradar", - x = 5264, - z = 2720, - facing = 2, - }, - { - name = "staticheavyradar", - x = 6432, - z = 4192, - facing = 2, - }, - { - name = "turretmissile", - x = 4128, - z = 2384, - facing = 2, - }, - { - name = "turretmissile", - x = 3824, - z = 2176, - facing = 2, - }, - { - name = "turretmissile", - x = 4160, - z = 1952, - facing = 2, - }, - } - }, - - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { - }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryshield", - "factoryplane", - "factorycloak", - "factorytank", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Protect all Djinns - satisfyForever = true, - failOnUnitLoss = true, -- Fails the objective if any units being used to satisfy the objective are lost. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "amphtele", - }, - image = planetUtilities.ICON_DIR .. "amphtele.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose any Djinns", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have 20 Metal Extractors - satisfyByTime = 1200, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 20, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 20 Metal Extractors before 20:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "amphaa", - "amphtele", - "amphlaunch", - "turretaafar", - }, - modules = { - "module_autorepair_LIMIT_B_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet25.lua b/campaign/dev/planets/planet25.lua deleted file mode 100644 index 456c903a8..000000000 --- a/campaign/dev/planets/planet25.lua +++ /dev/null @@ -1,487 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/arid01.png" - - local planetData = { - name = "Shabun", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.45, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.95, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Minimal", - radius = "4650 km", - primary = "Yasta", - primaryType = "M0VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = [[Launch an attack across the river with an army capable of fighting underwater - the amphibious Duck raider and Scallop riot bots.]] - }, - tips = { - { - image = "unitpics/amphraid.png", - text = [[Ducks are slower than most raiders but they can move and heal underwater. They are armed with a dual purpose torpedo launcher which allows them to fight both above and below the water.]] - }, - { - image = "unitpics/amphriot.png", - text = [[Scallops are armed with depth charges for underwater targets, and a shotgun for use on land. Both weapons are lethal up close.]] - }, - { - image = "unitpics/turrettorp.png", - text = [[Urchin torpedo launchers are a cheap and reliable solution to underwater threats.]] - }, - { - image = "unitpics/energywind.png", - text = [[When built in water, Wind Generators become Tidal Generators, which generate a constant amount of energy rather than the variable amount of Wind Generators.]] - }, - }, - gameConfig = { - - mapName = "Rapids_v1", - playerConfig = { - startX = 3570, - startZ = 100, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryamph", - "amphcon", - "amphraid", - "amphriot", - "energywind", - }, - startUnits = { - { - name = "staticmex", - x = 3704, - z = 472, - facing = 1, - }, - { - name = "factoryamph", - x = 3464, - z = 664, - facing = 0, - }, - { - name = "staticmex", - x = 3272, - z = 520, - facing = 1, - }, - { - name = "staticmex", - x = 3608, - z = 856, - facing = 1, - }, - { - name = "energysolar", - x = 3656, - z = 760, - facing = 1, - }, - { - name = "energysolar", - x = 3656, - z = 584, - facing = 1, - }, - { - name = "energysolar", - x = 3544, - z = 504, - facing = 1, - }, - { - name = "energysolar", - x = 3384, - z = 504, - facing = 1, - }, - { - name = "staticmex", - x = 3880, - z = 1688, - facing = 1, - }, - { - name = "amphraid", - x = 3464, - z = 907, - facing = 1, - }, - { - name = "amphraid", - x = 3324, - z = 736, - facing = 1, - }, - { - name = "amphraid", - x = 3251, - z = 666, - facing = 2, - }, - { - name = "staticcon", - x = 3592, - z = 680, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3464, 472}}, - }, - }, - { - name = "amphraid", - x = 3409, - z = 833, - facing = 3, - }, - { - name = "amphcon", - x = 3327, - z = 818, - facing = 3, - }, - { - name = "turretlaser", - x = 2544, - z = 384, - facing = 0, - }, - { - name = "turretlaser", - x = 3072, - z = 1072, - facing = 0, - }, - { - name = "turretlaser", - x = 3680, - z = 1504, - facing = 0, - }, - { - name = "staticradar", - x = 3520, - z = 1040, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 100, - startZ = 3570, - humanName = "Allegro", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticstorage", - "staticmex", - "energywind", - "energysolar", - "turretlaser", - "turretmissile", - "turrettorp", - "amphaa", - "amphbomb", - "amphcon", - "amphfloater", - "amphimpulse", - "amphraid", - "amphriot", - }, - commanderLevel = 3, - commander = { - name = "Platypus", - chassis = "engineer", - decorations = { - "skin_support_zebra", - }, - modules = { - "commweapon_shotgun", - "module_autorepair", - "module_ablative_armor", - "module_high_power_servos", - "module_adv_nano", - } - }, - midgameUnits = { - { - name = "amphassault", - x = 350, - z = 3800, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 350, - z = 3800, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 9*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 350, - z = 3800, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 12*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "amphriot", - x = 840, - z = 3455, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 2075, - z = 2055, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "factoryamph", - x = 670, - z = 3420, - facing = 2, - }, - { - name = "staticmex", - x = 520, - z = 3288, - facing = 0, - }, - { - name = "staticmex", - x = 840, - z = 3640, - facing = 0, - }, - { - name = "staticmex", - x = 440, - z = 3704, - facing = 0, - }, - { - name = "staticmex", - x = 232, - z = 2424, - facing = 0, - }, - { - name = "energysolar", - x = 552, - z = 3720, - facing = 0, - }, - { - name = "energysolar", - x = 728, - z = 3688, - facing = 0, - }, - { - name = "energysolar", - x = 488, - z = 3384, - facing = 0, - }, - { - name = "energysolar", - x = 488, - z = 3560, - facing = 0, - }, - { - name = "energysolar", - x = 312, - z = 2520, - facing = 0, - }, - { - name = "energysolar", - x = 120, - z = 2456, - facing = 0, - }, - { - name = "turretlaser", - x = 800, - z = 2416, - facing = 2, - }, - { - name = "turretlaser", - x = 1024, - z = 2544, - facing = 2, - }, - { - name = "turrettorp", - x = 376, - z = 1880, - facing = 2, - }, - { - name = "amphriot", - x = 926, - z = 3465, - facing = 0, - }, - { - name = "turrettorp", - x = 1496, - z = 2712, - facing = 2, - }, - { - name = "turrettorp", - x = 2408, - z = 3576, - facing = 1, - }, - { - name = "turretlaser", - x = 1520, - z = 3008, - facing = 1, - }, - { - name = "turretlaser", - x = 1648, - z = 3392, - facing = 1, - }, - { - name = "turretlaser", - x = 1952, - z = 1952, - facing = 2, - }, - { - name = "turretlaser", - x = 2176, - z = 2112, - facing = 1, - }, - { - name = "staticcon", - x = 648, - z = 3592, - facing = 1, - }, - { - name = "staticradar", - x = 688, - z = 3152, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryamph", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Amphbot Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make five Scallops - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 5, - unitTypes = { - "amphriot", - }, - image = planetUtilities.ICON_DIR .. "amphriot.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 5 Scallops", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Own nine mex by 5:00 - satisfyByTime = 300, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 9, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 9 Metal Extractors before 5:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "amphraid", - "amphriot", - }, - modules = { - "commweapon_shotgun", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet26.lua b/campaign/dev/planets/planet26.lua deleted file mode 100644 index ab1ba5009..000000000 --- a/campaign/dev/planets/planet26.lua +++ /dev/null @@ -1,1317 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran02.png" - - local planetData = { - name = "Kalyp", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.415, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.59, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Tropical", - radius = "5830 km", - primary = "Hassex", - primaryType = "G9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = [[Shut down the enemy Tidal Generator operation on this sunny coastline with the Hovercraft factory.]] - }, - tips = { - { - image = "unitpics/hoverraid.png", - text = [[Hovercraft move quickly over flat terrain as well as the surface of bodies of water. Daggers are very fast and armed with a gauss gun which passes through units and water.]] - }, - { - image = "unitpics/hoverskirm.png", - text = [[Scalpels fire a pair of guided missiles at medium range. They are helpless during their long reload time - either destroy the enemy with the first salvo or bring an escort. Maces are good at cleaning up after a Scalpel volley.]] - }, - { - image = "unitpics/energywind.png", - text = [[When built in water, Wind Generators become Tidal Generators, which generate a constant amount of energy rather than the variable amount of Wind Generators.]] - }, - { - image = "unitpics/turrettorp.png", - text = [[Urchin torpedo launchers are a cheap and reliable solution to underwater threats.]] - }, - }, - gameConfig = { - mapName = "Malibu Beach v1", - playerConfig = { - startX = 1200, - startZ = 1200, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "turrettorp", - "energywind", - }, - startUnits = { - { - name = "staticmex", - x = 776, - z = 808, - facing = 0, - }, - { - name = "hoverriot", - x = 625, - z = 1550, - facing = 0, - }, - { - name = "staticmex", - x = 536, - z = 376, - facing = 1, - }, - { - name = "staticmex", - x = 1576, - z = 328, - facing = 0, - }, - { - name = "staticmex", - x = 1768, - z = 696, - facing = 0, - }, - { - name = "staticmex", - x = 2088, - z = 504, - facing = 0, - }, - { - name = "staticmex", - x = 296, - z = 776, - facing = 0, - }, - { - name = "staticcon", - x = 1600, - z = 1200, - facing = 0, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1680, - z = 1200, - facing = 0, - selfPatrol = true, - }, - { - name = "staticstorage", - x = 1300, - z = 1500, - facing = 0, - }, - { - name = "factoryhover", - x = 1500, - z = 1500, - facing = 0, - }, - { - name = "energywind", - x = 712, - z = 728, - facing = 1, - }, - { - name = "energywind", - x = 680, - z = 648, - facing = 1, - }, - { - name = "energywind", - x = 664, - z = 568, - facing = 1, - }, - { - name = "energysolar", - x = 1624, - z = 440, - facing = 0, - }, - { - name = "energysolar", - x = 1704, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 632, - z = 488, - facing = 1, - }, - { - name = "energysolar", - x = 1864, - z = 648, - facing = 0, - }, - { - name = "energysolar", - x = 1992, - z = 552, - facing = 0, - }, - { - name = "energywind", - x = 600, - z = 408, - facing = 1, - }, - { - name = "energywind", - x = 456, - z = 424, - facing = 1, - }, - { - name = "energywind", - x = 424, - z = 504, - facing = 1, - }, - { - name = "energywind", - x = 392, - z = 584, - facing = 1, - }, - { - name = "energywind", - x = 360, - z = 664, - facing = 1, - }, - { - name = "energywind", - x = 344, - z = 744, - facing = 1, - }, - { - name = "staticradar", - x = 2480, - z = 1664, - facing = 0, - }, - { - name = "staticradar", - x = 336, - z = 3424, - facing = 0, - }, - { - name = "staticmex", - x = 1176, - z = 1640, - facing = 0, - }, - { - name = "staticmex", - x = 536, - z = 2264, - facing = 0, - }, - { - name = "turretlaser", - x = 176, - z = 2992, - facing = 0, - }, - { - name = "turretlaser", - x = 2272, - z = 2576, - facing = 1, - }, - { - name = "turretlaser", - x = 2752, - z = 592, - facing = 1, - }, - { - name = "turretlaser", - x = 2640, - z = 1184, - facing = 1, - }, - { - name = "energysolar", - x = 1240, - z = 1656, - facing = 0, - }, - { - name = "energysolar", - x = 1160, - z = 1704, - facing = 3, - }, - { - name = "energysolar", - x = 1112, - z = 1624, - facing = 2, - }, - { - name = "energysolar", - x = 1192, - z = 1576, - facing = 1, - }, - { - name = "hoverraid", - x = 1987, - z = 1058, - facing = 1, - }, - { - name = "hoverraid", - x = 1987, - z = 1137, - facing = 1, - }, - { - name = "hoverraid", - x = 1988, - z = 1224, - facing = 1, - }, - { - name = "hoverraid", - x = 1990, - z = 1310, - facing = 1, - }, - { - name = "hoverraid", - x = 1993, - z = 1400, - facing = 1, - }, - { - name = "hoverraid", - x = 1990, - z = 1493, - facing = 1, - }, - { - name = "energysolar", - x = 600, - z = 2280, - facing = 0, - }, - { - name = "hoverskirm", - x = 400, - z = 1400, - facing = 0, - }, - { - name = "hoverskirm", - x = 550, - z = 1400, - facing = 0, - }, - { - name = "hoverskirm", - x = 700, - z = 1400, - facing = 0, - }, - { - name = "energysolar", - x = 520, - z = 2328, - facing = 3, - }, - { - name = "hoverriot", - x = 475, - z = 1550, - facing = 0, - }, - { - name = "energysolar", - x = 472, - z = 2248, - facing = 2, - }, - { - name = "hovercon", - x = 1821, - z = 1127, - facing = 1, - }, - { - name = "hovercon", - x = 1813, - z = 1268, - facing = 1, - }, - { - name = "hovercon", - x = 1808, - z = 1423, - facing = 1, - }, - { - name = "energysolar", - x = 552, - z = 2200, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 9400, - startZ = 800, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Renewers", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "staticradar", - "turretlaser", - --"turretmissile", - --"turrettorp", - "shieldcon", - "shieldraid", - "shieldskirm", - "shieldriot", - "shieldassault", - "hoverraid", - "hoverriot", - "hoverskirm", - "shipscout", - "shipriot", - "subraider" - }, - difficultyDependantUnlocks = { - [2] = {"shipskirm"}, - [3] = {"shipskirm","shipcon"}, - [4] = {"shipskirm","shipcon","shipassault"}, - }, - commanderLevel = 3, - commander = { - name = "Bairis", - chassis = "guardian", - decorations = { - "skin_bombard_steel" - }, - modules = { - "commweapon_rocketlauncher", - "commweapon_rocketlauncher", - "module_heavy_armor", - "module_heavy_armor", - "module_adv_targeting", - } - }, - midgameUnits = { - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 2, - spawnRadius = 100, - delay = 7*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 2, - spawnRadius = 100, - delay = 7*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 2, - spawnRadius = 100, - delay = 7*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 3, - spawnRadius = 100, - delay = 6*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 5*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 5*30*60, - orbitalDrop = false, - }, - { - name = "subraider", - x = 9900, - z = 4800, - facing = 3, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 5*30*60, - orbitalDrop = false, - }, - }, - startUnits = { - { - name = "subraider", - x = 6000, - z = 4600, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "subraider", - x = 6000, - z = 4500, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "subraider", - x = 6000, - z = 4700, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "subraider", - x = 6100, - z = 4600, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "subraider", - x = 6100, - z = 4500, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "subraider", - x = 6100, - z = 4700, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "subraider", - x = 6200, - z = 4600, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "subraider", - x = 6200, - z = 4500, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "shipassault", - x = 6200, - z = 4700, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "factoryshield", - x = 10080, - z = 2152, - facing = 0, - }, - { - name = "factoryship", - x = 8000, - z = 4200, - facing = 3, - }, - { - name = "energywind", - x = 2040, - z = 4104, - facing = 0, - }, - { - name = "energywind", - x = 3672, - z = 4792, - facing = 0, - }, - { - name = "energywind", - x = 4296, - z = 3000, - facing = 0, - }, - { - name = "energywind", - x = 6056, - z = 3960, - facing = 0, - }, - { - name = "energywind", - x = 8936, - z = 4664, - facing = 0, - }, - { - name = "energywind", - x = 6152, - z = 3992, - facing = 0, - }, - { - name = "energywind", - x = 6248, - z = 4024, - facing = 0, - }, - { - name = "energywind", - x = 6360, - z = 4024, - facing = 0, - }, - { - name = "energywind", - x = 5944, - z = 3928, - facing = 0, - }, - { - name = "energywind", - x = 5976, - z = 3992, - facing = 0, - }, - { - name = "energywind", - x = 6296, - z = 4104, - facing = 0, - }, - { - name = "energywind", - x = 6088, - z = 4056, - facing = 0, - }, - { - name = "energywind", - x = 6184, - z = 4072, - facing = 0, - }, - { - name = "energywind", - x = 9016, - z = 4696, - facing = 0, - }, - { - name = "energywind", - x = 9112, - z = 4728, - facing = 0, - }, - { - name = "energywind", - x = 9192, - z = 4728, - facing = 0, - }, - { - name = "energywind", - x = 9288, - z = 4712, - facing = 0, - }, - { - name = "energywind", - x = 8936, - z = 4776, - facing = 0, - }, - { - name = "energywind", - x = 9032, - z = 4808, - facing = 0, - }, - { - name = "energywind", - x = 9144, - z = 4824, - facing = 0, - }, - { - name = "energywind", - x = 9240, - z = 4824, - facing = 0, - }, - { - name = "energywind", - x = 4376, - z = 3032, - facing = 0, - }, - { - name = "energywind", - x = 4472, - z = 3048, - facing = 0, - }, - { - name = "energywind", - x = 4552, - z = 3080, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 3096, - facing = 0, - }, - { - name = "energywind", - x = 4296, - z = 3112, - facing = 0, - }, - { - name = "energywind", - x = 4376, - z = 3144, - facing = 0, - }, - { - name = "energywind", - x = 4472, - z = 3160, - facing = 0, - }, - { - name = "energywind", - x = 4584, - z = 3192, - facing = 0, - }, - { - name = "energywind", - x = 3592, - z = 4792, - facing = 0, - }, - { - name = "energywind", - x = 3768, - z = 4792, - facing = 0, - }, - { - name = "energywind", - x = 3880, - z = 4760, - facing = 0, - }, - { - name = "energywind", - x = 3496, - z = 4760, - facing = 0, - }, - { - name = "energywind", - x = 3496, - z = 4856, - facing = 0, - }, - { - name = "energywind", - x = 3624, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 3736, - z = 4888, - facing = 0, - }, - { - name = "energywind", - x = 3848, - z = 4840, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 4136, - facing = 0, - }, - { - name = "energywind", - x = 1848, - z = 4152, - facing = 0, - }, - { - name = "energywind", - x = 1736, - z = 4152, - facing = 0, - }, - { - name = "energywind", - x = 1800, - z = 4232, - facing = 0, - }, - { - name = "energywind", - x = 1912, - z = 4216, - facing = 0, - }, - { - name = "energywind", - x = 2008, - z = 4184, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 4232, - facing = 0, - }, - { - name = "energywind", - x = 1640, - z = 4168, - facing = 0, - }, - { - name = "factoryhover", - x = 9456, - z = 4048, - facing = 0, - }, - { - name = "staticmex", - x = 9496, - z = 2392, - facing = 0, - }, - { - name = "staticmex", - x = 9480, - z = 2936, - facing = 0, - }, - { - name = "staticmex", - x = 10152, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 10152, - z = 1272, - facing = 0, - }, - { - name = "staticmex", - x = 9736, - z = 1064, - facing = 0, - }, - { - name = "staticmex", - x = 10072, - z = 712, - facing = 0, - }, - { - name = "staticradar", - x = 7424, - z = 1712, - facing = 0, - }, - { - name = "staticradar", - x = 9888, - z = 3392, - facing = 0, - }, - { - name = "energywind", - x = 7640, - z = 3800, - facing = 0, - }, - { - name = "energywind", - x = 7720, - z = 3832, - facing = 0, - }, - { - name = "energywind", - x = 7832, - z = 3848, - facing = 0, - }, - { - name = "energywind", - x = 7928, - z = 3864, - facing = 0, - }, - { - name = "energywind", - x = 8024, - z = 3880, - facing = 0, - }, - { - name = "energywind", - x = 7656, - z = 3896, - facing = 0, - }, - { - name = "energywind", - x = 7768, - z = 3912, - facing = 0, - }, - { - name = "energywind", - x = 7864, - z = 3928, - facing = 0, - }, - { - name = "energywind", - x = 7960, - z = 3960, - facing = 0, - }, - { - name = "turretlaser", - x = 7840, - z = 704, - facing = 0, - }, - { - name = "turretlaser", - x = 10032, - z = 3008, - facing = 3, - }, - { - name = "turretlaser", - x = 7664, - z = 2880, - facing = 3, - }, - { - name = "turretlaser", - x = 7680, - z = 1264, - facing = 3, - }, - { - name = "turrettorp", - x = 1864, - z = 4008, - facing = 0, - }, - { - name = "turretmissile", - x = 1600, - z = 4576, - facing = 0, - }, - { - name = "turretmissile", - x = 2848, - z = 4240, - facing = 0, - }, - { - name = "turretmissile", - x = 7728, - z = 4720, - facing = 0, - }, - { - name = "turretmissile", - x = 7952, - z = 4592, - facing = 0, - }, - { - name = "turretmissile", - x = 8144, - z = 4688, - facing = 0, - }, - { - name = "turretmissile", - x = 8368, - z = 4720, - facing = 0, - }, - { - name = "turretmissile", - x = 6816, - z = 4544, - facing = 0, - }, - { - name = "turretmissile", - x = 7168, - z = 4256, - facing = 0, - }, - { - name = "turrettorp", - x = 3320, - z = 4872, - facing = 0, - }, - { - name = "turrettorp", - x = 3992, - z = 4680, - facing = 0, - }, - { - name = "turrettorp", - x = 4344, - z = 3304, - facing = 0, - }, - { - name = "turrettorp", - x = 4536, - z = 2920, - facing = 0, - }, - { - name = "turrettorp", - x = 5816, - z = 4088, - facing = 0, - }, - { - name = "turrettorp", - x = 6248, - z = 3816, - facing = 0, - }, - { - name = "turrettorp", - x = 6360, - z = 4248, - facing = 0, - }, - { - name = "turrettorp", - x = 7848, - z = 3704, - facing = 0, - }, - { - name = "turrettorp", - x = 8760, - z = 4936, - facing = 0, - }, - { - name = "turrettorp", - x = 9240, - z = 4568, - facing = 0, - }, - { - name = "turretgauss", - x = 8600, - z = 3480, - facing = 0, - }, - { - name = "turretgauss", - x = 9496, - z = 4232, - facing = 0, - }, - { - name = "shieldraid", - x = 8783, - z = 2157, - facing = 0, - }, - { - name = "shieldraid", - x = 8658, - z = 1509, - facing = 0, - }, - { - name = "shieldraid", - x = 8843, - z = 1110, - facing = 0, - }, - { - name = "shieldraid", - x = 8730, - z = 607, - facing = 0, - }, - { - name = "shieldraid", - x = 9229, - z = 1453, - facing = 0, - }, - { - name = "shieldassault", - x = 9189, - z = 2162, - facing = 0, - }, - { - name = "shieldassault", - x = 9218, - z = 2079, - facing = 0, - }, - { - name = "shieldassault", - x = 9241, - z = 2246, - facing = 0, - }, - { - name = "shieldriot", - x = 9288, - z = 2157, - facing = 0, - }, - { - name = "hoverraid", - x = 9076, - z = 4353, - facing = 0, - }, - { - name = "hoverraid", - x = 9003, - z = 4249, - facing = 0, - }, - { - name = "hoverraid", - x = 9100, - z = 4244, - facing = 0, - }, - { - name = "staticmex", - x = 9640, - z = 3688, - facing = 0, - }, - { - name = "staticmex", - x = 9256, - z = 3816, - facing = 0, - }, - { - name = "staticmex", - x = 9752, - z = 4056, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energywind" - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Tidal Generators", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 10 Scalpels - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 23, - unitTypes = { - "hoverskirm", - }, - image = planetUtilities.ICON_DIR .. "hoverskirm.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 20 Scalpels", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Destroy all enemy factories - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "factoryshield", - "factoryhover", - "factoryship", - }, - image = planetUtilities.ICON_DIR .. "factoryshield.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy all enemy factories", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - victoryByTime = 900, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 15:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "turrettorp", - }, - modules = { - "module_adv_nano_LIMIT_C_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet27.lua b/campaign/dev/planets/planet27.lua deleted file mode 100644 index 85f748956..000000000 --- a/campaign/dev/planets/planet27.lua +++ /dev/null @@ -1,1285 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran03.png" - - local planetData = { - name = "Falloway", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.425, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.705, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6700 km", - primary = "Misir", - primaryType = "G9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = [[Your ally can take care of any surface targets, but you'll need to support them with Claymore depth charge and Flail AA hovercraft against underwater and aerial threats.]] - }, - tips = { - { - image = "unitpics/hoverdepthcharge.png", - text = [[Claymores fire depth charges at short range for large area-of-effect damage. To make this less of a suicide mission the depth charge floats for a few seconds before tracking its target. Depth charges can also be dropped as short-lived mines, even on land. Press D to drop a mine manually.]] - }, - { - image = "unitpics/hoveraa.png", - text = [[Flails fire guided missiles at enemy air units. It's most effective against planes but it will also get the job done against gunships.]] - }, - { - image = "unitpics/energyfusion.png", - text = [[Destroying the opposition's energy production will slow them down.]] - }, - }, - gameConfig = { - mapName = "Cull", - playerConfig = { - startX = 4785, - startZ = 979, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverdepthcharge", - "hoveraa", - "energywind", - }, - startUnits = { - { - name = "staticcon", - x = 4568, - z = 728, - facing = 0, - selfPatrol = true, - }, - { - name = "staticmex", - x = 5064, - z = 1208, - facing = 0, - }, - { - name = "staticmex", - x = 5224, - z = 472, - facing = 0, - }, - { - name = "staticmex", - x = 5608, - z = 760, - facing = 0, - }, - { - name = "energywind", - x = 5112, - z = 1208, - facing = 1, - }, - { - name = "energywind", - x = 5112, - z = 1256, - facing = 1, - }, - { - name = "energywind", - x = 5064, - z = 1256, - facing = 0, - }, - { - name = "energywind", - x = 5016, - z = 1256, - facing = 0, - }, - { - name = "energywind", - x = 5016, - z = 1208, - facing = 3, - }, - { - name = "energywind", - x = 5016, - z = 1160, - facing = 3, - }, - { - name = "energywind", - x = 5064, - z = 1160, - facing = 2, - }, - { - name = "energywind", - x = 5112, - z = 1160, - facing = 2, - }, - { - name = "factoryhover", - x = 4900, - z = 900, - facing = 0, - }, - { - name = "hoveraa", - x = 4417, - z = 1254, - facing = 0, - }, - { - name = "hoverdepthcharge", - x = 4653, - z = 1236, - facing = 0, - }, - { - name = "hoverdepthcharge", - x = 4312, - z = 1140, - facing = 0, - }, - { - name = "hoveraa", - x = 4543, - z = 1150, - facing = 0, - }, - { - name = "hoverskirm", - x = 4526, - z = 1259, - facing = 0, - }, - { - name = "hoverskirm", - x = 4443, - z = 1142, - facing = 0, - }, - { - name = "hovercon", - x = 4500, - z = 1000, - facing = 0, - }, - } - }, - aiConfig = { - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Privateers", - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "staticradar", - "staticcon", - "turrettorp", - "turretlaser", - "turretmissile", - "shipcon", - "subraider", - --"shiptorpraider", - "shiparty", - "shipriot", - --"shipscout", - "shipskirm", - }, - commander = false, - startUnits = { - { - name = "turretgauss", - x = 4000, - z = 400, - facing = 3, - }, - { - name = "staticmex", - x = 3992, - z = 2024, - facing = 0, - }, - { - name = "shiptorpraider", - x = 4728, - z = 1607, - facing = 0, - patrolRoute = { - {4644, 1455}, - {4703, 1479}, - }, - }, - { - name = "staticmex", - x = 3480, - z = 1208, - facing = 0, - }, - { - name = "staticmex", - x = 4040, - z = 1256, - facing = 0, - }, - { - name = "staticmex", - x = 4424, - z = 1544, - facing = 0, - }, - { - name = "staticmex", - x = 4984, - z = 1912, - facing = 0, - }, - { - name = "staticmex", - x = 5048, - z = 2504, - facing = 0, - }, - { - name = "factoryship", - x = 4720, - z = 1504, - facing = 0, - }, - { - name = "staticheavyradar", - x = 3872, - z = 1088, - facing = 2, - }, - { - name = "energywind", - x = 4472, - z = 1544, - facing = 1, - }, - { - name = "energywind", - x = 4472, - z = 1592, - facing = 1, - }, - { - name = "energywind", - x = 4424, - z = 1592, - facing = 0, - }, - { - name = "energywind", - x = 4376, - z = 1592, - facing = 0, - }, - { - name = "energywind", - x = 4376, - z = 1544, - facing = 3, - }, - { - name = "energywind", - x = 4376, - z = 1496, - facing = 3, - }, - { - name = "energywind", - x = 4424, - z = 1496, - facing = 2, - }, - { - name = "energywind", - x = 4472, - z = 1496, - facing = 2, - }, - { - name = "energywind", - x = 5032, - z = 1912, - facing = 1, - }, - { - name = "energywind", - x = 5032, - z = 1960, - facing = 1, - }, - { - name = "energywind", - x = 4984, - z = 1960, - facing = 0, - }, - { - name = "energywind", - x = 4936, - z = 1960, - facing = 0, - }, - { - name = "energywind", - x = 4936, - z = 1912, - facing = 3, - }, - { - name = "energywind", - x = 4936, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 4984, - z = 1864, - facing = 2, - }, - { - name = "energywind", - x = 5032, - z = 1864, - facing = 2, - }, - { - name = "energywind", - x = 4040, - z = 2024, - facing = 1, - }, - { - name = "energywind", - x = 4040, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 3992, - z = 2072, - facing = 0, - }, - { - name = "energywind", - x = 3944, - z = 2072, - facing = 0, - }, - { - name = "energywind", - x = 3944, - z = 2024, - facing = 3, - }, - { - name = "energywind", - x = 3944, - z = 1976, - facing = 3, - }, - { - name = "energywind", - x = 3992, - z = 1976, - facing = 2, - }, - { - name = "energywind", - x = 4040, - z = 1976, - facing = 2, - }, - { - name = "staticcon", - x = 4904, - z = 1368, - facing = 0, - }, - { - name = "staticcon", - x = 4984, - z = 1576, - facing = 0, - }, - { - name = "energywind", - x = 4328, - z = 1544, - facing = 2, - }, - { - name = "energywind", - x = 4328, - z = 1496, - facing = 1, - }, - { - name = "energywind", - x = 4328, - z = 1448, - facing = 1, - }, - { - name = "energywind", - x = 4376, - z = 1448, - facing = 0, - }, - { - name = "energywind", - x = 4424, - z = 1448, - facing = 0, - }, - { - name = "turrettorp", - x = 4072, - z = 2328, - facing = 0, - }, - { - name = "turrettorp", - x = 3224, - z = 1784, - facing = 0, - }, - { - name = "turrettorp", - x = 2904, - z = 1672, - facing = 0, - }, - { - name = "turretgauss", - x = 3576, - z = 2312, - facing = 0, - }, - { - name = "turretgauss", - x = 4504, - z = 2632, - facing = 0, - }, - { - name = "turretlaser", - x = 5552, - z = 2528, - facing = 0, - }, - { - name = "turretlaser", - x = 5856, - z = 2576, - facing = 0, - }, - { - name = "turrettorp", - x = 5064, - z = 2904, - facing = 0, - }, - { - name = "turretaalaser", - x = 5096, - z = 2248, - facing = 0, - }, - { - name = "turretaalaser", - x = 3800, - z = 1464, - facing = 0, - }, - { - name = "turretlaser", - x = 4976, - z = 1504, - facing = 3, - }, - { - name = "shipcon", - x = 4952, - z = 1628, - facing = 0, - }, - { - name = "shipriot", - x = 2739, - z = 1626, - facing = 0, - }, - { - name = "turretlaser", - x = 4128, - z = 1344, - facing = 0, - }, - { - name = "staticmex", - x = 3064, - z = 1208, - facing = 0, - }, - { - name = "shiptorpraider", - x = 4515, - z = 1872, - facing = 2, - patrolRoute = { - {4644, 1455}, - {4679, 1508}, - }, - }, - { - name = "staticradar", - x = 4224, - z = 1536, - facing = 0, - }, - { - name = "shipscout", - x = 4236, - z = 3139, - facing = 0, - }, - { - name = "shipcon", - x = 4728, - z = 1504, - facing = 0, - buildProgress = 0.0469, - }, - { - name = "shipriot", - x = 3277, - z = 1538, - facing = 0, - }, - { - name = "shipskirm", - x = 4222, - z = 1771, - facing = 0, - }, - { - name = "shipskirm", - x = 4550, - z = 2015, - facing = 0, - }, - { - name = "shipriot", - x = 4280, - z = 2069, - facing = 0, - }, - { - name = "staticstorage", - x = 4136, - z = 1608, - facing = 0, - }, - { - name = "turrettorp", - x = 3064, - z = 808, - facing = 0, - }, - { - name = "turretlaser", - x = 2960, - z = 1152, - facing = 0, - }, - { - name = "turretlaser", - x = 3296, - z = 1264, - facing = 0, - }, - { - name = "staticmex", - x = 3704, - z = 2312, - facing = 0, - }, - { - name = "staticmex", - x = 2312, - z = 1672, - facing = 0, - }, - { - name = "staticmex", - x = 2952, - z = 2296, - facing = 0, - }, - } - }, - { - startX = 2673, - startZ = 5100, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Pirates", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "staticradar", - "staticcon", - --"turrettorp", - --"turretlaser", - --"turretmissile", - --"turretaalaser", - "shipcon", - "subraider", - "shiptorpraider", - "shipscout", - "shipskirm", - "shipaa", - "amphcon", - "amphraid", - "amphriot", - "amphaa", - "amphbomb", - "gunshipcon", - "gunshipraid", - "gunshipskirm", - "gunshipbomb", - }, - difficultyDependantUnlocks = { - [3] = {"amphfloater","gunshipheavyskirm"}, - [4] = {"amphfloater","gunshipheavyskirm","gunshipassault","shipriot"}, - }, - commanderLevel = 3, - commander = { - name = "Cap'n Conquest", - chassis = "guardian", - decorations = { - }, - modules = { - "commweapon_riotcannon", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_targeting", - "module_adv_targeting", - "module_ablative_armor", - } - }, - startUnits = { - { - name = "energyfusion", - x = 5544, - z = 5456, - facing = 2, - -- bonusObjectiveID = 2, - -- mapMarker = { - -- text = "Fusion Reactor", - -- color = "red_small" - -- }, - }, - { - name = "turrettorp", - x = 3200, - z = 4800, - facing = 0, - }, - { - name = "turrettorp", - x = 3000, - z = 4300, - facing = 0, - }, - { - name = "staticmex", - x = 936, - z = 5432, - facing = 0, - }, - { - name = "staticmex", - x = 1480, - z = 4888, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 1096, - z = 4616, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 2616, - z = 4856, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 3432, - z = 5352, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 4648, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 4408, - z = 4472, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 4840, - z = 4232, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 4888, - z = 4952, - facing = 0, - }, - { - name = "staticmex", - x = 5224, - z = 5624, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 1320, - z = 4184, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "factoryship", - x = 3248, - z = 4640, - facing = 2, - }, - { - name = "turretmissile", - x = 1088, - z = 5152, - facing = 2, - }, - { - name = "turrettorp", - x = 1320, - z = 4552, - facing = 2, - }, - { - name = "turrettorp", - x = 4712, - z = 4552, - facing = 2, - }, - { - name = "staticheavyradar", - x = 2560, - z = 5056, - facing = 2, - }, - { - name = "factoryamph", - x = 1544, - z = 4520, - facing = 2, - }, - { - name = "factorygunship", - x = 2792, - z = 5032, - facing = 2, - }, - { - name = "staticcon", - x = 3032, - z = 4840, - facing = 2, - }, - { - name = "staticcon", - x = 1528, - z = 4696, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1528, 4696}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1544, 4482}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 1416, - z = 4872, - facing = 2, - }, - { - name = "energywind", - x = 1336, - z = 4824, - facing = 2, - }, - { - name = "turretmissile", - x = 832, - z = 4976, - facing = 2, - }, - { - name = "energywind", - x = 1256, - z = 4776, - facing = 2, - }, - { - name = "energywind", - x = 1176, - z = 4728, - facing = 2, - }, - { - name = "energywind", - x = 1096, - z = 4680, - facing = 2, - }, - { - name = "energywind", - x = 1160, - z = 4568, - facing = 2, - }, - { - name = "energywind", - x = 1192, - z = 4488, - facing = 2, - }, - { - name = "energywind", - x = 1208, - z = 4408, - facing = 2, - }, - { - name = "energywind", - x = 4488, - z = 4456, - facing = 2, - }, - { - name = "energywind", - x = 1240, - z = 4328, - facing = 2, - }, - { - name = "energywind", - x = 4568, - z = 4424, - facing = 2, - }, - { - name = "energywind", - x = 1272, - z = 4248, - facing = 2, - }, - { - name = "energywind", - x = 4648, - z = 4376, - facing = 2, - }, - { - name = "energywind", - x = 4728, - z = 4344, - facing = 2, - }, - { - name = "energywind", - x = 4808, - z = 4312, - facing = 2, - }, - { - name = "energywind", - x = 4488, - z = 4536, - facing = 2, - }, - { - name = "energywind", - x = 4552, - z = 4616, - facing = 2, - }, - { - name = "energywind", - x = 4616, - z = 4696, - facing = 2, - }, - { - name = "energywind", - x = 4680, - z = 4776, - facing = 2, - }, - { - name = "energywind", - x = 4760, - z = 4856, - facing = 2, - }, - { - name = "energywind", - x = 5384, - z = 5544, - facing = 2, - }, - { - name = "energywind", - x = 5288, - z = 5592, - facing = 2, - }, - { - name = "turretriot", - x = 5704, - z = 4792, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5096, - z = 3880, - facing = 2, - }, - { - name = "turretlaser", - x = 4736, - z = 3744, - facing = 2, - }, - { - name = "turretlaser", - x = 5408, - z = 4032, - facing = 2, - }, - { - name = "turretaalaser", - x = 1176, - z = 4856, - facing = 2, - }, - { - name = "turretaalaser", - x = 4856, - z = 4696, - facing = 2, - }, - { - name = "turretaalaser", - x = 3016, - z = 5176, - facing = 2, - }, - { - name = "turretgauss", - x = 680, - z = 3240, - facing = 2, - }, - { - name = "turrettorp", - x = 2872, - z = 3832, - facing = 2, - }, - { - name = "turretgauss", - x = 1784, - z = 3336, - facing = 2, - }, - { - name = "turrettorp", - x = 2184, - z = 3656, - facing = 2, - }, - { - name = "turrettorp", - x = 3400, - z = 3832, - facing = 2, - }, - { - name = "turrettorp", - x = 4248, - z = 3736, - facing = 2, - }, - { - name = "turretlaser", - x = 2432, - z = 3888, - facing = 2, - }, - { - name = "turretlaser", - x = 912, - z = 3648, - facing = 2, - }, - { - name = "turretlaser", - x = 1280, - z = 3664, - facing = 2, - }, - { - name = "turretaaclose", - x = 5688, - z = 5496, - facing = 2, - }, - { - name = "turretriot", - x = 5368, - z = 5384, - facing = 2, - }, - { - name = "turretlaser", - x = 2704, - z = 4784, - facing = 2, - }, - { - name = "turretriot", - x = 4568, - z = 5368, - facing = 3, - }, - { - name = "turretlaser", - x = 4112, - z = 5040, - facing = 2, - }, - { - name = "turretlaser", - x = 2704, - z = 5216, - facing = 1, - }, - { - name = "shipscout", - x = 1457, - z = 4285, - facing = 1, - }, - { - name = "amphfloater", - x = 1544, - z = 4484, - facing = 2, - buildProgress = 0.1044, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 3488, - z = 4624, - facing = 2, - }, - { - name = "energysolar", - x = 2600, - z = 4792, - facing = 2, - }, - { - name = "amphfloater", - x = 1944, - z = 3209, - facing = 2, - }, - { - name = "energysolar", - x = 2520, - z = 4808, - facing = 2, - }, - { - name = "gunshipheavyskirm", - x = 2792, - z = 5031, - facing = 1, - buildProgress = 0.4754, - difficultyAtLeast = 3, - }, - { - name = "turrettorp", - x = 1416, - z = 4664, - facing = 1, - }, - { - name = "shipskirm", - x = 2982, - z = 3179, - facing = 2, - }, - { - name = "staticcon", - x = 2808, - z = 5176, - facing = 2, - }, - { - name = "amphfloater", - x = 1602, - z = 4378, - facing = 2, - }, - { - name = "turretlaser", - x = 2512, - z = 4864, - facing = 2, - }, - { - name = "staticradar", - x = 3456, - z = 5024, - facing = 2, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryship", - "factoryamph", - "factorygunship", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 12 Flails - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 14, - unitTypes = { - "hoveraa", - }, - image = planetUtilities.ICON_DIR .. "hoveraa.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 12 Flails", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Win by 20:00 - victoryByTime = 1200, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "hoverdepthcharge", - "hoveraa", - }, - modules = { - "commweapon_riotcannon", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet28.lua b/campaign/dev/planets/planet28.lua deleted file mode 100644 index 2a79970ce..000000000 --- a/campaign/dev/planets/planet28.lua +++ /dev/null @@ -1,2359 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/swamp01.png" - - local planetData = { - name = "Lovaza Jira", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.485, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.60, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6800 km", - primary = "Glava", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = [[The Artefact on this planet is already hotly contested by two opposing factions, and they're bringing heavy units and striders into play. Use the Halberd armoured assault hovercraft and Lance anti-heavy artillery to cross the battlefield and reach the Artefact.]] - }, - tips = { - { - image = "unitpics/hoverarty.png", - text = [[Lances fire an exceptionally powerful beam, capable of destroying even striders in only a few hits. Set Lances to hold-fire when it is particularly important to avoid wasting precious shots on low-value targets.]] - }, - { - image = "unitpics/hoverassault.png", - text = [[Halberds can employ armor when not firing, reducing all incoming damage by a factor of four. Use this to scout for artillery targets or bypass static defences.]] - }, - { - image = "LuaUI/Images/commands/Bold/reclaim.png", - text = [[You don't have immediate access to many metal spots. Reclaim the wrecks left by the ongoing battle to finance your own army. ]] - }, - }, - gameConfig = { - mapName = "ScorpioBattleground", - playerConfig = { - startX = 7480, - startZ = 1400, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - victoryAtLocation = { - x = 144, - z = 8080, - radius = 100, - objectiveID = 1, - }, - }, - extraUnlocks = { - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverarty", - "energygeo", - "energywind", - }, - startUnits = { - { - name = "staticheavyradar", - x = 7600, - z = 300, - facing = 0, - }, - { - name = "staticmex", - x = 7992, - z = 376, - facing = 0, - }, - { - name = "staticmex", - x = 7768, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 6008, - z = 648, - facing = 1, - }, - { - name = "staticmex", - x = 6856, - z = 1112, - facing = 1, - }, - { - name = "staticmex", - x = 7624, - z = 1976, - facing = 1, - }, - { - name = "energywind", - x = 7672, - z = 2024, - facing = 1, - }, - { - name = "energywind", - x = 7688, - z = 1928, - facing = 1, - }, - { - name = "energywind", - x = 7576, - z = 1928, - facing = 1, - }, - { - name = "energywind", - x = 7544, - z = 2008, - facing = 1, - }, - { - name = "energywind", - x = 6904, - z = 1160, - facing = 1, - }, - { - name = "energywind", - x = 6920, - z = 1080, - facing = 1, - }, - { - name = "energywind", - x = 6824, - z = 1048, - facing = 1, - }, - { - name = "energywind", - x = 6792, - z = 1144, - facing = 1, - }, - { - name = "energysolar", - x = 6088, - z = 680, - facing = 1, - }, - { - name = "energysolar", - x = 6008, - z = 552, - facing = 1, - }, - { - name = "energysolar", - x = 5896, - z = 648, - facing = 1, - }, - { - name = "staticstorage", - x = 8024, - z = 184, - facing = 1, - }, - { - name = "energywind", - x = 7800, - z = 264, - facing = 1, - }, - { - name = "energywind", - x = 7896, - z = 328, - facing = 1, - }, - { - name = "factoryhover", - x = 7040, - z = 816, - facing = 0, - }, - { - name = "staticcon", - x = 6888, - z = 776, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6888, 776}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6863, 801}, options = {"shift"}}, - }, - }, - { - name = "hoverarty", - x = 7292, - z = 1124, - facing = 0, - }, - { - name = "hoverarty", - x = 7183, - z = 1111, - facing = 0, - }, - { - name = "hoverassault", - x = 7135, - z = 1324, - facing = 0, - }, - { - name = "hoverassault", - x = 7212, - z = 1348, - facing = 0, - }, - { - name = "hoverassault", - x = 7284, - z = 1345, - facing = 0, - }, - { - name = "hoverassault", - x = 7357, - z = 1347, - facing = 0, - }, - { - name = "hoverassault", - x = 7064, - z = 1332, - facing = 0, - }, - } - }, - aiConfig = { - { - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Damara", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { -- no radar is deliberate - "staticmex", - "energysolar", - "energywind", - "staticcon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretaaclose", - "turretriot", - "turretheavylaser", - "turretemp", - "striderhub", - "striderdante", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - "shieldarty", - "shieldfelon", - "shieldaa", - "factorytank", - "tankcon", - "tankriot", - "tankassault", - --"tankheavyassault", - "factoryspider", - "spidercon", - "spiderscout", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spideraa", - "staticantinuke", - }, - difficultyDependantUnlocks = { - [2] = {"spiderantiheavy"}, - [3] = {"spiderantiheavy","shieldshield"}, - [4] = {"spiderantiheavy","shieldshield","striderscorpion"} - }, - commander = false, - startUnits = { - { - name = "turretheavylaser", - x = 410, - z = 7910, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "staticantinuke", - x = 1110, - z = 1990, - facing = 2, - }, - { - name = "turretaafar", - x = 3470, - z = 2500, - facing = 0, - }, - { - name = "staticstorage", - x = 488, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 2008, - z = 1608, - facing = 0, - }, - { - name = "staticmex", - x = 1880, - z = 1176, - facing = 0, - }, - { - name = "staticmex", - x = 2392, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 2072, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 2136, - facing = 0, - }, - { - name = "staticmex", - x = 1000, - z = 1128, - facing = 0, - }, - { - name = "staticmex", - x = 296, - z = 920, - facing = 0, - }, - { - name = "staticmex", - x = 568, - z = 2936, - facing = 1, - }, - { - name = "staticmex", - x = 280, - z = 3416, - facing = 1, - }, - { - name = "staticmex", - x = 840, - z = 3384, - facing = 1, - }, - { - name = "energyfusion", - x = 32, - z = 40, - facing = 1, - }, - { - name = "energypylon", - x = 520, - z = 456, - facing = 1, - }, - { - name = "energyfusion", - x = 1008, - z = 40, - facing = 1, - }, - { - name = "energypylon", - x = 1512, - z = 456, - facing = 1, - }, - { - name = "energypylon", - x = 504, - z = 1448, - facing = 1, - }, - { - name = "energypylon", - x = 520, - z = 2440, - facing = 1, - }, - { - name = "energypylon", - x = 1480, - z = 1448, - facing = 1, - }, - { - name = "energypylon", - x = 2184, - z = 1176, - facing = 1, - }, - { - name = "energypylon", - x = 376, - z = 3336, - facing = 1, - }, - { - name = "energysolar", - x = 2136, - z = 504, - facing = 0, - }, - { - name = "energysolar", - x = 2056, - z = 552, - facing = 3, - }, - { - name = "energypylon", - x = 968, - z = 3064, - facing = 1, - }, - { - name = "energysolar", - x = 2008, - z = 472, - facing = 2, - }, - { - name = "energysolar", - x = 2088, - z = 424, - facing = 1, - }, - { - name = "energypylon", - x = 1496, - z = 2376, - facing = 1, - }, - { - name = "energyfusion", - x = 128, - z = 1960, - facing = 1, - }, - { - name = "energyfusion", - x = 112, - z = 952, - facing = 1, - }, - { - name = "turretantiheavy", - x = 1392, - z = 1600, - facing = 0, - }, - { - name = "staticmex", - x = 2616, - z = 1320, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2664, - z = 1224, - facing = 1, - }, - { - name = "staticshield", - x = 2448, - z = 1232, - facing = 1, - }, - { - name = "turretriot", - x = 2600, - z = 1432, - facing = 0, - }, - { - name = "turretemp", - x = 1584, - z = 2544, - facing = 0, - }, - { - name = "turretemp", - x = 1888, - z = 2352, - facing = 0, - }, - { - name = "turretemp", - x = 2224, - z = 2240, - facing = 1, - }, - { - name = "turretemp", - x = 2384, - z = 1968, - facing = 1, - }, - { - name = "staticshield", - x = 2112, - z = 2000, - facing = 1, - }, - { - name = "staticshield", - x = 1632, - z = 2272, - facing = 1, - }, - { - name = "turretriot", - x = 2312, - z = 2088, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2056, - z = 2248, - facing = 0, - }, - { - name = "turretriot", - x = 1704, - z = 2408, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1304, - z = 3224, - facing = 0, - }, - { - name = "turretheavylaser", - x = 488, - z = 3576, - facing = 0, - }, - { - name = "turretriot", - x = 824, - z = 3224, - facing = 0, - }, - { - name = "factoryshield", - x = 728, - z = 2560, - facing = 1, - }, - { - name = "staticcon", - x = 584, - z = 2568, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {609, 2593}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {584, 2568}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 584, - z = 2648, - facing = 1, - }, - { - name = "factorytank", - x = 1040, - z = 1552, - facing = 1, - }, - { - name = "striderhub", - x = 1040, - z = 1696, - facing = 1, - }, - { - name = "factoryspider", - x = 1800, - z = 856, - facing = 0, - }, - { - name = "staticcon", - x = 1768, - z = 744, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1768, 744}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1793, 769}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1832, - z = 744, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1832, 744}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1857, 769}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 888, - z = 1528, - facing = 1, - }, - { - name = "staticcon", - x = 888, - z = 1592, - facing = 1, - }, - { - name = "turretlaser", - x = 64, - z = 7632, - facing = 2, - }, - { - name = "turretlaser", - x = 496, - z = 8048, - facing = 1, - }, - { - name = "turretaaheavy", - x = 48, - z = 7840, - facing = 1, - }, - { - name = "turretaalaser", - x = 216, - z = 7736, - facing = 2, - }, - { - name = "turretaalaser", - x = 520, - z = 8152, - facing = 1, - }, - { - name = "turrettorp", - x = 1368, - z = 7704, - facing = 1, - }, - { - name = "turrettorp", - x = 2584, - z = 7720, - facing = 1, - }, - { - name = "turrettorp", - x = 2104, - z = 6776, - facing = 1, - }, - { - name = "turrettorp", - x = 456, - z = 6824, - facing = 2, - }, - { - name = "turrettorp", - x = 376, - z = 5752, - facing = 2, - }, - { - name = "turrettorp", - x = 1160, - z = 6216, - facing = 2, - }, - { - name = "turretaaflak", - x = 2344, - z = 1304, - facing = 1, - }, - { - name = "turretaafar", - x = 448, - z = 2000, - facing = 1, - }, - { - name = "turretaalaser", - x = 536, - z = 3192, - facing = 0, - }, - { - name = "turrettorp", - x = 1368, - z = 6888, - facing = 2, - }, - { - name = "turretaafar", - x = 1184, - z = 704, - facing = 0, - }, - { - name = "staticradar", - x = 1440, - z = 3088, - facing = 2, - }, - { - name = "staticradar", - x = 2528, - z = 1392, - facing = 2, - }, - { - name = "tankassault", - x = 1896, - z = 2711, - facing = 0, - }, - { - name = "staticmex", - x = 3256, - z = 3576, - facing = 0, - }, - { - name = "striderdante", - x = 5396, - z = 3001, - facing = 3, - }, - { - name = "spiderskirm", - x = 4932, - z = 3041, - facing = 2, - }, - { - name = "turretlaser", - x = 560, - z = 2352, - facing = 1, - }, - { - name = "energysolar", - x = 1000, - z = 1064, - facing = 1, - }, - { - name = "energywind", - x = 984, - z = 1176, - facing = 1, - }, - { - name = "turretlaser", - x = 944, - z = 976, - facing = 1, - }, - { - name = "shieldassault", - x = 2963, - z = 4478, - facing = 0, - }, - { - name = "spidercon", - x = 3393, - z = 3269, - facing = 0, - }, - { - name = "turretmissile", - x = 3776, - z = 1632, - facing = 0, - }, - { - name = "spiderantiheavy", - x = 2997, - z = 4458, - facing = 0, - }, - { - name = "tankcon", - x = 5112, - z = 2701, - facing = 0, - }, - { - name = "shieldshield", - x = 778, - z = 2497, - facing = 0, - }, - { - name = "turretlaser", - x = 1376, - z = 2240, - facing = 1, - }, - { - name = "turretlaser", - x = 784, - z = 2336, - facing = 1, - }, - { - name = "turretlaser", - x = 1952, - z = 1488, - facing = 0, - }, - { - name = "turretmissile", - x = 3888, - z = 1456, - facing = 0, - }, - { - name = "shieldcon", - x = 2168, - z = 4095, - facing = 0, - }, - { - name = "shieldraid", - x = 2079, - z = 1307, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1944, - z = 4264, - facing = 1, - }, - { - name = "turretlaser", - x = 368, - z = 3056, - facing = 1, - }, - { - name = "turretlaser", - x = 672, - z = 3040, - facing = 1, - }, - { - name = "shieldskirm", - x = 2293, - z = 2591, - facing = 0, - }, - { - name = "turretmissile", - x = 448, - z = 2560, - facing = 1, - }, - { - name = "tankcon", - x = 4084, - z = 4064, - facing = 1, - }, - { - name = "staticmex", - x = 3176, - z = 2872, - facing = 0, - }, - { - name = "staticmex", - x = 2088, - z = 4120, - facing = 0, - }, - { - name = "shieldskirm", - x = 2954, - z = 4577, - facing = 1, - }, - { - name = "tankcon", - x = 2737, - z = 3163, - facing = 1, - }, - { - name = "turretlaser", - x = 4096, - z = 1456, - facing = 0, - }, - { - name = "striderdante", - x = 1705, - z = 2568, - facing = 0, - }, - { - name = "turretlaser", - x = 2000, - z = 4064, - facing = 1, - }, - { - name = "staticstorage", - x = 1448, - z = 2040, - facing = 1, - }, - { - name = "spiderskirm", - x = 5502, - z = 3170, - facing = 0, - }, - { - name = "spidercon", - x = 5031, - z = 2783, - facing = 0, - }, - { - name = "turretlaser", - x = 2512, - z = 784, - facing = 0, - }, - { - name = "turretlaser", - x = 2736, - z = 2928, - facing = 1, - }, - { - name = "tankassault", - x = 2963, - z = 4657, - facing = 1, - }, - { - name = "shieldraid", - x = 3714, - z = 3606, - facing = 1, - }, - { - name = "tankassault", - x = 3020, - z = 4641, - facing = 0, - }, - { - name = "turretlaser", - x = 704, - z = 2800, - facing = 1, - }, - { - name = "turretmissile", - x = 2208, - z = 4000, - facing = 1, - }, - { - name = "staticstorage", - x = 1224, - z = 2232, - facing = 1, - }, - { - name = "shieldraid", - x = 3636, - z = 3756, - facing = 1, - }, - { - name = "staticmex", - x = 5000, - z = 2696, - facing = 0, - terraformHeight = 39, - }, - { - name = "tankassault", - x = 3022, - z = 4503, - facing = 1, - }, - { - name = "tankcon", - x = 5336, - z = 3169, - facing = 1, - }, - { - name = "shieldshield", - x = 4852, - z = 3188, - facing = 2, - }, - { - name = "staticmex", - x = 3960, - z = 1560, - facing = 0, - }, - { - name = "turretlaser", - x = 3312, - z = 3632, - facing = 1, - }, - { - name = "turretlaser", - x = 3984, - z = 1648, - facing = 0, - }, - { - name = "striderscorpion", - x = 2676, - z = 4589, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4424, - z = 1656, - facing = 0, - }, - { - name = "spiderantiheavy", - x = 3008, - z = 4552, - facing = 2, - }, - { - name = "tankassault", - x = 2395, - z = 1561, - facing = 0, - }, - { - name = "tankassault", - x = 6139, - z = 3861, - facing = 1, - }, - { - name = "turretriot", - x = 3784, - z = 1272, - facing = 0, - }, - { - name = "shieldskirm", - x = 5081, - z = 3047, - facing = 2, - }, - { - name = "turretriot", - x = 1864, - z = 4216, - facing = 1, - }, - { - name = "spiderassault", - x = 3002, - z = 4378, - facing = 0, - }, - { - name = "turretmissile", - x = 2144, - z = 4208, - facing = 1, - }, - { - name = "spidercrabe", - x = 5089, - z = 3120, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3912, - z = 1240, - facing = 0, - }, - { - name = "spidercon", - x = 2733, - z = 2875, - facing = 3, - }, - { - name = "staticmex", - x = 2632, - z = 3256, - facing = 0, - }, - { - name = "spiderassault", - x = 4990, - z = 2989, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5208, - z = 2424, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3896, - z = 3688, - facing = 0, - }, - { - name = "spiderassault", - x = 5006, - z = 3034, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4328, - z = 3352, - facing = 0, - }, - { - name = "spiderassault", - x = 2321, - z = 1510, - facing = 0, - }, - { - name = "staticmex", - x = 4552, - z = 2040, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4680, - z = 2040, - facing = 0, - }, - { - name = "spidercon", - x = 2111, - z = 3125, - facing = 0, - }, - { - name = "spiderskirm", - x = 2976, - z = 4524, - facing = 1, - }, - { - name = "spiderantiheavy", - x = 2045, - z = 2516, - facing = 0, - }, - { - name = "tankcon", - x = 2508, - z = 3066, - facing = 1, - }, - { - name = "spidercon", - x = 2656, - z = 2807, - facing = 1, - }, - { - name = "shieldshield", - x = 2928, - z = 4473, - facing = 0, - }, - { - name = "shieldraid", - x = 3168, - z = 4717, - facing = 0, - }, - { - name = "spiderassault", - x = 3037, - z = 2005, - facing = 0, - }, - { - name = "tankassault", - x = 1310, - z = 1762, - facing = 0, - }, - { - name = "striderhub", - x = 1920, - z = 2624, - facing = 1, - }, - { - name = "turretheavylaser", - x = 5128, - z = 2856, - facing = 0, - buildProgress = 0.8118, - }, - { - name = "spiderassault", - x = 3031, - z = 1935, - facing = 0, - }, - { - name = "tankassault", - x = 1064, - z = 1552, - facing = 1, - buildProgress = 0.1815, - }, - { - name = "shieldraid", - x = 789, - z = 2562, - facing = 1, - }, - { - name = "shieldraid", - x = 740, - z = 2560, - facing = 1, - buildProgress = 0.0711, - }, - } - }, - { - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Chukini", - commanderParameters = { - facplop = false, - }, - allyTeam = 2, - unlocks = { -- no radar is deliberate - "staticmex", - "energysolar", - "energywind", - "staticcon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretaaclose", - "turretriot", - "turretheavylaser", - "turretemp", - "striderhub", - "striderdante", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - "shieldarty", - "shieldfelon", - "shieldaa", - "factoryjump", - "jumpcon", - "jumparty", - "jumpblackhole", - "jumpbomb", - "jumpsumo", - "jumpaa", - "factorytank", - "tankcon", - "tankriot", - "tankassault", - "staticantinuke", - --"tankheavyassault", - }, - difficultyDependantUnlocks = { - [2] = {"jumpassault"}, - [3] = {"jumpassault","shieldshield"}, - [4] = {"jumpassault","shieldshield","striderscorpion"} - }, - commander = false, - startUnits = { - { - { - name = "staticantinuke", - x = 7500, - z = 7100, - facing = 2, - }, - name = "turretaafar", - x = 5050, - z = 6100, - facing = 2, - }, - { - name = "turretaafar", - x = 4390, - z = 5350, - facing = 2, - }, - { - name = "turretheavyassault", - x = 4880, - z = 5600, - facing = 2, - }, - { - name = "staticstorage", - x = 7896, - z = 7896, - facing = 0, - }, - { - name = "staticmex", - x = 7192, - z = 6552, - facing = 0, - }, - { - name = "staticmex", - x = 6984, - z = 7128, - facing = 0, - }, - { - name = "staticmex", - x = 6152, - z = 6728, - facing = 0, - }, - { - name = "staticmex", - x = 6056, - z = 7464, - facing = 0, - }, - { - name = "staticmex", - x = 7736, - z = 7752, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 5656, - facing = 0, - }, - { - name = "staticmex", - x = 7512, - z = 5432, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 4984, - facing = 0, - }, - { - name = "staticmex", - x = 6392, - z = 7992, - facing = 1, - }, - { - name = "energyfusion", - x = 8160, - z = 8152, - facing = 1, - }, - { - name = "staticmex", - x = 5672, - z = 7752, - facing = 1, - }, - { - name = "staticmex", - x = 6056, - z = 7048, - facing = 1, - }, - { - name = "energyfusion", - x = 8160, - z = 6888, - facing = 1, - }, - { - name = "staticmex", - x = 5528, - z = 7016, - facing = 1, - }, - { - name = "energyfusion", - x = 8160, - z = 5784, - facing = 1, - }, - { - name = "energyfusion", - x = 7088, - z = 8152, - facing = 1, - }, - { - name = "energypylon", - x = 7624, - z = 7800, - facing = 1, - }, - { - name = "energypylon", - x = 7640, - z = 6824, - facing = 1, - }, - { - name = "energypylon", - x = 6760, - z = 7608, - facing = 1, - }, - { - name = "energypylon", - x = 7720, - z = 5864, - facing = 1, - }, - { - name = "energypylon", - x = 6696, - z = 6632, - facing = 1, - }, - { - name = "energypylon", - x = 5960, - z = 7128, - facing = 1, - }, - { - name = "energypylon", - x = 7912, - z = 5112, - facing = 1, - }, - { - name = "energypylon", - x = 7224, - z = 5704, - facing = 1, - }, - { - name = "turretheavy", - x = 5528, - z = 6904, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7064, - z = 5320, - facing = 2, - }, - { - name = "turretheavy", - x = 6776, - z = 7048, - facing = 2, - }, - { - name = "turretriot", - x = 6952, - z = 5784, - facing = 3, - }, - { - name = "turretriot", - x = 6856, - z = 6200, - facing = 3, - }, - { - name = "turretriot", - x = 5432, - z = 6968, - facing = 3, - }, - { - name = "turretriot", - x = 5912, - z = 6808, - facing = 2, - }, - { - name = "factoryjump", - x = 6360, - z = 7320, - facing = 2, - }, - { - name = "factorytank", - x = 7392, - z = 6800, - facing = 3, - }, - { - name = "striderhub", - x = 7392, - z = 6592, - facing = 3, - }, - { - name = "factoryshield", - x = 7656, - z = 5680, - facing = 3, - }, - { - name = "staticcon", - x = 7512, - z = 6760, - facing = 3, - }, - { - name = "staticcon", - x = 7512, - z = 6840, - facing = 3, - }, - { - name = "staticcon", - x = 7784, - z = 5656, - facing = 3, - }, - { - name = "staticcon", - x = 7784, - z = 5752, - facing = 3, - }, - { - name = "staticcon", - x = 6328, - z = 7448, - facing = 2, - }, - { - name = "staticcon", - x = 6408, - z = 7448, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5608, - z = 7432, - facing = 3, - }, - { - name = "turretriot", - x = 5064, - z = 8008, - facing = 3, - }, - { - name = "staticshield", - x = 7088, - z = 5616, - facing = 0, - }, - { - name = "staticshield", - x = 5584, - z = 7104, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6216, - z = 6584, - facing = 3, - }, - { - name = "turretgauss", - x = 6280, - z = 6408, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6424, - z = 6312, - facing = 2, - }, - { - name = "staticshield", - x = 6432, - z = 6544, - facing = 2, - }, - { - name = "turretaalaser", - x = 7832, - z = 5304, - facing = 2, - }, - { - name = "turretaafar", - x = 7600, - z = 6400, - facing = 3, - }, - { - name = "turretaafar", - x = 6720, - z = 7424, - facing = 2, - }, - { - name = "turretaaflak", - x = 5608, - z = 7000, - facing = 2, - }, - { - name = "staticradar", - x = 5648, - z = 6880, - facing = 2, - }, - { - name = "staticradar", - x = 6848, - z = 5536, - facing = 2, - }, - { - name = "jumpassault", - x = 5401, - z = 4030, - facing = 0, - }, - { - name = "tankassault", - x = 6261, - z = 5170, - facing = 2, - }, - { - name = "turretlaser", - x = 6352, - z = 7600, - facing = 2, - }, - { - name = "turretmissile", - x = 6400, - z = 4864, - facing = 3, - }, - { - name = "turretriot", - x = 3880, - z = 5000, - facing = 2, - }, - { - name = "energysolar", - x = 7576, - z = 5464, - facing = 3, - }, - { - name = "energywind", - x = 7560, - z = 5352, - facing = 3, - }, - { - name = "energywind", - x = 7464, - z = 5512, - facing = 3, - }, - { - name = "turretmissile", - x = 6192, - z = 5168, - facing = 3, - }, - { - name = "tankassault", - x = 4965, - z = 5531, - facing = 0, - }, - { - name = "staticstorage", - x = 7192, - z = 6600, - facing = 3, - }, - { - name = "turretlaser", - x = 6128, - z = 7296, - facing = 2, - }, - { - name = "turretlaser", - x = 7024, - z = 6944, - facing = 3, - }, - { - name = "turretlaser", - x = 3104, - z = 5760, - facing = 2, - }, - { - name = "turretlaser", - x = 8048, - z = 5328, - facing = 3, - }, - { - name = "tankcon", - x = 2842, - z = 5582, - facing = 3, - }, - { - name = "turretlaser", - x = 5872, - z = 7552, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6200, - z = 4744, - facing = 3, - }, - { - name = "turretlaser", - x = 7696, - z = 7760, - facing = 2, - }, - { - name = "turretlaser", - x = 6208, - z = 4960, - facing = 3, - }, - { - name = "jumpcon", - x = 5173, - z = 4596, - facing = 1, - }, - { - name = "turretlaser", - x = 5824, - z = 7008, - facing = 2, - }, - { - name = "tankcon", - x = 6029, - z = 5418, - facing = 3, - }, - { - name = "jumpassault", - x = 6360, - z = 7296, - facing = 2, - buildProgress = 0.7877, - }, - { - name = "tankcon", - x = 5519, - z = 4014, - facing = 1, - }, - { - name = "jumparty", - x = 4712, - z = 4502, - facing = 3, - }, - { - name = "jumpcon", - x = 2539, - z = 5279, - facing = 3, - }, - { - name = "staticmex", - x = 6008, - z = 5224, - facing = 0, - }, - { - name = "staticmex", - x = 5336, - z = 5736, - facing = 0, - }, - { - name = "jumpassault", - x = 5428, - z = 3710, - facing = 1, - }, - { - name = "staticmex", - x = 4392, - z = 7048, - facing = 0, - }, - { - name = "shieldassault", - x = 6224, - z = 5047, - facing = 0, - }, - { - name = "jumpcon", - x = 5563, - z = 4012, - facing = 1, - }, - { - name = "turretlaser", - x = 5456, - z = 5776, - facing = 2, - }, - { - name = "turretlaser", - x = 6016, - z = 4848, - facing = 3, - }, - { - name = "staticmex", - x = 2440, - z = 5224, - facing = 0, - buildProgress = 0.6577, - }, - { - name = "turretlaser", - x = 4400, - z = 7104, - facing = 2, - }, - { - name = "staticmex", - x = 5112, - z = 4888, - facing = 0, - }, - { - name = "turretlaser", - x = 5120, - z = 4928, - facing = 3, - }, - { - name = "turretlaser", - x = 4272, - z = 5152, - facing = 2, - }, - { - name = "turretlaser", - x = 3632, - z = 6720, - facing = 2, - }, - { - name = "staticstorage", - x = 7112, - z = 6664, - facing = 3, - }, - { - name = "jumpcon", - x = 2621, - z = 5488, - facing = 0, - }, - { - name = "turretlaser", - x = 6352, - z = 7088, - facing = 2, - }, - { - name = "shieldskirm", - x = 5468, - z = 4519, - facing = 0, - }, - { - name = "staticmex", - x = 3720, - z = 6616, - facing = 0, - }, - { - name = "turretmissile", - x = 3872, - z = 5264, - facing = 2, - }, - { - name = "shieldshield", - x = 6600, - z = 4686, - facing = 0, - }, - { - name = "staticmex", - x = 2904, - z = 5784, - facing = 0, - terraformHeight = 41, - }, - { - name = "staticmex", - x = 4200, - z = 5176, - facing = 0, - }, - { - name = "jumpassault", - x = 6459, - z = 4398, - facing = 2, - }, - { - name = "turretmissile", - x = 4064, - z = 5152, - facing = 2, - }, - { - name = "tankassault", - x = 5451, - z = 3644, - facing = 1, - }, - { - name = "shieldarty", - x = 5421, - z = 3736, - facing = 3, - }, - { - name = "turretlaser", - x = 4272, - z = 5360, - facing = 2, - }, - { - name = "turretlaser", - x = 6144, - z = 7504, - facing = 2, - }, - { - name = "shieldshield", - x = 7644, - z = 5680, - facing = 3, - buildProgress = 0.6911, - }, - { - name = "jumpcon", - x = 4095, - z = 4557, - facing = 3, - }, - { - name = "shieldshield", - x = 6591, - z = 4710, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4056, - z = 5368, - facing = 2, - }, - { - name = "jumpassault", - x = 5817, - z = 4930, - facing = 1, - }, - { - name = "striderdante", - x = 5743, - z = 3984, - facing = 1, - }, - { - name = "turretlaser", - x = 5824, - z = 4976, - facing = 3, - }, - { - name = "staticmex", - x = 6040, - z = 4552, - facing = 0, - }, - { - name = "tankcon", - x = 5296, - z = 4780, - facing = 2, - }, - { - name = "turretmissile", - x = 6016, - z = 5056, - facing = 3, - }, - { - name = "shieldriot", - x = 4489, - z = 4197, - facing = 2, - }, - { - name = "shieldraid", - x = 3504, - z = 6182, - facing = 0, - patrolRoute = { - {3512, 6126}, - {3506, 6190}, - }, - }, - { - name = "turretriot", - x = 4456, - z = 5240, - facing = 2, - }, - { - name = "striderscorpion", - x = 4806, - z = 5133, - facing = 1, - }, - { - name = "turretlaser", - x = 4144, - z = 4960, - facing = 2, - }, - { - name = "jumparty", - x = 5732, - z = 6557, - facing = 3, - }, - { - name = "tankassault", - x = 7111, - z = 5846, - facing = 1, - }, - { - name = "striderhub", - x = 6912, - z = 5056, - facing = 3, - }, - { - name = "jumpcon", - x = 4708, - z = 4681, - facing = 0, - }, - { - name = "jumpcon", - x = 4324, - z = 5687, - facing = 3, - }, - { - name = "turretriot", - x = 5816, - z = 4760, - facing = 3, - }, - { - name = "turretmissile", - x = 2912, - z = 5664, - facing = 2, - }, - { - name = "shieldraid", - x = 3556, - z = 6167, - facing = 2, - patrolRoute = { - {3546, 6180}, - {3509, 6126}, - }, - }, - { - name = "striderdante", - x = 7296, - z = 6592, - facing = 0, - buildProgress = 0.5729, - }, - { - name = "jumpcon", - x = 3906, - z = 4641, - facing = 2, - }, - { - name = "shieldcon", - x = 5252, - z = 4578, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5344, 4688}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5227, 4567}, options = {"shift"}}, - }, - }, - { - name = "tankcon", - x = 5528, - z = 4056, - facing = 1, - }, - { - name = "tankheavyassault", - x = 7368, - z = 6800, - facing = 3, - buildProgress = 0.0584, - }, - { - name = "turretheavylaser", - x = 2696, - z = 5576, - facing = 2, - buildProgress = 0.37, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_artefact", - x = 144, - z = 8080, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Artefact", - color = "green" - }, - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {7800, 195, 500, 7500,-90, 1150}, - width = 200 - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {350, 195, 7800, 800, -90, 7000}, - width = 200 - }, - }, - defeatConditionConfig = { - [0] = { }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - [2] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - }, - objectiveConfig = { - [1] = { - description = "Bring your Commander to the Artefact", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build five Lances - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 5, - unitTypes = { - "hoverarty", - }, - image = planetUtilities.ICON_DIR .. "hoverarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 5 Lances", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 1200, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Build a geo - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "energygeo", - }, - image = planetUtilities.ICON_DIR .. "energygeo.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a Geothermal Generator", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "hoverassault", - "hoverarty", - }, - modules = { - "module_adv_targeting_LIMIT_B_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet29.lua b/campaign/dev/planets/planet29.lua deleted file mode 100644 index 1b2c5f321..000000000 --- a/campaign/dev/planets/planet29.lua +++ /dev/null @@ -1,1347 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/ocean01.png" - - local planetData = { - name = "Gemmia", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.355, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.68, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Oceanic", - radius = "7710 km", - primary = "Ghas", - primaryType = "G6V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[The enemy of my enemy... is at least useful. Build up your economy with Fusion Generators while the two opposing factions fight, then eradicate them both. Advanced Radars will keep you informed on the overall battle state.]] - }, - tips = { - { - image = "unitpics/energyfusion.png", - text = [[The Fusion Reactor isn't all that much better for cost than Solar Generators or Wind Turbines but it takes up much less space. Fusions are a bit volatile when destroyed, but if you don't build right next to them you should be fine.]] - }, - { - image = "unitpics/module_energy_cell.png", - text = [[Once you've built one or more Fusion Reactors, connect them to your Metal Extractors to get more metal income from overdrive using your excess energy.]] - }, - { - image = "unitpics/staticheavyradar.png", - text = [[In a battle with more than two sides it pays to be aware of what's happening all over the map, not just on your front. The Advanced Radar has exceptional range and will keep you informed.]] - }, - }, - gameConfig = { - mapName = "La Isla Bonita v1.1", - playerConfig = { - startX = 1016, - startZ = 3400, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 3, - }, - extraUnlocks = { - "staticheavyradar", - "energyfusion", - }, - startUnits = { - { - name = "staticmex", - x = 1224, - z = 4328, - facing = 0, - }, - { - name = "staticmex", - x = 1176, - z = 4584, - facing = 0, - }, - { - name = "staticmex", - x = 1416, - z = 4488, - facing = 0, - }, - { - name = "staticmex", - x = 1432, - z = 2936, - facing = 0, - }, - { - name = "staticmex", - x = 1304, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 1176, - z = 2712, - facing = 0, - }, - { - name = "staticheavyradar", - x = 1872, - z = 2736, - facing = 0, - }, - { - name = "staticheavyradar", - x = 2080, - z = 4576, - facing = 0, - }, - { - name = "energyfusion", - x = 1000, - z = 4448, - facing = 0, - }, - { - name = "energysolar", - x = 1192, - z = 4440, - facing = 0, - }, - { - name = "energysolar", - x = 1352, - z = 4408, - facing = 0, - }, - { - name = "energysolar", - x = 1192, - z = 2808, - facing = 0, - }, - { - name = "energysolar", - x = 1320, - z = 2952, - facing = 0, - }, - { - name = "staticcon", - x = 1016, - z = 3208, - facing = 1, - }, - { - name = "staticcon", - x = 1016, - z = 3304, - facing = 1, - }, - { - name = "tankriot", - x = 1586, - z = 3250, - facing = 1, - }, - { - name = "tankcon", - x = 1550, - z = 3150, - facing = 1, - }, - { - name = "tankcon", - x = 1550, - z = 3350, - facing = 1, - }, - { - name = "spiderscout", - x = 3550, - z = 1987, - facing = 1, - commands = {{cmdID = planetUtilities.COMMAND.MOVE, pos = {3550, 2100}}}, - }, - { - name = "spiderscout", - x = 3427, - z = 3219, - facing = 0, - commands = {{cmdID = planetUtilities.COMMAND.MOVE, pos = {3427, 3330}}}, - }, - { - name = "spiderscout", - x = 3490, - z = 4901, - facing = 0, - commands = {{cmdID = planetUtilities.COMMAND.MOVE, pos = {3490, 5010}}}, - }, - { - name = "spiderscout", - x = 2652, - z = 5494, - facing = 0, - commands = {{cmdID = planetUtilities.COMMAND.MOVE, pos = {2652, 5600}}}, - }, - { - name = "jumparty", - x = 1450, - z = 3250, - facing = 1, - }, - { - name = "jumpskirm", - x = 1450, - z = 3150, - facing = 1, - }, - { - name = "jumpskirm", - x = 1450, - z = 3350, - facing = 1, - }, - { - name = "turretriot", - x = 1768, - z = 3256, - facing = 1, - }, - { - name = "turretmissile", - x = 1744, - z = 5120, - facing = 0, - }, - { - name = "turretmissile", - x = 1856, - z = 5056, - facing = 0, - }, - { - name = "turretmissile", - x = 1744, - z = 3792, - facing = 1, - }, - { - name = "turretmissile", - x = 1872, - z = 4112, - facing = 1, - }, - { - name = "turretmissile", - x = 2032, - z = 4464, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 6032, - startZ = 1919, - humanName = "Angels", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - --"turretlaser", - --"turretmissile", - "staticmex", - "energysolar", - "staticradar", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - "shieldarty", - "planecon", - "planefighter", - "bomberriot", - "staticantinuke", - }, - difficultyDependantUnlocks = { - [4] = {"bomberdisarm"}, - }, - commanderLevel = 4, - commander = { - name = "Metatron", - chassis = "recon", - decorations = { - "skin_recon_leopard", - }, - modules = { - "commweapon_heavymachinegun", - "commweapon_concussion", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_autorepair", - "module_companion_drone", - "module_companion_drone", - "module_companion_drone", - } - }, - startUnits = { - { - name = "staticmex", - x = 5064, - z = 1512, - facing = 0, - }, - { - name = "staticmex", - x = 5128, - z = 1272, - facing = 0, - }, - { - name = "staticmex", - x = 5320, - z = 1480, - facing = 0, - }, - { - name = "staticmex", - x = 6776, - z = 2248, - facing = 0, - }, - { - name = "staticmex", - x = 6664, - z = 2376, - facing = 0, - }, - { - name = "staticmex", - x = 6504, - z = 2424, - facing = 0, - }, - { - name = "staticmex", - x = 7528, - z = 2392, - facing = 0, - }, - { - name = "staticmex", - x = 5128, - z = 2408, - facing = 0, - }, - { - name = "staticmex", - x = 4744, - z = 2216, - facing = 0, - }, - { - name = "staticmex", - x = 7272, - z = 2840, - facing = 0, - }, - { - name = "staticmex", - x = 7432, - z = 3448, - facing = 0, - }, - { - name = "staticmex", - x = 7192, - z = 3640, - facing = 0, - }, - -- { - -- name = "energyfusion", - -- x = 5448, - -- z = 1184, - -- facing = 0, - -- difficultyAtLeast = 2, - -- }, - { - name = "energyfusion", - x = 5688, - z = 1312, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 5224, - z = 1256, - facing = 0, - }, - { - name = "energysolar", - x = 5368, - z = 1400, - facing = 0, - }, - { - name = "energysolar", - x = 6696, - z = 2280, - facing = 0, - }, - { - name = "energysolar", - x = 6568, - z = 2392, - facing = 0, - }, - { - name = "energysolar", - x = 4984, - z = 2408, - facing = 0, - }, - { - name = "energysolar", - x = 4808, - z = 2328, - facing = 0, - }, - { - name = "energysolar", - x = 7288, - z = 3528, - facing = 0, - }, - { - name = "energysolar", - x = 7336, - z = 3384, - facing = 0, - }, - { - name = "energysolar", - x = 7336, - z = 3240, - facing = 0, - }, - { - name = "energysolar", - x = 7336, - z = 3080, - facing = 0, - }, - { - name = "energysolar", - x = 7304, - z = 2920, - facing = 0, - }, - { - name = "energysolar", - x = 5096, - z = 1400, - facing = 0, - }, - { - name = "staticcon", - x = 6216, - z = 1864, - facing = 0, - }, - { - name = "staticcon", - x = 6296, - z = 1864, - facing = 0, - }, - { - name = "staticcon", - x = 6376, - z = 1864, - facing = 0, - }, - { - name = "factoryshield", - x = 6192, - z = 2024, - facing = 0, - }, - { - name = "factoryplane", - x = 6368, - z = 2016, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretmissile", - x = 4688, - z = 1984, - facing = 0, - }, - { - name = "turretmissile", - x = 4800, - z = 2032, - facing = 0, - }, - { - name = "turretmissile", - x = 5536, - z = 2176, - facing = 0, - }, - { - name = "turretmissile", - x = 5696, - z = 2176, - facing = 0, - }, - { - name = "turretmissile", - x = 6400, - z = 2704, - facing = 0, - }, - { - name = "turretmissile", - x = 6832, - z = 3792, - facing = 0, - }, - { - name = "turretmissile", - x = 6928, - z = 3888, - facing = 0, - }, - { - name = "turretmissile", - x = 4304, - z = 1264, - facing = 0, - }, - { - name = "turretmissile", - x = 4432, - z = 1344, - facing = 0, - }, - { - name = "turretlaser", - x = 5088, - z = 1632, - facing = 0, - }, - { - name = "turretlaser", - x = 5584, - z = 1568, - facing = 0, - }, - { - name = "turretlaser", - x = 5104, - z = 1088, - facing = 0, - }, - { - name = "turretaafar", - x = 5328, - z = 1744, - facing = 0, - }, - { - name = "turretaalaser", - x = 4888, - z = 1272, - facing = 0, - }, - { - name = "turretaalaser", - x = 5592, - z = 1896, - facing = 0, - }, - { - name = "turretaalaser", - x = 6840, - z = 2632, - facing = 0, - }, - -- { - -- name = "turretheavylaser", - -- x = 6120, - -- z = 2360, - -- facing = 0, - -- }, - -- { - -- name = "turretheavylaser", - -- x = 6840, - -- z = 3240, - -- facing = 0, - -- }, - { - name = "turretriot", - x = 5832, - z = 2760, - facing = 0, - }, - { - name = "turretriot", - x = 6152, - z = 3160, - facing = 0, - }, - { - name = "turretriot", - x = 4712, - z = 2568, - facing = 3, - }, - { - name = "turretriot", - x = 6440, - z = 3736, - facing = 0, - }, - { - name = "turretgauss", - x = 6200, - z = 3704, - facing = 0, - }, - { - name = "turretgauss", - x = 6600, - z = 3912, - facing = 0, - }, - -- { - -- name = "turretheavylaser", - -- x = 6504, - -- z = 3608, - -- facing = 0, - -- }, - { - name = "turretlaser", - x = 4688, - z = 2816, - facing = 3, - }, - { - name = "staticradar", - x = 5056, - z = 2208, - facing = 0, - }, - { - name = "staticradar", - x = 7008, - z = 3984, - facing = 0, - }, - { - name = "shieldcon", - x = 5315, - z = 1932, - facing = 0, - }, - { - name = "shieldcon", - x = 5497, - z = 2002, - facing = 0, - }, - { - name = "shieldcon", - x = 5912, - z = 2209, - facing = 0, - }, - { - name = "shieldcon", - x = 6015, - z = 2258, - facing = 0, - }, - { - name = "shieldassault", - x = 5774, - z = 1919, - facing = 0, - }, - { - name = "shieldassault", - x = 5883, - z = 1971, - facing = 0, - }, - { - name = "shieldassault", - x = 5899, - z = 1853, - facing = 0, - }, - { - name = "shieldassault", - x = 5797, - z = 1801, - facing = 0, - }, - { - name = "shieldassault", - x = 5994, - z = 2054, - facing = 0, - }, - { - name = "shieldriot", - x = 5832, - z = 1890, - facing = 0, - }, - { - name = "shieldriot", - x = 5965, - z = 1977, - facing = 0, - }, - { - name = "shieldarty", - x = 6315, - z = 2230, - facing = 0, - }, - { - name = "shieldarty", - x = 6401, - z = 2261, - facing = 0, - }, - } - }, - { - startX = 4874, - startZ = 6903, - humanName = "Demons", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 2, - unlocks = { - "staticcon", - --"turretlaser", - --"turretmissile", - "staticmex", - "energysolar", - "staticradar", - "vehcon", - "vehscout", - "vehraid", - "vehriot", - "vehassault", - "vehcapture", - "jumpcon", - "jumpraid", - "jumpskirm", - "staticantinuke", - }, - difficultyDependantUnlocks = { - [4] = {"jumpblackhole"}, - }, - commanderLevel = 4, - commander = { - name = "Beelzebul", - chassis = "engineer", - decorations = { - "skin_support_green", - }, - modules = { - "commweapon_lparticlebeam", - "commweapon_disruptorbomb", - "conversion_disruptor", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_targeting", - } - }, - startUnits = { - { - name = "staticmex", - x = 5992, - z = 6360, - facing = 0, - }, - { - name = "staticmex", - x = 5832, - z = 6168, - facing = 0, - }, - { - name = "staticmex", - x = 5736, - z = 6408, - facing = 0, - }, - { - name = "staticmex", - x = 4344, - z = 7320, - facing = 0, - }, - { - name = "staticmex", - x = 4296, - z = 7160, - facing = 0, - }, - { - name = "staticmex", - x = 4408, - z = 7032, - facing = 0, - }, - { - name = "staticmex", - x = 5112, - z = 5832, - facing = 0, - }, - { - name = "staticmex", - x = 5384, - z = 5480, - facing = 0, - }, - { - name = "staticmex", - x = 3640, - z = 7432, - facing = 0, - }, - { - name = "staticmex", - x = 3064, - z = 7368, - facing = 0, - }, - { - name = "staticmex", - x = 2888, - z = 7112, - facing = 0, - }, - { - name = "staticmex", - x = 3896, - z = 7752, - facing = 0, - }, - -- { - -- name = "energyfusion", - -- x = 5928, - -- z = 6592, - -- facing = 0, - -- difficultyAtLeast = 2, - -- }, - { - name = "energyfusion", - x = 6120, - z = 6432, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 5128, - z = 5736, - facing = 0, - }, - { - name = "energysolar", - x = 5208, - z = 5624, - facing = 0, - }, - { - name = "energysolar", - x = 5288, - z = 5528, - facing = 0, - }, - { - name = "energysolar", - x = 5848, - z = 6392, - facing = 0, - }, - { - name = "energysolar", - x = 5864, - z = 6264, - facing = 0, - }, - { - name = "energysolar", - x = 4376, - z = 7160, - facing = 0, - }, - { - name = "energysolar", - x = 4408, - z = 7288, - facing = 0, - }, - { - name = "energysolar", - x = 3000, - z = 7160, - facing = 0, - }, - { - name = "energysolar", - x = 3096, - z = 7272, - facing = 0, - }, - { - name = "energysolar", - x = 3288, - z = 7320, - facing = 0, - }, - { - name = "energysolar", - x = 3432, - z = 7352, - facing = 0, - }, - { - name = "energysolar", - x = 3576, - z = 7336, - facing = 0, - }, - { - name = "staticcon", - x = 4680, - z = 7176, - facing = 2, - }, - { - name = "staticcon", - x = 4760, - z = 7176, - facing = 2, - }, - { - name = "staticcon", - x = 4840, - z = 7176, - facing = 2, - }, - { - name = "turretmissile", - x = 2848, - z = 6640, - facing = 2, - }, - { - name = "turretmissile", - x = 2944, - z = 6624, - facing = 2, - }, - { - name = "turretmissile", - x = 3984, - z = 6784, - facing = 2, - }, - { - name = "turretmissile", - x = 4096, - z = 6752, - facing = 2, - }, - { - name = "turretmissile", - x = 4896, - z = 6336, - facing = 2, - }, - { - name = "turretmissile", - x = 4992, - z = 6224, - facing = 2, - }, - { - name = "turretmissile", - x = 5520, - z = 5616, - facing = 2, - }, - { - name = "turretmissile", - x = 5632, - z = 5552, - facing = 2, - }, - { - name = "turretmissile", - x = 6224, - z = 5680, - facing = 2, - }, - { - name = "turretmissile", - x = 6320, - z = 5712, - facing = 2, - }, - { - name = "turretmissile", - x = 3024, - z = 7552, - facing = 2, - }, - { - name = "turretmissile", - x = 3168, - z = 7632, - facing = 2, - }, - { - name = "factoryjump", - x = 4632, - z = 7048, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "staticradar", - x = 2656, - z = 6704, - facing = 0, - }, - { - name = "turretlaser", - x = 5728, - z = 6656, - facing = 2, - }, - { - name = "turretlaser", - x = 5632, - z = 6160, - facing = 2, - }, - { - name = "turretlaser", - x = 6224, - z = 6272, - facing = 2, - }, - { - name = "turretaafar", - x = 5504, - z = 6464, - facing = 2, - }, - { - name = "turretaalaser", - x = 6056, - z = 6136, - facing = 2, - }, - { - name = "turretaalaser", - x = 5640, - z = 6920, - facing = 2, - }, - { - name = "turretaalaser", - x = 3944, - z = 7112, - facing = 2, - }, - -- { - -- name = "turretheavylaser", - -- x = 3432, - -- z = 6776, - -- facing = 2, - -- }, - -- { - -- name = "turretheavylaser", - -- x = 4616, - -- z = 6712, - -- facing = 2, - -- }, - { - name = "turretriot", - x = 4040, - z = 6312, - facing = 2, - }, - { - name = "turretriot", - x = 3176, - z = 6280, - facing = 2, - }, - { - name = "turretriot", - x = 5240, - z = 5208, - facing = 2, - }, - { - name = "turretriot", - x = 4360, - z = 5832, - facing = 2, - }, - { - name = "turretgauss", - x = 5064, - z = 5080, - facing = 2, - }, - { - name = "turretgauss", - x = 5432, - z = 5320, - facing = 2, - }, - -- { - -- name = "turretheavylaser", - -- x = 5048, - -- z = 5368, - -- facing = 2, - -- }, - { - name = "turretlaser", - x = 3392, - z = 6256, - facing = 2, - }, - { - name = "staticradar", - x = 6016, - z = 5664, - facing = 0, - }, - { - name = "factoryveh", - x = 4808, - z = 7048, - facing = 2, - }, - { - name = "vehassault", - x = 4594, - z = 6865, - facing = 0, - }, - { - name = "vehassault", - x = 4687, - z = 6839, - facing = 0, - }, - { - name = "vehassault", - x = 4815, - z = 6790, - facing = 0, - }, - { - name = "vehassault", - x = 4749, - z = 6898, - facing = 0, - }, - { - name = "vehsupport", - x = 4475, - z = 6944, - facing = 0, - }, - { - name = "vehsupport", - x = 4585, - z = 6936, - facing = 0, - }, - { - name = "jumpraid", - x = 4469, - z = 6829, - facing = 0, - }, - { - name = "jumpraid", - x = 5551, - z = 5876, - facing = 0, - }, - { - name = "jumpcon", - x = 5201, - z = 6290, - facing = 0, - }, - { - name = "jumpcon", - x = 5373, - z = 6241, - facing = 0, - }, - { - name = "jumpcon", - x = 3203, - z = 6926, - facing = 0, - }, - { - name = "jumpcon", - x = 3426, - z = 6926, - facing = 0, - }, - { - name = "vehcapture", - x = 4793, - z = 6726, - facing = 0, - }, - { - name = "vehcapture", - x = 4856, - z = 6733, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryshield", - "factoryplane", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - doNotExplodeOnLoss = true, - }, - [2] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryjump", - "factoryveh", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 2, - doNotExplodeOnLoss = true, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the Commander and Factories of the north-eastern enemy", - }, - [2] = { - description = "Destroy the Commander and Factories of the southern enemy", - }, - [3] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 6 Fusions by 10:00 - satisfyByTime = 600, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 6, - unitTypes = { - "energyfusion", - }, - image = planetUtilities.ICON_DIR .. "energyfusion.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 6 Fusion Reactors by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have 11 mex at all times after 10 minutes - satisfyAfterTime = 600, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 11, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Always have 11 Metal Extractors after 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win by 30:00 - victoryByTime = 1800, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 30:00", - experience = planetUtilities.BONUS_EXP, - }, - - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "staticheavyradar", - "energyfusion", - }, - modules = { - "module_radarnet" - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet3.lua b/campaign/dev/planets/planet3.lua deleted file mode 100644 index 9db2932fa..000000000 --- a/campaign/dev/planets/planet3.lua +++ /dev/null @@ -1,495 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/radiated02.png" - - local planetData = { - name = "Myror", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.06, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.56, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Alpine", - radius = "1995 km", - primary = "Magus", - primaryType = "K4VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24417", - text = [[Your opponent will use raiding squads of Scorchers against you in this battle. Shut them down with Imp EMP bombs.]] - }, - tips = { - { - image = "unitpics/turretmissile.png", - text = [[The Picket missile turret is very cheap, and in large numbers they are effective against both ground and air targets. Their fragility makes them a poor choice against anything which can survive their initial volley.]] - }, - { - image = "unitpics/cloakbomb.png", - text = [[Imp EMP bombs will stun any nearby units when they explode. They are mostly a defensive tool, and don't kill anything themselves, so make sure you have other units like Reavers to finish the job.]] - }, - { - image = "unitpics/vehraid.png", - text = [[The Scorchers' heat ray weapon is incredibly lethal at point-blank range. Destroy them from a distance or stun them with Imps before engaging.]] - }, - }, - gameConfig = { - mapName = "Adamantine Mountain 2", - playerConfig = { - startX = 3550, - startZ = 1150, - allyTeam = 0, - useUnlocks = true, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "cloakbomb", - "turretmissile" - }, - startUnits = { - { - name = "cloakriot", - x = 3550, - z = 1250, - facing = 0, - difficultyAtMost = 2, - }, - { - name = "factorycloak", - x = 3276, - z = 1138, - facing = 0, - }, - { - name = "cloakcon", - x = 3376, - z = 1138, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.GUARD, atPosition = {3276, 1138}}, - }, - }, - { - name = "staticradar", - x = 3820, - z = 2880, - facing = 3, - }, - { - name = "staticradar", - x = 1050, - z = 30, - facing = 3, - }, - { - name = "staticmex", - x = 3080, - z = 980, - facing = 0, - }, - { - name = "staticmex", - x = 3280, - z = 970, - facing = 0, - }, - { - name = "staticmex", - x = 3050, - z = 1195, - facing = 0, - }, - { - name = "staticmex", - x = 3670, - z = 1750, - facing = 0, - }, - { - name = "energysolar", - x = 3420, - z = 850, - facing = 0, - }, - { - name = "energysolar", - x = 3420, - z = 1010, - facing = 0, - }, - { - name = "energysolar", - x = 3600, - z = 850, - facing = 0, - }, - { - name = "energysolar", - x = 3600, - z = 1010, - facing = 0, - }, - { - name = "energysolar", - x = 3780, - z = 850, - facing = 0, - }, - { - name = "energysolar", - x = 3780, - z = 1020, - facing = 0, - }, - { - name = "cloakbomb", - x = 2050, - z = 1700, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2000, 1720}}, - }, - }, - - { - name = "cloakbomb", - x = 3080, - z = 2800, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3060, 2520}}, - }, - }, - { - name = "turretmissile", - x = 1187, - z = 890, - facing = 0, - }, - { - name = "cloakbomb", - x = 1200, - z = 1200, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1130, 1200}}, - }, - }, - { - name = "turretmissile", - x = 3300, - z = 2360, - facing = 0, - }, - { - name = "turretmissile", - x = 3380, - z = 2340, - facing = 0, - }, - { - name = "turretmissile", - x = 2700, - z = 1560, - facing = 0, - }, - { - name = "turretmissile", - x = 2400, - z = 975, - facing = 0, - }, - { - name = "turretmissile", - x = 2375, - z = 900, - facing = 3, - }, - } - }, - aiConfig = { - { - startX = 500, - startZ = 2500, - aiLib = "Circuit_difficulty_autofill", - humanName = "Clowncaps", - bitDependant = true, - facplop = false, - allyTeam = 1, - unlocks = { - "vehraid", - --"vehscout", - }, - difficultyDependantUnlocks = { - [2] = {"vehriot",}, - [3] = {"vehriot","staticmex", "energysolar"}, - [4] = {"vehriot","staticmex", "energysolar", "vehcon", "vehassault"}, - }, - commanderLevel = 2, - commander = { - name = "BusDriver22", - chassis = "recon", - decorations = { - }, - modules = { - "commweapon_shotgun", - } - }, - startUnits = { - { - name = "turretriot", - x = 340, - z = 3380, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 2710, - z = 3600, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 2710, - z = 3500, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 2900, - z = 3750, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 2660, - z = 3880, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "turretriot", - x = 3000, - z = 3700, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "factoryveh", - x = 500, - z = 2700, - facing = 1, - }, - { - name = "turretlaser", - x = 500, - z = 2500, - facing = 2, - }, - { - name = "staticcon", - x = 300, - z = 2700, - facing = 1, - }, - { - name = "staticradar", - x = 256, - z = 1551, - facing = 2, - }, - { - name = "staticradar", - x = 2330, - z = 4080, - facing = 2, - }, - { - name = "staticmex", - x = 215, - z = 2645, - facing = 2, - }, - { - name = "staticmex", - x = 440, - z = 3030, - facing = 0, - }, - { - name = "staticmex", - x = 424, - z = 3270, - facing = 0, - }, - { - name = "staticmex", - x = 700, - z = 3220, - facing = 0, - }, - { - name = "vehraid", - x = 1660, - z = 3100, - facing = 0, - }, - { - name = "vehraid", - x = 262, - z = 2220, - facing = 0, - }, - { - name = "energysolar", - x = 550, - z = 3160, - facing = 0, - }, - { - name = "energysolar", - x = 400, - z = 3150, - facing = 0, - }, - { - name = "energysolar", - x = 250, - z = 3160, - facing = 0, - }, - { - name = "energysolar", - x = 600, - z = 3330, - facing = 0, - }, - { - name = "energysolar", - x = 620, - z = 3480, - facing = 0, - }, - { - name = "vehheavyarty", - x = 1600, - z = 3330, - facing = 0, - bonusObjectiveID = 2, - }, - { - name = "turretlaser", - x = 2050, - z = 3010, - facing = 1, - }, - { - name = "turretlaser", - x = 2070, - z = 3500, - facing = 1, - }, - { - name = "turretlaser", - x = 570, - z = 2050, - facing = 2, - }, - { - name = "turretlaser", - x = 1315, - z = 2410, - facing = 2, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryveh", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Rover Assembly", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { -- Build 4 Conjurors - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 5, -- The player starts with a Conjurer - unitTypes = { - "cloakcon", - }, - image = planetUtilities.ICON_DIR .. "cloakcon.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 4 Conjurers", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Destroy the Impaler - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "vehheavyarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy Impaler", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - victoryByTime = 360, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 6:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cloakbomb", - "turretmissile" - }, - modules = { - "module_autorepair_LIMIT_C_2", - }, - codexEntries = { - "faction_valhalla", - }, - } - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet30.lua b/campaign/dev/planets/planet30.lua deleted file mode 100644 index 13e46d321..000000000 --- a/campaign/dev/planets/planet30.lua +++ /dev/null @@ -1,2193 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/ocean01.png" - - local planetData = { - name = "Harsar Lief", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.46, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.82, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - 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", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24530", - text = [[Crossing a river under enemy fire is a daunting prospect, but it becomes easier when you control the river. Bombard the shoreline with Envoy cruisers to force passage through the shallows.]] - }, - tips = { - { - image = "unitpics/shiparty.png", - text = [[Envoys are effective artillery units and should be your first choice for clearing any shoreline of enemies.]] - }, - { - image = "unitpics/shipscout.png", - text = [[To enable more accurate fire, find the exact locations of enemy turrets with Cutters. These boats are armed with a short-range disarming missile but their primary use is for scouting.]] - }, - { - image = "unitpics/shiptorpraider.png", - text = [[Protect your other ships from underwater threats with Hunter torpedo boats. Airborne threats can be dealt with by Zephyrs.]] - }, - }, - gameConfig = { - mapName = "AquariusCrossing", - playerConfig = { - startX = 640, - startZ = 1060, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryship", - "shipcon", - "shiparty", - "shipscout", - "shiptorpraider", - "shipaa", - "turrettorp", - }, - startUnits = { - { - name = "staticmex", - x = 456, - z = 456, - facing = 0, - }, - { - name = "staticmex", - x = 200, - z = 328, - facing = 0, - }, - { - name = "staticmex", - x = 216, - z = 712, - facing = 0, - }, - { - name = "staticmex", - x = 616, - z = 808, - facing = 0, - }, - { - name = "factoryship", - x = 880, - z = 736, - facing = 1, - }, - { - name = "energywind", - x = 248, - z = 392, - facing = 1, - }, - { - name = "energywind", - x = 328, - z = 456, - facing = 1, - }, - { - name = "energywind", - x = 176, - z = 456, - facing = 1, - }, - { - name = "energywind", - x = 80, - z = 456, - facing = 1, - }, - { - name = "energywind", - x = 176, - z = 590, - facing = 1, - }, - { - name = "energywind", - x = 80, - z = 590, - facing = 1, - }, - { - name = "energywind", - x = 408, - z = 536, - facing = 1, - }, - { - name = "energywind", - x = 328, - z = 616, - facing = 1, - }, - { - name = "energywind", - x = 296, - z = 712, - facing = 1, - }, - { - name = "energywind", - x = 392, - z = 776, - facing = 1, - }, - { - name = "energywind", - x = 504, - z = 808, - facing = 1, - }, - { - name = "energywind", - x = 568, - z = 872, - facing = 1, - }, - { - name = "turrettorp", - x = 584, - z = 408, - facing = 1, - }, - { - name = "turrettorp", - x = 552, - z = 1032, - facing = 1, - }, - { - name = "turretaaflak", - x = 536, - z = 680, - facing = 1, - }, - { - name = "turrettorp", - x = 1096, - z = 472, - facing = 1, - }, - { - name = "shipcon", - x = 1123, - z = 970, - facing = 1, - }, - { - name = "shiparty", - x = 1252, - z = 910, - facing = 1, - }, - { - name = "shipaa", - x = 1256, - z = 1052, - facing = 1, - }, - { - name = "staticcon", - x = 744, - z = 920, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {744, 920}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {769, 945}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 744, - z = 1000, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {744, 1000}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {769, 1025}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 624, - z = 1136, - facing = 3, - }, - { - name = "shiptorpraider", - x = 1444, - z = 766, - facing = 1, - }, - { - name = "shipscout", - x = 1447, - z = 880, - facing = 1, - }, - { - name = "shiptorpraider", - x = 1436, - z = 993, - facing = 1, - }, - } - }, - aiConfig = { - { - humanName = "Lief Easter", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energygeo", - "staticstorage", - "staticcon", - "staticradar", - "factorycloak", - --"cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakheavyraid", - "cloakaa", - "factoryjump", - --"jumpcon", - "jumpraid", - "jumpskirm", - "jumpblackhole", - --"jumpscout", - "jumparty", - "jumpsumo", - "jumpaa", - "factoryplane", - "planescout", - --"planecon", - "planeheavyfighter", - "bomberprec", - }, - commander = false, - startUnits = { - { - name = "turretriot", - x = 2040, - z = 3830, - facing = 1, - }, - { - name = "turretriot", - x = 2140, - z = 4200, - facing = 1, - }, - { - name = "turretriot", - x = 2500, - z = 4200, - facing = 1, - }, - { - name = "turretriot", - x = 2270, - z = 4800, - facing = 1, - }, - { - name = "staticmex", - x = 1064, - z = 3464, - facing = 0, - }, - { - name = "staticmex", - x = 536, - z = 3672, - facing = 0, - }, - { - name = "staticmex", - x = 168, - z = 3192, - facing = 0, - }, - { - name = "staticmex", - x = 104, - z = 3912, - facing = 0, - }, - { - name = "staticmex", - x = 200, - z = 2456, - facing = 0, - }, - { - name = "staticmex", - x = 568, - z = 4536, - facing = 0, - }, - { - name = "staticmex", - x = 760, - z = 2296, - facing = 0, - }, - { - name = "staticmex", - x = 552, - z = 4840, - facing = 0, - }, - { - name = "staticmex", - x = 824, - z = 1816, - facing = 0, - }, - { - name = "staticmex", - x = 120, - z = 5000, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 1752, - facing = 0, - }, - { - name = "staticmex", - x = 1128, - z = 4328, - facing = 0, - }, - { - name = "staticmex", - x = 1400, - z = 2344, - facing = 0, - }, - { - name = "staticmex", - x = 2024, - z = 4696, - facing = 0, - }, - { - name = "staticmex", - x = 2856, - z = 4648, - facing = 0, - }, - { - name = "staticmex", - x = 2472, - z = 3672, - facing = 0, - }, - { - name = "staticmex", - x = 1800, - z = 3560, - facing = 0, - }, - { - name = "energygeo", - x = 1208, - z = 4552, - facing = 3, - }, - { - name = "energygeo", - x = 744, - z = 2744, - facing = 3, - }, - { - name = "energypylon", - x = 504, - z = 2184, - facing = 1, - }, - { - name = "energypylon", - x = 584, - z = 3304, - facing = 1, - }, - { - name = "energypylon", - x = 728, - z = 4264, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1528, - z = 2440, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1960, - z = 3400, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2840, - z = 3944, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3000, - z = 4600, - facing = 1, - }, - { - name = "turretaalaser", - x = 2328, - z = 4344, - facing = 1, - }, - { - name = "turretaalaser", - x = 1672, - z = 3704, - facing = 1, - }, - { - name = "turretaalaser", - x = 1048, - z = 2472, - facing = 1, - }, - { - name = "cloakcon", - x = 2040, - z = 2682, - facing = 2, - }, - { - name = "factorycloak", - x = 2472, - z = 4256, - facing = 2, - }, - { - name = "staticcon", - x = 2488, - z = 4392, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2488, 4392}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2472, 4246}, options = {"shift"}}, - }, - }, - { - name = "factoryjump", - x = 1224, - z = 2696, - facing = 1, - }, - { - name = "staticcon", - x = 1096, - z = 2696, - facing = 1, - }, - { - name = "turretlaser", - x = 1504, - z = 2272, - facing = 1, - }, - { - name = "turretlaser", - x = 1568, - z = 2576, - facing = 1, - }, - { - name = "turretmissile", - x = 1776, - z = 3152, - facing = 1, - }, - { - name = "turretmissile", - x = 1872, - z = 3280, - facing = 1, - }, - { - name = "turretlaser", - x = 2880, - z = 4032, - facing = 1, - }, - { - name = "turretmissile", - x = 2016, - z = 3584, - facing = 1, - }, - { - name = "turretlaser", - x = 2704, - z = 3888, - facing = 2, - }, - { - name = "turretlaser", - x = 3040, - z = 4448, - facing = 1, - }, - { - name = "turretlaser", - x = 3056, - z = 4720, - facing = 1, - }, - { - name = "turretaalaser", - x = 424, - z = 2728, - facing = 1, - }, - { - name = "turretaalaser", - x = 936, - z = 4264, - facing = 1, - }, - { - name = "staticcon", - x = 2376, - z = 4408, - facing = 1, - }, - { - name = "staticcon", - x = 1096, - z = 2616, - facing = 1, - }, - { - name = "staticradar", - x = 2768, - z = 3936, - facing = 3, - }, - { - name = "staticradar", - x = 1712, - z = 3104, - facing = 3, - }, - { - name = "staticstorage", - x = 904, - z = 2520, - facing = 3, - }, - { - name = "staticstorage", - x = 2152, - z = 4344, - facing = 3, - }, - { - name = "jumpskirm", - x = 2242, - z = 2335, - facing = 0, - }, - { - name = "jumpraid", - x = 1370, - z = 2813, - facing = 2, - patrolRoute = { - {1296, 2864}, - {1423, 2734}, - }, - }, - { - name = "energysolar", - x = 2872, - z = 4712, - facing = 2, - }, - { - name = "jumpskirm", - x = 2161, - z = 2910, - facing = 2, - }, - { - name = "jumpaa", - x = 1739, - z = 2839, - facing = 3, - }, - { - name = "cloakriot", - x = 2223, - z = 2281, - facing = 1, - }, - { - name = "energysolar", - x = 2792, - z = 4664, - facing = 2, - }, - { - name = "cloakriot", - x = 2089, - z = 2583, - facing = 2, - }, - { - name = "jumpskirm", - x = 2137, - z = 2530, - facing = 2, - }, - { - name = "energywind", - x = 2808, - z = 4536, - facing = 2, - }, - { - name = "cloakriot", - x = 1976, - z = 2627, - facing = 0, - }, - { - name = "jumpskirm", - x = 2404, - z = 2562, - facing = 2, - }, - { - name = "cloakriot", - x = 2292, - z = 2509, - facing = 3, - }, - { - name = "cloakskirm", - x = 2289, - z = 2614, - facing = 2, - }, - { - name = "jumpskirm", - x = 2077, - z = 2509, - facing = 1, - }, - { - name = "jumpraid", - x = 1928, - z = 2908, - facing = 2, - patrolRoute = { - {1948, 2900}, - {1894, 2933}, - }, - }, - { - name = "cloakriot", - x = 1939, - z = 2538, - facing = 2, - }, - { - name = "jumpaa", - x = 2204, - z = 2621, - facing = 2, - }, - { - name = "cloakskirm", - x = 1979, - z = 2876, - facing = 0, - }, - { - name = "cloakskirm", - x = 2324, - z = 2599, - facing = 1, - }, - { - name = "cloakskirm", - x = 1991, - z = 2658, - facing = 3, - }, - { - name = "energywind", - x = 2328, - z = 2648, - facing = 1, - }, - { - name = "cloakraid", - x = 2797, - z = 3541, - facing = 1, - patrolRoute = { - {2827, 3556}, - {2763, 3553}, - }, - }, - { - name = "cloakraid", - x = 2918, - z = 3532, - facing = 2, - patrolRoute = { - {2827, 3556}, - {2818, 3493}, - }, - }, - { - name = "cloakraid", - x = 2823, - z = 3556, - facing = 1, - patrolRoute = { - {2827, 3556}, - {2814, 3494}, - }, - }, - { - name = "jumpraid", - x = 3291, - z = 3396, - facing = 1, - }, - { - name = "energywind", - x = 2360, - z = 2744, - facing = 1, - }, - { - name = "cloakraid", - x = 2857, - z = 3541, - facing = 0, - patrolRoute = { - {2827, 3556}, - {2776, 3518}, - }, - }, - { - name = "cloakraid", - x = 2845, - z = 3563, - facing = 1, - patrolRoute = { - {2831, 3556}, - {2888, 3576}, - }, - }, - { - name = "jumpaa", - x = 2108, - z = 2486, - facing = 3, - }, - { - name = "cloakaa", - x = 3697, - z = 3310, - facing = 0, - }, - { - name = "energysolar", - x = 2248, - z = 2792, - facing = 1, - }, - { - name = "cloakskirm", - x = 2367, - z = 3328, - facing = 2, - }, - { - name = "cloakraid", - x = 2832, - z = 3535, - facing = 0, - patrolRoute = { - {2890, 3542}, - {2827, 3556}, - }, - }, - { - name = "staticmex", - x = 2296, - z = 2712, - facing = 0, - }, - { - name = "cloakraid", - x = 2755, - z = 3503, - facing = 1, - patrolRoute = { - {2827, 3556}, - {2812, 3494}, - }, - }, - { - name = "cloakraid", - x = 2893, - z = 3554, - facing = 0, - patrolRoute = { - {2827, 3556}, - {2838, 3493}, - }, - }, - { - name = "cloakraid", - x = 2956, - z = 3520, - facing = 2, - patrolRoute = { - {2827, 3556}, - {2777, 3517}, - }, - }, - { - name = "cloakskirm", - x = 2242, - z = 3223, - facing = 2, - }, - { - name = "staticradar", - x = 2016, - z = 2736, - facing = 1, - }, - { - name = "jumpraid", - x = 1620, - z = 2843, - facing = 1, - patrolRoute = { - {1892, 2931}, - {1834, 2959}, - }, - }, - { - name = "cloakraid", - x = 3138, - z = 3522, - facing = 2, - }, - { - name = "cloakskirm", - x = 2151, - z = 4200, - facing = 3, - }, - { - name = "cloakskirm", - x = 2290, - z = 4192, - facing = 3, - }, - { - name = "jumpraid", - x = 1248, - z = 2696, - facing = 1, - buildProgress = 0.2212, - }, - { - name = "staticcon", - x = 2024, - z = 2584, - facing = 1, - buildProgress = 0.0909, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2024, 2584}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2049, 2559}, options = {"shift"}}, - }, - }, - { - name = "cloakraid", - x = 2499, - z = 4190, - facing = 2, - patrolRoute = { - {2827, 3556}, - {2810, 3618}, - }, - }, - { - name = "cloakskirm", - x = 2472, - z = 4246, - facing = 2, - buildProgress = 0.0407, - }, - } - }, - { - startX = 6700, - startZ = 1200, - humanName = "Lief Maquis", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energygeo", - "staticstorage", - "staticradar", - "staticcon", - "factoryjump", - --"jumpcon", - "jumpraid", - "jumpblackhole", - --"jumpscout", - "jumpskirm", - "jumparty", - "jumpassault", - "factorycloak", - --"cloakcon", - "cloakraid", - "cloakskirm", - "cloakassault", - "cloakriot", - "cloakarty", - "cloakheavyraid", - "factoryamph", - --"amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "factorygunship", - --"gunshipcon", - "gunshipaa", - "gunshipraid", - "gunshipskirm", - "gunshipassault", - "gunshipheavyskirm", - "gunshipemp", - "gunshipbomb", - }, - difficultyDependantUnlocks = { - [2] = {"cloaksnipe"}, - [3] = {"cloaksnipe","jumpsumo"}, - [4] = {"cloaksnipe","jumpsumo","amphassault"}, - }, - commanderLevel = 5, - commander = { - name = "Alginon", - chassis = "recon", - decorations = { - }, - modules = { - "commweapon_heavymachinegun", - "module_heavy_armor", - "module_heavy_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_dmg_booster", - "module_dmg_booster", - "module_dmg_booster", - "module_autorepair", - "module_autorepair" - } - }, - midgameUnits = { - { - name = "jumpsumo", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 3.5*30*60, - orbitalDrop = true, - }, - { - name = "jumpsumo", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 3, - difficultyAtMost = 3, - spawnRadius = 50, - delay = 6.5*30*60, - orbitalDrop = true, - }, - { - name = "jumpsumo", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 2, - difficultyAtMost = 2, - spawnRadius = 50, - delay = 9.5*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 6.5*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 6.5*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 6800, - z = 2200, - facing = 2, - spawnRadius = 50, - delay = 12.5*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 3, - spawnRadius = 50, - delay = 12.5*30*60, - orbitalDrop = true, - }, - { - name = "gunshipkrow", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 9.5*30*60, - orbitalDrop = true, - }, - { - name = "gunshipkrow", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 3, - spawnRadius = 50, - delay = 13.5*30*60, - orbitalDrop = true, - }, - { - name = "gunshipkrow", - x = 6800, - z = 2200, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 13.5*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "turretsunlance", - x = 4320, - z = 1072, - facing = 3, - bonusObjectiveID = 3, - mapMarker = { - text = "Sunlance", - color = "red_small" - }, - }, - { - name = "turretsunlance", - x = 4752, - z = 3136, - facing = 3, - bonusObjectiveID = 3, - mapMarker = { - text = "Sunlance", - color = "red_small" - }, - }, - { - name = "turretsunlance", - x = 5232, - z = 1840, - facing = 3, - bonusObjectiveID = 3, - mapMarker = { - text = "Sunlance", - color = "red_small" - }, - }, - { - name = "turretsunlance", - x = 5024, - z = 4320, - facing = 3, - bonusObjectiveID = 3, - mapMarker = { - text = "Sunlance", - color = "red_small" - }, - }, - { - name = "amphassault", - x = 5800, - z = 2800, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "amphassault", - x = 5800, - z = 1000, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticshield", - x = 5392, - z = 1648, - facing = 0, - }, - { - name = "staticmex", - x = 6136, - z = 936, - facing = 0, - }, - { - name = "staticmex", - x = 6520, - z = 1496, - facing = 0, - }, - { - name = "staticmex", - x = 6520, - z = 776, - facing = 0, - }, - { - name = "staticmex", - x = 6152, - z = 1624, - facing = 0, - }, - { - name = "staticmex", - x = 6472, - z = 312, - facing = 0, - }, - { - name = "staticmex", - x = 6184, - z = 2088, - facing = 0, - }, - { - name = "staticmex", - x = 6824, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 6760, - z = 1864, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 1320, - facing = 0, - }, - { - name = "staticmex", - x = 6904, - z = 2520, - facing = 0, - }, - { - name = "staticmex", - x = 5320, - z = 1576, - facing = 0, - }, - { - name = "staticmex", - x = 6536, - z = 2792, - facing = 0, - }, - { - name = "staticmex", - x = 4568, - z = 1448, - facing = 0, - }, - { - name = "staticmex", - x = 6104, - z = 3160, - facing = 0, - }, - { - name = "staticmex", - x = 5752, - z = 2696, - facing = 0, - }, - { - name = "staticmex", - x = 4296, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 5064, - z = 408, - facing = 0, - }, - { - name = "staticmex", - x = 6856, - z = 3320, - facing = 0, - }, - { - name = "energygeo", - x = 6392, - z = 2264, - facing = 3, - }, - { - name = "turretaaflak", - x = 6216, - z = 424, - facing = 3, - }, - { - name = "energypylon", - x = 6664, - z = 2840, - facing = 3, - }, - { - name = "energypylon", - x = 6632, - z = 1672, - facing = 3, - }, - { - name = "energypylon", - x = 6392, - z = 792, - facing = 3, - }, - { - name = "factorygunship", - x = 6920, - z = 3016, - facing = 3, - }, - { - name = "staticcon", - x = 7048, - z = 3000, - facing = 3, - }, - { - name = "turrettorp", - x = 4744, - z = 4664, - facing = 1, - }, - { - name = "staticcon", - x = 6024, - z = 2488, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6024, 2488}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5999, 2513}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7048, - z = 2904, - facing = 3, - }, - { - name = "staticcon", - x = 6024, - z = 2408, - facing = 3, - }, - { - name = "factorycloak", - x = 6752, - z = 440, - facing = 3, - }, - { - name = "factoryjump", - x = 4712, - z = 968, - facing = 3, - }, - { - name = "turretaaclose", - x = 5848, - z = 184, - facing = 3, - }, - { - name = "energyheavygeo", - x = 6024, - z = 424, - facing = 3, - }, - { - name = "turretemp", - x = 5936, - z = 336, - facing = 3, - }, - { - name = "turretemp", - x = 5936, - z = 528, - facing = 3, - }, - { - name = "turretmissile", - x = 6096, - z = 528, - facing = 3, - }, - { - name = "turretmissile", - x = 6096, - z = 336, - facing = 3, - }, - { - name = "turretaaclose", - x = 5832, - z = 648, - facing = 3, - }, - { - name = "staticcon", - x = 6904, - z = 408, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4296, - z = 920, - facing = 3, - }, - { - name = "energypylon", - x = 4664, - z = 840, - facing = 3, - }, - { - name = "staticcon", - x = 4504, - z = 952, - facing = 3, - }, - { - name = "turretemp", - x = 4416, - z = 1200, - facing = 3, - }, - { - name = "turretemp", - x = 4368, - z = 768, - facing = 3, - }, - { - name = "turretaalaser", - x = 4584, - z = 744, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4696, - z = 1560, - facing = 0, - }, - { - name = "energypylon", - x = 5656, - z = 1560, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5368, - z = 1928, - facing = 0, - }, - { - name = "turretaalaser", - x = 5528, - z = 1512, - facing = 0, - }, - { - name = "turretmissile", - x = 5200, - z = 1728, - facing = 3, - }, - { - name = "turretmissile", - x = 5168, - z = 1648, - facing = 3, - }, - { - name = "turretmissile", - x = 5136, - z = 1552, - facing = 3, - }, - { - name = "turretmissile", - x = 5552, - z = 2048, - facing = 0, - }, - { - name = "turretmissile", - x = 5440, - z = 2016, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5784, - z = 2792, - facing = 3, - }, - { - name = "turretriot", - x = 5608, - z = 2488, - facing = 3, - }, - { - name = "turretriot", - x = 5720, - z = 3096, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6296, - z = 3352, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6472, - z = 3384, - facing = 0, - }, - { - name = "staticstorage", - x = 7096, - z = 2776, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4808, - z = 3256, - facing = 0, - }, - { - name = "turretaalaser", - x = 4920, - z = 2760, - facing = 3, - }, - { - name = "turretriot", - x = 4744, - z = 2712, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4808, - z = 2328, - facing = 3, - }, - { - name = "turretlaser", - x = 4800, - z = 2192, - facing = 3, - }, - { - name = "turretmissile", - x = 4272, - z = 2400, - facing = 3, - }, - { - name = "turretmissile", - x = 4160, - z = 2512, - facing = 3, - }, - { - name = "turretmissile", - x = 4144, - z = 2656, - facing = 3, - }, - { - name = "staticmex", - x = 4312, - z = 2552, - facing = 3, - }, - { - name = "staticmex", - x = 4952, - z = 2392, - facing = 3, - }, - { - name = "staticmex", - x = 5080, - z = 2808, - facing = 3, - }, - { - name = "turretemp", - x = 6192, - z = 3360, - facing = 0, - }, - { - name = "turretemp", - x = 6544, - z = 3440, - facing = 0, - }, - { - name = "turretaalaser", - x = 5128, - z = 4360, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4056, - z = 3336, - facing = 3, - }, - { - name = "turretriot", - x = 4040, - z = 3208, - facing = 3, - }, - { - name = "turretemp", - x = 3232, - z = 1840, - facing = 3, - }, - { - name = "turretemp", - x = 3440, - z = 1664, - facing = 3, - }, - { - name = "turretlaser", - x = 3408, - z = 1872, - facing = 3, - }, - { - name = "turretlaser", - x = 3472, - z = 1984, - facing = 3, - }, - { - name = "turretriot", - x = 3448, - z = 2520, - facing = 3, - }, - { - name = "turretmissile", - x = 3504, - z = 2432, - facing = 3, - }, - { - name = "turretmissile", - x = 3984, - z = 3472, - facing = 3, - }, - { - name = "turretmissile", - x = 3456, - z = 2640, - facing = 3, - }, - { - name = "staticheavyradar", - x = 5328, - z = 1872, - facing = 3, - }, - { - name = "energypylon", - x = 5256, - z = 2936, - facing = 3, - }, - { - name = "energypylon", - x = 5912, - z = 2344, - facing = 3, - }, - { - name = "energypylon", - x = 5432, - z = 760, - facing = 3, - }, - { - name = "energypylon", - x = 5320, - z = 3880, - facing = 3, - }, - { - name = "turrettorp", - x = 4920, - z = 3848, - facing = 1, - }, - { - name = "factoryamph", - x = 5864, - z = 2504, - facing = 3, - }, - { - name = "turrettorp", - x = 5240, - z = 3656, - facing = 3, - }, - { - name = "turrettorp", - x = 4072, - z = 2888, - facing = 3, - }, - { - name = "turrettorp", - x = 4184, - z = 2088, - facing = 3, - }, - { - name = "turrettorp", - x = 5032, - z = 4936, - facing = 3, - }, - { - name = "turrettorp", - x = 3720, - z = 1320, - facing = 3, - }, - { - name = "turrettorp", - x = 3624, - z = 824, - facing = 3, - }, - { - name = "turrettorp", - x = 3624, - z = 328, - facing = 3, - }, - { - name = "staticradar", - x = 6224, - z = 1888, - facing = 3, - }, - { - name = "cloakraid", - x = 5691, - z = 2108, - facing = 3, - }, - { - name = "jumpskirm", - x = 2998, - z = 2019, - facing = 1, - }, - { - name = "gunshipskirm", - x = 4430, - z = 3296, - facing = 3, - }, - { - name = "energysolar", - x = 6904, - z = 1256, - facing = 3, - }, - { - name = "gunshipassault", - x = 4148, - z = 1480, - facing = 2, - }, - { - name = "jumpassault", - x = 3022, - z = 2053, - facing = 2, - patrolRoute = { - {3014, 2044}, - {3078, 2037}, - }, - }, - { - name = "energywind", - x = 7000, - z = 1352, - facing = 3, - }, - { - name = "amphfloater", - x = 2870, - z = 1916, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3014, 2044}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2952, 2028}, options = {"shift"}}, - }, - }, - { - name = "cloakriot", - x = 3069, - z = 2029, - facing = 3, - }, - { - name = "cloakraid", - x = 5417, - z = 2269, - facing = 3, - }, - { - name = "amphraid", - x = 5384, - z = 3223, - facing = 0, - }, - { - name = "amphfloater", - x = 3595, - z = 2619, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3014, 2044}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3066, 2081}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 6552, - z = 4168, - facing = 0, - }, - { - name = "jumpassault", - x = 3029, - z = 2028, - facing = 3, - patrolRoute = { - {3014, 2044}, - {3049, 1990}, - }, - }, - { - name = "amphfloater", - x = 3632, - z = 2650, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3014, 2044}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3072, 2016}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 6888, - z = 4488, - facing = 0, - }, - { - name = "cloakskirm", - x = 3098, - z = 2044, - facing = 2, - patrolRoute = { - {3014, 2044}, - {3069, 2011}, - }, - }, - { - name = "staticmex", - x = 6856, - z = 4936, - facing = 0, - buildProgress = 0.1733, - }, - { - name = "amphfloater", - x = 3692, - z = 2657, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3014, 2044}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3012, 2108}, options = {"shift"}}, - }, - }, - { - name = "cloakriot", - x = 4396, - z = 1363, - facing = 3, - }, - { - name = "jumpassault", - x = 4150, - z = 1507, - facing = 3, - patrolRoute = { - {4139, 1492}, - {4170, 1548}, - }, - }, - { - name = "staticradar", - x = 6592, - z = 4000, - facing = 3, - }, - { - name = "amphraid", - x = 3441, - z = 2400, - facing = 3, - }, - { - name = "cloakriot", - x = 5638, - z = 320, - facing = 1, - }, - { - name = "amphimpulse", - x = 3753, - z = 2689, - facing = 3, - }, - { - name = "amphraid", - x = 5774, - z = 2345, - facing = 2, - }, - { - name = "amphraid", - x = 5556, - z = 4411, - facing = 3, - }, - { - name = "gunshipbomb", - x = 2327, - z = 1817, - facing = 3, - }, - { - name = "jumpraid", - x = 4823, - z = 1495, - facing = 0, - }, - { - name = "cloakraid", - x = 5596, - z = 2624, - facing = 3, - }, - { - name = "staticmex", - x = 6648, - z = 4632, - facing = 0, - }, - { - name = "amphraid", - x = 5283, - z = 3522, - facing = 3, - }, - { - name = "amphraid", - x = 5824, - z = 2657, - facing = 0, - }, - { - name = "gunshipskirm", - x = 6119, - z = 3039, - facing = 3, - }, - { - name = "cloakriot", - x = 6331, - z = 349, - facing = 1, - }, - { - name = "amphraid", - x = 5823, - z = 2834, - facing = 0, - }, - { - name = "gunshipskirm", - x = 6919, - z = 3016, - facing = 1, - buildProgress = 0.8488, - }, - { - name = "cloakskirm", - x = 6503, - z = 483, - facing = 3, - }, - { - name = "jumpassault", - x = 4688, - z = 968, - facing = 3, - buildProgress = 0.28220001, - }, - { - name = "cloakskirm", - x = 6742, - z = 440, - facing = 3, - buildProgress = 0.84439999, - }, - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {3416, 5700, 4740, 5990}, - height = 6, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factorycloak", - "factoryjump", - "factoryamph", - "factorygunship", - "energygeo", - "energyheavygeo" - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories and Geothermals", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 9, - unitTypes = { - "shiparty", - }, - image = planetUtilities.ICON_DIR .. "shiparty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 8 Envoys", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 20*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyByTime = 10*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "turretsunlance.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy all 4 enemy Sunlances before 10:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryship", - "shipcon", - "shiparty", - "shipscout", - "shiptorpraider", - "shipaa", - "turrettorp", - }, - modules = { - "module_adv_nano_LIMIT_D_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet31.lua b/campaign/dev/planets/planet31.lua deleted file mode 100644 index 131ae0aa0..000000000 --- a/campaign/dev/planets/planet31.lua +++ /dev/null @@ -1,746 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/ocean02.png" - - local planetData = { - name = "Juliburg", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.565, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.93, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Coastal", - radius = "6270 km", - primary = "Yastras", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24530", - 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/staticmex.png", - text = [[This is a large map with a lot of metal. Expand quickly to secure an advantage.]] - }, - }, - gameConfig = { - mapName = "BellicoseIslands_ZK-v01", - playerConfig = { - startX = 500, - startZ = 3300, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryship", - "shipcon", - "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 = { - { - aiLib = "Circuit_difficulty_autofill", - 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 = { - "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 = 6, - commander = { - name = "Carn Timber", - chassis = "guardian", - decorations = { - }, - 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 = { - "shipriot", - "subraider", - }, - modules = { - "module_companion_drone_LIMIT_B_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet32.lua b/campaign/dev/planets/planet32.lua deleted file mode 100644 index a7285e9eb..000000000 --- a/campaign/dev/planets/planet32.lua +++ /dev/null @@ -1,2827 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran01.png" - - local planetData = { - name = "Kayvillon", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.67, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.90, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Coastal", - radius = "6910 km", - primary = "Vark-Absur", - primaryType = "G5VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24530", - 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 = 1000, - startZ = 2500, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryship", - "shipcon", - "shipskirm", - "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 = { - { - aiLib = "Circuit_difficulty_autofill", - 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 = { - "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 = 6, - commander = { - name = "Demoman", - chassis = "strike", - decorations = { - }, - 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 = 10*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 = 18*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 18:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "shipskirm", - "shipassault", - }, - modules = { - "module_battle_drone_LIMIT_A_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet33.lua b/campaign/dev/planets/planet33.lua deleted file mode 100644 index 13462a393..000000000 --- a/campaign/dev/planets/planet33.lua +++ /dev/null @@ -1,1423 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/swamp02.png" - - local planetData = { - name = "Leopard", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.55, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.78, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Barren", - radius = "5870 km", - primary = "Near Varra", - primaryType = "K3VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24566", - text = [[If you want to control the sea, it's also important to control the air above it. Use Owl scout planes to find underwater units, then Raven precision bombers to destroy those underwater units and any other high-value targets.]] - }, - tips = { - { - image = "unitpics/bomberprec.png", - text = [[Ravens are designed for destroying valuable buildings and units in focused bombing raids. To hit a mobile target they will dive close to the ground. The bombs of Ravens can hit underwater units.]] - }, - { - image = "unitpics/planescout.png", - text = [[Owls are very good at providing direct line-of-sight for artillery and spotting incoming attacks above and below the water with radar and sonar. They can also be used to scout behind enemy lines, although the faster-moving Swift is better at this.]] - }, - { - image = "unitpics/spideraa.png", - text = [[Keep your bombers away from large concentrations of enemy anti-air units, and pick off lone stragglers when an opportunity is presented.]] - }, - }, - gameConfig = { - mapName = "IslandTest", - playerConfig = { - startX = 6040, - startZ = 1158, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - victoryAtLocation = { - x = 1230, - z = 5930, - radius = 100, - objectiveID = 1, - }, - }, - extraUnlocks = { - "factoryplane", - "planecon", - "planefighter", - "planescout", - "bomberprec", - "staticrearm", - }, - startUnits = { - { - name = "factoryplane", - x = 6232, - z = 912, - facing = 3, - }, - { - name = "staticcon", - x = 6050, - z = 1000, - facing = 3, - selfPatrol = true, - }, - { - name = "staticrearm", - x = 6056, - z = 856, - facing = 3, - }, - { - name = "energysolar", - x = 5800, - z = 856, - facing = 3, - }, - { - name = "energysolar", - x = 5700, - z = 856, - facing = 3, - }, - { - name = "energysolar", - x = 5600, - z = 856, - facing = 3, - }, - { - name = "staticrearm", - x = 6280, - z = 1096, - facing = 3, - }, - { - name = "energysolar", - x = 6280, - z = 1300, - facing = 3, - }, - { - name = "energysolar", - x = 6280, - z = 1400, - facing = 3, - }, - { - name = "energysolar", - x = 6280, - z = 1500, - facing = 3, - }, - { - name = "staticmex", - x = 6120, - z = 1032, - facing = 3, - }, - { - name = "bomberprec", - x = 6705, - z = 83, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {6000, 1200}}, - }, - }, - { - name = "bomberprec", - x = 6852, - z = 165, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {6100, 1300}}, - }, - }, - { - name = "bomberprec", - x = 6981, - z = 247, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {6200, 1400}}, - }, - }, - { - name = "bomberprec", - x = 7091, - z = 348, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {6300, 1500}}, - }, - }, - { - name = "bomberprec", - x = 7100, - z = 500, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {6400, 1600}}, - }, - }, - { - name = "planescout", - x = 7034, - z = 105, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {6400, 1200}}, - }, - }, - } - }, - aiConfig = { - { - aiLib = "Circuit_difficulty_autofill", - humanName = "Exodon", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "turretlaser", - "turretmissile", - "staticcon", - "staticradar", - "staticstorage", - "factoryspider", - "spidercon", - "spiderscout", - "spiderassault", - "spideremp", - "spiderriot", - "spiderantiheavy", - "spiderskirm", - "spidercrabe", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - "shieldarty", - "shieldfelon", - "shieldaa", - }, - commander = false, - startUnits = { - { - name = "staticheavyradar", - x = 5500, - z = 1650, - facing = 3, - terraformHeight = 270, - }, - { - name = "staticstorage", - x = 5688, - z = 1640, - facing = 3, - }, - { - name = "staticstorage", - x = 5496, - z = 1400, - facing = 3, - }, - { - name = "turretlaser", - x = 5040, - z = 1792, - facing = 3, - }, - { - name = "staticmex", - x = 5176, - z = 1976, - facing = 0, - }, - { - name = "staticmex", - x = 4680, - z = 1608, - facing = 0, - }, - { - name = "staticmex", - x = 4872, - z = 1144, - facing = 0, - }, - { - name = "staticmex", - x = 4904, - z = 792, - facing = 0, - }, - { - name = "staticmex", - x = 5624, - z = 1528, - facing = 0, - }, - { - name = "staticmex", - x = 5592, - z = 2472, - facing = 3, - }, - { - name = "staticmex", - x = 6056, - z = 2280, - facing = 3, - }, - { - name = "staticmex", - x = 6392, - z = 2296, - facing = 3, - }, - { - name = "energysolar", - x = 6120, - z = 2296, - facing = 0, - }, - { - name = "energysolar", - x = 6040, - z = 2344, - facing = 3, - }, - { - name = "energysolar", - x = 5992, - z = 2264, - facing = 2, - }, - { - name = "energysolar", - x = 6072, - z = 2216, - facing = 1, - }, - { - name = "energysolar", - x = 5688, - z = 1544, - facing = 0, - }, - { - name = "energysolar", - x = 5608, - z = 1592, - facing = 3, - }, - { - name = "energysolar", - x = 5560, - z = 1512, - facing = 2, - }, - { - name = "energysolar", - x = 5640, - z = 1464, - facing = 1, - }, - { - name = "factoryspider", - x = 5944, - z = 1656, - facing = 1, - }, - { - name = "energysolar", - x = 4936, - z = 1160, - facing = 0, - }, - { - name = "energysolar", - x = 4856, - z = 1208, - facing = 3, - }, - { - name = "energysolar", - x = 4808, - z = 1128, - facing = 2, - }, - { - name = "energysolar", - x = 4888, - z = 1080, - facing = 1, - }, - { - name = "factoryshield", - x = 5568, - z = 1208, - facing = 2, - }, - { - name = "staticcon", - x = 5752, - z = 1400, - facing = 2, - }, - { - name = "turrettorp", - x = 4904, - z = 520, - facing = 1, - }, - { - name = "turrettorp", - x = 6600, - z = 2200, - facing = 2, - }, - { - name = "staticmex", - x = 5832, - z = 3432, - facing = 2, - }, - { - name = "staticmex", - x = 3704, - z = 1320, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3448, - z = 1304, - facing = 3, - }, - { - name = "turretriot", - x = 3896, - z = 952, - facing = 3, - }, - { - name = "turretriot", - x = 6248, - z = 3096, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5864, - z = 3688, - facing = 0, - }, - { - name = "turretmissile", - x = 5200, - z = 1440, - facing = 0, - }, - { - name = "turretmissile", - x = 5392, - z = 1584, - facing = 0, - }, - { - name = "turretmissile", - x = 5600, - z = 1760, - facing = 3, - }, - { - name = "turretmissile", - x = 5776, - z = 1952, - facing = 3, - }, - { - name = "energysolar", - x = 5240, - z = 1992, - facing = 0, - }, - { - name = "energysolar", - x = 5160, - z = 2040, - facing = 3, - }, - { - name = "energysolar", - x = 5112, - z = 1960, - facing = 2, - }, - { - name = "energysolar", - x = 5192, - z = 1912, - facing = 1, - }, - { - name = "turretlaser", - x = 5360, - z = 2096, - facing = 0, - }, - { - name = "spideremp", - x = 3218, - z = 2455, - facing = 2, - }, - { - name = "shieldskirm", - x = 4885, - z = 2175, - facing = 1, - patrolRoute = { - {4861, 2182}, - {4922, 2159}, - }, - }, - { - name = "shieldskirm", - x = 3238, - z = 2399, - facing = 2, - }, - { - name = "spideremp", - x = 3262, - z = 2457, - facing = 2, - }, - { - name = "shieldskirm", - x = 3224, - z = 2376, - facing = 2, - }, - { - name = "spiderassault", - x = 3569, - z = 2578, - facing = 3, - }, - { - name = "shieldriot", - x = 3278, - z = 2511, - facing = 2, - }, - { - name = "spideremp", - x = 3240, - z = 2491, - facing = 2, - }, - { - name = "shieldskirm", - x = 3302, - z = 2487, - facing = 2, - }, - { - name = "spiderskirm", - x = 5341, - z = 3583, - facing = 0, - }, - { - name = "shieldskirm", - x = 5343, - z = 3934, - facing = 0, - }, - { - name = "spiderassault", - x = 5014, - z = 2254, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4863, 2186}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4854, 2123}, options = {"shift"}}, - }, - }, - { - name = "shieldskirm", - x = 5348, - z = 3890, - facing = 0, - }, - { - name = "shieldskirm", - x = 4892, - z = 2200, - facing = 3, - patrolRoute = { - {4836, 2244}, - {4863, 2186}, - }, - }, - { - name = "spiderscout", - x = 1284, - z = 1719, - facing = 0, - }, - { - name = "spiderscout", - x = 4888, - z = 3543, - facing = 0, - }, - { - name = "spiderscout", - x = 3872, - z = 3048, - facing = 2, - }, - { - name = "spiderscout", - x = 4439, - z = 3857, - facing = 0, - }, - { - name = "spiderscout", - x = 3811, - z = 3560, - facing = 0, - }, - { - name = "shieldskirm", - x = 5338, - z = 3866, - facing = 0, - }, - { - name = "spiderskirm", - x = 4837, - z = 2145, - facing = 3, - patrolRoute = { - {4822, 2137}, - {4863, 2186}, - }, - }, - { - name = "spiderscout", - x = 5475, - z = 4831, - facing = 2, - }, - { - name = "shieldraid", - x = 5281, - z = 1736, - facing = 3, - }, - { - name = "spiderscout", - x = 3614, - z = 3838, - facing = 3, - }, - { - name = "spiderscout", - x = 3403, - z = 2533, - facing = 0, - }, - { - name = "shieldassault", - x = 4910, - z = 2154, - facing = 3, - }, - { - name = "spiderskirm", - x = 5198, - z = 2103, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4863, 2186}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4905, 2234}, options = {"shift"}}, - }, - }, - { - name = "shieldfelon", - x = 5568, - z = 1196, - facing = 2, - buildProgress = 0.9048, - }, - { - name = "spiderskirm", - x = 5980, - z = 1656, - facing = 1, - buildProgress = 0.7809, - }, - } - }, - { - startX = 1600, - startZ = 5800, - aiLib = "Circuit_difficulty_autofill", - humanName = "Sybaria", - bitDependant = true, - commanderParameters = { - facplop = false, - --bonusObjectiveID = 4, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "turretlaser", - "turretmissile", - "turrettorp", - "staticcon", - "staticradar", - "factoryspider", - "staticstorage", - "spidercon", - "spiderscout", - "spiderassault", - "spideremp", - "spiderriot", - "spiderantiheavy", - "spiderskirm", - "spidercrabe", - "spideraa", - "factoryship", - "shipcon", - "shiparty", - "shipskirm", - "shiptorpraider", - "shipscout", - "shipriot", - "subraider", - "factoryamph", - "amphcon", - "amphraid", - "amphfloater", - "amphimpulse", - "amphriot", - "amphbomb", - }, - difficultyDependantUnlocks = { - [3] = {"amphaa"}, - [4] = {"shipassault","amphaa"}, - }, - commanderLevel = 6, - commander = { - name = "Alex.J", - chassis = "strike", - modules = { - "commweapon_heavymachinegun", - "commweapon_heavymachinegun", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_heavy_armor", - "module_heavy_armor", - "module_heavy_armor", - "module_adv_nano", - "module_adv_nano", - "module_dmg_booster", - "module_dmg_booster", - } - }, - startUnits = { - { - name = "turretriot", - x = 2450, - z = 6300, - facing = 1, - }, - { - name = "turretriot", - x = 800, - z = 4600, - facing = 2, - }, - { - name = "turretgauss", - x = 1100, - z = 5400, - facing = 3, - }, - { - name = "turretgauss", - x = 1800, - z = 6100, - facing = 0, - }, - { - name = "turretgauss", - x = 2100, - z = 5800, - facing = 2, - }, - { - name = "turretgauss", - x = 1350, - z = 5100, - facing = 1, - }, - { - name = "turretmissile", - x = 2720, - z = 4304, - facing = 1, - }, - { - name = "staticmex", - x = 1912, - z = 5928, - facing = 0, - }, - { - name = "staticmex", - x = 2264, - z = 5368, - facing = 0, - }, - { - name = "staticmex", - x = 1768, - z = 4888, - facing = 0, - }, - { - name = "staticmex", - x = 1208, - z = 5240, - facing = 0, - }, - { - name = "staticmex", - x = 744, - z = 4760, - facing = 0, - }, - { - name = "staticmex", - x = 1256, - z = 3880, - facing = 0, - }, - { - name = "staticmex", - x = 1896, - z = 3704, - facing = 0, - }, - { - name = "staticmex", - x = 2424, - z = 4696, - facing = 0, - }, - { - name = "staticmex", - x = 3448, - z = 5240, - facing = 2, - }, - { - name = "staticmex", - x = 3272, - z = 5880, - facing = 2, - }, - { - name = "staticmex", - x = 2392, - z = 6392, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3592, - z = 5512, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3240, - z = 6360, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1656, - z = 3576, - facing = 2, - }, - { - name = "turretheavylaser", - x = 808, - z = 3928, - facing = 2, - }, - { - name = "energywind", - x = 1816, - z = 4888, - facing = 2, - }, - { - name = "energywind", - x = 1816, - z = 4936, - facing = 2, - }, - { - name = "energywind", - x = 1768, - z = 4936, - facing = 1, - }, - { - name = "energywind", - x = 1720, - z = 4936, - facing = 1, - }, - { - name = "energywind", - x = 1720, - z = 4888, - facing = 0, - }, - { - name = "energywind", - x = 1720, - z = 4840, - facing = 0, - }, - { - name = "energywind", - x = 1768, - z = 4840, - facing = 3, - }, - { - name = "energywind", - x = 1816, - z = 4840, - facing = 3, - }, - { - name = "energywind", - x = 2472, - z = 4696, - facing = 2, - }, - { - name = "energywind", - x = 2472, - z = 4744, - facing = 2, - }, - { - name = "energywind", - x = 2424, - z = 4744, - facing = 1, - }, - { - name = "energywind", - x = 2376, - z = 4744, - facing = 1, - }, - { - name = "energywind", - x = 2376, - z = 4696, - facing = 0, - }, - { - name = "energywind", - x = 2376, - z = 4648, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 4648, - facing = 3, - }, - { - name = "energywind", - x = 2472, - z = 4648, - facing = 3, - }, - { - name = "energywind", - x = 2312, - z = 5368, - facing = 2, - }, - { - name = "energywind", - x = 2312, - z = 5416, - facing = 2, - }, - { - name = "energywind", - x = 2264, - z = 5416, - facing = 1, - }, - { - name = "turretriot", - x = 1448, - z = 6008, - facing = 1, - }, - { - name = "energywind", - x = 2216, - z = 5416, - facing = 1, - }, - { - name = "energywind", - x = 2216, - z = 5368, - facing = 0, - }, - { - name = "energywind", - x = 2216, - z = 5320, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 5320, - facing = 3, - }, - { - name = "energywind", - x = 2312, - z = 5320, - facing = 3, - }, - { - name = "turretriot", - x = 1176, - z = 5720, - facing = 2, - }, - { - name = "turretaalaser", - x = 1032, - z = 5880, - facing = 3, - }, - { - name = "energysolar", - x = 1272, - z = 5256, - facing = 2, - }, - { - name = "turretaalaser", - x = 1288, - z = 6136, - facing = 0, - }, - { - name = "energysolar", - x = 1192, - z = 5304, - facing = 1, - }, - { - name = "energysolar", - x = 1144, - z = 5224, - facing = 0, - }, - { - name = "energysolar", - x = 1224, - z = 5176, - facing = 3, - }, - { - name = "energysolar", - x = 1848, - z = 5912, - facing = 0, - }, - { - name = "energysolar", - x = 1976, - z = 5944, - facing = 2, - }, - { - name = "energysolar", - x = 1896, - z = 5992, - facing = 1, - }, - { - name = "energysolar", - x = 1928, - z = 5864, - facing = 3, - }, - { - name = "factoryamph", - x = 1992, - z = 5208, - facing = 2, - }, - { - name = "staticcon", - x = 1992, - z = 5320, - facing = 2, - }, - { - name = "factoryspider", - x = 1464, - z = 5704, - facing = 1, - }, - { - name = "factoryship", - x = 848, - z = 6384, - facing = 1, - }, - { - name = "staticcon", - x = 840, - z = 6264, - facing = 1, - }, - { - name = "turrettorp", - x = 952, - z = 6552, - facing = 3, - }, - { - name = "turrettorp", - x = 600, - z = 6232, - facing = 1, - }, - { - name = "turrettorp", - x = 2728, - z = 5064, - facing = 1, - }, - { - name = "turrettorp", - x = 2136, - z = 4376, - facing = 2, - }, - { - name = "turretaaclose", - x = 1832, - z = 5336, - facing = 2, - terraformHeight = -10, - }, - { - name = "staticheavyradar", - x = 2800, - z = 4400, - facing = 2, - terraformHeight = 260, - }, - { - name = "turretmissile", - x = 2880, - z = 4464, - facing = 2, - }, - { - name = "amphriot", - x = 1738, - z = 2967, - facing = 2, - }, - { - name = "spiderriot", - x = 1758, - z = 2934, - facing = 2, - }, - { - name = "subraider", - x = 4437, - z = 6624, - facing = 3, - }, - { - name = "spideremp", - x = 1727, - z = 2879, - facing = 1, - }, - { - name = "spiderscout", - x = 4094, - z = 5409, - facing = 1, - }, - { - name = "amphraid", - x = 5717, - z = 6175, - facing = 2, - }, - { - name = "spiderassault", - x = 1749, - z = 2820, - facing = 2, - }, - { - name = "amphfloater", - x = 1760, - z = 2659, - facing = 2, - }, - { - name = "spiderskirm", - x = 1790, - z = 2836, - facing = 2, - }, - { - name = "subraider", - x = 2332, - z = 2298, - facing = 1, - }, - { - name = "spideremp", - x = 1770, - z = 2875, - facing = 3, - }, - { - name = "amphfloater", - x = 1772, - z = 3175, - facing = 2, - }, - { - name = "shipskirm", - x = 3767, - z = 5640, - facing = 2, - }, - { - name = "spiderassault", - x = 3963, - z = 5404, - facing = 1, - }, - { - name = "spiderassault", - x = 2075, - z = 4938, - facing = 1, - }, - { - name = "shipskirm", - x = 2162, - z = 6696, - facing = 3, - }, - { - name = "amphriot", - x = 1948, - z = 5011, - facing = 1, - }, - { - name = "shipriot", - x = 1660, - z = 6493, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2236, 6600}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2256, 6539}, options = {"shift"}}, - }, - }, - { - name = "amphfloater", - x = 2123, - z = 4971, - facing = 1, - }, - { - name = "amphfloater", - x = 1992, - z = 5172, - facing = 2, - buildProgress = 0.65329999, - }, - { - name = "spiderscout", - x = 1904, - z = 5691, - facing = 1, - }, - { - name = "shipscout", - x = 828, - z = 6376, - facing = 1, - buildProgress = 0.92379999, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_artefact", - x = 1230, - z = 5930, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Artefact", - color = "green" - }, - }, - }, - defeatConditionConfig = { - [0] = { }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - }, - objectiveConfig = { - [1] = { - description = "Bring your Commander to the Artefact", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 25 Ravens - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 25, - unitTypes = { - "bomberprec", - }, - image = planetUtilities.ICON_DIR .. "bomberprec.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 25 Ravens", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 12*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 12:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - onlyCountRemovedUnits = true, - satisfyByTime = 6*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - enemyUnitTypes = { - "factoryship", - "factoryspider", - "factoryamph", - }, - image = planetUtilities.ICON_DIR .. "factoryship.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy three enemy Factories before 6:00", - experience = planetUtilities.BONUS_EXP, - }, - -- [4] = { -- Kill enemy commander in 7:30 - -- satisfyByTime = 450, - -- comparisionType = planetUtilities.COMPARE.AT_MOST, - -- targetNumber = 0, - -- -- See bonusObjectiveID in units table - -- image = planetUtilities.ICON_DIR .. "strike.png", - -- imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - -- description = "Destroy the enemy commander before 7:30", - -- experience = planetUtilities.BONUS_EXP, - -- }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "planescout", - "bomberprec", - }, - modules = { - "module_companion_drone_LIMIT_C_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet34.lua b/campaign/dev/planets/planet34.lua deleted file mode 100644 index e25f329c7..000000000 --- a/campaign/dev/planets/planet34.lua +++ /dev/null @@ -1,1985 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/inferno04.png" - - local planetData = { - name = "Fel Diacia", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.57, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.61, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Steppe", - radius = "7440 km", - primary = "Woondai", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24566", - text = [[The enemy has dug into a reasonable defensive position, assisted by aircraft. Supplement your ground forces with Thunderbirds to disarm enemy defences and Swifts to shoot down their planes.]] - }, - tips = { - { - image = "unitpics/staticrearm.png", - text = [[After firing their payload, bombers must retreat to base and rearm. The Airplane Plant has one rearm pad. If you have a large number of bombers, build an Airpad so your bombers can get back into the fight sooner. ]] - }, - { - image = "unitpics/bomberdisarm.png", - text = [[The Thunderbird can disarm a large army along its bombing path. Use the manual fire (default hotkey D) to fire immediately.]] - }, - { - image = "unitpics/planefighter.png", - text = [[Swifts are good for intercepting enemy bombers or protecting your own. Use the manual fire (default hotkey D) to activate a speed boost.]] - }, - }, - gameConfig = { - mapName = "Valles_Marineris_v2", - playerConfig = { - startX = 2364, - startZ = 5324, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - facing = 1, - }, - extraUnlocks = { - "factoryplane", - "planecon", - "planefighter", - "bomberriot", - "bomberdisarm", - "staticrearm", - }, - startUnits = { - { - name = "factoryplane", - x = 2264, - z = 5584, - facing = 1, - }, - { - name = "bomberdisarm", - x = 1050, - z = 5192, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2652, 5192}}, - }, - }, - { - name = "bomberdisarm", - x = 1050, - z = 5368, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2652, 5368}}, - }, - }, - { - name = "cloakraid", - x = 2480, - z = 5392, - facing = 1, - }, - { - name = "cloakraid", - x = 2480, - z = 5344, - facing = 1, - }, - { - name = "cloakraid", - x = 2432, - z = 5248, - facing = 1, - }, - { - name = "staticmex", - x = 408, - z = 5128, - facing = 0, - }, - { - name = "staticmex", - x = 1016, - z = 5224, - facing = 0, - }, - { - name = "staticmex", - x = 600, - z = 5608, - facing = 0, - }, - { - name = "cloakraid", - x = 2432, - z = 5344, - facing = 1, - }, - { - name = "energysolar", - x = 2264, - z = 5848, - facing = 2, - }, - { - name = "energysolar", - x = 2264, - z = 6008, - facing = 2, - }, - { - name = "energysolar", - x = 2312, - z = 5928, - facing = 2, - }, - { - name = "energysolar", - x = 2344, - z = 5064, - facing = 2, - }, - { - name = "energysolar", - x = 2344, - z = 4904, - facing = 2, - }, - { - name = "energysolar", - x = 2392, - z = 4984, - facing = 0, - }, - { - name = "cloakraid", - x = 2480, - z = 5296, - facing = 1, - }, - { - name = "turretlaser", - x = 2256, - z = 5904, - facing = 1, - }, - { - name = "turretlaser", - x = 2336, - z = 4960, - facing = 1, - }, - { - name = "cloakraid", - x = 2432, - z = 5296, - facing = 1, - }, - { - name = "cloakraid", - x = 2480, - z = 5200, - facing = 1, - }, - { - name = "staticradar", - x = 2384, - z = 4768, - facing = 2, - }, - { - name = "cloakraid", - x = 2432, - z = 5392, - facing = 1, - }, - { - name = "staticcon", - x = 2232, - z = 5192, - facing = 0, - selfPatrol = true, - }, - { - name = "cloakraid", - x = 2432, - z = 5200, - facing = 1, - }, - { - name = "staticmex", - x = 2248, - z = 5944, - facing = 0, - }, - { - name = "cloakraid", - x = 2480, - z = 5248, - facing = 1, - }, - { - name = "cloakraid", - x = 2432, - z = 5440, - facing = 1, - }, - { - name = "cloakraid", - x = 2480, - z = 5440, - facing = 1, - }, - { - name = "staticmex", - x = 1656, - z = 5224, - facing = 0, - }, - { - name = "staticmex", - x = 2328, - z = 5000, - facing = 0, - }, - } - }, - aiConfig = { - { - humanName = "Ally", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "staticradar", - "staticstorage", - "energysolar", - "energywind", - "energypylon", - "staticcon", - "turretlaser", - "turretmissile", - "turretaalaser", - "turretemp", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehassault", - "vehriot", - "vehsupport", - "vehaa", - "veharty", - "factorytank", - "tankcon", - "tankraid", - "tankheavyraid", - "tankriot", - "tankassault", - "tankarty", - "tankaa", - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 968, - z = 3208, - facing = 0, - }, - { - name = "staticmex", - x = 2664, - z = 3704, - facing = 0, - }, - { - name = "energysolar", - x = 2024, - z = 3976, - facing = 2, - }, - { - name = "staticmex", - x = 248, - z = 3032, - facing = 0, - }, - { - name = "energysolar", - x = 1944, - z = 4024, - facing = 0, - }, - { - name = "energysolar", - x = 1992, - z = 4104, - facing = 1, - }, - { - name = "energygeo", - x = 632, - z = 4312, - facing = 0, - }, - { - name = "staticmex", - x = 600, - z = 3496, - facing = 0, - }, - { - name = "factoryveh", - x = 1104, - z = 3632, - facing = 1, - }, - { - name = "energysolar", - x = 2072, - z = 4056, - facing = 3, - }, - { - name = "staticmex", - x = 2008, - z = 4040, - facing = 1, - }, - { - name = "staticmex", - x = 1208, - z = 4040, - facing = 0, - }, - { - name = "staticstorage", - x = 600, - z = 3672, - facing = 0, - }, - { - name = "turretlaser", - x = 1072, - z = 4000, - facing = 1, - }, - { - name = "staticcon", - x = 968, - z = 3640, - facing = 1, - }, - { - name = "vehraid", - x = 1521, - z = 3664, - facing = 1, - }, - { - name = "vehscout", - x = 2782, - z = 2517, - facing = 2, - }, - { - name = "staticcon", - x = 920, - z = 3608, - facing = 1, - }, - { - name = "vehraid", - x = 1621, - z = 3081, - facing = 0, - }, - { - name = "energysolar", - x = 2024, - z = 3880, - facing = 1, - }, - { - name = "staticradar", - x = 896, - z = 3536, - facing = 1, - }, - { - name = "turretlaser", - x = 688, - z = 3280, - facing = 1, - }, - { - name = "vehscout", - x = 1964, - z = 3543, - facing = 1, - }, - { - name = "vehcon", - x = 890, - z = 2132, - facing = 2, - }, - { - name = "energywind", - x = 200, - z = 2968, - facing = 1, - }, - { - name = "energywind", - x = 2136, - z = 3928, - facing = 1, - }, - { - name = "turretmissile", - x = 2608, - z = 3648, - facing = 1, - }, - { - name = "turretlaser", - x = 1120, - z = 3424, - facing = 1, - }, - { - name = "vehassault", - x = 1500, - z = 1736, - facing = 2, - }, - { - name = "vehassault", - x = 1543, - z = 1455, - facing = 1, - }, - { - name = "vehsupport", - x = 1121, - z = 3631, - facing = 1, - buildProgress = 0.70230001, - }, - { - name = "turretlaser", - x = 2768, - z = 3728, - facing = 1, - }, - { - name = "turretlaser", - x = 592, - z = 5264, - facing = 1, - }, - { - name = "turretlaser", - x = 176, - z = 2208, - facing = 1, - }, - { - name = "staticradar", - x = 2448, - z = 3616, - facing = 1, - }, - { - name = "turretlaser", - x = 2768, - z = 3552, - facing = 1, - }, - { - name = "vehsupport", - x = 1744, - z = 3510, - facing = 1, - }, - { - name = "turretmissile", - x = 2848, - z = 3888, - facing = 1, - }, - { - name = "vehassault", - x = 1588, - z = 1494, - facing = 1, - }, - { - name = "energywind", - x = 1256, - z = 4024, - facing = 1, - }, - { - name = "staticstorage", - x = 1240, - z = 3912, - facing = 1, - }, - { - name = "staticradar", - x = 784, - z = 5104, - facing = 1, - }, - { - name = "staticmex", - x = 248, - z = 2264, - facing = 0, - }, - { - name = "staticcon", - x = 872, - z = 3608, - facing = 1, - }, - { - name = "turretlaser", - x = 1584, - z = 5120, - facing = 1, - }, - { - name = "vehcon", - x = 1021, - z = 1989, - facing = 2, - }, - { - name = "turretmissile", - x = 2672, - z = 3888, - facing = 1, - }, - { - name = "vehcon", - x = 729, - z = 1972, - facing = 1, - }, - { - name = "staticmex", - x = 616, - z = 1896, - facing = 0, - }, - { - name = "energywind", - x = 2104, - z = 4168, - facing = 1, - }, - { - name = "staticcon", - x = 2504, - z = 3704, - facing = 1, - }, - { - name = "vehraid", - x = 2072, - z = 3793, - facing = 0, - }, - { - name = "vehcon", - x = 860, - z = 2825, - facing = 2, - }, - { - name = "energywind", - x = 1048, - z = 5176, - facing = 1, - }, - { - name = "energywind", - x = 1224, - z = 4120, - facing = 1, - }, - { - name = "energywind", - x = 952, - z = 5224, - facing = 1, - }, - { - name = "energysolar", - x = 1112, - z = 4056, - facing = 1, - }, - { - name = "vehriot", - x = 1502, - z = 1532, - facing = 1, - }, - { - name = "staticcon", - x = 904, - z = 3656, - facing = 1, - }, - { - name = "vehcon", - x = 2175, - z = 4033, - facing = 2, - }, - { - name = "turretlaser", - x = 2608, - z = 3472, - facing = 1, - }, - { - name = "energysolar", - x = 1864, - z = 3976, - facing = 1, - }, - { - name = "vehsupport", - x = 1513, - z = 1577, - facing = 1, - }, - { - name = "staticmex", - x = 984, - z = 2072, - facing = 0, - }, - { - name = "staticcon", - x = 2648, - z = 3624, - facing = 1, - }, - { - name = "energywind", - x = 2504, - z = 3800, - facing = 1, - }, - { - name = "energywind", - x = 1128, - z = 4168, - facing = 1, - }, - { - name = "vehraid", - x = 1802, - z = 3150, - facing = 0, - }, - { - name = "staticradar", - x = 832, - z = 3456, - facing = 1, - }, - { - name = "energysolar", - x = 1368, - z = 4040, - facing = 1, - }, - { - name = "energysolar", - x = 1944, - z = 3944, - facing = 1, - }, - { - name = "vehriot", - x = 1462, - z = 1546, - facing = 1, - }, - { - name = "energywind", - x = 1288, - z = 3928, - facing = 1, - }, - { - name = "energysolar", - x = 2664, - z = 3768, - facing = 1, - }, - { - name = "vehassault", - x = 1536, - z = 1712, - facing = 1, - }, - { - name = "staticcon", - x = 968, - z = 3592, - facing = 1, - }, - { - name = "energysolar", - x = 1144, - z = 3976, - facing = 1, - }, - { - name = "vehcon", - x = 1129, - z = 2966, - facing = 0, - }, - { - name = "energysolar", - x = 1912, - z = 4104, - facing = 1, - }, - { - name = "turretmissile", - x = 656, - z = 3456, - facing = 1, - }, - { - name = "energysolar", - x = 1160, - z = 3896, - facing = 1, - }, - { - name = "energysolar", - x = 2616, - z = 3848, - facing = 1, - }, - } - }, - { - humanName = "Iseuwi", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "turretriot", - "turretlaser", - "staticradar", - "staticmex", - "energysolar", - "energywind", - "energygeo", - "factoryhover", - "hovercon", - "hoverraid", - "hoverskirm", - "hoverriot", - "factoryplane", - "planeheavyfighter", - "bomberprec", - "bomberriot", - }, - difficultyDependantUnlocks = { - [2] = {"hoveraa",}, - [3] = {"hoveraa","bomberheavy", "hoverarty",}, - [4] = {"hoveraa","bomberheavy", "hoverassault", "hoverarty","turretgauss",}, - }, - startX = 4800, - startZ = 850, - commanderLevel = 6, - commander = { - name = "Yangdi", - chassis = "recon", - decorations = { - }, - modules = { - "commweapon_shotgun", - "commweapon_concussion", - "module_autorepair", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_adv_targeting", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_nano", - } - }, - midgameUnits = { - { - name = "planeheavyfighter", - x = 5000, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 200, - orbitalDrop = false, - }, - { - name = "planeheavyfighter", - x = 5100, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 200, - orbitalDrop = false, - difficultyAtLeast = 3, - }, - -- Raptors at 2:30 - { - name = "planeheavyfighter", - x = 5000, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 2.5*30*60, - orbitalDrop = false, - }, - { - name = "planeheavyfighter", - x = 5100, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 2.5*30*60, - orbitalDrop = false, - difficultyAtLeast = 3, - }, - { - name = "planeheavyfighter", - x = 5200, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 2.5*30*60, - orbitalDrop = false, - difficultyAtLeast = 4, - }, - { - name = "bomberprec", - x = 5300, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 2.5*30*60, - orbitalDrop = false, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "bomberheavy", - x = 5400, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 2.5*30*60, - orbitalDrop = false, - difficultyAtLeast = 3, - }, - -- Bombers at 4:30 - { - name = "bomberprec", - x = 5000, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 4.5*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 5100, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 4.5*30*60, - orbitalDrop = false, - difficultyAtMost = 3, - }, - { - name = "bomberprec", - x = 5200, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 4.5*30*60, - orbitalDrop = false, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "bomberheavy", - x = 5300, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 4.5*30*60, - orbitalDrop = false, - difficultyAtLeast = 4, - }, - -- Both at at 7:30 - { - name = "planeheavyfighter", - x = 5000, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 7.5*30*60, - orbitalDrop = false, - }, - { - name = "planeheavyfighter", - x = 5100, - z = 340, - facing = 0, - spawnRadius = 50, - delay = 7.5*30*60, - orbitalDrop = false, - }, - }, - startUnits = { - { - name = "turretheavylaser", - x = 2872, - z = 1176, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3560, - z = 2776, - facing = 0, - }, - { - name = "turretriot", - x = 3080, - z = 1336, - facing = 0, - }, - { - name = "turretriot", - x = 2680, - z = 984, - facing = 0, - }, - { - name = "turretriot", - x = 3544, - z = 2504, - facing = 0, - }, - { - name = "turretriot", - x = 3576, - z = 3048, - facing = 0, - }, - { - name = "turretlaser", - x = 2768, - z = 1088, - facing = 0, - }, - { - name = "turretlaser", - x = 2976, - z = 1264, - facing = 0, - }, - { - name = "turretlaser", - x = 3552, - z = 2640, - facing = 0, - }, - { - name = "turretlaser", - x = 3568, - z = 2912, - facing = 0, - }, - { - name = "turretlaser", - x = 5488, - z = 3696, - facing = 3, - }, - { - name = "factoryplane", - x = 4950, - z = 520, - facing = 0, - }, - { - name = "factoryhover", - x = 4700, - z = 1100, - facing = 0, - }, - { - name = "hoverraid", - x = 3846, - z = 2404, - facing = 0, - }, - { - name = "staticmex", - x = 5272, - z = 984, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 5336, - z = 1000, - facing = 0, - }, - { - name = "turretlaser", - x = 3680, - z = 1168, - facing = 0, - }, - { - name = "staticmex", - x = 5192, - z = 216, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energywind", - x = 5144, - z = 248, - facing = 0, - }, - { - name = "energysolar", - x = 5256, - z = 232, - facing = 0, - }, - { - name = "staticradar", - x = 5504, - z = 3536, - facing = 3, - }, - { - name = "turretlaser", - x = 5536, - z = 192, - facing = 0, - }, - { - name = "staticmex", - x = 4520, - z = 1288, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticradar", - x = 5344, - z = 384, - facing = 0, - }, - { - name = "turretlaser", - x = 4576, - z = 1216, - facing = 0, - }, - { - name = "staticmex", - x = 3720, - z = 2456, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 5816, - z = 248, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 5752, - z = 264, - facing = 0, - }, - { - name = "energysolar", - x = 4456, - z = 1288, - facing = 0, - }, - { - name = "staticmex", - x = 3704, - z = 3016, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energywind", - x = 5864, - z = 200, - facing = 0, - }, - { - name = "energywind", - x = 5768, - z = 152, - facing = 0, - }, - { - name = "hovercon", - x = 3494, - z = 2261, - facing = 2, - }, - { - name = "energywind", - x = 5864, - z = 312, - facing = 0, - }, - { - name = "staticmex", - x = 4920, - z = 2136, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energygeo", - x = 4088, - z = 120, - facing = 0, - }, - { - name = "hoverraid", - x = 3288, - z = 3264, - facing = 3, - }, - { - name = "turretlaser", - x = 3408, - z = 2272, - facing = 0, - }, - { - name = "staticmex", - x = 6328, - z = 1160, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 4880, - z = 2368, - facing = 0, - }, - { - name = "turretlaser", - x = 4976, - z = 880, - facing = 0, - }, - { - name = "staticmex", - x = 4840, - z = 3560, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretlaser", - x = 6288, - z = 1152, - facing = 3, - }, - { - name = "hoverskirm", - x = 4121, - z = 1309, - facing = 0, - }, - { - name = "staticradar", - x = 4736, - z = 2288, - facing = 0, - }, - { - name = "hoverraid", - x = 3450, - z = 3087, - facing = 2, - }, - { - name = "staticmex", - x = 5624, - z = 1768, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 3304, - z = 2136, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticcon", - x = 4760, - z = 760, - facing = 0, - }, - { - name = "turretlaser", - x = 5632, - z = 1728, - facing = 3, - }, - { - name = "staticmex", - x = 4504, - z = 2456, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "hovercon", - x = 3348, - z = 2000, - facing = 0, - }, - { - name = "staticmex", - x = 4504, - z = 3016, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 5320, - z = 2760, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticcon", - x = 4792, - z = 712, - facing = 0, - }, - { - name = "turretlaser", - x = 5200, - z = 2800, - facing = 3, - }, - { - name = "hoverriot", - x = 4752, - z = 848, - facing = 0, - buildProgress = 0.94580001, - }, - { - name = "turretlaser", - x = 4624, - z = 3408, - facing = 3, - }, - { - name = "turretlaser", - x = 4528, - z = 880, - facing = 0, - }, - { - name = "staticradar", - x = 3568, - z = 2128, - facing = 0, - buildProgress = 0.23029999, - }, - { - name = "staticmex", - x = 3688, - z = 1288, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "hoverarty", - x = 3961, - z = 1387, - facing = 0, - }, - } - }, - { - humanName = "Iwainiul", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "turretriot", - "turretlaser", - "turretaalaser", - "staticradar", - "staticmex", - "energysolar", - "energywind", - "energygeo", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - }, - difficultyDependantUnlocks = { - [2] = {"shieldarty", "striderhub", "striderdante"}, - [3] = {"shieldarty", "striderhub", "striderdante", "shieldfelon",}, - [4] = {"shieldarty", "striderhub", "striderdante", "shieldfelon", "turretgauss",}, - }, - startX = 7100, - startZ = 3600, - commanderLevel = 6, - commander = { - name = "Yangdu", - chassis = "recon", - decorations = { - "skin_recon_leopard", - }, - modules = { - "commweapon_heavymachinegun", - "commweapon_concussion", - "module_autorepair", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_adv_targeting", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_nano", - } - }, - midgameUnits = { - { - name = "shieldaa", - x = 7300, - z = 3350, - facing = 0, - spawnRadius = 50, - delay = 2.5*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 7300, - z = 3450, - facing = 0, - spawnRadius = 50, - delay = 2.5*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 7300, - z = 3250, - facing = 0, - spawnRadius = 50, - delay = 7.5*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 7300, - z = 3350, - facing = 0, - spawnRadius = 50, - delay = 7.5*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "turretheavylaser", - x = 5752, - z = 5272, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4104, - z = 4104, - facing = 0, - }, - { - name = "turretriot", - x = 5784, - z = 5576, - facing = 0, - }, - { - name = "turretriot", - x = 3832, - z = 4104, - facing = 0, - }, - { - name = "turretlaser", - x = 5744, - z = 5152, - facing = 0, - }, - { - name = "turretriot", - x = 4360, - z = 4104, - facing = 0, - }, - { - name = "turretlaser", - x = 5760, - z = 5424, - facing = 0, - }, - { - name = "turretriot", - x = 5736, - z = 5016, - facing = 0, - }, - { - name = "turretlaser", - x = 3952, - z = 4112, - facing = 0, - }, - { - name = "turretlaser", - x = 4240, - z = 4112, - facing = 0, - }, - { - name = "energywind", - x = 7944, - z = 648, - facing = 3, - }, - { - name = "factoryshield", - x = 7016, - z = 3488, - facing = 3, - }, - { - name = "energywind", - x = 8024, - z = 2312, - facing = 3, - }, - { - name = "staticmex", - x = 7240, - z = 3208, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 7304, - z = 3192, - facing = 3, - }, - { - name = "shieldcon", - x = 4210, - z = 4782, - facing = 0, - }, - { - name = "staticmex", - x = 7624, - z = 3496, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 7640, - z = 3432, - facing = 3, - }, - { - name = "staticmex", - x = 7976, - z = 3032, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energywind", - x = 7928, - z = 3016, - facing = 3, - }, - { - name = "turretlaser", - x = 7968, - z = 3184, - facing = 3, - }, - { - name = "energysolar", - x = 8040, - z = 3064, - facing = 3, - }, - { - name = "staticradar", - x = 7648, - z = 528, - facing = 3, - }, - { - name = "staticmex", - x = 7016, - z = 4040, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 7208, - z = 5224, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticradar", - x = 7936, - z = 2304, - facing = 3, - }, - { - name = "staticmex", - x = 7960, - z = 2264, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "shieldcon", - x = 6580, - z = 1389, - facing = 3, - }, - { - name = "staticmex", - x = 6216, - z = 4008, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 7944, - z = 2200, - facing = 3, - }, - { - name = "turretlaser", - x = 7120, - z = 3680, - facing = 3, - buildProgress = 0.3777, - }, - { - name = "turretlaser", - x = 6176, - z = 4016, - facing = 3, - }, - { - name = "shieldskirm", - x = 6511, - z = 3528, - facing = 3, - }, - { - name = "staticmex", - x = 7608, - z = 1896, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "shieldcon", - x = 5876, - z = 4891, - facing = 0, - }, - { - name = "energygeo", - x = 7544, - z = 4280, - facing = 0, - }, - { - name = "energysolar", - x = 6280, - z = 4024, - facing = 3, - }, - { - name = "turretlaser", - x = 7296, - z = 1840, - facing = 3, - }, - { - name = "shieldraid", - x = 6376, - z = 3253, - facing = 3, - }, - { - name = "turretlaser", - x = 6944, - z = 3680, - facing = 3, - }, - { - name = "staticmex", - x = 7224, - z = 2072, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "shieldcon", - x = 7000, - z = 3605, - facing = 1, - }, - { - name = "turretlaser", - x = 7008, - z = 4000, - facing = 3, - }, - { - name = "staticmex", - x = 7992, - z = 664, - facing = 0, - }, - { - name = "staticmex", - x = 7160, - z = 1400, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "shieldskirm", - x = 5236, - z = 4631, - facing = 2, - }, - { - name = "turretlaser", - x = 7008, - z = 3280, - facing = 3, - }, - { - name = "energysolar", - x = 7080, - z = 4024, - facing = 3, - }, - { - name = "shieldcon", - x = 7556, - z = 5509, - facing = 0, - }, - { - name = "staticmex", - x = 7432, - z = 584, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticradar", - x = 7152, - z = 3920, - facing = 3, - }, - { - name = "shieldassault", - x = 5107, - z = 4730, - facing = 2, - }, - { - name = "staticcon", - x = 7224, - z = 3480, - facing = 3, - }, - { - name = "staticmex", - x = 7656, - z = 200, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "shieldassault", - x = 4852, - z = 4776, - facing = 3, - }, - { - name = "staticcon", - x = 7176, - z = 3496, - facing = 3, - }, - { - name = "staticmex", - x = 6984, - z = 312, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "shieldriot", - x = 5119, - z = 4502, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 7088, - z = 288, - facing = 3, - }, - { - name = "shieldassault", - x = 5216, - z = 4537, - facing = 3, - }, - { - name = "shieldassault", - x = 4977, - z = 4532, - facing = 3, - }, - { - name = "turretlaser", - x = 7808, - z = 432, - facing = 3, - }, - { - name = "shieldassault", - x = 5191, - z = 4707, - facing = 1, - }, - { - name = "staticmex", - x = 5560, - z = 3704, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "shieldcon", - x = 7169, - z = 3785, - facing = 2, - }, - { - name = "staticmex", - x = 4984, - z = 4600, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energywind", - x = 7704, - z = 136, - facing = 3, - }, - { - name = "shieldraid", - x = 6382, - z = 3317, - facing = 3, - }, - { - name = "staticcon", - x = 7176, - z = 3544, - facing = 3, - }, - { - name = "turretlaser", - x = 7584, - z = 5328, - facing = 3, - }, - { - name = "staticmex", - x = 5896, - z = 5000, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 7608, - z = 5608, - facing = 0, - buildProgress = 0.08, - difficultyAtLeast = 4, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryhover", - "factoryspider", - }, - 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] = { - victoryByTime = 20*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyByTime = 6*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 4, - enemyUnitTypes = { - "turretheavylaser", - }, - image = planetUtilities.ICON_DIR .. "turretheavylaser.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy 4 enemy Stingers before 6:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryplane", - "planecon", - "planefighter", - "bomberdisarm", - }, - modules = { - "module_adv_nano_LIMIT_H_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet35.lua b/campaign/dev/planets/planet35.lua deleted file mode 100644 index 89477d371..000000000 --- a/campaign/dev/planets/planet35.lua +++ /dev/null @@ -1,3775 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran03.png" - - local planetData = { - name = "Bavhakya", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.66, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.72, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6080 km", - primary = "Topps", - primaryType = "G2V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24566", - text = [[Since your allies have built a few strong anti-air bastions, the enemy has chosen to rely on ground-to-air emplacements of their own rather than attempt to contest air control with fighters. Show them the deficiencies of this strategy with the resilient and deadly Likho.]] - }, - tips = { - { - image = "unitpics/bomberheavy.png", - text = [[The Likho carries a bomb which inflicts heavy damage in a small area of effect. It is best used against tight clusters of enemies. Likhos require considerably more time to rearm than other bombers so plan ahead.]] - }, - { - image = "unitpics/staticantinuke.png", - text = [[Make sure your allies' Antinukes remain intact or you might end up in a spot of bother.]] - }, - { - image = "unitpics/shieldassault.png", - text = [[The Likho's bomb is strong enough to penetrate most shields, so it is especially effective against Shieldbots.]] - }, - }, - gameConfig = { - mapName = "Colorado_v1", - playerConfig = { - startX = 8600, - startZ = 3200, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryplane", - "planecon", - "planefighter", - "bomberheavy", - "staticrearm", - }, - startUnits = { - { - name = "planecon", - x = 8700, - z = 3200, - facing = 0, - }, - { - name = "bomberheavy", - x = 8700, - z = 3300, - facing = 0, - }, - { - name = "staticmex", - x = 9016, - z = 2792, - facing = 0, - }, - { - name = "staticmex", - x = 8648, - z = 3064, - facing = 0, - }, - { - name = "staticmex", - x = 9032, - z = 3304, - facing = 0, - }, - { - name = "energywind", - x = 9032, - z = 3208, - facing = 1, - }, - { - name = "energywind", - x = 9112, - z = 3208, - facing = 1, - }, - { - name = "energywind", - x = 9112, - z = 3128, - facing = 1, - }, - { - name = "energywind", - x = 9032, - z = 3128, - facing = 1, - }, - { - name = "energywind", - x = 9032, - z = 3048, - facing = 1, - }, - { - name = "energywind", - x = 9112, - z = 3048, - facing = 1, - }, - { - name = "energywind", - x = 9112, - z = 2968, - facing = 1, - }, - { - name = "energywind", - x = 9032, - z = 2968, - facing = 1, - }, - { - name = "energywind", - x = 9032, - z = 2888, - facing = 1, - }, - { - name = "energywind", - x = 9112, - z = 2888, - facing = 1, - }, - { - name = "energywind", - x = 9112, - z = 3288, - facing = 1, - }, - { - name = "energywind", - x = 9096, - z = 2808, - facing = 1, - }, - { - name = "energywind", - x = 9192, - z = 3256, - facing = 1, - }, - { - name = "energywind", - x = 9192, - z = 3176, - facing = 1, - }, - { - name = "energywind", - x = 9192, - z = 3096, - facing = 1, - }, - { - name = "energywind", - x = 9192, - z = 3016, - facing = 1, - }, - { - name = "energywind", - x = 9192, - z = 2936, - facing = 1, - }, - { - name = "energywind", - x = 9192, - z = 2856, - facing = 1, - }, - { - name = "staticcon", - x = 8808, - z = 3048, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8808, 3048}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8783, 3073}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8888, - z = 3048, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8888, 3048}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8863, 3073}, options = {"shift"}}, - }, - }, - { - name = "staticrearm", - x = 8840, - z = 2920, - facing = 3, - }, - { - name = "factoryplane", - x = 8872, - z = 3168, - facing = 3, - }, - { - name = "staticheavyradar", - x = 8432, - z = 3072, - facing = 3, - }, - { - name = "energywind", - x = 8584, - z = 2904, - facing = 3, - }, - { - name = "energywind", - x = 8664, - z = 2904, - facing = 3, - }, - { - name = "energywind", - x = 8664, - z = 2984, - facing = 3, - }, - { - name = "energywind", - x = 8584, - z = 2984, - facing = 3, - }, - { - name = "turretmissile", - x = 8672, - z = 3440, - facing = 3, - }, - { - name = "turretmissile", - x = 8464, - z = 3232, - facing = 3, - }, - { - name = "turretmissile", - x = 8464, - z = 2880, - facing = 3, - }, - { - name = "turretmissile", - x = 8672, - z = 2720, - facing = 3, - }, - { - name = "energygeo", - x = 8424, - z = 1976, - facing = 3, - }, - } - }, - aiConfig = { - { - humanName = "Hulukak", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - }, - commander = false, - startUnits = { - { - name = "staticantinuke", - x = 7896, - z = 2192, - facing = 0, - }, - { - name = "staticmex", - x = 9048, - z = 568, - facing = 0, - }, - { - name = "staticmex", - x = 8808, - z = 824, - facing = 0, - }, - { - name = "staticmex", - x = 8712, - z = 280, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 7688, - z = 952, - facing = 0, - }, - { - name = "staticmex", - x = 7672, - z = 504, - facing = 0, - }, - { - name = "staticmex", - x = 6760, - z = 392, - facing = 0, - }, - { - name = "staticmex", - x = 6600, - z = 1112, - facing = 0, - }, - { - name = "staticmex", - x = 6984, - z = 1816, - facing = 0, - }, - { - name = "staticmex", - x = 6840, - z = 2408, - facing = 0, - }, - { - name = "staticmex", - x = 7832, - z = 2040, - facing = 0, - }, - { - name = "staticmex", - x = 8184, - z = 1816, - facing = 0, - }, - { - name = "staticmex", - x = 8216, - z = 2312, - facing = 0, - }, - { - name = "energywind", - x = 8744, - z = 360, - facing = 3, - }, - { - name = "energywind", - x = 8824, - z = 424, - facing = 3, - }, - { - name = "energywind", - x = 8904, - z = 504, - facing = 3, - }, - { - name = "energywind", - x = 8984, - z = 568, - facing = 3, - }, - { - name = "energywind", - x = 8904, - z = 648, - facing = 3, - }, - { - name = "energywind", - x = 8824, - z = 728, - facing = 3, - }, - { - name = "energywind", - x = 8888, - z = 792, - facing = 3, - }, - { - name = "energywind", - x = 8936, - z = 712, - facing = 3, - }, - { - name = "energywind", - x = 9000, - z = 632, - facing = 3, - }, - { - name = "energywind", - x = 8984, - z = 472, - facing = 3, - }, - { - name = "energywind", - x = 8904, - z = 408, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 2264, - facing = 3, - }, - { - name = "energywind", - x = 8824, - z = 328, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 1912, - facing = 3, - }, - { - name = "energywind", - x = 8200, - z = 1896, - facing = 3, - }, - { - name = "energywind", - x = 8360, - z = 2088, - facing = 3, - }, - { - name = "energywind", - x = 8104, - z = 1912, - facing = 3, - }, - { - name = "energywind", - x = 8008, - z = 1960, - facing = 3, - }, - { - name = "energywind", - x = 7912, - z = 1992, - facing = 3, - }, - { - name = "energywind", - x = 8328, - z = 2168, - facing = 3, - }, - { - name = "energywind", - x = 7752, - z = 888, - facing = 3, - }, - { - name = "energywind", - x = 7800, - z = 808, - facing = 3, - }, - { - name = "energywind", - x = 7848, - z = 728, - facing = 3, - }, - { - name = "energywind", - x = 7864, - z = 664, - facing = 3, - }, - { - name = "energywind", - x = 7816, - z = 584, - facing = 3, - }, - { - name = "energywind", - x = 7784, - z = 504, - facing = 3, - }, - { - name = "energywind", - x = 7768, - z = 984, - facing = 3, - }, - { - name = "energywind", - x = 7832, - z = 904, - facing = 3, - }, - { - name = "energywind", - x = 7880, - z = 824, - facing = 3, - }, - { - name = "energywind", - x = 7928, - z = 632, - facing = 3, - }, - { - name = "energywind", - x = 7896, - z = 552, - facing = 3, - }, - { - name = "energywind", - x = 7864, - z = 472, - facing = 3, - }, - { - name = "energywind", - x = 7976, - z = 2040, - facing = 3, - }, - { - name = "energywind", - x = 8056, - z = 2024, - facing = 3, - }, - { - name = "energywind", - x = 8136, - z = 2008, - facing = 3, - }, - { - name = "energywind", - x = 8216, - z = 1976, - facing = 3, - }, - { - name = "energywind", - x = 8248, - z = 2152, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 2072, - facing = 3, - }, - { - name = "staticcon", - x = 7608, - z = 1960, - facing = 3, - }, - { - name = "factoryamph", - x = 7480, - z = 1960, - facing = 3, - }, - { - name = "staticcon", - x = 7960, - z = 1304, - facing = 3, - }, - { - name = "factoryjump", - x = 7832, - z = 1272, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6808, - z = 2184, - facing = 3, - }, - { - name = "turretriot", - x = 6680, - z = 2360, - facing = 3, - }, - { - name = "turretriot", - x = 6664, - z = 2024, - facing = 3, - }, - { - name = "turretlaser", - x = 7616, - z = 1472, - facing = 3, - }, - { - name = "turretemp", - x = 7680, - z = 1184, - facing = 3, - }, - { - name = "turretemp", - x = 7616, - z = 384, - facing = 3, - }, - { - name = "turretlaser", - x = 7504, - z = 96, - facing = 3, - }, - { - name = "turretaaheavy", - x = 7840, - z = 1680, - facing = 3, - }, - { - name = "turretriot", - x = 7768, - z = 1592, - facing = 3, - }, - { - name = "turretriot", - x = 7768, - z = 1768, - facing = 3, - }, - { - name = "turretaaflak", - x = 7912, - z = 1528, - facing = 3, - }, - { - name = "turretaaflak", - x = 7912, - z = 1832, - facing = 3, - }, - { - name = "amphcon", - x = 5654, - z = 1357, - facing = 2, - }, - { - name = "jumpraid", - x = 6121, - z = 2454, - facing = 0, - }, - { - name = "amphcon", - x = 6341, - z = 1502, - facing = 3, - }, - { - name = "turretlaser", - x = 5824, - z = 3152, - facing = 3, - buildProgress = 0.73610002, - }, - { - name = "amphcon", - x = 7675, - z = 772, - facing = 2, - }, - { - name = "turretlaser", - x = 7504, - z = 1744, - facing = 3, - }, - { - name = "amphcon", - x = 5159, - z = 3099, - facing = 3, - }, - { - name = "jumpassault", - x = 3991, - z = 3197, - facing = 1, - }, - { - name = "amphraid", - x = 4613, - z = 2670, - facing = 2, - }, - { - name = "staticcon", - x = 7960, - z = 1256, - facing = 3, - }, - { - name = "amphcon", - x = 5835, - z = 3052, - facing = 2, - }, - { - name = "turretlaser", - x = 8080, - z = 2208, - facing = 3, - }, - { - name = "jumpcon", - x = 6724, - z = 987, - facing = 2, - }, - { - name = "staticstorage", - x = 7816, - z = 856, - facing = 3, - }, - { - name = "turretlaser", - x = 7584, - z = 752, - facing = 3, - }, - { - name = "amphcon", - x = 7828, - z = 769, - facing = 3, - }, - { - name = "jumpcon", - x = 6869, - z = 476, - facing = 0, - }, - { - name = "turretlaser", - x = 6992, - z = 2160, - facing = 3, - }, - { - name = "jumpassault", - x = 6507, - z = 2068, - facing = 3, - }, - { - name = "turretlaser", - x = 6672, - z = 3424, - facing = 3, - }, - { - name = "amphfloater", - x = 5248, - z = 3326, - facing = 3, - }, - { - name = "staticcon", - x = 8008, - z = 1272, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8008, 1272}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7808, 1272}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 5784, - z = 2216, - facing = 0, - }, - { - name = "amphfloater", - x = 5469, - z = 3176, - facing = 3, - }, - { - name = "staticradar", - x = 6688, - z = 3168, - facing = 3, - }, - { - name = "energysolar", - x = 6904, - z = 2408, - facing = 3, - }, - { - name = "staticcon", - x = 8008, - z = 1224, - facing = 3, - }, - { - name = "turretlaser", - x = 6736, - z = 464, - facing = 0, - }, - { - name = "amphfloater", - x = 6679, - z = 1895, - facing = 0, - }, - { - name = "staticmex", - x = 5752, - z = 1368, - facing = 0, - }, - { - name = "jumpassault", - x = 6588, - z = 1998, - facing = 3, - }, - { - name = "energyfusion", - x = 7744, - z = 696, - facing = 3, - buildProgress = 0.4145, - }, - { - name = "staticradar", - x = 6880, - z = 592, - facing = 0, - buildProgress = 0.93629998, - }, - { - name = "turretlaser", - x = 5808, - z = 2256, - facing = 3, - }, - { - name = "amphcon", - x = 7438, - z = 2053, - facing = 0, - }, - { - name = "staticstorage", - x = 7688, - z = 872, - facing = 3, - }, - { - name = "jumpassault", - x = 7785, - z = 1272, - facing = 3, - }, - { - name = "energysolar", - x = 5752, - z = 3096, - facing = 3, - }, - { - name = "amphimpulse", - x = 7444, - z = 1960, - facing = 3, - buildProgress = 0.81160003, - }, - { - name = "turretlaser", - x = 7456, - z = 2160, - facing = 3, - buildProgress = 0.60829997, - }, - { - name = "energysolar", - x = 5752, - z = 1432, - facing = 0, - }, - { - name = "turretlaser", - x = 5632, - z = 1248, - facing = 0, - buildProgress = 0.0194, - }, - } - }, - { - humanName = "Boyar", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - }, - commander = false, - startUnits = { - { - name = "staticantinuke", - x = 8088, - z = 4496, - facing = 0, - }, - { - name = "factoryshield", - x = 7000, - z = 5296, - facing = 3, - }, - { - name = "staticmex", - x = 9048, - z = 5592, - facing = 0, - }, - { - name = "staticmex", - x = 8776, - z = 5864, - facing = 0, - }, - { - name = "staticmex", - x = 8712, - z = 5336, - facing = 0, - }, - { - name = "staticmex", - x = 8520, - z = 4680, - facing = 0, - }, - { - name = "staticmex", - x = 8152, - z = 4376, - facing = 0, - }, - { - name = "staticmex", - x = 8440, - z = 4008, - facing = 0, - }, - { - name = "staticmex", - x = 7272, - z = 3784, - facing = 0, - }, - { - name = "staticmex", - x = 6696, - z = 4200, - facing = 0, - }, - { - name = "staticmex", - x = 6664, - z = 3352, - facing = 0, - }, - { - name = "staticmex", - x = 6968, - z = 5080, - facing = 0, - }, - { - name = "staticmex", - x = 7224, - z = 5656, - facing = 0, - }, - { - name = "staticmex", - x = 7656, - z = 5896, - facing = 0, - }, - { - name = "staticmex", - x = 7624, - z = 5352, - facing = 0, - }, - { - name = "energywind", - x = 8760, - z = 5400, - facing = 3, - }, - { - name = "energywind", - x = 8840, - z = 5464, - facing = 3, - }, - { - name = "energywind", - x = 8920, - z = 5528, - facing = 3, - }, - { - name = "energywind", - x = 9000, - z = 5592, - facing = 3, - }, - { - name = "energywind", - x = 8936, - z = 5672, - facing = 3, - }, - { - name = "energywind", - x = 8856, - z = 5736, - facing = 3, - }, - { - name = "energywind", - x = 8776, - z = 5800, - facing = 3, - }, - { - name = "energywind", - x = 8840, - z = 5368, - facing = 3, - }, - { - name = "energywind", - x = 8920, - z = 5432, - facing = 3, - }, - { - name = "energywind", - x = 9000, - z = 5496, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 5688, - facing = 3, - }, - { - name = "energywind", - x = 8936, - z = 5752, - facing = 3, - }, - { - name = "energywind", - x = 8856, - z = 5816, - facing = 3, - }, - { - name = "energywind", - x = 7304, - z = 5656, - facing = 3, - }, - { - name = "energywind", - x = 7368, - z = 5576, - facing = 3, - }, - { - name = "energywind", - x = 7432, - z = 5496, - facing = 3, - }, - { - name = "energywind", - x = 7512, - z = 5416, - facing = 3, - }, - { - name = "energywind", - x = 7576, - z = 5336, - facing = 3, - }, - { - name = "energywind", - x = 7400, - z = 5720, - facing = 3, - }, - { - name = "energywind", - x = 7480, - z = 5784, - facing = 3, - }, - { - name = "energywind", - x = 7560, - z = 5848, - facing = 3, - }, - { - name = "energywind", - x = 8440, - z = 4616, - facing = 3, - }, - { - name = "energywind", - x = 8360, - z = 4552, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 4488, - facing = 3, - }, - { - name = "energywind", - x = 8200, - z = 4424, - facing = 3, - }, - { - name = "energywind", - x = 8216, - z = 4328, - facing = 3, - }, - { - name = "energywind", - x = 8264, - z = 4248, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 4168, - facing = 3, - }, - { - name = "energywind", - x = 8344, - z = 4088, - facing = 3, - }, - { - name = "energywind", - x = 8376, - z = 4008, - facing = 3, - }, - { - name = "energywind", - x = 8408, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 8376, - z = 4152, - facing = 3, - }, - { - name = "energywind", - x = 8328, - z = 4232, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 4312, - facing = 3, - }, - { - name = "energywind", - x = 8264, - z = 4392, - facing = 3, - }, - { - name = "energywind", - x = 8344, - z = 4440, - facing = 3, - }, - { - name = "energywind", - x = 8424, - z = 4504, - facing = 3, - }, - { - name = "energywind", - x = 8504, - z = 4568, - facing = 3, - }, - { - name = "energywind", - x = 7464, - z = 5640, - facing = 3, - }, - { - name = "energywind", - x = 7528, - z = 5560, - facing = 3, - }, - { - name = "energywind", - x = 7592, - z = 5480, - facing = 3, - }, - { - name = "energywind", - x = 7544, - z = 5704, - facing = 3, - }, - { - name = "energywind", - x = 7624, - z = 5768, - facing = 3, - }, - { - name = "staticcon", - x = 7176, - z = 5368, - facing = 3, - }, - { - name = "factoryspider", - x = 8088, - z = 3992, - facing = 3, - }, - { - name = "staticcon", - x = 8216, - z = 3992, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6744, - z = 5576, - facing = 3, - }, - { - name = "turretriot", - x = 6632, - z = 5336, - facing = 3, - }, - { - name = "turretriot", - x = 6664, - z = 5832, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7464, - z = 4392, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7448, - z = 3096, - facing = 3, - }, - { - name = "turretlaser", - x = 7504, - z = 3936, - facing = 3, - }, - { - name = "turretlaser", - x = 7504, - z = 3744, - facing = 3, - }, - { - name = "turretlaser", - x = 7296, - z = 2944, - facing = 3, - }, - { - name = "turretlaser", - x = 7344, - z = 4528, - facing = 3, - }, - { - name = "turretaaheavy", - x = 7888, - z = 4928, - facing = 3, - }, - { - name = "turretriot", - x = 7816, - z = 4840, - facing = 3, - }, - { - name = "turretriot", - x = 7816, - z = 5016, - facing = 3, - }, - { - name = "turretaaflak", - x = 7992, - z = 4728, - facing = 3, - }, - { - name = "turretaaflak", - x = 7992, - z = 5160, - facing = 3, - }, - { - name = "shieldcon", - x = 4824, - z = 2855, - facing = 3, - }, - { - name = "spideremp", - x = 4769, - z = 3913, - facing = 0, - }, - { - name = "spiderscout", - x = 6779, - z = 3385, - facing = 3, - }, - { - name = "spiderscout", - x = 7502, - z = 3673, - facing = 3, - }, - { - name = "shieldskirm", - x = 4792, - z = 4015, - facing = 0, - }, - { - name = "turretlaser", - x = 6960, - z = 5488, - facing = 3, - }, - { - name = "spidercon", - x = 4907, - z = 3193, - facing = 3, - }, - { - name = "shieldcon", - x = 6378, - z = 3216, - facing = 3, - }, - { - name = "staticradar", - x = 7424, - z = 5392, - facing = 3, - }, - { - name = "shieldcon", - x = 5356, - z = 4489, - facing = 3, - }, - { - name = "staticcon", - x = 8200, - z = 3944, - facing = 3, - }, - { - name = "spidercon", - x = 6239, - z = 4506, - facing = 2, - }, - { - name = "staticmex", - x = 5960, - z = 5640, - facing = 0, - }, - { - name = "staticstorage", - x = 7720, - z = 5480, - facing = 3, - }, - { - name = "shieldcon", - x = 8752, - z = 4569, - facing = 2, - }, - { - name = "spiderassault", - x = 7045, - z = 4046, - facing = 3, - }, - { - name = "spidercon", - x = 8431, - z = 2183, - facing = 3, - }, - { - name = "spiderassault", - x = 7086, - z = 4106, - facing = 3, - }, - { - name = "shieldassault", - x = 6609, - z = 4303, - facing = 1, - }, - { - name = "staticradar", - x = 5952, - z = 5696, - facing = 2, - }, - { - name = "spiderassault", - x = 5296, - z = 3546, - facing = 1, - }, - { - name = "staticcon", - x = 8200, - z = 4088, - facing = 3, - }, - { - name = "energysolar", - x = 7272, - z = 3848, - facing = 3, - }, - { - name = "shieldassault", - x = 6638, - z = 4331, - facing = 2, - }, - { - name = "staticstorage", - x = 7592, - z = 5272, - facing = 3, - }, - { - name = "staticcon", - x = 8232, - z = 4040, - facing = 3, - }, - { - name = "energysolar", - x = 6040, - z = 5672, - facing = 2, - }, - { - name = "spidercon", - x = 5937, - z = 3478, - facing = 3, - }, - { - name = "energysolar", - x = 7688, - z = 5384, - facing = 3, - }, - { - name = "energysolar", - x = 8504, - z = 3976, - facing = 3, - }, - { - name = "spiderassault", - x = 6681, - z = 4327, - facing = 3, - }, - { - name = "spidercon", - x = 8825, - z = 4411, - facing = 0, - }, - { - name = "staticradar", - x = 6752, - z = 3584, - facing = 3, - }, - { - name = "shieldassault", - x = 5331, - z = 5065, - facing = 1, - }, - { - name = "spiderassault", - x = 6555, - z = 4254, - facing = 3, - }, - { - name = "spiderassault", - x = 6650, - z = 4293, - facing = 3, - }, - { - name = "staticcon", - x = 8264, - z = 3992, - facing = 3, - }, - { - name = "shieldskirm", - x = 5478, - z = 5100, - facing = 3, - }, - { - name = "shieldskirm", - x = 5554, - z = 5171, - facing = 2, - }, - { - name = "spiderscout", - x = 4576, - z = 2840, - facing = 2, - }, - { - name = "spiderscout", - x = 6327, - z = 4614, - facing = 0, - }, - { - name = "spiderassault", - x = 6619, - z = 4261, - facing = 3, - }, - { - name = "energysolar", - x = 8584, - z = 4696, - facing = 3, - }, - { - name = "spiderassault", - x = 6664, - z = 4253, - facing = 3, - }, - { - name = "shieldassault", - x = 5289, - z = 5066, - facing = 1, - }, - { - name = "spiderscout", - x = 7277, - z = 3666, - facing = 0, - }, - { - name = "spidercon", - x = 6033, - z = 3153, - facing = 3, - }, - { - name = "staticcon", - x = 8248, - z = 3944, - facing = 3, - }, - { - name = "spiderassault", - x = 6512, - z = 4252, - facing = 3, - }, - { - name = "shieldassault", - x = 5637, - z = 5195, - facing = 3, - }, - { - name = "staticmex", - x = 6008, - z = 3640, - facing = 0, - }, - { - name = "shieldassault", - x = 6662, - z = 4365, - facing = 2, - }, - { - name = "spideremp", - x = 6639, - z = 4221, - facing = 1, - }, - { - name = "turretlaser", - x = 7024, - z = 5088, - facing = 3, - }, - { - name = "spideremp", - x = 6694, - z = 4289, - facing = 3, - }, - { - name = "spiderscout", - x = 6592, - z = 3678, - facing = 0, - }, - { - name = "shieldcon", - x = 6356, - z = 5309, - facing = 3, - }, - { - name = "energysolar", - x = 5944, - z = 3640, - facing = 3, - }, - { - name = "spiderscout", - x = 6957, - z = 4365, - facing = 0, - }, - { - name = "spiderscout", - x = 7123, - z = 3541, - facing = 1, - }, - { - name = "spiderscout", - x = 6997, - z = 4333, - facing = 0, - }, - { - name = "shieldraid", - x = 6634, - z = 5208, - facing = 3, - }, - { - name = "spiderscout", - x = 7369, - z = 4233, - facing = 3, - }, - { - name = "spiderscout", - x = 7856, - z = 3697, - facing = 3, - }, - { - name = "shieldfelon", - x = 6988, - z = 5296, - facing = 3, - buildProgress = 0.1655, - }, - { - name = "staticmex", - x = 4728, - z = 2840, - facing = 0, - buildProgress = 0.2888, - }, - { - name = "spiderriot", - x = 8052, - z = 3992, - facing = 3, - buildProgress = 0.97970003, - }, - { - name = "staticmex", - x = 4728, - z = 3272, - facing = 0, - buildProgress = 0.1833, - }, - } - }, - { - startX = 2000, - startZ = 2000, - humanName = "Quatuiey", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - bonusObjectiveID = 2, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - --"jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - }, - difficultyDependantUnlocks = { - [3] = {"jumpsumo"}, - [4] = {"jumpsumo"}, - }, - commanderLevel = 7, - commander = { - name = "Tessica", - chassis = "strike", - modules = { - "commweapon_shotgun", - "commweapon_disintegrator", - "module_personal_cloak", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "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_high_power_servos", - "module_high_power_servos", - } - }, - startUnits = { - { - name = "staticmex", - x = 504, - z = 840, - facing = 0, - }, - { - name = "staticmex", - x = 200, - z = 520, - facing = 0, - }, - { - name = "staticmex", - x = 488, - z = 232, - facing = 0, - }, - { - name = "staticmex", - x = 1544, - z = 296, - facing = 0, - }, - { - name = "staticmex", - x = 1720, - z = 632, - facing = 0, - }, - { - name = "staticmex", - x = 2056, - z = 312, - facing = 0, - }, - { - name = "staticmex", - x = 2440, - z = 776, - facing = 0, - }, - { - name = "staticmex", - x = 2056, - z = 2072, - facing = 0, - }, - { - name = "staticmex", - x = 1112, - z = 2120, - facing = 0, - }, - { - name = "staticmex", - x = 792, - z = 2392, - facing = 0, - }, - { - name = "staticmex", - x = 792, - z = 1800, - facing = 0, - }, - { - name = "staticmex", - x = 2728, - z = 1672, - facing = 1, - }, - { - name = "staticmex", - x = 2616, - z = 2680, - facing = 1, - }, - { - name = "staticmex", - x = 216, - z = 3464, - facing = 1, - }, - { - name = "staticmex", - x = 232, - z = 3032, - facing = 1, - }, - { - name = "staticmex", - x = 600, - z = 3240, - facing = 1, - }, - { - name = "energypylon", - x = 360, - z = 584, - facing = 1, - }, - { - name = "turretaaclose", - x = 424, - z = 3592, - facing = 1, - }, - { - name = "energyfusion", - x = 64, - z = 696, - facing = 1, - }, - { - name = "energyfusion", - x = 64, - z = 824, - facing = 1, - }, - { - name = "energyfusion", - x = 48, - z = 3320, - facing = 1, - }, - { - name = "energyfusion", - x = 48, - z = 3176, - facing = 1, - }, - { - name = "energyfusion", - x = 672, - z = 2120, - facing = 1, - }, - { - name = "energypylon", - x = 904, - z = 2088, - facing = 1, - }, - { - name = "staticcon", - x = 1144, - z = 2296, - facing = 1, - }, - { - name = "factoryspider", - x = 1304, - z = 2312, - facing = 1, - }, - { - name = "staticcon", - x = 1144, - z = 2376, - facing = 1, - }, - { - name = "staticcon", - x = 2072, - z = 696, - facing = 1, - }, - { - name = "staticcon", - x = 2072, - z = 600, - facing = 1, - }, - { - name = "factoryjump", - x = 2200, - z = 472, - facing = 1, - }, - { - name = "turretaafar", - x = 768, - z = 3216, - facing = 1, - }, - { - name = "turretaaclose", - x = 408, - z = 2904, - facing = 1, - }, - { - name = "energypylon", - x = 136, - z = 3240, - facing = 1, - }, - { - name = "staticcon", - x = 280, - z = 3272, - facing = 1, - }, - { - name = "staticnuke", - x = 416, - z = 3264, - facing = 2, - }, - { - name = "turretriot", - x = 232, - z = 2792, - facing = 2, - }, - { - name = "turretriot", - x = 216, - z = 3704, - facing = 0, - }, - { - name = "turretriot", - x = 616, - z = 3480, - facing = 1, - }, - { - name = "turretriot", - x = 616, - z = 2984, - facing = 1, - }, - { - name = "turretriot", - x = 680, - z = 760, - facing = 1, - }, - { - name = "turretriot", - x = 744, - z = 344, - facing = 1, - }, - { - name = "turretheavylaser", - x = 632, - z = 520, - facing = 1, - }, - { - name = "turretaalaser", - x = 344, - z = 872, - facing = 1, - }, - { - name = "turretlaser", - x = 1888, - z = 2944, - facing = 1, - }, - { - name = "turretlaser", - x = 1744, - z = 2608, - facing = 1, - }, - { - name = "turretlaser", - x = 1680, - z = 2304, - facing = 1, - }, - { - name = "turretlaser", - x = 1744, - z = 1872, - facing = 1, - }, - { - name = "turretlaser", - x = 1936, - z = 1424, - facing = 1, - }, - { - name = "turretaafar", - x = 2496, - z = 976, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2632, - z = 760, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2648, - z = 280, - facing = 1, - }, - { - name = "turretemp", - x = 2768, - z = 192, - facing = 1, - }, - { - name = "turretemp", - x = 2784, - z = 800, - facing = 1, - }, - { - name = "turretlaser", - x = 2176, - z = 1152, - facing = 1, - }, - { - name = "turretlaser", - x = 2096, - z = 3184, - facing = 1, - }, - { - name = "turretaaclose", - x = 1368, - z = 2072, - facing = 1, - }, - { - name = "staticmex", - x = 3352, - z = 2408, - facing = 1, - }, - { - name = "staticmex", - x = 3368, - z = 1944, - facing = 1, - }, - { - name = "energygeo", - x = 3480, - z = 2184, - facing = 1, - }, - { - name = "energywind", - x = 3400, - z = 2024, - facing = 1, - }, - { - name = "energywind", - x = 3400, - z = 2344, - facing = 1, - }, - { - name = "turretaaclose", - x = 3608, - z = 2088, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3912, - z = 2152, - facing = 1, - }, - { - name = "turretlaser", - x = 3808, - z = 1888, - facing = 1, - }, - { - name = "turretlaser", - x = 3680, - z = 2352, - facing = 1, - }, - { - name = "turretaalaser", - x = 3304, - z = 2184, - facing = 1, - }, - { - name = "turretmissile", - x = 3120, - z = 2368, - facing = 1, - }, - { - name = "turretmissile", - x = 3168, - z = 2016, - facing = 1, - }, - { - name = "jumparty", - x = 1284, - z = 775, - facing = 3, - }, - { - name = "spiderriot", - x = 3969, - z = 2937, - facing = 1, - }, - { - name = "jumpskirm", - x = 3969, - z = 2801, - facing = 0, - }, - { - name = "energypylon", - x = 2392, - z = 1880, - facing = 1, - }, - { - name = "spidercon", - x = 600, - z = 1539, - facing = 0, - }, - { - name = "jumpcon", - x = 3338, - z = 512, - facing = 1, - }, - { - name = "jumpskirm", - x = 4039, - z = 2899, - facing = 0, - }, - { - name = "turretlaser", - x = 1184, - z = 2112, - facing = 1, - }, - { - name = "jumpassault", - x = 4017, - z = 3128, - facing = 1, - }, - { - name = "spiderscout", - x = 5920, - z = 4225, - facing = 2, - }, - { - name = "turretlaser", - x = 752, - z = 2016, - facing = 1, - }, - { - name = "staticstorage", - x = 1944, - z = 2088, - facing = 1, - }, - { - name = "spidercon", - x = 740, - z = 5200, - facing = 1, - }, - { - name = "turretlaser", - x = 1792, - z = 464, - facing = 1, - }, - { - name = "spidercon", - x = 2241, - z = 4345, - facing = 1, - }, - { - name = "staticcon", - x = 2024, - z = 456, - facing = 0, - }, - { - name = "spidercon", - x = 2213, - z = 1263, - facing = 0, - }, - { - name = "jumpassault", - x = 4047, - z = 2852, - facing = 0, - }, - { - name = "spidercon", - x = 3330, - z = 4114, - facing = 0, - }, - { - name = "staticcon", - x = 1976, - z = 456, - facing = 0, - }, - { - name = "spidercon", - x = 3499, - z = 1141, - facing = 1, - }, - { - name = "spidercon", - x = 3268, - z = 2112, - facing = 1, - }, - { - name = "turretlaser", - x = 224, - z = 3072, - facing = 1, - }, - { - name = "turretlaser", - x = 1296, - z = 3936, - facing = 1, - }, - { - name = "staticradar", - x = 2608, - z = 1728, - facing = 1, - }, - { - name = "staticradar", - x = 512, - z = 3024, - facing = 1, - }, - { - name = "energypylon", - x = 2440, - z = 552, - facing = 0, - }, - { - name = "turretlaser", - x = 2336, - z = 3456, - facing = 1, - }, - { - name = "spidercon", - x = 3295, - z = 652, - facing = 2, - }, - { - name = "spiderscout", - x = 5854, - z = 4134, - facing = 2, - }, - { - name = "spiderscout", - x = 5844, - z = 4277, - facing = 2, - }, - { - name = "spiderscout", - x = 5909, - z = 3722, - facing = 2, - }, - { - name = "jumpraid", - x = 3101, - z = 2977, - facing = 3, - }, - { - name = "turretlaser", - x = 2304, - z = 736, - facing = 0, - }, - { - name = "spidercon", - x = 2177, - z = 1241, - facing = 0, - }, - { - name = "turretlaser", - x = 2768, - z = 1712, - facing = 1, - }, - { - name = "turretlaser", - x = 1056, - z = 2304, - facing = 1, - }, - { - name = "jumpraid", - x = 3840, - z = 2992, - facing = 2, - }, - { - name = "energysolar", - x = 2280, - z = 1352, - facing = 1, - }, - { - name = "spiderassault", - x = 3405, - z = 2962, - facing = 1, - }, - { - name = "staticcon", - x = 2008, - z = 408, - facing = 0, - }, - { - name = "spiderassault", - x = 3164, - z = 2879, - facing = 1, - }, - { - name = "jumpassault", - x = 2648, - z = 1348, - facing = 1, - patrolRoute = { - {2664, 1270}, - {2662, 1334}, - }, - }, - { - name = "energysolar", - x = 2360, - z = 984, - facing = 1, - }, - { - name = "staticradar", - x = 656, - z = 672, - facing = 1, - }, - { - name = "energysolar", - x = 2184, - z = 1000, - facing = 1, - }, - { - name = "energysolar", - x = 1720, - z = 4104, - facing = 1, - }, - { - name = "turretlaser", - x = 336, - z = 5584, - facing = 1, - }, - { - name = "energysolar", - x = 2264, - z = 1000, - facing = 1, - }, - { - name = "jumpskirm", - x = 2366, - z = 751, - facing = 0, - }, - { - name = "spiderscout", - x = 3560, - z = 2668, - facing = 0, - }, - { - name = "spiderscout", - x = 2839, - z = 2591, - facing = 1, - }, - { - name = "energysolar", - x = 2088, - z = 1064, - facing = 1, - }, - { - name = "staticmex", - x = 3448, - z = 504, - facing = 0, - buildProgress = 0.88660002, - }, - { - name = "energysolar", - x = 2184, - z = 1384, - facing = 1, - }, - { - name = "spiderscout", - x = 2476, - z = 2467, - facing = 1, - }, - { - name = "spidercon", - x = 1340, - z = 2312, - facing = 1, - buildProgress = 0.52160001, - }, - { - name = "energysolar", - x = 2104, - z = 1432, - facing = 1, - }, - { - name = "jumpraid", - x = 2224, - z = 472, - facing = 1, - buildProgress = 0.59539998, - }, - { - name = "turretlaser", - x = 2432, - z = 4400, - facing = 1, - buildProgress = 0.15549999, - }, - } - }, - { - humanName = "Babbas", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - --"cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - }, - difficultyDependantUnlocks = { - [3] = {"cloakaa"}, - [4] = {"cloakaa"}, - }, - midgameUnits = { - { - name = "amphassault", - x = 1450, - z = 2800, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 1450, - z = 2800, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "amphassault", - x = 1450, - z = 2800, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "amphassault", - x = 1450, - z = 2800, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 168, - z = 5576, - facing = 0, - }, - { - name = "staticmex", - x = 392, - z = 5832, - facing = 0, - }, - { - name = "staticmex", - x = 392, - z = 5192, - facing = 0, - }, - { - name = "staticmex", - x = 1304, - z = 5368, - facing = 0, - }, - { - name = "staticmex", - x = 1544, - z = 5560, - facing = 0, - }, - { - name = "staticmex", - x = 1544, - z = 5096, - facing = 0, - }, - { - name = "staticmex", - x = 1160, - z = 4216, - facing = 0, - }, - { - name = "staticmex", - x = 1624, - z = 4008, - facing = 0, - }, - { - name = "staticmex", - x = 1208, - z = 3704, - facing = 0, - }, - { - name = "staticmex", - x = 2376, - z = 3432, - facing = 0, - }, - { - name = "staticmex", - x = 2440, - z = 4344, - facing = 0, - }, - { - name = "staticmex", - x = 2600, - z = 5528, - facing = 1, - }, - { - name = "energyfusion", - x = 64, - z = 5352, - facing = 1, - }, - { - name = "energygeo", - x = 712, - z = 4264, - facing = 3, - }, - { - name = "energyfusion", - x = 64, - z = 5192, - facing = 1, - }, - { - name = "energypylon", - x = 1128, - z = 4056, - facing = 1, - }, - { - name = "energypylon", - x = 472, - z = 5480, - facing = 1, - }, - { - name = "energypylon", - x = 1320, - z = 5224, - facing = 1, - }, - { - name = "staticcon", - x = 1208, - z = 4712, - facing = 1, - }, - { - name = "factoryshield", - x = 1352, - z = 4736, - facing = 1, - }, - { - name = "staticcon", - x = 1208, - z = 4616, - facing = 1, - }, - { - name = "staticcon", - x = 1528, - z = 3448, - facing = 1, - }, - { - name = "staticcon", - x = 1528, - z = 3544, - facing = 1, - }, - { - name = "factoryamph", - x = 1656, - z = 3528, - facing = 1, - }, - { - name = "factorycloak", - x = 1440, - z = 5848, - facing = 1, - }, - { - name = "turretheavylaser", - x = 600, - z = 5560, - facing = 1, - }, - { - name = "turretriot", - x = 600, - z = 5368, - facing = 1, - }, - { - name = "turretriot", - x = 648, - z = 5736, - facing = 1, - }, - { - name = "turretaaflak", - x = 312, - z = 5384, - facing = 1, - }, - { - name = "staticcon", - x = 1256, - z = 5832, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1768, - z = 5656, - facing = 1, - }, - { - name = "turretriot", - x = 1832, - z = 5496, - facing = 1, - }, - { - name = "turretaaclose", - x = 1560, - z = 5688, - facing = 1, - }, - { - name = "turretriot", - x = 1784, - z = 5048, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1784, - z = 4904, - facing = 1, - }, - { - name = "turretemp", - x = 2624, - z = 3760, - facing = 1, - }, - { - name = "turretemp", - x = 2624, - z = 4048, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2536, - z = 3912, - facing = 1, - }, - { - name = "turretriot", - x = 2664, - z = 3608, - facing = 1, - }, - { - name = "turretriot", - x = 2680, - z = 4184, - facing = 1, - }, - { - name = "turretaafar", - x = 2240, - z = 3936, - facing = 1, - }, - { - name = "turretaaclose", - x = 1688, - z = 3704, - facing = 1, - }, - { - name = "energygeo", - x = 3464, - z = 5480, - facing = 1, - }, - { - name = "staticmex", - x = 3336, - z = 5192, - facing = 1, - }, - { - name = "staticmex", - x = 3256, - z = 5640, - facing = 1, - }, - { - name = "energywind", - x = 3304, - z = 5576, - facing = 1, - }, - { - name = "energywind", - x = 3384, - z = 5288, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3752, - z = 5512, - facing = 1, - }, - { - name = "turretlaser", - x = 3712, - z = 5184, - facing = 1, - }, - { - name = "turretlaser", - x = 3664, - z = 5792, - facing = 1, - }, - { - name = "turretaaclose", - x = 3464, - z = 5688, - facing = 1, - }, - { - name = "turretaalaser", - x = 3288, - z = 5400, - facing = 1, - }, - { - name = "turretmissile", - x = 3184, - z = 5184, - facing = 1, - }, - { - name = "turretmissile", - x = 3136, - z = 5616, - facing = 1, - }, - { - name = "shieldraid", - x = 3855, - z = 3912, - facing = 2, - }, - { - name = "amphraid", - x = 4870, - z = 4960, - facing = 1, - patrolRoute = { - {4848, 4974}, - {4904, 4943}, - }, - }, - { - name = "cloakraid", - x = 4870, - z = 4992, - facing = 0, - patrolRoute = { - {4848, 4974}, - {4855, 5037}, - }, - }, - { - name = "shieldriot", - x = 4618, - z = 4211, - facing = 0, - }, - { - name = "amphcon", - x = 3432, - z = 3994, - facing = 0, - }, - { - name = "cloakcon", - x = 3043, - z = 4716, - facing = 2, - }, - { - name = "shieldskirm", - x = 2826, - z = 4767, - facing = 1, - }, - { - name = "shieldcon", - x = 4021, - z = 4282, - facing = 3, - }, - { - name = "cloakriot", - x = 4582, - z = 4215, - facing = 1, - }, - { - name = "shieldskirm", - x = 4675, - z = 4179, - facing = 3, - }, - { - name = "turretlaser", - x = 1328, - z = 4528, - facing = 1, - }, - { - name = "staticstorage", - x = 1528, - z = 5144, - facing = 1, - }, - { - name = "amphcon", - x = 3881, - z = 2622, - facing = 2, - }, - { - name = "energypylon", - x = 2504, - z = 2952, - facing = 1, - }, - { - name = "cloakraid", - x = 4839, - z = 4984, - facing = 2, - patrolRoute = { - {4785, 4985}, - {4848, 4974}, - }, - }, - { - name = "amphcon", - x = 3032, - z = 4175, - facing = 3, - }, - { - name = "shieldassault", - x = 4656, - z = 4211, - facing = 3, - }, - { - name = "cloakriot", - x = 4695, - z = 4200, - facing = 3, - }, - { - name = "staticradar", - x = 1568, - z = 5280, - facing = 1, - }, - { - name = "amphcon", - x = 1721, - z = 4699, - facing = 1, - }, - { - name = "shieldcon", - x = 1813, - z = 4771, - facing = 2, - }, - { - name = "staticradar", - x = 2272, - z = 3616, - facing = 1, - }, - { - name = "amphraid", - x = 4834, - z = 4937, - facing = 0, - patrolRoute = { - {4826, 4913}, - {4848, 4974}, - }, - }, - { - name = "cloakskirm", - x = 4668, - z = 4161, - facing = 1, - }, - { - name = "shieldcon", - x = 3407, - z = 3615, - facing = 2, - }, - { - name = "energywind", - x = 2440, - z = 2424, - facing = 1, - }, - { - name = "cloakraid", - x = 3488, - z = 3630, - facing = 2, - }, - { - name = "cloakriot", - x = 4638, - z = 4241, - facing = 2, - }, - { - name = "amphcon", - x = 3620, - z = 3035, - facing = 2, - }, - { - name = "shieldcon", - x = 3962, - z = 2661, - facing = 1, - }, - { - name = "amphfloater", - x = 3505, - z = 3401, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3403, 3417}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3352, 3456}, options = {"shift"}}, - }, - }, - { - name = "staticstorage", - x = 1528, - z = 4984, - facing = 1, - }, - { - name = "shieldcon", - x = 2976, - z = 4246, - facing = 2, - }, - { - name = "cloakcon", - x = 3817, - z = 4333, - facing = 1, - }, - { - name = "energypylon", - x = 2312, - z = 4152, - facing = 1, - }, - { - name = "cloakcon", - x = 3735, - z = 3983, - facing = 1, - }, - { - name = "staticmex", - x = 3704, - z = 4712, - facing = 0, - }, - { - name = "amphraid", - x = 4813, - z = 4977, - facing = 0, - patrolRoute = { - {4848, 4974}, - {4798, 5014}, - }, - }, - { - name = "shieldraid", - x = 3630, - z = 3796, - facing = 1, - }, - { - name = "staticmex", - x = 2824, - z = 4904, - facing = 0, - }, - { - name = "amphfloater", - x = 3451, - z = 3415, - facing = 3, - patrolRoute = { - {3405, 3481}, - {3403, 3417}, - }, - }, - { - name = "staticcon", - x = 1304, - z = 5848, - facing = 1, - }, - { - name = "amphfloater", - x = 3488, - z = 3436, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3403, 3417}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3412, 3480}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 3352, - z = 3816, - facing = 0, - }, - { - name = "turretlaser", - x = 3728, - z = 4592, - facing = 2, - }, - { - name = "turretlaser", - x = 2720, - z = 5136, - facing = 2, - }, - { - name = "energysolar", - x = 2408, - z = 3592, - facing = 1, - }, - { - name = "amphfloater", - x = 3398, - z = 3421, - facing = 1, - patrolRoute = { - {3403, 3417}, - {3363, 3466}, - }, - }, - { - name = "turretlaser", - x = 3216, - z = 3776, - facing = 1, - }, - { - name = "shieldcon", - x = 3392, - z = 4217, - facing = 2, - }, - { - name = "cloakskirm", - x = 3609, - z = 4709, - facing = 1, - }, - { - name = "energywind", - x = 2520, - z = 3464, - facing = 1, - }, - { - name = "turretlaser", - x = 1328, - z = 4944, - facing = 1, - }, - { - name = "shieldassault", - x = 3341, - z = 4821, - facing = 1, - }, - { - name = "energywind", - x = 2536, - z = 3576, - facing = 1, - }, - { - name = "cloakraid", - x = 3541, - z = 3724, - facing = 2, - }, - { - name = "amphfloater", - x = 3106, - z = 3546, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3403, 3417}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3379, 3357}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 3528, - z = 4264, - facing = 2, - }, - { - name = "cloakskirm", - x = 3024, - z = 4786, - facing = 2, - }, - { - name = "shieldskirm", - x = 2875, - z = 4768, - facing = 1, - }, - { - name = "amphfloater", - x = 2709, - z = 3774, - facing = 1, - }, - { - name = "cloakskirm", - x = 2744, - z = 4874, - facing = 2, - }, - { - name = "shieldfelon", - x = 1526, - z = 4756, - facing = 1, - }, - { - name = "amphraid", - x = 3116, - z = 3677, - facing = 0, - }, - { - name = "cloakraid", - x = 2650, - z = 4900, - facing = 2, - }, - { - name = "energysolar", - x = 1704, - z = 4808, - facing = 1, - }, - { - name = "amphraid", - x = 2538, - z = 3648, - facing = 1, - }, - { - name = "cloakraid", - x = 2288, - z = 5401, - facing = 1, - }, - { - name = "cloakskirm", - x = 1797, - z = 5772, - facing = 1, - }, - { - name = "amphraid", - x = 2065, - z = 3551, - facing = 1, - }, - { - name = "energysolar", - x = 2936, - z = 4136, - facing = 1, - }, - { - name = "shieldskirm", - x = 1364, - z = 4736, - facing = 1, - buildProgress = 0.96109998, - }, - { - name = "energysolar", - x = 1832, - z = 4664, - facing = 1, - buildProgress = 0.75950003, - }, - { - name = "amphfloater", - x = 1692, - z = 3528, - facing = 1, - buildProgress = 0.1288, - }, - { - name = "cloakskirm", - x = 1449, - z = 5848, - facing = 1, - buildProgress = 0.1629, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryshield", - "factoryjump", - "factoryspider", - "factoryamph", - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyByTime = 12*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "staticnuke", - }, - image = planetUtilities.ICON_DIR .. "staticnuke.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Find and destroy the enemy Trinity before 12:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - satisfyByTime = 12*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "strike.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy commander before 12:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "bomberheavy", - }, - modules = { - "module_battle_drone_LIMIT_B_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet36.lua b/campaign/dev/planets/planet36.lua deleted file mode 100644 index d7e1f9478..000000000 --- a/campaign/dev/planets/planet36.lua +++ /dev/null @@ -1,592 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/swamp02.png" - - local planetData = { - name = "Mstaras", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.28, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.07, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "5110 km", - primary = "Jazada", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24510", - text = [[Use the fast-moving Locust raider gunships to curtail your opponent's expansion, then Nimbus support gunships to finish them off.]] - }, - tips = { - { - image = "unitpics/gunshipcon.png", - text = [[Gunships are flying units which can hover in place and tend to move faster than land units. Anti-air units and turrets are most effective against Gunships, but most units with a fast-moving projectile or laser will also pose a threat.]] - }, - { - image = "unitpics/gunshipraid.png", - text = [[The Locust raider gunships will repair themselves if left alone for a little while, so try to retreat them when they become damaged. They are particularly vulnerable to enemy riots due to their low range.]] - }, - { - image = "unitpics/gunshipheavyskirm.png", - text = [[If the automatic strafing of your Locusts and Nimbuses is causing them to stray into range of enemy AA, you can disable this behaviour with the corresponding unit toggle.]] - }, - }, - gameConfig = { - mapName = "Trojan Hills v05", - playerConfig = { - startX = 4220, - startZ = 2300, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factorygunship", - "gunshipcon", - "gunshipraid", - "gunshipbomb", - "gunshipheavyskirm", - }, - startUnits = { - { - name = "staticradar", - x = 4208, - z = 2176, - facing = 0, - }, - { - name = "staticradar", - x = 4080, - z = 3200, - facing = 0, - }, - { - name = "factorygunship", - x = 4312, - z = 2840, - facing = 3, - }, - { - name = "staticmex", - x = 4360, - z = 2520, - facing = 0, - }, - { - name = "staticmex", - x = 4552, - z = 2904, - facing = 0, - }, - { - name = "staticmex", - x = 4296, - z = 3160, - facing = 0, - }, - { - name = "energywind", - x = 4360, - z = 3096, - facing = 0, - }, - { - name = "energywind", - x = 4440, - z = 3032, - facing = 0, - }, - { - name = "energywind", - x = 4504, - z = 2968, - facing = 0, - }, - { - name = "energywind", - x = 4424, - z = 2584, - facing = 0, - }, - { - name = "energywind", - x = 4488, - z = 2664, - facing = 0, - }, - { - name = "energywind", - x = 4552, - z = 2744, - facing = 0, - }, - { - name = "energywind", - x = 4584, - z = 2840, - facing = 0, - }, - { - name = "staticcon", - x = 4456, - z = 2856, - facing = 3, - selfPatrol = true, - }, - { - name = "gunshipraid", - x = 4160, - z = 2788, - facing = 0, - }, - { - name = "gunshipraid", - x = 4159, - z = 2891, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 1800, - startZ = 3600, - humanName = "Mountain Goats", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energywind", - "energysolar", - "staticradar", - "turretlaser", - "turretmissile", - "shieldcon", - "shieldraid", - "shieldskirm", - "shieldriot", - "shieldassault", - "shieldaa", - "shieldfelon", - }, - commanderLevel = 3, - commander = { - name = "Xylophone", - chassis = "recon", - decorations = { - }, - modules = { - "commweapon_shotgun", - "module_ablative_armor", - "module_ablative_armor", - "module_dmg_booster", - "module_high_power_servos", - "module_adv_targeting", - } - }, - midgameUnits = { - { - name = "shieldfelon", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 2*30*60, - difficultyAtLeast = 3, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 2*30*60, - difficultyAtLeast = 3, - orbitalDrop = true, - }, - { - name = "shieldfelon", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 5*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 5*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 5*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 5*30*60, - orbitalDrop = true, - }, - { - name = "shieldfelon", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "shieldaa", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "shieldassault", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "shieldassault", - x = 700, - z = 3600, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "staticmex", - x = 1672, - z = 3224, - facing = 0, - }, - { - name = "staticmex", - x = 1928, - z = 2920, - facing = 0, - }, - { - name = "staticmex", - x = 1864, - z = 3704, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 3128, - facing = 0, - }, - { - name = "energywind", - x = 1768, - z = 3032, - facing = 0, - }, - { - name = "energywind", - x = 1848, - z = 2968, - facing = 0, - }, - { - name = "energywind", - x = 1656, - z = 3320, - facing = 0, - }, - { - name = "energywind", - x = 1688, - z = 3432, - facing = 0, - }, - { - name = "energywind", - x = 1720, - z = 3528, - facing = 0, - }, - { - name = "energywind", - x = 1784, - z = 3624, - facing = 0, - }, - { - name = "turretaaclose", - x = 1880, - z = 3848, - facing = 1, - }, - { - name = "turretaaclose", - x = 1448, - z = 3128, - facing = 3, - }, - { - name = "turretaaclose", - x = 1720, - z = 2872, - facing = 1, - }, - { - name = "turretlaser", - x = 1312, - z = 3184, - facing = 3, - }, - { - name = "turretlaser", - x = 1440, - z = 3488, - facing = 3, - }, - { - name = "turretlaser", - x = 1856, - z = 2800, - facing = 2, - }, - { - name = "turretaalaser", - x = 1912, - z = 3576, - facing = 1, - }, - { - name = "staticcon", - x = 1880, - z = 3464, - facing = 2, - }, - { - name = "factoryshield", - x = 1856, - z = 3352, - facing = 2, - }, - { - name = "staticmex", - x = 168, - z = 2168, - facing = 0, - }, - { - name = "staticmex", - x = 2744, - z = 4456, - facing = 0, - }, - { - name = "staticmex", - x = 2696, - z = 536, - facing = 0, - }, - { - name = "turretlaser", - x = 2928, - z = 576, - facing = 1, - }, - { - name = "turretlaser", - x = 2784, - z = 4288, - facing = 2, - }, - { - name = "turretlaser", - x = 304, - z = 2144, - facing = 1, - }, - { - name = "shieldaa", - x = 1979, - z = 3238, - facing = 0, - }, - { - name = "shieldraid", - x = 2046, - z = 3298, - facing = 0, - }, - { - name = "shieldcon", - x = 1824, - z = 3200, - facing = 0, - }, - { - name = "shieldcon", - x = 1900, - z = 3200, - facing = 0, - }, - { - name = "shieldraid", - x = 2048, - z = 3254, - facing = 0, - }, - { - name = "shieldraid", - x = 1987, - z = 3165, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryshield", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 12 Banshees - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "gunshipraid", - }, - image = planetUtilities.ICON_DIR .. "gunshipraid.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 12 Locusts", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Prevent the enemy having more than twelve mex - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 12, - enemyUnitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Prevent the enemy from having more than 12 Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factorygunship", - "gunshipcon", - "gunshipraid", - "gunshipbomb", - "gunshipheavyskirm", - }, - modules = { - "module_adv_nano_LIMIT_E_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet37.lua b/campaign/dev/planets/planet37.lua deleted file mode 100644 index 7cc6b64ce..000000000 --- a/campaign/dev/planets/planet37.lua +++ /dev/null @@ -1,727 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/tundra03.png" - - local planetData = { - name = "Prasten", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.36, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.105, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Tundra", - radius = "4640 km", - primary = "Wipapra", - primaryType = "G7V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24510", - text = [[Expand to the mainland from your resource-poor island using Charon and Hercules transports, then use transports to create a highly mobile land army.]] - }, - tips = { - { - image = "unitpics/gunshiptrans.png", - text = [[The Charon can only transport light units but it is cheap and fast. Use them to reposition your slower, high-damage units (like Reavers) as required.]] - }, - { - image = "unitpics/gunshipheavytrans.png", - text = [[A Hercules can transport any land unit and all but the largest ships. The online manual contains more tips and tricks for commanding Tranports effectively using Embark, area commands and ferry routes.]] - }, - { - image = "unitpics/gunshipemp.png", - text = [[Gnat EMP gunships are too inaccurate to reliably hit raiders, but they are very effective at stunlocking medium-to-heavy units like Commanders.]] - }, - }, - gameConfig = { - mapName = "Iceland_v1", - playerConfig = { - startX = 3280, - startZ = 7425, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factorygunship", - "gunshipcon", - "gunshipraid", - "gunshipemp", - "gunshiptrans", - "gunshipheavytrans", - "energygeo", - }, - startUnits = { - { - name = "factorygunship", - x = 3672, - z = 7544, - facing = 0, - }, - { - name = "gunshipheavytrans", - x = 3280, - z = 7325, - facing = 0, - }, - { - name = "staticmex", - x = 3448, - z = 7544, - facing = 0, - }, - { - name = "cloakriot", - x = 3330, - z = 7625, - facing = 0, - }, - { - name = "cloakriot", - x = 3230, - z = 7625, - facing = 0, - }, - { - name = "cloakriot", - x = 3130, - z = 7625, - facing = 0, - }, - { - name = "cloakriot", - x = 3030, - z = 7625, - facing = 0, - }, - { - name = "vehcapture", - x = 3080, - z = 7600, - facing = 0, - }, - { - name = "vehcapture", - x = 3280, - z = 7600, - facing = 0, - }, - { - name = "gunshiptrans", - x = 3030, - z = 7525, - facing = 0, - }, - { - name = "gunshiptrans", - x = 3330, - z = 7525, - facing = 0, - }, - { - name = "gunshiptrans", - x = 3230, - z = 7525, - facing = 0, - }, - { - name = "gunshiptrans", - x = 3130, - z = 7525, - facing = 0, - }, - { - name = "gunshiptrans", - x = 3080, - z = 7550, - facing = 0, - }, - { - name = "gunshiptrans", - x = 3280, - z = 7550, - facing = 0, - }, - { - name = "gunshipcon", - x = 3080, - z = 7425, - facing = 2, - }, - { - name = "energysolar", - x = 3512, - z = 7560, - facing = 1, - }, - { - name = "energysolar", - x = 3432, - z = 7608, - facing = 0, - }, - { - name = "energysolar", - x = 3384, - z = 7528, - facing = 3, - }, - { - name = "energysolar", - x = 3464, - z = 7480, - facing = 2, - }, - { - name = "turretmissile", - x = 4032, - z = 7408, - facing = 2, - }, - { - name = "turretmissile", - x = 3600, - z = 7232, - facing = 2, - }, - { - name = "turretmissile", - x = 3056, - z = 7472, - facing = 3, - }, - { - name = "staticradar", - x = 3232, - z = 7136, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 6194, - startZ = 1143, - humanName = "Lawbringers", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticradar", - "energysolar", - "energywind", - "staticmex", - -- no cloakcon is intentional - "cloakraid", - "cloakskirm", - "cloakriot", - -- no cloakaa is also intentional - "shieldcon", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - "shieldaa", - "shieldbomb", - }, - commanderLevel = 4, - commander = { - name = "Justicar", - chassis = "strike", - decorations = { - }, - modules = { - "commweapon_heavymachinegun", - "commweapon_missilelauncher", - "module_autorepair", - "module_ablative_armor", - "module_adv_nano", - "module_high_power_servos", - "module_adv_nano", - "module_resurrect", - } - }, - startUnits = { - { - name = "factorycloak", - x = 4184, - z = 2448, - facing = 0, - }, - { - name = "factoryshield", - x = 6512, - z = 1816, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6424, - z = 1616, - facing = 2, - }, - { - name = "turretriot", - x = 6364, - z = 1937, - facing = 3, - }, - { - name = "turretriot", - x = 6666, - z = 1860, - facing = 1, - }, - { - name = "turretlaser", - x = 4144, - z = 5904, - facing = 0, - }, - { - name = "turretriot", - x = 3975, - z = 2708, - facing = 0, - }, - { - name = "turretriot", - x = 4563, - z = 2129, - facing = 0, - }, - { - name = "turretlaser", - x = 3920, - z = 5696, - facing = 3, - }, - { - name = "staticradar", - x = 4080, - z = 5728, - facing = 3, - }, - { - name = "turretlaser", - x = 1728, - z = 6864, - facing = 0, - }, - { - name = "turretmissile", - x = 1328, - z = 6624, - facing = 3, - }, - { - name = "turretlaser", - x = 5264, - z = 6704, - facing = 0, - }, - { - name = "turretmissile", - x = 1776, - z = 6336, - facing = 2, - }, - { - name = "staticradar", - x = 1616, - z = 6592, - facing = 2, - }, - { - name = "staticradar", - x = 6672, - z = 6656, - facing = 0, - }, - { - name = "turretlaser", - x = 6560, - z = 6560, - facing = 3, - }, - { - name = "turretlaser", - x = 6704, - z = 6784, - facing = 0, - }, - { - name = "turretlaser", - x = 1024, - z = 5408, - facing = 0, - }, - { - name = "staticradar", - x = 1648, - z = 4096, - facing = 0, - }, - { - name = "turretmissile", - x = 1808, - z = 4160, - facing = 0, - }, - { - name = "staticradar", - x = 6336, - z = 3968, - facing = 0, - }, - { - name = "turretlaser", - x = 6464, - z = 4016, - facing = 0, - }, - { - name = "turretmissile", - x = 896, - z = 3552, - facing = 0, - }, - { - name = "turretlaser", - x = 992, - z = 3456, - facing = 0, - }, - { - name = "turretlaser", - x = 6960, - z = 4992, - facing = 0, - }, - { - name = "turretmissile", - x = 1136, - z = 3312, - facing = 0, - }, - { - name = "turretlaser", - x = 7392, - z = 4560, - facing = 3, - buildProgress = 0.0916, - }, - { - name = "turretriot", - x = 2776, - z = 3656, - facing = 0, - }, - { - name = "turretaalaser", - x = 3000, - z = 3576, - facing = 0, - }, - { - name = "turretaalaser", - x = 2648, - z = 3480, - facing = 0, - }, - { - name = "turretlaser", - x = 2992, - z = 3408, - facing = 1, - }, - { - name = "turretaaclose", - x = 5624, - z = 4600, - facing = 0, - }, - { - name = "turretaaclose", - x = 5896, - z = 4712, - facing = 0, - }, - { - name = "turretlaser", - x = 2736, - z = 3344, - facing = 2, - }, - { - name = "turretemp", - x = 5664, - z = 4816, - facing = 0, - }, - { - name = "turretlaser", - x = 5552, - z = 4720, - facing = 3, - }, - { - name = "turretlaser", - x = 5792, - z = 4912, - facing = 1, - }, - { - name = "staticradar", - x = 1840, - z = 2112, - facing = 2, - }, - { - name = "turretmissile", - x = 5840, - z = 4576, - facing = 2, - }, - { - name = "staticmex", - x = 4136, - z = 2056, - facing = 0, - }, - { - name = "staticmex", - x = 4536, - z = 2456, - facing = 0, - }, - { - name = "energysolar", - x = 4232, - z = 2072, - facing = 0, - }, - { - name = "energysolar", - x = 3992, - z = 2056, - facing = 0, - }, - { - name = "energysolar", - x = 4104, - z = 2200, - facing = 0, - }, - { - name = "energysolar", - x = 4136, - z = 1944, - facing = 0, - }, - { - name = "turretaaclose", - x = 4296, - z = 2744, - facing = 0, - }, - { - name = "turretaalaser", - x = 4744, - z = 2248, - facing = 0, - }, - { - name = "turretaalaser", - x = 3896, - z = 2472, - facing = 0, - }, - { - name = "turretaaclose", - x = 4344, - z = 1960, - facing = 0, - }, - { - name = "turretmissile", - x = 1520, - z = 2000, - facing = 2, - }, - { - name = "turretmissile", - x = 5456, - z = 3360, - facing = 0, - }, - { - name = "turretmissile", - x = 2032, - z = 1808, - facing = 0, - }, - { - name = "staticradar", - x = 6368, - z = 1664, - facing = 0, - }, - { - name = "turretaaclose", - x = 6280, - z = 2040, - facing = 0, - }, - { - name = "turretaaclose", - x = 6792, - z = 1848, - facing = 0, - }, - { - name = "turretaalaser", - x = 6136, - z = 1752, - facing = 0, - }, - { - name = "turretaalaser", - x = 6760, - z = 1544, - facing = 0, - }, - { - name = "turretlaser", - x = 6304, - z = 1856, - facing = 0, - }, - { - name = "turretlaser", - x = 6704, - z = 1728, - facing = 0, - }, - { - name = "turretlaser", - x = 7104, - z = 2992, - facing = 0, - }, - { - name = "turretmissile", - x = 7328, - z = 2832, - facing = 1, - }, - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {3216, 7120, 3248, 7152}, - height = 250, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryshield", - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy both enemy factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 10 Gnats - satisfyOnce = true, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "gunshipemp", - }, - image = planetUtilities.ICON_DIR .. "gunshipemp.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 10 Gnats", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Control the enemy com - satisfyOnce = true, - capturedUnitsSatisfy = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "dynstrike3_00", - }, - image = planetUtilities.ICON_DIR .. "strike.png", - --imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Capture the enemy Commander", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Have a geo by 8:00 - satisfyByTime = 480, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "energygeo", - }, - image = planetUtilities.ICON_DIR .. "energygeo.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a Geothermal Generator by 8:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "gunshipemp", - "gunshiptrans", - "gunshipheavytrans", - }, - modules = { - "module_battle_drone_LIMIT_D_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet38.lua b/campaign/dev/planets/planet38.lua deleted file mode 100644 index 5757ddc5a..000000000 --- a/campaign/dev/planets/planet38.lua +++ /dev/null @@ -1,475 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/desert03.png" - - local planetData = { - name = "Rasia", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.41, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.035, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Desert", - radius = "7540 km", - primary = "Jassa Minor", - primaryType = "M2V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24510", - text = [[In addition to your opponent, this time you'll have to deal with the charming local fauna as well - this planet is infested with chickens. You'll have to manage both threats to be victorious.]] - }, - tips = { - { - image = "unitpics/chicken.png", - text = [[On this planet 'Chickens' will spawn from roosts to roam the battlefield and attack anything they encounter. They cannot be completely stopped but you can limit the damage with well-placed turrets.]] - }, - { - image = "unitpics/roost.png", - text = [[Destroying Chicken Roosts will prevent chickens from spawning at that location, and will set back their evolution. However it will also make the hive angrier, and more Roosts will be spawned elsewhere.]] - }, - { - image = "unitpics/gunshipskirm.png", - text = [[The Harpy skirmisher gunship will slow down both the chickens and your opponent's units with disruptor missiles. Their conventional damage output is average at best but once the enemy is crippled and slow they can be dispatched at leisure.]] - }, - }, - gameConfig = { - mapName = "Cattle and Loveplay NO WORMS 1", - modoptions = { - chicken_nominiqueen = 1, - chicken_minaggro = 0, -- aggro influences chicken tech-up rate (and queen time reduction from killing burrows, but queens are disabled here) - chicken_maxaggro = 0, - chicken_maxtech = 30*60, -- stops before Sporeshooter/Talon - chicken_endless = 1, - chicken_hidepanel = 1, - chicken_nowavemessages = 1, - }, - playerConfig = { - startX = 1415, - startZ = 1970, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factorygunship", - "gunshipcon", - "gunshipraid", - "gunshipskirm", - "gunshipassault", - }, - startUnits = { - { - name = "staticmex", - x = 984, - z = 1288, - facing = 0, - }, - { - name = "staticmex", - x = 904, - z = 1032, - facing = 0, - }, - { - name = "staticmex", - x = 1208, - z = 1112, - facing = 0, - }, - { - name = "energysolar", - x = 1080, - z = 1048, - facing = 0, - }, - { - name = "turretlaser", - x = 1744, - z = 1792, - facing = 1, - }, - { - name = "energysolar", - x = 952, - z = 1160, - facing = 0, - }, - { - name = "turretlaser", - x = 1744, - z = 2224, - facing = 1, - }, - { - name = "factorygunship", - x = 1336, - z = 1464, - facing = 0, - }, - { - name = "turretlaser", - x = 1040, - z = 1632, - facing = 3, - }, - { - name = "turretlaser", - x = 1152, - z = 2096, - facing = 3, - }, - { - name = "staticradar", - x = 1536, - z = 976, - facing = 0, - }, - { - name = "staticradar", - x = 1600, - z = 2736, - facing = 0, - }, - { - name = "gunshipskirm", - x = 1300, - z = 2100, - facing = 0, - }, - { - name = "gunshipskirm", - x = 1500, - z = 2100, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 7910, - startZ = 1624, - humanName = "Zenics", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - bonusObjectiveID = 2, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "staticcon", - "energysolar", - "energygeo", - "staticradar", - "turretlaser", - "turretmissile", - "turretaaclose", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphaa" - }, - commanderLevel = 4, - commander = { - name = "Palladia", - chassis = "engineer", - decorations = { - "skin_support_dark", - }, - modules = { - "commweapon_beamlaser", - "commweapon_disruptorbomb", - "module_autorepair", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_nano" - } - }, - midgameUnits = { - { - name = "amphfloater", - x = 8100, - z = 1800, - facing = 2, - spawnRadius = 50, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "amphfloater", - x = 8100, - z = 1800, - facing = 2, - spawnRadius = 50, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "amphfloater", - x = 8100, - z = 1800, - facing = 2, - spawnRadius = 50, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "amphaa", - x = 8100, - z = 1800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "amphaa", - x = 8100, - z = 1800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 8100, - z = 1800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - difficultyAtLeast = 3, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 8100, - z = 1800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - difficultyAtLeast = 4, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "staticmex", - x = 8136, - z = 1256, - facing = 0, - }, - { - name = "staticmex", - x = 8440, - z = 1176, - facing = 0, - }, - { - name = "staticmex", - x = 8376, - z = 1432, - facing = 0, - }, - { - name = "energysolar", - x = 8408, - z = 1288, - facing = 0, - }, - { - name = "energysolar", - x = 8248, - z = 1240, - facing = 0, - }, - { - name = "staticradar", - x = 8496, - z = 592, - facing = 0, - }, - { - name = "staticradar", - x = 7472, - z = 2672, - facing = 0, - }, - { - name = "factoryamph", - x = 8104, - z = 1528, - facing = 0, - }, - { - name = "turretriot", - x = 7696, - z = 1520, - facing = 3, - }, - { - name = "turretriot", - x = 7632, - z = 2000, - facing = 3, - }, - { - name = "turretriot", - x = 8464, - z = 1520, - facing = 1, - }, - { - name = "turretriot", - x = 8288, - z = 1968, - facing = 1, - }, - { - name = "turretaalaser", - x = 7656, - z = 2408, - facing = 3, - }, - { - name = "turretaalaser", - x = 7960, - z = 1992, - facing = 3, - }, - { - name = "turretaalaser", - x = 8232, - z = 1400, - facing = 3, - }, - { - name = "turretaalaser", - x = 8440, - z = 904, - facing = 3, - }, - } - }, - { - humanName = "Chickens", - aiLib = "Chicken: Very Easy", - bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 2, - unlocks = { - }, - commander = false, - startUnits = { - { - name = "roost", - x = 3530, - z = 1000, - facing = 3, - }, - { - name = "roost", - x = 2852, - z = 4300, - facing = 3, - }, - } - }, - }, - defeatConditionConfig = { - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - defeatOtherAllyTeamsOnLoss = {2}, - vitalCommanders = true, - vitalUnitTypes = { - "factoryamph", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - [2] = { - ignoreUnitLossDefeat = true, - doNotExplodeOnLoss = true, -- It would look a bit weird for the chickens to explode when the robots lose. - }, - }, - objectiveConfig = { - [1] = { - description = "Destroy the enemy Commander and Amphbot Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make the enemy lose ten roosts by 10:00 - onlyCountRemovedUnits = true, - satisfyByTime = 600, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - enemyUnitTypes = { - "roost", - }, - image = planetUtilities.ICON_DIR .. "roost.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy 10 Chicken Roosts by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Kill enemy commander by 10:00 - satisfyByTime = 600, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "skin_support_dark.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy commander before 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "gunshipskirm", - "gunshipassault", - }, - modules = { - "conversion_disruptor", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet39.lua b/campaign/dev/planets/planet39.lua deleted file mode 100644 index 3915e3ac2..000000000 --- a/campaign/dev/planets/planet39.lua +++ /dev/null @@ -1,2522 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/tundra02.png" - - local planetData = { - name = "Rosnek", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.52, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.04, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Tundra", - radius = "5174 km", - primary = "Rirnef", - primaryType = "G6V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24510", - text = [[The enemy is about to complete a Krow heavy gunship. Quickly build Tridents to defeat it, then build your own Krows and return the favour.]] - }, - tips = { - { - image = "unitpics/gunshipaa.png", - text = [[Tridents should be your first line of defence against any aerial threat; their long-range AA missiles are effective against all flying targets, and unlike static turrets they can retreat easily if threatened by ground forces.]] - }, - { - image = "unitpics/gunshipkrow.png", - text = [[Make sure your own units are well out of the way when you use the manual fire weapon of the Krow (default hotkey D). Its massive barrage of Cluster Bombs do not distinguish between friend and foe.]] - }, - }, - gameConfig = { - mapName = "FrostBiteV2", - playerConfig = { - startX = 8069, - startZ = 720, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factorygunship", - "gunshipcon", - "gunshipraid", - "gunshipaa", - "gunshipkrow", - "turrettorp", - }, - startUnits = { - { - name = "staticmex", - x = 7944, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 7832, - z = 712, - facing = 0, - }, - { - name = "staticmex", - x = 7944, - z = 1208, - facing = 0, - }, - { - name = "staticmex", - x = 8056, - z = 2744, - facing = 0, - }, - { - name = "staticmex", - x = 7704, - z = 3368, - facing = 0, - }, - { - name = "staticmex", - x = 7944, - z = 3864, - facing = 0, - }, - { - name = "turretaalaser", - x = 7656, - z = 3896, - facing = 3, - }, - { - name = "gunshipaa", - x = 7750, - z = 950, - facing = 0, - }, - { - name = "gunshipaa", - x = 7950, - z = 950, - facing = 0, - }, - { - name = "gunshipskirm", - x = 7675, - z = 1000, - facing = 0, - }, - { - name = "gunshipskirm", - x = 8025, - z = 1000, - facing = 0, - }, - { - name = "gunshipheavyskirm", - x = 7850, - z = 1000, - facing = 0, - }, - { - name = "energysolar", - x = 8008, - z = 1224, - facing = 2, - }, - { - name = "energysolar", - x = 7928, - z = 1272, - facing = 1, - }, - { - name = "staticradar", - x = 7584, - z = 2992, - facing = 0, - }, - { - name = "turretaalaser", - x = 7896, - z = 3000, - facing = 3, - }, - { - name = "energysolar", - x = 7880, - z = 1192, - facing = 0, - }, - { - name = "staticradar", - x = 7600, - z = 1216, - facing = 0, - }, - { - name = "energysolar", - x = 7960, - z = 1144, - facing = 3, - }, - { - name = "energysolar", - x = 8008, - z = 200, - facing = 2, - }, - { - name = "energysolar", - x = 7928, - z = 248, - facing = 1, - }, - { - name = "energysolar", - x = 7880, - z = 168, - facing = 0, - }, - { - name = "energysolar", - x = 7960, - z = 120, - facing = 3, - }, - { - name = "energysolar", - x = 7768, - z = 728, - facing = 3, - }, - { - name = "energysolar", - x = 7848, - z = 776, - facing = 3, - }, - { - name = "energysolar", - x = 7896, - z = 696, - facing = 3, - }, - { - name = "energysolar", - x = 7816, - z = 648, - facing = 3, - }, - { - name = "energysolar", - x = 8120, - z = 2760, - facing = 2, - }, - { - name = "energysolar", - x = 8040, - z = 2808, - facing = 1, - }, - { - name = "energysolar", - x = 7992, - z = 2728, - facing = 0, - }, - { - name = "energysolar", - x = 8072, - z = 2680, - facing = 3, - }, - { - name = "energysolar", - x = 7768, - z = 3384, - facing = 2, - }, - { - name = "energysolar", - x = 7688, - z = 3432, - facing = 1, - }, - { - name = "energysolar", - x = 7640, - z = 3352, - facing = 0, - }, - { - name = "energysolar", - x = 7720, - z = 3304, - facing = 3, - }, - { - name = "energysolar", - x = 8008, - z = 3880, - facing = 2, - }, - { - name = "energysolar", - x = 7928, - z = 3928, - facing = 1, - }, - { - name = "energysolar", - x = 7880, - z = 3848, - facing = 0, - }, - { - name = "energysolar", - x = 7960, - z = 3800, - facing = 3, - }, - { - name = "factorygunship", - x = 8136, - z = 920, - facing = 3, - }, - { - name = "staticcon", - x = 8168, - z = 1032, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8168, 1032}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8143, 1057}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8168, - z = 792, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8168, 792}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8143, 817}, options = {"shift"}}, - }, - }, - { - name = "turretaafar", - x = 8016, - z = 496, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7576, - z = 296, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7544, - z = 1032, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7464, - z = 2984, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7368, - z = 3624, - facing = 3, - }, - } - }, - aiConfig = { - { - humanName = "Itesro", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticcon", - "energysolar", - "energywind", - "staticradar", - "staticcon", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "shipcon", - "subraider", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "spidercon", - "spideremp", - "spiderriot", - "spiderscout", - "spiderskirm", - "spiderassault", - "spiderantiheavy", - "spidercrabe", - --"spideraa", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakarty", - "cloakbomb", - "cloakheavyraid", - "cloaksnipe", - }, - commanderLevel = 2, - commander = false, - startUnits = { - { - name = "turrettorp", - x = 7350, - z = 1600, - facing = 3, - }, - { - name = "turrettorp", - x = 7350, - z = 1700, - facing = 3, - }, - { - name = "turrettorp", - x = 7350, - z = 2200, - facing = 3, - }, - { - name = "turrettorp", - x = 7350, - z = 2300, - facing = 3, - }, - { - name = "turrettorp", - x = 8000, - z = 1900, - facing = 3, - }, - { - name = "turrettorp", - x = 8000, - z = 2000, - facing = 3, - }, - { - name = "staticmex", - x = 7160, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 6840, - z = 1992, - facing = 0, - }, - { - name = "turretmissile", - x = 5008, - z = 2944, - facing = 3, - }, - { - name = "turretgauss", - x = 4904, - z = 3160, - facing = 3, - }, - { - name = "staticradar", - x = 5136, - z = 1488, - facing = 1, - }, - { - name = "staticcon", - x = 5336, - z = 1176, - facing = 0, - }, - { - name = "cloakheavyraid", - x = 5814, - z = 2632, - facing = 3, - buildProgress = 0.53729999, - }, - { - name = "staticmex", - x = 7064, - z = 2392, - facing = 3, - }, - { - name = "staticmex", - x = 7256, - z = 1992, - facing = 3, - }, - { - name = "staticmex", - x = 6824, - z = 3608, - facing = 3, - }, - { - name = "cloakassault", - x = 5330, - z = 1741, - facing = 2, - }, - { - name = "shipassault", - x = 4679, - z = 396, - facing = 1, - }, - { - name = "cloakcon", - x = 5337, - z = 2232, - facing = 3, - }, - { - name = "turrettorp", - x = 5288, - z = 696, - facing = 3, - }, - { - name = "turrettorp", - x = 5288, - z = 600, - facing = 3, - }, - { - name = "turrettorp", - x = 5288, - z = 200, - facing = 3, - }, - { - name = "turrettorp", - x = 5288, - z = 104, - facing = 3, - }, - { - name = "staticmex", - x = 5544, - z = 216, - facing = 0, - }, - { - name = "staticmex", - x = 6120, - z = 232, - facing = 0, - }, - { - name = "staticmex", - x = 6440, - z = 632, - facing = 0, - }, - { - name = "staticmex", - x = 6584, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 5992, - z = 1304, - facing = 0, - }, - { - name = "staticmex", - x = 5736, - z = 1096, - facing = 0, - }, - { - name = "factoryship", - x = 7664, - z = 2032, - facing = 3, - }, - { - name = "staticmex", - x = 5656, - z = 1448, - facing = 0, - }, - { - name = "staticmex", - x = 6264, - z = 1720, - facing = 0, - }, - { - name = "staticmex", - x = 5656, - z = 3144, - facing = 3, - }, - { - name = "staticmex", - x = 5864, - z = 2984, - facing = 3, - }, - { - name = "staticmex", - x = 6392, - z = 2792, - facing = 3, - }, - { - name = "staticmex", - x = 6584, - z = 3016, - facing = 3, - }, - { - name = "staticmex", - x = 5592, - z = 2776, - facing = 3, - }, - { - name = "staticcon", - x = 7864, - z = 2040, - facing = 1, - }, - { - name = "staticmex", - x = 6152, - z = 3912, - facing = 3, - }, - { - name = "shipscout", - x = 6815, - z = 1287, - facing = 2, - }, - { - name = "factorycloak", - x = 5824, - z = 2632, - facing = 3, - }, - { - name = "staticcon", - x = 5960, - z = 2632, - facing = 3, - }, - { - name = "factoryspider", - x = 5768, - z = 1640, - facing = 3, - }, - { - name = "staticcon", - x = 5880, - z = 1720, - facing = 3, - }, - { - name = "energywind", - x = 6888, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 6968, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 7048, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 7128, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 7208, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 7064, - z = 2152, - facing = 1, - }, - { - name = "energywind", - x = 7064, - z = 2232, - facing = 1, - }, - { - name = "energywind", - x = 7064, - z = 2312, - facing = 1, - }, - { - name = "energywind", - x = 7080, - z = 792, - facing = 1, - }, - { - name = "energywind", - x = 7096, - z = 696, - facing = 1, - }, - { - name = "energywind", - x = 7192, - z = 808, - facing = 1, - }, - { - name = "energypylon", - x = 7688, - z = 2152, - facing = 0, - }, - { - name = "turretaaclose", - x = 5800, - z = 2840, - facing = 1, - }, - { - name = "energywind", - x = 6856, - z = 3672, - facing = 1, - }, - { - name = "energywind", - x = 6776, - z = 3672, - facing = 1, - }, - { - name = "energywind", - x = 6744, - z = 3576, - facing = 1, - }, - { - name = "shipassault", - x = 7477, - z = 1630, - facing = 1, - }, - { - name = "turretaaclose", - x = 5880, - z = 2152, - facing = 1, - }, - { - name = "energyfusion", - x = 8120, - z = 2032, - facing = 0, - }, - { - name = "turretgauss", - x = 4952, - z = 2408, - facing = 3, - }, - { - name = "turretgauss", - x = 4968, - z = 2008, - facing = 3, - }, - { - name = "turretmissile", - x = 5040, - z = 2800, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5208, - z = 3080, - facing = 3, - }, - { - name = "turretmissile", - x = 4992, - z = 1568, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5240, - z = 1416, - facing = 3, - }, - { - name = "turretaaclose", - x = 5816, - z = 1368, - facing = 1, - }, - { - name = "staticstorage", - x = 8120, - z = 2280, - facing = 0, - }, - { - name = "staticstorage", - x = 8136, - z = 2184, - facing = 0, - }, - { - name = "energysolar", - x = 5608, - z = 2920, - facing = 3, - }, - { - name = "energysolar", - x = 5624, - z = 2840, - facing = 3, - }, - { - name = "turretmissile", - x = 4992, - z = 1776, - facing = 3, - }, - { - name = "cloakcon", - x = 5157, - z = 2439, - facing = 3, - }, - { - name = "subraider", - x = 7520, - z = 2279, - facing = 3, - }, - { - name = "shiparty", - x = 5043, - z = 412, - facing = 1, - }, - { - name = "spidercrabe", - x = 5732, - z = 1640, - facing = 3, - buildProgress = 0.67269999, - }, - { - name = "energysolar", - x = 5896, - z = 2824, - facing = 3, - }, - { - name = "turretmissile", - x = 5168, - z = 2480, - facing = 2, - }, - { - name = "cloakassault", - x = 3934, - z = 573, - facing = 3, - }, - { - name = "energysolar", - x = 5704, - z = 2856, - facing = 3, - }, - { - name = "spiderskirm", - x = 3838, - z = 544, - facing = 3, - }, - { - name = "energysolar", - x = 5768, - z = 2936, - facing = 3, - }, - { - name = "cloakskirm", - x = 5390, - z = 1624, - facing = 3, - }, - { - name = "spidercon", - x = 4374, - z = 586, - facing = 2, - }, - { - name = "energysolar", - x = 5688, - z = 2936, - facing = 3, - }, - { - name = "turretgauss", - x = 5000, - z = 1096, - facing = 0, - }, - { - name = "energysolar", - x = 5896, - z = 1560, - facing = 3, - }, - { - name = "energysolar", - x = 5688, - z = 2440, - facing = 3, - }, - { - name = "energysolar", - x = 5720, - z = 1448, - facing = 3, - }, - { - name = "spiderantiheavy", - x = 5852, - z = 2075, - facing = 0, - }, - { - name = "energysolar", - x = 5464, - z = 2600, - facing = 3, - }, - { - name = "turretriot", - x = 4904, - z = 920, - facing = 0, - }, - { - name = "cloakcon", - x = 5589, - z = 1817, - facing = 0, - }, - { - name = "turretmissile", - x = 5440, - z = 1536, - facing = 3, - }, - { - name = "spidercon", - x = 5254, - z = 1801, - facing = 1, - }, - { - name = "cloakskirm", - x = 5379, - z = 1668, - facing = 2, - }, - { - name = "spidercon", - x = 4633, - z = 763, - facing = 1, - }, - { - name = "cloakheavyraid", - x = 6452, - z = 813, - facing = 3, - }, - { - name = "cloakriot", - x = 5287, - z = 1784, - facing = 1, - }, - { - name = "cloakraid", - x = 4018, - z = 576, - facing = 2, - }, - { - name = "cloakraid", - x = 3964, - z = 557, - facing = 3, - }, - { - name = "staticcon", - x = 5192, - z = 2248, - facing = 0, - }, - { - name = "cloakskirm", - x = 5373, - z = 1639, - facing = 2, - }, - { - name = "staticcon", - x = 5448, - z = 3144, - facing = 0, - terraformHeight = 120, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5456, 3151}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5307, 2808}, options = {"shift"}}, - }, - }, - { - name = "turretmissile", - x = 4800, - z = 1248, - facing = 0, - }, - { - name = "cloakheavyraid", - x = 5513, - z = 2441, - facing = 2, - }, - { - name = "shipcon", - x = 7664, - z = 2040, - facing = 3, - buildProgress = 0.1469, - }, - { - name = "shipriot", - x = 6840, - z = 2559, - facing = 2, - }, - { - name = "shipriot", - x = 4841, - z = 3872, - facing = 3, - }, - { - name = "shipassault", - x = 5135, - z = 3935, - facing = 0, - }, - { - name = "turrettorp", - x = 5384, - z = 3720, - facing = 0, - }, - { - name = "turrettorp", - x = 5400, - z = 4008, - facing = 0, - }, - { - name = "cloakarty", - x = 5571, - z = 1965, - facing = 2, - }, - { - name = "cloakarty", - x = 5506, - z = 2144, - facing = 2, - }, - { - name = "cloakarty", - x = 5527, - z = 2017, - facing = 2, - }, - { - name = "cloakarty", - x = 5570, - z = 2345, - facing = 2, - }, - { - name = "cloakassault", - x = 5035, - z = 2141, - facing = 1, - }, - { - name = "cloakassault", - x = 5061, - z = 2364, - facing = 1, - }, - { - name = "spidercrabe", - x = 5178, - z = 1666, - facing = 0, - }, - { - name = "shipriot", - x = 5063, - z = 3779, - facing = 2, - }, - { - name = "spiderassault", - x = 5239, - z = 1974, - facing = 2, - difficultyAtMost = 2, - }, - { - name = "spiderassault", - x = 5259, - z = 2160, - facing = 2, - difficultyAtMost = 2, - }, - { - name = "spiderassault", - x = 5150, - z = 2392, - facing = 2, - difficultyAtMost = 2, - }, - { - name = "spiderassault", - x = 5282, - z = 2619, - facing = 1, - difficultyAtMost = 2, - }, - { - name = "spiderassault", - x = 5318, - z = 2267, - facing = 2, - difficultyAtMost = 2, - }, - { - name = "spiderassault", - x = 5172, - z = 1824, - facing = 1, - difficultyAtMost = 2, - }, - } - }, - { - startX = 2600, - startZ = 2000, - humanName = "Lepsum", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "energysolar", - "energywind", - "staticradar", - "staticcon", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretemp", - "shipcon", - "subraider", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "spidercon", - "spideremp", - "spiderriot", - "spiderscout", - "spiderskirm", - "spiderassault", - "spiderantiheavy", - "spidercrabe", - --"spideraa", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - "shieldarty", - "shieldbomb", - "shieldfelon", - --"shieldshield", - --"shieldaa", - --"turretaalaser", - --"turretaaclose", - "gunshipcon", - "gunshipaa", - "gunshipassault", - "gunshipbomb", - "gunshipheavyskirm", - "gunshipraid", - "gunshipskirm", - "gunshipkrow" - }, - difficultyDependantUnlocks = { - [3] = {"shieldaa"}, - [4] = {"shieldaa","shieldshield"}, - }, - commanderLevel = 5, - commander = { - name = "Valco", - chassis = "guardian", - decorations = { - "skin_bombard_steel", - }, - modules = { - "commweapon_riotcannon", - "commweapon_riotcannon", - "weaponmod_napalm_warhead", - "module_heavy_armor", - "module_heavy_armor", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_high_power_servos", - "module_high_power_servos", - "commweapon_personal_shield", - } - }, - midgameUnits = { - { - name = "gunshipkrow", - x = 200, - z = 800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - difficultyAtLeast = 4, - orbitalDrop = false, - }, - { - name = "gunshipaa", - x = 200, - z = 800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = false, - }, - { - name = "gunshipaa", - x = 200, - z = 800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = false, - }, - { - name = "gunshipaa", - x = 200, - z = 800, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = false, - }, - }, - startUnits = { - { - name = "gunshipkrow", - x = 55, - z = 3224, - facing = 1, - buildProgress = 0.85, - }, - { - name = "staticantinuke", - x = 580, - z = 1380, - facing = 0, - }, - { - name = "turretaaflak", - x = 3300, - z = 1200, - facing = 1, - }, - { - name = "turretaaflak", - x = 3400, - z = 2700, - facing = 1, - }, - { - name = "gunshipskirm", - x = 200, - z = 3224, - facing = 1, - }, - { - name = "gunshipskirm", - x = 200, - z = 3300, - facing = 1, - }, - { - name = "gunshipassault", - x = 200, - z = 3400, - facing = 1, - }, - { - name = "gunshipheavyskirm", - x = 200, - z = 500, - facing = 1, - }, - { - name = "spiderassault", - x = 3000, - z = 2000, - facing = 1, - }, - { - name = "spiderassault", - x = 3000, - z = 2050, - facing = 1, - }, - { - name = "spiderassault", - x = 3000, - z = 2100, - facing = 1, - }, - { - name = "spiderassault", - x = 3000, - z = 2150, - facing = 1, - }, - { - name = "spiderassault", - x = 3000, - z = 2200, - facing = 1, - }, - { - name = "gunshipaa", - x = 300, - z = 500, - facing = 1, - }, - { - name = "turretemp", - x = 3536, - z = 2832, - facing = 1, - }, - { - name = "turretemp", - x = 3488, - z = 2336, - facing = 1, - }, - { - name = "staticradar", - x = 688, - z = 2992, - facing = 0, - }, - { - name = "staticradar", - x = 3152, - z = 2560, - facing = 3, - }, - { - name = "staticradar", - x = 3136, - z = 1344, - facing = 3, - }, - { - name = "staticradar", - x = 608, - z = 1040, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 2920, - facing = 0, - }, - { - name = "staticmex", - x = 520, - z = 3416, - facing = 0, - }, - { - name = "staticmex", - x = 216, - z = 3960, - facing = 0, - }, - { - name = "staticmex", - x = 104, - z = 1384, - facing = 0, - }, - { - name = "staticmex", - x = 456, - z = 856, - facing = 0, - }, - { - name = "staticmex", - x = 232, - z = 264, - facing = 0, - }, - { - name = "energysolar", - x = 280, - z = 3976, - facing = 2, - }, - { - name = "energysolar", - x = 200, - z = 4024, - facing = 1, - }, - { - name = "energysolar", - x = 152, - z = 3944, - facing = 0, - }, - { - name = "energysolar", - x = 232, - z = 3896, - facing = 3, - }, - { - name = "energysolar", - x = 312, - z = 2936, - facing = 2, - }, - { - name = "energysolar", - x = 232, - z = 2984, - facing = 1, - }, - { - name = "energysolar", - x = 184, - z = 2904, - facing = 0, - }, - { - name = "energysolar", - x = 264, - z = 2856, - facing = 3, - }, - { - name = "energysolar", - x = 168, - z = 1400, - facing = 2, - }, - { - name = "energysolar", - x = 88, - z = 1448, - facing = 1, - }, - { - name = "energysolar", - x = 40, - z = 1368, - facing = 0, - }, - { - name = "energysolar", - x = 120, - z = 1320, - facing = 3, - }, - { - name = "energysolar", - x = 440, - z = 920, - facing = 1, - }, - { - name = "energysolar", - x = 392, - z = 840, - facing = 0, - }, - { - name = "energysolar", - x = 296, - z = 280, - facing = 2, - }, - { - name = "energysolar", - x = 216, - z = 328, - facing = 1, - }, - { - name = "energysolar", - x = 168, - z = 248, - facing = 0, - }, - { - name = "energysolar", - x = 248, - z = 200, - facing = 3, - }, - { - name = "energysolar", - x = 520, - z = 888, - facing = 3, - }, - { - name = "energysolar", - x = 424, - z = 760, - facing = 3, - }, - { - name = "factorygunship", - x = 56, - z = 3224, - facing = 3, - }, - { - name = "staticcon", - x = 24, - z = 3112, - facing = 3, - }, - { - name = "energysolar", - x = 504, - z = 3480, - facing = 1, - }, - { - name = "energysolar", - x = 456, - z = 3400, - facing = 0, - }, - { - name = "energysolar", - x = 536, - z = 3352, - facing = 3, - }, - { - name = "energysolar", - x = 536, - z = 3560, - facing = 3, - }, - { - name = "staticcon", - x = 24, - z = 3336, - facing = 3, - }, - { - name = "turrettorp", - x = 3112, - z = 4056, - facing = 3, - }, - { - name = "turrettorp", - x = 3112, - z = 3944, - facing = 3, - }, - { - name = "turrettorp", - x = 3112, - z = 3496, - facing = 3, - }, - { - name = "spiderscout", - x = 2141, - z = 2066, - facing = 2, - }, - { - name = "turrettorp", - x = 3064, - z = 392, - facing = 3, - }, - { - name = "spidercon", - x = 2589, - z = 2608, - facing = 2, - }, - { - name = "spiderscout", - x = 2784, - z = 2438, - facing = 1, - }, - { - name = "staticmex", - x = 2616, - z = 152, - facing = 0, - }, - { - name = "staticmex", - x = 2008, - z = 216, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 568, - facing = 0, - }, - { - name = "staticmex", - x = 1784, - z = 1112, - facing = 0, - }, - { - name = "staticmex", - x = 1976, - z = 1336, - facing = 0, - }, - { - name = "staticmex", - x = 2520, - z = 1160, - facing = 0, - }, - { - name = "staticmex", - x = 2792, - z = 968, - facing = 0, - }, - { - name = "staticmex", - x = 2792, - z = 1368, - facing = 0, - }, - { - name = "staticmex", - x = 1912, - z = 2408, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 2136, - facing = 0, - }, - { - name = "staticmex", - x = 904, - z = 2136, - facing = 0, - }, - { - name = "staticmex", - x = 1096, - z = 1736, - facing = 0, - }, - { - name = "factoryship", - x = 512, - z = 2032, - facing = 1, - }, - { - name = "staticmex", - x = 2712, - z = 2488, - facing = 3, - }, - { - name = "staticmex", - x = 2632, - z = 2840, - facing = 3, - }, - { - name = "staticmex", - x = 2376, - z = 2632, - facing = 3, - }, - { - name = "staticmex", - x = 1224, - z = 3336, - facing = 3, - }, - { - name = "staticmex", - x = 1784, - z = 3272, - facing = 3, - }, - { - name = "staticmex", - x = 1944, - z = 3464, - facing = 3, - }, - { - name = "staticmex", - x = 2264, - z = 3912, - facing = 3, - }, - { - name = "staticcon", - x = 312, - z = 2040, - facing = 1, - }, - { - name = "staticmex", - x = 2840, - z = 3912, - facing = 3, - }, - { - name = "factoryspider", - x = 2360, - z = 2872, - facing = 1, - }, - { - name = "staticcon", - x = 2232, - z = 2904, - facing = 1, - }, - { - name = "staticcon", - x = 2424, - z = 1608, - facing = 1, - }, - { - name = "factoryshield", - x = 2552, - z = 1600, - facing = 1, - }, - { - name = "energywind", - x = 1256, - z = 616, - facing = 1, - }, - { - name = "energywind", - x = 1288, - z = 504, - facing = 1, - }, - { - name = "energywind", - x = 1384, - z = 616, - facing = 1, - }, - { - name = "energywind", - x = 1096, - z = 1832, - facing = 1, - }, - { - name = "energywind", - x = 1096, - z = 1912, - facing = 1, - }, - { - name = "energywind", - x = 1096, - z = 1992, - facing = 1, - }, - { - name = "energywind", - x = 1096, - z = 2072, - facing = 1, - }, - { - name = "energywind", - x = 968, - z = 2120, - facing = 1, - }, - { - name = "energywind", - x = 1048, - z = 2104, - facing = 1, - }, - { - name = "energywind", - x = 1176, - z = 2104, - facing = 1, - }, - { - name = "energywind", - x = 1256, - z = 2136, - facing = 1, - }, - { - name = "turretaaflak", - x = 2632, - z = 1752, - facing = 1, - }, - { - name = "turretaalaser", - x = 1896, - z = 2296, - facing = 1, - }, - { - name = "energypylon", - x = 504, - z = 2120, - facing = 0, - }, - { - name = "turretaalaser", - x = 2728, - z = 2024, - facing = 1, - }, - { - name = "turretaaflak", - x = 2248, - z = 2728, - facing = 1, - }, - { - name = "turretaalaser", - x = 1912, - z = 1192, - facing = 1, - }, - { - name = "energyfusion", - x = 72, - z = 2032, - facing = 0, - }, - { - name = "turretaalaser", - x = 296, - z = 3736, - facing = 1, - }, - { - name = "turretaalaser", - x = 168, - z = 1048, - facing = 1, - }, - { - name = "turretaalaser", - x = 88, - z = 424, - facing = 1, - }, - { - name = "turretaalaser", - x = 408, - z = 3096, - facing = 1, - }, - { - name = "energywind", - x = 1176, - z = 3416, - facing = 1, - }, - { - name = "energywind", - x = 1256, - z = 3400, - facing = 1, - }, - { - name = "energywind", - x = 1176, - z = 3304, - facing = 1, - }, - { - name = "turretaalaser", - x = 1912, - z = 3336, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3320, - z = 2520, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3224, - z = 1304, - facing = 1, - }, - { - name = "turretriot", - x = 3400, - z = 696, - facing = 1, - }, - { - name = "turretriot", - x = 3416, - z = 1208, - facing = 1, - }, - { - name = "turretriot", - x = 3416, - z = 1592, - facing = 1, - }, - { - name = "turretemp", - x = 3440, - z = 1408, - facing = 1, - }, - { - name = "turretemp", - x = 3440, - z = 928, - facing = 1, - }, - { - name = "turretriot", - x = 3448, - z = 2120, - facing = 1, - }, - { - name = "turretriot", - x = 3528, - z = 2504, - facing = 1, - }, - { - name = "turretriot", - x = 3480, - z = 3000, - facing = 1, - }, - { - name = "staticstorage", - x = 24, - z = 2200, - facing = 0, - }, - { - name = "staticstorage", - x = 72, - z = 2296, - facing = 0, - }, - { - name = "shiptorpraider", - x = 1496, - z = 2669, - facing = 3, - }, - { - name = "spiderantiheavy", - x = 3311, - z = 1527, - facing = 2, - }, - { - name = "spiderantiheavy", - x = 3359, - z = 1368, - facing = 3, - }, - { - name = "spidercon", - x = 4229, - z = 2118, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4881, 1426}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4080, 2225}, options = {"shift"}}, - }, - }, - { - name = "shieldfelon", - x = 2779, - z = 2066, - facing = 3, - }, - { - name = "shieldassault", - x = 2886, - z = 1961, - facing = 0, - }, - { - name = "shieldassault", - x = 4611, - z = 2232, - facing = 1, - }, - { - name = "spidercon", - x = 3808, - z = 2025, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3540, 1758}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4339, 2558}, options = {"shift"}}, - }, - }, - { - name = "spidercon", - x = 4164, - z = 1895, - facing = 3, - }, - { - name = "shiptorpraider", - x = 1501, - z = 2625, - facing = 2, - }, - { - name = "turretlaser", - x = 128, - z = 2992, - facing = 1, - }, - { - name = "shipriot", - x = 625, - z = 2294, - facing = 2, - }, - { - name = "shieldcon", - x = 4172, - z = 2104, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3338, 1342}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4138, 2142}, options = {"shift"}}, - }, - }, - { - name = "shieldassault", - x = 4726, - z = 2202, - facing = 2, - }, - { - name = "shieldcon", - x = 3912, - z = 2465, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3266, 3136}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4064, 2336}, options = {"shift"}}, - }, - }, - { - name = "spiderscout", - x = 2889, - z = 2707, - facing = 1, - }, - { - name = "spidercon", - x = 3165, - z = 547, - facing = 2, - }, - { - name = "shieldarty", - x = 4188, - z = 2531, - facing = 0, - }, - { - name = "spidercrabe", - x = 4377, - z = 2260, - facing = 1, - }, - { - name = "shieldcon", - x = 3441, - z = 796, - facing = 2, - }, - { - name = "spiderscout", - x = 2399, - z = 1899, - facing = 2, - }, - { - name = "spiderassault", - x = 3830, - z = 2932, - facing = 1, - }, - { - name = "shieldassault", - x = 2707, - z = 2423, - facing = 3, - }, - { - name = "shieldraid", - x = 2773, - z = 3232, - facing = 1, - }, - { - name = "shieldassault", - x = 4678, - z = 2214, - facing = 2, - }, - { - name = "spiderscout", - x = 4204, - z = 2070, - facing = 2, - }, - { - name = "shieldassault", - x = 4697, - z = 2171, - facing = 1, - }, - { - name = "shipcon", - x = 2030, - z = 1686, - facing = 0, - }, - { - name = "spiderscout", - x = 2821, - z = 1705, - facing = 2, - }, - { - name = "shieldassault", - x = 4715, - z = 2321, - facing = 1, - }, - { - name = "spiderscout", - x = 2079, - z = 3384, - facing = 0, - }, - { - name = "spiderskirm", - x = 3905, - z = 2208, - facing = 3, - }, - { - name = "spiderscout", - x = 2515, - z = 1443, - facing = 3, - }, - { - name = "shiptorpraider", - x = 1467, - z = 2782, - facing = 0, - }, - { - name = "shiptorpraider", - x = 1433, - z = 2830, - facing = 2, - }, - { - name = "shieldcon", - x = 3454, - z = 1017, - facing = 2, - }, - { - name = "energywind", - x = 2760, - z = 2472, - facing = 1, - buildProgress = 0.1285, - }, - { - name = "spiderassault", - x = 3958, - z = 2443, - facing = 3, - }, - { - name = "shipassault", - x = 4811, - z = 3931, - facing = 1, - }, - { - name = "shieldassault", - x = 4739, - z = 2156, - facing = 1, - }, - { - name = "shiparty", - x = 492, - z = 2024, - facing = 1, - buildProgress = 0.95050001, - }, - { - name = "shieldskirm", - x = 4441, - z = 2231, - facing = 3, - }, - { - name = "spiderscout", - x = 3434, - z = 1770, - facing = 3, - }, - { - name = "spideremp", - x = 4757, - z = 2346, - facing = 1, - }, - { - name = "shieldskirm", - x = 4476, - z = 2228, - facing = 3, - }, - { - name = "shiparty", - x = 1719, - z = 3618, - facing = 1, - }, - { - name = "spiderscout", - x = 4127, - z = 2130, - facing = 0, - }, - { - name = "spiderscout", - x = 4155, - z = 2066, - facing = 0, - }, - { - name = "shieldskirm", - x = 2616, - z = 2245, - facing = 0, - }, - { - name = "spiderscout", - x = 4192, - z = 2127, - facing = 2, - }, - { - name = "spiderscout", - x = 2407, - z = 2908, - facing = 3, - }, - { - name = "shieldassault", - x = 2575, - z = 1754, - facing = 0, - }, - { - name = "spiderscout", - x = 3465, - z = 2648, - facing = 1, - }, - { - name = "turrettorp", - x = 3096, - z = 40, - facing = 0, - }, - { - name = "shipassault", - x = 3034, - z = 175, - facing = 2, - }, - { - name = "shipskirm", - x = 2895, - z = 172, - facing = 3, - }, - { - name = "spiderscout", - x = 2834, - z = 2779, - facing = 1, - }, - { - name = "spiderscout", - x = 2547, - z = 2818, - facing = 1, - }, - { - name = "shieldraid", - x = 2564, - z = 1600, - facing = 1, - buildProgress = 0.91109997, - }, - { - name = "spiderassault", - x = 2396, - z = 2872, - facing = 1, - buildProgress = 0.30410001, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factorygunship", - "factoryshield", - "factoryship", - "factoryspider" - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make the enemy lose one Krow by 5:00 - onlyCountRemovedUnits = true, - satisfyByTime = 300, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "gunshipkrow", - }, - image = planetUtilities.ICON_DIR .. "gunshipkrow.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy an enemy Krow before 5:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have a Krow by 5 minutes - satisfyByTime = 300, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "gunshipkrow", - }, - image = planetUtilities.ICON_DIR .. "gunshipkrow.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a Krow before 5:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "gunshipaa", - "gunshipkrow", - }, - modules = { - "module_companion_drone_LIMIT_D_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet4.lua b/campaign/dev/planets/planet4.lua deleted file mode 100644 index 32786c1e3..000000000 --- a/campaign/dev/planets/planet4.lua +++ /dev/null @@ -1,349 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/tundra02.png" - - local planetData = { - name = "Tremontane", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.02, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.40, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Tundra", - radius = "4400 km", - primary = "Taoune", - primaryType = "F2III", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24429", - text = [[Your opponent has taken to the air with Gunships in this battle. Construct the anti-air Gremlins and Hacksaw missile turrets to bring them down.]] - }, - tips = { - { - image = "unitpics/turretaaclose.png", - text = [[The Hacksaw fires two powerful anti-air missiles at any flying target. It's defenceless against ground units and can be easily baited by cheap fliers, so they should be used in conjunction with other AA and land units.]] - }, - { - image = "unitpics/cloakaa.png", - text = [[Gremlin anti-air bots cloak while they are not firing, so they have a secondary purpose as scouts.]] - }, - { - image = "unitpics/strike.png", - text = [[Don't over-commit to anti-air units: the enemy Commander and defensive turrets still present a significant land-based threat.]] - }, - }, - gameConfig = { - mapName = "Avalanche v3.1", - playerConfig = { - startX = 580, - startZ = 3500, - allyTeam = 0, - useUnlocks = true, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "cloakaa", - "turretaaclose", - }, - startUnits = { - { - name = "factorycloak", - x = 150, - z = 3660, - facing = 1, - }, - { - name = "turretaaclose", - x = 700, - z = 3000, - facing = 2, - }, - { - name = "turretaaclose", - x = 1150, - z = 3500, - facing = 1, - }, - { - name = "cloakraid", - x = 1000, - z = 3200, - facing = 1, - }, - { - name = "cloakraid", - x = 1100, - z = 3250, - facing = 1, - }, - { - name = "cloakraid", - x = 1050, - z = 3290, - facing = 1, - }, - { - name = "cloakraid", - x = 1100, - z = 3260, - facing = 1, - }, - { - name = "cloakraid", - x = 1050, - z = 3340, - facing = 1, - }, - { - name = "staticradar", - x = 110, - z = 3180, - facing = 2, - }, - { - name = "staticmex", - x = 370, - z = 3750, - facing = 2, - }, - { - name = "turretmissile", - x = 260, - z = 3000, - facing = 1, - }, - { - name = "turretmissile", - x = 1200, - z = 3800, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 3800, - startZ = 200, - aiLib = "Circuit_difficulty_autofill", - humanName = "_Havoc", - bitDependant = true, - allyTeam = 1, - unlocks = { - "gunshipcon", - "gunshipraid", - "gunshipemp", - "gunshipbomb", - "gunshipskirm", - "staticmex", - }, - difficultyDependantUnlocks = { - [2] = {"energywind"}, - [3] = {"energywind","gunshipheavyskirm"}, - [4] = {"energywind","gunshipheavyskirm","gunshipassault"}, - }, - commanderParameters = { - facplop = false, - bonusObjectiveID = 3, - }, - commanderLevel = 3, - commander = { - name = "Top_Gun", - chassis = "strike", - decorations = { - }, - modules = { - "commweapon_heavymachinegun", - "module_radarnet", - } - }, - startUnits = { - { - name = "factorygunship", - x = 3980, - z = 110, - facing = 0, - }, - { - name = "gunshipraid", - x = 3000, - z = 1000, - facing = 0, - }, - { - name = "gunshipskirm", - x = 3000, - z = 1200, - facing = 0, - }, - { - name = "gunshipemp", - x = 3200, - z = 1400, - facing = 0, - }, - { - name = "staticmex", - x = 3110, - z = 220, - facing = 0, - }, - { - name = "staticmex", - x = 3910, - z = 1030, - facing = 0, - }, - { - name = "energysolar", - x = 3280, - z = 100, - facing = 0, - }, - { - name = "energysolar", - x = 4000, - z = 900, - facing = 0, - }, - { - name = "turretriot", - x = 3800, - z = 2100, - facing = 0, - }, - { - name = "turretriot", - x = 1900, - z = 400, - facing = 3, - }, - { - name = "turretriot", - x = 3500, - z = 570, - facing = 3, - }, - { - name = "turretlaser", - x = 2960, - z = 300, - facing = 3, - }, - { - name = "turretemp", - x = 3000, - z = 400, - facing = 3, - }, - { - name = "turretlaser", - x = 3880, - z = 1360, - facing = 0, - }, - { - name = "turretemp", - x = 3770, - z = 1320, - facing = 0, - }, - { - name = "turretemp", - x = 4000, - z = 1160, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factorygunship", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Gunship Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 10 Gremlins - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "cloakaa", - }, - image = planetUtilities.ICON_DIR .. "cloakaa.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 10 Gremlins", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Protect all Conjurers - satisfyForever = true, - failOnUnitLoss = true, -- Fails the objective if any units being used to satisfy the objective are lost. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "cloakcon", - }, - image = planetUtilities.ICON_DIR .. "cloakcon.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose any Conjurers", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Kill enemy commander in 7:30 - satisfyByTime = 450, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "strike.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy commander before 7:30", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cloakaa", - "turretaaclose", - }, - modules = { - "commweapon_lparticlebeam" - }, - codexEntries = { - }, - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet40.lua b/campaign/dev/planets/planet40.lua deleted file mode 100644 index b3f155eda..000000000 --- a/campaign/dev/planets/planet40.lua +++ /dev/null @@ -1,3022 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran02.png" - - local planetData = { - name = "Voholon Delta", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.34, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.21, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arid", - radius = "8410 km", - primary = "Seraz", - primaryType = "G9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[Enter this active battle and dominate the low ground with the raw power of the Tank Foundry. Push through the enemy defenses to destroy their Nuclear Silo while protecting your own team's Anti-Nukes.]] - }, - tips = { - { - image = "unitpics/tankassault.png", - text = [[The Minotaur assault tank is a very tough unit for a relatively affordable price. Use it to brute-force your way through enemy positions.]] - }, - { - image = "unitpics/tankarty.png", - text = [[Use the Emissary artillery tank to weaken defenses that are too dangerous to attack directly with Minotaurs.]] - }, - { - image = "unitpics/factorycloak.png", - text = [[Remember that you can build a second factory to supplement your Tanks with faster, lighter units.]] - }, - }, - gameConfig = { - mapName = "DeltaSiegeDry Deluxe V3", - playerConfig = { - startX = 3247, - startZ = 4228, - allyTeam = 0, - commanderParameters = { - facplop = true, --THIS IS DELIBERATE - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factorytank", - "tankcon", - "tankassault", - "tankarty", - "tankaa", - }, - startUnits = { - { - name = "energygeo", - x = 2248, - z = 4488, - facing = 1, - }, - { - name = "staticmex", - x = 1048, - z = 4184, - facing = 0, - }, - { - name = "staticmex", - x = 1224, - z = 4408, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 4120, - facing = 0, - }, - { - name = "factorytank", - x = 3392, - z = 4448, - facing = 1, - }, - { - name = "staticmex", - x = 3208, - z = 4648, - facing = 0, - }, - { - name = "staticmex", - x = 3400, - z = 4888, - facing = 0, - }, - { - name = "staticcon", - x = 3224, - z = 4504, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3392, 4448}}, - }, - }, - { - name = "staticcon", - x = 3224, - z = 4424, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3392, 4448}}, - }, - }, - { - name = "staticcon", - x = 3224, - z = 4344, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3392, 4448}}, - }, - }, - { - name = "energysolar", - x = 1128, - z = 4280, - facing = 0, - }, - { - name = "energysolar", - x = 1288, - z = 4248, - facing = 0, - }, - { - name = "energysolar", - x = 1304, - z = 4376, - facing = 0, - }, - { - name = "energysolar", - x = 3192, - z = 4744, - facing = 0, - }, - { - name = "energysolar", - x = 3272, - z = 4856, - facing = 0, - }, - { - name = "tankassault", - x = 3777, - z = 4265, - facing = 1, - }, - { - name = "tankassault", - x = 3768, - z = 4363, - facing = 1, - }, - { - name = "tankassault", - x = 3763, - z = 4465, - facing = 1, - }, - { - name = "tankassault", - x = 3764, - z = 4565, - facing = 1, - }, - { - name = "tankassault", - x = 3757, - z = 4668, - facing = 1, - }, - { - name = "tankaa", - x = 3662, - z = 4309, - facing = 1, - }, - { - name = "tankaa", - x = 3655, - z = 4628, - facing = 1, - }, - { - name = "tankarty", - x = 3604, - z = 4525, - facing = 1, - }, - { - name = "tankarty", - x = 3604, - z = 4408, - facing = 1, - }, - } - }, - aiConfig = { - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Salters", - allyTeam = 0, - unlocks = { - --"staticantinuke", - "staticmex", - "energysolar", - "staticradar", - "staticcon", - "factoryplane", - "factoryshield", - "factoryspider", - "turretlaser", - "turretmissile", - "turretriot", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretemp", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberriot", - "bomberdisarm", - "bomberheavy", - "shieldcon", - "shieldfelon", - "shieldraid", - "shieldriot", - "shieldshield", - "shieldskirm", - "shieldarty", - "shieldassault", - "shieldaa", - "spidercon", - "spideraa", - "spiderantiheavy", - "spiderassault", - "spidercrabe", - "spideremp", - "spiderriot", - "spiderscout", - "spiderskirm", - }, - commander = false, - startUnits = { - { - name = "staticantinuke", - x = 1970, - z = 4830, - facing = 0, - mapMarker = { - text = "Defend", - color = "green", - }, - }, - --{ - -- name = "staticantinuke", - -- x = 3000, - -- z = 2750, - -- facing = 0, - -- mapMarker = { - -- text = "Defend", - -- color = "green", - -- }, - --}, - { - name = "staticantinuke", - x = 2130, - z = 386, - facing = 0, - mapMarker = { - text = "Defend", - color = "green", - }, - }, - { - name = "planescout", - x = 4471, - z = 1150, - facing = 0, - }, - { - name = "planescout", - x = 4471, - z = 3450, - facing = 0, - }, - { - name = "planescout", - x = 4471, - z = 6200, - facing = 0, - }, - { - name = "staticmex", - x = 776, - z = 888, - facing = 0, - }, - { - name = "staticmex", - x = 856, - z = 1144, - facing = 0, - }, - { - name = "staticmex", - x = 1064, - z = 952, - facing = 0, - }, - { - name = "staticmex", - x = 680, - z = 2856, - facing = 0, - }, - { - name = "staticmex", - x = 1032, - z = 2776, - facing = 0, - }, - { - name = "staticmex", - x = 920, - z = 3064, - facing = 0, - }, - { - name = "staticmex", - x = 1128, - z = 6264, - facing = 0, - }, - { - name = "staticmex", - x = 776, - z = 6296, - facing = 0, - }, - { - name = "staticmex", - x = 1016, - z = 6552, - facing = 0, - }, - { - name = "staticmex", - x = 2376, - z = 6584, - facing = 0, - }, - { - name = "staticmex", - x = 2360, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 2728, - z = 232, - facing = 0, - }, - { - name = "staticmex", - x = 3224, - z = 408, - facing = 0, - }, - { - name = "staticmex", - x = 2344, - z = 2776, - facing = 0, - }, - { - name = "staticmex", - x = 2664, - z = 2568, - facing = 0, - }, - { - name = "staticmex", - x = 2904, - z = 2904, - facing = 0, - }, - { - name = "energygeo", - x = 3160, - z = 1512, - facing = 0, - }, - { - name = "energysolar", - x = 744, - z = 2920, - facing = 0, - }, - { - name = "energysolar", - x = 888, - z = 2952, - facing = 0, - }, - { - name = "energysolar", - x = 952, - z = 2856, - facing = 0, - }, - { - name = "energysolar", - x = 824, - z = 920, - facing = 0, - }, - { - name = "energysolar", - x = 872, - z = 1048, - facing = 0, - }, - { - name = "energysolar", - x = 968, - z = 952, - facing = 0, - }, - { - name = "energysolar", - x = 856, - z = 6328, - facing = 0, - }, - { - name = "energysolar", - x = 968, - z = 6440, - facing = 0, - }, - { - name = "energysolar", - x = 1016, - z = 6296, - facing = 0, - }, - { - name = "energysolar", - x = 2440, - z = 2760, - facing = 0, - }, - { - name = "energysolar", - x = 2584, - z = 2664, - facing = 0, - }, - { - name = "energysolar", - x = 2744, - z = 2664, - facing = 0, - }, - { - name = "energysolar", - x = 2840, - z = 2776, - facing = 0, - }, - { - name = "energysolar", - x = 2440, - z = 408, - facing = 0, - }, - { - name = "energysolar", - x = 2600, - z = 296, - facing = 0, - }, - { - name = "energysolar", - x = 2840, - z = 296, - facing = 0, - }, - { - name = "energysolar", - x = 3000, - z = 360, - facing = 0, - }, - { - name = "energysolar", - x = 3112, - z = 440, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3464, - z = 6232, - facing = 0, - }, - { - name = "turretmissile", - x = 3008, - z = 4864, - facing = 1, - }, - { - name = "staticmex", - x = 3096, - z = 6424, - facing = 0, - }, - { - name = "factoryshield", - x = 2400, - z = 840, - facing = 0, - }, - { - name = "factoryspider", - x = 2376, - z = 2344, - facing = 2, - }, - { - name = "factoryplane", - x = 1456, - z = 6352, - facing = 0, - }, - { - name = "staticcon", - x = 1416, - z = 6504, - facing = 1, - }, - { - name = "staticcon", - x = 1496, - z = 6504, - facing = 1, - }, - { - name = "staticcon", - x = 2360, - z = 664, - facing = 1, - }, - { - name = "staticcon", - x = 2440, - z = 664, - facing = 1, - }, - { - name = "staticcon", - x = 2328, - z = 2472, - facing = 1, - }, - { - name = "staticcon", - x = 2408, - z = 2472, - facing = 1, - }, - { - name = "energypylon", - x = 1496, - z = 2728, - facing = 0, - }, - { - name = "energypylon", - x = 2376, - z = 2584, - facing = 0, - }, - { - name = "energypylon", - x = 3112, - z = 2872, - facing = 0, - }, - { - name = "energypylon", - x = 1416, - z = 1800, - facing = 0, - }, - { - name = "energypylon", - x = 1464, - z = 1000, - facing = 0, - }, - { - name = "energypylon", - x = 2216, - z = 600, - facing = 0, - }, - { - name = "energypylon", - x = 3016, - z = 552, - facing = 0, - }, - { - name = "energypylon", - x = 3528, - z = 344, - facing = 0, - }, - { - name = "energypylon", - x = 1240, - z = 3544, - facing = 0, - }, - { - name = "energypylon", - x = 840, - z = 4248, - facing = 0, - }, - { - name = "energypylon", - x = 888, - z = 5192, - facing = 0, - }, - { - name = "energypylon", - x = 952, - z = 5992, - facing = 0, - }, - { - name = "energypylon", - x = 1640, - z = 6360, - facing = 0, - }, - { - name = "energypylon", - x = 2328, - z = 6232, - facing = 0, - }, - { - name = "energypylon", - x = 2712, - z = 1784, - facing = 0, - }, - { - name = "energypylon", - x = 1768, - z = 4440, - facing = 0, - }, - { - name = "energypylon", - x = 680, - z = 3016, - facing = 0, - }, - { - name = "energyfusion", - x = 456, - z = 2944, - facing = 0, - }, - { - name = "energyfusion", - x = 456, - z = 2800, - facing = 0, - }, - { - name = "turretheavy", - x = 3640, - z = 696, - facing = 1, - }, - { - name = "turretheavy", - x = 3736, - z = 200, - facing = 1, - }, - { - name = "turretheavy", - x = 3208, - z = 2472, - facing = 1, - }, - { - name = "turretheavy", - x = 3368, - z = 2840, - facing = 1, - }, - { - name = "turretheavy", - x = 3064, - z = 3320, - facing = 1, - }, - { - name = "turretheavy", - x = 2648, - z = 5944, - facing = 1, - }, - { - name = "turretheavy", - x = 2536, - z = 6632, - facing = 1, - }, - { - name = "staticheavyradar", - x = 3456, - z = 3328, - facing = 0, - }, - { - name = "shieldassault", - x = 4391, - z = 2805, - facing = 3, - }, - { - name = "turretlaser", - x = 832, - z = 6272, - facing = 1, - }, - { - name = "shieldraid", - x = 6442, - z = 4895, - facing = 1, - }, - { - name = "shieldcon", - x = 4542, - z = 4162, - facing = 1, - }, - { - name = "shieldskirm", - x = 6385, - z = 1561, - facing = 3, - }, - { - name = "shieldarty", - x = 5700, - z = 4511, - facing = 1, - }, - { - name = "spidercon", - x = 4091, - z = 5098, - facing = 2, - }, - { - name = "turretmissile", - x = 3952, - z = 4960, - facing = 1, - }, - { - name = "shieldcon", - x = 2400, - z = 852, - facing = 0, - buildProgress = 0.73570001, - }, - { - name = "turretlaser", - x = 3216, - z = 6736, - facing = 2, - }, - { - name = "turretmissile", - x = 3440, - z = 4736, - facing = 1, - }, - { - name = "turretlaser", - x = 2624, - z = 752, - facing = 1, - }, - { - name = "spideremp", - x = 3949, - z = 3426, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3256, - z = 1848, - facing = 1, - }, - { - name = "spidercon", - x = 4845, - z = 6300, - facing = 1, - }, - { - name = "turretlaser", - x = 2544, - z = 432, - facing = 0, - }, - { - name = "spiderskirm", - x = 3897, - z = 3364, - facing = 2, - }, - { - name = "turretmissile", - x = 3632, - z = 4032, - facing = 1, - }, - { - name = "shieldassault", - x = 4909, - z = 4581, - facing = 1, - }, - { - name = "staticradar", - x = 2400, - z = 304, - facing = 0, - }, - { - name = "shieldraid", - x = 3792, - z = 4188, - facing = 1, - }, - { - name = "staticradar", - x = 976, - z = 6112, - facing = 1, - }, - { - name = "turretaafar", - x = 3504, - z = 6400, - facing = 1, - }, - { - name = "staticradar", - x = 2416, - z = 2848, - facing = 1, - }, - { - name = "turretlaser", - x = 2368, - z = 6496, - facing = 1, - }, - { - name = "turretlaser", - x = 2688, - z = 2704, - facing = 1, - }, - { - name = "staticmex", - x = 3128, - z = 2152, - facing = 0, - }, - { - name = "spidercon", - x = 4551, - z = 2004, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3816, - z = 3720, - facing = 1, - }, - { - name = "spiderassault", - x = 6495, - z = 1692, - facing = 0, - }, - { - name = "turretlaser", - x = 976, - z = 896, - facing = 1, - }, - { - name = "turretlaser", - x = 1200, - z = 4288, - facing = 1, - }, - { - name = "turretlaser", - x = 2208, - z = 1024, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3256, - z = 5064, - facing = 1, - }, - { - name = "turretaalaser", - x = 3176, - z = 2168, - facing = 1, - }, - { - name = "turretlaser", - x = 800, - z = 2960, - facing = 1, - }, - { - name = "staticcon", - x = 2376, - z = 2520, - facing = 1, - }, - { - name = "turretlaser", - x = 3616, - z = 3520, - facing = 1, - }, - { - name = "staticradar", - x = 896, - z = 1136, - facing = 1, - }, - { - name = "staticmex", - x = 4344, - z = 6568, - facing = 0, - }, - { - name = "staticradar", - x = 1344, - z = 4048, - facing = 1, - }, - { - name = "turretaalaser", - x = 3176, - z = 2088, - facing = 1, - }, - { - name = "staticmex", - x = 3432, - z = 2008, - facing = 0, - }, - { - name = "spideremp", - x = 3906, - z = 3461, - facing = 2, - }, - { - name = "staticradar", - x = 3056, - z = 6384, - facing = 2, - }, - { - name = "shieldarty", - x = 5709, - z = 4416, - facing = 0, - }, - { - name = "turretlaser", - x = 2160, - z = 816, - facing = 1, - }, - { - name = "staticrearm", - x = 1448, - z = 6152, - facing = 0, - }, - { - name = "spiderassault", - x = 5092, - z = 4516, - facing = 1, - }, - { - name = "shieldassault", - x = 4271, - z = 2192, - facing = 0, - }, - { - name = "staticmex", - x = 4600, - z = 872, - facing = 0, - }, - { - name = "staticradar", - x = 3312, - z = 4576, - facing = 1, - }, - { - name = "spidercrabe", - x = 2376, - z = 2308, - facing = 2, - buildProgress = 0.77850002, - }, - { - name = "shieldarty", - x = 3863, - z = 3390, - facing = 2, - }, - { - name = "turretlaser", - x = 3216, - z = 4864, - facing = 1, - }, - { - name = "shieldassault", - x = 4878, - z = 4610, - facing = 2, - }, - { - name = "factoryshield", - x = 3280, - z = 6184, - facing = 0, - }, - { - name = "shieldcon", - x = 4179, - z = 5660, - facing = 2, - }, - { - name = "staticmex", - x = 4152, - z = 4920, - facing = 0, - buildProgress = 0.87330002, - }, - { - name = "turretaalaser", - x = 3320, - z = 3720, - facing = 1, - }, - { - name = "turretaalaser", - x = 3416, - z = 4952, - facing = 1, - }, - { - name = "turretlaser", - x = 4400, - z = 6608, - facing = 2, - buildProgress = 0.24250001, - }, - { - name = "spidercon", - x = 3535, - z = 2521, - facing = 0, - }, - { - name = "shieldraid", - x = 1998, - z = 2015, - facing = 3, - }, - { - name = "shieldraid", - x = 6491, - z = 4900, - facing = 1, - }, - { - name = "shieldraid", - x = 5256, - z = 4530, - facing = 1, - }, - { - name = "shieldraid", - x = 6393, - z = 4910, - facing = 1, - }, - { - name = "turretlaser", - x = 4432, - z = 4240, - facing = 1, - }, - { - name = "staticmex", - x = 4568, - z = 4216, - facing = 0, - }, - { - name = "shieldassault", - x = 4835, - z = 4608, - facing = 1, - }, - { - name = "shieldraid", - x = 1926, - z = 2070, - facing = 3, - }, - { - name = "shieldcon", - x = 4555, - z = 971, - facing = 1, - }, - { - name = "shieldcon", - x = 4308, - z = 6582, - facing = 1, - }, - { - name = "staticmex", - x = 3624, - z = 2696, - facing = 0, - }, - { - name = "turretlaser", - x = 3120, - z = 4672, - facing = 1, - }, - { - name = "spidercrabe", - x = 6632, - z = 1324, - facing = 0, - }, - { - name = "turretmissile", - x = 3376, - z = 2144, - facing = 1, - }, - { - name = "turretlaser", - x = 2336, - z = 576, - facing = 1, - }, - { - name = "spiderassault", - x = 3895, - z = 3409, - facing = 2, - }, - { - name = "spiderassault", - x = 5140, - z = 4512, - facing = 1, - }, - { - name = "turretaalaser", - x = 3560, - z = 6232, - facing = 0, - }, - { - name = "turretmissile", - x = 2608, - z = 976, - facing = 1, - }, - { - name = "shieldassault", - x = 2990, - z = 1210, - facing = 1, - }, - { - name = "turretlaser", - x = 3824, - z = 4800, - facing = 1, - }, - { - name = "shieldraid", - x = 5278, - z = 4549, - facing = 1, - }, - { - name = "turretaalaser", - x = 3592, - z = 6536, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3320, - z = 6696, - facing = 0, - }, - { - name = "shieldaa", - x = 4265, - z = 3674, - facing = 3, - }, - { - name = "staticmex", - x = 3640, - z = 3704, - facing = 0, - }, - { - name = "shieldshield", - x = 1463, - z = 3146, - facing = 0, - }, - { - name = "shieldassault", - x = 4940, - z = 4551, - facing = 1, - }, - { - name = "staticmex", - x = 3384, - z = 6584, - facing = 0, - }, - { - name = "staticmex", - x = 3160, - z = 6824, - facing = 0, - }, - { - name = "spideraa", - x = 5767, - z = 4120, - facing = 3, - }, - { - name = "turretaalaser", - x = 3832, - z = 3544, - facing = 1, - }, - { - name = "shieldassault", - x = 4319, - z = 2835, - facing = 0, - }, - { - name = "spideremp", - x = 3865, - z = 3450, - facing = 1, - }, - { - name = "staticmex", - x = 3752, - z = 3496, - facing = 0, - }, - { - name = "shieldraid", - x = 5308, - z = 4559, - facing = 1, - }, - { - name = "shieldraid", - x = 1800, - z = 2170, - facing = 3, - }, - { - name = "shieldassault", - x = 3284, - z = 6210, - facing = 0, - buildProgress = 0.34999999, - }, - { - name = "turretmissile", - x = 4640, - z = 4112, - facing = 1, - buildProgress = 0.63330001, - }, - { - name = "turretmissile", - x = 3712, - z = 2624, - facing = 1, - buildProgress = 0.7374, - }, - { - name = "staticmex", - x = 5048, - z = 6328, - facing = 0, - buildProgress = 0.30329999, - }, - { - name = "shieldassault", - x = 4334, - z = 664, - facing = 0, - }, - { - name = "shieldassault", - x = 4304, - z = 874, - facing = 0, - }, - { - name = "shieldassault", - x = 4450, - z = 1130, - facing = 0, - }, - { - name = "shieldassault", - x = 4455, - z = 868, - facing = 0, - }, - { - name = "shieldassault", - x = 4378, - z = 1468, - facing = 0, - }, - { - name = "shieldraid", - x = 4415, - z = 1283, - facing = 0, - }, - { - name = "shieldraid", - x = 4379, - z = 943, - facing = 0, - }, - { - name = "shieldraid", - x = 4440, - z = 733, - facing = 0, - }, - { - name = "shieldraid", - x = 4353, - z = 427, - facing = 0, - }, - { - name = "shieldraid", - x = 4304, - z = 1703, - facing = 0, - }, - { - name = "spidercrabe", - x = 4401, - z = 1674, - facing = 0, - }, - { - name = "spidercrabe", - x = 4142, - z = 1885, - facing = 0, - }, - { - name = "spideraa", - x = 4220, - z = 1119, - facing = 0, - }, - { - name = "spideraa", - x = 4166, - z = 1517, - facing = 0, - }, - { - name = "spideraa", - x = 4081, - z = 1726, - facing = 0, - }, - { - name = "spideraa", - x = 4083, - z = 1232, - facing = 0, - }, - { - name = "turretlaser", - x = 2030, - z = 4960, - facing = 0, - }, - } - }, - { - startX = 9867, - startZ = 4521, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Uraynites", - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "staticradar", - "staticcon", - "factorygunship", - "factoryjump", - "factoryspider", - "factoryveh", - "planecon", - "turretlaser", - "turretmissile", - "turretriot", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretemp", - "gunshipaa", - "gunshipassault", - "gunshipbomb", - "gunshipcon", - "gunshipemp", - "gunshipheavyskirm", - "gunshipraid", - "gunshipskirm", - "jumpcon", - "jumpaa", - "jumpassault", - "jumpblackhole", - "jumpraid", - "jumpscout", - "jumpskirm", - "jumparty", - "spidercon", - "spideraa", - "spiderantiheavy", - "spiderassault", - "spidercrabe", - "spideremp", - "spiderriot", - "spiderscout", - "spiderskirm", - "shieldcon", - "shieldfelon", - "shieldraid", - "shieldriot", - "shieldshield", - "shieldskirm", - "shieldarty", - "shieldassault", - "shieldaa", - "vehcon", - "vehaa", - "veharty", - "vehassault", - "vehheavyarty", - "vehraid", - "vehriot", - "vehscout", - "vehsupport", - }, - difficultyDependantUnlocks = { - [2] = {"spiderantiheavy"}, - [3] = {"spiderantiheavy","vehcapture"}, - [4] = {"spiderantiheavy","vehcapture","striderhub","striderantiheavy"}, - }, - commanderLevel = 4, - commander = { - name = "Galatine", - chassis = "guardian", - decorations = { - }, - modules = { - "commweapon_heatray", - "commweapon_heatray", - "commweapon_personal_shield", - "module_heavy_armor", - "module_heavy_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_dmg_booster", - "module_dmg_booster", - } - }, - startUnits = { - { - name = "staticnuke", - x = 9670, - z = 5200, - facing = 0, - mapMarker = { - text = "Nuclear Silo", - color = "red", - }, - }, - { - name = "staticantinuke", - x = 8900, - z = 1300, - facing = 0, - }, - { - name = "staticantinuke", - x = 10000, - z = 4700, - facing = 0, - }, - { - name = "vehassault", - x = 8800, - z = 4700, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 8800, - z = 4800, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 8800, - z = 4900, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 8800, - z = 5000, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "vehassault", - x = 8800, - z = 5100, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "vehassault", - x = 8800, - z = 5200, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "vehraid", - x = 8900, - z = 4700, - facing = 3, - }, - { - name = "vehraid", - x = 8900, - z = 4800, - facing = 3, - }, - { - name = "vehraid", - x = 8900, - z = 4900, - facing = 3, - }, - { - name = "vehraid", - x = 8900, - z = 5000, - facing = 3, - }, - { - name = "vehraid", - x = 8900, - z = 5100, - facing = 3, - }, - { - name = "vehraid", - x = 8900, - z = 5200, - facing = 3, - }, - { - name = "striderantiheavy", - x = 9900, - z = 6000, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "striderhub", - x = 10000, - z = 6000, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "turretemp", - x = 9464, - z = 5000, - facing = 3, - }, - { - name = "turretemp", - x = 9464, - z = 5400, - facing = 3, - }, - { - name = "turretemp", - x = 9864, - z = 5000, - facing = 3, - }, - { - name = "turretemp", - x = 9864, - z = 5400, - facing = 3, - }, - { - name = "turretaaclose", - x = 9464, - z = 5192, - facing = 3, - }, - { - name = "turretaaflak", - x = 9656, - z = 5400, - facing = 3, - }, - { - name = "turretaaclose", - x = 9864, - z = 5192, - facing = 3, - }, - { - name = "turretaaflak", - x = 9656, - z = 5000, - facing = 3, - }, - { - name = "turretheavylaser", - x = 9200, - z = 5192, - facing = 3, - }, - { - name = "turretheavylaser", - x = 9656, - z = 5600, - facing = 3, - }, - { - name = "turretheavylaser", - x = 10000, - z = 5192, - facing = 3, - }, - { - name = "turretheavylaser", - x = 9656, - z = 4800, - facing = 3, - }, - { - name = "staticmex", - x = 10360, - z = 968, - facing = 0, - }, - { - name = "staticmex", - x = 10536, - z = 824, - facing = 0, - }, - { - name = "staticmex", - x = 10664, - z = 1096, - facing = 0, - }, - { - name = "staticmex", - x = 10328, - z = 2760, - facing = 0, - }, - { - name = "staticmex", - x = 10552, - z = 2936, - facing = 0, - }, - { - name = "staticmex", - x = 10600, - z = 2648, - facing = 0, - }, - { - name = "staticmex", - x = 9944, - z = 4136, - facing = 0, - }, - { - name = "staticmex", - x = 10056, - z = 4552, - facing = 0, - }, - { - name = "staticmex", - x = 10232, - z = 4392, - facing = 0, - }, - { - name = "staticmex", - x = 10232, - z = 6312, - facing = 0, - }, - { - name = "staticmex", - x = 10376, - z = 6072, - facing = 0, - }, - { - name = "staticmex", - x = 10552, - z = 6376, - facing = 0, - }, - { - name = "energypylon", - x = 8920, - z = 6216, - facing = 0, - }, - { - name = "staticmex", - x = 8056, - z = 392, - facing = 0, - }, - { - name = "staticmex", - x = 8568, - z = 200, - facing = 0, - }, - { - name = "staticmex", - x = 9000, - z = 408, - facing = 0, - }, - { - name = "staticmex", - x = 8488, - z = 2744, - facing = 0, - }, - { - name = "staticmex", - x = 8920, - z = 2568, - facing = 0, - }, - { - name = "staticmex", - x = 8952, - z = 2904, - facing = 0, - }, - { - name = "energygeo", - x = 8120, - z = 1464, - facing = 0, - }, - { - name = "energygeo", - x = 9128, - z = 4440, - facing = 0, - }, - { - name = "energysolar", - x = 8184, - z = 360, - facing = 0, - }, - { - name = "energysolar", - x = 8360, - z = 312, - facing = 0, - }, - { - name = "energysolar", - x = 8520, - z = 280, - facing = 0, - }, - { - name = "energysolar", - x = 8696, - z = 296, - facing = 0, - }, - { - name = "energysolar", - x = 8856, - z = 376, - facing = 0, - }, - { - name = "energysolar", - x = 8600, - z = 2712, - facing = 0, - }, - { - name = "energysolar", - x = 8760, - z = 2664, - facing = 0, - }, - { - name = "energysolar", - x = 8936, - z = 2680, - facing = 0, - }, - { - name = "energysolar", - x = 9000, - z = 2824, - facing = 0, - }, - { - name = "energysolar", - x = 10456, - z = 904, - facing = 0, - }, - { - name = "energysolar", - x = 10584, - z = 1000, - facing = 0, - }, - { - name = "energysolar", - x = 10472, - z = 1048, - facing = 0, - }, - { - name = "energysolar", - x = 10424, - z = 2744, - facing = 0, - }, - { - name = "energysolar", - x = 10552, - z = 2728, - facing = 0, - }, - { - name = "energysolar", - x = 10504, - z = 2840, - facing = 0, - }, - { - name = "energysolar", - x = 10008, - z = 4248, - facing = 0, - }, - { - name = "energysolar", - x = 10136, - z = 4360, - facing = 0, - }, - { - name = "energysolar", - x = 10024, - z = 4440, - facing = 0, - }, - { - name = "energysolar", - x = 10312, - z = 6184, - facing = 0, - }, - { - name = "energysolar", - x = 10440, - z = 6296, - facing = 0, - }, - { - name = "energysolar", - x = 10472, - z = 6152, - facing = 0, - }, - { - name = "staticmex", - x = 8328, - z = 4536, - facing = 0, - }, - { - name = "staticmex", - x = 8136, - z = 4792, - facing = 0, - }, - { - name = "energysolar", - x = 8344, - z = 4664, - facing = 0, - }, - { - name = "energysolar", - x = 8248, - z = 4760, - facing = 0, - }, - { - name = "factoryjump", - x = 8728, - z = 712, - facing = 0, - }, - { - name = "factorygunship", - x = 9736, - z = 6264, - facing = 3, - }, - { - name = "staticcon", - x = 9928, - z = 6264, - facing = 3, - }, - { - name = "staticcon", - x = 10024, - z = 6264, - facing = 3, - }, - { - name = "factoryspider", - x = 8856, - z = 2232, - facing = 2, - }, - { - name = "staticcon", - x = 8808, - z = 2376, - facing = 3, - }, - { - name = "staticcon", - x = 8904, - z = 2376, - facing = 3, - }, - { - name = "staticcon", - x = 8696, - z = 568, - facing = 3, - }, - { - name = "staticcon", - x = 8776, - z = 568, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 440, - facing = 0, - }, - { - name = "energypylon", - x = 8744, - z = 440, - facing = 0, - }, - { - name = "energypylon", - x = 9704, - z = 584, - facing = 0, - }, - { - name = "energypylon", - x = 10184, - z = 1320, - facing = 0, - }, - { - name = "energypylon", - x = 8440, - z = 1176, - facing = 0, - }, - { - name = "energypylon", - x = 9768, - z = 2792, - facing = 0, - }, - { - name = "energypylon", - x = 10312, - z = 2200, - facing = 0, - }, - { - name = "energypylon", - x = 10056, - z = 3624, - facing = 0, - }, - { - name = "energypylon", - x = 10328, - z = 4376, - facing = 0, - }, - { - name = "energypylon", - x = 8136, - z = 2888, - facing = 0, - }, - { - name = "energypylon", - x = 8808, - z = 2856, - facing = 0, - }, - { - name = "energypylon", - x = 10136, - z = 5208, - facing = 0, - }, - { - name = "energypylon", - x = 10216, - z = 5944, - facing = 0, - }, - { - name = "energypylon", - x = 9704, - z = 6456, - facing = 0, - }, - { - name = "staticmex", - x = 9032, - z = 6504, - facing = 0, - }, - { - name = "energypylon", - x = 9480, - z = 4504, - facing = 0, - }, - { - name = "energypylon", - x = 10552, - z = 3000, - facing = 0, - }, - { - name = "energyfusion", - x = 10584, - z = 3136, - facing = 0, - }, - { - name = "energyfusion", - x = 10424, - z = 3248, - facing = 0, - }, - { - name = "turretheavy", - x = 7480, - z = 600, - facing = 3, - }, - { - name = "turretheavy", - x = 8960, - z = 4480, - facing = 3, - }, - { - name = "turretheavy", - x = 8470, - z = 6320, - facing = 3, - }, - { - name = "turretheavy", - x = 9320, - z = 6320, - facing = 2, - }, - -- { - -- name = "turretheavy", - -- x = 9000, - -- z = 5920, - -- facing = 2, - -- }, - { - name = "turretheavy", - x = 7464, - z = 264, - facing = 3, - }, - { - name = "turretheavy", - x = 7944, - z = 2472, - facing = 3, - }, - { - name = "turretheavy", - x = 7832, - z = 3000, - facing = 3, - }, - { - name = "turretheavy", - x = 8830, - z = 3390, - facing = 0, - }, - -- { - -- name = "turretheavy", - -- x = 8584, - -- z = 6088, - -- facing = 3, - -- }, - -- { - -- name = "turretheavy", - -- x = 8776, - -- z = 6632, - -- facing = 3, - -- }, - { - name = "factoryveh", - x = 9784, - z = 3848, - facing = 3, - }, - { - name = "staticcon", - x = 9896, - z = 3928, - facing = 3, - }, - { - name = "staticcon", - x = 9896, - z = 3832, - facing = 3, - }, - { - name = "staticcon", - x = 9896, - z = 3736, - facing = 3, - }, - { - name = "staticheavyradar", - x = 7872, - z = 3296, - facing = 0, - }, - { - name = "dynassault3_10", - x = 7646, - z = 1259, - facing = 1, - }, - { - name = "spiderassault", - x = 4801, - z = 3024, - facing = 0, - }, - { - name = "spidercon", - x = 6747, - z = 2087, - facing = 1, - }, - { - name = "gunshipemp", - x = 7250, - z = 1922, - facing = 2, - }, - { - name = "spidercon", - x = 5386, - z = 2946, - facing = 2, - }, - { - name = "vehraid", - x = 6948, - z = 3610, - facing = 1, - }, - { - name = "vehraid", - x = 5042, - z = 2791, - facing = 3, - }, - { - name = "spiderantiheavy", - x = 6694, - z = 3681, - facing = 2, - }, - { - name = "vehcon", - x = 6073, - z = 3506, - facing = 3, - }, - { - name = "spideremp", - x = 6397, - z = 3344, - facing = 0, - }, - { - name = "jumpraid", - x = 4411, - z = 2952, - facing = 3, - }, - { - name = "turretmissile", - x = 8976, - z = 672, - facing = 3, - }, - { - name = "gunshipheavyskirm", - x = 5906, - z = 1150, - facing = 1, - }, - { - name = "jumpassault", - x = 8728, - z = 736, - facing = 0, - buildProgress = 0.89499998, - }, - { - name = "vehassault", - x = 9007, - z = 3717, - facing = 3, - }, - { - name = "vehcon", - x = 6954, - z = 1735, - facing = 2, - }, - { - name = "jumpcon", - x = 7056, - z = 2224, - facing = 2, - }, - { - name = "spideremp", - x = 6559, - z = 2209, - facing = 3, - }, - { - name = "jumpassault", - x = 7411, - z = 939, - facing = 2, - }, - { - name = "spiderassault", - x = 4836, - z = 3209, - facing = 3, - }, - { - name = "vehassault", - x = 7572, - z = 3773, - facing = 1, - }, - { - name = "gunshipaa", - x = 5393, - z = 2919, - facing = 2, - }, - { - name = "jumpcon", - x = 5350, - z = 2998, - facing = 3, - }, - { - name = "spidercrabe", - x = 4780, - z = 2880, - facing = 0, - }, - { - name = "turretlaser", - x = 8496, - z = 608, - facing = 3, - }, - { - name = "vehheavyarty", - x = 7400, - z = 3979, - facing = 1, - }, - { - name = "vehraid", - x = 5053, - z = 2812, - facing = 3, - }, - { - name = "vehheavyarty", - x = 6856, - z = 3556, - facing = 1, - }, - { - name = "vehaa", - x = 6296, - z = 3350, - facing = 2, - }, - { - name = "turretlaser", - x = 8704, - z = 432, - facing = 3, - }, - { - name = "jumpassault", - x = 4495, - z = 3192, - facing = 0, - }, - { - name = "jumpcon", - x = 7472, - z = 1450, - facing = 2, - }, - { - name = "turretlaser", - x = 8544, - z = 848, - facing = 3, - }, - { - name = "spidercrabe", - x = 4834, - z = 2868, - facing = 0, - }, - { - name = "jumparty", - x = 7153, - z = 3972, - facing = 1, - }, - { - name = "spidercon", - x = 5006, - z = 2723, - facing = 3, - }, - { - name = "jumpraid", - x = 8506, - z = 1859, - facing = 1, - }, - { - name = "vehscout", - x = 6711, - z = 3649, - facing = 1, - }, - { - name = "jumpraid", - x = 5258, - z = 2907, - facing = 2, - }, - { - name = "spiderantiheavy", - x = 6294, - z = 3438, - facing = 0, - }, - { - name = "vehassault", - x = 6339, - z = 3333, - facing = 1, - }, - { - name = "jumparty", - x = 8653, - z = 885, - facing = 2, - }, - { - name = "spideremp", - x = 6523, - z = 2231, - facing = 3, - }, - { - name = "gunshipassault", - x = 6486, - z = 1077, - facing = 0, - }, - { - name = "vehraid", - x = 5044, - z = 2767, - facing = 2, - }, - { - name = "gunshipassault", - x = 6716, - z = 1049, - facing = 0, - }, - { - name = "vehheavyarty", - x = 7121, - z = 3553, - facing = 1, - }, - { - name = "vehcon", - x = 6310, - z = 3387, - facing = 2, - }, - { - name = "jumpcon", - x = 5160, - z = 3100, - facing = 1, - }, - { - name = "gunshipraid", - x = 4671, - z = 2275, - facing = 3, - }, - { - name = "spiderassault", - x = 6145, - z = 3209, - facing = 1, - }, - { - name = "spiderassault", - x = 5400, - z = 2826, - facing = 1, - }, - { - name = "spiderassault", - x = 4773, - z = 2989, - facing = 1, - }, - { - name = "spiderassault", - x = 4716, - z = 3163, - facing = 0, - }, - { - name = "vehraid", - x = 5026, - z = 2811, - facing = 2, - }, - { - name = "vehraid", - x = 5055, - z = 2836, - facing = 2, - }, - { - name = "spidercon", - x = 7498, - z = 1562, - facing = 0, - }, - { - name = "jumpcon", - x = 8695, - z = 875, - facing = 2, - }, - { - name = "spiderriot", - x = 4536, - z = 3107, - facing = 3, - }, - { - name = "vehcon", - x = 5158, - z = 3197, - facing = 3, - }, - { - name = "vehassault", - x = 9144, - z = 3785, - facing = 3, - }, - { - name = "gunshipassault", - x = 6693, - z = 1032, - facing = 3, - }, - { - name = "factoryshield", - x = 8112, - z = 6136, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7368, - z = 6632, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7848, - z = 5864, - facing = 0, - }, - { - name = "turretaafar", - x = 7632, - z = 6352, - facing = 3, - }, - { - name = "vehraid", - x = 5017, - z = 2788, - facing = 2, - }, - { - name = "vehraid", - x = 9829, - z = 2596, - facing = 0, - }, - { - name = "gunshipheavyskirm", - x = 7373, - z = 3183, - facing = 2, - }, - { - name = "spiderassault", - x = 6484, - z = 2216, - facing = 2, - }, - { - name = "jumpraid", - x = 8028, - z = 1485, - facing = 1, - }, - { - name = "spidercrabe", - x = 8856, - z = 2196, - facing = 2, - buildProgress = 0.74180001, - }, - { - name = "vehcon", - x = 8493, - z = 4023, - facing = 3, - }, - { - name = "jumpcon", - x = 7803, - z = 1208, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8056, - z = 4040, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8504, - z = 4488, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8472, - z = 4984, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7768, - z = 5592, - facing = 3, - }, - { - name = "turretlaser", - x = 7408, - z = 5632, - facing = 3, - }, - { - name = "turretlaser", - x = 7696, - z = 5056, - facing = 3, - }, - { - name = "turretlaser", - x = 7792, - z = 4592, - facing = 3, - }, - { - name = "turretlaser", - x = 7584, - z = 4112, - facing = 3, - }, - { - name = "turretlaser", - x = 7424, - z = 3680, - facing = 3, - }, - { - name = "turretlaser", - x = 9088, - z = 3648, - facing = 3, - }, - { - name = "turretlaser", - x = 9280, - z = 4224, - facing = 3, - }, - { - name = "turretlaser", - x = 9136, - z = 4832, - facing = 3, - }, - { - name = "turretlaser", - x = 8880, - z = 5424, - facing = 3, - }, - { - name = "turretlaser", - x = 8432, - z = 5568, - facing = 3, - }, - { - name = "shieldcon", - x = 7722, - z = 6569, - facing = 0, - }, - { - name = "shieldcon", - x = 7981, - z = 6375, - facing = 0, - }, - { - name = "shieldcon", - x = 7877, - z = 6481, - facing = 0, - }, - { - name = "shieldcon", - x = 7827, - z = 6722, - facing = 0, - }, - { - name = "shieldraid", - x = 6894, - z = 6448, - facing = 0, - }, - { - name = "shieldraid", - x = 7028, - z = 6247, - facing = 0, - }, - { - name = "shieldraid", - x = 7120, - z = 6346, - facing = 0, - }, - { - name = "shieldraid", - x = 7222, - z = 6174, - facing = 0, - }, - { - name = "shieldraid", - x = 7118, - z = 5895, - facing = 0, - }, - { - name = "shieldraid", - x = 7222, - z = 5519, - facing = 0, - }, - { - name = "shieldskirm", - x = 7373, - z = 6037, - facing = 0, - }, - { - name = "shieldskirm", - x = 7477, - z = 5848, - facing = 0, - }, - { - name = "shieldskirm", - x = 7240, - z = 6587, - facing = 0, - }, - { - name = "spiderscout", - x = 2280, - z = 290, - facing = 0, - }, - { - name = "spiderscout", - x = 2980, - z = 3050, - facing = 0, - }, - { - name = "spiderscout", - x = 1830, - z = 5170, - facing = 0, - }, - { - name = "turretaafar", - x = 8624, - z = 5852, - facing = 3, - }, - { - name = "turretaafar", - x = 7960, - z = 2816, - facing = 3, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "staticnuke", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the Nuclear Silo", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make twelve Reapers - satisfyOnce = true, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, -- You start with 5. - unitTypes = { - "tankassault", - }, - image = planetUtilities.ICON_DIR .. "tankassault.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 7 Minotaurs", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 900, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 15:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "tankassault", - "tankarty", - "tankaa", - }, - modules = { - "commweapon_heatray", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet41.lua b/campaign/dev/planets/planet41.lua deleted file mode 100644 index 7f79da8a1..000000000 --- a/campaign/dev/planets/planet41.lua +++ /dev/null @@ -1,863 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran03_damaged.png" - - local planetData = { - name = "Aspiris", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.435, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.19, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "5350 km", - primary = "Ahdas Las", - primaryType = "G7V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[Negotiations with the local warlord regarding access to this planet's Warp Gates have gone poorly. It's time for plan B: take the Gates by force. Make sure your Commander is loaded out for a fight.]] - }, - tips = { - { - image = "unitpics/tankcon.png", - text = [[Unlike all other constructors, the Welder is armed and sturdy. It is better able to weather raids until reinforcements arrive and can even beat a small number of raiders in a fight.]] - }, - { - image = "unitpics/tankheavyraid.png", - text = [[The Blitz heavy tank raider will go toe-to-toe with any other raider - its high HP and lightning weaponry give it a significant edge. However, it is fairly inefficient due to its comparatively high cost.]] - }, - { - image = "unitpics/cremcom.png", - text = [[Your Commander begins this mission in an exposed location. After you survive the ambush, build turrets quickly or retreat to your main base to keep your Commander safe.]] - }, - }, - gameConfig = { - mapName = "Rogues River v1.2", - playerConfig = { - startX = 2060, - startZ = 4760, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - facing = 1, - }, - extraUnlocks = { - "factorytank", - "tankcon", - "tankassault", - "tankriot", - "tankheavyraid", - }, - startUnits = { - { - name = "factorytank", - x = 3216, - z = 480, - facing = 0, - }, - { - name = "staticmex", - x = 3304, - z = 136, - facing = 0, - }, - { - name = "staticmex", - x = 3100, - z = 167, - facing = 0, - }, - { - name = "staticmex", - x = 2660, - z = 103, - facing = 0, - }, - { - name = "staticmex", - x = 2820, - z = 88, - facing = 0, - }, - { - name = "tankheavyraid", - x = 3400, - z = 950, - facing = 0, - }, - { - name = "tankheavyraid", - x = 3250, - z = 950, - facing = 0, - }, - { - name = "tankarty", - x = 3250, - z = 825, - facing = 0, - }, - { - name = "tankarty", - x = 3400, - z = 825, - facing = 0, - }, - { - name = "energysolar", - x = 2840, - z = 216, - facing = 0, - }, - { - name = "energysolar", - x = 2984, - z = 152, - facing = 0, - }, - { - name = "energysolar", - x = 2530, - z = 72, - facing = 0, - }, - { - name = "energysolar", - x = 3016, - z = 296, - facing = 0, - }, - { - name = "energysolar", - x = 3178, - z = 268, - facing = 0, - }, - { - name = "energysolar", - x = 2696, - z = 216, - facing = 0, - }, - { - name = "energysolar", - x = 2792, - z = 328, - facing = 0, - }, - { - name = "turretlaser", - x = 2480, - z = 272, - facing = 0, - }, - { - name = "turretlaser", - x = 2736, - z = 544, - facing = 0, - }, - { - name = "tankcon", - x = 2940, - z = 500, - facing = 0, - }, - { - name = "tankcon", - x = 2940, - z = 700, - facing = 0, - }, - { - name = "turretlaser", - x = 3488, - z = 688, - facing = 1, - }, - { - name = "turretlaser", - x = 3584, - z = 336, - facing = 1, - }, - { - name = "turretaaclose", - x = 3000, - z = 408, - facing = 0, - }, - { - name = "staticradar", - x = 3360, - z = 1056, - facing = 0, - }, - { - name = "tankriot", - x = 2103, - z = 4973, - facing = 1, - }, - { - name = "tankriot", - x = 2120, - z = 4547, - facing = 1, - }, - { - name = "planelightscout", - x = 1846, - z = 4698, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1200, 4698}}, - }, - }, - { - name = "staticmex", - x = 4296, - z = 408, - facing = 0, - difficultyAtMost = 3, - }, - { - name = "staticmex", - x = 4408, - z = 136, - facing = 0, - difficultyAtMost = 3, - }, - { - name = "turretlaser", - x = 4416, - z = 320, - facing = 0, - difficultyAtMost = 3, - }, - } - }, - aiConfig = { - { - startX = 2626, - startZ = 4743, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Spurs", - commanderParameters = { - facplop = false, - bonusObjectiveID = 1, - facing = 3, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticradar", - "staticmex", - "energysolar", - "energygeo", - "hovercon", - "hoverraid", - "hoverriot", - "hoverassault", - "hoveraa", - "shieldraid", - "shieldriot", - "shieldskirm", - "shieldassault", - "shieldbomb", - "shieldaa", - }, - difficultyDependantUnlocks = { - [2] = {"hoverskirm"}, - [3] = {"hoverskirm","shieldcon"}, - [4] = {"hoverskirm","shieldcon","hoverarty","shieldarty"}, - }, - commanderLevel = 4, - commander = { - name = "DeeTeeCee", - chassis = "strike", - decorations = { - }, - modules = { - "commweapon_lparticlebeam", - "commweapon_missilelauncher", - "module_high_power_servos", - "module_adv_nano", - "module_adv_nano", - "module_jammer", - "module_adv_targeting", - "module_autorepair", - "module_dmg_booster" - } - }, - startUnits = { - { - name = "turretaalaser", - x = 6600, - z = 4248, - facing = 3, - }, - { - name = "turretheavylaser", - x = 3848, - z = 6536, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4312, - z = 6584, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4872, - z = 7032, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3336, - z = 6808, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6152, - z = 3768, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6904, - z = 3480, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6488, - z = 4440, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6888, - z = 5016, - facing = 3, - }, - { - name = "turretemp", - x = 6560, - z = 3728, - facing = 3, - }, - { - name = "turretemp", - x = 6256, - z = 4144, - facing = 3, - }, - { - name = "turretemp", - x = 6768, - z = 4704, - facing = 3, - }, - { - name = "turretriot", - x = 3624, - z = 6760, - facing = 2, - }, - { - name = "turretriot", - x = 4104, - z = 6360, - facing = 2, - }, - { - name = "turretriot", - x = 4648, - z = 6808, - facing = 2, - }, - { - name = "turretriot", - x = 3304, - z = 7048, - facing = 3, - }, - { - name = "staticstorage", - x = 3560, - z = 7128, - facing = 0, - }, - { - name = "staticstorage", - x = 3640, - z = 7128, - facing = 0, - }, - { - name = "staticstorage", - x = 7096, - z = 4616, - facing = 0, - }, - { - name = "staticstorage", - x = 7096, - z = 4696, - facing = 0, - }, - { - name = "energysolar", - x = 4100, - z = 6900, - facing = 0, - }, - { - name = "energysolar", - x = 4232, - z = 6936, - facing = 0, - }, - { - name = "energysolar", - x = 4230, - z = 7064, - facing = 0, - }, - { - name = "energysolar", - x = 6936, - z = 4232, - facing = 0, - }, - { - name = "energysolar", - x = 7048, - z = 4152, - facing = 0, - }, - { - name = "energysolar", - x = 6890, - z = 4345, - facing = 0, - }, - { - name = "staticmex", - x = 3864, - z = 7030, - facing = 0, - }, - { - name = "staticmex", - x = 4072, - z = 7016, - facing = 0, - }, - { - name = "staticmex", - x = 4345, - z = 7100, - facing = 0, - }, - { - name = "staticmex", - z = 3864, - x = 7030, - facing = 0, - }, - { - name = "staticmex", - z = 4072, - x = 7016, - facing = 0, - }, - { - name = "staticmex", - z = 4345, - x = 7100, - facing = 0, - }, - { - name = "factoryhover", - x = 3580, - z = 6980, - facing = 2, - }, - { - name = "factoryshield", - x = 6880, - z = 3950, - facing = 3, - }, - { - name = "turretgauss", - x = 360, - z = 3064, - facing = 1, - }, - { - name = "turretlaser", - x = 464, - z = 2992, - facing = 1, - }, - { - name = "turretlaser", - x = 240, - z = 3008, - facing = 2, - }, - { - name = "turretlaser", - x = 368, - z = 3184, - facing = 0, - }, - { - name = "turretaafar", - x = 4080, - z = 6528, - facing = 2, - }, - { - name = "turretaaclose", - x = 6296, - z = 3912, - facing = 3, - }, - { - name = "turretaalaser", - x = 6744, - z = 3816, - facing = 3, - }, - { - name = "staticradar", - x = 6090, - z = 4000, - facing = 3, - }, - { - name = "shieldskirm", - x = 6700, - z = 3900, - facing = 3, - }, - { - name = "shieldriot", - x = 6700, - z = 4030, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "shieldcon", - x = 6700, - z = 4060, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "shieldfelon", - x = 6700, - z = 4100, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "hovercon", - x = 4480, - z = 6900, - facing = 3, - }, - { - name = "hoverskirm", - x = 4500, - z = 6900, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "hoverriot", - x = 4530, - z = 6900, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "hoverarty", - x = 4600, - z = 6900, - facing = 3, - difficultyAtLeast = 4, - }, - } - }, - { - humanName = "Ambushers", - aiLib = "Null AI", - bitDependant = false, - --aiLib = "Circuit_difficulty_autofill", - --bitDependant = true, - allyTeam = 1, - unlocks = { - }, - commander = false, - startUnits = { - { - name = "hoverriot", - x = 2687, - z = 4864, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldraid", - x = 1240, - z = 3945, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldskirm", - x = 1411, - z = 3854, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldassault", - x = 1324, - z = 3897, - facing = 0, - difficultyAtLeast = 2, - difficultyAtMost = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldfelon", - x = 1324, - z = 3897, - facing = 0, - difficultyAtLeast = 4, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldraid", - x = 1521, - z = 3806, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldskirm", - x = 1188, - z = 5455, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldassault", - x = 1312, - z = 5543, - facing = 0, - difficultyAtLeast = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldraid", - x = 1442, - z = 5636, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "shieldraid", - x = 1594, - z = 5665, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "hoverskirm", - x = 2751, - z = 4735, - facing = 3, - difficultyAtLeast = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - { - name = "hoverassault", - x = 2683, - z = 4596, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2060, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3200, 500}, options = {"shift"}}, - }, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_warpgate", - x = 4072, - z = 6672, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Warp Gate", - color = "green_small" - }, - }, - { - name = "pw_warpgate", - x = 6504, - z = 4000, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Warp Gate", - color = "green_small" - }, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryshield", - "factoryhover", - "turretheavylaser", - "turretemp", - "turretriot", - "turretaaclose", - "turretaafar", - "turretaalaser", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the factory and turrets surrounding each Warp Gate", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Kill enemy commander before 2:00 - satisfyByTime = 2*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "strike.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy commander before 2:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyUntilTime = 2*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - unitTypes = { - "tankriot" - }, - image = planetUtilities.ICON_DIR .. "tankriot.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose any Ogres before 2:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle)", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factorytank", - "tankcon", - "tankriot", - "tankheavyraid", - }, - modules = { - "module_adv_nano_LIMIT_F_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet42.lua b/campaign/dev/planets/planet42.lua deleted file mode 100644 index 6826305e0..000000000 --- a/campaign/dev/planets/planet42.lua +++ /dev/null @@ -1,619 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/arid01.png" - - local planetData = { - name = "Nanskar", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.53, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.19, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Desert", - radius = "4450 km", - primary = "Zamuot", - primaryType = "G0V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[This terrain is better suited for the enemy Spiders than your Tanks. To change that flatten the hills with Tremor heavy artillery, then finish the job with the super-heavy Cyclops assault tank.]] - }, - tips = { - { - image = "unitpics/tankheavyarty.png", - text = [[The Tremor heavy artillery is exceptionally inaccurate and will only hit any given unit by chance. On the other hand, it can fairly reliably hit a hill.]] - }, - { - image = "unitpics/tankheavyassault.png", - text = [[The Cyclops super-heavy assault tank is even tougher than the Minotaur and also comes equipped with a medium-range slowbeam, which should prevent the enemy Spiders from escaping to the hills.]] - }, - { - image = "LuaUI/Images/commands/Bold/attack.png", - text = [[The Tremor fires seismic shells which gradually smooth and flatten terrain. Half a minute of Force Firing at a hill will deprive spiders of a safe hiding place. Terrain modification is only visible in line of sight so remember to use spotters.]] - }, - }, - gameConfig = { - mapName = "Desert_Plateaus", - playerConfig = { - startX = 2040, - startZ = 420, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factorytank", - "tankcon", - "tankassault", - "tankriot", - "tankarty", - "tankheavyassault", - "tankheavyarty", - }, - startUnits = { - { - name = "factorytank", - x = 1872, - z = 320, - facing = 0, - }, - { - name = "staticmex", - x = 1464, - z = 312, - facing = 0, - }, - { - name = "staticmex", - x = 1784, - z = 760, - facing = 0, - }, - { - name = "staticmex", - x = 2280, - z = 312, - facing = 0, - }, - { - name = "tankheavyarty", - x = 1959, - z = 484, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.ATTACK, pos = {2700, 1200}}, - }, - }, - { - name = "tankheavyarty", - x = 1784, - z = 469, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.ATTACK, pos = {1300, 1300}}, - }, - }, - { - name = "tankriot", - x = 1941, - z = 584, - facing = 0, - }, - { - name = "tankriot", - x = 1776, - z = 585, - facing = 0, - }, - { - name = "tankcon", - x = 1868, - z = 542, - facing = 0, - }, - { - name = "energysolar", - x = 2344, - z = 296, - facing = 2, - }, - { - name = "energysolar", - x = 2280, - z = 376, - facing = 2, - }, - { - name = "turretlaser", - x = 2288, - z = 272, - facing = 1, - }, - { - name = "energysolar", - x = 1848, - z = 808, - facing = 1, - }, - { - name = "energysolar", - x = 1768, - z = 824, - facing = 1, - }, - { - name = "energysolar", - x = 1432, - z = 376, - facing = 1, - }, - { - name = "energysolar", - x = 1400, - z = 296, - facing = 1, - }, - { - name = "turretlaser", - x = 1824, - z = 752, - facing = 0, - }, - { - name = "turretlaser", - x = 1488, - z = 352, - facing = 3, - }, - { - name = "staticcon", - x = 2008, - z = 280, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2008, 280}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2033, 305}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 1936, - z = 224, - facing = 2, - }, - } - }, - aiConfig = { - { - startX = 4600, - startZ = 4400, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Lurkers", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticradar", - "staticstorage", - "staticmex", - "energysolar", - "energywind", - "energypylon", - "staticcon", - "factoryspider", - "turretlaser", - "turretmissile", - "turretheavylaserlaser", - "turretriot", - "turretaalaser", - "turretaaclose", - "spidercon", - "spiderscout", - "spideremp", - "spiderriot", - "spiderassault", - "spiderskirm", - "spidercrabe", - "spideraa", - }, - difficultyDependantUnlocks = { - [3] = {"spiderantiheavy"}, - [4] = {"spiderantiheavy"}, - }, - commanderLevel = 5, - commander = { - name = "Dory", - chassis = "recon", - decorations = { - }, - modules = { - "commweapon_shotgun", - "commweapon_concussion", - "module_heavy_armor", - "module_heavy_armor", - "module_autorepair", - "module_autorepair", - "commweapon_personal_shield", - "module_dmg_booster", - "module_dmg_booster", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - } - }, - startUnits = { - { - name = "staticmex", - x = 3480, - z = 4840, - facing = 3, - }, - { - name = "staticmex", - x = 2990, - z = 4330, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 4200, - z = 3500, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 2360, - z = 4824, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 1030, - z = 4888, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 220, - z = 4840, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "turretheavylaser", - x = 875, - z = 4270, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "turretriot", - x = 4472, - z = 3800, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2248, - z = 4536, - facing = 3, - }, - { - name = "staticheavyradar", - x = 3920, - z = 4320, - facing = 2, - terraformHeight = 436, - }, - { - name = "turretheavylaser", - x = 4136, - z = 3560, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4840, - z = 3288, - facing = 2, - }, - { - name = "energypylon", - x = 4632, - z = 3784, - facing = 2, - }, - { - name = "energyfusion", - x = 5080, - z = 5088, - facing = 2, - }, - { - name = "energyfusion", - x = 5080, - z = 5024, - facing = 2, - }, - { - name = "staticmex", - x = 4760, - z = 4632, - facing = 2, - }, - { - name = "energypylon", - x = 4520, - z = 4744, - facing = 0, - }, - { - name = "energypylon", - x = 3528, - z = 4744, - facing = 0, - }, - { - name = "energypylon", - x = 2744, - z = 4728, - facing = 0, - }, - { - name = "factoryspider", - x = 4536, - z = 4552, - facing = 3, - }, - { - name = "turretriot", - x = 3672, - z = 3832, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3096, - z = 4328, - facing = 2, - }, - { - name = "turretaaflak", - x = 2696, - z = 4568, - facing = 2, - }, - { - name = "turretriot", - x = 2664, - z = 4456, - facing = 2, - }, - { - name = "spiderscout", - x = 4199, - z = 4468, - facing = 3, - }, - { - name = "turretaaflak", - x = 3816, - z = 4200, - facing = 2, - }, - { - name = "spiderscout", - x = 4283, - z = 4354, - facing = 2, - }, - { - name = "spiderscout", - x = 4230, - z = 4426, - facing = 3, - }, - { - name = "spiderscout", - x = 4309, - z = 4322, - facing = 2, - }, - { - name = "spiderscout", - x = 4228, - z = 4389, - facing = 3, - }, - { - name = "spiderscout", - x = 4164, - z = 4506, - facing = 3, - }, - { - name = "spiderscout", - x = 4350, - z = 4209, - facing = 2, - }, - { - name = "spiderscout", - x = 4086, - z = 4624, - facing = 3, - }, - { - name = "spiderscout", - x = 4332, - z = 4279, - facing = 2, - }, - { - name = "spiderscout", - x = 4146, - z = 4544, - facing = 3, - }, - { - name = "spiderscout", - x = 4117, - z = 4591, - facing = 3, - }, - { - name = "spiderskirm", - x = 4202, - z = 4591, - facing = 0, - }, - { - name = "spiderskirm", - x = 4263, - z = 4566, - facing = 3, - }, - { - name = "spiderriot", - x = 4422, - z = 4378, - facing = 0, - }, - { - name = "spiderriot", - x = 4372, - z = 4414, - facing = 3, - }, - { - name = "spideremp", - x = 4407, - z = 4466, - facing = 2, - }, - { - name = "spideremp", - x = 4371, - z = 4502, - facing = 2, - }, - { - name = "spiderassault", - x = 4295, - z = 4679, - facing = 3, - }, - { - name = "spiderassault", - x = 4357, - z = 4628, - facing = 3, - }, - { - name = "spiderskirm", - x = 4171, - z = 4635, - facing = 3, - }, - { - name = "turretaaflak", - x = 4568, - z = 3672, - facing = 2, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryspider", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Spider Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have two Goliath - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 2, - unitTypes = { - "tankheavyassault", - }, - image = planetUtilities.ICON_DIR .. "tankheavyassault.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have two Cyclops tanks", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Don't lose any Tremors - satisfyForever = true, - failOnUnitLoss = true, -- Fails the objective if any units being used to satisfy the objective are lost. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "tankheavyarty", - }, - image = planetUtilities.ICON_DIR .. "tankheavyarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose any Tremors", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "tankheavyassault", - "tankheavyarty", - }, - modules = { - "module_heavy_armor_LIMIT_C_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet43.lua b/campaign/dev/planets/planet43.lua deleted file mode 100644 index bb193591c..000000000 --- a/campaign/dev/planets/planet43.lua +++ /dev/null @@ -1,937 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/tundra02.png" - - local planetData = { - name = "Estann All", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.41, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.30, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Artificial", - radius = "3433.854 km", - primary = "Doyaz", - primaryType = "F3VII", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = [[This planet is covered by a sprawling metropolis, built by nano-machines... which nobody remembered to turn off. Any destroyed units or buildings will be rebuilt, but they won't be friendly to you any more. Hold off the 'zombies' for long enough to reach the Artefact.]] - }, - tips = { - { - image = "unitpics/module_resurrect.png", - text = [[In this mission, any wrecked units will eventually become alive again, as slower 'zombie' versions of themselves. The zombies will be hostile to all players. Reclaim or destroy the wrecks to prevent this from happening.]] - }, - { - image = "unitpics/turretemp.png", - text = [[The Faraday EMP turret can stun most enemy units (especially when built in groups) but cannot deal any direct damage. Have a few other turrets or units standing by to clean up.]] - }, - { - image = "unitpics/turretaaflak.png", - text = [[The Thresher Flak AA turret will make short work of any light flying units. It is especially effective against large groups of fliers.]] - }, - }, - gameConfig = { - mapName = "Intersection v4.1", - - modoptions = { - zombies = 1, - zombies_delay = 10, - zombies_rezspeed = 100, - zombies_permaslow = 1, - zombies_partial_reclaim = 1, - }, - - playerConfig = { - startX = 4600, - startZ = 4600, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - victoryAtLocation = { - x = 1680, - z = 1680, - radius = 80, - objectiveID = 1, - }, - }, - extraUnlocks = { - "turretemp", - "turretaaflak", - }, - startUnits = { - { - name = "staticcon", - x = 4300, - z = 4300, - facing = 2, - selfPatrol = true, - }, - { - name = "turretemp", - x = 4688, - z = 4112, - facing = 2, - }, - { - name = "turretemp", - x = 4128, - z = 4112, - facing = 2, - }, - { - name = "turretemp", - x = 4112, - z = 4736, - facing = 3, - }, - { - name = "turretlaser", - x = 4112, - z = 4448, - facing = 3, - }, - { - name = "turretlaser", - x = 4416, - z = 4112, - facing = 2, - }, - { - name = "turretaaflak", - x = 4312, - z = 4600, - facing = 3, - }, - { - name = "turretaaflak", - x = 4584, - z = 4312, - facing = 2, - }, - { - name = "staticmex", - x = 4360, - z = 4360, - facing = 2, - }, - { - name = "staticmex", - x = 4360, - z = 4856, - facing = 2, - }, - { - name = "staticmex", - x = 4872, - z = 4856, - facing = 2, - }, - { - name = "staticmex", - x = 4872, - z = 4344, - facing = 2, - }, - { - name = "energywind", - x = 4936, - z = 4408, - facing = 2, - }, - { - name = "energywind", - x = 4936, - z = 4488, - facing = 2, - }, - { - name = "energywind", - x = 4936, - z = 4568, - facing = 2, - }, - { - name = "energywind", - x = 4936, - z = 4648, - facing = 2, - }, - { - name = "energywind", - x = 4936, - z = 4728, - facing = 2, - }, - { - name = "energywind", - x = 4936, - z = 4808, - facing = 2, - }, - { - name = "energywind", - x = 4808, - z = 4904, - facing = 2, - }, - { - name = "energywind", - x = 4728, - z = 4904, - facing = 2, - }, - { - name = "energywind", - x = 4648, - z = 4904, - facing = 2, - }, - { - name = "energywind", - x = 4568, - z = 4904, - facing = 2, - }, - { - name = "energywind", - x = 4488, - z = 4904, - facing = 2, - }, - { - name = "energywind", - x = 4408, - z = 4904, - facing = 2, - }, - { - name = "staticradar", - x = 4160, - z = 4160, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 100, - startZ = 100, - humanName = "Paolaza", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticmex", - "energysolar", - "staticradar", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldassault", - "shieldskirm", - }, - commanderLevel = 3, - commander = { - name = "Mors", - chassis = "recon", - decorations = { - "skin_recon_dark", - "commweapon_flamethrower", - "commweapon_napalmgrenade", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_autorepair", - }, - modules = { } - }, - startUnits = { - - { - name = "turretemp", - x = 1562, - z = 1562, - facing = 0, - }, - { - name = "turretemp", - x = 1920, - z = 1664, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "turretemp", - x = 1152, - z = 1920, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "turretemp", - x = 1920, - z = 1152, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 264, - z = 744, - facing = 2, - }, - { - name = "staticmex", - x = 264, - z = 264, - facing = 1, - }, - { - name = "staticmex", - x = 760, - z = 264, - facing = 1, - }, - { - name = "turretriot", - x = 1700, - z = 2130, - facing = 0, - terraformHeight = 90, - }, - { - name = "turretriot", - x = 2130, - z = 1700, - facing = 1, - terraformHeight = 90, - }, - { - name = "turretriot", - x = 1000, - z = 824, - facing = 1, - terraformHeight = 346, - }, - { - name = "turretemp", - x = 1000, - z = 680, - facing = 1, - }, - { - name = "turretriot", - x = 1000, - z = 536, - facing = 1, - terraformHeight = 345, - }, - { - name = "turretriot", - x = 536, - z = 1000, - facing = 0, - terraformHeight = 346, - }, - { - name = "turretemp", - x = 680, - z = 1000, - facing = 0, - }, - { - name = "turretriot", - x = 840, - z = 1000, - facing = 0, - terraformHeight = 346, - }, - { - name = "staticmex", - x = 776, - z = 760, - facing = 1, - }, - { - name = "energysolar", - x = 680, - z = 200, - facing = 1, - }, - { - name = "energysolar", - x = 568, - z = 200, - facing = 1, - }, - { - name = "turretaalaser", - x = 1000, - z = 1000, - facing = 1, - }, - { - name = "turretaalaser", - x = 392, - z = 1000, - facing = 0, - }, - { - name = "turretaalaser", - x = 1000, - z = 392, - facing = 1, - }, - { - name = "energysolar", - x = 184, - z = 680, - facing = 1, - }, - { - name = "energysolar", - x = 184, - z = 568, - facing = 1, - }, - { - name = "energysolar", - x = 184, - z = 456, - facing = 1, - }, - { - name = "energysolar", - x = 184, - z = 344, - facing = 1, - }, - { - name = "energysolar", - x = 344, - z = 200, - facing = 1, - }, - { - name = "energysolar", - x = 456, - z = 200, - facing = 1, - }, - { - name = "factoryshield", - x = 536, - z = 512, - facing = 1, - }, - { - name = "staticcon", - x = 408, - z = 504, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {408, 504}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {433, 529}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 1896, - z = 1896, - facing = 1, - }, - { - name = "turretlaser", - x = 1792, - z = 1920, - facing = 0, - }, - { - name = "turretlaser", - x = 1408, - z = 1920, - facing = 0, - }, - { - name = "turretlaser", - x = 1920, - z = 1408, - facing = 1, - }, - { - name = "turretaaflak", - x = 1464, - z = 1464, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1664, - z = 1152, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1152, - z = 1664, - facing = 0, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_artefact", - x = 1680, - z = 1680, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Artefact", - color = "green" - }, - }, - }, - initialWrecks = { - { - name = "staticmex_dead", - x = 4872, - z = 248, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3832, - z = 776, - facing = 0, - }, - { - name = "staticmex_dead", - x = 4360, - z = 1288, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3320, - z = 1800, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2568, - z = 2568, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1784, - z = 3336, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1288, - z = 4360, - facing = 0, - }, - { - name = "staticmex_dead", - x = 264, - z = 4872, - facing = 0, - }, - { - name = "staticmex_dead", - x = 760, - z = 3832, - facing = 0, - }, - { - name = "energysolar_dead", - x = 4936, - z = 264, - facing = 3, - }, - { - name = "energysolar_dead", - x = 328, - z = 4888, - facing = 3, - }, - { - name = "energysolar_dead", - x = 4856, - z = 312, - facing = 2, - }, - { - name = "energysolar_dead", - x = 4808, - z = 232, - facing = 1, - }, - { - name = "energysolar_dead", - x = 248, - z = 4936, - facing = 2, - }, - { - name = "energysolar_dead", - x = 200, - z = 4856, - facing = 1, - }, - { - name = "energysolar_dead", - x = 4888, - z = 184, - facing = 0, - }, - { - name = "energysolar_dead", - x = 280, - z = 4808, - facing = 0, - }, - { - name = "staticstorage_dead", - x = 5032, - z = 136, - facing = 0, - }, - { - name = "staticstorage_dead", - x = 120, - z = 5000, - facing = 0, - }, - { - name = "factorygunship_dead", - x = 584, - z = 4536, - facing = 0, - }, - { - name = "factorytank_dead", - x = 4400, - z = 1008, - facing = 0, - }, - { - name = "turretlaser_dead", - x = 4880, - z = 1120, - facing = 0, - }, - { - name = "turretriot_dead", - x = 4344, - z = 1528, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 3600, - z = 912, - facing = 3, - }, - { - name = "turretmissile_dead", - x = 3600, - z = 656, - facing = 3, - }, - { - name = "energysolar_dead", - x = 4520, - z = 904, - facing = 3, - }, - { - name = "energysolar_dead", - x = 4280, - z = 904, - facing = 3, - }, - { - name = "energywind_dead", - x = 4392, - z = 904, - facing = 3, - }, - { - name = "energysolar_dead", - x = 888, - z = 3880, - facing = 3, - }, - { - name = "energysolar_dead", - x = 1384, - z = 4296, - facing = 3, - }, - { - name = "staticradar_dead", - x = 2864, - z = 1840, - facing = 3, - }, - { - name = "turretlaser_dead", - x = 3264, - z = 1936, - facing = 0, - }, - { - name = "turretemp_dead", - x = 1536, - z = 4416, - facing = 1, - }, - { - name = "turretlaser_dead", - x = 1520, - z = 4192, - facing = 1, - }, - { - name = "turretmissile_dead", - x = 2672, - z = 2560, - facing = 0, - }, - { - name = "turretaaclose_dead", - x = 1032, - z = 3896, - facing = 1, - }, - { - name = "turretlaser_dead", - x = 976, - z = 3632, - facing = 2, - }, - { - name = "turretriot_dead", - x = 1880, - z = 3272, - facing = 0, - }, - { - name = "turretlaser_dead", - x = 256, - z = 4080, - facing = 2, - }, - { - name = "turretmissile_dead", - x = 1040, - z = 4864, - facing = 3, - }, - { - name = "turretmissile_dead", - x = 4080, - z = 96, - facing = 3, - }, - { - name = "turretmissile_dead", - x = 4080, - z = 304, - facing = 3, - }, - { - name = "tankassault_dead", - x = 4301, - z = 3600, - facing = 0, - }, - { - name = "shieldraid_dead", - x = 4224, - z = 3555, - facing = 0, - }, - { - name = "shieldraid_dead", - x = 4547, - z = 3630, - facing = 0, - }, - { - name = "shieldraid_dead", - x = 2254, - z = 4457, - facing = 0, - }, - { - name = "shieldraid_dead", - x = 2450, - z = 4195, - facing = 0, - }, - { - name = "shieldraid_dead", - x = 3077, - z = 1491, - facing = 0, - }, - { - name = "shieldraid_dead", - x = 3414, - z = 1539, - facing = 0, - }, - { - name = "shieldraid_dead", - x = 423, - z = 2894, - facing = 0, - }, - { - name = "tankriot_dead", - x = 1529, - z = 3278, - facing = 0, - }, - { - name = "tankassault_dead", - x = 2807, - z = 2177, - facing = 0, - }, - { - name = "gunshipraid_dead", - x = 537, - z = 3711, - facing = 0, - }, - { - name = "gunshipraid_dead", - x = 4675, - z = 589, - facing = 0, - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {1536, 2000, 2032, 2048}, - height = 2, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {2000, 1536, 2048, 2032}, - height = 2, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {1536, 1760, 1584, 2032}, - height = 2, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {1760, 1536, 2032, 1584}, - height = 2, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {1330, 1760, 1570, 1808}, - height = 2, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {1760, 1330, 1808, 1570}, - height = 2, - }, - }, - defeatConditionConfig = { - [0] = { }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - }, - objectiveConfig = { - [1] = { - description = "Bring your Commander to the Artefact", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Win by 10:00 - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Have 16 mex - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 16, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 16 Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "turretemp", - "turretaaflak", - }, - modules = { - "module_dmg_booster_LIMIT_B_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet44.lua b/campaign/dev/planets/planet44.lua deleted file mode 100644 index dc321e34c..000000000 --- a/campaign/dev/planets/planet44.lua +++ /dev/null @@ -1,750 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/tundra02.png" - - local planetData = { - name = "Quora Rosia Dyo", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.495, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.295, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arctic", - radius = "4040 km", - primary = "Nadstan", - primaryType = "G9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24530", - text = [[Your ally's bots aren't going to cut it alone on a battlefield this mountainous. The Redback riot and Recluse skirmish spiders will take control of the high ground, and rain death upon your enemies in the valley below.]] - }, - tips = { - - { - image = "unitpics/spiderriot.png", - text = [[The Redback riot spider is equipped with a short-range particle beam. It doesn't inflict area-of-effect damage, but since it is accurate and non-ballistic it's effective at fighting up hills.]] - }, - { - image = "unitpics/spiderskirm.png", - text = [[Recluse skirmish spiders fire a volley of inaccurate missiles. They are most effective against large groups of enemies, since this guarantees all their rockets will hit something. They can also fire over hills.]] - }, - { - image = "unitpics/spidercon.png", - text = [[The Spider factory's Weaver constructors are slow, but they have high buildpower, all-terrain movement (obviously), and a short-range radar.]] - }, - }, - gameConfig = { - mapName = "FrozenPlanetV3", - playerConfig = { - startX = 400, - startZ = 1100, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryspider", - "spidercon", - "spiderriot", - "spiderskirm", - }, - startUnits = { - { - name = "staticmex", - x = 312, - z = 1112, - facing = 0, - }, - { - name = "staticmex", - x = 104, - z = 1224, - facing = 0, - }, - { - name = "staticmex", - x = 136, - z = 920, - facing = 0, - }, - { - name = "energysolar", - x = 232, - z = 1000, - facing = 3, - }, - { - name = "energysolar", - x = 168, - z = 1144, - facing = 3, - }, - { - name = "factoryspider", - x = 200, - z = 1400, - facing = 1, - }, - { - name = "staticcon", - x = 88, - z = 1400, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {88, 1400}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {113, 1425}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - - x = 256, - z = 1552, - facing = 1, - }, - { - name = "turretlaser", - x = 304, - z = 928, - facing = 2, - }, - { - name = "spidercon", - x = 329, - z = 1474, - facing = 0, - }, - { - name = "spiderriot", - x = 495, - z = 1401, - facing = 0, - }, - { - name = "spiderskirm", - x = 456, - z = 1293, - facing = 0, - }, - { - name = "spiderriot", - x = 424, - z = 1484, - facing = 0, - }, - { - name = "spiderskirm", - x = 389, - z = 1382, - facing = 0, - }, - } - }, - aiConfig = { - { - humanName = "Yarwha", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticradar", - "staticcon", - "staticmex", - "energysolar", - "energywind", - "energygeo", - "turretlaser", - "turretmissile", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakskirm", - "cloakriot", - "cloakassault", - "cloakarty", - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 440, - z = 3240, - facing = 3, - }, - { - name = "staticmex", - x = 136, - z = 3400, - facing = 3, - }, - { - name = "staticmex", - x = 232, - z = 3048, - facing = 3, - }, - { - name = "energysolar", - x = 312, - z = 3160, - facing = 3, - }, - { - name = "energysolar", - x = 232, - z = 3320, - facing = 3, - }, - { - name = "energysolar", - x = 152, - z = 3160, - facing = 3, - }, - { - name = "factorycloak", - x = 544, - z = 3400, - facing = 1, - }, - { - name = "energysolar", - x = 376, - z = 3304, - facing = 1, - }, - { - name = "turretriot", - x = 272, - z = 3488, - facing = 0, - }, - { - name = "staticcon", - x = 392, - z = 3400, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {392, 3400}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {417, 3375}, options = {"shift"}}, - }, - }, - { - name = "turretriot", - x = 368, - z = 3024, - facing = 2, - }, - { - name = "turretriot", - x = 672, - z = 3514, - facing = 1, - }, - { - name = "cloakcon", - x = 711, - z = 3299, - facing = 3, - }, - { - name = "cloakriot", - x = 678, - z = 3224, - facing = 1, - }, - { - name = "cloakskirm", - x = 687, - z = 3138, - facing = 2, - }, - { - name = "cloakskirm", - x = 824, - z = 3390, - facing = 1, - }, - { - name = "cloakskirm", - x = 710, - z = 3374, - facing = 0, - }, - } - }, - { - startX = 3600, - startZ = 2200, - humanName = "Colvai", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticradar", - "staticcon", - "staticmex", - "energysolar", - "energywind", - "energygeo", - "turretlaser", - "turretmissile", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakskirm", - "cloakriot", - "cloakassault", - "cloakarty", - }, - commanderLevel = 4, - commander = { - name = "Lucy Bazza", - chassis = "recon", - modules = { - "commweapon_lparticlebeam", - "commweapon_concussion", - "module_adv_nano", - "module_adv_nano", - "module_ablative_armor", - "module_ablative_armor", - "module_companion_drone", - "module_companion_drone", - "module_high_power_servos", - } - }, - startUnits = { - { - name = "staticmex", - x = 3736, - z = 2904, - facing = 3, - }, - { - name = "staticmex", - x = 3960, - z = 2792, - facing = 3, - }, - { - name = "staticmex", - x = 3928, - z = 3144, - facing = 3, - }, - { - name = "energysolar", - x = 3928, - z = 3032, - facing = 3, - }, - { - name = "energysolar", - x = 3864, - z = 2872, - facing = 3, - }, - { - name = "energysolar", - x = 4040, - z = 2904, - facing = 3, - }, - { - name = "turretlaser", - x = 3984, - z = 3232, - facing = 0, - }, - { - name = "turretlaser", - x = 3712, - z = 2800, - facing = 3, - }, - { - name = "factorycloak", - x = 3920, - z = 2632, - facing = 3, - }, - { - name = "staticcon", - x = 4056, - z = 2632, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4056, 2632}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4031, 2607}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 4064, - z = 2384, - facing = 3, - }, - { - name = "staticradar", - x = 3008, - z = 2768, - facing = 2, - }, - { - name = "turretlaser", - x = 2992, - z = 2848, - facing = 3, - }, - { - name = "turretmissile", - x = 2208, - z = 3568, - facing = 3, - }, - { - name = "turretlaser", - x = 2144, - z = 3472, - facing = 3, - }, - { - name = "cloakriot", - x = 3662, - z = 2672, - facing = 3, - }, - { - name = "cloakraid", - x = 3708, - z = 2544, - facing = 0, - }, - { - name = "staticmex", - x = 3272, - z = 2136, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "energygeo", - x = 2984, - z = 1832, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretriot", - x = 2860, - z = 1832, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "energypylon", - x = 3576, - z = 2072, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "energypylon", - x = 4072, - z = 2728, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 3256, - z = 2216, - facing = 3, - difficultyAtLeast = 2, - }, - } - }, - { - humanName = "Kaste Dron", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticradar", - "staticcon", - "staticmex", - "energysolar", - "energywind", - "energygeo", - "turretlaser", - "turretmissile", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldskirm", - "shieldriot", - }, - difficultyDependantUnlocks = { - [3] = {"shieldassault"}, - [4] = {"shieldassault","shieldarty"}, - }, - startUnits = { - { - name = "staticmex", - x = 3784, - z = 888, - facing = 3, - }, - { - name = "staticmex", - x = 4024, - z = 1032, - facing = 3, - }, - { - name = "staticmex", - x = 3944, - z = 712, - facing = 3, - }, - { - name = "energysolar", - x = 3896, - z = 824, - facing = 3, - }, - { - name = "energysolar", - x = 3976, - z = 936, - facing = 3, - }, - { - name = "energysolar", - x = 4040, - z = 792, - facing = 3, - }, - { - name = "turretlaser", - x = 3920, - z = 608, - facing = 3, - }, - { - name = "turretlaser", - x = 3920, - z = 1168, - facing = 3, - }, - { - name = "turretlaser", - x = 2384, - z = 1248, - facing = 3, - }, - { - name = "staticcon", - x = 3912, - z = 1064, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3912, 1064}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3887, 1089}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 3312, - z = 1392, - facing = 2, - }, - { - name = "turretlaser", - x = 3024, - z = 544, - facing = 3, - }, - { - name = "turretmissile", - x = 2416, - z = 1152, - facing = 3, - }, - { - name = "energysolar", - x = 4040, - z = 1144, - facing = 3, - }, - { - name = "shieldcon", - x = 3703, - z = 727, - facing = 2, - }, - { - name = "shieldraid", - x = 3451, - z = 1070, - facing = 3, - }, - { - name = "staticmex", - x = 2840, - z = 1304, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "factoryshield", - x = 3768, - z = 1056, - facing = 3, - }, - { - name = "shieldcon", - x = 3664, - z = 830, - facing = 1, - }, - { - name = "shieldraid", - x = 3453, - z = 1026, - facing = 3, - }, - { - name = "shieldraid", - x = 3473, - z = 985, - facing = 3, - }, - { - name = "shieldraid", - x = 3485, - z = 941, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "shieldraid", - x = 3498, - z = 896, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "shieldraid", - x = 3512, - z = 846, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "shieldriot", - x = 3565, - z = 1049, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "shieldriot", - x = 3598, - z = 936, - facing = 2, - }, - } - }, - - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factorycloak", - "factoryshield", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and all enemy Factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build 10 Recluses - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "spiderskirm", - }, - image = planetUtilities.ICON_DIR .. "spiderskirm.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 10 Recluses", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Make the enemy lose one factory by 6:00 - onlyCountRemovedUnits = true, - satisfyByTime = 480, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "factoryshield", - "factorycloak" - }, - image = planetUtilities.ICON_DIR .. "factoryshield.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy an enemy Factory before 8:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "spiderriot", - "spiderskirm", - }, - modules = { - "module_ablative_armor_LIMIT_D_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet45.lua b/campaign/dev/planets/planet45.lua deleted file mode 100644 index fc53f21b2..000000000 --- a/campaign/dev/planets/planet45.lua +++ /dev/null @@ -1,1553 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran01.png" - - local planetData = { - name = "Old Falsell", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.57, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.28, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Radiated", - radius = "8390 km", - primary = "Blank", - primaryType = "K1VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24530", - text = [[In this battle you start at a large numerical and economical disadvantage. However, the high plateaus on this map will give your Spiders an edge, especially the heavy Crab riot/skirmisher.]] - }, - tips = { - { - image = "unitpics/spidercrabe.png", - text = [[The Crab curls up into a much more durable form when stationary. Do not move Crabs when they are attacked.]] - }, - { - image = "luaui/images/commands/level.png", - text = [[Due to their ballistic projectile, Crabs gain range when shooting downwards. Place them on the edge of cliffs (or terraform) to take advantage of this.]] - }, - { - image = "unitpics/spidercon.png", - text = [[The Spider factory's Weaver constructors are slow, but they have high buildpower, all-terrain movement (obviously), and a short-range radar.]] - }, - }, - gameConfig = { - mapName = "Hide_and_Seek_v03", - playerConfig = { - startX = 4250, - startZ = 5450, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryspider", - "spidercon", - "spidercrabe", - "spideraa", - "spiderscout", -- One unlock from each of the other spider missions, so no single mission is 'useless'. - "spiderriot", - "spiderassault", - }, - --extraAbilities = { - -- "terraform", - --}, - startUnits = { - { - name = "pw_metal", - x = 4460, - z = 6050, - facing = 0, - defeatIfDestroyedObjectiveID = 3, - }, - { - name = "staticmex", - x = 3112, - z = 6024, - facing = 0, - }, - { - name = "factoryspider", - x = 4104, - z = 5496, - facing = 2, - }, - { - name = "turretmissile", - x = 5600, - z = 5632, - facing = 2, - }, - { - name = "energywind", - x = 5544, - z = 5944, - facing = 2, - }, - { - name = "energywind", - x = 5496, - z = 6008, - facing = 2, - }, - { - name = "energywind", - x = 5464, - z = 6072, - facing = 2, - }, - { - name = "energywind", - x = 5416, - z = 6136, - facing = 2, - }, - { - name = "energywind", - x = 5352, - z = 6200, - facing = 2, - }, - { - name = "energywind", - x = 5288, - z = 6232, - facing = 2, - }, - { - name = "energywind", - x = 5224, - z = 6264, - facing = 2, - }, - { - name = "energywind", - x = 5160, - z = 6296, - facing = 2, - }, - { - name = "staticmex", - x = 5128, - z = 5480, - facing = 0, - }, - { - name = "staticmex", - x = 4808, - z = 5928, - facing = 0, - }, - { - name = "staticmex", - x = 4136, - z = 6104, - facing = 0, - }, - { - name = "staticmex", - x = 3896, - z = 4760, - facing = 0, - }, - { - name = "energywind", - x = 3800, - z = 5288, - facing = 2, - }, - { - name = "energywind", - x = 3864, - z = 5288, - facing = 2, - }, - { - name = "energywind", - x = 3928, - z = 5288, - facing = 2, - }, - { - name = "staticcon", - x = 3960, - z = 5512, - facing = 2, - selfPatrol = true, - }, - { - name = "spidercon", - x = 3950, - z = 5680, - facing = 3, - }, - { - name = "spidercon", - x = 4100, - z = 5680, - facing = 3, - }, - { - name = "spidercon", - x = 3808, - z = 5400, - facing = 2, - }, - { - name = "spidercon", - x = 4350, - z = 5480, - facing = 0, - }, - { - name = "turretmissile", - x = 3808, - z = 5680, - facing = 3, - }, - { - name = "turretmissile", - x = 4512, - z = 5424, - facing = 1, - }, - { - name = "turretmissile", - x = 4416, - z = 6416, - facing = 3, - }, - { - name = "spidercrabe", - x = 4196, - z = 5009, - facing = 2, - }, - { - name = "staticradar", - x = 3760, - z = 5216, - facing = 2, - }, - { - name = "spiderassault", - x = 4220, - z = 5230, - facing = 2, - }, - { - name = "spiderassault", - x = 4020, - z = 5230, - facing = 2, - }, - { - name = "spideraa", - x = 4120, - z = 5330, - facing = 2, - }, - { - name = "spiderriot", - x = 4220, - z = 5330, - facing = 2, - }, - { - name = "spiderriot", - x = 4020, - z = 5330, - facing = 2, - }, - { - name = "spideraa", - x = 4120, - z = 5230, - facing = 2, - }, - { - name = "spidercrabe", - x = 3676, - z = 5441, - facing = 3, - }, - { - name = "energywind", - x = 7144, - z = 6392, - facing = 3, - }, - { - name = "energywind", - x = 7144, - z = 6328, - facing = 3, - }, - { - name = "energygeo", - x = 6984, - z = 7016, - facing = 3, - }, - { - name = "staticmex", - x = 6712, - z = 7080, - facing = 0, - }, - { - name = "staticmex", - x = 7096, - z = 6840, - facing = 0, - }, - { - name = "energywind", - x = 6808, - z = 7096, - facing = 3, - }, - { - name = "energywind", - x = 6888, - z = 7096, - facing = 3, - }, - { - name = "energywind", - x = 7096, - z = 6920, - facing = 3, - }, - { - name = "turretaalaser", - x = 6696, - z = 6760, - facing = 3, - }, - { - name = "spidercrabe", - x = 7069, - z = 5734, - facing = 3, - }, - { - name = "spidercrabe", - x = 6504, - z = 6817, - facing = 3, - }, - { - name = "spidercon", - x = 6883, - z = 6880, - facing = 0, - }, - { - name = "staticradar", - x = 7104, - z = 6128, - facing = 3, - }, - { - name = "energywind", - x = 7144, - z = 6264, - facing = 3, - }, - } - }, - aiConfig = { - { - startX = 2300, - startZ = 2800, - humanName = "Geode Hunters", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticradar", - "staticmex", - "energysolar", - "energywind", - "turretmissile", - "turretlaser", - "turretaalaser", - "turretaaclose", - "turretriot", - "turretemp", - "factoryspider", - "spidercon", - "spiderscout", - "spideremp", - "spiderriot", - "spiderskirm", - "spiderassault", - "spideraa", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpaa", - "factorygunship", - "gunshipcon", - "gunshipraid", - "gunshipbomb", - "gunshipemp", - "gunshipskirm", - "gunshipaa", - "factoryamph", - "amphcon", - "amphraid", - "amphriot", - "amphimpulse", - "amphfloater", - "amphaa", - "energypylon", - }, - difficultyDependantUnlocks = { - [2] = {"amphassault", "gunshipheavyskirm", }, - [3] = {"amphassault", "gunshipheavyskirm", "gunshipassault", "spiderantiheavy", "jumpbomb", }, - [4] = {"amphassault", "gunshipheavyskirm", "gunshipassault", "spiderantiheavy", "jumpbomb", "jumpassault", }, - }, - commanderLevel = 5, - commander = { - name = "Yarral", - chassis = "engineer", - decorations = { - "skin_support_zebra", - }, - modules = { - "commweapon_missilelauncher", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_battle_drone", - "module_battle_drone", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "commweapon_personal_shield", - } - }, - startUnits = { - { - name = "energywind", - x = 2088, - z = 856, - facing = 2, - }, - { - name = "energywind", - x = 2024, - z = 888, - facing = 2, - }, - { - name = "energywind", - x = 1960, - z = 904, - facing = 2, - }, - { - name = "turretheavylaser", - x = 840, - z = 5192, - facing = 2, - }, - { - name = "energysolar", - x = 808, - z = 5128, - facing = 2, - }, - { - name = "energysolar", - x = 1624, - z = 5512, - facing = 2, - }, - { - name = "energysolar", - x = 1624, - z = 5592, - facing = 2, - }, - { - name = "staticradar", - x = 3408, - z = 816, - facing = 2, - }, - { - name = "factorygunship", - x = 328, - z = 312, - facing = 2, - }, - { - name = "turretriot", - x = 3496, - z = 2776, - facing = 2, - }, - { - name = "factoryspider", - x = 6184, - z = 1496, - facing = 0, - }, - { - name = "staticmex", - x = 6072, - z = 1496, - facing = 0, - }, - { - name = "energygeo", - x = 6200, - z = 1336, - facing = 0, - }, - { - name = "energywind", - x = 6424, - z = 1224, - facing = 0, - }, - { - name = "energywind", - x = 6488, - z = 1160, - facing = 0, - }, - { - name = "turretaalaser", - x = 1480, - z = 5416, - facing = 0, - }, - { - name = "turretaalaser", - x = 856, - z = 5672, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1560, - z = 5560, - facing = 1, - }, - { - name = "energywind", - x = 6552, - z = 1096, - facing = 0, - }, - { - name = "energywind", - x = 6488, - z = 1224, - facing = 0, - }, - { - name = "turretlaser", - x = 5840, - z = 1136, - facing = 0, - }, - { - name = "energywind", - x = 6552, - z = 1160, - facing = 0, - }, - { - name = "turretlaser", - x = 6400, - z = 1280, - facing = 0, - }, - { - name = "energywind", - x = 6616, - z = 1160, - facing = 0, - }, - { - name = "turretlaser", - x = 5872, - z = 1840, - facing = 2, - }, - { - name = "staticmex", - x = 7000, - z = 472, - facing = 0, - }, - { - name = "staticmex", - x = 7016, - z = 136, - facing = 0, - }, - { - name = "staticradar", - x = 4720, - z = 1136, - facing = 2, - }, - { - name = "turretriot", - x = 5928, - z = 1432, - facing = 3, - }, - { - name = "staticmex", - x = 6696, - z = 72, - facing = 0, - }, - { - name = "turretriot", - x = 6200, - z = 1672, - facing = 0, - }, - { - name = "turretriot", - x = 6120, - z = 1176, - facing = 2, - }, - { - name = "staticmex", - x = 5352, - z = 520, - facing = 0, - }, - { - name = "staticcon", - x = 6056, - z = 1336, - facing = 2, - }, - { - name = "staticmex", - x = 5064, - z = 536, - facing = 0, - }, - { - name = "turretlaser", - x = 5024, - z = 352, - facing = 2, - }, - { - name = "turretlaser", - x = 5392, - z = 608, - facing = 2, - }, - { - name = "turretlaser", - x = 5440, - z = 1040, - facing = 3, - }, - { - name = "turretlaser", - x = 5312, - z = 1232, - facing = 3, - }, - { - name = "staticradar", - x = 5568, - z = 2400, - facing = 3, - }, - { - name = "staticcon", - x = 2360, - z = 2760, - facing = 0, - }, - { - name = "factoryjump", - x = 2584, - z = 2824, - facing = 0, - }, - { - name = "energygeo", - x = 184, - z = 184, - facing = 2, - }, - { - name = "energygeo", - x = 1016, - z = 5800, - facing = 2, - }, - { - name = "energygeo", - x = 3848, - z = 3512, - facing = 2, - }, - { - name = "energygeo", - x = 3208, - z = 3640, - facing = 2, - }, - { - name = "turretriot", - x = 344, - z = 504, - facing = 0, - }, - { - name = "turretriot", - x = 632, - z = 216, - facing = 1, - }, - { - name = "staticmex", - x = 104, - z = 344, - facing = 0, - }, - { - name = "staticmex", - x = 392, - z = 72, - facing = 0, - }, - { - name = "staticcon", - x = 344, - z = 168, - facing = 1, - }, - { - name = "factoryamph", - x = 1048, - z = 5592, - facing = 1, - }, - { - name = "staticmex", - x = 1144, - z = 5768, - facing = 0, - }, - { - name = "staticcon", - x = 1128, - z = 5848, - facing = 1, - }, - { - name = "turretriot", - x = 1240, - z = 5656, - facing = 1, - }, - { - name = "turretriot", - x = 888, - z = 5480, - facing = 2, - }, - { - name = "turretriot", - x = 1128, - z = 5960, - facing = 0, - }, - { - name = "staticmex", - x = 2040, - z = 6600, - facing = 0, - }, - { - name = "staticmex", - x = 1752, - z = 6616, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3064, - z = 3640, - facing = 0, - }, - { - name = "staticmex", - x = 504, - z = 7080, - facing = 0, - }, - { - name = "staticmex", - x = 184, - z = 7016, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3976, - z = 3528, - facing = 0, - }, - { - name = "staticmex", - x = 200, - z = 6680, - facing = 0, - }, - { - name = "turretriot", - x = 3096, - z = 3368, - facing = 2, - }, - { - name = "turretriot", - x = 3224, - z = 3864, - facing = 0, - }, - { - name = "turretaafar", - x = 3568, - z = 3568, - facing = 0, - }, - { - name = "turretmissile", - x = 3488, - z = 3824, - facing = 0, - }, - { - name = "staticmex", - x = 2328, - z = 5592, - facing = 0, - }, - { - name = "turretriot", - x = 3832, - z = 3720, - facing = 0, - }, - { - name = "turretmissile", - x = 3600, - z = 3824, - facing = 0, - }, - { - name = "turretriot", - x = 3848, - z = 3304, - facing = 2, - }, - { - name = "turretmissile", - x = 3552, - z = 3328, - facing = 2, - }, - { - name = "turretmissile", - x = 3648, - z = 3328, - facing = 2, - }, - { - name = "staticmex", - x = 4152, - z = 3416, - facing = 0, - }, - { - name = "energypylon", - x = 3336, - z = 3464, - facing = 2, - }, - { - name = "staticmex", - x = 3064, - z = 3752, - facing = 0, - }, - { - name = "turretgauss", - x = 3272, - z = 3272, - facing = 2, - }, - { - name = "energysolar", - x = 3288, - z = 3640, - facing = 2, - }, - { - name = "energysolar", - x = 3208, - z = 3560, - facing = 2, - }, - { - name = "energysolar", - x = 3288, - z = 3560, - facing = 2, - }, - { - name = "energysolar", - x = 4040, - z = 3512, - facing = 2, - }, - { - name = "energysolar", - x = 3960, - z = 3464, - facing = 2, - }, - { - name = "energysolar", - x = 3992, - z = 3592, - facing = 2, - }, - { - name = "turretlaser", - x = 2320, - z = 5712, - facing = 2, - }, - { - name = "turretemp", - x = 5728, - z = 2864, - facing = 0, - }, - { - name = "energywind", - x = 5304, - z = 1144, - facing = 0, - }, - { - name = "energywind", - x = 5368, - z = 1144, - facing = 0, - }, - { - name = "energywind", - x = 5432, - z = 1144, - facing = 0, - }, - { - name = "energywind", - x = 5496, - z = 1144, - facing = 0, - }, - { - name = "energywind", - x = 5560, - z = 1144, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2024, - z = 6376, - facing = 0, - }, - { - name = "turretlaser", - x = 1968, - z = 6656, - facing = 0, - }, - { - name = "energysolar", - x = 2104, - z = 6600, - facing = 0, - }, - { - name = "energysolar", - x = 2024, - z = 6664, - facing = 0, - }, - { - name = "turretlaser", - x = 1760, - z = 6656, - facing = 0, - }, - { - name = "energysolar", - x = 1736, - z = 6712, - facing = 0, - }, - { - name = "energysolar", - x = 1816, - z = 6664, - facing = 0, - }, - { - name = "energywind", - x = 552, - z = 24, - facing = 0, - }, - { - name = "turretaalaser", - x = 5704, - z = 760, - facing = 0, - }, - { - name = "staticradar", - x = 2496, - z = 6032, - facing = 0, - }, - { - name = "turretlaser", - x = 1344, - z = 6016, - facing = 0, - }, - { - name = "turretlaser", - x = 832, - z = 5888, - facing = 0, - }, - { - name = "turretlaser", - x = 1312, - z = 5312, - facing = 0, - }, - { - name = "turretaalaser", - x = 6056, - z = 1704, - facing = 0, - }, - { - name = "turretaalaser", - x = 1688, - z = 6392, - facing = 0, - }, - { - name = "turretaafar", - x = 1568, - z = 4720, - facing = 1, - }, - { - name = "staticcon", - x = 424, - z = 168, - facing = 3, - }, - { - name = "turretlaser", - x = 128, - z = 544, - facing = 3, - }, - { - name = "turretlaser", - x = 560, - z = 400, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 328, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 392, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 456, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 520, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 584, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 648, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 712, - facing = 3, - }, - { - name = "turretemp", - x = 1440, - z = 4288, - facing = 3, - }, - { - name = "turretmissile", - x = 2688, - z = 2480, - facing = 3, - }, - { - name = "staticcon", - x = 5976, - z = 1336, - facing = 3, - }, - { - name = "turretmissile", - x = 1616, - z = 2832, - facing = 3, - }, - { - name = "turretmissile", - x = 1200, - z = 2992, - facing = 3, - }, - { - name = "spiderscout", - x = 6173, - z = 1810, - facing = 0, - }, - { - name = "staticradar", - x = 144, - z = 1152, - facing = 3, - }, - { - name = "turretmissile", - x = 112, - z = 1424, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6120, - z = 2248, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5416, - z = 1640, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5160, - z = 488, - facing = 3, - }, - { - name = "energysolar", - x = 5000, - z = 536, - facing = 3, - }, - { - name = "energysolar", - x = 4984, - z = 456, - facing = 3, - }, - { - name = "energysolar", - x = 4968, - z = 376, - facing = 3, - }, - { - name = "energysolar", - x = 5336, - z = 584, - facing = 3, - }, - { - name = "energysolar", - x = 5256, - z = 584, - facing = 3, - }, - { - name = "energysolar", - x = 2088, - z = 6360, - facing = 0, - }, - { - name = "turretmissile", - x = 1584, - z = 4272, - facing = 0, - }, - { - name = "turretmissile", - x = 1456, - z = 4144, - facing = 0, - }, - { - name = "turretmissile", - x = 1328, - z = 4272, - facing = 0, - }, - { - name = "turretaafar", - x = 5184, - z = 1120, - facing = 0, - }, - { - name = "turretaalaser", - x = 6936, - z = 1320, - facing = 0, - }, - { - name = "energywind", - x = 232, - z = 24, - facing = 0, - }, - { - name = "energywind", - x = 296, - z = 24, - facing = 0, - }, - { - name = "energywind", - x = 360, - z = 24, - facing = 0, - }, - { - name = "energywind", - x = 424, - z = 24, - facing = 0, - }, - { - name = "energywind", - x = 488, - z = 24, - facing = 0, - }, - -- Difficulty 2 - { - name = "jumpraid", - x = 2500, - z = 3100, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "jumpraid", - x = 2700, - z = 3100, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "spidercon", - x = 4900, - z = 1800, - facing = 0, - difficultyAtLeast = 2, - }, - -- Difficulty 3 - { - name = "jumpraid", - x = 2500, - z = 3200, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "jumpraid", - x = 2700, - z = 3200, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "spidercon", - x = 2200, - z = 4800, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "amphfloater", - x = 3600, - z = 6800, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "amphfloater", - x = 3600, - z = 6900, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "amphfloater", - x = 3600, - z = 7000, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "amphfloater", - x = 3600, - z = 7100, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "gunshipassault", - x = 2900, - z = 1800, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energyfusion", - x = 7000, - z = 290, - facing = 0, - difficultyAtLeast = 3, - }, - -- Difficulty 4 - { - name = "energyfusion", - x = 2600, - z = 2600, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energyfusion", - x = 350, - z = 7000, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "gunshipassault", - x = 2900, - z = 1900, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "gunshipassault", - x = 2900, - z = 2000, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "jumpassault", - x = 5900, - z = 3400, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "jumpassault", - x = 6000, - z = 3400, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "jumpassault", - x = 6100, - z = 3400, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "amphassault", - x = 4100, - z = 2100, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energysingu", - x = 1350, - z = 2750, - facing = 0, - difficultyAtLeast = 4, - }, - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {4235, 431, 5561, 4383, 214, 5769}, - width = 120, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { - }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energygeo", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Geothermal Generators", - }, - [2] = { - description = "Protect your Commander", - }, - [3] = { - description = "Protect your Metal Fabricator", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Own ten Crabs - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 10, - unitTypes = { - "spidercrabe", - }, - image = planetUtilities.ICON_DIR .. "spidercrabe.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 10 Crabs", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Make the enemy lose a factory by 12:00 - onlyCountRemovedUnits = true, - satisfyByTime = 720, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "factoryamph", - "factoryspider", - "factorygunship", - "factoryjump", - }, - image = planetUtilities.ICON_DIR .. "factoryveh.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy an enemy factory before 12:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryspider", - "spidercon", - "spidercrabe", - "spideraa", - }, - modules = { - "module_adv_nano_LIMIT_G_1", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet46.lua b/campaign/dev/planets/planet46.lua deleted file mode 100644 index c3c0ec002..000000000 --- a/campaign/dev/planets/planet46.lua +++ /dev/null @@ -1,460 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/desert01.png" - - local planetData = { - name = "Hastus", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.61, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.18, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Barren", - radius = "5250 km", - primary = "Banbawe", - primaryType = "G3V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24530", - text = [[This battlefield is exceptionally mountainous; your opponent will field Spiders and it would be advisable for you to do the same. Force your opponent to give you access to the Interception Network with Venom EMP and Hermit assault spiders.]] - }, - tips = { - { - image = "unitpics/spiderassault.png", - text = [[The Hermit isn't the strongest assault unit out there, but it is very cheap. The Hermit's plasma cannon is ballistic, so it has much longer range when firing down a hill.]] - }, - { - image = "unitpics/spideremp.png", - text = [[Venom EMP spiders are very effective against raiders, and in large numbers they can even stunlock heavier units like Commanders. Hermits have a much easier time hitting enemies when they're held still by Venoms.]] - }, - { - image = "unitpics/spidercon.png", - text = [[The Spider factory's Weaver constructors are slow, but they have high buildpower, all-terrain movement (obviously), and a short-range radar.]] - }, - }, - gameConfig = { - mapName = "Zion_v1", - playerConfig = { - startX = 2000, - startZ = 3800, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - victoryAtLocation = { - x = 2048, - z = 640, - radius = 120, - objectiveID = 1, - }, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryspider", - "spidercon", - "spiderassault", - "spideremp", - "spiderriot", - }, - startUnits = { - { - name = "staticmex", - x = 1832, - z = 3992, - facing = 0, - }, - { - name = "staticmex", - x = 2104, - z = 4008, - facing = 0, - }, - { - name = "staticmex", - x = 2344, - z = 4024, - facing = 0, - }, - { - name = "energysolar", - x = 2216, - z = 4040, - facing = 0, - }, - { - name = "energysolar", - x = 1960, - z = 4024, - facing = 0, - }, - { - name = "factoryspider", - x = 2408, - z = 3864, - facing = 2, - }, - { - name = "staticcon", - x = 2440, - z = 3960, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2440, 3960}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2415, 3935}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 2592, - z = 3888, - facing = 2, - }, - { - name = "turretlaser", - x = 2192, - z = 3792, - facing = 2, - }, - { - name = "turretlaser", - x = 1744, - z = 3904, - facing = 3, - }, - { - name = "spideremp", - x = 2483, - z = 3593, - facing = 2, - }, - { - name = "spideremp", - x = 2599, - z = 3612, - facing = 2, - }, - { - name = "spiderassault", - x = 2648, - z = 3692, - facing = 2, - }, - { - name = "spiderassault", - x = 2406, - z = 3663, - facing = 2, - }, - { - name = "spidercon", - x = 2516, - z = 3685, - facing = 2, - }, - { - name = "energysolar", - x = 2104, - z = 3912, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 2100, - startZ = 200, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Cliffwalkers", - commanderParameters = { - facplop = false, - bonusObjectiveID = 3, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticradar", - "staticmex", - "energysolar", - "energywind", - "turretmissile", - "turretlaser", - "factoryspider", - "spidercon", - "spiderassault", - "spideremp", - }, - difficultyDependantUnlocks = { - [3] = {"spiderriot"}, - [4] = {"spiderriot","spiderscout",}, - }, - commanderLevel = 4, - commander = { - name = "Jaa Peros", - chassis = "guardian", - decorations = { - "skin_bombard_steel", - }, - modules = { - "commweapon_beamlaser", - "commweapon_beamlaser", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_high_power_servos", - "module_adv_targeting", - "module_autorepair", - } - }, - startUnits = { - { - name = "staticmex", - x = 2280, - z = 120, - facing = 0, - }, - { - name = "staticmex", - x = 2024, - z = 120, - facing = 0, - }, - { - name = "staticmex", - x = 1752, - z = 136, - facing = 0, - }, - { - name = "energysolar", - x = 1880, - z = 104, - facing = 0, - }, - { - name = "energysolar", - x = 2152, - z = 88, - facing = 0, - }, - { - name = "factoryspider", - x = 1624, - z = 56, - facing = 0, - }, - { - name = "staticcon", - x = 1736, - z = 24, - facing = 0, - }, - { - name = "turretlaser", - x = 1536, - z = 272, - facing = 3, - }, - { - name = "turretlaser", - x = 1920, - z = 320, - facing = 0, - }, - { - name = "turretlaser", - x = 2384, - z = 160, - facing = 1, - }, - { - name = "spidercon", - x = 1620, - z = 387, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "spideremp", - x = 1671, - z = 357, - facing = 3, - }, - { - name = "spiderassault", - x = 1602, - z = 292, - facing = 0, - }, - { - name = "spideremp", - x = 1736, - z = 319, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "spiderassault", - x = 1665, - z = 232, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 2328, - z = 40, - facing = 1, - }, - { - name = "turretmissile", - x = 2192, - z = 720, - facing = 0, - terraformHeight = 287, - }, - { - name = "turretmissile", - x = 1920, - z = 720, - facing = 0, - }, - { - name = "staticmex", - x = 1080, - z = 888, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 1128, - z = 968, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 1152, - z = 880, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 3096, - z = 904, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 3032, - z = 1000, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretlaser", - x = 3008, - z = 912, - facing = 0, - difficultyAtLeast = 4, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_interception", - x = 2048, - z = 640, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Interception Network", - color = "green" - }, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Bring your Commander to the Interception Network", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make twelve Hermits - satisfyOnce = true, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "spiderassault", - }, - image = planetUtilities.ICON_DIR .. "spiderassault.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 12 Hermits", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Kill enemy commander - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "skin_bombard_steel.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy Commander", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "spiderassault", - "spideremp", - }, - modules = { - "module_adv_targeting_LIMIT_C_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet47.lua b/campaign/dev/planets/planet47.lua deleted file mode 100644 index 8d489d592..000000000 --- a/campaign/dev/planets/planet47.lua +++ /dev/null @@ -1,2580 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/swamp01.png" - - local planetData = { - name = "Romolis", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.615, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.375, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6880 km", - primary = "Kaoloria", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24530", - text = [[Your ally's Dantes are struggling in the hills against enemy Scorpions and Merlins. Use Fleas and Widows to decloak, stun and destroy them.]] - }, - tips = { - { - image = "unitpics/spiderscout.png", - text = [[Fleas are exceptionally cheap scout units, good for drawing fire and decloaking enemies. They can burrow into the ground to avoid detection.]] - }, - { - image = "unitpics/spiderantiheavy.png", - text = [[Widows are cloaked spiders with a very powerful but short range EMP gun. Sneak up to enemy heavies and disable them. Multiple Widows will be required for the biggest targets.]] - }, - { - image = "unitpics/striderarty.png", - text = [[The enemy Merlins fire a massive barrage of missiles from long distance. They take a long time to reload so advance after each salvo. Bait them into advancing with a juicy target, then stun them with Widows.]] - }, - }, - gameConfig = { - mapName = "Sierra-v2", - playerConfig = { - startX = 3800, - startZ = 600, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryspider", - "spidercon", - "spiderriot", - "spiderassault", - "spiderscout", - "spiderantiheavy", - }, - startUnits = { - { - name = "staticmex", - x = 4664, - z = 792, - facing = 0, - }, - { - name = "staticmex", - x = 4296, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 3736, - z = 216, - facing = 0, - }, - { - name = "energygeo", - x = 3256, - z = 936, - facing = 2, - }, - { - name = "energypylon", - x = 3768, - z = 728, - facing = 2, - }, - { - name = "energysolar", - x = 3800, - z = 232, - facing = 1, - }, - { - name = "energysolar", - x = 3720, - z = 280, - facing = 0, - }, - { - name = "energysolar", - x = 3672, - z = 200, - facing = 3, - }, - { - name = "energysolar", - x = 3752, - z = 152, - facing = 2, - }, - { - name = "energysolar", - x = 4360, - z = 824, - facing = 1, - }, - { - name = "energysolar", - x = 4280, - z = 872, - facing = 0, - }, - { - name = "energysolar", - x = 4232, - z = 792, - facing = 3, - }, - { - name = "energysolar", - x = 4312, - z = 744, - facing = 2, - }, - { - name = "energysolar", - x = 4728, - z = 808, - facing = 1, - }, - { - name = "energysolar", - x = 4648, - z = 856, - facing = 0, - }, - { - name = "energysolar", - x = 4600, - z = 776, - facing = 3, - }, - { - name = "energysolar", - x = 4680, - z = 728, - facing = 2, - }, - { - name = "energysolar", - x = 4488, - z = 872, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4488, - z = 808, - facing = 0, - }, - { - name = "factoryspider", - x = 4072, - z = 344, - facing = 0, - }, - { - name = "staticcon", - x = 4104, - z = 232, - facing = 0, - selfPatrol = true, - }, - { - name = "staticcon", - x = 4000, - z = 232, - facing = 0, - selfPatrol = true, - }, - { - name = "staticcon", - x = 3900, - z = 232, - facing = 0, - selfPatrol = true, - }, - { - name = "energyfusion", - x = 3912, - z = 32, - facing = 0, - }, - { - name = "spiderantiheavy", - x = 4012, - z = 461, - facing = 0, - }, - { - name = "spiderantiheavy", - x = 4067, - z = 459, - facing = 0, - }, - { - name = "spiderantiheavy", - x = 4127, - z = 455, - facing = 0, - }, - { - name = "spiderscout", - x = 218, - z = 3701, - facing = 0, - }, - { - name = "spiderscout", - x = 854, - z = 3052, - facing = 0, - }, - { - name = "spiderscout", - x = 2738, - z = 3452, - facing = 0, - }, - { - name = "spiderscout", - x = 7128, - z = 3821, - facing = 0, - }, - { - name = "spiderscout", - x = 6555, - z = 4047, - facing = 0, - }, - { - name = "spiderscout", - x = 5538, - z = 3323, - facing = 0, - }, - { - name = "spiderscout", - x = 4397, - z = 3659, - facing = 0, - }, - } - }, - aiConfig = { - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Julienne", - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "staticcon", - "staticmex", - "staticstorage", - "energysolar", - "energywind", - "energygeo", - --"turretlaser", - "staticradar", - "factoryveh", - "vehcon", - "vehraid", - "vehsupport", - "vehriot", - "vehassault", - "veharty", - --"vehheavyarty", made things too easy - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakarty", - "cloakassault", - "cloaksnipe", - "cloakbomb", - "cloakaa", - "factoryspider", - "spidercon", - --"spiderscout", - "spideremp", - "spiderriot", - "spiderskirm", - "spiderassualt", - "spidercrabe", - "spideraa", - "striderhub", - "striderdante", - }, - commander = false, - startUnits = { - { - name = "staticantinuke", - x = 1600, - z = 1300, - facing = 0, - }, - { - name = "staticantinuke", - x = 5300, - z = 1100, - facing = 0, - }, - { - name = "staticmex", - x = 1800, - z = 968, - facing = 0, - }, - { - name = "staticmex", - x = 2120, - z = 776, - facing = 0, - }, - { - name = "staticmex", - x = 6472, - z = 760, - facing = 0, - }, - { - name = "staticmex", - x = 2744, - z = 216, - facing = 0, - }, - { - name = "staticmex", - x = 6840, - z = 600, - facing = 0, - }, - { - name = "staticmex", - x = 5752, - z = 232, - facing = 0, - }, - { - name = "staticmex", - x = 1880, - z = 1656, - facing = 0, - }, - { - name = "staticmex", - x = 6024, - z = 1592, - facing = 0, - }, - { - name = "staticmex", - x = 840, - z = 1688, - facing = 0, - }, - { - name = "staticmex", - x = 712, - z = 888, - facing = 0, - }, - { - name = "staticmex", - x = 328, - z = 904, - facing = 0, - }, - { - name = "staticmex", - x = 536, - z = 200, - facing = 0, - }, - { - name = "energygeo", - x = 5720, - z = 1304, - facing = 2, - }, - { - name = "energypylon", - x = 5160, - z = 1080, - facing = 2, - }, - { - name = "energypylon", - x = 5960, - z = 728, - facing = 0, - }, - { - name = "energysolar", - x = 6600, - z = 712, - facing = 0, - }, - { - name = "energysolar", - x = 6744, - z = 680, - facing = 0, - }, - { - name = "energygeo", - x = 1320, - z = 1400, - facing = 0, - }, - { - name = "energypylon", - x = 712, - z = 1256, - facing = 0, - }, - { - name = "energysolar", - x = 632, - z = 664, - facing = 0, - }, - { - name = "energysolar", - x = 600, - z = 472, - facing = 0, - }, - { - name = "energysolar", - x = 552, - z = 312, - facing = 0, - }, - { - name = "energypylon", - x = 1864, - z = 1192, - facing = 0, - }, - { - name = "energysolar", - x = 3704, - z = 1288, - facing = 0, - }, - { - name = "staticmex", - x = 3704, - z = 1416, - facing = 0, - }, - { - name = "energypylon", - x = 2680, - z = 712, - facing = 0, - }, - { - name = "energysolar", - x = 5864, - z = 1416, - facing = 0, - }, - { - name = "energysolar", - x = 6024, - z = 1496, - facing = 0, - }, - { - name = "staticstorage", - x = 6024, - z = 232, - facing = 0, - }, - { - name = "factorycloak", - x = 2424, - z = 416, - facing = 0, - }, - { - name = "staticcon", - x = 2536, - z = 248, - facing = 0, - }, - { - name = "striderhub", - x = 2624, - z = 384, - facing = 0, - }, - { - name = "staticstorage", - x = 2424, - z = 136, - facing = 0, - }, - { - name = "factoryspider", - x = 6120, - z = 440, - facing = 0, - }, - { - name = "staticcon", - x = 6152, - z = 328, - facing = 0, - }, - { - name = "staticcon", - x = 472, - z = 1144, - facing = 0, - }, - { - name = "factoryveh", - x = 496, - z = 1264, - facing = 0, - }, - { - name = "turretgauss", - x = 2024, - z = 2568, - facing = 0, - }, - { - name = "turretgauss", - x = 1080, - z = 2280, - facing = 0, - }, - { - name = "turretgauss", - x = 1544, - z = 2424, - facing = 0, - }, - { - name = "turretemp", - x = 1808, - z = 2496, - facing = 0, - }, - { - name = "turretemp", - x = 1312, - z = 2384, - facing = 0, - }, - { - name = "turretaaflak", - x = 1368, - z = 2232, - facing = 0, - }, - { - name = "turretaaflak", - x = 1800, - z = 2280, - facing = 0, - }, - { - name = "turretaafar", - x = 4048, - z = 1104, - facing = 0, - }, - { - name = "turretlaser", - x = 3952, - z = 1136, - facing = 0, - }, - { - name = "turretlaser", - x = 4144, - z = 1152, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3176, - z = 2280, - facing = 0, - }, - { - name = "turretgauss", - x = 3096, - z = 2136, - facing = 0, - }, - { - name = "turretemp", - x = 3152, - z = 1968, - facing = 0, - }, - { - name = "turretgauss", - x = 2520, - z = 1480, - facing = 0, - }, - { - name = "turretaalaser", - x = 2680, - z = 1624, - facing = 0, - }, - { - name = "turretaalaser", - x = 2888, - z = 1816, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5000, - z = 1928, - facing = 0, - }, - { - name = "turretgauss", - x = 4264, - z = 1864, - facing = 0, - }, - { - name = "staticcon", - x = 3000, - z = 1832, - facing = 0, - }, - { - name = "turretemp", - x = 4864, - z = 1952, - facing = 0, - }, - { - name = "turretemp", - x = 4384, - z = 1904, - facing = 0, - }, - { - name = "turretaaflak", - x = 4568, - z = 1832, - facing = 0, - }, - { - name = "staticcon", - x = 4680, - z = 1800, - facing = 0, - }, - { - name = "staticcon", - x = 1640, - z = 2280, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1640, 2280}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1756, 2669}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 5928, - z = 2360, - facing = 0, - }, - { - name = "turretgauss", - x = 7016, - z = 1704, - facing = 0, - }, - { - name = "turretemp", - x = 6848, - z = 1664, - facing = 0, - }, - { - name = "turretemp", - x = 6064, - z = 2352, - facing = 0, - }, - { - name = "turretaalaser", - x = 6216, - z = 2136, - facing = 0, - }, - { - name = "turretaalaser", - x = 6600, - z = 1848, - facing = 0, - }, - { - name = "staticcon", - x = 6088, - z = 2200, - facing = 0, - }, - { - name = "turretgauss", - x = 72, - z = 1944, - facing = 0, - }, - { - name = "turretemp", - x = 192, - z = 1952, - facing = 0, - }, - { - name = "staticradar", - x = 6000, - z = 2336, - facing = 2, - }, - { - name = "staticradar", - x = 4928, - z = 1904, - facing = 2, - }, - { - name = "staticradar", - x = 1184, - z = 2288, - facing = 2, - }, - { - name = "staticradar", - x = 3168, - z = 2176, - facing = 2, - }, - { - name = "striderdante", - x = 2372, - z = 2658, - facing = 2, - patrolRoute = { - {2459, 2724}, - {2320, 2592}, - }, - }, - { - name = "energywind", - x = 3656, - z = 1400, - facing = 0, - }, - { - name = "cloakcon", - x = 6394, - z = 3410, - facing = 3, - }, - { - name = "staticradar", - x = 5712, - z = 160, - facing = 0, - }, - { - name = "energysolar", - x = 6088, - z = 1592, - facing = 3, - }, - { - name = "cloakcon", - x = 1550, - z = 2360, - facing = 1, - }, - { - name = "vehassault", - x = 5228, - z = 4052, - facing = 0, - }, - { - name = "staticradar", - x = 2016, - z = 992, - facing = 0, - }, - { - name = "vehassault", - x = 5187, - z = 4034, - facing = 0, - }, - { - name = "staticcon", - x = 5048, - z = 2456, - facing = 3, - }, - { - name = "staticmex", - x = 3016, - z = 1944, - facing = 0, - }, - { - name = "spidercon", - x = 6318, - z = 3414, - facing = 3, - }, - { - name = "staticmex", - x = 6472, - z = 2568, - facing = 0, - }, - { - name = "energywind", - x = 2840, - z = 200, - facing = 0, - }, - { - name = "spideraa", - x = 5083, - z = 3490, - facing = 3, - }, - { - name = "staticcon", - x = 520, - z = 1112, - facing = 1, - }, - { - name = "energywind", - x = 1736, - z = 1080, - facing = 0, - }, - { - name = "staticmex", - x = 1704, - z = 2376, - facing = 0, - }, - { - name = "energywind", - x = 6472, - z = 3608, - facing = 3, - }, - { - name = "energysolar", - x = 1736, - z = 952, - facing = 0, - }, - { - name = "spidercrabe", - x = 5209, - z = 3663, - facing = 0, - }, - { - name = "staticradar", - x = 6496, - z = 3472, - facing = 3, - }, - { - name = "staticcon", - x = 424, - z = 1128, - facing = 1, - }, - { - name = "energywind", - x = 824, - z = 1640, - facing = 1, - }, - { - name = "energywind", - x = 4776, - z = 920, - facing = 0, - }, - { - name = "energywind", - x = 1656, - z = 2376, - facing = 1, - }, - { - name = "staticmex", - x = 1880, - z = 3080, - facing = 0, - }, - { - name = "staticmex", - x = 4664, - z = 1912, - facing = 0, - }, - { - name = "energywind", - x = 328, - z = 856, - facing = 1, - }, - { - name = "vehassault", - x = 1631, - z = 3482, - facing = 1, - }, - { - name = "staticmex", - x = 5192, - z = 2584, - facing = 0, - }, - { - name = "striderdante", - x = 2624, - z = 480, - facing = 0, - buildProgress = 0.67210001, - }, - { - name = "cloakraid", - x = 3808, - z = 2696, - facing = 1, - }, - { - name = "energysolar", - x = 1944, - z = 1640, - facing = 0, - }, - { - name = "vehcon", - x = 2303, - z = 2290, - facing = 0, - }, - { - name = "cloakassault", - x = 3236, - z = 3578, - facing = 2, - }, - { - name = "staticradar", - x = 5024, - z = 2384, - facing = 3, - }, - { - name = "staticcon", - x = 568, - z = 1128, - facing = 1, - }, - { - name = "vehassault", - x = 1671, - z = 3359, - facing = 1, - }, - { - name = "staticcon", - x = 6584, - z = 3288, - facing = 3, - }, - { - name = "energywind", - x = 840, - z = 904, - facing = 1, - }, - { - name = "staticradar", - x = 3632, - z = 304, - facing = 0, - }, - { - name = "cloakcon", - x = 2391, - z = 2751, - facing = 2, - }, - { - name = "spidercon", - x = 6075, - z = 3049, - facing = 2, - }, - { - name = "energywind", - x = 776, - z = 1736, - facing = 1, - }, - { - name = "vehriot", - x = 1572, - z = 3140, - facing = 1, - }, - { - name = "vehassault", - x = 1598, - z = 3455, - facing = 1, - }, - { - name = "cloakcon", - x = 2341, - z = 2476, - facing = 0, - }, - { - name = "spidercon", - x = 5933, - z = 3032, - facing = 3, - }, - { - name = "energywind", - x = 2168, - z = 744, - facing = 0, - }, - { - name = "energywind", - x = 3848, - z = 344, - facing = 0, - }, - { - name = "energywind", - x = 920, - z = 1672, - facing = 1, - }, - { - name = "energywind", - x = 5800, - z = 248, - facing = 0, - }, - { - name = "vehcon", - x = 2313, - z = 2567, - facing = 0, - }, - { - name = "energywind", - x = 2200, - z = 840, - facing = 0, - }, - { - name = "staticcon", - x = 5144, - z = 2488, - facing = 3, - }, - { - name = "vehassault", - x = 1602, - z = 3315, - facing = 1, - }, - { - name = "energywind", - x = 1832, - z = 1640, - facing = 0, - }, - { - name = "staticcon", - x = 472, - z = 1096, - facing = 1, - }, - { - name = "staticcon", - x = 472, - z = 1048, - facing = 1, - }, - { - name = "energywind", - x = 2680, - z = 264, - facing = 0, - }, - { - name = "energysolar", - x = 648, - z = 920, - facing = 1, - }, - { - name = "staticcon", - x = 424, - z = 1080, - facing = 1, - }, - { - name = "cloakskirm", - x = 3437, - z = 3373, - facing = 3, - }, - { - name = "vehassault", - x = 1642, - z = 3442, - facing = 0, - }, - { - name = "staticmex", - x = 6840, - z = 2168, - facing = 0, - }, - { - name = "spidercon", - x = 4586, - z = 1231, - facing = 3, - }, - { - name = "vehcon", - x = 1609, - z = 1607, - facing = 1, - }, - { - name = "energysolar", - x = 728, - z = 952, - facing = 1, - }, - { - name = "energysolar", - x = 5960, - z = 1576, - facing = 3, - }, - { - name = "energysolar", - x = 5944, - z = 1496, - facing = 3, - }, - { - name = "cloakskirm", - x = 3403, - z = 3334, - facing = 3, - }, - { - name = "energysolar", - x = 1736, - z = 872, - facing = 0, - }, - { - name = "energysolar", - x = 648, - z = 840, - facing = 1, - }, - { - name = "spiderskirm", - x = 5279, - z = 2592, - facing = 0, - }, - { - name = "vehassault", - x = 1646, - z = 3391, - facing = 1, - }, - { - name = "energysolar", - x = 6056, - z = 1672, - facing = 3, - }, - { - name = "vehassault", - x = 1581, - z = 3494, - facing = 1, - }, - { - name = "energysolar", - x = 1864, - z = 968, - facing = 0, - }, - { - name = "vehassault", - x = 1579, - z = 3280, - facing = 0, - }, - { - name = "vehcon", - x = 2593, - z = 2707, - facing = 3, - }, - { - name = "energywind", - x = 6136, - z = 1480, - facing = 3, - }, - { - name = "spiderskirm", - x = 5345, - z = 2526, - facing = 3, - }, - { - name = "energysolar", - x = 728, - z = 824, - facing = 1, - }, - { - name = "energysolar", - x = 1848, - z = 1048, - facing = 0, - }, - { - name = "staticmex", - x = 6536, - z = 3560, - facing = 0, - }, - { - name = "energysolar", - x = 2728, - z = 152, - facing = 0, - }, - { - name = "staticcon", - x = 6616, - z = 3336, - facing = 3, - }, - { - name = "spiderskirm", - x = 6120, - z = 499, - facing = 0, - }, - { - name = "vehassault", - x = 1499, - z = 3188, - facing = 0, - }, - { - name = "cloakcon", - x = 2879, - z = 1469, - facing = 0, - }, - { - name = "vehcon", - x = 2011, - z = 2883, - facing = 1, - }, - { - name = "staticcon", - x = 520, - z = 1064, - facing = 1, - }, - { - name = "spiderskirm", - x = 5747, - z = 1088, - facing = 0, - }, - { - name = "energywind", - x = 6536, - z = 2536, - facing = 3, - }, - { - name = "energywind", - x = 536, - z = 840, - facing = 1, - }, - { - name = "energywind", - x = 2776, - z = 296, - facing = 0, - }, - { - name = "cloakraid", - x = 3067, - z = 1964, - facing = 0, - }, - { - name = "cloakcon", - x = 2424, - z = 425, - facing = 0, - buildProgress = 0.62849998, - }, - { - name = "vehassault", - x = 604, - z = 1415, - facing = 1, - }, - } - }, - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "X47350", - allyTeam = 1, - unlocks = { - "staticcon", - "staticmex", - "staticstorage", - "staticradar", - "energysolar", - "energywind", - "energygeo", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakarty", - "cloakassault", - "cloaksnipe", - "cloakaa", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphaa", - "amphassault", - "factoryspider", - "spidercon", - --"spiderscout", - "spideremp", - "spiderriot", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spideraa", - }, - difficultyDependantUnlocks = { - [3] = {"spiderantiheavy"}, - [4] = {"spiderantiheavy","amphbomb"}, - }, - commander = false, - startUnits = { - { - name = "staticshield", - x = 850, - z = 5000, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticshield", - x = 6800, - z = 4850, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "energyfusion", - x = 130, - z = 6490, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticantinuke", - x = 5700, - z = 6100, - facing = 0, - }, - { - name = "staticantinuke", - x = 1800, - z = 6000, - facing = 0, - }, - { - name = "staticshield", - x = 1970, - z = 4700, - facing = 0, - }, - { - name = "staticshield", - x = 2450, - z = 4860, - facing = 0, - }, - { - name = "staticshield", - x = 3930, - z = 5030, - facing = 0, - }, - { - name = "staticshield", - x = 4230, - z = 5500, - facing = 0, - }, - { - name = "staticshield", - x = 5420, - z = 4770, - facing = 0, - }, - { - name = "staticmex", - x = 5096, - z = 6312, - facing = 0, - }, - { - name = "staticmex", - x = 2456, - z = 6248, - facing = 0, - }, - { - name = "staticmex", - x = 5464, - z = 6088, - facing = 0, - }, - { - name = "staticmex", - x = 2840, - z = 6248, - facing = 0, - }, - { - name = "staticmex", - x = 6632, - z = 6024, - facing = 0, - }, - { - name = "staticmex", - x = 1656, - z = 5304, - facing = 0, - }, - { - name = "staticmex", - x = 7016, - z = 6024, - facing = 0, - }, - { - name = "staticmex", - x = 6600, - z = 6872, - facing = 0, - }, - { - name = "staticmex", - x = 632, - z = 6280, - facing = 0, - }, - { - name = "staticmex", - x = 280, - z = 6440, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 6824, - facing = 0, - }, - { - name = "staticmex", - x = 3416, - z = 6984, - facing = 2, - }, - { - name = "energygeo", - x = 1560, - z = 5688, - facing = 2, - }, - { - name = "staticmex", - x = 4600, - z = 6984, - facing = 2, - }, - { - name = "energygeo", - x = 5800, - z = 5496, - facing = 2, - }, - { - name = "energysolar", - x = 1624, - z = 5448, - facing = 2, - }, - { - name = "staticmex", - x = 6264, - z = 5368, - facing = 2, - }, - { - name = "staticmex", - x = 5240, - z = 5384, - facing = 2, - }, - { - name = "energypylon", - x = 1000, - z = 6008, - facing = 2, - }, - { - name = "staticmex", - x = 4184, - z = 5240, - facing = 2, - }, - { - name = "energysolar", - x = 504, - z = 6344, - facing = 2, - }, - { - name = "energysolar", - x = 376, - z = 6392, - facing = 2, - }, - { - name = "energysolar", - x = 1144, - z = 6584, - facing = 2, - }, - { - name = "staticmex", - x = 3288, - z = 5256, - facing = 2, - }, - { - name = "energysolar", - x = 1240, - z = 6744, - facing = 2, - }, - { - name = "energypylon", - x = 6360, - z = 5800, - facing = 0, - }, - { - name = "energypylon", - x = 6728, - z = 6440, - facing = 0, - }, - { - name = "energypylon", - x = 5304, - z = 5864, - facing = 0, - }, - { - name = "energypylon", - x = 2056, - z = 6024, - facing = 0, - }, - { - name = "energysolar", - x = 2568, - z = 6264, - facing = 0, - }, - { - name = "energypylon", - x = 4552, - z = 6488, - facing = 0, - }, - { - name = "energysolar", - x = 2712, - z = 6248, - facing = 0, - }, - { - name = "energypylon", - x = 3752, - z = 5736, - facing = 0, - }, - { - name = "energypylon", - x = 3336, - z = 6456, - facing = 0, - }, - { - name = "energysolar", - x = 3368, - z = 5352, - facing = 0, - }, - { - name = "energysolar", - x = 4104, - z = 5320, - facing = 0, - }, - { - name = "staticcon", - x = 3384, - z = 6312, - facing = 0, - }, - { - name = "factoryamph", - x = 3368, - z = 6200, - facing = 2, - }, - { - name = "factoryspider", - x = 6616, - z = 6168, - facing = 2, - }, - { - name = "staticcon", - x = 728, - z = 5272, - facing = 0, - }, - { - name = "staticcon", - x = 728, - z = 5944, - facing = 2, - }, - { - name = "factorycloak", - x = 760, - z = 5824, - facing = 2, - }, - { - name = "staticstorage", - x = 3272, - z = 6584, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3992, - z = 4952, - facing = 2, - }, - { - name = "turretgauss", - x = 3832, - z = 4728, - facing = 2, - }, - { - name = "turretemp", - x = 4176, - z = 4976, - facing = 2, - }, - { - name = "turretemp", - x = 3808, - z = 5024, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2536, - z = 4776, - facing = 2, - }, - { - name = "turretheavylaser", - x = 1944, - z = 4584, - facing = 2, - }, - { - name = "turretheavylaser", - x = 856, - z = 4920, - facing = 2, - }, - { - name = "turretemp", - x = 1104, - z = 4848, - facing = 2, - }, - { - name = "turretriot", - x = 2696, - z = 4840, - facing = 2, - }, - { - name = "turretemp", - x = 640, - z = 4848, - facing = 2, - }, - { - name = "turretgauss", - x = 1688, - z = 4520, - facing = 2, - }, - { - name = "staticcon", - x = 6600, - z = 6296, - facing = 2, - }, - { - name = "staticcon", - x = 6792, - z = 4952, - facing = 0, - }, - { - name = "turretemp", - x = 7040, - z = 4848, - facing = 2, - }, - { - name = "staticcon", - x = 5304, - z = 4856, - facing = 0, - }, - { - name = "turretriot", - x = 6648, - z = 4520, - facing = 2, - }, - { - name = "turretaaflak", - x = 2360, - z = 4760, - facing = 2, - }, - { - name = "turretaaflak", - x = 2152, - z = 4712, - facing = 2, - }, - { - name = "turretaaclose", - x = 1000, - z = 4936, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4424, - z = 5512, - facing = 2, - }, - { - name = "turretgauss", - x = 4360, - z = 5192, - facing = 2, - }, - { - name = "turretaaflak", - x = 3976, - z = 5192, - facing = 2, - }, - { - name = "turretaaflak", - x = 4248, - z = 5400, - facing = 2, - }, - { - name = "turretaaclose", - x = 5160, - z = 6568, - facing = 2, - }, - { - name = "turretaalaser", - x = 4904, - z = 6296, - facing = 2, - }, - { - name = "turretaalaser", - x = 4760, - z = 6824, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5512, - z = 4712, - facing = 2, - }, - { - name = "turretriot", - x = 5352, - z = 4520, - facing = 2, - }, - { - name = "turretaaflak", - x = 5272, - z = 4712, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6776, - z = 4696, - facing = 2, - }, - { - name = "turretaalaser", - x = 7096, - z = 5000, - facing = 2, - }, - { - name = "turretlaser", - x = 3296, - z = 7072, - facing = 2, - }, - { - name = "turretlaser", - x = 3488, - z = 7072, - facing = 2, - }, - { - name = "staticradar", - x = 736, - z = 4944, - facing = 2, - }, - { - name = "staticradar", - x = 4064, - z = 5040, - facing = 2, - }, - { - name = "staticradar", - x = 6816, - z = 4768, - facing = 2, - }, - { - name = "staticradar", - x = 2608, - z = 4848, - facing = 2, - }, - { - name = "staticcon", - x = 2264, - z = 4840, - facing = 0, - }, - { - name = "staticcon", - x = 3960, - z = 5288, - facing = 0, - }, - { - name = "staticmex", - x = 744, - z = 4360, - facing = 0, - }, - { - name = "spideremp", - x = 1019, - z = 3481, - facing = 1, - }, - { - name = "staticcon", - x = 2216, - z = 4792, - facing = 1, - }, - { - name = "cloakraid", - x = 2897, - z = 3878, - facing = 1, - }, - { - name = "spiderskirm", - x = 6508, - z = 4480, - facing = 2, - }, - { - name = "spidercrabe", - x = 977, - z = 3510, - facing = 1, - }, - { - name = "amphfloater", - x = 3922, - z = 2812, - facing = 0, - }, - { - name = "staticradar", - x = 4656, - z = 3872, - facing = 3, - }, - { - name = "cloakcon", - x = 793, - z = 3871, - facing = 1, - }, - { - name = "amphfloater", - x = 3960, - z = 2839, - facing = 0, - }, - { - name = "staticmex", - x = 7064, - z = 4312, - facing = 0, - }, - { - name = "amphfloater", - x = 4067, - z = 2976, - facing = 0, - }, - { - name = "staticmex", - x = 2264, - z = 4632, - facing = 0, - }, - { - name = "staticradar", - x = 1376, - z = 6800, - facing = 2, - }, - { - name = "energywind", - x = 5192, - z = 5384, - facing = 2, - }, - { - name = "spiderskirm", - x = 5201, - z = 4473, - facing = 3, - }, - { - name = "cloakcon", - x = 4499, - z = 3243, - facing = 2, - }, - { - name = "staticcon", - x = 776, - z = 4424, - facing = 1, - }, - { - name = "cloakcon", - x = 148, - z = 2835, - facing = 2, - }, - { - name = "staticradar", - x = 3488, - z = 6880, - facing = 2, - }, - { - name = "cloakcon", - x = 1223, - z = 4276, - facing = 1, - }, - { - name = "spidercon", - x = 4246, - z = 4114, - facing = 0, - }, - { - name = "staticradar", - x = 2288, - z = 4736, - facing = 1, - }, - { - name = "amphcon", - x = 3760, - z = 4057, - facing = 1, - }, - { - name = "cloakskirm", - x = 1043, - z = 3512, - facing = 1, - }, - { - name = "spidercrabe", - x = 6150, - z = 4477, - facing = 1, - }, - { - name = "staticcon", - x = 856, - z = 4344, - facing = 1, - }, - { - name = "cloaksnipe", - x = 1867, - z = 5619, - facing = 1, - }, - { - name = "staticradar", - x = 784, - z = 4352, - facing = 1, - }, - { - name = "staticcon", - x = 2360, - z = 4680, - facing = 1, - }, - { - name = "spidercon", - x = 5283, - z = 4334, - facing = 0, - }, - { - name = "cloakraid", - x = 3074, - z = 4128, - facing = 1, - }, - { - name = "cloakassault", - x = 1493, - z = 3737, - facing = 2, - }, - { - name = "spidercrabe", - x = 6616, - z = 6132, - facing = 2, - buildProgress = 0.43849999, - }, - { - name = "amphcon", - x = 3368, - z = 6164, - facing = 2, - buildProgress = 0.31850001, - }, - { - name = "cloakraid", - x = 760, - z = 5814, - facing = 2, - buildProgress = 0.94999999, - }, - } - }, - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Sorcerers", - allyTeam = 1, - unlocks = { - "staticcon", - "staticmex", - "energysolar", - "energygeo", - "staticstorage", - "staticradar", - "turretmissile", - "planecon", - "planescout", - "planeheavyfighter", - "bomberdisarm", - "striderhub", - "striderarty", - "striderscorpion", - }, - startX = 4400, - startZ = 7000, - commanderLevel = 6, - commanderParameters = { - facplop = false, - }, - commander = { - name = "Blackwitch", - chassis = "engineer", - decorations = { - "skin_support_dark", - }, - modules = { - "commweapon_lparticlebeam", - "commweapon_multistunner", - "module_heavy_armor", - "module_heavy_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_companion_drone", - "module_companion_drone", - "module_companion_drone", - "module_companion_drone", - } - }, - midgameUnits = { - { - name = "striderscorpion", - x = 4500, - z = 6600, - facing = 0, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "striderscorpion", - x = 4000, - z = 6600, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "striderscorpion", - x = 3000, - z = 6600, - facing = 0, - spawnRadius = 150, - delay = 6*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - difficultyAtMost = 3, - }, - { - name = "striderbantha", - x = 2000, - z = 6600, - facing = 0, - spawnRadius = 150, - delay = 6*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "striderscorpion", - x = 2000, - z = 6600, - facing = 0, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "striderscorpion", - x = 5500, - z = 6600, - facing = 0, - spawnRadius = 150, - delay = 10*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - }, - startUnits = { - { - name = "staticheavyarty", - x = 3970, - z = 6735, - facing = 2, - buildProgress = 0.85, - difficultyAtLeast = 4, - }, - { - name = "staticcon", - x = 3975, - z = 7000, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "turretriot", - x = 4050, - z = 6735, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "turretriot", - x = 3870, - z = 6700, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "striderhub", - x = 4928, - z = 6688, - facing = 2, - }, - { - name = "turretriot", - x = 4800, - z = 6688, - facing = 2, - }, - { - name = "turretriot", - x = 5100, - z = 6688, - facing = 2, - }, - { - name = "striderhub", - x = 800, - z = 6688, - facing = 2, - }, - { - name = "turretriot", - x = 700, - z = 6688, - facing = 2, - }, - { - name = "turretriot", - x = 900, - z = 6688, - facing = 2, - }, - { - name = "turretgauss", - x = 800, - z = 6500, - facing = 2, - }, - { - name = "turretgauss", - x = 800, - z = 6800, - facing = 2, - }, - { - name = "turretaafar", - x = 1000, - z = 6900, - facing = 2, - }, - { - name = "staticrearm", - x = 4632, - z = 6696, - facing = 2, - }, - { - name = "factoryplane", - x = 4720, - z = 6392, - facing = 2, - }, - { - name = "staticstorage", - x = 4424, - z = 6808, - facing = 2, - }, - { - name = "staticcon", - x = 5000, - z = 6904, - facing = 2, - }, - { - name = "energygeo", - x = 3944, - z = 6328, - facing = 2, - }, - { - name = "energyfusion", - x = 3384, - z = 7136, - facing = 0, - }, - { - name = "striderarty", - x = 2281, - z = 4563, - facing = 0, - }, - { - name = "striderarty", - x = 4928, - z = 6592, - facing = 0, - buildProgress = 0.64770001, - }, - { - name = "staticcon", - x = 4936, - z = 6840, - facing = 2, - }, - { - name = "staticradar", - x = 5120, - z = 6208, - facing = 2, - }, - { - name = "staticcon", - x = 4984, - z = 6824, - facing = 2, - }, - { - name = "staticmex", - x = 5400, - z = 4616, - facing = 0, - }, - { - name = "striderscorpion", - x = 4250, - z = 4480, - facing = 3, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "striderhub", - --"striderscorpion", - "stridercatapult", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Merlins and Strider Hubs", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make six Widows - satisfyOnce = true, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 9, - unitTypes = { - "spiderantiheavy", - }, - image = planetUtilities.ICON_DIR .. "spiderantiheavy.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 6 Widows", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Switch - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "factorycloak", - "factoryshield", - "factoryamph", - "factorygunship", - "factoryhover", - "factoryjump", - "factoryplane", - "factoryship", - "factorytank", - "factoryveh", - }, - image = planetUtilities.ICON_DIR .. "factorycloak.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a second Factory", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win by 20:00 - victoryByTime = 18*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 18:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "spiderscout", - "spiderantiheavy", - }, - modules = { - "module_autorepair_LIMIT_D_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet48.lua b/campaign/dev/planets/planet48.lua deleted file mode 100644 index 972aaea05..000000000 --- a/campaign/dev/planets/planet48.lua +++ /dev/null @@ -1,3139 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/desert02.png" - - local planetData = { - name = "Old Kam", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.53, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.40, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Minimal", - radius = "6570 km", - primary = "Nataa", - primaryType = "G1V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24566", - text = [[Your enemy's defences on this level are dependent on a few critical structures, but the rough terrain will make it very difficult to get close enough to destroy them. The Tactical Missile Silo provides a much more practical solution to this problem.]] - }, - tips = { - { - image = "unitpics/tacnuke.png", - text = [[The Eos tactical nuke doesn't cause a large explosion, but whatever it hits directly will take a lot of damage. It is quite expensive and should only be used against high-value stationary targets.]] - }, - { - image = "unitpics/empmissile.png", - text = [[Shockley missiles deliver a massive amount of EMP damage in a small radius, and are not affected by shields. Use this to disable the most important part of your opponent's defences just before you attack.]] - }, - { - image = "unitpics/napalmmissile.png", - text = [[Inferno missiles create fire in a large radius, which inflicts damage over time. This is very useful for destroying low-HP economic buildings like Wind Generators and Caretakers, or preventing production from a Factory.]] - }, - { - image = "unitpics/seismic.png", - text = [[The Quake seismic missile's main purpose is reducing terraformed walls so that other missiles can strike their targets. It can also be used to smooth other difficult terrain.]] - }, - }, - gameConfig = { - mapName = "Xenolithic_v1", - playerConfig = { - startX = 1900, - startZ = 2400, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "staticmissilesilo", - "tacnuke", - "napalmmissile", - "empmissile", - "seismic", - }, - startUnits = { - { - name = "staticmissilesilo", - x = 2128, - z = 3088, - facing = 3, - }, - { - name = "turretlaser", - x = 1888, - z = 2368, - facing = 1, - }, - { - name = "turretlaser", - x = 2064, - z = 2672, - facing = 1, - }, - { - name = "staticmex", - x = 1672, - z = 2968, - facing = 3, - }, - { - name = "staticmex", - x = 1528, - z = 2680, - facing = 3, - }, - { - name = "staticmex", - x = 1864, - z = 2712, - facing = 3, - }, - { - name = "energysolar", - x = 1640, - z = 2872, - facing = 1, - }, - { - name = "energysolar", - x = 1640, - z = 2712, - facing = 1, - }, - { - name = "energysolar", - x = 1784, - z = 2776, - facing = 1, - }, - { - name = "staticcon", - x = 1800, - z = 3032, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1800, 3032}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1825, 3057}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1800, - z = 3128, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1800, 3128}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1825, 3153}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 2216, - z = 3208, - facing = 1, - }, - { - name = "turretriot", - x = 2232, - z = 2920, - facing = 1, - }, - { - name = "turretriot", - x = 1944, - z = 3272, - facing = 0, - }, - { - name = "turretlaser", - x = 1680, - z = 3344, - facing = 0, - }, - } - }, - aiConfig = { - { - humanName = "Sorrali", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "staticcon", - "staticmex", - "staticradar", - "staticantinuke", - "energysolar", - "energywind", - "energypylon", - "turretlaser", - "turretmissile", - "factoryspider", - "spidercon", - "spiderscout", - "spideremp", - "spiderassault", - "spiderskirm", - "spiderriot", - "spidercrabe", - "factoryplane", - "planescout", - "bomberdisarm", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldassault", - "shieldskirm", - "shieldfelon", - "shieldshield", - "shieldarty", - }, - commander = false, - startUnits = { - { - name = "turretriot", - x = 2296, - z = 6552, - facing = 1, - }, - { - name = "turretlaser", - x = 320, - z = 1792, - facing = 1, - }, - { - name = "turretlaser", - x = 960, - z = 1600, - facing = 1, - }, - { - name = "staticmex", - x = 1704, - z = 4360, - facing = 0, - }, - { - name = "staticmex", - x = 2008, - z = 4216, - facing = 0, - }, - { - name = "staticmex", - x = 1736, - z = 4024, - facing = 0, - }, - { - name = "staticmex", - x = 1704, - z = 5432, - facing = 2, - }, - { - name = "staticmex", - x = 1592, - z = 5704, - facing = 2, - }, - { - name = "staticmex", - x = 1944, - z = 5672, - facing = 2, - }, - { - name = "staticmex", - x = 632, - z = 2248, - facing = 2, - }, - { - name = "staticmex", - x = 456, - z = 5944, - facing = 2, - }, - { - name = "staticmex", - x = 280, - z = 6216, - facing = 2, - }, - { - name = "staticmex", - x = 472, - z = 1896, - facing = 2, - }, - { - name = "staticmex", - x = 712, - z = 6216, - facing = 2, - }, - { - name = "staticmex", - x = 248, - z = 2136, - facing = 2, - }, - { - name = "staticmex", - x = 904, - z = 920, - facing = 3, - }, - { - name = "staticmex", - x = 1928, - z = 792, - facing = 3, - }, - { - name = "energyfusion", - x = 32, - z = 4360, - facing = 1, - }, - { - name = "energyfusion", - x = 32, - z = 4280, - facing = 1, - }, - { - name = "energyfusion", - x = 32, - z = 4200, - facing = 1, - }, - { - name = "staticmex", - x = 360, - z = 7480, - facing = 1, - }, - { - name = "staticmex", - x = 1592, - z = 8088, - facing = 1, - }, - { - name = "turretlaser", - x = 592, - z = 2384, - facing = 1, - }, - { - name = "staticmex", - x = 1432, - z = 6648, - facing = 3, - }, - { - name = "staticmex", - x = 3000, - z = 4536, - facing = 3, - }, - { - name = "staticmex", - x = 2456, - z = 7544, - facing = 3, - }, - { - name = "staticmex", - x = 3080, - z = 3272, - facing = 3, - }, - { - name = "factoryplane", - x = 56, - z = 3664, - facing = 1, - }, - { - name = "planescout", - x = 200, - z = 3664, - facing = 1, - }, - { - name = "planescout", - x = 200, - z = 200, - facing = 1, - }, - { - name = "turretlaser", - x = 1856, - z = 5424, - facing = 1, - }, - { - name = "energyfusion", - x = 32, - z = 3096, - facing = 1, - }, - { - name = "energypylon", - x = 312, - z = 2488, - facing = 1, - }, - { - name = "energyfusion", - x = 32, - z = 3016, - facing = 1, - }, - { - name = "energyfusion", - x = 32, - z = 2936, - facing = 1, - }, - { - name = "energypylon", - x = 680, - z = 1608, - facing = 1, - }, - { - name = "energysolar", - x = 1992, - z = 808, - facing = 0, - }, - { - name = "turretlaser", - x = 288, - z = 6368, - facing = 0, - }, - { - name = "energysolar", - x = 1912, - z = 856, - facing = 3, - }, - { - name = "energysolar", - x = 1864, - z = 776, - facing = 2, - }, - { - name = "energysolar", - x = 1944, - z = 728, - facing = 1, - }, - { - name = "energypylon", - x = 1368, - z = 904, - facing = 1, - }, - { - name = "energypylon", - x = 280, - z = 3672, - facing = 1, - }, - { - name = "staticrearm", - x = 72, - z = 3464, - facing = 1, - }, - { - name = "energypylon", - x = 200, - z = 4968, - facing = 1, - }, - { - name = "staticcon", - x = 24, - z = 3800, - facing = 1, - }, - { - name = "energypylon", - x = 552, - z = 5864, - facing = 1, - }, - { - name = "energypylon", - x = 1224, - z = 2536, - facing = 1, - }, - { - name = "energypylon", - x = 1480, - z = 5576, - facing = 1, - }, - { - name = "energypylon", - x = 1192, - z = 3512, - facing = 1, - }, - { - name = "energypylon", - x = 1560, - z = 4360, - facing = 1, - }, - { - name = "staticheavyradar", - x = 1552, - z = 6416, - facing = 1, - }, - { - name = "staticheavyradar", - x = 1744, - z = 1568, - facing = 1, - }, - { - name = "factoryspider", - x = 872, - z = 1880, - facing = 1, - }, - { - name = "staticcon", - x = 744, - z = 1848, - facing = 1, - }, - { - name = "staticcon", - x = 744, - z = 1928, - facing = 1, - }, - { - name = "factoryshield", - x = 1448, - z = 4144, - facing = 1, - }, - { - name = "staticcon", - x = 1288, - z = 4104, - facing = 1, - }, - { - name = "staticcon", - x = 1288, - z = 4200, - facing = 1, - }, - { - name = "factoryspider", - x = 824, - z = 5960, - facing = 1, - }, - { - name = "staticcon", - x = 712, - z = 5928, - facing = 1, - }, - { - name = "staticcon", - x = 712, - z = 5992, - facing = 1, - }, - { - name = "staticstorage", - x = 24, - z = 3912, - facing = 3, - }, - { - name = "staticstorage", - x = 24, - z = 3976, - facing = 3, - }, - { - name = "turretlaser", - x = 112, - z = 4128, - facing = 1, - }, - { - name = "turretlaser", - x = 112, - z = 4432, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2904, - z = 3224, - facing = 1, - }, - { - name = "turretaaclose", - x = 2760, - z = 3336, - facing = 1, - }, - { - name = "turretmissile", - x = 2864, - z = 3472, - facing = 1, - }, - { - name = "turretmissile", - x = 2896, - z = 3344, - facing = 1, - }, - { - name = "turretlaser", - x = 96, - z = 3168, - facing = 1, - }, - { - name = "turretlaser", - x = 2480, - z = 2240, - facing = 1, - }, - { - name = "turretlaser", - x = 96, - z = 2880, - facing = 1, - }, - { - name = "turretemp", - x = 2448, - z = 2112, - facing = 1, - }, - { - name = "turretriot", - x = 1992, - z = 1000, - facing = 1, - }, - { - name = "turretmissile", - x = 2016, - z = 1136, - facing = 1, - }, - { - name = "turretlaser", - x = 2000, - z = 592, - facing = 1, - }, - { - name = "turretlaser", - x = 1232, - z = 4016, - facing = 1, - }, - { - name = "turretlaser", - x = 1472, - z = 4336, - facing = 1, - }, - { - name = "turretlaser", - x = 1952, - z = 4448, - facing = 1, - }, - { - name = "turretaalaser", - x = 2824, - z = 4552, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2616, - z = 7496, - facing = 1, - }, - { - name = "turretemp", - x = 2976, - z = 4640, - facing = 1, - }, - { - name = "turretmissile", - x = 2640, - z = 7392, - facing = 1, - }, - { - name = "turretgauss", - x = 2952, - z = 4456, - facing = 1, - }, - { - name = "turretmissile", - x = 2496, - z = 7680, - facing = 1, - }, - { - name = "turretaaclose", - x = 2376, - z = 7448, - facing = 1, - }, - { - name = "turretriot", - x = 2424, - z = 7288, - facing = 2, - }, - { - name = "turretemp", - x = 3168, - z = 6000, - facing = 1, - }, - { - name = "turretriot", - x = 3128, - z = 5784, - facing = 1, - }, - { - name = "turretlaser", - x = 3056, - z = 6048, - facing = 0, - }, - { - name = "turretlaser", - x = 880, - z = 6224, - facing = 1, - }, - { - name = "turretlaser", - x = 1760, - z = 5824, - facing = 0, - }, - { - name = "turretlaser", - x = 496, - z = 5744, - facing = 1, - }, - { - name = "energysolar", - x = 3064, - z = 3576, - facing = 1, - buildProgress = 0.33329999, - }, - { - name = "shieldcon", - x = 3144, - z = 3653, - facing = 3, - }, - { - name = "energysolar", - x = 2104, - z = 632, - facing = 0, - }, - { - name = "spidercon", - x = 2462, - z = 6503, - facing = 2, - }, - { - name = "staticcon", - x = 664, - z = 5976, - facing = 1, - }, - { - name = "turretlaser", - x = 3360, - z = 5680, - facing = 2, - }, - { - name = "spidercon", - x = 2391, - z = 7965, - facing = 1, - }, - { - name = "shieldcon", - x = 2548, - z = 2309, - facing = 3, - }, - { - name = "spidercon", - x = 2608, - z = 2295, - facing = 1, - }, - { - name = "energysolar", - x = 1528, - z = 3032, - facing = 1, - }, - { - name = "staticradar", - x = 2416, - z = 448, - facing = 0, - buildProgress = 0.403, - }, - { - name = "turretlaser", - x = 1824, - z = 4240, - facing = 1, - }, - { - name = "turretlaser", - x = 1728, - z = 5600, - facing = 1, - }, - { - name = "turretlaser", - x = 976, - z = 976, - facing = 0, - }, - { - name = "energysolar", - x = 2232, - z = 4328, - facing = 1, - }, - { - name = "staticradar", - x = 1664, - z = 5392, - facing = 1, - }, - { - name = "turretlaser", - x = 1776, - z = 2864, - facing = 1, - }, - { - name = "turretlaser", - x = 368, - z = 2224, - facing = 1, - }, - { - name = "energywind", - x = 1032, - z = 7640, - facing = 2, - }, - { - name = "turretlaser", - x = 1472, - z = 6736, - facing = 2, - }, - { - name = "staticradar", - x = 1136, - z = 848, - facing = 0, - }, - { - name = "staticradar", - x = 1696, - z = 3040, - facing = 1, - }, - { - name = "energysolar", - x = 440, - z = 6680, - facing = 1, - }, - { - name = "energysolar", - x = 1512, - z = 5016, - facing = 1, - }, - { - name = "energysolar", - x = 3096, - z = 3736, - facing = 1, - }, - { - name = "spidercon", - x = 2055, - z = 7017, - facing = 2, - }, - { - name = "energywind", - x = 1528, - z = 4888, - facing = 1, - }, - { - name = "energysolar", - x = 1256, - z = 7640, - facing = 2, - }, - { - name = "staticcon", - x = 664, - z = 5928, - facing = 1, - }, - { - name = "turretlaser", - x = 544, - z = 6032, - facing = 1, - }, - { - name = "spidercon", - x = 3436, - z = 5486, - facing = 2, - }, - { - name = "spiderassault", - x = 2491, - z = 2579, - facing = 1, - patrolRoute = { - {2477, 2544}, - {2517, 2595}, - }, - }, - { - name = "spidercon", - x = 2919, - z = 3268, - facing = 1, - }, - { - name = "energypylon", - x = 1432, - z = 6408, - facing = 1, - }, - { - name = "spidercon", - x = 3319, - z = 3196, - facing = 0, - }, - { - name = "energywind", - x = 456, - z = 6552, - facing = 1, - }, - { - name = "spiderassault", - x = 4194, - z = 4708, - facing = 0, - }, - { - name = "staticradar", - x = 368, - z = 7296, - facing = 1, - }, - { - name = "turretlaser", - x = 1632, - z = 8048, - facing = 2, - }, - { - name = "energypylon", - x = 3000, - z = 4296, - facing = 1, - }, - { - name = "spidercon", - x = 2841, - z = 706, - facing = 2, - }, - { - name = "turretlaser", - x = 256, - z = 7488, - facing = 1, - }, - { - name = "energywind", - x = 1816, - z = 2648, - facing = 1, - }, - { - name = "spideremp", - x = 3696, - z = 4330, - facing = 3, - }, - { - name = "turretlaser", - x = 3152, - z = 4432, - facing = 1, - }, - { - name = "energywind", - x = 1064, - z = 6088, - facing = 1, - }, - { - name = "spiderscout", - x = 1859, - z = 4287, - facing = 2, - }, - { - name = "shieldskirm", - x = 3665, - z = 5217, - facing = 2, - }, - { - name = "energywind", - x = 1096, - z = 6184, - facing = 1, - }, - { - name = "staticmex", - x = 2552, - z = 2216, - facing = 0, - }, - { - name = "staticradar", - x = 2960, - z = 4528, - facing = 1, - }, - { - name = "energypylon", - x = 2072, - z = 6824, - facing = 2, - buildProgress = 0.2899, - }, - { - name = "energywind", - x = 1064, - z = 5976, - facing = 1, - }, - { - name = "turretlaser", - x = 3200, - z = 5536, - facing = 2, - }, - { - name = "spiderskirm", - x = 860, - z = 5960, - facing = 1, - buildProgress = 0.53210002, - }, - { - name = "spiderskirm", - x = 3130, - z = 4361, - facing = 0, - patrolRoute = { - {3167, 4380}, - {3048, 4616}, - }, - }, - { - name = "turretmissile", - x = 3408, - z = 5456, - facing = 2, - }, - { - name = "shieldassault", - x = 3758, - z = 4289, - facing = 0, - }, - { - name = "energypylon", - x = 3480, - z = 5608, - facing = 2, - }, - { - name = "shieldarty", - x = 1877, - z = 4437, - facing = 0, - }, - { - name = "energypylon", - x = 2904, - z = 2184, - facing = 0, - }, - { - name = "shieldassault", - x = 3728, - z = 5311, - facing = 2, - }, - { - name = "shieldassault", - x = 1953, - z = 4152, - facing = 1, - }, - { - name = "spiderassault", - x = 2441, - z = 2579, - facing = 1, - patrolRoute = { - {2434, 2597}, - {2475, 2547}, - }, - }, - { - name = "shieldassault", - x = 3552, - z = 4429, - facing = 3, - }, - { - name = "staticmex", - x = 3384, - z = 5944, - facing = 0, - }, - { - name = "turretlaser", - x = 3568, - z = 5600, - facing = 2, - }, - { - name = "energysolar", - x = 2120, - z = 4328, - facing = 1, - }, - { - name = "turretmissile", - x = 3008, - z = 5616, - facing = 2, - }, - { - name = "energypylon", - x = 360, - z = 7240, - facing = 1, - }, - { - name = "energysolar", - x = 760, - z = 7592, - facing = 2, - }, - { - name = "spiderassault", - x = 2503, - z = 2504, - facing = 0, - patrolRoute = { - {2454, 2487}, - {2475, 2547}, - }, - }, - { - name = "turretlaser", - x = 2048, - z = 4256, - facing = 1, - }, - { - name = "energypylon", - x = 2728, - z = 7240, - facing = 2, - }, - { - name = "energysolar", - x = 472, - z = 6408, - facing = 1, - }, - { - name = "shieldarty", - x = 3656, - z = 4485, - facing = 0, - }, - { - name = "spideremp", - x = 3594, - z = 3806, - facing = 3, - }, - { - name = "energysolar", - x = 2424, - z = 4328, - facing = 1, - }, - { - name = "shieldassault", - x = 3728, - z = 5395, - facing = 2, - }, - { - name = "shieldcon", - x = 2314, - z = 746, - facing = 0, - }, - { - name = "shieldfelon", - x = 2446, - z = 4128, - facing = 1, - }, - { - name = "spidercon", - x = 1978, - z = 6458, - facing = 3, - }, - { - name = "energywind", - x = 1000, - z = 7736, - facing = 2, - }, - { - name = "shieldcon", - x = 3161, - z = 2150, - facing = 1, - }, - { - name = "spidercon", - x = 2955, - z = 3228, - facing = 0, - }, - { - name = "spiderskirm", - x = 3655, - z = 5283, - facing = 3, - }, - { - name = "staticmex", - x = 3320, - z = 8024, - facing = 0, - }, - { - name = "spidercon", - x = 1941, - z = 6669, - facing = 0, - }, - { - name = "shieldassault", - x = 3678, - z = 5368, - facing = 2, - }, - { - name = "spidercon", - x = 1945, - z = 1474, - facing = 2, - }, - { - name = "energysolar", - x = 2136, - z = 7448, - facing = 2, - }, - { - name = "energypylon", - x = 1592, - z = 7848, - facing = 2, - }, - { - name = "shieldassault", - x = 3791, - z = 4235, - facing = 0, - }, - { - name = "turretlaser", - x = 3248, - z = 8016, - facing = 2, - }, - { - name = "energysolar", - x = 3240, - z = 4984, - facing = 2, - }, - { - name = "spidercon", - x = 3127, - z = 4399, - facing = 1, - }, - { - name = "spiderassault", - x = 1573, - z = 5338, - facing = 2, - }, - { - name = "energypylon", - x = 2120, - z = 2536, - facing = 1, - }, - { - name = "energysolar", - x = 2088, - z = 7576, - facing = 2, - }, - { - name = "spiderscout", - x = 1094, - z = 2711, - facing = 0, - }, - { - name = "energysolar", - x = 872, - z = 7672, - facing = 2, - buildProgress = 0.4285, - }, - { - name = "energypylon", - x = 3304, - z = 7800, - facing = 2, - }, - { - name = "energysolar", - x = 1176, - z = 7592, - facing = 2, - }, - { - name = "staticmex", - x = 3000, - z = 6920, - facing = 0, - }, - { - name = "energysolar", - x = 1048, - z = 7432, - facing = 2, - }, - { - name = "energysolar", - x = 1256, - z = 7560, - facing = 2, - }, - { - name = "spiderskirm", - x = 3723, - z = 5104, - facing = 2, - }, - { - name = "spiderassault", - x = 3695, - z = 5265, - facing = 0, - }, - { - name = "turretlaser", - x = 928, - z = 768, - facing = 0, - }, - { - name = "shieldraid", - x = 3577, - z = 2824, - facing = 3, - }, - { - name = "energypylon", - x = 3224, - z = 2936, - facing = 0, - }, - { - name = "staticcon", - x = 648, - z = 6024, - facing = 1, - buildProgress = 0.98180002, - }, - { - name = "spiderskirm", - x = 3735, - z = 4995, - facing = 2, - }, - { - name = "energysolar", - x = 792, - z = 7672, - facing = 2, - }, - { - name = "spiderassault", - x = 2462, - z = 2507, - facing = 2, - patrolRoute = { - {2475, 2547}, - {2473, 2483}, - }, - }, - { - name = "turretlaser", - x = 3536, - z = 5808, - facing = 2, - }, - { - name = "spiderassault", - x = 2875, - z = 5319, - facing = 1, - }, - { - name = "spidercon", - x = 757, - z = 7511, - facing = 0, - }, - { - name = "spiderscout", - x = 4432, - z = 2373, - facing = 2, - }, - { - name = "energysolar", - x = 3192, - z = 4824, - facing = 1, - }, - { - name = "energypylon", - x = 2600, - z = 312, - facing = 0, - }, - { - name = "spiderassault", - x = 2795, - z = 5400, - facing = 1, - }, - { - name = "turretlaser", - x = 512, - z = 7440, - facing = 1, - }, - { - name = "turretmissile", - x = 3424, - z = 5984, - facing = 2, - }, - { - name = "turretlaser", - x = 1520, - z = 5552, - facing = 1, - }, - { - name = "turretmissile", - x = 2864, - z = 3024, - facing = 1, - }, - { - name = "turretlaser", - x = 3152, - z = 3312, - facing = 1, - }, - { - name = "shieldassault", - x = 3907, - z = 4012, - facing = 3, - }, - { - name = "shieldfelon", - x = 1460, - z = 4144, - facing = 1, - buildProgress = 0.3204, - }, - { - name = "spiderscout", - x = 5190, - z = 1299, - facing = 1, - }, - { - name = "turretlaser", - x = 1600, - z = 2640, - facing = 1, - }, - { - name = "staticmex", - x = 3816, - z = 2696, - facing = 0, - buildProgress = 0.1355, - }, - { - name = "shieldassault", - x = 2435, - z = 2537, - facing = 1, - }, - { - name = "spiderscout", - x = 5060, - z = 1403, - facing = 2, - }, - { - name = "energywind", - x = 3288, - z = 5112, - facing = 2, - }, - { - name = "turretlaser", - x = 384, - z = 2016, - facing = 1, - }, - { - name = "turretmissile", - x = 3072, - z = 3520, - facing = 1, - }, - { - name = "spidercon", - x = 2373, - z = 1416, - facing = 1, - }, - { - name = "spiderscout", - x = 2979, - z = 2661, - facing = 2, - }, - { - name = "turretlaser", - x = 2592, - z = 352, - facing = 0, - }, - { - name = "spiderscout", - x = 4255, - z = 3295, - facing = 1, - }, - { - name = "energysolar", - x = 2152, - z = 7368, - facing = 2, - }, - { - name = "turretlaser", - x = 1648, - z = 6624, - facing = 2, - }, - { - name = "spidercon", - x = 636, - z = 6147, - facing = 3, - }, - { - name = "turretlaser", - x = 3072, - z = 3104, - facing = 1, - }, - { - name = "spiderscout", - x = 4344, - z = 2138, - facing = 1, - }, - { - name = "energypylon", - x = 3448, - z = 2968, - facing = 0, - }, - { - name = "turretlaser", - x = 2784, - z = 4320, - facing = 1, - }, - { - name = "spiderscout", - x = 4014, - z = 2017, - facing = 1, - }, - { - name = "turretlaser", - x = 1840, - z = 8064, - facing = 2, - }, - { - name = "turretlaser", - x = 448, - z = 6224, - facing = 1, - }, - { - name = "shieldassault", - x = 2235, - z = 4129, - facing = 1, - }, - { - name = "spiderskirm", - x = 1415, - z = 1949, - facing = 1, - }, - { - name = "spiderskirm", - x = 908, - z = 1880, - facing = 1, - buildProgress = 0.59399998, - }, - { - name = "turretmissile", - x = 3552, - z = 5312, - facing = 2, - buildProgress = 0.3299, - }, - { - name = "staticcon", - x = 3032, - z = 3416, - facing = 1, - buildProgress = 0.0772, - }, - } - }, - { - startX = 7000, - startZ = 4000, - humanName = "Krake East", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticcon", - "staticmex", - "staticradar", - "staticantinuke", - "energysolar", - "energywind", - "energypylon", - "turretlaser", - "turretmissile", - "factoryspider", - "spidercon", - "spiderscout", - "spideremp", - "spiderassault", - "spiderskirm", - "spiderriot", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakarty", - }, - difficultyDependantUnlocks = { - [2] = {"spidercrabe"}, - [3] = {"spidercrabe","spiderantiheavy"}, - [3] = {"striderhub","striderfunnelweb","spidercrabe","spiderantiheavy","staticantinuke",}, - }, - commanderLevel = 5, - commander = { - name = "Janii Lass", - chassis = "guardian", - modules = { - "commweapon_slamrocket", - "commweapon_heavymachinegun", - "module_autorepair", - "module_autorepair", - "module_heavy_armor", - "module_heavy_armor", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_nano", - "module_adv_nano", - } - }, - startUnits = { - { - name = "staticarty", - x = 4056, - z = 1112, - facing = 3, - }, - { - name = "staticarty", - x = 5208, - z = 4552, - facing = 3, - }, - { - name = "staticarty", - x = 4584, - z = 7672, - facing = 2, - }, - { - name = "staticarty", - x = 6220, - z = 5412, - facing = 3, - terraformHeight = 320, - }, - { - name = "staticarty", - x = 6150, - z = 3780, - facing = 3, - terraformHeight = 320, - }, - { - name = "staticarty", - x = 6400, - z = 2200, - facing = 3, - terraformHeight = 320, - }, - { - name = "staticantinuke", - x = 7628, - z = 4400, - facing = 3, - }, - { - name = "staticshield", - x = 6320, - z = 5412, - facing = 3, - }, - { - name = "staticshield", - x = 6250, - z = 3780, - facing = 3, - }, - { - name = "staticshield", - x = 6500, - z = 2200, - facing = 3, - }, - { - name = "turretantiheavy", - x = 7250, - z = 3320, - facing = 3, - }, - { - name = "turretantiheavy", - x = 6350, - z = 4500, - facing = 3, - }, - { - name = "turretantiheavy", - x = 6240, - z = 2600, - facing = 3, - }, - { - name = "striderhub", - x = 7792, - z = 4000, - facing = 3, - difficultyAtLeast = 4, - }, - { - name = "factoryspider", - x = 7112, - z = 4040, - facing = 3, - }, - - { - name = "staticcon", - x = 7240, - z = 4008, - facing = 3, - }, - { - name = "staticcon", - x = 7240, - z = 4088, - facing = 3, - }, - - { - name = "staticshield", - x = 5392, - z = 4656, - facing = 3, - }, - - { - name = "energysingu", - x = 7560, - z = 3208, - facing = 2, - }, - { - name = "energysingu", - x = 7560, - z = 3512, - facing = 2, - }, - { - name = "turretantiheavy", - x = 4736, - z = 6080, - facing = 3, - }, - { - name = "staticcon", - x = 7800, - z = 5832, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7800, 5832}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7638, 5784}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 6968, - z = 3320, - facing = 3, - }, - { - name = "staticmex", - x = 7624, - z = 2184, - facing = 0, - }, - { - name = "turretantiheavy", - x = 5136, - z = 2720, - facing = 3, - }, - { - name = "factorycloak", - x = 7648, - z = 5784, - facing = 3, - }, - { - name = "staticmex", - x = 7768, - z = 1864, - facing = 0, - }, - { - name = "staticmex", - x = 6904, - z = 5496, - facing = 3, - }, - { - name = "staticmex", - x = 8024, - z = 2152, - facing = 0, - }, - { - name = "energypylon", - x = 7944, - z = 2904, - facing = 3, - }, - { - name = "staticmex", - x = 6552, - z = 5560, - facing = 3, - }, - { - name = "staticmex", - x = 6312, - z = 2920, - facing = 3, - }, - { - name = "staticmex", - x = 7768, - z = 6456, - facing = 3, - }, - { - name = "staticmex", - x = 7832, - z = 6104, - facing = 3, - }, - { - name = "staticcon", - x = 7800, - z = 5736, - facing = 3, - }, - { - name = "staticmex", - x = 8056, - z = 6408, - facing = 3, - }, - { - name = "staticmex", - x = 6680, - z = 4232, - facing = 3, - }, - { - name = "energypylon", - x = 6008, - z = 3176, - facing = 3, - }, - { - name = "staticshield", - x = 4784, - z = 7792, - facing = 3, - }, - { - name = "energypylon", - x = 5544, - z = 2504, - facing = 3, - }, - { - name = "staticmex", - x = 6552, - z = 2632, - facing = 3, - }, - { - name = "staticmex", - x = 6824, - z = 3032, - facing = 3, - }, - { - name = "cloakarty", - x = 7339, - z = 1967, - facing = 3, - }, - { - name = "staticmex", - x = 6408, - z = 4008, - facing = 3, - }, - { - name = "energypylon", - x = 4568, - z = 1144, - facing = 3, - }, - { - name = "energypylon", - x = 5784, - z = 3976, - facing = 3, - }, - { - name = "staticmex", - x = 6328, - z = 4360, - facing = 3, - }, - { - name = "energypylon", - x = 5640, - z = 5384, - facing = 3, - }, - { - name = "energypylon", - x = 7496, - z = 4120, - facing = 3, - }, - { - name = "energypylon", - x = 6584, - z = 4360, - facing = 3, - }, - { - name = "energypylon", - x = 5240, - z = 6248, - facing = 3, - }, - { - name = "energypylon", - x = 6296, - z = 1880, - facing = 3, - }, - { - name = "energypylon", - x = 5512, - z = 7016, - facing = 3, - }, - { - name = "energypylon", - x = 6488, - z = 5224, - facing = 1, - }, - { - name = "energypylon", - x = 7128, - z = 1640, - facing = 3, - }, - { - name = "energypylon", - x = 5048, - z = 7736, - facing = 3, - }, - { - name = "energypylon", - x = 7816, - z = 2152, - facing = 3, - }, - { - name = "staticmex", - x = 6632, - z = 5256, - facing = 1, - }, - { - name = "energypylon", - x = 5688, - z = 4712, - facing = 1, - }, - { - name = "energypylon", - x = 7384, - z = 5048, - facing = 1, - }, - { - name = "energypylon", - x = 7688, - z = 5992, - facing = 1, - }, - { - name = "turretemp", - x = 4016, - z = 1280, - facing = 0, - }, - { - name = "turretemp", - x = 3888, - z = 1040, - facing = 3, - }, - { - name = "staticmex", - x = 4136, - z = 1032, - facing = 3, - }, - { - name = "staticradar", - x = 4000, - z = 864, - facing = 3, - }, - { - name = "staticradar", - x = 5104, - z = 4736, - facing = 3, - }, - { - name = "staticradar", - x = 4544, - z = 7824, - facing = 3, - }, - { - name = "staticheavyradar", - x = 6736, - z = 4640, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4168, - z = 1272, - facing = 3, - }, - { - name = "turretlaser", - x = 3904, - z = 896, - facing = 3, - }, - { - name = "turretlaser", - x = 4448, - z = 960, - facing = 1, - }, - { - name = "turretaaflak", - x = 4312, - z = 1048, - facing = 3, - }, - { - name = "turretaaflak", - x = 4184, - z = 888, - facing = 3, - }, - { - name = "turretgauss", - x = 4712, - z = 4120, - facing = 3, - }, - { - name = "cloakarty", - x = 7418, - z = 5791, - facing = 3, - }, - { - name = "turretaaflak", - x = 5240, - z = 4776, - facing = 3, - }, - { - name = "turretaaflak", - x = 5368, - z = 4312, - facing = 3, - }, - { - name = "turretgauss", - x = 5208, - z = 4200, - facing = 3, - }, - { - name = "turretgauss", - x = 4936, - z = 4920, - facing = 3, - }, - { - name = "turretriot", - x = 5368, - z = 4744, - facing = 0, - }, - { - name = "turretriot", - x = 5352, - z = 4520, - facing = 2, - }, - { - name = "turretlaser", - x = 5056, - z = 2544, - facing = 3, - }, - { - name = "turretlaser", - x = 5008, - z = 2896, - facing = 3, - }, - { - name = "turretaalaser", - x = 5320, - z = 2600, - facing = 3, - }, - { - name = "turretaalaser", - x = 5288, - z = 2952, - facing = 3, - }, - { - name = "turretemp", - x = 4352, - z = 7680, - facing = 3, - }, - { - name = "turretemp", - x = 4768, - z = 7520, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4488, - z = 7544, - facing = 2, - }, - { - name = "turretriot", - x = 4584, - z = 8040, - facing = 3, - }, - { - name = "turretriot", - x = 5016, - z = 7560, - facing = 2, - }, - { - name = "turretaaflak", - x = 4696, - z = 7912, - facing = 2, - }, - { - name = "turretaaflak", - x = 4888, - z = 7720, - facing = 2, - }, - { - name = "turretlaser", - x = 4624, - z = 6240, - facing = 3, - }, - { - name = "turretlaser", - x = 4704, - z = 5872, - facing = 3, - }, - { - name = "turretaalaser", - x = 4808, - z = 6312, - facing = 3, - }, - { - name = "turretaalaser", - x = 4904, - z = 5976, - facing = 3, - }, - { - name = "staticmex", - x = 4776, - z = 7992, - facing = 3, - }, - { - name = "factorycloak", - x = 7488, - z = 1928, - facing = 3, - }, - { - name = "turretaafar", - x = 6000, - z = 896, - facing = 3, - }, - { - name = "turretlaser", - x = 5696, - z = 896, - facing = 3, - }, - { - name = "turretaafar", - x = 6992, - z = 4288, - facing = 3, - }, - { - name = "turretaafar", - x = 6096, - z = 7488, - facing = 3, - }, - { - name = "energypylon", - x = 7544, - z = 3336, - facing = 3, - }, - { - name = "turretheavy", - x = 7288, - z = 2952, - facing = 3, - }, - { - name = "turretheavy", - x = 7288, - z = 3656, - facing = 3, - }, - { - name = "turretheavy", - x = 7800, - z = 2952, - facing = 1, - }, - { - name = "turretheavy", - x = 7800, - z = 3656, - facing = 1, - }, - { - name = "staticcon", - x = 7640, - z = 1880, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7640, 1880}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7478, 1928}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7640, - z = 1960, - facing = 3, - }, - { - name = "dynassault4_00", - x = 5511, - z = 4036, - facing = 3, - }, - { - name = "staticmex", - x = 5448, - z = 4184, - facing = 0, - }, - { - name = "cloakraid", - x = 4783, - z = 3911, - facing = 3, - }, - { - name = "cloakarty", - x = 6904, - z = 5856, - facing = 3, - }, - { - name = "cloakcon", - x = 6337, - z = 579, - facing = 3, - }, - { - name = "cloakraid", - x = 4888, - z = 3864, - facing = 3, - }, - { - name = "cloakcon", - x = 6778, - z = 6481, - facing = 0, - }, - { - name = "spiderskirm", - x = 4477, - z = 5118, - facing = 0, - }, - { - name = "cloakcon", - x = 4827, - z = 2670, - facing = 3, - }, - { - name = "energysolar", - x = 6744, - z = 4232, - facing = 3, - }, - { - name = "cloakskirm", - x = 4189, - z = 5152, - facing = 3, - }, - { - name = "cloakcon", - x = 5789, - z = 1216, - facing = 0, - }, - { - name = "cloakcon", - x = 5928, - z = 7045, - facing = 0, - }, - { - name = "turretlaser", - x = 6560, - z = 4128, - facing = 3, - }, - { - name = "spidercon", - x = 7259, - z = 2632, - facing = 2, - }, - { - name = "turretlaser", - x = 7776, - z = 2144, - facing = 3, - }, - { - name = "cloakarty", - x = 4891, - z = 3218, - facing = 3, - }, - { - name = "cloakcon", - x = 6390, - z = 1316, - facing = 3, - }, - { - name = "staticradar", - x = 7744, - z = 1952, - facing = 3, - }, - { - name = "cloakskirm", - x = 4335, - z = 5121, - facing = 0, - }, - { - name = "turretlaser", - x = 6800, - z = 5440, - facing = 3, - }, - { - name = "cloakassault", - x = 4710, - z = 2400, - facing = 3, - }, - { - name = "spidercon", - x = 7219, - z = 2615, - facing = 2, - }, - { - name = "cloakcon", - x = 6660, - z = 6621, - facing = 1, - }, - { - name = "turretlaser", - x = 7760, - z = 4208, - facing = 3, - }, - { - name = "spiderassault", - x = 4964, - z = 4137, - facing = 0, - patrolRoute = { - {4962, 4100}, - {4944, 4162}, - }, - }, - { - name = "cloakassault", - x = 4874, - z = 5300, - facing = 2, - }, - { - name = "staticradar", - x = 6704, - z = 5216, - facing = 3, - }, - { - name = "turretlaser", - x = 7952, - z = 6272, - facing = 3, - }, - { - name = "cloakskirm", - x = 4629, - z = 2406, - facing = 3, - }, - { - name = "turretlaser", - x = 6704, - z = 1712, - facing = 3, - }, - { - name = "spiderskirm", - x = 4991, - z = 4060, - facing = 1, - patrolRoute = { - {4966, 4101}, - {5023, 4082}, - }, - }, - { - name = "cloakcon", - x = 5917, - z = 1133, - facing = 2, - }, - { - name = "staticradar", - x = 6512, - z = 2800, - facing = 3, - }, - { - name = "turretlaser", - x = 6608, - z = 2976, - facing = 3, - }, - { - name = "cloakcon", - x = 4832, - z = 6241, - facing = 1, - }, - { - name = "spiderskirm", - x = 4989, - z = 4103, - facing = 3, - patrolRoute = { - {4920, 4051}, - {4962, 4100}, - }, - }, - { - name = "cloakskirm", - x = 4659, - z = 2403, - facing = 3, - }, - { - name = "staticmex", - x = 7704, - z = 392, - facing = 0, - }, - { - name = "turretlaser", - x = 6832, - z = 6544, - facing = 3, - }, - { - name = "cloakskirm", - x = 4688, - z = 5083, - facing = 2, - }, - { - name = "cloakcon", - x = 5729, - z = 1761, - facing = 1, - }, - { - name = "energypylon", - x = 6584, - z = 2904, - facing = 3, - }, - { - name = "cloakcon", - x = 6752, - z = 6520, - facing = 0, - }, - { - name = "cloakskirm", - x = 5458, - z = 2247, - facing = 0, - }, - { - name = "turretlaser", - x = 5408, - z = 4096, - facing = 3, - }, - { - name = "spiderskirm", - x = 5239, - z = 4010, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4962, 4100}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4898, 4095}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 6968, - z = 5528, - facing = 3, - }, - { - name = "staticmex", - x = 6712, - z = 1656, - facing = 0, - }, - { - name = "turretlaser", - x = 7744, - z = 288, - facing = 0, - }, - { - name = "cloakskirm", - x = 6242, - z = 6495, - facing = 3, - }, - { - name = "staticmex", - x = 6792, - z = 6664, - facing = 0, - }, - { - name = "cloakskirm", - x = 5440, - z = 2229, - facing = 0, - }, - { - name = "cloakarty", - x = 5862, - z = 5792, - facing = 3, - }, - { - name = "spiderassault", - x = 5301, - z = 3920, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4962, 4100}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4982, 4161}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 6760, - z = 392, - facing = 0, - }, - { - name = "cloakarty", - x = 6018, - z = 2017, - facing = 3, - }, - { - name = "energysolar", - x = 7128, - z = 5624, - facing = 3, - }, - { - name = "staticmex", - x = 5816, - z = 1096, - facing = 0, - }, - { - name = "cloakskirm", - x = 5956, - z = 2316, - facing = 3, - }, - { - name = "cloakskirm", - x = 6295, - z = 6456, - facing = 3, - }, - { - name = "spiderassault", - x = 5683, - z = 3904, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4962, 4100}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4928, 4155}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 5848, - z = 6312, - facing = 0, - }, - { - name = "cloakskirm", - x = 6071, - z = 2248, - facing = 3, - }, - { - name = "cloakarty", - x = 6491, - z = 5792, - facing = 3, - }, - { - name = "cloakcon", - x = 6356, - z = 1852, - facing = 3, - }, - { - name = "spidercon", - x = 6434, - z = 5029, - facing = 0, - }, - { - name = "energywind", - x = 7240, - z = 5704, - facing = 3, - }, - { - name = "energysolar", - x = 6776, - z = 3832, - facing = 3, - }, - { - name = "turretlaser", - x = 6768, - z = 480, - facing = 0, - }, - { - name = "cloakskirm", - x = 6495, - z = 2076, - facing = 3, - }, - { - name = "staticmex", - x = 4936, - z = 2648, - facing = 0, - }, - { - name = "spiderskirm", - x = 6603, - z = 4129, - facing = 2, - }, - { - name = "staticradar", - x = 5648, - z = 1104, - facing = 0, - }, - { - name = "cloakraid", - x = 6342, - z = 1973, - facing = 3, - }, - { - name = "cloakraid", - x = 5910, - z = 5606, - facing = 2, - }, - { - name = "cloakarty", - x = 7078, - z = 2113, - facing = 3, - }, - { - name = "energypylon", - x = 6744, - z = 6664, - facing = 3, - buildProgress = 0.39489999, - }, - { - name = "cloakarty", - x = 7225, - z = 5855, - facing = 3, - }, - { - name = "turretlaser", - x = 5840, - z = 1056, - facing = 0, - }, - { - name = "spiderassault", - x = 6890, - z = 4081, - facing = 3, - }, - { - name = "staticmex", - x = 5928, - z = 7144, - facing = 0, - buildProgress = 0.3222, - }, - { - name = "cloakraid", - x = 7425, - z = 5577, - facing = 2, - }, - { - name = "spiderskirm", - x = 7076, - z = 4040, - facing = 3, - buildProgress = 0.32260001, - }, - { - name = "staticmex", - x = 4936, - z = 6248, - facing = 0, - buildProgress = 0.15109999, - }, - { - name = "cloakriot", - x = 7638, - z = 5784, - facing = 3, - buildProgress = 0.27419999, - }, - { - name = "cloakassault", - x = 7478, - z = 1928, - facing = 3, - buildProgress = 0.1199, - }, - { - name = "energysolar", - x = 7336, - z = 2440, - facing = 3, - buildProgress = 0.1464, - }, - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {7392, 3008, 7424, 3616}, - height = 450, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {7392, 3008, 7680, 3040}, - height = 450, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {7392, 3584, 7680, 3616}, - height = 450, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {7680, 3008, 7712, 3616}, - height = 450, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "staticarty", - "energysingu", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all Cerberus artillery batteries and Singularity Reactors", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build another silo - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 2, - unitTypes = { - "staticmissilesilo", - }, - image = planetUtilities.ICON_DIR .. "staticmissilesilo.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build a second Missile Silo", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Make the enemy lose two Lucifers by 8:00 - onlyCountRemovedUnits = true, - satisfyByTime = 300, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 2, - enemyUnitTypes = { - "turretantiheavy", - }, - image = planetUtilities.ICON_DIR .. "turretantiheavy.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy two Lucifer turrets by 5:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win by 12:30 - victoryByTime = 750, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 12:30", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "staticmissilesilo", - "tacnuke", - "napalmmissile", - "empmissile", - }, - modules = { - "commweapon_slamrocket", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet49.lua b/campaign/dev/planets/planet49.lua deleted file mode 100644 index 45d607e54..000000000 --- a/campaign/dev/planets/planet49.lua +++ /dev/null @@ -1,4730 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/swamp03.png" - - local planetData = { - name = "Ungtaint", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.60, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.495, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6550 km", - primary = "Ballis", - primaryType = "G6VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24566", - text = [[The artillery cannons of your enemies' battleships are pretty big, but the Big Bertha plasma cannon is positively humongous. Use your static artillery to suppress the enemy until reinforcements arrive.]] - }, - tips = { - { - image = "unitpics/staticarty.png", - text = [[Cerberus artillery batteries don't have the range to be a strong offensive threat, but they're a useful defense against artillery until your Berthas come online. Make sure they are connected to your energy grid.]] - }, - { - image = "unitpics/staticheavyarty.png", - text = [[The Big Bertha outranges anything short of a strategic missile or a superweapon. The Bertha's fire is inaccurate but as long as you keep the cannon safe, it will eventually wear down any foe.]] - }, - { - image = "unitpics/striderbantha.png", - text = [[After 30 minutes substantial allied reinforcements will arrive - you just need to hold out until then.]] - }, - { - image = "unitpics/pw_hq.png", - text = [[Defender Command is armed with a complement of drones for short-range defence.]] - }, - }, - gameConfig = { - mapName = "TheRockJungle", - playerConfig = { - startX = 2500, - startZ = 3600, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "staticarty", - "staticheavyarty", - }, - midgameUnits = { - { - name = "striderdetriment", - x = 3660, - z = 4700, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderbantha", - x = 3380, - z = 4000, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderbantha", - x = 3400, - z = 5800, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "pw_hq_defender", - x = 2290, - z = 3800, - facing = 0, - defeatIfDestroyedObjectiveID = 3, - }, - { - name = "staticheavyarty", - x = 3000, - z = 3300, - facing = 1, - buildProgress = 0.6 - }, - { - name = "energygeo", - x = 2984, - z = 2888, - facing = 1, - }, - { - name = "staticmex", - x = 2568, - z = 3400, - facing = 1, - }, - { - name = "energywind", - x = 2808, - z = 3000, - facing = 1, - }, - { - name = "energywind", - x = 2760, - z = 3080, - facing = 1, - }, - { - name = "energywind", - x = 2712, - z = 3160, - facing = 1, - }, - { - name = "energywind", - x = 2664, - z = 3240, - facing = 1, - }, - { - name = "energywind", - x = 2616, - z = 3320, - facing = 1, - }, - { - name = "energypylon", - x = 2696, - z = 3928, - facing = 1, - terraformHeight = 123, - }, - { - name = "turretaafar", - x = 3000, - z = 4000, - facing = 1, - terraformHeight = 170, - }, - { - name = "staticarty", - x = 3112, - z = 4184, - facing = 1, - terraformHeight = 170, - }, - { - name = "staticarty", - x = 3240, - z = 5592, - facing = 1, - terraformHeight = 171, - }, - { - name = "turretaafar", - x = 3100, - z = 5700, - facing = 1, - terraformHeight = 170, - }, - { - name = "staticmex", - x = 3240, - z = 4056, - facing = 1, - }, - { - name = "turretgauss", - x = 3416, - z = 3848, - facing = 1, - }, - { - name = "turretgauss", - x = 3368, - z = 4216, - facing = 1, - }, - { - name = "staticheavyradar", - x = 2832, - z = 3712, - facing = 1, - terraformHeight = 285, - }, - { - name = "turretgauss", - x = 3432, - z = 5432, - facing = 1, - }, - { - name = "turretgauss", - x = 3592, - z = 5624, - facing = 1, - }, - { - name = "staticcon", - x = 2776, - z = 3272, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2776, 3272}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2801, 3297}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2744, - z = 3352, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2744, 3352}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2769, 3377}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2712, - z = 3432, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2712, 3432}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2737, 3457}, options = {"shift"}}, - }, - }, - } - }, - aiConfig = { - { - humanName = "Modri Saw", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turrettorp", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - --"bomberheavy", - "bomberdisarm", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "striderhub", - "striderarty", - }, - commander = false, - midgameUnits = { - { - name = "striderarty", - x = 400, - z = 3500, - facing = 0, - spawnRadius = 10, - delay = 18*30*60, - orbitalDrop = true, - }, - { - name = "striderdante", - x = 500, - z = 3500, - facing = 0, - spawnRadius = 10, - delay = 18*30*60, - orbitalDrop = true, - }, - { - name = "striderbantha", - x = 2825, - z = 200, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderdante", - x = 2700, - z = 200, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderdante", - x = 2900, - z = 200, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderdetriment", - x = 3100, - z = 2250, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderarty", - x = 2500, - z = 2250, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderarty", - x = 2400, - z = 2400, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "staticantinuke", - x = 1240, - z = 3200, - facing = 0, - }, - { - name = "energypylon", - x = 2730, - z = 875, - facing = 0, - }, - { - name = "turretheavy", - x = 3080, - z = 830, - facing = 1, - }, - { - name = "staticmex", - x = 728, - z = 3448, - facing = 0, - }, - { - name = "energygeo", - x = 232, - z = 168, - facing = 1, - }, - { - name = "staticmex", - x = 408, - z = 2760, - facing = 0, - }, - { - name = "staticmex", - x = 984, - z = 2232, - facing = 0, - }, - { - name = "staticmex", - x = 392, - z = 1784, - facing = 0, - }, - { - name = "staticmex", - x = 792, - z = 1400, - facing = 0, - }, - { - name = "staticmex", - x = 520, - z = 792, - facing = 0, - }, - { - name = "staticmex", - x = 904, - z = 312, - facing = 0, - }, - { - name = "staticmex", - x = 1640, - z = 568, - facing = 0, - }, - { - name = "staticmex", - x = 1624, - z = 1384, - facing = 0, - }, - { - name = "staticmex", - x = 1160, - z = 4152, - facing = 0, - }, - { - name = "staticmex", - x = 2888, - z = 1368, - facing = 0, - }, - { - name = "staticmex", - x = 2904, - z = 712, - facing = 0, - }, - { - name = "staticmex", - x = 2904, - z = 2248, - facing = 0, - }, - { - name = "energywind", - x = 536, - z = 1944, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 1992, - facing = 1, - }, - { - name = "energywind", - x = 696, - z = 2056, - facing = 1, - }, - { - name = "energywind", - x = 776, - z = 2104, - facing = 1, - }, - { - name = "energywind", - x = 856, - z = 2168, - facing = 1, - }, - { - name = "energywind", - x = 936, - z = 2216, - facing = 1, - }, - { - name = "energywind", - x = 328, - z = 312, - facing = 1, - }, - { - name = "energywind", - x = 360, - z = 392, - facing = 1, - }, - { - name = "energywind", - x = 392, - z = 472, - facing = 1, - }, - { - name = "energywind", - x = 408, - z = 552, - facing = 1, - }, - { - name = "energywind", - x = 440, - z = 632, - facing = 1, - }, - { - name = "energywind", - x = 472, - z = 712, - facing = 1, - }, - { - name = "energysolar", - x = 552, - z = 936, - facing = 1, - }, - { - name = "energysolar", - x = 584, - z = 1048, - facing = 1, - }, - { - name = "energysolar", - x = 616, - z = 1160, - facing = 1, - }, - { - name = "energysolar", - x = 664, - z = 1272, - facing = 1, - }, - { - name = "energysolar", - x = 696, - z = 1384, - facing = 1, - }, - { - name = "energysolar", - x = 1000, - z = 360, - facing = 1, - }, - { - name = "energysolar", - x = 1112, - z = 392, - facing = 1, - }, - { - name = "energysolar", - x = 1224, - z = 424, - facing = 1, - }, - { - name = "energysolar", - x = 1336, - z = 456, - facing = 1, - }, - { - name = "energysolar", - x = 1448, - z = 504, - facing = 1, - }, - { - name = "energysolar", - x = 1560, - z = 536, - facing = 1, - }, - { - name = "energywind", - x = 680, - z = 1480, - facing = 1, - }, - { - name = "energywind", - x = 632, - z = 1560, - facing = 1, - }, - { - name = "energywind", - x = 568, - z = 1640, - facing = 1, - }, - { - name = "energywind", - x = 520, - z = 1720, - facing = 1, - }, - { - name = "energywind", - x = 472, - z = 1800, - facing = 1, - }, - { - name = "energywind", - x = 456, - z = 1880, - facing = 1, - }, - { - name = "energywind", - x = 808, - z = 296, - facing = 1, - }, - { - name = "energywind", - x = 728, - z = 280, - facing = 1, - }, - { - name = "energywind", - x = 648, - z = 264, - facing = 1, - }, - { - name = "energywind", - x = 568, - z = 264, - facing = 1, - }, - { - name = "energywind", - x = 488, - z = 248, - facing = 1, - }, - { - name = "energywind", - x = 408, - z = 232, - facing = 1, - }, - { - name = "energysolar", - x = 1768, - z = 584, - facing = 1, - }, - { - name = "energysolar", - x = 1912, - z = 600, - facing = 1, - }, - { - name = "energysolar", - x = 2056, - z = 616, - facing = 1, - }, - { - name = "energysolar", - x = 2200, - z = 648, - facing = 1, - }, - { - name = "energysolar", - x = 2344, - z = 664, - facing = 1, - }, - { - name = "energysolar", - x = 2488, - z = 680, - facing = 1, - }, - { - name = "energysolar", - x = 2632, - z = 696, - facing = 1, - }, - { - name = "energysolar", - x = 2776, - z = 712, - facing = 1, - }, - { - name = "energysolar", - x = 936, - z = 1384, - facing = 1, - }, - { - name = "energysolar", - x = 1080, - z = 1384, - facing = 1, - }, - { - name = "energysolar", - x = 1224, - z = 1384, - facing = 1, - }, - { - name = "energysolar", - x = 1368, - z = 1384, - facing = 1, - }, - { - name = "energysolar", - x = 1512, - z = 1384, - facing = 1, - }, - { - name = "energypylon", - x = 1416, - z = 2568, - facing = 1, - }, - { - name = "energypylon", - x = 2152, - z = 3160, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2984, - z = 2360, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2984, - z = 2120, - facing = 1, - }, - { - name = "turretriot", - x = 3128, - z = 1736, - facing = 1, - }, - { - name = "turretriot", - x = 3128, - z = 728, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3000, - z = 344, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3000, - z = 136, - facing = 1, - }, - { - name = "factoryamph", - x = 1480, - z = 4056, - facing = 1, - }, - { - name = "staticcon", - x = 1352, - z = 4008, - facing = 1, - }, - { - name = "staticcon", - x = 1128, - z = 2104, - facing = 3, - }, - { - name = "factoryplane", - x = 1008, - z = 2056, - facing = 2, - }, - { - name = "staticrearm", - x = 1112, - z = 1880, - facing = 2, - }, - { - name = "factoryspider", - x = 2408, - z = 1576, - facing = 1, - }, - { - name = "staticcon", - x = 2264, - z = 1560, - facing = 1, - }, - { - name = "staticcon", - x = 2264, - z = 1672, - facing = 1, - }, - { - name = "staticmex", - x = 4056, - z = 1784, - facing = 0, - }, - { - name = "amphimpulse", - x = 4650, - z = 643, - facing = 1, - }, - { - name = "spidercon", - x = 779, - z = 472, - facing = 3, - }, - { - name = "energypylon", - x = 1640, - z = 984, - facing = 1, - }, - { - name = "spidercon", - x = 4588, - z = 1237, - facing = 3, - }, - { - name = "amphcon", - x = 1677, - z = 2632, - facing = 1, - }, - { - name = "staticstorage", - x = 1640, - z = 1496, - facing = 1, - }, - { - name = "spiderassault", - x = 4711, - z = 538, - facing = 2, - }, - { - name = "staticradar", - x = 544, - z = 2608, - facing = 1, - }, - { - name = "turretlaser", - x = 2816, - z = 2224, - facing = 1, - }, - { - name = "turretlaser", - x = 576, - z = 448, - facing = 1, - buildProgress = 0.56940001, - }, - { - name = "turretlaser", - x = 1376, - z = 3856, - facing = 1, - }, - { - name = "staticradar", - x = 2672, - z = 2128, - facing = 1, - }, - { - name = "amphcon", - x = 2621, - z = 3501, - facing = 3, - }, - { - name = "turretlaser", - x = 4128, - z = 2144, - facing = 0, - }, - { - name = "turretlaser", - x = 3008, - z = 1072, - facing = 0, - }, - { - name = "turretlaser", - x = 512, - z = 2784, - facing = 1, - }, - { - name = "spiderassault", - x = 4706, - z = 620, - facing = 2, - }, - { - name = "turretlaser", - x = 1200, - z = 4208, - facing = 1, - }, - { - name = "spidercon", - x = 4126, - z = 1999, - facing = 3, - }, - { - name = "turretlaser", - x = 1568, - z = 592, - facing = 1, - }, - { - name = "bomberprec", - x = 3195, - z = 1131, - facing = 1, - }, - { - name = "spiderassault", - x = 2534, - z = 1582, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3096, 1255}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3135, 1203}, options = {"shift"}}, - }, - }, - { - name = "spiderscout", - x = 4520, - z = 601, - facing = 0, - }, - { - name = "staticradar", - x = 1568, - z = 416, - facing = 1, - }, - { - name = "staticmex", - x = 3880, - z = 1064, - facing = 0, - }, - { - name = "amphfloater", - x = 1854, - z = 4024, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2334, 4001}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2396, 4017}, options = {"shift"}}, - }, - }, - { - name = "spideremp", - x = 3280, - z = 1158, - facing = 2, - }, - { - name = "spiderassault", - x = 4673, - z = 824, - facing = 2, - }, - { - name = "turretlaser", - x = 3984, - z = 1152, - facing = 0, - }, - { - name = "spidercon", - x = 635, - z = 2772, - facing = 2, - }, - { - name = "staticradar", - x = 3776, - z = 1104, - facing = 0, - }, - { - name = "spidercon", - x = 2018, - z = 2857, - facing = 0, - }, - { - name = "turrettorp", - x = 3432, - z = 4760, - facing = 1, - buildProgress = 0.1208, - }, - { - name = "amphimpulse", - x = 3293, - z = 1128, - facing = 0, - }, - { - name = "spidercon", - x = 4338, - z = 1592, - facing = 2, - }, - { - name = "spiderassault", - x = 3280, - z = 1203, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3096, 1255}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3117, 1194}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2280, - z = 1512, - facing = 1, - }, - { - name = "amphcon", - x = 3536, - z = 4715, - facing = 3, - }, - { - name = "spiderscout", - x = 5780, - z = 159, - facing = 3, - }, - { - name = "staticstorage", - x = 1656, - z = 1320, - facing = 1, - }, - { - name = "spiderassault", - x = 4675, - z = 590, - facing = 2, - }, - { - name = "turretlaser", - x = 736, - z = 1728, - facing = 1, - }, - { - name = "staticradar", - x = 3952, - z = 2112, - facing = 0, - }, - { - name = "turretmissile", - x = 4080, - z = 1968, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 4433, - z = 2991, - facing = 2, - }, - { - name = "amphraid", - x = 4382, - z = 4569, - facing = 1, - }, - { - name = "turretlaser", - x = 1232, - z = 4032, - facing = 1, - }, - { - name = "staticmex", - x = 4168, - z = 2408, - facing = 0, - }, - { - name = "energypylon", - x = 712, - z = 552, - facing = 1, - }, - { - name = "turretlaser", - x = 4208, - z = 1840, - facing = 0, - }, - { - name = "energypylon", - x = 824, - z = 1832, - facing = 1, - }, - { - name = "spiderskirm", - x = 3118, - z = 1242, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3096, 1255}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3146, 1214}, options = {"shift"}}, - }, - }, - { - name = "spiderassault", - x = 3084, - z = 1288, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3096, 1255}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3034, 1268}, options = {"shift"}}, - }, - }, - { - name = "amphraid", - x = 2528, - z = 4260, - facing = 1, - }, - { - name = "turretmissile", - x = 2512, - z = 3488, - facing = 1, - buildProgress = 0.90240002, - }, - { - name = "planeheavyfighter", - x = 4794, - z = 2406, - facing = 1, - }, - { - name = "turretaalaser", - x = 3912, - z = 2040, - facing = 0, - }, - { - name = "turrettorp", - x = 1880, - z = 4856, - facing = 1, - }, - { - name = "amphfloater", - x = 2305, - z = 3996, - facing = 3, - patrolRoute = { - {2334, 4001}, - {2271, 4010}, - }, - }, - { - name = "amphfloater", - x = 1516, - z = 4056, - facing = 1, - buildProgress = 0.41440001, - }, - { - name = "spiderscout", - x = 2509, - z = 1567, - facing = 1, - }, - { - name = "turretriot", - x = 4280, - z = 2024, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 3674, - z = 2662, - facing = 1, - }, - { - name = "energypylon", - x = 568, - z = 3112, - facing = 1, - }, - { - name = "staticcon", - x = 3992, - z = 2008, - facing = 0, - buildProgress = 0.57609999, - }, - { - name = "turrettorp", - x = 3224, - z = 4904, - facing = 1, - buildProgress = 0.0125, - }, - { - name = "spiderscout", - x = 3524, - z = 1156, - facing = 1, - }, - { - name = "planeheavyfighter", - x = 1046, - z = 2035, - facing = 2, - buildProgress = 0.79110003, - }, - { - name = "spiderscout", - x = 3411, - z = 1573, - facing = 0, - }, - { - name = "spideremp", - x = 2444, - z = 1576, - facing = 1, - buildProgress = 0.0166, - }, - } - }, - { - humanName = "Laannzelez", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turrettorp", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "striderhub", - "striderarty", - "striderdante", - }, - commander = false, - midgameUnits = { - { - name = "striderarty", - x = 400, - z = 5400, - facing = 0, - spawnRadius = 10, - delay = 18*30*60, - orbitalDrop = true, - }, - { - name = "striderdante", - x = 500, - z = 5400, - facing = 0, - spawnRadius = 10, - delay = 18*30*60, - orbitalDrop = true, - }, - { - name = "striderdetriment", - x = 3200, - z = 7600, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderscorpion", - x = 3200, - z = 7800, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderscorpion", - x = 3200, - z = 8000, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 2800, - z = 6700, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 2900, - z = 6700, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 2800, - z = 6800, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 2900, - z = 6800, - facing = 0, - spawnRadius = 10, - delay = 30*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "energypylon", - x = 3444, - z = 6972, - facing = 0, - }, - { - name = "turretheavy", - x = 3900, - z = 7093, - facing = 1, - }, - { - name = "staticmex", - x = 1176, - z = 6584, - facing = 0, - }, - { - name = "staticmex", - x = 584, - z = 6040, - facing = 0, - }, - { - name = "staticmex", - x = 312, - z = 6760, - facing = 0, - }, - { - name = "staticmex", - x = 856, - z = 7384, - facing = 0, - }, - { - name = "staticmex", - x = 664, - z = 7928, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 7592, - facing = 0, - }, - { - name = "staticmex", - x = 2344, - z = 7368, - facing = 0, - }, - { - name = "staticmex", - x = 2568, - z = 6696, - facing = 0, - }, - { - name = "staticmex", - x = 1752, - z = 5688, - facing = 0, - }, - { - name = "staticmex", - x = 2152, - z = 5032, - facing = 0, - }, - { - name = "staticmex", - x = 1528, - z = 4888, - facing = 0, - }, - { - name = "staticmex", - x = 3400, - z = 5624, - facing = 1, - }, - { - name = "staticmex", - x = 3336, - z = 4888, - facing = 1, - }, - { - name = "energygeo", - x = 2872, - z = 6328, - facing = 1, - }, - { - name = "energygeo", - x = 1880, - z = 7864, - facing = 1, - }, - { - name = "factoryship", - x = 1504, - z = 5120, - facing = 1, - }, - { - name = "staticcon", - x = 1368, - z = 5304, - facing = 1, - }, - { - name = "staticcon", - x = 1448, - z = 5304, - facing = 1, - }, - { - name = "energywind", - x = 1576, - z = 4888, - facing = 0, - }, - { - name = "energywind", - x = 1576, - z = 4936, - facing = 0, - }, - { - name = "energywind", - x = 1528, - z = 4936, - facing = 3, - }, - { - name = "energywind", - x = 1480, - z = 4936, - facing = 3, - }, - { - name = "energywind", - x = 1480, - z = 4888, - facing = 2, - }, - { - name = "energywind", - x = 1480, - z = 4840, - facing = 2, - }, - { - name = "energywind", - x = 1704, - z = 7880, - facing = 1, - }, - { - name = "energywind", - x = 1528, - z = 4840, - facing = 1, - }, - { - name = "energywind", - x = 1624, - z = 7880, - facing = 1, - }, - { - name = "energywind", - x = 1576, - z = 4840, - facing = 1, - }, - { - name = "energywind", - x = 1544, - z = 7880, - facing = 1, - }, - { - name = "energywind", - x = 1464, - z = 7880, - facing = 1, - }, - { - name = "energywind", - x = 1384, - z = 7880, - facing = 1, - }, - { - name = "energywind", - x = 1304, - z = 7880, - facing = 1, - }, - { - name = "energywind", - x = 1224, - z = 7880, - facing = 1, - }, - { - name = "energysolar", - x = 1080, - z = 7880, - facing = 1, - }, - { - name = "energywind", - x = 2200, - z = 5032, - facing = 0, - }, - { - name = "energywind", - x = 2200, - z = 5080, - facing = 0, - }, - { - name = "energywind", - x = 2152, - z = 5080, - facing = 3, - }, - { - name = "energysolar", - x = 936, - z = 7896, - facing = 1, - }, - { - name = "energywind", - x = 2104, - z = 5080, - facing = 3, - }, - { - name = "energysolar", - x = 792, - z = 7912, - facing = 1, - }, - { - name = "energywind", - x = 2104, - z = 5032, - facing = 2, - }, - { - name = "energysolar", - x = 856, - z = 7736, - facing = 1, - }, - { - name = "energywind", - x = 2104, - z = 4984, - facing = 2, - }, - { - name = "energysolar", - x = 808, - z = 7592, - facing = 1, - }, - { - name = "energywind", - x = 2152, - z = 4984, - facing = 1, - }, - { - name = "energywind", - x = 2200, - z = 4984, - facing = 1, - }, - { - name = "energysolar", - x = 760, - z = 7448, - facing = 1, - }, - { - name = "energysolar", - x = 680, - z = 7320, - facing = 1, - }, - { - name = "energysolar", - x = 616, - z = 7176, - facing = 1, - }, - { - name = "energysolar", - x = 536, - z = 7032, - facing = 1, - }, - { - name = "energysolar", - x = 472, - z = 6888, - facing = 1, - }, - { - name = "energysolar", - x = 392, - z = 6744, - facing = 1, - }, - { - name = "energysolar", - x = 520, - z = 7336, - facing = 1, - }, - { - name = "energysolar", - x = 376, - z = 7400, - facing = 1, - }, - { - name = "energysolar", - x = 232, - z = 7464, - facing = 1, - }, - { - name = "energysolar", - x = 392, - z = 6568, - facing = 1, - }, - { - name = "energysolar", - x = 424, - z = 6424, - facing = 1, - }, - { - name = "energysolar", - x = 472, - z = 6280, - facing = 1, - }, - { - name = "energysolar", - x = 504, - z = 6136, - facing = 1, - }, - { - name = "energypylon", - x = 2200, - z = 7336, - facing = 1, - }, - { - name = "energypylon", - x = 2760, - z = 6536, - facing = 1, - }, - { - name = "energypylon", - x = 3032, - z = 5928, - facing = 1, - }, - { - name = "factoryshield", - x = 2680, - z = 7536, - facing = 1, - }, - { - name = "staticcon", - x = 2584, - z = 7400, - facing = 1, - }, - { - name = "staticcon", - x = 2664, - z = 7400, - facing = 1, - }, - { - name = "factoryjump", - x = 1672, - z = 6888, - facing = 1, - }, - { - name = "staticcon", - x = 1544, - z = 6856, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3016, - z = 7480, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3016, - z = 7768, - facing = 1, - }, - { - name = "staticcon", - x = 1496, - z = 6856, - facing = 1, - }, - { - name = "shipassault", - x = 3940, - z = 2689, - facing = 2, - }, - { - name = "jumpcon", - x = 2661, - z = 7242, - facing = 1, - }, - { - name = "shieldcon", - x = 3334, - z = 5688, - facing = 3, - }, - { - name = "shipcon", - x = 3633, - z = 4984, - facing = 1, - }, - { - name = "shieldassault", - x = 4746, - z = 7051, - facing = 3, - }, - { - name = "shieldskirm", - x = 4206, - z = 7128, - facing = 1, - }, - { - name = "staticstorage", - x = 1304, - z = 6568, - facing = 1, - }, - { - name = "shieldcon", - x = 2186, - z = 7220, - facing = 3, - }, - { - name = "shieldaa", - x = 2881, - z = 7041, - facing = 1, - }, - { - name = "turretlaser", - x = 1504, - z = 5328, - facing = 1, - }, - { - name = "jumpcon", - x = 3076, - z = 6255, - facing = 1, - }, - { - name = "staticradar", - x = 1904, - z = 5088, - facing = 1, - }, - { - name = "staticradar", - x = 1248, - z = 6656, - facing = 1, - }, - { - name = "jumpcon", - x = 3862, - z = 7980, - facing = 0, - }, - { - name = "turrettorp", - x = 1784, - z = 5128, - facing = 1, - }, - { - name = "subraider", - x = 4991, - z = 4190, - facing = 3, - }, - { - name = "turretmissile", - x = 2496, - z = 7280, - facing = 2, - }, - { - name = "jumpcon", - x = 4727, - z = 7736, - facing = 1, - }, - { - name = "jumpassault", - x = 4721, - z = 6084, - facing = 1, - }, - { - name = "staticstorage", - x = 1288, - z = 6664, - facing = 1, - }, - { - name = "shieldcon", - x = 1955, - z = 7001, - facing = 2, - }, - { - name = "shieldfelon", - x = 4214, - z = 7162, - facing = 1, - }, - { - name = "shiparty", - x = 4587, - z = 5378, - facing = 1, - }, - { - name = "shiparty", - x = 2640, - z = 5216, - facing = 1, - }, - { - name = "jumpcon", - x = 3828, - z = 6430, - facing = 1, - }, - { - name = "staticradar", - x = 3664, - z = 5648, - facing = 2, - }, - { - name = "jumpassault", - x = 3344, - z = 6767, - facing = 2, - }, - { - name = "jumpaa", - x = 4876, - z = 6948, - facing = 0, - }, - { - name = "shieldfelon", - x = 4366, - z = 7138, - facing = 3, - }, - { - name = "turrettorp", - x = 3352, - z = 4936, - facing = 1, - }, - { - name = "turretlaser", - x = 2336, - z = 7408, - facing = 2, - }, - { - name = "shieldaa", - x = 803, - z = 5030, - facing = 2, - }, - { - name = "turretlaser", - x = 1248, - z = 5104, - facing = 1, - }, - { - name = "shipcon", - x = 4010, - z = 4823, - facing = 2, - }, - { - name = "staticmex", - x = 3880, - z = 8088, - facing = 0, - }, - { - name = "turretmissile", - x = 2160, - z = 7360, - facing = 2, - }, - { - name = "shipcon", - x = 1504, - z = 5112, - facing = 1, - buildProgress = 0.87269998, - }, - { - name = "turretlaser", - x = 3728, - z = 5488, - facing = 2, - }, - { - name = "staticradar", - x = 2320, - z = 7232, - facing = 2, - }, - { - name = "jumpassault", - x = 2062, - z = 6874, - facing = 1, - }, - { - name = "turretriot", - x = 2328, - z = 7160, - facing = 2, - }, - { - name = "shipaa", - x = 4021, - z = 4445, - facing = 0, - }, - { - name = "staticmex", - x = 3944, - z = 5848, - facing = 0, - }, - { - name = "staticcon", - x = 1512, - z = 6904, - facing = 1, - }, - { - name = "turretlaser", - x = 2208, - z = 7536, - facing = 2, - }, - { - name = "shipcon", - x = 3778, - z = 4316, - facing = 2, - }, - { - name = "turretaalaser", - x = 2456, - z = 7544, - facing = 2, - }, - { - name = "shieldassault", - x = 4100, - z = 7231, - facing = 2, - }, - { - name = "staticcon", - x = 2248, - z = 7272, - facing = 2, - }, - { - name = "shipscout", - x = 3022, - z = 4687, - facing = 0, - }, - { - name = "shieldskirm", - x = 2796, - z = 7536, - facing = 1, - }, - { - name = "jumpcon", - x = 1696, - z = 6888, - facing = 1, - buildProgress = 0.41240001, - }, - { - name = "shieldcon", - x = 2692, - z = 7536, - facing = 1, - buildProgress = 0.24519999, - }, - } - }, - { - startX = 9000, - startZ = 7000, - humanName = "Croveny", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turrettorp", - "turretriot", - --"turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - }, - commanderLevel = 6, - commander = { - name = "Blanche", - chassis = "engineer", - decorations = { - "skin_support_dark", - }, - modules = { - "commweapon_lparticlebeam", - "commweapon_disruptorbomb", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_companion_drone", - "module_companion_drone", - "module_companion_drone", - "module_companion_drone", - } - }, - startUnits = { - { - name = "staticantinuke", - x = 9208, - z = 6736, - facing = 0, - }, - { - name = "striderhub", - x = 9208, - z = 6400, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 9384, - z = 7672, - facing = 1, - }, - { - name = "staticmex", - x = 7400, - z = 7416, - facing = 1, - }, - { - name = "staticmex", - x = 7400, - z = 6760, - facing = 1, - }, - { - name = "staticmex", - x = 8952, - z = 6904, - facing = 1, - }, - { - name = "staticmex", - x = 9688, - z = 6632, - facing = 1, - }, - { - name = "staticmex", - x = 9784, - z = 7320, - facing = 1, - }, - { - name = "staticmex", - x = 8456, - z = 7800, - facing = 1, - }, - { - name = "staticmex", - x = 9384, - z = 5928, - facing = 1, - }, - { - name = "staticmex", - x = 8968, - z = 6008, - facing = 1, - }, - { - name = "staticmex", - x = 7336, - z = 5832, - facing = 1, - }, - { - name = "staticmex", - x = 7640, - z = 4728, - facing = 1, - }, - { - name = "staticmex", - x = 9688, - z = 4920, - facing = 1, - }, - { - name = "staticmex", - x = 9160, - z = 4280, - facing = 1, - }, - { - name = "staticmex", - x = 7032, - z = 4120, - facing = 1, - }, - { - name = "energygeo", - x = 7176, - z = 5192, - facing = 1, - }, - { - name = "energyheavygeo", - x = 9992, - z = 8008, - facing = 1, - }, - { - name = "factoryhover", - x = 8496, - z = 3968, - facing = 3, - }, - { - name = "staticcon", - x = 8552, - z = 4104, - facing = 3, - }, - { - name = "staticcon", - x = 8632, - z = 4104, - facing = 3, - }, - { - name = "staticmex", - x = 8712, - z = 4840, - facing = 3, - }, - { - name = "factoryspider", - x = 7896, - z = 7720, - facing = 3, - }, - { - name = "staticcon", - x = 8024, - z = 7704, - facing = 3, - }, - { - name = "factoryamph", - x = 7704, - z = 5784, - facing = 3, - }, - { - name = "staticcon", - x = 7816, - z = 5752, - facing = 3, - }, - { - name = "energypylon", - x = 9608, - z = 7688, - facing = 1, - }, - { - name = "energypylon", - x = 8840, - z = 7416, - facing = 1, - }, - { - name = "energypylon", - x = 8040, - z = 7224, - facing = 1, - }, - { - name = "energypylon", - x = 7384, - z = 6968, - facing = 1, - }, - { - name = "energypylon", - x = 6776, - z = 6792, - facing = 1, - }, - { - name = "turretantiheavy", - x = 6560, - z = 6528, - facing = 3, - }, - { - name = "turretheavy", - x = 6264, - z = 6936, - facing = 3, - }, - { - name = "energypylon", - x = 6744, - z = 7528, - facing = 3, - }, - { - name = "turretheavy", - x = 6536, - z = 7416, - facing = 3, - }, - { - name = "energypylon", - x = 7656, - z = 6056, - facing = 3, - }, - { - name = "energypylon", - x = 7512, - z = 5400, - facing = 3, - }, - { - name = "turretheavy", - x = 7112, - z = 5304, - facing = 3, - }, - { - name = "energypylon", - x = 7592, - z = 4664, - facing = 3, - }, - { - name = "turretantiheavy", - x = 7408, - z = 4352, - facing = 3, - }, - { - name = "turretgauss", - x = 7144, - z = 6120, - facing = 3, - }, - { - name = "turretgauss", - x = 7144, - z = 5704, - facing = 3, - }, - { - name = "turretriot", - x = 7144, - z = 5896, - facing = 3, - }, - { - name = "turretaaclose", - x = 7576, - z = 4440, - facing = 3, - }, - { - name = "turretaaclose", - x = 7432, - z = 5000, - facing = 3, - }, - { - name = "turretimpulse", - x = 7408, - z = 4864, - facing = 3, - }, - { - name = "terraunit", - x = 7184, - z = 6400, - facing = 0, - buildProgress = 0.0003, - }, - { - name = "turretimpulse", - x = 7488, - z = 4560, - facing = 3, - }, - { - name = "turretgauss", - x = 7176, - z = 4808, - facing = 3, - }, - { - name = "turretgauss", - x = 7096, - z = 7704, - facing = 3, - }, - { - name = "turretgauss", - x = 7096, - z = 8024, - facing = 3, - }, - { - name = "turretriot", - x = 7096, - z = 7848, - facing = 3, - }, - { - name = "turretaalaser", - x = 6504, - z = 7000, - facing = 3, - }, - { - name = "turretgauss", - x = 7064, - z = 3960, - facing = 3, - }, - { - name = "turretgauss", - x = 6888, - z = 4312, - facing = 3, - }, - { - name = "turretaafar", - x = 9152, - z = 5936, - facing = 3, - }, - { - name = "turretlaser", - x = 9120, - z = 5824, - facing = 3, - }, - { - name = "turretlaser", - x = 9120, - z = 6032, - facing = 3, - }, - { - name = "turretaaflak", - x = 7800, - z = 7384, - facing = 3, - }, - { - name = "turretlaser", - x = 7792, - z = 7280, - facing = 3, - }, - { - name = "turretlaser", - x = 7792, - z = 7488, - facing = 3, - }, - { - name = "staticcon", - x = 8024, - z = 7624, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8024, 7624}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7860, 7720}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7816, - z = 5832, - facing = 3, - }, - { - name = "energypylon", - x = 9544, - z = 6728, - facing = 3, - }, - { - name = "energyfusion", - x = 10000, - z = 6712, - facing = 3, - }, - { - name = "energyfusion", - x = 10016, - z = 6520, - facing = 3, - }, - { - name = "staticmex", - x = 6264, - z = 6552, - facing = 3, - }, - { - name = "staticmex", - x = 6424, - z = 7128, - facing = 3, - }, - { - name = "spiderassault", - x = 5046, - z = 6073, - facing = 1, - }, - { - name = "amphcon", - x = 5620, - z = 5279, - facing = 2, - }, - { - name = "turretlaser", - x = 6432, - z = 6832, - facing = 2, - }, - { - name = "spidercon", - x = 8948, - z = 2679, - facing = 3, - }, - { - name = "amphcon", - x = 9218, - z = 4147, - facing = 0, - }, - { - name = "staticcon", - x = 5768, - z = 6440, - facing = 2, - buildProgress = 0.1806, - }, - { - name = "hoverassault", - x = 5297, - z = 4591, - facing = 1, - }, - { - name = "turretlaser", - x = 5760, - z = 6192, - facing = 2, - }, - { - name = "turretlaser", - x = 8528, - z = 7872, - facing = 2, - }, - { - name = "staticstorage", - x = 7416, - z = 5752, - facing = 3, - }, - { - name = "spiderscout", - x = 9306, - z = 4011, - facing = 2, - }, - { - name = "energypylon", - x = 8440, - z = 7576, - facing = 2, - }, - { - name = "energysolar", - x = 9160, - z = 4040, - facing = 3, - }, - { - name = "amphaa", - x = 6510, - z = 6220, - facing = 3, - }, - { - name = "hoverassault", - x = 5200, - z = 4582, - facing = 1, - }, - { - name = "turretlaser", - x = 7424, - z = 7072, - facing = 2, - }, - { - name = "staticmex", - x = 6232, - z = 5720, - facing = 0, - }, - { - name = "staticcon", - x = 7864, - z = 5864, - facing = 3, - }, - { - name = "spidercon", - x = 6117, - z = 6135, - facing = 3, - }, - { - name = "turretlaser", - x = 8880, - z = 6944, - facing = 3, - }, - { - name = "turretlaser", - x = 6192, - z = 5824, - facing = 2, - }, - { - name = "amphcon", - x = 5787, - z = 6215, - facing = 3, - }, - { - name = "turretlaser", - x = 7680, - z = 4704, - facing = 3, - }, - { - name = "staticradar", - x = 7424, - z = 6896, - facing = 2, - }, - { - name = "amphfloater", - x = 5757, - z = 6240, - facing = 1, - }, - { - name = "spiderassault", - x = 5008, - z = 6047, - facing = 1, - }, - { - name = "hovercon", - x = 8527, - z = 2482, - facing = 1, - }, - { - name = "turretlaser", - x = 7408, - z = 5792, - facing = 3, - }, - { - name = "staticradar", - x = 7552, - z = 4928, - facing = 3, - }, - { - name = "hoverarty", - x = 6082, - z = 2197, - facing = 3, - }, - { - name = "spidercon", - x = 5611, - z = 6167, - facing = 3, - }, - { - name = "energypylon", - x = 9160, - z = 5880, - facing = 3, - }, - { - name = "turretlaser", - x = 8528, - z = 4192, - facing = 3, - }, - { - name = "spiderassault", - x = 5058, - z = 6031, - facing = 1, - }, - { - name = "amphfloater", - x = 4373, - z = 6299, - facing = 1, - }, - { - name = "spiderassault", - x = 5719, - z = 7444, - facing = 1, - }, - { - name = "staticmex", - x = 5672, - z = 7784, - facing = 0, - }, - { - name = "turretlaser", - x = 9280, - z = 6112, - facing = 3, - }, - { - name = "energysolar", - x = 9080, - z = 4088, - facing = 3, - }, - { - name = "energypylon", - x = 5624, - z = 7784, - facing = 2, - }, - { - name = "staticradar", - x = 8960, - z = 5920, - facing = 3, - }, - { - name = "turretlaser", - x = 8704, - z = 4944, - facing = 3, - }, - { - name = "spideremp", - x = 6438, - z = 6104, - facing = 1, - }, - { - name = "spiderscout", - x = 8835, - z = 4665, - facing = 1, - }, - { - name = "energypylon", - x = 9208, - z = 4776, - facing = 3, - }, - { - name = "amphfloater", - x = 4526, - z = 6305, - facing = 1, - }, - { - name = "turretlaser", - x = 5600, - z = 7728, - facing = 2, - }, - { - name = "staticradar", - x = 9504, - z = 7456, - facing = 3, - }, - { - name = "spidercon", - x = 5443, - z = 6519, - facing = 2, - }, - { - name = "spiderscout", - x = 7780, - z = 2148, - facing = 3, - }, - { - name = "energypylon", - x = 8680, - z = 3016, - facing = 3, - }, - { - name = "energysolar", - x = 5992, - z = 6616, - facing = 2, - }, - { - name = "spiderscout", - x = 9477, - z = 3184, - facing = 2, - }, - { - name = "amphfloater", - x = 7607, - z = 5785, - facing = 3, - }, - { - name = "spiderscout", - x = 9508, - z = 3312, - facing = 2, - }, - { - name = "spidercon", - x = 5798, - z = 6252, - facing = 0, - }, - { - name = "staticradar", - x = 5760, - z = 7696, - facing = 2, - }, - { - name = "energypylon", - x = 6072, - z = 7176, - facing = 2, - }, - { - name = "staticmex", - x = 5560, - z = 6344, - facing = 0, - }, - { - name = "hovercon", - x = 9651, - z = 3134, - facing = 2, - }, - { - name = "spiderassault", - x = 5840, - z = 6406, - facing = 3, - }, - { - name = "turretlaser", - x = 9632, - z = 7584, - facing = 3, - }, - { - name = "amphaa", - x = 6351, - z = 6230, - facing = 3, - }, - { - name = "energypylon", - x = 5896, - z = 6040, - facing = 2, - }, - { - name = "hoverraid", - x = 5662, - z = 162, - facing = 3, - }, - { - name = "spiderscout", - x = 9463, - z = 3810, - facing = 2, - }, - { - name = "amphfloater", - x = 5552, - z = 4122, - facing = 3, - }, - { - name = "turretlaser", - x = 8528, - z = 3744, - facing = 3, - }, - { - name = "spiderscout", - x = 9431, - z = 3148, - facing = 2, - }, - { - name = "spiderassault", - x = 5876, - z = 6428, - facing = 3, - }, - { - name = "staticcon", - x = 7864, - z = 5816, - facing = 3, - }, - { - name = "energysolar", - x = 9192, - z = 5320, - facing = 3, - }, - { - name = "turretlaser", - x = 5456, - z = 6400, - facing = 2, - }, - { - name = "spiderassault", - x = 5770, - z = 6486, - facing = 3, - }, - { - name = "spiderscout", - x = 6614, - z = 1824, - facing = 2, - }, - { - name = "turretmissile", - x = 5616, - z = 6496, - facing = 2, - }, - { - name = "amphfloater", - x = 5555, - z = 4210, - facing = 3, - }, - { - name = "spiderscout", - x = 9166, - z = 4331, - facing = 1, - }, - { - name = "hoveraa", - x = 6582, - z = 2279, - facing = 1, - }, - { - name = "spiderscout", - x = 6547, - z = 1739, - facing = 2, - }, - { - name = "spiderassault", - x = 7737, - z = 6654, - facing = 3, - patrolRoute = { - {7766, 6682}, - {7710, 6652}, - }, - }, - { - name = "amphaa", - x = 5713, - z = 4098, - facing = 3, - }, - { - name = "hoverarty", - x = 6895, - z = 5991, - facing = 3, - }, - { - name = "staticradar", - x = 5728, - z = 6352, - facing = 2, - }, - { - name = "staticradar", - x = 7552, - z = 4864, - facing = 3, - }, - { - name = "staticcon", - x = 7912, - z = 5816, - facing = 3, - }, - { - name = "amphcon", - x = 5789, - z = 6089, - facing = 2, - }, - { - name = "spiderassault", - x = 7711, - z = 6622, - facing = 0, - patrolRoute = { - {7736, 6593}, - {7710, 6652}, - }, - }, - { - name = "hoveraa", - x = 6417, - z = 4479, - facing = 3, - }, - { - name = "turretmissile", - x = 5584, - z = 6272, - facing = 2, - }, - { - name = "amphfloater", - x = 5554, - z = 4167, - facing = 0, - }, - { - name = "spiderscout", - x = 8602, - z = 5063, - facing = 1, - }, - { - name = "amphfloater", - x = 5725, - z = 4252, - facing = 3, - }, - { - name = "spiderassault", - x = 7712, - z = 6700, - facing = 3, - patrolRoute = { - {7708, 6716}, - {7710, 6652}, - }, - }, - { - name = "spiderscout", - x = 8902, - z = 4216, - facing = 1, - }, - { - name = "turretaalaser", - x = 5800, - z = 6360, - facing = 2, - }, - { - name = "spiderscout", - x = 9271, - z = 4102, - facing = 1, - }, - { - name = "hoverskirm", - x = 6792, - z = 4074, - facing = 3, - }, - { - name = "amphfloater", - x = 6105, - z = 6367, - facing = 3, - }, - { - name = "spiderscout", - x = 8507, - z = 4879, - facing = 1, - }, - { - name = "energysolar", - x = 9176, - z = 4216, - facing = 3, - }, - { - name = "amphfloater", - x = 6412, - z = 6258, - facing = 3, - }, - { - name = "turretmissile", - x = 7728, - z = 4880, - facing = 3, - }, - { - name = "hoverassault", - x = 7835, - z = 2971, - facing = 2, - }, - { - name = "energysolar", - x = 9240, - z = 4056, - facing = 3, - }, - { - name = "turretriot", - x = 5400, - z = 6216, - facing = 2, - buildProgress = 0.75559998, - }, - { - name = "turretmissile", - x = 5600, - z = 6096, - facing = 2, - }, - { - name = "amphraid", - x = 6403, - z = 5123, - facing = 3, - }, - { - name = "amphfloater", - x = 7727, - z = 6160, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7710, 6652}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7683, 6710}, options = {"shift"}}, - }, - }, - { - name = "spiderscout", - x = 7957, - z = 5815, - facing = 2, - }, - { - name = "hoverarty", - x = 8528, - z = 3968, - facing = 3, - buildProgress = 0.27129999, - }, - { - name = "spiderscout", - x = 7903, - z = 6182, - facing = 2, - }, - { - name = "spiderassault", - x = 7849, - z = 7720, - facing = 3, - }, - { - name = "energysolar", - x = 9160, - z = 4120, - facing = 3, - buildProgress = 0.6142, - }, - { - name = "amphfloater", - x = 7668, - z = 5784, - facing = 3, - buildProgress = 0.2244, - }, - { - name = "turretmissile", - x = 7856, - z = 4736, - facing = 3, - buildProgress = 0.2119, - }, - } - }, - { - humanName = "Vubomzi", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turrettorp", - "turretriot", - --"turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - --"shieldshield", - "shieldarty", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipskirm", - "gunshipraid", - }, - difficultyDependantUnlocks = { - [4] = {"shieldshield"}, - }, - commander = false, - midgameUnits = { - { - name = "shipheavyarty", - x = 9100, - z = 3100, - facing = 0, - spawnRadius = 10, - delay = 4*30*60, - orbitalDrop = true, - }, - { - name = "shipheavyarty", - x = 9100, - z = 3100, - facing = 0, - spawnRadius = 50, - delay = 7*30*60, - orbitalDrop = true, - }, - { - name = "shiparty", - x = 9100, - z = 3100, - facing = 0, - spawnRadius = 50, - delay = 7*30*60, - orbitalDrop = true, - }, - { - name = "shiparty", - x = 9100, - z = 3100, - facing = 0, - spawnRadius = 50, - delay = 7*30*60, - orbitalDrop = true, - }, - { - name = "gunshipkrow", - x = 9400, - z = 100, - facing = 0, - spawnRadius = 10, - delay = 12*30*60, - orbitalDrop = false, - }, - { - name = "gunshipkrow", - x = 9600, - z = 100, - facing = 0, - spawnRadius = 10, - delay = 12*30*60, - orbitalDrop = false, - difficultyAtLeast = 4, - }, - { - name = "shipheavyarty", - x = 9100, - z = 3100, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - }, - { - name = "shiparty", - x = 9100, - z = 3100, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - }, - { - name = "shiparty", - x = 9100, - z = 3100, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "shipheavyarty", - x = 8248, - z = 2667, - facing = 0, - }, - { - name = "shipheavyarty", - x = 8765, - z = 3080, - facing = 0, - buildProgress = 0.5, - }, - { - name = "staticantinuke", - x = 9096, - z = 1296, - facing = 0, - }, - { - name = "staticmex", - x = 8936, - z = 1528, - facing = 1, - }, - { - name = "staticmex", - x = 9464, - z = 1896, - facing = 1, - }, - { - name = "staticmex", - x = 8968, - z = 3400, - facing = 1, - }, - { - name = "staticmex", - x = 9928, - z = 1560, - facing = 1, - }, - { - name = "staticmex", - x = 9336, - z = 824, - facing = 1, - }, - { - name = "staticmex", - x = 9944, - z = 616, - facing = 1, - }, - { - name = "staticmex", - x = 8248, - z = 3048, - facing = 1, - }, - { - name = "staticmex", - x = 9496, - z = 216, - facing = 1, - }, - { - name = "staticmex", - x = 7784, - z = 520, - facing = 1, - }, - { - name = "staticmex", - x = 7592, - z = 1544, - facing = 1, - }, - { - name = "staticmex", - x = 6936, - z = 2488, - facing = 1, - }, - { - name = "staticmex", - x = 8824, - z = 2568, - facing = 1, - }, - { - name = "factoryship", - x = 8416, - z = 3264, - facing = 3, - }, - { - name = "staticcon", - x = 8424, - z = 3128, - facing = 3, - }, - { - name = "staticcon", - x = 8504, - z = 3128, - facing = 3, - }, - { - name = "striderhub", - x = 8896, - z = 2896, - facing = 3, - }, - { - name = "staticcon", - x = 8968, - z = 3000, - facing = 3, - }, - { - name = "energygeo", - x = 7272, - z = 1800, - facing = 1, - }, - { - name = "energywind", - x = 8904, - z = 3448, - facing = 1, - }, - { - name = "energywind", - x = 8984, - z = 3448, - facing = 1, - }, - { - name = "energywind", - x = 9064, - z = 3448, - facing = 1, - }, - { - name = "energywind", - x = 9144, - z = 3448, - facing = 1, - }, - { - name = "energywind", - x = 9144, - z = 3528, - facing = 1, - }, - { - name = "energywind", - x = 9064, - z = 3528, - facing = 1, - }, - { - name = "energywind", - x = 8984, - z = 3528, - facing = 1, - }, - { - name = "energywind", - x = 8904, - z = 3528, - facing = 1, - }, - { - name = "energywind", - x = 8296, - z = 3000, - facing = 1, - }, - { - name = "energywind", - x = 8904, - z = 3608, - facing = 1, - }, - { - name = "energywind", - x = 8984, - z = 3608, - facing = 1, - }, - { - name = "energywind", - x = 9064, - z = 3608, - facing = 1, - }, - { - name = "energywind", - x = 9144, - z = 3608, - facing = 1, - }, - { - name = "energywind", - x = 9144, - z = 3688, - facing = 1, - }, - { - name = "energywind", - x = 9064, - z = 3688, - facing = 1, - }, - { - name = "energywind", - x = 8984, - z = 3688, - facing = 1, - }, - { - name = "energywind", - x = 8904, - z = 3688, - facing = 1, - }, - { - name = "energywind", - x = 8904, - z = 3768, - facing = 1, - }, - { - name = "energywind", - x = 8984, - z = 3768, - facing = 1, - }, - { - name = "energywind", - x = 9064, - z = 3768, - facing = 1, - }, - { - name = "energywind", - x = 9144, - z = 3768, - facing = 1, - }, - { - name = "energywind", - x = 8296, - z = 3048, - facing = 0, - }, - { - name = "energywind", - x = 8296, - z = 3096, - facing = 0, - }, - { - name = "energywind", - x = 8248, - z = 3096, - facing = 3, - }, - { - name = "energywind", - x = 8200, - z = 3096, - facing = 3, - }, - { - name = "energywind", - x = 8200, - z = 3048, - facing = 2, - }, - { - name = "energywind", - x = 8200, - z = 3000, - facing = 2, - }, - { - name = "energywind", - x = 8248, - z = 3000, - facing = 1, - }, - { - name = "energypylon", - x = 8232, - z = 792, - facing = 1, - }, - { - name = "energyheavygeo", - x = 8504, - z = 312, - facing = 1, - }, - { - name = "terraunit", - x = 7328, - z = 1408, - facing = 0, - buildProgress = 0.0003, - }, - { - name = "energyfusion", - x = 9936, - z = 1256, - facing = 3, - }, - { - name = "energyfusion", - x = 9936, - z = 872, - facing = 3, - }, - { - name = "energypylon", - x = 9736, - z = 1096, - facing = 3, - }, - { - name = "energypylon", - x = 9256, - z = 1576, - facing = 3, - }, - { - name = "energypylon", - x = 8376, - z = 1496, - facing = 3, - }, - { - name = "energypylon", - x = 7496, - z = 1592, - facing = 3, - }, - { - name = "turretantiheavy", - x = 7168, - z = 1872, - facing = 3, - }, - { - name = "turretgauss", - x = 6936, - z = 2664, - facing = 3, - }, - { - name = "turretgauss", - x = 6744, - z = 2440, - facing = 3, - }, - { - name = "turrettorp", - x = 7160, - z = 2904, - facing = 3, - }, - { - name = "turrettorp", - x = 7224, - z = 3160, - facing = 3, - }, - { - name = "turrettorp", - x = 7256, - z = 3416, - facing = 3, - }, - { - name = "turrettorp", - x = 7160, - z = 3672, - facing = 3, - }, - { - name = "turretheavy", - x = 7176, - z = 1192, - facing = 3, - }, - { - name = "turretaaclose", - x = 7400, - z = 1320, - facing = 3, - }, - { - name = "turretaaclose", - x = 7416, - z = 1688, - facing = 3, - }, - { - name = "turretimpulse", - x = 7488, - z = 1344, - facing = 3, - }, - { - name = "turretimpulse", - x = 7520, - z = 1712, - facing = 3, - }, - { - name = "turretgauss", - x = 7208, - z = 728, - facing = 3, - }, - { - name = "turretgauss", - x = 7208, - z = 312, - facing = 3, - }, - { - name = "turretriot", - x = 7224, - z = 520, - facing = 3, - }, - { - name = "turretaaflak", - x = 7992, - z = 552, - facing = 3, - }, - { - name = "turretlaser", - x = 7968, - z = 432, - facing = 3, - }, - { - name = "turretlaser", - x = 7968, - z = 640, - facing = 3, - }, - { - name = "turretaafar", - x = 9024, - z = 1776, - facing = 3, - }, - { - name = "turretlaser", - x = 9008, - z = 1632, - facing = 3, - }, - { - name = "turretlaser", - x = 9008, - z = 1920, - facing = 3, - }, - { - name = "energypylon", - x = 6712, - z = 1240, - facing = 3, - }, - { - name = "turretheavy", - x = 6264, - z = 1224, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6392, - z = 1016, - facing = 3, - }, - { - name = "turretaaclose", - x = 6392, - z = 1160, - facing = 3, - }, - { - name = "staticcon", - x = 8056, - z = 936, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8031, 961}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8056, 936}, options = {"shift"}}, - }, - }, - { - name = "factoryshield", - x = 7896, - z = 896, - facing = 3, - }, - { - name = "staticcon", - x = 8056, - z = 840, - facing = 3, - }, - { - name = "staticcon", - x = 9384, - z = 584, - facing = 3, - }, - { - name = "factorygunship", - x = 9272, - z = 552, - facing = 3, - }, - { - name = "staticmex", - x = 6248, - z = 2264, - facing = 3, - }, - { - name = "turretmissile", - x = 4816, - z = 1840, - facing = 0, - buildProgress = 0.9666, - }, - { - name = "staticmex", - x = 6264, - z = 1016, - facing = 3, - }, - { - name = "turrettorp", - x = 6152, - z = 3576, - facing = 3, - buildProgress = 0.60409999, - }, - { - name = "shieldassault", - x = 6869, - z = 866, - facing = 3, - }, - { - name = "shieldcon", - x = 7181, - z = 688, - facing = 3, - }, - { - name = "gunshipskirm", - x = 8106, - z = 3632, - facing = 3, - patrolRoute = { - {8104, 3640}, - {8204, 3355}, - }, - }, - { - name = "shieldassault", - x = 5071, - z = 1470, - facing = 2, - }, - { - name = "shieldcon", - x = 4869, - z = 1775, - facing = 3, - }, - { - name = "gunshipskirm", - x = 6099, - z = 4921, - facing = 2, - }, - { - name = "gunshipassault", - x = 4716, - z = 3875, - facing = 3, - }, - { - name = "shieldskirm", - x = 5018, - z = 1450, - facing = 3, - }, - { - name = "staticstorage", - x = 8968, - z = 1576, - facing = 3, - }, - { - name = "gunshipskirm", - x = 5110, - z = 1344, - facing = 0, - }, - { - name = "shiparty", - x = 6006, - z = 4239, - facing = 3, - }, - { - name = "shieldassault", - x = 5088, - z = 1396, - facing = 3, - }, - { - name = "turretmissile", - x = 6016, - z = 5808, - facing = 2, - }, - { - name = "gunshipaa", - x = 7637, - z = 1782, - facing = 3, - }, - { - name = "shipcon", - x = 5776, - z = 4543, - facing = 3, - }, - { - name = "shieldassault", - x = 6383, - z = 831, - facing = 2, - }, - { - name = "staticstorage", - x = 9016, - z = 1560, - facing = 3, - }, - { - name = "gunshipskirm", - x = 6821, - z = 4559, - facing = 1, - }, - { - name = "staticradar", - x = 7808, - z = 1488, - facing = 3, - }, - { - name = "staticmex", - x = 6952, - z = 3288, - facing = 0, - }, - { - name = "shieldskirm", - x = 6239, - z = 813, - facing = 3, - }, - { - name = "shieldassault", - x = 5020, - z = 1415, - facing = 3, - }, - { - name = "shipassault", - x = 5117, - z = 3623, - facing = 1, - }, - { - name = "turrettorp", - x = 7048, - z = 3272, - facing = 3, - }, - { - name = "staticcon", - x = 9432, - z = 568, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9432, 568}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9407, 593}, options = {"shift"}}, - }, - }, - { - name = "gunshipskirm", - x = 6184, - z = 1612, - facing = 2, - }, - { - name = "staticradar", - x = 7056, - z = 3200, - facing = 3, - }, - { - name = "shieldaa", - x = 6976, - z = 2398, - facing = 1, - }, - { - name = "staticradar", - x = 9632, - z = 1728, - facing = 3, - }, - { - name = "shieldskirm", - x = 6297, - z = 815, - facing = 3, - }, - { - name = "shipassault", - x = 4961, - z = 3267, - facing = 0, - }, - { - name = "shieldcon", - x = 6946, - z = 1052, - facing = 1, - }, - { - name = "gunshipskirm", - x = 5175, - z = 1105, - facing = 0, - }, - { - name = "turrettorp", - x = 8728, - z = 2408, - facing = 3, - }, - { - name = "turretmissile", - x = 7056, - z = 4176, - facing = 3, - }, - { - name = "staticmex", - x = 6104, - z = 1528, - facing = 0, - }, - { - name = "gunshipaa", - x = 7633, - z = 1797, - facing = 1, - }, - { - name = "shieldassault", - x = 6444, - z = 886, - facing = 3, - }, - { - name = "shieldriot", - x = 5059, - z = 1429, - facing = 3, - }, - { - name = "turretlaser", - x = 6128, - z = 1360, - facing = 0, - }, - { - name = "shiparty", - x = 8416, - z = 3272, - facing = 3, - buildProgress = 0.85680002, - }, - { - name = "turretlaser", - x = 8416, - z = 3488, - facing = 3, - }, - { - name = "staticmex", - x = 5336, - z = 1384, - facing = 0, - }, - { - name = "staticmex", - x = 5544, - z = 2200, - facing = 0, - }, - { - name = "shiptorpraider", - x = 5408, - z = 3833, - facing = 3, - }, - { - name = "shieldcon", - x = 6735, - z = 986, - facing = 1, - }, - { - name = "shieldcon", - x = 5648, - z = 960, - facing = 1, - }, - { - name = "gunshipraid", - x = 5281, - z = 4687, - facing = 2, - }, - { - name = "shieldfelon", - x = 6249, - z = 779, - facing = 3, - }, - { - name = "shieldcon", - x = 6505, - z = 1083, - facing = 3, - }, - { - name = "shipcon", - x = 6106, - z = 5537, - facing = 0, - }, - { - name = "staticcon", - x = 9416, - z = 520, - facing = 3, - }, - { - name = "turretlaser", - x = 4992, - z = 1840, - facing = 0, - }, - { - name = "shiptorpraider", - x = 7938, - z = 3071, - facing = 3, - }, - { - name = "shieldaa", - x = 9140, - z = 2747, - facing = 1, - }, - { - name = "shipcon", - x = 6358, - z = 3338, - facing = 0, - }, - { - name = "shipcon", - x = 6908, - z = 3423, - facing = 3, - }, - { - name = "gunshipassault", - x = 6539, - z = 4179, - facing = 2, - }, - { - name = "shieldcon", - x = 7183, - z = 851, - facing = 3, - }, - { - name = "shipcon", - x = 7134, - z = 3893, - facing = 3, - }, - { - name = "shieldcon", - x = 6853, - z = 936, - facing = 3, - }, - { - name = "shipcon", - x = 6328, - z = 3379, - facing = 2, - }, - { - name = "shieldassault", - x = 6399, - z = 793, - facing = 3, - }, - { - name = "shieldassault", - x = 6344, - z = 847, - facing = 2, - }, - { - name = "shipscout", - x = 5976, - z = 3612, - facing = 0, - }, - { - name = "shieldcon", - x = 6324, - z = 1537, - facing = 3, - }, - { - name = "gunshipemp", - x = 6364, - z = 722, - facing = 3, - }, - { - name = "turretlaser", - x = 6896, - z = 4096, - facing = 3, - }, - { - name = "shipscout", - x = 4791, - z = 3991, - facing = 2, - }, - { - name = "staticmex", - x = 4776, - z = 1848, - facing = 0, - }, - { - name = "shieldaa", - x = 8276, - z = 2004, - facing = 0, - }, - { - name = "shipscout", - x = 6116, - z = 3782, - facing = 3, - }, - { - name = "staticradar", - x = 6192, - z = 5616, - facing = 2, - }, - { - name = "gunshipcon", - x = 8350, - z = 827, - facing = 3, - }, - { - name = "shieldassault", - x = 7111, - z = 869, - facing = 0, - }, - { - name = "turretmissile", - x = 6368, - z = 5648, - facing = 2, - }, - { - name = "staticradar", - x = 7136, - z = 4032, - facing = 3, - }, - { - name = "shieldassault", - x = 7561, - z = 856, - facing = 3, - }, - { - name = "gunshipcon", - x = 9229, - z = 552, - facing = 3, - }, - { - name = "turretmissile", - x = 7232, - z = 4176, - facing = 3, - buildProgress = 0.46239999, - }, - { - name = "shieldcon", - x = 7884, - z = 896, - facing = 3, - buildProgress = 0.7809, - }, - { - name = "turretlaser", - x = 6032, - z = 5600, - facing = 2, - buildProgress = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "striderhub", - "factoryshield", - "factorygunship", - "factoryship", - "factoryhover", - "factoryamph", - "factoryspider", - }, - loseAfterSeconds = 30*60, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories and Strider Hubs", - }, - [2] = { - description = "Protect your Commander", - }, - [3] = { - description = "Protect Defender Command" - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 3 Berthas - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - unitTypes = { - "staticheavyarty", - }, - image = planetUtilities.ICON_DIR .. "staticheavyarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 3 Big Berthas", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Destroy all enemy Geos before 25:00 - satisfyByTime = 25*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "energygeo", - "energyheavygeo", - }, - image = planetUtilities.ICON_DIR .. "energygeo.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy all enemy Geothermal Generators before 25:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "staticarty", - "staticheavyarty", - }, - modules = { - "module_dmg_booster_LIMIT_C_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet5.lua b/campaign/dev/planets/planet5.lua deleted file mode 100644 index 09255cdc2..000000000 --- a/campaign/dev/planets/planet5.lua +++ /dev/null @@ -1,537 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/swamp02.png" - - local planetData = { - name = "Cygnet", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.13, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.63, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "5500 km", - primary = "Adimasi", - primaryType = "G7V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24417", - text = [[Your opponent is relying on a network of defensive turrets and shielded bots to keep them safe. Use Slings to weaken your opponent's defences and shields before you commit to an assault.]], - }, - tips = { - { - image = "unitpics/cloakarty.png", - text = [[The Sling's cannon has the range to shoot turrets from safety but the Sling itself is weak and has short sight range. Keep out of direct combat.]] - }, - { - image = "unitpics/staticradar.png", - text = [[Radar only reveals the approximate location of enemy forces so, in order to consistently hit their target, most artillery units require a spotter. Once a radar signature is identified as a structure it will no longer wobble.]] - }, - { - image = "unitpics/planelightscout.png", - text = [[Morph a Radar Tower into a Sparrow scout plane to act as a spotter for your Slings. Conjurers may also be used as spotters, as long as they remain cloaked and stay away from enemies.]] - }, - -- { - -- image = "unitpics/cloakcon.png", - -- text = [[The Conjurer's ability to cloak makes it an ideal spotter for Slings. Be carefuly moving around enemy territory as cloak is disrupted by proximity to enemy units and the use of most abilities.]] - -- }, - --{ - -- image = "unitpics/shieldraid.png", - -- text = [[Watch out for flanks by Bandits.]] - --}, - }, - gameConfig = { - mapName = "Wanderlust v03", - playerConfig = { - startX = 2600, - startZ = 550, - allyTeam = 0, - useUnlocks = true, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "cloakarty", - "planelightscout", - }, - startUnits = { - { - name = "staticradar", - x = 2620, - z = 630, - facing = 0, - }, - { - name = "staticradar", - x = 2925, - z = 1605, - facing = 0, - }, - { - name = "staticradar", - x = 1750, - z = 1139, - facing = 0, - }, - { - name = "factorycloak", - x = 2560, - z = 800, - facing = 0, - }, - { - name = "cloakcon", - x = 2760, - z = 800, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.GUARD, atPosition = {2560, 800}}, - --{cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1560, 800}, options = {"shift"}}, - --{unitName = "turretmissile", pos = {64, 64}, facing = 3, options = {"shift"}}, - }, - }, - { - name = "cloakcon", - x = 2360, - z = 800, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.GUARD, atPosition = {2560, 800}}, - }, - }, - { - name = "cloakcon", - x = 2327, - z = 1400, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2410, 2580}}, - }, - }, - { - name = "turretlaser", - x = 1300, - z = 1350, - facing = 0, - }, - { - name = "turretmissile", - x =3000, - z =1200, - facing = 0, - }, - { - name = "turretmissile", - x =3150, - z =1150, - facing = 0, - }, - { - name = "cloakriot", - x =2650, - z =1150, - facing = 0, - }, - { - name = "cloakraid", - x =2550, - z =1180, - facing = 0, - }, - { - name = "cloakraid", - x =2520, - z =1195, - facing = 0, - }, - { - name = "cloakarty", - x =2640, - z =1050, - facing = 0, - }, - { - name = "cloakarty", - x =2540, - z =1080, - facing = 0, - }, - { - name = "staticmex", - x = 2060, - z = 330, - facing = 0, - }, - { - name = "staticmex", - x = 2620, - z = 330, - facing = 0, - }, - { - name = "staticmex", - x = 3220, - z = 250, - facing = 0, - }, - { - name = "staticmex", - x =2270, - z =1040, - facing = 0, - }, - { - name = "staticmex", - x =1550, - z =635, - facing = 0, - }, - { - name = "energysolar", - x =2190, - z =300, - facing = 0, - }, - { - name = "energysolar", - x =2350, - z =310, - facing = 0, - }, - { - name = "energysolar", - x =2510, - z =305, - facing = 0, - }, - { - name = "energysolar", - x =2730, - z =320, - facing = 0, - }, - { - name = "energysolar", - x =2890, - z =330, - facing = 0, - }, - { - name = "energysolar", - x =3050, - z =330, - facing = 0, - }, - { - name = "energysolar", - x =2180, - z =970, - facing = 0, - }, - { - name = "energysolar", - x =2400, - z =1040, - facing = 0, - }, - { - name = "energysolar", - x =2250, - z =1190, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 2300, - startZ = 3800, - aiLib = "Circuit_difficulty_autofill", - humanName = "Targe Solus", - bitDependant = true, - allyTeam = 1, - unlocks = { - "shieldcon", - --"shieldraid", - "shieldassault", - "turretmissile", - "turretlaser", - }, - difficultyDependantUnlocks = { - [2] = {"staticmex","energysolar"}, - [3] = {"staticmex","energysolar","shieldraid"}, - [4] = {"staticmex","energysolar","shieldraid","shieldskirm"}, - }, - commanderLevel = 1, - commander = { - name = "Porcupine", - chassis = "engineer", - decorations = { - }, - modules = { - "commweapon_shotgun", - } - }, - startUnits = { - { - name = "shieldcon", - x = 2860, - z = 3800, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "shieldskirm", - x = 2860, - z = 3700, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 250, - z = 3880, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "shieldcon", - x = 2890, - z = 3800, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "shieldassault", - x = 2890, - z = 3700, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 4910, - z = 3760, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "shieldskirm", - x = 2830, - z = 3700, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "shieldassault", - x = 2830, - z = 3700, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "factoryshield", - x = 2860, - z = 3960, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2750, - z = 2750, - facing = 2, - }, - { - name = "turretheavylaser", - x =950, - z =3040, - facing = 2, - }, - { - name = "turretheavylaser", - x =2280, - z =3000, - facing = 2, - }, - { - name = "turretheavylaser", - x =2750, - z =2990, - facing = 2, - }, - { - name = "turretheavylaser", - x =4400, - z =2500, - facing = 2, - }, - { - name = "turretriot", - x =2460, - z =2800, - facing = 2, - }, - { - name = "turretriot", - x =3068, - z =2565, - facing = 2, - }, - { - name = "turretriot", - x =4750, - z =2280, - facing = 2, - }, - { - name = "turretriot", - x = 2910, - z = 3500, - facing = 2, - }, - { - name = "energygeo", - x = 3070, - z = 3980, - facing = 2, - }, - { - name = "staticmex", - x = 1920, - z = 3840, - facing = 2, - }, - { - name = "staticmex", - x = 2520, - z = 3780, - facing = 2, - }, - { - name = "staticmex", - x = 3130, - z = 3750, - facing = 2, - }, - { - name = "staticmex", - x = 2870, - z = 3080, - facing = 2, - }, - { - name = "staticmex", - x = 770, - z =3180, - facing = 2, - }, - { - name = "staticmex", - x = 4970, - z = 2330, - facing = 2, - }, - { - name = "staticradar", - x = 3420, - z = 2860, - facing = 2, - }, - { - name = "staticradar", - x = 1020, - z = 2180, - facing = 2, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryshield", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Shieldbot Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { -- Build 12 Slings - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "cloakarty", - }, - image = planetUtilities.ICON_DIR .. "cloakarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 12 Slings", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win in 10 minutes - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Protect all mex - satisfyForever = true, - failOnUnitLoss = true, -- Fails the objective if any units being used to satisfy the objective are lost. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose any Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cloakarty", - "planelightscout", - }, - modules = { - "module_adv_targeting_LIMIT_D_2", - }, - codexEntries = { - "faction_valhalla", - "character_odin", - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet50.lua b/campaign/dev/planets/planet50.lua deleted file mode 100644 index 9e4f2c58d..000000000 --- a/campaign/dev/planets/planet50.lua +++ /dev/null @@ -1,1012 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/swamp02.png" - - local planetData = { - name = "Arteri", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.68, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.57, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "2545 km", - primary = "Varis", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24594", - text = [[Your ally on this planet is vulnerable and weak, so you'll have to rely on your Jumpbots' inherent advantage on rough terrain to win despite this disadvantage. Either strike quickly to take out one opponent or prepare for a long game of attrition.]] - }, - tips = { - { - image = "unitpics/module_jumpjet.png", - text = [[Your Commander has been equipped with an experimental jumpjet module for this mission (default hotkey J).]] - }, - { - image = "unitpics/factoryjump.png", - text = [[Many Jumpbot units are unlocked by missions earlier in the campaign. If you're finding this mission too difficult, try backtracking to make sure you didn't miss any. Switching to another factory later might also be helpful.]] - }, - { - image = "unitpics/jumpcon.png", - text = [[The Constable constructor has jumpjets which allow it to set up metal extractors, wind generators, radar towers and defences on high mountains.]] - }, - { - image = "unitpics/jumpskirm.png", - text = [[The Moderator does not jump, but its long-range disruptor beam deals with tougher close-range fighters like the Knight and Reaver, which Pyros would not want to fight directly.]] - }, - }, - gameConfig = { - mapName = "Vein", - playerConfig = { - startX = 3750, - startZ = 770, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - -- Extra commander modules. - extraModules = { - {name = "module_jumpjet", count = 1, add = false}, - -- List of: - -- * name - Module name. See commConfig.lua. - -- * count - Number of copies of the module. - -- * add - Boolean controlling whether count adds to the number of modules of - -- the type the player has equiped or overwrites the number. - }, - extraUnlocks = { - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpaa", - }, - startUnits = { - { - name = "staticmex", - x = 4232, - z = 216, - facing = 0, - }, - { - name = "staticmex", - x = 3720, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 4216, - z = 904, - facing = 0, - }, - { - name = "energywind", - x = 4312, - z = 872, - facing = 0, - }, - { - name = "energywind", - x = 4136, - z = 856, - facing = 0, - }, - { - name = "factoryjump", - x = 3944, - z = 696, - facing = 0, - }, - { - name = "staticcon", - x = 3976, - z = 568, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3976, 568}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4001, 593}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 3800, - z = 424, - facing = 0, - }, - { - name = "energywind", - x = 3896, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 3992, - z = 312, - facing = 0, - }, - { - name = "energywind", - x = 4072, - z = 280, - facing = 0, - }, - { - name = "energywind", - x = 4168, - z = 264, - facing = 0, - }, - { - name = "jumpcon", - x = 2694, - z = 622, - facing = 0, - }, - { - name = "turretlaser", - x = 3984, - z = 1008, - facing = 0, - }, - { - name = "staticmex", - x = 2696, - z = 1048, - facing = 0, - }, - { - name = "energywind", - x = 2648, - z = 968, - facing = 0, - }, - { - name = "staticmex", - x = 2312, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 2392, - z = 552, - facing = 0, - }, - { - name = "staticmex", - x = 2936, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 2872, - z = 280, - facing = 0, - }, - { - name = "turretlaser", - x = 2448, - z = 384, - facing = 3, - }, - { - name = "staticradar", - x = 5472, - z = 576, - facing = 0, - }, - { - name = "staticradar", - x = 3472, - z = 1056, - facing = 0, - }, - { - name = "turretlaser", - x = 2544, - z = 928, - facing = 0, - }, - { - name = "jumpraid", - x = 3700, - z = 1000, - facing = 0, - }, - { - name = "jumpraid", - x = 3800, - z = 1000, - facing = 0, - }, - { - name = "jumpraid", - x = 3900, - z = 1000, - facing = 0, - }, - { - name = "jumpskirm", - x = 3750, - z = 900, - facing = 0, - }, - { - name = "jumpskirm", - x = 3850, - z = 900, - facing = 0, - }, - { - name = "jumpcon", - x = 5367, - z = 479, - facing = 0, - }, - { - name = "energywind", - x = 5336, - z = 312, - facing = 3, - }, - { - name = "energywind", - x = 5416, - z = 312, - facing = 3, - }, - } - }, - aiConfig = { - { - startX = 410, - startZ = 7700, - humanName = "Marillia", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - --"staticcon", - --"factoryspider", - --"spidercon", - "spiderscout", - "spideremp", - "spiderskirm", - "spiderriot", - "spiderassault", - }, - difficultyDependantUnlocks = { - [4] = {"cloakheavyraid"}, - }, - commander = false, - startUnits = { - { - name = "factoryspider", - x = 4100, - z = 4100, - facing = 0, - bonusObjectiveID = 2, - }, - { - name = "spiderskirm", - x = 4100, - z = 4200, - facing = 0, - }, - { - name = "spideremp", - x = 4000, - z = 4200, - facing = 0, - }, - { - name = "spiderriot", - x = 4200, - z = 4200, - facing = 0, - }, - -- { - -- name = "staticcon", - -- x = 4100, - -- z = 3900, - -- facing = 0, - -- }, - { - name = "staticstorage", - x = 3900, - z = 3900, - facing = 0, - }, - { - name = "staticmex", - x = 4000, - z = 3750, - facing = 0, - }, - { - name = "staticmex", - x = 4444, - z = 4100, - facing = 0, - }, - { - name = "staticmex", - x = 3980, - z = 4400, - facing = 0, - }, - { - name = "energysolar", - x = 3860, - z = 3780, - facing = 0, - }, - { - name = "energysolar", - x = 4040, - z = 3600, - facing = 0, - }, - { - name = "energysolar", - x = 4460, - z = 4220, - facing = 0, - }, - { - name = "energysolar", - x = 3870, - z = 4480, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4080, - z = 4280, - facing = 0, - difficultyAtMost = 2, - }, - { - name = "turretlaser", - x = 4080, - z = 4280, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "turretlaser", - x = 4100, - z = 3700, - facing = 2, - }, - { - name = "turretlaser", - x = 4400, - z = 4400, - facing = 1, - }, - } - }, - { - startX = 410, - startZ = 7700, - humanName = "Pulmox", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - bonusObjectiveID = 1, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - --"energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - --"cloakarty", - --"cloaksnipe", - "cloakbomb", - --"striderhub", - --"striderscorpion", - }, - difficultyDependantUnlocks = { - [4] = {"cloakheavyraid"}, - }, - commanderLevel = 5, - commander = { - name = "Kuro", - chassis = "recon", - decorations = { - "skin_recon_dark", - }, - modules = { - "commweapon_clusterbomb", - "commweapon_heavymachinegun", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_personal_cloak", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_autorepair", - "module_autorepair", - "module_autorepair", - } - }, - startUnits = { - { - name = "cloakcon", - x = 303, - z = 7344, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "cloakcon", - x = 412, - z = 7412, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 248, - z = 7176, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 632, - z = 7560, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 216, - z = 8008, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 280, - z = 8024, - facing = 3, - }, - { - name = "energysolar", - x = 200, - z = 8072, - facing = 2, - }, - { - name = "energysolar", - x = 152, - z = 7992, - facing = 1, - }, - { - name = "energysolar", - x = 232, - z = 7944, - facing = 0, - }, - { - name = "energysolar", - x = 696, - z = 7576, - facing = 3, - }, - { - name = "energysolar", - x = 616, - z = 7624, - facing = 2, - }, - { - name = "energysolar", - x = 568, - z = 7544, - facing = 1, - }, - { - name = "energysolar", - x = 648, - z = 7496, - facing = 0, - }, - { - name = "energysolar", - x = 312, - z = 7192, - facing = 3, - }, - { - name = "energysolar", - x = 232, - z = 7240, - facing = 2, - }, - { - name = "energysolar", - x = 184, - z = 7160, - facing = 1, - }, - { - name = "energysolar", - x = 264, - z = 7112, - facing = 0, - }, - { - name = "factorycloak", - x = 264, - z = 7600, - facing = 2, - }, - { - name = "staticcon", - x = 232, - z = 7736, - facing = 2, - }, - { - name = "staticradar", - x = 16, - z = 7584, - facing = 2, - }, - { - name = "turretmissile", - x = 352, - z = 6976, - facing = 2, - }, - { - name = "turretmissile", - x = 464, - z = 7008, - facing = 2, - }, - { - name = "turretmissile", - x = 864, - z = 7360, - facing = 1, - }, - { - name = "turretmissile", - x = 912, - z = 7488, - facing = 1, - }, - { - name = "turretmissile", - x = 960, - z = 7920, - facing = 1, - }, - { - name = "turretmissile", - x = 976, - z = 8032, - facing = 1, - }, - { - name = "cloakraid", - x = 552, - z = 7350, - facing = 1, - }, - { - name = "cloakraid", - x = 598, - z = 7358, - facing = 1, - }, - { - name = "cloakraid", - x = 508, - z = 7328, - facing = 1, - }, - { - name = "cloakraid", - x = 419, - z = 7290, - facing = 2, - }, - { - name = "cloakassault", - x = 468, - z = 7312, - facing = 2, - }, - { - name = "cloakassault", - x = 648, - z = 7381, - facing = 1, - }, - } - }, - { - startX = 5400, - startZ = 7300, - humanName = "Umbilis", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - bonusObjectiveID = 1, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - --"energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldskirm", - --"shieldbomb", - "shieldaa", - --"shieldfelon", - "factorygunship", - "gunshipraid", - "gunshipskirm", - }, - difficultyDependantUnlocks = { - [2] = {"shieldarty"}, - [3] = {"shieldarty","shieldriot"}, - [4] = {"shieldarty","shieldriot","shieldfelon","shieldshield"}, - }, - commanderLevel = 5, - commander = { - name = "Clifford", - chassis = "engineer", - decorations = { - "skin_support_hotrod", - }, - modules = { - "commweapon_disruptorbomb", - "commweapon_lparticlebeam", - "module_battle_drone", - "module_battle_drone", - "module_companion_drone", - "module_companion_drone", - "module_heavy_armor", - "module_heavy_armor", - "module_adv_nano", - "module_adv_nano", - } - }, - startUnits = { - { - name = "shieldcon", - x = 5545, - z = 7324, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "turretlaser", - x = 5200, - z = 7312, - facing = 3, - }, - - { - name = "staticmex", - x = 5608, - z = 7752, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 5032, - z = 7736, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 5928, - z = 7160, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "energysolar", - x = 5896, - z = 7096, - facing = 2, - }, - { - name = "energysolar", - x = 5976, - z = 7096, - facing = 2, - }, - { - name = "energysolar", - x = 4968, - z = 7768, - facing = 2, - }, - { - name = "energysolar", - x = 5048, - z = 7800, - facing = 2, - }, - { - name = "energysolar", - x = 5672, - z = 7768, - facing = 1, - }, - { - name = "energysolar", - x = 5592, - z = 7816, - facing = 0, - }, - { - name = "energysolar", - x = 5544, - z = 7736, - facing = 3, - }, - { - name = "energysolar", - x = 5624, - z = 7688, - facing = 2, - }, - { - name = "staticradar", - x = 6208, - z = 7136, - facing = 1, - }, - { - name = "turretmissile", - x = 6160, - z = 7088, - facing = 1, - }, - { - name = "turretmissile", - x = 6224, - z = 7232, - facing = 1, - }, - { - name = "turretmissile", - x = 6000, - z = 7872, - facing = 1, - }, - { - name = "turretmissile", - x = 6000, - z = 7968, - facing = 1, - }, - { - name = "turretemp", - x = 4896, - z = 7712, - facing = 3, - }, - { - name = "turretemp", - x = 5440, - z = 6880, - facing = 2, - }, - { - name = "staticcon", - x = 5240, - z = 8040, - facing = 2, - }, - { - name = "factoryshield", - x = 5488, - z = 7448, - facing = 2, - }, - { - name = "shieldskirm", - x = 5463, - z = 7201, - facing = 2, - }, - { - name = "shieldskirm", - x = 5558, - z = 7228, - facing = 2, - }, - { - name = "shieldskirm", - x = 5668, - z = 7237, - facing = 2, - }, - { - name = "shieldraid", - x = 5385, - z = 7070, - facing = 2, - }, - { - name = "shieldraid", - x = 5529, - z = 7085, - facing = 2, - }, - { - name = "shieldraid", - x = 5603, - z = 7088, - facing = 2, - }, - { - name = "shieldraid", - x = 5460, - z = 7083, - facing = 2, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryshield", - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Kill enemy commander in 7:30 - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "skin_support_hotrod.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy both enemy Commanders", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "factoryspider.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Protect your ally's Spider Factory", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyByTime = 10*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 24, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 24 Metal Extractors (including allies) by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpaa", - }, - modules = { - "module_jumpjet", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet51.lua b/campaign/dev/planets/planet51.lua deleted file mode 100644 index dff71fb81..000000000 --- a/campaign/dev/planets/planet51.lua +++ /dev/null @@ -1,2182 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/inferno02.png" - - local planetData = { - name = "Lalata", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.755, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.49, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Steppe", - radius = "5760 km", - primary = "Yapp", - primaryType = "G0V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24594", - text = [[Your Tech Lab is about to be overrun by enemy forces! Your base is too far away to reinforce the Lab in time... unless you employ an unconventional means of transport.]] - }, - tips = { - { - image = "unitpics/turretimpulse.png", - text = [[The Newton turret can be toggled to attract or repulse its target. It does not inflict any direct damage, so when used as a defensive tool it relies on pushing enemies off cliffs or pulling them into other defences (particularly pulling bombers into anti-air). Smaller units are generally affected more.]] - }, - { - image = "unitpics/module_jumpjet.png", - text = [[Newtons can also be used to propel your units off a ramp and into battle. Jumpjet-equipped units (which can survive the landing by jumping) and bombs (which deal damage on impact) are best suited for this. Use the Newton firezone command to automate the process.]] - }, - { - image = "unitpics/jumpsumo.png", - text = [[Just like the Newton, the Jugglenaut can be toggled to attract or repulse targets. The Jugglenaut's main weapon is actually its jump - the sheer force of its landing damages nearby units. Jugglenauts are not very effective against structures.]] - }, - }, - gameConfig = { - mapName = "LLTAComplexV2", - playerConfig = { - startX = 7600, - startZ = 4000, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - newtonFirezones = { - { - newtons = { - x1 = 7800, - z1 = 3600, - x2 = 8200, - z2 = 4000, - }, - firezone = { - x1 = 7820, - z1 = 3600, - x2 = 8000, - z2 = 3800, - } - } - }, - -- Extra commander modules. - extraModules = { - {name = "module_jumpjet", count = 1, add = false}, - -- List of: - -- * name - Module name. See commConfig.lua. - -- * count - Number of copies of the module. - -- * add - Boolean controlling whether count adds to the number of modules of - -- the type the player has equiped or overwrites the number. - }, - extraUnlocks = { - "factoryjump", - "jumpcon", - "jumpraid", - "jumpaa", - "jumpsumo", - "turretimpulse", - "jumpassault", - }, - extraAbilities = { - "terraform", - }, - startUnits = { - { - name = "pw_techlab", - x = 3720, - z = 750, - facing = 0, - defeatIfDestroyedObjectiveID = 1, - }, - -- Newton cannon - { - name = "turretimpulse", - x = 8112, - z = 3694 - 1*48, - facing = 3, - }, - { - name = "turretimpulse", - x = 8112, - z = 3694, - facing = 3, - }, - { - name = "turretimpulse", - x = 8112, - z = 3694 + 1*48, - facing = 3, - }, - { - name = "turretimpulse", - x = 8112, - z = 3694 + 2*48, - facing = 3, - }, - { - name = "turretimpulse", - x = 8112, - z = 3694 + 3*48, - facing = 3, - }, - { - name = "turretimpulse", - x = 7872, - z = 3932, - facing = 2, - }, - { - name = "turretimpulse", - x = 7872 + 1*48, - z = 3932, - facing = 2, - }, - { - name = "turretimpulse", - x = 7872 + 2*48, - z = 3932, - facing = 2, - }, - { - name = "turretimpulse", - x = 7872 + 3*48, - z = 3932, - facing = 2, - }, - -- Newton cannonballs - { - name = "jumpcon", - x = 7970, - z = 3750, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.JUMP, pos = {2900, 380},} - }, - }, - { - name = "jumpcon", - x = 8150, - z = 4030, - facing = 0, - }, - { - name = "jumpraid", - x = 8190, - z = 4030, - facing = 0, - }, - { - name = "jumpraid", - x = 8230, - z = 4030, - facing = 0, - }, - { - name = "jumpraid", - x = 8190, - z = 4080, - facing = 0, - }, - { - name = "jumpraid", - x = 8230, - z = 4080, - facing = 0, - }, - { - name = "jumpassault", - x = 8270, - z = 4030, - facing = 0, - }, - -- - { - name = "staticmex", - x = 8552, - z = 4808, - facing = 0, - }, - { - name = "staticshield", - x = 3776, - z = 976, - facing = 1, - }, - { - name = "energygeo", - x = 3880, - z = 1160, - facing = 0, - }, - { - name = "turretimpulse", - x = 3744, - z = 1184, - facing = 0, - }, - { - name = "turretimpulse", - x = 3984, - z = 1184, - facing = 0, - }, - { - name = "turretimpulse", - x = 3968, - z = 992, - facing = 1, - }, - { - name = "turretimpulse", - x = 3968, - z = 752, - facing = 1, - }, - { - name = "staticmex", - x = 7864, - z = 4232, - facing = 0, - }, - { - name = "staticmex", - x = 3864, - z = 792, - facing = 0, - }, - { - name = "staticmex", - x = 7864, - z = 4808, - facing = 0, - }, - { - name = "staticmex", - x = 8552, - z = 4232, - facing = 0, - }, - { - name = "staticshield", - x = 3552, - z = 816, - facing = 0, - }, - { - name = "energywind", - x = 8568, - z = 4328, - facing = 0, - }, - { - name = "energywind", - x = 8568, - z = 4408, - facing = 0, - }, - { - name = "energywind", - x = 8568, - z = 4488, - facing = 0, - }, - { - name = "energywind", - x = 8568, - z = 4568, - facing = 0, - }, - { - name = "energywind", - x = 8568, - z = 4648, - facing = 0, - }, - { - name = "energywind", - x = 8568, - z = 4728, - facing = 0, - }, - { - name = "energywind", - x = 8488, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 8408, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 8328, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 8248, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 8168, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 8088, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 8008, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 7928, - z = 4872, - facing = 0, - }, - { - name = "staticradar", - x = 4060, - z = 520, - facing = 1, - }, - { - name = "turretlaser", - x = 4060, - z = 560, - facing = 1, - }, - { - name = "turretimpulse", - x = 3800, - z = 250, - facing = 1, - }, - { - name = "turretimpulse", - x = 3800, - z = 300, - facing = 1, - }, - { - name = "turretaaflak", - x = 3704, - z = 536, - facing = 3, - }, - { - name = "turretlaser", - x = 3952, - z = 864, - facing = 1, - }, - { - name = "turretlaser", - x = 3856, - z = 1232, - facing = 0, - }, - { - name = "turretlaser", - x = 3296, - z = 768, - facing = 3, - }, - { - name = "turretlaser", - x = 3456, - z = 544, - facing = 3, - }, - { - name = "turretlaser", - x = 2848, - z = 512, - facing = 3, - }, - { - name = "turretlaser", - x = 2944, - z = 176, - facing = 3, - }, - { - name = "staticmex", - x = 3176, - z = 424, - facing = 3, - }, - { - name = "jumpsumo", - x = 2431, - z = 100, - facing = 1, - stunTime = 10, - }, - { - name = "jumpsumo", - x = 2330, - z = 390, - facing = 0, - stunTime = 10, - }, - { - name = "staticmex", - x = 6920, - z = 5000, - facing = 2, - }, - { - name = "staticmex", - x = 6920, - z = 3672, - facing = 2, - }, - { - name = "staticradar", - x = 6752, - z = 4800, - facing = 2, - }, - { - name = "turretlaser", - x = 7344, - z = 4592, - facing = 3, - }, - { - name = "turretlaser", - x = 7344, - z = 4288, - facing = 3, - }, - { - name = "turretlaser", - x = 7344, - z = 4000, - facing = 3, - }, - { - name = "factoryjump", - x = 7864, - z = 4536, - facing = 3, - }, - { - name = "staticcon", - x = 7992, - z = 4488, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7992, 4488}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7967, 4463}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7992, - z = 4568, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7992, 4568}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7967, 4543}, options = {"shift"}}, - }, - }, - } - }, - aiConfig = { - { - humanName = "Complexia", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - }, - commander = false, - startUnits = { - { - name = "turretmissile", - x = 9136, - z = 1952, - facing = 2, - }, - { - name = "staticheavyradar", - x = 8352, - z = 3584, - facing = 1, - }, - { - name = "energygeo", - x = 8296, - z = 2840, - facing = 1, - }, - { - name = "turretlaser", - x = 8296, - z = 2740, - facing = 3, - }, - { - name = "turretlaser", - x = 8296, - z = 2940, - facing = 3, - }, - { - name = "staticmex", - x = 9016, - z = 2088, - facing = 2, - }, - { - name = "staticcon", - x = 8776, - z = 2520, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8776, 2520}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8751, 2545}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 9000, - z = 2984, - facing = 2, - }, - { - name = "staticmex", - x = 9000, - z = 2568, - facing = 2, - }, - { - name = "factorycloak", - x = 8808, - z = 2384, - facing = 2, - }, - { - name = "staticcon", - x = 8856, - z = 2520, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8856, 2520}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8831, 2545}, options = {"shift"}}, - }, - }, - { - name = "turretriot", - x = 8440, - z = 2072, - facing = 2, - }, - { - name = "turretmissile", - x = 8272, - z = 2064, - facing = 2, - }, - { - name = "turretmissile", - x = 8336, - z = 2064, - facing = 2, - }, - { - name = "energypylon", - x = 8680, - z = 2888, - facing = 1, - }, - { - name = "energywind", - x = 9048, - z = 2984, - facing = 0, - }, - { - name = "energywind", - x = 9048, - z = 3032, - facing = 0, - }, - { - name = "energywind", - x = 9000, - z = 3032, - facing = 3, - }, - { - name = "energywind", - x = 8952, - z = 3032, - facing = 3, - }, - { - name = "energywind", - x = 8952, - z = 2984, - facing = 2, - }, - { - name = "energywind", - x = 8952, - z = 2936, - facing = 2, - }, - { - name = "energywind", - x = 9000, - z = 2936, - facing = 1, - }, - { - name = "energywind", - x = 9048, - z = 2936, - facing = 1, - }, - { - name = "energywind", - x = 9048, - z = 2568, - facing = 0, - }, - { - name = "energywind", - x = 9048, - z = 2616, - facing = 0, - }, - { - name = "energywind", - x = 9000, - z = 2616, - facing = 3, - }, - { - name = "energywind", - x = 8952, - z = 2616, - facing = 3, - }, - { - name = "energywind", - x = 8952, - z = 2568, - facing = 2, - }, - { - name = "energywind", - x = 8952, - z = 2520, - facing = 2, - }, - { - name = "energywind", - x = 9000, - z = 2520, - facing = 1, - }, - { - name = "energywind", - x = 9048, - z = 2520, - facing = 1, - }, - { - name = "cloakassault", - x = 8697, - z = 2069, - facing = 2, - }, - { - name = "cloakassault", - x = 8791, - z = 2035, - facing = 3, - }, - { - name = "cloakriot", - x = 8728, - z = 2099, - facing = 1, - }, - { - name = "cloakriot", - x = 8793, - z = 2079, - facing = 3, - }, - { - name = "cloakskirm", - x = 8749, - z = 2137, - facing = 2, - }, - { - name = "cloakskirm", - x = 8803, - z = 2148, - facing = 2, - }, - { - name = "cloakcon", - x = 8762, - z = 2093, - facing = 1, - }, - { - name = "cloakcon", - x = 8787, - z = 2172, - facing = 2, - }, - { - name = "turretaaflak", - x = 8376, - z = 2392, - facing = 3, - }, - { - name = "turretriot", - x = 8968, - z = 1960, - facing = 2, - }, - { - name = "turretmissile", - x = 9056, - z = 1952, - facing = 2, - }, - } - }, - { - startX = 1300, - startZ = 4500, - humanName = "Bactos", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "striderhub", - "striderdante", - --"striderarty", - --"striderscorpion", - --"striderfunnelweb", - }, - difficultyDependantUnlocks = { - [3] = {"striderarty"}, - [4] = {"striderarty","striderscorpion","striderfunnelweb"}, - }, - commanderLevel = 5, - commander = { - name = "Terrax", - chassis = "recon", - decorations = { - "skin_recon_leopard", - }, - modules = { - "commweapon_concussion", - "commweapon_shotgun", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_cloak_field", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_autorepair", - "module_autorepair", - "module_autorepair", - } - }, - midgameUnits = { - { - name = "striderarty", - x = 140, - z = 5000, - facing = 1, - spawnRadius = 50, - delay = 7*60*30, - difficultyAtLeast = 4, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "striderhub", - x = 1584, - z = 4736, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1584, 4736}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1609, 4711}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 1384, - z = 4200, - facing = 0, - }, - { - name = "staticmex", - x = 1384, - z = 4792, - facing = 0, - }, - { - name = "staticmex", - x = 696, - z = 4792, - facing = 0, - }, - { - name = "staticmex", - x = 680, - z = 4216, - facing = 0, - }, - { - name = "staticmex", - x = 2296, - z = 5000, - facing = 1, - }, - { - name = "staticmex", - x = 2312, - z = 3704, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 4264, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 4344, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 4424, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 4504, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 4584, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 4664, - facing = 1, - }, - { - name = "energywind", - x = 616, - z = 4744, - facing = 1, - }, - { - name = "energywind", - x = 712, - z = 4264, - facing = 1, - }, - { - name = "energywind", - x = 712, - z = 4344, - facing = 1, - }, - { - name = "energywind", - x = 712, - z = 4424, - facing = 1, - }, - { - name = "energywind", - x = 712, - z = 4504, - facing = 1, - }, - { - name = "energywind", - x = 712, - z = 4584, - facing = 1, - }, - { - name = "energywind", - x = 712, - z = 4664, - facing = 1, - }, - { - name = "energywind", - x = 712, - z = 4744, - facing = 1, - }, - { - name = "energywind", - x = 776, - z = 4840, - facing = 1, - }, - { - name = "energywind", - x = 856, - z = 4840, - facing = 1, - }, - { - name = "energywind", - x = 936, - z = 4840, - facing = 1, - }, - { - name = "factoryshield", - x = 1704, - z = 4400, - facing = 1, - }, - { - name = "staticcon", - x = 1576, - z = 4360, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1576, 4360}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1601, 4335}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 1016, - z = 4840, - facing = 1, - }, - { - name = "staticcon", - x = 1576, - z = 4456, - facing = 1, - }, - { - name = "energywind", - x = 1096, - z = 4840, - facing = 1, - }, - { - name = "energywind", - x = 1176, - z = 4840, - facing = 1, - }, - { - name = "energywind", - x = 1256, - z = 4840, - facing = 1, - }, - { - name = "energywind", - x = 1336, - z = 4840, - facing = 1, - }, - { - name = "staticradar", - x = 1536, - z = 3568, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2456, - z = 3832, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2456, - z = 4824, - facing = 1, - }, - { - name = "turretriot", - x = 1816, - z = 4568, - facing = 1, - }, - { - name = "turretriot", - x = 1816, - z = 4072, - facing = 1, - }, - { - name = "turretaalaser", - x = 2072, - z = 3784, - facing = 1, - }, - { - name = "turretaalaser", - x = 2088, - z = 4872, - facing = 1, - }, - { - name = "shieldraid", - x = 2006, - z = 4439, - facing = 0, - }, - { - name = "shieldraid", - x = 2006, - z = 4302, - facing = 1, - }, - { - name = "shieldraid", - x = 1990, - z = 4145, - facing = 3, - }, - { - name = "shieldraid", - x = 1940, - z = 4572, - facing = 0, - }, - { - name = "shieldcon", - x = 1887, - z = 4263, - facing = 2, - }, - { - name = "shieldcon", - x = 1869, - z = 4492, - facing = 0, - }, - } - }, - { - humanName = "Parati", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehriot", - "vehassault", - "vehaa", - "vehsupport", - "veharty", - "vehheavyarty", - --"vehcapture", - }, - difficultyDependantUnlocks = { - [3] = {"vehcapture"}, - [4] = {"vehcapture"}, - }, - commander = false, - startUnits = { - { - name = "energyfusion", - x = 112, - z = 312, - facing = 1, - }, - { - name = "factoryveh", - x = 464, - z = 912, - facing = 1, - }, - { - name = "staticmex", - x = 424, - z = 1432, - facing = 1, - }, - { - name = "staticmex", - x = 216, - z = 1112, - facing = 1, - }, - { - name = "staticmex", - x = 488, - z = 584, - facing = 1, - }, - { - name = "staticmex", - x = 280, - z = 264, - facing = 1, - }, - { - name = "staticmex", - x = 728, - z = 184, - facing = 1, - }, - { - name = "energywind", - x = 408, - z = 536, - facing = 1, - }, - { - name = "energywind", - x = 392, - z = 456, - facing = 1, - }, - { - name = "energywind", - x = 360, - z = 376, - facing = 1, - }, - { - name = "energywind", - x = 344, - z = 296, - facing = 1, - }, - { - name = "energywind", - x = 360, - z = 216, - facing = 1, - }, - { - name = "energywind", - x = 440, - z = 200, - facing = 1, - }, - { - name = "energywind", - x = 520, - z = 168, - facing = 1, - }, - { - name = "energywind", - x = 600, - z = 152, - facing = 1, - }, - { - name = "energywind", - x = 680, - z = 136, - facing = 1, - }, - { - name = "energywind", - x = 216, - z = 1192, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 1272, - facing = 1, - }, - { - name = "energywind", - x = 312, - z = 1352, - facing = 1, - }, - { - name = "energywind", - x = 360, - z = 1432, - facing = 1, - }, - - { - name = "vehcon", - x = 181, - z = 455, - facing = 2, - }, - { - name = "vehcon", - x = 208, - z = 421, - facing = 2, - }, - { - name = "staticcon", - x = 328, - z = 888, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {328, 888}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {353, 913}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 328, - z = 952, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {328, 952}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {353, 977}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 920, - z = 216, - facing = 1, - }, - { - name = "turretriot", - x = 904, - z = 408, - facing = 1, - }, - { - name = "turretheavylaser", - x = 920, - z = 584, - facing = 1, - }, - { - name = "turretaalaser", - x = 744, - z = 408, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1080, - z = 1096, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1080, - z = 1368, - facing = 1, - }, - { - name = "turretriot", - x = 1064, - z = 1240, - facing = 1, - }, - { - name = "turretaalaser", - x = 968, - z = 1256, - facing = 1, - }, - { - name = "turretlaser", - x = 464, - z = 1296, - facing = 1, - }, - { - name = "turretlaser", - x = 320, - z = 1536, - facing = 1, - }, - { - name = "turretlaser", - x = 544, - z = 480, - facing = 1, - }, - } - }, - { - humanName = "Virilis", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - }, - commander = false, - startUnits = { - -- stuns sumos at start - { - name = "spiderantiheavy", - x = 2300, - z = 60, - facing = 1, - }, - { - name = "spiderantiheavy", - x = 2300, - z = 90, - facing = 1, - }, - { - name = "spiderantiheavy", - x = 2230, - z = 350, - facing = 1, - }, - { - name = "spiderantiheavy", - x = 2230, - z = 380, - facing = 1, - }, - { - name = "spideremp", - x = 1880, - z = 110, - facing = 1, - }, - { - name = "spideremp", - x = 1700, - z = 50, - facing = 1, - }, - { - name = "spideremp", - x = 2000, - z = 700, - facing = 1, - }, - { - name = "spideremp", - x = 2000, - z = 800, - facing = 1, - }, - -- - { - name = "turretheavylaser", - x = 6400, - z = 1050, - facing = 1, - }, - { - name = "turretgauss", - x = 6184, - z = 200, - facing = 1, - }, - { - name = "staticmex", - x = 5400, - z = 808, - facing = 1, - }, - { - name = "turretaaheavy", - x = 5712, - z = 1024, - facing = 0, - }, - { - name = "energyheavygeo", - x = 5384, - z = 1160, - facing = 0, - }, - { - name = "factoryspider", - x = 5704, - z = 552, - facing = 1, - }, - { - name = "spidercrabe", - x = 5900, - z = 552, - facing = 1, - }, - { - name = "spiderriot", - x = 6000, - z = 552, - facing = 1, - }, - { - name = "spiderriot", - x = 6100, - z = 552, - facing = 1, - }, - { - name = "turretaafar", - x = 5232, - z = 1248, - facing = 0, - }, - { - name = "turretheavy", - x = 5528, - z = 1272, - facing = 0, - }, - { - name = "turretheavy", - x = 5770, - z = 940, - facing = 1, - }, - { - name = "energypylon", - x = 5528, - z = 1100, - facing = 0, - }, - { - name = "staticcon", - x = 5560, - z = 648, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5560, 648}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5535, 673}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5464, - z = 648, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5464, 648}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5439, 673}, options = {"shift"}}, - }, - }, - { - name = "turretriot", - x = 5304, - z = 728, - facing = 3, - }, - { - name = "turretriot", - x = 5304, - z = 1016, - facing = 3, - }, - { - name = "turretemp", - x = 5312, - z = 880, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5224, - z = 536, - facing = 3, - }, - { - name = "staticmex", - x = 6104, - z = 520, - facing = 1, - }, - { - name = "staticradar", - x = 5632, - z = 928, - facing = 1, - }, - { - name = "turretgauss", - x = 6440, - z = 632, - facing = 1, - }, - { - name = "turretriot", - x = 6296, - z = 408, - facing = 1, - }, - } - }, - { - humanName = "Automaton", - aiLib = "Null AI", - bitDependant = false, - --aiLib = "Circuit_difficulty_autofill", - --bitDependant = true, - allyTeam = 1, - unlocks = { - }, - commander = false, - midgameUnits = { - -- first wave - { - name = "vehassault", - x = 916, - z = 537, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehassault", - x = 830, - z = 873, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehassault", - x = 841, - z = 957, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehassault", - x = 808, - z = 771, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehassault", - x = 789, - z = 677, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehassault", - x = 945, - z = 1037, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehassault", - x = 895, - z = 1206, - facing = 2, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehassault", - x = 883, - z = 1150, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehriot", - x = 936, - z = 980, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "vehriot", - x = 911, - z = 795, - facing = 1, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "shieldarty", - x = 598, - z = 956, - facing = 0, - difficultyAtLeast = 2, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "shieldarty", - x = 606, - z = 1103, - facing = 0, - difficultyAtLeast = 3, - spawnRadius = 50, - delay = 40*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - -- second wave - { - name = "veharty", - x = 84, - z = 1156, - facing = 3, - spawnRadius = 50, - delay = 60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "veharty", - x = 95, - z = 872, - facing = 3, - difficultyAtLeast = 2, - spawnRadius = 50, - delay = 60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "veharty", - x = 78, - z = 1006, - facing = 1, - difficultyAtLeast = 2, - spawnRadius = 50, - delay = 60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "veharty", - x = 88, - z = 1084, - facing = 3, - difficultyAtLeast = 3, - spawnRadius = 50, - delay = 60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "veharty", - x = 96, - z = 725, - facing = 1, - difficultyAtLeast = 3, - spawnRadius = 50, - delay = 60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "veharty", - x = 99, - z = 801, - facing = 3, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "veharty", - x = 85, - z = 940, - facing = 1, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - -- who's laughing now? - { - name = "striderbantha", - x = 400, - z = 1600, - facing = 1, - spawnRadius = 350, - delay = 20*60*30, - difficultyAtLeast = 4, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "striderfunnelweb", - x = 400, - z = 1600, - facing = 1, - spawnRadius = 350, - delay = 20*60*30, - difficultyAtLeast = 3, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "striderfunnelweb", - x = 400, - z = 1600, - facing = 1, - spawnRadius = 350, - delay = 20*60*30, - difficultyAtLeast = 2, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - { - name = "striderdante", - x = 400, - z = 1600, - facing = 1, - spawnRadius = 350, - delay = 20*60*30, - orbitalDrop = true, - commands = { - {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, - }, - }, - }, - startUnits = { - { - name = "spiderassault", - x = 5124, - z = 2000, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spiderassault", - x = 4634, - z = 1600, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spiderassault", - x = 4576, - z = 1900, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spiderassault", - x = 4572, - z = 1300, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spiderassault", - x = 4699, - z = 743, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spiderriot", - x = 4653, - z = 1500, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spiderriot", - x = 4000, - z = 2000, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spideremp", - x = 4565, - z = 1043, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spideremp", - x = 4000, - z = 1500, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - { - name = "spideremp", - x = 4707, - z = 884, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {3620, 1000}}, - }, - }, - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {8000, 293, 3800, 7780, 485, 3650}, - width = 220, - }, - --{ - -- terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - -- position = {8000, 293, 3800, 7890, 362, 3725}, - -- width = 220, - --}, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {8000, 292, 3800, 7780, 484, 3650}, - width = 220, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {7545, 3480, 8180, 3880}, - height = 293, - }, - - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "staticmex", - }, - loseAfterSeconds = 30*60, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Protect the Tech Lab for 30 minutes OR Destroy all enemy Metal Extractors", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - onlyCountRemovedUnits = true, - satisfyByTime = 10*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "factoryspider", - "factoryshield", - "factoryplane", - "factoryveh", - }, - image = planetUtilities.ICON_DIR .. "factoryspider.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy an enemy Factory before 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyUntilTime = 3*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - unitTypes = { - "jumpsumo" - }, - image = planetUtilities.ICON_DIR .. "jumpsumo.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose any Jugglenauts before 3:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyByTime = 25*60, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy all enemy Metal Extractors before 25:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "jumpsumo", - "turretimpulse", - }, - modules = { - "module_heavy_armor_LIMIT_D_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet52.lua b/campaign/dev/planets/planet52.lua deleted file mode 100644 index 03c13873f..000000000 --- a/campaign/dev/planets/planet52.lua +++ /dev/null @@ -1,1007 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/inferno03.png" - - local planetData = { - name = "Skokukur", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.24, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.33, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Volcanic", - radius = "1775 km", - primary = "Jayadu A/B", - primaryType = "F9V/F9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = [[Despite its unappealing environment, this planet has been the focus of many battles, and it is littered with scrap. The self-replicating Puppy walking bombs can quickly turn these wrecks into a new army for you.]] - }, - tips = { - { - image = "unitpics/jumpraid.png", - text = [[The Constable and Pyro have jumpjets to get over obstacles and move around more quickly. The default jump hotkey is J.]] - }, - { - image = "unitpics/jumpscout.png", - text = [[Puppies are suicidal missiles on legs. If a Puppy stands next to a unit wreck, it will convert the wreck into more Puppies. Use the Economy view (default hotkey F4) to highlight wrecks.]] - }, - { - image = "unitpics/jumpblackhole.png", - text = [[Placeholders create gravitational anomalies which pull nearby units into the centre until the anomaly dissipates. Use them to keep enemies away from your longer-range units and turrets, and to make enemies more vulnerable to area-of-effect attacks.]] - }, - }, - gameConfig = { - mapName = "TartarusV7", - playerConfig = { - startX = 550, - startZ = 1850, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryjump", - "jumpcon", - "jumpraid", - "jumpscout", - "jumpblackhole", - }, - startUnits = { - { - name = "jumpscout", - x = 700, - z = 1950, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1350, 1900}}, - }, - }, - { - name = "jumpscout", - x = 700, - z = 2000, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1350, 1900}}, - }, - }, - { - name = "jumpscout", - x = 700, - z = 2050, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1350, 1900}}, - }, - }, - { - name = "jumpscout", - x = 700, - z = 2100, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1350, 1900}}, - }, - }, - { - name = "jumpscout", - x = 700, - z = 2150, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1350, 1900}}, - }, - }, - { - name = "jumpblackhole", - x = 800, - z = 3500, - facing = 1, - }, - { - name = "jumpraid", - x = 800, - z = 3600, - facing = 1, - }, - { - name = "jumpblackhole", - x = 1250, - z = 1150, - facing = 1, - }, - { - name = "jumpraid", - x = 1230, - z = 1250, - facing = 1, - }, - { - name = "jumpblackhole", - x = 1260, - z = 1340, - facing = 1, - }, - { - name = "jumpcon", - x = 250, - z = 2250, - facing = 1, - }, - { - name = "jumpcon", - x = 350, - z = 2250, - facing = 1, - }, - { - name = "factoryjump", - x = 392, - z = 2104, - facing = 1, - }, - { - name = "staticmex", - x = 136, - z = 1864, - facing = 1, - }, - -- { - -- name = "staticmex", - -- x = 920, - -- z = 840, - -- facing = 0, - -- }, - { - name = "staticmex", - x = 312, - z = 3640, - facing = 0, - }, - { - name = "staticmex", - x = 616, - z = 3944, - facing = 0, - }, - { - name = "staticradar", - x = 544, - z = 2672, - facing = 0, - }, - { - name = "energysolar", - x = 344, - z = 3768, - facing = 1, - }, - { - name = "turretlaser", - x = 1120, - z = 864, - facing = 1, - }, - { - name = "staticradar", - x = 912, - z = 1104, - facing = 1, - }, - { - name = "staticcon", - x = 296, - z = 2104, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {296, 2104}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {321, 2079}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 928, - z = 1856, - facing = 1, - }, - { - name = "turretlaser", - x = 1056, - z = 2144, - facing = 1, - }, - { - name = "energysolar", - x = 200, - z = 1880, - facing = 0, - }, - { - name = "energysolar", - x = 120, - z = 1928, - facing = 3, - }, - { - name = "turretlaser", - x = 656, - z = 2704, - facing = 1, - }, - { - name = "energysolar", - x = 72, - z = 1848, - facing = 2, - }, - { - name = "turretlaser", - x = 704, - z = 3344, - facing = 1, - }, - { - name = "turretlaser", - x = 752, - z = 3680, - facing = 1, - }, - { - name = "energysolar", - x = 152, - z = 1800, - facing = 1, - }, - { - name = "energysolar", - x = 488, - z = 3896, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 4000, - startZ = 3400, - humanName = "Jasmine", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - bonusObjectiveID = 3, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "staticcon", - "energysolar", - "energywind", - "vehcon", - "vehscout", - "vehraid", - "vehsupport", - "vehaa", - "spiderassault", - "spiderskirm", - }, - commanderLevel = 3, - commander = { - name = "Barasogus", - chassis = "guardian", - modules = { - "commweapon_flamethrower", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_high_power_servos", - } - }, - startUnits = { - { - name = "turretlaser", - x = 3400, - z = 2000, - facing = 3, - }, - { - name = "turretlaser", - x = 3400, - z = 2200, - facing = 3, - }, - { - name = "turretmissile", - x = 3584, - z = 1200, - facing = 3, - }, - { - name = "staticmex", - x = 3688, - z = 3960, - facing = 2, - }, - { - name = "staticmex", - x = 3912, - z = 3768, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "energywind", - x = 3784, - z = 3912, - facing = 2, - }, - { - name = "energywind", - x = 3864, - z = 3848, - facing = 2, - }, - { - name = "factoryspider", - x = 3600, - z = 3000, - facing = 3, - }, - { - name = "energywind", - x = 3880, - z = 3944, - facing = 3, - }, - { - name = "staticmex", - x = 3496, - z = 264, - facing = 1, - }, - { - name = "staticmex", - x = 3784, - z = 504, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "energysolar", - x = 3608, - z = 312, - facing = 1, - }, - { - name = "energysolar", - x = 3720, - z = 408, - facing = 1, - }, - { - name = "energysolar", - x = 3512, - z = 408, - facing = 1, - }, - { - name = "energysolar", - x = 3640, - z = 504, - facing = 1, - }, - { - name = "vehcon", - x = 3581, - z = 1058, - facing = 0, - }, - { - name = "vehraid", - x = 3000, - z = 1000, - facing = 0, - }, - { - name = "vehraid", - x = 3000, - z = 1100, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "vehraid", - x = 3000, - z = 1200, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "vehraid", - x = 3000, - z = 1300, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "energywind", - x = 3944, - z = 3880, - facing = 1, - }, - { - name = "energywind", - x = 3800, - z = 4008, - facing = 1, - }, - { - name = "factoryveh", - x = 3400, - z = 696, - facing = 3, - }, - { - name = "turretlaser", - x = 3264, - z = 400, - facing = 3, - }, - { - name = "turretlaser", - x = 3440, - z = 960, - facing = 3, - }, - { - name = "turretlaser", - x = 3760, - z = 3728, - facing = 3, - }, - { - name = "turretmissile", - x = 3232, - z = 128, - facing = 3, - }, - { - name = "turretmissile", - x = 3824, - z = 640, - facing = 3, - }, - { - name = "turretmissile", - x = 3248, - z = 3952, - facing = 3, - }, - { - name = "turretmissile", - x = 3312, - z = 2800, - facing = 3, - }, - { - name = "energysolar", - x = 4008, - z = 3992, - facing = 3, - }, - { - name = "turretheavylaser", - x = 2952, - z = 3112, - facing = 3, - }, - { - name = "turretheavylaser", - x = 3208, - z = 1416, - facing = 3, - }, - { - name = "turretaaclose", - x = 3832, - z = 3416, - facing = 3, - }, - { - name = "turretaalaser", - x = 3736, - z = 888, - facing = 3, - }, - { - name = "spiderassault", - x = 4071, - z = 3696, - facing = 1, - difficultyAtLeast = 2, - }, - { - name = "spiderassault", - x = 3971, - z = 3752, - facing = 1, - difficultyAtLeast = 3, - }, - { - name = "spiderassault", - x = 4078, - z = 3776, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "spiderskirm", - x = 4023, - z = 3682, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "spiderskirm", - x = 4036, - z = 3768, - facing = 1, - difficultyAtLeast = 4, - }, - { - name = "vehsupport", - x = 2953, - z = 733, - facing = 3, - }, - { - name = "vehsupport", - x = 3017, - z = 850, - facing = 3, - difficultyAtLeast = 2, - }, - { - name = "vehsupport", - x = 3041, - z = 936, - facing = 3, - difficultyAtLeast = 3, - }, - { - name = "vehcon", - x = 3624, - z = 1034, - facing = 0, - difficultyAtLeast = 3, - }, - } - }, - }, - initialWrecks = { - { - name = "factoryplane_dead", - x = 240, - z = 208, - facing = 0, - }, - { - name = "staticmex_dead", - x = 216, - z = 440, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1976, - z = 1544, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1736, - z = 2488, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2264, - z = 2568, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2216, - z = 3400, - facing = 0, - }, - { - name = "staticmex_dead", - x = 504, - z = 184, - facing = 0, - }, - { - name = "turretlaser_dead", - x = 896, - z = 176, - facing = 0, - }, - { - name = "turretlaser_dead", - x = 128, - z = 640, - facing = 0, - }, - { - name = "tankassault_dead", - x = 1341, - z = 2720, - facing = 0, - }, - { - name = "tankassault_dead", - x = 2700, - z = 1400, - facing = 1, - }, - { - name = "tankraid_dead", - x = 2800, - z = 2600, - facing = 3, - }, - { - name = "tankraid_dead", - x = 3730, - z = 1900, - facing = 3, - }, - { - name = "tankheavyraid_dead", - x = 3900, - z = 2120, - facing = 3, - }, - { - name = "amphtele_dead", - x = 1400, - z = 1900, - facing = 0, - }, - { - name = "tankassault_dead", - x = 1375, - z = 3113, - facing = 3, - }, - { - name = "striderdante_dead", - x = 3455, - z = 2113, - facing = 1, - }, - { - name = "staticmex_dead", - x = 2088, - z = 760, - facing = 0, - }, - { - name = "factorytank_dead", - x = 2192, - z = 1232, - facing = 0, - }, - { - name = "athena_dead", - x = 2035, - z = 3720, - facing = 2, - }, - { - name = "tankheavyraid_dead", - x = 2363, - z = 3705, - facing = 1, - }, - { - name = "tankheavyraid_dead", - x = 2671, - z = 2276, - facing = 3, - }, - { - name = "tankheavyraid_dead", - x = 2064, - z = 400, - facing = 2, - }, - { - name = "tankarty_dead", - x = 2436, - z = 1442, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 242, - z = 3691, - facing = 1, - }, - { - name = "cloakheavyraid_dead", - x = 213, - z = 3573, - facing = 1, - }, - { - name = "cloakheavyraid_dead", - x = 289, - z = 3464, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 200, - z = 3800, - facing = 1, - }, - { - name = "cloakheavyraid_dead", - x = 180, - z = 3900, - facing = 1, - }, - { - name = "cloakheavyraid_dead", - x = 90, - z = 4000, - facing = 2, - }, - { - name = "cloakassault_dead", - x = 1000, - z = 3800, - facing = 3, - }, - { - name = "cloakassault_dead", - x = 1074, - z = 3720, - facing = 3, - }, - { - name = "vehheavyarty_dead", - x = 1600, - z = 3480, - facing = 3, - }, - { - name = "cloakassault_dead", - x = 1224, - z = 3411, - facing = 3, - }, - { - name = "spiderskirm_dead", - x = 3000, - z = 2700, - facing = 3, - }, - { - name = "spiderskirm_dead", - x = 3340, - z = 2760, - facing = 3, - }, - { - name = "spiderskirm_dead", - x = 3450, - z = 2500, - facing = 3, - }, - { - name = "spiderskirm_dead", - x = 3800, - z = 2720, - facing = 3, - }, - { - name = "cloakassault_dead", - x = 2224, - z = 2976, - facing = 3, - }, - { - name = "cloakassault_dead", - x = 2357, - z = 877, - facing = 2, - }, - { - name = "shieldraid_dead", - x = 1764, - z = 2803, - facing = 1, - }, - { - name = "shieldraid_dead", - x = 1769, - z = 1491, - facing = 2, - }, - { - name = "shieldraid_dead", - x = 1823, - z = 1358, - facing = 1, - }, - { - name = "shieldraid_dead", - x = 1765, - z = 1238, - facing = 3, - }, - { - name = "shieldraid_dead", - x = 1771, - z = 1157, - facing = 2, - }, - { - name = "shieldraid_dead", - x = 1633, - z = 1076, - facing = 1, - }, - { - name = "shieldraid_dead", - x = 2010, - z = 2907, - facing = 0, - }, - { - name = "striderantiheavy_dead", - x = 1308, - z = 78, - facing = 1, - }, - { - name = "jumpskirm_dead", - x = 2310, - z = 1242, - facing = 3, - }, - { - name = "jumpskirm_dead", - x = 2266, - z = 3665, - facing = 0, - }, - { - name = "jumpskirm_dead", - x = 2385, - z = 3892, - facing = 3, - }, - { - name = "hoverassault_dead", - x = 2489, - z = 215, - facing = 3, - }, - { - name = "hoverassault_dead", - x = 2589, - z = 172, - facing = 3, - }, - { - name = "hoverassault_dead", - x = 2545, - z = 419, - facing = 3, - }, - { - name = "tankheavyarty_dead", - x = 2500, - z = 1660, - facing = 2, - }, - }, - defeatConditionConfig = { - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryspider", - "factoryveh", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - [1] = { - description = "Destroy the enemy Factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Have 100 Puppies by 3:00 - satisfyByTime = 4*60, - countRemovedUnits = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 105, - unitTypes = { - "jumpscout", - }, - image = planetUtilities.ICON_DIR .. "jumpscout.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 100 Puppies before 4:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Make the enemy lose one factory by 6:00 - onlyCountRemovedUnits = true, - satisfyByTime = 360, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "factoryspider", - "factoryveh" - }, - image = planetUtilities.ICON_DIR .. "factoryveh.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy an enemy Factory before 6:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Kill enemy commander - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "skin_recon_red.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy Commander", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "jumpscout", - "jumpblackhole", - }, - modules = { - "commweapon_flamethrower", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet53.lua b/campaign/dev/planets/planet53.lua deleted file mode 100644 index a1e31d92e..000000000 --- a/campaign/dev/planets/planet53.lua +++ /dev/null @@ -1,3597 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/desert03.png" - - local planetData = { - name = "Nullkodkas", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.495, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.71, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Minimal", - radius = "8580 km", - primary = "Oeva Pristia", - primaryType = "K2V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24510", - text = [[Your allies are struggling against cloaked skirmishers and artillery attacking them at range. Use Firewalker napalm artillery and jumping Jacks to find and destroy the hidden enemies.]] - }, - tips = { - { - image = "unitpics/jumparty.png", - text = [[Firewalkers are essentially cannons on legs, firing napalm over a large area. Firewalkers do not inflict much damage against single targets, but they are very effective against large numbers of weak units and turrets.]] - }, - { - image = "unitpics/cloakjammer.png", - text = [[The enemy is using Iris area-cloaker bots to hide their armies. The flames left behind after a Firewalker volley are particularly useful for decloaking enemy units.]] - }, - { - image = "unitpics/jumpassault.png", - text = [[Use Jacks to jump up the cliffs and destroy enemy defences with their melee attack.]] - }, - }, - gameConfig = { - mapName = "Tuckedup_16x12_003", - playerConfig = { - startX = 770, - startZ = 3600, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryjump", - "jumpcon", - "jumpraid", - "jumpassault", - "jumparty", - }, - startUnits = { - { - name = "staticmex", - x = 360, - z = 3640, - facing = 0, - }, - { - name = "staticmex", - x = 312, - z = 3848, - facing = 0, - }, - { - name = "staticmex", - x = 520, - z = 3816, - facing = 0, - }, - { - name = "energysolar", - x = 408, - z = 3768, - facing = 3, - }, - { - name = "energyfusion", - x = 144, - z = 3816, - facing = 3, - }, - { - name = "factoryjump", - x = 728, - z = 3848, - facing = 1, - }, - { - name = "staticcon", - x = 616, - z = 3816, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {616, 3816}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {641, 3791}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 616, - z = 3880, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {616, 3816}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {641, 3791}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 616, - z = 3950, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {616, 3816}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {641, 3791}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 616, - z = 4030, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {616, 3816}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {641, 3791}, options = {"shift"}}, - }, - }, - { - name = "jumparty", - x = 1144, - z = 3535, - facing = 1, - }, - { - name = "jumparty", - x = 1234, - z = 3831, - facing = 1, - }, - { - name = "jumparty", - x = 1180, - z = 3682, - facing = 1, - }, - { - name = "jumpassault", - x = 983, - z = 3694, - facing = 1, - }, - { - name = "jumpassault", - x = 962, - z = 3625, - facing = 1, - }, - { - name = "jumpcon", - x = 1029, - z = 3835, - facing = 1, - }, - { - name = "jumpcon", - x = 1008, - z = 3766, - facing = 1, - }, - } - }, - aiConfig = { - { - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Basilis", - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "staticcon", - "staticradar", - "turretlaser", - "turretmissile", - "planecon", - "planefighter", - "bomberprec", - "bomberriot", - "bomberdisarm", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldassault", - "shieldarty", - "shieldaa", - "tankcon", - "tankheavyraid", - "tankriot", - "tankassault", - "tankaa", - "amphcon", - "amphraid", - "amphfloater", - "amphriot", - "amphaa", - }, - commander = false, - startUnits = { - { - name = "turretaalaser", - x = 1992, - z = 3800, - facing = 1, - }, - { - name = "turretaalaser", - x = 1720, - z = 5080, - facing = 1, - }, - { - name = "staticmex", - x = 408, - z = 5224, - facing = 1, - }, - { - name = "staticmex", - x = 568, - z = 5304, - facing = 1, - }, - { - name = "staticmex", - x = 552, - z = 2040, - facing = 0, - }, - { - name = "staticmex", - x = 392, - z = 2152, - facing = 0, - }, - { - name = "staticmex", - x = 552, - z = 2248, - facing = 0, - }, - { - name = "staticmex", - x = 1592, - z = 5816, - facing = 1, - }, - { - name = "staticmex", - x = 1496, - z = 5592, - facing = 1, - }, - { - name = "staticmex", - x = 1576, - z = 2536, - facing = 0, - }, - { - name = "staticmex", - x = 1672, - z = 2680, - facing = 0, - }, - { - name = "staticmex", - x = 1432, - z = 3848, - facing = 1, - }, - { - name = "staticmex", - x = 1928, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 2040, - z = 616, - facing = 0, - }, - { - name = "staticmex", - x = 1896, - z = 536, - facing = 0, - }, - { - name = "staticmex", - x = 584, - z = 648, - facing = 0, - }, - { - name = "staticmex", - x = 424, - z = 776, - facing = 0, - }, - { - name = "staticmex", - x = 568, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 1576, - z = 3944, - facing = 3, - }, - { - name = "energysolar", - x = 1480, - z = 3944, - facing = 3, - }, - { - name = "energysolar", - x = 536, - z = 760, - facing = 3, - }, - { - name = "energysolar", - x = 1960, - z = 648, - facing = 3, - }, - { - name = "staticmex", - x = 536, - z = 5096, - facing = 3, - }, - { - name = "energysolar", - x = 520, - z = 5208, - facing = 3, - }, - { - name = "energysolar", - x = 1576, - z = 2664, - facing = 3, - }, - { - name = "staticmex", - x = 1368, - z = 5784, - facing = 3, - }, - { - name = "energysolar", - x = 1480, - z = 5720, - facing = 3, - }, - { - name = "energysolar", - x = 488, - z = 2152, - facing = 3, - }, - { - name = "energypylon", - x = 1064, - z = 5320, - facing = 3, - }, - { - name = "energypylon", - x = 1096, - z = 4456, - facing = 3, - }, - { - name = "energysolar", - x = 1320, - z = 3960, - facing = 3, - }, - { - name = "energypylon", - x = 888, - z = 3528, - facing = 3, - }, - { - name = "energypylon", - x = 1400, - z = 792, - facing = 3, - }, - { - name = "energypylon", - x = 840, - z = 1320, - facing = 3, - }, - { - name = "energypylon", - x = 1032, - z = 2280, - facing = 3, - }, - { - name = "energypylon", - x = 1432, - z = 2984, - facing = 3, - }, - { - name = "energyfusion", - x = 256, - z = 5320, - facing = 3, - }, - { - name = "energyfusion", - x = 208, - z = 2136, - facing = 3, - }, - { - name = "energyfusion", - x = 240, - z = 776, - facing = 3, - }, - { - name = "factorytank", - x = 736, - z = 976, - facing = 1, - }, - { - name = "staticcon", - x = 616, - z = 1032, - facing = 1, - }, - { - name = "factoryplane", - x = 608, - z = 1888, - facing = 1, - }, - { - name = "staticcon", - x = 488, - z = 1848, - facing = 1, - }, - { - name = "staticrearm", - x = 376, - z = 1976, - facing = 3, - }, - { - name = "factoryamph", - x = 712, - z = 5000, - facing = 1, - }, - { - name = "staticcon", - x = 600, - z = 4968, - facing = 1, - }, - { - name = "factoryshield", - x = 680, - z = 2896, - facing = 1, - }, - { - name = "staticcon", - x = 536, - z = 2888, - facing = 1, - }, - { - name = "turretlaser", - x = 672, - z = 2784, - facing = 1, - }, - { - name = "turretlaser", - x = 672, - z = 3008, - facing = 1, - }, - { - name = "turretlaser", - x = 192, - z = 1024, - facing = 1, - }, - { - name = "turretlaser", - x = 512, - z = 416, - facing = 1, - }, - { - name = "turretlaser", - x = 784, - z = 1136, - facing = 1, - }, - { - name = "turretlaser", - x = 688, - z = 4832, - facing = 1, - }, - { - name = "turretlaser", - x = 1936, - z = 368, - facing = 1, - }, - { - name = "turretlaser", - x = 112, - z = 5104, - facing = 1, - }, - { - name = "turretlaser", - x = 1968, - z = 928, - facing = 1, - }, - { - name = "turretlaser", - x = 608, - z = 5520, - facing = 1, - }, - { - name = "turretlaser", - x = 1488, - z = 5952, - facing = 1, - }, - { - name = "turretlaser", - x = 1536, - z = 5328, - facing = 1, - }, - { - name = "staticheavyradar", - x = 1648, - z = 1056, - facing = 1, - }, - { - name = "turretlaser", - x = 1456, - z = 4080, - facing = 1, - }, - { - name = "turretlaser", - x = 1472, - z = 3648, - facing = 1, - }, - { - name = "turretlaser", - x = 1664, - z = 2912, - facing = 1, - }, - { - name = "staticradar", - x = 2304, - z = 3728, - facing = 1, - }, - { - name = "turretlaser", - x = 1632, - z = 2352, - facing = 1, - }, - { - name = "staticradar", - x = 1936, - z = 5232, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2008, - z = 5272, - facing = 1, - }, - { - name = "turretlaser", - x = 2128, - z = 4464, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2408, - z = 3752, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2200, - z = 2504, - facing = 1, - }, - { - name = "turretriot", - x = 2728, - z = 3800, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2712, - z = 344, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2696, - z = 1064, - facing = 1, - }, - { - name = "turretriot", - x = 2872, - z = 1000, - facing = 1, - }, - { - name = "turretriot", - x = 2888, - z = 408, - facing = 1, - }, - { - name = "turretaafar", - x = 1120, - z = 4816, - facing = 1, - }, - { - name = "turretaafar", - x = 1136, - z = 2912, - facing = 1, - }, - { - name = "turretaafar", - x = 1120, - z = 1344, - facing = 1, - }, - { - name = "turretaalaser", - x = 2104, - z = 1176, - facing = 1, - }, - { - name = "turretaalaser", - x = 1992, - z = 2520, - facing = 1, - }, - { - name = "turretlaser", - x = 928, - z = 784, - facing = 1, - }, - { - name = "shieldcon", - x = 4112, - z = 426, - facing = 1, - }, - { - name = "tankcon", - x = 3409, - z = 4367, - facing = 1, - }, - { - name = "bomberprec", - x = 1822, - z = 2210, - facing = 3, - }, - { - name = "amphfloater", - x = 3382, - z = 4824, - facing = 1, - }, - { - name = "shieldassault", - x = 4155, - z = 3861, - facing = 1, - }, - { - name = "tankcon", - x = 3691, - z = 4216, - facing = 0, - }, - { - name = "shieldassault", - x = 4125, - z = 3836, - facing = 1, - }, - { - name = "turretmissile", - x = 2912, - z = 3312, - facing = 1, - }, - { - name = "amphcon", - x = 2560, - z = 4856, - facing = 0, - }, - { - name = "turretlaser", - x = 480, - z = 976, - facing = 1, - }, - { - name = "tankassault", - x = 5031, - z = 157, - facing = 3, - }, - { - name = "shieldassault", - x = 4051, - z = 3802, - facing = 1, - }, - { - name = "planecon", - x = 4002, - z = 3849, - facing = 1, - }, - { - name = "shieldcon", - x = 3091, - z = 197, - facing = 3, - }, - { - name = "staticcon", - x = 552, - z = 2840, - facing = 1, - }, - { - name = "turretlaser", - x = 432, - z = 5104, - facing = 1, - }, - { - name = "bomberdisarm", - x = 1027, - z = 2827, - facing = 0, - }, - { - name = "amphcon", - x = 3309, - z = 4889, - facing = 0, - }, - { - name = "turretlaser", - x = 416, - z = 2240, - facing = 1, - }, - { - name = "shieldassault", - x = 4179, - z = 3896, - facing = 2, - }, - { - name = "staticcon", - x = 568, - z = 2936, - facing = 1, - }, - { - name = "planecon", - x = 1355, - z = 3623, - facing = 3, - }, - { - name = "turretlaser", - x = 1408, - z = 5760, - facing = 2, - }, - { - name = "shieldcon", - x = 1457, - z = 1874, - facing = 2, - }, - { - name = "tankcon", - x = 4417, - z = 298, - facing = 1, - }, - { - name = "turretlaser", - x = 368, - z = 3840, - facing = 1, - }, - { - name = "staticradar", - x = 496, - z = 3584, - facing = 1, - }, - { - name = "shieldassault", - x = 4194, - z = 3844, - facing = 0, - }, - { - name = "turretlaser", - x = 480, - z = 768, - facing = 1, - }, - { - name = "bomberdisarm", - x = 869, - z = 2768, - facing = 0, - }, - { - name = "amphfloater", - x = 2526, - z = 3862, - facing = 0, - }, - { - name = "shieldassault", - x = 4484, - z = 4160, - facing = 0, - }, - { - name = "turretlaser", - x = 1632, - z = 2672, - facing = 1, - }, - { - name = "staticmex", - x = 3112, - z = 3160, - facing = 0, - }, - { - name = "tankassault", - x = 5108, - z = 59, - facing = 1, - patrolRoute = { - {5135, 89}, - {5072, 92}, - }, - }, - { - name = "turretlaser", - x = 1584, - z = 3824, - facing = 1, - }, - { - name = "staticradar", - x = 688, - z = 784, - facing = 1, - }, - { - name = "turretmissile", - x = 3040, - z = 2384, - facing = 1, - }, - { - name = "shieldraid", - x = 3423, - z = 1725, - facing = 0, - }, - { - name = "staticmex", - x = 2856, - z = 4984, - facing = 0, - }, - { - name = "shieldcon", - x = 2957, - z = 2311, - facing = 2, - }, - { - name = "turretlaser", - x = 3120, - z = 3296, - facing = 1, - }, - { - name = "shieldcon", - x = 2705, - z = 4113, - facing = 1, - }, - { - name = "amphaa", - x = 3803, - z = 3753, - facing = 0, - }, - { - name = "turretlaser", - x = 3040, - z = 2176, - facing = 1, - }, - { - name = "turretlaser", - x = 2736, - z = 5056, - facing = 2, - }, - { - name = "staticcon", - x = 520, - z = 2936, - facing = 1, - }, - { - name = "shieldarty", - x = 4119, - z = 3796, - facing = 0, - }, - { - name = "amphaa", - x = 3844, - z = 3765, - facing = 1, - }, - { - name = "shieldcon", - x = 3991, - z = 3106, - facing = 2, - }, - { - name = "shieldassault", - x = 1590, - z = 2006, - facing = 2, - }, - { - name = "turretmissile", - x = 2752, - z = 4640, - facing = 2, - }, - { - name = "turretmissile", - x = 3408, - z = 2128, - facing = 1, - }, - { - name = "turretlaser", - x = 1872, - z = 736, - facing = 0, - }, - { - name = "tankassault", - x = 3216, - z = 1653, - facing = 3, - }, - { - name = "amphraid", - x = 3114, - z = 3372, - facing = 1, - }, - { - name = "shieldcon", - x = 2985, - z = 2286, - facing = 1, - }, - { - name = "shieldcon", - x = 2418, - z = 6080, - facing = 1, - }, - { - name = "amphraid", - x = 2914, - z = 2669, - facing = 1, - }, - { - name = "staticcon", - x = 488, - z = 2888, - facing = 1, - }, - { - name = "staticmex", - x = 3112, - z = 2296, - facing = 0, - }, - { - name = "amphfloater", - x = 3438, - z = 4879, - facing = 2, - }, - { - name = "turretlaser", - x = 3984, - z = 2704, - facing = 0, - }, - { - name = "staticradar", - x = 2848, - z = 2448, - facing = 1, - }, - { - name = "amphfloater", - x = 938, - z = 5512, - facing = 1, - }, - { - name = "turretlaser", - x = 3136, - z = 3504, - facing = 1, - }, - { - name = "shieldriot", - x = 4129, - z = 3894, - facing = 1, - }, - { - name = "shieldcon", - x = 3097, - z = 172, - facing = 3, - }, - { - name = "amphraid", - x = 3079, - z = 3387, - facing = 0, - }, - { - name = "shieldcon", - x = 3718, - z = 4646, - facing = 1, - }, - { - name = "turretmissile", - x = 2784, - z = 128, - facing = 0, - }, - { - name = "amphcon", - x = 3418, - z = 4042, - facing = 1, - }, - { - name = "turretlaser", - x = 3232, - z = 2256, - facing = 1, - }, - { - name = "shieldassault", - x = 4072, - z = 3856, - facing = 1, - }, - { - name = "staticcon", - x = 472, - z = 2936, - facing = 1, - }, - { - name = "turretmissile", - x = 2928, - z = 3520, - facing = 1, - }, - { - name = "turretmissile", - x = 3232, - z = 2464, - facing = 1, - }, - { - name = "shieldassault", - x = 3852, - z = 3875, - facing = 1, - }, - { - name = "staticmex", - x = 3000, - z = 216, - facing = 0, - terraformHeight = 390, - }, - { - name = "tankassault", - x = 2101, - z = 1474, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1652, 2590}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1589, 2578}, options = {"shift"}}, - }, - }, - { - name = "shieldraid", - x = 3774, - z = 892, - facing = 2, - }, - { - name = "shieldaa", - x = 3293, - z = 1193, - facing = 3, - }, - { - name = "amphraid", - x = 4431, - z = 4239, - facing = 0, - }, - { - name = "turretlaser", - x = 2736, - z = 4848, - facing = 2, - }, - { - name = "turretlaser", - x = 3312, - z = 3376, - facing = 1, - }, - { - name = "shieldassault", - x = 3871, - z = 3911, - facing = 2, - }, - { - name = "amphfloater", - x = 3398, - z = 4897, - facing = 1, - }, - { - name = "staticradar", - x = 3168, - z = 272, - facing = 0, - }, - { - name = "amphaa", - x = 3310, - z = 4799, - facing = 1, - }, - { - name = "turretmissile", - x = 2928, - z = 4768, - facing = 2, - }, - { - name = "shieldassault", - x = 4090, - z = 3911, - facing = 1, - }, - { - name = "tankassault", - x = 2085, - z = 992, - facing = 1, - }, - { - name = "shieldaa", - x = 1133, - z = 2970, - facing = 3, - }, - { - name = "shieldraid", - x = 3309, - z = 2095, - facing = 0, - }, - { - name = "turretmissile", - x = 3216, - z = 2048, - facing = 1, - }, - { - name = "staticcon", - x = 3016, - z = 3512, - facing = 1, - }, - { - name = "amphfloater", - x = 2655, - z = 5087, - facing = 2, - }, - { - name = "shieldarty", - x = 3244, - z = 1686, - facing = 2, - }, - { - name = "staticmex", - x = 3672, - z = 296, - facing = 0, - }, - { - name = "turretmissile", - x = 3248, - z = 448, - facing = 0, - }, - { - name = "staticcon", - x = 2616, - z = 4920, - facing = 2, - }, - { - name = "shieldassault", - x = 1591, - z = 2344, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1652, 2590}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1652, 2654}, options = {"shift"}}, - }, - }, - { - name = "amphraid", - x = 2951, - z = 3027, - facing = 1, - }, - { - name = "turretlaser", - x = 3424, - z = 2336, - facing = 1, - }, - { - name = "turretlaser", - x = 3376, - z = 288, - facing = 0, - }, - { - name = "staticcon", - x = 3016, - z = 3400, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3016, 3400}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3288, 3672}, options = {"shift"}}, - }, - }, - { - name = "turretmissile", - x = 3504, - z = 128, - facing = 0, - }, - { - name = "shieldriot", - x = 1602, - z = 2395, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1652, 2590}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1597, 2622}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 520, - z = 2984, - facing = 1, - }, - { - name = "amphraid", - x = 1000, - z = 4721, - facing = 2, - }, - { - name = "staticmex", - x = 3288, - z = 3672, - facing = 0, - }, - { - name = "shieldraid", - x = 2499, - z = 2801, - facing = 1, - }, - { - name = "amphcon", - x = 547, - z = 4551, - facing = 2, - }, - { - name = "staticcon", - x = 2872, - z = 2344, - facing = 1, - }, - { - name = "shieldassault", - x = 1465, - z = 2047, - facing = 2, - }, - { - name = "turretmissile", - x = 3456, - z = 496, - facing = 0, - }, - { - name = "tankassault", - x = 760, - z = 976, - facing = 1, - buildProgress = 0.43799999, - }, - { - name = "shieldassault", - x = 1309, - z = 2258, - facing = 2, - }, - { - name = "shieldcon", - x = 611, - z = 2832, - facing = 3, - }, - { - name = "shieldcon", - x = 1072, - z = 3222, - facing = 1, - }, - { - name = "amphraid", - x = 920, - z = 4829, - facing = 2, - }, - { - name = "staticcon", - x = 504, - z = 2840, - facing = 1, - buildProgress = 0.6803, - }, - { - name = "shieldassault", - x = 692, - z = 2896, - facing = 1, - buildProgress = 0.82959998, - }, - { - name = "turretmissile", - x = 4528, - z = 208, - facing = 0, - buildProgress = 0.49739999, - }, - { - name = "amphraid", - x = 748, - z = 5000, - facing = 1, - }, - { - name = "turretlaser", - x = 3008, - z = 128, - facing = 0, - buildProgress = 0.39250001, - }, - { - name = "staticmex", - x = 4040, - z = 3000, - facing = 0, - buildProgress = 0.1022, - }, - { - name = "turretlaser", - x = 2544, - z = 4960, - facing = 2, - buildProgress = 0.0194, - }, - } - }, - { - startX = 7800, - startZ = 3400, - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Ciphers", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "staticcon", - "staticradar", - "turretlaser", - "turretmissile", - "planecon", - "planefighter", - "bomberprec", - "bomberriot", - "bomberdisarm", - "shieldcon", - "shieldraid", - "shieldriot", - "shieldassault", - "shieldskirm", - "shieldarty", - "shieldaa", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "cloakcon", - "cloakraid", - "cloakskirm", - "cloakarty", - "cloakjammer", - "spidercon", - "spiderscout", - "spiderskirm", - "spideremp", - "spiderriot", - }, - difficultyDependantUnlocks = { - [3] = {"hoverassault"}, - [4] = {"hoverassault"} - }, - commanderLevel = 5, - commander = { - name = "Lizzie", - chassis = "guardian", - modules = { - "commweapon_napalmgrenade", - "commweapon_rocketlauncher", - "weaponmod_napalm_warhead", - "module_high_power_servos", - "module_high_power_servos", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_autorepair", - "module_adv_nano", - "module_adv_nano", - } - }, - midgameUnits = { - { - name = "cloakjammer", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shieldskirm", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "cloakjammer", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spiderskirm", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spiderskirm", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spiderskirm", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spiderskirm", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spiderskirm", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spidercrabe", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - difficultyAtLeast = 3, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spidercrabe", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - difficultyAtLeast = 4, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "spiderantiheavy", - x = 6100, - z = 4200, - facing = 2, - spawnRadius = 150, - difficultyAtLeast = 4, - delay = 4.5*30*60, - orbitalDrop = true, - }, - { - name = "cloakjammer", - x = 5750, - z = 2000, - facing = 2, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "hoverarty", - x = 7700, - z = 1200, - facing = 2, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "hoverarty", - x = 7700, - z = 1200, - facing = 2, - spawnRadius = 150, - difficultyAtLeast = 3, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "hoverskirm", - x = 7700, - z = 1200, - facing = 2, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "hoverskirm", - x = 7700, - z = 1200, - facing = 2, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "hoverskirm", - x = 7700, - z = 1200, - facing = 2, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "hoverskirm", - x = 7700, - z = 1200, - facing = 2, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "pw_warpjammer", - x = 6500, - z = 1700, - facing = 0, - mapMarker = { - text = "Warp Jammer", - color = "red_small" - }, - }, - { - name = "pw_warpjammer", - x = 6900, - z = 4100, - facing = 0, - mapMarker = { - text = "Warp Jammer", - color = "red_small" - }, - }, - { - name = "staticantinuke", - x = 6950, - z = 2850, - facing = 2, - }, - { - name = "turretriot", - x = 6296, - z = 1688, - facing = 3, - }, - { - name = "turretriot", - x = 6696, - z = 1688, - facing = 1, - }, - { - name = "turretriot", - x = 6888, - z = 4296, - facing = 3, - }, - { - name = "turretriot", - x = 6888, - z = 3896, - facing = 3, - }, - { - name = "turretemp", - x = 5472, - z = 3952, - facing = 3, - }, - { - name = "staticheavyradar", - x = 4848, - z = 2848, - facing = 3, - }, - { - name = "staticmex", - x = 6328, - z = 2424, - facing = 0, - }, - { - name = "staticmex", - x = 6408, - z = 2264, - facing = 0, - }, - { - name = "staticmex", - x = 7656, - z = 5096, - facing = 0, - }, - { - name = "staticmex", - x = 7784, - z = 5208, - facing = 0, - }, - { - name = "staticmex", - x = 7624, - z = 5272, - facing = 0, - }, - { - name = "staticmex", - x = 7496, - z = 1880, - facing = 0, - }, - { - name = "staticmex", - x = 7656, - z = 1880, - facing = 0, - }, - { - name = "staticmex", - x = 7560, - z = 2040, - facing = 0, - }, - { - name = "staticmex", - x = 7000, - z = 5608, - facing = 0, - }, - { - name = "staticmex", - x = 6888, - z = 5768, - facing = 0, - }, - { - name = "staticmex", - x = 7080, - z = 5816, - facing = 0, - }, - { - name = "staticmex", - x = 7464, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 7592, - z = 680, - facing = 0, - }, - { - name = "staticmex", - x = 7400, - z = 632, - facing = 0, - }, - { - name = "staticmex", - x = 6632, - z = 4152, - facing = 0, - }, - { - name = "staticmex", - x = 6440, - z = 4120, - facing = 0, - }, - { - name = "staticmex", - x = 6360, - z = 600, - facing = 0, - }, - { - name = "staticmex", - x = 6216, - z = 472, - facing = 0, - }, - { - name = "staticmex", - x = 6184, - z = 680, - facing = 0, - }, - { - name = "staticmex", - x = 7496, - z = 3816, - facing = 0, - }, - { - name = "staticmex", - x = 7544, - z = 3960, - facing = 0, - }, - { - name = "staticmex", - x = 7656, - z = 3864, - facing = 0, - }, - { - name = "energysolar", - x = 6264, - z = 600, - facing = 1, - }, - { - name = "energysolar", - x = 7560, - z = 3880, - facing = 1, - }, - { - name = "energysolar", - x = 7480, - z = 712, - facing = 1, - }, - { - name = "energysolar", - x = 6520, - z = 4168, - facing = 1, - }, - { - name = "energysolar", - x = 7576, - z = 1944, - facing = 1, - }, - { - name = "energysolar", - x = 7016, - z = 5720, - facing = 1, - }, - { - name = "factorycloak", - x = 7424, - z = 3624, - facing = 3, - }, - { - name = "energysolar", - x = 6392, - z = 2376, - facing = 1, - }, - { - name = "energysolar", - x = 7688, - z = 5192, - facing = 1, - }, - { - name = "staticcon", - x = 7576, - z = 3576, - facing = 3, - }, - { - name = "staticcon", - x = 7576, - z = 3656, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7576, 3656}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7414, 3624}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 7208, - z = 5272, - facing = 3, - }, - { - name = "energypylon", - x = 7144, - z = 4296, - facing = 3, - }, - { - name = "energypylon", - x = 6872, - z = 744, - facing = 3, - }, - { - name = "energypylon", - x = 7144, - z = 1672, - facing = 3, - }, - { - name = "energypylon", - x = 7048, - z = 3480, - facing = 3, - }, - { - name = "energypylon", - x = 6888, - z = 2568, - facing = 3, - }, - { - name = "energyfusion", - x = 7840, - z = 1880, - facing = 3, - }, - { - name = "energyfusion", - x = 7968, - z = 5224, - facing = 3, - }, - { - name = "energyfusion", - x = 7776, - z = 632, - facing = 3, - }, - { - name = "energyfusion", - x = 7840, - z = 3896, - facing = 3, - }, - { - name = "factoryhover", - x = 7232, - z = 912, - facing = 3, - }, - { - name = "staticcon", - x = 7352, - z = 952, - facing = 3, - }, - { - name = "factoryplane", - x = 7456, - z = 1680, - facing = 3, - }, - { - name = "staticcon", - x = 7576, - z = 1736, - facing = 3, - }, - { - name = "staticrearm", - x = 7624, - z = 1576, - facing = 3, - }, - { - name = "factoryspider", - x = 7464, - z = 5016, - facing = 3, - }, - { - name = "staticcon", - x = 7576, - z = 4984, - facing = 3, - }, - { - name = "staticcon", - x = 7688, - z = 2840, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7532, 2848}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7688, 2840}, options = {"shift"}}, - }, - }, - { - name = "factoryshield", - x = 7544, - z = 2848, - facing = 3, - }, - { - name = "turretlaser", - x = 6848, - z = 6000, - facing = 3, - }, - { - name = "turretlaser", - x = 7008, - z = 5328, - facing = 3, - }, - { - name = "turretlaser", - x = 7760, - z = 5552, - facing = 3, - }, - { - name = "turretlaser", - x = 7232, - z = 1104, - facing = 3, - }, - { - name = "turretlaser", - x = 7776, - z = 848, - facing = 3, - }, - { - name = "turretlaser", - x = 8048, - z = 4880, - facing = 3, - }, - { - name = "turretlaser", - x = 7296, - z = 432, - facing = 3, - }, - { - name = "turretlaser", - x = 7408, - z = 4688, - facing = 3, - }, - { - name = "turretlaser", - x = 6272, - z = 224, - facing = 3, - }, - { - name = "turretlaser", - x = 6512, - z = 4432, - facing = 3, - }, - { - name = "turretlaser", - x = 6592, - z = 3936, - facing = 3, - }, - { - name = "turretlaser", - x = 6192, - z = 864, - facing = 3, - }, - { - name = "turretemp", - x = 5616, - z = 192, - facing = 3, - }, - { - name = "turretlaser", - x = 7536, - z = 4128, - facing = 3, - }, - { - name = "turretemp", - x = 5600, - z = 768, - facing = 3, - }, - { - name = "turretlaser", - x = 8032, - z = 3728, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5720, - z = 824, - facing = 3, - }, - { - name = "turretlaser", - x = 7504, - z = 3424, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5736, - z = 152, - facing = 3, - }, - { - name = "turretemp", - x = 5616, - z = 496, - facing = 3, - }, - { - name = "turretlaser", - x = 7824, - z = 2896, - facing = 3, - }, - { - name = "turretlaser", - x = 7552, - z = 2608, - facing = 3, - }, - { - name = "turretlaser", - x = 7392, - z = 2128, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4792, - z = 2056, - facing = 3, - }, - { - name = "turretlaser", - x = 8080, - z = 1984, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4872, - z = 2952, - facing = 3, - }, - { - name = "turretriot", - x = 5192, - z = 2440, - facing = 3, - }, - { - name = "turretaafar", - x = 7056, - z = 3088, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5688, - z = 4200, - facing = 3, - }, - { - name = "turretaafar", - x = 6960, - z = 5280, - facing = 3, - }, - { - name = "turretaalaser", - x = 6440, - z = 4776, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6648, - z = 5544, - facing = 3, - }, - { - name = "turretaalaser", - x = 6408, - z = 3640, - facing = 3, - }, - { - name = "turretaalaser", - x = 6248, - z = 2184, - facing = 3, - }, - { - name = "turretaalaser", - x = 6328, - z = 872, - facing = 3, - }, - { - name = "turretemp", - x = 5488, - z = 4368, - facing = 3, - }, - { - name = "energysolar", - x = 7480, - z = 3880, - facing = 3, - }, - { - name = "turretmissile", - x = 4960, - z = 3664, - facing = 3, - }, - { - name = "turretlaser", - x = 6432, - z = 4080, - facing = 3, - }, - { - name = "shieldarty", - x = 5033, - z = 962, - facing = 2, - }, - { - name = "shieldarty", - x = 5049, - z = 943, - facing = 0, - }, - { - name = "cloakcon", - x = 4650, - z = 5216, - facing = 0, - }, - { - name = "shieldarty", - x = 5018, - z = 885, - facing = 1, - }, - { - name = "energysolar", - x = 7720, - z = 3864, - facing = 3, - }, - { - name = "cloakcon", - x = 4772, - z = 3964, - facing = 2, - }, - { - name = "spidercon", - x = 4125, - z = 4894, - facing = 1, - }, - { - name = "cloakjammer", - x = 5274, - z = 1074, - facing = 3, - }, - { - name = "energysolar", - x = 7640, - z = 3928, - facing = 3, - }, - { - name = "turretlaser", - x = 6464, - z = 2128, - facing = 3, - }, - { - name = "turretlaser", - x = 7584, - z = 640, - facing = 3, - }, - { - name = "turretmissile", - x = 4464, - z = 5488, - facing = 2, - }, - { - name = "shieldcon", - x = 6014, - z = 3530, - facing = 1, - }, - { - name = "turretlaser", - x = 7360, - z = 3856, - facing = 3, - }, - { - name = "shieldskirm", - x = 5710, - z = 2629, - facing = 2, - patrolRoute = { - {5703, 2649}, - {5682, 2585}, - }, - }, - { - name = "planecon", - x = 3739, - z = 5595, - facing = 0, - }, - { - name = "spidercon", - x = 6724, - z = 4139, - facing = 2, - }, - { - name = "shieldcon", - x = 4528, - z = 4420, - facing = 0, - }, - { - name = "cloakcon", - x = 5041, - z = 4189, - facing = 1, - }, - { - name = "turretlaser", - x = 7616, - z = 3872, - facing = 3, - }, - { - name = "staticradar", - x = 7424, - z = 864, - facing = 3, - }, - { - name = "turretlaser", - x = 7040, - z = 5616, - facing = 3, - }, - { - name = "turretlaser", - x = 7488, - z = 1936, - facing = 3, - }, - { - name = "staticradar", - x = 6784, - z = 3968, - facing = 3, - }, - { - name = "bomberdisarm", - x = 6918, - z = 2698, - facing = 0, - }, - { - name = "cloakskirm", - x = 4532, - z = 1948, - facing = 3, - }, - { - name = "cloakskirm", - x = 5749, - z = 2575, - facing = 2, - patrolRoute = { - {5750, 2582}, - {5686, 2587}, - }, - }, - { - name = "staticradar", - x = 7184, - z = 5488, - facing = 3, - }, - { - name = "spidercon", - x = 3787, - z = 5367, - facing = 0, - }, - { - name = "turretlaser", - x = 6128, - z = 656, - facing = 0, - }, - { - name = "energysingu", - x = 8000, - z = 2360, - facing = 0, - terraformHeight = 30, - }, - { - name = "turretmissile", - x = 4320, - z = 5328, - facing = 2, - }, - { - name = "turretlaser", - x = 7296, - z = 3392, - facing = 3, - }, - { - name = "turretlaser", - x = 6288, - z = 2384, - facing = 3, - }, - { - name = "staticradar", - x = 6496, - z = 2544, - facing = 3, - }, - { - name = "turretlaser", - x = 4816, - z = 3520, - facing = 3, - }, - { - name = "turretlaser", - x = 3840, - z = 4848, - facing = 2, - }, - { - name = "planecon", - x = 7394, - z = 3013, - facing = 1, - }, - { - name = "turretaalaser", - x = 4824, - z = 2392, - facing = 0, - }, - { - name = "shieldaa", - x = 2415, - z = 5598, - facing = 3, - }, - { - name = "turretlaser", - x = 7744, - z = 5072, - facing = 3, - }, - { - name = "spiderskirm", - x = 3255, - z = 5799, - facing = 3, - }, - { - name = "shieldcon", - x = 5125, - z = 1981, - facing = 3, - }, - { - name = "turretmissile", - x = 4512, - z = 5072, - facing = 2, - }, - { - name = "turretmissile", - x = 6144, - z = 2544, - facing = 3, - }, - { - name = "spideremp", - x = 5454, - z = 4120, - facing = 3, - }, - { - name = "cloakraid", - x = 6058, - z = 2660, - facing = 1, - }, - { - name = "staticmex", - x = 4888, - z = 3512, - facing = 0, - }, - { - name = "staticmex", - x = 4648, - z = 5576, - facing = 0, - }, - { - name = "staticmex", - x = 5496, - z = 5672, - facing = 0, - }, - { - name = "cloakarty", - x = 6678, - z = 4158, - facing = 0, - }, - { - name = "shieldaa", - x = 2420, - z = 5623, - facing = 3, - }, - { - name = "staticmex", - x = 5528, - z = 4920, - facing = 0, - }, - { - name = "spiderskirm", - x = 3460, - z = 5740, - facing = 3, - }, - { - name = "spidercon", - x = 7428, - z = 5016, - facing = 3, - buildProgress = 0.4849, - }, - { - name = "turretlaser", - x = 5392, - z = 5632, - facing = 2, - }, - { - name = "cloakraid", - x = 6039, - z = 3530, - facing = 2, - }, - { - name = "cloakskirm", - x = 4430, - z = 2054, - facing = 3, - }, - { - name = "cloakarty", - x = 5733, - z = 4256, - facing = 3, - }, - { - name = "staticmex", - x = 3688, - z = 5704, - facing = 0, - }, - { - name = "spiderscout", - x = 6754, - z = 5023, - facing = 3, - }, - { - name = "energysolar", - x = 6152, - z = 504, - facing = 0, - }, - { - name = "cloakjammer", - x = 7096, - z = 3459, - facing = 0, - }, - { - name = "bomberdisarm", - x = 6900, - z = 2846, - facing = 0, - }, - { - name = "staticmex", - x = 4552, - z = 5080, - facing = 0, - }, - { - name = "turretmissile", - x = 5024, - z = 3456, - facing = 3, - }, - { - name = "cloakarty", - x = 3955, - z = 4984, - facing = 1, - }, - { - name = "hoverskirm", - x = 5092, - z = 857, - facing = 2, - }, - { - name = "staticradar", - x = 4768, - z = 5248, - facing = 2, - }, - { - name = "turretlaser", - x = 5648, - z = 4848, - facing = 2, - }, - { - name = "spiderskirm", - x = 3350, - z = 5795, - facing = 3, - }, - { - name = "hoverassault", - x = 3994, - z = 4827, - facing = 1, - }, - { - name = "spiderscout", - x = 5823, - z = 5025, - facing = 3, - }, - { - name = "shieldcon", - x = 3685, - z = 5607, - facing = 0, - }, - { - name = "spidercon", - x = 3904, - z = 5064, - facing = 0, - }, - { - name = "turretlaser", - x = 4528, - z = 5280, - facing = 2, - }, - { - name = "cloakraid", - x = 6049, - z = 3504, - facing = 2, - }, - { - name = "cloakskirm", - x = 5684, - z = 2582, - facing = 1, - patrolRoute = { - {5686, 2587}, - {5683, 2523}, - }, - }, - { - name = "spiderskirm", - x = 2681, - z = 5860, - facing = 3, - }, - { - name = "cloakraid", - x = 5987, - z = 3551, - facing = 2, - }, - { - name = "spiderscout", - x = 6790, - z = 4512, - facing = 3, - }, - { - name = "cloakarty", - x = 5747, - z = 3905, - facing = 3, - }, - { - name = "shieldassault", - x = 6148, - z = 2608, - facing = 3, - }, - { - name = "spiderskirm", - x = 4664, - z = 5246, - facing = 2, - patrolRoute = { - {4638, 5277}, - {4840, 5224}, - }, - }, - { - name = "hoverskirm", - x = 7097, - z = 3492, - facing = 2, - }, - { - name = "turretlaser", - x = 4672, - z = 5440, - facing = 2, - }, - { - name = "cloakskirm", - x = 4265, - z = 4818, - facing = 3, - }, - { - name = "cloakskirm", - x = 4069, - z = 4960, - facing = 3, - }, - { - name = "shieldskirm", - x = 4094, - z = 4953, - facing = 3, - }, - { - name = "cloakskirm", - x = 4042, - z = 4954, - facing = 3, - }, - { - name = "shieldskirm", - x = 6547, - z = 2701, - facing = 3, - }, - { - name = "spiderskirm", - x = 6787, - z = 5088, - facing = 3, - }, - { - name = "hovercon", - x = 7207, - z = 1344, - facing = 3, - }, - { - name = "cloakskirm", - x = 4086, - z = 4929, - facing = 3, - }, - { - name = "cloakskirm", - x = 5684, - z = 2529, - facing = 3, - patrolRoute = { - {5683, 2523}, - {5686, 2587}, - }, - }, - { - name = "bomberprec", - x = 6762, - z = 1410, - facing = 3, - }, - { - name = "turretlaser", - x = 3648, - z = 5712, - facing = 2, - buildProgress = 0.42179999, - }, - { - name = "hoverskirm", - x = 5070, - z = 821, - facing = 1, - }, - { - name = "turretmissile", - x = 6496, - z = 2336, - facing = 3, - }, - { - name = "cloakcon", - x = 5294, - z = 4152, - facing = 3, - }, - { - name = "turretmissile", - x = 6672, - z = 2208, - facing = 3, - }, - { - name = "hoverskirm", - x = 5120, - z = 826, - facing = 2, - }, - { - name = "turretmissile", - x = 4736, - z = 3328, - facing = 3, - }, - { - name = "spideremp", - x = 2697, - z = 5417, - facing = 2, - }, - { - name = "cloakarty", - x = 3990, - z = 5140, - facing = 0, - }, - { - name = "shieldriot", - x = 5797, - z = 2616, - facing = 3, - }, - { - name = "hoverskirm", - x = 5192, - z = 785, - facing = 2, - }, - { - name = "hoverskirm", - x = 6864, - z = 1556, - facing = 0, - patrolRoute = { - {6880, 1551}, - {6819, 1572}, - }, - }, - { - name = "energysolar", - x = 7480, - z = 3960, - facing = 3, - }, - { - name = "cloakraid", - x = 6487, - z = 3032, - facing = 1, - }, - { - name = "staticcon", - x = 4936, - z = 3528, - facing = 3, - }, - { - name = "turretlaser", - x = 6080, - z = 2304, - facing = 3, - }, - { - name = "cloakjammer", - x = 6193, - z = 2624, - facing = 3, - }, - { - name = "cloakraid", - x = 6450, - z = 3016, - facing = 1, - }, - { - name = "hoverassault", - x = 6748, - z = 2651, - facing = 2, - }, - { - name = "shieldskirm", - x = 4469, - z = 1997, - facing = 3, - }, - { - name = "cloakraid", - x = 6468, - z = 3033, - facing = 1, - }, - { - name = "turretlaser", - x = 4944, - z = 3264, - facing = 3, - }, - { - name = "shieldskirm", - x = 4561, - z = 1925, - facing = 3, - }, - { - name = "cloakraid", - x = 6416, - z = 3011, - facing = 1, - }, - { - name = "spiderskirm", - x = 5351, - z = 4032, - facing = 2, - }, - { - name = "turretmissile", - x = 6688, - z = 2416, - facing = 3, - }, - { - name = "hoverskirm", - x = 5159, - z = 866, - facing = 2, - }, - { - name = "shieldarty", - x = 5045, - z = 886, - facing = 1, - }, - { - name = "cloakskirm", - x = 4368, - z = 2095, - facing = 3, - }, - { - name = "turretlaser", - x = 4880, - z = 5440, - facing = 2, - }, - { - name = "staticcon", - x = 6376, - z = 2440, - facing = 3, - }, - { - name = "energysolar", - x = 6264, - z = 2440, - facing = 3, - }, - { - name = "cloakskirm", - x = 4405, - z = 2046, - facing = 0, - }, - { - name = "hoverskirm", - x = 5161, - z = 817, - facing = 3, - }, - { - name = "spiderscout", - x = 5280, - z = 3330, - facing = 0, - }, - { - name = "turretmissile", - x = 5152, - z = 3280, - facing = 3, - }, - { - name = "spiderscout", - x = 4880, - z = 4528, - facing = 3, - }, - { - name = "spideremp", - x = 5431, - z = 4156, - facing = 2, - }, - { - name = "cloakskirm", - x = 4487, - z = 1978, - facing = 3, - }, - { - name = "hovercon", - x = 7172, - z = 1323, - facing = 0, - }, - { - name = "cloakarty", - x = 4719, - z = 4657, - facing = 0, - }, - { - name = "staticmex", - x = 3944, - z = 5176, - facing = 0, - }, - { - name = "staticmex", - x = 4088, - z = 4472, - facing = 0, - }, - { - name = "spiderscout", - x = 5216, - z = 3678, - facing = 0, - }, - { - name = "energysolar", - x = 7608, - z = 4008, - facing = 3, - }, - { - name = "spiderscout", - x = 5213, - z = 3303, - facing = 2, - }, - { - name = "spiderscout", - x = 4391, - z = 4923, - facing = 0, - }, - { - name = "cloakcon", - x = 6677, - z = 2511, - facing = 3, - }, - { - name = "hoverskirm", - x = 5122, - z = 886, - facing = 2, - }, - { - name = "cloakcon", - x = 6710, - z = 3807, - facing = 0, - }, - { - name = "spidercon", - x = 6511, - z = 3551, - facing = 3, - }, - { - name = "shieldskirm", - x = 4724, - z = 1915, - facing = 3, - }, - { - name = "cloakraid", - x = 5699, - z = 2453, - facing = 1, - }, - { - name = "cloakarty", - x = 7327, - z = 3552, - facing = 2, - }, - { - name = "hoverskirm", - x = 6902, - z = 1576, - facing = 1, - patrolRoute = { - {6924, 1597}, - {6880, 1555}, - }, - }, - { - name = "hoverskirm", - x = 5141, - z = 776, - facing = 2, - }, - { - name = "hoverskirm", - x = 5101, - z = 788, - facing = 2, - }, - { - name = "hoverskirm", - x = 5194, - z = 741, - facing = 2, - }, - { - name = "hoverskirm", - x = 5177, - z = 701, - facing = 2, - }, - { - name = "cloakjammer", - x = 5031, - z = 906, - facing = 2, - }, - { - name = "cloakjammer", - x = 4399, - z = 4759, - facing = 1, - }, - { - name = "cloakjammer", - x = 2782, - z = 5961, - facing = 3, - }, - { - name = "cloakjammer", - x = 7069, - z = 3439, - facing = 0, - }, - { - name = "cloakraid", - x = 6385, - z = 2651, - facing = 1, - }, - { - name = "energysolar", - x = 7528, - z = 2104, - facing = 3, - }, - { - name = "cloakjammer", - x = 3426, - z = 5794, - facing = 3, - }, - { - name = "cloakarty", - x = 6961, - z = 3552, - facing = 3, - }, - { - name = "shieldarty", - x = 7511, - z = 2848, - facing = 3, - }, - { - name = "staticcon", - x = 7736, - z = 2840, - facing = 3, - }, - { - name = "turretmissile", - x = 3920, - z = 4608, - facing = 2, - buildProgress = 0.28490001, - }, - { - name = "hoverskirm", - x = 7173, - z = 897, - facing = 3, - }, - { - name = "cloakarty", - x = 7180, - z = 3348, - facing = 2, - }, - { - name = "spiderscout", - x = 6486, - z = 4566, - facing = 3, - }, - { - name = "cloakarty", - x = 7414, - z = 3624, - facing = 3, - buildProgress = 0.2102, - }, - { - name = "hoverskirm", - x = 7232, - z = 912, - facing = 3, - buildProgress = 0.0196, - }, - { - name = "shieldskirm", - x = 7532, - z = 2848, - facing = 3, - buildProgress = 0.0083, - } - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "pw_warpjammer", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the Warp Jammers", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Build seven Firewalkers - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 7, - unitTypes = { - "jumparty", - }, - image = planetUtilities.ICON_DIR .. "jumparty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 7 Firewalkers", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 1200, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Make the enemy lose three factories by 8:00 - onlyCountRemovedUnits = true, - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - enemyUnitTypes = { - "factoryplane", - "factoryspider", - "factoryhover", - "factorycloak", - "factoryshield", - }, - image = planetUtilities.ICON_DIR .. "factorycloak.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy three enemy factories", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "jumpassault", - "jumparty", - }, - modules = { - "commweapon_napalmgrenade", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet54.lua b/campaign/dev/planets/planet54.lua deleted file mode 100644 index f4821c7ef..000000000 --- a/campaign/dev/planets/planet54.lua +++ /dev/null @@ -1,1046 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/ocean02.png" - - local planetData = { - name = "Bluebell", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.465, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.10, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Tropical", - radius = "8440 km", - primary = "Aioa", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24510", - text = [[This island is blessed with strong geothermal activity, allowing cheap and easy energy generation. Unfortunately your enemy got here first. Sabotage their operation with Skuttle jumping bombs.]] - }, - tips = { - { - image = "unitpics/jumpbomb.png", - text = [[The Skuttle can jump on a single target and deal exceptional damage to it. The Skuttle cannot cloak while jumping and its decloak radius is quite large, so be careful how you deliver it to the target.]] - }, - { - image = "unitpics/striderdante.png", - text = [[Heavier units and Commanders are especially vulnerable to the Skuttle, although particularly tough units like the Dante might require two Skuttles to put down for good.]] - }, - { - image = "unitpics/energyheavygeo.png", - text = [[The Advanced Geothermal generator is comparatively cheap and provides a lot of energy. If it's destroyed it will unleash a large explosion, so don't put your Commander nearby!]] - }, - }, - gameConfig = { - mapName = "Calamity 1.1", - playerConfig = { - startX = 2191, - startZ = 1715, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryjump", - "jumpcon", - "jumpraid", - "jumpbomb", - "energygeo", - "energyheavygeo", - }, - startUnits = { - { - name = "energyheavygeo", - x = 2104, - z = 2280, - facing = 0, - }, - { - name = "jumpraid", - x = 2235, - z = 2040, - facing = 0, - }, - { - name = "jumpraid", - x = 2422, - z = 2030, - facing = 0, - }, - { - name = "jumpbomb", - x = 2235, - z = 2093, - facing = 0, - }, - { - name = "jumpbomb", - x = 2422, - z = 2082, - facing = 0, - }, - { - name = "jumpcon", - x = 2369, - z = 1980, - facing = 0, - }, - { - name = "jumpcon", - x = 2280, - z = 1997, - facing = 0, - }, - { - name = "staticmex", - x = 1944, - z = 1496, - facing = 0, - }, - { - name = "staticmex", - x = 1672, - z = 1464, - facing = 0, - }, - { - name = "staticmex", - x = 1416, - z = 2392, - facing = 0, - }, - { - name = "staticmex", - x = 2664, - z = 1304, - facing = 0, - }, - { - name = "staticmex", - x = 2968, - z = 1240, - facing = 0, - }, - { - name = "staticmex", - x = 2136, - z = 2840, - facing = 3, - }, - { - name = "staticmex", - x = 2920, - z = 2744, - facing = 3, - }, - { - name = "staticmex", - x = 2376, - z = 3768, - facing = 3, - }, - { - name = "staticmex", - x = 1656, - z = 4456, - facing = 3, - }, - { - name = "planescout", - x = 760, - z = 752, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.MOVE, pos = {1600, 1900}}, - }, - }, - { - name = "planescout", - x = 1200, - z = 752, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.MOVE, pos = {2500, 1688}}, - }, - }, - { - name = "turretriot", - x = 1640, - z = 4600, - facing = 0, - }, - { - name = "turretlaser", - x = 1456, - z = 4544, - facing = 0, - }, - { - name = "turretlaser", - x = 1808, - z = 4560, - facing = 0, - }, - { - name = "staticradar", - x = 2688, - z = 4320, - facing = 0, - }, - { - name = "factoryjump", - x = 2344, - z = 1688, - facing = 0, - }, - { - name = "staticradar", - x = 1856, - z = 2256, - facing = 0, - }, - { - name = "staticradar", - x = 3180, - z = 1263, - facing = 0, - }, - { - name = "energypylon", - x = 1688, - z = 1976, - facing = 0, - }, - { - name = "energypylon", - x = 2520, - z = 1448, - facing = 0, - }, - { - name = "staticcon", - x = 2264, - z = 1480, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2264, 1480}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2289, 1505}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 2832, - z = 3200, - facing = 1, - }, - { - name = "turretlaser", - x = 2832, - z = 3456, - facing = 1, - }, - { - name = "turretaaflak", - x = 1976, - z = 3672, - facing = 0, - }, - { - name = "turretlaser", - x = 3472, - z = 2288, - facing = 1, - }, - { - name = "turretlaser", - x = 3504, - z = 1840, - facing = 1, - }, - { - name = "jumpbomb", - x = 2331, - z = 2096, - facing = 0, - }, - { - name = "staticcon", - x = 2344, - z = 1480, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2344, 1480}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2369, 1505}, options = {"shift"}}, - }, - }, - } - }, - aiConfig = { - { - startX = 5642, - startZ = 6037, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Big Boofers", - commanderParameters = { - facplop = false, - bonusObjectiveID = 1, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "staticcon", - "energysolar", - "energygeo", - "energyheavygeo", - "staticradar", - "tankcon", - "tankheavyraid", - "tankriot", - "tankassault", - "tankheavyassault", - "tankaa", - "striderdante", - "striderscorpion", - }, - commanderLevel = 4, - commander = { - name = "Yasaga", - chassis = "guardian", - decorations = { - }, - modules = { - "commweapon_heavymachinegun", - "commweapon_clusterbomb", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_autorepair", - "module_high_power_servos", - } - }, - midgameUnits = { - { - name = "shipheavyarty", - x = 7500, - z = 6500, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 50, - delay = 1.5*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 7800, - z = 6000, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 1.5*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 7800, - z = 5500, - facing = 2, - difficultyAtLeast = 4, - spawnRadius = 100, - delay = 1.5*30*60, - orbitalDrop = false, - }, - { - name = "striderscorpion", - x = 6150, - z = 5100, - facing = 2, - spawnRadius = 50, - delay = 3*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "tankheavyassault", - x = 6000, - z = 7000, - facing = 2, - difficultyAtLeast = 2, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "amphassault", - x = 6000, - z = 7000, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "energyheavygeo", - x = 5352, - z = 1656, - facing = 0, - mapMarker = { - text = "Adv. Geo", - color = "red_small" - }, - }, - { - name = "energyheavygeo", - x = 6072, - z = 5896, - facing = 0, - mapMarker = { - text = "Adv. Geo", - color = "red_small" - }, - }, - { - name = "energyheavygeo", - x = 2872, - z = 6536, - facing = 0, - mapMarker = { - text = "Adv. Geo", - color = "red_small" - }, - }, - { - name = "tankassault", - x = 7100, - z = 4700, - facing = 2, - }, - { - name = "tankassault", - x = 7400, - z = 2600, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "tankassault", - x = 2500, - z = 7400, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "striderdante", - x = 4400, - z = 4800, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "striderdante", - x = 6350, - z = 6500, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "tankheavyassault", - x = 6250, - z = 6500, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "turretaalaser", - x = 4068, - z = 6883, - facing = 2, - }, - { - name = "turretaalaser", - x = 7830, - z = 4222, - facing = 2, - }, - { - name = "turretaalaser", - x = 6150, - z = 4000, - facing = 2, - }, - { - name = "turretlaser", - x = 7328, - z = 7168, - facing = 2, - }, - { - name = "turretlaser", - x = 7664, - z = 7520, - facing = 1, - }, - { - name = "turretaafar", - x = 6080, - z = 6320, - facing = 2, - }, - { - name = "turretaalaser", - x = 5608, - z = 6552, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6296, - z = 5592, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6808, - z = 5288, - facing = 2, - }, - { - name = "turretriot", - x = 6552, - z = 5416, - facing = 2, - }, - { - name = "turretaalaser", - x = 2360, - z = 6744, - facing = 0, - }, - { - name = "staticcon", - x = 7368, - z = 7464, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7368, 7464}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7343, 7439}, options = {"shift"}}, - }, - }, - { - name = "turretaaflak", - x = 7128, - z = 7480, - facing = 2, - }, - { - name = "turretaalaser", - x = 5752, - z = 1432, - facing = 0, - }, - { - name = "turretaalaser", - x = 6600, - z = 5704, - facing = 2, - }, - { - name = "turretlaser", - x = 6016, - z = 5952, - facing = 0, - }, - { - name = "turretlaser", - x = 6144, - z = 5952, - facing = 0, - }, - { - name = "turretlaser", - x = 6144, - z = 5840, - facing = 2, - }, - { - name = "turretlaser", - x = 6016, - z = 5840, - facing = 2, - }, - { - name = "turretlaser", - x = 5408, - z = 1600, - facing = 1, - }, - { - name = "turretlaser", - x = 5408, - z = 1712, - facing = 1, - }, - { - name = "turretlaser", - x = 5296, - z = 1600, - facing = 3, - }, - { - name = "turretlaser", - x = 5296, - z = 1712, - facing = 3, - }, - { - name = "turretlaser", - x = 2944, - z = 6480, - facing = 1, - }, - { - name = "turretlaser", - x = 2944, - z = 6592, - facing = 1, - }, - { - name = "turretlaser", - x = 2832, - z = 6592, - facing = 3, - }, - { - name = "turretmissile", - x = 6704, - z = 3504, - facing = 2, - }, - { - name = "turretlaser", - x = 2832, - z = 6480, - facing = 3, - }, - { - name = "turretmissile", - x = 5328, - z = 4176, - facing = 2, - }, - { - name = "turretmissile", - x = 5776, - z = 3632, - facing = 3, - }, - { - name = "turretlaser", - x = 6544, - z = 3552, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5912, - z = 2120, - facing = 1, - }, - { - name = "turretemp", - x = 5280, - z = 6720, - facing = 2, - }, - { - name = "turretgauss", - x = 4648, - z = 1848, - facing = 3, - }, - { - name = "staticmex", - x = 4296, - z = 5064, - facing = 3, - }, - { - name = "staticmex", - x = 4808, - z = 4728, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5016, - z = 2168, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5432, - z = 2456, - facing = 0, - }, - { - name = "staticmex", - x = 5224, - z = 6968, - facing = 0, - }, - { - name = "staticmex", - x = 5528, - z = 6904, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2280, - z = 6088, - facing = 3, - }, - { - name = "turretheavylaser", - x = 2728, - z = 5736, - facing = 2, - }, - { - name = "staticmex", - x = 6248, - z = 6712, - facing = 0, - }, - { - name = "staticmex", - x = 6520, - z = 6744, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3192, - z = 6056, - facing = 1, - }, - { - name = "turretmissile", - x = 2464, - z = 5952, - facing = 2, - }, - { - name = "staticmex", - x = 6776, - z = 5816, - facing = 3, - }, - { - name = "turretmissile", - x = 3040, - z = 5808, - facing = 2, - }, - { - name = "turretaaflak", - x = 2728, - z = 6120, - facing = 2, - }, - { - name = "factorytank", - x = 5872, - z = 6656, - facing = 2, - }, - { - name = "staticcon", - x = 5864, - z = 6776, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5864, 6776}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5839, 6751}, options = {"shift"}}, - }, - }, - { - name = "turretriot", - x = 5144, - z = 6824, - facing = 2, - }, - { - name = "turretriot", - x = 5368, - z = 6584, - facing = 3, - }, - { - name = "turretgauss", - x = 4232, - z = 1624, - facing = 0, - }, - { - name = "turretgauss", - x = 5560, - z = 5800, - facing = 3, - }, - { - name = "striderhub", - x = 4720, - z = 5104, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4720, 5104}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4695, 5079}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 4824, - z = 5032, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4824, 5032}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4799, 5007}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 4040, - z = 4936, - facing = 2, - }, - { - name = "turretriot", - x = 4216, - z = 4808, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4728, - z = 4488, - facing = 2, - }, - { - name = "turretriot", - x = 4504, - z = 4616, - facing = 2, - }, - { - name = "turretaalaser", - x = 4376, - z = 5192, - facing = 2, - }, - { - name = "turretaalaser", - x = 4920, - z = 4840, - facing = 2, - }, - { - name = "turretmissile", - x = 5248, - z = 2304, - facing = 0, - }, - { - name = "turretmissile", - x = 5744, - z = 2256, - facing = 0, - }, - { - name = "turretaaflak", - x = 5480, - z = 2088, - facing = 0, - }, - { - name = "turretimpulse", - x = 1680, - z = 6240, - facing = 0, - }, - { - name = "turretimpulse", - x = 1968, - z = 6224, - facing = 0, - }, - { - name = "turretlaser", - x = 1824, - z = 6192, - facing = 2, - }, - { - name = "turretriot", - x = 6344, - z = 1992, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3720, - z = 6456, - facing = 2, - }, - { - name = "staticheavyradar", - x = 5520, - z = 3872, - facing = 2, - }, - { - name = "staticradar", - x = 5088, - z = 1904, - facing = 0, - }, - { - name = "staticradar", - x = 2512, - z = 5840, - facing = 0, - }, - { - name = "staticradar", - x = 6256, - z = 5664, - facing = 0, - }, - { - name = "staticmex", - x = 1620, - z = 6488, - facing = 0, - }, - { - name = "staticmex", - x = 2200, - z = 7200, - facing = 0, - }, - { - name = "staticmex", - x = 3140, - z = 6900, - facing = 0, - }, - { - name = "staticmex", - x = 6000, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 6360, - z = 980, - facing = 0, - }, - { - name = "staticmex", - x = 6570, - z = 1720, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energyheavygeo", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Advanced Geothermals", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Kill enemy commander - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "guardian.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy Commander", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Make the enemy lose one Strider Hub - onlyCountRemovedUnits = true, - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "striderhub", - }, - image = planetUtilities.ICON_DIR .. "striderhub.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the enemy Strider Hub", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - victoryByTime = 720, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 12:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "jumpbomb", - "energyheavygeo", - }, - modules = { - "commweapon_clusterbomb", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet55.lua b/campaign/dev/planets/planet55.lua deleted file mode 100644 index be908412d..000000000 --- a/campaign/dev/planets/planet55.lua +++ /dev/null @@ -1,4622 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran02.png" - - local planetData = { - name = "Nashpvos", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.76, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.64, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "7130 km", - primary = "Rawol", - primaryType = "G6V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24594", - text = [[All previous attempts to defeat the enemy's large cluster of Funnelweb support striders and Big Bertha static artillery have failed. It falls to you to deploy the nuclear option.]] - }, - tips = { - { - image = "unitpics/staticnuke.png", - text = [[The Trinity nuclear silo builds a nuclear missile every 3 minutes (assuming you provide it with metal). It can stockpile many missiles at once - save them until you are sure no anti-nukes will spoil the show. Left-click on the stockpile button to increase the stockpile limit.]] - }, - { - image = "unitpics/staticantinuke.png", - text = [[Antinukes are typically the best-defended thing your enemy possesses. If their anti-air defence is poor destroy the Antinuke with bombers. Otherwise, a Shockley EMP missile will disable the Antinuke for a while.]] - }, - { - image = "unitpics/striderfunnelweb.png", - text = [[Funnelweb support striders are armed with a flock of drones and a strong area shield. A single Funnelweb is fairly easy to kill, but in large numbers they are almost impervious to conventional attacks.]] - }, - }, - gameConfig = { - mapName = "DigSite", - playerConfig = { - startX = 3000, - startZ = 6900, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "staticnuke", - "staticantinuke", - "staticmissilesilo", - "empmissile", - }, - startUnits = { - { - name = "staticnuke", - x = 3080, - z = 6680, - facing = 2, - buildProgress = 0.88, - difficultyAtLeast = 1, - difficultyAtMost = 1, - }, - { - name = "staticnuke", - x = 3080, - z = 6680, - facing = 2, - buildProgress = 0.78, - difficultyAtLeast = 2, - difficultyAtMost = 2, - }, - { - name = "staticnuke", - x = 3080, - z = 6680, - facing = 2, - buildProgress = 0.68, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "staticnuke", - x = 3080, - z = 6680, - facing = 2, - buildProgress = 0.58, - difficultyAtLeast = 4, - difficultyAtMost = 4, - }, - { - name = "pw_metal", - x = 3800, - z = 7170, - facing = 2, - }, - { - name = "turretheavy", - x = 3832, - z = 5048, - facing = 2, - }, - { - name = "planescout", - x = 3080, - z = 6500, - facing = 2, - }, - { - name = "planescout", - x = 3000, - z = 6500, - facing = 2, - }, - { - name = "staticmex", - x = 3784, - z = 6712, - facing = 2, - }, - { - name = "energyfusion", - x = 4000, - z = 6900, - facing = 1, - }, - { - name = "shieldshield", - x = 3000, - z = 5100, - facing = 2, - }, - { - name = "shieldshield", - x = 3450, - z = 5200, - facing = 2, - }, - { - name = "shieldshield", - x = 3900, - z = 5300, - facing = 2, - }, - { - name = "staticmex", - x = 3384, - z = 5848, - facing = 0, - }, - { - name = "staticmex", - x = 3560, - z = 5624, - facing = 0, - }, - { - name = "staticmex", - x = 3064, - z = 5320, - facing = 0, - }, - { - name = "staticmex", - x = 3944, - z = 6264, - facing = 2, - }, - { - name = "energywind", - x = 3816, - z = 6632, - facing = 0, - }, - { - name = "energywind", - x = 3832, - z = 6552, - facing = 0, - }, - { - name = "energywind", - x = 3848, - z = 6472, - facing = 0, - }, - { - name = "energywind", - x = 3864, - z = 6392, - facing = 0, - }, - { - name = "energywind", - x = 3880, - z = 6312, - facing = 0, - }, - { - name = "energywind", - x = 3912, - z = 6200, - facing = 0, - }, - { - name = "energywind", - x = 3832, - z = 6152, - facing = 0, - }, - { - name = "energywind", - x = 3752, - z = 6088, - facing = 0, - }, - { - name = "energywind", - x = 3672, - z = 6040, - facing = 0, - }, - { - name = "energywind", - x = 3592, - z = 5976, - facing = 0, - }, - { - name = "energywind", - x = 3512, - z = 5928, - facing = 0, - }, - { - name = "energywind", - x = 3432, - z = 5880, - facing = 0, - }, - { - name = "energywind", - x = 3432, - z = 5800, - facing = 0, - }, - { - name = "energywind", - x = 3464, - z = 5720, - facing = 0, - }, - { - name = "energywind", - x = 3496, - z = 5640, - facing = 0, - }, - { - name = "energywind", - x = 3448, - z = 5592, - facing = 0, - }, - { - name = "energywind", - x = 3368, - z = 5544, - facing = 0, - }, - { - name = "energywind", - x = 3288, - z = 5480, - facing = 0, - }, - { - name = "energywind", - x = 3208, - z = 5432, - facing = 0, - }, - { - name = "energywind", - x = 3128, - z = 5384, - facing = 0, - }, - { - name = "turretaalaser", - x = 3848, - z = 5432, - facing = 0, - }, - { - name = "turretaalaser", - x = 2984, - z = 5432, - facing = 0, - }, - { - name = "turretgauss", - x = 2936, - z = 4808, - facing = 2, - }, - { - name = "turretgauss", - x = 3288, - z = 5000, - facing = 2, - }, - { - name = "turretgauss", - x = 3500, - z = 5090, - facing = 2, - }, - { - name = "turretgauss", - x = 4070, - z = 5170, - facing = 2, - }, - { - name = "staticradar", - x = 2800, - z = 4880, - facing = 2, - }, - { - name = "staticradar", - x = 4096, - z = 5232, - facing = 2, - }, - { - name = "turretgauss", - x = 2648, - z = 5256, - facing = 2, - }, - { - name = "energywind", - x = 3720, - z = 6808, - facing = 2, - }, - { - name = "energywind", - x = 3800, - z = 6808, - facing = 2, - }, - { - name = "energywind", - x = 3880, - z = 6808, - facing = 2, - }, - { - name = "energywind", - x = 3880, - z = 6888, - facing = 2, - }, - { - name = "energywind", - x = 3800, - z = 6888, - facing = 2, - }, - { - name = "energywind", - x = 3720, - z = 6888, - facing = 2, - }, - { - name = "energywind", - x = 3720, - z = 6968, - facing = 2, - }, - { - name = "energywind", - x = 3800, - z = 6968, - facing = 2, - }, - { - name = "energywind", - x = 3880, - z = 6968, - facing = 2, - }, - { - name = "factorycloak", - x = 3448, - z = 6864, - facing = 2, - }, - { - name = "cloakriot", - x = 3465, - z = 6545, - facing = 2, - }, - { - name = "staticcon", - x = 3384, - z = 7016, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3384, 7016}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3409, 6991}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3260, - z = 6800, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3384, 7016}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3409, 6991}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3260, - z = 6950, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3384, 7016}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3409, 6991}, options = {"shift"}}, - }, - }, - { - name = "cloakriot", - x = 3368, - z = 6556, - facing = 2, - }, - { - name = "cloakriot", - x = 3569, - z = 6537, - facing = 3, - }, - { - name = "cloakskirm", - x = 3340, - z = 6657, - facing = 3, - }, - { - name = "cloakskirm", - x = 3417, - z = 6656, - facing = 0, - }, - { - name = "cloakskirm", - x = 3521, - z = 6662, - facing = 1, - }, - { - name = "cloakskirm", - x = 3623, - z = 6653, - facing = 1, - }, - { - name = "cloakaa", - x = 3484, - z = 6708, - facing = 2, - }, - { - name = "cloakaa", - x = 3561, - z = 6729, - facing = 1, - }, - { - name = "cloakaa", - x = 3386, - z = 6736, - facing = 3, - }, - } - }, - aiConfig = { - { - humanName = "Izbatos", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - --"staticantinuke", - "staticrearm", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - }, - commander = false, - midgameUnits = { - { - name = "striderdante", - x = 200, - z = 7000, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "pw_metal", - x = 700, - z = 8000, - facing = 2, - }, - { - name = "striderdante", - x = 200, - z = 7000, - facing = 2, - }, - { - name = "staticmex", - x = 2456, - z = 7800, - facing = 0, - }, - { - name = "staticmex", - x = 2088, - z = 6488, - facing = 0, - }, - { - name = "staticmex", - x = 664, - z = 7672, - facing = 0, - }, - { - name = "staticmex", - x = 536, - z = 7976, - facing = 0, - }, - { - name = "staticmex", - x = 232, - z = 7672, - facing = 0, - }, - { - name = "energypylon", - x = 3544, - z = 5448, - facing = 0, - }, - { - name = "energywind", - x = 1496, - z = 7736, - facing = 2, - }, - { - name = "energywind", - x = 248, - z = 7720, - facing = 2, - }, - { - name = "energywind", - x = 312, - z = 7800, - facing = 2, - }, - { - name = "energywind", - x = 392, - z = 7880, - facing = 2, - }, - { - name = "energywind", - x = 456, - z = 7960, - facing = 2, - }, - { - name = "energywind", - x = 568, - z = 7928, - facing = 2, - }, - { - name = "energywind", - x = 632, - z = 7848, - facing = 2, - }, - { - name = "energywind", - x = 696, - z = 7768, - facing = 2, - }, - { - name = "energywind", - x = 760, - z = 7688, - facing = 2, - }, - { - name = "energywind", - x = 856, - z = 7688, - facing = 2, - }, - { - name = "energywind", - x = 936, - z = 7688, - facing = 2, - }, - { - name = "energywind", - x = 1016, - z = 7704, - facing = 2, - }, - { - name = "energywind", - x = 1096, - z = 7704, - facing = 2, - }, - { - name = "energywind", - x = 1176, - z = 7720, - facing = 2, - }, - { - name = "energywind", - x = 1256, - z = 7720, - facing = 2, - }, - { - name = "energywind", - x = 1336, - z = 7720, - facing = 2, - }, - { - name = "energywind", - x = 1416, - z = 7736, - facing = 2, - }, - { - name = "energywind", - x = 1576, - z = 7752, - facing = 2, - }, - { - name = "energywind", - x = 1656, - z = 7752, - facing = 2, - }, - { - name = "energywind", - x = 1736, - z = 7768, - facing = 2, - }, - { - name = "energywind", - x = 1816, - z = 7768, - facing = 2, - }, - { - name = "energywind", - x = 1896, - z = 7768, - facing = 2, - }, - { - name = "energywind", - x = 1976, - z = 7784, - facing = 2, - }, - { - name = "energywind", - x = 2056, - z = 7784, - facing = 2, - }, - { - name = "energywind", - x = 2136, - z = 7800, - facing = 2, - }, - { - name = "energywind", - x = 2216, - z = 7800, - facing = 2, - }, - { - name = "energywind", - x = 2296, - z = 7800, - facing = 2, - }, - { - name = "energywind", - x = 2376, - z = 7816, - facing = 2, - }, - { - name = "energypylon", - x = 2888, - z = 7672, - facing = 2, - }, - { - name = "energypylon", - x = 3416, - z = 7352, - facing = 2, - }, - { - name = "factoryamph", - x = 856, - z = 7144, - facing = 2, - }, - { - name = "staticcon", - x = 824, - z = 7288, - facing = 2, - }, - { - name = "staticcon", - x = 904, - z = 7288, - facing = 2, - }, - { - name = "factoryspider", - x = 2456, - z = 7496, - facing = 2, - }, - { - name = "staticcon", - x = 2408, - z = 7624, - facing = 2, - }, - { - name = "staticcon", - x = 2488, - z = 7624, - facing = 2, - }, - { - name = "turretheavylaser", - x = 216, - z = 6136, - facing = 2, - }, - { - name = "turretheavylaser", - x = 776, - z = 6088, - facing = 2, - }, - { - name = "turretriot", - x = 328, - z = 6008, - facing = 2, - }, - { - name = "turretriot", - x = 616, - z = 5976, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2152, - z = 6008, - facing = 2, - }, - { - name = "turretaalaser", - x = 200, - z = 6296, - facing = 2, - }, - { - name = "turretheavylaser", - x = 1944, - z = 5992, - facing = 2, - }, - { - name = "turretaalaser", - x = 872, - z = 6216, - facing = 2, - }, - { - name = "turretriot", - x = 1560, - z = 5944, - facing = 2, - }, - { - name = "turretriot", - x = 2264, - z = 5800, - facing = 2, - }, - { - name = "turretaalaser", - x = 1880, - z = 6216, - facing = 2, - }, - { - name = "staticmex", - x = 200, - z = 5224, - facing = 2, - }, - { - name = "staticmex", - x = 552, - z = 5016, - facing = 2, - }, - { - name = "staticmex", - x = 1384, - z = 5400, - facing = 2, - }, - { - name = "spidercon", - x = 1294, - z = 5937, - facing = 0, - }, - { - name = "amphcon", - x = 2001, - z = 7488, - facing = 3, - }, - { - name = "spidercon", - x = 7412, - z = 7791, - facing = 1, - }, - { - name = "turretlaser", - x = 2592, - z = 5536, - facing = 0, - }, - { - name = "amphfloater", - x = 1656, - z = 6843, - facing = 3, - }, - { - name = "amphcon", - x = 1854, - z = 6972, - facing = 0, - }, - { - name = "turretheavylaser", - x = 824, - z = 5144, - facing = 0, - }, - { - name = "turretlaser", - x = 640, - z = 7168, - facing = 1, - }, - { - name = "staticstorage", - x = 760, - z = 7736, - facing = 2, - }, - { - name = "spiderassault", - x = 3479, - z = 5328, - facing = 0, - }, - { - name = "turretlaser", - x = 416, - z = 7664, - facing = 1, - }, - { - name = "amphfloater", - x = 1741, - z = 6909, - facing = 3, - }, - { - name = "staticradar", - x = 576, - z = 7760, - facing = 2, - }, - { - name = "spidercon", - x = 2327, - z = 4752, - facing = 1, - }, - { - name = "amphcon", - x = 1844, - z = 6405, - facing = 2, - }, - { - name = "turretlaser", - x = 4016, - z = 6576, - facing = 2, - }, - { - name = "amphraid", - x = 4169, - z = 4131, - facing = 2, - }, - { - name = "staticradar", - x = 1824, - z = 6528, - facing = 2, - }, - { - name = "amphaa", - x = 656, - z = 5186, - facing = 2, - }, - { - name = "turretmissile", - x = 544, - z = 5136, - facing = 1, - }, - { - name = "spiderassault", - x = 1702, - z = 6138, - facing = 0, - }, - { - name = "turretlaser", - x = 4400, - z = 6080, - facing = 0, - }, - { - name = "turretlaser", - x = 2000, - z = 6560, - facing = 2, - }, - { - name = "spiderskirm", - x = 1650, - z = 5752, - facing = 3, - }, - { - name = "turretlaser", - x = 368, - z = 5136, - facing = 1, - }, - { - name = "spideremp", - x = 2639, - z = 4772, - facing = 0, - }, - { - name = "turretlaser", - x = 2560, - z = 7856, - facing = 2, - }, - { - name = "turretmissile", - x = 192, - z = 5120, - facing = 1, - }, - { - name = "amphfloater", - x = 663, - z = 5096, - facing = 2, - }, - { - name = "turretlaser", - x = 1376, - z = 5488, - facing = 1, - }, - { - name = "amphfloater", - x = 662, - z = 5033, - facing = 2, - }, - { - name = "turretlaser", - x = 4112, - z = 5632, - facing = 0, - }, - { - name = "spideraa", - x = 865, - z = 5455, - facing = 3, - }, - { - name = "spiderscout", - x = 4020, - z = 4714, - facing = 2, - }, - { - name = "turretlaser", - x = 5040, - z = 7680, - facing = 2, - }, - { - name = "amphraid", - x = 1392, - z = 7071, - facing = 1, - }, - { - name = "staticradar", - x = 400, - z = 5296, - facing = 1, - }, - { - name = "staticmex", - x = 2088, - z = 4760, - facing = 0, - }, - { - name = "staticradar", - x = 4848, - z = 7632, - facing = 2, - }, - { - name = "spiderassault", - x = 2747, - z = 6885, - facing = 2, - }, - { - name = "turretlaser", - x = 2144, - z = 4848, - facing = 1, - }, - { - name = "energypylon", - x = 3512, - z = 6328, - facing = 0, - }, - { - name = "amphaa", - x = 678, - z = 5222, - facing = 2, - }, - { - name = "spidercon", - x = 3837, - z = 7109, - facing = 1, - }, - { - name = "amphfloater", - x = 863, - z = 6474, - facing = 2, - }, - { - name = "turretlaser", - x = 6704, - z = 7504, - facing = 2, - }, - { - name = "turretlaser", - x = 3392, - z = 5328, - facing = 2, - }, - { - name = "spiderscout", - x = 3626, - z = 4567, - facing = 2, - }, - { - name = "amphaa", - x = 618, - z = 5200, - facing = 2, - }, - { - name = "staticradar", - x = 464, - z = 5280, - facing = 1, - }, - { - name = "spiderscout", - x = 4133, - z = 3752, - facing = 3, - }, - { - name = "turretlaser", - x = 7584, - z = 7840, - facing = 2, - }, - { - name = "spiderscout", - x = 4216, - z = 4099, - facing = 2, - }, - { - name = "turretlaser", - x = 1056, - z = 7120, - facing = 1, - }, - { - name = "turretlaser", - x = 720, - z = 5120, - facing = 1, - }, - { - name = "energysolar", - x = 3704, - z = 6680, - facing = 2, - }, - { - name = "spidercrabe", - x = 2456, - z = 7460, - facing = 2, - buildProgress = 0.21619999, - }, - { - name = "amphaa", - x = 856, - z = 7108, - facing = 2, - buildProgress = 0.4666, - }, - } - }, - { - humanName = "Vanterras", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - --"staticantinuke", - "staticrearm", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - }, - commander = false, - midgameUnits = { - { - name = "gunshipkrow", - x = 6300, - z = 8000, - facing = 2, - spawnRadius = 50, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "striderdante", - x = 8000, - z = 7000, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "pw_metal", - x = 7300, - z = 8000, - facing = 2, - }, - { - name = "striderdante", - x = 8000, - z = 7000, - facing = 2, - }, - { - name = "energypylon", - x = 7650, - z = 6100, - facing = 2, - }, - { - name = "turretheavy", - x = 7620, - z = 5730, - facing = 2, - }, - { - name = "turretaaflak", - x = 6440, - z = 6680, - facing = 2, - }, - { - name = "turretaaflak", - x = 7300, - z = 6400, - facing = 2, - }, - { - name = "turretheavy", - x = 7060, - z = 6480, - facing = 2, - }, - { - name = "energypylon", - x = 7110, - z = 6850, - facing = 2, - }, - { - name = "staticmex", - x = 6648, - z = 7384, - facing = 0, - }, - { - name = "staticmex", - x = 7608, - z = 7960, - facing = 0, - }, - { - name = "staticmex", - x = 8008, - z = 7992, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 7624, - facing = 0, - }, - { - name = "staticmex", - x = 5160, - z = 6552, - facing = 2, - }, - { - name = "staticmex", - x = 5576, - z = 5768, - facing = 2, - }, - { - name = "staticmex", - x = 4888, - z = 7640, - facing = 2, - }, - { - name = "staticmex", - x = 5160, - z = 7880, - facing = 2, - }, - { - name = "energyheavygeo", - x = 7240, - z = 6776, - facing = 2, - }, - { - name = "energywind", - x = 7928, - z = 7992, - facing = 0, - }, - { - name = "energywind", - x = 7848, - z = 7992, - facing = 0, - }, - { - name = "energywind", - x = 7768, - z = 7992, - facing = 0, - }, - { - name = "energywind", - x = 7688, - z = 7992, - facing = 0, - }, - { - name = "energywind", - x = 7960, - z = 7928, - facing = 0, - }, - { - name = "energywind", - x = 7928, - z = 7848, - facing = 0, - }, - { - name = "energywind", - x = 7912, - z = 7768, - facing = 0, - }, - { - name = "energywind", - x = 7880, - z = 7688, - facing = 0, - }, - { - name = "energywind", - x = 7848, - z = 7608, - facing = 0, - }, - { - name = "energywind", - x = 7304, - z = 6936, - facing = 0, - }, - { - name = "energywind", - x = 7368, - z = 7016, - facing = 0, - }, - { - name = "energywind", - x = 7416, - z = 7096, - facing = 0, - }, - { - name = "energywind", - x = 7480, - z = 7176, - facing = 0, - }, - { - name = "energywind", - x = 7544, - z = 7256, - facing = 0, - }, - { - name = "energywind", - x = 7592, - z = 7336, - facing = 0, - }, - { - name = "energywind", - x = 7656, - z = 7416, - facing = 0, - }, - { - name = "energywind", - x = 7704, - z = 7496, - facing = 0, - }, - { - name = "energywind", - x = 7768, - z = 7576, - facing = 0, - }, - { - name = "energywind", - x = 6712, - z = 7320, - facing = 0, - }, - { - name = "energywind", - x = 6792, - z = 7272, - facing = 0, - }, - { - name = "energywind", - x = 6872, - z = 7240, - facing = 0, - }, - { - name = "energywind", - x = 6952, - z = 7192, - facing = 0, - }, - { - name = "energywind", - x = 7032, - z = 7160, - facing = 0, - }, - { - name = "energywind", - x = 7112, - z = 7112, - facing = 0, - }, - { - name = "energywind", - x = 7192, - z = 7080, - facing = 0, - }, - { - name = "energywind", - x = 7272, - z = 7032, - facing = 0, - }, - { - name = "staticcon", - x = 7752, - z = 6488, - facing = 2, - }, - { - name = "staticcon", - x = 7832, - z = 6488, - facing = 2, - }, - { - name = "factoryshield", - x = 7744, - z = 6328, - facing = 2, - }, - { - name = "factoryjump", - x = 7896, - z = 6344, - facing = 2, - }, - { - name = "staticcon", - x = 5784, - z = 8136, - facing = 2, - }, - { - name = "factorygunship", - x = 5896, - z = 8104, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6040, - z = 7192, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6424, - z = 7000, - facing = 2, - }, - { - name = "turretriot", - x = 6200, - z = 7000, - facing = 2, - }, - { - name = "turretaalaser", - x = 5960, - z = 7320, - facing = 2, - }, - { - name = "turretaalaser", - x = 6568, - z = 6968, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7736, - z = 5864, - facing = 2, - }, - { - name = "turretheavylaser", - x = 8056, - z = 5832, - facing = 2, - }, - { - name = "turretaalaser", - x = 7688, - z = 6008, - facing = 2, - }, - { - name = "turretaalaser", - x = 8136, - z = 5960, - facing = 2, - }, - { - name = "turretriot", - x = 7896, - z = 5800, - facing = 2, - }, - { - name = "turretriot", - x = 4840, - z = 6008, - facing = 2, - }, - { - name = "turretriot", - x = 5320, - z = 5848, - facing = 2, - }, - { - name = "turretaalaser", - x = 5224, - z = 6360, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6184, - z = 5608, - facing = 2, - }, - { - name = "turretriot", - x = 6696, - z = 5496, - facing = 2, - }, - { - name = "turretaalaser", - x = 6728, - z = 5768, - facing = 2, - }, - { - name = "shieldcon", - x = 4584, - z = 4861, - facing = 2, - }, - { - name = "shieldassault", - x = 7654, - z = 5667, - facing = 2, - }, - { - name = "gunshipassault", - x = 7073, - z = 5240, - facing = 2, - }, - { - name = "shieldskirm", - x = 6980, - z = 4928, - facing = 0, - }, - { - name = "jumpskirm", - x = 7124, - z = 4756, - facing = 2, - }, - { - name = "jumpskirm", - x = 7069, - z = 4804, - facing = 0, - }, - { - name = "gunshipaa", - x = 5102, - z = 4986, - facing = 2, - }, - { - name = "jumpcon", - x = 3561, - z = 6887, - facing = 0, - }, - { - name = "jumpaa", - x = 7152, - z = 5019, - facing = 2, - }, - { - name = "shieldcon", - x = 4386, - z = 4645, - facing = 2, - }, - { - name = "jumpcon", - x = 3563, - z = 6131, - facing = 2, - }, - { - name = "jumpassault", - x = 6992, - z = 4447, - facing = 0, - }, - { - name = "shieldcon", - x = 4327, - z = 4325, - facing = 2, - }, - { - name = "jumpassault", - x = 7017, - z = 4482, - facing = 3, - }, - { - name = "turretlaser", - x = 7536, - z = 6272, - facing = 3, - }, - { - name = "staticstorage", - x = 6616, - z = 7480, - facing = 2, - }, - { - name = "staticradar", - x = 7728, - z = 7728, - facing = 3, - }, - { - name = "shieldfelon", - x = 7103, - z = 4921, - facing = 2, - }, - { - name = "gunshipskirm", - x = 7012, - z = 6987, - facing = 2, - patrolRoute = { - {6987, 6976}, - {7080, 7016}, - }, - }, - { - name = "staticradar", - x = 5776, - z = 5824, - facing = 2, - }, - { - name = "jumpcon", - x = 7688, - z = 5596, - facing = 0, - }, - { - name = "shieldskirm", - x = 7111, - z = 4893, - facing = 1, - }, - { - name = "jumpcon", - x = 4304, - z = 4313, - facing = 2, - }, - { - name = "shieldcon", - x = 7631, - z = 5477, - facing = 3, - }, - { - name = "shieldraid", - x = 6052, - z = 6865, - facing = 0, - }, - { - name = "gunshipraid", - x = 4580, - z = 5448, - facing = 2, - }, - { - name = "shieldraid", - x = 7512, - z = 6458, - facing = 0, - }, - { - name = "gunshipaa", - x = 5789, - z = 7507, - facing = 0, - }, - { - name = "jumpassault", - x = 7896, - z = 6320, - facing = 2, - buildProgress = 0.72049999, - }, - { - name = "shieldshield", - x = 7744, - z = 6316, - facing = 2, - buildProgress = 0.1305, - }, - { - name = "gunshipcon", - x = 5896, - z = 8103, - facing = 2, - buildProgress = 0.2622, - }, - } - }, - { - startX = 6000, - startZ = 1800, - humanName = "Lossili", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - --"staticantinuke", - "staticrearm", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - -- "striderhub", - -- "striderfunnelweb", - }, - commanderLevel = 6, - commander = { - name = "Broodius", - chassis = "engineer", - decorations = { - "skin_support_green", - }, - modules = { - "commweapon_lightninggun", - "commweapon_personal_shield", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_battle_drone", - "module_battle_drone", - "module_battle_drone", - "module_companion_drone", - "module_companion_drone", - "module_companion_drone", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - } - }, - midgameUnits = { - { - name = "striderfunnelweb", - x = 5000, - z = 700, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 5200, - z = 700, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "striderfunnelweb", - x = 5400, - z = 700, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "striderfunnelweb", - x = 5600, - z = 700, - facing = 0, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "striderfunnelweb", - x = 5000, - z = 700, - facing = 0, - spawnRadius = 50, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 5200, - z = 700, - facing = 0, - spawnRadius = 50, - delay = 12*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - }, - startUnits = { - { - name = "staticantinuke", - x = 5976, - z = 1856, - facing = 0, - mapMarker = { - text = "Antinuke", - color = "red_small" - }, - }, - { - name = "staticheavyarty", - x = 5008, - z = 2976, - facing = 0, - }, - { - name = "staticheavyarty", - x = 5488, - z = 3104, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticheavyarty", - x = 5488, - z = 3104, - facing = 0, - difficultyAtMost = 3, - difficultyAtLeast = 3, - buildProgress = 0.5 - }, - { - name = "staticheavyarty", - x = 5488, - z = 3104, - facing = 0, - difficultyAtMost = 2, - buildProgress = 0.1 - }, - { - name = "striderfunnelweb", - x = 5000, - z = 700, - facing = 0, - }, - { - name = "striderfunnelweb", - x = 5200, - z = 700, - facing = 0, - }, - { - name = "striderfunnelweb", - x = 5400, - z = 700, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "pw_metal", - x = 5000, - z = 2250, - facing = 0, - }, - -- - { - name = "turretheavy", - x = 6808, - z = 3192, - facing = 0, - }, - { - name = "staticmex", - x = 6056, - z = 2488, - facing = 0, - }, - { - name = "staticmex", - x = 5592, - z = 2632, - facing = 0, - }, - { - name = "staticmex", - x = 5304, - z = 2648, - facing = 0, - }, - { - name = "staticmex", - x = 4760, - z = 2056, - facing = 0, - }, - { - name = "staticmex", - x = 4920, - z = 1848, - facing = 0, - }, - { - name = "staticmex", - x = 5640, - z = 440, - facing = 0, - }, - { - name = "staticmex", - x = 6424, - z = 520, - facing = 0, - }, - { - name = "staticmex", - x = 7528, - z = 280, - facing = 0, - }, - { - name = "staticmex", - x = 7608, - z = 680, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 536, - facing = 0, - }, - { - name = "staticmex", - x = 7848, - z = 2952, - facing = 0, - }, - { - name = "staticmex", - x = 7864, - z = 3192, - facing = 0, - }, - { - name = "staticmex", - x = 6600, - z = 2648, - facing = 0, - }, - { - name = "energywind", - x = 6568, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 6488, - z = 504, - facing = 0, - }, - { - name = "staticradar", - x = 7488, - z = 448, - facing = 0, - }, - { - name = "staticmex", - x = 7880, - z = 3960, - facing = 0, - }, - { - name = "staticmex", - x = 6888, - z = 3640, - facing = 0, - }, - { - name = "turretaafar", - x = 4944, - z = 2704, - facing = 0, - }, - { - name = "turretaaflak", - x = 5256, - z = 2840, - facing = 0, - }, - { - name = "turretaaflak", - x = 5592, - z = 2904, - facing = 0, - }, - { - name = "energywind", - x = 7560, - z = 344, - facing = 0, - }, - { - name = "energywind", - x = 7576, - z = 424, - facing = 0, - }, - { - name = "energywind", - x = 7592, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 7624, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 7688, - z = 616, - facing = 0, - }, - { - name = "energywind", - x = 7768, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 7848, - z = 552, - facing = 0, - }, - { - name = "energywind", - x = 5320, - z = 2536, - facing = 0, - }, - { - name = "energywind", - x = 7528, - z = 664, - facing = 0, - }, - { - name = "energywind", - x = 5400, - z = 2536, - facing = 0, - }, - { - name = "energywind", - x = 7448, - z = 648, - facing = 0, - }, - { - name = "energywind", - x = 5480, - z = 2536, - facing = 0, - }, - { - name = "energywind", - x = 7368, - z = 632, - facing = 0, - }, - { - name = "energywind", - x = 5560, - z = 2536, - facing = 0, - }, - { - name = "energywind", - x = 5480, - z = 2616, - facing = 0, - }, - { - name = "energywind", - x = 5400, - z = 2616, - facing = 0, - }, - { - name = "energywind", - x = 7288, - z = 632, - facing = 0, - }, - { - name = "energywind", - x = 5640, - z = 2552, - facing = 0, - }, - { - name = "energywind", - x = 7208, - z = 616, - facing = 0, - }, - { - name = "energywind", - x = 5720, - z = 2552, - facing = 0, - }, - { - name = "energywind", - x = 7128, - z = 600, - facing = 0, - }, - { - name = "energywind", - x = 5800, - z = 2552, - facing = 0, - }, - { - name = "energywind", - x = 7048, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 2552, - facing = 0, - }, - { - name = "energywind", - x = 5960, - z = 2552, - facing = 0, - }, - { - name = "energywind", - x = 6968, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 6040, - z = 2552, - facing = 0, - }, - { - name = "energywind", - x = 6888, - z = 568, - facing = 0, - }, - { - name = "energywind", - x = 6040, - z = 2632, - facing = 0, - }, - { - name = "energywind", - x = 5960, - z = 2632, - facing = 0, - }, - { - name = "energywind", - x = 6808, - z = 552, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 2632, - facing = 0, - }, - { - name = "energywind", - x = 5800, - z = 2632, - facing = 0, - }, - { - name = "energywind", - x = 6728, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 5720, - z = 2632, - facing = 0, - }, - { - name = "energywind", - x = 5640, - z = 2632, - facing = 0, - }, - { - name = "energywind", - x = 6648, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 6344, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 6264, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 6184, - z = 488, - facing = 0, - }, - { - name = "staticcon", - x = 5384, - z = 2376, - facing = 0, - }, - { - name = "energywind", - x = 6104, - z = 488, - facing = 0, - }, - { - name = "staticcon", - x = 5480, - z = 2376, - facing = 0, - }, - { - name = "energywind", - x = 6024, - z = 472, - facing = 0, - }, - { - name = "striderhub", - x = 5584, - z = 2288, - facing = 0, - }, - { - name = "energywind", - x = 5944, - z = 472, - facing = 0, - }, - { - name = "energywind", - x = 5864, - z = 456, - facing = 0, - }, - { - name = "factoryspider", - x = 5464, - z = 2744, - facing = 0, - }, - { - name = "energywind", - x = 5784, - z = 456, - facing = 0, - }, - { - name = "energywind", - x = 5704, - z = 440, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 2456, - facing = 0, - }, - { - name = "energywind", - x = 5960, - z = 2456, - facing = 0, - }, - { - name = "energywind", - x = 6040, - z = 2376, - facing = 0, - }, - { - name = "energywind", - x = 5960, - z = 2376, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 2376, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 2296, - facing = 0, - }, - { - name = "energywind", - x = 5960, - z = 2296, - facing = 0, - }, - { - name = "energywind", - x = 6040, - z = 2296, - facing = 0, - }, - { - name = "energywind", - x = 6040, - z = 2216, - facing = 0, - }, - { - name = "energywind", - x = 5960, - z = 2216, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 2216, - facing = 0, - }, - { - name = "energypylon", - x = 6152, - z = 1768, - facing = 0, - }, - { - name = "energywind", - x = 5560, - z = 424, - facing = 0, - }, - { - name = "energypylon", - x = 6184, - z = 840, - facing = 0, - }, - { - name = "energywind", - x = 5480, - z = 424, - facing = 0, - }, - { - name = "energywind", - x = 5400, - z = 408, - facing = 0, - }, - { - name = "energywind", - x = 5320, - z = 408, - facing = 0, - }, - { - name = "energywind", - x = 5240, - z = 408, - facing = 0, - }, - { - name = "energywind", - x = 5160, - z = 408, - facing = 0, - }, - { - name = "energywind", - x = 5080, - z = 392, - facing = 0, - }, - { - name = "energywind", - x = 5000, - z = 392, - facing = 0, - }, - { - name = "energywind", - x = 4920, - z = 392, - facing = 0, - }, - { - name = "energywind", - x = 4840, - z = 392, - facing = 0, - }, - { - name = "energywind", - x = 4760, - z = 376, - facing = 0, - }, - { - name = "energywind", - x = 4680, - z = 376, - facing = 0, - }, - { - name = "energywind", - x = 4600, - z = 376, - facing = 0, - }, - { - name = "energywind", - x = 4520, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 4440, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 4360, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 4280, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 4200, - z = 344, - facing = 0, - }, - { - name = "energywind", - x = 4120, - z = 344, - facing = 0, - }, - { - name = "factoryjump", - x = 7336, - z = 1736, - facing = 0, - }, - { - name = "factoryamph", - x = 7480, - z = 1736, - facing = 0, - }, - { - name = "staticcon", - x = 7400, - z = 1592, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7928, - z = 3608, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7624, - z = 3512, - facing = 0, - }, - { - name = "turretriot", - x = 7768, - z = 3576, - facing = 0, - }, - { - name = "energypylon", - x = 4984, - z = 2552, - facing = 3, - }, - { - name = "energypylon", - x = 5656, - z = 2728, - facing = 3, - }, - { - name = "turretheavy", - x = 5240, - z = 3048, - facing = 0, - }, - { - name = "turretheavy", - x = 5880, - z = 3000, - facing = 0, - }, - { - name = "turretheavy", - x = 4696, - z = 2952, - facing = 0, - }, - { - name = "turretheavy", - x = 4648, - z = 2408, - facing = 3, - }, - { - name = "turretaalaser", - x = 8056, - z = 3240, - facing = 0, - }, - { - name = "turretriot", - x = 8088, - z = 3416, - facing = 0, - }, - { - name = "turretlaser", - x = 5872, - z = 1760, - facing = 3, - }, - { - name = "turretlaser", - x = 5920, - z = 2000, - facing = 0, - }, - { - name = "staticmex", - x = 6808, - z = 4008, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7032, - z = 3832, - facing = 0, - }, - { - name = "turretlaser", - x = 6096, - z = 1840, - facing = 1, - }, - { - name = "turretheavylaser", - x = 6696, - z = 3816, - facing = 0, - }, - { - name = "staticheavyradar", - x = 4592, - z = 2960, - facing = 0, - }, - { - name = "turretriot", - x = 6616, - z = 4008, - facing = 0, - }, - { - name = "staticradar", - x = 6224, - z = 1840, - facing = 0, - }, - { - name = "staticcon", - x = 5160, - z = 2856, - facing = 0, - }, - { - name = "staticshield", - x = 6016, - z = 1728, - facing = 2, - }, - { - name = "staticshield", - x = 5664, - z = 2896, - facing = 2, - }, - { - name = "staticshield", - x = 5152, - z = 2768, - facing = 2, - }, - { - name = "staticshield", - x = 4736, - z = 2656, - facing = 2, - }, - { - name = "energypylon", - x = 4552, - z = 2136, - facing = 2, - }, - { - name = "energypylon", - x = 6376, - z = 2280, - facing = 0, - }, - { - name = "energypylon", - x = 7000, - z = 2760, - facing = 0, - }, - { - name = "turretemp", - x = 6512, - z = 3136, - facing = 0, - }, - { - name = "turretemp", - x = 7120, - z = 3280, - facing = 0, - }, - { - name = "turretaalaser", - x = 7016, - z = 3112, - facing = 0, - }, - { - name = "staticcon", - x = 6600, - z = 2936, - facing = 0, - }, - { - name = "staticcon", - x = 6504, - z = 2936, - facing = 0, - }, - { - name = "dynsupport5_100", - x = 1930, - z = 879, - facing = 3, - }, - { - name = "amphimpulse", - x = 7358, - z = 1952, - facing = 2, - }, - { - name = "jumpskirm", - x = 7385, - z = 2024, - facing = 3, - }, - { - name = "jumpcon", - x = 5936, - z = 3634, - facing = 0, - }, - { - name = "dronelight", - x = 1939, - z = 912, - facing = 0, - }, - { - name = "amphcon", - x = 5948, - z = 3683, - facing = 1, - }, - { - name = "droneheavyslow", - x = 2036, - z = 845, - facing = 0, - }, - { - name = "amphcon", - x = 1264, - z = 2963, - facing = 0, - }, - { - name = "turretlaser", - x = 5584, - z = 2096, - facing = 0, - }, - { - name = "dronelight", - x = 1996, - z = 835, - facing = 3, - }, - { - name = "turretlaser", - x = 7968, - z = 4048, - facing = 3, - }, - { - name = "dronelight", - x = 1901, - z = 780, - facing = 3, - }, - { - name = "jumpcon", - x = 599, - z = 601, - facing = 2, - }, - { - name = "amphraid", - x = 5586, - z = 4024, - facing = 0, - }, - { - name = "droneheavyslow", - x = 1964, - z = 868, - facing = 3, - }, - { - name = "jumpcon", - x = 700, - z = 817, - facing = 2, - }, - { - name = "jumpaa", - x = 6600, - z = 4228, - facing = 3, - }, - { - name = "jumpassault", - x = 6654, - z = 3226, - facing = 2, - }, - { - name = "droneheavyslow", - x = 1990, - z = 854, - facing = 0, - }, - { - name = "amphraid", - x = 6344, - z = 2110, - facing = 0, - }, - { - name = "turretlaser", - x = 7888, - z = 2960, - facing = 3, - }, - { - name = "turretlaser", - x = 4912, - z = 1968, - facing = 0, - }, - { - name = "turretlaser", - x = 7760, - z = 384, - facing = 3, - }, - { - name = "turretlaser", - x = 5392, - z = 2336, - facing = 0, - }, - { - name = "jumpassault", - x = 7013, - z = 4433, - facing = 3, - }, - { - name = "staticradar", - x = 7728, - z = 3120, - facing = 3, - }, - { - name = "amphcon", - x = 7856, - z = 4490, - facing = 2, - }, - { - name = "amphfloater", - x = 6718, - z = 4484, - facing = 3, - }, - { - name = "energysolar", - x = 6008, - z = 2744, - facing = 3, - }, - { - name = "jumpskirm", - x = 6616, - z = 4475, - facing = 3, - }, - { - name = "staticstorage", - x = 6088, - z = 2408, - facing = 3, - }, - { - name = "turretlaser", - x = 5536, - z = 240, - facing = 0, - }, - { - name = "jumpassault", - x = 7329, - z = 1861, - facing = 2, - }, - { - name = "amphaa", - x = 6951, - z = 4461, - facing = 1, - }, - { - name = "turretlaser", - x = 5408, - z = 2160, - facing = 0, - }, - { - name = "turretlaser", - x = 3840, - z = 320, - facing = 0, - }, - { - name = "jumpcon", - x = 7664, - z = 2662, - facing = 0, - }, - { - name = "amphfloater", - x = 7325, - z = 1964, - facing = 2, - }, - { - name = "energysolar", - x = 6264, - z = 2552, - facing = 3, - }, - { - name = "turretlaser", - x = 608, - z = 496, - facing = 0, - buildProgress = 0.29069999, - }, - { - name = "turretlaser", - x = 6688, - z = 2624, - facing = 3, - }, - { - name = "amphfloater", - x = 7376, - z = 1921, - facing = 2, - }, - { - name = "turretlaser", - x = 3568, - z = 1520, - facing = 0, - }, - { - name = "energypylon", - x = 6664, - z = 3752, - facing = 3, - }, - { - name = "energypylon", - x = 1960, - z = 1880, - facing = 0, - }, - { - name = "jumpassault", - x = 7424, - z = 1945, - facing = 2, - }, - { - name = "staticmex", - x = 7992, - z = 4136, - facing = 0, - }, - { - name = "amphfloater", - x = 7133, - z = 1692, - facing = 2, - }, - { - name = "staticmex", - x = 7848, - z = 4824, - facing = 0, - }, - { - name = "turretlaser", - x = 6848, - z = 3680, - facing = 3, - }, - { - name = "energywind", - x = 6776, - z = 3288, - facing = 3, - }, - { - name = "turretlaser", - x = 1952, - z = 2000, - facing = 0, - }, - { - name = "staticmex", - x = 8040, - z = 4696, - facing = 0, - }, - { - name = "jumpassault", - x = 7158, - z = 1669, - facing = 2, - }, - { - name = "turretlaser", - x = 8048, - z = 4656, - facing = 3, - }, - { - name = "amphaa", - x = 7459, - z = 1971, - facing = 1, - }, - { - name = "turretlaser", - x = 2496, - z = 672, - facing = 0, - }, - { - name = "staticmex", - x = 5992, - z = 3720, - facing = 0, - }, - { - name = "staticradar", - x = 7872, - z = 4656, - facing = 3, - }, - { - name = "amphraid", - x = 6944, - z = 1568, - facing = 3, - }, - { - name = "jumpraid", - x = 7336, - z = 1760, - facing = 0, - buildProgress = 0.80900002, - }, - { - name = "staticradar", - x = 5872, - z = 3664, - facing = 3, - buildProgress = 0.82120001, - }, - { - name = "turretlaser", - x = 6032, - z = 3744, - facing = 3, - buildProgress = 0.72490001, - }, - { - name = "energypylon", - x = 7800, - z = 4392, - facing = 3, - buildProgress = 0.28740001, - }, - { - name = "amphraid", - x = 7480, - z = 1772, - facing = 0, - buildProgress = 0.89160001, - }, - } - }, - { - humanName = "Friefus", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - --"staticantinuke", - "staticrearm", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - -- "striderhub", - -- "striderfunnelweb", - }, - commander = false, - startUnits = { - { - name = "striderhub", - x = 1648, - z = 448, - facing = 0, - }, - { - name = "staticmex", - x = 2008, - z = 1880, - facing = 0, - }, - { - name = "staticmex", - x = 2456, - z = 2280, - facing = 0, - }, - { - name = "staticmex", - x = 2648, - z = 2184, - facing = 0, - }, - { - name = "staticmex", - x = 3608, - z = 1560, - facing = 0, - }, - { - name = "staticmex", - x = 3768, - z = 536, - facing = 0, - }, - { - name = "staticmex", - x = 4040, - z = 376, - facing = 0, - }, - { - name = "staticmex", - x = 2344, - z = 440, - facing = 0, - }, - { - name = "staticmex", - x = 744, - z = 648, - facing = 0, - }, - { - name = "staticmex", - x = 680, - z = 328, - facing = 0, - }, - { - name = "staticmex", - x = 408, - z = 568, - facing = 0, - }, - { - name = "energyheavygeo", - x = 1240, - z = 1080, - facing = 0, - }, - { - name = "energysolar", - x = 600, - z = 440, - facing = 0, - }, - { - name = "energysolar", - x = 680, - z = 584, - facing = 0, - }, - { - name = "energysolar", - x = 504, - z = 552, - facing = 0, - }, - { - name = "energysolar", - x = 840, - z = 728, - facing = 0, - }, - { - name = "energysolar", - x = 984, - z = 824, - facing = 0, - }, - { - name = "energysolar", - x = 1128, - z = 920, - facing = 0, - }, - { - name = "energywind", - x = 1352, - z = 952, - facing = 0, - }, - { - name = "energywind", - x = 1432, - z = 920, - facing = 0, - }, - { - name = "energywind", - x = 1512, - z = 872, - facing = 0, - }, - { - name = "energywind", - x = 1592, - z = 840, - facing = 0, - }, - { - name = "energywind", - x = 1672, - z = 808, - facing = 0, - }, - { - name = "energywind", - x = 1752, - z = 760, - facing = 0, - }, - { - name = "energywind", - x = 1832, - z = 728, - facing = 0, - }, - { - name = "energywind", - x = 1912, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 1992, - z = 648, - facing = 0, - }, - { - name = "energywind", - x = 2072, - z = 616, - facing = 0, - }, - { - name = "energywind", - x = 2152, - z = 568, - facing = 0, - }, - { - name = "energywind", - x = 2232, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 2312, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 2392, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 2472, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 2552, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 2632, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 2712, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 2792, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 2872, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 2952, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 3032, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 3112, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 3192, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 3272, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 3352, - z = 520, - facing = 0, - }, - { - name = "energywind", - x = 3432, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 3512, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 3592, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 3672, - z = 536, - facing = 0, - }, - { - name = "turretmissile", - x = 2448, - z = 1888, - facing = 0, - }, - { - name = "turretmissile", - x = 2224, - z = 2000, - facing = 0, - }, - { - name = "turretmissile", - x = 2064, - z = 2224, - facing = 0, - }, - { - name = "staticrearm", - x = 1320, - z = 664, - facing = 3, - }, - { - name = "factoryplane", - x = 1448, - z = 672, - facing = 3, - }, - { - name = "energysolar", - x = 1544, - z = 648, - facing = 2, - }, - { - name = "energysolar", - x = 1544, - z = 728, - facing = 2, - }, - { - name = "energysolar", - x = 1464, - z = 776, - facing = 1, - }, - { - name = "energysolar", - x = 1384, - z = 776, - facing = 1, - }, - { - name = "energysolar", - x = 1432, - z = 568, - facing = 3, - }, - { - name = "energysolar", - x = 1512, - z = 568, - facing = 3, - }, - { - name = "energysolar", - x = 1352, - z = 552, - facing = 3, - }, - { - name = "energysolar", - x = 1272, - z = 552, - facing = 3, - }, - { - name = "energysolar", - x = 1304, - z = 776, - facing = 3, - }, - { - name = "energysolar", - x = 1208, - z = 632, - facing = 3, - }, - { - name = "energysolar", - x = 1208, - z = 712, - facing = 3, - }, - { - name = "energysolar", - x = 1224, - z = 792, - facing = 3, - }, - { - name = "staticcon", - x = 1576, - z = 584, - facing = 3, - }, - { - name = "staticcon", - x = 1416, - z = 504, - facing = 3, - }, - { - name = "factoryspider", - x = 3576, - z = 760, - facing = 0, - }, - { - name = "staticcon", - x = 3608, - z = 632, - facing = 0, - }, - { - name = "staticcon", - x = 3544, - z = 632, - facing = 0, - }, - { - name = "factoryshield", - x = 656, - z = 1768, - facing = 0, - }, - { - name = "staticcon", - x = 696, - z = 1592, - facing = 0, - }, - { - name = "staticcon", - x = 616, - z = 1592, - facing = 0, - }, - { - name = "staticheavyradar", - x = 2576, - z = 1792, - facing = 0, - }, - { - name = "energypylon", - x = 3384, - z = 1064, - facing = 2, - }, - { - name = "energypylon", - x = 3912, - z = 1688, - facing = 2, - }, - { - name = "turretheavy", - x = 3880, - z = 2184, - facing = 0, - }, - { - name = "turretemp", - x = 3920, - z = 2400, - facing = 0, - }, - { - name = "turretemp", - x = 4272, - z = 2480, - facing = 0, - }, - { - name = "turretaaflak", - x = 4120, - z = 1992, - facing = 0, - }, - { - name = "turretaaflak", - x = 3704, - z = 1912, - facing = 0, - }, - { - name = "turretaafar", - x = 2720, - z = 1504, - facing = 0, - }, - { - name = "turretaaheavy", - x = 1440, - z = 1360, - facing = 0, - }, - { - name = "turretlaser", - x = 1344, - z = 1424, - facing = 0, - }, - { - name = "turretlaser", - x = 1552, - z = 1344, - facing = 0, - }, - { - name = "energypylon", - x = 1112, - z = 1672, - facing = 0, - }, - { - name = "energypylon", - x = 456, - z = 2344, - facing = 0, - }, - { - name = "turretantiheavy", - x = 320, - z = 2768, - facing = 0, - }, - { - name = "turretriot", - x = 696, - z = 2440, - facing = 1, - }, - { - name = "turretriot", - x = 696, - z = 2696, - facing = 1, - }, - { - name = "turretriot", - x = 568, - z = 2904, - facing = 0, - }, - { - name = "turretriot", - x = 152, - z = 2952, - facing = 0, - }, - { - name = "turretaaflak", - x = 312, - z = 2552, - facing = 0, - }, - { - name = "energypylon", - x = 1400, - z = 2392, - facing = 0, - }, - { - name = "turretheavy", - x = 1416, - z = 2872, - facing = 0, - }, - { - name = "turretemp", - x = 1168, - z = 2912, - facing = 0, - }, - { - name = "turretemp", - x = 1632, - z = 2928, - facing = 0, - }, - { - name = "staticcon", - x = 888, - z = 2440, - facing = 0, - }, - { - name = "staticcon", - x = 1000, - z = 2440, - facing = 0, - }, - { - name = "staticcon", - x = 3144, - z = 1624, - facing = 0, - }, - { - name = "staticcon", - x = 3240, - z = 1624, - facing = 0, - }, - { - name = "turretmissile", - x = 3392, - z = 1856, - facing = 0, - }, - { - name = "turretmissile", - x = 3152, - z = 1760, - facing = 0, - }, - { - name = "turretmissile", - x = 2896, - z = 1744, - facing = 0, - }, - { - name = "turretmissile", - x = 2704, - z = 1760, - facing = 0, - }, - { - name = "energypylon", - x = 3672, - z = 392, - facing = 2, - }, - { - name = "bomberheavy", - x = 2588, - z = 2139, - facing = 2, - }, - { - name = "spideremp", - x = 3271, - z = 3598, - facing = 0, - }, - { - name = "spiderassault", - x = 3612, - z = 2033, - facing = 0, - }, - { - name = "bomberprec", - x = 3495, - z = 1759, - facing = 0, - }, - { - name = "shieldassault", - x = 1280, - z = 4864, - facing = 0, - }, - { - name = "spidercon", - x = 3988, - z = 3726, - facing = 3, - }, - { - name = "shieldassault", - x = 1327, - z = 4806, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 5792, - z = 5203, - facing = 0, - }, - { - name = "shieldcon", - x = 1621, - z = 3178, - facing = 0, - }, - { - name = "shieldcon", - x = 4012, - z = 3061, - facing = 0, - }, - { - name = "staticradar", - x = 3408, - z = 1552, - facing = 0, - }, - { - name = "staticstorage", - x = 2296, - z = 456, - facing = 0, - }, - { - name = "spidercon", - x = 4735, - z = 1543, - facing = 1, - }, - { - name = "spiderscout", - x = 4485, - z = 5498, - facing = 3, - }, - { - name = "energypylon", - x = 2264, - z = 200, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 3320, - facing = 0, - }, - { - name = "shieldfelon", - x = 1640, - z = 3206, - facing = 3, - patrolRoute = { - {1643, 3207}, - {1512, 3080}, - }, - }, - { - name = "spidercon", - x = 2423, - z = 2045, - facing = 0, - }, - { - name = "staticmex", - x = 504, - z = 3384, - facing = 0, - }, - { - name = "spiderassault", - x = 3332, - z = 3661, - facing = 1, - }, - { - name = "turretlaser", - x = 448, - z = 3248, - facing = 1, - }, - { - name = "energypylon", - x = 5352, - z = 1960, - facing = 0, - }, - { - name = "staticstorage", - x = 2280, - z = 552, - facing = 0, - }, - { - name = "shieldskirm", - x = 1277, - z = 4898, - facing = 0, - }, - { - name = "spideremp", - x = 1348, - z = 4865, - facing = 3, - }, - { - name = "shieldcon", - x = 3879, - z = 1967, - facing = 1, - }, - { - name = "staticradar", - x = 288, - z = 3216, - facing = 1, - }, - { - name = "turretlaser", - x = 1824, - z = 480, - facing = 0, - }, - { - name = "turretlaser", - x = 1648, - z = 256, - facing = 0, - }, - { - name = "staticmex", - x = 312, - z = 4008, - facing = 0, - }, - { - name = "staticmex", - x = 296, - z = 4264, - facing = 0, - }, - { - name = "shieldraid", - x = 3615, - z = 3454, - facing = 0, - }, - { - name = "spiderscout", - x = 5536, - z = 4447, - facing = 2, - }, - { - name = "shieldassault", - x = 1285, - z = 4820, - facing = 0, - }, - { - name = "shieldfelon", - x = 735, - z = 2161, - facing = 0, - }, - { - name = "turretlaser", - x = 224, - z = 4240, - facing = 1, - }, - { - name = "planeheavyfighter", - x = 4820, - z = 3735, - facing = 2, - }, - { - name = "energywind", - x = 728, - z = 696, - facing = 0, - }, - { - name = "shieldassault", - x = 1316, - z = 4844, - facing = 0, - }, - { - name = "shieldraid", - x = 4005, - z = 2129, - facing = 0, - }, - { - name = "staticradar", - x = 640, - z = 672, - facing = 0, - }, - { - name = "shieldassault", - x = 1292, - z = 4780, - facing = 0, - }, - { - name = "shieldaa", - x = 4195, - z = 2803, - facing = 0, - }, - { - name = "spiderscout", - x = 5004, - z = 4613, - facing = 2, - }, - { - name = "staticradar", - x = 1984, - z = 1840, - facing = 0, - }, - { - name = "planecon", - x = 821, - z = 3720, - facing = 0, - }, - { - name = "shieldassault", - x = 1326, - z = 4764, - facing = 0, - }, - { - name = "shieldassault", - x = 1253, - z = 4797, - facing = 0, - }, - { - name = "staticmex", - x = 4200, - z = 3912, - facing = 0, - }, - { - name = "shieldassault", - x = 1315, - z = 4885, - facing = 2, - }, - { - name = "bomberdisarm", - x = 3710, - z = 3677, - facing = 1, - }, - { - name = "planecon", - x = 2891, - z = 3064, - facing = 1, - }, - { - name = "turrettorp", - x = 2552, - z = 2168, - facing = 0, - }, - { - name = "spiderscout", - x = 5642, - z = 4337, - facing = 1, - }, - { - name = "spiderscout", - x = 4572, - z = 5444, - facing = 3, - }, - { - name = "spiderscout", - x = 4407, - z = 5584, - facing = 3, - }, - { - name = "shieldassault", - x = 1249, - z = 4840, - facing = 1, - }, - { - name = "spiderscout", - x = 4786, - z = 5115, - facing = 0, - }, - { - name = "bomberdisarm", - x = 763, - z = 1421, - facing = 2, - }, - { - name = "spiderscout", - x = 5021, - z = 4716, - facing = 2, - }, - { - name = "shieldraid", - x = 4094, - z = 3154, - facing = 0, - }, - { - name = "shieldassault", - x = 991, - z = 4368, - facing = 0, - }, - { - name = "spiderscout", - x = 3392, - z = 3881, - facing = 1, - }, - { - name = "spidercon", - x = 3277, - z = 2807, - facing = 0, - }, - { - name = "staticmex", - x = 3032, - z = 3064, - facing = 0, - }, - { - name = "spiderscout", - x = 3798, - z = 2838, - facing = 0, - }, - { - name = "spiderscout", - x = 4533, - z = 3401, - facing = 0, - }, - { - name = "spidercon", - x = 3975, - z = 1551, - facing = 1, - }, - { - name = "spidercon", - x = 3736, - z = 1192, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 1431, - z = 1025, - facing = 0, - }, - { - name = "shieldcon", - x = 592, - z = 2223, - facing = 0, - }, - { - name = "turretlaser", - x = 3808, - z = 3696, - facing = 1, - buildProgress = 0.43880001, - }, - { - name = "planeheavyfighter", - x = 1427, - z = 634, - facing = 3, - buildProgress = 0.33109999, - }, - { - name = "spiderscout", - x = 3676, - z = 959, - facing = 0, - }, - { - name = "shieldshield", - x = 656, - z = 1780, - facing = 0, - buildProgress = 0.0799, - }, - { - name = "spidercon", - x = 3576, - z = 796, - facing = 0, - buildProgress = 0.0949, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "striderhub", - "striderfunnelweb", - "staticheavyarty", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Big Berthas, Funnelwebs and Strider Hubs", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - onlyCountRemovedUnits = true, - satisfyByTime = 15*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "staticheavyarty", - }, - image = planetUtilities.ICON_DIR .. "staticheavyarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy an enemy Big Bertha by 15:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyByTime = 15*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - enemyUnitTypes = { - "striderfunnelweb", - }, - image = planetUtilities.ICON_DIR .. "striderfunnelweb.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy three enemy Funnelwebs by 15:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "staticnuke", - "staticantinuke", - }, - modules = { - "module_dmg_booster_LIMIT_D_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet56.lua b/campaign/dev/planets/planet56.lua deleted file mode 100644 index a7e5c2e00..000000000 --- a/campaign/dev/planets/planet56.lua +++ /dev/null @@ -1,1462 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/desert02.png" - - local planetData = { - name = "Deuliah", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.605, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.06, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Desert", - radius = "7270 km", - primary = "Nassia", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24510", - text = [[Many raiders have tried - and failed - to take the ancient technology on this planet by brute force. The automated defence system has decayed over time but a Detriment crushes any attempt to build a base. Stay on the move with Athena mobile constructors, building up an army to destroy the Detriment.]] - }, - tips = { - { - image = "unitpics/athena.png", - text = [[The Athena SpecOps Engineer can build a variety of useful units. It cloaks and moves quite fast, so unlike factories it can avoid enemy attacks.]] - }, - { - image = "unitpics/module_resurrect.png", - text = [[Previous attempts to take this planet have left many wreckages. Athenas can resurrect these wrecks and add them to your army.]] - }, - { - image = "unitpics/striderdetriment.png", - text = [[The Detriment is a fearsome strider armed with gauss guns, missiles, and powerful laser beams. A fair fight against the Detriment would be futile - destroy its escorts then counter it with anti-heavies to balance the odds.]] - }, - { - image = "unitpics/strike.png", - text = [[A small Interloper base is still active, which will distract the Detriment while you establish an army and economy.]] - } - }, - gameConfig = { - mapName = "Grts_DesertValley_012", - playerConfig = { - startX = 320, - startZ = 450, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderhub", - "athena", - "staticcon", - "staticradar", - "staticheavyradar", - "staticjammer", - "cloakcon", - "spiderscout", - "shieldraid", - "hoverassault", - "spiderantiheavy", - "cloakheavyraid", - "jumpskirm", - "spiderskirm", - "tankheavyraid", - "cloakassault", - "cloaksnipe", - "vehheavyarty", - "cloakaa", - "shieldshield", - "cloakjammer", - "amphtele", - }, - startUnits = { - { - name = "gunshipheavytrans", - x = 373, - z = 100, - facing = 1, - }, - { - name = "staticmex", - x = 264, - z = 264, - facing = 0, - }, - { - name = "staticmex", - x = 440, - z = 472, - facing = 0, - }, - { - name = "energypylon", - x = 150, - z = 130, - facing = 0, - }, - { - name = "energyfusion", - x = 200, - z = 32, - facing = 0, - }, - { - name = "energyfusion", - x = 32, - z = 232, - facing = 1, - }, - { - name = "energyfusion", - x = 32, - z = 120, - facing = 1, - }, - { - name = "planescout", - x = 10160, - z = 266, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {2670, 297}}, - }, - }, - { - name = "planescout", - x = 4200, - z = 9929, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1818, 3628}}, - }, - }, - { - name = "striderhub", - x = 400, - z = 272, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {425, 297}}, - }, - }, - { - name = "staticheavyradar", - x = 416, - z = 624, - facing = 1, - terraformHeight = 1621, - }, - { - name = "athena", - x = 512, - z = 160, - facing = 1, - }, - { - name = "athena", - x = 560, - z = 240, - facing = 1, - }, - { - name = "athena", - x = 528, - z = 336, - facing = 1, - }, - { - name = "athena", - x = 528, - z = 432, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 8600, - startZ = 1000, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Interloper", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "turretlaser", - "staticmex", - "energysolar", - "staticcon", - "staticradar", - "cloakcon", - "cloakraid", - "cloakskirm", - "cloakriot", - "cloakassault", - "cloakarty", - "cloakaa", - }, - commanderLevel = 4, - commander = { - name = "Dolor", - chassis = "strike", - decorations = { - }, - modules = { - "commweapon_shotgun", - "commweapon_shotgun", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_targeting", - "module_adv_targeting", - } - }, - startUnits = { - { - name = "factorycloak", - x = 8584, - z = 1856, - facing = 0, - }, - { - name = "staticmex", - x = 8136, - z = 1720, - facing = 0, - }, - { - name = "staticmex", - x = 8184, - z = 1384, - facing = 0, - }, - { - name = "staticmex", - x = 8520, - z = 1416, - facing = 0, - }, - { - name = "staticmex", - x = 8936, - z = 1560, - facing = 0, - }, - { - name = "staticmex", - x = 9144, - z = 1768, - facing = 0, - }, - { - name = "energysolar", - x = 9016, - z = 1736, - facing = 0, - }, - { - name = "energysolar", - x = 8856, - z = 1640, - facing = 0, - }, - { - name = "energysolar", - x = 8680, - z = 1576, - facing = 0, - }, - { - name = "energysolar", - x = 8488, - z = 1528, - facing = 0, - }, - { - name = "energysolar", - x = 8312, - z = 1448, - facing = 0, - }, - { - name = "energysolar", - x = 8216, - z = 1608, - facing = 0, - }, - { - name = "staticcon", - x = 8584, - z = 1704, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8584, 1704}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8559, 1729}, options = {"shift"}}, - }, - }, - { - name = "cloakcon", - x = 9918, - z = 1600, - facing = 1, - }, - { - name = "cloakcon", - x = 8461, - z = 1176, - facing = 0, - }, - { - name = "staticmex", - x = 9432, - z = 1528, - facing = 0, - }, - { - name = "staticmex", - x = 9912, - z = 1448, - facing = 0, - }, - { - name = "staticmex", - x = 8920, - z = 936, - facing = 0, - }, - { - name = "staticmex", - x = 10040, - z = 1176, - facing = 0, - }, - { - name = "energysolar", - x = 9976, - z = 1272, - facing = 0, - }, - { - name = "staticmex", - x = 8840, - z = 568, - facing = 0, - }, - { - name = "energysolar", - x = 9832, - z = 1400, - facing = 0, - }, - { - name = "energysolar", - x = 8872, - z = 808, - facing = 0, - }, - { - name = "energysolar", - x = 9656, - z = 1464, - facing = 0, - }, - { - name = "energysolar", - x = 8856, - z = 680, - facing = 0, - }, - { - name = "energysolar", - x = 9480, - z = 1448, - facing = 0, - }, - { - name = "turretaalaser", - x = 8344, - z = 1704, - facing = 0, - }, - { - name = "turretaalaser", - x = 9144, - z = 1336, - facing = 0, - }, - { - name = "turretlaser", - x = 8624, - z = 560, - facing = 3, - }, - { - name = "turretlaser", - x = 8032, - z = 1472, - facing = 3, - }, - { - name = "turretlaser", - x = 8640, - z = 992, - facing = 3, - }, - { - name = "turretlaser", - x = 9392, - z = 1696, - facing = 0, - }, - { - name = "turretriot", - x = 8376, - z = 1944, - facing = 0, - }, - { - name = "turretlaser", - x = 10016, - z = 1600, - facing = 0, - }, - { - name = "turretriot", - x = 8760, - z = 1944, - facing = 0, - }, - { - name = "cloakassault", - x = 8559, - z = 1081, - facing = 2, - }, - { - name = "cloakassault", - x = 7987, - z = 783, - facing = 2, - }, - { - name = "cloakriot", - x = 9698, - z = 1661, - facing = 1, - }, - { - name = "cloakriot", - x = 8698, - z = 1091, - facing = 2, - }, - { - name = "cloakarty", - x = 7935, - z = 1774, - facing = 3, - }, - { - name = "cloakarty", - x = 9072, - z = 1456, - facing = 1, - }, - { - name = "cloakskirm", - x = 7818, - z = 1680, - facing = 3, - }, - { - name = "cloakskirm", - x = 9070, - z = 1490, - facing = 1, - }, - } - }, - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Automaton", - commanderParameters = { - facplop = false, - }, - allyTeam = 2, - unlocks = { - "vehscout", - "vehraid", - "vehriot", - "vehassault", - "vehsupport", - "vehaa", - "shieldraid", - "shieldskirm", - "shieldriot", - "shieldassault", - "shieldaa", - }, - commander = false, - startUnits = { - -- { - -- name = "striderbantha", - -- x = 8163, - -- z = 9240, - -- facing = 2, - -- }, - { - name = "striderdetriment", - x = 8163, - z = 9240, - facing = 2, - }, - { - name = "staticheavyradar", - x = 6272, - z = 5984, - facing = 0, - }, - { - name = "staticheavyradar", - x = 4832, - z = 1456, - facing = 0, - }, - { - name = "staticheavyradar", - x = 16, - z = 7232, - facing = 0, - }, - { - name = "staticheavyradar", - x = 4848, - z = 9552, - facing = 0, - }, - { - name = "staticheavyradar", - x = 10208, - z = 3520, - facing = 0, - }, - { - name = "energysolar", - x = 8600, - z = 8816, - facing = 0, - }, - { - name = "energysolar", - x = 10040, - z = 8584, - facing = 3, - }, - { - name = "energysolar", - x = 9960, - z = 8632, - facing = 2, - }, - { - name = "energysolar", - x = 9912, - z = 8552, - facing = 1, - }, - { - name = "energysolar", - x = 9992, - z = 8504, - facing = 0, - }, - { - name = "energysolar", - x = 8904, - z = 8832, - facing = 0, - }, - { - name = "energysolar", - x = 8904, - z = 8560, - facing = 0, - }, - { - name = "energysolar", - x = 8616, - z = 8560, - facing = 0, - }, - { - name = "staticmex", - x = 9672, - z = 7528, - facing = 0, - }, - { - name = "energysolar", - x = 9736, - z = 7544, - facing = 3, - }, - { - name = "energysolar", - x = 9656, - z = 7592, - facing = 2, - }, - { - name = "staticcon", - x = 8760, - z = 8680, - facing = 1, - }, - { - name = "energysolar", - x = 9608, - z = 7512, - facing = 1, - }, - { - name = "energysolar", - x = 9688, - z = 7464, - facing = 0, - }, - { - name = "factoryshield", - x = 9928, - z = 8016, - facing = 3, - }, - { - name = "turretaaflak", - x = 9944, - z = 7880, - facing = 3, - }, - { - name = "turretaaflak", - x = 9944, - z = 8168, - facing = 3, - }, - { - name = "staticheavyradar", - x = 8608, - z = 9856, - facing = 0, - }, - { - name = "shieldraid", - x = 8010, - z = 9118, - facing = 1, - }, - { - name = "shieldraid", - x = 8209, - z = 9427, - facing = 2, - }, - { - name = "shieldraid", - x = 8009, - z = 9347, - facing = 2, - }, - { - name = "shieldraid", - x = 8230, - z = 9096, - facing = 1, - }, - { - name = "shieldraid", - x = 8303, - z = 9251, - facing = 2, - }, - { - name = "staticmex", - x = 2008, - z = 9224, - facing = 0, - }, - { - name = "staticmex", - x = 2328, - z = 9304, - facing = 0, - }, - { - name = "staticmex", - x = 1464, - z = 8552, - facing = 3, - }, - { - name = "staticmex", - x = 1704, - z = 8600, - facing = 3, - }, - { - name = "staticmex", - x = 1880, - z = 8376, - facing = 3, - }, - { - name = "energysolar", - x = 2120, - z = 9208, - facing = 3, - }, - { - name = "energysolar", - x = 2232, - z = 9112, - facing = 3, - }, - { - name = "energysolar", - x = 2248, - z = 9240, - facing = 3, - }, - { - name = "energysolar", - x = 1576, - z = 8584, - facing = 3, - }, - { - name = "energysolar", - x = 1784, - z = 8488, - facing = 3, - }, - { - name = "factoryveh", - x = 1768, - z = 8952, - facing = 1, - }, - { - name = "vehraid", - x = 1037, - z = 8082, - facing = 3, - }, - { - name = "vehraid", - x = 2428, - z = 9020, - facing = 1, - }, - { - name = "vehraid", - x = 1556, - z = 8285, - facing = 2, - }, - { - name = "vehsupport", - x = 2197, - z = 8502, - facing = 1, - }, - { - name = "vehsupport", - x = 2868, - z = 9365, - facing = 1, - }, - { - name = "striderdante", - x = 1576, - z = 8725, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "shieldraid", - x = 5243, - z = 4884, - facing = 0, - }, - { - name = "turretaaclose", - x = 1576, - z = 8776, - facing = 1, - }, - { - name = "turretaaclose", - x = 1800, - z = 9144, - facing = 1, - }, - { - name = "turretaaclose", - x = 2072, - z = 8680, - facing = 1, - }, - { - name = "turretriot", - x = 1624, - z = 8440, - facing = 2, - }, - { - name = "turretriot", - x = 2104, - z = 9336, - facing = 0, - }, - { - name = "turretriot", - x = 2392, - z = 9160, - facing = 1, - }, - { - name = "turretlaser", - x = 112, - z = 7184, - facing = 1, - }, - { - name = "shieldraid", - x = 5260, - z = 4995, - facing = 0, - }, - { - name = "shieldraid", - x = 5349, - z = 5144, - facing = 0, - }, - { - name = "shieldraid", - x = 5502, - z = 5072, - facing = 0, - }, - { - name = "shieldraid", - x = 5547, - z = 4903, - facing = 0, - }, - { - name = "shieldraid", - x = 5390, - z = 4854, - facing = 0, - }, - { - name = "turretlaser", - x = 4944, - z = 1344, - facing = 3, - }, - { - name = "turretlaser", - x = 10208, - z = 3424, - facing = 3, - }, - { - name = "turretlaser", - x = 6288, - z = 5936, - facing = 2, - }, - { - name = "turretlaser", - x = 4768, - z = 9584, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3704, - z = 1256, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2040, - z = 2808, - facing = 0, - }, - { - name = "turretriot", - x = 2408, - z = 2744, - facing = 0, - }, - { - name = "turretemp", - x = 1472, - z = 5552, - facing = 2, - }, - { - name = "turretlaser", - x = 1360, - z = 5584, - facing = 2, - }, - { - name = "turretlaser", - x = 1568, - z = 5648, - facing = 2, - }, - { - name = "turretriot", - x = 2488, - z = 7096, - facing = 2, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_metal", - x = 8736, - z = 8096, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_warpgate", - x = 9392, - z = 8696, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_inhibitor", - x = 9400, - z = 8088, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_mstorage2", - x = 9400, - z = 8216, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_mstorage2", - x = 9400, - z = 7960, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_bomberfac", - x = 1216, - z = 8984, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - }, - initialWrecks = { - { - name = "spiderassault_dead", - x = 445, - z = 3774, - facing = 0, - }, - { - name = "spiderassault_dead", - x = 539, - z = 3668, - facing = 0, - }, - { - name = "spiderassault_dead", - x = 718, - z = 3714, - facing = 0, - }, - { - name = "spiderassault_dead", - x = 647, - z = 4007, - facing = 0, - }, - { - name = "spiderassault_dead", - x = 365, - z = 3586, - facing = 0, - }, - { - name = "tankassault_dead", - x = 3904, - z = 7102, - facing = 0, - }, - { - name = "tankassault_dead", - x = 4111, - z = 7237, - facing = 0, - }, - { - name = "tankassault_dead", - x = 4402, - z = 7284, - facing = 0, - }, - { - name = "shieldarty_dead", - x = 4956, - z = 2606, - facing = 0, - }, - { - name = "shieldarty_dead", - x = 5008, - z = 2888, - facing = 0, - }, - { - name = "shieldskirm_dead", - x = 5093, - z = 2758, - facing = 0, - }, - { - name = "shieldskirm_dead", - x = 5075, - z = 2614, - facing = 0, - }, - { - name = "shieldskirm_dead", - x = 4916, - z = 3232, - facing = 0, - }, - { - name = "shieldskirm_dead", - x = 4922, - z = 3065, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1261, - z = 1984, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1396, - z = 1938, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1490, - z = 1798, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1386, - z = 1799, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1542, - z = 1696, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1669, - z = 1780, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1869, - z = 1633, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1809, - z = 1589, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1903, - z = 1440, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1987, - z = 1323, - facing = 0, - }, - { - name = "cloakraid_dead", - x = 1634, - z = 1514, - facing = 0, - }, - { - name = "tankarty_dead", - x = 4288, - z = 7124, - facing = 0, - }, - { - name = "striderscorpion_dead", - x = 6176, - z = 8172, - facing = 0, - }, - { - name = "spideremp_dead", - x = 6028, - z = 8077, - facing = 0, - }, - { - name = "spideremp_dead", - x = 6337, - z = 8319, - facing = 0, - }, - { - name = "spideremp_dead", - x = 6319, - z = 8067, - facing = 0, - }, - { - name = "jumpsumo_dead", - x = 9953, - z = 5034, - facing = 0, - }, - { - name = "jumpraid_dead", - x = 9765, - z = 5023, - facing = 0, - }, - { - name = "hoverskirm_dead", - x = 5966, - z = 3317, - facing = 0, - }, - { - name = "hoverskirm_dead", - x = 6115, - z = 3430, - facing = 0, - }, - { - name = "hoverskirm_dead", - x = 6168, - z = 3562, - facing = 0, - }, - { - name = "hoverraid_dead", - x = 6140, - z = 3604, - facing = 0, - }, - { - name = "hoverraid_dead", - x = 6197, - z = 3766, - facing = 0, - }, - { - name = "hoverraid_dead", - x = 5984, - z = 3643, - facing = 0, - }, - { - name = "hoverraid_dead", - x = 6086, - z = 3300, - facing = 0, - }, - { - name = "shieldriot_dead", - x = 2187, - z = 4230, - facing = 0, - }, - { - name = "shieldassault_dead", - x = 2123, - z = 4185, - facing = 0, - }, - { - name = "shieldassault_dead", - x = 2224, - z = 4253, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2184, - z = 232, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2296, - z = 776, - facing = 0, - }, - { - name = "staticmex_dead", - x = 472, - z = 3896, - facing = 0, - }, - { - name = "staticmex_dead", - x = 680, - z = 3480, - facing = 0, - }, - { - name = "staticmex_dead", - x = 4472, - z = 2616, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 177, - z = 8212, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 236, - z = 8433, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 201, - z = 8782, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 402, - z = 9086, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 666, - z = 9326, - facing = 0, - }, - { - name = "cloakheavyraid_dead", - x = 542, - z = 9319, - facing = 0, - }, - { - name = "cloakassault_dead", - x = 6973, - z = 456, - facing = 0, - }, - { - name = "cloakassault_dead", - x = 7115, - z = 435, - facing = 0, - }, - { - name = "cloakassault_dead", - x = 7664, - z = 93, - facing = 0, - }, - { - name = "cloakassault_dead", - x = 7831, - z = 138, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 6853, - z = 6532, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 7072, - z = 6444, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 7277, - z = 6663, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 7697, - z = 6120, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 7753, - z = 5838, - facing = 0, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - [2] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "striderdetriment", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - defeatOtherAllyTeamsOnLoss = {1}, - doNotExplodeOnLoss = true, - }, - }, - objectiveConfig = { - [1] = { - description = "Destroy the enemy Detriment", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- - satisfyByTime = 600, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "factoryveh", - "factoryshield", - }, - image = planetUtilities.ICON_DIR .. "factoryshield.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the Automaton Factories before 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Win by 20:00 - victoryByTime = 1200, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - unitTypes = { - "factorycloak", - "factoryshield", - "factoryjump", - "factoryamph", - "factoryspider", - "factoryveh", - "factoryhover", - "factorytank", - "factoryplane", - "factorygunship", - "factoryship", - }, - image = planetUtilities.ICON_DIR .. "factoryspider.png", - --imageOverlay = planetUtilities.ICON_DIR .. "module_none", - description = "Don't have any Factories", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "athena", - }, - modules = { - "module_resurrect" - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet57.lua b/campaign/dev/planets/planet57.lua deleted file mode 100644 index b49924821..000000000 --- a/campaign/dev/planets/planet57.lua +++ /dev/null @@ -1,5039 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran04.png" - - local planetData = { - name = "Rockbar", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.77, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.78, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Coastal", - radius = "6060 km", - primary = "Eox Tallis", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24594", - text = [[So far this naval battle has been evenly matched, but the Detriment your opponent is about to deploy could change that in a hurry.]] - }, - tips = { - { - image = "unitpics/shipcarrier.png", - text = [[The Reef is a versatile carrier ship which deploys drones, constructs disarming cruise missiles and rearms friendly bombers. The disarming missiles are especially effective against heavy targets like the Shogun battleship or Detriment strider.]] - }, - { - image = "unitpics/subtacmissile.png", - text = [[The Scylla constructs and fires tactical missiles. Use these to destroy static targets which are elevated or far away. Remember that destroying Pylon connections will disable heavy defences.]] - }, - { - image = "unitpics/weaponmod_standoff_rocket.png", - text = [[The Scylla and Reef must stockpile missiles before firing them, which requires resources. Select stockpiling units and left or right-click the Stockpile button to increase or decrease the maximum stockpile number. Ctrl and Shift to add or subtract multiples from the stockpile.]] - }, - }, - gameConfig = { - mapName = "SailAway", - playerConfig = { - startX = 2520, - startZ = 9400, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderhub", - "subtacmissile", - "shipcarrier", - }, - startUnits = { - { - name = "staticantinuke", - x = 1280, - z = 8140, - facing = 1, - }, - { - name = "striderhub", - x = 2096, - z = 9328, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2096, 9328}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2121, 9303}, options = {"shift"}}, - }, - }, - -- flotilla - { - name = "shipaa", - x = 1800, - z = 8900, - facing = 2, - }, - { - name = "shipcarrier", - x = 1900, - z = 8900, - facing = 2, - }, - { - name = "shipcarrier", - x = 2100, - z = 8900, - facing = 2, - }, - { - name = "shipcarrier", - x = 2300, - z = 8900, - facing = 2, - }, - { - name = "shipaa", - x = 2400, - z = 8900, - facing = 2, - }, - { - name = "shipassault", - x = 1800, - z = 8700, - facing = 2, - }, - { - name = "shiparty", - x = 1900, - z = 8630, - facing = 2, - }, - { - name = "shipassault", - x = 2100, - z = 8630, - facing = 2, - }, - { - name = "shiparty", - x = 2300, - z = 8630, - facing = 2, - }, - { - name = "shipassault", - x = 2400, - z = 8700, - facing = 2, - }, - { - name = "subtacmissile", - x = 2600, - z = 9300, - facing = 2, - }, - { - name = "subraider", - x = 2650, - z = 9150, - facing = 2, - }, - { - name = "subraider", - x = 2550, - z = 9150, - facing = 2, - }, - { - name = "subraider", - x = 2700, - z = 9200, - facing = 2, - }, - { - name = "subraider", - x = 2500, - z = 9200, - facing = 2, - }, - -- - { - name = "staticmex", - x = 1448, - z = 9464, - facing = 0, - }, - { - name = "staticmex", - x = 3416, - z = 9880, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 9656, - facing = 0, - }, - { - name = "staticmex", - x = 3288, - z = 10152, - facing = 0, - }, - { - name = "staticmex", - x = 3752, - z = 10104, - facing = 0, - }, - { - name = "staticmex", - x = 824, - z = 9976, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 9880, - facing = 0, - }, - { - name = "staticmex", - x = 328, - z = 10120, - facing = 0, - }, - { - name = "staticmex", - x = 152, - z = 9992, - facing = 0, - }, - { - name = "staticmex", - x = 2632, - z = 10072, - facing = 0, - }, - { - name = "staticmex", - x = 776, - z = 9304, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 10216, - facing = 0, - }, - { - name = "energypylon", - x = 632, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1624, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1784, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1864, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2024, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2104, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2184, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2344, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2584, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2664, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 10216, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2664, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2584, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2344, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2184, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2104, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 2024, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1864, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1784, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1624, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 10136, - facing = 0, - }, - { - name = "energypylon", - x = 3432, - z = 10040, - facing = 2, - }, - { - name = "energywind", - x = 1304, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 10136, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 10136, - facing = 0, - }, - { - name = "energypylon", - x = 4232, - z = 9992, - facing = 2, - }, - { - name = "energywind", - x = 1144, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 10056, - facing = 0, - }, - { - name = "factoryship", - x = 1952, - z = 9408, - facing = 2, - }, - { - name = "energywind", - x = 1304, - z = 10056, - facing = 0, - }, - { - name = "turretaafar", - x = 1728, - z = 9408, - facing = 2, - }, - { - name = "energywind", - x = 1384, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 10056, - facing = 0, - }, - { - name = "staticcon", - x = 2088, - z = 9416, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2088, 9416}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2113, 9391}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 1624, - z = 10056, - facing = 0, - }, - { - name = "staticcon", - x = 2168, - z = 9416, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2168, 9416}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2193, 9391}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 1704, - z = 10056, - facing = 0, - }, - { - name = "staticcon", - x = 2168, - z = 9496, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2168, 9496}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2193, 9471}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2088, - z = 9496, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2088, 9496}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2113, 9471}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 1784, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 1864, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2024, - z = 10056, - facing = 0, - }, - { - name = "staticcon", - x = 2088, - z = 9576, - facing = 2, - }, - { - name = "energywind", - x = 2104, - z = 10056, - facing = 0, - }, - { - name = "staticcon", - x = 2168, - z = 9576, - facing = 2, - }, - { - name = "energywind", - x = 2184, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2344, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2584, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2664, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2584, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2344, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2184, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2104, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 2024, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1864, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1784, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1624, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9976, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1624, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1784, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1864, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2024, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2104, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2184, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2344, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2584, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2664, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 9896, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2664, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2584, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2504, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2344, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2184, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2104, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 2024, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1864, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1784, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1624, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9816, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9736, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9736, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 9736, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9736, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 9736, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9736, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9656, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 9656, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9656, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9656, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9656, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9576, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9576, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 9576, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9576, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 9576, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9576, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9496, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9496, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 9496, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9496, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9496, - facing = 0, - }, - { - name = "energywind", - x = 1144, - z = 9416, - facing = 0, - }, - { - name = "energywind", - x = 1224, - z = 9416, - facing = 0, - }, - { - name = "energywind", - x = 1304, - z = 9416, - facing = 0, - }, - { - name = "energywind", - x = 1384, - z = 9416, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 9416, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 9416, - facing = 0, - }, - { - name = "turrettorp", - x = 2392, - z = 9672, - facing = 2, - }, - { - name = "turrettorp", - x = 2600, - z = 9672, - facing = 2, - }, - { - name = "turrettorp", - x = 1144, - z = 9288, - facing = 2, - }, - { - name = "turrettorp", - x = 1336, - z = 9288, - facing = 2, - }, - { - name = "turrettorp", - x = 2808, - z = 9672, - facing = 2, - }, - { - name = "turrettorp", - x = 1528, - z = 9288, - facing = 2, - }, - { - name = "turrettorp", - x = 3000, - z = 9672, - facing = 2, - }, - } - }, - aiConfig = { - { - humanName = "Uba Rassa", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - }, - commander = false, - startUnits = { - { - name = "staticantinuke", - x = 3240, - z = 6400, - facing = 2, - }, - { - name = "staticmex", - x = 1544, - z = 7032, - facing = 0, - }, - { - name = "staticmex", - x = 2584, - z = 8120, - facing = 0, - }, - { - name = "staticmex", - x = 2408, - z = 8040, - facing = 0, - }, - { - name = "staticmex", - x = 968, - z = 6856, - facing = 0, - }, - { - name = "staticmex", - x = 2328, - z = 8312, - facing = 0, - }, - { - name = "staticmex", - x = 856, - z = 7160, - facing = 0, - }, - { - name = "staticmex", - x = 648, - z = 7608, - facing = 0, - }, - { - name = "staticmex", - x = 3208, - z = 8824, - facing = 0, - }, - { - name = "staticmex", - x = 360, - z = 7480, - facing = 0, - }, - { - name = "staticmex", - x = 3432, - z = 8616, - facing = 0, - }, - { - name = "staticmex", - x = 1016, - z = 7864, - facing = 0, - }, - { - name = "staticmex", - x = 4120, - z = 8456, - facing = 0, - }, - { - name = "staticmex", - x = 1416, - z = 7864, - facing = 0, - }, - { - name = "staticmex", - x = 4360, - z = 8728, - facing = 0, - }, - { - name = "staticmex", - x = 184, - z = 8280, - facing = 0, - }, - { - name = "staticmex", - x = 3832, - z = 7720, - facing = 0, - }, - { - name = "staticmex", - x = 4600, - z = 7992, - facing = 0, - }, - { - name = "staticmex", - x = 5032, - z = 8248, - facing = 0, - }, - { - name = "staticmex", - x = 4920, - z = 8808, - facing = 0, - }, - { - name = "staticmex", - x = 4136, - z = 6152, - facing = 0, - }, - { - name = "staticmex", - x = 4296, - z = 6600, - facing = 0, - }, - { - name = "staticmex", - x = 4472, - z = 6360, - facing = 0, - }, - { - name = "staticmex", - x = 5000, - z = 6328, - facing = 0, - }, - { - name = "turrettorp", - x = 1624, - z = 9592, - facing = 2, - }, - { - name = "staticmex", - x = 3432, - z = 6328, - facing = 0, - }, - { - name = "staticmex", - x = 4792, - z = 9688, - facing = 0, - }, - { - name = "staticmex", - x = 4936, - z = 9816, - facing = 0, - }, - { - name = "energysingu", - x = 4920, - z = 10056, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9944, - facing = 0, - }, - { - name = "energywind", - x = 4968, - z = 9944, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9944, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 9944, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9944, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9944, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9864, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9864, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 9864, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9864, - facing = 0, - }, - { - name = "energywind", - x = 4968, - z = 9864, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9864, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9784, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9784, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 9784, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9784, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9784, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9704, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9704, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9704, - facing = 0, - }, - { - name = "energywind", - x = 4968, - z = 9704, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9704, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9624, - facing = 0, - }, - { - name = "staticmex", - x = 4520, - z = 6744, - facing = 2, - }, - { - name = "energywind", - x = 4968, - z = 9624, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9624, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 9624, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9624, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9624, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9544, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9544, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 9544, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9544, - facing = 0, - }, - { - name = "energywind", - x = 4968, - z = 9544, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9544, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9464, - facing = 0, - }, - { - name = "energywind", - x = 4968, - z = 9464, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9464, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 9464, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9464, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9464, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 9384, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 9384, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 9384, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 9384, - facing = 0, - }, - { - name = "energywind", - x = 4968, - z = 9384, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 9384, - facing = 0, - }, - { - name = "turrettorp", - x = 4168, - z = 9512, - facing = 2, - }, - { - name = "turrettorp", - x = 4344, - z = 9368, - facing = 2, - }, - { - name = "turrettorp", - x = 4520, - z = 9224, - facing = 2, - }, - { - name = "energypylon", - x = 4760, - z = 8872, - facing = 2, - }, - { - name = "energypylon", - x = 4520, - z = 8152, - facing = 2, - }, - { - name = "factoryship", - x = 3168, - z = 8048, - facing = 2, - }, - { - name = "factoryhover", - x = 3360, - z = 8032, - facing = 2, - }, - { - name = "staticrearm", - x = 4760, - z = 7896, - facing = 2, - }, - { - name = "energypylon", - x = 4216, - z = 7368, - facing = 2, - }, - { - name = "factoryamph", - x = 3000, - z = 8040, - facing = 2, - }, - { - name = "factoryplane", - x = 4928, - z = 7880, - facing = 2, - }, - { - name = "staticcon", - x = 2984, - z = 8232, - facing = 2, - }, - { - name = "staticcon", - x = 4888, - z = 8040, - facing = 2, - }, - { - name = "staticcon", - x = 3064, - z = 8232, - facing = 2, - }, - { - name = "staticcon", - x = 4984, - z = 8040, - facing = 2, - }, - { - name = "staticcon", - x = 3144, - z = 8232, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3160, 8047}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3144, 8232}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 4520, - z = 6504, - facing = 2, - }, - { - name = "staticcon", - x = 3224, - z = 8232, - facing = 2, - }, - { - name = "staticcon", - x = 3304, - z = 8232, - facing = 2, - }, - { - name = "staticcon", - x = 3384, - z = 8232, - facing = 2, - }, - { - name = "energypylon", - x = 3720, - z = 5928, - facing = 2, - }, - { - name = "staticcon", - x = 3064, - z = 8312, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3359, 8064}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3064, 8312}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3144, - z = 8312, - facing = 2, - }, - { - name = "staticcon", - x = 3224, - z = 8312, - facing = 2, - }, - { - name = "staticcon", - x = 3304, - z = 8312, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3359, 8064}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3304, 8312}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 648, - z = 8904, - facing = 0, - }, - { - name = "energypylon", - x = 264, - z = 8040, - facing = 0, - }, - { - name = "energypylon", - x = 776, - z = 7208, - facing = 0, - }, - { - name = "energypylon", - x = 1000, - z = 8024, - facing = 0, - }, - { - name = "turretheavy", - x = 1432, - z = 8008, - facing = 1, - }, - { - name = "turretheavy", - x = 1176, - z = 7048, - facing = 1, - }, - { - name = "turretantiheavy", - x = 3328, - z = 5904, - facing = 3, - }, - { - name = "turretheavy", - x = 824, - z = 6792, - facing = 2, - }, - { - name = "turretaaflak", - x = 3576, - z = 5800, - facing = 3, - }, - { - name = "staticarty", - x = 1080, - z = 6824, - facing = 2, - }, - { - name = "turretaaflak", - x = 3496, - z = 6152, - facing = 3, - }, - { - name = "turretaaflak", - x = 680, - z = 7032, - facing = 2, - }, - { - name = "turretaaflak", - x = 920, - z = 7080, - facing = 2, - }, - { - name = "turretheavy", - x = 4152, - z = 6040, - facing = 2, - }, - { - name = "turretaaflak", - x = 1096, - z = 7288, - facing = 2, - }, - { - name = "turretheavy", - x = 4664, - z = 6264, - facing = 2, - }, - { - name = "turretriot", - x = 4440, - z = 6136, - facing = 2, - }, - { - name = "energypylon", - x = 1960, - z = 8216, - facing = 2, - }, - { - name = "energypylon", - x = 2760, - z = 8520, - facing = 2, - }, - { - name = "energypylon", - x = 3352, - z = 9048, - facing = 2, - }, - { - name = "energypylon", - x = 3736, - z = 8200, - facing = 2, - }, - { - name = "staticstorage", - x = 3064, - z = 8376, - facing = 2, - }, - { - name = "staticstorage", - x = 3304, - z = 8392, - facing = 2, - }, - { - name = "turretantiheavy", - x = 4432, - z = 7968, - facing = 2, - }, - { - name = "turrettorp", - x = 3400, - z = 7432, - facing = 2, - }, - { - name = "turrettorp", - x = 3272, - z = 7432, - facing = 2, - }, - { - name = "turrettorp", - x = 3144, - z = 7432, - facing = 2, - }, - { - name = "staticradar", - x = 1200, - z = 7712, - facing = 2, - }, - { - name = "turrettorp", - x = 1736, - z = 7528, - facing = 2, - }, - { - name = "turrettorp", - x = 1912, - z = 7512, - facing = 2, - }, - { - name = "turrettorp", - x = 2072, - z = 7512, - facing = 2, - }, - { - name = "turrettorp", - x = 2392, - z = 6952, - facing = 2, - }, - { - name = "turrettorp", - x = 2536, - z = 6952, - facing = 2, - }, - { - name = "turrettorp", - x = 2696, - z = 6952, - facing = 2, - }, - { - name = "staticheavyradar", - x = 944, - z = 6736, - facing = 2, - }, - { - name = "staticcon", - x = 4888, - z = 8088, - facing = 2, - }, - { - name = "shipscout", - x = 2046, - z = 6704, - facing = 2, - }, - { - name = "turretlaser", - x = 880, - z = 7296, - facing = 2, - }, - { - name = "energysolar", - x = 1336, - z = 7592, - facing = 2, - }, - { - name = "energysolar", - x = 1384, - z = 7672, - facing = 2, - }, - { - name = "turrettorp", - x = 2760, - z = 6056, - facing = 2, - }, - { - name = "turretlaser", - x = 1248, - z = 7920, - facing = 2, - }, - { - name = "hoverriot", - x = 619, - z = 6068, - facing = 1, - }, - { - name = "amphassault", - x = 1456, - z = 5715, - facing = 1, - patrolRoute = { - {1423, 5729}, - {1481, 5702}, - }, - }, - { - name = "amphcon", - x = 362, - z = 6587, - facing = 3, - }, - { - name = "staticstorage", - x = 4136, - z = 8408, - facing = 2, - }, - { - name = "shipassault", - x = 352, - z = 6572, - facing = 0, - patrolRoute = { - {337, 6552}, - {192, 6672}, - }, - }, - { - name = "amphcon", - x = 3089, - z = 5092, - facing = 2, - }, - { - name = "hovercon", - x = 2023, - z = 7726, - facing = 0, - }, - { - name = "staticcon", - x = 2904, - z = 8168, - facing = 2, - }, - { - name = "amphfloater", - x = 1396, - z = 5778, - facing = 3, - patrolRoute = { - {1405, 5790}, - {1423, 5729}, - }, - }, - { - name = "hoverdepthcharge", - x = 1080, - z = 5973, - facing = 1, - patrolRoute = { - {1144, 6152}, - {1265, 6027}, - }, - }, - { - name = "turretlaser", - x = 3088, - z = 7760, - facing = 2, - }, - { - name = "amphcon", - x = 2126, - z = 7118, - facing = 3, - }, - { - name = "hoverraid", - x = 404, - z = 5464, - facing = 3, - }, - { - name = "amphcon", - x = 657, - z = 6075, - facing = 3, - }, - { - name = "planecon", - x = 536, - z = 6122, - facing = 1, - }, - { - name = "shipaa", - x = 2649, - z = 6501, - facing = 2, - }, - { - name = "hoverdepthcharge", - x = 1370, - z = 5706, - facing = 2, - patrolRoute = { - {1423, 5729}, - {1366, 5757}, - }, - }, - { - name = "shipskirm", - x = 1813, - z = 5887, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1447, 5670}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1423, 5729}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 3080, - z = 9512, - facing = 2, - }, - { - name = "hoverarty", - x = 3354, - z = 8040, - facing = 2, - }, - { - name = "staticcon", - x = 4936, - z = 8024, - facing = 2, - }, - { - name = "hovercon", - x = 631, - z = 6283, - facing = 0, - }, - { - name = "hoverarty", - x = 1320, - z = 5705, - facing = 2, - }, - { - name = "energywind", - x = 3016, - z = 9592, - facing = 2, - }, - { - name = "turrettorp", - x = 3880, - z = 7816, - facing = 2, - }, - { - name = "energywind", - x = 2920, - z = 9688, - facing = 2, - }, - { - name = "hovercon", - x = 401, - z = 6551, - facing = 2, - }, - { - name = "energywind", - x = 2968, - z = 9752, - facing = 2, - }, - { - name = "staticcon", - x = 4984, - z = 8088, - facing = 2, - }, - { - name = "shipcon", - x = 1863, - z = 5757, - facing = 3, - }, - { - name = "energywind", - x = 2920, - z = 9640, - facing = 2, - }, - { - name = "turretlaser", - x = 4256, - z = 6560, - facing = 3, - }, - { - name = "hoverassault", - x = 1555, - z = 6223, - facing = 0, - }, - { - name = "staticmex", - x = 3576, - z = 5592, - facing = 0, - }, - { - name = "staticcon", - x = 4936, - z = 8104, - facing = 2, - }, - { - name = "staticcon", - x = 3000, - z = 8184, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3160, 8047}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3000, 8184}, options = {"shift"}}, - }, - }, - { - name = "hoverassault", - x = 1729, - z = 6303, - facing = 0, - }, - { - name = "staticradar", - x = 3904, - z = 7936, - facing = 2, - }, - { - name = "turrettorp", - x = 3448, - z = 8664, - facing = 2, - }, - { - name = "hoverarty", - x = 1279, - z = 5750, - facing = 1, - }, - { - name = "staticcon", - x = 2936, - z = 8216, - facing = 2, - }, - { - name = "turrettorp", - x = 2472, - z = 8120, - facing = 2, - }, - { - name = "turretlaser", - x = 3680, - z = 5984, - facing = 3, - }, - { - name = "turrettorp", - x = 4808, - z = 10024, - facing = 2, - }, - { - name = "amphfloater", - x = 2898, - z = 7412, - facing = 2, - }, - { - name = "turretriot", - x = 3768, - z = 5720, - facing = 2, - }, - { - name = "staticcon", - x = 2952, - z = 8168, - facing = 2, - }, - { - name = "turretlaser", - x = 4224, - z = 8640, - facing = 2, - }, - { - name = "shipassault", - x = 1393, - z = 5752, - facing = 1, - patrolRoute = { - {1360, 5738}, - {1423, 5729}, - }, - }, - { - name = "hovercon", - x = 1167, - z = 5994, - facing = 3, - }, - { - name = "hovercon", - x = 548, - z = 6274, - facing = 1, - }, - { - name = "staticcon", - x = 2936, - z = 8264, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3160, 8047}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2936, 8264}, options = {"shift"}}, - }, - }, - { - name = "shipcon", - x = 712, - z = 6385, - facing = 2, - }, - { - name = "staticcon", - x = 2984, - z = 8280, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3160, 8047}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2984, 8280}, options = {"shift"}}, - }, - }, - { - name = "hovercon", - x = 1633, - z = 7914, - facing = 2, - }, - { - name = "energypylon", - x = 1672, - z = 9016, - facing = 2, - }, - { - name = "staticcon", - x = 3048, - z = 8184, - facing = 2, - }, - { - name = "turretlaser", - x = 3184, - z = 8320, - facing = 2, - }, - { - name = "turretlaser", - x = 400, - z = 8016, - facing = 2, - }, - { - name = "turrettorp", - x = 2984, - z = 10088, - facing = 2, - }, - { - name = "amphcon", - x = 2533, - z = 6885, - facing = 2, - }, - { - name = "energypylon", - x = 1448, - z = 6040, - facing = 1, - buildProgress = 0.1812, - }, - { - name = "shipcon", - x = 1579, - z = 6297, - facing = 2, - }, - { - name = "hovercon", - x = 1055, - z = 6035, - facing = 3, - }, - { - name = "hoverraid", - x = 180, - z = 5157, - facing = 2, - }, - { - name = "shiparty", - x = 1728, - z = 5877, - facing = 2, - }, - { - name = "hovercon", - x = 3874, - z = 10087, - facing = 3, - }, - { - name = "staticradar", - x = 3648, - z = 9760, - facing = 2, - }, - { - name = "staticcon", - x = 2888, - z = 8216, - facing = 2, - }, - { - name = "shipassault", - x = 1460, - z = 5743, - facing = 0, - patrolRoute = { - {1479, 5698}, - {1423, 5729}, - }, - }, - { - name = "shipcon", - x = 2871, - z = 6445, - facing = 0, - }, - { - name = "staticmex", - x = 1400, - z = 6152, - facing = 0, - }, - { - name = "energypylon", - x = 1208, - z = 7272, - facing = 2, - }, - { - name = "hovercon", - x = 4220, - z = 5585, - facing = 2, - }, - { - name = "amphraid", - x = 2193, - z = 5174, - facing = 2, - }, - { - name = "turrettorp", - x = 536, - z = 6424, - facing = 1, - }, - { - name = "staticcon", - x = 2936, - z = 8312, - facing = 2, - }, - { - name = "hoverskirm", - x = 3065, - z = 7588, - facing = 2, - }, - { - name = "staticradar", - x = 3488, - z = 6080, - facing = 2, - }, - { - name = "hovercon", - x = 3470, - z = 7288, - facing = 2, - }, - { - name = "amphfloater", - x = 1435, - z = 5672, - facing = 0, - patrolRoute = { - {1436, 5666}, - {1423, 5729}, - }, - }, - { - name = "turretmissile", - x = 640, - z = 6192, - facing = 1, - buildProgress = 0.53659999, - }, - { - name = "shipcon", - x = 904, - z = 5890, - facing = 0, - }, - { - name = "amphcon", - x = 1544, - z = 6084, - facing = 3, - }, - { - name = "amphassault", - x = 1900, - z = 6022, - facing = 2, - }, - { - name = "staticstorage", - x = 2552, - z = 8040, - facing = 2, - }, - { - name = "hovercon", - x = 1495, - z = 6048, - facing = 2, - }, - { - name = "energysolar", - x = 1304, - z = 7704, - facing = 2, - }, - { - name = "energywind", - x = 1544, - z = 7688, - facing = 2, - }, - { - name = "shipcon", - x = 1404, - z = 5968, - facing = 3, - }, - { - name = "amphcon", - x = 2652, - z = 6892, - facing = 2, - }, - { - name = "hoveraa", - x = 2781, - z = 6622, - facing = 2, - }, - { - name = "staticmex", - x = 520, - z = 6376, - facing = 0, - }, - { - name = "turrettorp", - x = 136, - z = 5256, - facing = 1, - }, - { - name = "energywind", - x = 1608, - z = 7784, - facing = 2, - }, - { - name = "staticcon", - x = 2888, - z = 8264, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3160, 8047}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2888, 8264}, options = {"shift"}}, - }, - }, - { - name = "shiptorpraider", - x = 1377, - z = 5641, - facing = 3, - }, - { - name = "amphcon", - x = 2901, - z = 7702, - facing = 2, - }, - { - name = "staticcon", - x = 3096, - z = 8184, - facing = 2, - }, - { - name = "shiparty", - x = 3160, - z = 8047, - facing = 2, - buildProgress = 0.0486, - }, - { - name = "turrettorp", - x = 616, - z = 6392, - facing = 1, - }, - { - name = "hovercon", - x = 978, - z = 8479, - facing = 3, - }, - { - name = "shipcon", - x = 1895, - z = 6497, - facing = 2, - }, - { - name = "amphcon", - x = 3577, - z = 6868, - facing = 2, - }, - { - name = "turrettorp", - x = 952, - z = 5944, - facing = 1, - }, - { - name = "staticcon", - x = 2984, - z = 8328, - facing = 2, - }, - { - name = "shipassault", - x = 2713, - z = 7189, - facing = 3, - }, - { - name = "hoverassault", - x = 2157, - z = 6782, - facing = 3, - }, - { - name = "staticcon", - x = 2888, - z = 8312, - facing = 2, - }, - { - name = "amphraid", - x = 1722, - z = 6662, - facing = 1, - }, - { - name = "staticradar", - x = 1408, - z = 6208, - facing = 1, - }, - { - name = "amphaa", - x = 2831, - z = 7330, - facing = 3, - }, - { - name = "energypylon", - x = 568, - z = 6376, - facing = 1, - }, - { - name = "shipaa", - x = 2730, - z = 6895, - facing = 2, - }, - { - name = "shipaa", - x = 3160, - z = 7898, - facing = 2, - }, - { - name = "amphaa", - x = 2976, - z = 7569, - facing = 2, - }, - { - name = "staticmex", - x = 1496, - z = 5928, - facing = 0, - buildProgress = 0.82660002, - }, - { - name = "amphraid", - x = 2977, - z = 7681, - facing = 2, - }, - { - name = "shipscout", - x = 3102, - z = 7402, - facing = 2, - }, - { - name = "amphassault", - x = 3000, - z = 8004, - facing = 2, - buildProgress = 0.233, - }, - { - name = "shipscout", - x = 3144, - z = 7728, - facing = 2, - }, - } - }, - { - startX = 3300, - startZ = 700, - humanName = "Xill", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factoryamph", - "striderhub", - "shipcarrier", - "shipheavyarty", - "striderdetriment", - "staticnuke", - }, - commanderLevel = 6, - commander = { - name = "Ballast", - chassis = "support", - modules = { - "commweapon_beamlaser", - "commweapon_multistunner", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - } - }, - midgameUnits = { - { - name = "shipheavyarty", - x = 3200, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = false, - }, - { - name = "shipcarrier", - x = 3400, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 6*30*60, - difficultyAtLeast = 2, - orbitalDrop = false, - }, - { - name = "shipheavyarty", - x = 3600, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 6*30*60, - difficultyAtLeast = 3, - orbitalDrop = false, - }, - { - name = "shipcarrier", - x = 3800, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 6*30*60, - difficultyAtLeast = 4, - orbitalDrop = false, - }, - { - name = "striderdetriment", - x = 3200, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 10*30*60, - orbitalDrop = false, - }, - { - name = "striderdetriment", - x = 3200, - z = 300, - facing = 0, - spawnRadius = 50, - delay = 10*30*60, - difficultyAtLeast = 4, - orbitalDrop = false, - }, - { - name = "shipheavyarty", - x = 3200, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = false, - }, - { - name = "shipcarrier", - x = 3400, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - difficultyAtLeast = 2, - orbitalDrop = false, - }, - { - name = "shipheavyarty", - x = 3600, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - difficultyAtLeast = 3, - orbitalDrop = false, - }, - { - name = "shipcarrier", - x = 3800, - z = 100, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - difficultyAtLeast = 4, - orbitalDrop = false, - }, - }, - startUnits = { - { - name = "striderdetriment", - x = 1600, - z = 1600, - facing = 2, - }, - { - name = "striderdetriment", - x = 1900, - z = 1600, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "energysingu", - x = 344, - z = 1000, - facing = 2, - }, - { - name = "energysingu", - x = 4952, - z = 552, - facing = 2, - }, - { - name = "energysingu", - x = 2888, - z = 104, - facing = 2, - }, - { - name = "staticantinuke", - x = 4344, - z = 1888, - facing = 2, - }, - { - name = "staticantinuke", - x = 1000, - z = 1888, - facing = 2, - }, - { - name = "staticnuke", - x = 474, - z = 2265, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 2088, - z = 1048, - facing = 0, - }, - { - name = "staticmex", - x = 2232, - z = 904, - facing = 0, - }, - { - name = "staticmex", - x = 2056, - z = 424, - facing = 0, - }, - { - name = "staticmex", - x = 4232, - z = 1912, - facing = 0, - }, - { - name = "staticmex", - x = 2216, - z = 56, - facing = 0, - }, - { - name = "staticmex", - x = 4216, - z = 2344, - facing = 0, - }, - { - name = "staticmex", - x = 1464, - z = 280, - facing = 0, - }, - { - name = "staticmex", - x = 1224, - z = 104, - facing = 0, - }, - { - name = "staticmex", - x = 5064, - z = 1992, - facing = 0, - }, - { - name = "staticmex", - x = 4888, - z = 1400, - facing = 0, - }, - { - name = "staticmex", - x = 440, - z = 376, - facing = 0, - }, - { - name = "staticmex", - x = 5048, - z = 1272, - facing = 0, - }, - { - name = "staticmex", - x = 472, - z = 536, - facing = 0, - }, - { - name = "staticmex", - x = 3960, - z = 392, - facing = 0, - }, - { - name = "staticrearm", - x = 2216, - z = 184, - facing = 2, - }, - { - name = "factoryplane", - x = 2144, - z = 328, - facing = 2, - }, - { - name = "staticcon", - x = 2008, - z = 184, - facing = 2, - }, - { - name = "staticcon", - x = 2008, - z = 280, - facing = 2, - }, - { - name = "staticstorage", - x = 1976, - z = 24, - facing = 2, - }, - { - name = "staticstorage", - x = 1848, - z = 40, - facing = 2, - }, - { - name = "striderhub", - x = 1040, - z = 1232, - facing = 2, - }, - { - name = "staticcon", - x = 1112, - z = 1288, - facing = 2, - }, - { - name = "staticcon", - x = 1192, - z = 1320, - facing = 2, - }, - { - name = "energypylon", - x = 984, - z = 504, - facing = 0, - }, - { - name = "energypylon", - x = 1832, - z = 328, - facing = 0, - }, - { - name = "energypylon", - x = 2504, - z = 936, - facing = 0, - }, - { - name = "energypylon", - x = 3240, - z = 584, - facing = 0, - }, - { - name = "energypylon", - x = 4200, - z = 440, - facing = 0, - }, - { - name = "energypylon", - x = 4776, - z = 712, - facing = 0, - }, - { - name = "energypylon", - x = 4824, - z = 1688, - facing = 0, - }, - { - name = "energypylon", - x = 4408, - z = 2024, - facing = 0, - }, - { - name = "turretantiheavy", - x = 4112, - z = 1920, - facing = 0, - }, - { - name = "turretheavy", - x = 4712, - z = 2088, - facing = 0, - }, - { - name = "turretriot", - x = 4392, - z = 2264, - facing = 0, - }, - { - name = "turretriot", - x = 4952, - z = 2104, - facing = 0, - }, - { - name = "turrettorp", - x = 1416, - z = 1480, - facing = 0, - }, - { - name = "turretaafar", - x = 4496, - z = 1824, - facing = 0, - }, - { - name = "turrettorp", - x = 1624, - z = 1304, - facing = 0, - }, - { - name = "turretaaflak", - x = 4712, - z = 1720, - facing = 0, - }, - { - name = "turrettorp", - x = 1848, - z = 1064, - facing = 0, - }, - { - name = "turrettorp", - x = 2312, - z = 1448, - facing = 0, - }, - { - name = "turrettorp", - x = 2616, - z = 1528, - facing = 0, - }, - { - name = "turrettorp", - x = 3112, - z = 1352, - facing = 0, - }, - { - name = "turrettorp", - x = 3496, - z = 1272, - facing = 0, - }, - { - name = "turrettorp", - x = 1608, - z = 2408, - facing = 0, - }, - { - name = "turrettorp", - x = 2024, - z = 2344, - facing = 0, - }, - { - name = "turrettorp", - x = 2264, - z = 2312, - facing = 0, - }, - { - name = "turrettorp", - x = 1816, - z = 3432, - facing = 0, - }, - { - name = "turrettorp", - x = 2264, - z = 3368, - facing = 0, - }, - { - name = "turrettorp", - x = 2744, - z = 3304, - facing = 0, - }, - { - name = "factoryship", - x = 2864, - z = 864, - facing = 0, - }, - { - name = "staticcon", - x = 3032, - z = 856, - facing = 0, - }, - { - name = "staticcon", - x = 3128, - z = 856, - facing = 0, - }, - { - name = "staticcon", - x = 3224, - z = 856, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3199, 881}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3224, 856}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3320, - z = 856, - facing = 0, - }, - { - name = "staticcon", - x = 3416, - z = 856, - facing = 0, - }, - { - name = "striderhub", - x = 3232, - z = 960, - facing = 0, - }, - { - name = "turretaaflak", - x = 3064, - z = 728, - facing = 0, - }, - { - name = "turretaaflak", - x = 3400, - z = 728, - facing = 0, - }, - { - name = "turrettorp", - x = 392, - z = 376, - facing = 0, - }, - { - name = "bomberheavy", - x = 1770, - z = -184, - facing = 2, - }, - { - name = "shipcon", - x = 514, - z = 3565, - facing = 3, - }, - { - name = "planeheavyfighter", - x = 1648, - z = 3633, - facing = 2, - }, - { - name = "turrettorp", - x = 2216, - z = 1048, - facing = 0, - }, - { - name = "shipcon", - x = 3301, - z = 4417, - facing = 1, - }, - { - name = "shiparty", - x = 352, - z = 4189, - facing = 0, - }, - { - name = "shipaa", - x = 2502, - z = 4823, - facing = 1, - }, - { - name = "staticradar", - x = 2912, - z = 1664, - facing = 0, - }, - { - name = "turretlaser", - x = 2208, - z = 560, - facing = 0, - }, - { - name = "turrettorp", - x = 2664, - z = 2008, - facing = 0, - }, - { - name = "staticcon", - x = 2840, - z = 712, - facing = 0, - }, - { - name = "shiptorpraider", - x = 3098, - z = 1194, - facing = 0, - }, - { - name = "turrettorp", - x = 3528, - z = 2600, - facing = 0, - }, - { - name = "shiparty", - x = 894, - z = 3509, - facing = 0, - }, - { - name = "turretlaser", - x = 4928, - z = 1536, - facing = 0, - }, - { - name = "planecon", - x = 3574, - z = 3953, - facing = 0, - }, - { - name = "turretlaser", - x = 1344, - z = 128, - facing = 0, - }, - { - name = "shipassault", - x = 4486, - z = 3631, - facing = 1, - }, - { - name = "staticradar", - x = 1536, - z = 352, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 1991, - z = 3651, - facing = 2, - }, - { - name = "shiptorpraider", - x = 1743, - z = 2581, - facing = 0, - }, - { - name = "staticradar", - x = 3776, - z = 512, - facing = 0, - }, - { - name = "turrettorp", - x = 1496, - z = 3304, - facing = 0, - }, - { - name = "turrettorp", - x = 504, - z = 616, - facing = 0, - }, - { - name = "turretlaser", - x = 2384, - z = 400, - facing = 0, - }, - { - name = "turrettorp", - x = 4024, - z = 280, - facing = 0, - }, - { - name = "shipcon", - x = 4537, - z = 3460, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 1825, - z = 6608, - facing = 1, - }, - { - name = "staticradar", - x = 1696, - z = 3104, - facing = 0, - }, - { - name = "turretmissile", - x = 1600, - z = 3488, - facing = 0, - }, - { - name = "turretlaser", - x = 3664, - z = 3632, - facing = 0, - }, - { - name = "turretlaser", - x = 4096, - z = 2160, - facing = 0, - }, - { - name = "turrettorp", - x = 1576, - z = 3288, - facing = 0, - }, - { - name = "turretlaser", - x = 1056, - z = 1712, - facing = 0, - }, - { - name = "staticradar", - x = 4960, - z = 1744, - facing = 0, - }, - { - name = "bomberdisarm", - x = 2147, - z = 91, - facing = 2, - }, - { - name = "staticcon", - x = 1512, - z = 3080, - facing = 0, - }, - { - name = "shipriot", - x = 4679, - z = 4177, - facing = 1, - }, - { - name = "staticcon", - x = 3592, - z = 4472, - facing = 3, - buildProgress = 0.71929997, - }, - { - name = "turretlaser", - x = 160, - z = 2272, - facing = 0, - }, - { - name = "staticradar", - x = 192, - z = 2080, - facing = 0, - }, - { - name = "shipcon", - x = 4491, - z = 3450, - facing = 0, - }, - { - name = "turrettorp", - x = 1624, - z = 3208, - facing = 0, - }, - { - name = "turretaalaser", - x = 1656, - z = 3288, - facing = 0, - }, - { - name = "shipcon", - x = 3133, - z = 4603, - facing = 0, - }, - { - name = "shipscout", - x = 2865, - z = 1358, - facing = 0, - }, - { - name = "staticradar", - x = 3584, - z = 3456, - facing = 0, - }, - { - name = "shipskirm", - x = 3391, - z = 2941, - facing = 0, - }, - { - name = "subraider", - x = 2776, - z = 3581, - facing = 0, - }, - { - name = "shiptorpraider", - x = 2871, - z = 3628, - facing = 0, - }, - { - name = "turretmissile", - x = 3392, - z = 3824, - facing = 0, - }, - { - name = "shiptorpraider", - x = 2895, - z = 2657, - facing = 0, - }, - { - name = "subraider", - x = 3480, - z = 2339, - facing = 0, - }, - { - name = "shipscout", - x = 4157, - z = 2698, - facing = 0, - }, - { - name = "turretmissile", - x = 4720, - z = 3568, - facing = 3, - }, - { - name = "subraider", - x = 2944, - z = 1965, - facing = 0, - }, - { - name = "turrettorp", - x = 136, - z = 4408, - facing = 1, - }, - { - name = "turretlaser", - x = 3632, - z = 4064, - facing = 0, - buildProgress = 0.2888, - }, - { - name = "shiparty", - x = 2872, - z = 864, - facing = 0, - buildProgress = 0.0905, - }, - { - name = "staticmex", - x = 3256, - z = 4888, - facing = 0, - buildProgress = 0.1399, - }, - } - }, - { - humanName = "Rapla IV", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretaalaser", - "turretaaclose", - "staticradar", - "staticcon", - "staticantinuke", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 2792, - z = 1736, - facing = 0, - }, - { - name = "staticmex", - x = 1672, - z = 2952, - facing = 0, - }, - { - name = "staticmex", - x = 2552, - z = 1896, - facing = 0, - }, - { - name = "staticmex", - x = 2776, - z = 2024, - facing = 0, - }, - { - name = "staticmex", - x = 1384, - z = 3592, - facing = 0, - }, - { - name = "staticmex", - x = 3336, - z = 2712, - facing = 0, - }, - { - name = "staticmex", - x = 1512, - z = 4136, - facing = 0, - }, - { - name = "staticmex", - x = 3608, - z = 2632, - facing = 0, - }, - { - name = "staticmex", - x = 1496, - z = 4584, - facing = 0, - }, - { - name = "staticmex", - x = 3512, - z = 3368, - facing = 0, - }, - { - name = "staticmex", - x = 712, - z = 4520, - facing = 0, - }, - { - name = "staticmex", - x = 3208, - z = 3688, - facing = 0, - }, - { - name = "staticmex", - x = 3864, - z = 3512, - facing = 0, - }, - { - name = "staticmex", - x = 3864, - z = 3720, - facing = 0, - }, - { - name = "staticmex", - x = 168, - z = 2392, - facing = 0, - }, - { - name = "energywind", - x = 3032, - z = 2072, - facing = 0, - }, - { - name = "staticmex", - x = 232, - z = 2200, - facing = 0, - }, - { - name = "staticmex", - x = 120, - z = 2072, - facing = 0, - }, - { - name = "staticmex", - x = 136, - z = 1496, - facing = 0, - }, - { - name = "staticmex", - x = 1016, - z = 1672, - facing = 0, - }, - { - name = "factoryship", - x = 3296, - z = 2256, - facing = 0, - }, - { - name = "factoryamph", - x = 3480, - z = 2168, - facing = 0, - }, - { - name = "factoryhover", - x = 3088, - z = 2224, - facing = 0, - }, - { - name = "staticcon", - x = 3080, - z = 2040, - facing = 0, - }, - { - name = "staticcon", - x = 3160, - z = 2040, - facing = 0, - }, - { - name = "staticcon", - x = 3240, - z = 2040, - facing = 0, - }, - { - name = "staticcon", - x = 3320, - z = 2040, - facing = 0, - }, - { - name = "staticcon", - x = 3400, - z = 2040, - facing = 0, - }, - { - name = "staticcon", - x = 3480, - z = 2040, - facing = 0, - }, - { - name = "energypylon", - x = 200, - z = 744, - facing = 0, - }, - { - name = "staticstorage", - x = 3144, - z = 1896, - facing = 0, - }, - { - name = "staticstorage", - x = 3448, - z = 1896, - facing = 0, - }, - { - name = "turretaafar", - x = 3280, - z = 1888, - facing = 0, - }, - { - name = "energypylon", - x = 312, - z = 1720, - facing = 0, - }, - { - name = "energypylon", - x = 840, - z = 1832, - facing = 0, - }, - { - name = "energypylon", - x = 328, - z = 2664, - facing = 0, - }, - { - name = "turrettorp", - x = 2600, - z = 2248, - facing = 0, - }, - { - name = "turrettorp", - x = 2840, - z = 2456, - facing = 0, - }, - { - name = "energypylon", - x = 696, - z = 3544, - facing = 0, - }, - { - name = "turrettorp", - x = 3064, - z = 2728, - facing = 0, - }, - { - name = "energypylon", - x = 872, - z = 4360, - facing = 0, - }, - { - name = "energypylon", - x = 1448, - z = 4008, - facing = 0, - }, - { - name = "energypylon", - x = 3896, - z = 2504, - facing = 0, - }, - { - name = "turrettorp", - x = 3976, - z = 2664, - facing = 0, - }, - { - name = "turrettorp", - x = 4088, - z = 2696, - facing = 0, - }, - { - name = "energypylon", - x = 3464, - z = 3128, - facing = 0, - }, - { - name = "turrettorp", - x = 3768, - z = 2936, - facing = 0, - }, - { - name = "turrettorp", - x = 3864, - z = 3000, - facing = 0, - }, - { - name = "energypylon", - x = 3480, - z = 3736, - facing = 0, - }, - { - name = "turretheavy", - x = 792, - z = 4680, - facing = 0, - }, - { - name = "turretheavy", - x = 1720, - z = 4408, - facing = 1, - }, - { - name = "turretriot", - x = 1272, - z = 4600, - facing = 0, - }, - { - name = "turretriot", - x = 1592, - z = 4664, - facing = 0, - }, - { - name = "turretaaflak", - x = 984, - z = 4488, - facing = 0, - }, - { - name = "turretantiheavy", - x = 3104, - z = 3856, - facing = 0, - }, - { - name = "turretaaflak", - x = 1464, - z = 4344, - facing = 0, - }, - { - name = "turretheavy", - x = 3432, - z = 4136, - facing = 0, - }, - { - name = "turretaafar", - x = 3440, - z = 3616, - facing = 0, - }, - { - name = "turretaaflak", - x = 3208, - z = 3528, - facing = 0, - }, - { - name = "turretaaflak", - x = 3656, - z = 3848, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3816, - z = 3912, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3832, - z = 3384, - facing = 1, - }, - { - name = "turretriot", - x = 3960, - z = 3656, - facing = 1, - }, - { - name = "turretheavy", - x = 1208, - z = 1880, - facing = 1, - }, - { - name = "turretheavy", - x = 216, - z = 2744, - facing = 0, - }, - { - name = "turretheavy", - x = 728, - z = 2584, - facing = 0, - }, - { - name = "turretaaflak", - x = 296, - z = 2504, - facing = 0, - }, - { - name = "turretaaflak", - x = 664, - z = 2248, - facing = 0, - }, - { - name = "turretheavylaser", - x = 456, - z = 2616, - facing = 0, - }, - { - name = "turretheavylaser", - x = 904, - z = 2440, - facing = 0, - }, - { - name = "staticheavyradar", - x = 3248, - z = 4048, - facing = 2, - }, - { - name = "staticradar", - x = 560, - z = 4512, - facing = 2, - }, - { - name = "shipassault", - x = 2320, - z = 2668, - facing = 0, - patrolRoute = { - {2208, 2640}, - {2330, 2785}, - }, - }, - { - name = "energywind", - x = 2680, - z = 2088, - facing = 0, - }, - { - name = "energywind", - x = 2808, - z = 1928, - facing = 0, - }, - { - name = "shipcon", - x = 3200, - z = 2724, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 2104, - facing = 0, - }, - { - name = "amphassault", - x = 3792, - z = 3747, - facing = 0, - }, - { - name = "hoverassault", - x = 2426, - z = 3694, - facing = 3, - }, - { - name = "energywind", - x = 3400, - z = 2776, - facing = 0, - }, - { - name = "energywind", - x = 2760, - z = 1960, - facing = 0, - }, - { - name = "energyfusion", - x = 1192, - z = 3248, - facing = 0, - }, - { - name = "energywind", - x = 2792, - z = 2072, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 1976, - facing = 0, - }, - { - name = "shiparty", - x = 388, - z = 4074, - facing = 0, - }, - { - name = "amphcon", - x = 3102, - z = 2032, - facing = 3, - }, - { - name = "shiparty", - x = 3081, - z = 4662, - facing = 0, - }, - { - name = "hovercon", - x = 980, - z = 3284, - facing = 0, - }, - { - name = "amphimpulse", - x = 2897, - z = 4109, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2961, 4176}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3024, 4165}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 2824, - z = 2024, - facing = 0, - }, - { - name = "turretlaser", - x = 1504, - z = 2912, - facing = 0, - }, - { - name = "energywind", - x = 2728, - z = 2008, - facing = 0, - }, - { - name = "energywind", - x = 2712, - z = 1960, - facing = 0, - }, - { - name = "energywind", - x = 2728, - z = 2056, - facing = 0, - }, - { - name = "energywind", - x = 2840, - z = 2072, - facing = 0, - }, - { - name = "energywind", - x = 2792, - z = 2120, - facing = 0, - }, - { - name = "shipcon", - x = 1411, - z = 3268, - facing = 0, - }, - { - name = "hovercon", - x = 2248, - z = 2564, - facing = 1, - }, - { - name = "energywind", - x = 2840, - z = 2120, - facing = 0, - }, - { - name = "energywind", - x = 2872, - z = 1976, - facing = 0, - }, - { - name = "turretlaser", - x = 3520, - z = 2416, - facing = 0, - }, - { - name = "hoverassault", - x = 2276, - z = 3745, - facing = 3, - }, - { - name = "energywind", - x = 2760, - z = 1912, - facing = 0, - }, - { - name = "energywind", - x = 2872, - z = 2024, - facing = 0, - }, - { - name = "shipskirm", - x = 2998, - z = 4193, - facing = 1, - patrolRoute = { - {3012, 4215}, - {2962, 4178}, - }, - }, - { - name = "energywind", - x = 2712, - z = 1912, - facing = 0, - }, - { - name = "energywind", - x = 3288, - z = 2776, - facing = 0, - }, - { - name = "energywind", - x = 3288, - z = 2696, - facing = 0, - }, - { - name = "hoverraid", - x = 4650, - z = 4615, - facing = 1, - }, - { - name = "amphcon", - x = 4442, - z = 3450, - facing = 1, - }, - { - name = "hoverskirm", - x = 2608, - z = 3685, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2961, 4176}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2899, 4161}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 3336, - z = 2664, - facing = 0, - }, - { - name = "hovercon", - x = 1168, - z = 3206, - facing = 0, - }, - { - name = "shipcon", - x = 1424, - z = 3221, - facing = 0, - }, - { - name = "energyfusion", - x = 1400, - z = 3040, - facing = 0, - }, - { - name = "hoverarty", - x = 2673, - z = 3566, - facing = 0, - }, - { - name = "subraider", - x = 4673, - z = 4630, - facing = 2, - }, - { - name = "turretlaser", - x = 3120, - z = 2496, - facing = 0, - }, - { - name = "amphcon", - x = 2880, - z = 2213, - facing = 3, - }, - { - name = "turretlaser", - x = 1312, - z = 3168, - facing = 0, - }, - { - name = "turretriot", - x = 1144, - z = 3000, - facing = 0, - }, - { - name = "hovercon", - x = 2078, - z = 2385, - facing = 3, - }, - { - name = "energyfusion", - x = 1384, - z = 3536, - facing = 0, - buildProgress = 0.43399999, - }, - { - name = "amphcon", - x = 3363, - z = 2219, - facing = 1, - }, - { - name = "hoveraa", - x = 1523, - z = 2961, - facing = 3, - }, - { - name = "staticcon", - x = 3112, - z = 1992, - facing = 0, - }, - { - name = "staticcon", - x = 3160, - z = 1992, - facing = 0, - }, - { - name = "amphaa", - x = 2895, - z = 3079, - facing = 3, - }, - { - name = "staticstorage", - x = 1720, - z = 2904, - facing = 0, - }, - { - name = "amphcon", - x = 2812, - z = 2803, - facing = 3, - }, - { - name = "staticcon", - x = 3208, - z = 1992, - facing = 0, - }, - { - name = "shipaa", - x = 3304, - z = 2256, - facing = 0, - buildProgress = 0.61949998, - }, - { - name = "turretriot", - x = 968, - z = 3400, - facing = 0, - buildProgress = 0.3136, - }, - { - name = "hovercon", - x = 2734, - z = 2326, - facing = 2, - }, - { - name = "amphraid", - x = 3621, - z = 2998, - facing = 0, - }, - { - name = "staticcon", - x = 3016, - z = 2024, - facing = 0, - }, - { - name = "staticcon", - x = 3064, - z = 1992, - facing = 0, - }, - { - name = "hoverraid", - x = 4295, - z = 3224, - facing = 0, - }, - { - name = "amphcon", - x = 3463, - z = 2220, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2680, 3004}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3480, 2204}, options = {"shift"}}, - }, - }, - { - name = "hovercon", - x = 2959, - z = 2324, - facing = 3, - }, - { - name = "staticcon", - x = 2984, - z = 2072, - facing = 0, - buildProgress = 0.85030001, - }, - { - name = "hoverarty", - x = 3088, - z = 2192, - facing = 0, - buildProgress = 0.0396, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "striderhub", - "striderdetriment" - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Strider Hubs and Detriments", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 8, - unitTypes = { - "shipcarrier", - }, - image = planetUtilities.ICON_DIR .. "shipcarrier.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 8 Reefs", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 25*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 25:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - onlyCountRemovedUnits = true, - satisfyByTime = 16*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "energysingu", - }, - image = planetUtilities.ICON_DIR .. "energysingu.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy an enemy Singularity Reactor before 16:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "subtacmissile", - "shipcarrier", - }, - modules = { - "commweapon_disruptorbomb", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet58.lua b/campaign/dev/planets/planet58.lua deleted file mode 100644 index 64adf09d3..000000000 --- a/campaign/dev/planets/planet58.lua +++ /dev/null @@ -1,2434 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/tundra03.png" - - local planetData = { - name = "Chatka", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.675, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.235, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arctic", - radius = "4980 km", - primary = "Halio Raba", - primaryType = "K1VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24614", - text = [[Two enemy groups are already engaged on this icy planet. Defeat them both from a safe distance with the Merlin artillery strider.]] - }, - tips = { - { - image = "unitpics/striderarty.png", - text = [[The Merlin is the most powerful mobile artillery piece in the game - its barrage of rockets is most effective against large groups of enemies. Merlins are defenceless at close range so be careful with your starting Merlin until you have a large enough army to escort it.]] - }, - { - image = "unitpics/cloakjammer.png", - text = [[Keep your units invisible with an area cloaker until the time has come for a decisive strike. This is best used to hide your vulnerable artillery pieces or get your short-range fighters up close to enemy positions.]] - }, - { - image = "unitpics/energyfusion.png", - text = [[Remember that in a multi-sided game damaging one of your enemies is often less important than making yourself stronger. Play conservatively and build many energy generators to bolster your economy.]] - }, - }, - gameConfig = { - mapName = "SiberianDivide 1.1", - playerConfig = { - startX = 6850, - startZ = 5950, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 3, - }, - extraUnlocks = { - "striderhub", - "striderarty", - }, - startUnits = { - { - name = "staticcon", - x = 6952, - z = 5992, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6952, 5992}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6927, 5967}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 8456, - z = 6536, - facing = 0, - }, - { - name = "staticmex", - x = 7576, - z = 6024, - facing = 0, - }, - { - name = "staticmex", - x = 7256, - z = 6168, - facing = 0, - }, - { - name = "staticmex", - x = 7000, - z = 5560, - facing = 0, - }, - { - name = "staticmex", - x = 7272, - z = 5400, - facing = 0, - }, - { - name = "staticmex", - x = 5768, - z = 6296, - facing = 3, - }, - { - name = "energysolar", - x = 7064, - z = 5576, - facing = 2, - }, - { - name = "energysolar", - x = 6984, - z = 5624, - facing = 1, - }, - { - name = "staticheavyradar", - x = 8096, - z = 6160, - facing = 3, - }, - { - name = "energysolar", - x = 6936, - z = 5544, - facing = 0, - }, - { - name = "energysolar", - x = 7016, - z = 5496, - facing = 3, - }, - { - name = "energysolar", - x = 7336, - z = 5416, - facing = 2, - }, - { - name = "energysolar", - x = 7256, - z = 5464, - facing = 1, - }, - { - name = "energysolar", - x = 7208, - z = 5384, - facing = 0, - }, - { - name = "energysolar", - x = 7288, - z = 5336, - facing = 3, - }, - { - name = "staticmex", - x = 8824, - z = 4808, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6984, - z = 5352, - facing = 2, - }, - { - name = "turretriot", - x = 7432, - z = 5336, - facing = 2, - }, - { - name = "cloakjammer", - x = 7142, - z = 5641, - facing = 2, - }, - { - name = "turretaafar", - x = 7136, - z = 5744, - facing = 2, - }, - { - name = "energysolar", - x = 8888, - z = 4824, - facing = 1, - }, - { - name = "energysolar", - x = 8808, - z = 4872, - facing = 0, - }, - { - name = "energysolar", - x = 8760, - z = 4792, - facing = 3, - }, - { - name = "striderarty", - x = 7073, - z = 5888, - facing = 2, - }, - { - name = "energysolar", - x = 8840, - z = 4744, - facing = 2, - }, - { - name = "turretmissile", - x = 8640, - z = 4768, - facing = 2, - }, - { - name = "energysolar", - x = 5832, - z = 6312, - facing = 1, - }, - { - name = "turretmissile", - x = 8928, - z = 4640, - facing = 2, - }, - { - name = "energysolar", - x = 5752, - z = 6360, - facing = 0, - }, - { - name = "energysolar", - x = 5704, - z = 6280, - facing = 3, - }, - { - name = "energysolar", - x = 5784, - z = 6232, - facing = 2, - }, - { - name = "turretmissile", - x = 5584, - z = 6384, - facing = 3, - }, - { - name = "turretmissile", - x = 5920, - z = 6192, - facing = 2, - }, - { - name = "energysolar", - x = 8520, - z = 6552, - facing = 1, - }, - { - name = "energysolar", - x = 8440, - z = 6600, - facing = 0, - }, - { - name = "energysolar", - x = 8392, - z = 6520, - facing = 3, - }, - { - name = "energysolar", - x = 8472, - z = 6472, - facing = 2, - }, - { - name = "energyfusion", - x = 8664, - z = 6656, - facing = 2, - }, - { - name = "energysolar", - x = 7320, - z = 6184, - facing = 1, - }, - { - name = "energysolar", - x = 7240, - z = 6232, - facing = 0, - }, - { - name = "energysolar", - x = 7192, - z = 6152, - facing = 3, - }, - { - name = "energysolar", - x = 7272, - z = 6104, - facing = 2, - }, - { - name = "energysolar", - x = 7640, - z = 6040, - facing = 1, - }, - { - name = "energysolar", - x = 7560, - z = 6088, - facing = 0, - }, - { - name = "energysolar", - x = 7512, - z = 6008, - facing = 3, - }, - { - name = "energysolar", - x = 7592, - z = 5960, - facing = 2, - }, - { - name = "turretriot", - x = 6808, - z = 5720, - facing = 3, - }, - { - name = "turretmissile", - x = 5536, - z = 6464, - facing = 3, - }, - { - name = "turretmissile", - x = 6016, - z = 6160, - facing = 2, - }, - { - name = "turretmissile", - x = 8512, - z = 4816, - facing = 2, - }, - { - name = "turretmissile", - x = 9040, - z = 4592, - facing = 2, - }, - { - name = "striderhub", - x = 7056, - z = 6016, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7056, 6016}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7031, 5991}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7160, - z = 6008, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7135, 5983}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7160, 6008}, options = {"shift"}}, - }, - }, - } - }, - aiConfig = { - { - startX = 6700, - startZ = 1500, - humanName = "Amlamu", - -- aiLib = "Null AI", - -- bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "striderhub", - "striderdante", - "striderscorpion", - "staticnuke", - }, - commanderLevel = 6, - commander = { - name = "K'lor", - chassis = "engineer", - decorations = { - "skin_support_green", - }, - modules = { - "commweapon_hparticlebeam", - "commweapon_multistunner", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_autorepair", - "module_autorepair", - "module_autorepair", - } - }, - startUnits = { - { - name = "turretlaser", - x = 5024, - z = 224, - facing = 3, - }, - { - name = "spideremp", - x = 6859, - z = 1945, - facing = 3, - }, - { - name = "staticmex", - x = 7272, - z = 1240, - facing = 0, - }, - { - name = "staticmex", - x = 7000, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 6200, - z = 1944, - facing = 0, - }, - { - name = "staticmex", - x = 5832, - z = 1784, - facing = 0, - }, - { - name = "staticmex", - x = 5224, - z = 1032, - facing = 0, - }, - { - name = "staticmex", - x = 5368, - z = 696, - facing = 0, - }, - { - name = "staticmex", - x = 6408, - z = 3304, - facing = 0, - }, - { - name = "staticmex", - x = 7112, - z = 3384, - facing = 0, - }, - { - name = "staticmex", - x = 8440, - z = 3768, - facing = 0, - }, - { - name = "staticmex", - x = 8856, - z = 552, - facing = 0, - }, - { - name = "staticmex", - x = 8408, - z = 312, - facing = 0, - }, - { - name = "energysolar", - x = 8472, - z = 328, - facing = 1, - }, - { - name = "energysolar", - x = 8504, - z = 3784, - facing = 1, - }, - { - name = "energysolar", - x = 8392, - z = 376, - facing = 0, - }, - { - name = "energysolar", - x = 8424, - z = 3832, - facing = 0, - }, - { - name = "energysolar", - x = 8344, - z = 296, - facing = 3, - }, - { - name = "energysolar", - x = 8376, - z = 3752, - facing = 3, - }, - { - name = "energysolar", - x = 8456, - z = 3704, - facing = 2, - }, - { - name = "energysolar", - x = 8920, - z = 568, - facing = 1, - }, - { - name = "energysolar", - x = 8840, - z = 616, - facing = 0, - }, - { - name = "energysolar", - x = 8792, - z = 536, - facing = 3, - }, - { - name = "energysolar", - x = 8872, - z = 488, - facing = 2, - }, - { - name = "energysolar", - x = 7032, - z = 3432, - facing = 2, - }, - { - name = "energysolar", - x = 7176, - z = 3432, - facing = 2, - }, - { - name = "energysolar", - x = 6472, - z = 3320, - facing = 1, - }, - { - name = "energysolar", - x = 6392, - z = 3368, - facing = 0, - }, - { - name = "energysolar", - x = 6344, - z = 3288, - facing = 3, - }, - { - name = "energysolar", - x = 6424, - z = 3240, - facing = 2, - }, - { - name = "energysolar", - x = 6264, - z = 1960, - facing = 1, - }, - { - name = "energysolar", - x = 6184, - z = 2008, - facing = 0, - }, - { - name = "energysolar", - x = 6136, - z = 1928, - facing = 3, - }, - { - name = "energysolar", - x = 6216, - z = 1880, - facing = 2, - }, - { - name = "energysolar", - x = 5896, - z = 1800, - facing = 1, - }, - { - name = "energysolar", - x = 5816, - z = 1848, - facing = 0, - }, - { - name = "energysolar", - x = 5768, - z = 1768, - facing = 3, - }, - { - name = "energysolar", - x = 5848, - z = 1720, - facing = 2, - }, - { - name = "energysolar", - x = 5288, - z = 1048, - facing = 1, - }, - { - name = "energysolar", - x = 5208, - z = 1096, - facing = 0, - }, - { - name = "energysolar", - x = 5160, - z = 1016, - facing = 3, - }, - { - name = "energysolar", - x = 5240, - z = 968, - facing = 2, - }, - { - name = "energysolar", - x = 5432, - z = 712, - facing = 1, - }, - { - name = "energysolar", - x = 5352, - z = 760, - facing = 0, - }, - { - name = "energysolar", - x = 5304, - z = 680, - facing = 3, - }, - { - name = "energysolar", - x = 5384, - z = 632, - facing = 2, - }, - { - name = "energysolar", - x = 7064, - z = 888, - facing = 1, - }, - { - name = "energysolar", - x = 6984, - z = 936, - facing = 0, - }, - { - name = "energysolar", - x = 6936, - z = 856, - facing = 3, - }, - { - name = "energysolar", - x = 7016, - z = 808, - facing = 2, - }, - { - name = "energysolar", - x = 7336, - z = 1256, - facing = 1, - }, - { - name = "energysolar", - x = 7256, - z = 1304, - facing = 0, - }, - { - name = "energysolar", - x = 7208, - z = 1224, - facing = 3, - }, - { - name = "energysolar", - x = 7288, - z = 1176, - facing = 2, - }, - { - name = "staticcon", - x = 8024, - z = 312, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8024, 312}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7999, 337}, options = {"shift"}}, - }, - }, - { - name = "factorygunship", - x = 8136, - z = 440, - facing = 2, - }, - { - name = "staticradar", - x = 5248, - z = 816, - facing = 0, - }, - { - name = "energysingu", - x = 7544, - z = 760, - facing = 3, - }, - { - name = "energypylon", - x = 7016, - z = 1064, - facing = 3, - }, - { - name = "turretheavy", - x = 4984, - z = 648, - facing = 3, - terraformHeight = 118, - }, - { - name = "energypylon", - x = 6056, - z = 1048, - facing = 3, - }, - { - name = "turretemp", - x = 4880, - z = 880, - facing = 3, - }, - { - name = "energypylon", - x = 5384, - z = 904, - facing = 3, - }, - { - name = "turretemp", - x = 4976, - z = 368, - facing = 3, - }, - { - name = "turretlaser", - x = 4816, - z = 1008, - facing = 3, - }, - { - name = "turretlaser", - x = 4864, - z = 1136, - facing = 3, - }, - { - name = "turretaaflak", - x = 5096, - z = 872, - facing = 3, - }, - { - name = "turretaaflak", - x = 5240, - z = 360, - facing = 3, - }, - { - name = "energypylon", - x = 6408, - z = 1816, - facing = 1, - }, - { - name = "energypylon", - x = 5912, - z = 2632, - facing = 1, - }, - { - name = "energypylon", - x = 6824, - z = 2616, - facing = 1, - }, - { - name = "spideremp", - x = 6828, - z = 1975, - facing = 3, - }, - { - name = "energypylon", - x = 7704, - z = 2568, - facing = 1, - }, - { - name = "staticradar", - x = 5472, - z = 2352, - facing = 0, - }, - { - name = "turretemp", - x = 8928, - z = 2944, - facing = 0, - }, - { - name = "turretriot", - x = 8808, - z = 2872, - facing = 0, - }, - { - name = "turretriot", - x = 9064, - z = 2936, - facing = 0, - }, - { - name = "staticradar", - x = 7328, - z = 2832, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5224, - z = 2104, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5112, - z = 2488, - facing = 3, - }, - { - name = "turretriot", - x = 5192, - z = 2280, - facing = 3, - }, - { - name = "turretaaflak", - x = 5448, - z = 2056, - facing = 3, - }, - { - name = "turretantiheavy", - x = 6224, - z = 2864, - facing = 0, - }, - { - name = "turretheavy", - x = 6808, - z = 3096, - facing = 0, - }, - { - name = "turretheavy", - x = 7736, - z = 3096, - facing = 0, - }, - { - name = "energypylon", - x = 8600, - z = 2616, - facing = 0, - }, - { - name = "turretheavy", - x = 8600, - z = 3080, - facing = 0, - }, - { - name = "turretheavy", - x = 5640, - z = 3032, - facing = 0, - }, - { - name = "turretaaflak", - x = 5880, - z = 2808, - facing = 0, - }, - { - name = "turretaaflak", - x = 8312, - z = 2744, - facing = 0, - }, - { - name = "turretaaflak", - x = 6728, - z = 2744, - facing = 0, - }, - { - name = "turretmissile", - x = 6576, - z = 3056, - facing = 0, - }, - { - name = "turretmissile", - x = 7952, - z = 3008, - facing = 0, - }, - { - name = "turretmissile", - x = 6400, - z = 3008, - facing = 0, - }, - { - name = "turretmissile", - x = 8432, - z = 3008, - facing = 0, - }, - { - name = "turretmissile", - x = 5968, - z = 3072, - facing = 0, - }, - { - name = "energypylon", - x = 7336, - z = 1896, - facing = 0, - }, - { - name = "energypylon", - x = 7928, - z = 1128, - facing = 0, - }, - { - name = "energypylon", - x = 8216, - z = 1992, - facing = 0, - }, - { - name = "factoryspider", - x = 7096, - z = 2120, - facing = 3, - }, - { - name = "staticcon", - x = 7208, - z = 2088, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7208, 2088}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7183, 2113}, options = {"shift"}}, - }, - }, - { - name = "factoryshield", - x = 6840, - z = 640, - facing = 3, - }, - { - name = "staticcon", - x = 6984, - z = 664, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6984, 664}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6959, 689}, options = {"shift"}}, - }, - }, - { - name = "factorytank", - x = 5952, - z = 1472, - facing = 3, - }, - { - name = "staticcon", - x = 6088, - z = 1432, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6063, 1457}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6088, 1432}, options = {"shift"}}, - }, - }, - { - name = "shieldraid", - x = 6149, - z = 536, - facing = 2, - }, - { - name = "shieldraid", - x = 6154, - z = 758, - facing = 1, - }, - { - name = "shieldraid", - x = 6194, - z = 969, - facing = 0, - }, - { - name = "shieldskirm", - x = 6369, - z = 716, - facing = 3, - }, - { - name = "shieldskirm", - x = 6355, - z = 648, - facing = 3, - }, - { - name = "shieldskirm", - x = 6410, - z = 732, - facing = 3, - }, - { - name = "shieldskirm", - x = 6348, - z = 607, - facing = 3, - }, - { - name = "shieldassault", - x = 6536, - z = 625, - facing = 2, - }, - { - name = "shieldassault", - x = 6589, - z = 704, - facing = 3, - }, - { - name = "shieldassault", - x = 6580, - z = 559, - facing = 3, - }, - { - name = "shieldriot", - x = 6181, - z = 698, - facing = 3, - }, - { - name = "shieldriot", - x = 6622, - z = 619, - facing = 3, - }, - { - name = "shieldriot", - x = 6623, - z = 566, - facing = 3, - }, - { - name = "shieldfelon", - x = 6669, - z = 666, - facing = 3, - }, - { - name = "tankassault", - x = 5682, - z = 1439, - facing = 3, - }, - { - name = "tankriot", - x = 5726, - z = 1480, - facing = 3, - }, - { - name = "tankarty", - x = 5734, - z = 1429, - facing = 3, - }, - { - name = "tankcon", - x = 5734, - z = 1385, - facing = 3, - }, - { - name = "spidercon", - x = 6888, - z = 2124, - facing = 3, - }, - { - name = "spidercon", - x = 6764, - z = 1909, - facing = 3, - }, - { - name = "spiderriot", - x = 6686, - z = 1907, - facing = 3, - }, - { - name = "turretantiheavy", - x = 6784, - z = 1408, - facing = 3, - }, - { - name = "spiderriot", - x = 6674, - z = 2025, - facing = 3, - }, - { - name = "spiderassault", - x = 6700, - z = 1788, - facing = 3, - }, - { - name = "spiderassault", - x = 6785, - z = 1948, - facing = 3, - }, - { - name = "spiderskirm", - x = 6748, - z = 1983, - facing = 2, - }, - { - name = "spiderskirm", - x = 6790, - z = 1995, - facing = 2, - }, - } - }, - { - startX = 1200, - startZ = 1850, - humanName = "Alkalich", - -- aiLib = "Null AI", - -- bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 2, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehriot", - "vehassault", - "vehaa", - "vehsupport", - "veharty", - "vehheavyarty", - "vehcapture", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - "striderhub", - "striderdante", - "striderscorpion", - "staticheavyarty" - }, - commanderLevel = 6, - commander = { - name = "Natrium", - chassis = "guardian", - decorations = { - }, - modules = { - "commweapon_riotcannon", - "commweapon_riotcannon", - "weaponmod_napalm_warhead", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_autorepair", - } - }, - startUnits = { - { - name = "vehassault", - x = 3275, - z = 1962, - facing = 1, - }, - { - name = "vehassault", - x = 3279, - z = 2013, - facing = 1, - }, - { - name = "staticmex", - x = 792, - z = 3400, - facing = 0, - }, - { - name = "staticmex", - x = 408, - z = 2360, - facing = 0, - }, - { - name = "staticmex", - x = 1944, - z = 1768, - facing = 0, - }, - { - name = "staticmex", - x = 2216, - z = 1608, - facing = 0, - }, - { - name = "staticmex", - x = 1960, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 1656, - z = 1144, - facing = 0, - }, - { - name = "staticmex", - x = 760, - z = 648, - facing = 0, - }, - { - name = "staticmex", - x = 2584, - z = 2440, - facing = 0, - }, - { - name = "staticmex", - x = 2840, - z = 2248, - facing = 0, - }, - { - name = "staticmex", - x = 3448, - z = 888, - facing = 0, - }, - { - name = "staticmex", - x = 2120, - z = 3784, - facing = 0, - }, - { - name = "staticmex", - x = 2808, - z = 3880, - facing = 2, - }, - { - name = "energysolar", - x = 856, - z = 3416, - facing = 1, - }, - { - name = "energysolar", - x = 776, - z = 3464, - facing = 0, - }, - { - name = "energysolar", - x = 728, - z = 3384, - facing = 3, - }, - { - name = "energysolar", - x = 2872, - z = 3896, - facing = 1, - }, - { - name = "energysolar", - x = 808, - z = 3336, - facing = 2, - }, - { - name = "energysolar", - x = 2792, - z = 3944, - facing = 0, - }, - { - name = "energysolar", - x = 2744, - z = 3864, - facing = 3, - }, - { - name = "energysolar", - x = 2824, - z = 3816, - facing = 2, - }, - { - name = "energysolar", - x = 2184, - z = 3800, - facing = 1, - }, - { - name = "energysolar", - x = 472, - z = 2376, - facing = 1, - }, - { - name = "energysolar", - x = 2104, - z = 3848, - facing = 0, - }, - { - name = "energysolar", - x = 392, - z = 2424, - facing = 0, - }, - { - name = "energysolar", - x = 2056, - z = 3768, - facing = 3, - }, - { - name = "energysolar", - x = 344, - z = 2344, - facing = 3, - }, - { - name = "energysolar", - x = 424, - z = 2296, - facing = 2, - }, - { - name = "energysolar", - x = 1720, - z = 1160, - facing = 1, - }, - { - name = "energysolar", - x = 1640, - z = 1208, - facing = 0, - }, - { - name = "energysolar", - x = 1592, - z = 1128, - facing = 3, - }, - { - name = "energysolar", - x = 1672, - z = 1080, - facing = 2, - }, - { - name = "energysolar", - x = 2024, - z = 1016, - facing = 1, - }, - { - name = "energysolar", - x = 3512, - z = 904, - facing = 1, - }, - { - name = "energysolar", - x = 1944, - z = 1064, - facing = 0, - }, - { - name = "energysolar", - x = 1896, - z = 984, - facing = 3, - }, - { - name = "energysolar", - x = 3384, - z = 872, - facing = 3, - }, - { - name = "energysolar", - x = 1976, - z = 936, - facing = 2, - }, - { - name = "energysolar", - x = 3464, - z = 824, - facing = 2, - }, - { - name = "energysolar", - x = 824, - z = 664, - facing = 1, - }, - { - name = "energysolar", - x = 744, - z = 712, - facing = 0, - }, - { - name = "energysolar", - x = 696, - z = 632, - facing = 3, - }, - { - name = "energysolar", - x = 776, - z = 584, - facing = 2, - }, - { - name = "energysolar", - x = 2008, - z = 1784, - facing = 1, - }, - { - name = "energysolar", - x = 1928, - z = 1832, - facing = 0, - }, - { - name = "energysolar", - x = 1880, - z = 1752, - facing = 3, - }, - { - name = "energysolar", - x = 1960, - z = 1704, - facing = 2, - }, - { - name = "energysolar", - x = 2280, - z = 1624, - facing = 1, - }, - { - name = "energysolar", - x = 2200, - z = 1672, - facing = 0, - }, - { - name = "energysolar", - x = 2152, - z = 1592, - facing = 3, - }, - { - name = "energysolar", - x = 2232, - z = 1544, - facing = 2, - }, - { - name = "energysolar", - x = 2648, - z = 2456, - facing = 1, - }, - { - name = "energysolar", - x = 2568, - z = 2504, - facing = 0, - }, - { - name = "energysolar", - x = 2520, - z = 2424, - facing = 3, - }, - { - name = "energysolar", - x = 2600, - z = 2376, - facing = 2, - }, - { - name = "energysolar", - x = 2904, - z = 2264, - facing = 1, - }, - { - name = "energysolar", - x = 2824, - z = 2312, - facing = 0, - }, - { - name = "energysolar", - x = 2776, - z = 2232, - facing = 3, - }, - { - name = "energysolar", - x = 2856, - z = 2184, - facing = 2, - }, - { - name = "turretaafar", - x = 2592, - z = 4256, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2968, - z = 4312, - facing = 1, - }, - { - name = "turretriot", - x = 2744, - z = 4424, - facing = 0, - }, - { - name = "turretriot", - x = 2312, - z = 4536, - facing = 0, - }, - { - name = "turretemp", - x = 2512, - z = 4464, - facing = 0, - }, - { - name = "turretlaser", - x = 1920, - z = 4320, - facing = 0, - }, - { - name = "turretmissile", - x = 1536, - z = 4416, - facing = 0, - }, - { - name = "turretmissile", - x = 1232, - z = 4432, - facing = 0, - }, - { - name = "turretmissile", - x = 912, - z = 4416, - facing = 0, - }, - { - name = "turretlaser", - x = 160, - z = 4448, - facing = 0, - }, - { - name = "staticradar", - x = 368, - z = 4368, - facing = 0, - }, - { - name = "staticradar", - x = 2784, - z = 4272, - facing = 0, - }, - { - name = "staticrearm", - x = 552, - z = 1576, - facing = 0, - }, - { - name = "factoryplane", - x = 536, - z = 1408, - facing = 1, - }, - { - name = "staticcon", - x = 408, - z = 1624, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {408, 1624}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {433, 1649}, options = {"shift"}}, - }, - }, - { - name = "staticstorage", - x = 440, - z = 1288, - facing = 1, - }, - { - name = "turretheavylaser", - x = 584, - z = 1784, - facing = 0, - }, - { - name = "turretriot", - x = 312, - z = 1832, - facing = 0, - }, - { - name = "turretemp", - x = 752, - z = 1568, - facing = 1, - }, - { - name = "turretriot", - x = 536, - z = 1256, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3544, - z = 3832, - facing = 0, - }, - { - name = "turretriot", - x = 3432, - z = 3912, - facing = 0, - }, - { - name = "turretriot", - x = 3672, - z = 3768, - facing = 0, - }, - { - name = "turretaaflak", - x = 3480, - z = 3640, - facing = 0, - }, - { - name = "turretaaflak", - x = 1112, - z = 3880, - facing = 0, - }, - { - name = "turretlaser", - x = 1248, - z = 3824, - facing = 0, - }, - { - name = "staticradar", - x = 3456, - z = 352, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3880, - z = 296, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3720, - z = 632, - facing = 1, - }, - { - name = "turretriot", - x = 3864, - z = 488, - facing = 1, - }, - { - name = "turretriot", - x = 4008, - z = 152, - facing = 1, - }, - { - name = "turretriot", - x = 3656, - z = 808, - facing = 1, - }, - { - name = "turretaafar", - x = 3392, - z = 240, - facing = 1, - }, - { - name = "turretlaser", - x = 3360, - z = 592, - facing = 1, - }, - { - name = "turretlaser", - x = 3552, - z = 144, - facing = 1, - }, - { - name = "turretlaser", - x = 3104, - z = 928, - facing = 1, - }, - { - name = "turretriot", - x = 2424, - z = 1384, - facing = 1, - }, - { - name = "turretriot", - x = 2648, - z = 1240, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2504, - z = 1272, - facing = 1, - }, - { - name = "turretriot", - x = 1560, - z = 1928, - facing = 0, - }, - { - name = "turretriot", - x = 1800, - z = 1896, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1672, - z = 1832, - facing = 0, - }, - { - name = "turretaaflak", - x = 1720, - z = 1656, - facing = 0, - }, - { - name = "turretaaflak", - x = 2232, - z = 1272, - facing = 1, - }, - { - name = "factoryspider", - x = 616, - z = 3080, - facing = 1, - }, - { - name = "staticcon", - x = 488, - z = 3064, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {488, 3064}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {513, 3089}, options = {"shift"}}, - }, - }, - { - name = "energyfusion", - x = 1176, - z = 656, - facing = 0, - }, - { - name = "energyfusion", - x = 1448, - z = 720, - facing = 0, - }, - { - name = "energypylon", - x = 1320, - z = 904, - facing = 0, - }, - { - name = "energypylon", - x = 1928, - z = 1336, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3400, - z = 2904, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3304, - z = 1848, - facing = 1, - }, - { - name = "turretriot", - x = 3448, - z = 1784, - facing = 1, - }, - { - name = "turretriot", - x = 3544, - z = 2968, - facing = 1, - }, - { - name = "turretemp", - x = 3376, - z = 2352, - facing = 1, - }, - { - name = "staticcon", - x = 2824, - z = 1880, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2824, 1880}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2849, 1905}, options = {"shift"}}, - }, - }, - { - name = "factoryveh", - x = 2976, - z = 1856, - facing = 1, - }, - { - name = "factorycloak", - x = 1360, - z = 1688, - facing = 1, - }, - { - name = "staticcon", - x = 1208, - z = 1672, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1233, 1697}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1208, 1672}, options = {"shift"}}, - }, - }, - { - name = "spidercon", - x = 833, - z = 3104, - facing = 1, - }, - { - name = "spidercon", - x = 775, - z = 2997, - facing = 1, - }, - { - name = "spiderskirm", - x = 1052, - z = 3037, - facing = 2, - }, - { - name = "spiderskirm", - x = 990, - z = 2905, - facing = 1, - }, - { - name = "spiderriot", - x = 988, - z = 2948, - facing = 1, - }, - { - name = "spiderriot", - x = 1009, - z = 3039, - facing = 2, - }, - { - name = "cloakskirm", - x = 1687, - z = 1508, - facing = 2, - }, - { - name = "spiderassault", - x = 997, - z = 2996, - facing = 2, - }, - { - name = "cloakskirm", - x = 1647, - z = 1490, - facing = 2, - }, - { - name = "spiderassault", - x = 967, - z = 3032, - facing = 2, - }, - { - name = "cloakskirm", - x = 1607, - z = 1474, - facing = 2, - }, - { - name = "spideremp", - x = 944, - z = 2950, - facing = 1, - }, - { - name = "cloakskirm", - x = 1527, - z = 1442, - facing = 2, - }, - { - name = "spideremp", - x = 947, - z = 2993, - facing = 0, - }, - { - name = "cloakskirm", - x = 1758, - z = 1542, - facing = 2, - }, - { - name = "cloakskirm", - x = 1827, - z = 1608, - facing = 2, - }, - { - name = "cloakskirm", - x = 1724, - z = 1523, - facing = 2, - }, - { - name = "cloakskirm", - x = 1568, - z = 1458, - facing = 2, - }, - { - name = "veharty", - x = 3084, - z = 2299, - facing = 0, - }, - { - name = "cloakskirm", - x = 1485, - z = 1434, - facing = 2, - }, - { - name = "cloakskirm", - x = 1818, - z = 1651, - facing = 2, - }, - { - name = "veharty", - x = 3068, - z = 1597, - facing = 2, - }, - { - name = "cloakriot", - x = 1816, - z = 1697, - facing = 1, - }, - { - name = "veharty", - x = 3083, - z = 2061, - facing = 0, - }, - { - name = "cloakassault", - x = 1801, - z = 1570, - facing = 2, - }, - { - name = "veharty", - x = 3142, - z = 1859, - facing = 1, - }, - { - name = "veharty", - x = 3360, - z = 2005, - facing = 1, - }, - { - name = "vehriot", - x = 3355, - z = 1962, - facing = 1, - }, - { - name = "vehriot", - x = 3282, - z = 2057, - facing = 1, - }, - { - name = "vehassault", - x = 3320, - z = 2020, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryshield", - "factorygunship", - "factoryspider", - "factorytank", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - doNotExplodeOnLoss = true, - }, - [2] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryspider", - "factoryveh", - "factoryplane", - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 2, - doNotExplodeOnLoss = true, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the Commander and Factories of the eastern enemy", - }, - [2] = { - description = "Destroy the Commander and Factories of the western enemy", - }, - [3] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 4, - unitTypes = { - "striderarty", - }, - image = planetUtilities.ICON_DIR .. "striderarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 4 Merlins", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 1, - unitTypes = { - "striderarty" - }, - image = planetUtilities.ICON_DIR .. "striderarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose more than 1 Merlin", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyByTime = 18*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 18, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 18 Metal Extractors by 18:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "striderarty", - }, - modules = { - "module_cloak_field" - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet59.lua b/campaign/dev/planets/planet59.lua deleted file mode 100644 index f4da5b900..000000000 --- a/campaign/dev/planets/planet59.lua +++ /dev/null @@ -1,2867 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/barren03.png" - - local planetData = { - name = "Tempest", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.675, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.10, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Artifical", - radius = "5470 km", - primary = "Jaas Non", - primaryType = "G9VI", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24614", - text = [[Provoked by a rival salvager, the Artefact on this planet has released an automatic defensive measure - nanobots convert any destroyed unit wrecks into zombies, hostile to all intruders. Use the Ultimatum's Disintegrator Gun to put them all the way down, then get away before the Artefact does something even nastier.]] - }, - tips = { - { - image = "unitpics/module_resurrect.png", - text = [[In this mission, any wrecked units will eventually become alive again, as slower 'zombie' versions of themselves. The zombies will be hostile to all player or AI factions. Reclaim or destroy the wrecks to prevent this from happening.]] - }, - { - image = "unitpics/striderantiheavy.png", - text = [[The Ultimatum can destroy most units with a single Disintegrator shot, and even the largest Striders can only withstand a few hits. The Disintegrator is also good at smashing wrecks so they will not return as zombies.]] - }, - { - image = "unitpics/pw_artefact.png", - text = [[The Artefact has no direct defences of its own but it is being defended by a rival. Push through the zombies and your opponent's defences to access the Artefact.]] - }, - }, - gameConfig = { - mapName = "StormSiege_v3", - modoptions = { - zombies = 1, - zombies_delay = 10, - zombies_rezspeed = 500, - zombies_permaslow = 1, - zombies_partial_reclaim = 1, - }, - playerConfig = { - startX = 3500, - startZ = 1170, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 3, - victoryAtLocation = { - x = 3408, - z = 7280, - radius = 120, - objectiveID = 1, - }, - }, - extraUnlocks = { - "striderantiheavy", - }, - startUnits = { - { - name = "striderantiheavy", - x = 3200, - z = 1100, - facing = 0, - }, - { - name = "striderantiheavy", - x = 3300, - z = 1100, - facing = 0, - difficultyAtMost = 2, - }, - { - name = "energyheavygeo", - x = 3416, - z = 1512, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 1064, - facing = 0, - }, - { - name = "staticmex", - x = 3640, - z = 552, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 344, - facing = 0, - }, - { - name = "staticmex", - x = 3272, - z = 600, - facing = 0, - }, - { - name = "staticmex", - x = 3032, - z = 760, - facing = 0, - }, - { - name = "staticmex", - x = 2616, - z = 648, - facing = 0, - }, - { - name = "staticmex", - x = 2920, - z = 1784, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 1784, - facing = 0, - }, - { - name = "energypylon", - x = 3496, - z = 888, - facing = 0, - }, - { - name = "energysolar", - x = 3912, - z = 360, - facing = 3, - }, - { - name = "energysolar", - x = 3832, - z = 408, - facing = 2, - }, - { - name = "energysolar", - x = 3784, - z = 328, - facing = 1, - }, - { - name = "energysolar", - x = 3864, - z = 280, - facing = 0, - }, - { - name = "staticcon", - x = 3176, - z = 968, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3176, 968}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3151, 993}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3256, - z = 968, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3256, 968}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3231, 993}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3336, - z = 968, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3336, 968}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3311, 993}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 2680, - z = 664, - facing = 3, - }, - { - name = "energysolar", - x = 2600, - z = 712, - facing = 2, - }, - { - name = "energysolar", - x = 2552, - z = 632, - facing = 1, - }, - { - name = "energysolar", - x = 2632, - z = 584, - facing = 0, - }, - { - name = "energysolar", - x = 2840, - z = 664, - facing = 0, - }, - { - name = "striderhub", - x = 3408, - z = 1056, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3408, 1056}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3383, 1081}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 3000, - z = 664, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3240, - z = 1592, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3576, - z = 1544, - facing = 0, - }, - { - name = "turretaaflak", - x = 3192, - z = 1288, - facing = 0, - }, - { - name = "turretaaflak", - x = 3608, - z = 1288, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2696, - z = 1032, - facing = 0, - }, - { - name = "turretriot", - x = 2744, - z = 1192, - facing = 0, - }, - { - name = "turretriot", - x = 3976, - z = 1288, - facing = 0, - }, - { - name = "staticheavyradar", - x = 3088, - z = 1472, - facing = 0, - }, - { - name = "energyfusion", - x = 3512, - z = 288, - facing = 0, - }, - } - }, - aiConfig = { - { - humanName = "Architects", - -- aiLib = "Null AI", - -- bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - }, - commander = false, - startUnits = { - { - name = "staticcon", - x = 2088, - z = 392, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2088, 392}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2095, 555}, options = {"shift"}}, - }, - }, - { - name = "factoryhover", - x = 2096, - z = 592, - facing = 0, - }, - { - name = "staticmex", - x = 600, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 360, - z = 456, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 248, - facing = 0, - }, - { - name = "staticmex", - x = 2408, - z = 552, - facing = 0, - }, - { - name = "staticmex", - x = 1288, - z = 488, - facing = 0, - }, - { - name = "staticmex", - x = 1384, - z = 760, - facing = 0, - }, - { - name = "staticmex", - x = 1896, - z = 664, - facing = 0, - }, - { - name = "staticmex", - x = 1512, - z = 1400, - facing = 0, - }, - { - name = "staticmex", - x = 984, - z = 1496, - facing = 0, - }, - { - name = "staticmex", - x = 968, - z = 1960, - facing = 0, - }, - { - name = "energyfusion", - x = 1576, - z = 384, - facing = 0, - }, - { - name = "staticmex", - x = 376, - z = 1656, - facing = 0, - }, - { - name = "staticmex", - x = 168, - z = 1576, - facing = 0, - }, - { - name = "energypylon", - x = 1992, - z = 792, - facing = 0, - }, - { - name = "energypylon", - x = 952, - z = 680, - facing = 0, - }, - { - name = "energyfusion", - x = 712, - z = 176, - facing = 0, - }, - { - name = "energysolar", - x = 456, - z = 456, - facing = 0, - }, - { - name = "energysolar", - x = 328, - z = 344, - facing = 0, - }, - { - name = "energysolar", - x = 1480, - z = 680, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2024, - z = 1096, - facing = 0, - }, - { - name = "turretriot", - x = 2056, - z = 1224, - facing = 0, - }, - { - name = "energypylon", - x = 1336, - z = 1368, - facing = 0, - }, - { - name = "turretheavy", - x = 1160, - z = 1672, - facing = 0, - }, - { - name = "energypylon", - x = 392, - z = 1384, - facing = 0, - }, - { - name = "turretheavy", - x = 520, - z = 1848, - facing = 0, - }, - { - name = "factorygunship", - x = 824, - z = 472, - facing = 0, - }, - { - name = "staticcon", - x = 808, - z = 360, - facing = 0, - }, - { - name = "staticcon", - x = 872, - z = 360, - facing = 0, - }, - { - name = "factoryamph", - x = 1480, - z = 1064, - facing = 0, - }, - { - name = "staticcon", - x = 1448, - z = 936, - facing = 0, - }, - { - name = "staticcon", - x = 1528, - z = 936, - facing = 0, - }, - { - name = "staticheavyradar", - x = 1264, - z = 1616, - facing = 0, - }, - { - name = "turretaaflak", - x = 312, - z = 1480, - facing = 0, - }, - { - name = "turretaaflak", - x = 1176, - z = 1448, - facing = 0, - }, - { - name = "turretaaflak", - x = 776, - z = 1512, - facing = 0, - }, - { - name = "turretaaflak", - x = 1816, - z = 968, - facing = 0, - }, - { - name = "hoverraid", - x = 1890, - z = 4532, - facing = 0, - }, - { - name = "staticstorage", - x = 1384, - z = 824, - facing = 0, - }, - { - name = "staticstorage", - x = 1480, - z = 616, - facing = 0, - }, - { - name = "gunshipskirm", - x = 802, - z = 3033, - facing = 0, - }, - { - name = "amphcon", - x = 1255, - z = 528, - facing = 3, - }, - { - name = "hoverassault", - x = 1231, - z = 4966, - facing = 2, - }, - { - name = "amphfloater", - x = 1637, - z = 3859, - facing = 3, - }, - { - name = "turretlaser", - x = 1536, - z = 640, - facing = 0, - }, - { - name = "hoverarty", - x = 2080, - z = 2893, - facing = 0, - }, - { - name = "staticmex", - x = 1992, - z = 1784, - facing = 0, - }, - { - name = "gunshipskirm", - x = 2686, - z = 3777, - facing = 2, - }, - { - name = "amphraid", - x = 1400, - z = 4422, - facing = 2, - }, - { - name = "staticcon", - x = 1496, - z = 888, - facing = 0, - }, - { - name = "amphraid", - x = 1382, - z = 4324, - facing = 2, - }, - { - name = "staticmex", - x = 1512, - z = 2152, - facing = 0, - buildProgress = 0.69660002, - }, - { - name = "staticcon", - x = 1576, - z = 952, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1576, 952}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1480, 1100}, options = {"shift"}}, - }, - }, - { - name = "amphfloater", - x = 1343, - z = 3003, - facing = 0, - }, - { - name = "gunshipskirm", - x = 1460, - z = 4264, - facing = 3, - }, - { - name = "amphcon", - x = 1088, - z = 1725, - facing = 0, - }, - { - name = "turretlaser", - x = 2544, - z = 688, - facing = 0, - }, - { - name = "amphcon", - x = 1985, - z = 1889, - facing = 0, - }, - { - name = "gunshipskirm", - x = 721, - z = 3328, - facing = 0, - }, - { - name = "gunshipskirm", - x = 770, - z = 2171, - facing = 0, - }, - { - name = "staticradar", - x = 2368, - z = 560, - facing = 0, - }, - { - name = "hoverraid", - x = 1840, - z = 772, - facing = 3, - }, - { - name = "amphcon", - x = 1507, - z = 2040, - facing = 0, - }, - { - name = "hovercon", - x = 3168, - z = 437, - facing = 1, - }, - { - name = "amphcon", - x = 2006, - z = 1738, - facing = 1, - }, - { - name = "turretlaser", - x = 1872, - z = 560, - facing = 0, - }, - { - name = "amphraid", - x = 1224, - z = 1910, - facing = 0, - }, - { - name = "hovercon", - x = 2315, - z = 665, - facing = 1, - }, - { - name = "gunshipassault", - x = 824, - z = 473, - facing = 1, - buildProgress = 0.3362, - }, - { - name = "turretlaser", - x = 1088, - z = 1840, - facing = 0, - buildProgress = 0.88050002, - }, - { - name = "amphcon", - x = 1623, - z = 1136, - facing = 1, - }, - { - name = "turretlaser", - x = 2016, - z = 1984, - facing = 0, - buildProgress = 0.62769997, - }, - { - name = "hoverskirm", - x = 2096, - z = 560, - facing = 0, - buildProgress = 0.2106, - }, - { - name = "amphfloater", - x = 1480, - z = 1100, - facing = 0, - buildProgress = 0.14219999, - }, - { - name = "turretlaser", - x = 2288, - z = 720, - facing = 0, - buildProgress = 0.0018, - }, - } - }, - { - startX = 2000, - startZ = 7700, - humanName = "Scabling", - -- aiLib = "Null AI", - -- bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehriot", - "vehassault", - "vehaa", - "vehsupport", - "veharty", - "vehheavyarty", - "vehcapture", - "striderhub", - "striderdante", - "striderarty", - }, - commanderLevel = 6, - commander = { - name = "Zachariah", - chassis = "guardian", - decorations = { - "skin_bombard_steel", - }, - modules = { - "commweapon_flamethrower", - "commweapon_disintegrator", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - } - }, - startUnits = { - { - name = "staticmex", - x = 968, - z = 6744, - facing = 0, - }, - { - name = "staticmex", - x = 952, - z = 6280, - facing = 0, - }, - { - name = "staticmex", - x = 1512, - z = 6088, - facing = 0, - }, - { - name = "staticmex", - x = 1992, - z = 6456, - facing = 0, - }, - { - name = "staticmex", - x = 1512, - z = 6824, - facing = 0, - }, - { - name = "staticmex", - x = 1368, - z = 7480, - facing = 0, - }, - { - name = "staticmex", - x = 1272, - z = 7752, - facing = 0, - }, - { - name = "staticmex", - x = 1896, - z = 7592, - facing = 0, - }, - { - name = "staticmex", - x = 2408, - z = 7688, - facing = 0, - }, - { - name = "staticmex", - x = 584, - z = 7752, - facing = 0, - }, - { - name = "staticmex", - x = 344, - z = 7784, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 7992, - facing = 0, - }, - { - name = "staticmex", - x = 168, - z = 6664, - facing = 0, - }, - { - name = "staticmex", - x = 376, - z = 6584, - facing = 0, - }, - { - name = "staticmex", - x = 2616, - z = 7592, - facing = 0, - }, - { - name = "staticmex", - x = 2920, - z = 6456, - facing = 0, - }, - { - name = "staticmex", - x = 3016, - z = 7480, - facing = 0, - }, - { - name = "staticmex", - x = 3272, - z = 7656, - facing = 0, - }, - { - name = "staticmex", - x = 3640, - z = 7688, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 7880, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 7176, - facing = 0, - }, - { - name = "staticmex", - x = 3848, - z = 6456, - facing = 0, - }, - { - name = "energygeo", - x = 3416, - z = 6712, - facing = 0, - }, - { - name = "energyfusion", - x = 3992, - z = 8096, - facing = 0, - }, - { - name = "energyfusion", - x = 3032, - z = 8048, - facing = 0, - }, - { - name = "energyfusion", - x = 2200, - z = 7936, - facing = 0, - }, - { - name = "energyfusion", - x = 1384, - z = 7968, - facing = 0, - }, - { - name = "energyfusion", - x = 424, - z = 8112, - facing = 0, - }, - { - name = "energypylon", - x = 744, - z = 7832, - facing = 0, - }, - { - name = "energypylon", - x = 1640, - z = 7672, - facing = 0, - }, - { - name = "energypylon", - x = 2568, - z = 7688, - facing = 0, - }, - { - name = "energypylon", - x = 3512, - z = 7688, - facing = 0, - }, - { - name = "factorytank", - x = 2096, - z = 7488, - facing = 2, - }, - { - name = "staticcon", - x = 2056, - z = 7608, - facing = 2, - }, - { - name = "staticcon", - x = 2136, - z = 7608, - facing = 2, - }, - { - name = "factoryveh", - x = 3696, - z = 7456, - facing = 2, - }, - { - name = "staticcon", - x = 3656, - z = 7592, - facing = 2, - }, - { - name = "staticcon", - x = 3736, - z = 7592, - facing = 2, - }, - { - name = "striderhub", - x = 2800, - z = 7776, - facing = 2, - }, - { - name = "staticcon", - x = 2888, - z = 7768, - facing = 2, - }, - { - name = "energypylon", - x = 3384, - z = 7032, - facing = 2, - }, - { - name = "turretheavy", - x = 3544, - z = 6712, - facing = 2, - }, - { - name = "turretheavy", - x = 3304, - z = 6696, - facing = 2, - }, - { - name = "turretaafar", - x = 3216, - z = 6992, - facing = 2, - }, - { - name = "turretaafar", - x = 3600, - z = 6992, - facing = 2, - }, - { - name = "turretriot", - x = 3272, - z = 7272, - facing = 3, - }, - { - name = "turretriot", - x = 3544, - z = 7272, - facing = 1, - }, - { - name = "factoryspider", - x = 376, - z = 7416, - facing = 2, - }, - { - name = "staticcon", - x = 344, - z = 7528, - facing = 2, - }, - { - name = "staticcon", - x = 424, - z = 7528, - facing = 2, - }, - { - name = "factoryjump", - x = 1048, - z = 7432, - facing = 2, - }, - { - name = "staticcon", - x = 1016, - z = 7560, - facing = 2, - }, - { - name = "staticcon", - x = 1096, - z = 7560, - facing = 2, - }, - { - name = "energypylon", - x = 408, - z = 6952, - facing = 2, - }, - { - name = "turretheavy", - x = 2632, - z = 7224, - facing = 2, - }, - { - name = "energypylon", - x = 1352, - z = 6904, - facing = 2, - }, - { - name = "turretheavy", - x = 1192, - z = 6552, - facing = 2, - }, - { - name = "turretheavy", - x = 1688, - z = 7224, - facing = 2, - }, - { - name = "turretheavy", - x = 520, - z = 6424, - facing = 2, - }, - { - name = "striderdante", - x = 2800, - z = 7680, - facing = 0, - buildProgress = 0.44049999, - }, - { - name = "tankcon", - x = 2389, - z = 6477, - facing = 0, - }, - { - name = "spideremp", - x = 2160, - z = 6249, - facing = 2, - }, - { - name = "vehraid", - x = 2148, - z = 6175, - facing = 2, - }, - { - name = "jumpassault", - x = 2096, - z = 6105, - facing = 2, - }, - { - name = "staticstorage", - x = 2024, - z = 7720, - facing = 2, - }, - { - name = "spidercon", - x = 1590, - z = 6433, - facing = 2, - }, - { - name = "tankcon", - x = 2254, - z = 5448, - facing = 2, - }, - { - name = "turretlaser", - x = 1872, - z = 7456, - facing = 2, - }, - { - name = "turretlaser", - x = 1600, - z = 7648, - facing = 2, - }, - { - name = "jumpcon", - x = 1054, - z = 5346, - facing = 0, - }, - { - name = "turretlaser", - x = 1088, - z = 5008, - facing = 1, - }, - { - name = "turretlaser", - x = 512, - z = 7888, - facing = 2, - }, - { - name = "tankcon", - x = 3349, - z = 5832, - facing = 0, - }, - { - name = "vehcon", - x = 3522, - z = 5846, - facing = 3, - }, - { - name = "jumpcon", - x = 2552, - z = 5828, - facing = 2, - }, - { - name = "staticradar", - x = 656, - z = 7968, - facing = 2, - }, - { - name = "staticradar", - x = 3632, - z = 7792, - facing = 2, - }, - { - name = "tankcon", - x = 2997, - z = 5870, - facing = 2, - }, - { - name = "vehassault", - x = 2121, - z = 6129, - facing = 2, - }, - { - name = "spidercon", - x = 434, - z = 5626, - facing = 2, - }, - { - name = "staticmex", - x = 2200, - z = 6152, - facing = 0, - }, - { - name = "turretlaser", - x = 976, - z = 6384, - facing = 2, - }, - { - name = "turretlaser", - x = 3792, - z = 7888, - facing = 2, - }, - { - name = "turretlaser", - x = 3184, - z = 7664, - facing = 2, - }, - { - name = "energypylon", - x = 2104, - z = 6232, - facing = 2, - }, - { - name = "tankcon", - x = 2189, - z = 5626, - facing = 2, - }, - { - name = "spidercon", - x = 223, - z = 5346, - facing = 1, - }, - { - name = "turretlaser", - x = 2048, - z = 6288, - facing = 2, - }, - { - name = "turretlaser", - x = 160, - z = 6624, - facing = 2, - }, - { - name = "staticradar", - x = 2096, - z = 6464, - facing = 2, - }, - { - name = "tankcon", - x = 2793, - z = 6159, - facing = 1, - }, - { - name = "spideremp", - x = 2180, - z = 6192, - facing = 2, - }, - { - name = "jumpraid", - x = 2447, - z = 5267, - facing = 1, - }, - { - name = "vehaa", - x = 3710, - z = 5565, - facing = 3, - }, - { - name = "energywind", - x = 1736, - z = 6568, - facing = 2, - }, - { - name = "staticmex", - x = 1096, - z = 5288, - facing = 0, - }, - { - name = "staticmex", - x = 2920, - z = 6040, - facing = 0, - }, - { - name = "staticmex", - x = 3640, - z = 6040, - facing = 0, - }, - { - name = "staticmex", - x = 472, - z = 5528, - facing = 0, - }, - { - name = "tankassault", - x = 2096, - z = 7460, - facing = 2, - buildProgress = 0.88739997, - }, - { - name = "turretlaser", - x = 2736, - z = 6112, - facing = 2, - }, - { - name = "jumpcon", - x = 1864, - z = 6667, - facing = 2, - }, - { - name = "turretlaser", - x = 336, - z = 5456, - facing = 1, - }, - { - name = "vehraid", - x = 2855, - z = 6521, - facing = 2, - }, - { - name = "turretlaser", - x = 3520, - z = 5808, - facing = 2, - }, - { - name = "jumpassault", - x = 1048, - z = 7408, - facing = 2, - buildProgress = 0.70270002, - }, - { - name = "staticmex", - x = 3512, - z = 5720, - facing = 0, - }, - { - name = "staticmex", - x = 104, - z = 5224, - facing = 0, - }, - { - name = "turretmissile", - x = 512, - z = 5456, - facing = 1, - buildProgress = 0.80989999, - }, - { - name = "staticmex", - x = 2296, - z = 5288, - facing = 0, - buildProgress = 0.02, - }, - { - name = "turretgauss", - x = 408, - z = 5272, - facing = 1, - buildProgress = 0.0025, - }, - } - }, - }, - neutralUnits = { - { - name = "pw_artefact", - x = 3408, - z = 7280, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Artefact", - color = "green" - }, - }, - }, - initialWrecks = { - { - name = "staticmex_dead", - x = 3640, - z = 4264, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3640, - z = 3992, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2408, - z = 4392, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3992, - z = 4120, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2104, - z = 4264, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3880, - z = 3672, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2104, - z = 3976, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3432, - z = 3224, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2408, - z = 3832, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2712, - z = 4120, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3032, - z = 2952, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2712, - z = 3336, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2712, - z = 4904, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2952, - z = 3752, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2296, - z = 5288, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1928, - z = 4984, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2952, - z = 4504, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1464, - z = 4520, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1000, - z = 4360, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3016, - z = 5288, - facing = 0, - }, - { - name = "staticmex_dead", - x = 696, - z = 4120, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3432, - z = 5016, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1000, - z = 3880, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3880, - z = 4568, - facing = 0, - }, - { - name = "staticmex_dead", - x = 872, - z = 3448, - facing = 0, - }, - { - name = "staticmex_dead", - x = 456, - z = 3432, - facing = 0, - }, - { - name = "staticmex_dead", - x = 136, - z = 3736, - facing = 0, - }, - { - name = "staticmex_dead", - x = 3992, - z = 3016, - facing = 0, - }, - { - name = "staticmex_dead", - x = 136, - z = 4504, - facing = 0, - }, - { - name = "staticmex_dead", - x = 440, - z = 4808, - facing = 0, - }, - { - name = "staticmex_dead", - x = 872, - z = 4792, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1096, - z = 5288, - facing = 0, - }, - { - name = "staticmex_dead", - x = 472, - z = 5528, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3976, - z = 3144, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3976, - z = 3288, - facing = 0, - }, - { - name = "staticmex_dead", - x = 104, - z = 5224, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3960, - z = 3432, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3960, - z = 3576, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3960, - z = 3768, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3992, - z = 3912, - facing = 0, - }, - { - name = "energysolar_dead", - x = 4040, - z = 4056, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3848, - z = 4104, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1464, - z = 3720, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3688, - z = 4120, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3560, - z = 4168, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3752, - z = 4328, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1928, - z = 3272, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3880, - z = 4456, - facing = 0, - }, - { - name = "staticmex_dead", - x = 2296, - z = 2952, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2824, - z = 4920, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2952, - z = 5064, - facing = 0, - }, - { - name = "staticmex_dead", - x = 1096, - z = 2952, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3080, - z = 5208, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3192, - z = 5144, - facing = 0, - }, - { - name = "energysolar_dead", - x = 3320, - z = 5016, - facing = 0, - }, - { - name = "energyheavygeo_dead", - x = 1544, - z = 4104, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2184, - z = 4056, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2184, - z = 4200, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2296, - z = 4232, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2440, - z = 4312, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2568, - z = 4296, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2712, - z = 4248, - facing = 0, - }, - { - name = "turretriot_dead", - x = 1480, - z = 3976, - facing = 2, - }, - { - name = "turretriot_dead", - x = 1480, - z = 4216, - facing = 0, - }, - { - name = "turretaaflak_dead", - x = 1304, - z = 4120, - facing = 3, - }, - { - name = "energysolar_dead", - x = 2056, - z = 5000, - facing = 0, - }, - { - name = "energysolar_dead", - x = 2200, - z = 5096, - facing = 0, - }, - { - name = "turretemp_dead", - x = 1584, - z = 3984, - facing = 2, - buildProgress = 0.97490001, - }, - { - name = "energysolar_dead", - x = 2344, - z = 5192, - facing = 0, - }, - { - name = "turretemp_dead", - x = 1584, - z = 4224, - facing = 0, - }, - { - name = "turretlaser_dead", - x = 3936, - z = 2928, - facing = 2, - }, - { - name = "turretlaser_dead", - x = 3664, - z = 3088, - facing = 2, - }, - { - name = "turretlaser_dead", - x = 3168, - z = 3648, - facing = 2, - }, - { - name = "turretlaser_dead", - x = 2144, - z = 3216, - facing = 2, - }, - { - name = "turretlaser_dead", - x = 2064, - z = 3552, - facing = 3, - }, - { - name = "turretlaser_dead", - x = 1968, - z = 3856, - facing = 3, - }, - { - name = "turretlaser_dead", - x = 1952, - z = 4368, - facing = 3, - }, - { - name = "turretmissile_dead", - x = 1168, - z = 3216, - facing = 2, - }, - { - name = "turretmissile_dead", - x = 1072, - z = 3216, - facing = 2, - }, - { - name = "turretlaser_dead", - x = 2016, - z = 4640, - facing = 3, - }, - { - name = "turretmissile_dead", - x = 592, - z = 3216, - facing = 2, - }, - { - name = "turretmissile_dead", - x = 512, - z = 3216, - facing = 2, - }, - { - name = "turretlaser_dead", - x = 2368, - z = 5024, - facing = 0, - }, - { - name = "turretlaser_dead", - x = 2848, - z = 5328, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 80, - z = 3808, - facing = 2, - }, - { - name = "turretmissile_dead", - x = 144, - z = 3824, - facing = 2, - }, - { - name = "turretlaser_dead", - x = 3360, - z = 5328, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 80, - z = 4720, - facing = 0, - }, - { - name = "turretlaser_dead", - x = 3808, - z = 5120, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 176, - z = 4736, - facing = 0, - }, - { - name = "turretheavylaser_dead", - x = 3672, - z = 5032, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 608, - z = 5120, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 672, - z = 5136, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 1184, - z = 5248, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 1248, - z = 5264, - facing = 0, - }, - { - name = "turretheavylaser_dead", - x = 3768, - z = 3208, - facing = 2, - }, - { - name = "turretmissile_dead", - x = 928, - z = 4512, - facing = 0, - }, - { - name = "turretmissile_dead", - x = 976, - z = 4528, - facing = 0, - }, - { - name = "turretgauss_dead", - x = 2600, - z = 3944, - facing = 2, - }, - { - name = "turretmissile_dead", - x = 912, - z = 3712, - facing = 2, - }, - { - name = "turretgauss_dead", - x = 3224, - z = 3944, - facing = 2, - }, - { - name = "turretmissile_dead", - x = 976, - z = 3696, - facing = 2, - }, - { - name = "turretaafar_dead", - x = 864, - z = 4112, - facing = 1, - }, - { - name = "energywind_dead", - x = 760, - z = 4200, - facing = 1, - }, - { - name = "energywind_dead", - x = 840, - z = 4248, - facing = 1, - }, - { - name = "turretgauss_dead", - x = 2632, - z = 4600, - facing = 0, - }, - { - name = "energywind_dead", - x = 920, - z = 4312, - facing = 1, - }, - { - name = "energywind_dead", - x = 728, - z = 4024, - facing = 1, - }, - { - name = "turretgauss_dead", - x = 3224, - z = 4584, - facing = 0, - }, - { - name = "energywind_dead", - x = 808, - z = 3960, - facing = 1, - }, - { - name = "energywind_dead", - x = 888, - z = 3896, - facing = 1, - }, - { - name = "energywind_dead", - x = 968, - z = 3832, - facing = 1, - }, - { - name = "energywind_dead", - x = 648, - z = 4072, - facing = 1, - }, - { - name = "energysolar_dead", - x = 2424, - z = 3736, - facing = 1, - }, - { - name = "energywind_dead", - x = 568, - z = 4008, - facing = 1, - }, - { - name = "energysolar_dead", - x = 2504, - z = 3592, - facing = 1, - }, - { - name = "energywind_dead", - x = 488, - z = 3928, - facing = 1, - }, - { - name = "energysolar_dead", - x = 2568, - z = 3448, - facing = 1, - }, - { - name = "energywind_dead", - x = 408, - z = 3864, - facing = 1, - }, - { - name = "energysolar_dead", - x = 2648, - z = 3304, - facing = 1, - }, - { - name = "energywind_dead", - x = 328, - z = 3800, - facing = 1, - }, - { - name = "energysolar_dead", - x = 2808, - z = 3384, - facing = 1, - }, - { - name = "energywind_dead", - x = 248, - z = 3736, - facing = 1, - }, - { - name = "energysolar_dead", - x = 2840, - z = 3528, - facing = 1, - }, - { - name = "energysolar_dead", - x = 2872, - z = 3672, - facing = 1, - }, - { - name = "energywind_dead", - x = 168, - z = 4424, - facing = 1, - }, - { - name = "energywind_dead", - x = 248, - z = 4392, - facing = 1, - }, - { - name = "energywind_dead", - x = 328, - z = 4344, - facing = 1, - }, - { - name = "energywind_dead", - x = 408, - z = 4312, - facing = 1, - }, - { - name = "energysolar_dead", - x = 3144, - z = 2968, - facing = 1, - }, - { - name = "energywind_dead", - x = 488, - z = 4264, - facing = 1, - }, - { - name = "energysolar_dead", - x = 3288, - z = 3048, - facing = 1, - }, - { - name = "energywind_dead", - x = 568, - z = 4232, - facing = 1, - }, - { - name = "energysolar_dead", - x = 3432, - z = 3144, - facing = 1, - }, - { - name = "energywind_dead", - x = 648, - z = 4184, - facing = 1, - }, - { - name = "energywind_dead", - x = 504, - z = 4744, - facing = 1, - }, - { - name = "energywind_dead", - x = 584, - z = 4744, - facing = 1, - }, - { - name = "energywind_dead", - x = 664, - z = 4744, - facing = 1, - }, - { - name = "energywind_dead", - x = 744, - z = 4744, - facing = 1, - }, - { - name = "energywind_dead", - x = 824, - z = 4744, - facing = 1, - }, - { - name = "staticcon_dead", - x = 760, - z = 4472, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {760, 4472}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {785, 4447}, options = {"shift"}}, - }, - }, - { - name = "staticcon_dead", - x = 760, - z = 4552, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {760, 4552}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {785, 4527}, options = {"shift"}}, - }, - }, - { - name = "factoryamph_dead", - x = 664, - z = 4568, - facing = 3, - }, - { - name = "staticcon_dead", - x = 2328, - z = 4792, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2328, 4792}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2303, 4767}, options = {"shift"}}, - }, - }, - { - name = "staticcon_dead", - x = 2408, - z = 4792, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2408, 4792}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2383, 4767}, options = {"shift"}}, - }, - }, - { - name = "factorytank_dead", - x = 2368, - z = 4672, - facing = 2, - }, - { - name = "staticcon_dead", - x = 3464, - z = 3800, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3464, 3800}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3439, 3825}, options = {"shift"}}, - }, - }, - { - name = "staticcon_dead", - x = 3544, - z = 3800, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3544, 3800}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3519, 3825}, options = {"shift"}}, - }, - }, - { - name = "factoryjump_dead", - x = 3496, - z = 3688, - facing = 2, - }, - { - name = "staticcon_dead", - x = 3512, - z = 4440, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3512, 4440}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3487, 4415}, options = {"shift"}}, - }, - }, - { - name = "staticcon_dead", - x = 3608, - z = 4440, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3608, 4440}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3583, 4415}, options = {"shift"}}, - }, - }, - { - name = "staticcon_dead", - x = 3560, - z = 4520, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3560, 4520}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3535, 4495}, options = {"shift"}}, - }, - }, - { - name = "striderhub_dead", - x = 3440, - z = 4528, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3440, 4528}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3415, 4503}, options = {"shift"}}, - }, - }, - { - name = "staticcon_dead", - x = 3512, - z = 4616, - facing = 2, - buildProgress = 0.05, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3512, 4616}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3487, 4591}, options = {"shift"}}, - }, - }, - { - name = "striderhub_dead", - x = 720, - z = 3712, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {720, 3712}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {745, 3737}, options = {"shift"}}, - }, - }, - { - name = "turretaaclose_dead", - x = 2680, - z = 3592, - facing = 2, - }, - { - name = "staticcon_dead", - x = 632, - z = 3704, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {632, 3704}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {657, 3729}, options = {"shift"}}, - }, - }, - { - name = "staticcon_dead", - x = 680, - z = 3624, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {680, 3624}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {705, 3649}, options = {"shift"}}, - }, - }, - { - name = "turretaaclose_dead", - x = 3656, - z = 3624, - facing = 2, - }, - { - name = "amphriot_dead", - x = 390, - z = 3538, - facing = 0, - }, - { - name = "amphriot_dead", - x = 436, - z = 4567, - facing = 0, - }, - { - name = "amphriot_dead", - x = 2231, - z = 3592, - facing = 0, - }, - { - name = "amphriot_dead", - x = 3195, - z = 4339, - facing = 0, - }, - { - name = "amphriot_dead", - x = 3877, - z = 3456, - facing = 0, - }, - { - name = "amphriot_dead", - x = 3231, - z = 4917, - facing = 0, - }, - { - name = "amphriot_dead", - x = 1390, - z = 5030, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 1413, - z = 3238, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 2340, - z = 3631, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 3165, - z = 4230, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 1297, - z = 4588, - facing = 0, - }, - { - name = "amphfloater_dead", - x = 3984, - z = 4321, - facing = 0, - }, - { - name = "amphassault_dead", - x = 636, - z = 3938, - facing = 0, - }, - { - name = "tankassault_dead", - x = 1408, - z = 4344, - facing = 0, - }, - { - name = "tankassault_dead", - x = 2821, - z = 4484, - facing = 0, - }, - { - name = "tankassault_dead", - x = 3153, - z = 3203, - facing = 0, - }, - { - name = "tankassault_dead", - x = 1755, - z = 3161, - facing = 0, - }, - { - name = "amphriot_dead", - x = 2958, - z = 4808, - facing = 0, - }, - { - name = "tankriot_dead", - x = 2264, - z = 4906, - facing = 0, - }, - { - name = "tankriot_dead", - x = 1174, - z = 4301, - facing = 0, - }, - { - name = "jumpassault_dead", - x = 3794, - z = 4041, - facing = 0, - }, - { - name = "jumpassault_dead", - x = 1652, - z = 3719, - facing = 0, - }, - { - name = "striderdante_dead", - x = 2919, - z = 2559, - facing = 0, - }, - { - name = "staticradar_dead", - x = 3296, - z = 3248, - facing = 2, - }, - { - name = "striderdante_dead", - x = 2268, - z = 4372, - facing = 0, - }, - { - name = "striderdante_dead", - x = 354, - z = 4186, - facing = 0, - }, - }, - defeatConditionConfig = { - [0] = { - loseAfterSeconds = 20*60, - timeLossObjectiveID = 2, - }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - }, - objectiveConfig = { - [1] = { - description = "Bring your Commander to the Artefact", - }, - [2] = { - description = "Win before 20:00", - }, - [3] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - victoryByTime = 15*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 15:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 8, - unitTypes = { - "striderantiheavy", - }, - image = planetUtilities.ICON_DIR .. "striderantiheavy.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 8 Ultimatums", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 4, - unitTypes = { - "energygeo", - "energyheavygeo", - }, - image = planetUtilities.ICON_DIR .. "energygeo.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have at least 4 Geothermals (of either kind)", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderantiheavy", - }, - modules = { - "commweapon_disintegrator", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet6.lua b/campaign/dev/planets/planet6.lua deleted file mode 100644 index 49f995535..000000000 --- a/campaign/dev/planets/planet6.lua +++ /dev/null @@ -1,287 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran03_damaged.png" - - local planetData = { - name = "Hebat", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.22, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.68, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Sylvan", - radius = "3300 km", - primary = "Voblaka", - primaryType = "F9V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24429", - text = [[This battle is taking place at high altitude, so deploy Wind Generators for cheap and efficient energy income. Use the Knight's lightning gun to eliminate the enemy Jumpbots.]] - }, - tips = { - { - image = "unitpics/energywind.png", - text = [[Wind Generators generate an amount of energy that varies over time from 0 to 2.5 at sea level. If built at higher altitudes the worst-case outcome becomes better.]] - }, - { - image = "unitpics/cloakassault.png", - text = [[Knights are much tougher than the other Cloakbots, and use a lightning gun to damage and stun enemy units. They're effective against medium-weight units and defences.]] - }, - { - image = "unitpics/jumpraid.png", - text = [[The enemy will use Pyros against you - they have flamethrowers to set your units on fire, and can jump over holes and cliffs.]] - }, - }, - gameConfig = { - mapName = "Fairyland 1.31", - playerConfig = { - startX = 370, - startZ = 3500, - allyTeam = 0, - useUnlocks = true, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "energywind", - "cloakassault", - }, - startUnits = { - { - name = "cloakcon", - x = 200, - z = 3550, - facing = 1, - }, - { - name = "cloakassault", - x = 800, - z = 3400, - facing = 1, - }, - { - name = "cloakassault", - x = 800, - z = 3600, - facing = 1, - }, - { - name = "cloakraid", - x = 950, - z = 3500, - facing = 1, - }, - { - name = "cloakraid", - x = 910, - z = 3350, - facing = 1, - }, - { - name = "cloakraid", - x = 990, - z = 3650, - facing = 1, - }, - - } - }, - aiConfig = { - { - startX = 4800, - startZ = 1600, - aiLib = "Circuit_difficulty_autofill", - humanName = "BurnForever", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "energywind", - "jumpscout", - "jumpraid", - }, - difficultyDependantUnlocks = { - [2] = {"jumpcon"}, - [3] = {"jumpcon","jumpassault"}, - [4] = {"jumpcon","jumpassault"}, - }, - commanderLevel = 2, - commander = { - name = "Firelord", - chassis = "guardian", - decorations = { - }, - modules = { - "commweapon_flamethrower", - "commweapon_flamethrower", - } - }, - startUnits = { - { - name = "jumpcon", - x = 5000, - z = 2000, - facing = 0, - }, - { - name = "factoryjump", - x = 4200, - z = 1400, - facing = 0, - }, - { - name = "jumpassault", - x = 4200, - z = 1400, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "jumpblackhole", - x = 4200, - z = 2000, - facing = 0, - bonusObjectiveID = 2, - }, - { - name = "jumpraid", - x = 4200, - z = 2100, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "jumpblackhole", - x = 4700, - z = 400, - facing = 0, - bonusObjectiveID = 2, - }, - { - name = "jumpraid", - x = 4200, - z = 2100, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "jumpblackhole", - x = 2620, - z = 500, - facing = 0, - bonusObjectiveID = 2, - }, - { - name = "staticmex", - x = 4646, - z = 250, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "energysolar", - x = 4750, - z = 325, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticmex", - x = 4860, - z = 410, - facing = 0, - difficultyAtLeast = 4, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factoryjump", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Commander and Jumpbot Factory", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { -- Build 25 Windgens - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 25, - unitTypes = { - "energywind", - }, - image = planetUtilities.ICON_DIR .. "energywind.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 25 Wind Turbines", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Destroy the Placeholders - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "jumpblackhole.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy all three enemy Placeholders", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Have 12 mex by 7:30. - satisfyByTime = 450, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 12 Metal Extractors by 7:30", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "energywind", - "cloakassault", - }, - modules = { - "commweapon_lightninggun", - }, - codexEntries = { - }, - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet60.lua b/campaign/dev/planets/planet60.lua deleted file mode 100644 index 9d356f5e7..000000000 --- a/campaign/dev/planets/planet60.lua +++ /dev/null @@ -1,4104 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran02.png" - - local planetData = { - name = "Pendust", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.86, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.64, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Coastal", - radius = "7300 km", - primary = "Narlapa", - primaryType = "G7V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24594", - text = [[Take control of the sea and then the enemy shoreline with Shogun battleships. You'd better hurry - if they finish their Zenith meteor controller, things will become a lot more difficult...]] - }, - tips = { - { - image = "unitpics/shipheavyarty.png", - text = [[The Shogun battleship is a straightforward unit; nine artillery cannons worth of firepower lay waste to your enemies. As artillery units go the Shogun is fairly tough, but keep it away from submarines - it has no defence against underwater foes.]] - }, - { - image = "unitpics/conversion_partillery.png", - text = [[If the terrain or enemy shields don't permit direct fire, Shoguns can be toggled to fire at a high angle instead. This firing mode is less accurate so use it only when necessary.]] - }, - { - image = "unitpics/zenith.png", - text = [[The Zenith superweapon collects meteors from space and flings them across the map. The best counter to any superweapon is to destroy it before it is completed.]] - }, - }, - gameConfig = { - mapName = "Downs_of_Destruction_Fix", - playerConfig = { - startX = 5000, - startZ = 1500, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderhub", - "shipheavyarty", - }, - startUnits = { - { - name = "shipheavyarty", - x = 5450, - z = 1200, - facing = 0, - buildProgress = 0.5, - }, - -- flotilla - { - name = "shiparty", - x = 4800, - z = 1700, - facing = 0, - }, - { - name = "shipheavyarty", - x = 5000, - z = 1700, - facing = 0, - }, - { - name = "shiparty", - x = 5200, - z = 1700, - facing = 0, - }, - { - name = "shipskirm", - x = 4600, - z = 1800, - facing = 0, - }, - { - name = "shipriot", - x = 4800, - z = 1900, - facing = 0, - }, - { - name = "shipassault", - x = 5000, - z = 2000, - facing = 0, - }, - { - name = "shipriot", - x = 5200, - z = 1900, - facing = 0, - }, - { - name = "shipskirm", - x = 5400, - z = 1800, - facing = 0, - }, - -- - { - name = "pw_metal", - x = 4950, - z = 250, - facing = 0, - }, - { - name = "factoryship", - x = 5024, - z = 1232, - facing = 0, - }, - { - name = "staticmex", - x = 3336, - z = 1592, - facing = 0, - }, - { - name = "staticmex", - x = 4408, - z = 952, - facing = 0, - }, - { - name = "staticmex", - x = 5528, - z = 2392, - facing = 0, - }, - -- { - -- name = "shipheavyarty", - -- x = 5583, - -- z = 1713, - -- facing = 0, - -- }, - { - name = "energywind", - x = 4456, - z = 904, - facing = 2, - }, - { - name = "staticmex", - x = 4248, - z = 1768, - facing = 2, - }, - { - name = "staticcon", - x = 5176, - z = 1160, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5176, 1160}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5151, 1185}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5176, - z = 1256, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5176, 1256}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5151, 1281}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 5280, - z = 1200, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5280, 1200}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5255, 1225}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 3384, - z = 1592, - facing = 1, - }, - { - name = "energywind", - x = 3384, - z = 1640, - facing = 1, - }, - { - name = "energywind", - x = 3336, - z = 1640, - facing = 0, - }, - { - name = "energywind", - x = 3288, - z = 1640, - facing = 0, - }, - { - name = "energywind", - x = 3288, - z = 1592, - facing = 3, - }, - { - name = "energywind", - x = 3288, - z = 1544, - facing = 3, - }, - { - name = "energywind", - x = 3336, - z = 1544, - facing = 2, - }, - { - name = "energywind", - x = 3384, - z = 1544, - facing = 2, - }, - { - name = "energywind", - x = 4456, - z = 952, - facing = 1, - }, - { - name = "energywind", - x = 4456, - z = 1000, - facing = 1, - }, - { - name = "energywind", - x = 4408, - z = 1000, - facing = 0, - }, - { - name = "energywind", - x = 4360, - z = 1000, - facing = 0, - }, - { - name = "energywind", - x = 4360, - z = 952, - facing = 3, - }, - { - name = "energywind", - x = 4360, - z = 904, - facing = 3, - }, - { - name = "energywind", - x = 4408, - z = 904, - facing = 2, - }, - { - name = "energysolar", - x = 4312, - z = 1784, - facing = 3, - }, - { - name = "staticcon", - x = 5176, - z = 1352, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5176, 1352}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5151, 1377}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 4184, - z = 1752, - facing = 1, - }, - { - name = "energywind", - x = 5576, - z = 2392, - facing = 3, - }, - { - name = "energywind", - x = 5576, - z = 2440, - facing = 3, - }, - { - name = "energywind", - x = 5528, - z = 2440, - facing = 2, - }, - { - name = "energywind", - x = 5480, - z = 2440, - facing = 2, - }, - { - name = "energywind", - x = 5480, - z = 2392, - facing = 1, - }, - { - name = "energywind", - x = 5480, - z = 2344, - facing = 1, - }, - { - name = "energywind", - x = 5528, - z = 2344, - facing = 0, - }, - { - name = "energywind", - x = 5576, - z = 2344, - facing = 0, - }, - } - }, - aiConfig = { - { - humanName = "Biobas", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 2056, - z = 504, - facing = 0, - }, - { - name = "staticmex", - x = 1432, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 456, - z = 936, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 88, - facing = 0, - }, - { - name = "staticmex", - x = 1144, - z = 1720, - facing = 0, - }, - { - name = "staticmex", - x = 2744, - z = 264, - facing = 0, - }, - { - name = "staticmex", - x = 4072, - z = 264, - facing = 0, - }, - { - name = "energyheavygeo", - x = 1736, - z = 1368, - facing = 0, - }, - { - name = "turretlaser", - x = 2640, - z = 336, - facing = 0, - }, - { - name = "planecon", - x = 4987, - z = 3426, - facing = 1, - }, - { - name = "energypylon", - x = 1256, - z = 1224, - facing = 2, - }, - { - name = "energypylon", - x = 520, - z = 536, - facing = 2, - }, - { - name = "energywind", - x = 824, - z = 872, - facing = 2, - }, - { - name = "energywind", - x = 904, - z = 872, - facing = 2, - }, - { - name = "energywind", - x = 904, - z = 952, - facing = 2, - }, - { - name = "energywind", - x = 824, - z = 952, - facing = 2, - }, - { - name = "energypylon", - x = 2088, - z = 840, - facing = 2, - }, - { - name = "energypylon", - x = 2888, - z = 440, - facing = 2, - }, - { - name = "energyfusion", - x = 440, - z = 48, - facing = 2, - }, - { - name = "energyfusion", - x = 616, - z = 48, - facing = 2, - }, - { - name = "staticrearm", - x = 1000, - z = 1000, - facing = 3, - }, - { - name = "factoryplane", - x = 1384, - z = 992, - facing = 3, - }, - { - name = "staticcon", - x = 1288, - z = 824, - facing = 0, - }, - { - name = "staticcon", - x = 1368, - z = 872, - facing = 0, - }, - { - name = "factoryship", - x = 2800, - z = 1888, - facing = 0, - }, - { - name = "staticcon", - x = 2936, - z = 1816, - facing = 0, - }, - { - name = "staticcon", - x = 2936, - z = 1896, - facing = 0, - }, - { - name = "factoryamph", - x = 1656, - z = 2184, - facing = 0, - }, - { - name = "staticcon", - x = 1752, - z = 2056, - facing = 0, - }, - { - name = "staticcon", - x = 1656, - z = 2056, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1656, 2220}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1656, 2056}, options = {"shift"}}, - }, - }, - { - name = "turrettorp", - x = 1544, - z = 2488, - facing = 0, - }, - { - name = "turrettorp", - x = 1704, - z = 2488, - facing = 0, - }, - { - name = "turrettorp", - x = 584, - z = 2280, - facing = 0, - }, - { - name = "turrettorp", - x = 424, - z = 2280, - facing = 0, - }, - { - name = "turretmissile", - x = 304, - z = 1872, - facing = 0, - }, - { - name = "turretmissile", - x = 720, - z = 1904, - facing = 0, - }, - { - name = "turretmissile", - x = 1136, - z = 1920, - facing = 0, - }, - { - name = "turretmissile", - x = 1552, - z = 1904, - facing = 0, - }, - { - name = "turretmissile", - x = 1872, - z = 1920, - facing = 0, - }, - { - name = "turretmissile", - x = 2272, - z = 1872, - facing = 0, - }, - { - name = "staticheavyradar", - x = 2128, - z = 1408, - facing = 0, - }, - { - name = "pw_metal", - x = 1184, - z = 512, - facing = 0, - }, - { - name = "turretaafar", - x = 1968, - z = 1456, - facing = 0, - }, - { - name = "turretheavylaser", - x = 1864, - z = 1480, - facing = 0, - }, - { - name = "turrettorp", - x = 2888, - z = 2744, - facing = 0, - }, - { - name = "turrettorp", - x = 3080, - z = 2680, - facing = 0, - }, - { - name = "shipassault", - x = 3375, - z = 3861, - facing = 2, - }, - { - name = "amphcon", - x = 3643, - z = 2114, - facing = 0, - }, - { - name = "staticmex", - x = 3880, - z = 3128, - facing = 0, - }, - { - name = "turretmissile", - x = 1600, - z = 3888, - facing = 1, - }, - { - name = "bomberheavy", - x = 1647, - z = 1491, - facing = 1, - }, - { - name = "amphcon", - x = 2357, - z = 4382, - facing = 0, - }, - { - name = "staticstorage", - x = 1032, - z = 1736, - facing = 1, - }, - { - name = "staticcon", - x = 2808, - z = 1736, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 3314, - z = 4916, - facing = 0, - }, - { - name = "staticradar", - x = 1248, - z = 2960, - facing = 1, - }, - { - name = "energypylon", - x = 920, - z = 1720, - facing = 1, - }, - { - name = "turretlaser", - x = 160, - z = 4064, - facing = 1, - }, - { - name = "staticcon", - x = 1592, - z = 2008, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1592, 2008}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1656, 2220}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 3264, - z = 2640, - facing = 0, - }, - { - name = "shipcon", - x = 3736, - z = 1558, - facing = 0, - }, - { - name = "staticcon", - x = 1640, - z = 2008, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1640, 2008}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1656, 2220}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 4120, - z = 888, - facing = 0, - }, - { - name = "amphimpulse", - x = 1551, - z = 3329, - facing = 0, - }, - { - name = "staticcon", - x = 1688, - z = 2008, - facing = 1, - }, - { - name = "staticstorage", - x = 1032, - z = 1816, - facing = 1, - }, - { - name = "amphcon", - x = 2784, - z = 1313, - facing = 2, - }, - { - name = "shiptorpraider", - x = 2663, - z = 4400, - facing = 3, - patrolRoute = { - {2641, 4417}, - {2686, 4372}, - }, - }, - { - name = "turretlaser", - x = 2272, - z = 3376, - facing = 1, - }, - { - name = "turrettorp", - x = 3464, - z = 1512, - facing = 0, - }, - { - name = "energysolar", - x = 4200, - z = 536, - facing = 0, - }, - { - name = "shipcon", - x = 5204, - z = 2625, - facing = 3, - }, - { - name = "amphfloater", - x = 1041, - z = 4591, - facing = 0, - }, - { - name = "turretlaser", - x = 1248, - z = 1760, - facing = 1, - }, - { - name = "shipskirm", - x = 3233, - z = 3327, - facing = 2, - }, - { - name = "turretlaser", - x = 336, - z = 816, - facing = 1, - }, - { - name = "staticmex", - x = 3272, - z = 2712, - facing = 0, - }, - { - name = "shipcon", - x = 2265, - z = 2305, - facing = 3, - }, - { - name = "amphfloater", - x = 1082, - z = 4594, - facing = 0, - }, - { - name = "shiparty", - x = 3170, - z = 3452, - facing = 2, - }, - { - name = "amphraid", - x = 2397, - z = 3896, - facing = 1, - }, - { - name = "turrettorp", - x = 4424, - z = 1096, - facing = 0, - }, - { - name = "turrettorp", - x = 3240, - z = 2792, - facing = 0, - }, - { - name = "staticmex", - x = 2232, - z = 3112, - facing = 0, - }, - { - name = "amphcon", - x = 1542, - z = 3902, - facing = 0, - }, - { - name = "turretlaser", - x = 1616, - z = 624, - facing = 0, - }, - { - name = "amphfloater", - x = 1125, - z = 3724, - facing = 2, - }, - { - name = "staticradar", - x = 4336, - z = 1088, - facing = 0, - }, - { - name = "staticradar", - x = 1808, - z = 704, - facing = 0, - }, - { - name = "amphcon", - x = 5195, - z = 3413, - facing = 3, - }, - { - name = "amphaa", - x = 1170, - z = 4403, - facing = 0, - }, - { - name = "staticmex", - x = 2104, - z = 3704, - facing = 0, - }, - { - name = "turretlaser", - x = 1312, - z = 1200, - facing = 0, - }, - { - name = "amphcon", - x = 3795, - z = 3818, - facing = 1, - }, - { - name = "energywind", - x = 3496, - z = 1608, - facing = 0, - }, - { - name = "turretlaser", - x = 1584, - z = 1056, - facing = 0, - }, - { - name = "turrettorp", - x = 5368, - z = 2392, - facing = 0, - }, - { - name = "shipcon", - x = 3763, - z = 1492, - facing = 1, - }, - { - name = "staticmex", - x = 1208, - z = 3096, - facing = 0, - }, - { - name = "staticradar", - x = 1536, - z = 3632, - facing = 1, - }, - { - name = "staticmex", - x = 4440, - z = 3096, - facing = 0, - }, - { - name = "amphcon", - x = 1294, - z = 2691, - facing = 0, - }, - { - name = "shipassault", - x = 3836, - z = 2527, - facing = 1, - }, - { - name = "amphraid", - x = 2358, - z = 3907, - facing = 1, - }, - { - name = "energypylon", - x = 4328, - z = 1368, - facing = 0, - }, - { - name = "amphaa", - x = 1026, - z = 4379, - facing = 3, - }, - { - name = "energywind", - x = 3688, - z = 1480, - facing = 0, - }, - { - name = "turretlaser", - x = 4272, - z = 3120, - facing = 0, - }, - { - name = "staticcon", - x = 2760, - z = 1736, - facing = 0, - }, - { - name = "amphraid", - x = 2586, - z = 3882, - facing = 1, - }, - { - name = "staticcon", - x = 2856, - z = 1736, - facing = 0, - }, - { - name = "amphaa", - x = 1100, - z = 4455, - facing = 0, - }, - { - name = "turretlaser", - x = 6864, - z = 2784, - facing = 3, - }, - { - name = "subraider", - x = 4854, - z = 3691, - facing = 0, - }, - { - name = "shiparty", - x = 1183, - z = 3868, - facing = 0, - }, - { - name = "amphraid", - x = 2551, - z = 3870, - facing = 1, - }, - { - name = "amphraid", - x = 2321, - z = 3950, - facing = 1, - }, - { - name = "planeheavyfighter", - x = 3604, - z = 3874, - facing = 0, - }, - { - name = "turretlaser", - x = 4016, - z = 160, - facing = 0, - }, - { - name = "amphraid", - x = 2376, - z = 3881, - facing = 1, - }, - { - name = "turretmissile", - x = 5456, - z = 2160, - facing = 0, - }, - { - name = "amphaa", - x = 1010, - z = 4323, - facing = 0, - }, - { - name = "planeheavyfighter", - x = 3241, - z = 2470, - facing = 3, - }, - { - name = "amphraid", - x = 2580, - z = 3857, - facing = 1, - }, - { - name = "turretmissile", - x = 4048, - z = 2736, - facing = 0, - }, - { - name = "staticcon", - x = 5432, - z = 2248, - facing = 0, - }, - { - name = "turretmissile", - x = 1456, - z = 2992, - facing = 1, - }, - { - name = "amphcon", - x = 672, - z = 3177, - facing = 0, - }, - { - name = "energywind", - x = 4040, - z = 696, - facing = 0, - }, - { - name = "turretlaser", - x = 1728, - z = 4176, - facing = 1, - }, - { - name = "amphimpulse", - x = 3304, - z = 4126, - facing = 2, - }, - { - name = "amphimpulse", - x = 3342, - z = 4145, - facing = 2, - }, - { - name = "shiptorpraider", - x = 2752, - z = 4365, - facing = 3, - patrolRoute = { - {2675, 4364}, - {2645, 4416}, - }, - }, - { - name = "amphraid", - x = 2476, - z = 3877, - facing = 1, - }, - { - name = "shiptorpraider", - x = 2592, - z = 4391, - facing = 2, - patrolRoute = { - {2581, 4439}, - {2641, 4417}, - }, - }, - { - name = "turretmissile", - x = 1408, - z = 3936, - facing = 1, - }, - { - name = "staticradar", - x = 5376, - z = 2320, - facing = 0, - }, - { - name = "amphfloater", - x = 1606, - z = 3378, - facing = 3, - }, - { - name = "staticcon", - x = 2712, - z = 1736, - facing = 0, - }, - { - name = "amphfloater", - x = 1569, - z = 3283, - facing = 0, - }, - { - name = "energywind", - x = 4072, - z = 792, - facing = 0, - }, - { - name = "amphcon", - x = 1283, - z = 3133, - facing = 0, - }, - { - name = "amphriot", - x = 1616, - z = 2471, - facing = 0, - }, - { - name = "energywind", - x = 3800, - z = 1464, - facing = 0, - }, - { - name = "subraider", - x = 3168, - z = 2951, - facing = 0, - }, - { - name = "shiptorpraider", - x = 2926, - z = 2679, - facing = 0, - }, - { - name = "amphraid", - x = 1795, - z = 2984, - facing = 0, - }, - { - name = "energywind", - x = 3576, - z = 1496, - facing = 0, - }, - { - name = "amphraid", - x = 1723, - z = 2448, - facing = 0, - }, - { - name = "energywind", - x = 3608, - z = 1592, - facing = 0, - }, - { - name = "amphaa", - x = 1625, - z = 2243, - facing = 3, - }, - { - name = "shiparty", - x = 2808, - z = 1888, - facing = 0, - buildProgress = 0.23450001, - }, - } - }, - { - humanName = "Star Shine", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 5416, - z = 168, - facing = 0, - }, - { - name = "staticmex", - x = 5656, - z = 552, - facing = 0, - }, - { - name = "staticmex", - x = 5880, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 6200, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 6664, - z = 680, - facing = 0, - }, - { - name = "staticmex", - x = 6600, - z = 1224, - facing = 0, - }, - { - name = "staticmex", - x = 7288, - z = 1208, - facing = 0, - }, - { - name = "staticmex", - x = 7624, - z = 616, - facing = 0, - }, - { - name = "staticmex", - x = 7624, - z = 104, - facing = 0, - }, - { - name = "staticmex", - x = 7128, - z = 280, - facing = 0, - }, - { - name = "staticmex", - x = 7512, - z = 1640, - facing = 0, - }, - { - name = "staticmex", - x = 7096, - z = 1672, - facing = 0, - }, - { - name = "staticmex", - x = 6824, - z = 2872, - facing = 0, - }, - { - name = "staticmex", - x = 7704, - z = 3032, - facing = 0, - }, - { - name = "energyfusion", - x = 8104, - z = 64, - facing = 2, - }, - { - name = "energyfusion", - x = 8104, - z = 352, - facing = 2, - }, - { - name = "energyfusion", - x = 8104, - z = 640, - facing = 2, - }, - { - name = "energyfusion", - x = 8104, - z = 928, - facing = 2, - }, - { - name = "energypylon", - x = 7576, - z = 472, - facing = 2, - }, - { - name = "energypylon", - x = 7304, - z = 1352, - facing = 2, - }, - { - name = "energypylon", - x = 6696, - z = 904, - facing = 2, - }, - { - name = "energypylon", - x = 5864, - z = 440, - facing = 2, - }, - { - name = "factoryship", - x = 6304, - z = 2384, - facing = 0, - }, - { - name = "staticcon", - x = 6440, - z = 2328, - facing = 0, - }, - { - name = "staticcon", - x = 6440, - z = 2248, - facing = 0, - }, - { - name = "factoryhover", - x = 7424, - z = 2832, - facing = 0, - }, - { - name = "staticcon", - x = 7384, - z = 2664, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7384, 2664}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7424, 2796}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7480, - z = 2680, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7480, 2680}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7424, 2796}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 6776, - z = 3192, - facing = 0, - }, - { - name = "staticradar", - x = 6656, - z = 2192, - facing = 0, - }, - { - name = "pw_metal", - x = 7344, - z = 112, - facing = 0, - }, - { - name = "turretaafar", - x = 6960, - z = 2160, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6712, - z = 2280, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7368, - z = 2472, - facing = 0, - }, - { - name = "turretriot", - x = 7048, - z = 2360, - facing = 0, - }, - { - name = "turrettorp", - x = 7512, - z = 3192, - facing = 0, - }, - { - name = "turrettorp", - x = 7240, - z = 3112, - facing = 0, - }, - { - name = "turrettorp", - x = 6408, - z = 2984, - facing = 0, - }, - { - name = "turrettorp", - x = 6120, - z = 3160, - facing = 0, - }, - { - name = "energypylon", - x = 776, - z = 3032, - facing = 1, - buildProgress = 0.1566, - }, - { - name = "turrettorp", - x = 5112, - z = 3080, - facing = 0, - }, - { - name = "shipscout", - x = 5698, - z = 2649, - facing = 3, - }, - { - name = "hoverassault", - x = 6106, - z = 3066, - facing = 3, - }, - { - name = "hovercon", - x = 5106, - z = 3415, - facing = 0, - }, - { - name = "hoveraa", - x = 5108, - z = 4092, - facing = 1, - }, - { - name = "shipscout", - x = 3263, - z = 5088, - facing = 0, - }, - { - name = "turretlaser", - x = 6528, - z = 2384, - facing = 3, - }, - { - name = "hoverassault", - x = 4816, - z = 4175, - facing = 3, - }, - { - name = "hoverassault", - x = 4359, - z = 4420, - facing = 0, - }, - { - name = "hoverriot", - x = 7414, - z = 2900, - facing = 3, - }, - { - name = "staticcon", - x = 7432, - z = 2680, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7432, 2680}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7424, 2796}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7512, - z = 2632, - facing = 3, - }, - { - name = "staticstorage", - x = 7000, - z = 1688, - facing = 3, - }, - { - name = "hovercon", - x = 766, - z = 2920, - facing = 0, - }, - { - name = "hovercon", - x = 1110, - z = 3265, - facing = 3, - }, - { - name = "staticstorage", - x = 7192, - z = 1752, - facing = 3, - }, - { - name = "hoverarty", - x = 5082, - z = 3297, - facing = 0, - }, - { - name = "staticmex", - x = 7912, - z = 3992, - facing = 0, - }, - { - name = "turrettorp", - x = 5544, - z = 2536, - facing = 0, - }, - { - name = "hovercon", - x = 6734, - z = 2338, - facing = 3, - }, - { - name = "hoverraid", - x = 4959, - z = 3154, - facing = 2, - }, - { - name = "shipassault", - x = 5272, - z = 3475, - facing = 1, - }, - { - name = "staticcon", - x = 7464, - z = 2632, - facing = 3, - }, - { - name = "hovercon", - x = 7024, - z = 2055, - facing = 3, - }, - { - name = "staticmex", - x = 5048, - z = 3448, - facing = 0, - buildProgress = 0.67110002, - }, - { - name = "hoverraid", - x = 2997, - z = 3158, - facing = 2, - }, - { - name = "hoverraid", - x = 5358, - z = 2354, - facing = 1, - }, - { - name = "staticcon", - x = 7528, - z = 2680, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7528, 2680}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7424, 2796}, options = {"shift"}}, - }, - }, - { - name = "shipassault", - x = 4966, - z = 3804, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5008, 3824}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4892, 3944}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 5336, - z = 392, - facing = 0, - }, - { - name = "hoverskirm", - x = 5161, - z = 3744, - facing = 2, - }, - { - name = "turretlaser", - x = 6080, - z = 2384, - facing = 3, - }, - { - name = "hoverassault", - x = 4776, - z = 4197, - facing = 3, - }, - { - name = "shipskirm", - x = 5127, - z = 3265, - facing = 1, - }, - { - name = "staticradar", - x = 7312, - z = 480, - facing = 0, - }, - { - name = "hoveraa", - x = 5592, - z = 4039, - facing = 1, - }, - { - name = "staticradar", - x = 7952, - z = 3936, - facing = 3, - }, - { - name = "energypylon", - x = 3848, - z = 264, - facing = 0, - }, - { - name = "shipriot", - x = 5982, - z = 2648, - facing = 1, - }, - { - name = "shipcon", - x = 3240, - z = 3142, - facing = 1, - }, - { - name = "staticcon", - x = 7416, - z = 2616, - facing = 3, - }, - { - name = "staticradar", - x = 5600, - z = 320, - facing = 0, - }, - { - name = "hoverassault", - x = 4389, - z = 4351, - facing = 0, - }, - { - name = "energypylon", - x = 7240, - z = 2152, - facing = 3, - }, - { - name = "hovercon", - x = 5104, - z = 3366, - facing = 0, - }, - { - name = "staticcon", - x = 7368, - z = 2616, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7368, 2616}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7424, 2796}, options = {"shift"}}, - }, - }, - { - name = "hoverarty", - x = 7680, - z = 2957, - facing = 2, - }, - { - name = "hoverraid", - x = 3844, - z = 2620, - facing = 1, - }, - { - name = "hoveraa", - x = 6904, - z = 2534, - facing = 3, - }, - { - name = "shipassault", - x = 5333, - z = 3476, - facing = 1, - }, - { - name = "shipcon", - x = 5572, - z = 3351, - facing = 3, - }, - { - name = "hovercon", - x = 7005, - z = 3153, - facing = 3, - }, - { - name = "hoverraid", - x = 7221, - z = 1561, - facing = 2, - }, - { - name = "energypylon", - x = 4792, - z = 344, - facing = 0, - }, - { - name = "hovercon", - x = 7010, - z = 2303, - facing = 3, - }, - { - name = "hovercon", - x = 5670, - z = 2683, - facing = 1, - }, - { - name = "shipcon", - x = 3184, - z = 4527, - facing = 0, - }, - { - name = "hoveraa", - x = 5651, - z = 3987, - facing = 1, - }, - { - name = "shipcon", - x = 5050, - z = 3820, - facing = 0, - }, - { - name = "hovercon", - x = 4876, - z = 3806, - facing = 0, - }, - { - name = "shipaa", - x = 5346, - z = 2702, - facing = 1, - }, - { - name = "staticradar", - x = 2880, - z = 304, - facing = 0, - }, - { - name = "hovercon", - x = 5608, - z = 2716, - facing = 1, - }, - { - name = "shipcon", - x = 5667, - z = 2623, - facing = 0, - }, - { - name = "shipscout", - x = 4793, - z = 2960, - facing = 2, - }, - { - name = "turretaalaser", - x = 3016, - z = 4600, - facing = 1, - }, - { - name = "energypylon", - x = 7160, - z = 2952, - facing = 3, - }, - { - name = "hovercon", - x = 3292, - z = 3318, - facing = 0, - }, - { - name = "hoveraa", - x = 5669, - z = 4080, - facing = 1, - }, - { - name = "shiparty", - x = 6312, - z = 2384, - facing = 0, - buildProgress = 0.1741, - }, - { - name = "hoverraid", - x = 7424, - z = 2800, - facing = 0, - buildProgress = 0.74580002, - }, - } - }, - { - startX = 6864, - startZ = 7800, - humanName = "Warbak", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticantinuke", - "staticrearm", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - }, - commanderLevel = 6, - commander = { - name = "Mezzanin", - chassis = "guardian", - decorations = { - }, - modules = { - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "commweapon_rocketlauncher", - "commweapon_rocketlauncher", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_radarnet", - "module_autorepair", - "module_autorepair", - "module_high_power_servos", - "module_high_power_servos", - } - }, - startUnits = { - { - name = "zenith", - x = 6864, - z = 7328, - facing = 0, - buildProgress = 0.93, - difficultyAtMost = 4, - difficultyAtLeast = 4, - }, - { - name = "zenith", - x = 6864, - z = 7328, - facing = 0, - buildProgress = 0.88, - difficultyAtMost = 3, - difficultyAtLeast = 3, - }, - { - name = "zenith", - x = 6864, - z = 7328, - facing = 0, - buildProgress = 0.84, - difficultyAtMost = 2, - difficultyAtLeast = 2, - }, - { - name = "zenith", - x = 6864, - z = 7328, - facing = 0, - buildProgress = 0.80, - difficultyAtMost = 1, - difficultyAtLeast = 1, - }, - { - name = "factorygunship", - x = 6328, - z = 7992, - facing = 1, - }, - { - name = "staticcon", - x = 6500, - z = 7992, - facing = 2, - }, - { - name = "staticcon", - x = 6712, - z = 7464, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6712, 7464}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6489, 7125}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6792, - z = 7464, - facing = 2, - }, - { - name = "staticcon", - x = 6872, - z = 7464, - facing = 2, - }, - { - name = "staticcon", - x = 6712, - z = 7544, - facing = 2, - }, - { - name = "turretaaflak", - x = 7016, - z = 7272, - facing = 2, - }, - { - name = "turretaaflak", - x = 6840, - z = 7192, - facing = 2, - }, - { - name = "turretaaflak", - x = 6728, - z = 7320, - facing = 2, - }, - { - name = "pw_metal", - x = 7440, - z = 8032, - facing = 0, - }, - { - name = "gunshipskirm", - x = 6221, - z = 5300, - facing = 2, - }, - { - name = "gunshipaa", - x = 6278, - z = 3858, - facing = 3, - }, - { - name = "energysolar", - x = 6392, - z = 7480, - facing = 2, - }, - { - name = "energywind", - x = 6376, - z = 7592, - facing = 2, - }, - { - name = "staticradar", - x = 7088, - z = 6640, - facing = 3, - }, - { - name = "turretlaser", - x = 6272, - z = 7792, - facing = 2, - }, - { - name = "gunshipaa", - x = 6273, - z = 3875, - facing = 3, - }, - { - name = "staticradar", - x = 5040, - z = 7472, - facing = 2, - }, - { - name = "turretlaser", - x = 6128, - z = 7936, - facing = 2, - }, - } - }, - { - humanName = "Fallacy", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "striderhub", - "striderhub", - "shipcarrier", - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 744, - z = 6936, - facing = 0, - }, - { - name = "staticmex", - x = 1112, - z = 6712, - facing = 0, - }, - { - name = "staticmex", - x = 696, - z = 6408, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 7416, - facing = 0, - }, - { - name = "staticmex", - x = 1768, - z = 7608, - facing = 0, - }, - { - name = "staticmex", - x = 1976, - z = 7976, - facing = 0, - }, - { - name = "staticmex", - x = 2344, - z = 8152, - facing = 0, - }, - { - name = "staticmex", - x = 2648, - z = 7816, - facing = 0, - }, - { - name = "staticmex", - x = 1768, - z = 7176, - facing = 0, - }, - { - name = "staticmex", - x = 632, - z = 7672, - facing = 0, - }, - { - name = "staticmex", - x = 744, - z = 8104, - facing = 0, - }, - { - name = "staticmex", - x = 200, - z = 7848, - facing = 0, - }, - { - name = "staticmex", - x = 3592, - z = 7176, - facing = 0, - }, - { - name = "staticmex", - x = 3720, - z = 6440, - facing = 0, - }, - { - name = "energyfusion", - x = 56, - z = 8144, - facing = 2, - }, - { - name = "energyfusion", - x = 264, - z = 8144, - facing = 2, - }, - { - name = "energyfusion", - x = 504, - z = 8144, - facing = 2, - }, - { - name = "energyfusion", - x = 56, - z = 7952, - facing = 2, - }, - { - name = "energypylon", - x = 888, - z = 7704, - facing = 2, - }, - { - name = "energypylon", - x = 1672, - z = 7656, - facing = 2, - }, - { - name = "energypylon", - x = 840, - z = 6840, - facing = 2, - }, - { - name = "energypylon", - x = 2376, - z = 7912, - facing = 2, - }, - { - name = "staticrearm", - x = 1176, - z = 8088, - facing = 2, - }, - { - name = "factoryplane", - x = 1344, - z = 8104, - facing = 2, - }, - { - name = "staticcon", - x = 1304, - z = 7992, - facing = 2, - }, - { - name = "staticcon", - x = 1384, - z = 7992, - facing = 2, - }, - { - name = "factoryship", - x = 2416, - z = 6528, - facing = 2, - }, - { - name = "staticcon", - x = 2296, - z = 6632, - facing = 2, - }, - { - name = "staticcon", - x = 2296, - z = 6552, - facing = 2, - }, - { - name = "factoryamph", - x = 584, - z = 6152, - facing = 2, - }, - { - name = "staticcon", - x = 552, - z = 6296, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {552, 6296}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {584, 6116}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 632, - z = 6296, - facing = 2, - }, - { - name = "staticradar", - x = 1168, - z = 5952, - facing = 0, - }, - { - name = "turretheavylaser", - x = 984, - z = 5608, - facing = 2, - }, - { - name = "turretgauss", - x = 1256, - z = 5688, - facing = 2, - }, - { - name = "turretgauss", - x = 1512, - z = 5848, - facing = 2, - }, - { - name = "turrettorp", - x = 360, - z = 5096, - facing = 2, - }, - { - name = "turrettorp", - x = 728, - z = 5176, - facing = 2, - }, - { - name = "turrettorp", - x = 1032, - z = 5240, - facing = 2, - }, - { - name = "pw_metal", - x = 192, - z = 7568, - facing = 0, - }, - { - name = "energywind", - x = 4200, - z = 6552, - facing = 2, - }, - { - name = "turretaalaser", - x = 4760, - z = 5032, - facing = 2, - }, - { - name = "amphcon", - x = 1120, - z = 5247, - facing = 0, - }, - { - name = "turrettorp", - x = 3048, - z = 6200, - facing = 2, - }, - { - name = "turrettorp", - x = 3336, - z = 6840, - facing = 2, - }, - { - name = "turretheavylaser", - x = 1752, - z = 6264, - facing = 2, - }, - { - name = "turretaafar", - x = 1360, - z = 6048, - facing = 2, - }, - { - name = "shipcon", - x = 2948, - z = 5392, - facing = 1, - }, - { - name = "shipcon", - x = 2996, - z = 6066, - facing = 1, - }, - { - name = "shipskirm", - x = 5776, - z = 5855, - facing = 3, - }, - { - name = "shiparty", - x = 757, - z = 5744, - facing = 2, - }, - { - name = "shiparty", - x = 6930, - z = 4638, - facing = 0, - }, - { - name = "amphcon", - x = 3177, - z = 5337, - facing = 2, - }, - { - name = "bomberheavy", - x = 1525, - z = 7401, - facing = 1, - }, - { - name = "staticmex", - x = 2616, - z = 5832, - facing = 0, - }, - { - name = "staticcon", - x = 680, - z = 6280, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {680, 6280}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {584, 6116}, options = {"shift"}}, - }, - }, - { - name = "turrettorp", - x = 2616, - z = 5752, - facing = 2, - }, - { - name = "amphaa", - x = 853, - z = 5037, - facing = 2, - }, - { - name = "staticstorage", - x = 1048, - z = 6824, - facing = 1, - }, - { - name = "amphcon", - x = 2221, - z = 5815, - facing = 1, - }, - { - name = "staticcon", - x = 2408, - z = 6664, - facing = 2, - }, - { - name = "staticmex", - x = 472, - z = 4968, - facing = 0, - }, - { - name = "staticstorage", - x = 1128, - z = 6792, - facing = 1, - }, - { - name = "energywind", - x = 5032, - z = 6888, - facing = 2, - }, - { - name = "amphcon", - x = 4027, - z = 5664, - facing = 1, - }, - { - name = "turrettorp", - x = 424, - z = 4968, - facing = 1, - }, - { - name = "staticcon", - x = 600, - z = 6344, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {600, 6344}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {584, 6116}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 648, - z = 6344, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {648, 6344}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {584, 6116}, options = {"shift"}}, - }, - }, - { - name = "shipskirm", - x = 2960, - z = 5898, - facing = 2, - }, - { - name = "turretaalaser", - x = 1464, - z = 5160, - facing = 1, - }, - { - name = "shipcon", - x = 4421, - z = 6194, - facing = 2, - }, - { - name = "amphcon", - x = 2626, - z = 6080, - facing = 1, - }, - { - name = "bomberheavy", - x = 777, - z = 8238, - facing = 3, - }, - { - name = "amphimpulse", - x = 1566, - z = 5575, - facing = 2, - }, - { - name = "energywind", - x = 4696, - z = 5688, - facing = 2, - }, - { - name = "energywind", - x = 4696, - z = 5576, - facing = 2, - }, - { - name = "energywind", - x = 5144, - z = 6856, - facing = 2, - }, - { - name = "energysolar", - x = 5032, - z = 7096, - facing = 2, - }, - { - name = "energypylon", - x = 4680, - z = 6328, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2632, - z = 6024, - facing = 2, - }, - { - name = "shiptorpraider", - x = 2539, - z = 5618, - facing = 2, - }, - { - name = "shipassault", - x = 1665, - z = 5689, - facing = 2, - }, - { - name = "shipcon", - x = 2273, - z = 5911, - facing = 3, - }, - { - name = "amphriot", - x = 1510, - z = 5674, - facing = 2, - }, - { - name = "energywind", - x = 4696, - z = 5800, - facing = 2, - }, - { - name = "amphcon", - x = 2550, - z = 5573, - facing = 2, - }, - { - name = "energywind", - x = 4888, - z = 6936, - facing = 2, - }, - { - name = "staticcon", - x = 552, - z = 6344, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {552, 6344}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {584, 6116}, options = {"shift"}}, - }, - }, - { - name = "turretaalaser", - x = 4696, - z = 6280, - facing = 2, - }, - { - name = "amphraid", - x = 1013, - z = 5981, - facing = 1, - }, - { - name = "bomberprec", - x = 1543, - z = 7812, - facing = 2, - }, - { - name = "shipaa", - x = 6577, - z = 5186, - facing = 0, - }, - { - name = "turretriot", - x = 1416, - z = 4968, - facing = 1, - }, - { - name = "shiparty", - x = 2465, - z = 5678, - facing = 3, - }, - { - name = "energypylon", - x = 3656, - z = 6808, - facing = 2, - }, - { - name = "turretaalaser", - x = 2712, - z = 5736, - facing = 2, - }, - { - name = "staticcon", - x = 1512, - z = 5240, - facing = 1, - }, - { - name = "amphaa", - x = 824, - z = 4986, - facing = 3, - }, - { - name = "amphaa", - x = 1063, - z = 6067, - facing = 2, - }, - { - name = "energysolar", - x = 5112, - z = 7016, - facing = 2, - }, - { - name = "amphfloater", - x = 1437, - z = 5525, - facing = 3, - }, - { - name = "energypylon", - x = 4712, - z = 5096, - facing = 2, - }, - { - name = "amphfloater", - x = 859, - z = 4902, - facing = 2, - }, - { - name = "energysolar", - x = 5192, - z = 6984, - facing = 2, - }, - { - name = "shipskirm", - x = 5269, - z = 6048, - facing = 3, - }, - { - name = "amphaa", - x = 1435, - z = 5676, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4872, - z = 5176, - facing = 2, - }, - { - name = "energysolar", - x = 5112, - z = 7096, - facing = 2, - }, - { - name = "energywind", - x = 5160, - z = 6744, - facing = 2, - }, - { - name = "energywind", - x = 5160, - z = 6632, - facing = 2, - }, - { - name = "energywind", - x = 5112, - z = 6536, - facing = 2, - }, - { - name = "turretaalaser", - x = 4712, - z = 4952, - facing = 2, - }, - { - name = "amphfloater", - x = 905, - z = 5870, - facing = 2, - }, - { - name = "turretaalaser", - x = 520, - z = 5064, - facing = 1, - }, - { - name = "amphcon", - x = 2253, - z = 6624, - facing = 1, - }, - { - name = "subraider", - x = 2978, - z = 6143, - facing = 2, - }, - { - name = "shiptorpraider", - x = 4058, - z = 5786, - facing = 3, - }, - { - name = "amphraid", - x = 2625, - z = 5284, - facing = 2, - }, - { - name = "energywind", - x = 4088, - z = 6584, - facing = 2, - }, - { - name = "amphcon", - x = 1873, - z = 5768, - facing = 1, - }, - { - name = "shipskirm", - x = 2789, - z = 6003, - facing = 3, - }, - { - name = "amphraid", - x = 2360, - z = 5392, - facing = 1, - }, - { - name = "shipscout", - x = 2985, - z = 6105, - facing = 1, - }, - { - name = "amphaa", - x = 761, - z = 6010, - facing = 1, - }, - { - name = "staticcon", - x = 2360, - z = 6664, - facing = 2, - buildProgress = 0.50599998, - }, - { - name = "subraider", - x = 2408, - z = 6527, - facing = 2, - buildProgress = 0.73830003, - }, - { - name = "amphcon", - x = 625, - z = 6119, - facing = 0, - }, - { - name = "amphraid", - x = 584, - z = 6116, - facing = 2, - buildProgress = 0.26660001, - }, - } - }, - { - humanName = "Ractyi", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - }, - commander = false, - midgameUnits = { - { - name = "shipheavyarty", - x = 100, - z = 4950, - facing = 1, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = false, - }, - { - name = "shipcarrier", - x = 100, - z = 4950, - facing = 1, - spawnRadius = 50, - delay = 9*30*60, - orbitalDrop = false, - }, - { - name = "shipheavyarty", - x = 100, - z = 5000, - facing = 1, - spawnRadius = 50, - delay = 9*30*60, - orbitalDrop = false, - difficultyAtLeast = 3, - }, - }, - startUnits = { - { - name = "shipcarrier", - x = 4100, - z = 7000, - facing = 0, - }, - { - name = "shipheavyarty", - x = 3900, - z = 7000, - facing = 0, - difficultyAtLeast = 4, - }, - { - name = "staticmex", - x = 5032, - z = 7608, - facing = 0, - }, - { - name = "staticmex", - x = 5752, - z = 7944, - facing = 0, - }, - { - name = "staticmex", - x = 6328, - z = 7512, - facing = 0, - }, - { - name = "staticmex", - x = 7528, - z = 7256, - facing = 0, - }, - { - name = "staticmex", - x = 7944, - z = 8024, - facing = 0, - }, - { - name = "staticmex", - x = 7112, - z = 6424, - facing = 0, - }, - { - name = "staticmex", - x = 4008, - z = 7864, - facing = 0, - }, - { - name = "staticmex", - x = 4728, - z = 6328, - facing = 0, - }, - { - name = "energyheavygeo", - x = 5416, - z = 6904, - facing = 0, - }, - { - name = "staticarty", - x = 6488, - z = 6264, - facing = 2, - }, - { - name = "staticshield", - x = 6512, - z = 6496, - facing = 2, - }, - { - name = "turretaafar", - x = 6624, - z = 6464, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6744, - z = 6664, - facing = 1, - }, - { - name = "turretheavylaser", - x = 6648, - z = 6312, - facing = 1, - }, - { - name = "turretriot", - x = 6728, - z = 6456, - facing = 1, - }, - { - name = "turretaaflak", - x = 6648, - z = 6584, - facing = 1, - }, - { - name = "staticcon", - x = 6520, - z = 6392, - facing = 1, - }, - { - name = "energyfusion", - x = 8136, - z = 8144, - facing = 2, - }, - { - name = "energyfusion", - x = 8024, - z = 8144, - facing = 2, - }, - { - name = "energyfusion", - x = 5736, - z = 8064, - facing = 2, - }, - { - name = "energyfusion", - x = 5720, - z = 8160, - facing = 2, - }, - { - name = "energypylon", - x = 7560, - z = 7656, - facing = 2, - }, - { - name = "energypylon", - x = 7048, - z = 6904, - facing = 2, - }, - { - name = "energypylon", - x = 6328, - z = 6696, - facing = 2, - }, - { - name = "energypylon", - x = 5960, - z = 7512, - facing = 2, - }, - { - name = "energypylon", - x = 5304, - z = 7432, - facing = 2, - }, - { - name = "factoryhover", - x = 5744, - z = 6176, - facing = 2, - }, - { - name = "staticcon", - x = 5704, - z = 6344, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5768, 6392}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5704, 6344}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5784, - z = 6344, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5768, 6392}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5784, 6344}, options = {"shift"}}, - }, - }, - { - name = "factoryship", - x = 4928, - z = 6688, - facing = 2, - }, - { - name = "staticcon", - x = 5048, - z = 6776, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5048, 6776}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5023, 6751}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5048, - z = 6696, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5048, 6696}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5023, 6671}, options = {"shift"}}, - }, - }, - { - name = "pw_metal", - x = 4992, - z = 7984, - facing = 0, - }, - { - name = "staticradar", - x = 2816, - z = 5824, - facing = 2, - }, - { - name = "turrettorp", - x = 6936, - z = 5720, - facing = 2, - }, - { - name = "turrettorp", - x = 6280, - z = 5704, - facing = 2, - }, - { - name = "turrettorp", - x = 5464, - z = 5688, - facing = 2, - }, - { - name = "turrettorp", - x = 4968, - z = 5832, - facing = 2, - }, - { - name = "turrettorp", - x = 4344, - z = 5832, - facing = 2, - }, - { - name = "turretmissile", - x = 7248, - z = 6112, - facing = 2, - }, - { - name = "turretmissile", - x = 7536, - z = 6032, - facing = 2, - }, - { - name = "turretmissile", - x = 7936, - z = 5984, - facing = 2, - }, - { - name = "turretmissile", - x = 8112, - z = 5984, - facing = 2, - }, - { - name = "shipcon", - x = 4998, - z = 5383, - facing = 2, - }, - { - name = "turrettorp", - x = 2728, - z = 5816, - facing = 2, - }, - { - name = "hoverassault", - x = 5828, - z = 5468, - facing = 3, - }, - { - name = "shiparty", - x = 3088, - z = 5358, - facing = 3, - }, - { - name = "shipcon", - x = 6804, - z = 4743, - facing = 2, - }, - { - name = "hovercon", - x = 2981, - z = 5469, - facing = 3, - }, - { - name = "staticstorage", - x = 6232, - z = 7496, - facing = 2, - }, - { - name = "hoverarty", - x = 4856, - z = 5765, - facing = 1, - }, - { - name = "shipcon", - x = 5823, - z = 6040, - facing = 2, - }, - { - name = "hoverassault", - x = 6950, - z = 5462, - facing = 3, - }, - { - name = "shipassault", - x = 3946, - z = 5861, - facing = 2, - }, - { - name = "turrettorp", - x = 3624, - z = 7064, - facing = 2, - }, - { - name = "staticradar", - x = 4784, - z = 5296, - facing = 2, - }, - { - name = "staticradar", - x = 3552, - z = 7056, - facing = 2, - }, - { - name = "hovercon", - x = 5254, - z = 5494, - facing = 1, - }, - { - name = "hovercon", - x = 4577, - z = 4659, - facing = 1, - }, - { - name = "shipcon", - x = 5039, - z = 5192, - facing = 3, - }, - { - name = "shipskirm", - x = 4597, - z = 6274, - facing = 3, - }, - { - name = "turrettorp", - x = 4776, - z = 6280, - facing = 2, - }, - { - name = "staticcon", - x = 4920, - z = 6840, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4920, 6840}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4919, 6697}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 5952, - z = 6208, - facing = 2, - }, - { - name = "hoverassault", - x = 5871, - z = 5461, - facing = 3, - }, - { - name = "staticradar", - x = 2816, - z = 5888, - facing = 2, - }, - { - name = "turretlaser", - x = 6192, - z = 7536, - facing = 2, - }, - { - name = "shipcon", - x = 1759, - z = 5392, - facing = 1, - }, - { - name = "hoverriot", - x = 5432, - z = 5738, - facing = 2, - }, - { - name = "turretmissile", - x = 528, - z = 5136, - facing = 1, - }, - { - name = "staticmex", - x = 4120, - z = 4984, - facing = 0, - }, - { - name = "hoveraa", - x = 5622, - z = 5667, - facing = 3, - }, - { - name = "staticstorage", - x = 6408, - z = 7544, - facing = 2, - }, - { - name = "turretlaser", - x = 4880, - z = 7536, - facing = 2, - }, - { - name = "shipskirm", - x = 5537, - z = 5538, - facing = 1, - }, - { - name = "turrettorp", - x = 2712, - z = 5896, - facing = 2, - }, - { - name = "turretmissile", - x = 2416, - z = 5952, - facing = 2, - }, - { - name = "shipcon", - x = 3585, - z = 5807, - facing = 1, - }, - { - name = "turretheavylaser", - x = 4776, - z = 5160, - facing = 2, - }, - { - name = "shipaa", - x = 6944, - z = 4464, - facing = 0, - }, - { - name = "hoveraa", - x = 5667, - z = 5669, - facing = 3, - }, - { - name = "staticcon", - x = 2616, - z = 5880, - facing = 2, - }, - { - name = "staticcon", - x = 4872, - z = 6824, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4872, 6824}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4919, 6697}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5672, - z = 6392, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5672, 6392}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5768, 6392}, options = {"shift"}}, - }, - }, - { - name = "shiptorpraider", - x = 4920, - z = 6634, - facing = 2, - }, - { - name = "staticmex", - x = 4760, - z = 5096, - facing = 0, - }, - { - name = "turretmissile", - x = 4608, - z = 6336, - facing = 2, - }, - { - name = "shipassault", - x = 6415, - z = 5371, - facing = 1, - }, - { - name = "turrettorp", - x = 4696, - z = 5192, - facing = 2, - }, - { - name = "staticcon", - x = 4856, - z = 6392, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4856, 6392}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4919, 6697}, options = {"shift"}}, - }, - }, - { - name = "turretheavylaser", - x = 4680, - z = 6120, - facing = 2, - }, - { - name = "hovercon", - x = 7324, - z = 5004, - facing = 2, - }, - { - name = "staticcon", - x = 4824, - z = 6824, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4824, 6824}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4919, 6697}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 4768, - z = 6384, - facing = 2, - }, - { - name = "turrettorp", - x = 4744, - z = 6200, - facing = 2, - }, - { - name = "hovercon", - x = 5802, - z = 6504, - facing = 2, - }, - { - name = "shipassault", - x = 5588, - z = 5598, - facing = 2, - }, - { - name = "turrettorp", - x = 4600, - z = 6152, - facing = 2, - }, - { - name = "shipcon", - x = 3060, - z = 5727, - facing = 2, - }, - { - name = "hovercon", - x = 5894, - z = 6297, - facing = 3, - }, - { - name = "hoverarty", - x = 7115, - z = 5529, - facing = 1, - }, - { - name = "staticcon", - x = 616, - z = 5112, - facing = 1, - }, - { - name = "staticcon", - x = 5720, - z = 6392, - facing = 2, - }, - { - name = "staticcon", - x = 5768, - z = 6392, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5768, 6392}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5743, 6367}, options = {"shift"}}, - }, - }, - { - name = "shipskirm", - x = 5963, - z = 5522, - facing = 1, - }, - { - name = "shipcon", - x = 5842, - z = 5921, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2712, - z = 5976, - facing = 2, - }, - { - name = "shipassault", - x = 4970, - z = 6461, - facing = 2, - }, - { - name = "shipcon", - x = 6432, - z = 5315, - facing = 2, - }, - { - name = "staticcon", - x = 5656, - z = 6344, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5768, 6392}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5656, 6344}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 352, - z = 4992, - facing = 1, - }, - { - name = "shipaa", - x = 3853, - z = 5867, - facing = 2, - }, - { - name = "turretlaser", - x = 5504, - z = 6208, - facing = 2, - }, - { - name = "shipscout", - x = 4698, - z = 4724, - facing = 2, - }, - { - name = "turretlaser", - x = 3904, - z = 4992, - facing = 2, - buildProgress = 0.59249997, - }, - { - name = "hoverraid", - x = 5242, - z = 5610, - facing = 2, - }, - { - name = "hovercon", - x = 5820, - z = 6278, - facing = 3, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryplane", - "factorygunship", - "factoryamph", - "factoryship", - "factoryhover", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 4, - unitTypes = { - "shipheavyarty", - }, - image = planetUtilities.ICON_DIR .. "shipheavyarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 4 Shoguns", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 20*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 20:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "shipheavyarty", - }, - modules = { - "commweapon_concussion", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet61.lua b/campaign/dev/planets/planet61.lua deleted file mode 100644 index 0f7391e9b..000000000 --- a/campaign/dev/planets/planet61.lua +++ /dev/null @@ -1,3376 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/tundra02.png" - - local planetData = { - name = "Hibiliha", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.83, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.46, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arctic", - radius = "5750 km", - primary = "Toque", - primaryType = "F9IV", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24614", - text = [[The high mountains of this battlefield, and the enemy's defensive bastions seated upon them, have so far resisted assault. The Funnelweb strider is well equipped to dislodge them.]] - }, - tips = { - { - image = "unitpics/striderfunnelweb.png", - text = [[Funnelwebs have no direct weapon - instead they have a powerful nanolathe and high capacity shield. The shield recharges rapidly but cannot do so for 15s after taking damage.]] - }, - { - image = "unitpics/energyfusion.png", - text = [[Since you don't have any infrastructure in place yet, your ally has given you some Fusion Reactors to power your Funnelwebs' shields. Make sure you keep them alive.]] - }, - { - image = "unitpics/staticmex.png", - text = [[At the moment the enemy controls far more of the map than your team does. Push out with your starting Funnelwebs and take metal points to even the odds.]] - }, - }, - gameConfig = { - mapName = "Melt_V2", - playerConfig = { - startX = 620, - startZ = 6150, - --startX = 7000, - --startZ = 7000, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderhub", - "striderfunnelweb", - }, - startUnits = { - { - name = "energyfusion", - x = 6872, - z = 6992, - facing = 0, - }, - { - name = "energyfusion", - x = 7032, - z = 6992, - facing = 0, - }, - { - name = "energyfusion", - x = 7032, - z = 6848, - facing = 0, - }, - { - name = "striderfunnelweb", - x = 620, - z = 5950, - facing = 1, - shieldFactor = 1, - }, - { - name = "striderfunnelweb", - x = 620, - z = 5750, - facing = 1, - shieldFactor = 1, - }, - } - }, - aiConfig = { - { - humanName = "Ridgeback", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - }, - commander = false, - startUnits = { - { - name = "staticheavyradar", - x = 5456, - z = 5216, - facing = 0, - }, - { - name = "staticstorage", - x = 6856, - z = 6808, - facing = 0, - }, - { - name = "staticmex", - x = 6696, - z = 6664, - facing = 0, - }, - { - name = "turretlaser", - x = 6928, - z = 5488, - facing = 2, - }, - { - name = "staticmex", - x = 6728, - z = 7048, - facing = 0, - }, - { - name = "staticmex", - x = 5800, - z = 6712, - facing = 0, - }, - { - name = "staticmex", - x = 7128, - z = 6728, - facing = 0, - }, - { - name = "staticmex", - x = 5592, - z = 6712, - facing = 0, - }, - { - name = "staticmex", - x = 6712, - z = 5560, - facing = 0, - }, - { - name = "energysolar", - x = 6744, - z = 6920, - facing = 0, - }, - { - name = "energysolar", - x = 6744, - z = 6776, - facing = 0, - }, - { - name = "staticmex", - x = 6808, - z = 5304, - facing = 0, - }, - { - name = "energysolar", - x = 6840, - z = 6680, - facing = 0, - }, - { - name = "energysolar", - x = 6984, - z = 6712, - facing = 0, - }, - { - name = "staticcon", - x = 6584, - z = 6632, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6584, 6632}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6816, 6429}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6680, - z = 6552, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6680, 6552}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6816, 6429}, options = {"shift"}}, - }, - }, - { - name = "factoryspider", - x = 6440, - z = 6744, - facing = 3, - }, - { - name = "staticmex", - x = 6840, - z = 4104, - facing = 0, - }, - { - name = "staticmex", - x = 6568, - z = 3880, - facing = 0, - }, - { - name = "staticmex", - x = 6936, - z = 3688, - facing = 0, - }, - { - name = "staticmex", - x = 5096, - z = 4664, - facing = 3, - }, - { - name = "energysolar", - x = 6760, - z = 5432, - facing = 2, - }, - { - name = "staticmex", - x = 4040, - z = 6568, - facing = 3, - }, - { - name = "staticmex", - x = 5208, - z = 4824, - facing = 3, - }, - { - name = "energywind", - x = 5144, - z = 4664, - facing = 2, - }, - { - name = "staticmex", - x = 4456, - z = 6584, - facing = 3, - }, - { - name = "energywind", - x = 5144, - z = 4712, - facing = 2, - }, - { - name = "energywind", - x = 5096, - z = 4712, - facing = 1, - }, - { - name = "staticmex", - x = 4296, - z = 6216, - facing = 3, - }, - { - name = "energywind", - x = 5048, - z = 4712, - facing = 1, - }, - { - name = "energywind", - x = 5048, - z = 4664, - facing = 0, - }, - { - name = "energywind", - x = 5048, - z = 4616, - facing = 0, - }, - { - name = "energywind", - x = 5096, - z = 4616, - facing = 3, - }, - { - name = "energywind", - x = 5144, - z = 4616, - facing = 3, - }, - { - name = "energywind", - x = 5256, - z = 4824, - facing = 2, - }, - { - name = "energywind", - x = 5256, - z = 4872, - facing = 2, - }, - { - name = "energywind", - x = 5208, - z = 4872, - facing = 1, - }, - { - name = "energywind", - x = 5160, - z = 4872, - facing = 1, - }, - { - name = "energywind", - x = 5160, - z = 4824, - facing = 0, - }, - { - name = "energywind", - x = 5160, - z = 4776, - facing = 0, - }, - { - name = "energywind", - x = 5208, - z = 4776, - facing = 3, - }, - { - name = "energywind", - x = 5256, - z = 4776, - facing = 3, - }, - { - name = "factoryshield", - x = 6816, - z = 6440, - facing = 2, - }, - { - name = "turretaafar", - x = 5472, - z = 5472, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4936, - z = 4488, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5304, - z = 4360, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4808, - z = 4840, - facing = 3, - }, - { - name = "turretemp", - x = 4864, - z = 4608, - facing = 3, - }, - { - name = "turretemp", - x = 5104, - z = 4432, - facing = 2, - }, - { - name = "turretaaflak", - x = 4984, - z = 4824, - facing = 2, - }, - { - name = "turretaaflak", - x = 5288, - z = 4616, - facing = 2, - }, - { - name = "energysolar", - x = 4152, - z = 6488, - facing = 2, - }, - { - name = "energysolar", - x = 4280, - z = 6344, - facing = 2, - }, - { - name = "energysolar", - x = 4392, - z = 6488, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4040, - z = 6248, - facing = 3, - }, - { - name = "turretemp", - x = 4240, - z = 6096, - facing = 3, - }, - { - name = "turretlaser", - x = 4368, - z = 6032, - facing = 3, - }, - { - name = "turretlaser", - x = 3872, - z = 6528, - facing = 3, - }, - { - name = "turretemp", - x = 3920, - z = 6672, - facing = 3, - }, - { - name = "turretlaser", - x = 5088, - z = 4960, - facing = 0, - }, - { - name = "turretemp", - x = 4592, - z = 6448, - facing = 1, - }, - { - name = "turretlaser", - x = 4608, - z = 6560, - facing = 1, - }, - { - name = "turretlaser", - x = 5424, - z = 4704, - facing = 1, - }, - { - name = "energysolar", - x = 6680, - z = 3912, - facing = 1, - }, - { - name = "energysolar", - x = 6824, - z = 3784, - facing = 1, - }, - { - name = "energysolar", - x = 6840, - z = 3944, - facing = 1, - }, - { - name = "energywind", - x = 6904, - z = 4056, - facing = 1, - }, - { - name = "turretlaser", - x = 5680, - z = 6880, - facing = 3, - }, - { - name = "turretlaser", - x = 5744, - z = 6560, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6712, - z = 3608, - facing = 2, - }, - { - name = "energysolar", - x = 5704, - z = 6696, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7112, - z = 3768, - facing = 2, - }, - { - name = "turretemp", - x = 6976, - z = 3600, - facing = 2, - }, - { - name = "turretaalaser", - x = 6984, - z = 3896, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6520, - z = 3736, - facing = 3, - }, - { - name = "turretlaser", - x = 6592, - z = 5360, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6616, - z = 4136, - facing = 3, - }, - { - name = "turretemp", - x = 6480, - z = 3984, - facing = 3, - }, - { - name = "shieldassault", - x = 6041, - z = 3876, - facing = 3, - }, - { - name = "shieldfelon", - x = 5618, - z = 3990, - facing = 0, - }, - { - name = "spidercon", - x = 5104, - z = 4889, - facing = 3, - }, - { - name = "shieldcon", - x = 6874, - z = 3994, - facing = 1, - }, - { - name = "spideremp", - x = 5741, - z = 3935, - facing = 1, - }, - { - name = "shieldcon", - x = 4986, - z = 4860, - facing = 3, - }, - { - name = "staticradar", - x = 6752, - z = 6688, - facing = 3, - }, - { - name = "spiderscout", - x = 2574, - z = 7339, - facing = 0, - }, - { - name = "staticcon", - x = 6840, - z = 6616, - facing = 3, - }, - { - name = "spiderscout", - x = 3074, - z = 6850, - facing = 3, - }, - { - name = "staticcon", - x = 6792, - z = 6616, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6792, 6616}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6816, 6429}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 6416, - z = 6544, - facing = 2, - }, - { - name = "spidercon", - x = 4992, - z = 6219, - facing = 1, - }, - { - name = "turretlaser", - x = 7040, - z = 6720, - facing = 3, - }, - { - name = "spiderassault", - x = 5955, - z = 3704, - facing = 3, - }, - { - name = "shieldcon", - x = 4932, - z = 6341, - facing = 1, - }, - { - name = "turretlaser", - x = 5840, - z = 6800, - facing = 2, - }, - { - name = "spiderriot", - x = 5324, - z = 3924, - facing = 0, - }, - { - name = "spiderriot", - x = 4151, - z = 6088, - facing = 0, - }, - { - name = "staticcon", - x = 6744, - z = 6616, - facing = 3, - }, - { - name = "spidercon", - x = 6984, - z = 4184, - facing = 2, - }, - { - name = "turretlaser", - x = 6768, - z = 5344, - facing = 3, - }, - { - name = "shieldskirm", - x = 5639, - z = 4019, - facing = 3, - }, - { - name = "spidercon", - x = 4492, - z = 6166, - facing = 1, - }, - { - name = "shieldcon", - x = 6377, - z = 6919, - facing = 1, - }, - { - name = "spiderscout", - x = 2512, - z = 7383, - facing = 0, - }, - { - name = "turretmissile", - x = 6368, - z = 3824, - facing = 3, - }, - { - name = "shieldfelon", - x = 6810, - z = 6352, - facing = 2, - }, - { - name = "spiderassault", - x = 4050, - z = 7387, - facing = 3, - }, - { - name = "shieldassault", - x = 5854, - z = 3891, - facing = 2, - }, - { - name = "spiderassault", - x = 6003, - z = 3607, - facing = 2, - }, - { - name = "spidercon", - x = 4928, - z = 4544, - facing = 1, - }, - { - name = "staticradar", - x = 4368, - z = 6384, - facing = 2, - }, - { - name = "shieldassault", - x = 6013, - z = 3907, - facing = 2, - }, - { - name = "spiderassault", - x = 6022, - z = 3730, - facing = 0, - }, - { - name = "energysolar", - x = 6616, - z = 6568, - facing = 3, - }, - { - name = "energysolar", - x = 5528, - z = 6696, - facing = 2, - }, - { - name = "shieldassault", - x = 5857, - z = 3933, - facing = 1, - }, - { - name = "energysolar", - x = 6776, - z = 5560, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4904, - z = 4808, - facing = 3, - buildProgress = 0.30829999, - }, - { - name = "turretlaser", - x = 5424, - z = 4880, - facing = 3, - }, - { - name = "shieldassault", - x = 5919, - z = 3904, - facing = 1, - }, - { - name = "turretlaser", - x = 4208, - z = 6432, - facing = 2, - }, - { - name = "energysolar", - x = 5544, - z = 6616, - facing = 2, - }, - { - name = "turretmissile", - x = 6816, - z = 3856, - facing = 3, - }, - { - name = "spiderassault", - x = 6012, - z = 3582, - facing = 0, - }, - { - name = "spiderscout", - x = 7353, - z = 3767, - facing = 3, - }, - { - name = "energysolar", - x = 5272, - z = 5000, - facing = 3, - }, - { - name = "spiderscout", - x = 4616, - z = 6960, - facing = 3, - }, - { - name = "shieldassault", - x = 5778, - z = 3950, - facing = 1, - }, - { - name = "energysolar", - x = 4920, - z = 4696, - facing = 3, - }, - { - name = "turretmissile", - x = 5456, - z = 4512, - facing = 3, - }, - { - name = "spiderassault", - x = 5970, - z = 3661, - facing = 1, - }, - { - name = "energysolar", - x = 5368, - z = 4728, - facing = 3, - }, - { - name = "shieldskirm", - x = 6031, - z = 3980, - facing = 0, - }, - { - name = "turretlaser", - x = 6624, - z = 3888, - facing = 3, - }, - { - name = "staticradar", - x = 6752, - z = 4064, - facing = 3, - }, - { - name = "turretmissile", - x = 4928, - z = 4992, - facing = 3, - }, - { - name = "spiderassault", - x = 5643, - z = 3609, - facing = 2, - }, - { - name = "shieldskirm", - x = 6096, - z = 4127, - facing = 0, - }, - { - name = "staticstorage", - x = 5096, - z = 4760, - facing = 3, - }, - { - name = "spideremp", - x = 5912, - z = 3966, - facing = 1, - }, - { - name = "staticcon", - x = 5352, - z = 4808, - facing = 3, - }, - { - name = "shieldaa", - x = 3470, - z = 6503, - facing = 3, - }, - { - name = "spiderscout", - x = 3187, - z = 6825, - facing = 3, - }, - { - name = "spiderscout", - x = 4681, - z = 6863, - facing = 2, - }, - { - name = "shieldaa", - x = 3392, - z = 6533, - facing = 3, - }, - { - name = "staticcon", - x = 6808, - z = 6568, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6808, 6568}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6816, 6429}, options = {"shift"}}, - }, - }, - { - name = "shieldfelon", - x = 6345, - z = 6489, - facing = 2, - patrolRoute = { - {6330, 6498}, - {6373, 6448}, - }, - }, - { - name = "turretheavylaser", - x = 6984, - z = 3976, - facing = 3, - buildProgress = 0.764, - }, - { - name = "spiderscout", - x = 1904, - z = 7591, - facing = 3, - }, - { - name = "spidercon", - x = 5218, - z = 6625, - facing = 3, - }, - { - name = "staticradar", - x = 5232, - z = 4688, - facing = 3, - }, - { - name = "spiderscout", - x = 7357, - z = 3711, - facing = 3, - }, - { - name = "spiderassault", - x = 4188, - z = 7419, - facing = 3, - }, - { - name = "spiderassault", - x = 6299, - z = 6460, - facing = 0, - patrolRoute = { - {6298, 6441}, - {6331, 6496}, - }, - }, - { - name = "shieldcon", - x = 5510, - z = 6518, - facing = 2, - }, - { - name = "spiderscout", - x = 3349, - z = 6729, - facing = 3, - }, - { - name = "energysolar", - x = 5176, - z = 5064, - facing = 3, - }, - { - name = "energysolar", - x = 6632, - z = 6696, - facing = 3, - }, - { - name = "spiderscout", - x = 3935, - z = 6623, - facing = 3, - }, - { - name = "shieldskirm", - x = 6325, - z = 6464, - facing = 0, - patrolRoute = { - {6295, 6443}, - {6331, 6496}, - }, - }, - { - name = "turretlaser", - x = 5248, - z = 5056, - facing = 3, - }, - { - name = "shieldskirm", - x = 6320, - z = 6522, - facing = 2, - patrolRoute = { - {6310, 6556}, - {6331, 6496}, - }, - }, - { - name = "spiderscout", - x = 4334, - z = 7078, - facing = 3, - }, - { - name = "shieldskirm", - x = 6841, - z = 6337, - facing = 2, - }, - { - name = "shieldraid", - x = 6816, - z = 6428, - facing = 2, - }, - { - name = "spiderscout", - x = 6404, - z = 6744, - facing = 3, - buildProgress = 0.5, - }, - } - }, - { - startX = 1500, - startZ = 1300, - humanName = "Skiffy", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaaclose", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - --"bomberheavy", - "striderhub", - "striderscorpion", - }, - difficultyDependantUnlocks = { - [4] = {"bomberheavy"}, - }, - commanderLevel = 5, - commander = { - name = "Abomination", - chassis = "engineer", - modules = { - "commweapon_missilelauncher", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_high_power_servos", - "module_high_power_servos", - } - }, - startUnits = { - { - name = "staticheavyradar", - x = 2592, - z = 2816, - facing = 0, - }, - { - name = "staticstorage", - x = 1400, - z = 936, - facing = 0, - }, - { - name = "striderhub", - x = 1760, - z = 1264, - facing = 0, - }, - { - name = "turretgauss", - x = 1064, - z = 3912, - facing = 0, - }, - { - name = "staticmex", - x = 2568, - z = 2472, - facing = 0, - }, - { - name = "staticmex", - x = 2792, - z = 2568, - facing = 0, - }, - { - name = "staticmex", - x = 1144, - z = 1016, - facing = 0, - }, - { - name = "staticmex", - x = 1096, - z = 2664, - facing = 0, - }, - { - name = "staticmex", - x = 1064, - z = 2424, - facing = 0, - }, - { - name = "staticmex", - x = 1144, - z = 1384, - facing = 0, - }, - { - name = "staticmex", - x = 1480, - z = 1144, - facing = 0, - }, - { - name = "staticmex", - x = 1160, - z = 3688, - facing = 3, - }, - { - name = "staticmex", - x = 1240, - z = 4152, - facing = 3, - }, - { - name = "staticmex", - x = 1496, - z = 3880, - facing = 3, - }, - { - name = "staticmex", - x = 1784, - z = 5160, - facing = 3, - }, - { - name = "energysolar", - x = 1112, - z = 1256, - facing = 3, - }, - { - name = "energysolar", - x = 1128, - z = 1128, - facing = 3, - }, - { - name = "staticmex", - x = 1656, - z = 6376, - facing = 3, - }, - { - name = "energysolar", - x = 1240, - z = 1048, - facing = 3, - }, - { - name = "staticmex", - x = 1960, - z = 6504, - facing = 3, - }, - { - name = "energysolar", - x = 1368, - z = 1112, - facing = 3, - }, - { - name = "staticmex", - x = 1752, - z = 6776, - facing = 3, - }, - { - name = "turretaalaser", - x = 1352, - z = 3736, - facing = 0, - }, - { - name = "energywind", - x = 2616, - z = 2472, - facing = 2, - }, - { - name = "energywind", - x = 2616, - z = 2520, - facing = 2, - }, - { - name = "energywind", - x = 2568, - z = 2520, - facing = 1, - }, - { - name = "staticmex", - x = 2984, - z = 4984, - facing = 3, - }, - { - name = "energywind", - x = 2520, - z = 2520, - facing = 1, - }, - { - name = "energywind", - x = 2520, - z = 2472, - facing = 0, - }, - { - name = "energywind", - x = 2520, - z = 2424, - facing = 0, - }, - { - name = "staticmex", - x = 3176, - z = 4840, - facing = 3, - }, - { - name = "energywind", - x = 2568, - z = 2424, - facing = 3, - }, - { - name = "energywind", - x = 2616, - z = 2424, - facing = 3, - }, - { - name = "factoryplane", - x = 1584, - z = 1016, - facing = 0, - }, - { - name = "energywind", - x = 2840, - z = 2568, - facing = 2, - }, - { - name = "energywind", - x = 2840, - z = 2616, - facing = 2, - }, - { - name = "factoryspider", - x = 1416, - z = 1384, - facing = 0, - }, - { - name = "energywind", - x = 2792, - z = 2616, - facing = 1, - }, - { - name = "staticcon", - x = 1560, - z = 1240, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1585, 1265}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1560, 1240}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 2744, - z = 2616, - facing = 1, - }, - { - name = "energywind", - x = 2744, - z = 2568, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 2520, - facing = 0, - }, - { - name = "staticcon", - x = 1640, - z = 1240, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1665, 1265}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1640, 1240}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 1864, - z = 5368, - facing = 3, - }, - { - name = "energywind", - x = 2792, - z = 2520, - facing = 3, - }, - { - name = "energywind", - x = 2840, - z = 2520, - facing = 3, - }, - { - name = "energywind", - x = 3032, - z = 4984, - facing = 2, - }, - { - name = "energywind", - x = 3032, - z = 5032, - facing = 2, - }, - { - name = "energywind", - x = 2984, - z = 5032, - facing = 1, - }, - { - name = "energywind", - x = 2936, - z = 5032, - facing = 1, - }, - { - name = "energywind", - x = 2936, - z = 4984, - facing = 0, - }, - { - name = "energywind", - x = 2936, - z = 4936, - facing = 0, - }, - { - name = "energywind", - x = 2984, - z = 4936, - facing = 3, - }, - { - name = "energywind", - x = 3032, - z = 4936, - facing = 3, - }, - { - name = "energywind", - x = 3224, - z = 4840, - facing = 2, - }, - { - name = "energywind", - x = 3224, - z = 4888, - facing = 2, - }, - { - name = "energywind", - x = 3176, - z = 4888, - facing = 1, - }, - { - name = "energywind", - x = 3128, - z = 4888, - facing = 1, - }, - { - name = "energywind", - x = 3128, - z = 4840, - facing = 0, - }, - { - name = "energywind", - x = 3128, - z = 4792, - facing = 0, - }, - { - name = "energywind", - x = 3176, - z = 4792, - facing = 3, - }, - { - name = "energywind", - x = 3224, - z = 4792, - facing = 3, - }, - { - name = "energywind", - x = 2696, - z = 2248, - facing = 2, - }, - { - name = "energywind", - x = 2776, - z = 2248, - facing = 2, - }, - { - name = "energywind", - x = 2856, - z = 2248, - facing = 2, - }, - { - name = "energywind", - x = 2936, - z = 2248, - facing = 2, - }, - { - name = "energywind", - x = 2936, - z = 2328, - facing = 2, - }, - { - name = "energywind", - x = 2856, - z = 2328, - facing = 2, - }, - { - name = "energywind", - x = 2776, - z = 2328, - facing = 2, - }, - { - name = "energywind", - x = 2696, - z = 2328, - facing = 2, - }, - { - name = "energywind", - x = 2696, - z = 2408, - facing = 2, - }, - { - name = "energywind", - x = 2776, - z = 2408, - facing = 2, - }, - { - name = "energywind", - x = 2856, - z = 2408, - facing = 2, - }, - { - name = "energywind", - x = 2936, - z = 2408, - facing = 2, - }, - { - name = "energypylon", - x = 3288, - z = 1832, - facing = 2, - }, - { - name = "energypylon", - x = 2456, - z = 1800, - facing = 2, - }, - { - name = "energypylon", - x = 1912, - z = 1400, - facing = 2, - }, - { - name = "energypylon", - x = 2696, - z = 2488, - facing = 0, - }, - { - name = "staticarty", - x = 2488, - z = 2824, - facing = 0, - }, - { - name = "energypylon", - x = 1496, - z = 1992, - facing = 0, - }, - { - name = "energysolar", - x = 1080, - z = 2536, - facing = 0, - }, - { - name = "turretheavy", - x = 1864, - z = 2280, - facing = 0, - }, - { - name = "energypylon", - x = 984, - z = 2488, - facing = 0, - }, - { - name = "turretheavy", - x = 1144, - z = 2904, - facing = 0, - }, - { - name = "turretaalaser", - x = 1400, - z = 2632, - facing = 0, - }, - { - name = "staticshield", - x = 2608, - z = 2592, - facing = 0, - }, - { - name = "turretaalaser", - x = 3544, - z = 1880, - facing = 0, - }, - { - name = "turretheavy", - x = 2808, - z = 2744, - facing = 0, - }, - { - name = "turretemp", - x = 2144, - z = 2768, - facing = 0, - }, - { - name = "turretgauss", - x = 2264, - z = 2936, - facing = 0, - }, - { - name = "turretemp", - x = 2464, - z = 3024, - facing = 0, - }, - { - name = "energyfusion", - x = 984, - z = 1008, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2792, - z = 5208, - facing = 0, - }, - { - name = "turretemp", - x = 2976, - z = 5136, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3240, - z = 5000, - facing = 0, - }, - { - name = "turretriot", - x = 3208, - z = 4664, - facing = 1, - }, - { - name = "turretriot", - x = 2632, - z = 4856, - facing = 3, - }, - { - name = "turretemp", - x = 2928, - z = 4752, - facing = 2, - }, - { - name = "turretaalaser", - x = 2840, - z = 4920, - facing = 0, - }, - { - name = "turretlaser", - x = 2016, - z = 5408, - facing = 0, - }, - { - name = "turretlaser", - x = 1728, - z = 5280, - facing = 0, - }, - { - name = "turretriot", - x = 1752, - z = 6568, - facing = 3, - }, - { - name = "turretmissile", - x = 1824, - z = 6256, - facing = 3, - }, - { - name = "turretmissile", - x = 2000, - z = 6800, - facing = 3, - }, - { - name = "turretheavylaser", - x = 584, - z = 2808, - facing = 0, - }, - { - name = "turretaaclose", - x = 408, - z = 2808, - facing = 0, - }, - { - name = "turretgauss", - x = 1464, - z = 4120, - facing = 0, - }, - { - name = "spiderassault", - x = 4775, - z = 3661, - facing = 1, - }, - { - name = "energysolar", - x = 1480, - z = 1208, - facing = 0, - }, - { - name = "spidercon", - x = 1893, - z = 3685, - facing = 1, - patrolRoute = { - {1720, 3422}, - {2523, 4223}, - }, - }, - { - name = "spideremp", - x = 4609, - z = 3745, - facing = 1, - }, - { - name = "spidercon", - x = 2689, - z = 2950, - facing = 0, - }, - { - name = "turretlaser", - x = 1296, - z = 1088, - facing = 0, - }, - { - name = "spidercon", - x = 3160, - z = 6009, - facing = 0, - }, - { - name = "staticcon", - x = 1448, - z = 1272, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1448, 1272}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1473, 1297}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 1312, - z = 1264, - facing = 0, - }, - { - name = "spiderassault", - x = 4732, - z = 3667, - facing = 1, - }, - { - name = "turretlaser", - x = 1936, - z = 1296, - facing = 0, - }, - { - name = "turretlaser", - x = 2576, - z = 176, - facing = 0, - }, - { - name = "staticcon", - x = 1400, - z = 1272, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1400, 1272}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1425, 1297}, options = {"shift"}}, - }, - }, - { - name = "energysolar", - x = 2152, - z = 2184, - facing = 1, - }, - { - name = "spiderassault", - x = 4697, - z = 3709, - facing = 1, - }, - { - name = "bomberprec", - x = 1574, - z = 2207, - facing = 0, - }, - { - name = "staticcon", - x = 1432, - z = 1128, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1432, 1128}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1457, 1153}, options = {"shift"}}, - }, - }, - { - name = "spiderassault", - x = 4677, - z = 3752, - facing = 1, - }, - { - name = "staticcon", - x = 1416, - z = 1224, - facing = 0, - }, - { - name = "staticradar", - x = 2752, - z = 448, - facing = 0, - }, - { - name = "spiderriot", - x = 1573, - z = 2114, - facing = 1, - }, - { - name = "spiderscout", - x = 2916, - z = 2903, - facing = 1, - }, - { - name = "spiderassault", - x = 4739, - z = 3700, - facing = 1, - }, - { - name = "staticmex", - x = 2632, - z = 328, - facing = 0, - }, - { - name = "staticcon", - x = 1416, - z = 1176, - facing = 0, - }, - { - name = "staticcon", - x = 1496, - z = 1272, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1496, 1272}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1521, 1297}, options = {"shift"}}, - }, - }, - { - name = "staticradar", - x = 2544, - z = 2608, - facing = 1, - }, - { - name = "spiderscout", - x = 3596, - z = 4186, - facing = 0, - }, - { - name = "spidercon", - x = 3231, - z = 2815, - facing = 0, - }, - { - name = "turretlaser", - x = 992, - z = 2448, - facing = 1, - }, - { - name = "spiderassault", - x = 3679, - z = 4833, - facing = 3, - }, - { - name = "staticcon", - x = 1368, - z = 1192, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1368, 1192}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1393, 1217}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 2760, - z = 200, - facing = 0, - }, - { - name = "energypylon", - x = 2696, - z = 264, - facing = 0, - }, - { - name = "turretlaser", - x = 1792, - z = 1072, - facing = 0, - }, - { - name = "staticrearm", - x = 1656, - z = 824, - facing = 0, - }, - { - name = "energypylon", - x = 3528, - z = 728, - facing = 0, - }, - { - name = "spiderassault", - x = 7610, - z = 3198, - facing = 1, - }, - { - name = "spiderscout", - x = 2674, - z = 2733, - facing = 0, - }, - { - name = "spideremp", - x = 1551, - z = 2065, - facing = 0, - }, - { - name = "spiderscout", - x = 3234, - z = 6348, - facing = 0, - }, - { - name = "spiderassault", - x = 2042, - z = 2858, - facing = 1, - }, - { - name = "staticstorage", - x = 2712, - z = 2680, - facing = 0, - }, - { - name = "spiderassault", - x = 3521, - z = 5515, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3172, 5861}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3126, 5816}, options = {"shift"}}, - }, - }, - { - name = "spiderassault", - x = 3093, - z = 5846, - facing = 1, - patrolRoute = { - {3087, 5868}, - {3126, 5816}, - }, - }, - { - name = "spiderassault", - x = 3142, - z = 5827, - facing = 1, - patrolRoute = { - {3126, 5816}, - {3158, 5872}, - }, - }, - { - name = "spiderscout", - x = 2975, - z = 6105, - facing = 0, - }, - { - name = "spiderscout", - x = 4234, - z = 4207, - facing = 0, - }, - { - name = "spiderassault", - x = 2032, - z = 2790, - facing = 0, - }, - { - name = "spiderassault", - x = 3084, - z = 5811, - facing = 2, - patrolRoute = { - {3062, 5815}, - {3126, 5816}, - }, - }, - { - name = "spiderassault", - x = 1964, - z = 5082, - facing = 0, - }, - { - name = "turretlaser", - x = 4096, - z = 1040, - facing = 0, - }, - { - name = "spiderassault", - x = 1901, - z = 5034, - facing = 0, - }, - { - name = "spiderscout", - x = 4473, - z = 3841, - facing = 1, - }, - { - name = "spiderscout", - x = 3301, - z = 4618, - facing = 0, - }, - { - name = "spiderscout", - x = 3290, - z = 4595, - facing = 0, - }, - { - name = "staticradar", - x = 4000, - z = 1328, - facing = 0, - }, - { - name = "spiderscout", - x = 2781, - z = 4780, - facing = 0, - }, - { - name = "spideremp", - x = 1607, - z = 2264, - facing = 1, - }, - { - name = "bomberdisarm", - x = 3963, - z = 2990, - facing = 1, - }, - { - name = "spiderassault", - x = 1557, - z = 2217, - facing = 0, - }, - { - name = "spiderassault", - x = 1692, - z = 2375, - facing = 0, - }, - { - name = "spiderassault", - x = 1716, - z = 2412, - facing = 0, - }, - { - name = "spiderassault", - x = 1528, - z = 2158, - facing = 0, - }, - { - name = "spiderassault", - x = 1637, - z = 2294, - facing = 0, - }, - { - name = "spiderscout", - x = 3198, - z = 2979, - facing = 1, - }, - { - name = "turretlaser", - x = 2992, - z = 2640, - facing = 0, - }, - { - name = "spiderscout", - x = 3070, - z = 3076, - facing = 1, - }, - { - name = "spiderriot", - x = 1254, - z = 2129, - facing = 0, - }, - { - name = "bomberdisarm", - x = 1546, - z = 1036, - facing = 0, - buildProgress = 0.86299998, - }, - { - name = "spiderscout", - x = 1956, - z = 2078, - facing = 0, - }, - { - name = "spiderscout", - x = 1922, - z = 1856, - facing = 1, - }, - { - name = "spiderscout", - x = 1820, - z = 1770, - facing = 1, - }, - { - name = "spiderscout", - x = 1697, - z = 1553, - facing = 1, - }, - { - name = "spidercon", - x = 1416, - z = 1420, - facing = 0, - buildProgress = 0.0649, - }, - { - name = "spidercrabe", - x = 2086, - z = 6316, - facing = 0, - }, - { - name = "spideremp", - x = 2185, - z = 6477, - facing = 0, - }, - { - name = "spideremp", - x = 2094, - z = 6085, - facing = 0, - }, - } - }, - { - humanName = "Sundown", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - }, - commander = false, - startUnits = { - { - name = "staticheavyradar", - x = 5792, - z = 2992, - facing = 0, - }, - { - name = "staticstorage", - x = 6952, - z = 888, - facing = 0, - }, - { - name = "turretriot", - x = 3816, - z = 1304, - facing = 0, - }, - { - name = "staticmex", - x = 5704, - z = 2696, - facing = 0, - }, - { - name = "staticmex", - x = 5608, - z = 2456, - facing = 0, - }, - { - name = "staticmex", - x = 6568, - z = 1160, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 1048, - facing = 0, - }, - { - name = "staticmex", - x = 6600, - z = 792, - facing = 0, - }, - { - name = "staticmex", - x = 7416, - z = 2312, - facing = 0, - }, - { - name = "staticmex", - x = 7336, - z = 2536, - facing = 0, - }, - { - name = "staticmex", - x = 4040, - z = 1336, - facing = 0, - }, - { - name = "staticmex", - x = 3880, - z = 1048, - facing = 0, - }, - { - name = "staticmex", - x = 4248, - z = 1048, - facing = 0, - }, - { - name = "turretriot", - x = 4040, - z = 872, - facing = 2, - }, - { - name = "energysolar", - x = 3912, - z = 1144, - facing = 0, - }, - { - name = "energysolar", - x = 4040, - z = 1240, - facing = 0, - }, - { - name = "energysolar", - x = 4168, - z = 1144, - facing = 0, - }, - { - name = "energysolar", - x = 6616, - z = 1064, - facing = 0, - }, - { - name = "energysolar", - x = 6648, - z = 904, - facing = 0, - }, - { - name = "energysolar", - x = 6792, - z = 1032, - facing = 0, - }, - { - name = "factoryspider", - x = 6952, - z = 1240, - facing = 0, - }, - { - name = "factoryjump", - x = 6760, - z = 1240, - facing = 0, - }, - { - name = "energywind", - x = 5656, - z = 2456, - facing = 1, - }, - { - name = "energywind", - x = 5656, - z = 2504, - facing = 1, - }, - { - name = "energywind", - x = 5608, - z = 2504, - facing = 0, - }, - { - name = "energywind", - x = 5560, - z = 2504, - facing = 0, - }, - { - name = "energywind", - x = 5560, - z = 2456, - facing = 3, - }, - { - name = "energywind", - x = 5560, - z = 2408, - facing = 3, - }, - { - name = "energywind", - x = 5608, - z = 2408, - facing = 2, - }, - { - name = "energywind", - x = 5656, - z = 2408, - facing = 2, - }, - { - name = "energywind", - x = 5752, - z = 2696, - facing = 1, - }, - { - name = "energywind", - x = 5752, - z = 2744, - facing = 1, - }, - { - name = "energywind", - x = 5704, - z = 2744, - facing = 0, - }, - { - name = "energywind", - x = 5656, - z = 2744, - facing = 0, - }, - { - name = "energypylon", - x = 4056, - z = 1608, - facing = 2, - }, - { - name = "energywind", - x = 5656, - z = 2696, - facing = 3, - }, - { - name = "energywind", - x = 5656, - z = 2648, - facing = 3, - }, - { - name = "energywind", - x = 5704, - z = 2648, - facing = 2, - }, - { - name = "energywind", - x = 5752, - z = 2648, - facing = 2, - }, - { - name = "energywind", - x = 5752, - z = 2344, - facing = 2, - }, - { - name = "energywind", - x = 5832, - z = 2344, - facing = 2, - }, - { - name = "energypylon", - x = 4968, - z = 1848, - facing = 2, - }, - { - name = "energywind", - x = 5912, - z = 2344, - facing = 2, - }, - { - name = "energywind", - x = 5912, - z = 2424, - facing = 2, - }, - { - name = "energywind", - x = 5832, - z = 2424, - facing = 2, - }, - { - name = "energywind", - x = 5752, - z = 2424, - facing = 2, - }, - { - name = "energywind", - x = 5752, - z = 2504, - facing = 2, - }, - { - name = "energywind", - x = 5832, - z = 2504, - facing = 2, - }, - { - name = "energywind", - x = 5912, - z = 2504, - facing = 2, - }, - { - name = "energywind", - x = 5912, - z = 2584, - facing = 2, - }, - { - name = "energywind", - x = 5832, - z = 2584, - facing = 2, - }, - { - name = "energypylon", - x = 5736, - z = 2136, - facing = 2, - }, - { - name = "energywind", - x = 5752, - z = 2584, - facing = 2, - }, - { - name = "energypylon", - x = 6488, - z = 1560, - facing = 2, - }, - { - name = "energysolar", - x = 7384, - z = 2424, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7400, - z = 2680, - facing = 0, - }, - { - name = "turretriot", - x = 7256, - z = 2680, - facing = 0, - }, - { - name = "turretriot", - x = 7528, - z = 2744, - facing = 0, - }, - { - name = "turretaaflak", - x = 7608, - z = 2568, - facing = 0, - }, - { - name = "turretaaflak", - x = 7192, - z = 2360, - facing = 0, - }, - { - name = "turretlaser", - x = 7280, - z = 2176, - facing = 0, - }, - { - name = "turretlaser", - x = 7584, - z = 2224, - facing = 0, - }, - { - name = "energypylon", - x = 5848, - z = 2792, - facing = 0, - }, - { - name = "turretheavy", - x = 5480, - z = 2584, - facing = 3, - }, - { - name = "turretheavy", - x = 6056, - z = 2952, - facing = 1, - }, - { - name = "turretaalaser", - x = 5752, - z = 2824, - facing = 0, - }, - { - name = "turretaalaser", - x = 5464, - z = 1928, - facing = 0, - }, - { - name = "turretantiheavy", - x = 4032, - z = 1824, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4968, - z = 2152, - facing = 0, - }, - { - name = "turretaalaser", - x = 4600, - z = 1736, - facing = 0, - }, - { - name = "energyfusion", - x = 4040, - z = 1024, - facing = 0, - }, - { - name = "staticcon", - x = 7032, - z = 1112, - facing = 0, - }, - { - name = "staticcon", - x = 7032, - z = 1016, - facing = 0, - }, - { - name = "energypylon", - x = 7352, - z = 2008, - facing = 0, - }, - { - name = "energyfusion", - x = 6840, - z = 864, - facing = 0, - }, - { - name = "turretriot", - x = 4312, - z = 1320, - facing = 0, - }, - { - name = "staticmex", - x = 5288, - z = 744, - facing = 0, - }, - { - name = "jumpraid", - x = 4938, - z = 1946, - facing = 1, - }, - { - name = "spidercon", - x = 4540, - z = 2883, - facing = 3, - }, - { - name = "jumpraid", - x = 6734, - z = 2331, - facing = 3, - }, - { - name = "staticcon", - x = 6728, - z = 1032, - facing = 0, - }, - { - name = "jumpcon", - x = 5727, - z = 1502, - facing = 3, - }, - { - name = "spiderscout", - x = 4354, - z = 4015, - facing = 0, - }, - { - name = "jumpassault", - x = 6381, - z = 1506, - facing = 3, - patrolRoute = { - {6385, 1497}, - {6357, 1555}, - }, - }, - { - name = "jumpcon", - x = 3736, - z = 1643, - facing = 3, - }, - { - name = "spideremp", - x = 6148, - z = 3754, - facing = 3, - }, - { - name = "staticcon", - x = 6776, - z = 1096, - facing = 0, - }, - { - name = "jumpskirm", - x = 5993, - z = 3212, - facing = 0, - }, - { - name = "spidercon", - x = 6356, - z = 2832, - facing = 3, - }, - { - name = "staticradar", - x = 6704, - z = 1104, - facing = 0, - }, - { - name = "spiderassault", - x = 5829, - z = 3266, - facing = 1, - }, - { - name = "jumpcon", - x = 4412, - z = 3388, - facing = 0, - }, - { - name = "spidercon", - x = 4592, - z = 3046, - facing = 0, - }, - { - name = "jumpassault", - x = 5862, - z = 3786, - facing = 1, - }, - { - name = "staticcon", - x = 6824, - z = 1096, - facing = 0, - }, - { - name = "spiderassault", - x = 5634, - z = 3297, - facing = 1, - }, - { - name = "staticmex", - x = 5592, - z = 776, - facing = 0, - }, - { - name = "jumpcon", - x = 5597, - z = 3384, - facing = 3, - }, - { - name = "spiderassault", - x = 5677, - z = 3284, - facing = 1, - }, - { - name = "staticcon", - x = 6680, - z = 1032, - facing = 0, - }, - { - name = "jumpcon", - x = 4066, - z = 2148, - facing = 0, - }, - { - name = "spiderassault", - x = 5837, - z = 3198, - facing = 1, - }, - { - name = "staticcon", - x = 6728, - z = 984, - facing = 0, - }, - { - name = "jumpcon", - x = 4608, - z = 3409, - facing = 1, - }, - { - name = "staticcon", - x = 6680, - z = 984, - facing = 0, - }, - { - name = "turretlaser", - x = 6944, - z = 992, - facing = 0, - }, - { - name = "spiderassault", - x = 6137, - z = 3215, - facing = 1, - }, - { - name = "jumpcon", - x = 6043, - z = 1552, - facing = 3, - }, - { - name = "spiderassault", - x = 6178, - z = 3206, - facing = 1, - }, - { - name = "jumpassault", - x = 6389, - z = 2870, - facing = 1, - }, - { - name = "spiderassault", - x = 6081, - z = 3153, - facing = 1, - }, - { - name = "jumpskirm", - x = 6068, - z = 3227, - facing = 0, - }, - { - name = "spiderassault", - x = 6671, - z = 2984, - facing = 1, - }, - { - name = "jumpassault", - x = 6521, - z = 2827, - facing = 1, - }, - { - name = "spideremp", - x = 6832, - z = 1320, - facing = 3, - }, - { - name = "spiderassault", - x = 6681, - z = 3217, - facing = 2, - }, - { - name = "staticstorage", - x = 5608, - z = 2552, - facing = 0, - }, - { - name = "spiderscout", - x = 4719, - z = 3724, - facing = 2, - }, - { - name = "jumpraid", - x = 6708, - z = 2337, - facing = 3, - }, - { - name = "spiderscout", - x = 4672, - z = 3697, - facing = 2, - }, - { - name = "jumpraid", - x = 5811, - z = 1657, - facing = 3, - }, - { - name = "spiderassault", - x = 6336, - z = 1573, - facing = 3, - patrolRoute = { - {6357, 1555}, - {6306, 1594}, - }, - }, - { - name = "spiderassault", - x = 6346, - z = 1501, - facing = 0, - patrolRoute = { - {6371, 1493}, - {6357, 1555}, - }, - }, - { - name = "jumpcon", - x = 5793, - z = 1496, - facing = 3, - }, - { - name = "spiderassault", - x = 6356, - z = 1540, - facing = 3, - patrolRoute = { - {6357, 1555}, - {6316, 1506}, - }, - }, - { - name = "staticmex", - x = 4248, - z = 3576, - facing = 0, - terraformHeight = 690, - }, - { - name = "jumpcon", - x = 7036, - z = 2200, - facing = 0, - }, - { - name = "spidercon", - x = 6876, - z = 1978, - facing = 0, - }, - { - name = "jumpcon", - x = 6214, - z = 1543, - facing = 3, - }, - { - name = "spiderassault", - x = 6613, - z = 1449, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6357, 1555}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6421, 1552}, options = {"shift"}}, - }, - }, - { - name = "spiderscout", - x = 6947, - z = 2010, - facing = 0, - }, - { - name = "jumpskirm", - x = 6760, - z = 1264, - facing = 0, - buildProgress = 0.9777, - }, - { - name = "spiderassault", - x = 6952, - z = 1276, - facing = 0, - buildProgress = 0.0708, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryplane", - "factoryspider", - "factoryjump", - "striderhub", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories and Strider Hubs", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 4, - unitTypes = { - "striderfunnelweb", - }, - image = planetUtilities.ICON_DIR .. "striderfunnelweb.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 4 Funnelwebs", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - unitTypes = { - "striderfunnelweb" - }, - image = planetUtilities.ICON_DIR .. "striderfunnelweb.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose any Funnelwebs", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - victoryByTime = 30*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 30:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "striderfunnelweb", - }, - modules = { - "commweapon_areashield", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet62.lua b/campaign/dev/planets/planet62.lua deleted file mode 100644 index 0a8df4cbf..000000000 --- a/campaign/dev/planets/planet62.lua +++ /dev/null @@ -1,4003 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran04.png" - - local planetData = { - name = "Karuwal", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.685, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.42, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Alpine", - radius = "6310 km", - primary = "Ilvasia", - primaryType = "G7V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24566", - text = [[Your enemy is causing trouble with a collection of heavy units, including large Paladin striders. Ambush and destroy their heavies in the mountains with Scorpions.]] - }, - tips = { - { - image = "unitpics/striderscorpion.png", - text = [[Scorpions are cloaked all-terrain striders effective against enemy heavies. Most of their weapons only fire forwards so make sure they are not decloaked and flanked.]] - }, - { - image = "unitpics/striderbantha.png", - text = [[Get close to a Paladin with two or three Scorpions then use their multistunners (default hotkey D) to stunlock the Paladin. One Scorpion on its own will be insufficient against anything but a highly damaged Paladin.]] - }, - { - image = "unitpics/staticnuke.png", - text = [[Your ally has constructed a Trinity nuclear silo but the enemy is well protected by Antinukes. Destroy the Antinukes to give your team the upper hand.]] - }, - }, - gameConfig = { - mapName = "Craterv01", - playerConfig = { - startX = 1411, - startZ = 4100, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderhub", - "striderscorpion", - - }, - startUnits = { - { - name = "striderscorpion", - x = 1300, - z = 3800, - facing = 1, - }, - { - name = "striderscorpion", - x = 1300, - z = 4000, - facing = 1, - }, - { - name = "striderscorpion", - x = 1500, - z = 3900, - facing = 1, - }, - { - name = "energyfusion", - x = 630, - z = 4260, - facing = 0, - }, - { - name = "energyfusion", - x = 800, - z = 4420, - facing = 0, - }, - { - name = "staticmex", - x = 920, - z = 4296, - facing = 0, - }, - { - name = "staticmex", - x = 1304, - z = 4104, - facing = 0, - }, - { - name = "staticmex", - x = 904, - z = 3864, - facing = 0, - }, - { - name = "energywind", - x = 856, - z = 4232, - facing = 1, - }, - { - name = "energywind", - x = 856, - z = 4152, - facing = 1, - }, - { - name = "energywind", - x = 840, - z = 4072, - facing = 1, - }, - { - name = "energywind", - x = 840, - z = 3992, - facing = 1, - }, - { - name = "energywind", - x = 840, - z = 3912, - facing = 1, - }, - { - name = "energywind", - x = 1000, - z = 4328, - facing = 1, - }, - { - name = "energywind", - x = 1080, - z = 4280, - facing = 1, - }, - { - name = "energywind", - x = 1160, - z = 4232, - facing = 1, - }, - { - name = "energywind", - x = 1240, - z = 4200, - facing = 1, - }, - { - name = "energywind", - x = 1320, - z = 4152, - facing = 1, - }, - { - name = "staticheavyradar", - x = 1792, - z = 4160, - facing = 1, - terraformHeight = 364, - }, - { - name = "staticcon", - x = 1192, - z = 3816, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1192, 3816}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1217, 3791}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1192, - z = 3992, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1192, 3992}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1217, 3967}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 1184, - z = 3904, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1184, 3904}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1209, 3879}, options = {"shift"}}, - }, - }, - { - name = "staticstorage", - x = 1048, - z = 4072, - facing = 1, - }, - { - name = "staticstorage", - x = 968, - z = 4072, - facing = 1, - }, - { - name = "energywind", - x = 1064, - z = 4376, - facing = 3, - }, - { - name = "energywind", - x = 1144, - z = 4328, - facing = 3, - }, - { - name = "energywind", - x = 1224, - z = 4296, - facing = 3, - }, - { - name = "energywind", - x = 1304, - z = 4248, - facing = 3, - }, - { - name = "energywind", - x = 776, - z = 3960, - facing = 3, - }, - { - name = "energywind", - x = 776, - z = 4040, - facing = 3, - }, - { - name = "energywind", - x = 776, - z = 4120, - facing = 3, - }, - { - name = "energywind", - x = 776, - z = 4200, - facing = 3, - }, - } - }, - aiConfig = { - { - humanName = "Ally #1", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretmissile", - "staticradar", - "staticcon", - "staticrearm", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumpaa", - "factorytank", - "tankassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "striderhub", - "striderdante", - "striderarty", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberheavy", - "bomberdisarm", - }, - commander = false, - startUnits = { - { - name = "staticnuke", - x = 496, - z = 1776, - facing = 1, - }, - { - name = "staticstorage", - x = 536, - z = 1496, - facing = 3, - }, - { - name = "staticmex", - x = 600, - z = 1992, - facing = 0, - }, - { - name = "staticstorage", - x = 456, - z = 1496, - facing = 3, - }, - { - name = "staticmex", - x = 504, - z = 2392, - facing = 0, - }, - { - name = "staticmex", - x = 952, - z = 2536, - facing = 0, - }, - { - name = "turretriot", - x = 2616, - z = 3432, - facing = 1, - }, - { - name = "staticmex", - x = 648, - z = 2856, - facing = 0, - }, - { - name = "staticmex", - x = 1416, - z = 2392, - facing = 0, - }, - { - name = "turretriot", - x = 2584, - z = 3800, - facing = 1, - }, - { - name = "staticmex", - x = 1672, - z = 2856, - facing = 0, - }, - { - name = "turretaalaser", - x = 2248, - z = 3480, - facing = 1, - }, - { - name = "staticmex", - x = 2040, - z = 2504, - facing = 0, - }, - { - name = "turretaalaser", - x = 2296, - z = 3816, - facing = 1, - }, - { - name = "energyfusion", - x = 240, - z = 1560, - facing = 3, - }, - { - name = "staticmex", - x = 840, - z = 1544, - facing = 0, - }, - { - name = "energyfusion", - x = 240, - z = 1416, - facing = 3, - }, - { - name = "staticmex", - x = 520, - z = 1240, - facing = 0, - }, - { - name = "turretheavylaser", - x = 3048, - z = 3576, - facing = 1, - }, - { - name = "staticmex", - x = 1048, - z = 888, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2952, - z = 2744, - facing = 1, - }, - { - name = "staticmex", - x = 1240, - z = 568, - facing = 0, - }, - { - name = "staticmex", - x = 1688, - z = 888, - facing = 0, - }, - { - name = "turretaafar", - x = 1664, - z = 3536, - facing = 1, - }, - { - name = "turretlaser", - x = 1680, - z = 3440, - facing = 1, - }, - { - name = "turretlaser", - x = 1712, - z = 3632, - facing = 1, - }, - { - name = "turretaafar", - x = 2032, - z = 2032, - facing = 1, - }, - { - name = "turretriot", - x = 2104, - z = 1832, - facing = 1, - }, - { - name = "turretriot", - x = 2024, - z = 1592, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1688, - z = 1672, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1752, - z = 2024, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2200, - z = 600, - facing = 1, - }, - { - name = "turretriot", - x = 2280, - z = 760, - facing = 1, - }, - { - name = "energyheavygeo", - x = 1848, - z = 1784, - facing = 3, - }, - { - name = "energypylon", - x = 1720, - z = 2392, - facing = 3, - }, - { - name = "energypylon", - x = 776, - z = 2440, - facing = 3, - }, - { - name = "energypylon", - x = 712, - z = 1544, - facing = 3, - }, - { - name = "staticcon", - x = 584, - z = 2600, - facing = 3, - }, - { - name = "energypylon", - x = 1512, - z = 1288, - facing = 3, - }, - { - name = "factoryplane", - x = 456, - z = 2576, - facing = 1, - }, - { - name = "energysolar", - x = 1144, - z = 888, - facing = 3, - }, - { - name = "staticrearm", - x = 504, - z = 2776, - facing = 1, - }, - { - name = "staticrearm", - x = 296, - z = 2664, - facing = 1, - }, - { - name = "energysolar", - x = 1160, - z = 664, - facing = 3, - }, - { - name = "energysolar", - x = 1144, - z = 776, - facing = 1, - }, - { - name = "energysolar", - x = 1160, - z = 552, - facing = 1, - }, - { - name = "staticantinuke", - x = 1296, - z = 1608, - facing = 1, - }, - { - name = "staticcon", - x = 728, - z = 1720, - facing = 1, - }, - { - name = "staticcon", - x = 728, - z = 1800, - facing = 1, - }, - { - name = "factorytank", - x = 864, - z = 1744, - facing = 1, - }, - { - name = "striderhub", - x = 768, - z = 2720, - facing = 1, - }, - { - name = "staticcon", - x = 648, - z = 2696, - facing = 1, - }, - { - name = "turretgauss", - x = 2648, - z = 1096, - facing = 1, - }, - { - name = "turretgauss", - x = 2696, - z = 1464, - facing = 1, - }, - { - name = "staticcon", - x = 1448, - z = 760, - facing = 0, - }, - { - name = "factoryjump", - x = 1448, - z = 920, - facing = 0, - }, - { - name = "turretriot", - x = 2328, - z = 472, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3016, - z = 2072, - facing = 1, - }, - { - name = "turretaaflak", - x = 2008, - z = 520, - facing = 1, - }, - { - name = "turretaalaser", - x = 2616, - z = 2440, - facing = 3, - }, - { - name = "striderdante", - x = 4578, - z = 2082, - facing = 3, - }, - { - name = "energysolar", - x = 2184, - z = 4968, - facing = 1, - }, - { - name = "striderarty", - x = 864, - z = 2720, - facing = 0, - buildProgress = 0.98250002, - }, - { - name = "staticradar", - x = 2688, - z = 816, - facing = 0, - }, - { - name = "tankaa", - x = 1683, - z = 2922, - facing = 1, - }, - { - name = "tankriot", - x = 1416, - z = 2624, - facing = 0, - }, - { - name = "jumpcon", - x = 3447, - z = 1856, - facing = 1, - }, - { - name = "jumpassault", - x = 2026, - z = 3109, - facing = 0, - }, - { - name = "bomberheavy", - x = 704, - z = 2796, - facing = 3, - }, - { - name = "staticmex", - x = 2728, - z = 744, - facing = 0, - }, - { - name = "tankassault", - x = 4201, - z = 1590, - facing = 3, - }, - { - name = "jumpcon", - x = 4300, - z = 1979, - facing = 1, - }, - { - name = "tankriot", - x = 4210, - z = 1721, - facing = 0, - }, - { - name = "tankassault", - x = 2096, - z = 2933, - facing = 0, - }, - { - name = "tankassault", - x = 1821, - z = 3009, - facing = 1, - }, - { - name = "jumpcon", - x = 2732, - z = 1007, - facing = 1, - }, - { - name = "jumpraid", - x = 2597, - z = 5534, - facing = 0, - }, - { - name = "staticradar", - x = 752, - z = 2224, - facing = 1, - }, - { - name = "staticcon", - x = 2632, - z = 744, - facing = 0, - }, - { - name = "energypylon", - x = 2712, - z = 6744, - facing = 2, - }, - { - name = "striderdante", - x = 4935, - z = 1810, - facing = 2, - }, - { - name = "planescout", - x = 2439, - z = 760, - facing = 0, - }, - { - name = "jumpskirm", - x = 4028, - z = 1808, - facing = 3, - }, - { - name = "energysolar", - x = 1784, - z = 5992, - facing = 1, - }, - { - name = "jumpraid", - x = 1448, - z = 944, - facing = 0, - buildProgress = 0.0424, - }, - { - name = "jumpcon", - x = 4901, - z = 1973, - facing = 2, - }, - { - name = "tankassault", - x = 4938, - z = 1650, - facing = 0, - }, - { - name = "energypylon", - x = 2008, - z = 5496, - facing = 1, - }, - { - name = "energypylon", - x = 2872, - z = 4872, - facing = 1, - }, - { - name = "turretmissile", - x = 2768, - z = 656, - facing = 0, - }, - { - name = "staticradar", - x = 2480, - z = 4288, - facing = 1, - }, - { - name = "tankaa", - x = 1692, - z = 2965, - facing = 1, - }, - { - name = "tankaa", - x = 892, - z = 1744, - facing = 1, - buildProgress = 0.59509999, - }, - { - name = "tankaa", - x = 980, - z = 2714, - facing = 3, - patrolRoute = { - {1002, 2708}, - {776, 2664}, - }, - }, - { - name = "bomberprec", - x = 1674, - z = 2804, - facing = 2, - }, - { - name = "energysolar", - x = 2248, - z = 4824, - facing = 1, - }, - { - name = "staticradar", - x = 2560, - z = 800, - facing = 0, - }, - { - name = "planecon", - x = 2890, - z = 2344, - facing = 1, - }, - { - name = "jumpcon", - x = 4418, - z = 2126, - facing = 1, - }, - { - name = "turretmissile", - x = 2848, - z = 832, - facing = 0, - }, - { - name = "jumpcon", - x = 4027, - z = 1678, - facing = 1, - }, - { - name = "jumpcon", - x = 1759, - z = 897, - facing = 1, - }, - } - }, - { - humanName = "Ally #2", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretmissile", - "staticradar", - "staticcon", - "staticrearm", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphaa", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spideraa", - "striderhub", - "striderdante", - "striderarty", - }, - commander = false, - startUnits = { - { - name = "staticcon", - x = 472, - z = 3736, - facing = 0, - }, - { - name = "factoryspider", - x = 488, - z = 3864, - facing = 0, - }, - { - name = "striderhub", - x = 1136, - z = 6064, - facing = 1, - }, - { - name = "turretaafar", - x = 1680, - z = 6128, - facing = 1, - }, - { - name = "turretaafar", - x = 1680, - z = 4784, - facing = 1, - }, - { - name = "turretlaser", - x = 1760, - z = 4704, - facing = 1, - }, - { - name = "staticmex", - x = 712, - z = 5480, - facing = 0, - }, - { - name = "turretlaser", - x = 1760, - z = 4848, - facing = 1, - }, - { - name = "staticmex", - x = 776, - z = 5864, - facing = 0, - }, - { - name = "turretriot", - x = 3016, - z = 6552, - facing = 1, - }, - { - name = "turretriot", - x = 3080, - z = 6840, - facing = 1, - }, - { - name = "staticmex", - x = 600, - z = 6312, - facing = 0, - }, - { - name = "turretriot", - x = 3096, - z = 5400, - facing = 1, - }, - { - name = "staticmex", - x = 1320, - z = 6376, - facing = 0, - }, - { - name = "turretheavylaser", - x = 2984, - z = 4408, - facing = 1, - }, - { - name = "staticmex", - x = 1512, - z = 6008, - facing = 0, - }, - { - name = "staticmex", - x = 1272, - z = 5576, - facing = 0, - }, - { - name = "energyfusion", - x = 432, - z = 5736, - facing = 3, - }, - { - name = "staticmex", - x = 2056, - z = 5496, - facing = 0, - }, - { - name = "turretaalaser", - x = 2584, - z = 4856, - facing = 3, - }, - { - name = "staticmex", - x = 1768, - z = 6552, - facing = 0, - }, - { - name = "staticstorage", - x = 632, - z = 6056, - facing = 3, - }, - { - name = "staticmex", - x = 1576, - z = 6872, - facing = 0, - }, - { - name = "staticstorage", - x = 712, - z = 6056, - facing = 3, - }, - { - name = "staticmex", - x = 2760, - z = 6744, - facing = 0, - }, - { - name = "staticmex", - x = 2456, - z = 4536, - facing = 0, - }, - { - name = "staticmex", - x = 2664, - z = 4216, - facing = 0, - }, - { - name = "energyheavygeo", - x = 2760, - z = 6136, - facing = 3, - }, - { - name = "energypylon", - x = 2456, - z = 6136, - facing = 3, - }, - { - name = "turretheavy", - x = 2888, - z = 6184, - facing = 1, - }, - { - name = "turretheavy", - x = 2808, - z = 5928, - facing = 1, - }, - { - name = "turretaafar", - x = 2320, - z = 6032, - facing = 1, - }, - { - name = "staticantinuke", - x = 1488, - z = 5688, - facing = 1, - }, - { - name = "energypylon", - x = 1544, - z = 6504, - facing = 3, - }, - { - name = "turretaalaser", - x = 2392, - z = 6280, - facing = 3, - }, - { - name = "energypylon", - x = 920, - z = 5928, - facing = 3, - }, - { - name = "staticcon", - x = 2680, - z = 5480, - facing = 1, - }, - { - name = "factoryshield", - x = 2808, - z = 5488, - facing = 1, - }, - { - name = "staticcon", - x = 1144, - z = 6184, - facing = 1, - }, - { - name = "factoryamph", - x = 1288, - z = 6136, - facing = 1, - }, - { - name = "turretaalaser", - x = 2424, - z = 5832, - facing = 3, - }, - { - name = "energyfusion", - x = 432, - z = 5944, - facing = 3, - }, - { - name = "turretheavylaser", - x = 3000, - z = 6712, - facing = 1, - }, - { - name = "energypylon", - x = 968, - z = 4024, - facing = 1, - }, - { - name = "striderdante", - x = 3669, - z = 2843, - facing = 1, - patrolRoute = { - {3706, 2866}, - {3568, 2736}, - }, - }, - { - name = "amphriot", - x = 4734, - z = 5612, - facing = 0, - }, - { - name = "staticradar", - x = 1776, - z = 2544, - facing = 1, - }, - { - name = "striderarty", - x = 1232, - z = 6016, - facing = 0, - buildProgress = 0.9102, - }, - { - name = "spidercon", - x = 1279, - z = 3768, - facing = 1, - }, - { - name = "amphcon", - x = 3149, - z = 4560, - facing = 2, - }, - { - name = "energywind", - x = 1800, - z = 4056, - facing = 1, - }, - { - name = "energysolar", - x = 1928, - z = 4168, - facing = 1, - }, - { - name = "spiderassault", - x = 1894, - z = 5791, - facing = 2, - }, - { - name = "spidercon", - x = 1316, - z = 3275, - facing = 2, - }, - { - name = "staticradar", - x = 2704, - z = 6640, - facing = 2, - }, - { - name = "energysolar", - x = 2280, - z = 2440, - facing = 1, - }, - { - name = "energypylon", - x = 2440, - z = 4296, - facing = 1, - }, - { - name = "spidercon", - x = 3797, - z = 2814, - facing = 3, - }, - { - name = "spidercon", - x = 2983, - z = 1521, - facing = 1, - }, - { - name = "spidercon", - x = 3786, - z = 2856, - facing = 3, - }, - { - name = "energysolar", - x = 1528, - z = 4120, - facing = 1, - }, - { - name = "energypylon", - x = 1352, - z = 3144, - facing = 1, - }, - { - name = "staticcon", - x = 1112, - z = 6120, - facing = 1, - }, - { - name = "spiderassault", - x = 3841, - z = 6372, - facing = 1, - }, - { - name = "energysolar", - x = 1672, - z = 4120, - facing = 1, - }, - { - name = "energywind", - x = 1912, - z = 4040, - facing = 1, - }, - { - name = "staticradar", - x = 1072, - z = 4192, - facing = 1, - }, - { - name = "amphfloater", - x = 3743, - z = 6368, - facing = 1, - }, - { - name = "shieldskirm", - x = 3005, - z = 4553, - facing = 2, - }, - { - name = "shieldassault", - x = 2964, - z = 4602, - facing = 2, - }, - { - name = "shieldcon", - x = 2687, - z = 4495, - facing = 2, - }, - { - name = "staticcon", - x = 3080, - z = 2568, - facing = 1, - }, - { - name = "staticcon", - x = 1064, - z = 6120, - facing = 1, - }, - { - name = "shieldfelon", - x = 3186, - z = 5271, - facing = 3, - }, - { - name = "striderdante", - x = 4659, - z = 5740, - facing = 0, - }, - { - name = "shieldshield", - x = 3625, - z = 6371, - facing = 1, - }, - { - name = "spidercon", - x = 3444, - z = 2943, - facing = 1, - }, - { - name = "shieldskirm", - x = 2210, - z = 6370, - facing = 1, - }, - { - name = "energypylon", - x = 2968, - z = 1048, - facing = 0, - }, - { - name = "staticcon", - x = 1080, - z = 6072, - facing = 1, - }, - { - name = "energysolar", - x = 2472, - z = 2456, - facing = 1, - }, - { - name = "energysolar", - x = 2632, - z = 2536, - facing = 1, - }, - { - name = "shieldshield", - x = 2883, - z = 5289, - facing = 3, - }, - { - name = "amphraid", - x = 2624, - z = 5544, - facing = 0, - }, - { - name = "staticcon", - x = 1096, - z = 6168, - facing = 1, - }, - { - name = "amphraid", - x = 2536, - z = 5705, - facing = 0, - }, - { - name = "amphcon", - x = 3160, - z = 4515, - facing = 0, - }, - { - name = "amphraid", - x = 2538, - z = 5736, - facing = 0, - }, - { - name = "amphcon", - x = 1656, - z = 5263, - facing = 2, - }, - { - name = "spiderscout", - x = 4201, - z = 2852, - facing = 0, - }, - { - name = "turretmissile", - x = 416, - z = 3632, - facing = 1, - }, - { - name = "striderarty", - x = 2922, - z = 4680, - facing = 2, - }, - { - name = "spidercon", - x = 488, - z = 3900, - facing = 0, - buildProgress = 0.80159998, - }, - { - name = "shieldaa", - x = 2586, - z = 5652, - facing = 0, - }, - { - name = "amphaa", - x = 1515, - z = 6161, - facing = 2, - }, - } - }, - { - humanName = "Enemy #1", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 1, - - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - --"turretmissile", - "staticradar", - "staticcon", - "staticrearm", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumpaa", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - --"bomberheavy", - "bomberdisarm", - }, - difficultyDependantUnlocks = { - [4] = {"bomberheavy"}, - }, - commander = false, - startUnits = { - { - name = "staticheavyarty", - x = 7440, - z = 3008, - facing = 3, - buildProgress = 0.2, - difficultyAtLeast = 1, - difficultyAtMost = 1, - terraformHeight = 340, - }, - { - name = "staticheavyarty", - x = 7440, - z = 3008, - facing = 3, - buildProgress = 0.4, - difficultyAtLeast = 2, - difficultyAtMost = 2, - terraformHeight = 340, - }, - { - name = "staticheavyarty", - x = 7440, - z = 3008, - facing = 3, - buildProgress = 0.6, - difficultyAtLeast = 3, - difficultyAtMost = 3, - terraformHeight = 340, - }, - { - name = "staticheavyarty", - x = 7440, - z = 3008, - facing = 3, - buildProgress = 0.8, - difficultyAtLeast = 4, - difficultyAtMost = 4, - terraformHeight = 340, - }, - { - name = "staticstorage", - x = 8392, - z = 696, - facing = 1, - }, - { - name = "staticmex", - x = 7704, - z = 328, - facing = 0, - }, - { - name = "turretaalaser", - x = 5928, - z = 568, - facing = 3, - }, - { - name = "turretaalaser", - x = 6152, - z = 1592, - facing = 3, - }, - { - name = "turretriot", - x = 5432, - z = 1400, - facing = 3, - }, - { - name = "staticrearm", - x = 8872, - z = 3112, - facing = 3, - }, - { - name = "staticmex", - x = 8568, - z = 1720, - facing = 0, - }, - { - name = "staticmex", - x = 8504, - z = 1336, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7528, - z = 424, - facing = 3, - }, - { - name = "staticmex", - x = 8696, - z = 888, - facing = 0, - }, - { - name = "turretmissile", - x = 7600, - z = 272, - facing = 3, - }, - { - name = "staticmex", - x = 8392, - z = 3336, - facing = 1, - }, - { - name = "staticmex", - x = 7960, - z = 824, - facing = 0, - }, - { - name = "turretmissile", - x = 7632, - z = 656, - facing = 3, - }, - { - name = "staticmex", - x = 7768, - z = 1192, - facing = 0, - }, - { - name = "turretmissile", - x = 7872, - z = 640, - facing = 3, - }, - { - name = "staticmex", - x = 7992, - z = 3096, - facing = 1, - }, - { - name = "staticmex", - x = 8024, - z = 1624, - facing = 0, - }, - { - name = "turretmissile", - x = 7888, - z = 352, - facing = 3, - }, - { - name = "staticmex", - x = 7224, - z = 1704, - facing = 0, - }, - { - name = "turretlaser", - x = 6848, - z = 3520, - facing = 3, - }, - { - name = "staticmex", - x = 7528, - z = 648, - facing = 0, - }, - { - name = "turretlaser", - x = 6944, - z = 3856, - facing = 3, - }, - { - name = "staticmex", - x = 6616, - z = 440, - facing = 1, - }, - { - name = "factoryjump", - x = 7576, - z = 888, - facing = 3, - }, - { - name = "turretriot", - x = 5304, - z = 504, - facing = 3, - }, - { - name = "athena", - x = 6112, - z = 5535, - facing = 1, - }, - { - name = "turretemp", - x = 6336, - z = 1024, - facing = 3, - }, - { - name = "staticmex", - x = 8360, - z = 2904, - facing = 1, - }, - { - name = "turretlaser", - x = 6336, - z = 1088, - facing = 3, - }, - { - name = "turretemp", - x = 6384, - z = 1328, - facing = 3, - }, - { - name = "turretlaser", - x = 6480, - z = 1360, - facing = 3, - }, - { - name = "staticcon", - x = 7720, - z = 952, - facing = 3, - }, - { - name = "energyheavygeo", - x = 6440, - z = 1080, - facing = 1, - }, - { - name = "turretantiheavy", - x = 6336, - z = 1184, - facing = 3, - }, - { - name = "staticheavyradar", - x = 6448, - z = 1264, - facing = 3, - }, - { - name = "factorycloak", - x = 7696, - z = 1560, - facing = 3, - }, - { - name = "energywind", - x = 8408, - z = 2968, - facing = 3, - }, - { - name = "staticcon", - x = 7864, - z = 1528, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7864, 1528}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7684, 1560}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 8488, - z = 2968, - facing = 3, - }, - { - name = "energywind", - x = 8488, - z = 3048, - facing = 3, - }, - { - name = "energywind", - x = 8408, - z = 3048, - facing = 3, - }, - { - name = "energywind", - x = 8408, - z = 3128, - facing = 3, - }, - { - name = "energywind", - x = 8488, - z = 3128, - facing = 3, - }, - { - name = "energywind", - x = 8488, - z = 3208, - facing = 3, - }, - { - name = "energywind", - x = 8408, - z = 3208, - facing = 3, - }, - { - name = "energywind", - x = 8408, - z = 3288, - facing = 3, - }, - { - name = "energywind", - x = 8488, - z = 3288, - facing = 3, - }, - { - name = "energywind", - x = 8328, - z = 3080, - facing = 3, - }, - { - name = "energywind", - x = 8248, - z = 3080, - facing = 3, - }, - { - name = "energypylon", - x = 7064, - z = 1032, - facing = 3, - }, - { - name = "energywind", - x = 8168, - z = 3080, - facing = 3, - }, - { - name = "energywind", - x = 8088, - z = 3080, - facing = 3, - }, - { - name = "energywind", - x = 8088, - z = 3160, - facing = 3, - }, - { - name = "energywind", - x = 8168, - z = 3160, - facing = 3, - }, - { - name = "energywind", - x = 8248, - z = 3160, - facing = 3, - }, - { - name = "energywind", - x = 8328, - z = 3160, - facing = 3, - }, - { - name = "energypylon", - x = 7912, - z = 728, - facing = 3, - }, - { - name = "energypylon", - x = 8360, - z = 1256, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6328, - z = 2984, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6376, - z = 3720, - facing = 3, - }, - { - name = "energypylon", - x = 8456, - z = 3832, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5336, - z = 920, - facing = 3, - }, - { - name = "energypylon", - x = 7848, - z = 3192, - facing = 3, - }, - { - name = "energypylon", - x = 8168, - z = 2424, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5624, - z = 1800, - facing = 3, - }, - { - name = "staticmex", - x = 6632, - z = 2952, - facing = 0, - }, - { - name = "staticmex", - x = 6776, - z = 2568, - facing = 0, - }, - { - name = "energysingu", - x = 8968, - z = 3560, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 1784, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 8264, - z = 1944, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7528, - z = 2712, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7496, - z = 3224, - facing = 3, - }, - { - name = "turretaafar", - x = 7696, - z = 2864, - facing = 3, - }, - { - name = "turretaaflak", - x = 7288, - z = 3176, - facing = 3, - }, - { - name = "turretaaflak", - x = 7288, - z = 2824, - facing = 3, - }, - { - name = "turretriot", - x = 7240, - z = 2680, - facing = 3, - }, - { - name = "turretriot", - x = 7224, - z = 3320, - facing = 3, - }, - { - name = "turretemp", - x = 7200, - z = 2992, - facing = 3, - }, - { - name = "staticshield", - x = 7584, - z = 2992, - facing = 3, - }, - { - name = "staticcon", - x = 7768, - z = 3032, - facing = 3, - }, - { - name = "staticcon", - x = 7768, - z = 3112, - facing = 3, - }, - { - name = "staticantinuke", - x = 8272, - z = 2648, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8072, - z = 2632, - facing = 2, - }, - { - name = "turretriot", - x = 8440, - z = 2600, - facing = 2, - }, - { - name = "turretaaheavy", - x = 8128, - z = 1392, - facing = 3, - }, - { - name = "turretlaser", - x = 8064, - z = 1312, - facing = 3, - }, - { - name = "turretlaser", - x = 8064, - z = 1472, - facing = 3, - }, - { - name = "staticcon", - x = 8760, - z = 3256, - facing = 3, - }, - { - name = "turretlaser", - x = 8224, - z = 1392, - facing = 3, - }, - { - name = "staticantinuke", - x = 7696, - z = 488, - facing = 1, - }, - { - name = "factoryplane", - x = 8632, - z = 3280, - facing = 3, - }, - { - name = "staticrearm", - x = 8680, - z = 3096, - facing = 3, - }, - { - name = "staticstorage", - x = 8232, - z = 2952, - facing = 3, - }, - { - name = "jumpassault", - x = 4363, - z = 1609, - facing = 3, - }, - { - name = "turretmissile", - x = 5696, - z = 2912, - facing = 3, - }, - { - name = "cloaksnipe", - x = 5948, - z = 2680, - facing = 3, - }, - { - name = "staticradar", - x = 8784, - z = 4960, - facing = 3, - }, - { - name = "bomberheavy", - x = 8641, - z = 3057, - facing = 1, - }, - { - name = "jumpassault", - x = 4436, - z = 1569, - facing = 1, - }, - { - name = "staticradar", - x = 8336, - z = 1696, - facing = 3, - }, - { - name = "energywind", - x = 6024, - z = 2808, - facing = 3, - }, - { - name = "cloakraid", - x = 4104, - z = 4465, - facing = 0, - }, - { - name = "cloakcon", - x = 4700, - z = 6059, - facing = 3, - }, - { - name = "jumpraid", - x = 3912, - z = 5893, - facing = 3, - }, - { - name = "cloakraid", - x = 3742, - z = 4960, - facing = 2, - }, - { - name = "staticradar", - x = 6800, - z = 2672, - facing = 3, - }, - { - name = "cloakaa", - x = 5792, - z = 2824, - facing = 0, - }, - { - name = "cloakassault", - x = 4857, - z = 2958, - facing = 2, - }, - { - name = "cloakcon", - x = 5583, - z = 3484, - facing = 3, - }, - { - name = "staticcon", - x = 8808, - z = 3272, - facing = 3, - }, - { - name = "staticmex", - x = 6024, - z = 1608, - facing = 0, - }, - { - name = "cloakskirm", - x = 5858, - z = 2604, - facing = 2, - }, - { - name = "staticcon", - x = 8776, - z = 3320, - facing = 3, - }, - { - name = "energypylon", - x = 6600, - z = 2728, - facing = 3, - }, - { - name = "bomberheavy", - x = 6233, - z = 2397, - facing = 3, - }, - { - name = "cloakaa", - x = 5774, - z = 3035, - facing = 0, - }, - { - name = "staticmex", - x = 4792, - z = 664, - facing = 0, - }, - { - name = "staticcon", - x = 8776, - z = 3368, - facing = 3, - }, - { - name = "jumpassault", - x = 7394, - z = 854, - facing = 2, - patrolRoute = { - {7397, 914}, - {7456, 720}, - }, - }, - { - name = "staticradar", - x = 4880, - z = 672, - facing = 0, - }, - { - name = "staticcon", - x = 7816, - z = 1688, - facing = 3, - }, - { - name = "staticcon", - x = 8824, - z = 3320, - facing = 3, - }, - { - name = "cloakraid", - x = 4000, - z = 4622, - facing = 0, - }, - { - name = "staticcon", - x = 7928, - z = 1608, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7928, 1608}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7684, 1560}, options = {"shift"}}, - }, - }, - { - name = "jumpassault", - x = 4839, - z = 2925, - facing = 2, - }, - { - name = "cloakraid", - x = 4095, - z = 4487, - facing = 3, - }, - { - name = "turretmissile", - x = 5616, - z = 5856, - facing = 2, - }, - { - name = "bomberheavy", - x = 5671, - z = 2320, - facing = 1, - }, - { - name = "cloakskirm", - x = 6601, - z = 1509, - facing = 1, - }, - { - name = "turretmissile", - x = 5744, - z = 5728, - facing = 2, - }, - { - name = "energypylon", - x = 8600, - z = 5752, - facing = 3, - }, - { - name = "staticradar", - x = 6496, - z = 6400, - facing = 2, - }, - { - name = "energypylon", - x = 6616, - z = 216, - facing = 0, - }, - { - name = "jumpcon", - x = 6607, - z = 2872, - facing = 3, - }, - { - name = "cloakcon", - x = 5556, - z = 3589, - facing = 3, - }, - { - name = "staticcon", - x = 5608, - z = 2856, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5880, 2840}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5608, 2856}, options = {"shift"}}, - }, - }, - { - name = "cloakheavyraid", - x = 7800, - z = 1864, - facing = 0, - }, - { - name = "cloakcon", - x = 5674, - z = 2944, - facing = 3, - }, - { - name = "cloakcon", - x = 5210, - z = 4256, - facing = 2, - }, - { - name = "turretmissile", - x = 7552, - z = 1088, - facing = 3, - }, - { - name = "turretmissile", - x = 5936, - z = 4928, - facing = 3, - }, - { - name = "jumpaa", - x = 7487, - z = 1309, - facing = 0, - }, - { - name = "staticradar", - x = 6784, - z = 608, - facing = 0, - }, - { - name = "staticradar", - x = 8016, - z = 6240, - facing = 3, - }, - { - name = "cloakcon", - x = 5450, - z = 3655, - facing = 2, - }, - { - name = "cloakarty", - x = 5018, - z = 793, - facing = 3, - }, - { - name = "staticcon", - x = 7816, - z = 1544, - facing = 3, - }, - { - name = "jumpassault", - x = 4399, - z = 1600, - facing = 3, - }, - { - name = "striderdante", - x = 4895, - z = 3003, - facing = 2, - }, - { - name = "staticcon", - x = 8856, - z = 3272, - facing = 3, - }, - { - name = "planecon", - x = 5443, - z = 3717, - facing = 2, - }, - { - name = "staticcon", - x = 6024, - z = 4504, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6024, 4504}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5588, 4487}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7816, - z = 1496, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7816, 1496}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7684, 1560}, options = {"shift"}}, - }, - }, - { - name = "jumpcon", - x = 5471, - z = 3659, - facing = 3, - }, - { - name = "cloakriot", - x = 7631, - z = 1434, - facing = 2, - }, - { - name = "energypylon", - x = 6200, - z = 824, - facing = 0, - }, - { - name = "staticradar", - x = 5712, - z = 5552, - facing = 2, - }, - { - name = "jumpraid", - x = 4599, - z = 3976, - facing = 3, - }, - { - name = "cloakcon", - x = 6873, - z = 1725, - facing = 3, - }, - { - name = "staticcon", - x = 7816, - z = 1640, - facing = 3, - }, - { - name = "cloakheavyraid", - x = 5562, - z = 5189, - facing = 3, - patrolRoute = { - {5574, 5139}, - {5550, 5201}, - }, - }, - { - name = "staticcon", - x = 7880, - z = 1592, - facing = 3, - }, - { - name = "cloakcon", - x = 5380, - z = 3583, - facing = 1, - }, - { - name = "staticcon", - x = 7736, - z = 856, - facing = 3, - }, - { - name = "cloakcon", - x = 5718, - z = 2808, - facing = 3, - }, - { - name = "staticcon", - x = 5784, - z = 5800, - facing = 2, - }, - { - name = "staticradar", - x = 6048, - z = 4624, - facing = 3, - }, - { - name = "energysolar", - x = 5768, - z = 5176, - facing = 2, - }, - { - name = "cloakcon", - x = 5432, - z = 6199, - facing = 3, - }, - { - name = "staticcon", - x = 5864, - z = 5608, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5864, 5608}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5784, 5800}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8872, - z = 3320, - facing = 3, - }, - { - name = "cloaksnipe", - x = 6721, - z = 2238, - facing = 3, - }, - { - name = "staticcon", - x = 7832, - z = 1448, - facing = 3, - }, - { - name = "turretmissile", - x = 6240, - z = 4752, - facing = 3, - }, - { - name = "staticcon", - x = 8824, - z = 3368, - facing = 3, - }, - { - name = "turretmissile", - x = 5840, - z = 5888, - facing = 2, - }, - { - name = "staticstorage", - x = 8280, - z = 2920, - facing = 3, - }, - { - name = "cloakheavyraid", - x = 7686, - z = 1560, - facing = 3, - buildProgress = 0.6613, - }, - { - name = "staticcon", - x = 7864, - z = 1640, - facing = 3, - }, - { - name = "cloakcon", - x = 6651, - z = 2828, - facing = 3, - }, - { - name = "staticcon", - x = 7832, - z = 1592, - facing = 3, - }, - { - name = "cloakcon", - x = 6322, - z = 3375, - facing = 3, - }, - { - name = "cloakraid", - x = 7582, - z = 1686, - facing = 0, - }, - { - name = "staticcon", - x = 6248, - z = 4664, - facing = 3, - }, - { - name = "energypylon", - x = 5688, - z = 5784, - facing = 2, - terraformHeight = 91, - }, - { - name = "cloakheavyraid", - x = 5503, - z = 5201, - facing = 3, - patrolRoute = { - {5552, 5199}, - {5488, 5193}, - }, - }, - { - name = "jumpcon", - x = 6785, - z = 2713, - facing = 3, - }, - { - name = "staticcon", - x = 5880, - z = 2840, - facing = 3, - }, - { - name = "cloakaa", - x = 7054, - z = 1905, - facing = 0, - }, - { - name = "jumpassault", - x = 7552, - z = 888, - facing = 3, - buildProgress = 0.27110001, - }, - } - }, - { - humanName = "Chevalier", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 1, - midgameUnits = { - { - name = "striderbantha", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 6*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "striderbantha", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 13*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "striderbantha", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 19*30*60, - orbitalDrop = true, - }, - { - name = "striderbantha", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 19*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "striderarty", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 5*30*60, - orbitalDrop = true, - }, - { - name = "tankheavyassault", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 4*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "tankheavyassault", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 8*30*60, - orbitalDrop = true, - }, - { - name = "tankheavyassault", - x = 8700, - z = 1500, - facing = 2, - spawnRadius = 50, - delay = 12*30*60, - orbitalDrop = true, - }, - }, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - --"turretmissile", - "staticradar", - "staticcon", - "staticrearm", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spideraa", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphaa", - "factorytank", - "tankassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - --"striderhub", - "striderdante", - --"striderarty", - --"striderbantha", - }, - difficultyDependantUnlocks = { - [4] = {"striderhub",} - }, - commander = false, - startUnits = { - { - name = "striderhub", - x = 8432, - z = 5936, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8432, 5936}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8407, 5911}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8440, - z = 5848, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8440, 5848}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8415, 5823}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8440, - z = 6024, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8440, 6024}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8415, 5999}, options = {"shift"}}, - }, - }, - { - name = "striderbantha", - x = 8340, - z = 6024, - facing = 3, - buildProgress = 0.1, - difficultyAtLeast = 1, - difficultyAtMost = 1, - }, - { - name = "striderbantha", - x = 8340, - z = 6024, - facing = 3, - buildProgress = 0.2, - difficultyAtLeast = 2, - difficultyAtMost = 2, - }, - { - name = "striderbantha", - x = 8340, - z = 6024, - facing = 3, - buildProgress = 0.3, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "striderbantha", - x = 8340, - z = 6024, - facing = 3, - buildProgress = 0.4, - difficultyAtLeast = 4, - difficultyAtMost = 4, - }, - { - name = "striderbantha", - x = 8600, - z = 6024, - facing = 3, - }, - { - name = "turretaaheavy", - x = 8600, - z = 6200, - facing = 3, - }, - { - name = "staticstorage", - x = 5600, - z = 6300, - facing = 1, - }, - { - name = "striderhub", - x = 7888, - z = 1200, - facing = 1, - }, - { - name = "staticcon", - x = 7992, - z = 1192, - facing = 1, - }, - { - name = "staticcon", - x = 7064, - z = 3688, - facing = 3, - }, - { - name = "factoryspider", - x = 6936, - z = 3688, - facing = 3, - }, - { - name = "staticstorage", - x = 8088, - z = 3400, - facing = 1, - }, - { - name = "turretheavylaser", - x = 6360, - z = 5320, - facing = 3, - }, - { - name = "turretriot", - x = 6232, - z = 6456, - facing = 3, - }, - { - name = "turretaaflak", - x = 6424, - z = 6792, - facing = 3, - }, - { - name = "staticmex", - x = 8696, - z = 5208, - facing = 0, - }, - { - name = "turretgauss", - x = 7640, - z = 6184, - facing = 3, - }, - { - name = "staticmex", - x = 8776, - z = 4808, - facing = 0, - }, - { - name = "turretgauss", - x = 7640, - z = 6008, - facing = 3, - }, - { - name = "staticmex", - x = 8344, - z = 4664, - facing = 0, - }, - { - name = "turretaaclose", - x = 7784, - z = 5944, - facing = 3, - }, - { - name = "staticmex", - x = 8632, - z = 4344, - facing = 0, - }, - { - name = "turretaaclose", - x = 7768, - z = 6232, - facing = 3, - }, - { - name = "turretlaser", - x = 6528, - z = 6096, - facing = 3, - }, - { - name = "staticmex", - x = 7864, - z = 4808, - facing = 0, - }, - { - name = "turretlaser", - x = 6528, - z = 5856, - facing = 3, - }, - { - name = "staticmex", - x = 7608, - z = 4344, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6344, - z = 4360, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6200, - z = 6584, - facing = 3, - }, - { - name = "staticmex", - x = 7240, - z = 4696, - facing = 0, - }, - { - name = "staticmex", - x = 8760, - z = 5960, - facing = 0, - }, - { - name = "staticmex", - x = 8440, - z = 5656, - facing = 0, - }, - { - name = "energypylon", - x = 6808, - z = 5208, - facing = 3, - }, - { - name = "staticmex", - x = 8232, - z = 6312, - facing = 0, - }, - { - name = "energypylon", - x = 7048, - z = 6008, - facing = 3, - }, - { - name = "staticmex", - x = 8040, - z = 6632, - facing = 0, - }, - { - name = "staticmex", - x = 7592, - z = 6312, - facing = 0, - }, - { - name = "turretantiheavy", - x = 6592, - z = 5968, - facing = 3, - }, - { - name = "energypylon", - x = 8536, - z = 4712, - facing = 1, - }, - { - name = "energyheavygeo", - x = 7608, - z = 5720, - facing = 1, - }, - { - name = "energypylon", - x = 7976, - z = 6216, - facing = 1, - }, - { - name = "energypylon", - x = 8184, - z = 5464, - facing = 1, - }, - { - name = "staticcon", - x = 7704, - z = 5032, - facing = 3, - }, - { - name = "turretheavy", - x = 7432, - z = 4216, - facing = 3, - }, - { - name = "staticheavyradar", - x = 7008, - z = 6240, - facing = 3, - }, - { - name = "staticantinuke", - x = 7760, - z = 6088, - facing = 3, - }, - { - name = "energypylon", - x = 7640, - z = 4696, - facing = 3, - }, - { - name = "factoryamph", - x = 7560, - z = 5000, - facing = 3, - }, - { - name = "staticcon", - x = 7288, - z = 5896, - facing = 3, - }, - { - name = "staticantinuke", - x = 8384, - z = 4152, - facing = 1, - }, - { - name = "turretriot", - x = 8200, - z = 4136, - facing = 3, - }, - { - name = "turretlaser", - x = 8448, - z = 4304, - facing = 3, - }, - { - name = "turretaalaser", - x = 8472, - z = 4008, - facing = 3, - }, - { - name = "factorytank", - x = 7120, - z = 5872, - facing = 3, - }, - { - name = "turretriot", - x = 6168, - z = 6728, - facing = 3, - }, - { - name = "spidercon", - x = 5696, - z = 3658, - facing = 3, - }, - { - name = "amphcon", - x = 6701, - z = 4528, - facing = 3, - }, - { - name = "tankriot", - x = 5388, - z = 3929, - facing = 3, - }, - { - name = "tankassault", - x = 5391, - z = 4058, - facing = 1, - }, - { - name = "tankassault", - x = 5727, - z = 5408, - facing = 2, - patrolRoute = { - {5706, 5413}, - {5761, 5446}, - }, - }, - { - name = "amphcon", - x = 5979, - z = 4969, - facing = 0, - }, - { - name = "spidercon", - x = 6613, - z = 3644, - facing = 3, - }, - { - name = "tankassault", - x = 6328, - z = 2821, - facing = 0, - }, - { - name = "amphcon", - x = 5695, - z = 4617, - facing = 2, - }, - { - name = "energypylon", - x = 5352, - z = 1128, - facing = 0, - }, - { - name = "spiderscout", - x = 4307, - z = 4195, - facing = 0, - }, - { - name = "tankassault", - x = 6840, - z = 5779, - facing = 3, - }, - { - name = "striderarty", - x = 6437, - z = 2211, - facing = 3, - }, - { - name = "staticcon", - x = 7240, - z = 5848, - facing = 3, - }, - { - name = "energysolar", - x = 5544, - z = 2280, - facing = 0, - }, - { - name = "staticcon", - x = 7240, - z = 5944, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7240, 5944}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7092, 5872}, options = {"shift"}}, - }, - }, - { - name = "tankassault", - x = 6773, - z = 2627, - facing = 3, - }, - { - name = "tankassault", - x = 3919, - z = 5072, - facing = 1, - }, - { - name = "energywind", - x = 4712, - z = 1128, - facing = 0, - }, - { - name = "spidercon", - x = 4489, - z = 4719, - facing = 3, - }, - { - name = "staticradar", - x = 6080, - z = 4848, - facing = 3, - }, - { - name = "spiderassault", - x = 5646, - z = 4154, - facing = 1, - }, - { - name = "staticcon", - x = 4712, - z = 1352, - facing = 0, - }, - { - name = "staticmex", - x = 5736, - z = 5784, - facing = 0, - terraformHeight = 91, - }, - { - name = "amphaa", - x = 3930, - z = 5747, - facing = 2, - }, - { - name = "staticcon", - x = 7240, - z = 5800, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7240, 5800}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7092, 5872}, options = {"shift"}}, - }, - }, - { - name = "amphraid", - x = 4345, - z = 4151, - facing = 3, - }, - { - name = "energypylon", - x = 4744, - z = 664, - facing = 0, - }, - { - name = "staticmex", - x = 6040, - z = 4728, - facing = 0, - }, - { - name = "staticstorage", - x = 7912, - z = 4856, - facing = 3, - }, - { - name = "spiderskirm", - x = 5887, - z = 4253, - facing = 1, - }, - { - name = "energysolar", - x = 7304, - z = 3000, - facing = 3, - }, - { - name = "spidercon", - x = 5371, - z = 4322, - facing = 0, - }, - { - name = "spiderscout", - x = 4929, - z = 3632, - facing = 3, - }, - { - name = "energysolar", - x = 6296, - z = 5464, - facing = 2, - }, - { - name = "energysolar", - x = 7192, - z = 2872, - facing = 3, - }, - { - name = "energywind", - x = 7064, - z = 2840, - facing = 3, - }, - { - name = "energysolar", - x = 5816, - z = 2120, - facing = 0, - }, - { - name = "energywind", - x = 6168, - z = 5528, - facing = 2, - }, - { - name = "staticradar", - x = 7792, - z = 1248, - facing = 3, - }, - { - name = "tankassault", - x = 5664, - z = 5424, - facing = 1, - patrolRoute = { - {5645, 5432}, - {5706, 5413}, - }, - }, - { - name = "amphraid", - x = 4417, - z = 4433, - facing = 1, - }, - { - name = "staticmex", - x = 6392, - z = 6584, - facing = 0, - }, - { - name = "staticstorage", - x = 7848, - z = 4856, - facing = 3, - }, - { - name = "energysolar", - x = 5880, - z = 2776, - facing = 3, - }, - { - name = "energypylon", - x = 7192, - z = 1480, - facing = 3, - }, - { - name = "spideraa", - x = 5597, - z = 3125, - facing = 3, - }, - { - name = "staticcon", - x = 6200, - z = 4760, - facing = 3, - }, - { - name = "energysolar", - x = 6152, - z = 2840, - facing = 3, - }, - { - name = "tankaa", - x = 5430, - z = 4099, - facing = 1, - }, - { - name = "energypylon", - x = 6344, - z = 6584, - facing = 2, - }, - { - name = "spiderscout", - x = 4618, - z = 3852, - facing = 3, - }, - { - name = "amphcon", - x = 5285, - z = 4604, - facing = 3, - }, - { - name = "spidercrabe", - x = 5346, - z = 3964, - facing = 2, - }, - { - name = "energypylon", - x = 5976, - z = 1608, - facing = 0, - }, - { - name = "staticcon", - x = 7240, - z = 5896, - facing = 3, - }, - { - name = "tankheavyassault", - x = 3622, - z = 5303, - facing = 1, - }, - { - name = "energywind", - x = 6024, - z = 6184, - facing = 2, - }, - { - name = "staticmex", - x = 4728, - z = 1256, - facing = 0, - }, - { - name = "staticcon", - x = 7288, - z = 5848, - facing = 3, - }, - { - name = "energysolar", - x = 5592, - z = 2152, - facing = 0, - }, - { - name = "tankassault", - x = 4054, - z = 5265, - facing = 2, - }, - { - name = "spiderscout", - x = 4427, - z = 3933, - facing = 3, - }, - { - name = "staticradar", - x = 4992, - z = 1072, - facing = 0, - }, - { - name = "spidercrabe", - x = 3672, - z = 5537, - facing = 3, - }, - { - name = "amphraid", - x = 4387, - z = 3992, - facing = 3, - }, - { - name = "turretmissile", - x = 5056, - z = 1232, - facing = 0, - }, - { - name = "tankassault", - x = 3831, - z = 5390, - facing = 1, - }, - { - name = "amphcon", - x = 7234, - z = 4810, - facing = 3, - }, - { - name = "staticcon", - x = 4824, - z = 1080, - facing = 0, - }, - { - name = "amphraid", - x = 4334, - z = 4097, - facing = 0, - }, - { - name = "energysolar", - x = 6632, - z = 1576, - facing = 3, - }, - { - name = "energywind", - x = 6504, - z = 1576, - facing = 0, - }, - { - name = "spidercon", - x = 5453, - z = 3459, - facing = 3, - }, - { - name = "turretmissile", - x = 4768, - z = 1296, - facing = 0, - }, - { - name = "tankassault", - x = 5776, - z = 5373, - facing = 0, - patrolRoute = { - {5743, 5361}, - {5704, 5414}, - }, - }, - { - name = "amphraid", - x = 4329, - z = 4232, - facing = 3, - }, - { - name = "tankassault", - x = 5759, - z = 5457, - facing = 3, - patrolRoute = { - {5755, 5454}, - {5706, 5413}, - }, - }, - { - name = "amphcon", - x = 6262, - z = 4154, - facing = 3, - }, - { - name = "tankassault", - x = 5847, - z = 5547, - facing = 3, - }, - { - name = "spiderscout", - x = 4352, - z = 4109, - facing = 3, - }, - { - name = "amphcon", - x = 7524, - z = 5000, - facing = 3, - buildProgress = 0.56290001, - }, - { - name = "spidercon", - x = 6900, - z = 3688, - facing = 3, - buildProgress = 0.3599, - }, - { - name = "tankassault", - x = 7092, - z = 5872, - facing = 3, - buildProgress = 0.2211, - }, - } - }, - { - startX = 8580, - startZ = 5800, - humanName = "Enemy #3", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - commanderLevel = 6, - commander = { - name = "Blinder", - chassis = "strike", - modules = { - "commweapon_heavymachinegun", - "commweapon_multistunner", - "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", - }, - }, - startUnits = { - } - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {1572, 273, 3906, 1876, 169, 3700}, - width = 250, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "striderhub", - "staticheavyarty", - "striderbantha" - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Paladins, Big Berthas and Strider Hubs", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 6, - unitTypes = { - "striderscorpion", - }, - image = planetUtilities.ICON_DIR .. "striderscorpion.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 6 Scorpions", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 25*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 25:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - enemyUnitTypes = { - "staticantinuke", - }, - image = planetUtilities.ICON_DIR .. "staticantinuke.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Find and destroy all four enemy Antinukes", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "striderscorpion", - }, - modules = { - "commweapon_multistunner", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet63.lua b/campaign/dev/planets/planet63.lua deleted file mode 100644 index 22b6ac409..000000000 --- a/campaign/dev/planets/planet63.lua +++ /dev/null @@ -1,3150 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/ocean03.png" - - local planetData = { - name = "Sapphire", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.74, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.32, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Crystalline", - radius = "6700 km", - primary = "Malnoa", - primaryType = "B5II", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24614", - text = [[Your Tech Lab is attempting to discover how the hostiles on this planet have subjugated a hive of Chickens. Protect the Tech Lab until its research is complete.]] - }, - tips = { - { - image = "unitpics/turretheavy.png", - text = [[The Desolator turret is the final word in general-purpose defensive emplacements. It has a massive cannon, a heat ray sidearm, and the ability to armor up against artillery fire. Its only weakness is that it must be connected to a large energy grid.]] - }, - { - image = "unitpics/turretantiheavy.png", - text = [[Lucifer tachyon projectors fire an incredibly powerful beam at a single target. It requires an energy grid connection and the refire rate is low, so this turret is not so effective against groups of smaller targets.]] - }, - { - image = "unitpics/turretaaheavy.png", - text = [[The Artemis fires incredibly powerful anti-air missiles at long range. Each missile takes 20 seconds to produce, but they can be fired in quick succession.]] - }, - { - image = "unitpics/energysingu.png", - text = [[Of all energy producers the Singularity Reactor is the most powerful. Make sure to protect them against enemy attack; if a Singularity Reactor is destroyed the explosion is liable to destroy most of your base.]] - }, - }, - gameConfig = { - mapName = "SapphireShores_Dry_V2.1", - modoptions = { - graceperiod = 4, - chicken_nominiqueen = 1, - chicken_minaggro = 5, -- aggro influences chicken tech-up rate (and queen time reduction from killing burrows, but queens are disabled here) - chicken_maxaggro = 5, - chicken_endless = 1, - chicken_hidepanel = 1, - chicken_nowavemessages = 1, - campaign_chicken_types_special = {}, - }, - modoptionDifficulties = { - [1] = { - chickenspawnrate = 70, - burrowspawnrate = 300, - campaign_chicken_types_offense = { - chicken = {time = -60, squadSize = 3, obsolete = 12}, - chicken_pigeon = {time = 3, squadSize = 1.4, obsolete = 15}, - chickens = {time = 6, squadSize = 1, obsolete = 18}, - chickena = {time = 9, squadSize = 0.5, obsolete = 21}, - chickenr = {time = 12, squadSize = 1.2, obsolete = 24}, - chicken_leaper = {time = 12, squadSize = 1.0, obsolete = 27}, - chicken_roc = {time = 15, squadSize = 0.4}, - chicken_sporeshooter= {time = 15, squadSize = 0.5}, - chickenf = {time = 18, squadSize = 0.5}, - chickenc = {time = 18, squadSize = 0.5}, - chickenblobber = {time = 21, squadSize = 0.3}, - chicken_blimpy = {time = 24, squadSize = 0.2}, - chicken_tiamat = {time = 24, squadSize = 0.2}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 18, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 18, squadSize = 0.6}, - }, - }, - [2] = { - chickenspawnrate = 60, - burrowspawnrate = 280, - campaign_chicken_types_offense = { - chicken = {time = -60, squadSize = 3*1.1, obsolete = 12}, - chicken_pigeon = {time = 3, squadSize = 1.4*1.1, obsolete = 15}, - chickens = {time = 6, squadSize = 1*1.1, obsolete = 18}, - chickena = {time = 9, squadSize = 0.5*1.1, obsolete = 21}, - chickenr = {time = 12, squadSize = 1.2*1.1, obsolete = 24}, - chicken_leaper = {time = 12, squadSize = 1.0*1.1, obsolete = 27}, - chicken_roc = {time = 15, squadSize = 0.4*1.1}, - chicken_sporeshooter= {time = 15, squadSize = 0.5*1.1}, - chickenf = {time = 18, squadSize = 0.5*1.1}, - chickenc = {time = 18, squadSize = 0.5*1.1}, - chickenblobber = {time = 21, squadSize = 0.3*1.1}, - chicken_blimpy = {time = 24, squadSize = 0.2*1.1}, - chicken_tiamat = {time = 24, squadSize = 0.2*1.1}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 16, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 16, squadSize = 0.6}, - }, - }, - [3] = { - chickenspawnrate = 55, - burrowspawnrate = 260, - campaign_chicken_types_offense = { - chicken = {time = -60, squadSize = 3*1.25, obsolete = 12}, - chicken_pigeon = {time = 3, squadSize = 1.4*1.25, obsolete = 15}, - chickens = {time = 6, squadSize = 1*1.25, obsolete = 18}, - chickena = {time = 9, squadSize = 0.5*1.25, obsolete = 21}, - chickenr = {time = 12, squadSize = 1.2*1.25, obsolete = 24}, - chicken_leaper = {time = 12, squadSize = 1.0*1.25, obsolete = 27}, - chicken_roc = {time = 15, squadSize = 0.4*1.25}, - chicken_sporeshooter= {time = 15, squadSize = 0.5*1.25}, - chickenf = {time = 18, squadSize = 0.5*1.25}, - chickenc = {time = 18, squadSize = 0.5*1.25}, - chickenblobber = {time = 21, squadSize = 0.3*1.25}, - chicken_blimpy = {time = 24, squadSize = 0.2*1.25}, - chicken_tiamat = {time = 24, squadSize = 0.2*1.25}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 14, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 14, squadSize = 0.6}, - }, - }, - [4] = { - chickenspawnrate = 45, - burrowspawnrate = 240, - campaign_chicken_types_offense = { - chicken = {time = -60, squadSize = 3*1.4, obsolete = 12}, - chicken_pigeon = {time = 3, squadSize = 1.4*1.4, obsolete = 15}, - chickens = {time = 6, squadSize = 1*1.4, obsolete = 18}, - chickena = {time = 9, squadSize = 0.5*1.4, obsolete = 21}, - chickenr = {time = 12, squadSize = 1.2*1.4, obsolete = 24}, - chicken_leaper = {time = 12, squadSize = 1.0*1.4, obsolete = 27}, - chicken_roc = {time = 15, squadSize = 0.4*1.4}, - chicken_sporeshooter= {time = 15, squadSize = 0.5*1.4}, - chickenf = {time = 18, squadSize = 0.5*1.4}, - chickenc = {time = 18, squadSize = 0.5*1.4}, - chickenblobber = {time = 21, squadSize = 0.3*1.4}, - chicken_blimpy = {time = 24, squadSize = 0.2*1.4}, - chicken_tiamat = {time = 24, squadSize = 0.2*1.4}, - }, - campaign_chicken_types_defense = { - chickend = {time = 4, squadSize = 0.6, cost = 1 }, - chicken_rafflesia = {time = 8, squadSize = 0.4, cost = 2 }, - }, - campaign_chicken_types_support = { - chicken_shield = {time = 12, squadSize = 0.4}, - chicken_dodo = {time = 4, squadSize = 2}, - chicken_spidermonkey = {time = 12, squadSize = 0.6}, - }, - }, - }, - playerConfig = { - startX = 8200, - startZ = 2100, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "turretheavy", - "turretantiheavy", - "energysingu", - "turretaaheavy", - }, - startUnits = { - { - name = "staticantinuke", - x = 8200, - z = 2300, - facing = 1, - }, - { - name = "staticmex", - x = 8552, - z = 1048, - facing = 0, - }, - { - name = "energywind", - x = 9176, - z = 1208, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 3176, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 3176, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 3096, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 3096, - facing = 3, - }, - { - name = "staticmex", - x = 8568, - z = 3288, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 1128, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 3016, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 3016, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2936, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2936, - facing = 3, - }, - { - name = "staticmex", - x = 8568, - z = 2152, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 1128, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 1128, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2856, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2856, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 1896, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2776, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2776, - facing = 3, - }, - { - name = "pw_techlab", - x = 8656, - z = 3032, - facing = 0, - defeatIfDestroyedObjectiveID = 1, - }, - { - name = "energywind", - x = 9176, - z = 1896, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 968, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 1048, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2696, - facing = 3, - }, - { - name = "staticmex", - x = 8408, - z = 3656, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2696, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2616, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2616, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 1288, - facing = 3, - }, - { - name = "staticmex", - x = 8376, - z = 2936, - facing = 3, - }, - { - name = "energywind", - x = 8840, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 8760, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 1208, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8680, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2536, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8600, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2536, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8936, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8520, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2456, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2456, - facing = 3, - }, - { - name = "energywind", - x = 8440, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 8856, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 1048, - facing = 3, - }, - { - name = "energywind", - x = 8360, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 8776, - z = 56, - facing = 3, - }, - { - name = "staticmex", - x = 8456, - z = 2552, - facing = 3, - }, - { - name = "energywind", - x = 8696, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2376, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 3912, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2376, - facing = 3, - }, - { - name = "energywind", - x = 8280, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 8616, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8360, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2296, - facing = 3, - }, - { - name = "energywind", - x = 8440, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 8536, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2296, - facing = 3, - }, - { - name = "energywind", - x = 8520, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 968, - facing = 3, - }, - { - name = "energywind", - x = 8456, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8600, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 1048, - facing = 3, - }, - { - name = "energywind", - x = 8376, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8680, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2216, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2216, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 56, - facing = 3, - }, - { - name = "energywind", - x = 8760, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2136, - facing = 3, - }, - { - name = "energywind", - x = 8376, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8840, - z = 3992, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2136, - facing = 3, - }, - { - name = "energywind", - x = 8456, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8840, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 968, - facing = 3, - }, - { - name = "energywind", - x = 8536, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8760, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 8680, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 1208, - facing = 3, - }, - { - name = "energywind", - x = 8616, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8600, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 2056, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 2056, - facing = 3, - }, - { - name = "energywind", - x = 8696, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8520, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 1976, - facing = 3, - }, - { - name = "energywind", - x = 8776, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8440, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 1976, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 1288, - facing = 3, - }, - { - name = "energywind", - x = 8856, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8360, - z = 4072, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 1288, - facing = 3, - }, - { - name = "energywind", - x = 8936, - z = 136, - facing = 3, - }, - { - name = "energywind", - x = 8936, - z = 1288, - facing = 3, - }, - { - name = "energywind", - x = 8856, - z = 1288, - facing = 3, - }, - { - name = "energywind", - x = 8856, - z = 1368, - facing = 3, - }, - { - name = "energywind", - x = 8936, - z = 1368, - facing = 3, - }, - { - name = "energysingu", - x = 8712, - z = 3592, - facing = 3, - }, - { - name = "energywind", - x = 9016, - z = 1368, - facing = 3, - }, - { - name = "energywind", - x = 9096, - z = 1368, - facing = 3, - }, - { - name = "energypylon", - x = 8296, - z = 3432, - facing = 3, - }, - { - name = "energywind", - x = 9176, - z = 1368, - facing = 3, - }, - { - name = "energysingu", - x = 8776, - z = 1832, - facing = 3, - }, - { - name = "energypylon", - x = 8552, - z = 2632, - facing = 3, - }, - { - name = "staticmex", - x = 8520, - z = 1832, - facing = 3, - }, - { - name = "energypylon", - x = 8408, - z = 1672, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 216, - facing = 3, - }, - { - name = "energywind", - x = 8376, - z = 216, - facing = 3, - }, - { - name = "turretheavy", - x = 8072, - z = 2440, - facing = 3, - }, - { - name = "energywind", - x = 8456, - z = 216, - facing = 3, - }, - { - name = "energywind", - x = 8456, - z = 296, - facing = 3, - }, - { - name = "energywind", - x = 8376, - z = 296, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 296, - facing = 3, - }, - { - name = "energywind", - x = 8296, - z = 376, - facing = 3, - }, - { - name = "energywind", - x = 8376, - z = 376, - facing = 3, - }, - { - name = "energywind", - x = 8456, - z = 376, - facing = 3, - }, - { - name = "turretantiheavy", - x = 7984, - z = 1344, - facing = 3, - terraformHeight = 629, - }, - { - name = "turretantiheavy", - x = 7920, - z = 3104, - facing = 3, - terraformHeight = 626, - }, - { - name = "turretheavy", - x = 7912, - z = 3656, - facing = 3, - }, - { - name = "energypylon", - x = 8168, - z = 808, - facing = 3, - }, - { - name = "turretheavy", - x = 7912, - z = 408, - facing = 3, - }, - { - name = "turretaaheavy", - x = 8096, - z = 2832, - facing = 3, - }, - { - name = "staticmex", - x = 8408, - z = 696, - facing = 0, - }, - { - name = "tankcon", - x = 8092, - z = 1960, - facing = 0, - }, - { - name = "tankcon", - x = 8098, - z = 2051, - facing = 0, - }, - { - name = "spidercon", - x = 8084, - z = 1879, - facing = 0, - }, - { - name = "spidercon", - x = 8085, - z = 2127, - facing = 0, - }, - { - name = "staticcon", - x = 8216, - z = 1752, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8216, 1752}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8191, 1777}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8296, - z = 1752, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8296, 1752}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8271, 1777}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8376, - z = 1752, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8376, 1752}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8351, 1777}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8376, - z = 1832, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8376, 1832}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8351, 1857}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8296, - z = 1832, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8296, 1832}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8271, 1857}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8216, - z = 1832, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8216, 1832}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8191, 1857}, options = {"shift"}}, - }, - }, - { - name = "staticheavyradar", - x = 8016, - z = 2560, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 660, - startZ = 1070, - aiLib = "Circuit_difficulty_autofill", - humanName = "Directorate", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "striderhub", - "striderdante", - "striderarty", - "striderfunnelweb", - "striderscorpion", - "striderantiheavy", - "striderbantha", - }, - difficultyDependantUnlocks = { - [3] = {"staticnuke"}, - [4] = {"staticnuke","staticheavyarty"}, - }, - commanderLevel = 6, - commander = { - name = "Dekki", - chassis = "recon", - decorations = { - "skin_recon_dark", - }, - modules = { - "commweapon_lightninggun", - "commweapon_concussion", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - } - }, - midgameUnits = { - { - name = "nebula", - x = 1600, - z = 900, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - }, - { - name = "nebula", - x = 1600, - z = 900, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "nebula", - x = 1600, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "nebula", - x = 1600, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - }, - { - name = "nebula", - x = 1600, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 15*30*60, - orbitalDrop = true, - }, - { - name = "chicken_dragon", - x = 1600, - z = 900, - facing = 0, - spawnRadius = 50, - delay = 19*30*60, - orbitalDrop = true, - }, - { - name = "chicken_dragon", - x = 1600, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 19*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "striderbantha", - x = 1600, - z = 900, - facing = 0, - spawnRadius = 50, - delay = 22*30*60, - orbitalDrop = true, - }, - { - name = "striderbantha", - x = 1600, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 22*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "chickenflyerqueen", - x = 2500, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 28*30*60, - orbitalDrop = true, - difficultyAtLeast = 1, - difficultyAtLeast = 1, - }, - { - name = "striderdetriment", - x = 2700, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 28*30*60, - orbitalDrop = true, - difficultyAtLeast = 1, - difficultyAtLeast = 1, - }, - { - name = "chickenflyerqueen", - x = 2500, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 27.5*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - difficultyAtLeast = 2, - }, - { - name = "striderdetriment", - x = 2700, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 27.5*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - difficultyAtLeast = 2, - }, - { - name = "chickenflyerqueen", - x = 2500, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 26.75*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - difficultyAtLeast = 3, - }, - { - name = "striderdetriment", - x = 2700, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 26.75*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - difficultyAtLeast = 3, - }, - { - name = "chickenflyerqueen", - x = 2500, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 26*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - difficultyAtLeast = 4, - }, - { - name = "striderdetriment", - x = 2700, - z = 2200, - facing = 0, - spawnRadius = 50, - delay = 26*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - difficultyAtLeast = 4, - }, - }, - startUnits = { - { - name = "gunshipcon", - x = 1781, - z = 2749, - facing = 0, - }, - { - name = "staticantinuke", - x = 496, - z = 1576, - facing = 1, - }, - { - name = "gunshipcon", - x = 1023, - z = 2797, - facing = 2, - }, - { - name = "staticantinuke", - x = 768, - z = 696, - facing = 1, - }, - { - name = "energysingu", - x = 504, - z = 200, - facing = 3, - }, - { - name = "staticshield", - x = 352, - z = 208, - facing = 1, - }, - { - name = "staticshield", - x = 384, - z = 352, - facing = 1, - }, - { - name = "factorytank", - x = 848, - z = 2448, - facing = 1, - }, - { - name = "staticcon", - x = 728, - z = 2424, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {728, 2424}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {753, 2399}, options = {"shift"}}, - }, - }, - { - name = "factoryamph", - x = 1848, - z = 2728, - facing = 1, - }, - { - name = "gunshipcon", - x = 361, - z = 3805, - facing = 0, - }, - { - name = "staticcon", - x = 1720, - z = 2680, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1720, 2680}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1745, 2655}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 792, - z = 2328, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {792, 2328}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {817, 2303}, options = {"shift"}}, - }, - }, - { - name = "factorycloak", - x = 1776, - z = 504, - facing = 1, - }, - { - name = "gunshipcon", - x = 1658, - z = 527, - facing = 3, - }, - { - name = "staticshield", - x = 320, - z = 3808, - facing = 1, - }, - { - name = "staticcon", - x = 1640, - z = 536, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1640, 536}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1665, 561}, options = {"shift"}}, - }, - }, - { - name = "staticshield", - x = 1088, - z = 336, - facing = 3, - }, - { - name = "staticshield", - x = 368, - z = 3936, - facing = 1, - }, - { - name = "staticshield", - x = 1040, - z = 704, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 424, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 424, - facing = 3, - }, - { - name = "staticshield", - x = 1056, - z = 1040, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 424, - facing = 3, - }, - { - name = "staticshield", - x = 1088, - z = 1536, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 424, - facing = 3, - }, - { - name = "staticshield", - x = 1008, - z = 1984, - facing = 3, - }, - { - name = "staticshield", - x = 1024, - z = 2352, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 504, - facing = 3, - }, - { - name = "staticshield", - x = 1120, - z = 2800, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 504, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 504, - facing = 3, - }, - { - name = "staticshield", - x = 1184, - z = 3216, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 504, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 584, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 584, - facing = 3, - }, - { - name = "staticshield", - x = 1168, - z = 3744, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 584, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 584, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 664, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 664, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 664, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 664, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 744, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 744, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 744, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 744, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 824, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 824, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 824, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 824, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 904, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 904, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 904, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 904, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 984, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 984, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 984, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 984, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1064, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1064, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1064, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1064, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1144, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1144, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1144, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1144, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1224, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1224, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1224, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1224, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1304, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1304, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1304, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1304, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1384, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1384, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1384, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1384, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1464, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1464, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1464, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1464, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1544, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1544, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1544, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1544, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1624, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1624, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1624, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1624, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1704, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1704, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1704, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1704, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1784, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1784, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1784, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1784, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1944, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 1944, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 1944, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 1944, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2024, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2024, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2024, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 2024, - facing = 3, - }, - { - name = "staticarty", - x = 1336, - z = 1448, - facing = 1, - terraformHeight = 594, - }, - { - name = "staticarty", - x = 1336, - z = 1608, - facing = 1, - terraformHeight = 608, - }, - { - name = "energywind", - x = 264, - z = 2104, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2104, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2104, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2104, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2184, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2184, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2184, - facing = 3, - }, - { - name = "staticarty", - x = 1320, - z = 1752, - facing = 1, - terraformHeight = 610, - }, - { - name = "energywind", - x = 264, - z = 2184, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 2264, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2264, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2264, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2264, - facing = 3, - }, - { - name = "energypylon", - x = 824, - z = 1576, - facing = 1, - }, - { - name = "energywind", - x = 24, - z = 2344, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2344, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2344, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 2344, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 2424, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2424, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2424, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2424, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2504, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2504, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2504, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 2504, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 2584, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2584, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2584, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2584, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2664, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2664, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2664, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 2664, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 1384, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 2744, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 1464, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 2744, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2744, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2744, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 1544, - facing = 1, - }, - { - name = "energywind", - x = 24, - z = 2824, - facing = 3, - }, - { - name = "staticarty", - x = 1448, - z = 3064, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 2824, - facing = 3, - }, - { - name = "staticarty", - x = 1416, - z = 3480, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 2824, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 1624, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 2824, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 1704, - facing = 1, - }, - { - name = "turretantiheavy", - x = 1392, - z = 3264, - facing = 1, - terraformHeight = 599, - }, - { - name = "energywind", - x = 344, - z = 1784, - facing = 1, - }, - { - name = "turretheavy", - x = 1416, - z = 2968, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 2904, - facing = 3, - }, - { - name = "energypylon", - x = 600, - z = 984, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 2904, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2904, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 2904, - facing = 3, - }, - { - name = "turretheavy", - x = 1432, - z = 3608, - facing = 1, - }, - { - name = "energypylon", - x = 936, - z = 440, - facing = 1, - }, - { - name = "energywind", - x = 24, - z = 2984, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 2984, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 2984, - facing = 3, - }, - { - name = "turretheavy", - x = 1224, - z = 2296, - facing = 1, - }, - { - name = "energypylon", - x = 1112, - z = 3592, - facing = 1, - }, - { - name = "energypylon", - x = 600, - z = 2344, - facing = 1, - }, - { - name = "energypylon", - x = 1000, - z = 2840, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 2984, - facing = 3, - }, - { - name = "turretheavy", - x = 1224, - z = 2040, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 3064, - facing = 3, - }, - { - name = "energypylon", - x = 520, - z = 3192, - facing = 1, - }, - { - name = "turretantiheavy", - x = 1264, - z = 1920, - facing = 1, - }, - { - name = "turretantiheavy", - x = 1264, - z = 2432, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 3064, - facing = 3, - }, - { - name = "energypylon", - x = 952, - z = 2184, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 3064, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 3064, - facing = 3, - }, - { - name = "turretemp", - x = 1568, - z = 2432, - facing = 1, - }, - { - name = "turretemp", - x = 1584, - z = 2368, - facing = 1, - }, - { - name = "energywind", - x = 24, - z = 3144, - facing = 3, - }, - { - name = "turretemp", - x = 1600, - z = 2304, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 3144, - facing = 3, - }, - { - name = "turretemp", - x = 1568, - z = 1904, - facing = 1, - }, - { - name = "turretemp", - x = 1600, - z = 1968, - facing = 1, - }, - { - name = "turretemp", - x = 1616, - z = 2048, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 3144, - facing = 3, - }, - { - name = "energypylon", - x = 984, - z = 1016, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 3144, - facing = 3, - }, - { - name = "staticshield", - x = 1056, - z = 960, - facing = 1, - }, - { - name = "staticshield", - x = 1056, - z = 1104, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 3224, - facing = 3, - }, - { - name = "staticshield", - x = 1040, - z = 2192, - facing = 1, - }, - { - name = "staticshield", - x = 1136, - z = 1600, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 3224, - facing = 3, - }, - { - name = "turretheavy", - x = 1304, - z = 1240, - facing = 1, - }, - { - name = "turretheavy", - x = 1256, - z = 1160, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 3224, - facing = 3, - }, - { - name = "turretheavy", - x = 1272, - z = 712, - facing = 1, - }, - { - name = "energywind", - x = 24, - z = 3224, - facing = 3, - }, - { - name = "turretheavy", - x = 1224, - z = 792, - facing = 1, - }, - { - name = "turretantiheavy", - x = 1168, - z = 976, - facing = 1, - }, - { - name = "energywind", - x = 24, - z = 3304, - facing = 3, - }, - { - name = "turretantiheavy", - x = 1376, - z = 288, - facing = 1, - }, - { - name = "turretheavy", - x = 1464, - z = 3928, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 3304, - facing = 3, - }, - { - name = "turretheavy", - x = 1384, - z = 376, - facing = 1, - }, - { - name = "turretaaheavy", - x = 1088, - z = 560, - facing = 1, - }, - { - name = "turretaaheavy", - x = 1072, - z = 3440, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 3304, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 3304, - facing = 3, - }, - { - name = "turretaaheavy", - x = 800, - z = 2128, - facing = 1, - }, - { - name = "turretaafar", - x = 1200, - z = 3040, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 3384, - facing = 3, - }, - { - name = "turretaafar", - x = 992, - z = 2688, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 3384, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 3384, - facing = 3, - }, - { - name = "turretaafar", - x = 976, - z = 1360, - facing = 1, - }, - { - name = "energywind", - x = 24, - z = 3384, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 3464, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 3464, - facing = 3, - }, - { - name = "factoryshield", - x = 760, - z = 1104, - facing = 1, - }, - { - name = "energywind", - x = 184, - z = 3464, - facing = 3, - }, - { - name = "staticcon", - x = 632, - z = 1096, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {632, 1096}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {657, 1121}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 768, - z = 1744, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {768, 1744}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {793, 1769}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 632, - z = 1176, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {632, 1176}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {657, 1201}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 776, - z = 1832, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {776, 1832}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {801, 1857}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 680, - z = 1832, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {680, 1832}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {705, 1857}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 264, - z = 3464, - facing = 3, - }, - { - name = "staticcon", - x = 680, - z = 1752, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {680, 1752}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {705, 1777}, options = {"shift"}}, - }, - }, - { - name = "energywind", - x = 264, - z = 3544, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 3544, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 3544, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 3544, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 3624, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 3624, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 3624, - facing = 3, - }, - { - name = "staticrearm", - x = 968, - z = 3320, - facing = 1, - }, - { - name = "energywind", - x = 264, - z = 3624, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 3704, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 3704, - facing = 3, - }, - { - name = "factoryplane", - x = 664, - z = 3344, - facing = 1, - }, - { - name = "energywind", - x = 104, - z = 3704, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 3704, - facing = 3, - }, - { - name = "staticcon", - x = 536, - z = 3320, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {536, 3320}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {561, 3295}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 552, - z = 3416, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {552, 3416}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {577, 3391}, options = {"shift"}}, - }, - }, - { - name = "energysingu", - x = 440, - z = 3832, - facing = 3, - }, - { - name = "staticrearm", - x = 840, - z = 3160, - facing = 1, - }, - { - name = "staticantinuke", - x = 640, - z = 2936, - facing = 1, - }, - { - name = "staticantinuke", - x = 464, - z = 2360, - facing = 1, - }, - } - }, - { - humanName = "Chickens", - aiLib = "Chicken: Custom", - bitDependant = false, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 1, - unlocks = { - }, - commander = false, - startUnits = { - { - name = "roost", - x = 952, - z = 840, - facing = 0, - }, - { - name = "roost", - x = 2056, - z = 760, - facing = 0, - }, - { - name = "roost", - x = 968, - z = 2072, - facing = 0, - }, - { - name = "roost", - x = 2040, - z = 2088, - facing = 0, - }, - { - name = "roost", - x = 984, - z = 3128, - facing = 0, - }, - { - name = "roost", - x = 2072, - z = 3112, - facing = 0, - }, - { - name = "roost", - x = 2968, - z = 1176, - facing = 0, - }, - { - name = "roost", - x = 2984, - z = 2040, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - loseAfterSeconds = 30*60, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Protect the Tech Lab for 30 minutes", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 5, - unitTypes = { - "energysingu", - }, - image = planetUtilities.ICON_DIR .. "energysingu.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 5 Singularity Reactors", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Lose no more than 3 grizzlies - onlyCountRemovedUnits = true, - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - unitTypes = { - "turretantiheavy" - }, - image = planetUtilities.ICON_DIR .. "turretantiheavy.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose any Lucifers", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyAfterTime = 10*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 12 Metal Extractors at all times after 10:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "turretheavy", - "turretantiheavy", - "energysingu", - "turretaaheavy", - }, - modules = { - "module_battle_drone_LIMIT_C_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet64.lua b/campaign/dev/planets/planet64.lua deleted file mode 100644 index 5dcd0c4e4..000000000 --- a/campaign/dev/planets/planet64.lua +++ /dev/null @@ -1,4704 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/barren03.png" - - local planetData = { - name = "Intrepid", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.835, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.32, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Barren", - radius = "6900 km", - primary = "Vallaf", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24642", - text = [[This battle will take place on a massive salt plain, littered with sharp spikes. Use Paladin striders to dominate all aspects of the fight.]] - }, - tips = { - { - image = "unitpics/striderbantha.png", - text = [[The Paladin strider wields a massive laser beam, manual-fire EMP missiles (press D to fire), and Lightning Gun sidearms. Paladins are expensive but effective against almost any opposition.]] - }, - { - image = "unitpics/striderdante.png", - text = [[You can expect to face many enemy Striders from here on out. The Paladin's Tachyon Accelerator is very effective against most Striders - keep it away from Ultimatums and multiple Scorpions, though.]] - }, - }, - gameConfig = { - mapName = "Valiant_Saltscape", - playerConfig = { - startX = 8300, - startZ = 2900, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderhub", - "striderbantha", - }, - startUnits = { - { - name = "staticmex", - x = 8312, - z = 2808, - facing = 0, - }, - { - name = "energyheavygeo", - x = 8552, - z = 2376, - facing = 3, - }, - { - name = "staticmex", - x = 8264, - z = 3384, - facing = 0, - }, - { - name = "staticmex", - x = 7608, - z = 3944, - facing = 0, - }, - { - name = "staticmex", - x = 7112, - z = 3752, - facing = 0, - }, - { - name = "staticmex", - x = 7224, - z = 3224, - facing = 0, - }, - { - name = "staticmex", - x = 7160, - z = 2632, - facing = 0, - }, - { - name = "staticmex", - x = 7640, - z = 2280, - facing = 0, - }, - { - name = "staticmex", - x = 8072, - z = 1800, - facing = 0, - }, - { - name = "staticmex", - x = 8680, - z = 1768, - facing = 0, - }, - { - name = "staticmex", - x = 9032, - z = 2328, - facing = 0, - }, - { - name = "staticmex", - x = 9080, - z = 2728, - facing = 0, - }, - { - name = "staticmex", - x = 9288, - z = 3448, - facing = 0, - }, - { - name = "staticmex", - x = 7992, - z = 4712, - facing = 0, - }, - { - name = "staticmex", - x = 6568, - z = 3992, - facing = 0, - }, - { - name = "staticmex", - x = 6200, - z = 3208, - facing = 0, - }, - { - name = "staticmex", - x = 6712, - z = 2184, - facing = 0, - }, - { - name = "staticmex", - x = 7224, - z = 1576, - facing = 0, - }, - { - name = "energygeo", - x = 7336, - z = 4568, - facing = 3, - }, - { - name = "energyheavygeo", - x = 8424, - z = 4392, - facing = 3, - }, - { - name = "energypylon", - x = 7560, - z = 5048, - facing = 3, - }, - { - name = "energypylon", - x = 6936, - z = 4888, - facing = 3, - }, - { - name = "energypylon", - x = 6456, - z = 4488, - facing = 3, - }, - { - name = "energypylon", - x = 7144, - z = 4088, - facing = 3, - }, - { - name = "energypylon", - x = 7800, - z = 4296, - facing = 3, - }, - { - name = "energypylon", - x = 8168, - z = 3592, - facing = 3, - }, - { - name = "energypylon", - x = 7288, - z = 3320, - facing = 3, - }, - { - name = "energypylon", - x = 6680, - z = 3272, - facing = 3, - }, - { - name = "energypylon", - x = 6696, - z = 2504, - facing = 3, - }, - { - name = "energypylon", - x = 7544, - z = 2488, - facing = 3, - }, - { - name = "energypylon", - x = 8360, - z = 2680, - facing = 3, - }, - { - name = "energypylon", - x = 8360, - z = 1992, - facing = 3, - }, - { - name = "energypylon", - x = 7576, - z = 1656, - facing = 3, - }, - { - name = "energypylon", - x = 6824, - z = 1608, - facing = 3, - }, - { - name = "staticheavyradar", - x = 8144, - z = 1296, - facing = 3, - }, - { - name = "staticheavyradar", - x = 7360, - z = 4272, - facing = 3, - }, - { - name = "striderhub", - x = 7824, - z = 2896, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7824, 2896}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7799, 2921}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7944, - z = 2824, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7944, 2824}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7919, 2849}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8008, - z = 2824, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8008, 2824}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7983, 2849}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8008, - z = 2888, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8008, 2888}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7983, 2913}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7944, - z = 2888, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7944, 2888}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7919, 2913}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7944, - z = 2952, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7944, 2952}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7919, 2977}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8008, - z = 2952, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8008, 2952}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7983, 2977}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8008, - z = 3016, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7983, 3041}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8008, 3016}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7944, - z = 3016, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7944, 3016}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7919, 3041}, options = {"shift"}}, - }, - }, - { - name = "staticstorage", - x = 8504, - z = 3080, - facing = 3, - }, - { - name = "staticstorage", - x = 8536, - z = 2968, - facing = 3, - }, - { - name = "staticcon", - x = 8024, - z = 2472, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8024, 2472}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7999, 2497}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8024, - z = 2536, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8024, 2536}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7999, 2561}, options = {"shift"}}, - }, - }, - { - name = "striderbantha", - x = 7694, - z = 2524, - facing = 3, - }, - { - name = "striderdante", - x = 7775, - z = 2602, - facing = 3, - }, - { - name = "striderarty", - x = 7781, - z = 2463, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6984, - z = 1896, - facing = 3, - }, - { - name = "turretriot", - x = 7624, - z = 1912, - facing = 3, - }, - { - name = "turretriot", - x = 7624, - z = 2072, - facing = 3, - }, - { - name = "turretaafar", - x = 7360, - z = 3920, - facing = 3, - }, - { - name = "turretriot", - x = 7272, - z = 3832, - facing = 3, - }, - { - name = "turretriot", - x = 7256, - z = 3992, - facing = 3, - }, - { - name = "turretheavy", - x = 6424, - z = 3384, - facing = 3, - }, - { - name = "turretheavy", - x = 6376, - z = 2200, - facing = 3, - }, - { - name = "turretgauss", - x = 6360, - z = 2552, - facing = 3, - }, - { - name = "turretemp", - x = 6320, - z = 2848, - facing = 3, - }, - { - name = "turretemp", - x = 6288, - z = 3056, - facing = 3, - }, - { - name = "turretgauss", - x = 6232, - z = 3400, - facing = 3, - }, - { - name = "turretgauss", - x = 6312, - z = 3688, - facing = 3, - }, - { - name = "turretgauss", - x = 6248, - z = 1960, - facing = 3, - }, - { - name = "turretgauss", - x = 6344, - z = 1544, - facing = 3, - }, - { - name = "turretemp", - x = 6320, - z = 1408, - facing = 3, - }, - { - name = "turretaalaser", - x = 6504, - z = 1768, - facing = 3, - }, - { - name = "turretaalaser", - x = 6552, - z = 2552, - facing = 3, - }, - { - name = "turretaalaser", - x = 6632, - z = 3672, - facing = 3, - }, - { - name = "turretaalaser", - x = 6504, - z = 4792, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6936, - z = 3896, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7048, - z = 3176, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7016, - z = 2536, - facing = 3, - }, - { - name = "turretaafar", - x = 7712, - z = 1984, - facing = 3, - }, - { - name = "staticantinuke", - x = 8384, - z = 2968, - facing = 3, - }, - } - }, - aiConfig = { - { - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Unovis", - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energyheavygeo", - "energysingu", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "staticnuke", - "staticheavyarty", - "staticarty", - "factoryspider", - "spidercon", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "factoryjump", - "jumpcon", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpaa", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - -- "striderhub", - -- "striderdante", - -- "striderarty", - -- "striderscorpion", - -- "striderfunnelweb", - -- "striderantiheavy", - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 8792, - z = 472, - facing = 0, - }, - { - name = "staticmex", - x = 8840, - z = 4920, - facing = 0, - }, - { - name = "staticmex", - x = 9096, - z = 1224, - facing = 0, - }, - { - name = "staticmex", - x = 9720, - z = 2024, - facing = 0, - }, - { - name = "staticmex", - x = 8616, - z = 5400, - facing = 0, - }, - { - name = "staticmex", - x = 9672, - z = 712, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 5336, - facing = 0, - }, - { - name = "staticmex", - x = 10328, - z = 680, - facing = 0, - }, - { - name = "staticmex", - x = 7640, - z = 5992, - facing = 0, - }, - { - name = "staticmex", - x = 10776, - z = 1448, - facing = 0, - }, - { - name = "staticmex", - x = 10936, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 6664, - z = 5096, - facing = 0, - }, - { - name = "staticmex", - x = 11096, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 6088, - z = 5192, - facing = 0, - }, - { - name = "staticmex", - x = 10792, - z = 3608, - facing = 0, - }, - { - name = "staticmex", - x = 6136, - z = 4392, - facing = 0, - }, - { - name = "staticmex", - x = 11160, - z = 3704, - facing = 0, - }, - { - name = "staticmex", - x = 10056, - z = 3064, - facing = 0, - }, - { - name = "spidercrabe", - x = 8163, - z = 5110, - facing = 3, - }, - { - name = "staticmex", - x = 9384, - z = 4072, - facing = 0, - }, - { - name = "staticmex", - x = 7832, - z = 728, - facing = 0, - }, - { - name = "staticmex", - x = 10088, - z = 4712, - facing = 0, - }, - { - name = "staticmex", - x = 7160, - z = 280, - facing = 0, - }, - { - name = "staticmex", - x = 9768, - z = 5272, - facing = 0, - }, - { - name = "staticmex", - x = 6952, - z = 824, - facing = 0, - }, - { - name = "staticmex", - x = 9480, - z = 5960, - facing = 0, - }, - { - name = "staticmex", - x = 6344, - z = 472, - facing = 0, - }, - { - name = "staticmex", - x = 10584, - z = 5400, - facing = 0, - }, - { - name = "staticmex", - x = 11176, - z = 5832, - facing = 0, - }, - { - name = "staticmex", - x = 11032, - z = 4568, - facing = 0, - }, - { - name = "energyheavygeo", - x = 10184, - z = 4024, - facing = 3, - }, - { - name = "energysingu", - x = 11128, - z = 5112, - facing = 3, - }, - { - name = "energysingu", - x = 11128, - z = 1288, - facing = 3, - }, - { - name = "energypylon", - x = 9160, - z = 5720, - facing = 3, - }, - { - name = "energypylon", - x = 10744, - z = 5656, - facing = 3, - }, - { - name = "energypylon", - x = 9160, - z = 4984, - facing = 3, - }, - { - name = "energypylon", - x = 10760, - z = 4184, - facing = 3, - }, - { - name = "energypylon", - x = 9176, - z = 4248, - facing = 3, - }, - { - name = "energypylon", - x = 10776, - z = 3448, - facing = 3, - }, - { - name = "energypylon", - x = 9176, - z = 3512, - facing = 3, - }, - { - name = "energypylon", - x = 9192, - z = 2776, - facing = 3, - }, - { - name = "energypylon", - x = 9192, - z = 2040, - facing = 3, - }, - { - name = "energypylon", - x = 10808, - z = 1240, - facing = 3, - }, - { - name = "energypylon", - x = 9944, - z = 1320, - facing = 3, - }, - { - name = "energypylon", - x = 10824, - z = 504, - facing = 3, - }, - { - name = "energypylon", - x = 9208, - z = 1240, - facing = 3, - }, - { - name = "energypylon", - x = 8968, - z = 552, - facing = 3, - }, - { - name = "energypylon", - x = 10744, - z = 2152, - facing = 3, - }, - { - name = "energypylon", - x = 8328, - z = 1048, - facing = 3, - }, - { - name = "energypylon", - x = 10872, - z = 2712, - facing = 3, - }, - { - name = "energypylon", - x = 7784, - z = 472, - facing = 3, - }, - { - name = "energypylon", - x = 6904, - z = 440, - facing = 3, - }, - { - name = "energypylon", - x = 10600, - z = 5000, - facing = 3, - }, - { - name = "energypylon", - x = 8424, - z = 5736, - facing = 3, - }, - { - name = "energypylon", - x = 9960, - z = 5656, - facing = 3, - }, - { - name = "energypylon", - x = 7752, - z = 5400, - facing = 3, - }, - { - name = "energypylon", - x = 7256, - z = 5960, - facing = 3, - }, - { - name = "energypylon", - x = 6888, - z = 5384, - facing = 3, - }, - { - name = "energypylon", - x = 6408, - z = 5912, - facing = 3, - }, - { - name = "energypylon", - x = 9992, - z = 2712, - facing = 3, - }, - { - name = "energypylon", - x = 6328, - z = 5224, - facing = 3, - }, - { - name = "energypylon", - x = 10008, - z = 1976, - facing = 3, - }, - { - name = "energypylon", - x = 10024, - z = 504, - facing = 3, - }, - { - name = "energypylon", - x = 10024, - z = 4792, - facing = 3, - }, - { - name = "energypylon", - x = 10056, - z = 4136, - facing = 3, - }, - { - name = "energysingu", - x = 11112, - z = 3320, - facing = 3, - }, - { - name = "factorytank", - x = 7120, - z = 4944, - facing = 3, - }, - { - name = "staticcon", - x = 7240, - z = 4920, - facing = 3, - }, - { - name = "staticcon", - x = 7304, - z = 4984, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7279, 4959}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7304, 4984}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7240, - z = 4984, - facing = 3, - }, - { - name = "staticcon", - x = 8104, - z = 1000, - facing = 3, - }, - { - name = "staticcon", - x = 8168, - z = 1000, - facing = 3, - }, - { - name = "staticcon", - x = 8168, - z = 1064, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8143, 1089}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8168, 1064}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8104, - z = 1064, - facing = 3, - }, - { - name = "factoryjump", - x = 7976, - z = 1032, - facing = 3, - }, - { - name = "staticcon", - x = 9480, - z = 1832, - facing = 3, - }, - { - name = "staticcon", - x = 9544, - z = 1832, - facing = 3, - }, - { - name = "staticcon", - x = 9544, - z = 1896, - facing = 3, - }, - { - name = "staticcon", - x = 9480, - z = 1896, - facing = 3, - }, - { - name = "staticcon", - x = 10456, - z = 3112, - facing = 3, - }, - { - name = "staticantinuke", - x = 9712, - z = 4472, - facing = 3, - }, - { - name = "staticcon", - x = 9480, - z = 5176, - facing = 3, - }, - { - name = "staticcon", - x = 9544, - z = 5176, - facing = 3, - }, - { - name = "staticcon", - x = 9544, - z = 5240, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9519, 5215}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9544, 5240}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 9480, - z = 5240, - facing = 3, - }, - { - name = "factoryplane", - x = 10376, - z = 3248, - facing = 3, - }, - { - name = "staticcon", - x = 10328, - z = 3112, - facing = 3, - }, - { - name = "staticcon", - x = 10392, - z = 3112, - facing = 3, - }, - { - name = "striderhub", - x = 9536, - z = 1984, - facing = 3, - }, - { - name = "staticrearm", - x = 8872, - z = 3384, - facing = 3, - }, - { - name = "staticrearm", - x = 8872, - z = 3592, - facing = 3, - }, - { - name = "staticcon", - x = 9016, - z = 3464, - facing = 3, - }, - { - name = "staticcon", - x = 9016, - z = 3560, - facing = 3, - }, - { - name = "turretheavy", - x = 5960, - z = 5224, - facing = 3, - }, - { - name = "turretgauss", - x = 6152, - z = 3992, - facing = 3, - }, - { - name = "turretgauss", - x = 6008, - z = 4440, - facing = 3, - }, - { - name = "turretemp", - x = 6128, - z = 4256, - facing = 3, - }, - { - name = "turretgauss", - x = 5944, - z = 4888, - facing = 3, - }, - { - name = "turretemp", - x = 5840, - z = 5200, - facing = 3, - }, - { - name = "energypylon", - x = 6888, - z = 1000, - facing = 3, - }, - { - name = "turretgauss", - x = 5912, - z = 5464, - facing = 3, - }, - { - name = "turretgauss", - x = 5928, - z = 5768, - facing = 3, - }, - { - name = "turretgauss", - x = 5928, - z = 6008, - facing = 3, - }, - { - name = "turretaalaser", - x = 6344, - z = 4696, - facing = 3, - }, - { - name = "turretaalaser", - x = 6312, - z = 5640, - facing = 3, - }, - { - name = "turretheavy", - x = 6456, - z = 744, - facing = 3, - }, - { - name = "turretgauss", - x = 6360, - z = 1144, - facing = 3, - }, - { - name = "turretgauss", - x = 6248, - z = 552, - facing = 3, - }, - { - name = "turretgauss", - x = 6312, - z = 280, - facing = 3, - }, - { - name = "turretemp", - x = 6272, - z = 416, - facing = 3, - }, - { - name = "staticstorage", - x = 9640, - z = 5304, - facing = 1, - }, - { - name = "staticstorage", - x = 9688, - z = 5208, - facing = 1, - }, - { - name = "staticstorage", - x = 10376, - z = 3384, - facing = 1, - }, - { - name = "staticstorage", - x = 9720, - z = 1864, - facing = 1, - }, - { - name = "staticstorage", - x = 9672, - z = 1768, - facing = 1, - }, - { - name = "staticantinuke", - x = 9840, - z = 2056, - facing = 3, - }, - { - name = "factoryspider", - x = 9352, - z = 5144, - facing = 3, - }, - { - name = "energypylon", - x = 8456, - z = 4776, - facing = 3, - }, - { - name = "spideremp", - x = 7763, - z = 4833, - facing = 3, - }, - { - name = "tankriot", - x = 7726, - z = 4749, - facing = 0, - }, - { - name = "jumpassault", - x = 6846, - z = 2941, - facing = 3, - patrolRoute = { - {6850, 2984}, - {6819, 2928}, - }, - }, - { - name = "bomberheavy", - x = 8833, - z = 3630, - facing = 1, - }, - { - name = "spidercon", - x = 7014, - z = 3764, - facing = 3, - }, - { - name = "spidercon", - x = 6434, - z = 3118, - facing = 3, - }, - { - name = "spidercon", - x = 7061, - z = 5362, - facing = 1, - }, - { - name = "spidercon", - x = 7260, - z = 1020, - facing = 0, - }, - { - name = "jumpcon", - x = 9987, - z = 960, - facing = 1, - }, - { - name = "staticmex", - x = 6264, - z = 2696, - facing = 0, - }, - { - name = "spidercon", - x = 6972, - z = 2671, - facing = 3, - }, - { - name = "staticcon", - x = 9528, - z = 5128, - facing = 3, - }, - { - name = "jumpcon", - x = 6500, - z = 1454, - facing = 0, - }, - { - name = "spidercon", - x = 7364, - z = 2358, - facing = 3, - }, - { - name = "staticcon", - x = 9480, - z = 5080, - facing = 3, - }, - { - name = "jumpaa", - x = 7053, - z = 2775, - facing = 3, - }, - { - name = "staticradar", - x = 9968, - z = 864, - facing = 3, - }, - { - name = "staticcon", - x = 9480, - z = 5128, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9455, 5103}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9480, 5128}, options = {"shift"}}, - }, - }, - { - name = "spidercon", - x = 6046, - z = 5429, - facing = 0, - }, - { - name = "turretmissile", - x = 7504, - z = 4096, - facing = 3, - }, - { - name = "staticcon", - x = 9592, - z = 5176, - facing = 3, - }, - { - name = "jumpcon", - x = 6394, - z = 3799, - facing = 1, - }, - { - name = "staticcon", - x = 9576, - z = 5128, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9551, 5103}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9576, 5128}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 9592, - z = 5224, - facing = 3, - }, - { - name = "spidercon", - x = 6104, - z = 5718, - facing = 3, - }, - { - name = "tankassault", - x = 7795, - z = 4927, - facing = 2, - }, - { - name = "jumparty", - x = 6342, - z = 1252, - facing = 3, - }, - { - name = "spideremp", - x = 7717, - z = 4792, - facing = 2, - }, - { - name = "turretlaser", - x = 7072, - z = 576, - facing = 0, - }, - { - name = "spidercon", - x = 7592, - z = 5667, - facing = 2, - }, - { - name = "turretlaser", - x = 7584, - z = 3888, - facing = 3, - }, - { - name = "spidercon", - x = 7280, - z = 3754, - facing = 2, - }, - { - name = "turretlaser", - x = 7824, - z = 5120, - facing = 3, - }, - { - name = "turretlaser", - x = 9920, - z = 656, - facing = 3, - }, - { - name = "spidercon", - x = 6362, - z = 1490, - facing = 1, - }, - { - name = "turretlaser", - x = 7088, - z = 4704, - facing = 2, - }, - { - name = "staticmex", - x = 6168, - z = 3736, - facing = 0, - }, - { - name = "staticradar", - x = 10032, - z = 3184, - facing = 3, - }, - { - name = "spidercon", - x = 7399, - z = 3513, - facing = 3, - }, - { - name = "jumpcon", - x = 8069, - z = 2693, - facing = 1, - }, - { - name = "tankassault", - x = 7590, - z = 4582, - facing = 3, - }, - { - name = "spiderassault", - x = 7530, - z = 4561, - facing = 3, - }, - { - name = "jumpcon", - x = 8581, - z = 2494, - facing = 1, - }, - { - name = "turretaalaser", - x = 7240, - z = 3752, - facing = 3, - }, - { - name = "turretlaser", - x = 9120, - z = 2592, - facing = 3, - }, - { - name = "staticradar", - x = 9568, - z = 5776, - facing = 3, - }, - { - name = "turretlaser", - x = 9376, - z = 6016, - facing = 3, - }, - { - name = "turretlaser", - x = 7152, - z = 5200, - facing = 2, - }, - { - name = "staticcon", - x = 9624, - z = 5128, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9599, 5103}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9624, 5128}, options = {"shift"}}, - }, - }, - { - name = "spidercon", - x = 6411, - z = 3041, - facing = 2, - }, - { - name = "staticradar", - x = 6256, - z = 1488, - facing = 0, - }, - { - name = "jumpaa", - x = 6560, - z = 5435, - facing = 0, - }, - { - name = "spideraa", - x = 6562, - z = 5968, - facing = 2, - }, - { - name = "turretlaser", - x = 7680, - z = 6016, - facing = 2, - }, - { - name = "turretlaser", - x = 11136, - z = 5920, - facing = 3, - }, - { - name = "turretlaser", - x = 10640, - z = 1536, - facing = 3, - }, - { - name = "spidercon", - x = 6452, - z = 3053, - facing = 3, - }, - { - name = "spidercrabe", - x = 7673, - z = 4774, - facing = 1, - }, - { - name = "energysolar", - x = 9672, - z = 3080, - facing = 3, - }, - { - name = "jumpcon", - x = 6273, - z = 1402, - facing = 2, - }, - { - name = "turretlaser", - x = 7792, - z = 5840, - facing = 2, - }, - { - name = "planecon", - x = 6334, - z = 1373, - facing = 3, - }, - { - name = "staticradar", - x = 7584, - z = 5824, - facing = 2, - }, - { - name = "energywind", - x = 9560, - z = 3160, - facing = 3, - }, - { - name = "turretlaser", - x = 10896, - z = 3728, - facing = 3, - }, - { - name = "jumparty", - x = 6349, - z = 1192, - facing = 3, - }, - { - name = "turretlaser", - x = 10912, - z = 4624, - facing = 3, - }, - { - name = "turretlaser", - x = 6464, - z = 3856, - facing = 2, - buildProgress = 0.63700002, - }, - { - name = "turretlaser", - x = 10016, - z = 2976, - facing = 3, - }, - { - name = "turretlaser", - x = 8640, - z = 5168, - facing = 3, - }, - { - name = "tankarty", - x = 6598, - z = 5005, - facing = 2, - }, - { - name = "turretlaser", - x = 6752, - z = 2192, - facing = 3, - }, - { - name = "staticradar", - x = 8384, - z = 3264, - facing = 3, - }, - { - name = "bomberheavy", - x = 8313, - z = 3742, - facing = 3, - }, - { - name = "spidercon", - x = 7322, - z = 3738, - facing = 2, - }, - { - name = "staticradar", - x = 10960, - z = 5616, - facing = 3, - }, - { - name = "spidercon", - x = 7616, - z = 1775, - facing = 0, - }, - { - name = "tankassault", - x = 7781, - z = 4768, - facing = 3, - }, - { - name = "energywind", - x = 10392, - z = 3016, - facing = 3, - }, - { - name = "spidercon", - x = 6458, - z = 3010, - facing = 3, - }, - { - name = "spiderassault", - x = 7523, - z = 5179, - facing = 2, - }, - { - name = "energywind", - x = 10504, - z = 3016, - facing = 3, - }, - { - name = "jumpassault", - x = 6902, - z = 2992, - facing = 2, - patrolRoute = { - {6914, 2992}, - {6850, 2984}, - }, - }, - { - name = "turretlaser", - x = 7504, - z = 2528, - facing = 3, - }, - { - name = "spidercon", - x = 6263, - z = 2825, - facing = 3, - }, - { - name = "turretlaser", - x = 9440, - z = 3760, - facing = 3, - }, - { - name = "turretlaser", - x = 8208, - z = 2992, - facing = 3, - }, - { - name = "spidercon", - x = 7055, - z = 3859, - facing = 0, - }, - { - name = "energysolar", - x = 7080, - z = 2104, - facing = 3, - }, - { - name = "spidercon", - x = 6723, - z = 3208, - facing = 3, - }, - { - name = "energywind", - x = 9496, - z = 520, - facing = 3, - }, - { - name = "staticcon", - x = 9480, - z = 5288, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9455, 5263}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9480, 5288}, options = {"shift"}}, - }, - }, - { - name = "spidercon", - x = 9433, - z = 5181, - facing = 2, - }, - { - name = "turretlaser", - x = 9936, - z = 4864, - facing = 3, - }, - { - name = "jumpassault", - x = 6873, - z = 2983, - facing = 3, - patrolRoute = { - {6911, 3004}, - {6850, 2984}, - }, - }, - { - name = "spidercrabe", - x = 7676, - z = 4831, - facing = 1, - }, - { - name = "tankheavyassault", - x = 7712, - z = 4881, - facing = 0, - }, - { - name = "turretlaser", - x = 8352, - z = 1680, - facing = 3, - }, - { - name = "staticcon", - x = 9560, - z = 5016, - facing = 3, - }, - { - name = "planeheavyfighter", - x = 6726, - z = 5614, - facing = 3, - }, - { - name = "energywind", - x = 7192, - z = 2168, - facing = 3, - }, - { - name = "turretlaser", - x = 7472, - z = 3712, - facing = 3, - }, - { - name = "spiderassault", - x = 7722, - z = 4830, - facing = 2, - }, - { - name = "staticmex", - x = 6216, - z = 1384, - facing = 0, - }, - { - name = "spiderantiheavy", - x = 6177, - z = 2531, - facing = 0, - }, - { - name = "jumpcon", - x = 6361, - z = 2845, - facing = 0, - }, - { - name = "turretlaser", - x = 9216, - z = 1184, - facing = 3, - }, - { - name = "turretmissile", - x = 6080, - z = 3072, - facing = 3, - }, - { - name = "energypylon", - x = 6232, - z = 2952, - facing = 3, - }, - { - name = "jumpassault", - x = 6848, - z = 2973, - facing = 2, - patrolRoute = { - {6850, 2984}, - {6853, 2920}, - }, - }, - { - name = "spidercon", - x = 9222, - z = 5134, - facing = 1, - }, - { - name = "planeheavyfighter", - x = 8833, - z = 3553, - facing = 1, - }, - { - name = "spidercon", - x = 6846, - z = 3270, - facing = 2, - }, - { - name = "turretmissile", - x = 5728, - z = 5744, - facing = 2, - }, - { - name = "spiderassault", - x = 7982, - z = 5017, - facing = 3, - }, - { - name = "turretlaser", - x = 6144, - z = 6016, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7272, - z = 3912, - facing = 3, - }, - { - name = "planeheavyfighter", - x = 6429, - z = 6027, - facing = 2, - }, - { - name = "staticradar", - x = 6368, - z = 2912, - facing = 3, - }, - { - name = "jumpcon", - x = 7138, - z = 3213, - facing = 3, - }, - { - name = "spidercon", - x = 7419, - z = 5404, - facing = 3, - }, - { - name = "jumpcon", - x = 6574, - z = 2298, - facing = 0, - }, - { - name = "spidercrabe", - x = 8381, - z = 5176, - facing = 3, - }, - { - name = "turretlaser", - x = 6480, - z = 3088, - facing = 3, - }, - { - name = "turretmissile", - x = 7440, - z = 5968, - facing = 2, - }, - { - name = "jumpassault", - x = 7750, - z = 1603, - facing = 2, - patrolRoute = { - {7779, 1634}, - {7761, 1573}, - }, - }, - { - name = "turretaafar", - x = 6288, - z = 2928, - facing = 3, - buildProgress = 0.51789999, - }, - { - name = "turretlaser", - x = 6480, - z = 1312, - facing = 0, - }, - { - name = "spiderassault", - x = 8458, - z = 5149, - facing = 3, - }, - { - name = "staticcon", - x = 9512, - z = 5000, - facing = 3, - }, - { - name = "spiderassault", - x = 8583, - z = 5103, - facing = 3, - }, - { - name = "jumpassault", - x = 7903, - z = 1270, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7761, 1573}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7824, 1587}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 6216, - z = 1336, - facing = 0, - buildProgress = 0.64819998, - }, - { - name = "energywind", - x = 7336, - z = 728, - facing = 0, - }, - { - name = "spidercon", - x = 9399, - z = 5255, - facing = 0, - }, - { - name = "turretmissile", - x = 6560, - z = 1520, - facing = 0, - }, - { - name = "tankassault", - x = 7092, - z = 4944, - facing = 3, - buildProgress = 0.29409999, - }, - { - name = "spidercon", - x = 9344, - z = 5228, - facing = 1, - }, - { - name = "staticcon", - x = 9528, - z = 5288, - facing = 3, - }, - { - name = "jumpcon", - x = 7944, - z = 1197, - facing = 0, - }, - { - name = "spiderassault", - x = 9287, - z = 5245, - facing = 0, - }, - { - name = "jumpassault", - x = 7952, - z = 1032, - facing = 3, - buildProgress = 0.0983, - }, - { - name = "turretmissile", - x = 7344, - z = 3552, - facing = 3, - buildProgress = 0.0899, - }, - { - name = "spidercrabe", - x = 9316, - z = 5144, - facing = 3, - buildProgress = 0.0391, - }, - } - }, - { - startX = 1330, - startZ = 3300, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - humanName = "Bilious", - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energyheavygeo", - "energysingu", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "staticnuke", - "staticheavyarty", - "staticarty", - "spidercon", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "factoryamph", - "amphcon", - "amphfloater", - "amphriot", - "amphassault", - "amphaa", - "factoryjump", - "jumpcon", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpaa", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - -- "striderhub", - -- "striderdante", - -- "striderarty", - -- "striderscorpion", - -- "striderfunnelweb", - -- "striderantiheavy", - }, - commanderLevel = 7, - commander = { - name = "Vespid", - chassis = "strike", - decorations = { - }, - modules = { - "commweapon_shotgun", - "commweapon_disintegrator", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_personal_cloak", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_autorepair", - "module_autorepair", - } - }, - startUnits = { - { - name = "staticmex", - x = 3000, - z = 2760, - facing = 0, - }, - { - name = "staticmex", - x = 2232, - z = 3816, - facing = 0, - }, - { - name = "staticmex", - x = 1976, - z = 2696, - facing = 0, - }, - { - name = "staticmex", - x = 2952, - z = 3336, - facing = 0, - }, - { - name = "staticmex", - x = 2184, - z = 3416, - facing = 0, - }, - { - name = "staticmex", - x = 3192, - z = 4344, - facing = 0, - }, - { - name = "staticmex", - x = 1880, - z = 2072, - facing = 0, - }, - { - name = "staticmex", - x = 1544, - z = 4120, - facing = 0, - }, - { - name = "staticmex", - x = 2584, - z = 4376, - facing = 0, - }, - { - name = "staticmex", - x = 4040, - z = 2920, - facing = 0, - }, - { - name = "energyheavygeo", - x = 2712, - z = 3784, - facing = 3, - }, - { - name = "staticmex", - x = 1176, - z = 1432, - facing = 0, - }, - { - name = "staticmex", - x = 4152, - z = 2392, - facing = 0, - }, - { - name = "staticmex", - x = 2168, - z = 4920, - facing = 0, - }, - { - name = "staticmex", - x = 1496, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 3656, - z = 2200, - facing = 0, - }, - { - name = "staticmex", - x = 2472, - z = 5672, - facing = 0, - }, - { - name = "staticmex", - x = 1784, - z = 184, - facing = 0, - }, - { - name = "energyheavygeo", - x = 1096, - z = 2136, - facing = 3, - }, - { - name = "staticmex", - x = 3272, - z = 1432, - facing = 0, - }, - { - name = "staticmex", - x = 1592, - z = 5432, - facing = 0, - }, - { - name = "staticmex", - x = 3432, - z = 5416, - facing = 0, - }, - { - name = "staticmex", - x = 3336, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 2648, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 936, - z = 5464, - facing = 0, - }, - { - name = "staticmex", - x = 4104, - z = 5864, - facing = 0, - }, - { - name = "staticmex", - x = 2424, - z = 1224, - facing = 0, - }, - { - name = "energyheavygeo", - x = 2840, - z = 1752, - facing = 3, - }, - { - name = "staticmex", - x = 328, - z = 5960, - facing = 0, - }, - { - name = "staticmex", - x = 4312, - z = 5320, - facing = 0, - }, - { - name = "staticmex", - x = 4920, - z = 5672, - facing = 0, - }, - { - name = "energygeo", - x = 3928, - z = 1576, - facing = 3, - }, - { - name = "staticmex", - x = 488, - z = 4696, - facing = 0, - }, - { - name = "staticmex", - x = 680, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 3624, - z = 152, - facing = 0, - }, - { - name = "staticmex", - x = 5048, - z = 4760, - facing = 0, - }, - { - name = "staticmex", - x = 88, - z = 312, - facing = 0, - }, - { - name = "staticmex", - x = 168, - z = 3320, - facing = 0, - }, - { - name = "staticmex", - x = 4552, - z = 3960, - facing = 0, - }, - { - name = "staticmex", - x = 4600, - z = 1048, - facing = 0, - }, - { - name = "staticmex", - x = 232, - z = 1576, - facing = 0, - }, - { - name = "staticmex", - x = 4104, - z = 3512, - facing = 0, - }, - { - name = "staticmex", - x = 5176, - z = 952, - facing = 0, - }, - { - name = "staticmex", - x = 1208, - z = 3080, - facing = 0, - }, - { - name = "staticmex", - x = 3624, - z = 3864, - facing = 0, - }, - { - name = "staticmex", - x = 5128, - z = 1752, - facing = 0, - }, - { - name = "staticmex", - x = 104, - z = 2440, - facing = 0, - }, - { - name = "staticmex", - x = 472, - z = 2536, - facing = 0, - }, - { - name = "staticmex", - x = 4040, - z = 4568, - facing = 0, - }, - { - name = "staticmex", - x = 4696, - z = 2152, - facing = 0, - }, - { - name = "staticmex", - x = 5096, - z = 2408, - facing = 0, - }, - { - name = "energypylon", - x = 520, - z = 2056, - facing = 3, - }, - { - name = "energypylon", - x = 520, - z = 1176, - facing = 3, - }, - { - name = "energypylon", - x = 504, - z = 568, - facing = 3, - }, - { - name = "energypylon", - x = 1368, - z = 568, - facing = 3, - }, - { - name = "energypylon", - x = 1352, - z = 1384, - facing = 3, - }, - { - name = "energypylon", - x = 4040, - z = 568, - facing = 3, - }, - { - name = "energypylon", - x = 4008, - z = 1304, - facing = 3, - }, - { - name = "energypylon", - x = 1320, - z = 2984, - facing = 3, - }, - { - name = "energypylon", - x = 1320, - z = 3720, - facing = 3, - }, - { - name = "energypylon", - x = 4664, - z = 552, - facing = 3, - }, - { - name = "energypylon", - x = 3928, - z = 2776, - facing = 3, - }, - { - name = "energypylon", - x = 1304, - z = 4456, - facing = 3, - }, - { - name = "energypylon", - x = 4648, - z = 1288, - facing = 3, - }, - { - name = "energypylon", - x = 3896, - z = 3512, - facing = 3, - }, - { - name = "energypylon", - x = 1304, - z = 5192, - facing = 3, - }, - { - name = "energypylon", - x = 4632, - z = 2024, - facing = 3, - }, - { - name = "energypylon", - x = 1288, - z = 5928, - facing = 3, - }, - { - name = "energypylon", - x = 4600, - z = 3496, - facing = 3, - }, - { - name = "energypylon", - x = 3800, - z = 5720, - facing = 3, - }, - { - name = "energypylon", - x = 3720, - z = 5048, - facing = 3, - }, - { - name = "energypylon", - x = 4584, - z = 4232, - facing = 3, - }, - { - name = "energypylon", - x = 3720, - z = 4392, - facing = 3, - }, - { - name = "energypylon", - x = 4568, - z = 4968, - facing = 3, - }, - { - name = "energypylon", - x = 280, - z = 2824, - facing = 3, - }, - { - name = "energypylon", - x = 4552, - z = 5704, - facing = 3, - }, - { - name = "energypylon", - x = 312, - z = 3560, - facing = 3, - }, - { - name = "energypylon", - x = 328, - z = 4296, - facing = 3, - }, - { - name = "energypylon", - x = 3832, - z = 2120, - facing = 3, - }, - { - name = "energypylon", - x = 360, - z = 5032, - facing = 3, - }, - { - name = "energypylon", - x = 4568, - z = 2824, - facing = 3, - }, - { - name = "energypylon", - x = 376, - z = 5768, - facing = 3, - }, - { - name = "energypylon", - x = 2328, - z = 440, - facing = 3, - }, - { - name = "energypylon", - x = 2312, - z = 1176, - facing = 3, - }, - { - name = "energypylon", - x = 2296, - z = 2648, - facing = 3, - }, - { - name = "energypylon", - x = 2280, - z = 3384, - facing = 3, - }, - { - name = "energypylon", - x = 2280, - z = 4120, - facing = 3, - }, - { - name = "energypylon", - x = 2264, - z = 4856, - facing = 3, - }, - { - name = "energypylon", - x = 2248, - z = 5592, - facing = 3, - }, - { - name = "energypylon", - x = 1992, - z = 1976, - facing = 3, - }, - { - name = "energypylon", - x = 3240, - z = 488, - facing = 3, - }, - { - name = "energypylon", - x = 3224, - z = 1224, - facing = 3, - }, - { - name = "energypylon", - x = 3176, - z = 2696, - facing = 3, - }, - { - name = "energysingu", - x = 136, - z = 5544, - facing = 3, - }, - { - name = "energypylon", - x = 3160, - z = 3432, - facing = 3, - }, - { - name = "energypylon", - x = 3144, - z = 4168, - facing = 3, - }, - { - name = "energysingu", - x = 568, - z = 3736, - facing = 3, - }, - { - name = "energypylon", - x = 3144, - z = 5048, - facing = 3, - }, - { - name = "energysingu", - x = 504, - z = 2312, - facing = 3, - }, - { - name = "energysingu", - x = 424, - z = 120, - facing = 3, - }, - { - name = "energypylon", - x = 2968, - z = 1960, - facing = 3, - }, - { - name = "staticheavyradar", - x = 3904, - z = 1872, - facing = 3, - }, - { - name = "staticheavyradar", - x = 3952, - z = 4944, - facing = 3, - }, - { - name = "staticcon", - x = 3448, - z = 1432, - facing = 1, - }, - { - name = "staticcon", - x = 3512, - z = 1432, - facing = 1, - }, - { - name = "staticcon", - x = 3512, - z = 1496, - facing = 1, - }, - { - name = "staticcon", - x = 3448, - z = 1496, - facing = 1, - }, - { - name = "factorytank", - x = 3488, - z = 1616, - facing = 1, - }, - { - name = "staticcon", - x = 3400, - z = 4408, - facing = 1, - }, - { - name = "staticcon", - x = 3464, - z = 4408, - facing = 1, - }, - { - name = "staticcon", - x = 3464, - z = 4472, - facing = 1, - }, - { - name = "staticcon", - x = 3400, - z = 4472, - facing = 1, - }, - { - name = "factorytank", - x = 3440, - z = 4592, - facing = 1, - }, - { - name = "staticrearm", - x = 3704, - z = 3096, - facing = 1, - }, - { - name = "staticrearm", - x = 3704, - z = 2888, - facing = 1, - }, - { - name = "staticcon", - x = 3448, - z = 3048, - facing = 1, - }, - { - name = "staticcon", - x = 3368, - z = 3048, - facing = 1, - }, - { - name = "staticcon", - x = 3288, - z = 3048, - facing = 1, - }, - { - name = "staticcon", - x = 3320, - z = 3128, - facing = 1, - }, - { - name = "factoryamph", - x = 3320, - z = 3256, - facing = 1, - }, - { - name = "factoryjump", - x = 1192, - z = 5384, - facing = 1, - }, - { - name = "factoryplane", - x = 936, - z = 2928, - facing = 1, - }, - { - name = "staticcon", - x = 904, - z = 2760, - facing = 1, - }, - { - name = "staticcon", - x = 1000, - z = 5288, - facing = 1, - }, - { - name = "staticcon", - x = 968, - z = 2760, - facing = 1, - }, - { - name = "staticcon", - x = 1032, - z = 2760, - facing = 1, - }, - { - name = "staticcon", - x = 1064, - z = 5288, - facing = 1, - }, - { - name = "staticcon", - x = 1064, - z = 5352, - facing = 1, - }, - { - name = "staticcon", - x = 1000, - z = 5352, - facing = 1, - }, - { - name = "factoryspider", - x = 1240, - z = 856, - facing = 1, - }, - { - name = "staticcon", - x = 1080, - z = 808, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1080, 808}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1276, 856}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1144, - z = 808, - facing = 1, - }, - { - name = "staticcon", - x = 1144, - z = 872, - facing = 1, - }, - { - name = "staticcon", - x = 1080, - z = 872, - facing = 1, - }, - { - name = "staticcon", - x = 1944, - z = 2344, - facing = 3, - }, - { - name = "staticcon", - x = 2008, - z = 2344, - facing = 3, - }, - { - name = "staticcon", - x = 2072, - z = 2344, - facing = 3, - }, - { - name = "staticcon", - x = 2072, - z = 2408, - facing = 3, - }, - { - name = "staticcon", - x = 2008, - z = 2408, - facing = 3, - }, - { - name = "staticcon", - x = 1944, - z = 2408, - facing = 3, - }, - { - name = "striderhub", - x = 2016, - z = 2496, - facing = 1, - }, - { - name = "turretheavy", - x = 4888, - z = 5336, - facing = 1, - }, - { - name = "turretgauss", - x = 5112, - z = 5288, - facing = 1, - }, - { - name = "turretemp", - x = 5104, - z = 5456, - facing = 1, - }, - { - name = "turretemp", - x = 5040, - z = 5104, - facing = 1, - }, - { - name = "turretgauss", - x = 5032, - z = 5864, - facing = 1, - }, - { - name = "turretgauss", - x = 4968, - z = 4680, - facing = 1, - }, - { - name = "turretemp", - x = 5008, - z = 4496, - facing = 1, - }, - { - name = "turretgauss", - x = 5032, - z = 4296, - facing = 1, - }, - { - name = "turretgauss", - x = 4984, - z = 3912, - facing = 1, - }, - { - name = "turretemp", - x = 4976, - z = 3680, - facing = 1, - }, - { - name = "turretgauss", - x = 5080, - z = 3480, - facing = 1, - }, - { - name = "turretgauss", - x = 5016, - z = 3064, - facing = 1, - }, - { - name = "turretemp", - x = 5072, - z = 2848, - facing = 1, - }, - { - name = "turretgauss", - x = 5064, - z = 2664, - facing = 1, - }, - { - name = "turretgauss", - x = 5096, - z = 2264, - facing = 1, - }, - { - name = "turretemp", - x = 5136, - z = 2112, - facing = 1, - }, - { - name = "turretgauss", - x = 5144, - z = 1960, - facing = 1, - }, - { - name = "turretgauss", - x = 5144, - z = 1480, - facing = 1, - }, - { - name = "turretemp", - x = 5200, - z = 1312, - facing = 1, - }, - { - name = "turretgauss", - x = 5304, - z = 1160, - facing = 1, - }, - { - name = "turretaafar", - x = 3568, - z = 5040, - facing = 1, - }, - { - name = "turretgauss", - x = 5208, - z = 488, - facing = 1, - }, - { - name = "turretemp", - x = 5264, - z = 352, - facing = 1, - }, - { - name = "turretheavylaser", - x = 520, - z = 280, - facing = 1, - }, - { - name = "turretgauss", - x = 5240, - z = 200, - facing = 1, - }, - { - name = "turretheavylaser", - x = 408, - z = 456, - facing = 1, - }, - { - name = "turretaaheavy", - x = 1872, - z = 4528, - facing = 1, - }, - { - name = "turretheavy", - x = 728, - z = 2264, - facing = 1, - }, - { - name = "turretheavylaser", - x = 600, - z = 3528, - facing = 1, - }, - { - name = "turretaaheavy", - x = 1680, - z = 1504, - facing = 1, - }, - { - name = "turretantiheavy", - x = 4736, - z = 4432, - facing = 1, - }, - { - name = "turretheavylaser", - x = 680, - z = 3864, - facing = 1, - }, - { - name = "turretheavy", - x = 4792, - z = 3688, - facing = 1, - }, - { - name = "turretheavy", - x = 4840, - z = 2888, - facing = 1, - }, - { - name = "turretheavylaser", - x = 344, - z = 5320, - facing = 1, - }, - { - name = "turretaafar", - x = 3552, - z = 1136, - facing = 1, - }, - { - name = "turretheavylaser", - x = 520, - z = 5688, - facing = 1, - }, - { - name = "turretheavy", - x = 4952, - z = 2248, - facing = 1, - }, - { - name = "turretaafar", - x = 3648, - z = 2608, - facing = 1, - }, - { - name = "turretantiheavy", - x = 4896, - z = 1456, - facing = 1, - }, - { - name = "turretheavy", - x = 5128, - z = 792, - facing = 1, - }, - { - name = "turretaalaser", - x = 4296, - z = 888, - facing = 1, - }, - { - name = "turretaalaser", - x = 3128, - z = 968, - facing = 1, - }, - { - name = "turretaalaser", - x = 2872, - z = 2968, - facing = 1, - }, - { - name = "turretaalaser", - x = 4424, - z = 2936, - facing = 1, - }, - { - name = "turretaalaser", - x = 2808, - z = 4456, - facing = 1, - }, - { - name = "turretaalaser", - x = 4264, - z = 4936, - facing = 1, - }, - { - name = "turretaaflak", - x = 632, - z = 5048, - facing = 1, - }, - { - name = "turretaaflak", - x = 776, - z = 5544, - facing = 1, - }, - { - name = "turretaaflak", - x = 984, - z = 3544, - facing = 1, - }, - { - name = "turretaaflak", - x = 840, - z = 1864, - facing = 1, - }, - { - name = "turretaaflak", - x = 824, - z = 648, - facing = 1, - }, - { - name = "staticantinuke", - x = 1616, - z = 1656, - facing = 3, - }, - { - name = "staticantinuke", - x = 1216, - z = 3208, - facing = 3, - }, - { - name = "staticantinuke", - x = 1152, - z = 4648, - facing = 3, - }, - { - name = "staticantinuke", - x = 3328, - z = 3448, - facing = 3, - }, - { - name = "energypylon", - x = 1320, - z = 2232, - facing = 3, - }, - { - name = "staticstorage", - x = 3048, - z = 2728, - facing = 1, - }, - { - name = "tankriot", - x = 3941, - z = 2829, - facing = 1, - }, - { - name = "tankriot", - x = 4922, - z = 3399, - facing = 2, - }, - { - name = "amphcon", - x = 4272, - z = 3622, - facing = 3, - }, - { - name = "jumpassault", - x = 3850, - z = 3877, - facing = 0, - patrolRoute = { - {3942, 3757}, - {3808, 3984}, - }, - }, - { - name = "bomberheavy", - x = 956, - z = 2890, - facing = 3, - }, - { - name = "spidercrabe", - x = 4459, - z = 1625, - facing = 1, - }, - { - name = "energysolar", - x = 1256, - z = 3016, - facing = 1, - }, - { - name = "amphcon", - x = 4553, - z = 3150, - facing = 3, - }, - { - name = "tankcon", - x = 5491, - z = 1045, - facing = 0, - }, - { - name = "jumpcon", - x = 4040, - z = 5208, - facing = 2, - }, - { - name = "amphaa", - x = 5320, - z = 5838, - facing = 1, - }, - { - name = "amphcon", - x = 3312, - z = 4296, - facing = 1, - }, - { - name = "jumpassault", - x = 5400, - z = 2690, - facing = 0, - }, - { - name = "staticstorage", - x = 2920, - z = 2728, - facing = 1, - }, - { - name = "tankcon", - x = 5111, - z = 2772, - facing = 2, - }, - { - name = "tankcon", - x = 5407, - z = 2100, - facing = 2, - }, - { - name = "turretlaser", - x = 3504, - z = 1376, - facing = 1, - }, - { - name = "amphcon", - x = 2989, - z = 3010, - facing = 2, - }, - { - name = "energypylon", - x = 1848, - z = 3768, - facing = 1, - }, - { - name = "staticstorage", - x = 2920, - z = 2680, - facing = 1, - }, - { - name = "amphcon", - x = 2281, - z = 2550, - facing = 1, - }, - { - name = "tankassault", - x = 4578, - z = 1714, - facing = 2, - patrolRoute = { - {4572, 1739}, - {4551, 1679}, - }, - }, - { - name = "turretlaser", - x = 3776, - z = 3792, - facing = 1, - }, - { - name = "turretlaser", - x = 4320, - z = 5696, - facing = 2, - }, - { - name = "jumpcon", - x = 3969, - z = 1398, - facing = 1, - }, - { - name = "turretlaser", - x = 2160, - z = 4976, - facing = 1, - }, - { - name = "staticradar", - x = 3696, - z = 3552, - facing = 1, - }, - { - name = "amphassault", - x = 5349, - z = 1791, - facing = 0, - }, - { - name = "spidercrabe", - x = 4484, - z = 1680, - facing = 1, - }, - { - name = "jumpassault", - x = 4335, - z = 5103, - facing = 3, - }, - { - name = "tankcon", - x = 5409, - z = 1492, - facing = 2, - }, - { - name = "staticstorage", - x = 3064, - z = 2680, - facing = 1, - }, - { - name = "energysolar", - x = 2712, - z = 4472, - facing = 1, - }, - { - name = "tankassault", - x = 6049, - z = 4198, - facing = 1, - }, - { - name = "jumpassault", - x = 4267, - z = 5664, - facing = 3, - }, - { - name = "tankcon", - x = 3489, - z = 1290, - facing = 1, - }, - { - name = "staticradar", - x = 2208, - z = 4720, - facing = 1, - }, - { - name = "turretlaser", - x = 528, - z = 4768, - facing = 1, - }, - { - name = "turretlaser", - x = 4128, - z = 4672, - facing = 2, - }, - { - name = "jumpassault", - x = 1901, - z = 5535, - facing = 1, - }, - { - name = "energypylon", - x = 5032, - z = 4536, - facing = 2, - }, - { - name = "staticmex", - x = 5064, - z = 2936, - facing = 0, - }, - { - name = "energywind", - x = 1816, - z = 2808, - facing = 1, - }, - { - name = "jumpcon", - x = 4205, - z = 2178, - facing = 2, - }, - { - name = "tankassault", - x = 4187, - z = 3527, - facing = 1, - patrolRoute = { - {4176, 3616}, - {4304, 3502}, - }, - }, - { - name = "staticmex", - x = 5000, - z = 3448, - facing = 0, - }, - { - name = "tankcon", - x = 5463, - z = 1728, - facing = 0, - }, - { - name = "turretlaser", - x = 2992, - z = 4368, - facing = 1, - }, - { - name = "planecon", - x = 5244, - z = 1878, - facing = 1, - }, - { - name = "jumpcon", - x = 4793, - z = 5430, - facing = 1, - }, - { - name = "turretlaser", - x = 5312, - z = 944, - facing = 0, - }, - { - name = "staticradar", - x = 448, - z = 4576, - facing = 1, - }, - { - name = "turretlaser", - x = 1904, - z = 2304, - facing = 1, - }, - { - name = "turretlaser", - x = 1344, - z = 5568, - facing = 1, - }, - { - name = "jumparty", - x = 4773, - z = 5083, - facing = 1, - }, - { - name = "staticradar", - x = 4976, - z = 4752, - facing = 2, - }, - { - name = "tankcon", - x = 5198, - z = 1832, - facing = 1, - }, - { - name = "energywind", - x = 792, - z = 2904, - facing = 1, - }, - { - name = "turretlaser", - x = 4960, - z = 3296, - facing = 1, - }, - { - name = "amphaa", - x = 5340, - z = 5800, - facing = 3, - }, - { - name = "spiderassault", - x = 4536, - z = 1603, - facing = 3, - patrolRoute = { - {4551, 1679}, - {4511, 1629}, - }, - }, - { - name = "energypylon", - x = 4840, - z = 3192, - facing = 1, - }, - { - name = "planeheavyfighter", - x = 6617, - z = 5787, - facing = 1, - }, - { - name = "energywind", - x = 1768, - z = 5752, - facing = 1, - }, - { - name = "planecon", - x = 5384, - z = 1702, - facing = 0, - }, - { - name = "tankcon", - x = 5376, - z = 1875, - facing = 2, - }, - { - name = "turretlaser", - x = 336, - z = 2416, - facing = 1, - }, - { - name = "spidercon", - x = 4620, - z = 827, - facing = 1, - }, - { - name = "turretlaser", - x = 2224, - z = 3680, - facing = 1, - }, - { - name = "amphcon", - x = 5143, - z = 3094, - facing = 2, - }, - { - name = "turretlaser", - x = 3264, - z = 1200, - facing = 1, - }, - { - name = "planescout", - x = 2856, - z = 5038, - facing = 3, - }, - { - name = "turretmissile", - x = 5168, - z = 3216, - facing = 1, - }, - { - name = "turretlaser", - x = 1344, - z = 3088, - facing = 1, - }, - { - name = "tankcon", - x = 5165, - z = 1521, - facing = 1, - }, - { - name = "turretlaser", - x = 2496, - z = 864, - facing = 1, - }, - { - name = "spiderassault", - x = 4507, - z = 1634, - facing = 0, - patrolRoute = { - {4511, 1628}, - {4551, 1679}, - }, - }, - { - name = "tankcon", - x = 5408, - z = 1846, - facing = 2, - }, - { - name = "jumpaa", - x = 5201, - z = 5767, - facing = 3, - }, - { - name = "tankassault", - x = 3516, - z = 1616, - facing = 1, - buildProgress = 0.7148, - }, - { - name = "turretlaser", - x = 3056, - z = 3072, - facing = 1, - }, - { - name = "tankcon", - x = 5284, - z = 1785, - facing = 2, - }, - { - name = "spiderantiheavy", - x = 5291, - z = 1953, - facing = 3, - }, - { - name = "amphaa", - x = 5435, - z = 5950, - facing = 1, - }, - { - name = "energypylon", - x = 1560, - z = 184, - facing = 1, - }, - { - name = "turretmissile", - x = 5216, - z = 3008, - facing = 1, - buildProgress = 0.43489999, - }, - { - name = "tankcon", - x = 5277, - z = 3481, - facing = 0, - }, - { - name = "staticradar", - x = 432, - z = 2592, - facing = 1, - }, - { - name = "staticstorage", - x = 2872, - z = 2712, - facing = 1, - }, - { - name = "amphaa", - x = 5361, - z = 5870, - facing = 1, - }, - { - name = "jumparty", - x = 4039, - z = 5293, - facing = 1, - }, - { - name = "staticmex", - x = 5640, - z = 104, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5224, - z = 1208, - facing = 0, - }, - { - name = "turretlaser", - x = 4800, - z = 3168, - facing = 1, - }, - { - name = "staticradar", - x = 3696, - z = 336, - facing = 0, - }, - { - name = "spidercon", - x = 4113, - z = 1051, - facing = 0, - }, - { - name = "turretlaser", - x = 3440, - z = 1872, - facing = 1, - }, - { - name = "tankcon", - x = 3428, - z = 2700, - facing = 1, - }, - { - name = "spideraa", - x = 1374, - z = 893, - facing = 0, - }, - { - name = "turretlaser", - x = 5168, - z = 1728, - facing = 0, - }, - { - name = "staticmex", - x = 5624, - z = 2152, - facing = 0, - }, - { - name = "spideraa", - x = 4192, - z = 3685, - facing = 1, - }, - { - name = "tankcon", - x = 5291, - z = 1217, - facing = 2, - }, - { - name = "staticradar", - x = 1376, - z = 1296, - facing = 1, - }, - { - name = "tankcon", - x = 4832, - z = 5708, - facing = 2, - }, - { - name = "amphaa", - x = 5201, - z = 5672, - facing = 1, - }, - { - name = "spiderantiheavy", - x = 1795, - z = 931, - facing = 1, - }, - { - name = "tankassault", - x = 4548, - z = 1662, - facing = 2, - patrolRoute = { - {4551, 1679}, - {4505, 1633}, - }, - }, - { - name = "jumpassault", - x = 3724, - z = 5793, - facing = 1, - }, - { - name = "turretheavylaser", - x = 5000, - z = 2984, - facing = 1, - }, - { - name = "turretlaser", - x = 224, - z = 5840, - facing = 1, - }, - { - name = "turretlaser", - x = 4016, - z = 2208, - facing = 1, - }, - { - name = "turretlaser", - x = 1888, - z = 128, - facing = 1, - }, - { - name = "spiderantiheavy", - x = 4295, - z = 1770, - facing = 1, - }, - { - name = "turretlaser", - x = 5488, - z = 2016, - facing = 0, - }, - { - name = "turretlaser", - x = 1328, - z = 1088, - facing = 1, - }, - { - name = "amphfloater", - x = 4295, - z = 2129, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4551, 1679}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4584, 1733}, options = {"shift"}}, - }, - }, - { - name = "tankcon", - x = 5287, - z = 3520, - facing = 2, - }, - { - name = "spidercon", - x = 3962, - z = 1008, - facing = 1, - }, - { - name = "jumpassault", - x = 3754, - z = 5792, - facing = 1, - }, - { - name = "amphfloater", - x = 4370, - z = 1938, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4551, 1679}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4519, 1734}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 5184, - z = 4704, - facing = 2, - }, - { - name = "tankassault", - x = 5122, - z = 3286, - facing = 0, - }, - { - name = "turretmissile", - x = 5344, - z = 1856, - facing = 0, - }, - { - name = "spidercrabe", - x = 2237, - z = 1184, - facing = 3, - }, - { - name = "staticcon", - x = 5256, - z = 1064, - facing = 0, - buildProgress = 0.58740002, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5256, 1064}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5281, 1089}, options = {"shift"}}, - }, - }, - { - name = "tankcon", - x = 3901, - z = 3842, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5176, - z = 1368, - facing = 0, - }, - { - name = "turretlaser", - x = 624, - z = 752, - facing = 1, - }, - { - name = "amphcon", - x = 3375, - z = 2658, - facing = 1, - }, - { - name = "tankheavyassault", - x = 4251, - z = 1673, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4551, 1679}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4581, 1735}, options = {"shift"}}, - }, - }, - { - name = "planeheavyfighter", - x = 3849, - z = 5457, - facing = 2, - }, - { - name = "turretmissile", - x = 5520, - z = 976, - facing = 0, - }, - { - name = "turretlaser", - x = 240, - z = 1536, - facing = 1, - }, - { - name = "jumpcon", - x = 4217, - z = 4254, - facing = 2, - }, - { - name = "amphcon", - x = 4632, - z = 3069, - facing = 2, - }, - { - name = "turretlaser", - x = 5680, - z = 128, - facing = 0, - }, - { - name = "jumpassault", - x = 3184, - z = 5731, - facing = 1, - }, - { - name = "tankcon", - x = 3913, - z = 2951, - facing = 2, - }, - { - name = "amphcon", - x = 4823, - z = 3504, - facing = 2, - }, - { - name = "tankcon", - x = 5353, - z = 3491, - facing = 1, - }, - { - name = "turretriot", - x = 5448, - z = 776, - facing = 0, - }, - { - name = "amphcon", - x = 4093, - z = 2352, - facing = 1, - }, - { - name = "energypylon", - x = 3400, - z = 152, - facing = 0, - }, - { - name = "jumpcon", - x = 2729, - z = 5372, - facing = 2, - }, - { - name = "planeheavyfighter", - x = 5382, - z = 6085, - facing = 1, - }, - { - name = "turretheavylaser", - x = 5224, - z = 2040, - facing = 0, - }, - { - name = "amphassault", - x = 3356, - z = 3256, - facing = 1, - buildProgress = 0.87620002, - }, - { - name = "tankheavyassault", - x = 3468, - z = 4592, - facing = 1, - buildProgress = 0.73720002, - }, - { - name = "jumpcon", - x = 2572, - z = 4080, - facing = 1, - }, - { - name = "spidercon", - x = 2524, - z = 1205, - facing = 1, - }, - { - name = "planeheavyfighter", - x = 4386, - z = 5344, - facing = 1, - }, - { - name = "jumpcon", - x = 2957, - z = 5661, - facing = 1, - }, - { - name = "turretaalaser", - x = 5160, - z = 3432, - facing = 1, - }, - { - name = "spiderassault", - x = 1714, - z = 1077, - facing = 1, - }, - { - name = "jumpassault", - x = 1318, - z = 5391, - facing = 1, - }, - { - name = "planeheavyfighter", - x = 956, - z = 2965, - facing = 1, - buildProgress = 0.7166, - }, - { - name = "striderarty", - x = 879, - z = 1249, - facing = 0, - }, - { - name = "striderarty", - x = 171, - z = 4768, - facing = 0, - }, - { - name = "striderscorpion", - x = 2576, - z = 5397, - facing = 0, - }, - { - name = "striderscorpion", - x = 2810, - z = 981, - facing = 0, - }, - { - name = "striderdante", - x = 3698, - z = 2157, - facing = 0, - }, - { - name = "striderdante", - x = 3481, - z = 3654, - facing = 1, - }, - { - name = "jumpassault", - x = 1216, - z = 5384, - facing = 1, - buildProgress = 0.0694, - }, - { - name = "turretaalaser", - x = 5384, - z = 1656, - facing = 0, - buildProgress = 0.0482, - }, - { - name = "spideraa", - x = 1276, - z = 856, - facing = 1, - buildProgress = 0.1891, - }, - { - name = "striderfunnelweb", - x = 2169, - z = 2438, - facing = 0, - }, - { - name = "striderfunnelweb", - x = 2150, - z = 2644, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energysingu", - "energygeo", - "energyheavygeo", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Singularity Reactors and Geothermals", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - unitTypes = { - "striderbantha", - }, - image = planetUtilities.ICON_DIR .. "striderbantha.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 3 Paladins", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 30*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 30:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderhub", - "striderbantha", - }, - modules = { - "weaponmod_stun_booster", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet65.lua b/campaign/dev/planets/planet65.lua deleted file mode 100644 index ad17765c7..000000000 --- a/campaign/dev/planets/planet65.lua +++ /dev/null @@ -1,4821 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/swamp03.png" - - local planetData = { - name = "Mannia", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.895, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.20, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6200 km", - primary = "Wabloz Met", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24642", - text = [[The deep water channels and hills of this battleground present a challenging tactical landscape. The ultra-heavy amphibious Detriment strider is ideally suited to such mixed terrain.]] - }, - tips = { - { - image = "unitpics/striderdetriment.png", - text = [[Detriments are the ultimate assault strider, armed with laser beams, ground-smoothing missiles, an anti-air battery, and multiple massive Gauss cannons on each arm. They are effective on land and sea and generally end battles very quickly.]] - }, - { - image = "unitpics/striderbantha.png", - text = [[Insofar as the Detriment has a weakness at all, it is heavy hitters which can strike from outside the Detriment's range, like the Paladin and Shogun.]] - }, - }, - gameConfig = { - mapName = "Rage_v1", - playerConfig = { - startX = 5500, - startZ = 750, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "striderdetriment", - }, - startUnits = { - { - name = "striderdetriment", - x = 5420, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 5288, - z = 856, - facing = 0, - }, - { - name = "staticmex", - x = 5432, - z = 552, - facing = 0, - }, - { - name = "staticmex", - x = 5400, - z = 200, - facing = 0, - }, - { - name = "staticmex", - x = 5112, - z = 3448, - facing = 0, - }, - { - name = "staticmex", - x = 5208, - z = 3016, - facing = 0, - }, - { - name = "staticmex", - x = 5112, - z = 2584, - facing = 0, - }, - { - name = "energysingu", - x = 5016, - z = 152, - facing = 0, - }, - { - name = "pw_metal", - x = 5648, - z = 160, - facing = 0, - }, - { - name = "energypylon", - x = 5368, - z = 568, - facing = 0, - }, - { - name = "energypylon", - x = 5128, - z = 1512, - facing = 0, - }, - { - name = "energypylon", - x = 5176, - z = 2504, - facing = 0, - }, - { - name = "energypylon", - x = 4776, - z = 3752, - facing = 0, - }, - { - name = "energypylon", - x = 5240, - z = 3352, - facing = 0, - }, - { - name = "staticcon", - x = 5592, - z = 792, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5592, 792}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5567, 817}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5672, - z = 792, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5672, 792}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5647, 817}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5672, - z = 872, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5672, 872}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5647, 897}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5592, - z = 872, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5592, 872}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5567, 897}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5592, - z = 952, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5592, 952}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5567, 977}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5672, - z = 952, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5672, 952}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5647, 977}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5672, - z = 1032, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5672, 1032}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5647, 1057}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5592, - z = 1032, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5592, 1032}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5567, 1057}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5592, - z = 1112, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5592, 1112}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5567, 1137}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5672, - z = 1112, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5672, 1112}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5647, 1137}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 5488, - z = 864, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5488, 864}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5463, 889}, options = {"shift"}}, - }, - }, - { - name = "turretheavy", - x = 4648, - z = 4056, - facing = 0, - }, - { - name = "turretheavy", - x = 5048, - z = 3816, - facing = 0, - }, - { - name = "turretheavy", - x = 5528, - z = 3656, - facing = 0, - }, - { - name = "turretaafar", - x = 4880, - z = 3504, - facing = 0, - }, - { - name = "turretaafar", - x = 4992, - z = 928, - facing = 0, - }, - } - }, - aiConfig = { - { - humanName = "Ally", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - -- aiLib = "Null AI", - -- bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energyheavygeo", - "energysingu", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "staticnuke", - "staticheavyarty", - "staticarty", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - "striderhub", - "striderdante", - "striderscorpion", - "striderfunnelweb", - "striderarty", - "striderantiheavy", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - }, - commander = false, - startUnits = { - { - name = "striderbantha", - x = 778, - z = 1538, - facing = 0, - difficultyAtMost = 3, - }, - { - name = "staticheavyarty", - x = 2336, - z = 752, - facing = 0, - }, - { - name = "staticheavyarty", - x = 8288, - z = 880, - facing = 0, - }, - { - name = "staticheavyradar", - x = 2208, - z = 2032, - facing = 0, - }, - { - name = "staticheavyradar", - x = 8592, - z = 2432, - facing = 0, - }, - { - name = "staticmex", - x = 3048, - z = 1496, - facing = 0, - }, - { - name = "staticmex", - x = 6568, - z = 3128, - facing = 0, - }, - { - name = "staticmex", - x = 3240, - z = 1160, - facing = 0, - }, - { - name = "staticmex", - x = 3416, - z = 1640, - facing = 0, - }, - { - name = "staticmex", - x = 7240, - z = 3496, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 3832, - facing = 0, - }, - { - name = "staticmex", - x = 3624, - z = 696, - facing = 0, - }, - { - name = "staticmex", - x = 7432, - z = 3944, - facing = 0, - }, - { - name = "tankarty", - x = 3032, - z = 4969, - facing = 0, - }, - { - name = "staticmex", - x = 4440, - z = 1848, - facing = 0, - }, - { - name = "staticmex", - x = 8264, - z = 4424, - facing = 0, - }, - { - name = "staticmex", - x = 8376, - z = 3912, - facing = 0, - }, - { - name = "staticmex", - x = 8600, - z = 3864, - facing = 0, - }, - { - name = "staticmex", - x = 3672, - z = 3384, - facing = 0, - }, - { - name = "staticmex", - x = 3336, - z = 3608, - facing = 0, - }, - { - name = "staticmex", - x = 8584, - z = 3352, - facing = 0, - }, - { - name = "staticmex", - x = 3208, - z = 3160, - facing = 0, - }, - { - name = "staticmex", - x = 8664, - z = 2696, - facing = 0, - }, - { - name = "staticmex", - x = 2840, - z = 3416, - facing = 0, - }, - { - name = "staticmex", - x = 2184, - z = 3448, - facing = 0, - }, - { - name = "staticmex", - x = 8552, - z = 1928, - facing = 0, - }, - { - name = "staticmex", - x = 8664, - z = 1176, - facing = 0, - }, - { - name = "staticmex", - x = 1976, - z = 2904, - facing = 0, - }, - { - name = "staticmex", - x = 8408, - z = 1144, - facing = 0, - }, - { - name = "staticmex", - x = 1944, - z = 2360, - facing = 0, - }, - { - name = "staticmex", - x = 8392, - z = 440, - facing = 0, - }, - { - name = "staticmex", - x = 1864, - z = 1560, - facing = 0, - }, - { - name = "staticmex", - x = 7464, - z = 728, - facing = 0, - }, - { - name = "staticmex", - x = 7576, - z = 1112, - facing = 0, - }, - { - name = "staticmex", - x = 1912, - z = 904, - facing = 0, - }, - { - name = "staticmex", - x = 7208, - z = 1064, - facing = 0, - }, - { - name = "staticmex", - x = 2232, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 6952, - z = 648, - facing = 0, - }, - { - name = "staticmex", - x = 2264, - z = 296, - facing = 0, - }, - { - name = "staticmex", - x = 6248, - z = 1896, - facing = 0, - }, - { - name = "staticmex", - x = 984, - z = 1000, - facing = 0, - }, - { - name = "staticmex", - x = 776, - z = 616, - facing = 0, - }, - { - name = "staticmex", - x = 520, - z = 1016, - facing = 0, - }, - { - name = "staticmex", - x = 936, - z = 1880, - facing = 0, - }, - { - name = "staticmex", - x = 9448, - z = 1752, - facing = 0, - }, - { - name = "staticmex", - x = 984, - z = 3064, - facing = 0, - }, - { - name = "staticmex", - x = 9880, - z = 1048, - facing = 0, - }, - { - name = "staticmex", - x = 840, - z = 3464, - facing = 0, - }, - { - name = "staticmex", - x = 9752, - z = 648, - facing = 0, - }, - { - name = "staticmex", - x = 664, - z = 3816, - facing = 0, - }, - { - name = "staticmex", - x = 9352, - z = 824, - facing = 0, - }, - { - name = "staticmex", - x = 1160, - z = 3880, - facing = 0, - }, - { - name = "staticmex", - x = 9576, - z = 3032, - facing = 0, - }, - { - name = "amphfloater", - x = 7809, - z = 5510, - facing = 2, - }, - { - name = "staticmex", - x = 9560, - z = 3576, - facing = 0, - }, - { - name = "staticmex", - x = 9736, - z = 3976, - facing = 0, - }, - { - name = "staticmex", - x = 9272, - z = 3928, - facing = 0, - }, - { - name = "energysingu", - x = 8776, - z = 136, - facing = 0, - }, - { - name = "energysingu", - x = 1448, - z = 136, - facing = 0, - }, - { - name = "energypylon", - x = 312, - z = 408, - facing = 0, - }, - { - name = "energypylon", - x = 1032, - z = 408, - facing = 0, - }, - { - name = "energypylon", - x = 1752, - z = 408, - facing = 0, - }, - { - name = "energypylon", - x = 10008, - z = 280, - facing = 0, - }, - { - name = "energypylon", - x = 9288, - z = 280, - facing = 0, - }, - { - name = "energypylon", - x = 3192, - z = 408, - facing = 0, - }, - { - name = "energypylon", - x = 8568, - z = 280, - facing = 0, - }, - { - name = "energypylon", - x = 3192, - z = 1128, - facing = 0, - }, - { - name = "energypylon", - x = 7848, - z = 280, - facing = 0, - }, - { - name = "energypylon", - x = 2472, - z = 1128, - facing = 0, - }, - { - name = "energypylon", - x = 7128, - z = 280, - facing = 0, - }, - { - name = "energypylon", - x = 1752, - z = 1128, - facing = 0, - }, - { - name = "energypylon", - x = 7128, - z = 1000, - facing = 0, - }, - { - name = "energypylon", - x = 1032, - z = 1128, - facing = 0, - }, - { - name = "energypylon", - x = 7848, - z = 1000, - facing = 0, - }, - { - name = "energypylon", - x = 312, - z = 1128, - facing = 0, - }, - { - name = "energypylon", - x = 8568, - z = 1000, - facing = 0, - }, - { - name = "energypylon", - x = 312, - z = 1848, - facing = 0, - }, - { - name = "energypylon", - x = 9288, - z = 1000, - facing = 0, - }, - { - name = "energypylon", - x = 1032, - z = 1848, - facing = 0, - }, - { - name = "energypylon", - x = 10008, - z = 1000, - facing = 0, - }, - { - name = "energypylon", - x = 1752, - z = 1848, - facing = 0, - }, - { - name = "energypylon", - x = 9288, - z = 1720, - facing = 0, - }, - { - name = "energypylon", - x = 2472, - z = 1848, - facing = 0, - }, - { - name = "energypylon", - x = 8568, - z = 1720, - facing = 0, - }, - { - name = "energypylon", - x = 3192, - z = 1848, - facing = 0, - }, - { - name = "energypylon", - x = 7848, - z = 1720, - facing = 0, - }, - { - name = "energypylon", - x = 7128, - z = 1720, - facing = 0, - }, - { - name = "energypylon", - x = 2568, - z = 248, - facing = 0, - }, - { - name = "factoryhover", - x = 1104, - z = 1472, - facing = 0, - }, - { - name = "staticcon", - x = 1064, - z = 1288, - facing = 0, - }, - { - name = "staticcon", - x = 1144, - z = 1288, - facing = 0, - }, - { - name = "factorytank", - x = 3088, - z = 3648, - facing = 0, - }, - { - name = "staticcon", - x = 3064, - z = 3512, - facing = 0, - }, - { - name = "staticcon", - x = 3144, - z = 3512, - facing = 0, - }, - { - name = "staticcon", - x = 3144, - z = 3432, - facing = 0, - }, - { - name = "staticcon", - x = 3064, - z = 3432, - facing = 0, - }, - { - name = "factoryamph", - x = 7368, - z = 3144, - facing = 0, - }, - { - name = "staticcon", - x = 7336, - z = 2936, - facing = 0, - }, - { - name = "staticcon", - x = 7416, - z = 2936, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7368, 3182}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7416, 2936}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7416, - z = 3016, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7368, 3182}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7416, 3016}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7336, - z = 3016, - facing = 0, - }, - { - name = "staticcon", - x = 1064, - z = 1192, - facing = 0, - }, - { - name = "staticcon", - x = 1144, - z = 1192, - facing = 0, - }, - { - name = "factorygunship", - x = 9240, - z = 1336, - facing = 0, - }, - { - name = "staticcon", - x = 9208, - z = 1144, - facing = 0, - }, - { - name = "staticcon", - x = 9288, - z = 1144, - facing = 0, - }, - { - name = "staticcon", - x = 9288, - z = 1224, - facing = 0, - }, - { - name = "staticcon", - x = 9208, - z = 1224, - facing = 0, - }, - { - name = "striderhub", - x = 9072, - z = 1216, - facing = 2, - }, - { - name = "striderhub", - x = 1232, - z = 1280, - facing = 2, - }, - { - name = "staticantinuke", - x = 7112, - z = 2640, - facing = 2, - }, - { - name = "staticantinuke", - x = 2808, - z = 2928, - facing = 2, - }, - { - name = "energypylon", - x = 8264, - z = 2520, - facing = 0, - }, - { - name = "energypylon", - x = 8040, - z = 3272, - facing = 0, - }, - { - name = "turretaaheavy", - x = 1920, - z = 1904, - facing = 0, - }, - { - name = "energypylon", - x = 8200, - z = 4104, - facing = 0, - }, - { - name = "turretaaheavy", - x = 8448, - z = 2096, - facing = 0, - }, - { - name = "turretaafar", - x = 1968, - z = 3824, - facing = 0, - }, - { - name = "turretaafar", - x = 2224, - z = 3824, - facing = 0, - }, - { - name = "turretaafar", - x = 8368, - z = 3584, - facing = 0, - }, - { - name = "turretaafar", - x = 8576, - z = 3568, - facing = 0, - }, - { - name = "energypylon", - x = 2888, - z = 2568, - facing = 0, - }, - { - name = "energypylon", - x = 2680, - z = 3464, - facing = 0, - }, - { - name = "energypylon", - x = 3240, - z = 3960, - facing = 0, - }, - { - name = "staticmex", - x = 2152, - z = 4184, - facing = 0, - }, - { - name = "staticmex", - x = 1896, - z = 3528, - facing = 0, - }, - { - name = "energypylon", - x = 2152, - z = 4296, - facing = 2, - }, - { - name = "turretheavy", - x = 1880, - z = 4680, - facing = 0, - }, - { - name = "turretheavy", - x = 2376, - z = 4728, - facing = 0, - }, - { - name = "staticshield", - x = 2128, - z = 4672, - facing = 0, - }, - { - name = "staticshield", - x = 2128, - z = 4736, - facing = 0, - }, - { - name = "turretheavy", - x = 8424, - z = 4600, - facing = 0, - }, - { - name = "turretheavy", - x = 7992, - z = 4568, - facing = 0, - }, - { - name = "staticshield", - x = 8176, - z = 4576, - facing = 0, - }, - { - name = "staticshield", - x = 8240, - z = 4576, - facing = 0, - }, - { - name = "turretaaflak", - x = 8088, - z = 4472, - facing = 0, - }, - { - name = "turretaaflak", - x = 8392, - z = 4472, - facing = 0, - }, - { - name = "turretaaflak", - x = 1976, - z = 4568, - facing = 0, - }, - { - name = "turretaaflak", - x = 2280, - z = 4616, - facing = 0, - }, - { - name = "staticradar", - x = 7040, - z = 3792, - facing = 3, - }, - { - name = "amphcon", - x = 3292, - z = 632, - facing = 3, - }, - { - name = "tankriot", - x = 4791, - z = 3632, - facing = 1, - }, - { - name = "striderfunnelweb", - x = 4334, - z = 3632, - facing = 1, - }, - { - name = "striderarty", - x = 7271, - z = 4946, - facing = 0, - }, - { - name = "gunshipheavyskirm", - x = 9345, - z = 5955, - facing = 3, - }, - { - name = "staticcon", - x = 1336, - z = 1448, - facing = 1, - }, - { - name = "hoverassault", - x = 5454, - z = 3357, - facing = 1, - }, - { - name = "turretmissile", - x = 912, - z = 4048, - facing = 1, - }, - { - name = "amphassault", - x = 8762, - z = 5472, - facing = 0, - }, - { - name = "gunshipcon", - x = 7930, - z = 3754, - facing = 2, - }, - { - name = "amphcon", - x = 7524, - z = 4800, - facing = 3, - }, - { - name = "turretlaser", - x = 7232, - z = 3872, - facing = 3, - }, - { - name = "hovercon", - x = 1626, - z = 2421, - facing = 1, - }, - { - name = "tankcon", - x = 4186, - z = 832, - facing = 3, - }, - { - name = "gunshipheavyskirm", - x = 7499, - z = 2936, - facing = 0, - patrolRoute = { - {7528, 2904}, - {7404, 3038}, - }, - }, - { - name = "tankcon", - x = 1658, - z = 3628, - facing = 1, - }, - { - name = "turretlaser", - x = 7504, - z = 1072, - facing = 0, - }, - { - name = "turretlaser", - x = 2912, - z = 3360, - facing = 1, - }, - { - name = "amphcon", - x = 4355, - z = 2798, - facing = 0, - }, - { - name = "staticradar", - x = 3200, - z = 3264, - facing = 1, - }, - { - name = "turretlaser", - x = 8512, - z = 3344, - facing = 3, - }, - { - name = "amphcon", - x = 3137, - z = 1063, - facing = 3, - }, - { - name = "tankcon", - x = 1000, - z = 3534, - facing = 3, - }, - { - name = "staticradar", - x = 7152, - z = 944, - facing = 0, - }, - { - name = "hovercon", - x = 1499, - z = 1386, - facing = 2, - }, - { - name = "staticradar", - x = 5328, - z = 688, - facing = 0, - }, - { - name = "turretlaser", - x = 3328, - z = 1376, - facing = 0, - }, - { - name = "turretlaser", - x = 8352, - z = 4064, - facing = 3, - }, - { - name = "staticcon", - x = 1288, - z = 1496, - facing = 1, - }, - { - name = "staticmex", - x = 3240, - z = 4600, - facing = 0, - }, - { - name = "hoverarty", - x = 7028, - z = 4403, - facing = 0, - }, - { - name = "turretlaser", - x = 8448, - z = 384, - facing = 0, - }, - { - name = "tankassault", - x = 4874, - z = 3802, - facing = 0, - }, - { - name = "amphcon", - x = 4105, - z = 2519, - facing = 3, - }, - { - name = "turretlaser", - x = 9424, - z = 1872, - facing = 3, - }, - { - name = "turretlaser", - x = 848, - z = 1440, - facing = 1, - }, - { - name = "droneheavyslow", - x = 4247, - z = 3630, - facing = 2, - }, - { - name = "turretmissile", - x = 800, - z = 3632, - facing = 1, - }, - { - name = "gunshipheavyskirm", - x = 5769, - z = 4195, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5524, 4387}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5567, 4340}, options = {"shift"}}, - }, - }, - { - name = "turretlaser", - x = 5040, - z = 2880, - facing = 0, - }, - { - name = "tankcon", - x = 1347, - z = 3127, - facing = 0, - }, - { - name = "staticradar", - x = 9296, - z = 1680, - facing = 3, - }, - { - name = "amphcon", - x = 4345, - z = 1637, - facing = 0, - }, - { - name = "turrettorp", - x = 6216, - z = 2024, - facing = 0, - }, - { - name = "staticradar", - x = 9472, - z = 3984, - facing = 3, - }, - { - name = "turretmissile", - x = 880, - z = 3424, - facing = 1, - buildProgress = 0.50989997, - }, - { - name = "turretlaser", - x = 9568, - z = 912, - facing = 3, - }, - { - name = "turretlaser", - x = 896, - z = 1936, - facing = 1, - }, - { - name = "turretlaser", - x = 1008, - z = 3600, - facing = 1, - }, - { - name = "striderarty", - x = 4716, - z = 1079, - facing = 0, - }, - { - name = "striderarty", - x = 7729, - z = 4558, - facing = 3, - }, - { - name = "staticmex", - x = 8104, - z = 5032, - facing = 0, - }, - { - name = "amphcon", - x = 6563, - z = 1984, - facing = 1, - }, - { - name = "staticradar", - x = 4960, - z = 2704, - facing = 0, - }, - { - name = "amphaa", - x = 8736, - z = 4671, - facing = 2, - }, - { - name = "turrettorp", - x = 8616, - z = 2744, - facing = 3, - }, - { - name = "dronelight", - x = 4326, - z = 3585, - facing = 1, - }, - { - name = "dronelight", - x = 4269, - z = 3558, - facing = 1, - }, - { - name = "amphcon", - x = 7442, - z = 4586, - facing = 0, - }, - { - name = "gunshipaa", - x = 7477, - z = 3187, - facing = 1, - patrolRoute = { - {7544, 3144}, - {7342, 3275}, - }, - }, - { - name = "staticradar", - x = 1040, - z = 3792, - facing = 1, - }, - { - name = "amphcon", - x = 2482, - z = 1513, - facing = 3, - }, - { - name = "turrettorp", - x = 8168, - z = 4936, - facing = 3, - }, - { - name = "turretlaser", - x = 9392, - z = 3792, - facing = 3, - }, - { - name = "tankcon", - x = 3090, - z = 4471, - facing = 2, - }, - { - name = "amphcon", - x = 7961, - z = 1964, - facing = 0, - }, - { - name = "droneheavyslow", - x = 4334, - z = 3698, - facing = 3, - }, - { - name = "tankcon", - x = 1175, - z = 1347, - facing = 1, - }, - { - name = "striderscorpion", - x = 9072, - z = 1120, - facing = 0, - buildProgress = 0.1002, - }, - { - name = "dronelight", - x = 4325, - z = 3636, - facing = 2, - }, - { - name = "staticcon", - x = 1288, - z = 1400, - facing = 1, - }, - { - name = "tankassault", - x = 3580, - z = 3686, - facing = 1, - }, - { - name = "dronelight", - x = 4252, - z = 3572, - facing = 1, - }, - { - name = "turrettorp", - x = 8776, - z = 2696, - facing = 3, - }, - { - name = "amphcon", - x = 7361, - z = 4633, - facing = 1, - }, - { - name = "turretlaser", - x = 6528, - z = 3040, - facing = 0, - }, - { - name = "hovercon", - x = 2106, - z = 3448, - facing = 1, - }, - { - name = "turretlaser", - x = 832, - z = 3840, - facing = 1, - }, - { - name = "turretlaser", - x = 1952, - z = 2864, - facing = 1, - }, - { - name = "staticmex", - x = 9512, - z = 5704, - facing = 0, - }, - { - name = "hovercon", - x = 3112, - z = 4223, - facing = 2, - }, - { - name = "dronelight", - x = 4294, - z = 3627, - facing = 1, - }, - { - name = "dronelight", - x = 4415, - z = 3632, - facing = 1, - }, - { - name = "amphraid", - x = 9614, - z = 7178, - facing = 2, - }, - { - name = "tankheavyassault", - x = 3107, - z = 4025, - facing = 2, - }, - { - name = "turrettorp", - x = 6120, - z = 1816, - facing = 0, - }, - { - name = "tankcon", - x = 1432, - z = 3216, - facing = 1, - }, - { - name = "amphcon", - x = 8743, - z = 4411, - facing = 1, - }, - { - name = "turretlaser", - x = 9472, - z = 5920, - facing = 3, - }, - { - name = "amphcon", - x = 8154, - z = 5088, - facing = 3, - }, - { - name = "amphcon", - x = 4976, - z = 2771, - facing = 3, - }, - { - name = "hovercon", - x = 2503, - z = 3822, - facing = 2, - }, - { - name = "turretheavylaser", - x = 632, - z = 3768, - facing = 1, - }, - { - name = "turrettorp", - x = 4520, - z = 1832, - facing = 0, - }, - { - name = "amphraid", - x = 9764, - z = 7272, - facing = 1, - }, - { - name = "turretlaser", - x = 5280, - z = 448, - facing = 0, - }, - { - name = "gunshipheavyskirm", - x = 7236, - z = 5047, - facing = 0, - }, - { - name = "turretlaser", - x = 2048, - z = 4192, - facing = 1, - }, - { - name = "staticcon", - x = 1336, - z = 1496, - facing = 1, - }, - { - name = "energysolar", - x = 3688, - z = 1416, - facing = 0, - }, - { - name = "turretlaser", - x = 2096, - z = 3408, - facing = 1, - }, - { - name = "staticradar", - x = 9440, - z = 5728, - facing = 3, - }, - { - name = "energypylon", - x = 4440, - z = 1624, - facing = 0, - }, - { - name = "amphraid", - x = 9628, - z = 7250, - facing = 2, - }, - { - name = "amphfloater", - x = 7735, - z = 5270, - facing = 2, - }, - { - name = "turretlaser", - x = 8528, - z = 1200, - facing = 0, - }, - { - name = "striderdante", - x = 1615, - z = 1041, - facing = 1, - }, - { - name = "staticcon", - x = 1384, - z = 1448, - facing = 1, - }, - { - name = "amphfloater", - x = 7738, - z = 5422, - facing = 0, - }, - { - name = "striderdante", - x = 9120, - z = 1830, - facing = 0, - }, - { - name = "staticstorage", - x = 4392, - z = 1832, - facing = 0, - }, - { - name = "staticcon", - x = 1288, - z = 1448, - facing = 1, - }, - { - name = "tankcon", - x = 3189, - z = 4440, - facing = 0, - }, - { - name = "amphcon", - x = 6559, - z = 2996, - facing = 2, - }, - { - name = "hovercon", - x = 1639, - z = 2310, - facing = 1, - }, - { - name = "gunshipskirm", - x = 5754, - z = 4751, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5523, 4451}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5520, 4387}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 4232, - z = 1736, - facing = 0, - }, - { - name = "amphraid", - x = 5830, - z = 4074, - facing = 3, - }, - { - name = "tankcon", - x = 3127, - z = 4447, - facing = 2, - }, - { - name = "turretmissile", - x = 7216, - z = 3664, - facing = 3, - }, - { - name = "hovercon", - x = 1472, - z = 1419, - facing = 2, - }, - { - name = "amphcon", - x = 8325, - z = 3942, - facing = 1, - }, - { - name = "tankcon", - x = 3119, - z = 4370, - facing = 2, - }, - { - name = "staticcon", - x = 1288, - z = 1304, - facing = 1, - }, - { - name = "hovercon", - x = 1598, - z = 2318, - facing = 1, - }, - { - name = "amphraid", - x = 5880, - z = 4235, - facing = 3, - }, - { - name = "turretaalaser", - x = 1048, - z = 3864, - facing = 1, - }, - { - name = "hovercon", - x = 1855, - z = 3376, - facing = 1, - }, - { - name = "staticcon", - x = 1288, - z = 1544, - facing = 1, - }, - { - name = "staticstorage", - x = 4376, - z = 1960, - facing = 0, - }, - { - name = "amphraid", - x = 6361, - z = 4282, - facing = 1, - }, - { - name = "tankassault", - x = 4935, - z = 3809, - facing = 0, - }, - { - name = "hovercon", - x = 1214, - z = 1533, - facing = 1, - }, - { - name = "energypylon", - x = 4312, - z = 1432, - facing = 0, - }, - { - name = "amphcon", - x = 7424, - z = 3563, - facing = 0, - }, - { - name = "turretmissile", - x = 5168, - z = 2720, - facing = 0, - }, - { - name = "hovercon", - x = 1488, - z = 1446, - facing = 2, - }, - { - name = "amphcon", - x = 7309, - z = 3617, - facing = 3, - }, - { - name = "staticcon", - x = 1336, - z = 1544, - facing = 1, - }, - { - name = "energysolar", - x = 4920, - z = 2280, - facing = 0, - }, - { - name = "turrettorp", - x = 2072, - z = 2328, - facing = 1, - }, - { - name = "hoveraa", - x = 4721, - z = 3164, - facing = 0, - }, - { - name = "staticcon", - x = 1336, - z = 1352, - facing = 1, - }, - { - name = "gunshipaa", - x = 8607, - z = 3910, - facing = 2, - }, - { - name = "staticcon", - x = 1384, - z = 1496, - facing = 1, - }, - { - name = "staticcon", - x = 1336, - z = 1304, - facing = 1, - }, - { - name = "turretlaser", - x = 5248, - z = 2928, - facing = 0, - }, - { - name = "energywind", - x = 4840, - z = 2104, - facing = 0, - }, - { - name = "amphraid", - x = 5909, - z = 4231, - facing = 0, - }, - { - name = "hovercon", - x = 2497, - z = 3588, - facing = 1, - }, - { - name = "tankcon", - x = 3077, - z = 4365, - facing = 2, - }, - { - name = "staticcon", - x = 1384, - z = 1352, - facing = 1, - }, - { - name = "energywind", - x = 4760, - z = 2024, - facing = 0, - }, - { - name = "amphcon", - x = 7406, - z = 4594, - facing = 0, - }, - { - name = "staticcon", - x = 1288, - z = 1592, - facing = 1, - }, - { - name = "staticcon", - x = 1384, - z = 1544, - facing = 1, - }, - { - name = "turretlaser", - x = 7056, - z = 4000, - facing = 3, - }, - { - name = "staticradar", - x = 3488, - z = 1248, - facing = 0, - }, - { - name = "tankcon", - x = 4420, - z = 3383, - facing = 1, - }, - { - name = "hoverraid", - x = 4451, - z = 3286, - facing = 1, - }, - { - name = "turretriot", - x = 1112, - z = 3784, - facing = 1, - }, - { - name = "amphcon", - x = 7391, - z = 3423, - facing = 0, - }, - { - name = "staticstorage", - x = 4552, - z = 1928, - facing = 0, - }, - { - name = "staticcon", - x = 1336, - z = 1592, - facing = 1, - }, - { - name = "hoverraid", - x = 4033, - z = 3027, - facing = 1, - }, - { - name = "staticcon", - x = 1288, - z = 1640, - facing = 1, - }, - { - name = "tankcon", - x = 3048, - z = 4537, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4888, - z = 2744, - facing = 0, - buildProgress = 0.5309, - }, - { - name = "hoverraid", - x = 3939, - z = 2963, - facing = 1, - }, - { - name = "amphcon", - x = 7395, - z = 3625, - facing = 0, - }, - { - name = "staticcon", - x = 1432, - z = 1432, - facing = 1, - }, - { - name = "gunshipcon", - x = 8559, - z = 2420, - facing = 0, - }, - { - name = "staticcon", - x = 1432, - z = 1480, - facing = 1, - }, - { - name = "hovercon", - x = 1198, - z = 2902, - facing = 1, - }, - { - name = "turretheavylaser", - x = 7352, - z = 3512, - facing = 3, - }, - { - name = "staticcon", - x = 1432, - z = 1384, - facing = 1, - }, - { - name = "energywind", - x = 3816, - z = 1416, - facing = 0, - }, - { - name = "tankassault", - x = 3198, - z = 3766, - facing = 1, - }, - { - name = "staticcon", - x = 1384, - z = 1400, - facing = 1, - }, - { - name = "hoverraid", - x = 2698, - z = 2540, - facing = 1, - }, - { - name = "energypylon", - x = 6568, - z = 2904, - facing = 0, - buildProgress = 0.7737, - }, - { - name = "hoverraid", - x = 2501, - z = 2414, - facing = 1, - }, - { - name = "amphraid", - x = 6683, - z = 3554, - facing = 3, - }, - { - name = "hoverraid", - x = 1960, - z = 2232, - facing = 1, - }, - { - name = "gunshipaa", - x = 9243, - z = 1587, - facing = 0, - }, - { - name = "staticcon", - x = 1288, - z = 1352, - facing = 1, - }, - { - name = "hoverraid", - x = 1064, - z = 2057, - facing = 0, - }, - { - name = "amphimpulse", - x = 7366, - z = 3193, - facing = 0, - }, - { - name = "striderantiheavy", - x = 1232, - z = 1200, - facing = 0, - buildProgress = 0.53860003, - }, - { - name = "energypylon", - x = 1720, - z = 2360, - facing = 1, - buildProgress = 0.29159999, - }, - { - name = "turretmissile", - x = 8064, - z = 5120, - facing = 3, - buildProgress = 0.3574, - }, - { - name = "gunshipaa", - x = 9240, - z = 1337, - facing = 2, - buildProgress = 0.73949999, - }, - { - name = "hoverraid", - x = 1104, - z = 1440, - facing = 0, - }, - { - name = "staticcon", - x = 1384, - z = 1304, - facing = 1, - buildProgress = 0.77420002, - }, - { - name = "tankcon", - x = 3088, - z = 3676, - facing = 0, - buildProgress = 0.1093, - }, - { - name = "staticcon", - x = 1336, - z = 1400, - facing = 1, - buildProgress = 0.0556, - }, - { - name = "turretmissile", - x = 7408, - z = 3744, - facing = 3, - buildProgress = 0.0874, - }, - { - name = "turretlaser", - x = 3264, - z = 4544, - facing = 1, - buildProgress = 0.0305, - }, - } - }, - { - startX = 4900, - startZ = 8700, - humanName = "Enemy", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - -- aiLib = "Null AI", - -- bitDependant = false, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energyheavygeo", - "energysingu", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "staticnuke", - "staticheavyarty", - "staticarty", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - "striderhub", - "striderdante", - "striderscorpion", - "striderfunnelweb", - "striderarty", - "striderantiheavy", - "striderbantha", - "shipcarrier", - "shipheavyarty", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - }, - commanderLevel = 7, - commander = { - name = "Yngas", - chassis = "strike", - modules = { - "commweapon_beamlaser", - "commweapon_beamlaser", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_autorepair", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - } - }, - midgameUnits = { - { - name = "striderbantha", - x = 900, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 6*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "striderfunnelweb", - x = 9800, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 9800, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 6*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 9800, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 6*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "striderbantha", - x = 9800, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "striderdante", - x = 9800, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "striderdante", - x = 9800, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 900, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 900, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 12*30*60, - orbitalDrop = true, - }, - { - name = "striderfunnelweb", - x = 900, - z = 9000, - facing = 0, - spawnRadius = 150, - delay = 12*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "staticheavyarty", - x = 4912, - z = 8688, - facing = 2, - }, - { - name = "staticheavyarty", - x = 5120, - z = 8688, - facing = 2, - }, - { - name = "energypylon", - x = 4136, - z = 9944, - facing = 0, - }, - { - name = "staticmex", - x = 4936, - z = 9128, - facing = 0, - }, - { - name = "staticmex", - x = 5080, - z = 8776, - facing = 0, - }, - { - name = "staticmex", - x = 2936, - z = 8728, - facing = 0, - }, - { - name = "staticmex", - x = 3048, - z = 9160, - facing = 0, - }, - { - name = "striderdante", - x = 7797, - z = 6434, - facing = 1, - }, - { - name = "staticmex", - x = 3384, - z = 8920, - facing = 0, - }, - { - name = "staticmex", - x = 3496, - z = 9368, - facing = 0, - }, - { - name = "staticmex", - x = 6088, - z = 8408, - facing = 0, - }, - { - name = "staticmex", - x = 4152, - z = 8328, - facing = 0, - }, - { - name = "staticmex", - x = 6728, - z = 9080, - facing = 0, - }, - { - name = "staticmex", - x = 7176, - z = 9320, - facing = 0, - }, - { - name = "staticmex", - x = 7144, - z = 9784, - facing = 0, - }, - { - name = "staticmex", - x = 7528, - z = 9624, - facing = 0, - }, - { - name = "staticmex", - x = 2312, - z = 9032, - facing = 0, - }, - { - name = "staticmex", - x = 2040, - z = 9032, - facing = 0, - }, - { - name = "staticmex", - x = 8216, - z = 9416, - facing = 0, - }, - { - name = "staticmex", - x = 8488, - z = 9384, - facing = 0, - }, - { - name = "staticmex", - x = 2232, - z = 8440, - facing = 0, - }, - { - name = "staticmex", - x = 8440, - z = 9896, - facing = 0, - }, - { - name = "staticmex", - x = 2056, - z = 7496, - facing = 0, - }, - { - name = "staticmex", - x = 9320, - z = 9432, - facing = 0, - }, - { - name = "staticmex", - x = 9528, - z = 9080, - facing = 0, - }, - { - name = "staticmex", - x = 2152, - z = 6792, - facing = 0, - }, - { - name = "staticmex", - x = 9752, - z = 9448, - facing = 0, - }, - { - name = "staticmex", - x = 2168, - z = 6184, - facing = 0, - }, - { - name = "staticmex", - x = 2408, - z = 6152, - facing = 0, - }, - { - name = "staticmex", - x = 9768, - z = 8168, - facing = 0, - }, - { - name = "staticmex", - x = 2184, - z = 5736, - facing = 0, - }, - { - name = "staticmex", - x = 1256, - z = 6040, - facing = 0, - }, - { - name = "staticmex", - x = 8376, - z = 7800, - facing = 0, - }, - { - name = "staticmex", - x = 696, - z = 6072, - facing = 0, - }, - { - name = "staticmex", - x = 8376, - z = 8584, - facing = 0, - }, - { - name = "staticmex", - x = 936, - z = 5544, - facing = 0, - }, - { - name = "staticmex", - x = 1032, - z = 6872, - facing = 0, - }, - { - name = "staticmex", - x = 8328, - z = 6984, - facing = 0, - }, - { - name = "gunshipassault", - x = 2512, - z = 8073, - facing = 2, - }, - { - name = "staticmex", - x = 7992, - z = 6200, - facing = 0, - }, - { - name = "staticmex", - x = 952, - z = 8648, - facing = 0, - }, - { - name = "staticradar", - x = 9360, - z = 9440, - facing = 2, - }, - { - name = "staticmex", - x = 984, - z = 9448, - facing = 0, - }, - { - name = "turretaaflak", - x = 5016, - z = 8648, - facing = 2, - }, - { - name = "staticmex", - x = 840, - z = 9864, - facing = 0, - }, - { - name = "staticmex", - x = 7224, - z = 5624, - facing = 0, - }, - { - name = "staticmex", - x = 440, - z = 9528, - facing = 0, - }, - { - name = "shipcon", - x = 6458, - z = 5214, - facing = 2, - }, - { - name = "staticmex", - x = 2264, - z = 9752, - facing = 0, - }, - { - name = "staticmex", - x = 7336, - z = 7080, - facing = 0, - }, - { - name = "shiparty", - x = 6727, - z = 8004, - facing = 1, - }, - { - name = "turretlaser", - x = 7216, - z = 6208, - facing = 3, - }, - { - name = "staticmex", - x = 5240, - z = 6488, - facing = 0, - }, - { - name = "staticmex", - x = 3048, - z = 6712, - facing = 0, - }, - { - name = "staticmex", - x = 5256, - z = 5960, - facing = 0, - }, - { - name = "staticmex", - x = 3512, - z = 6776, - facing = 0, - }, - { - name = "staticmex", - x = 3928, - z = 6600, - facing = 0, - }, - { - name = "staticmex", - x = 3352, - z = 6344, - facing = 0, - }, - { - name = "hoverarty", - x = 9105, - z = 7671, - facing = 3, - }, - { - name = "turretmissile", - x = 5216, - z = 5584, - facing = 2, - }, - { - name = "staticmex", - x = 6056, - z = 5160, - facing = 0, - }, - { - name = "turretlaser", - x = 8256, - z = 9648, - facing = 2, - }, - { - name = "shipskirm", - x = 5552, - z = 8123, - facing = 2, - }, - { - name = "pw_metal", - x = 192, - z = 8528, - facing = 0, - }, - { - name = "pw_metal", - x = 2240, - z = 10096, - facing = 0, - }, - { - name = "pw_metal", - x = 8400, - z = 10128, - facing = 0, - }, - { - name = "pw_metal", - x = 10112, - z = 8656, - facing = 0, - }, - { - name = "energysingu", - x = 5720, - z = 10120, - facing = 0, - }, - { - name = "energysingu", - x = 4680, - z = 10184, - facing = 0, - }, - { - name = "energysingu", - x = 10168, - z = 10152, - facing = 0, - }, - { - name = "energysingu", - x = 88, - z = 10120, - facing = 0, - }, - { - name = "energypylon", - x = 9960, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 9240, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 7800, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 7080, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 6360, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 5640, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 3480, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 2760, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 2040, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 1320, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 600, - z = 10008, - facing = 0, - }, - { - name = "energypylon", - x = 600, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 1320, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 2760, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 3480, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 4200, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 4920, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 5640, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 6360, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 7080, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 7800, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 8520, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 9240, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 9960, - z = 9288, - facing = 0, - }, - { - name = "energypylon", - x = 9960, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 9240, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 8520, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 5640, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 4920, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 4200, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 3480, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 2760, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 2040, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 1320, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 600, - z = 8568, - facing = 0, - }, - { - name = "energypylon", - x = 4776, - z = 9976, - facing = 0, - }, - { - name = "factoryship", - x = 5840, - z = 8608, - facing = 2, - }, - { - name = "staticcon", - x = 5960, - z = 8568, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5960, 8568}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5832, 8607}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6040, - z = 8568, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6040, 8568}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5832, 8607}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6040, - z = 8648, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6040, 8648}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5832, 8607}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5960, - z = 8648, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5960, 8648}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5832, 8607}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5960, - z = 8728, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5960, 8728}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5832, 8607}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6040, - z = 8728, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6040, 8728}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5832, 8607}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 4128, - z = 8976, - facing = 2, - }, - { - name = "staticcon", - x = 4024, - z = 8840, - facing = 2, - }, - { - name = "staticcon", - x = 3944, - z = 8840, - facing = 2, - }, - { - name = "staticcon", - x = 3944, - z = 8920, - facing = 2, - }, - { - name = "staticcon", - x = 4024, - z = 8920, - facing = 2, - }, - { - name = "staticcon", - x = 4024, - z = 9000, - facing = 2, - }, - { - name = "staticcon", - x = 3944, - z = 9000, - facing = 2, - }, - { - name = "factorygunship", - x = 1304, - z = 9608, - facing = 2, - }, - { - name = "staticcon", - x = 1272, - z = 9736, - facing = 2, - }, - { - name = "staticcon", - x = 1352, - z = 9736, - facing = 2, - }, - { - name = "staticcon", - x = 1352, - z = 9816, - facing = 2, - }, - { - name = "staticcon", - x = 1272, - z = 9816, - facing = 2, - }, - { - name = "factoryamph", - x = 3288, - z = 7144, - facing = 2, - }, - { - name = "staticcon", - x = 3256, - z = 7288, - facing = 2, - }, - { - name = "staticcon", - x = 3336, - z = 7288, - facing = 2, - }, - { - name = "staticcon", - x = 3336, - z = 7368, - facing = 2, - }, - { - name = "staticcon", - x = 3256, - z = 7368, - facing = 2, - }, - { - name = "factorytank", - x = 7120, - z = 7392, - facing = 2, - }, - { - name = "staticcon", - x = 7080, - z = 7528, - facing = 2, - }, - { - name = "staticcon", - x = 7160, - z = 7528, - facing = 2, - }, - { - name = "staticcon", - x = 7160, - z = 7608, - facing = 2, - }, - { - name = "staticcon", - x = 7080, - z = 7608, - facing = 2, - }, - { - name = "factoryhover", - x = 9552, - z = 8752, - facing = 2, - }, - { - name = "staticcon", - x = 9464, - z = 8920, - facing = 2, - }, - { - name = "staticcon", - x = 9544, - z = 8920, - facing = 2, - }, - { - name = "staticcon", - x = 9624, - z = 8920, - facing = 2, - }, - { - name = "staticcon", - x = 9704, - z = 8920, - facing = 2, - }, - { - name = "striderhub", - x = 1104, - z = 9808, - facing = 2, - }, - { - name = "striderhub", - x = 9760, - z = 9040, - facing = 2, - }, - { - name = "staticantinuke", - x = 8136, - z = 7504, - facing = 2, - }, - { - name = "staticantinuke", - x = 4936, - z = 8864, - facing = 2, - }, - { - name = "staticantinuke", - x = 1992, - z = 7056, - facing = 2, - }, - { - name = "staticheavyradar", - x = 2368, - z = 8096, - facing = 0, - }, - { - name = "staticheavyradar", - x = 8576, - z = 8080, - facing = 0, - }, - { - name = "staticshield", - x = 5008, - z = 8752, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5272, - z = 8616, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5048, - z = 8520, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4760, - z = 8664, - facing = 2, - }, - { - name = "turretaaflak", - x = 4792, - z = 8856, - facing = 2, - }, - { - name = "turretaaflak", - x = 5256, - z = 8856, - facing = 2, - }, - { - name = "turretheavylaser", - x = 2712, - z = 6008, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3000, - z = 6152, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3224, - z = 6200, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3528, - z = 6136, - facing = 2, - }, - { - name = "turretaalaser", - x = 3400, - z = 6232, - facing = 2, - }, - { - name = "turretaalaser", - x = 2824, - z = 6152, - facing = 2, - }, - { - name = "turretheavylaser", - x = 4872, - z = 5752, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5112, - z = 5784, - facing = 2, - }, - { - name = "turretheavylaser", - x = 5336, - z = 5752, - facing = 2, - }, - { - name = "turretaalaser", - x = 4984, - z = 5832, - facing = 2, - }, - { - name = "turretaalaser", - x = 5224, - z = 5832, - facing = 2, - }, - { - name = "turretheavylaser", - x = 6840, - z = 5912, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7112, - z = 6008, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7352, - z = 6040, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7608, - z = 5976, - facing = 2, - }, - { - name = "turretaalaser", - x = 7496, - z = 6040, - facing = 2, - }, - { - name = "turretaalaser", - x = 6952, - z = 6008, - facing = 2, - }, - { - name = "staticshield", - x = 6896, - z = 6128, - facing = 2, - }, - { - name = "staticshield", - x = 7504, - z = 6192, - facing = 2, - }, - { - name = "staticshield", - x = 3424, - z = 6384, - facing = 2, - }, - { - name = "staticshield", - x = 2752, - z = 6240, - facing = 2, - }, - { - name = "staticshield", - x = 5104, - z = 5856, - facing = 2, - }, - { - name = "shipcon", - x = 5883, - z = 7339, - facing = 2, - }, - { - name = "staticstorage", - x = 5016, - z = 8792, - facing = 2, - }, - { - name = "striderdante", - x = 6377, - z = 6466, - facing = 1, - }, - { - name = "staticradar", - x = 7184, - z = 9600, - facing = 2, - }, - { - name = "turrettorp", - x = 6152, - z = 5032, - facing = 3, - }, - { - name = "striderbantha", - x = 1104, - z = 9712, - facing = 0, - buildProgress = 0.85110003, - }, - { - name = "staticstorage", - x = 5064, - z = 8728, - facing = 2, - }, - { - name = "striderbantha", - x = 9799, - z = 8953, - facing = 1, - }, - { - name = "turrettorp", - x = 8328, - z = 7896, - facing = 3, - }, - { - name = "hoverraid", - x = 5455, - z = 5036, - facing = 3, - }, - { - name = "shiparty", - x = 4317, - z = 5107, - facing = 2, - }, - { - name = "hovercon", - x = 7965, - z = 9159, - facing = 2, - }, - { - name = "amphraid", - x = 5573, - z = 5023, - facing = 3, - }, - { - name = "shipcon", - x = 4897, - z = 7679, - facing = 1, - }, - { - name = "energywind", - x = 5992, - z = 8920, - facing = 2, - }, - { - name = "amphassault", - x = 6541, - z = 5532, - facing = 0, - }, - { - name = "staticradar", - x = 3856, - z = 6816, - facing = 2, - }, - { - name = "shipcon", - x = 5714, - z = 4971, - facing = 1, - }, - { - name = "energysolar", - x = 5144, - z = 8776, - facing = 2, - }, - { - name = "gunshipheavyskirm", - x = 5746, - z = 5592, - facing = 1, - }, - { - name = "turretlaser", - x = 6080, - z = 8592, - facing = 2, - }, - { - name = "shipassault", - x = 5494, - z = 7252, - facing = 2, - }, - { - name = "hovercon", - x = 7964, - z = 6882, - facing = 1, - }, - { - name = "turretlaser", - x = 8416, - z = 6912, - facing = 3, - }, - { - name = "turretlaser", - x = 7328, - z = 9456, - facing = 2, - }, - { - name = "amphraid", - x = 5616, - z = 4616, - facing = 0, - }, - { - name = "hoverarty", - x = 6180, - z = 6498, - facing = 1, - }, - { - name = "turrettorp", - x = 4088, - z = 8280, - facing = 2, - }, - { - name = "staticstorage", - x = 5208, - z = 8744, - facing = 2, - }, - { - name = "tankarty", - x = 8487, - z = 6633, - facing = 0, - }, - { - name = "turretlaser", - x = 2160, - z = 6880, - facing = 1, - }, - { - name = "amphcon", - x = 1872, - z = 5499, - facing = 2, - }, - { - name = "shipcon", - x = 5848, - z = 8831, - facing = 0, - }, - { - name = "striderbantha", - x = 4889, - z = 7349, - facing = 2, - }, - { - name = "hoverraid", - x = 5119, - z = 5086, - facing = 3, - }, - { - name = "staticradar", - x = 4192, - z = 8368, - facing = 2, - }, - { - name = "amphfloater", - x = 5126, - z = 7315, - facing = 1, - }, - { - name = "shipassault", - x = 5435, - z = 7328, - facing = 2, - }, - { - name = "gunshipcon", - x = 2711, - z = 8108, - facing = 1, - }, - { - name = "tankcon", - x = 7213, - z = 5921, - facing = 2, - }, - { - name = "tankassault", - x = 8558, - z = 6184, - facing = 1, - }, - { - name = "staticstorage", - x = 5064, - z = 8680, - facing = 2, - }, - { - name = "amphaa", - x = 3416, - z = 6035, - facing = 2, - }, - { - name = "turretlaser", - x = 7184, - z = 6896, - facing = 3, - }, - { - name = "turretlaser", - x = 8416, - z = 8688, - facing = 2, - }, - { - name = "hovercon", - x = 9618, - z = 7584, - facing = 2, - }, - { - name = "amphcon", - x = 4278, - z = 6473, - facing = 3, - }, - { - name = "turrettorp", - x = 2008, - z = 7448, - facing = 1, - }, - { - name = "turretlaser", - x = 2208, - z = 6064, - facing = 1, - }, - { - name = "amphcon", - x = 1179, - z = 6612, - facing = 1, - }, - { - name = "staticradar", - x = 7008, - z = 7024, - facing = 3, - }, - { - name = "tankcon", - x = 7153, - z = 5636, - facing = 0, - }, - { - name = "turretlaser", - x = 848, - z = 9504, - facing = 2, - }, - { - name = "shipcon", - x = 4423, - z = 6184, - facing = 2, - }, - { - name = "energypylon", - x = 8152, - z = 7592, - facing = 3, - }, - { - name = "staticstorage", - x = 5160, - z = 8712, - facing = 2, - }, - { - name = "staticradar", - x = 2224, - z = 7632, - facing = 1, - }, - { - name = "tankheavyarty", - x = 7631, - z = 6361, - facing = 1, - }, - { - name = "hoverraid", - x = 6071, - z = 6331, - facing = 3, - }, - { - name = "amphcon", - x = 3486, - z = 5750, - facing = 3, - }, - { - name = "energysolar", - x = 2040, - z = 9336, - facing = 2, - }, - { - name = "staticradar", - x = 2352, - z = 6208, - facing = 1, - }, - { - name = "shipcon", - x = 5973, - z = 5181, - facing = 2, - }, - { - name = "turretlaser", - x = 9408, - z = 9232, - facing = 3, - }, - { - name = "staticradar", - x = 928, - z = 9680, - facing = 2, - }, - { - name = "energypylon", - x = 1832, - z = 7496, - facing = 1, - }, - { - name = "shipcon", - x = 5758, - z = 6880, - facing = 1, - }, - { - name = "gunshipheavyskirm", - x = 7495, - z = 7495, - facing = 1, - patrolRoute = { - {7496, 7496}, - {7365, 7365}, - }, - }, - { - name = "turrettorp", - x = 5976, - z = 8280, - facing = 2, - }, - { - name = "turretlaser", - x = 5120, - z = 9040, - facing = 2, - }, - { - name = "amphcon", - x = 6025, - z = 5220, - facing = 3, - }, - { - name = "turretlaser", - x = 1024, - z = 8560, - facing = 1, - }, - { - name = "turretlaser", - x = 5568, - z = 8592, - facing = 2, - }, - { - name = "turrettorp", - x = 8312, - z = 7816, - facing = 3, - }, - { - name = "staticradar", - x = 6032, - z = 8384, - facing = 2, - }, - { - name = "shipcon", - x = 5728, - z = 6777, - facing = 2, - }, - { - name = "tankcon", - x = 7176, - z = 5943, - facing = 2, - }, - { - name = "shipcon", - x = 5397, - z = 7537, - facing = 1, - }, - { - name = "hovercon", - x = 9685, - z = 7503, - facing = 3, - }, - { - name = "amphcon", - x = 5810, - z = 6568, - facing = 1, - }, - { - name = "tankcon", - x = 6880, - z = 6957, - facing = 0, - }, - { - name = "shipcon", - x = 5067, - z = 4888, - facing = 3, - }, - { - name = "energysolar", - x = 2040, - z = 9144, - facing = 2, - }, - { - name = "hoveraa", - x = 8613, - z = 6041, - facing = 1, - }, - { - name = "turretlaser", - x = 8224, - z = 6832, - facing = 3, - }, - { - name = "gunshipaa", - x = 7535, - z = 7122, - facing = 1, - }, - { - name = "amphcon", - x = 1792, - z = 5676, - facing = 2, - }, - { - name = "turretlaser", - x = 9824, - z = 8256, - facing = 3, - }, - { - name = "turretlaser", - x = 3824, - z = 6624, - facing = 2, - }, - { - name = "shipaa", - x = 4986, - z = 7516, - facing = 2, - }, - { - name = "energywind", - x = 8344, - z = 8072, - facing = 3, - }, - { - name = "turretlaser", - x = 8048, - z = 6272, - facing = 3, - }, - { - name = "tankassault", - x = 7929, - z = 6271, - facing = 2, - }, - { - name = "energywind", - x = 2040, - z = 9464, - facing = 2, - }, - { - name = "amphaa", - x = 3423, - z = 6077, - facing = 2, - }, - { - name = "amphimpulse", - x = 6264, - z = 6458, - facing = 1, - }, - { - name = "gunshipaa", - x = 8319, - z = 6762, - facing = 3, - }, - { - name = "turretlaser", - x = 928, - z = 5824, - facing = 1, - }, - { - name = "hoverraid", - x = 5295, - z = 5063, - facing = 3, - }, - { - name = "shiparty", - x = 6643, - z = 8052, - facing = 1, - }, - { - name = "turretlaser", - x = 7920, - z = 6464, - facing = 3, - }, - { - name = "turretlaser", - x = 2144, - z = 9808, - facing = 2, - }, - { - name = "turretlaser", - x = 3216, - z = 8800, - facing = 2, - }, - { - name = "staticmex", - x = 6904, - z = 7112, - facing = 0, - buildProgress = 0.2299, - }, - { - name = "tankcon", - x = 6349, - z = 6880, - facing = 3, - }, - { - name = "amphraid", - x = 5509, - z = 4681, - facing = 1, - }, - { - name = "gunshipcon", - x = 5638, - z = 5175, - facing = 2, - }, - { - name = "tankcon", - x = 5557, - z = 6846, - facing = 0, - }, - { - name = "shipskirm", - x = 5559, - z = 7063, - facing = 2, - }, - { - name = "amphraid", - x = 5621, - z = 4640, - facing = 1, - }, - { - name = "hoverassault", - x = 8202, - z = 7769, - facing = 3, - }, - { - name = "shiptorpraider", - x = 4685, - z = 7082, - facing = 2, - }, - { - name = "amphraid", - x = 5554, - z = 4700, - facing = 1, - }, - { - name = "amphraid", - x = 5620, - z = 4668, - facing = 1, - }, - { - name = "gunshipassault", - x = 4077, - z = 6983, - facing = 2, - }, - { - name = "amphraid", - x = 5644, - z = 4614, - facing = 1, - }, - { - name = "tankcon", - x = 8180, - z = 6245, - facing = 1, - }, - { - name = "shipcon", - x = 4511, - z = 6007, - facing = 0, - }, - { - name = "staticmex", - x = 5176, - z = 5576, - facing = 0, - }, - { - name = "amphcon", - x = 1755, - z = 5697, - facing = 2, - }, - { - name = "tankassault", - x = 8899, - z = 5975, - facing = 1, - }, - { - name = "turretmissile", - x = 7968, - z = 6080, - facing = 3, - }, - { - name = "energypylon", - x = 8328, - z = 6760, - facing = 3, - }, - { - name = "turretlaser", - x = 7328, - z = 5648, - facing = 3, - }, - { - name = "shipcon", - x = 5754, - z = 7250, - facing = 1, - }, - { - name = "turretlaser", - x = 2192, - z = 8816, - facing = 2, - }, - { - name = "striderscorpion", - x = 4564, - z = 8736, - facing = 1, - }, - { - name = "amphraid", - x = 5249, - z = 5264, - facing = 3, - }, - { - name = "hoverraid", - x = 5812, - z = 6349, - facing = 3, - }, - { - name = "turretlaser", - x = 5408, - z = 5968, - facing = 2, - }, - { - name = "staticradar", - x = 6032, - z = 5392, - facing = 3, - }, - { - name = "amphcon", - x = 4495, - z = 5759, - facing = 1, - }, - { - name = "shipcon", - x = 5929, - z = 7367, - facing = 2, - }, - { - name = "tankassault", - x = 8226, - z = 6204, - facing = 1, - }, - { - name = "turretmissile", - x = 8240, - z = 7040, - facing = 3, - }, - { - name = "shipskirm", - x = 6544, - z = 8009, - facing = 3, - }, - { - name = "hovercon", - x = 8120, - z = 9252, - facing = 3, - }, - { - name = "staticcon", - x = 9768, - z = 9176, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9792, 8943}, options = {"shift"}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9768, 9176}, options = {"shift"}}, - }, - }, - { - name = "amphcon", - x = 2951, - z = 8020, - facing = 0, - }, - { - name = "shipcarrier", - x = 4160, - z = 8832, - facing = 0, - buildProgress = 0.69440001, - }, - { - name = "shipassault", - x = 5245, - z = 7680, - facing = 2, - }, - { - name = "amphcon", - x = 3320, - z = 6114, - facing = 2, - }, - { - name = "hovercon", - x = 9495, - z = 7113, - facing = 2, - }, - { - name = "tankaa", - x = 7728, - z = 6522, - facing = 1, - }, - { - name = "turretmissile", - x = 6016, - z = 5184, - facing = 3, - }, - { - name = "amphaa", - x = 3456, - z = 6284, - facing = 2, - }, - { - name = "turretlaser", - x = 976, - z = 6896, - facing = 1, - }, - { - name = "turretheavylaser", - x = 7112, - z = 5784, - facing = 3, - buildProgress = 0.88029999, - }, - { - name = "amphcon", - x = 3051, - z = 7705, - facing = 0, - }, - { - name = "hoveraa", - x = 9632, - z = 8389, - facing = 2, - }, - { - name = "energywind", - x = 1928, - z = 7912, - facing = 1, - }, - { - name = "amphaa", - x = 3272, - z = 6641, - facing = 2, - }, - { - name = "striderdante", - x = 3383, - z = 6623, - facing = 1, - }, - { - name = "gunshipaa", - x = 1477, - z = 9408, - facing = 2, - }, - { - name = "turrettorp", - x = 1944, - z = 5416, - facing = 1, - buildProgress = 0.69999999, - }, - { - name = "tankaa", - x = 7120, - z = 7364, - facing = 2, - buildProgress = 0.63270003, - }, - { - name = "staticcon", - x = 5944, - z = 5288, - facing = 3, - buildProgress = 0.33399999, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5944, 5288}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5919, 5263}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 8248, - z = 6152, - facing = 0, - buildProgress = 0.87330002, - }, - { - name = "gunshipaa", - x = 1304, - z = 9607, - facing = 0, - buildProgress = 0.1567, - }, - { - name = "shipskirm", - x = 5832, - z = 8607, - facing = 2, - }, - { - name = "hoveraa", - x = 9551, - z = 8784, - facing = 2, - buildProgress = 0.27990001, - }, - { - name = "amphaa", - x = 3288, - z = 7108, - facing = 2, - buildProgress = 0.37220001, - }, - } - }, - }, - defeatConditionConfig = { - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energysingu", - "pw_metal", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Singularity Reactors and Ancient Fabricators", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyForever = true, - failOnUnitLoss = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "striderdetriment", - }, - image = planetUtilities.ICON_DIR .. "striderdetriment.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose any Detriments", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 30*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 30:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "striderdetriment", - }, - modules = { - - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet66.lua b/campaign/dev/planets/planet66.lua deleted file mode 100644 index 4806a9fc8..000000000 --- a/campaign/dev/planets/planet66.lua +++ /dev/null @@ -1,2899 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/desert02.png" - - local planetData = { - name = "Caderical", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.77, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.13, - image = image, - size = planetUtilities.PLANET_SIZE_MAP * 1.25, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Desert", - radius = "8400 km", - primary = "Taolis", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24642", - text = [[Two duelling Zenith meteor controllers threaten to reduce this planet to space dust. If you can destroy the enemy Zenith, you'll at least have the satisfaction of being the owner of that space dust.]] - }, - tips = { - { - image = "unitpics/zenith.png", - text = [[The Zenith collects meteors from orbit and holds them in reserve until given an attack order, whereupon it flings all its collected meteors (and any new ones) at the target. Be warned that if you collect too many meteors, they might fall on your base instead.]] - }, - { - image = "unitpics/cloakassault.png", - text = [[You have a wide variety of units spread out across the battlefield. Pause the game when you enter the battle to take stock, and later on when you need to give many orders at once.]] - }, - { - image = "unitpics/cremcom.png", - text = [[This is one of the final missions of the campaign. If you don't have some of the other late-game unit unlocks it might be very hard!]] - }, - }, - gameConfig = { - mapName = "Lost_v2", - playerConfig = { - startX = 9650, - startZ = 3950, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "zenith" - }, - startUnits = { - { - name = "zenith", - x = 10080, - z = 4000, - facing = 3, - }, - { - name = "energygeo", - x = 9416, - z = 3912, - facing = 3, - }, - { - name = "staticmex", - x = 6360, - z = 6808, - facing = 3, - }, - { - name = "staticmex", - x = 6344, - z = 7672, - facing = 3, - }, - { - name = "staticmex", - x = 9448, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 9624, - z = 3128, - facing = 0, - }, - { - name = "staticmex", - x = 9224, - z = 3144, - facing = 0, - }, - { - name = "staticmex", - x = 9544, - z = 6888, - facing = 0, - }, - { - name = "staticmex", - x = 9224, - z = 7128, - facing = 0, - }, - { - name = "staticmex", - x = 9560, - z = 7336, - facing = 0, - }, - { - name = "staticmex", - x = 8264, - z = 3192, - facing = 0, - }, - { - name = "staticmex", - x = 8008, - z = 2840, - facing = 0, - }, - { - name = "staticmex", - x = 7784, - z = 3224, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 7400, - facing = 0, - }, - { - name = "staticmex", - x = 7768, - z = 7080, - facing = 0, - }, - { - name = "staticmex", - x = 7544, - z = 7400, - facing = 0, - }, - { - name = "staticmex", - x = 7896, - z = 968, - facing = 0, - }, - { - name = "staticmex", - x = 7928, - z = 648, - facing = 0, - }, - { - name = "staticmex", - x = 7512, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 7848, - z = 5000, - facing = 0, - }, - { - name = "staticmex", - x = 7992, - z = 4664, - facing = 0, - }, - { - name = "staticmex", - x = 7528, - z = 4712, - facing = 0, - }, - { - name = "staticmex", - x = 9560, - z = 888, - facing = 0, - }, - { - name = "staticmex", - x = 9880, - z = 776, - facing = 0, - }, - { - name = "staticmex", - x = 9592, - z = 504, - facing = 0, - }, - { - name = "staticmex", - x = 9032, - z = 4728, - facing = 0, - }, - { - name = "staticmex", - x = 9480, - z = 4792, - facing = 0, - }, - { - name = "staticmex", - x = 9208, - z = 5160, - facing = 0, - }, - { - name = "energyheavygeo", - x = 7624, - z = 3944, - facing = 0, - }, - { - name = "energywind", - x = 9496, - z = 7304, - facing = 0, - }, - { - name = "energywind", - x = 9576, - z = 7192, - facing = 0, - }, - { - name = "energywind", - x = 9560, - z = 7112, - facing = 0, - }, - { - name = "energywind", - x = 9416, - z = 7224, - facing = 0, - }, - { - name = "energysolar", - x = 7608, - z = 824, - facing = 0, - }, - { - name = "energysolar", - x = 7752, - z = 776, - facing = 0, - }, - { - name = "energysolar", - x = 7896, - z = 744, - facing = 0, - }, - { - name = "energysolar", - x = 7816, - z = 920, - facing = 0, - }, - { - name = "energypylon", - x = 7768, - z = 3480, - facing = 0, - }, - { - name = "energypylon", - x = 7720, - z = 4440, - facing = 0, - }, - { - name = "energysolar", - x = 7624, - z = 4808, - facing = 0, - }, - { - name = "energysolar", - x = 7752, - z = 4936, - facing = 0, - }, - { - name = "energysolar", - x = 7880, - z = 3144, - facing = 0, - }, - { - name = "energysolar", - x = 7944, - z = 4888, - facing = 0, - }, - { - name = "energysolar", - x = 7944, - z = 2968, - facing = 0, - }, - { - name = "energysolar", - x = 8056, - z = 4744, - facing = 0, - }, - { - name = "energysolar", - x = 8088, - z = 2952, - facing = 0, - }, - { - name = "energysolar", - x = 8168, - z = 3096, - facing = 0, - }, - { - name = "energywind", - x = 9080, - z = 4776, - facing = 0, - }, - { - name = "energywind", - x = 9128, - z = 4856, - facing = 0, - }, - { - name = "energywind", - x = 9160, - z = 4936, - facing = 0, - }, - { - name = "energywind", - x = 9240, - z = 5096, - facing = 0, - }, - { - name = "energywind", - x = 9208, - z = 5016, - facing = 0, - }, - { - name = "energywind", - x = 9304, - z = 5080, - facing = 0, - }, - { - name = "energywind", - x = 9320, - z = 3112, - facing = 0, - }, - { - name = "energywind", - x = 9336, - z = 5000, - facing = 0, - }, - { - name = "energywind", - x = 9368, - z = 3032, - facing = 0, - }, - { - name = "energywind", - x = 9432, - z = 2952, - facing = 0, - }, - { - name = "energywind", - x = 9384, - z = 4920, - facing = 0, - }, - { - name = "energywind", - x = 9416, - z = 4840, - facing = 0, - }, - { - name = "energywind", - x = 9480, - z = 2872, - facing = 0, - }, - { - name = "energywind", - x = 9512, - z = 2968, - facing = 0, - }, - { - name = "energywind", - x = 9592, - z = 3048, - facing = 0, - }, - { - name = "turretheavylaser", - x = 9784, - z = 4280, - facing = 0, - }, - { - name = "energywind", - x = 9544, - z = 6952, - facing = 0, - }, - { - name = "energywind", - x = 9560, - z = 7032, - facing = 0, - }, - { - name = "turretheavylaser", - x = 9720, - z = 3592, - facing = 2, - }, - { - name = "energywind", - x = 9576, - z = 7272, - facing = 0, - }, - { - name = "energywind", - x = 9352, - z = 7144, - facing = 0, - }, - { - name = "turretheavylaser", - x = 9192, - z = 3896, - facing = 3, - }, - { - name = "energywind", - x = 9272, - z = 7064, - facing = 0, - }, - { - name = "turretaalaser", - x = 9432, - z = 3720, - facing = 2, - }, - { - name = "turretaalaser", - x = 9416, - z = 4088, - facing = 0, - }, - { - name = "energysolar", - x = 7800, - z = 7176, - facing = 0, - }, - { - name = "energysolar", - x = 7880, - z = 7320, - facing = 0, - }, - { - name = "energysolar", - x = 7736, - z = 7288, - facing = 0, - }, - { - name = "energysolar", - x = 7592, - z = 7304, - facing = 0, - }, - { - name = "striderscorpion", - x = 9745, - z = 3836, - facing = 3, - }, - { - name = "striderdante", - x = 9726, - z = 4115, - facing = 0, - }, - { - name = "striderarty", - x = 9808, - z = 3987, - facing = 3, - }, - { - name = "staticantinuke", - x = 8904, - z = 6304, - facing = 0, - }, - { - name = "tankcon", - x = 8244, - z = 5123, - facing = 0, - }, - { - name = "turretaafar", - x = 7632, - z = 992, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7336, - z = 1048, - facing = 3, - }, - { - name = "turretriot", - x = 7336, - z = 632, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7864, - z = 456, - facing = 3, - }, - { - name = "turretriot", - x = 7720, - z = 1224, - facing = 3, - }, - { - name = "tankcon", - x = 8352, - z = 5110, - facing = 0, - }, - { - name = "staticantinuke", - x = 9048, - z = 1920, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7480, - z = 2600, - facing = 2, - }, - { - name = "turretriot", - x = 8072, - z = 7704, - facing = 3, - }, - { - name = "turretriot", - x = 7800, - z = 2520, - facing = 2, - }, - { - name = "turretheavylaser", - x = 7752, - z = 7688, - facing = 3, - }, - { - name = "turretriot", - x = 7352, - z = 3432, - facing = 3, - }, - { - name = "turretriot", - x = 7032, - z = 7224, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7336, - z = 6680, - facing = 3, - }, - { - name = "turretriot", - x = 7288, - z = 4472, - facing = 3, - }, - { - name = "turretriot", - x = 7800, - z = 6440, - facing = 3, - }, - { - name = "turretaafar", - x = 7520, - z = 7040, - facing = 3, - }, - { - name = "turretheavylaser", - x = 7816, - z = 5512, - facing = 3, - }, - { - name = "turretaaflak", - x = 8136, - z = 4984, - facing = 3, - }, - { - name = "factoryspider", - x = 8488, - z = 872, - facing = 3, - }, - { - name = "staticcon", - x = 8616, - z = 856, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8616, 856}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8591, 881}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8616, - z = 952, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8616, 952}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8591, 977}, options = {"shift"}}, - }, - }, - { - name = "turretaaflak", - x = 8024, - z = 3160, - facing = 3, - }, - { - name = "staticcon", - x = 8616, - z = 1048, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8616, 1048}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8591, 1073}, options = {"shift"}}, - }, - }, - { - name = "factorycloak", - x = 7808, - z = 6840, - facing = 3, - }, - { - name = "staticheavyradar", - x = 7296, - z = 2816, - facing = 3, - }, - { - name = "staticheavyradar", - x = 7264, - z = 4976, - facing = 3, - }, - { - name = "staticcon", - x = 9336, - z = 3352, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9336, 3352}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9311, 3377}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 9432, - z = 3352, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9432, 3352}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9407, 3377}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 9528, - z = 3352, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9528, 3352}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9503, 3377}, options = {"shift"}}, - }, - }, - { - name = "factorygunship", - x = 9464, - z = 3224, - facing = 3, - }, - { - name = "staticcon", - x = 7768, - z = 6968, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7768, 6968}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7743, 6943}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7864, - z = 6968, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7864, 6968}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7839, 6943}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7960, - z = 6968, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7960, 6968}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7935, 6943}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 9312, - z = 3248, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9312, 3248}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9287, 3273}, options = {"shift"}}, - }, - }, - { - name = "gunshipassault", - x = 9035, - z = 3213, - facing = 1, - }, - { - name = "gunshipheavyskirm", - x = 9082, - z = 3107, - facing = 1, - }, - { - name = "gunshipheavyskirm", - x = 9096, - z = 3342, - facing = 1, - }, - { - name = "gunshipheavytrans", - x = 9241, - z = 3244, - facing = 1, - }, - { - name = "gunshipheavytrans", - x = 9205, - z = 3060, - facing = 2, - }, - { - name = "cloakassault", - x = 7100, - z = 5492, - facing = 2, - }, - { - name = "cloakassault", - x = 7167, - z = 5684, - facing = 2, - }, - { - name = "cloakassault", - x = 7235, - z = 5876, - facing = 2, - }, - { - name = "cloakassault", - x = 7321, - z = 6041, - facing = 2, - }, - { - name = "cloakskirm", - x = 7285, - z = 5443, - facing = 2, - }, - { - name = "cloakskirm", - x = 7387, - z = 5816, - facing = 3, - }, - { - name = "cloakskirm", - x = 7325, - z = 5633, - facing = 3, - }, - { - name = "cloakskirm", - x = 7264, - z = 5347, - facing = 2, - }, - { - name = "cloakskirm", - x = 7301, - z = 5538, - facing = 3, - }, - { - name = "cloakskirm", - x = 7356, - z = 5724, - facing = 3, - }, - { - name = "cloakskirm", - x = 7416, - z = 5922, - facing = 3, - }, - { - name = "cloakskirm", - x = 7455, - z = 6002, - facing = 3, - }, - { - name = "spidercrabe", - x = 8252, - z = 1221, - facing = 0, - }, - { - name = "spiderassault", - x = 8140, - z = 1380, - facing = 0, - }, - { - name = "spiderassault", - x = 8198, - z = 1438, - facing = 0, - }, - { - name = "spiderassault", - x = 8261, - z = 1501, - facing = 0, - }, - { - name = "spiderassault", - x = 8325, - z = 1546, - facing = 0, - }, - { - name = "spideremp", - x = 8150, - z = 1313, - facing = 0, - }, - { - name = "spideremp", - x = 8209, - z = 1347, - facing = 0, - }, - { - name = "spiderriot", - x = 8281, - z = 1452, - facing = 0, - }, - { - name = "spiderriot", - x = 8351, - z = 1396, - facing = 0, - }, - { - name = "cloakassault", - x = 7176, - z = 1525, - facing = 0, - }, - { - name = "cloakassault", - x = 7136, - z = 1719, - facing = 0, - }, - { - name = "cloakassault", - x = 7135, - z = 1904, - facing = 0, - }, - { - name = "cloakriot", - x = 7346, - z = 1573, - facing = 0, - }, - { - name = "cloakriot", - x = 7318, - z = 1733, - facing = 0, - }, - { - name = "cloakriot", - x = 7296, - z = 1913, - facing = 0, - }, - { - name = "spiderskirm", - x = 8540, - z = 6494, - facing = 0, - }, - { - name = "spiderskirm", - x = 8512, - z = 6647, - facing = 0, - }, - { - name = "spiderskirm", - x = 8487, - z = 6839, - facing = 0, - }, - { - name = "spideremp", - x = 8414, - z = 6490, - facing = 0, - }, - { - name = "spideremp", - x = 8406, - z = 6645, - facing = 0, - }, - { - name = "spideremp", - x = 8384, - z = 6809, - facing = 0, - }, - { - name = "tankassault", - x = 6944, - z = 1667, - facing = 0, - }, - { - name = "tankriot", - x = 7000, - z = 5677, - facing = 0, - }, - { - name = "tankriot", - x = 7109, - z = 5952, - facing = 0, - }, - { - name = "tankaa", - x = 7465, - z = 5470, - facing = 0, - }, - { - name = "tankaa", - x = 7524, - z = 5767, - facing = 0, - }, - { - name = "tankaa", - x = 7528, - z = 1817, - facing = 0, - }, - { - name = "spideraa", - x = 8353, - z = 1270, - facing = 0, - }, - { - name = "cloakcon", - x = 7694, - z = 6683, - facing = 2, - }, - { - name = "cloakcon", - x = 7672, - z = 6698, - facing = 2, - }, - { - name = "cloakcon", - x = 7680, - z = 6724, - facing = 2, - }, - { - name = "turretriot", - x = 7224, - z = 3864, - facing = 3, - }, - { - name = "energywind", - x = 9640, - z = 568, - facing = 3, - }, - { - name = "energywind", - x = 9640, - z = 648, - facing = 3, - }, - { - name = "energywind", - x = 9624, - z = 728, - facing = 3, - }, - { - name = "energywind", - x = 9624, - z = 808, - facing = 3, - }, - { - name = "energywind", - x = 9624, - z = 888, - facing = 3, - }, - { - name = "energywind", - x = 9688, - z = 840, - facing = 3, - }, - { - name = "spidercon", - x = 8297, - z = 926, - facing = 3, - }, - { - name = "energywind", - x = 9768, - z = 776, - facing = 3, - }, - { - name = "spidercon", - x = 8400, - z = 1016, - facing = 0, - }, - { - name = "energywind", - x = 9848, - z = 712, - facing = 3, - }, - { - name = "staticmex", - x = 6168, - z = 472, - facing = 3, - }, - { - name = "staticmex", - x = 6600, - z = 1560, - facing = 3, - }, - { - name = "staticcon", - x = 8440, - z = 4664, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8440, 4664}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8415, 4639}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8440, - z = 4760, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8440, 4760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8415, 4735}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8440, - z = 4856, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8440, 4856}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8415, 4831}, options = {"shift"}}, - }, - }, - { - name = "factorytank", - x = 8304, - z = 4784, - facing = 0, - }, - { - name = "staticmex", - x = 6776, - z = 3880, - facing = 3, - }, - { - name = "staticmex", - x = 6664, - z = 4872, - facing = 3, - }, - { - name = "staticmex", - x = 6760, - z = 5912, - facing = 3, - }, - } - }, - aiConfig = { - { - startX = 200, - startZ = 4400, - aiLib = "Circuit_difficulty_autofill", - humanName = "Enemy", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "zenith", - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energyheavygeo", - "energysingu", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "staticnuke", - "staticheavyarty", - "staticarty", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehriot", - "vehassault", - "vehaa", - "vehsupport", - "veharty", - "vehheavyarty", - "vehcapture", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factoryspider", - "spidercon", - "spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "striderhub", - "striderdante", - "striderarty", - "striderscorpion", - "striderfunnelweb", - "striderantiheavy", - "striderbantha", - }, - commanderLevel = 7, - commander = { - name = "Ahes", - chassis = "recon", - decorations = { - }, - modules = { - "commweapon_flamethrower", - "commweapon_napalmgrenade", - "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_battle_drone", - "module_battle_drone", - "module_battle_drone", - "module_battle_drone", - "module_battle_drone", - "module_autorepair", - "module_autorepair", - "module_autorepair", - } - }, - startUnits = { - { - name = "zenith", - x = 160, - z = 4144, - facing = 3, - }, - { - name = "energygeo", - x = 776, - z = 4296, - facing = 3, - }, - { - name = "turretaaheavy", - x = 1040, - z = 4256, - facing = 3, - }, - { - name = "turretriot", - x = 472, - z = 3880, - facing = 2, - }, - { - name = "turretriot", - x = 24, - z = 3704, - facing = 2, - }, - { - name = "turretriot", - x = 504, - z = 4520, - facing = 0, - }, - { - name = "turretriot", - x = 24, - z = 4584, - facing = 0, - }, - { - name = "energywind", - x = 600, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 520, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 440, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 440, - z = 4280, - facing = 0, - }, - { - name = "energywind", - x = 520, - z = 4280, - facing = 0, - }, - { - name = "energywind", - x = 600, - z = 4280, - facing = 0, - }, - { - name = "shieldraid", - x = 3294, - z = 4440, - facing = 1, - }, - { - name = "energywind", - x = 600, - z = 4360, - facing = 0, - }, - { - name = "energywind", - x = 520, - z = 4360, - facing = 0, - }, - { - name = "energywind", - x = 440, - z = 4360, - facing = 0, - }, - { - name = "staticmex", - x = 808, - z = 1272, - facing = 0, - }, - { - name = "shieldraid", - x = 3271, - z = 4423, - facing = 1, - }, - { - name = "staticmex", - x = 648, - z = 904, - facing = 0, - }, - { - name = "energypylon", - x = 824, - z = 3672, - facing = 0, - }, - { - name = "staticmex", - x = 1048, - z = 920, - facing = 0, - }, - { - name = "staticmex", - x = 936, - z = 3144, - facing = 0, - }, - { - name = "energywind", - x = 808, - z = 3432, - facing = 0, - }, - { - name = "energywind", - x = 840, - z = 3352, - facing = 0, - }, - { - name = "energywind", - x = 872, - z = 3272, - facing = 0, - }, - { - name = "energywind", - x = 904, - z = 3192, - facing = 0, - }, - { - name = "energywind", - x = 984, - z = 3224, - facing = 0, - }, - { - name = "energywind", - x = 1016, - z = 3304, - facing = 0, - }, - { - name = "staticmex", - x = 2456, - z = 856, - facing = 0, - }, - { - name = "energywind", - x = 1064, - z = 3384, - facing = 0, - }, - { - name = "energywind", - x = 1096, - z = 3464, - facing = 0, - }, - { - name = "staticmex", - x = 2456, - z = 1208, - facing = 0, - }, - { - name = "staticmex", - x = 2872, - z = 1000, - facing = 0, - }, - { - name = "energypylon", - x = 872, - z = 4920, - facing = 0, - }, - { - name = "energywind", - x = 1000, - z = 5416, - facing = 0, - }, - { - name = "energywind", - x = 1016, - z = 5336, - facing = 0, - }, - { - name = "energywind", - x = 1016, - z = 5256, - facing = 0, - }, - { - name = "energywind", - x = 1032, - z = 5176, - facing = 0, - }, - { - name = "staticmex", - x = 2328, - z = 3272, - facing = 0, - }, - { - name = "energywind", - x = 1048, - z = 5096, - facing = 0, - }, - { - name = "energywind", - x = 1048, - z = 5016, - facing = 0, - }, - { - name = "staticmex", - x = 2568, - z = 3544, - facing = 0, - }, - { - name = "energywind", - x = 696, - z = 5208, - facing = 0, - }, - { - name = "energywind", - x = 776, - z = 5288, - facing = 0, - }, - { - name = "staticmex", - x = 2152, - z = 3592, - facing = 0, - }, - { - name = "energywind", - x = 840, - z = 5368, - facing = 0, - }, - { - name = "energywind", - x = 920, - z = 5448, - facing = 0, - }, - { - name = "staticmex", - x = 1176, - z = 3480, - facing = 0, - }, - { - name = "staticmex", - x = 728, - z = 3480, - facing = 0, - }, - { - name = "staticmex", - x = 1112, - z = 4984, - facing = 0, - }, - { - name = "staticmex", - x = 984, - z = 5496, - facing = 0, - }, - { - name = "energywind", - x = 888, - z = 1224, - facing = 0, - }, - { - name = "staticmex", - x = 616, - z = 5192, - facing = 0, - }, - { - name = "energywind", - x = 920, - z = 1144, - facing = 0, - }, - { - name = "energywind", - x = 952, - z = 1064, - facing = 0, - }, - { - name = "energywind", - x = 984, - z = 984, - facing = 0, - }, - { - name = "energywind", - x = 760, - z = 1208, - facing = 0, - }, - { - name = "energywind", - x = 744, - z = 1128, - facing = 0, - }, - { - name = "staticmex", - x = 2056, - z = 5096, - facing = 0, - }, - { - name = "energywind", - x = 728, - z = 1048, - facing = 0, - }, - { - name = "energywind", - x = 712, - z = 968, - facing = 0, - }, - { - name = "staticmex", - x = 2328, - z = 5496, - facing = 0, - }, - { - name = "staticmex", - x = 2552, - z = 5032, - facing = 0, - }, - { - name = "staticmex", - x = 2600, - z = 7272, - facing = 0, - }, - { - name = "staticmex", - x = 2552, - z = 7576, - facing = 0, - }, - { - name = "staticmex", - x = 2200, - z = 7400, - facing = 0, - }, - { - name = "staticmex", - x = 776, - z = 7320, - facing = 0, - }, - { - name = "staticmex", - x = 680, - z = 7816, - facing = 0, - }, - { - name = "energywind", - x = 760, - z = 7400, - facing = 0, - }, - { - name = "energywind", - x = 744, - z = 7480, - facing = 0, - }, - { - name = "staticmex", - x = 280, - z = 7480, - facing = 0, - }, - { - name = "energywind", - x = 712, - z = 7560, - facing = 0, - }, - { - name = "energywind", - x = 696, - z = 7640, - facing = 0, - }, - { - name = "energywind", - x = 664, - z = 7720, - facing = 0, - }, - { - name = "energywind", - x = 600, - z = 7768, - facing = 0, - }, - { - name = "energywind", - x = 536, - z = 7688, - facing = 0, - }, - { - name = "energywind", - x = 472, - z = 7608, - facing = 0, - }, - { - name = "energywind", - x = 408, - z = 7528, - facing = 0, - }, - { - name = "energywind", - x = 344, - z = 7448, - facing = 0, - }, - { - name = "energysingu", - x = 56, - z = 7416, - facing = 0, - }, - { - name = "energypylon", - x = 424, - z = 7368, - facing = 0, - }, - { - name = "shieldraid", - x = 3270, - z = 4449, - facing = 2, - }, - { - name = "energysolar", - x = 2520, - z = 7336, - facing = 0, - }, - { - name = "energysolar", - x = 2472, - z = 7480, - facing = 0, - }, - { - name = "energysolar", - x = 2312, - z = 7432, - facing = 0, - }, - { - name = "energysingu", - x = 56, - z = 1048, - facing = 0, - }, - { - name = "energypylon", - x = 584, - z = 1144, - facing = 0, - }, - { - name = "staticshield", - x = 48, - z = 4048, - facing = 0, - }, - { - name = "staticshield", - x = 272, - z = 4048, - facing = 0, - }, - { - name = "staticshield", - x = 272, - z = 4288, - facing = 0, - }, - { - name = "staticshield", - x = 48, - z = 4288, - facing = 0, - }, - { - name = "staticantinuke", - x = 328, - z = 4176, - facing = 0, - }, - { - name = "energysolar", - x = 2152, - z = 5112, - facing = 0, - }, - { - name = "energysolar", - x = 2248, - z = 5256, - facing = 0, - }, - { - name = "energysolar", - x = 2360, - z = 5400, - facing = 0, - }, - { - name = "energysolar", - x = 2408, - z = 5224, - facing = 0, - }, - { - name = "energysolar", - x = 2472, - z = 5080, - facing = 0, - }, - { - name = "energyheavygeo", - x = 2616, - z = 4264, - facing = 0, - }, - { - name = "energysolar", - x = 2552, - z = 920, - facing = 0, - }, - { - name = "energysolar", - x = 2552, - z = 1064, - facing = 0, - }, - { - name = "energysolar", - x = 2552, - z = 1208, - facing = 0, - }, - { - name = "energysolar", - x = 2680, - z = 1080, - facing = 0, - }, - { - name = "energysolar", - x = 2808, - z = 952, - facing = 0, - }, - { - name = "energysolar", - x = 2328, - z = 3368, - facing = 0, - }, - { - name = "energysolar", - x = 2280, - z = 3512, - facing = 0, - }, - { - name = "energysolar", - x = 2232, - z = 3656, - facing = 0, - }, - { - name = "energysolar", - x = 2456, - z = 3496, - facing = 0, - }, - { - name = "staticantinuke", - x = 1224, - z = 1952, - facing = 0, - }, - { - name = "staticantinuke", - x = 1144, - z = 6656, - facing = 0, - }, - { - name = "staticradar", - x = 3056, - z = 1216, - facing = 3, - }, - { - name = "staticradar", - x = 2976, - z = 3696, - facing = 3, - }, - { - name = "staticradar", - x = 2912, - z = 4896, - facing = 3, - }, - { - name = "staticradar", - x = 2928, - z = 7184, - facing = 3, - }, - { - name = "energypylon", - x = 1144, - z = 7400, - facing = 1, - }, - { - name = "energypylon", - x = 2424, - z = 7320, - facing = 1, - }, - { - name = "energypylon", - x = 2248, - z = 4744, - facing = 1, - }, - { - name = "energypylon", - x = 1752, - z = 7288, - facing = 1, - }, - { - name = "energypylon", - x = 1656, - z = 5144, - facing = 1, - }, - { - name = "turretantiheavy", - x = 2880, - z = 7552, - facing = 1, - }, - { - name = "turretantiheavy", - x = 2752, - z = 7056, - facing = 1, - }, - { - name = "energypylon", - x = 1704, - z = 3544, - facing = 1, - }, - { - name = "turretheavy", - x = 2392, - z = 7736, - facing = 1, - }, - { - name = "energypylon", - x = 2488, - z = 3736, - facing = 1, - }, - { - name = "turretheavy", - x = 2408, - z = 6952, - facing = 1, - }, - { - name = "turretantiheavy", - x = 2976, - z = 3568, - facing = 1, - }, - { - name = "turretaafar", - x = 2240, - z = 7088, - facing = 1, - }, - { - name = "turretaafar", - x = 2224, - z = 7600, - facing = 1, - }, - { - name = "turretheavy", - x = 1160, - z = 3288, - facing = 1, - }, - { - name = "turretaafar", - x = 944, - z = 7440, - facing = 1, - }, - { - name = "energypylon", - x = 1512, - z = 1304, - facing = 1, - }, - { - name = "energypylon", - x = 2168, - z = 1144, - facing = 1, - }, - { - name = "energypylon", - x = 2776, - z = 1080, - facing = 1, - }, - { - name = "turretheavy", - x = 2744, - z = 584, - facing = 1, - }, - { - name = "turretheavy", - x = 2808, - z = 1576, - facing = 1, - }, - { - name = "turretantiheavy", - x = 2944, - z = 1328, - facing = 1, - }, - { - name = "turretantiheavy", - x = 3120, - z = 848, - facing = 1, - }, - { - name = "turretaafar", - x = 2640, - z = 1376, - facing = 1, - }, - { - name = "turretaafar", - x = 2672, - z = 784, - facing = 1, - }, - { - name = "turretaafar", - x = 1008, - z = 1504, - facing = 1, - }, - { - name = "turretaaflak", - x = 1976, - z = 3384, - facing = 1, - }, - { - name = "turretaaflak", - x = 1960, - z = 3592, - facing = 1, - }, - { - name = "turretaaflak", - x = 1864, - z = 5080, - facing = 1, - }, - { - name = "turretaaflak", - x = 1912, - z = 4904, - facing = 1, - }, - { - name = "energypylon", - x = 2520, - z = 5208, - facing = 1, - }, - { - name = "turretantiheavy", - x = 2976, - z = 5072, - facing = 1, - }, - { - name = "turretheavylaser", - x = 1416, - z = 3720, - facing = 1, - }, - { - name = "turretheavylaser", - x = 648, - z = 2984, - facing = 1, - }, - { - name = "turretheavy", - x = 1176, - z = 5320, - facing = 1, - }, - { - name = "turretheavylaser", - x = 792, - z = 5640, - facing = 1, - }, - { - name = "staticshield", - x = 2464, - z = 4256, - facing = 1, - }, - { - name = "turretheavy", - x = 3240, - z = 4248, - facing = 1, - }, - { - name = "energypylon", - x = 2824, - z = 4232, - facing = 1, - }, - { - name = "turretaaflak", - x = 2456, - z = 4024, - facing = 1, - }, - { - name = "striderbantha", - x = 329, - z = 1285, - facing = 0, - }, - { - name = "striderbantha", - x = 1851, - z = 6598, - facing = 0, - }, - { - name = "factoryspider", - x = 760, - z = 7064, - facing = 1, - }, - { - name = "staticcon", - x = 632, - z = 7016, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {632, 7016}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {657, 6991}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 632, - z = 7112, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {632, 7112}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {657, 7087}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 632, - z = 7208, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {632, 7208}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {657, 7183}, options = {"shift"}}, - }, - }, - { - name = "staticshield", - x = 64, - z = 7264, - facing = 1, - }, - { - name = "staticshield", - x = 80, - z = 7552, - facing = 1, - }, - { - name = "turretriot", - x = 200, - z = 7208, - facing = 1, - }, - { - name = "turretriot", - x = 216, - z = 7624, - facing = 1, - }, - { - name = "turretaaflak", - x = 216, - z = 7400, - facing = 1, - }, - { - name = "tankheavyassault", - x = 460, - z = 1341, - facing = 0, - }, - { - name = "tankheavyassault", - x = 286, - z = 1448, - facing = 0, - }, - { - name = "tankassault", - x = 1727, - z = 6620, - facing = 0, - }, - { - name = "tankassault", - x = 1931, - z = 6707, - facing = 0, - }, - { - name = "tankassault", - x = 1900, - z = 6437, - facing = 0, - }, - { - name = "spiderassault", - x = 986, - z = 7007, - facing = 0, - }, - { - name = "spiderassault", - x = 1062, - z = 7047, - facing = 0, - }, - { - name = "spiderassault", - x = 983, - z = 7164, - facing = 0, - }, - { - name = "spiderassault", - x = 1087, - z = 7212, - facing = 0, - }, - { - name = "spiderassault", - x = 1137, - z = 7131, - facing = 0, - }, - { - name = "spiderassault", - x = 1163, - z = 7031, - facing = 0, - }, - { - name = "staticshield", - x = 16, - z = 1216, - facing = 1, - }, - { - name = "spiderassault", - x = 1114, - z = 578, - facing = 0, - }, - { - name = "spiderassault", - x = 1134, - z = 281, - facing = 0, - }, - { - name = "spiderassault", - x = 1263, - z = 500, - facing = 0, - }, - { - name = "staticshield", - x = 16, - z = 912, - facing = 1, - }, - { - name = "spiderassault", - x = 1262, - z = 403, - facing = 0, - }, - { - name = "spiderassault", - x = 1322, - z = 217, - facing = 0, - }, - { - name = "turretriot", - x = 152, - z = 1256, - facing = 1, - }, - { - name = "turretriot", - x = 152, - z = 904, - facing = 1, - }, - { - name = "turretaaflak", - x = 200, - z = 1080, - facing = 1, - }, - { - name = "factoryspider", - x = 872, - z = 712, - facing = 1, - }, - { - name = "staticcon", - x = 744, - z = 584, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {744, 584}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {769, 609}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 744, - z = 680, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {744, 680}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {769, 705}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 744, - z = 776, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {744, 776}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {769, 801}, options = {"shift"}}, - }, - }, - { - name = "factoryveh", - x = 2544, - z = 2944, - facing = 1, - }, - { - name = "staticcon", - x = 2376, - z = 2920, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2376, 2920}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2401, 2945}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2376, - z = 3016, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2376, 3016}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2401, 3041}, options = {"shift"}}, - }, - }, - { - name = "factorytank", - x = 2112, - z = 5792, - facing = 1, - }, - { - name = "staticcon", - x = 1960, - z = 5752, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1960, 5752}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1985, 5727}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1960, - z = 5848, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1960, 5848}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1985, 5823}, options = {"shift"}}, - }, - }, - { - name = "factoryamph", - x = 3192, - z = 4024, - facing = 1, - }, - { - name = "staticcon", - x = 3032, - z = 4040, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3032, 4040}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3057, 4065}, options = {"shift"}}, - }, - }, - { - name = "factoryshield", - x = 3112, - z = 4480, - facing = 1, - }, - { - name = "staticcon", - x = 2952, - z = 4440, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2952, 4440}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2977, 4415}, options = {"shift"}}, - }, - }, - { - name = "amphassault", - x = 3587, - z = 4023, - facing = 1, - }, - { - name = "amphfloater", - x = 3421, - z = 4015, - facing = 1, - }, - { - name = "amphfloater", - x = 3436, - z = 4055, - facing = 1, - }, - { - name = "amphriot", - x = 3494, - z = 4084, - facing = 1, - }, - { - name = "vehsupport", - x = 2813, - z = 2927, - facing = 1, - }, - { - name = "amphriot", - x = 3703, - z = 4073, - facing = 1, - }, - { - name = "vehsupport", - x = 2764, - z = 2919, - facing = 1, - }, - { - name = "vehsupport", - x = 2797, - z = 3021, - facing = 1, - }, - { - name = "tankcon", - x = 2383, - z = 5795, - facing = 1, - }, - { - name = "tankarty", - x = 2468, - z = 5767, - facing = 1, - }, - { - name = "vehsupport", - x = 2762, - z = 2972, - facing = 1, - }, - { - name = "tankriot", - x = 2336, - z = 5833, - facing = 0, - }, - { - name = "vehsupport", - x = 2723, - z = 2993, - facing = 1, - }, - { - name = "tankriot", - x = 2319, - z = 5891, - facing = 2, - }, - { - name = "vehsupport", - x = 2696, - z = 2952, - facing = 2, - }, - { - name = "factorygunship", - x = 712, - z = 5016, - facing = 1, - }, - { - name = "staticcon", - x = 632, - z = 4920, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {632, 4920}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {657, 4895}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 728, - z = 4920, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {728, 4920}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {753, 4895}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1032, - z = 3608, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1032, 3608}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1057, 3633}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1128, - z = 3608, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1128, 3608}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1153, 3633}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1128, - z = 3704, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1128, 3704}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1153, 3729}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1032, - z = 3704, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1032, 3704}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1057, 3729}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 1232, - z = 3648, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1232, 3648}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1257, 3673}, options = {"shift"}}, - }, - }, - { - name = "shieldcon", - x = 3289, - z = 4468, - facing = 1, - }, - { - name = "shieldcon", - x = 3248, - z = 4411, - facing = 1, - }, - { - name = "shieldraid", - x = 3318, - z = 4448, - facing = 2, - }, - { - name = "shieldraid", - x = 3277, - z = 4397, - facing = 1, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "zenith", - "energysingu", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the enemy Zenith and Singularity Reactors", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 2, - unitTypes = { - "zenith", - "raveparty", - "mahlazer", - }, - image = planetUtilities.ICON_DIR .. "zenith.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have two superweapons (Zenith, DRP, Starlight)", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyByTime = 10*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 2, - enemyUnitTypes = { - "striderbantha", - }, - image = planetUtilities.ICON_DIR .. "striderbantha.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy 2 enemy Paladins before 10:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "zenith", - }, - modules = { - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet67.lua b/campaign/dev/planets/planet67.lua deleted file mode 100644 index 2b6f0b947..000000000 --- a/campaign/dev/planets/planet67.lua +++ /dev/null @@ -1,2847 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/terran03.png" - - local planetData = { - name = "Zhurou", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.80, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.94, - image = image, - size = planetUtilities.PLANET_SIZE_MAP * 1.25, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "4910 km", - primary = "Pallis", - primaryType = "G4V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24642", - text = [[You are facing a massive fleet of capital ships. Ensure your complete domination of the seas with the Disco Rave Party superweapon.]] - }, - tips = { - { - image = "unitpics/raveparty.png", - text = [[The Disco Rave Party cannon fires a colourful variety of projectiles into enemy armies and bases. Like all superweapons it is unsubtle, but the DRP makes up for it with style.]] - }, - { - image = "unitpics/staticantinuke.png", - text = [[Your base currently lacks anti-nuke coverage. It would be prudent to correct this quickly.]] - }, - { - image = "unitpics/cremcom.png", - text = [[This is one of the final missions of the campaign. If you don't have some of the other late-game unit unlocks it might be very hard!]] - }, - }, - gameConfig = { - mapName = "Porky_Islands", - playerConfig = { - startX = 6100, - startZ = 1800, - allyTeam = 0, - commanderParameters = { - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "raveparty", - "staticantinuke", - "staticstorage", - }, - startUnits = { - { - name = "raveparty", - x = 6312, - z = 1912, - facing = 0, - terraformHeight = 247, - difficultyAtLeast = 1, - difficultyAtMost = 1, - buildProgress = 0.65, - }, - { - name = "raveparty", - x = 6312, - z = 1912, - facing = 0, - terraformHeight = 247, - difficultyAtLeast = 2, - difficultyAtMost = 2, - buildProgress = 0.55, - }, - { - name = "raveparty", - x = 6312, - z = 1912, - facing = 0, - terraformHeight = 247, - difficultyAtLeast = 3, - difficultyAtMost = 3, - buildProgress = 0.45, - }, - { - name = "raveparty", - x = 6312, - z = 1912, - facing = 0, - terraformHeight = 247, - difficultyAtLeast = 4, - difficultyAtMost = 4, - buildProgress = 0.35, - }, - -- { - -- name = "staticantinuke", - -- x = 6800, - -- z = 1580, - -- facing = 0, - -- }, - { - name = "staticstorage", - x = 5500, - z = 1650, - facing = 0, - }, - { - name = "staticstorage", - x = 7600, - z = 3500, - facing = 0, - }, - { - name = "staticstorage", - x = 8000, - z = 800, - facing = 0, - }, - { - name = "staticmex", - x = 7176, - z = 1304, - facing = 0, - }, - { - name = "staticmex", - x = 6696, - z = 1400, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 808, - facing = 0, - }, - { - name = "staticmex", - x = 7192, - z = 1816, - facing = 0, - }, - { - name = "staticmex", - x = 7416, - z = 328, - facing = 0, - }, - { - name = "staticmex", - x = 7784, - z = 776, - facing = 0, - }, - { - name = "staticmex", - x = 7864, - z = 1608, - facing = 0, - }, - { - name = "staticmex", - x = 7000, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 5368, - z = 920, - facing = 0, - }, - { - name = "staticmex", - x = 7048, - z = 3320, - facing = 0, - }, - { - name = "staticmex", - x = 4904, - z = 744, - facing = 0, - }, - { - name = "staticmex", - x = 7672, - z = 3352, - facing = 0, - }, - { - name = "staticmex", - x = 5128, - z = 424, - facing = 0, - }, - { - name = "staticmex", - x = 7880, - z = 3352, - facing = 0, - }, - { - name = "staticmex", - x = 4520, - z = 264, - facing = 0, - }, - { - name = "staticmex", - x = 7944, - z = 4008, - facing = 0, - }, - { - name = "staticmex", - x = 4408, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 6184, - z = 3928, - facing = 0, - }, - { - name = "staticmex", - x = 5768, - z = 1832, - facing = 0, - }, - { - name = "staticmex", - x = 5480, - z = 2040, - facing = 0, - }, - { - name = "staticmex", - x = 6440, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 5240, - z = 2520, - facing = 0, - }, - { - name = "staticmex", - x = 5864, - z = 2632, - facing = 0, - }, - { - name = "energysingu", - x = 6936, - z = 56, - facing = 3, - }, - { - name = "energyfusion", - x = 8160, - z = 2968, - facing = 3, - }, - { - name = "energyfusion", - x = 8160, - z = 3240, - facing = 3, - }, - { - name = "energyfusion", - x = 8160, - z = 3528, - facing = 3, - }, - { - name = "energypylon", - x = 7128, - z = 536, - facing = 1, - }, - { - name = "energypylon", - x = 7688, - z = 1240, - facing = 1, - }, - { - name = "energypylon", - x = 7720, - z = 3832, - facing = 1, - }, - { - name = "energypylon", - x = 6776, - z = 1384, - facing = 1, - }, - { - name = "energypylon", - x = 6952, - z = 3352, - facing = 1, - }, - { - name = "energypylon", - x = 6232, - z = 696, - facing = 1, - }, - { - name = "energypylon", - x = 6216, - z = 2776, - facing = 1, - }, - { - name = "energypylon", - x = 5608, - z = 2248, - facing = 1, - }, - { - name = "energypylon", - x = 7336, - z = 2072, - facing = 1, - }, - { - name = "energypylon", - x = 5432, - z = 1496, - facing = 1, - }, - { - name = "energypylon", - x = 7784, - z = 2872, - facing = 1, - }, - { - name = "energypylon", - x = 5048, - z = 760, - facing = 1, - }, - { - name = "energypylon", - x = 4680, - z = 296, - facing = 1, - }, - { - name = "energypylon", - x = 5416, - z = 344, - facing = 1, - }, - { - name = "energypylon", - x = 6520, - z = 2200, - facing = 1, - }, - { - name = "energypylon", - x = 5944, - z = 1480, - facing = 1, - }, - { - name = "staticcon", - x = 6264, - z = 1688, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6264, 1688}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6239, 1713}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6424, - z = 1672, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6424, 1672}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6399, 1697}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6536, - z = 1752, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6536, 1752}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6511, 1777}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6600, - z = 1864, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6600, 1864}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6575, 1889}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6552, - z = 2008, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6552, 2008}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6527, 2033}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5880, - z = 3240, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5880, 3240}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5855, 3265}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 5944, - z = 3240, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5944, 3240}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5919, 3265}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6008, - z = 3240, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6008, 3240}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {5983, 3265}, options = {"shift"}}, - }, - }, - { - name = "factoryship", - x = 5936, - z = 3408, - facing = 3, - }, - { - name = "factoryship", - x = 4544, - z = 1984, - facing = 0, - }, - { - name = "striderhub", - x = 4704, - z = 1888, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4704, 1888}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4679, 1913}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 4696, - z = 1976, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4696, 1976}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4671, 2001}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 4696, - z = 2056, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4696, 2056}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {4671, 2081}, options = {"shift"}}, - }, - }, - { - name = "energypylon", - x = 4456, - z = 1544, - facing = 0, - }, - { - name = "energypylon", - x = 3624, - z = 2072, - facing = 0, - }, - { - name = "energypylon", - x = 6760, - z = 4312, - facing = 0, - }, - { - name = "energypylon", - x = 6616, - z = 5064, - facing = 0, - }, - { - name = "turretheavy", - x = 3192, - z = 2392, - facing = 3, - terraformHeight = 193, - }, - { - name = "turretaalaser", - x = 3432, - z = 2424, - facing = 0, - }, - { - name = "turretaalaser", - x = 3112, - z = 2184, - facing = 3, - }, - { - name = "turretheavy", - x = 6280, - z = 5384, - facing = 0, - terraformHeight = 158, - }, - { - name = "turretaalaser", - x = 6472, - z = 5448, - facing = 0, - }, - { - name = "turretaalaser", - x = 6232, - z = 5176, - facing = 3, - }, - { - name = "turretheavy", - x = 5416, - z = 2696, - facing = 3, - terraformHeight = 90, - }, - { - name = "staticmex", - x = 8056, - z = 4200, - facing = 3, - }, - { - name = "turretgauss", - x = 7960, - z = 4344, - facing = 0, - }, - { - name = "turretgauss", - x = 8136, - z = 4360, - facing = 0, - }, - { - name = "turretgauss", - x = 5720, - z = 3000, - facing = 0, - }, - { - name = "staticheavyradar", - x = 4912, - z = 1296, - facing = 3, - }, - { - name = "turretgauss", - x = 5432, - z = 3048, - facing = 0, - }, - { - name = "turretgauss", - x = 5064, - z = 2792, - facing = 3, - }, - { - name = "turretgauss", - x = 5032, - z = 2488, - facing = 3, - }, - { - name = "turretgauss", - x = 4312, - z = 280, - facing = 3, - }, - { - name = "turretgauss", - x = 4232, - z = 72, - facing = 3, - }, - { - name = "turretaaflak", - x = 4552, - z = 792, - facing = 3, - }, - { - name = "turretaaflak", - x = 4840, - z = 1208, - facing = 3, - }, - { - name = "staticheavyradar", - x = 6864, - z = 3728, - facing = 3, - }, - { - name = "turretaaflak", - x = 5080, - z = 1640, - facing = 3, - }, - { - name = "turretaaflak", - x = 6136, - z = 3032, - facing = 0, - }, - { - name = "turretaaflak", - x = 6552, - z = 3480, - facing = 0, - }, - { - name = "turretaaflak", - x = 7736, - z = 4216, - facing = 0, - }, - { - name = "turretaaflak", - x = 7304, - z = 3992, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7528, - z = 4168, - facing = 0, - }, - { - name = "turretheavylaser", - x = 7064, - z = 3832, - facing = 0, - }, - { - name = "turretheavylaser", - x = 6696, - z = 3592, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5112, - z = 1912, - facing = 3, - }, - { - name = "turretheavylaser", - x = 6392, - z = 3160, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4968, - z = 1464, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4712, - z = 1048, - facing = 3, - }, - { - name = "turretheavylaser", - x = 4376, - z = 552, - facing = 3, - }, - { - name = "staticcon", - x = 6440, - z = 2168, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6440, 2168}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6415, 2193}, options = {"shift"}}, - }, - }, - { - name = "turretaafar", - x = 5728, - z = 1296, - facing = 3, - }, - { - name = "staticcon", - x = 6104, - z = 1720, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6104, 1720}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6079, 1745}, options = {"shift"}}, - }, - }, - { - name = "turretaafar", - x = 7120, - z = 2208, - facing = 0, - }, - { - name = "subraider", - x = 4104, - z = 2945, - facing = 0, - }, - { - name = "subraider", - x = 4193, - z = 3018, - facing = 0, - }, - { - name = "subraider", - x = 4007, - z = 2861, - facing = 0, - }, - { - name = "subraider", - x = 3913, - z = 2776, - facing = 3, - }, - { - name = "subraider", - x = 3820, - z = 2690, - facing = 3, - }, - { - name = "subraider", - x = 5359, - z = 4117, - facing = 0, - }, - { - name = "subraider", - x = 4833, - z = 3640, - facing = 0, - }, - { - name = "subraider", - x = 4940, - z = 3775, - facing = 0, - }, - { - name = "subraider", - x = 5031, - z = 3851, - facing = 0, - }, - { - name = "subraider", - x = 5131, - z = 3953, - facing = 0, - }, - { - name = "subraider", - x = 5248, - z = 4038, - facing = 0, - }, - { - name = "shipcarrier", - x = 4795, - z = 2960, - facing = 0, - }, - { - name = "shipheavyarty", - x = 5080, - z = 3213, - facing = 0, - }, - { - name = "shipassault", - x = 4490, - z = 2942, - facing = 0, - }, - { - name = "shipassault", - x = 4648, - z = 2668, - facing = 0, - }, - { - name = "shiparty", - x = 5317, - z = 3308, - facing = 0, - }, - { - name = "shiparty", - x = 5200, - z = 3527, - facing = 0, - }, - { - name = "shipaa", - x = 5460, - z = 3581, - facing = 0, - }, - { - name = "shipaa", - x = 4423, - z = 2713, - facing = 0, - }, - { - name = "shipcon", - x = 5576, - z = 3403, - facing = 0, - }, - { - name = "shipcon", - x = 4386, - z = 2541, - facing = 0, - }, - { - name = "amphcon", - x = 5790, - z = 1970, - facing = 0, - }, - { - name = "amphcon", - x = 5853, - z = 1970, - facing = 0, - }, - { - name = "amphcon", - x = 5923, - z = 1970, - facing = 0, - }, - { - name = "amphriot", - x = 5741, - z = 2046, - facing = 0, - }, - { - name = "amphriot", - x = 5851, - z = 2074, - facing = 0, - }, - { - name = "amphriot", - x = 5981, - z = 2026, - facing = 0, - }, - { - name = "hoverskirm", - x = 6012, - z = 2552, - facing = 0, - }, - { - name = "hoverskirm", - x = 6116, - z = 2617, - facing = 0, - }, - { - name = "hoverskirm", - x = 6237, - z = 2564, - facing = 0, - }, - { - name = "hoverarty", - x = 6120, - z = 2492, - facing = 0, - }, - { - name = "staticmex", - x = 5592, - z = 4632, - facing = 0, - }, - { - name = "staticmex", - x = 5272, - z = 5528, - facing = 0, - }, - { - name = "staticmex", - x = 4184, - z = 2328, - facing = 0, - }, - { - name = "staticmex", - x = 6184, - z = 5880, - facing = 0, - }, - { - name = "staticmex", - x = 4168, - z = 1224, - facing = 0, - }, - { - name = "staticmex", - x = 5736, - z = 6696, - facing = 0, - }, - { - name = "staticmex", - x = 3240, - z = 360, - facing = 0, - }, - { - name = "staticmex", - x = 7192, - z = 7496, - facing = 0, - }, - { - name = "staticmex", - x = 2152, - z = 1672, - facing = 0, - }, - { - name = "staticmex", - x = 7944, - z = 6712, - facing = 0, - }, - { - name = "staticmex", - x = 8072, - z = 6376, - facing = 0, - }, - { - name = "staticmex", - x = 1272, - z = 1752, - facing = 0, - }, - { - name = "staticmex", - x = 7336, - z = 6088, - facing = 0, - }, - { - name = "staticmex", - x = 968, - z = 872, - facing = 0, - }, - { - name = "staticmex", - x = 7752, - z = 5000, - facing = 0, - }, - { - name = "staticmex", - x = 1864, - z = 2680, - facing = 0, - }, - { - name = "staticmex", - x = 3080, - z = 3032, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 330, - startZ = 7200, - aiLib = "Circuit_difficulty_autofill", - humanName = "Tasnext", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energyheavygeo", - "energysingu", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "staticnuke", - "staticheavyarty", - "staticarty", - "factoryship", - "shipcon", - "shipaa", - "shiparty", - "shipassault", - "shipriot", - "shipscout", - "shipskirm", - "shiptorpraider", - "subraider", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "striderhub", - "shipcarrier", - "shipheavyarty", - }, - commanderLevel = 7, - commander = { - name = "Temos", - chassis = "recon", - decorations = { - "skin_recon_leopard", - }, - modules = { - "commweapon_shotgun", - "commweapon_concussion", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_autorepair", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_dmg_booster", - "module_dmg_booster", - "module_dmg_booster", - "module_dmg_booster", - "module_dmg_booster", - } - }, - midgameUnits = { - { - name = "shipcarrier", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipaa", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "shipassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "shipcarrier", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipaa", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 1*30*60, - orbitalDrop = true, - }, - { - name = "shipheavyarty", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - { - name = "shipassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shipaa", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "bomberprec", - x = 5000, - z = 7800, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 5000, - z = 7800, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 5000, - z = 7800, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 5000, - z = 7800, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 5000, - z = 7800, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - difficultyAtLeast = 3, - }, - { - name = "bomberprec", - x = 5000, - z = 7800, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - difficultyAtLeast = 4, - }, - { - name = "shipheavyarty", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - }, - { - name = "shipassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "shipaa", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = true, - }, - { - name = "bomberprec", - x = 300, - z = 3500, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 300, - z = 3500, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 300, - z = 3500, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 300, - z = 3500, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - }, - { - name = "bomberprec", - x = 300, - z = 3500, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - difficultyAtLeast = 3, - }, - { - name = "bomberprec", - x = 300, - z = 3500, - facing = 2, - spawnRadius = 150, - delay = 2*30*60, - orbitalDrop = false, - difficultyAtLeast = 4, - }, - { - name = "hoverassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "hoverassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 3*30*60, - orbitalDrop = true, - }, - { - name = "shipheavyarty", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - }, - { - name = "shipassault", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - }, - { - name = "shipaa", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - }, - { - name = "shipheavyarty", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - }, - { - name = "shipassault", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - }, - { - name = "shipaa", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 4*30*60, - orbitalDrop = true, - }, - { - name = "striderdetriment", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 5*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - difficultyAtMost = 4, - }, - { - name = "striderdetriment", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 6*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "striderdetriment", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 7*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - difficultyAtMost = 2, - }, - { - name = "striderdetriment", - x = 300, - z = 3500, - facing = 0, - spawnRadius = 150, - delay = 8*30*60, - orbitalDrop = true, - difficultyAtLeast = 1, - difficultyAtMost = 1, - }, - { - name = "striderdetriment", - x = 5000, - z = 7800, - facing = 0, - spawnRadius = 150, - delay = 15*30*60, - orbitalDrop = true, - }, - }, - startUnits = { - { - name = "staticheavyarty", - x = 1504, - z = 6752, - facing = 2, - }, - { - name = "staticheavyarty", - x = 1700, - z = 6930, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "staticheavyarty", - x = 1210, - z = 6650, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "staticheavyarty", - x = 1886, - z = 7039, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "staticantinuke", - x = 1200, - z = 5600, - facing = 0, - }, - { - name = "staticantinuke", - x = 1400, - z = 7600, - facing = 0, - }, - { - name = "staticantinuke", - x = 3000, - z = 7300, - facing = 0, - }, - { - name = "staticnuke", - x = 100, - z = 8100, - facing = 0, - }, - { - name = "staticrearm", - x = 1300, - z = 5250, - facing = 0, - }, - { - name = "staticrearm", - x = 3570, - z = 8000, - facing = 0, - }, - { - name = "staticmex", - x = 1688, - z = 7352, - facing = 0, - }, - { - name = "staticmex", - x = 600, - z = 6568, - facing = 0, - }, - { - name = "staticmex", - x = 1144, - z = 7736, - facing = 0, - }, - { - name = "staticmex", - x = 712, - z = 7176, - facing = 0, - }, - { - name = "staticmex", - x = 280, - z = 7384, - facing = 0, - }, - { - name = "staticmex", - x = 1944, - z = 6392, - facing = 0, - }, - { - name = "staticmex", - x = 1448, - z = 5752, - facing = 0, - }, - { - name = "staticmex", - x = 1560, - z = 5304, - facing = 0, - }, - { - name = "staticmex", - x = 904, - z = 5400, - facing = 0, - }, - { - name = "staticmex", - x = 2888, - z = 6264, - facing = 0, - }, - { - name = "staticmex", - x = 2984, - z = 6152, - facing = 0, - }, - { - name = "staticmex", - x = 376, - z = 5336, - facing = 0, - }, - { - name = "staticmex", - x = 3352, - z = 5928, - facing = 0, - }, - { - name = "staticmex", - x = 568, - z = 4856, - facing = 0, - }, - { - name = "staticmex", - x = 3112, - z = 6568, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 4264, - facing = 0, - }, - { - name = "staticmex", - x = 3032, - z = 7096, - facing = 0, - }, - { - name = "staticmex", - x = 40, - z = 4248, - facing = 0, - }, - { - name = "staticmex", - x = 2632, - z = 6920, - facing = 0, - }, - { - name = "staticmex", - x = 2952, - z = 7656, - facing = 0, - }, - { - name = "staticmex", - x = 3448, - z = 7768, - facing = 0, - }, - { - name = "staticmex", - x = 3752, - z = 8136, - facing = 0, - }, - { - name = "staticmex", - x = 3880, - z = 8056, - facing = 0, - }, - { - name = "energysingu", - x = 2408, - z = 8136, - facing = 3, - terraformHeight = -150, - }, - { - name = "energysingu", - x = 2296, - z = 8136, - facing = 3, - terraformHeight = -150, - }, - { - name = "turretgauss", - x = 72, - z = 4040, - facing = 2, - }, - { - name = "turretgauss", - x = 216, - z = 4088, - facing = 2, - }, - { - name = "energysingu", - x = 56, - z = 5960, - facing = 3, - }, - { - name = "turretgauss", - x = 344, - z = 4120, - facing = 2, - }, - { - name = "energypylon", - x = 408, - z = 5432, - facing = 2, - }, - { - name = "energypylon", - x = 216, - z = 4648, - facing = 2, - }, - { - name = "energypylon", - x = 1160, - z = 5352, - facing = 2, - }, - { - name = "energypylon", - x = 1672, - z = 5384, - facing = 2, - }, - { - name = "energypylon", - x = 1624, - z = 6152, - facing = 2, - }, - { - name = "energypylon", - x = 2344, - z = 7560, - facing = 2, - }, - { - name = "energypylon", - x = 2120, - z = 6792, - facing = 2, - }, - { - name = "energypylon", - x = 2680, - z = 6760, - facing = 2, - }, - { - name = "energysolar", - x = 1752, - z = 7368, - facing = 0, - }, - { - name = "energysolar", - x = 1672, - z = 7416, - facing = 3, - }, - { - name = "energysolar", - x = 1624, - z = 7336, - facing = 2, - }, - { - name = "energypylon", - x = 3224, - z = 7176, - facing = 2, - }, - { - name = "energysolar", - x = 1704, - z = 7288, - facing = 1, - }, - { - name = "energypylon", - x = 744, - z = 6200, - facing = 2, - }, - { - name = "energypylon", - x = 3304, - z = 7784, - facing = 2, - }, - { - name = "turretgauss", - x = 3944, - z = 7960, - facing = 1, - }, - { - name = "energypylon", - x = 296, - z = 6936, - facing = 2, - }, - { - name = "turretgauss", - x = 4040, - z = 8152, - facing = 1, - }, - { - name = "energypylon", - x = 1192, - z = 6984, - facing = 2, - }, - { - name = "energypylon", - x = 776, - z = 7784, - facing = 2, - }, - { - name = "energysolar", - x = 664, - z = 6584, - facing = 0, - }, - { - name = "energysolar", - x = 584, - z = 6632, - facing = 3, - }, - { - name = "energysolar", - x = 536, - z = 6552, - facing = 2, - }, - { - name = "energypylon", - x = 1656, - z = 7752, - facing = 2, - }, - { - name = "energysolar", - x = 616, - z = 6504, - facing = 1, - }, - { - name = "energysolar", - x = 344, - z = 7400, - facing = 0, - }, - { - name = "energysolar", - x = 264, - z = 7448, - facing = 3, - }, - { - name = "energysolar", - x = 216, - z = 7368, - facing = 2, - }, - { - name = "energysolar", - x = 296, - z = 7320, - facing = 1, - }, - { - name = "factoryship", - x = 4096, - z = 7632, - facing = 2, - }, - { - name = "staticcon", - x = 3960, - z = 7544, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3960, 7544}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3985, 7519}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3960, - z = 7608, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3960, 7608}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3985, 7583}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 3960, - z = 7672, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3960, 7672}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {3985, 7647}, options = {"shift"}}, - }, - }, - { - name = "factoryship", - x = 1296, - z = 4592, - facing = 1, - }, - { - name = "staticcon", - x = 1224, - z = 4744, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1224, 4744}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1249, 4719}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1288, - z = 4744, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1288, 4744}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1313, 4719}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 1352, - z = 4744, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1352, 4744}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1377, 4719}, options = {"shift"}}, - }, - }, - { - name = "striderhub", - x = 2464, - z = 5584, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2464, 5584}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2489, 5559}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2344, - z = 5640, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2369, 5615}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2344, 5640}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2536, - z = 5736, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2536, 5736}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2561, 5711}, options = {"shift"}}, - }, - }, - { - name = "factorygunship", - x = 2360, - z = 5928, - facing = 2, - }, - { - name = "turrettorp", - x = 2248, - z = 5064, - facing = 2, - }, - { - name = "turrettorp", - x = 2520, - z = 5128, - facing = 2, - }, - { - name = "turrettorp", - x = 2744, - z = 5224, - facing = 2, - }, - { - name = "turrettorp", - x = 2968, - z = 5352, - facing = 2, - }, - { - name = "energypylon", - x = 3128, - z = 6120, - facing = 1, - }, - { - name = "turretantiheavy", - x = 3696, - z = 7584, - facing = 2, - }, - { - name = "turretantiheavy", - x = 3472, - z = 6784, - facing = 1, - }, - { - name = "turretaaflak", - x = 3576, - z = 7128, - facing = 1, - }, - { - name = "turretaaflak", - x = 3480, - z = 6520, - facing = 1, - }, - { - name = "turretaaflak", - x = 3656, - z = 7800, - facing = 1, - }, - { - name = "turretheavy", - x = 3096, - z = 5640, - facing = 2, - }, - { - name = "turretheavy", - x = 3544, - z = 5928, - facing = 2, - }, - { - name = "staticarty", - x = 1912, - z = 5032, - facing = 2, - }, - { - name = "staticshield", - x = 1808, - z = 5184, - facing = 2, - }, - { - name = "staticshield", - x = 3248, - z = 5888, - facing = 2, - }, - { - name = "turretantiheavy", - x = 1056, - z = 4896, - facing = 2, - }, - { - name = "turretheavy", - x = 552, - z = 4360, - facing = 2, - }, - { - name = "turretaaflak", - x = 760, - z = 4680, - facing = 2, - }, - { - name = "turretaaflak", - x = 1400, - z = 5032, - facing = 2, - }, - { - name = "turretaafar", - x = 2000, - z = 5296, - facing = 2, - }, - { - name = "factoryhover", - x = 2896, - z = 6624, - facing = 2, - }, - { - name = "staticcon", - x = 2856, - z = 6792, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2856, 6792}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2881, 6767}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2936, - z = 6792, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2936, 6792}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2961, 6767}, options = {"shift"}}, - }, - }, - { - name = "hoverriot", - x = 2961, - z = 6284, - facing = 2, - }, - { - name = "hoverskirm", - x = 2641, - z = 6407, - facing = 2, - }, - { - name = "hoverskirm", - x = 2680, - z = 6419, - facing = 2, - }, - { - name = "hoverassault", - x = 2704, - z = 6336, - facing = 3, - }, - { - name = "hoverassault", - x = 2676, - z = 6375, - facing = 3, - }, - { - name = "hovercon", - x = 2741, - z = 6354, - facing = 3, - }, - { - name = "hovercon", - x = 2715, - z = 6388, - facing = 2, - }, - { - name = "gunshipraid", - x = 1073, - z = 6100, - facing = 1, - }, - { - name = "gunshipraid", - x = 378, - z = 5550, - facing = 1, - }, - { - name = "gunshipraid", - x = 1619, - z = 6753, - facing = 2, - }, - { - name = "gunshipraid", - x = 2170, - z = 7439, - facing = 2, - }, - { - name = "gunshipraid", - x = 2663, - z = 8129, - facing = 2, - }, - { - name = "gunshipassault", - x = 333, - z = 7870, - facing = 1, - }, - { - name = "factoryamph", - x = 296, - z = 5000, - facing = 2, - }, - { - name = "staticcon", - x = 264, - z = 5128, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {264, 5128}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {289, 5103}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 344, - z = 5128, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {344, 5128}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {369, 5103}, options = {"shift"}}, - }, - }, - { - name = "staticheavyradar", - x = 1184, - z = 4928, - facing = 2, - }, - { - name = "turretaaflak", - x = 1400, - z = 6600, - facing = 2, - }, - { - name = "staticheavyradar", - x = 3584, - z = 7248, - facing = 2, - }, - { - name = "turretriot", - x = 1304, - z = 6776, - facing = 3, - }, - { - name = "turretriot", - x = 1448, - z = 6936, - facing = 0, - }, - { - name = "turretriot", - x = 1640, - z = 6616, - facing = 2, - }, - { - name = "turrettorp", - x = 4024, - z = 6728, - facing = 2, - }, - { - name = "turrettorp", - x = 4296, - z = 6952, - facing = 2, - }, - { - name = "turrettorp", - x = 4488, - z = 7112, - facing = 2, - }, - { - name = "turrettorp", - x = 4712, - z = 7320, - facing = 2, - }, - { - name = "shipheavyarty", - x = 2751, - z = 5397, - facing = 2, - }, - { - name = "turrettorp", - x = 5032, - z = 7592, - facing = 2, - }, - { - name = "turrettorp", - x = 5304, - z = 7784, - facing = 2, - }, - { - name = "shiparty", - x = 2252, - z = 5341, - facing = 0, - }, - { - name = "shiparty", - x = 2451, - z = 5386, - facing = 0, - }, - { - name = "turrettorp", - x = 5528, - z = 7960, - facing = 2, - }, - { - name = "shipaa", - x = 2619, - z = 5459, - facing = 0, - }, - { - name = "shipaa", - x = 2697, - z = 5625, - facing = 0, - }, - { - name = "shiptorpraider", - x = 2271, - z = 5503, - facing = 0, - }, - { - name = "shiptorpraider", - x = 2343, - z = 5373, - facing = 0, - }, - { - name = "turrettorp", - x = 360, - z = 3064, - facing = 2, - }, - { - name = "shiptorpraider", - x = 2424, - z = 5101, - facing = 0, - }, - { - name = "shiptorpraider", - x = 2637, - z = 5241, - facing = 0, - }, - { - name = "shiptorpraider", - x = 2902, - z = 5272, - facing = 0, - }, - { - name = "shiptorpraider", - x = 3145, - z = 5340, - facing = 0, - }, - { - name = "turrettorp", - x = 680, - z = 3272, - facing = 2, - }, - { - name = "shipheavyarty", - x = 4774, - z = 8070, - facing = 0, - }, - { - name = "turrettorp", - x = 904, - z = 3480, - facing = 2, - }, - { - name = "shiparty", - x = 4595, - z = 7878, - facing = 0, - }, - { - name = "shiparty", - x = 4947, - z = 7966, - facing = 0, - }, - { - name = "shipassault", - x = 4487, - z = 7998, - facing = 0, - }, - { - name = "turrettorp", - x = 1176, - z = 3768, - facing = 2, - }, - { - name = "shipassault", - x = 5145, - z = 8053, - facing = 0, - }, - { - name = "shipriot", - x = 4401, - z = 7640, - facing = 0, - }, - { - name = "shipriot", - x = 4869, - z = 7749, - facing = 0, - }, - { - name = "turrettorp", - x = 1496, - z = 4040, - facing = 2, - }, - { - name = "shipriot", - x = 5385, - z = 7991, - facing = 0, - }, - { - name = "turrettorp", - x = 1688, - z = 4312, - facing = 2, - }, - { - name = "shipcon", - x = 4213, - z = 7934, - facing = 0, - }, - { - name = "shipcon", - x = 991, - z = 4405, - facing = 0, - }, - { - name = "turrettorp", - x = 1816, - z = 4568, - facing = 2, - }, - { - name = "shipheavyarty", - x = 936, - z = 4115, - facing = 0, - }, - { - name = "shipriot", - x = 1189, - z = 4206, - facing = 0, - }, - { - name = "shipriot", - x = 1202, - z = 3881, - facing = 0, - }, - { - name = "shipriot", - x = 905, - z = 3705, - facing = 0, - }, - { - name = "shipriot", - x = 601, - z = 3670, - facing = 0, - }, - { - name = "subraider", - x = 571, - z = 3889, - facing = 0, - }, - { - name = "subraider", - x = 812, - z = 3886, - facing = 0, - }, - { - name = "subraider", - x = 1117, - z = 4009, - facing = 0, - }, - { - name = "subraider", - x = 3911, - z = 6966, - facing = 0, - }, - { - name = "subraider", - x = 4054, - z = 7053, - facing = 0, - }, - { - name = "staticcon", - x = 120, - z = 7144, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {120, 7144}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {145, 7119}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 120, - z = 7224, - facing = 2, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {120, 7224}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {145, 7199}, options = {"shift"}}, - }, - }, - { - name = "factoryplane", - x = 256, - z = 7192, - facing = 2, - }, - { - name = "staticrearm", - x = 424, - z = 7208, - facing = 2, - }, - { - name = "planescout", - x = 1424, - z = 7411, - facing = 0, - }, - { - name = "planescout", - x = 436, - z = 6586, - facing = 1, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "factoryship", - "factorygunship", - "factoryplane", - "factoryhover", - "factoryamph", - "energysingu", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Factories and Singularity Reactors", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - onlyCountRemovedUnits = true, - satisfyByTime = 5*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - enemyUnitTypes = { - "shipheavyarty", - }, - image = planetUtilities.ICON_DIR .. "shipheavyarty.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy 3 enemy Shoguns before 5:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 30*60, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 30:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "raveparty", - }, - modules = { - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet68.lua b/campaign/dev/planets/planet68.lua deleted file mode 100644 index a061bc0a7..000000000 --- a/campaign/dev/planets/planet68.lua +++ /dev/null @@ -1,3929 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = LUA_DIRNAME .. "images/planets/tundra01.png" - - local planetData = { - name = "Cipher", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.955, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.05, - image = image, - size = planetUtilities.PLANET_SIZE_MAP * 1.25, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Arctic", - radius = "7650 km", - primary = "Endofili", - primaryType = "G1V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24642", - text = [[Your opponent is already conducting a victory dance with their Disco Rave Party cannon. Hold off their assault until your Starlight orbital chisel is complete, then demonstrate that their celebration is premature.]] - }, - tips = { - { - image = "unitpics/mahlazer.png", - text = [[The Zenith is a planetary-scale chisel repurposed as the ultimate superweapon, firing a laser from space which will cut through anything. The mirror satellite rotates slowly, so make sure it doesn't strike your own units and structures.]] - }, - { - image = "unitpics/cremcom.png", - text = [[Game speed can be changed with the + and - keys. Slow down or pause as often as you need to; this map is very large and you will have a lot to manage.]] - }, - }, - gameConfig = { - mapName = "FrozenFortress_v2", - playerConfig = { - startX = 1500, - startZ = 3600, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "mahlazer" - }, - startUnits = { - { - name = "mahlazer", - x = 928, - z = 3600, - facing = 3, - buildProgress = 0.625, - difficultyAtLeast = 1, - difficultyAtMost = 1, - }, - { - name = "mahlazer", - x = 928, - z = 3600, - facing = 3, - buildProgress = 0.55, - difficultyAtLeast = 2, - difficultyAtMost = 2, - }, - { - name = "mahlazer", - x = 928, - z = 3600, - facing = 3, - buildProgress = 0.475, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "mahlazer", - x = 928, - z = 3600, - facing = 3, - buildProgress = 0.4, - difficultyAtLeast = 4, - difficultyAtMost = 4, - }, - { - name = "energysolar", - x = 200, - z = 2090, - facing = 0, - }, - { - name = "energysolar", - x = 280, - z = 5950, - facing = 0, - }, - { - name = "staticmex", - x = 1464, - z = 1208, - facing = 0, - }, - { - name = "staticmex", - x = 1224, - z = 1016, - facing = 0, - }, - { - name = "staticmex", - x = 1432, - z = 2184, - facing = 0, - }, - { - name = "staticmex", - x = 1288, - z = 6008, - facing = 0, - }, - { - name = "staticmex", - x = 1560, - z = 2424, - facing = 0, - }, - { - name = "staticmex", - x = 1480, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 968, - z = 5816, - facing = 0, - }, - { - name = "staticmex", - x = 1128, - z = 2376, - facing = 0, - }, - { - name = "pw_metal", - x = 128, - z = 7008, - facing = 0, - }, - { - name = "staticmex", - x = 1352, - z = 5176, - facing = 0, - }, - { - name = "staticmex", - x = 440, - z = 1784, - facing = 0, - }, - { - name = "staticmex", - x = 1416, - z = 4856, - facing = 0, - }, - { - name = "staticmex", - x = 184, - z = 200, - facing = 0, - }, - { - name = "staticmex", - x = 1096, - z = 4936, - facing = 0, - }, - { - name = "staticmex", - x = 120, - z = 2056, - facing = 0, - }, - { - name = "pw_metal", - x = 944, - z = 464, - facing = 0, - }, - { - name = "staticmex", - x = 520, - z = 4728, - facing = 0, - }, - { - name = "staticmex", - x = 136, - z = 4680, - facing = 0, - }, - { - name = "staticmex", - x = 264, - z = 3400, - facing = 0, - }, - { - name = "staticmex", - x = 136, - z = 3848, - facing = 0, - }, - { - name = "staticmex", - x = 1336, - z = 3912, - facing = 0, - }, - { - name = "staticmex", - x = 2440, - z = 2312, - facing = 0, - }, - { - name = "staticmex", - x = 1160, - z = 3656, - facing = 0, - }, - { - name = "staticmex", - x = 2184, - z = 1528, - facing = 0, - }, - { - name = "staticmex", - x = 1272, - z = 3320, - facing = 0, - }, - { - name = "staticmex", - x = 2824, - z = 4376, - facing = 0, - }, - { - name = "staticmex", - x = 2808, - z = 4936, - facing = 0, - }, - { - name = "staticmex", - x = 3320, - z = 1864, - facing = 0, - }, - { - name = "staticmex", - x = 2424, - z = 3576, - facing = 0, - }, - { - name = "staticmex", - x = 3464, - z = 5464, - facing = 0, - }, - { - name = "staticmex", - x = 2824, - z = 2856, - facing = 0, - }, - { - name = "staticmex", - x = 3320, - z = 184, - facing = 0, - }, - { - name = "staticmex", - x = 2232, - z = 5816, - facing = 0, - }, - { - name = "staticmex", - x = 3464, - z = 4344, - facing = 0, - }, - { - name = "staticmex", - x = 3592, - z = 2696, - facing = 0, - }, - { - name = "staticmex", - x = 3336, - z = 6984, - facing = 0, - }, - { - name = "staticmex", - x = 840, - z = 6712, - facing = 0, - }, - { - name = "energywind", - x = 216, - z = 6856, - facing = 3, - }, - { - name = "energywind", - x = 136, - z = 6856, - facing = 3, - }, - { - name = "energywind", - x = 56, - z = 6856, - facing = 3, - }, - { - name = "energywind", - x = 56, - z = 6776, - facing = 3, - }, - { - name = "energywind", - x = 136, - z = 6776, - facing = 3, - }, - { - name = "energywind", - x = 216, - z = 6776, - facing = 3, - }, - { - name = "energywind", - x = 216, - z = 6696, - facing = 3, - }, - { - name = "energywind", - x = 136, - z = 6696, - facing = 3, - }, - { - name = "energywind", - x = 56, - z = 6696, - facing = 3, - }, - { - name = "energywind", - x = 56, - z = 6616, - facing = 3, - }, - { - name = "energywind", - x = 280, - z = 6936, - facing = 3, - }, - { - name = "energywind", - x = 136, - z = 6616, - facing = 3, - }, - { - name = "energywind", - x = 216, - z = 6616, - facing = 3, - }, - { - name = "energywind", - x = 216, - z = 6536, - facing = 3, - }, - { - name = "energywind", - x = 136, - z = 6536, - facing = 3, - }, - { - name = "energywind", - x = 56, - z = 6536, - facing = 3, - }, - { - name = "energywind", - x = 296, - z = 6696, - facing = 3, - }, - { - name = "energywind", - x = 296, - z = 6776, - facing = 3, - }, - { - name = "energywind", - x = 296, - z = 6856, - facing = 3, - }, - { - name = "energywind", - x = 280, - z = 7016, - facing = 3, - }, - { - name = "energywind", - x = 280, - z = 7096, - facing = 3, - }, - { - name = "starlight_satellite", - x = 928, - z = 3600, - facing = 3, - }, - { - name = "energywind", - x = 376, - z = 6776, - facing = 3, - }, - { - name = "energywind", - x = 376, - z = 6856, - facing = 3, - }, - { - name = "energywind", - x = 376, - z = 6936, - facing = 3, - }, - { - name = "energywind", - x = 376, - z = 7016, - facing = 3, - }, - { - name = "energywind", - x = 376, - z = 7096, - facing = 3, - }, - { - name = "energywind", - x = 456, - z = 6856, - facing = 3, - }, - { - name = "energywind", - x = 456, - z = 6936, - facing = 3, - }, - { - name = "energywind", - x = 456, - z = 7016, - facing = 3, - }, - { - name = "energywind", - x = 456, - z = 7096, - facing = 3, - }, - { - name = "energysingu", - x = 56, - z = 5944, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 24, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 24, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 24, - facing = 3, - }, - { - name = "energypylon", - x = 2648, - z = 920, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 24, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 24, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 104, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 104, - facing = 3, - }, - { - name = "energysingu", - x = 56, - z = 1016, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 104, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 104, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 104, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 184, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 184, - facing = 3, - }, - { - name = "energypylon", - x = 664, - z = 488, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 184, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 184, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 264, - facing = 3, - }, - { - name = "energypylon", - x = 1384, - z = 488, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 264, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 264, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 264, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 264, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 344, - facing = 3, - }, - { - name = "energypylon", - x = 2104, - z = 488, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 344, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 344, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 344, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 344, - facing = 3, - }, - { - name = "energypylon", - x = 2104, - z = 1208, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 424, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 424, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 424, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 424, - facing = 3, - }, - { - name = "energypylon", - x = 1384, - z = 1208, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 424, - facing = 3, - }, - { - name = "energywind", - x = 424, - z = 24, - facing = 3, - }, - { - name = "energywind", - x = 424, - z = 104, - facing = 3, - }, - { - name = "energypylon", - x = 664, - z = 1208, - facing = 3, - }, - { - name = "energywind", - x = 424, - z = 184, - facing = 3, - }, - { - name = "energywind", - x = 424, - z = 264, - facing = 3, - }, - { - name = "energywind", - x = 24, - z = 504, - facing = 3, - }, - { - name = "energypylon", - x = 664, - z = 1928, - facing = 3, - }, - { - name = "energywind", - x = 104, - z = 504, - facing = 3, - }, - { - name = "energywind", - x = 184, - z = 504, - facing = 3, - }, - { - name = "energypylon", - x = 1384, - z = 1928, - facing = 3, - }, - { - name = "energypylon", - x = 2824, - z = 1928, - facing = 3, - }, - { - name = "energypylon", - x = 1384, - z = 2648, - facing = 3, - }, - { - name = "energypylon", - x = 664, - z = 2648, - facing = 3, - }, - { - name = "energypylon", - x = 1384, - z = 3368, - facing = 3, - }, - { - name = "energypylon", - x = 2104, - z = 3368, - facing = 3, - }, - { - name = "energypylon", - x = 2136, - z = 2120, - facing = 3, - }, - { - name = "energypylon", - x = 2824, - z = 3368, - facing = 3, - }, - { - name = "jumparty", - x = 3136, - z = 6588, - facing = 2, - }, - { - name = "energypylon", - x = 2104, - z = 4088, - facing = 3, - }, - { - name = "energypylon", - x = 1384, - z = 4088, - facing = 3, - }, - { - name = "energypylon", - x = 664, - z = 4808, - facing = 3, - }, - { - name = "energypylon", - x = 2488, - z = 2776, - facing = 3, - }, - { - name = "energypylon", - x = 1384, - z = 4808, - facing = 3, - }, - { - name = "energypylon", - x = 2104, - z = 4808, - facing = 3, - }, - { - name = "energypylon", - x = 2824, - z = 4808, - facing = 3, - }, - { - name = "energypylon", - x = 2824, - z = 5528, - facing = 3, - }, - { - name = "energypylon", - x = 664, - z = 5528, - facing = 3, - }, - { - name = "energypylon", - x = 2104, - z = 6968, - facing = 3, - }, - { - name = "energypylon", - x = 648, - z = 6472, - facing = 3, - }, - { - name = "energypylon", - x = 1448, - z = 5784, - facing = 3, - }, - { - name = "energypylon", - x = 2120, - z = 5752, - facing = 3, - }, - { - name = "energypylon", - x = 1464, - z = 6616, - facing = 3, - }, - { - name = "energypylon", - x = 2728, - z = 6392, - facing = 3, - }, - { - name = "staticcon", - x = 1128, - z = 3448, - facing = 1, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1224, - z = 3448, - facing = 1, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1224, - z = 3544, - facing = 1, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1128, - z = 3544, - facing = 1, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1112, - z = 3752, - facing = 1, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1208, - z = 3752, - facing = 1, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1208, - z = 3848, - facing = 1, - selfPatrol = true, - }, - { - name = "staticcon", - x = 1112, - z = 3848, - facing = 1, - selfPatrol = true, - }, - { - name = "striderhub", - x = 1312, - z = 3648, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1312, 3648}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1337, 3623}, options = {"shift"}}, - }, - }, - { - name = "striderbantha", - x = 1424, - z = 3568, - facing = 1, - }, - { - name = "striderbantha", - x = 1424, - z = 3744, - facing = 1, - }, - { - name = "staticcon", - x = 2504, - z = 632, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2529, 657}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2504, 632}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2600, - z = 632, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2600, 632}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2625, 657}, options = {"shift"}}, - }, - }, - { - name = "factoryspider", - x = 2712, - z = 600, - facing = 1, - }, - { - name = "staticcon", - x = 2760, - z = 6648, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2760, 6648}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2785, 6623}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2760, - z = 6760, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2760, 6760}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2785, 6735}, options = {"shift"}}, - }, - }, - { - name = "factoryjump", - x = 2888, - z = 6696, - facing = 1, - }, - { - name = "staticcon", - x = 2856, - z = 3752, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2856, 3752}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2881, 3727}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2856, - z = 3848, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2856, 3848}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2881, 3823}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2856, - z = 3944, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2881, 3919}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2856, 3944}, options = {"shift"}}, - }, - }, - { - name = "factorytank", - x = 2992, - z = 3840, - facing = 1, - }, - { - name = "staticcon", - x = 2952, - z = 3224, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2977, 3249}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2952, 3224}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2952, - z = 3320, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2952, 3320}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2977, 3345}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 2952, - z = 3416, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2952, 3416}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {2977, 3441}, options = {"shift"}}, - }, - }, - { - name = "factoryamph", - x = 3080, - z = 3304, - facing = 1, - }, - { - name = "amphassault", - x = 3400, - z = 3060, - facing = 1, - }, - { - name = "amphassault", - x = 3362, - z = 3451, - facing = 1, - }, - { - name = "amphassault", - x = 3492, - z = 3318, - facing = 1, - }, - { - name = "amphfloater", - x = 3597, - z = 3458, - facing = 1, - }, - { - name = "amphfloater", - x = 3610, - z = 3197, - facing = 1, - }, - { - name = "amphfloater", - x = 3620, - z = 3394, - facing = 1, - }, - { - name = "amphfloater", - x = 3555, - z = 3076, - facing = 2, - }, - { - name = "amphfloater", - x = 3627, - z = 3322, - facing = 1, - }, - { - name = "amphfloater", - x = 3527, - z = 3011, - facing = 2, - }, - { - name = "amphfloater", - x = 3622, - z = 3261, - facing = 1, - }, - { - name = "amphfloater", - x = 3584, - z = 3132, - facing = 1, - }, - { - name = "amphfloater", - x = 3551, - z = 3504, - facing = 1, - }, - { - name = "tankheavyassault", - x = 3524, - z = 3780, - facing = 1, - }, - { - name = "tankheavyassault", - x = 3508, - z = 3918, - facing = 1, - }, - { - name = "tankassault", - x = 3415, - z = 3672, - facing = 0, - }, - { - name = "tankassault", - x = 3417, - z = 4003, - facing = 1, - }, - { - name = "tankassault", - x = 3412, - z = 3829, - facing = 1, - }, - { - name = "tankarty", - x = 3262, - z = 3845, - facing = 2, - }, - { - name = "tankarty", - x = 3253, - z = 3678, - facing = 2, - }, - { - name = "tankarty", - x = 3253, - z = 4002, - facing = 1, - }, - { - name = "turretheavy", - x = 2888, - z = 1032, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2968, - z = 568, - facing = 1, - }, - { - name = "turretriot", - x = 2312, - z = 120, - facing = 1, - }, - { - name = "turretriot", - x = 2344, - z = 328, - facing = 1, - }, - { - name = "turretriot", - x = 2648, - z = 1192, - facing = 1, - }, - { - name = "turretaafar", - x = 2768, - z = 912, - facing = 1, - }, - { - name = "pw_metal", - x = 112, - z = 4944, - facing = 0, - }, - { - name = "pw_metal", - x = 112, - z = 1888, - facing = 0, - }, - { - name = "spidercrabe", - x = 3107, - z = 749, - facing = 1, - }, - { - name = "spidercrabe", - x = 3031, - z = 873, - facing = 1, - }, - { - name = "spideremp", - x = 3035, - z = 756, - facing = 1, - }, - { - name = "spideremp", - x = 3118, - z = 600, - facing = 1, - }, - { - name = "spideremp", - x = 3081, - z = 673, - facing = 1, - }, - { - name = "spideremp", - x = 2961, - z = 823, - facing = 0, - }, - { - name = "spideremp", - x = 2896, - z = 911, - facing = 0, - }, - { - name = "jumpsumo", - x = 3525, - z = 6654, - facing = 1, - }, - { - name = "jumpassault", - x = 3265, - z = 6527, - facing = 2, - }, - { - name = "jumpassault", - x = 3279, - z = 6701, - facing = 1, - }, - { - name = "jumpassault", - x = 3271, - z = 6615, - facing = 1, - }, - { - name = "jumpassault", - x = 3308, - z = 6782, - facing = 1, - }, - { - name = "jumpassault", - x = 3357, - z = 6860, - facing = 1, - }, - { - name = "jumparty", - x = 3152, - z = 6746, - facing = 3, - }, - { - name = "energypylon", - x = 2488, - z = 4360, - facing = 3, - }, - { - name = "turretheavy", - x = 2984, - z = 4248, - facing = 1, - }, - { - name = "turretheavy", - x = 2984, - z = 4472, - facing = 1, - }, - { - name = "turretheavy", - x = 2984, - z = 2712, - facing = 1, - }, - { - name = "turretheavy", - x = 2984, - z = 2936, - facing = 1, - }, - { - name = "turretaafar", - x = 2688, - z = 2816, - facing = 1, - }, - { - name = "turretaafar", - x = 2688, - z = 4368, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3624, - z = 6520, - facing = 1, - }, - { - name = "turretriot", - x = 3432, - z = 7032, - facing = 1, - }, - { - name = "turretheavylaser", - x = 2968, - z = 6312, - facing = 1, - }, - { - name = "turretriot", - x = 3224, - z = 6344, - facing = 2, - }, - { - name = "turretlaser", - x = 3024, - z = 4800, - facing = 1, - }, - { - name = "turretlaser", - x = 3072, - z = 5120, - facing = 1, - }, - { - name = "turretlaser", - x = 3088, - z = 5504, - facing = 1, - }, - { - name = "turretlaser", - x = 3008, - z = 2464, - facing = 1, - }, - { - name = "turretlaser", - x = 3008, - z = 2160, - facing = 1, - }, - { - name = "turretlaser", - x = 3056, - z = 1728, - facing = 1, - }, - { - name = "turretlaser", - x = 3088, - z = 1472, - facing = 1, - }, - { - name = "staticantinuke", - x = 1600, - z = 2056, - facing = 1, - }, - { - name = "staticantinuke", - x = 1552, - z = 5096, - facing = 1, - }, - } - }, - aiConfig = { - { - startX = 10000, - startZ = 3200, - aiLib = "Circuit_difficulty_autofill", - humanName = "Enemy", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "raveparty", - "zenith", - "staticmex", - "energysolar", - "energywind", - "energyfusion", - "energygeo", - "energyheavygeo", - "energysingu", - "energypylon", - "staticstorage", - "turretlaser", - "turretmissile", - "turretriot", - "turrettorp", - "turretgauss", - "turretheavylaser", - "turretaalaser", - "turretaaclose", - "turretaaflak", - "shieldshield", - "staticradar", - "staticheavyradar", - "staticcon", - "staticantinuke", - "staticrearm", - "turretaafar", - "turretheavy", - "staticnuke", - "staticheavyarty", - "staticarty", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakriot", - "cloakskirm", - "cloakassault", - "cloakaa", - "cloakarty", - "cloaksnipe", - "cloakheavyraid", - "cloakbomb", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldriot", - "shieldskirm", - "shieldbomb", - "shieldaa", - "shieldfelon", - "shieldshield", - "shieldarty", - "factoryplane", - "planecon", - "planescout", - "planefighter", - "planeheavyfighter", - "bomberprec", - "bomberdisarm", - "bomberheavy", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehriot", - "vehassault", - "vehaa", - "vehsupport", - "veharty", - "vehheavyarty", - "vehcapture", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipaa", - "gunshipassault", - "gunshipheavyskirm", - "gunshipskirm", - "gunshipraid", - "gunshipkrow", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpskirm", - "jumpassault", - "jumpsumo", - "jumparty", - "jumpblackhole", - "jumpaa", - "factoryspider", - "spidercon", - --"spiderscout", - "spiderriot", - "spideremp", - "spiderskirm", - "spiderassault", - "spidercrabe", - "spiderantiheavy", - "spideraa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverdepthcharge", - "hoverarty", - "hoveraa", - "factorytank", - "tankcon", - "tankassault", - "tankheavyassault", - "tankarty", - "tankheavyarty", - "tankaa", - "tankriot", - "factoryamph", - "amphcon", - "amphraid", - "amphimpulse", - "amphfloater", - "amphriot", - "amphassault", - "amphbomb", - "amphaa", - "striderhub", - "striderdante", - "striderarty", - "striderscorpion", - "striderfunnelweb", - "striderantiheavy", - "striderbantha", - }, - commanderLevel = 7, - commander = { - name = "Vale", - chassis = "support", - decorations = { - "skin_support_green", - }, - modules = { - "commweapon_hparticlebeam", - "commweapon_multistunner", - "module_dmg_booster", - "module_dmg_booster", - "module_dmg_booster", - "module_dmg_booster", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "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_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "module_adv_targeting", - "commweapon_personal_shield", - "module_autorepair", - "module_autorepair", - "module_autorepair", - "module_autorepair", - - } - }, - startUnits = { - { - name = "staticmex", - x = 8776, - z = 5960, - facing = 0, - }, - { - name = "staticmex", - x = 9032, - z = 6152, - facing = 0, - }, - { - name = "staticmex", - x = 9144, - z = 2248, - facing = 0, - }, - { - name = "staticmex", - x = 8808, - z = 4984, - facing = 0, - }, - { - name = "staticmex", - x = 8840, - z = 2312, - facing = 0, - }, - { - name = "staticmex", - x = 9288, - z = 1352, - facing = 0, - }, - { - name = "staticmex", - x = 8680, - z = 4744, - facing = 0, - }, - { - name = "staticmex", - x = 8904, - z = 1992, - facing = 0, - }, - { - name = "staticmex", - x = 8952, - z = 1160, - facing = 0, - }, - { - name = "staticmex", - x = 8776, - z = 6984, - facing = 0, - }, - { - name = "staticmex", - x = 9128, - z = 4808, - facing = 0, - }, - { - name = "staticmex", - x = 9800, - z = 5384, - facing = 0, - }, - { - name = "staticmex", - x = 7992, - z = 1368, - facing = 0, - }, - { - name = "staticmex", - x = 10056, - z = 6968, - facing = 0, - }, - { - name = "staticmex", - x = 9752, - z = 2456, - facing = 0, - }, - { - name = "staticmex", - x = 10104, - z = 5128, - facing = 0, - }, - { - name = "staticmex", - x = 10120, - z = 2520, - facing = 0, - }, - { - name = "staticmex", - x = 7432, - z = 2248, - facing = 0, - }, - { - name = "staticmex", - x = 7432, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 9992, - z = 3784, - facing = 0, - }, - { - name = "staticmex", - x = 6776, - z = 2824, - facing = 0, - }, - { - name = "staticmex", - x = 9096, - z = 3528, - facing = 0, - }, - { - name = "staticmex", - x = 9416, - z = 456, - facing = 0, - }, - { - name = "staticmex", - x = 7800, - z = 4872, - facing = 0, - }, - { - name = "staticmex", - x = 8904, - z = 3256, - facing = 0, - }, - { - name = "staticmex", - x = 6792, - z = 1736, - facing = 0, - }, - { - name = "staticmex", - x = 8968, - z = 3848, - facing = 0, - }, - { - name = "staticmex", - x = 7432, - z = 4360, - facing = 0, - }, - { - name = "staticmex", - x = 7816, - z = 3592, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 5320, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 200, - facing = 0, - }, - { - name = "staticmex", - x = 8072, - z = 5640, - facing = 0, - }, - { - name = "staticmex", - x = 6920, - z = 6984, - facing = 0, - }, - { - name = "staticmex", - x = 10120, - z = 3336, - facing = 0, - }, - { - name = "staticmex", - x = 6664, - z = 4488, - facing = 0, - }, - { - name = "staticmex", - x = 6616, - z = 3656, - facing = 0, - }, - { - name = "energypylon", - x = 7224, - z = 472, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 472, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 472, - facing = 3, - }, - { - name = "energypylon", - x = 7752, - z = 2792, - facing = 3, - }, - { - name = "turretheavy", - x = 7256, - z = 2712, - facing = 3, - }, - { - name = "turretheavy", - x = 7256, - z = 2936, - facing = 3, - }, - { - name = "staticarty", - x = 7272, - z = 2824, - facing = 3, - }, - { - name = "turretaafar", - x = 7536, - z = 2832, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 472, - facing = 3, - }, - { - name = "raveparty", - x = 9050, - z = 3640, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 1192, - facing = 3, - }, - { - name = "staticshield", - x = 8736, - z = 3712, - facing = 3, - }, - { - name = "staticshield", - x = 8880, - z = 3712, - facing = 3, - }, - { - name = "staticshield", - x = 8880, - z = 3568, - facing = 3, - }, - { - name = "staticshield", - x = 8736, - z = 3568, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 1192, - facing = 3, - }, - { - name = "energygeo", - x = 9704, - z = 3592, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 1192, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 1192, - facing = 3, - }, - { - name = "pw_metal", - x = 10096, - z = 112, - facing = 0, - }, - { - name = "pw_metal", - x = 8432, - z = 6752, - facing = 0, - }, - { - name = "energypylon", - x = 7224, - z = 1912, - facing = 3, - }, - { - name = "energysingu", - x = 10184, - z = 1400, - facing = 3, - }, - { - name = "pw_metal", - x = 9392, - z = 4512, - facing = 0, - }, - { - name = "energypylon", - x = 8664, - z = 1912, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 1912, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 1912, - facing = 3, - }, - { - name = "energysingu", - x = 10184, - z = 4936, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 2632, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 2632, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 2632, - facing = 3, - }, - { - name = "energysingu", - x = 8968, - z = 7112, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 2632, - facing = 3, - }, - { - name = "energypylon", - x = 7224, - z = 3352, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 3352, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 3352, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 3352, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 4072, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 4072, - facing = 3, - }, - { - name = "energysingu", - x = 9112, - z = 72, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 4072, - facing = 3, - }, - { - name = "energypylon", - x = 7224, - z = 4072, - facing = 3, - }, - { - name = "energypylon", - x = 7224, - z = 4792, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 4792, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 4792, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 4792, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 4792, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 5512, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 5512, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 5512, - facing = 3, - }, - { - name = "energypylon", - x = 7224, - z = 5512, - facing = 3, - }, - { - name = "energypylon", - x = 7224, - z = 6232, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 6232, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 6232, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 6232, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 6232, - facing = 3, - }, - { - name = "energypylon", - x = 10104, - z = 6952, - facing = 3, - }, - { - name = "energypylon", - x = 9384, - z = 6952, - facing = 3, - }, - { - name = "energypylon", - x = 8664, - z = 6952, - facing = 3, - }, - { - name = "energypylon", - x = 7944, - z = 6952, - facing = 3, - }, - { - name = "energypylon", - x = 7224, - z = 6952, - facing = 3, - }, - { - name = "energypylon", - x = 7928, - z = 2008, - facing = 3, - }, - { - name = "energypylon", - x = 7736, - z = 4360, - facing = 3, - }, - { - name = "turretheavy", - x = 7256, - z = 4232, - facing = 3, - }, - { - name = "turretheavy", - x = 7256, - z = 4472, - facing = 3, - }, - { - name = "staticarty", - x = 7272, - z = 4344, - facing = 3, - }, - { - name = "turretaafar", - x = 7536, - z = 4352, - facing = 3, - }, - { - name = "energypylon", - x = 8584, - z = 4344, - facing = 3, - }, - { - name = "energypylon", - x = 8584, - z = 2824, - facing = 3, - }, - { - name = "turretantiheavy", - x = 8288, - z = 2720, - facing = 3, - }, - { - name = "turretantiheavy", - x = 8288, - z = 2928, - facing = 3, - }, - { - name = "turretantiheavy", - x = 8288, - z = 4240, - facing = 3, - }, - { - name = "energywind", - x = 9928, - z = 40, - facing = 3, - }, - { - name = "energywind", - x = 9848, - z = 40, - facing = 3, - }, - { - name = "energywind", - x = 9768, - z = 40, - facing = 3, - }, - { - name = "turretantiheavy", - x = 8288, - z = 4464, - facing = 3, - }, - { - name = "energywind", - x = 9768, - z = 120, - facing = 3, - }, - { - name = "energywind", - x = 9848, - z = 120, - facing = 3, - }, - { - name = "energywind", - x = 9928, - z = 120, - facing = 3, - }, - { - name = "energywind", - x = 10200, - z = 7128, - facing = 3, - }, - { - name = "energywind", - x = 9928, - z = 200, - facing = 3, - }, - { - name = "energywind", - x = 10120, - z = 7128, - facing = 3, - }, - { - name = "energywind", - x = 9848, - z = 200, - facing = 3, - }, - { - name = "energywind", - x = 10040, - z = 7128, - facing = 3, - }, - { - name = "energywind", - x = 9768, - z = 200, - facing = 3, - }, - { - name = "energywind", - x = 9960, - z = 7128, - facing = 3, - }, - { - name = "energywind", - x = 9768, - z = 280, - facing = 3, - }, - { - name = "energywind", - x = 9848, - z = 280, - facing = 3, - }, - { - name = "energywind", - x = 9880, - z = 7128, - facing = 3, - }, - { - name = "energywind", - x = 9928, - z = 280, - facing = 3, - }, - { - name = "energywind", - x = 9880, - z = 7048, - facing = 3, - }, - { - name = "energywind", - x = 9960, - z = 7048, - facing = 3, - }, - { - name = "energywind", - x = 10008, - z = 280, - facing = 3, - }, - { - name = "turretaafar", - x = 8400, - z = 2832, - facing = 3, - }, - { - name = "energywind", - x = 10040, - z = 7048, - facing = 3, - }, - { - name = "energywind", - x = 10120, - z = 7048, - facing = 3, - }, - { - name = "energywind", - x = 10088, - z = 280, - facing = 3, - }, - { - name = "energywind", - x = 10200, - z = 7048, - facing = 3, - }, - { - name = "energywind", - x = 10168, - z = 280, - facing = 3, - }, - { - name = "energywind", - x = 10200, - z = 6968, - facing = 3, - }, - { - name = "energywind", - x = 9848, - z = 360, - facing = 3, - }, - { - name = "energywind", - x = 9960, - z = 6968, - facing = 3, - }, - { - name = "energywind", - x = 9928, - z = 360, - facing = 3, - }, - { - name = "energywind", - x = 10008, - z = 360, - facing = 3, - }, - { - name = "energywind", - x = 9880, - z = 6968, - facing = 3, - }, - { - name = "energywind", - x = 10088, - z = 360, - facing = 3, - }, - { - name = "energywind", - x = 9880, - z = 6888, - facing = 3, - }, - { - name = "turretaafar", - x = 8416, - z = 4368, - facing = 3, - }, - { - name = "energywind", - x = 10168, - z = 360, - facing = 3, - }, - { - name = "energywind", - x = 9960, - z = 6888, - facing = 3, - }, - { - name = "energywind", - x = 10040, - z = 6888, - facing = 3, - }, - { - name = "energywind", - x = 10168, - z = 440, - facing = 3, - }, - { - name = "energywind", - x = 10008, - z = 440, - facing = 3, - }, - { - name = "energywind", - x = 10120, - z = 6888, - facing = 3, - }, - { - name = "energywind", - x = 9928, - z = 440, - facing = 3, - }, - { - name = "energywind", - x = 10200, - z = 6888, - facing = 3, - }, - { - name = "energywind", - x = 9848, - z = 440, - facing = 3, - }, - { - name = "energywind", - x = 10200, - z = 6808, - facing = 3, - }, - { - name = "energywind", - x = 10008, - z = 520, - facing = 3, - }, - { - name = "energywind", - x = 10120, - z = 6808, - facing = 3, - }, - { - name = "energywind", - x = 10040, - z = 6808, - facing = 3, - }, - { - name = "energywind", - x = 10088, - z = 520, - facing = 3, - }, - { - name = "energywind", - x = 9960, - z = 6808, - facing = 3, - }, - { - name = "energywind", - x = 10168, - z = 520, - facing = 3, - }, - { - name = "energywind", - x = 9880, - z = 6808, - facing = 3, - }, - { - name = "energywind", - x = 10168, - z = 600, - facing = 3, - }, - { - name = "energywind", - x = 10088, - z = 600, - facing = 3, - }, - { - name = "energywind", - x = 9880, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 10008, - z = 600, - facing = 3, - }, - { - name = "energywind", - x = 9960, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 10040, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 10120, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 10200, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 10120, - z = 6648, - facing = 3, - }, - { - name = "energywind", - x = 10200, - z = 6648, - facing = 3, - }, - { - name = "energywind", - x = 9800, - z = 6968, - facing = 3, - }, - { - name = "energywind", - x = 9800, - z = 7048, - facing = 3, - }, - { - name = "energywind", - x = 9800, - z = 7128, - facing = 3, - }, - { - name = "energypylon", - x = 10008, - z = 3352, - facing = 3, - }, - { - name = "staticshield", - x = 7424, - z = 4256, - facing = 3, - }, - { - name = "staticshield", - x = 7424, - z = 4464, - facing = 3, - }, - { - name = "energypylon", - x = 6360, - z = 6936, - facing = 3, - }, - { - name = "staticshield", - x = 7424, - z = 2736, - facing = 3, - }, - { - name = "staticshield", - x = 7424, - z = 2928, - facing = 3, - }, - { - name = "energygeo", - x = 6136, - z = 6904, - facing = 3, - }, - { - name = "staticshield", - x = 6144, - z = 6816, - facing = 3, - }, - { - name = "staticshield", - x = 6144, - z = 6992, - facing = 3, - }, - { - name = "turretheavy", - x = 5928, - z = 6728, - facing = 3, - }, - { - name = "turretheavy", - x = 5928, - z = 7112, - facing = 3, - }, - { - name = "turretaafar", - x = 6144, - z = 6720, - facing = 3, - }, - { - name = "turretemp", - x = 5904, - z = 6976, - facing = 3, - }, - { - name = "turretemp", - x = 5904, - z = 6864, - facing = 3, - }, - { - name = "energygeo", - x = 6136, - z = 248, - facing = 3, - }, - { - name = "turretheavy", - x = 5912, - z = 72, - facing = 3, - }, - { - name = "turretheavy", - x = 5912, - z = 456, - facing = 3, - }, - { - name = "energypylon", - x = 6376, - z = 248, - facing = 3, - }, - { - name = "turretaafar", - x = 6144, - z = 448, - facing = 3, - }, - { - name = "staticshield", - x = 6144, - z = 336, - facing = 3, - }, - { - name = "staticshield", - x = 6144, - z = 160, - facing = 3, - }, - { - name = "turretemp", - x = 5904, - z = 192, - facing = 3, - }, - { - name = "turretemp", - x = 5904, - z = 304, - facing = 3, - }, - { - name = "turretantiheavy", - x = 8320, - z = 5184, - facing = 3, - }, - { - name = "turretaaheavy", - x = 8464, - z = 5216, - facing = 3, - }, - { - name = "turretaaheavy", - x = 8400, - z = 1824, - facing = 3, - }, - { - name = "turretantiheavy", - x = 8224, - z = 1856, - facing = 3, - }, - { - name = "turretriot", - x = 8648, - z = 3752, - facing = 3, - }, - { - name = "turretriot", - x = 8648, - z = 3640, - facing = 3, - }, - { - name = "turretriot", - x = 8648, - z = 3528, - facing = 3, - }, - { - name = "turretriot", - x = 8728, - z = 3464, - facing = 2, - }, - { - name = "turretriot", - x = 8840, - z = 3464, - facing = 2, - }, - { - name = "turretriot", - x = 8952, - z = 3464, - facing = 2, - }, - { - name = "turretriot", - x = 8728, - z = 3816, - facing = 0, - }, - { - name = "turretriot", - x = 8840, - z = 3816, - facing = 0, - }, - { - name = "turretaaflak", - x = 8792, - z = 3976, - facing = 0, - }, - { - name = "turretaaflak", - x = 8648, - z = 3976, - facing = 0, - }, - { - name = "turretaaflak", - x = 8472, - z = 3704, - facing = 3, - }, - { - name = "turretaaflak", - x = 8472, - z = 3560, - facing = 3, - }, - { - name = "turretaaflak", - x = 8648, - z = 3272, - facing = 2, - }, - { - name = "turretaaflak", - x = 8792, - z = 3272, - facing = 2, - }, - { - name = "turretantiheavy", - x = 7568, - z = 6000, - facing = 3, - }, - { - name = "turretaaheavy", - x = 7584, - z = 6144, - facing = 3, - }, - { - name = "staticradar", - x = 6016, - z = 480, - facing = 1, - }, - { - name = "staticradar", - x = 7248, - z = 2752, - facing = 1, - }, - { - name = "staticradar", - x = 7248, - z = 4416, - facing = 1, - }, - { - name = "staticradar", - x = 6864, - z = 6416, - facing = 1, - }, - { - name = "turretheavylaser", - x = 7736, - z = 6520, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8344, - z = 6248, - facing = 3, - }, - { - name = "factoryspider", - x = 8568, - z = 6056, - facing = 3, - }, - { - name = "staticcon", - x = 8680, - z = 5992, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8680, 5992}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8655, 5967}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8680, - z = 6088, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8680, 6088}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8655, 6063}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8776, - z = 6088, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8776, 6088}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8751, 6063}, options = {"shift"}}, - }, - }, - { - name = "striderdetriment", - x = 10182, - z = 3585, - facing = 0, - }, - { - name = "staticcon", - x = 8968, - z = 1384, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8968, 1384}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8943, 1409}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8968, - z = 1480, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8968, 1480}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8943, 1505}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8968, - z = 1576, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8968, 1576}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8943, 1601}, options = {"shift"}}, - }, - }, - { - name = "factoryspider", - x = 8840, - z = 1480, - facing = 3, - }, - { - name = "staticcon", - x = 9048, - z = 1432, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9048, 1432}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9023, 1457}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 9048, - z = 1528, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9048, 1528}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9023, 1553}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8856, - z = 5992, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8856, 5992}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8831, 5967}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 8856, - z = 6088, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8856, 6088}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {8831, 6063}, options = {"shift"}}, - }, - }, - { - name = "factorycloak", - x = 7168, - z = 5096, - facing = 3, - }, - { - name = "staticcon", - x = 7352, - z = 5048, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7352, 5048}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7327, 5023}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7352, - z = 5144, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7352, 5144}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7327, 5119}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7352, - z = 5240, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7352, 5240}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7327, 5215}, options = {"shift"}}, - }, - }, - { - name = "factorytank", - x = 6960, - z = 3760, - facing = 3, - }, - { - name = "factoryhover", - x = 6944, - z = 3296, - facing = 3, - }, - { - name = "staticcon", - x = 6952, - z = 3432, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6952, 3432}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6927, 3457}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7048, - z = 3432, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7048, 3432}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7023, 3457}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7048, - z = 3528, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7048, 3528}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7023, 3553}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6952, - z = 3528, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6952, 3528}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6927, 3553}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 6952, - z = 3624, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6952, 3624}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {6927, 3599}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7048, - z = 3624, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7048, 3624}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7023, 3599}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7096, - z = 2024, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7096, 2024}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7071, 2049}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7096, - z = 2120, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7096, 2120}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7071, 2145}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 7096, - z = 2216, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7096, 2216}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {7071, 2241}, options = {"shift"}}, - }, - }, - { - name = "factoryjump", - x = 6952, - z = 2120, - facing = 3, - }, - { - name = "factoryplane", - x = 9400, - z = 2416, - facing = 3, - }, - { - name = "staticcon", - x = 9400, - z = 2232, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9400, 2232}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9375, 2257}, options = {"shift"}}, - }, - }, - { - name = "staticcon", - x = 9496, - z = 2232, - facing = 3, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9496, 2232}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {9471, 2257}, options = {"shift"}}, - }, - }, - { - name = "staticrearm", - x = 9032, - z = 2872, - facing = 3, - }, - { - name = "staticrearm", - x = 9032, - z = 4296, - facing = 3, - }, - { - name = "staticcon", - x = 9016, - z = 4440, - facing = 3, - selfPatrol = true, - }, - { - name = "staticcon", - x = 9000, - z = 2728, - facing = 3, - selfPatrol = true, - }, - { - name = "factorygunship", - x = 9592, - z = 5128, - facing = 3, - }, - { - name = "staticcon", - x = 9528, - z = 5000, - facing = 3, - selfPatrol = true, - }, - { - name = "staticcon", - x = 9624, - z = 5000, - facing = 3, - selfPatrol = true, - }, - { - name = "staticcon", - x = 9976, - z = 3464, - facing = 3, - selfPatrol = true, - }, - { - name = "staticcon", - x = 10072, - z = 3464, - facing = 3, - selfPatrol = true, - }, - { - name = "staticcon", - x = 10072, - z = 3560, - facing = 3, - selfPatrol = true, - }, - { - name = "staticcon", - x = 9976, - z = 3560, - facing = 3, - selfPatrol = true, - }, - { - name = "striderhub", - x = 10016, - z = 3664, - facing = 3, - }, - { - name = "striderdante", - x = 7642, - z = 3260, - facing = 0, - }, - { - name = "striderdante", - x = 7635, - z = 3978, - facing = 0, - }, - { - name = "striderarty", - x = 8398, - z = 3285, - facing = 0, - }, - { - name = "striderarty", - x = 8383, - z = 3995, - facing = 0, - }, - { - name = "hoverarty", - x = 6365, - z = 3499, - facing = 3, - }, - { - name = "hoverassault", - x = 6443, - z = 3112, - facing = 3, - }, - { - name = "hoverassault", - x = 6450, - z = 3069, - facing = 3, - }, - { - name = "hoverassault", - x = 6381, - z = 3300, - facing = 3, - }, - { - name = "hoverassault", - x = 6370, - z = 3431, - facing = 3, - }, - { - name = "hoverassault", - x = 6493, - z = 3069, - facing = 3, - }, - { - name = "hoverassault", - x = 6369, - z = 3572, - facing = 3, - }, - { - name = "hoverassault", - x = 6406, - z = 3134, - facing = 3, - }, - { - name = "hoverassault", - x = 6367, - z = 3365, - facing = 3, - }, - { - name = "hoverskirm", - x = 6399, - z = 3177, - facing = 3, - }, - { - name = "hoverskirm", - x = 6397, - z = 3540, - facing = 3, - }, - { - name = "hoverskirm", - x = 6398, - z = 3235, - facing = 3, - }, - { - name = "hoverskirm", - x = 6400, - z = 3461, - facing = 3, - }, - { - name = "hoverskirm", - x = 6429, - z = 3206, - facing = 3, - }, - { - name = "hoverskirm", - x = 6404, - z = 3596, - facing = 3, - }, - { - name = "hoverskirm", - x = 6396, - z = 3397, - facing = 3, - }, - { - name = "hoverskirm", - x = 6416, - z = 3275, - facing = 3, - }, - { - name = "hoverskirm", - x = 6400, - z = 3338, - facing = 3, - }, - { - name = "staticantinuke", - x = 9344, - z = 5288, - facing = 1, - }, - { - name = "spidercon", - x = 7743, - z = 1404, - facing = 0, - }, - { - name = "spidercon", - x = 8241, - z = 1998, - facing = 0, - }, - { - name = "spidercon", - x = 8581, - z = 2464, - facing = 0, - }, - { - name = "spidercon", - x = 8594, - z = 1477, - facing = 0, - }, - { - name = "spidercon", - x = 8890, - z = 4690, - facing = 0, - }, - { - name = "spidercon", - x = 8143, - z = 4740, - facing = 0, - }, - { - name = "spidercon", - x = 8454, - z = 5674, - facing = 0, - }, - { - name = "spidercon", - x = 8106, - z = 6554, - facing = 0, - }, - { - name = "spidercon", - x = 7469, - z = 5397, - facing = 0, - }, - { - name = "tankheavyassault", - x = 6659, - z = 3904, - facing = 0, - }, - { - name = "tankassault", - x = 6741, - z = 3917, - facing = 0, - }, - { - name = "staticantinuke", - x = 7920, - z = 5880, - facing = 1, - }, - { - name = "tankassault", - x = 6710, - z = 3575, - facing = 2, - }, - { - name = "tankassault", - x = 6484, - z = 3900, - facing = 3, - }, - { - name = "tankassault", - x = 6479, - z = 3826, - facing = 3, - }, - { - name = "tankassault", - x = 6568, - z = 3908, - facing = 3, - }, - { - name = "spiderriot", - x = 8326, - z = 6048, - facing = 3, - }, - { - name = "tankassault", - x = 6529, - z = 3859, - facing = 3, - }, - { - name = "spiderriot", - x = 8377, - z = 5920, - facing = 3, - }, - { - name = "spiderriot", - x = 8377, - z = 6065, - facing = 3, - }, - { - name = "tankassault", - x = 6606, - z = 3834, - facing = 3, - }, - { - name = "spiderassault", - x = 8379, - z = 6011, - facing = 3, - }, - { - name = "spiderassault", - x = 8418, - z = 6118, - facing = 3, - }, - { - name = "spiderriot", - x = 8360, - z = 1763, - facing = 3, - }, - { - name = "spiderriot", - x = 8301, - z = 1671, - facing = 0, - }, - { - name = "spiderassault", - x = 8421, - z = 6017, - facing = 3, - }, - { - name = "spiderriot", - x = 8370, - z = 1719, - facing = 3, - }, - { - name = "spiderskirm", - x = 8343, - z = 1663, - facing = 0, - }, - { - name = "spiderskirm", - x = 8386, - z = 1667, - facing = 0, - }, - { - name = "spiderassault", - x = 8418, - z = 6076, - facing = 3, - }, - { - name = "spiderskirm", - x = 8456, - z = 1622, - facing = 3, - }, - { - name = "spiderassault", - x = 8454, - z = 6053, - facing = 3, - }, - { - name = "jumpassault", - x = 6716, - z = 2120, - facing = 3, - }, - { - name = "spideremp", - x = 8460, - z = 1702, - facing = 3, - }, - { - name = "jumpraid", - x = 6772, - z = 1997, - facing = 3, - }, - { - name = "spideremp", - x = 8410, - z = 1703, - facing = 3, - }, - { - name = "jumpraid", - x = 6757, - z = 2020, - facing = 3, - }, - { - name = "spiderassault", - x = 8402, - z = 5953, - facing = 2, - }, - { - name = "jumpraid", - x = 6734, - z = 2092, - facing = 3, - }, - { - name = "jumpraid", - x = 6740, - z = 2066, - facing = 3, - }, - { - name = "cloakriot", - x = 6687, - z = 5178, - facing = 3, - }, - { - name = "cloakriot", - x = 6684, - z = 5073, - facing = 3, - }, - { - name = "cloakriot", - x = 6710, - z = 5142, - facing = 2, - }, - { - name = "cloakskirm", - x = 6687, - z = 5115, - facing = 3, - }, - { - name = "cloakskirm", - x = 6726, - z = 5079, - facing = 3, - }, - { - name = "cloakskirm", - x = 6707, - z = 5098, - facing = 0, - }, - { - name = "cloakskirm", - x = 6746, - z = 5139, - facing = 3, - }, - { - name = "cloakskirm", - x = 6728, - z = 5113, - facing = 3, - }, - { - name = "cloakskirm", - x = 6754, - z = 5115, - facing = 3, - }, - { - name = "cloakskirm", - x = 6778, - z = 5106, - facing = 3, - }, - { - name = "cloakskirm", - x = 6797, - z = 5129, - facing = 3, - }, - { - name = "cloakskirm", - x = 6803, - z = 5102, - facing = 3, - }, - { - name = "staticantinuke", - x = 9136, - z = 2520, - facing = 1, - }, - { - name = "staticantinuke", - x = 7520, - z = 1544, - facing = 1, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energysingu", - "raveparty", - "zenith", - "factorycloak", - "factoryshield", - "factoryplane", - "factoryveh", - "factorygunship", - "factoryjump", - "factoryspider", - "factoryhover", - "factorytank", - "factoryamph", - "factoryship", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Superweapons, Factories and Singularity Reactors", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 20, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Always have at least 20 Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "mahlazer", - }, - modules = { - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet69.lua b/campaign/dev/planets/planet69.lua deleted file mode 100644 index 8648e7024..000000000 --- a/campaign/dev/planets/planet69.lua +++ /dev/null @@ -1,109 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran02.png" - - local planetData = { - name = "Folsom", - startingPlanet = true, - predownloadMap = true, - --tutorialSkip = true, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.05, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.87, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - hintText = "Click this planet to begin.", - hintSize = {410, 66}, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6550 km", - primary = "Origin", - primaryType = "G8V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24417", - text = [[Use a nimble force of Glaives to penetrate the enemy lines and rescue your commander from the local automatons. Once activated, construct an army and storm the enemy base as retribution.]] - }, - gameConfig = { - gameName = "Quick Rocket Tutorial", - mapName = "FolsomDamDeluxeV4", - playerConfig = { - startX = 300, - startZ = 3800, - allyTeam = 0, - commanderParameters = { - facplop = false, - }, - extraUnlocks = { - "factorycloak", - "cloakraid", - "staticmex", - "energysolar", - "turretlaser", -- This is here so the tab exists - "staticradar", -- This is here so the tab exists - }, - }, - modoptions = { - integral_disable_defence = 1, - integral_disable_special = 1, - }, - aiConfig = { - { - startX = 4000, - startZ = 75, - aiLib = "NullAI", - humanName = "Ally", - unlocks = {}, - allyTeam = 0, - commander = false, - }, - { - startX = 4000, - startZ = 75, - aiLib = "NullAI", - humanName = "Enemy", - unlocks = {}, - allyTeam = 1, - commander = false, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = {}, - [1] = { - ignoreUnitLossDefeat = true, - }, - }, - objectiveConfig = { - }, - bonusObjectiveConfig = { - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factorycloak", - "cloakraid", - "staticmex", - "energysolar", - }, - modules = { - "module_ablative_armor_LIMIT_A_2", - }, - abilities = {}, - codexEntries = {"faction_chickens"} - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet7.lua b/campaign/dev/planets/planet7.lua deleted file mode 100644 index d77130f27..000000000 --- a/campaign/dev/planets/planet7.lua +++ /dev/null @@ -1,1830 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran04.png" - - local planetData = { - name = "New Falsell", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.06, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.26, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "5288 km", - primary = "Omis", - primaryType = "G7V", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24429", - text = [[The Artefact on this planet contains invaluable information, but it is protected by a large automated defence network. Infiltrate the Automaton base with Phantom sniper bots and destroy the Singularity Plants to deactivate the heavier defences.]] - }, - tips = { - { - image = "unitpics/cloaksnipe.png", - text = [[Unlike all other cloaked units, the Phantom can fire its weapon without becoming visible. Use this to sneak into the defence network, destroying what you need to without blowing your cover.]] - }, - { - image = "unitpics/turretheavy.png", - text = [[Heavier turrets cannot fire unless they are connected to energy-producing buildings. Deactivate them by destroying the connecting Energy Pylons or the energy producers themselves.]] - }, - { - image = "unitpics/shieldfelon.png", - text = [[You will need to defend your southern flank against Interloper Shieldbot attacks. The Felon is a dangerous opponent but a Sniper can easily pierce its shields.]] - }, - }, - gameConfig = { - mapName = "The river Nix 20", - playerConfig = { - startX = 1000, - startZ = 7000, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - victoryAtLocation = { - x = 6025, - z = 2625, - radius = 120, - objectiveID = 1, - }, - }, - extraUnlocks = { - "cloaksnipe", - }, - startUnits = { - { - name = "staticmex", - x = 888, - z = 6824, - facing = 0, - }, - { - name = "staticmex", - x = 600, - z = 6776, - facing = 0, - }, - { - name = "staticmex", - x = 648, - z = 7064, - facing = 0, - }, - { - name = "energysolar", - x = 712, - z = 7080, - facing = 0, - }, - { - name = "energysolar", - x = 632, - z = 7128, - facing = 3, - }, - { - name = "energysolar", - x = 584, - z = 7048, - facing = 2, - }, - { - name = "energysolar", - x = 664, - z = 7000, - facing = 1, - }, - { - name = "energysolar", - x = 952, - z = 6840, - facing = 0, - }, - { - name = "energysolar", - x = 872, - z = 6888, - facing = 3, - }, - { - name = "energysolar", - x = 824, - z = 6808, - facing = 2, - }, - { - name = "energysolar", - x = 904, - z = 6760, - facing = 1, - }, - { - name = "turretlaser", - x = 2064, - z = 8992, - facing = 0, - }, - { - name = "turretlaser", - x = 2448, - z = 8880, - facing = 0, - }, - { - name = "energysolar", - x = 664, - z = 6792, - facing = 0, - }, - { - name = "staticradar", - x = 2240, - z = 8848, - facing = 0, - }, - { - name = "energysolar", - x = 584, - z = 6840, - facing = 3, - }, - { - name = "energysolar", - x = 536, - z = 6760, - facing = 2, - }, - { - name = "energysolar", - x = 616, - z = 6712, - facing = 1, - }, - { - name = "factorycloak", - x = 1128, - z = 6696, - facing = 1, - }, - { - name = "cloakcon", - x = 1205, - z = 6937, - facing = 0, - }, - { - name = "cloakcon", - x = 1124, - z = 6918, - facing = 0, - }, - { - name = "cloaksnipe", - x = 3060, - z = 5780, - facing = 1, - }, - { - name = "cloaksnipe", - x = 3060, - z = 6040, - facing = 1, - }, - { - name = "cloaksnipe", - x = 2200, - z = 8960, - facing = 0, - }, - { - name = "turretlaser", - x = 3312, - z = 6624, - facing = 1, - }, - { - name = "staticradar", - x = 2928, - z = 6224, - facing = 0, - }, - { - name = "staticradar", - x = 672, - z = 6432, - facing = 0, - }, - { - name = "turretlaser", - x = 3312, - z = 6240, - facing = 1, - }, - { - name = "turretlaser", - x = 3296, - z = 5584, - facing = 1, - }, - { - name = "turretlaser", - x = 3296, - z = 5184, - facing = 1, - }, - } - }, - aiConfig = { - { - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - humanName = "Interlopers", - allyTeam = 1, - unlocks = { - "shieldfelon", - "shieldassault", - }, - difficultyDependantUnlocks = { - [4] = {"shieldarty"}, - }, - commander = false, - startUnits = { - { - name = "staticmex", - x = 5050, - z = 8960, - facing = 1, - }, - { - name = "energywind", - x = 5090, - z = 8960, - facing = 1, - }, - { - name = "energywind", - x = 5010, - z = 8960, - facing = 1, - }, - { - name = "staticmex", - x = 5662, - z = 9380, - facing = 0, - }, - { - name = "energywind", - x = 5662, - z = 9330, - facing = 0, - }, - { - name = "energywind", - x = 5662, - z = 9430, - facing = 0, - }, - { - name = "staticmex", - x = 6756, - z = 9400, - facing = 0, - }, - { - name = "energywind", - x = 6756, - z = 9350, - facing = 0, - }, - { - name = "staticmex", - x = 7511, - z = 8902, - facing = 0, - }, - { - name = "energywind", - x = 7561, - z = 8902, - facing = 0, - }, - { - name = "staticmex", - x = 6168, - z = 12008, - facing = 0, - }, - { - name = "staticmex", - x = 6408, - z = 11784, - facing = 0, - }, - { - name = "staticmex", - x = 6408, - z = 12008, - facing = 0, - }, - { - name = "energysolar", - x = 6280, - z = 11784, - facing = 0, - }, - { - name = "energysolar", - x = 6168, - z = 11896, - facing = 0, - }, - { - name = "energysolar", - x = 6280, - z = 12008, - facing = 0, - }, - { - name = "energysolar", - x = 6392, - z = 11896, - facing = 0, - }, - { - name = "factoryshield", - x = 5070, - z = 11080, - facing = 2, - bonusObjectiveID = 3, - }, - { - name = "staticcon", - x = 5200, - z = 11080, - facing = 2, - }, - { - name = "shieldfelon", - x = 5200, - z = 10950, - facing = 2, - }, - { - name = "shieldassault", - x = 5150, - z = 10950, - facing = 2, - }, - { - name = "shieldassault", - x = 5100, - z = 10950, - facing = 2, - difficultyAtLeast = 2. - }, - { - name = "shieldassault", - x = 5050, - z = 10950, - facing = 2, - difficultyAtLeast = 2. - }, - { - name = "shieldskirm", - x = 5050, - z = 11500, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "shieldskirm", - x = 5100, - z = 11500, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "shieldfelon", - x = 5150, - z = 11500, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "shieldarty", - x = 5200, - z = 11500, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "staticstorage", - x = 5936, - z = 12072, - facing = 2, - }, - { - name = "staticheavyradar", - x = 3808, - z = 11472, - facing = 0, - }, - { - name = "staticheavyradar", - x = 1216, - z = 9712, - facing = 0, - }, - { - name = "turretlaser", - x = 6576, - z = 11632, - facing = 2, - }, - { - name = "turretlaser", - x = 5664, - z = 12096, - facing = 2, - }, - { - name = "turretlaser", - x = 4816, - z = 11376, - facing = 2, - }, - { - name = "turretlaser", - x = 5600, - z = 11024, - facing = 2, - }, - { - name = "turretlaser", - x = 7424, - z = 11168, - facing = 2, - }, - { - name = "turrettorp", - x = 5032, - z = 9672, - facing = 2, - }, - { - name = "turrettorp", - x = 4696, - z = 9384, - facing = 2, - }, - { - name = "staticmex", - x = 9530, - z = 10770, - facing = 2, - }, - { - name = "staticmex", - x = 9791, - z = 10914, - facing = 2, - }, - { - name = "staticmex", - x = 9824, - z = 10612, - facing = 2, - }, - { - name = "energywind", - x = 9600, - z = 10770, - facing = 2, - }, - { - name = "energywind", - x = 9773, - z = 10844, - facing = 2, - }, - { - name = "energywind", - x = 9773, - z = 10671, - facing = 2, - }, - { - name = "energywind", - x = 9870, - z = 10940, - facing = 2, - }, - } - }, - { - aiLib = "Null AI", - bitDependant = false, - humanName = "Automaton", - commanderParameters = { - facplop = false, - }, - allyTeam = 2, - unlocks = { - "staticradar", - "staticheavyradar", - "turretaaclose", - "turretaafar", - "turretaaflak", - "turretaaheavy", - "turretaalaser", - "turretantiheavy", - "turretemp", - "turretgauss", - "turretheavy", - "turretheavylaser", - "turretimpulse", - "turretlaser", - "turretmissile", - "turretriot", - "turretsunlance", - "turrettorp", - }, - commanderLevel = 2, - commander = false, - startUnits = { - { - name = "energysingu", - x = 5800, - z = 184, - facing = 0, - bonusObjectiveID = 1, - }, - { - name = "energysingu", - x = 5992, - z = 184, - facing = 0, - bonusObjectiveID = 1, - }, - { - name = "energysingu", - x = 6184, - z = 184, - facing = 0, - bonusObjectiveID = 1, - }, - { - name = "energysingu", - x = 6184, - z = 344, - facing = 0, - bonusObjectiveID = 1, - }, - { - name = "energysingu", - x = 5992, - z = 344, - facing = 0, - bonusObjectiveID = 1, - mapMarker = { - text = "Singularity Reactors", - color = "red" - }, - }, - { - name = "energysingu", - x = 5800, - z = 344, - facing = 0, - bonusObjectiveID = 1, - }, - { - name = "turretheavylaser", - x = 6024, - z = 2472, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "turretheavylaser", - x = 6024, - z = 2760, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticmex", - x = 5256, - z = 264, - facing = 0, - }, - { - name = "staticmex", - x = 5544, - z = 216, - facing = 0, - }, - { - name = "staticmex", - x = 5496, - z = 504, - facing = 0, - }, - { - name = "staticmex", - x = 6344, - z = 264, - facing = 0, - }, - { - name = "staticmex", - x = 6648, - z = 216, - facing = 0, - }, - { - name = "staticmex", - x = 6584, - z = 504, - facing = 0, - }, - { - name = "staticmex", - x = 5608, - z = 1976, - facing = 0, - }, - { - name = "staticmex", - x = 6424, - z = 2008, - facing = 0, - }, - { - name = "staticmex", - x = 6024, - z = 3480, - facing = 0, - }, - { - name = "staticmex", - x = 5144, - z = 4728, - facing = 0, - }, - { - name = "staticmex", - x = 6008, - z = 4568, - facing = 0, - }, - { - name = "staticmex", - x = 5992, - z = 5720, - facing = 0, - }, - { - name = "staticmex", - x = 6984, - z = 6008, - facing = 0, - }, - { - name = "staticmex", - x = 632, - z = 1592, - facing = 0, - }, - { - name = "staticmex", - x = 11624, - z = 1528, - facing = 0, - }, - { - name = "energypylon", - x = 5432, - z = 376, - facing = 0, - }, - { - name = "energypylon", - x = 6504, - z = 392, - facing = 0, - }, - { - name = "energypylon", - x = 6552, - z = 1320, - facing = 0, - }, - { - name = "energypylon", - x = 6536, - z = 2248, - facing = 0, - }, - { - name = "energypylon", - x = 5400, - z = 1304, - facing = 0, - }, - { - name = "energypylon", - x = 5384, - z = 2232, - facing = 0, - }, - { - name = "energypylon", - x = 4536, - z = 1368, - facing = 0, - }, - { - name = "energypylon", - x = 6664, - z = 3160, - facing = 0, - }, - { - name = "energypylon", - x = 7432, - z = 1448, - facing = 0, - }, - { - name = "energypylon", - x = 3688, - z = 1416, - facing = 0, - }, - { - name = "energypylon", - x = 7944, - z = 1032, - facing = 0, - }, - { - name = "energypylon", - x = 5304, - z = 3176, - facing = 0, - }, - { - name = "energypylon", - x = 6008, - z = 3768, - facing = 0, - }, - { - name = "energypylon", - x = 5992, - z = 4744, - facing = 0, - }, - { - name = "energypylon", - x = 5976, - z = 5608, - facing = 0, - }, - { - name = "turretmissile", - x = 4032, - z = 3024, - facing = 3, - }, - { - name = "turretaaflak", - x = 5144, - z = 4008, - facing = 0, - }, - { - name = "turretmissile", - x = 3824, - z = 2528, - facing = 3, - }, - { - name = "turretlaser", - x = 5232, - z = 4096, - facing = 0, - }, - { - name = "turretlaser", - x = 5040, - z = 4096, - facing = 0, - }, - { - name = "turretriot", - x = 5608, - z = 5304, - facing = 3, - }, - { - name = "turretriot", - x = 5752, - z = 2632, - facing = 3, - }, - { - name = "turretmissile", - x = 3056, - z = 496, - facing = 3, - }, - { - name = "turretriot", - x = 6280, - z = 2648, - facing = 1, - }, - { - name = "turretlaser", - x = 6928, - z = 4080, - facing = 0, - }, - { - name = "turretheavy", - x = 5240, - z = 5320, - facing = 3, - }, - { - name = "turretheavy", - x = 5240, - z = 5944, - facing = 3, - }, - { - name = "turretmissile", - x = 6880, - z = 5040, - facing = 1, - }, - { - name = "turretmissile", - x = 6880, - z = 4896, - facing = 1, - }, - { - name = "turretmissile", - x = 5216, - z = 5536, - facing = 3, - }, - { - name = "turretmissile", - x = 5216, - z = 5424, - facing = 3, - }, - { - name = "staticstorage", - x = 5688, - z = 5160, - facing = 0, - }, - { - name = "staticstorage", - x = 5752, - z = 5160, - facing = 0, - }, - { - name = "staticstorage", - x = 5736, - z = 5224, - facing = 0, - }, - { - name = "staticstorage", - x = 5688, - z = 5224, - facing = 0, - }, - { - name = "energypylon", - x = 5304, - z = 5608, - facing = 0, - }, - { - name = "energypylon", - x = 6776, - z = 5128, - facing = 0, - }, - { - name = "turretheavylaser", - x = 4920, - z = 6184, - facing = 3, - }, - { - name = "turretriot", - x = 5608, - z = 4216, - facing = 3, - }, - { - name = "turretgauss", - x = 5992, - z = 4952, - facing = 3, - }, - { - name = "turretriot", - x = 5608, - z = 4968, - facing = 3, - }, - { - name = "turretheavy", - x = 6856, - z = 5464, - facing = 1, - }, - { - name = "turretriot", - x = 5608, - z = 4600, - facing = 3, - }, - { - name = "turretaaheavy", - x = 6016, - z = 4400, - facing = 1, - }, - { - name = "turretheavy", - x = 6856, - z = 4776, - facing = 1, - }, - { - name = "turretheavylaser", - x = 7144, - z = 5640, - facing = 1, - }, - { - name = "turretheavylaser", - x = 7144, - z = 4600, - facing = 1, - }, - { - name = "turretlaser", - x = 7024, - z = 4592, - facing = 2, - }, - { - name = "turretlaser", - x = 5072, - z = 5120, - facing = 2, - }, - { - name = "turretlaser", - x = 6832, - z = 4592, - facing = 2, - }, - { - name = "turretlaser", - x = 5248, - z = 5120, - facing = 2, - }, - { - name = "turretlaser", - x = 5248, - z = 6192, - facing = 0, - }, - { - name = "turretlaser", - x = 7056, - z = 5680, - facing = 0, - }, - { - name = "turretlaser", - x = 6832, - z = 5680, - facing = 0, - }, - { - name = "turretlaser", - x = 5072, - z = 6192, - facing = 0, - }, - { - name = "turretmissile", - x = 6880, - z = 5312, - facing = 1, - }, - { - name = "turretmissile", - x = 5216, - z = 5808, - facing = 3, - }, - { - name = "turretmissile", - x = 6880, - z = 5168, - facing = 1, - }, - { - name = "turretmissile", - x = 5216, - z = 5664, - facing = 3, - }, - { - name = "turretriot", - x = 6408, - z = 6104, - facing = 1, - }, - { - name = "turretriot", - x = 6408, - z = 5704, - facing = 1, - }, - { - name = "turretriot", - x = 6408, - z = 5320, - facing = 1, - }, - { - name = "turretriot", - x = 5608, - z = 6104, - facing = 3, - }, - { - name = "turretriot", - x = 6408, - z = 4968, - facing = 1, - }, - { - name = "turretriot", - x = 5608, - z = 5672, - facing = 3, - }, - { - name = "turretriot", - x = 6408, - z = 4584, - facing = 1, - }, - { - name = "turretriot", - x = 6408, - z = 4248, - facing = 1, - }, - { - name = "turretriot", - x = 5784, - z = 1352, - facing = 0, - }, - { - name = "turretriot", - x = 6232, - z = 1352, - facing = 0, - }, - { - name = "turretgauss", - x = 5992, - z = 5432, - facing = 0, - }, - { - name = "turretimpulse", - x = 6384, - z = 400, - facing = 1, - }, - { - name = "turretmissile", - x = 6288, - z = 2192, - facing = 1, - }, - { - name = "turretmissile", - x = 5696, - z = 1696, - facing = 1, - }, - { - name = "turretaafar", - x = 6256, - z = 5200, - facing = 1, - }, - { - name = "turretmissile", - x = 7520, - z = 3568, - facing = 1, - }, - { - name = "turretmissile", - x = 6320, - z = 1168, - facing = 1, - }, - { - name = "turretmissile", - x = 7680, - z = 3056, - facing = 1, - }, - { - name = "turretmissile", - x = 7776, - z = 2448, - facing = 1, - }, - { - name = "turretaaflak", - x = 6856, - z = 4024, - facing = 0, - }, - { - name = "turretmissile", - x = 7936, - z = 2080, - facing = 1, - }, - { - name = "turretmissile", - x = 4208, - z = 3568, - facing = 3, - }, - { - name = "turretlaser", - x = 6784, - z = 4080, - facing = 0, - }, - { - name = "turretaalaser", - x = 6200, - z = 3992, - facing = 2, - }, - { - name = "turretaafar", - x = 6288, - z = 880, - facing = 1, - }, - { - name = "turretheavy", - x = 6008, - z = 4184, - facing = 2, - }, - { - name = "turretaaheavy", - x = 5984, - z = 1664, - facing = 0, - }, - { - name = "turretlaser", - x = 5872, - z = 1664, - facing = 3, - }, - { - name = "turretlaser", - x = 5984, - z = 1760, - facing = 0, - }, - { - name = "turretlaser", - x = 6096, - z = 1664, - facing = 1, - }, - { - name = "turretlaser", - x = 5984, - z = 1552, - facing = 2, - }, - { - name = "turretheavylaser", - x = 3576, - z = 1544, - facing = 3, - }, - { - name = "turretheavylaser", - x = 3464, - z = 1160, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8152, - z = 1512, - facing = 1, - }, - { - name = "turretheavylaser", - x = 3544, - z = 1848, - facing = 3, - }, - { - name = "turretlaser", - x = 3392, - z = 1664, - facing = 3, - }, - { - name = "turretheavylaser", - x = 8360, - z = 1080, - facing = 1, - }, - { - name = "turretlaser", - x = 3344, - z = 1360, - facing = 3, - }, - { - name = "turretlaser", - x = 3232, - z = 992, - facing = 3, - }, - { - name = "turretlaser", - x = 8304, - z = 1632, - facing = 1, - }, - { - name = "turretlaser", - x = 8320, - z = 1312, - facing = 1, - }, - { - name = "turretaaflak", - x = 3576, - z = 1048, - facing = 3, - }, - { - name = "turretlaser", - x = 8496, - z = 1024, - facing = 1, - }, - { - name = "turretaaflak", - x = 3368, - z = 536, - facing = 3, - }, - { - name = "turretaaflak", - x = 8264, - z = 584, - facing = 1, - }, - { - name = "turretaaflak", - x = 4216, - z = 1864, - facing = 3, - }, - { - name = "turretaaflak", - x = 7848, - z = 1464, - facing = 1, - }, - { - name = "turretimpulse", - x = 6480, - z = 128, - facing = 1, - }, - { - name = "turretaaflak", - x = 7560, - z = 2744, - facing = 1, - }, - { - name = "turretimpulse", - x = 6224, - z = 544, - facing = 1, - }, - { - name = "turretemp", - x = 6176, - z = 1008, - facing = 1, - }, - { - name = "turretemp", - x = 6416, - z = 784, - facing = 1, - }, - { - name = "turretlaser", - x = 5392, - z = 272, - facing = 3, - }, - { - name = "turretimpulse", - x = 5392, - z = 160, - facing = 1, - }, - { - name = "turretlaser", - x = 5856, - z = 720, - facing = 0, - }, - { - name = "turretimpulse", - x = 5552, - z = 400, - facing = 1, - }, - { - name = "turretlaser", - x = 6080, - z = 720, - facing = 0, - }, - { - name = "turretimpulse", - x = 5744, - z = 592, - facing = 1, - }, - { - name = "turretlaser", - x = 6512, - z = 256, - facing = 1, - }, - { - name = "turretimpulse", - x = 6000, - z = 608, - facing = 1, - }, - { - name = "turretantiheavy", - x = 6016, - z = 3296, - facing = 2, - }, - { - name = "turretaalaser", - x = 5832, - z = 1832, - facing = 2, - }, - { - name = "turretaalaser", - x = 6184, - z = 1864, - facing = 2, - }, - { - name = "turretaaclose", - x = 5880, - z = 3288, - facing = 2, - }, - { - name = "turretaaclose", - x = 6168, - z = 3288, - facing = 2, - }, - { - name = "turretmissile", - x = 5584, - z = 2656, - facing = 1, - }, - { - name = "turretaalaser", - x = 5816, - z = 4008, - facing = 2, - }, - { - name = "turretmissile", - x = 6336, - z = 2880, - facing = 1, - }, - { - name = "turretheavylaser", - x = 4930, - z = 5132, - facing = 3, - }, - { - name = "turrettorp", - x = 3135, - z = 2500, - facing = 3, - }, - { - name = "turrettorp", - x = 3195, - z = 2920, - facing = 3, - }, - { - name = "turrettorp", - x = 3735, - z = 3800, - facing = 3, - }, - { - name = "turrettorp", - x = 3795, - z = 4220, - facing = 3, - }, - -- consider these - -- }, - -- name = "turretantiheavy", - -- x = 6000, - -- z = 1950, - -- facing = 0, - -- }, - -- { - -- name = "turretgauss", - -- x = 5800, - -- z = 1950, - -- facing = 3, - -- }, - -- { - -- name = "turretgauss", - -- x = 6200, - -- z = 1950, - -- facing = 1, - -- }, - -- { - -- name = "energypylon", - -- x = 7410, - -- z = 2200, - -- facing = 0, - -- }, - -- { - -- name = "energypylon", - -- x = 7410, - -- z = 2900, - -- facing = 0, - -- }, - -- { - -- name = "energypylon", - -- x = 6100, - -- z = 1760, - -- facing = 0, - -- }, - } - }, - }, - neutralUnits = { - { - name = "pw_artefact", - x = 6025, - z = 2625, - facing = 0, - invincible = true, - ignoredByAI = true, - mapMarker = { - text = "Artefact", - color = "green" - }, - }, - { - name = "pw_inhibitor", - x = 6232, - z = 4360, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_inhibitor", - x = 6232, - z = 4488, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_gaspowerstation", - x = 5856, - z = 2624, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_gaspowerstation", - x = 6160, - z = 2624, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_interception", - x = 4400, - z = 3472, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_interception", - x = 7440, - z = 1824, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_interception", - x = 4288, - z = 1408, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_warpgate", - x = 6256, - z = 5896, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_warpjammer", - x = 5760, - z = 5888, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_mstorage2", - x = 5752, - z = 4312, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_mstorage2", - x = 5752, - z = 4488, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 10472, - z = 5800, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 10760, - z = 5640, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 10728, - z = 5928, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 11400, - z = 5032, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 11640, - z = 4792, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 11704, - z = 5080, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 11384, - z = 6648, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 11688, - z = 6600, - facing = 0, - ignoredByAI = true, - }, - { - name = "staticmex", - x = 11624, - z = 6888, - facing = 0, - ignoredByAI = true, - }, - { - name = "pw_mine", - x = 11528, - z = 6728, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_mine", - x = 11560, - z = 4968, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - { - name = "pw_metal", - x = 10656, - z = 5760, - facing = 0, - invincible = true, - ignoredByAI = true, - }, - }, - terraform = { - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {3416, 5700, 4740, 5990}, - height = 6, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {7700, 9780, 9400, 9820}, - height = -40, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RECTANGLE, - terraformType = planetUtilities.TERRAFORM_TYPE.LEVEL, - position = {9360, 9800, 9420, 11340}, - height = -40, - }, - { - terraformShape = planetUtilities.TERRAFORM_SHAPE.RAMP, - position = {4040, 6, 10470, 3604, 6, 9857}, - width = 500 - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - [2] = { - ignoreUnitLossDefeat = true, - loseAfterSeconds = false, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Bring your Commander to the Artefact", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Kill the Singus - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "energysingu.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the Automaton Singularity Reactors", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Win by 10:00 - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Kill enemy fac - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "factoryshield.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy the Interlopers' Shieldbot Factory", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cloaksnipe", - }, - modules = { - "module_personal_cloak", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet70.lua b/campaign/dev/planets/planet70.lua deleted file mode 100644 index 30815f39b..000000000 --- a/campaign/dev/planets/planet70.lua +++ /dev/null @@ -1,5148 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran03_damaged.png" - - local planetData = { - name = "Onsally", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.77, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.13, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Igneous", - radius = "6370 km", - primary = "Easnor", - primaryType = "A4IV", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24566", - text = [[Burn out forests of Wind Generators with Phoenixes to cripple your enemy and allow the land units of your ally to make progress. Protect your bombers against enemy air with Raptors.]] - }, - tips = { - { - image = "unitpics/bomberriot.png", - text = [[The Phoenix saturation bomber drops a bundle of napalm on each bombing run. This fiery attack is most effective against large numbers of weak units. ]] - }, - { - image = "luaui/images/commands/bold/attack.png", - text = [[A Pheonix strike is most effective when spread over a large area. Hold Ctrl then click and drag Force Fire to give each Pheonix a distinct target in the area. Hold Alt then click and drag Force Fire to draw a line of positions to target.]] - }, - { - image = "unitpics/planeheavyfighter.png", - text = [[The twin anti-air lasers of Raptors are very effective against gunships. Be aware that the Raptor must slow down to fire and cannot shoot behind itself. Be sure to cover your Raptors from behind.]] - }, - }, - gameConfig = { - mapName = "Obsidian_1.5", - playerConfig = { - startX = 1200, - startZ = 1000, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryplane", - "bomberriot", - "planeheavyfighter", - "staticrearm", - }, - startUnits = { - { - name = "pw_metal", - x = 730, - z = 1000, - facing = 3, - }, - { - name = "bomberriot", - x = 900, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {900, 1800}}, - }, - }, - { - name = "bomberriot", - x = 1000, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1000, 1800}}, - }, - }, - { - name = "bomberriot", - x = 1100, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1100, 1800}}, - }, - }, - { - name = "bomberriot", - x = 1200, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1200, 1800}}, - }, - }, - { - name = "bomberriot", - x = 1300, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1300, 1800}}, - }, - }, - { - name = "bomberriot", - x = 1400, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1400, 1800}}, - }, - }, - { - name = "bomberriot", - x = 1500, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1500, 1800}}, - }, - }, - { - name = "bomberriot", - x = 1600, - z = 50, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1600, 1800}}, - }, - }, - { - name = "staticradar", - x = 1873, - z = 1640, - facing = 0, - }, - { - name = "factoryplane", - x = 1072, - z = 1400, - facing = 0, - }, - { - name = "staticcon", - x = 1144, - z = 1272, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1144, 1272}}, - {cmdID = planetUtilities.COMMAND.PATROL, pos = {1169, 1297}, options = {"shift"}}, - }, - }, - { - name = "staticmex", - x = 1480, - z = 1096, - facing = 0, - }, - { - name = "staticmex", - x = 1256, - z = 1352, - facing = 0, - }, - { - name = "staticrearm", - x = 1336, - z = 1176, - facing = 0, - }, - { - name = "energywind", - x = 1336, - z = 1352, - facing = 0, - }, - { - name = "energywind", - x = 1416, - z = 1304, - facing = 0, - }, - { - name = "energywind", - x = 1464, - z = 1208, - facing = 0, - }, - { - name = "energywind", - x = 1544, - z = 1160, - facing = 0, - }, - { - name = "energywind", - x = 1512, - z = 1288, - facing = 0, - }, - { - name = "energywind", - x = 1288, - z = 1432, - facing = 0, - }, - { - name = "staticmex", - x = 264, - z = 744, - facing = 0, - }, - { - name = "energywind", - x = 312, - z = 744, - facing = 2, - }, - { - name = "energywind", - x = 312, - z = 792, - facing = 2, - }, - { - name = "energywind", - x = 264, - z = 792, - facing = 1, - }, - { - name = "energywind", - x = 216, - z = 792, - facing = 1, - }, - { - name = "energywind", - x = 216, - z = 744, - facing = 0, - }, - { - name = "energywind", - x = 216, - z = 696, - facing = 0, - }, - { - name = "energywind", - x = 264, - z = 696, - facing = 3, - }, - { - name = "energywind", - x = 312, - z = 696, - facing = 3, - }, - { - name = "energywind", - x = 1560, - z = 1096, - facing = 3, - }, - { - name = "energywind", - x = 1528, - z = 1016, - facing = 3, - }, - { - name = "energywind", - x = 1448, - z = 1032, - facing = 3, - }, - { - name = "energywind", - x = 1496, - z = 936, - facing = 3, - }, - { - name = "energywind", - x = 1576, - z = 952, - facing = 3, - }, - { - name = "energywind", - x = 1608, - z = 1016, - facing = 3, - }, - { - name = "energywind", - x = 264, - z = 1336, - facing = 3, - }, - { - name = "energywind", - x = 344, - z = 1400, - facing = 3, - }, - { - name = "energywind", - x = 424, - z = 1464, - facing = 3, - }, - { - name = "energywind", - x = 504, - z = 1544, - facing = 3, - }, - { - name = "energywind", - x = 248, - z = 1432, - facing = 3, - }, - { - name = "energywind", - x = 328, - z = 1512, - facing = 3, - }, - { - name = "energywind", - x = 408, - z = 1576, - facing = 3, - }, - { - name = "turretaalaser", - x = 984, - z = 920, - facing = 1, - }, - } - }, - aiConfig = { - { - humanName = "Ally", - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - --aiLib = "Null AI", - --bitDependant = false, - allyTeam = 0, - unlocks = { - "staticmex", - "staticradar", - "staticstorage", - "energysolar", - "energywind", - "energypylon", - "staticcon", - "turretlaser", - "turretmissile", - "turretaalaser", - "factoryspider", - "spidercon", - "spiderscout", - "spideremp", - "spiderskirm", - "spiderassault", - "spiderriot", - "spidercrabe", - "spideraa", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldskirm", - "shieldriot", - "shieldassault", - "shieldfelon", - "shieldbomb", - "shieldaa", - "factoryamph", - "amphassault", - "amphbomb", - "amphcon", - "amphfloater", - "amphimpulse", - "amphraid", - "amphriot", - }, - commander = false, - startUnits = { - { - name = "staticstorage", - x = 2696, - z = 1544, - facing = 1, - }, - { - name = "factoryspider", - x = 3336, - z = 1544, - facing = 1, - }, - { - name = "staticcon", - x = 3208, - z = 1544, - facing = 1, - }, - { - name = "staticmex", - x = 3096, - z = 1400, - facing = 1, - }, - { - name = "staticmex", - x = 3352, - z = 696, - facing = 1, - }, - { - name = "staticcon", - x = 936, - z = 3016, - facing = 1, - }, - { - name = "factoryshield", - x = 1080, - z = 2992, - facing = 1, - }, - { - name = "staticmex", - x = 2856, - z = 2104, - facing = 1, - }, - { - name = "energysolar", - x = 3160, - z = 1416, - facing = 0, - }, - { - name = "energysolar", - x = 3080, - z = 1464, - facing = 3, - }, - { - name = "energysolar", - x = 3032, - z = 1384, - facing = 2, - }, - { - name = "energysolar", - x = 3112, - z = 1336, - facing = 1, - }, - { - name = "staticmex", - x = 1256, - z = 2808, - facing = 0, - }, - { - name = "staticmex", - x = 584, - z = 3272, - facing = 0, - }, - { - name = "energysolar", - x = 3416, - z = 712, - facing = 0, - }, - { - name = "energysolar", - x = 3336, - z = 760, - facing = 3, - }, - { - name = "energysolar", - x = 3288, - z = 680, - facing = 2, - }, - { - name = "energysolar", - x = 3368, - z = 632, - facing = 1, - }, - { - name = "staticmex", - x = 168, - z = 2200, - facing = 0, - }, - { - name = "energysolar", - x = 232, - z = 2216, - facing = 2, - }, - { - name = "energysolar", - x = 2920, - z = 2120, - facing = 0, - }, - { - name = "energysolar", - x = 2840, - z = 2168, - facing = 3, - }, - { - name = "energysolar", - x = 104, - z = 2184, - facing = 0, - }, - { - name = "energysolar", - x = 2792, - z = 2088, - facing = 2, - }, - { - name = "energysolar", - x = 2872, - z = 2040, - facing = 1, - }, - { - name = "energysolar", - x = 1320, - z = 2824, - facing = 2, - }, - { - name = "energysolar", - x = 1240, - z = 2872, - facing = 1, - }, - { - name = "energysolar", - x = 1192, - z = 2792, - facing = 0, - }, - { - name = "energysolar", - x = 1272, - z = 2744, - facing = 3, - }, - { - name = "energysolar", - x = 648, - z = 3288, - facing = 2, - }, - { - name = "energysolar", - x = 568, - z = 3336, - facing = 1, - }, - { - name = "energysolar", - x = 520, - z = 3256, - facing = 0, - }, - { - name = "energysolar", - x = 600, - z = 3208, - facing = 3, - }, - { - name = "staticradar", - x = 3024, - z = 3120, - facing = 3, - }, - { - name = "turretlaser", - x = 3072, - z = 3104, - facing = 0, - }, - { - name = "turretlaser", - x = 2960, - z = 3168, - facing = 0, - }, - { - name = "staticradar", - x = 1104, - z = 4800, - facing = 1, - }, - { - name = "turretlaser", - x = 1104, - z = 4752, - facing = 1, - }, - { - name = "turretlaser", - x = 1088, - z = 4848, - facing = 1, - }, - { - name = "staticradar", - x = 4448, - z = 992, - facing = 0, - }, - { - name = "turretlaser", - x = 4512, - z = 944, - facing = 1, - }, - { - name = "staticmex", - x = 1928, - z = 5224, - facing = 1, - }, - { - name = "turretlaser", - x = 4368, - z = 1072, - facing = 1, - }, - { - name = "staticmex", - x = 2456, - z = 3960, - facing = 1, - }, - { - name = "energysolar", - x = 1992, - z = 5240, - facing = 0, - }, - { - name = "energysolar", - x = 1912, - z = 5288, - facing = 3, - }, - { - name = "energysolar", - x = 1864, - z = 5208, - facing = 2, - }, - { - name = "energysolar", - x = 1944, - z = 5160, - facing = 1, - }, - { - name = "energysolar", - x = 2520, - z = 3976, - facing = 0, - }, - { - name = "energysolar", - x = 2440, - z = 4024, - facing = 3, - }, - { - name = "energysolar", - x = 2392, - z = 3944, - facing = 2, - }, - { - name = "energysolar", - x = 2472, - z = 3896, - facing = 1, - }, - { - name = "turretmissile", - x = 2512, - z = 3792, - facing = 1, - }, - { - name = "turretmissile", - x = 2336, - z = 4112, - facing = 1, - }, - { - name = "turretmissile", - x = 2000, - z = 5040, - facing = 1, - }, - { - name = "turretmissile", - x = 1824, - z = 5376, - facing = 1, - }, - { - name = "turretlaser", - x = 1360, - z = 2576, - facing = 1, - }, - { - name = "turretlaser", - x = 3568, - z = 640, - facing = 1, - }, - { - name = "turretlaser", - x = 3312, - z = 1344, - facing = 1, - }, - { - name = "turretlaser", - x = 3024, - z = 1600, - facing = 1, - }, - { - name = "turretlaser", - x = 352, - z = 2400, - facing = 1, - }, - { - name = "turretlaser", - x = 2720, - z = 2272, - facing = 1, - }, - { - name = "energyfusion", - x = 112, - z = 2296, - facing = 1, - }, - { - name = "turretmissile", - x = 128, - z = 2496, - facing = 1, - }, - { - name = "turretaalaser", - x = 3032, - z = 1992, - facing = 1, - }, - { - name = "turretaalaser", - x = 824, - z = 2840, - facing = 1, - }, - { - name = "turretaalaser", - x = 3592, - z = 696, - facing = 1, - }, - { - name = "turretlaser", - x = 1104, - z = 1184, - facing = 1, - }, - { - name = "staticcon", - x = 952, - z = 2952, - facing = 1, - }, - { - name = "shieldassault", - x = 2747, - z = 3088, - facing = 1, - }, - { - name = "spiderassault", - x = 3149, - z = 3308, - facing = 1, - }, - { - name = "shieldcon", - x = 1753, - z = 1431, - facing = 1, - }, - { - name = "shieldassault", - x = 3011, - z = 3280, - facing = 1, - }, - { - name = "shieldcon", - x = 1033, - z = 2321, - facing = 0, - }, - { - name = "shieldcon", - x = 3949, - z = 1301, - facing = 1, - }, - { - name = "shieldassault", - x = 2787, - z = 3101, - facing = 3, - }, - { - name = "staticcon", - x = 904, - z = 2968, - facing = 1, - }, - { - name = "spidercon", - x = 3170, - z = 793, - facing = 2, - }, - { - name = "shieldcon", - x = 3168, - z = 3125, - facing = 2, - }, - { - name = "turretlaser", - x = 1120, - z = 2688, - facing = 1, - }, - { - name = "shieldfelon", - x = 3182, - z = 3049, - facing = 2, - patrolRoute = { - {3178, 3102}, - {3048, 2936}, - }, - }, - { - name = "spidercrabe", - x = 2882, - z = 2977, - facing = 0, - }, - { - name = "energypylon", - x = 2984, - z = 1752, - facing = 0, - }, - { - name = "shieldassault", - x = 2802, - z = 3304, - facing = 2, - }, - { - name = "turretlaser", - x = 224, - z = 2160, - facing = 1, - }, - { - name = "shieldcon", - x = 3151, - z = 3114, - facing = 2, - }, - { - name = "shieldcon", - x = 3742, - z = 1403, - facing = 1, - }, - { - name = "shieldassault", - x = 2910, - z = 3033, - facing = 1, - }, - { - name = "shieldassault", - x = 2768, - z = 3282, - facing = 2, - }, - { - name = "staticcon", - x = 856, - z = 2968, - facing = 1, - }, - { - name = "shieldcon", - x = 1915, - z = 1411, - facing = 0, - }, - { - name = "shieldcon", - x = 2164, - z = 3232, - facing = 1, - }, - { - name = "shieldcon", - x = 3108, - z = 3297, - facing = 2, - }, - { - name = "shieldskirm", - x = 3174, - z = 3362, - facing = 0, - }, - { - name = "shieldassault", - x = 2844, - z = 3046, - facing = 1, - }, - { - name = "shieldcon", - x = 3138, - z = 3096, - facing = 3, - }, - { - name = "turretlaser", - x = 3232, - z = 1744, - facing = 0, - }, - { - name = "turretlaser", - x = 2736, - z = 2064, - facing = 0, - }, - { - name = "staticradar", - x = 288, - z = 912, - facing = 1, - }, - { - name = "shieldcon", - x = 2990, - z = 3536, - facing = 1, - }, - { - name = "staticmex", - x = 2600, - z = 4200, - facing = 0, - }, - { - name = "shieldriot", - x = 2725, - z = 3292, - facing = 0, - }, - { - name = "staticstorage", - x = 2920, - z = 2232, - facing = 0, - }, - { - name = "shieldriot", - x = 2698, - z = 3214, - facing = 2, - }, - { - name = "turretlaser", - x = 176, - z = 528, - facing = 1, - }, - { - name = "shieldskirm", - x = 2673, - z = 3299, - facing = 0, - }, - { - name = "spidercrabe", - x = 3372, - z = 1544, - facing = 1, - buildProgress = 0.19850001, - }, - { - name = "energysolar", - x = 3272, - z = 936, - facing = 0, - }, - { - name = "spidercon", - x = 3685, - z = 1302, - facing = 1, - }, - { - name = "shieldassault", - x = 2615, - z = 3375, - facing = 1, - }, - { - name = "shieldcon", - x = 1757, - z = 4381, - facing = 0, - }, - { - name = "staticcon", - x = 952, - z = 2904, - facing = 1, - }, - { - name = "shieldfelon", - x = 1490, - z = 3179, - facing = 1, - }, - { - name = "turretlaser", - x = 2512, - z = 4096, - facing = 1, - }, - { - name = "energysolar", - x = 3208, - z = 1112, - facing = 0, - }, - { - name = "energywind", - x = 3160, - z = 1224, - facing = 0, - }, - { - name = "shieldfelon", - x = 1092, - z = 2992, - facing = 1, - buildProgress = 0.68970001, - }, - { - name = "turretlaser", - x = 3248, - z = 624, - facing = 0, - buildProgress = 0.4666, - }, - { - name = "turretheavylaser", - x = 4040, - z = 2050, - facing = 0, - }, - } - }, - { - startX = 5200, - startZ = 5200, - humanName = "Slebnina", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "staticmex", - "staticradar", - "staticstorage", - --"energywind", - --"energypylon", - "staticcon", - "factoryspider", - "spidercon", - "spiderscout", - "spideremp", - "spiderskirm", - "spiderassault", - "spiderriot", - "spidercrabe", - "factorycloak", - "cloakcon", - "cloakraid", - "cloakheavyraid", - "cloaksnipe", - "cloakriot", - "cloakskirm", - "cloakassault", - }, - commanderLevel = 6, - commander = { - name = "Oilean", - chassis = "engineer", - decorations = { - "skin_support_hotrod", - }, - modules = { - "commweapon_beamlaser", - "commweapon_disruptorbomb", - "module_autorepair", - "module_ablative_armor", - "module_ablative_armor", - "module_ablative_armor", - "module_high_power_servos", - "module_high_power_servos", - "module_high_power_servos", - "module_adv_nano", - "module_adv_nano", - "module_adv_nano", - } - }, - startUnits = { - { - name = "staticmex", - x = 4312, - z = 5064, - facing = 0, - }, - { - name = "staticmex", - x = 4072, - z = 5768, - facing = 0, - }, - { - name = "staticmex", - x = 3816, - z = 6472, - facing = 0, - }, - { - name = "cloakraid", - x = 3764, - z = 4959, - facing = 3, - }, - { - name = "staticcon", - x = 3672, - z = 6504, - facing = 3, - }, - { - name = "staticcon", - x = 5960, - z = 4152, - facing = 3, - }, - { - name = "factoryspider", - x = 5832, - z = 4136, - facing = 3, - }, - { - name = "cloakcon", - x = 3526, - z = 6536, - facing = 3, - buildProgress = 0.87849998, - }, - { - name = "spiderassault", - x = 5796, - z = 4136, - facing = 3, - buildProgress = 0.52289999, - }, - { - name = "gunshipskirm", - x = 5958, - z = 4451, - facing = 0, - }, - { - name = "gunshipskirm", - x = 4693, - z = 5758, - facing = 0, - }, - { - name = "staticmex", - x = 4712, - z = 3208, - facing = 0, - }, - { - name = "gunshipskirm", - x = 2997, - z = 6447, - facing = 0, - }, - { - name = "staticradar", - x = 4528, - z = 3328, - facing = 3, - }, - { - name = "gunshipskirm", - x = 6808, - z = 2491, - facing = 0, - }, - { - name = "factorycloak", - x = 3536, - z = 6536, - facing = 3, - }, - { - name = "turretaaclose", - x = 4584, - z = 5016, - facing = 1, - }, - { - name = "turretaalaser", - x = 5784, - z = 4424, - facing = 1, - }, - { - name = "turretaaclose", - x = 6072, - z = 4232, - facing = 1, - }, - { - name = "turretaalaser", - x = 3576, - z = 6744, - facing = 1, - }, - { - name = "turretaalaser", - x = 4456, - z = 5240, - facing = 1, - }, - { - name = "staticcon", - x = 4600, - z = 3144, - facing = 3, - buildProgress = 0.4136, - }, - { - name = "spiderskirm", - x = 4543, - z = 3576, - facing = 3, - }, - { - name = "spiderscout", - x = 3953, - z = 1347, - facing = 0, - }, - { - name = "spiderscout", - x = 5529, - z = 1308, - facing = 1, - }, - { - name = "spiderassault", - x = 3751, - z = 3670, - facing = 3, - }, - { - name = "spiderscout", - x = 4558, - z = 2209, - facing = 3, - }, - { - name = "cloakskirm", - x = 3466, - z = 3984, - facing = 3, - }, - { - name = "spiderskirm", - x = 5311, - z = 3543, - facing = 2, - }, - { - name = "cloakraid", - x = 3632, - z = 4934, - facing = 2, - }, - } - }, - { - humanName = "Turcier", - --aiLib = "Null AI", - --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", - bitDependant = true, - allyTeam = 1, - unlocks = { - "staticmex", - "staticradar", - "staticstorage", - --"energywind", - --"energypylon", - "staticcon", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - --"gunshipaa", - "gunshipskirm", - "gunshipheavyskirm", - "factoryjump", - "jumpcon", - "jumpraid", - "jumpassault", - "jumparty", - "jumpblackhole", - }, - difficultyDependantUnlocks = { - [4] = {"gunshipassault"} - }, - commander = false, - midgameUnits = { - { - name = "gunshipkrow", - x = 6800, - z = 6800, - facing = 0, - spawnRadius = 150, - delay = 15*30*60, - orbitalDrop = true, - difficultyAtLeast = 1, - difficultyAtMost = 1, - }, - { - name = "gunshipkrow", - x = 6800, - z = 6800, - facing = 0, - spawnRadius = 150, - delay = 9*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - difficultyAtMost = 2, - }, - { - name = "gunshipkrow", - x = 6800, - z = 6800, - facing = 0, - spawnRadius = 150, - delay = 7*30*60, - orbitalDrop = true, - difficultyAtLeast = 3, - difficultyAtMost = 3, - }, - { - name = "gunshipkrow", - x = 6800, - z = 6800, - facing = 0, - spawnRadius = 150, - delay = 5*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - difficultyAtMost = 4, - }, - { - name = "gunshipkrow", - x = 6800, - z = 6800, - facing = 0, - spawnRadius = 150, - delay = 11*30*60, - orbitalDrop = true, - difficultyAtLeast = 4, - difficultyAtMost = 4, - }, - { - name = "gunshipkrow", - x = 6800, - z = 6800, - facing = 0, - spawnRadius = 150, - delay = 18*30*60, - orbitalDrop = true, - difficultyAtLeast = 2, - }, - }, - startUnits = { - { - name = "pw_metal", - x = 4288, - z = 6400, - facing = 3, - }, - { - name = "energywind", - x = 7128, - z = 1880, - facing = 3, - }, - { - name = "energywind", - x = 7048, - z = 1880, - facing = 3, - }, - { - name = "energywind", - x = 6968, - z = 1880, - facing = 3, - }, - { - name = "energywind", - x = 6888, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 1960, - z = 7112, - facing = 3, - }, - { - name = "energywind", - x = 6808, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 2008, - z = 7032, - facing = 3, - }, - { - name = "energywind", - x = 2056, - z = 6952, - facing = 3, - }, - { - name = "energywind", - x = 6728, - z = 1864, - facing = 3, - }, - { - name = "energywind", - x = 2104, - z = 6872, - facing = 3, - }, - { - name = "energywind", - x = 6664, - z = 1880, - facing = 3, - }, - { - name = "energywind", - x = 2152, - z = 6792, - facing = 3, - }, - { - name = "energywind", - x = 6584, - z = 1912, - facing = 3, - }, - { - name = "energywind", - x = 2200, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 6504, - z = 1944, - facing = 3, - }, - { - name = "energywind", - x = 2344, - z = 6696, - facing = 3, - }, - { - name = "energywind", - x = 6424, - z = 1960, - facing = 3, - }, - { - name = "energywind", - x = 2264, - z = 6712, - facing = 3, - }, - { - name = "energywind", - x = 6344, - z = 1992, - facing = 3, - }, - { - name = "energywind", - x = 2168, - z = 6952, - facing = 3, - }, - { - name = "energywind", - x = 6264, - z = 2056, - facing = 3, - }, - { - name = "energywind", - x = 2216, - z = 6872, - facing = 3, - }, - { - name = "energywind", - x = 6216, - z = 2088, - facing = 3, - }, - { - name = "energywind", - x = 2264, - z = 6792, - facing = 3, - }, - { - name = "energysolar", - x = 6312, - z = 664, - facing = 0, - }, - { - name = "energywind", - x = 2200, - z = 6664, - facing = 3, - }, - { - name = "energypylon", - x = 4056, - z = 4632, - facing = 0, - }, - { - name = "energywind", - x = 2232, - z = 7048, - facing = 3, - }, - { - name = "energywind", - x = 2264, - z = 6968, - facing = 3, - }, - { - name = "turretriot", - x = 4216, - z = 3912, - facing = 0, - }, - { - name = "energywind", - x = 2312, - z = 6888, - facing = 3, - }, - { - name = "energywind", - x = 6552, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 6088, - z = 2552, - facing = 3, - }, - { - name = "energywind", - x = 6104, - z = 2616, - facing = 3, - }, - { - name = "energywind", - x = 6136, - z = 2680, - facing = 3, - }, - { - name = "energywind", - x = 6232, - z = 2808, - facing = 3, - }, - { - name = "energywind", - x = 6376, - z = 2920, - facing = 3, - }, - { - name = "energywind", - x = 6424, - z = 2968, - facing = 3, - }, - { - name = "energywind", - x = 6568, - z = 3032, - facing = 3, - }, - { - name = "energywind", - x = 6616, - z = 3080, - facing = 3, - }, - { - name = "energywind", - x = 6680, - z = 3128, - facing = 3, - }, - { - name = "energywind", - x = 6760, - z = 3176, - facing = 3, - }, - { - name = "energywind", - x = 6888, - z = 3240, - facing = 3, - }, - { - name = "energywind", - x = 6824, - z = 3208, - facing = 3, - }, - { - name = "energywind", - x = 6072, - z = 6616, - facing = 3, - }, - { - name = "turretriot", - x = 1720, - z = 6968, - facing = 3, - }, - { - name = "energywind", - x = 6952, - z = 3272, - facing = 3, - }, - { - name = "energywind", - x = 7064, - z = 3320, - facing = 3, - }, - { - name = "energywind", - x = 5880, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 5960, - z = 6728, - facing = 3, - }, - { - name = "energywind", - x = 6040, - z = 6744, - facing = 3, - }, - { - name = "energywind", - x = 6120, - z = 6744, - facing = 3, - }, - { - name = "energywind", - x = 6488, - z = 6712, - facing = 3, - }, - { - name = "turretriot", - x = 2072, - z = 6632, - facing = 3, - }, - { - name = "energywind", - x = 6200, - z = 6760, - facing = 3, - }, - { - name = "energywind", - x = 6280, - z = 6760, - facing = 3, - }, - { - name = "energywind", - x = 6360, - z = 6760, - facing = 3, - }, - { - name = "energywind", - x = 6440, - z = 6776, - facing = 3, - }, - { - name = "energywind", - x = 6472, - z = 24, - facing = 3, - }, - { - name = "energywind", - x = 6536, - z = 104, - facing = 3, - }, - { - name = "energywind", - x = 6520, - z = 6776, - facing = 3, - }, - { - name = "energywind", - x = 6584, - z = 184, - facing = 3, - }, - { - name = "energywind", - x = 5944, - z = 6792, - facing = 3, - }, - { - name = "energywind", - x = 6648, - z = 264, - facing = 3, - }, - { - name = "energywind", - x = 6024, - z = 6792, - facing = 3, - }, - { - name = "energywind", - x = 6424, - z = 424, - facing = 3, - }, - { - name = "energywind", - x = 6104, - z = 6808, - facing = 3, - }, - { - name = "energywind", - x = 6184, - z = 6808, - facing = 3, - }, - { - name = "energywind", - x = 6792, - z = 376, - facing = 3, - }, - { - name = "energywind", - x = 6264, - z = 6824, - facing = 3, - }, - { - name = "energywind", - x = 6872, - z = 408, - facing = 3, - }, - { - name = "energywind", - x = 6344, - z = 6824, - facing = 3, - }, - { - name = "energywind", - x = 6952, - z = 456, - facing = 3, - }, - { - name = "energywind", - x = 6424, - z = 6840, - facing = 3, - }, - { - name = "energywind", - x = 7032, - z = 504, - facing = 3, - }, - { - name = "energywind", - x = 7112, - z = 552, - facing = 3, - }, - { - name = "energywind", - x = 5880, - z = 6600, - facing = 3, - }, - { - name = "energywind", - x = 5992, - z = 6600, - facing = 3, - }, - { - name = "energywind", - x = 6168, - z = 6632, - facing = 3, - }, - { - name = "turretriot", - x = 6776, - z = 808, - facing = 0, - }, - { - name = "energywind", - x = 6248, - z = 6680, - facing = 3, - }, - { - name = "energywind", - x = 6328, - z = 6696, - facing = 3, - }, - { - name = "energywind", - x = 6408, - z = 6696, - facing = 3, - }, - { - name = "turretriot", - x = 6296, - z = 248, - facing = 0, - }, - { - name = "turretlaser", - x = 6448, - z = 1760, - facing = 2, - }, - { - name = "turretriot", - x = 2440, - z = 6856, - facing = 1, - }, - { - name = "turretriot", - x = 3784, - z = 4232, - facing = 0, - }, - { - name = "energypylon", - x = 6344, - z = 2296, - facing = 3, - }, - { - name = "energywind", - x = 2360, - z = 6984, - facing = 1, - }, - { - name = "energywind", - x = 2312, - z = 7064, - facing = 1, - }, - { - name = "energysolar", - x = 6584, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 2264, - z = 7144, - facing = 1, - }, - { - name = "energywind", - x = 2360, - z = 7144, - facing = 1, - }, - { - name = "energywind", - x = 2408, - z = 7064, - facing = 1, - }, - { - name = "energywind", - x = 2456, - z = 7144, - facing = 1, - }, - { - name = "turretlaser", - x = 6160, - z = 2960, - facing = 3, - }, - { - name = "turretlaser", - x = 6624, - z = 3360, - facing = 0, - }, - { - name = "turretlaser", - x = 7040, - z = 3584, - facing = 0, - }, - { - name = "energywind", - x = 6600, - z = 5448, - facing = 1, - }, - { - name = "energywind", - x = 6680, - z = 5512, - facing = 1, - }, - { - name = "energywind", - x = 6760, - z = 5576, - facing = 1, - }, - { - name = "energywind", - x = 6840, - z = 5640, - facing = 1, - }, - { - name = "energywind", - x = 6920, - z = 5704, - facing = 1, - }, - { - name = "energypylon", - x = 2712, - z = 6440, - facing = 1, - }, - { - name = "energywind", - x = 7000, - z = 5768, - facing = 1, - }, - { - name = "energywind", - x = 7080, - z = 5832, - facing = 1, - }, - { - name = "energywind", - x = 6600, - z = 5544, - facing = 1, - }, - { - name = "energywind", - x = 6680, - z = 5608, - facing = 1, - }, - { - name = "energypylon", - x = 3400, - z = 4920, - facing = 0, - }, - { - name = "energywind", - x = 6760, - z = 5688, - facing = 1, - }, - { - name = "energywind", - x = 6840, - z = 5752, - facing = 1, - }, - { - name = "energywind", - x = 6920, - z = 5816, - facing = 1, - }, - { - name = "energywind", - x = 7000, - z = 5896, - facing = 1, - }, - { - name = "energywind", - x = 6872, - z = 4936, - facing = 0, - }, - { - name = "energywind", - x = 6680, - z = 5384, - facing = 1, - }, - { - name = "energywind", - x = 6760, - z = 5464, - facing = 1, - }, - { - name = "energywind", - x = 6840, - z = 5528, - facing = 1, - }, - { - name = "energywind", - x = 6920, - z = 5608, - facing = 1, - }, - { - name = "energypylon", - x = 3608, - z = 4600, - facing = 1, - }, - { - name = "energywind", - x = 7000, - z = 5672, - facing = 1, - }, - { - name = "energywind", - x = 7080, - z = 5752, - facing = 1, - }, - { - name = "energypylon", - x = 4392, - z = 4328, - facing = 1, - }, - { - name = "energypylon", - x = 3384, - z = 6728, - facing = 0, - }, - { - name = "staticmex", - x = 6904, - z = 6424, - facing = 0, - }, - { - name = "energypylon", - x = 5480, - z = 5848, - facing = 1, - }, - { - name = "energypylon", - x = 6888, - z = 2152, - facing = 0, - }, - { - name = "staticmex", - x = 5912, - z = 5816, - facing = 0, - }, - { - name = "energypylon", - x = 6072, - z = 5704, - facing = 1, - }, - { - name = "energypylon", - x = 6424, - z = 2664, - facing = 0, - }, - { - name = "staticmex", - x = 5688, - z = 6072, - facing = 0, - }, - { - name = "turretriot", - x = 4568, - z = 3752, - facing = 0, - }, - { - name = "energypylon", - x = 6664, - z = 360, - facing = 0, - }, - { - name = "energypylon", - x = 6712, - z = 6280, - facing = 1, - }, - { - name = "staticmex", - x = 7000, - z = 4968, - facing = 0, - }, - { - name = "staticstorage", - x = 5512, - z = 6600, - facing = 1, - }, - { - name = "factorygunship", - x = 5512, - z = 6232, - facing = 1, - }, - { - name = "staticmex", - x = 6584, - z = 3896, - facing = 0, - }, - { - name = "staticcon", - x = 5624, - z = 6200, - facing = 1, - }, - { - name = "staticcon", - x = 5624, - z = 6280, - facing = 1, - }, - { - name = "staticmex", - x = 5912, - z = 4360, - facing = 0, - }, - { - name = "turretantiheavy", - x = 2816, - z = 6048, - facing = 3, - }, - { - name = "energywind", - x = 3080, - z = 5592, - facing = 0, - }, - { - name = "turretlaser", - x = 5120, - z = 3648, - facing = 2, - }, - { - name = "turretlaser", - x = 5312, - z = 3472, - facing = 2, - }, - { - name = "turretlaser", - x = 5696, - z = 3120, - facing = 3, - }, - { - name = "turretheavylaser", - x = 1864, - z = 6792, - facing = 0, - }, - { - name = "turretlaser", - x = 6656, - z = 1616, - facing = 3, - }, - { - name = "turretantiheavy", - x = 6384, - z = 672, - facing = 2, - }, - { - name = "energywind", - x = 6760, - z = 3608, - facing = 0, - }, - { - name = "energywind", - x = 6312, - z = 4200, - facing = 0, - }, - { - name = "turretaaclose", - x = 3896, - z = 5704, - facing = 0, - }, - { - name = "energypylon", - x = 5560, - z = 6440, - facing = 3, - }, - { - name = "staticarty", - x = 5320, - z = 5480, - facing = 3, - }, - { - name = "turretheavy", - x = 5992, - z = 5320, - facing = 2, - }, - { - name = "turretheavy", - x = 5112, - z = 6216, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5192, - z = 5640, - facing = 3, - }, - { - name = "turretheavylaser", - x = 5496, - z = 5400, - facing = 2, - }, - { - name = "turretriot", - x = 5448, - z = 6712, - facing = 3, - }, - { - name = "turretaaflak", - x = 5704, - z = 5352, - facing = 2, - }, - { - name = "turretaaflak", - x = 5080, - z = 5928, - facing = 3, - }, - { - name = "staticstorage", - x = 5784, - z = 6056, - facing = 0, - }, - { - name = "staticstorage", - x = 5912, - z = 5912, - facing = 0, - }, - { - name = "turretmissile", - x = 6848, - z = 1024, - facing = 3, - }, - { - name = "turretmissile", - x = 6832, - z = 1360, - facing = 3, - }, - { - name = "staticradar", - x = 2880, - z = 6016, - facing = 3, - }, - { - name = "energysolar", - x = 6408, - z = 504, - facing = 0, - }, - { - name = "staticradar", - x = 4512, - z = 3952, - facing = 3, - }, - { - name = "staticradar", - x = 5840, - z = 5312, - facing = 3, - }, - { - name = "turretaalaser", - x = 5736, - z = 6712, - facing = 1, - }, - { - name = "turretheavylaser", - x = 6152, - z = 1848, - facing = 0, - terraformHeight = 734, - }, - { - name = "turretantiheavy", - x = 3184, - z = 4848, - facing = 0, - }, - { - name = "turretaaclose", - x = 3896, - z = 6008, - facing = 2, - }, - { - name = "turretaaclose", - x = 3512, - z = 6264, - facing = 2, - }, - { - name = "turretaaclose", - x = 3992, - z = 6728, - facing = 2, - }, - { - name = "turretaaclose", - x = 4552, - z = 5480, - facing = 2, - }, - { - name = "energywind", - x = 2872, - z = 5960, - facing = 0, - }, - { - name = "gunshipskirm", - x = 5513, - z = 6232, - facing = 0, - buildProgress = 0.9788, - }, - { - name = "staticcon", - x = 5368, - z = 6216, - facing = 2, - }, - { - name = "gunshipcon", - x = 4353, - z = 5512, - facing = 3, - }, - { - name = "gunshipcon", - x = 4319, - z = 5499, - facing = 3, - }, - { - name = "gunshipemp", - x = 3688, - z = 4186, - facing = 3, - }, - { - name = "gunshipemp", - x = 3777, - z = 4123, - facing = 3, - }, - { - name = "gunshipemp", - x = 3867, - z = 4123, - facing = 3, - }, - { - name = "gunshipemp", - x = 3688, - z = 4187, - facing = 3, - }, - { - name = "gunshipemp", - x = 3710, - z = 4160, - facing = 3, - }, - { - name = "energywind", - x = 6520, - z = 1880, - facing = 0, - }, - { - name = "energywind", - x = 6360, - z = 1944, - facing = 0, - }, - { - name = "energywind", - x = 6856, - z = 1912, - facing = 0, - }, - { - name = "energywind", - x = 6984, - z = 1800, - facing = 0, - }, - { - name = "energywind", - x = 6840, - z = 1800, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 1928, - facing = 0, - }, - { - name = "energywind", - x = 6760, - z = 1736, - facing = 0, - }, - { - name = "energywind", - x = 7016, - z = 1720, - facing = 0, - }, - { - name = "energywind", - x = 6456, - z = 1912, - facing = 0, - }, - { - name = "energywind", - x = 6904, - z = 1784, - facing = 0, - }, - { - name = "energywind", - x = 6920, - z = 1720, - facing = 0, - }, - { - name = "energywind", - x = 7096, - z = 1672, - facing = 0, - }, - { - name = "energywind", - x = 7112, - z = 1800, - facing = 0, - }, - { - name = "energywind", - x = 7096, - z = 1752, - facing = 0, - }, - { - name = "energywind", - x = 6840, - z = 1640, - facing = 0, - }, - { - name = "energywind", - x = 6728, - z = 1800, - facing = 0, - }, - { - name = "energywind", - x = 6600, - z = 1864, - facing = 0, - }, - { - name = "energywind", - x = 7000, - z = 1928, - facing = 0, - }, - { - name = "energywind", - x = 6920, - z = 1640, - facing = 0, - }, - { - name = "energywind", - x = 6776, - z = 1912, - facing = 0, - }, - { - name = "energywind", - x = 7048, - z = 1672, - facing = 0, - }, - { - name = "energywind", - x = 6792, - z = 1800, - facing = 0, - }, - { - name = "energywind", - x = 6968, - z = 1656, - facing = 0, - }, - { - name = "energywind", - x = 7064, - z = 1944, - facing = 0, - }, - { - name = "energywind", - x = 6664, - z = 1816, - facing = 0, - }, - { - name = "energywind", - x = 7112, - z = 1944, - facing = 0, - }, - { - name = "energywind", - x = 7048, - z = 1800, - facing = 0, - }, - { - name = "energywind", - x = 6280, - z = 1992, - facing = 0, - }, - { - name = "energywind", - x = 6760, - z = 1672, - facing = 0, - }, - { - name = "energywind", - x = 6824, - z = 1720, - facing = 0, - }, - { - name = "energywind", - x = 4152, - z = 4040, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 5512, - facing = 0, - }, - { - name = "energywind", - x = 6776, - z = 5336, - facing = 0, - }, - { - name = "energywind", - x = 5784, - z = 6872, - facing = 0, - }, - { - name = "energywind", - x = 5944, - z = 6856, - facing = 0, - }, - { - name = "energywind", - x = 4824, - z = 4104, - facing = 0, - }, - { - name = "energywind", - x = 6536, - z = 6856, - facing = 0, - }, - { - name = "energywind", - x = 6920, - z = 5464, - facing = 0, - }, - { - name = "energywind", - x = 6712, - z = 552, - facing = 0, - }, - { - name = "energywind", - x = 6808, - z = 296, - facing = 0, - }, - { - name = "energywind", - x = 5864, - z = 6856, - facing = 0, - }, - { - name = "energywind", - x = 7096, - z = 5592, - facing = 0, - }, - { - name = "energywind", - x = 6904, - z = 3304, - facing = 0, - }, - { - name = "energywind", - x = 4760, - z = 4104, - facing = 0, - }, - { - name = "energywind", - x = 4712, - z = 4312, - facing = 0, - }, - { - name = "energywind", - x = 4712, - z = 4152, - facing = 0, - }, - { - name = "energywind", - x = 6024, - z = 2568, - facing = 0, - }, - { - name = "energywind", - x = 4856, - z = 4456, - facing = 0, - }, - { - name = "energywind", - x = 4968, - z = 4440, - facing = 0, - }, - { - name = "energywind", - x = 4840, - z = 4040, - facing = 0, - }, - { - name = "energywind", - x = 4824, - z = 4168, - facing = 0, - }, - { - name = "energywind", - x = 1992, - z = 6904, - facing = 0, - }, - { - name = "energywind", - x = 5080, - z = 4488, - facing = 0, - }, - { - name = "energywind", - x = 4632, - z = 4088, - facing = 0, - }, - { - name = "energywind", - x = 4584, - z = 4024, - facing = 0, - }, - { - name = "energywind", - x = 6376, - z = 6904, - facing = 0, - }, - { - name = "energywind", - x = 2088, - z = 6776, - facing = 0, - }, - { - name = "energysolar", - x = 6456, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 6760, - z = 3256, - facing = 0, - }, - { - name = "energywind", - x = 7112, - z = 376, - facing = 0, - }, - { - name = "energywind", - x = 4600, - z = 4264, - facing = 0, - }, - { - name = "energywind", - x = 6008, - z = 6856, - facing = 0, - }, - { - name = "energywind", - x = 6296, - z = 2840, - facing = 0, - }, - { - name = "energywind", - x = 6312, - z = 2040, - facing = 0, - }, - { - name = "energywind", - x = 6312, - z = 6904, - facing = 0, - }, - { - name = "energywind", - x = 7032, - z = 5528, - facing = 0, - }, - { - name = "energypylon", - x = 6872, - z = 2888, - facing = 0, - }, - { - name = "energywind", - x = 4584, - z = 3976, - facing = 0, - }, - { - name = "energysolar", - x = 6392, - z = 600, - facing = 0, - }, - { - name = "energywind", - x = 1768, - z = 7064, - facing = 0, - }, - { - name = "energywind", - x = 6984, - z = 5592, - facing = 0, - }, - { - name = "energywind", - x = 4792, - z = 4328, - facing = 0, - }, - { - name = "energywind", - x = 4920, - z = 4392, - facing = 0, - }, - { - name = "energywind", - x = 1768, - z = 7128, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 3976, - facing = 0, - }, - { - name = "energywind", - x = 6744, - z = 5384, - facing = 0, - }, - { - name = "energywind", - x = 7016, - z = 3256, - facing = 0, - }, - { - name = "energywind", - x = 6200, - z = 6888, - facing = 0, - }, - { - name = "energywind", - x = 7112, - z = 3432, - facing = 0, - }, - { - name = "energywind", - x = 7096, - z = 5480, - facing = 0, - }, - { - name = "energywind", - x = 6984, - z = 5480, - facing = 0, - }, - { - name = "energywind", - x = 4744, - z = 4376, - facing = 0, - }, - { - name = "energywind", - x = 7000, - z = 3336, - facing = 0, - }, - { - name = "energywind", - x = 4792, - z = 3992, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 6776, - facing = 0, - }, - { - name = "energywind", - x = 5032, - z = 4408, - facing = 0, - }, - { - name = "energywind", - x = 6984, - z = 5416, - facing = 0, - }, - { - name = "energywind", - x = 6120, - z = 2760, - facing = 0, - }, - { - name = "energywind", - x = 6184, - z = 2744, - facing = 0, - }, - { - name = "energywind", - x = 4712, - z = 4040, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 4328, - facing = 0, - }, - { - name = "energywind", - x = 4536, - z = 4152, - facing = 0, - }, - { - name = "energywind", - x = 2008, - z = 6888, - facing = 0, - }, - { - name = "energywind", - x = 4520, - z = 3992, - facing = 0, - }, - { - name = "energywind", - x = 1928, - z = 7032, - facing = 0, - }, - { - name = "energywind", - x = 2120, - z = 6728, - facing = 0, - }, - { - name = "energywind", - x = 7144, - z = 3272, - facing = 0, - }, - { - name = "energywind", - x = 1864, - z = 7000, - facing = 0, - }, - { - name = "energywind", - x = 1880, - z = 7128, - facing = 0, - }, - { - name = "energywind", - x = 4984, - z = 4360, - facing = 0, - }, - { - name = "energywind", - x = 6456, - z = 3048, - facing = 0, - }, - { - name = "energywind", - x = 4760, - z = 4152, - facing = 0, - }, - { - name = "energywind", - x = 6040, - z = 2632, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 4248, - facing = 0, - }, - { - name = "energywind", - x = 4904, - z = 4264, - facing = 0, - }, - { - name = "energywind", - x = 7048, - z = 5432, - facing = 0, - }, - { - name = "energywind", - x = 6152, - z = 2824, - facing = 0, - }, - { - name = "energywind", - x = 1704, - z = 7064, - facing = 0, - }, - { - name = "energywind", - x = 4600, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 7128, - z = 5704, - facing = 0, - }, - { - name = "energywind", - x = 6056, - z = 6872, - facing = 0, - }, - { - name = "energywind", - x = 1656, - z = 7112, - facing = 0, - }, - { - name = "energywind", - x = 6504, - z = 3000, - facing = 0, - }, - { - name = "energywind", - x = 6168, - z = 2056, - facing = 0, - }, - { - name = "energywind", - x = 7144, - z = 3208, - facing = 0, - }, - { - name = "energywind", - x = 4664, - z = 4264, - facing = 0, - }, - { - name = "energywind", - x = 6584, - z = 3128, - facing = 0, - }, - { - name = "energywind", - x = 6984, - z = 3384, - facing = 0, - }, - { - name = "energywind", - x = 4248, - z = 4008, - facing = 0, - }, - { - name = "energywind", - x = 4856, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 4680, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 4776, - z = 4056, - facing = 0, - }, - { - name = "energywind", - x = 5816, - z = 6808, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 4280, - facing = 0, - }, - { - name = "energywind", - x = 4360, - z = 3960, - facing = 0, - }, - { - name = "energywind", - x = 6520, - z = 3080, - facing = 0, - }, - { - name = "energywind", - x = 6696, - z = 3208, - facing = 0, - }, - { - name = "energywind", - x = 6472, - z = 6920, - facing = 0, - }, - { - name = "energywind", - x = 4760, - z = 4216, - facing = 0, - }, - { - name = "energywind", - x = 2280, - z = 6632, - facing = 0, - }, - { - name = "energywind", - x = 4776, - z = 4440, - facing = 0, - }, - { - name = "energywind", - x = 4984, - z = 4280, - facing = 0, - }, - { - name = "energywind", - x = 6648, - z = 3176, - facing = 0, - }, - { - name = "energywind", - x = 5800, - z = 6728, - facing = 0, - }, - { - name = "energywind", - x = 4888, - z = 4136, - facing = 0, - }, - { - name = "energywind", - x = 6392, - z = 3032, - facing = 0, - }, - { - name = "energywind", - x = 4552, - z = 4088, - facing = 0, - }, - { - name = "energywind", - x = 6424, - z = 6904, - facing = 0, - }, - { - name = "energywind", - x = 6856, - z = 5464, - facing = 0, - }, - { - name = "energywind", - x = 6952, - z = 328, - facing = 0, - }, - { - name = "energywind", - x = 6856, - z = 5304, - facing = 0, - }, - { - name = "energywind", - x = 4472, - z = 4104, - facing = 0, - }, - { - name = "energywind", - x = 7080, - z = 3256, - facing = 0, - }, - { - name = "energywind", - x = 4696, - z = 4104, - facing = 0, - }, - { - name = "energywind", - x = 6344, - z = 2984, - facing = 0, - }, - { - name = "energywind", - x = 6072, - z = 2696, - facing = 0, - }, - { - name = "energywind", - x = 1992, - z = 6776, - facing = 0, - }, - { - name = "energywind", - x = 2056, - z = 6808, - facing = 0, - }, - { - name = "energywind", - x = 4936, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 6600, - z = 6808, - facing = 0, - }, - { - name = "energywind", - x = 4872, - z = 4216, - facing = 0, - }, - { - name = "energywind", - x = 1944, - z = 6824, - facing = 0, - }, - { - name = "energywind", - x = 7032, - z = 5608, - facing = 0, - }, - { - name = "energywind", - x = 7048, - z = 3384, - facing = 0, - }, - { - name = "energywind", - x = 6136, - z = 6872, - facing = 0, - }, - { - name = "energywind", - x = 6952, - z = 3336, - facing = 0, - }, - { - name = "energywind", - x = 4488, - z = 4056, - facing = 0, - }, - { - name = "energywind", - x = 6248, - z = 6888, - facing = 0, - }, - { - name = "energywind", - x = 6280, - z = 2952, - facing = 0, - }, - { - name = "energywind", - x = 7080, - z = 5672, - facing = 0, - }, - { - name = "energywind", - x = 1848, - z = 7080, - facing = 0, - }, - { - name = "energywind", - x = 5032, - z = 4344, - facing = 0, - }, - { - name = "energywind", - x = 4440, - z = 3944, - facing = 0, - }, - { - name = "energywind", - x = 4728, - z = 3976, - facing = 0, - }, - { - name = "energywind", - x = 7064, - z = 5368, - facing = 0, - }, - { - name = "energywind", - x = 6904, - z = 5384, - facing = 0, - }, - { - name = "energywind", - x = 6712, - z = 24, - facing = 0, - }, - { - name = "energywind", - x = 7128, - z = 3336, - facing = 0, - }, - { - name = "energywind", - x = 4536, - z = 4232, - facing = 0, - }, - { - name = "energywind", - x = 6312, - z = 2904, - facing = 0, - }, - { - name = "energywind", - x = 6232, - z = 2888, - facing = 0, - }, - { - name = "energywind", - x = 4632, - z = 4152, - facing = 0, - }, - { - name = "energywind", - x = 4648, - z = 4024, - facing = 0, - }, - { - name = "energywind", - x = 7000, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 4808, - z = 4232, - facing = 0, - }, - { - name = "energywind", - x = 6824, - z = 3272, - facing = 0, - }, - { - name = "energywind", - x = 6824, - z = 5400, - facing = 0, - }, - { - name = "energywind", - x = 1960, - z = 6968, - facing = 0, - }, - { - name = "energywind", - x = 4936, - z = 4312, - facing = 0, - }, - { - name = "energywind", - x = 1896, - z = 6904, - facing = 0, - }, - { - name = "energywind", - x = 6392, - z = 8, - facing = 0, - }, - { - name = "energywind", - x = 6776, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 7080, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 6632, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 6760, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 6856, - z = 552, - facing = 0, - }, - { - name = "energywind", - x = 6472, - z = 72, - facing = 0, - }, - { - name = "energywind", - x = 7000, - z = 744, - facing = 0, - }, - { - name = "energywind", - x = 6712, - z = 408, - facing = 0, - }, - { - name = "energywind", - x = 6472, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 6328, - z = 8, - facing = 0, - }, - { - name = "energywind", - x = 6456, - z = 104, - facing = 0, - }, - { - name = "energywind", - x = 6728, - z = 328, - facing = 0, - }, - { - name = "energywind", - x = 7144, - z = 616, - facing = 0, - }, - { - name = "energywind", - x = 6888, - z = 600, - facing = 0, - }, - { - name = "energywind", - x = 6680, - z = 88, - facing = 0, - }, - { - name = "energywind", - x = 6680, - z = 152, - facing = 0, - }, - { - name = "energywind", - x = 6952, - z = 568, - facing = 0, - }, - { - name = "turretriot", - x = 5192, - z = 4712, - facing = 0, - }, - { - name = "energywind", - x = 7128, - z = 488, - facing = 0, - }, - { - name = "energywind", - x = 6024, - z = 6680, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 712, - facing = 0, - }, - { - name = "energywind", - x = 6104, - z = 6680, - facing = 0, - }, - { - name = "energywind", - x = 6504, - z = 408, - facing = 0, - }, - { - name = "energywind", - x = 6568, - z = 248, - facing = 0, - }, - { - name = "energywind", - x = 6920, - z = 648, - facing = 0, - }, - { - name = "energywind", - x = 6792, - z = 424, - facing = 0, - }, - { - name = "energywind", - x = 6584, - z = 312, - facing = 0, - }, - { - name = "energywind", - x = 6872, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 6616, - z = 8, - facing = 0, - }, - { - name = "energywind", - x = 7016, - z = 360, - facing = 0, - }, - { - name = "energywind", - x = 6520, - z = 152, - facing = 0, - }, - { - name = "energywind", - x = 6584, - z = 88, - facing = 0, - }, - { - name = "energywind", - x = 6664, - z = 40, - facing = 0, - }, - { - name = "energywind", - x = 6392, - z = 184, - facing = 0, - }, - { - name = "energywind", - x = 7000, - z = 616, - facing = 0, - }, - { - name = "energywind", - x = 6872, - z = 680, - facing = 0, - }, - { - name = "energywind", - x = 6664, - z = 472, - facing = 0, - }, - { - name = "energywind", - x = 6232, - z = 2008, - facing = 0, - }, - { - name = "energywind", - x = 7128, - z = 696, - facing = 0, - }, - { - name = "energywind", - x = 6872, - z = 280, - facing = 0, - }, - { - name = "energywind", - x = 7112, - z = 440, - facing = 0, - }, - { - name = "energywind", - x = 6504, - z = 488, - facing = 0, - }, - { - name = "energywind", - x = 5960, - z = 6664, - facing = 0, - }, - { - name = "energywind", - x = 6184, - z = 6696, - facing = 0, - }, - { - name = "energywind", - x = 6728, - z = 664, - facing = 0, - }, - { - name = "energywind", - x = 7064, - z = 712, - facing = 0, - }, - { - name = "energywind", - x = 5864, - z = 6680, - facing = 0, - }, - { - name = "energywind", - x = 7096, - z = 792, - facing = 0, - }, - { - name = "energywind", - x = 6984, - z = 424, - facing = 0, - }, - { - name = "energywind", - x = 6776, - z = 216, - facing = 0, - }, - { - name = "energywind", - x = 7048, - z = 424, - facing = 0, - }, - { - name = "energysolar", - x = 6376, - z = 744, - facing = 0, - }, - { - name = "energywind", - x = 6104, - z = 2040, - facing = 0, - }, - { - name = "energywind", - x = 6600, - z = 120, - facing = 0, - }, - { - name = "energywind", - x = 6808, - z = 632, - facing = 0, - }, - { - name = "energywind", - x = 6728, - z = 264, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 504, - facing = 0, - }, - { - name = "energywind", - x = 6584, - z = 488, - facing = 0, - }, - { - name = "energywind", - x = 6376, - z = 1880, - facing = 0, - }, - { - name = "energywind", - x = 7064, - z = 648, - facing = 0, - }, - { - name = "energywind", - x = 6920, - z = 392, - facing = 0, - }, - { - name = "energywind", - x = 7080, - z = 584, - facing = 0, - }, - { - name = "energywind", - x = 6216, - z = 1944, - facing = 0, - }, - { - name = "energywind", - x = 6472, - z = 280, - facing = 0, - }, - { - name = "energywind", - x = 6584, - z = 408, - facing = 0, - }, - { - name = "energywind", - x = 6392, - z = 120, - facing = 0, - }, - { - name = "energywind", - x = 6744, - z = 136, - facing = 0, - }, - { - name = "energywind", - x = 6376, - z = 56, - facing = 0, - }, - { - name = "energywind", - x = 6296, - z = 1928, - facing = 0, - }, - { - name = "energywind", - x = 6680, - z = 616, - facing = 0, - }, - { - name = "energywind", - x = 6536, - z = 40, - facing = 0, - }, - { - name = "energywind", - x = 6680, - z = 200, - facing = 0, - }, - { - name = "energywind", - x = 7016, - z = 552, - facing = 0, - }, - { - name = "energywind", - x = 6856, - z = 488, - facing = 0, - }, - { - name = "energywind", - x = 6104, - z = 2504, - facing = 0, - }, - { - name = "energywind", - x = 4088, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 4168, - z = 4312, - facing = 0, - }, - { - name = "energywind", - x = 4472, - z = 4184, - facing = 0, - }, - { - name = "energywind", - x = 5144, - z = 4632, - facing = 0, - }, - { - name = "energywind", - x = 5944, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 4696, - z = 4408, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 4600, - z = 4392, - facing = 0, - }, - { - name = "energywind", - x = 4328, - z = 4184, - facing = 0, - }, - { - name = "energywind", - x = 6968, - z = 3208, - facing = 0, - }, - { - name = "energywind", - x = 6104, - z = 2232, - facing = 0, - }, - { - name = "energywind", - x = 4536, - z = 4360, - facing = 0, - }, - { - name = "energywind", - x = 5112, - z = 4552, - facing = 0, - }, - { - name = "energywind", - x = 5976, - z = 4360, - facing = 0, - }, - { - name = "energywind", - x = 4392, - z = 4088, - facing = 0, - }, - { - name = "energywind", - x = 6088, - z = 2296, - facing = 0, - }, - { - name = "energywind", - x = 4248, - z = 4136, - facing = 0, - }, - { - name = "energywind", - x = 4552, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 4264, - z = 4216, - facing = 0, - }, - { - name = "energywind", - x = 6152, - z = 2184, - facing = 0, - }, - { - name = "energywind", - x = 6168, - z = 2136, - facing = 0, - }, - { - name = "energywind", - x = 6152, - z = 2232, - facing = 0, - }, - { - name = "energywind", - x = 6072, - z = 2472, - facing = 0, - }, - { - name = "energywind", - x = 4536, - z = 4440, - facing = 0, - }, - { - name = "energywind", - x = 5880, - z = 4424, - facing = 0, - }, - { - name = "energywind", - x = 4216, - z = 4360, - facing = 0, - }, - { - name = "energywind", - x = 6072, - z = 2408, - facing = 0, - }, - { - name = "energywind", - x = 6088, - z = 2120, - facing = 0, - }, - { - name = "energywind", - x = 6168, - z = 1992, - facing = 0, - }, - { - name = "energywind", - x = 4312, - z = 4104, - facing = 0, - }, - { - name = "energywind", - x = 4280, - z = 4424, - facing = 0, - }, - { - name = "energywind", - x = 4248, - z = 4280, - facing = 0, - }, - { - name = "energywind", - x = 4136, - z = 4392, - facing = 0, - }, - { - name = "energywind", - x = 5944, - z = 4424, - facing = 0, - }, - { - name = "energywind", - x = 5848, - z = 4360, - facing = 0, - }, - { - name = "energywind", - x = 4168, - z = 4232, - facing = 0, - }, - { - name = "energywind", - x = 6008, - z = 2504, - facing = 0, - }, - { - name = "energywind", - x = 6056, - z = 2168, - facing = 0, - }, - { - name = "energywind", - x = 4408, - z = 4168, - facing = 0, - }, - { - name = "staticradar", - x = 6064, - z = 2352, - facing = 0, - }, - { - name = "turretriot", - x = 5896, - z = 2504, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 5256, - facing = 0, - }, - { - name = "turretantiheavy", - x = 5984, - z = 2336, - facing = 0, - }, - { - name = "turretantiheavy", - x = 4576, - z = 3904, - facing = 0, - }, - { - name = "turretriot", - x = 4824, - z = 3784, - facing = 0, - }, - { - name = "turretriot", - x = 5032, - z = 3992, - facing = 0, - }, - { - name = "turretriot", - x = 5160, - z = 4248, - facing = 0, - }, - { - name = "energypylon", - x = 2104, - z = 7112, - facing = 0, - }, - { - name = "energywind", - x = 3320, - z = 4840, - facing = 0, - }, - { - name = "energywind", - x = 3400, - z = 4696, - facing = 0, - }, - { - name = "energywind", - x = 2840, - z = 6136, - facing = 0, - }, - { - name = "energywind", - x = 3416, - z = 4552, - facing = 0, - }, - { - name = "energywind", - x = 3576, - z = 4440, - facing = 0, - }, - { - name = "energywind", - x = 3320, - z = 4664, - facing = 0, - }, - { - name = "energywind", - x = 3128, - z = 5016, - facing = 0, - }, - { - name = "energywind", - x = 2360, - z = 6632, - facing = 0, - }, - { - name = "energywind", - x = 3128, - z = 5080, - facing = 0, - }, - { - name = "energywind", - x = 4056, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 3208, - z = 4952, - facing = 0, - }, - { - name = "energywind", - x = 3864, - z = 4312, - facing = 0, - }, - { - name = "energywind", - x = 3272, - z = 4728, - facing = 0, - }, - { - name = "energywind", - x = 3592, - z = 4376, - facing = 0, - }, - { - name = "energywind", - x = 3352, - z = 4760, - facing = 0, - }, - { - name = "energywind", - x = 3512, - z = 4440, - facing = 0, - }, - { - name = "energywind", - x = 3544, - z = 4520, - facing = 0, - }, - { - name = "energywind", - x = 2936, - z = 6024, - facing = 0, - }, - { - name = "energywind", - x = 4056, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 3112, - z = 5144, - facing = 0, - }, - { - name = "energywind", - x = 3400, - z = 4840, - facing = 0, - }, - { - name = "energywind", - x = 2920, - z = 5928, - facing = 0, - }, - { - name = "energywind", - x = 2904, - z = 6088, - facing = 0, - }, - { - name = "energywind", - x = 3272, - z = 4792, - facing = 0, - }, - { - name = "energywind", - x = 3464, - z = 4520, - facing = 0, - }, - { - name = "energywind", - x = 3464, - z = 4696, - facing = 0, - }, - { - name = "energywind", - x = 3656, - z = 4456, - facing = 0, - }, - { - name = "energywind", - x = 3448, - z = 4616, - facing = 0, - }, - { - name = "energywind", - x = 3432, - z = 4760, - facing = 0, - }, - { - name = "energywind", - x = 3048, - z = 5704, - facing = 0, - }, - { - name = "energywind", - x = 2968, - z = 5944, - facing = 0, - }, - { - name = "energywind", - x = 3016, - z = 5800, - facing = 0, - }, - { - name = "energywind", - x = 2824, - z = 6056, - facing = 0, - }, - { - name = "energywind", - x = 3096, - z = 5224, - facing = 0, - }, - { - name = "energywind", - x = 3288, - z = 5016, - facing = 0, - }, - { - name = "energywind", - x = 3160, - z = 4968, - facing = 0, - }, - { - name = "energywind", - x = 3352, - z = 4600, - facing = 0, - }, - { - name = "energywind", - x = 3976, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 3384, - z = 4648, - facing = 0, - }, - { - name = "energywind", - x = 3272, - z = 4904, - facing = 0, - }, - { - name = "energywind", - x = 2952, - z = 5864, - facing = 0, - }, - { - name = "energywind", - x = 2616, - z = 6280, - facing = 0, - }, - { - name = "energywind", - x = 2424, - z = 6472, - facing = 0, - }, - { - name = "energywind", - x = 2776, - z = 6120, - facing = 0, - }, - { - name = "energywind", - x = 2680, - z = 6232, - facing = 0, - }, - { - name = "energywind", - x = 2312, - z = 6568, - facing = 0, - }, - { - name = "energywind", - x = 2344, - z = 6792, - facing = 0, - }, - { - name = "energywind", - x = 2360, - z = 6520, - facing = 0, - }, - { - name = "energywind", - x = 2744, - z = 6184, - facing = 0, - }, - { - name = "turretriot", - x = 5976, - z = 2104, - facing = 0, - }, - { - name = "energywind", - x = 6344, - z = 4136, - facing = 0, - }, - { - name = "energywind", - x = 6408, - z = 4136, - facing = 0, - }, - { - name = "energywind", - x = 6408, - z = 4264, - facing = 0, - }, - { - name = "energywind", - x = 6440, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 6344, - z = 4264, - facing = 0, - }, - { - name = "energywind", - x = 6520, - z = 4376, - facing = 0, - }, - { - name = "energywind", - x = 6968, - z = 5032, - facing = 0, - }, - { - name = "energywind", - x = 6168, - z = 4264, - facing = 0, - }, - { - name = "energywind", - x = 6888, - z = 3352, - facing = 0, - }, - { - name = "energywind", - x = 6872, - z = 3672, - facing = 0, - }, - { - name = "energywind", - x = 6904, - z = 3480, - facing = 0, - }, - { - name = "energywind", - x = 6456, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 6600, - z = 4648, - facing = 0, - }, - { - name = "energywind", - x = 6376, - z = 4200, - facing = 0, - }, - { - name = "energywind", - x = 6792, - z = 3672, - facing = 0, - }, - { - name = "energywind", - x = 6920, - z = 3416, - facing = 0, - }, - { - name = "energywind", - x = 6456, - z = 4088, - facing = 0, - }, - { - name = "energywind", - x = 6520, - z = 4456, - facing = 0, - }, - { - name = "energywind", - x = 6680, - z = 4824, - facing = 0, - }, - { - name = "energywind", - x = 6632, - z = 4744, - facing = 0, - }, - { - name = "energywind", - x = 6744, - z = 3736, - facing = 0, - }, - { - name = "energywind", - x = 6696, - z = 3800, - facing = 0, - }, - { - name = "energywind", - x = 7000, - z = 3448, - facing = 0, - }, - { - name = "energywind", - x = 6504, - z = 4024, - facing = 0, - }, - { - name = "energywind", - x = 6568, - z = 4552, - facing = 0, - }, - { - name = "energywind", - x = 6552, - z = 3960, - facing = 0, - }, - { - name = "energywind", - x = 6648, - z = 3848, - facing = 0, - }, - { - name = "energywind", - x = 6904, - z = 3608, - facing = 0, - }, - { - name = "energywind", - x = 6808, - z = 4904, - facing = 0, - }, - { - name = "turretheavylaser", - x = 5976, - z = 2840, - facing = 0, - terraformHeight = 746, - }, - { - name = "energywind", - x = 6840, - z = 3608, - facing = 0, - }, - { - name = "energywind", - x = 6744, - z = 4872, - facing = 0, - }, - { - name = "energywind", - x = 6808, - z = 3544, - facing = 0, - }, - { - name = "energywind", - x = 6872, - z = 3544, - facing = 0, - }, - { - name = "turretheavy", - x = 2904, - z = 4760, - facing = 0, - }, - { - name = "turretaaclose", - x = 4088, - z = 5192, - facing = 0, - }, - { - name = "energywind", - x = 3112, - z = 5304, - facing = 0, - }, - { - name = "energywind", - x = 3112, - z = 5400, - facing = 0, - }, - { - name = "energywind", - x = 3096, - z = 5496, - facing = 0, - }, - { - name = "energypylon", - x = 2744, - z = 6888, - facing = 0, - }, - { - name = "turretriot", - x = 2632, - z = 6104, - facing = 0, - }, - { - name = "turretriot", - x = 2824, - z = 5864, - facing = 0, - }, - { - name = "energywind", - x = 6968, - z = 4904, - facing = 0, - }, - { - name = "energypylon", - x = 4552, - z = 5816, - facing = 0, - }, - { - name = "energywind", - x = 7032, - z = 5032, - facing = 0, - }, - { - name = "energypylon", - x = 6216, - z = 536, - facing = 0, - }, - { - name = "energywind", - x = 6040, - z = 4328, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 5112, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 5192, - facing = 0, - }, - { - name = "energywind", - x = 7032, - z = 4904, - facing = 0, - }, - { - name = "energywind", - x = 7000, - z = 5352, - facing = 0, - }, - { - name = "energywind", - x = 7064, - z = 4968, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 5320, - facing = 0, - }, - { - name = "energywind", - x = 6936, - z = 4968, - facing = 0, - }, - { - name = "energywind", - x = 6104, - z = 4296, - facing = 0, - }, - { - name = "energywind", - x = 6232, - z = 4232, - facing = 0, - }, - { - name = "energywind", - x = 2488, - z = 6408, - facing = 0, - }, - { - name = "energywind", - x = 2552, - z = 6344, - facing = 0, - }, - } - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "energywind", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all enemy Wind Generators", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { - satisfyByTime = 10*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, -- The player starts with a Conjurer - unitTypes = { - "planeheavyfighter", - }, - image = planetUtilities.ICON_DIR .. "planeheavyfighter.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 12 Raptors before 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - onlyCountRemovedUnits = true, - satisfyByTime = 10*60, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 250, - enemyUnitTypes = { - "energywind", - }, - image = planetUtilities.ICON_DIR .. "energywind.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy 250 enemy Wind Generators by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, -- Player starts with one. - unitTypes = { - "staticrearm", - }, - image = planetUtilities.ICON_DIR .. "staticrearm.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 2 Airpads", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "bomberriot", - "planeheavyfighter", - "staticrearm", - }, - modules = { - "module_high_power_servos_LIMIT_B_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet71.lua b/campaign/dev/planets/planet71.lua deleted file mode 100644 index 6c049440b..000000000 --- a/campaign/dev/planets/planet71.lua +++ /dev/null @@ -1,136 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/barren01.png" - - local planetData = { - name = "Musashi", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.45, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.23, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Asteroid", - radius = "670 km", - primary = "Edo", - primaryType = "K1", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24489", - text = [[This remote moon was used for widely broadcast rally races in a bygone age. A classic challenge now awaits all comers: the Super Extreme Kodachi Rally!]] - }, - tips = { - { - image = "unitpics/staticmex.png", - text = [[Your objective in each round is to destroy all the mexes, while killing enemy raiders who give chase and outsmarting fixed defenses. Each level adds increasingly deadlier challenges, so stay on your toes!]] - }, - { - image = "unitpics/shieldscout.png", - text = [[To help you out, there are powerups scattered around the map. Touch them with a Kodachi to activate them. More powerups will spawn at regular intervals.]] - }, - { - image = "unitpics/tankraid.png", - text = [[If all your Kodachis are dead, you lose the round. Don't worry, you get to try again!]] - }, - }, - gameConfig = { - gameName = "Super Extreme Kodachi Rally", - mapName = "Comet Catcher Redux v3.1", - playerConfig = { - startX = 300, - startZ = 3800, - allyTeam = 0, - commanderParameters = {}, - extraUnlocks = {}, - }, - modoptions = { - integral_disable_defence = 1, - integral_disable_special = 1, - cansavegame = 1, - }, - aiConfig = { - { - startX = 4000, - startZ = 75, - aiLib = "NullAI", - humanName = "Enemies", - allyTeam = 1, - unlocks = { - "cloakraid", - "shieldraid", - "vehscout", - "vehraid", - "hoverraid", - "jumpscout", - "tankheavyraid", - "cloakriot", - "shieldriot", - "vehsupport", - "hoverriot", - "jumpraid", - "jumpskirm", - }, - commander = false, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { - ignoreUnitLossDefeat = true, - }, - [1] = { - ignoreUnitLossDefeat = true, - }, - }, - objectiveConfig = { - [1] = { - description = "Complete all rounds", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Lose no more than 50 Kodachis - onlyCountRemovedUnits = true, - satisfyForever = true, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 50, - unitTypes = { - "tankraid", - }, - image = planetUtilities.ICON_DIR .. "tankraid.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Do not lose more than 50 Kodachis", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Win by 30:00 - victoryByTime = 1800, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 30:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - modules = { - "module_high_power_servos_LIMIT_C_2", - }, - units = { - "tankraid" - }, - codexEntries = {} - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planet8.lua b/campaign/dev/planets/planet8.lua deleted file mode 100644 index 06b9caf94..000000000 --- a/campaign/dev/planets/planet8.lua +++ /dev/null @@ -1,3527 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/terran01.png" - - local planetData = { - name = "Thibella", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.29, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.65, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "7200 km", - primary = "Thibella", - primaryType = "G3V", - milRating = 2, - feedbackLink = "http://zero-k.info/Forum/Thread/24429", - text = [[The enemy has a Big Bertha cannon which is dominating the battlefield. Sneak into their base with Scythes and eliminate the threat.]] - }, - tips = { - { - image = "unitpics/cloakheavyraid.png", - text = [[Scythes are very good for picking off poorly defended high-value targets behind enemy lines. The Scythes will be decloaked if they attack, if they are damaged, or if they get too close to enemy units.]] - }, - { - image = "unitpics/staticheavyarty.png", - text = [[The Big Bertha cannon wins battles by attrition. It's too inaccurate to hit a single target reliably, but in a large battle it will probably hit something with each shot. Watch the shell trajectory to work out where the Bertha is.]] - }, - { - image = "unitpics/turretsunlance.png", - text = [[Sunlances are special turrets which cannot be built in a normal game. They fire a high-power disruptor beam which slows whatever they hit.]] - }, - }, - gameConfig = { - mapName = "Tabula-v6.1", - playerConfig = { - startX = 7500, - startZ = 6500, - allyTeam = 0, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "cloakheavyraid", - }, - startUnits = { - { - name = "staticmex", - x = 7320, - z = 6456, - facing = 3, - }, - { - name = "staticmex", - x = 7336, - z = 6808, - facing = 3, - }, - { - name = "staticmex", - x = 7752, - z = 6600, - facing = 3, - }, - { - name = "energysolar", - x = 7384, - z = 6472, - facing = 2, - }, - { - name = "energysolar", - x = 7304, - z = 6520, - facing = 1, - }, - { - name = "energysolar", - x = 7256, - z = 6440, - facing = 0, - }, - { - name = "energysolar", - x = 7336, - z = 6392, - facing = 3, - }, - { - name = "energysolar", - x = 7400, - z = 6824, - facing = 2, - }, - { - name = "energysolar", - x = 7320, - z = 6872, - facing = 1, - }, - { - name = "energysolar", - x = 7272, - z = 6792, - facing = 0, - }, - { - name = "energysolar", - x = 7352, - z = 6744, - facing = 3, - }, - { - name = "energysolar", - x = 7816, - z = 6616, - facing = 2, - }, - { - name = "energysolar", - x = 7736, - z = 6664, - facing = 1, - }, - { - name = "energysolar", - x = 7688, - z = 6584, - facing = 0, - }, - { - name = "energysolar", - x = 7768, - z = 6536, - facing = 3, - }, - { - name = "factorycloak", - x = 7848, - z = 6328, - facing = 2, - }, - { - name = "cloakheavyraid", - x = 7848, - z = 6128, - facing = 2, - }, - { - name = "cloakheavyraid", - x = 7648, - z = 6128, - facing = 2, - }, - { - name = "cloakheavyraid", - x = 8048, - z = 6128, - facing = 2, - }, - { - name = "cloakheavyraid", - x = 7848, - z = 5928, - facing = 2, - }, - { - name = "cloakheavyraid", - x = 7648, - z = 5928, - facing = 2, - }, - { - name = "cloakheavyraid", - x = 8048, - z = 5928, - facing = 2, - }, - } - }, - aiConfig = { - { - startX = 7700, - startZ = 1200, - aiLib = "Circuit_difficulty_autofill", - humanName = "Ally", - bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler - allyTeam = 0, - unlocks = { - "turretlaser", - "turretmissile", - "turretriot", - "turretheavylaser", - "turretaalaser", - "staticradar", - "staticmex", - "staticcon", - "staticstorage", - "energypylon", - "energysolar", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipheavyskirm", - "gunshipraid", - "gunshipassault", - "gunshipaa", - "gunshipskirm", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehassault", - "vehriot", - "vehsupport", - "veharty", - --"vehheavyarty", might destroy a Sunlance - "vehaa", - "factoryhover", - "hovercon", - "hoverraid", - "hoverriot", - "hoverskirm", - "hoverassault", - "hoverarty", -- probably won't destroy a Sunlance - "hoveraa", - "factoryspider", - "spidercon", - "spiderscout", - "spiderskirm", - "spideremp", - "spiderriot", - "spiderassault", - "spidercrabe", - "spideraa", - }, - commander = false, - startUnits = { - { - name = "staticstorage", - x = 8100, - z = 1000, - facing = 0, - }, - { - name = "staticstorage", - x = 8100, - z = 4500, - facing = 0, - }, - { - name = "staticstorage", - x = 8100, - z = 2400, - facing = 0, - - }, - { - name = "energypylon", - x = 5880, - z = 3176, - facing = 0, - }, - { - name = "energypylon", - x = 5416, - z = 3960, - facing = 0, - }, - { - name = "energypylon", - x = 6280, - z = 4100, - facing = 0, - }, - { - name = "energypylon", - x = 6500, - z = 3200, - facing = 0, - }, - { - name = "energypylon", - x = 7000, - z = 4000, - facing = 0, - }, - { - name = "energypylon", - x = 7360, - z = 3200, - facing = 0, - }, - { - name = "energypylon", - x = 7930, - z = 3520, - facing = 0, - }, - { - name = "energypylon", - x = 5748, - z = 6760, - facing = 0, - }, - { - name = "energypylon", - x = 4936, - z = 6504, - facing = 0, - }, - { - name = "energygeo", - x = 5600, - z = 7028, - facing = 0, - }, - { - name = "energyfusion", - x = 6200, - z = 7000, - facing = 0, - }, - { - name = "energyfusion", - x = 8120, - z = 3300, - facing = 0, - }, - { - name = "energyfusion", - x = 8120, - z = 3550, - facing = 0, - }, - { - name = "energyfusion", - x = 8120, - z = 3800, - facing = 0, - }, - { - name = "turretheavy", - x = 4616, - z = 6280, - facing = 0, - }, - { - name = "turretsunlance", - x = 4950, - z = 4100, - facing = 0, - }, - { - name = "turretsunlance", - x = 5536, - z = 2832, - facing = 0, - }, - { - name = "turretantiheavy", - x = 5584, - z = 3552, - facing = 0, - }, - { -- corresponds to Team 1 - name = "staticmex", - x = 7816, - z = 1032, - facing = 0, - }, - { - name = "factorygunship", - x = 7816, - z = 1288, - facing = 1, - }, - { - name = "gunshipskirm", - x = 5216, - z = 1908, - facing = 3, - }, - { - name = "staticmex", - x = 7496, - z = 808, - facing = 0, - }, - { - name = "energysolar", - x = 7480, - z = 872, - facing = 3, - }, - { - name = "gunshipcon", - x = 7193, - z = 5477, - facing = 0, - }, - { - name = "turretlaser", - x = 7728, - z = 736, - facing = 3, - }, - { - name = "staticmex", - x = 7736, - z = 520, - facing = 0, - }, - { - name = "staticradar", - x = 7680, - z = 912, - facing = 3, - }, - { - name = "turretlaser", - x = 7680, - z = 1344, - facing = 3, - }, - { - name = "energysolar", - x = 5288, - z = 680, - facing = 0, - }, - { - name = "energysolar", - x = 7816, - z = 968, - facing = 3, - }, - { - name = "turretlaser", - x = 7632, - z = 2576, - facing = 3, - }, - { - name = "energysolar", - x = 7880, - z = 1064, - facing = 3, - }, - { - name = "staticmex", - x = 6312, - z = 2808, - facing = 0, - }, - { - name = "energysolar", - x = 7800, - z = 1096, - facing = 3, - }, - { - name = "turretlaser", - x = 7680, - z = 1216, - facing = 3, - }, - { - name = "staticcon", - x = 7672, - z = 1304, - facing = 3, - }, - { - name = "staticmex", - x = 5960, - z = 760, - facing = 0, - }, - { - name = "staticmex", - x = 5224, - z = 696, - facing = 0, - }, - { - name = "energysolar", - x = 5256, - z = 760, - facing = 0, - }, - { - name = "energysolar", - x = 5160, - z = 648, - facing = 0, - }, - { - name = "gunshipcon", - x = 6590, - z = 3613, - facing = 2, - }, - { - name = "turretlaser", - x = 6752, - z = 1824, - facing = 3, - }, - { - name = "staticradar", - x = 6032, - z = 864, - facing = 0, - }, - { - name = "gunshipaa", - x = 5154, - z = 806, - facing = 2, - }, - { - name = "energysolar", - x = 6680, - z = 1544, - facing = 3, - }, - { - name = "gunshipaa", - x = 4428, - z = 4410, - facing = 1, - }, - { - name = "turretlaser", - x = 5904, - z = 800, - facing = 0, - }, - { - name = "gunshipassault", - x = 5784, - z = 2812, - facing = 1, - }, - { - name = "staticmex", - x = 4904, - z = 1528, - facing = 0, - }, - { - name = "turretmissile", - x = 7536, - z = 1904, - facing = 3, - }, - { - name = "turretlaser", - x = 5984, - z = 2704, - facing = 3, - }, - { - name = "energysolar", - x = 6376, - z = 2936, - facing = 3, - }, - { - name = "staticmex", - x = 5304, - z = 3224, - facing = 0, - }, - { - name = "staticcon", - x = 7672, - z = 1256, - facing = 3, - }, - { - name = "gunshipskirm", - x = 4133, - z = 35, - facing = 3, - }, - { - name = "energysolar", - x = 5272, - z = 3160, - facing = 3, - }, - { - name = "energysolar", - x = 7064, - z = 2152, - facing = 3, - }, - { - name = "energysolar", - x = 5240, - z = 3240, - facing = 3, - }, - { - name = "energysolar", - x = 7896, - z = 984, - facing = 3, - }, - { - name = "gunshipaa", - x = 5156, - z = 885, - facing = 3, - }, - { - name = "turretmissile", - x = 7824, - z = 1840, - facing = 3, - }, - { - name = "turretlaser", - x = 6032, - z = 4032, - facing = 3, - }, - { - name = "gunshipaa", - x = 5155, - z = 873, - facing = 3, - }, - { - name = "gunshipaa", - x = 5153, - z = 841, - facing = 3, - }, - { - name = "turretlaser", - x = 5088, - z = 4688, - facing = 2, - }, - { - name = "turretmissile", - x = 7600, - z = 1760, - facing = 3, - }, - { - name = "turretmissile", - x = 7664, - z = 1856, - facing = 3, - }, - { - name = "turretlaser", - x = 5296, - z = 5520, - facing = 2, - }, - { - name = "turretmissile", - x = 7744, - z = 1760, - facing = 3, - }, - { - name = "turretmissile", - x = 7488, - z = 1760, - facing = 3, - }, - { - name = "turretlaser", - x = 5984, - z = 6096, - facing = 2, - }, - { - name = "turretmissile", - x = 7424, - z = 1888, - facing = 3, - }, - { - name = "turretmissile", - x = 7632, - z = 1968, - facing = 3, - }, - { - name = "staticcon", - x = 4744, - z = 5896, - facing = 2, - buildProgress = 0.20900001, - }, - { - name = "turretmissile", - x = 7520, - z = 2016, - facing = 3, - }, - { - name = "turretlaser", - x = 7456, - z = 4464, - facing = 3, - }, - { - name = "turretmissile", - x = 7744, - z = 1936, - facing = 3, - }, - { - name = "turretlaser", - x = 6944, - z = 4816, - facing = 3, - }, - { - name = "turretmissile", - x = 7552, - z = 1648, - facing = 3, - }, - { - name = "turretmissile", - x = 7680, - z = 1664, - facing = 3, - }, - { - name = "turretmissile", - x = 7408, - z = 2000, - facing = 3, - buildProgress = 0.108, - }, - { -- corresponds to Team 2 - name = "staticmex", - x = 7912, - z = 2840, - facing = 0, - }, - { - name = "factoryveh", - x = 7752, - z = 2728, - facing = 3, - }, - { - name = "staticmex", - x = 7512, - z = 2952, - facing = 0, - }, - { - name = "vehassault", - x = 4586, - z = 2160, - facing = 0, - }, - { - name = "energysolar", - x = 7448, - z = 2968, - facing = 3, - }, - { - name = "turretlaser", - x = 7744, - z = 2576, - facing = 3, - }, - { - name = "energysolar", - x = 7032, - z = 2024, - facing = 3, - }, - { - name = "staticmex", - x = 7544, - z = 2424, - facing = 0, - }, - { - name = "staticmex", - x = 6696, - z = 1608, - facing = 0, - }, - { - name = "energysolar", - x = 6984, - z = 2120, - facing = 3, - }, - { - name = "vehcon", - x = 6612, - z = 3291, - facing = 2, - }, - { - name = "energysolar", - x = 7608, - z = 2456, - facing = 3, - }, - { - name = "vehriot", - x = 6635, - z = 2414, - facing = 3, - }, - { - name = "staticmex", - x = 7048, - z = 2088, - facing = 0, - }, - { - name = "vehcon", - x = 6919, - z = 2739, - facing = 3, - }, - { - name = "vehscout", - x = 3847, - z = 5510, - facing = 3, - }, - { - name = "staticradar", - x = 7856, - z = 2720, - facing = 3, - }, - { - name = "energysolar", - x = 4104, - z = 152, - facing = 0, - }, - { - name = "turretlaser", - x = 7744, - z = 2880, - facing = 3, - }, - { - name = "energysolar", - x = 6952, - z = 2040, - facing = 3, - }, - { - name = "vehaa", - x = 6866, - z = 3427, - facing = 3, - }, - { - name = "energysolar", - x = 6744, - z = 1672, - facing = 3, - }, - { - name = "energysolar", - x = 6760, - z = 1592, - facing = 3, - }, - { - name = "staticmex", - x = 5736, - z = 2536, - facing = 0, - }, - { - name = "staticcon", - x = 7928, - z = 2744, - facing = 3, - }, - { - name = "energysolar", - x = 5048, - z = 2360, - facing = 0, - }, - { - name = "energysolar", - x = 7112, - z = 2040, - facing = 3, - }, - { - name = "energysolar", - x = 5752, - z = 2600, - facing = 3, - }, - { - name = "vehcon", - x = 6520, - z = 2822, - facing = 3, - }, - { - name = "vehcon", - x = 6711, - z = 3146, - facing = 3, - }, - { - name = "energysolar", - x = 6376, - z = 2856, - facing = 3, - }, - { - name = "vehcon", - x = 4249, - z = 4363, - facing = 3, - }, - { - name = "energysolar", - x = 7464, - z = 3048, - facing = 3, - }, - { - name = "energysolar", - x = 4968, - z = 2376, - facing = 0, - }, - { - name = "energysolar", - x = 7528, - z = 2488, - facing = 3, - }, - { - name = "vehaa", - x = 4769, - z = 2171, - facing = 1, - }, - { - name = "vehcon", - x = 5320, - z = 3991, - facing = 2, - }, - { - name = "energysolar", - x = 6296, - z = 2872, - facing = 3, - }, - { - name = "energysolar", - x = 6280, - z = 2744, - facing = 3, - }, - { - name = "staticcon", - x = 7880, - z = 2792, - facing = 3, - }, - { - name = "staticcon", - x = 7928, - z = 2696, - facing = 3, - }, - { - name = "veharty", - x = 5833, - z = 2871, - facing = 1, - }, - { - name = "vehriot", - x = 6429, - z = 2973, - facing = 1, - }, - { - name = "energysolar", - x = 4888, - z = 2232, - facing = 0, - }, - { - name = "vehcon", - x = 5234, - z = 4121, - facing = 3, - }, - { - name = "vehassault", - x = 5517, - z = 2125, - facing = 1, - }, - { - name = "energysolar", - x = 6360, - z = 2696, - facing = 3, - }, - { - name = "vehcon", - x = 6068, - z = 2626, - facing = 3, - }, - { - name = "vehscout", - x = 3144, - z = 6342, - facing = 0, - }, - { - name = "vehcon", - x = 5062, - z = 4401, - facing = 3, - }, - { - name = "energysolar", - x = 6216, - z = 2856, - facing = 3, - }, - { - name = "turretlaser", - x = 4432, - z = 4416, - facing = 2, - }, - { - name = "energysolar", - x = 6376, - z = 2776, - facing = 3, - }, - { - name = "turretaalaser", - x = 4136, - z = 4344, - facing = 2, - }, - { - name = "vehriot", - x = 6430, - z = 2574, - facing = 2, - }, - { - name = "vehraid", - x = 7567, - z = 2526, - facing = 3, - }, - { - name = "energysolar", - x = 7544, - z = 3016, - facing = 3, - }, - { - name = "wolverine_mine", - x = 4408, - z = 3448, - facing = 0, - }, - { - name = "vehscout", - x = 6159, - z = 1952, - facing = 3, - }, - { - name = "vehcon", - x = 7671, - z = 3055, - facing = 2, - }, - { - name = "energysolar", - x = 5272, - z = 3848, - facing = 3, - buildProgress = 0.79280001, - }, - { - name = "vehriot", - x = 7724, - z = 2728, - facing = 3, - buildProgress = 0.87300003, - }, - { - name = "turretlaser", - x = 4128, - z = 4464, - facing = 2, - buildProgress = 0.1166, - }, - { -- corresponds to Team 3 - name = "staticmex", - x = 7880, - z = 4568, - facing = 0, - }, - { - name = "factoryhover", - x = 7696, - z = 4560, - facing = 3, - }, - { - name = "hoveraa", - x = 3636, - z = 5276, - facing = 1, - }, - { - name = "staticmex", - x = 7512, - z = 4856, - facing = 0, - }, - { - name = "energysolar", - x = 7448, - z = 4840, - facing = 3, - }, - { - name = "hoverraid", - x = 4769, - z = 5557, - facing = 1, - }, - { - name = "staticmex", - x = 7576, - z = 4200, - facing = 0, - }, - { - name = "staticradar", - x = 7808, - z = 4592, - facing = 3, - }, - { - name = "turretlaser", - x = 7696, - z = 4400, - facing = 3, - }, - { - name = "hovercon", - x = 4806, - z = 4770, - facing = 2, - }, - { - name = "staticmex", - x = 6904, - z = 4888, - facing = 0, - }, - { - name = "hoverskirm", - x = 4643, - z = 4517, - facing = 2, - }, - { - name = "staticmex", - x = 6104, - z = 4024, - facing = 0, - }, - { - name = "energysolar", - x = 7560, - z = 4264, - facing = 3, - }, - { - name = "energysolar", - x = 7512, - z = 4184, - facing = 3, - }, - { - name = "staticmex", - x = 5464, - z = 4440, - facing = 0, - }, - { - name = "staticmex", - x = 5704, - z = 5304, - facing = 0, - }, - { - name = "staticradar", - x = 6176, - z = 4064, - facing = 3, - }, - { - name = "staticcon", - x = 5480, - z = 4760, - facing = 3, - buildProgress = 0.81209999, - }, - { - name = "energysolar", - x = 6120, - z = 3960, - facing = 3, - }, - { - name = "energysolar", - x = 6040, - z = 3976, - facing = 3, - }, - { - name = "hoverskirm", - x = 3527, - z = 5014, - facing = 3, - }, - { - name = "energysolar", - x = 6120, - z = 3880, - facing = 3, - }, - { - name = "energysolar", - x = 6088, - z = 4088, - facing = 3, - }, - { - name = "staticmex", - x = 4872, - z = 4760, - facing = 0, - }, - { - name = "energysolar", - x = 6200, - z = 3960, - facing = 3, - }, - { - name = "hovercon", - x = 5416, - z = 4621, - facing = 0, - }, - { - name = "staticmex", - x = 5208, - z = 3800, - facing = 0, - }, - { - name = "turretlaser", - x = 7696, - z = 4720, - facing = 3, - }, - { - name = "hoverskirm", - x = 3860, - z = 4645, - facing = 2, - }, - { - name = "staticcon", - x = 7880, - z = 4616, - facing = 3, - }, - { - name = "staticmex", - x = 4904, - z = 2328, - facing = 0, - }, - { - name = "energysolar", - x = 4888, - z = 2392, - facing = 0, - }, - { - name = "energysolar", - x = 7816, - z = 4504, - facing = 3, - }, - { - name = "hovercon", - x = 3632, - z = 4805, - facing = 2, - }, - { - name = "energysolar", - x = 7944, - z = 4552, - facing = 3, - }, - { - name = "hovercon", - x = 5162, - z = 2533, - facing = 2, - }, - { - name = "energysolar", - x = 7896, - z = 4472, - facing = 3, - }, - { - name = "staticcon", - x = 7832, - z = 4664, - facing = 3, - }, - { - name = "energysolar", - x = 4968, - z = 2296, - facing = 0, - }, - { - name = "hoverskirm", - x = 4797, - z = 4853, - facing = 2, - }, - { - name = "hoverraid", - x = 6119, - z = 3511, - facing = 3, - }, - { - name = "energysolar", - x = 7560, - z = 4744, - facing = 3, - }, - { - name = "energysolar", - x = 7976, - z = 4472, - facing = 3, - }, - { - name = "hoverriot", - x = 5636, - z = 3383, - facing = 0, - }, - { - name = "hoverriot", - x = 6343, - z = 3669, - facing = 2, - }, - { - name = "energysolar", - x = 4840, - z = 2312, - facing = 0, - }, - { - name = "hovercon", - x = 5453, - z = 4643, - facing = 0, - }, - { - name = "energysolar", - x = 7576, - z = 4824, - facing = 3, - }, - { - name = "hovercon", - x = 6819, - z = 3979, - facing = 3, - }, - { - name = "hoverskirm", - x = 3453, - z = 4855, - facing = 2, - }, - { - name = "hovercon", - x = 5358, - z = 4686, - facing = 1, - }, - { - name = "factoryhover", - x = 5344, - z = 4784, - facing = 3, - }, - { - name = "hoverriot", - x = 6359, - z = 3629, - facing = 3, - }, - { - name = "hoveraa", - x = 3366, - z = 4850, - facing = 2, - }, - { - name = "energysolar", - x = 4344, - z = 5896, - facing = 2, - }, - { - name = "energysolar", - x = 7640, - z = 4184, - facing = 3, - }, - { - name = "hovercon", - x = 4291, - z = 4231, - facing = 3, - }, - { - name = "hoverraid", - x = 3484, - z = 6234, - facing = 1, - }, - { - name = "turretlaser", - x = 5024, - z = 2416, - facing = 0, - }, - { - name = "hoverraid", - x = 5378, - z = 3156, - facing = 2, - }, - { - name = "turretmissile", - x = 5184, - z = 2688, - facing = 0, - }, - { - name = "hovercon", - x = 7168, - z = 4299, - facing = 3, - }, - { - name = "hoveraa", - x = 7696, - z = 4560, - facing = 3, - buildProgress = 0.75709999, - }, - { - name = "hoveraa", - x = 5344, - z = 4784, - facing = 3, - buildProgress = 0.13330001, - }, - { - name = "staticcon", - x = 5128, - z = 2408, - facing = 0, - buildProgress = 0.0333, - }, - { -- corresponds to Team 4 - name = "staticmex", - x = 5880, - z = 6200, - facing = 0, - }, - { - name = "factoryspider", - x = 5992, - z = 5944, - facing = 1, - }, - { - name = "energysolar", - x = 5928, - z = 6136, - facing = 2, - }, - { - name = "staticmex", - x = 6088, - z = 6936, - facing = 0, - }, - { - name = "turretlaser", - x = 5856, - z = 5888, - facing = 2, - }, - { - name = "staticmex", - x = 5128, - z = 5624, - facing = 0, - }, - { - name = "spiderriot", - x = 5073, - z = 5180, - facing = 3, - }, - { - name = "staticradar", - x = 5840, - z = 6176, - facing = 2, - }, - { - name = "energysolar", - x = 5816, - z = 6264, - facing = 2, - }, - { - name = "staticmex", - x = 4168, - z = 7000, - facing = 0, - }, - { - name = "energysolar", - x = 5896, - z = 6264, - facing = 2, - }, - { - name = "spidercon", - x = 4110, - z = 4511, - facing = 2, - }, - { - name = "energysolar", - x = 6008, - z = 6152, - facing = 2, - }, - { - name = "spidercon", - x = 4501, - z = 5984, - facing = 3, - }, - { - name = "staticheavyradar", - x = 6144, - z = 4784, - facing = 0, - }, - { - name = "spiderskirm", - x = 3857, - z = 4190, - facing = 1, - }, - { - name = "spiderskirm", - x = 3980, - z = 4518, - facing = 3, - }, - { - name = "staticmex", - x = 4840, - z = 6280, - facing = 0, - }, - { - name = "energysolar", - x = 4232, - z = 5976, - facing = 2, - }, - { - name = "staticcon", - x = 5832, - z = 5928, - facing = 2, - }, - { - name = "energysolar", - x = 5752, - z = 6184, - facing = 2, - }, - { - name = "staticmex", - x = 3304, - z = 5656, - facing = 0, - }, - { - name = "spideraa", - x = 3802, - z = 4895, - facing = 2, - }, - { - name = "energysolar", - x = 4216, - z = 5896, - facing = 2, - }, - { - name = "energysolar", - x = 5976, - z = 6232, - facing = 2, - }, - { - name = "turretlaser", - x = 5984, - z = 5792, - facing = 2, - }, - { - name = "energysolar", - x = 4792, - z = 6392, - facing = 2, - }, - { - name = "energysolar", - x = 4888, - z = 4696, - facing = 2, - }, - { - name = "staticcon", - x = 5880, - z = 5944, - facing = 2, - }, - { - name = "spiderskirm", - x = 4204, - z = 4295, - facing = 2, - }, - { - name = "energysolar", - x = 5192, - z = 5624, - facing = 2, - }, - { - name = "energysolar", - x = 4152, - z = 5976, - facing = 2, - }, - { - name = "spiderscout", - x = 3824, - z = 4905, - facing = 2, - }, - { - name = "spiderscout", - x = 4616, - z = 3378, - facing = 2, - }, - { - name = "energysolar", - x = 4776, - z = 6312, - facing = 2, - }, - { - name = "spiderscout", - x = 4229, - z = 1564, - facing = 1, - }, - { - name = "spidercon", - x = 6415, - z = 5647, - facing = 2, - }, - { - name = "energysolar", - x = 4312, - z = 5976, - facing = 2, - }, - { - name = "staticcon", - x = 5896, - z = 5896, - facing = 2, - }, - { - name = "spideraa", - x = 3472, - z = 5508, - facing = 2, - }, - { - name = "spiderscout", - x = 3770, - z = 710, - facing = 3, - }, - { - name = "staticradar", - x = 4352, - z = 6880, - facing = 2, - }, - { - name = "spiderscout", - x = 3969, - z = 1507, - facing = 0, - }, - { - name = "energysolar", - x = 3368, - z = 5624, - facing = 2, - }, - { - name = "energysolar", - x = 5848, - z = 6088, - facing = 2, - }, - { - name = "spiderassault", - x = 3276, - z = 5142, - facing = 3, - }, - { - name = "spidercon", - x = 2599, - z = 5477, - facing = 1, - }, - { - name = "energysolar", - x = 5736, - z = 6264, - facing = 2, - }, - { - name = "spiderskirm", - x = 4519, - z = 4708, - facing = 3, - }, - { - name = "spidercon", - x = 3840, - z = 4883, - facing = 1, - }, - { - name = "staticradar", - x = 7488, - z = 6576, - facing = 3, - }, - { - name = "spideraa", - x = 4916, - z = 5761, - facing = 3, - }, - { - name = "spideraa", - x = 3457, - z = 5570, - facing = 2, - }, - { - name = "energysolar", - x = 4200, - z = 6936, - facing = 2, - }, - { - name = "energysolar", - x = 4904, - z = 6312, - facing = 2, - }, - { - name = "energysolar", - x = 5784, - z = 6392, - facing = 2, - }, - { - name = "spiderscout", - x = 4127, - z = 1556, - facing = 0, - }, - { - name = "spiderscout", - x = 4119, - z = 1622, - facing = 0, - }, - { - name = "spiderscout", - x = 4120, - z = 1282, - facing = 0, - }, - { - name = "spiderscout", - x = 3975, - z = 905, - facing = 2, - }, - { - name = "spiderscout", - x = 4111, - z = 1675, - facing = 0, - }, - { - name = "factoryspider", - x = 4280, - z = 4584, - facing = 2, - }, - { - name = "spiderscout", - x = 3984, - z = 934, - facing = 3, - }, - { - name = "spidercon", - x = 5269, - z = 4518, - facing = 2, - }, - { - name = "energysolar", - x = 4840, - z = 6216, - facing = 2, - }, - { - name = "spidercon", - x = 6051, - z = 6072, - facing = 2, - }, - { - name = "spiderskirm", - x = 5883, - z = 6007, - facing = 3, - }, - { - name = "energysolar", - x = 5976, - z = 6312, - facing = 2, - }, - { - name = "spidercon", - x = 6028, - z = 5944, - facing = 1, - buildProgress = 0.59630001, - }, - { - name = "spidercon", - x = 4280, - z = 4548, - facing = 2, - buildProgress = 0.0983, - }, - }, - }, - { - startX = 1200, - startZ = 1200, - aiLib = "Circuit_difficulty_autofill", - humanName = "Enemy", - bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "turretlaser", - "turretmissile", - "turretriot", - "turretheavylaser", - "turretaalaser", - "staticradar", - "staticmex", - "staticcon", - "staticstorage", - "energypylon", - "energysolar", - "factorygunship", - "gunshipcon", - "gunshipbomb", - "gunshipemp", - "gunshipheavyskirm", - "gunshipraid", - "gunshipassault", - "gunshipaa", - "gunshipskirm", - "factoryveh", - "vehcon", - "vehscout", - "vehraid", - "vehassault", - "vehriot", - "vehsupport", - "veharty", - "vehheavyarty", - "vehaa", - "factoryshield", - "shieldcon", - "shieldraid", - "shieldassault", - "shieldskirm", - "shieldarty", - "shieldfelon", - "shieldaa", - "factorytank", - "tankcon", - "tankraid", - "tankheavyraid", - "tankriot", - "tankassault", - "tankheavyassault", - "tankarty", - "tankaa" - }, - difficultyDependantUnlocks = { - [2] = {"shieldriot"}, - [3] = {"shieldriot","shieldbomb"}, - [4] = {"shieldriot","shieldbomb"}, - }, - commanderLevel = 1, - commander = { - name = "Labrador", - chassis = "engineer", - decorations = {}, - modules = { - { - "commweapon_shotgun", - "module_radarnet" - }, - }, - }, - startUnits = { - { - name = "staticantinuke", - x = 730, - z = 1535, - facing = 0, - }, - { - name = "staticheavyradar", - x = 2208, - z = 2192, - facing = 0, - }, - { - name = "staticheavyarty", - x = 2064, - z = 2336, - facing = 0, - }, - { - name = "turretlaser", - x = 1964, - z = 2236, - facing = 2, - difficultyAtMost = 1, - difficultyAtLeast = 1, - }, - { - name = "turretlaser", - x = 2164, - z = 2136, - facing = 2, - difficultyAtMost = 2, - difficultyAtLeast = 2, - }, - { - name = "turretlaser", - x = 1964, - z = 2336, - facing = 2, - difficultyAtMost = 3, - difficultyAtLeast = 2, - }, - { - name = "turretriot", - x = 2164, - z = 2136, - facing = 2, - difficultyAtLeast = 3, - }, - { - name = "turretriot", - x = 1964, - z = 2336, - facing = 2, - difficultyAtLeast = 4, - }, - { - name = "staticstorage", - x = 100, - z = 6300, - facing = 0, - }, - { - name = "staticstorage", - x = 100, - z = 4500, - facing = 0, - }, - { - name = "staticstorage", - x = 100, - z = 3000, - facing = 0, - }, - { - name = "energypylon", - x = 2920, - z = 2680, - facing = 0, - }, - { - name = "energypylon", - x = 2500, - z = 3160, - facing = 0, - }, - { - name = "energypylon", - x = 2400, - z = 3750, - facing = 0, - }, - { - name = "energypylon", - x = 2000, - z = 2600, - facing = 0, - }, - { - name = "energypylon", - x = 1100, - z = 2600, - facing = 0, - }, - { - name = "energypylon", - x = 400, - z = 2400, - facing = 0, - }, - { - name = "energypylon", - x = 1900, - z = 4000, - facing = 0, - }, - { - name = "energypylon", - x = 1500, - z = 4700, - facing = 0, - }, - { - name = "energyfusion", - x = 1700, - z = 4800, - facing = 0, - }, - { - name = "energyfusion", - x = 1440, - z = 5100, - facing = 0, - }, - { - name = "energyfusion", - x = 120, - z = 2600, - facing = 0, - }, - { - name = "energyfusion", - x = 120, - z = 2750, - facing = 0, - }, - { - name = "turretsunlance", - x = 3376, - z = 2848, - facing = 0, - --bonusObjectiveID = 3, - }, - { - name = "turretsunlance", - x = 2688, - z = 4160, - facing = 0, - --bonusObjectiveID = 3, - }, - { -- corresponds to Team 5 - name = "factorygunship", - x = 1240, - z = 6936, - facing = 0, - }, - { - name = "gunshipaa", - x = 4755, - z = 2965, - facing = 1, - }, - { - name = "staticmex", - x = 472, - z = 6664, - facing = 0, - }, - { - name = "gunshipaa", - x = 2282, - z = 6426, - facing = 1, - }, - { - name = "energysolar", - x = 408, - z = 6696, - facing = 1, - }, - { - name = "energysolar", - x = 456, - z = 6600, - facing = 1, - }, - { - name = "staticmex", - x = 712, - z = 6376, - facing = 0, - }, - { - name = "staticmex", - x = 392, - z = 6152, - facing = 0, - }, - { - name = "turretlaser", - x = 1104, - z = 6880, - facing = 2, - }, - { - name = "gunshipskirm", - x = 2237, - z = 5386, - facing = 1, - }, - { - name = "turretlaser", - x = 1344, - z = 5328, - facing = 1, - }, - { - name = "staticmex", - x = 2248, - z = 6424, - facing = 0, - }, - { - name = "staticradar", - x = 1344, - z = 5504, - facing = 1, - }, - { - name = "gunshipaa", - x = 2185, - z = 6143, - facing = 3, - }, - { - name = "energysolar", - x = 728, - z = 6440, - facing = 1, - }, - { - name = "energysolar", - x = 808, - z = 6408, - facing = 1, - }, - { - name = "energysolar", - x = 760, - z = 6248, - facing = 1, - }, - { - name = "energysolar", - x = 648, - z = 6424, - facing = 1, - }, - { - name = "gunshipskirm", - x = 2161, - z = 5216, - facing = 0, - }, - { - name = "turretlaser", - x = 1232, - z = 6784, - facing = 2, - }, - { - name = "turretlaser", - x = 2928, - z = 6528, - facing = 2, - }, - { - name = "energysolar", - x = 2808, - z = 2712, - facing = 1, - }, - { - name = "energysolar", - x = 648, - z = 6344, - facing = 1, - }, - { - name = "staticcon", - x = 1160, - z = 6744, - facing = 2, - }, - { - name = "gunshipskirm", - x = 2215, - z = 4925, - facing = 0, - }, - { - name = "turretlaser", - x = 416, - z = 4448, - facing = 1, - }, - { - name = "gunshipcon", - x = 2762, - z = 1841, - facing = 2, - }, - { - name = "gunshipcon", - x = 1196, - z = 5911, - facing = 2, - }, - { - name = "staticradar", - x = 2752, - z = 6528, - facing = 2, - }, - { - name = "gunshipaa", - x = 2210, - z = 6225, - facing = 1, - }, - { - name = "energysolar", - x = 2984, - z = 6552, - facing = 2, - }, - { - name = "energysolar", - x = 2968, - z = 6424, - facing = 2, - }, - { - name = "energysolar", - x = 776, - z = 6328, - facing = 1, - }, - { - name = "gunshipaa", - x = 2089, - z = 6259, - facing = 0, - }, - { - name = "energysolar", - x = 312, - z = 4280, - facing = 1, - }, - { - name = "energysolar", - x = 2872, - z = 6520, - facing = 2, - }, - { - name = "staticmex", - x = 2984, - z = 6488, - facing = 0, - }, - { - name = "turretlaser", - x = 736, - z = 2528, - facing = 1, - }, - { - name = "turretlaser", - x = 1280, - z = 2352, - facing = 1, - }, - { - name = "staticcon", - x = 1416, - z = 6888, - facing = 2, - }, - { - name = "turretmissile", - x = 1744, - z = 6496, - facing = 2, - }, - { - name = "turretlaser", - x = 3152, - z = 2624, - facing = 0, - }, - { - name = "turretmissile", - x = 1744, - z = 6384, - facing = 2, - }, - { - name = "turretlaser", - x = 2736, - z = 1712, - facing = 0, - buildProgress = 0.0361, - }, - { -- corresponds to Team 6 - name = "staticmex", - x = 664, - z = 4760, - facing = 0, - }, - { - name = "factoryveh", - x = 600, - z = 4568, - facing = 1, - }, - { - name = "staticmex", - x = 696, - z = 4232, - facing = 0, - }, - { - name = "energysolar", - x = 744, - z = 4136, - facing = 1, - }, - { - name = "energysolar", - x = 1224, - z = 5048, - facing = 1, - }, - { - name = "vehcon", - x = 4247, - z = 1779, - facing = 3, - }, - { - name = "energysolar", - x = 600, - z = 4808, - facing = 1, - }, - { - name = "energysolar", - x = 728, - z = 4744, - facing = 1, - }, - { - name = "vehcon", - x = 3721, - z = 2369, - facing = 1, - }, - { - name = "staticmex", - x = 1160, - z = 5096, - facing = 0, - }, - { - name = "vehassault", - x = 3611, - z = 2861, - facing = 3, - }, - { - name = "vehassault", - x = 3707, - z = 3473, - facing = 1, - }, - { - name = "turretlaser", - x = 528, - z = 4432, - facing = 1, - }, - { - name = "staticmex", - x = 1512, - z = 5576, - facing = 0, - }, - { - name = "energysolar", - x = 1544, - z = 5640, - facing = 1, - }, - { - name = "energysolar", - x = 1144, - z = 5160, - facing = 1, - }, - { - name = "staticmex", - x = 1896, - z = 4376, - facing = 0, - }, - { - name = "energysolar", - x = 808, - z = 4744, - facing = 1, - }, - { - name = "staticmex", - x = 2472, - z = 4648, - facing = 0, - }, - { - name = "vehcon", - x = 2958, - z = 4663, - facing = 1, - }, - { - name = "staticcon", - x = 488, - z = 4552, - facing = 1, - }, - { - name = "energysolar", - x = 760, - z = 4216, - facing = 1, - }, - { - name = "energysolar", - x = 2472, - z = 4584, - facing = 1, - }, - { - name = "turretlaser", - x = 448, - z = 4560, - facing = 1, - }, - { - name = "energysolar", - x = 712, - z = 4824, - facing = 1, - }, - { - name = "energysolar", - x = 1096, - z = 5080, - facing = 1, - }, - { - name = "vehaa", - x = 3208, - z = 5321, - facing = 3, - }, - { - name = "staticcon", - x = 456, - z = 4600, - facing = 1, - }, - { - name = "energysolar", - x = 376, - z = 6088, - facing = 1, - }, - { - name = "veharty", - x = 2906, - z = 4507, - facing = 1, - }, - { - name = "turretlaser", - x = 2048, - z = 3088, - facing = 1, - }, - { - name = "turretmissile", - x = 2880, - z = 3744, - facing = 1, - }, - { - name = "vehaa", - x = 3354, - z = 5219, - facing = 2, - }, - { - name = "vehraid", - x = 843, - z = 4423, - facing = 1, - }, - { - name = "energysolar", - x = 456, - z = 6088, - facing = 1, - }, - { - name = "energysolar", - x = 2856, - z = 3896, - facing = 1, - }, - { - name = "energysolar", - x = 456, - z = 6168, - facing = 1, - }, - { - name = "vehaa", - x = 1016, - z = 4576, - facing = 3, - }, - { - name = "staticcon", - x = 440, - z = 4520, - facing = 1, - }, - { - name = "turretlaser", - x = 336, - z = 6272, - facing = 1, - }, - { - name = "staticcon", - x = 2712, - z = 3592, - facing = 1, - }, - { - name = "staticradar", - x = 432, - z = 6336, - facing = 1, - }, - { - name = "vehassault", - x = 2397, - z = 4280, - facing = 1, - }, - { - name = "turretmissile", - x = 2768, - z = 3760, - facing = 1, - }, - { - name = "wolverine_mine", - x = 3896, - z = 5016, - facing = 0, - }, - { - name = "vehassault", - x = 4283, - z = 2394, - facing = 3, - }, - { - name = "turretmissile", - x = 2832, - z = 3568, - facing = 1, - }, - { - name = "turretriot", - x = 3048, - z = 3544, - facing = 1, - }, - { - name = "energysolar", - x = 3016, - z = 3448, - facing = 1, - }, - { - name = "wolverine_mine", - x = 3224, - z = 4056, - facing = 0, - }, - { - name = "wolverine_mine", - x = 3432, - z = 3752, - facing = 0, - }, - { - name = "vehriot", - x = 2553, - z = 4542, - facing = 1, - }, - { - name = "vehcon", - x = 763, - z = 3956, - facing = 2, - }, - { - name = "vehcon", - x = 937, - z = 4577, - facing = 1, - }, - { - name = "vehscout", - x = 2489, - z = 4930, - facing = 0, - }, - { - name = "vehassault", - x = 626, - z = 4568, - facing = 1, - buildProgress = 0.65460002, - }, - { -- Corresponds to Team 7 - name = "factorytank", - x = 672, - z = 2736, - facing = 1, - }, - { - name = "staticmex", - x = 328, - z = 2616, - facing = 0, - }, - { - name = "tankcon", - x = 3338, - z = 4081, - facing = 2, - }, - { - name = "staticmex", - x = 632, - z = 2984, - facing = 0, - }, - { - name = "energysolar", - x = 696, - z = 2968, - facing = 1, - }, - { - name = "turretlaser", - x = 512, - z = 2736, - facing = 1, - }, - { - name = "tankraid", - x = 3586, - z = 1605, - facing = 0, - }, - { - name = "staticmex", - x = 696, - z = 2328, - facing = 0, - }, - { - name = "staticmex", - x = 2104, - z = 3160, - facing = 0, - }, - { - name = "energysolar", - x = 632, - z = 2328, - facing = 1, - }, - { - name = "energysolar", - x = 664, - z = 2408, - facing = 1, - }, - { - name = "energysolar", - x = 2104, - z = 3096, - facing = 1, - }, - { - name = "tankcon", - x = 3912, - z = 2847, - facing = 1, - }, - { - name = "staticmex", - x = 1304, - z = 2296, - facing = 0, - }, - { - name = "energysolar", - x = 1368, - z = 2280, - facing = 1, - }, - { - name = "staticradar", - x = 2048, - z = 3200, - facing = 1, - }, - { - name = "tankriot", - x = 1080, - z = 2849, - facing = 2, - }, - { - name = "staticcon", - x = 552, - z = 2728, - facing = 1, - }, - { - name = "turretlaser", - x = 672, - z = 2912, - facing = 1, - }, - { - name = "tankcon", - x = 4149, - z = 2880, - facing = 1, - }, - { - name = "tankassault", - x = 2571, - z = 3718, - facing = 3, - }, - { - name = "staticmex", - x = 296, - z = 4344, - facing = 0, - }, - { - name = "staticmex", - x = 2744, - z = 2744, - facing = 0, - }, - { - name = "energysolar", - x = 248, - z = 4408, - facing = 1, - }, - { - name = "energysolar", - x = 232, - z = 4328, - facing = 1, - }, - { - name = "staticmex", - x = 2904, - z = 3960, - facing = 0, - }, - { - name = "staticmex", - x = 3000, - z = 3384, - facing = 0, - }, - { - name = "energysolar", - x = 3064, - z = 3352, - facing = 1, - }, - { - name = "tankassault", - x = 1308, - z = 3374, - facing = 3, - }, - { - name = "energysolar", - x = 2936, - z = 3384, - facing = 1, - }, - { - name = "energysolar", - x = 2136, - z = 3224, - facing = 1, - }, - { - name = "tankaa", - x = 4689, - z = 3111, - facing = 1, - }, - { - name = "energysolar", - x = 2728, - z = 2680, - facing = 1, - }, - { - name = "energysolar", - x = 568, - z = 2952, - facing = 1, - }, - { - name = "energysolar", - x = 1960, - z = 4376, - facing = 1, - }, - { - name = "energysolar", - x = 2648, - z = 2680, - facing = 1, - }, - { - name = "energysolar", - x = 648, - z = 3048, - facing = 1, - }, - { - name = "staticcon", - x = 504, - z = 2696, - facing = 1, - }, - { - name = "tankassault", - x = 3162, - z = 1656, - facing = 1, - }, - { - name = "turretaalaser", - x = 2984, - z = 3816, - facing = 1, - }, - { - name = "tankcon", - x = 1753, - z = 4261, - facing = 0, - }, - { - name = "tankcon", - x = 2480, - z = 2170, - facing = 2, - }, - { - name = "turretaalaser", - x = 4088, - z = 2792, - facing = 0, - }, - { - name = "staticcon", - x = 552, - z = 2680, - facing = 1, - }, - { - name = "tankassault", - x = 696, - z = 2736, - facing = 1, - buildProgress = 0.90759999, - }, - { - name = "turretlaser", - x = 4080, - z = 2912, - facing = 0, - buildProgress = 0.61110002, - }, - { - name = "energysolar", - x = 1832, - z = 4392, - facing = 1, - buildProgress = 0, - }, - { -- Corresponds to Team 8 - name = "staticmex", - x = 888, - z = 728, - facing = 0, - }, - { - name = "factoryshield", - x = 960, - z = 768, - facing = 1, - }, - { - name = "shieldcon", - x = 2420, - z = 1421, - facing = 1, - }, - { - name = "staticmex", - x = 456, - z = 584, - facing = 0, - }, - { - name = "shieldbomb", - x = 1613, - z = 1045, - facing = 1, - }, - { - name = "energysolar", - x = 520, - z = 568, - facing = 1, - }, - { - name = "staticmex", - x = 872, - z = 376, - facing = 0, - }, - { - name = "shieldriot", - x = 3233, - z = 2302, - facing = 1, - }, - { - name = "energysolar", - x = 392, - z = 568, - facing = 1, - }, - { - name = "staticradar", - x = 864, - z = 608, - facing = 1, - }, - { - name = "shieldcon", - x = 4208, - z = 2899, - facing = 1, - }, - { - name = "turretlaser", - x = 960, - z = 912, - facing = 1, - }, - { - name = "shieldaa", - x = 1793, - z = 738, - facing = 3, - }, - { - name = "shieldcon", - x = 3596, - z = 1359, - facing = 3, - }, - { - name = "energysolar", - x = 824, - z = 776, - facing = 1, - }, - { - name = "energysolar", - x = 2056, - z = 280, - facing = 0, - }, - { - name = "energysolar", - x = 824, - z = 696, - facing = 1, - }, - { - name = "energysolar", - x = 872, - z = 856, - facing = 1, - }, - { - name = "staticcon", - x = 808, - z = 840, - facing = 1, - }, - { - name = "shieldaa", - x = 3475, - z = 1374, - facing = 3, - }, - { - name = "staticmex", - x = 2328, - z = 984, - facing = 0, - }, - { - name = "energysolar", - x = 2264, - z = 1016, - facing = 0, - }, - { - name = "staticmex", - x = 2504, - z = 1880, - facing = 0, - }, - { - name = "shieldaa", - x = 3513, - z = 1376, - facing = 3, - }, - { - name = "shieldaa", - x = 3782, - z = 1370, - facing = 3, - }, - { - name = "factoryshield", - x = 2528, - z = 1456, - facing = 0, - buildProgress = 0.1794, - }, - { - name = "staticradar", - x = 4112, - z = 2720, - facing = 0, - }, - { - name = "shieldassault", - x = 3533, - z = 1904, - facing = 2, - }, - { - name = "energysolar", - x = 952, - z = 600, - facing = 1, - }, - { - name = "turretlaser", - x = 1008, - z = 624, - facing = 1, - }, - { - name = "shieldassault", - x = 3621, - z = 1182, - facing = 1, - }, - { - name = "shieldaa", - x = 3703, - z = 1372, - facing = 3, - }, - { - name = "energysolar", - x = 776, - z = 616, - facing = 1, - }, - { - name = "shieldarty", - x = 2615, - z = 871, - facing = 0, - }, - { - name = "staticcon", - x = 760, - z = 792, - facing = 1, - }, - { - name = "energysolar", - x = 744, - z = 728, - facing = 1, - }, - { - name = "shieldassault", - x = 2814, - z = 902, - facing = 0, - }, - { - name = "shieldcon", - x = 4068, - z = 2624, - facing = 3, - }, - { - name = "shieldraid", - x = 4305, - z = 1369, - facing = 3, - }, - { - name = "shieldaa", - x = 3573, - z = 1377, - facing = 3, - }, - { - name = "shieldassault", - x = 3664, - z = 1504, - facing = 1, - }, - { - name = "shieldaa", - x = 3541, - z = 1374, - facing = 3, - }, - { - name = "shieldaa", - x = 3599, - z = 1385, - facing = 3, - }, - { - name = "shieldfelon", - x = 1388, - z = 1154, - facing = 1, - }, - { - name = "shieldaa", - x = 3626, - z = 1375, - facing = 3, - }, - { - name = "shieldassault", - x = 2727, - z = 928, - facing = 0, - }, - { - name = "staticmex", - x = 3336, - z = 2424, - facing = 0, - }, - { - name = "shieldcon", - x = 2457, - z = 1375, - facing = 0, - }, - { - name = "shieldcon", - x = 2446, - z = 1414, - facing = 1, - }, - { - name = "shieldassault", - x = 3062, - z = 1022, - facing = 0, - }, - { - name = "shieldcon", - x = 2429, - z = 988, - facing = 0, - }, - { - name = "turretmissile", - x = 3680, - z = 2496, - facing = 0, - }, - { - name = "staticmex", - x = 4200, - z = 2824, - facing = 0, - }, - { - name = "staticradar", - x = 640, - z = 2528, - facing = 1, - }, - { - name = "shieldraid", - x = 3486, - z = 1619, - facing = 0, - }, - { - name = "shieldraid", - x = 2995, - z = 2195, - facing = 1, - }, - { - name = "shieldraid", - x = 3296, - z = 1371, - facing = 1, - }, - { - name = "staticmex", - x = 2120, - z = 248, - facing = 0, - }, - { - name = "staticmex", - x = 3928, - z = 1256, - facing = 0, - }, - { - name = "shieldcon", - x = 1009, - z = 782, - facing = 0, - }, - }, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "staticheavyarty", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy the Big Bertha cannon", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - - [1] = { -- Build 12 Scythes - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 18, - unitTypes = { - "cloakheavyraid", - }, - image = planetUtilities.ICON_DIR .. "cloakheavyraid.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 12 Scythes", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { - victoryByTime = 600, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 10:00", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Make the enemy lose one Sunlance by 8:00 - onlyCountRemovedUnits = true, - satisfyByTime = 480, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - enemyUnitTypes = { - "turretsunlance", - }, - image = planetUtilities.ICON_DIR .. "turretsunlance.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy one of the enemy Sunlance turrets by 8:00", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cloakheavyraid", - }, - modules = { - "module_high_power_servos_LIMIT_D_2", - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet - diff --git a/campaign/dev/planets/planet9.lua b/campaign/dev/planets/planet9.lua deleted file mode 100644 index 6d9891e64..000000000 --- a/campaign/dev/planets/planet9.lua +++ /dev/null @@ -1,690 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - --local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - local image = LUA_DIRNAME .. "images/planets/desert02.png" - - local planetData = { - name = "Happika", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.11, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.42, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Desert", - radius = "6600 km", - primary = "Xar", - primaryType = "B2Ia", - milRating = 1, - feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = [[Besides the occasional strange hills dotting the landscape, this is a smooth and level battlefield. Your opponent has arrived before you and has begun expanding their economy. Use your Scorchers to punish their greed.]] - }, - tips = { - { - image = "unitpics/vehraid.png", - text = [[The heatray weapon of the Scorcher does little damage at a distance and massive damage at close range. Move them right next to an enemy unit and watch it melt.]] - }, - { - image = "unitpics/vehriot.png", - text = [[Rippers have low damage for a riot but make up for it with impressive speed and area of effect. They are very effective as escorts for other Rovers against raiders.]] - }, - { - image = "unitpics/vehassault.png", - text = [[Ravagers are a fast assault unit that are even capable of outrunning some factory's raiders. They give up some of their toughness to achieve this.]] - }, - }, - gameConfig = { - mapName = "AlienDesert", - playerConfig = { - startX = 1475, - startZ = 400, - allyTeam = 0, - useUnlocks = true, - commanderParameters = { - facplop = false, - facing = 0, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryveh", - "vehcon", - "vehraid", - "vehriot", - "vehassault", - }, - startUnits = { - { - name = "factoryveh", - x = 1688, - z = 312, - facing = 0, - }, - { - name = "vehcon", - x = 1475, - z = 550, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {1550, 270}}, - {cmdID = planetUtilities.COMMAND.GUARD, atPosition = {1688, 312}, options = {"shift"}} - }, - }, - { - name = "vehraid", - x = 1200, - z = 550, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {200, 2300}}, - }, - }, - { - name = "vehraid", - x = 1300, - z = 550, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {300, 2300}}, - }, - }, - { - name = "vehraid", - x = 1200, - z = 650, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {400, 2300}}, - }, - }, - { - name = "vehraid", - x = 1300, - z = 650, - facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {500, 2300}}, - }, - }, - { - name = "vehraid", - x = 1650, - z = 550, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {4300,800}}, - }, - }, - { - name = "vehraid", - x = 1650, - z = 650, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {4300,900}}, - }, - }, - { - name = "vehraid", - x = 1750, - z = 550, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {4300,1000}}, - }, - }, - { - name = "vehraid", - x = 1750, - z = 650, - facing = 1, - commands = { - {cmdID = planetUtilities.COMMAND.RAW_MOVE, pos = {4300,1100}}, - }, - }, - { - name = "staticradar", - x = 2016, - z = 928, - facing = 0, - }, - { - name = "staticmex", - x = 1560, - z = 952, - facing = 0, - }, - { - name = "staticmex", - x = 2152, - z = 440, - facing = 0, - }, - { - name = "staticmex", - x = 2536, - z = 232, - facing = 0, - }, - { - name = "staticmex", - x = 376, - z = 856, - facing = 0, - }, - { - name = "energysolar", - x = 2600, - z = 40, - facing = 0, - }, - { - name = "energysolar", - x = 2600, - z = 120, - facing = 0, - }, - { - name = "staticmex", - x = 72, - z = 952, - facing = 0, - }, - { - name = "energysolar", - x = 2600, - z = 200, - facing = 0, - }, - { - name = "energysolar", - x = 136, - z = 936, - facing = 0, - }, - { - name = "energysolar", - x = 56, - z = 1016, - facing = 0, - }, - { - name = "energysolar", - x = 2216, - z = 456, - facing = 0, - }, - { - name = "energysolar", - x = 2136, - z = 504, - facing = 0, - }, - { - name = "energysolar", - x = 1624, - z = 936, - facing = 0, - }, - { - name = "energysolar", - x = 1576, - z = 1016, - facing = 0, - }, - { - name = "energysolar", - x = 1496, - z = 1016, - facing = 0, - }, - { - name = "turretlaser", - x = 1520, - z = 960, - facing = 0, - }, - { - name = "turretmissile", - x = 336, - z = 1104, - facing = 0, - }, - { - name = "turretlaser", - x = 2112, - z = 448, - facing = 0, - }, - { - name = "turretmissile", - x = 272, - z = 1120, - facing = 0, - }, - { - name = "turretlaser", - x = 2544, - z = 192, - facing = 0, - }, - { - name = "staticradar", - x = 288, - z = 1072, - facing = 0, - }, - }, - }, - aiConfig = { - { - startX = 4904, - startZ = 3500, - aiLib = "Circuit_difficulty_autofill", - humanName = "Chamagut", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "vehraid", - "vehassault", - "vehriot", - "vehaa", - "turretmissile", - "energysolar", - "staticradar", - }, - difficultyDependantUnlocks = { - [2] = {"staticmex"}, - [3] = {"staticmex","turretlaser"}, - [4] = {"staticmex","turretlaser"}, - }, - commanderLevel = 3, - commander = { - name = "Yuni Sellis", - chassis = "assault", - decorations = { - }, - modules = { - "commweapon_heavymachinegun", - "module_dmg_booster", - "module_ablative_armor", - "module_autorepair", - } - }, - startUnits = { - { - name = "staticmex", - x = 5128, - z = 600, - facing = 0, - }, - { - name = "staticmex", - x = 5288, - z = 328, - facing = 0, - }, - { - name = "staticmex", - x = 5896, - z = 1016, - facing = 0, - }, - { - name = "staticmex", - x = 6008, - z = 1144, - facing = 0, - }, - { - name = "staticmex", - x = 152, - z = 3000, - facing = 0, - }, - { - name = "staticmex", - x = 248, - z = 3144, - facing = 0, - }, - { - name = "staticmex", - x = 872, - z = 3832, - facing = 0, - }, - { - name = "staticmex", - x = 1016, - z = 3544, - facing = 0, - }, - { - name = "staticmex", - x = 3624, - z = 3928, - facing = 0, - }, - { - name = "staticmex", - x = 3992, - z = 3720, - facing = 0, - }, - { - name = "staticmex", - x = 4600, - z = 3208, - facing = 0, - }, - { - name = "staticmex", - x = 5896, - z = 3304, - facing = 0, - }, - { - name = "staticmex", - x = 6104, - z = 3272, - facing = 0, - }, - { - name = "factoryveh", - x = 4904, - z = 3640, - facing = 2, - }, - { - name = "turretlaser", - x = 5536, - z = 3392, - facing = 2, - }, - { - name = "energysolar", - x = 3480, - z = 3976, - facing = 0, - }, - { - name = "energysolar", - x = 3576, - z = 3832, - facing = 0, - }, - { - name = "energysolar", - x = 3704, - z = 3784, - facing = 0, - }, - { - name = "energysolar", - x = 3800, - z = 3704, - facing = 0, - }, - { - name = "energysolar", - x = 3928, - z = 3624, - facing = 0, - }, - { - name = "energysolar", - x = 4504, - z = 3208, - facing = 0, - }, - { - name = "energysolar", - x = 4648, - z = 3112, - facing = 0, - }, - { - name = "energysolar", - x = 5992, - z = 3336, - facing = 0, - }, - { - name = "energysolar", - x = 5880, - z = 1128, - facing = 0, - }, - { - name = "energysolar", - x = 952, - z = 3672, - facing = 0, - }, - { - name = "turretmissile", - x = 640, - z = 3216, - facing = 2, - }, - { - name = "turretmissile", - x = 960, - z = 3328, - facing = 2, - }, - { - name = "turretmissile", - x = 320, - z = 3040, - facing = 2, - }, - { - name = "turretlaser", - x = 5408, - z = 512, - facing = 3, - }, - { - name = "turretlaser", - x = 5904, - z = 864, - facing = 3, - }, - { - name = "turretemp", - x = 4384, - z = 3568, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "turretlaser", - x = 4256, - z = 3664, - facing = 2, - }, - { - name = "turretlaser", - x = 4496, - z = 3456, - facing = 2, - }, - { - name = "turretlaser", - x = 3680, - z = 3936, - facing = 2, - }, - { - name = "turretlaser", - x = 5872, - z = 2944, - facing = 2, - }, - { - name = "staticradar", - x = 5136, - z = 3376, - facing = 0, - }, - { - name = "turretriot", - x = 4904, - z = 3336, - facing = 2, - }, - { - name = "vehassault", - x = 4619, - z = 3745, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 4675, - z = 3755, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "turretemp", - x = 5456, - z = 3488, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "vehassault", - x = 4560, - z = 3743, - facing = 2, - difficultyAtLeast = 2, - }, - { - name = "turretriot", - x = 4920, - z = 3832, - facing = 2, - }, - { - name = "staticstorage", - x = 4872, - z = 4008, - facing = 0, - difficultyAtLeast = 2, - }, - { - name = "staticstorage", - x = 4952, - z = 3992, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "staticcon", - x = 5050, - z = 3700, - facing = 0, - difficultyAtLeast = 3, - }, - { - name = "vehcon", - x = 5050, - z = 3600, - facing = 0, - difficultyAtLeast = 3, - }, - }, - } - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { }, - [1] = { - ignoreUnitLossDefeat = false, - vitalCommanders = false, - vitalUnitTypes = { - "staticmex", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 1, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Destroy all of the enemy Metal Extractors", - }, - [2] = { - description = "Protect your Commander", - }, - }, - bonusObjectiveConfig = { - [1] = { -- Make the enemy lose eight mex by 1:30 - onlyCountRemovedUnits = true, - satisfyByTime = 90, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 8, - enemyUnitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy eight enemy Metal Extractors by 1:30", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Own twelve mex - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 12, - unitTypes = { - "staticmex", - }, - image = planetUtilities.ICON_DIR .. "staticmex.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have twelve Metal Extractors", - experience = planetUtilities.BONUS_EXP, - }, - [3] = { -- Win by 6:00 - victoryByTime = 360, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 6:00", - experience = planetUtilities.BONUS_EXP, - }, - }, - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "factoryveh", - "vehcon", - "vehraid", - "vehriot", - "vehassault", - }, - modules = { - "module_adv_nano_LIMIT_I_1", - }, - codexEntries = { - }, - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/planetblank.lua b/campaign/dev/planets/planetblank.lua deleted file mode 100644 index d189a0a86..000000000 --- a/campaign/dev/planets/planetblank.lua +++ /dev/null @@ -1,97 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - - local planetData = { - name = "Blank", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.05, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.05, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - 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", - milRating = 1, - text = [[...]] - }, - gameConfig = { - mapName = "LowTideV3", - playerConfig = { - startX = 100, - startZ = 100, - allyTeam = 0, - facplop = false, - commanderParameters = { - facplop = false, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factorycloak", - }, - startUnits = { - } - }, - aiConfig = { - { - startX = 4000, - startZ = 75, - aiLib = "Circuit_difficulty_autofill", - humanName = "Enemy", - bitDependant = true, - commanderParameters = { - facplop = false, - }, - allyTeam = 1, - unlocks = { - "cloakraid", - }, - commanderLevel = 2, - commander = { - name = "Most Loyal Opposition", - chassis = "engineer", - decorations = { - "skin_support_dark", - icon_overhead = { image = "UW" } - }, - modules = { } - }, - startUnits = { - } - }, - }, - defeatConditionConfig = { - - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - }, - bonusObjectiveConfig = { - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - }, - modules = { - }, - abilities = { - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/planets/sample_planet.lua b/campaign/dev/planets/sample_planet.lua deleted file mode 100644 index 22c3a9a99..000000000 --- a/campaign/dev/planets/sample_planet.lua +++ /dev/null @@ -1,479 +0,0 @@ --------------------------------------------------------------------------------- --------------------------------------------------------------------------------- --- Planet config - -local function GetPlanet(planetUtilities, planetID) - - local image = planetUtilities.planetImages[math.floor(math.random()*#planetUtilities.planetImages) + 1] - - local planetData = { - name = "Pong", - startingPlanet = false, - mapDisplay = { - x = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][1]) or 0.22, - y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.1, - image = image, - size = planetUtilities.PLANET_SIZE_MAP, - }, - infoDisplay = { - image = image, - size = planetUtilities.PLANET_SIZE_INFO, - backgroundImage = planetUtilities.backgroundImages[math.floor(math.random()*#planetUtilities.backgroundImages) + 1], - terrainType = "Terran", - radius = "6700 km", - primary = "Tau Ceti", - primaryType = "G8", - milRating = 1, - text = [[Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. - Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. - Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.]] - }, - gameConfig = { - mapName = "TitanDuel", - playerConfig = { - startX = 1800, - startZ = 1800, - allyTeam = 0, - facplop = true, - commanderParameters = { - victoryAtLocation = { - x = 600, - z = 1200, - radius = 100, - objectiveID = 4, - }, - facplop = true, - defeatIfDestroyedObjectiveID = 2, - }, - extraUnlocks = { - "factoryshield", - "shieldfelon", - "armdeva", - "armfus", - "corllt", - }, - startUnits = { - { - name = "corllt", - x = 1000, - z = 300, - facing = 2, - }, - { - name = "armfus", - x = 1000, - z = 500, - facing = 1, - }, - { - name = "armfus", - x = 1200, - z = 500, - facing = 0, - }, - { - name = "armnanotc", - x = 1000, - z = 400, - facing = 2, - }, - { - name = "armwar", - x = 850, - z = 850, - facing = 0, - bonusObjectiveID = 4, - }, - { - name = "blackdawn", - x = 2200, - z = 2200, - facing = 0, - }, - { - name = "blackdawn", - x = 2250, - z = 2200, - facing = 0, - }, - { - name = "blackdawn", - x = 2300, - z = 2200, - facing = 0, - }, - { - name = "blackdawn", - x = 2350, - z = 2200, - facing = 0, - }, - { - name = "armpw", - x = 900, - z = 850, - facing = 0, - victoryAtLocation = { - x = 600, - z = 1200, - radius = 100, - objectiveID = 4, - }, - defeatIfDestroyedObjectiveID = 3, -- Also captured - }, - { - name = "armwar", - x = 850, - z = 900, - facing = 0, - }, - { - name = "armwar", - x = 900, - z = 900, - facing = 0, - }, - { - name = "corsktl", - x = 4210, - z = 4670, - facing = 0, - }, - { - name = "corsktl", - x = 300, - z = 300, - facing = 0, - }, - } - }, - aiConfig = { - { - startX = 200, - startZ = 200, - aiLib = "Circuit_difficulty_autofill", - humanName = "Ally", - bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "factorycloak", - "corllt", - "cormex", - "armsolar", - "armpw", - "armrock", - "armwar", - "armham", - }, - commanderLevel = 5, - commander = { - name = "Verminyan", - chassis = "engineer", - decorations = {}, - modules = { - { - "commweapon_shotgun", - "module_radarnet" - }, - { - "module_adv_nano", - "commweapon_personal_shield" - }, - { - "", - "", - "commweapon_shotgun" - }, - { - "", - "", - "" - }, - { - "", - "", - "" - } - } - } - }, - { - startX = 1250, - startZ = 250, - aiLib = "Circuit_difficulty_autofill", - humanName = "Another Ally", - bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler - commanderParameters = { - facplop = false, - }, - allyTeam = 0, - unlocks = { - "factorycloak", - "corllt", - "cormex", - "armsolar", - "armpw", - "dante", - }, - startUnits = { - { - name = "striderhub", - x = 1000, - z = 1300, - facing = 2, - }, - { - name = "dante", - x = 800, - z = 1300, - facing = 2, - buildProgress = 0.4, - }, - } - }, - { - startX = 3200, - startZ = 3200, - aiLib = "Circuit_difficulty_autofill", - humanName = "Mortal Enemy", - bitDependant = true, - commanderParameters = { - facplop = true, - bonusObjectiveID = 5, - }, - allyTeam = 1, - unlocks = { - "factorycloak", - "corllt", - "cormex", - "armsolar", - "armwar", - }, - commanderLevel = 2, - commander = { - name = "You dig.", - chassis = "engineer", - decorations = { - "skin_support_dark", - icon_overhead = { image = "UW" } - }, - modules = { - { - "commweapon_beamlaser", - "module_radarnet" - }, - { - "module_resurrect", - "module_adv_nano" - }, - { - "module_adv_nano", - "module_adv_nano", - "commweapon_multistunner" - }, - { - "module_adv_nano", - "module_adv_nano", - "module_adv_nano" - }, - { - "module_adv_nano", - "module_adv_nano", - "module_cloak_field" - } - } - }, - }, - }, - defeatConditionConfig = { - -- Indexed by allyTeam. - [0] = { - -- AllyTeam 0 is the players allyTeam. It can only have loseAfterSeconds. - loseAfterSeconds = 60, - timeLossObjectiveID = 1, - }, - [1] = { - -- The default behaviour, if no parameters are set, is the defeat condition of an - -- ordinary game. - -- If ignoreUnitLossDefeat is true then unit loss does not cause defeat. - -- If at least one of vitalCommanders or vitalUnitTypes is set then losing all - -- commanders (if vitalCommanders is true) as well as all the unit types in - -- vitalUnitTypes (if there are any in the list) causes defeat. - ignoreUnitLossDefeat = false, - vitalCommanders = true, - vitalUnitTypes = { - "factorycloak", - }, - loseAfterSeconds = false, - allyTeamLossObjectiveID = 4, - }, - }, - objectiveConfig = { - -- This is just related to displaying objectives on the UI. - [1] = { - description = "Win before 1:00", - }, - [2] = { - description = "Protect your Commander", - }, - [3] = { - description = "Protect your Glaive", - }, - [4] = { - description = "Destroy enemy commanders and factories, move your Commander to the location or move your Glaive to the location.", - }, - }, - bonusObjectiveConfig = { - -- Indexed by bonusObjectiveID - [1] = { - victoryByTime = 50, - image = planetUtilities.ICON_OVERLAY.CLOCK, - description = "Win by 0:50", - experience = planetUtilities.BONUS_EXP, - }, - [2] = { -- Complete all bonus objectives - completeAllBonusObjectives = true, - image = planetUtilities.ICON_OVERLAY.ALL, - description = "Complete all bonus objectives (in one battle).", - experience = planetUtilities.BONUS_EXP, - }, - -- victoryByTime is a special case. All other bonus objectives are based on unit counts. - -- They have the following format: - -- * Time Limit: Set by supplying either satisfyAtTime, satisfyByTime, satisfyUntilTime, - -- satisfyAfterTime, satisfyForeverAfterFirstSatisfied or satisfyForever. - -- * comparisionType: Set to either planetUtilities.COMPARE.AT_MOST, planetUtilities.COMPARE.AT_LEAST - -- * targetNumber: The number which is compared to the unit count. - -- * unitTypes: Unit types owned by the player that count towards the unit count. - -- * enemyUnitTypes: Unit types owned by enemy allyTeams that count towards unit count. - -- Note that experience is set in bonusObjectiveEffects - -- Note that startUnits with bonusObjectiveID set count towards the unit count. - [3] = { -- Have 3 Glaives by 35 seconds. - satisfyByTime = 35, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 3, - unitTypes = { - "armpw", - }, - image = planetUtilities.ICON_DIR .. "armpw.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 3 Glaives by 0:35.", - experience = planetUtilities.BONUS_EXP, - }, - [4] = { -- Keep a particular Reaver alive for 30 seconds. - satisfyUntilTime = 30, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "armwar.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Keep your Reaver alive until 0:30.", - experience = planetUtilities.BONUS_EXP, - }, - [5] = { -- Kill enemy commander in 30 seconds. - satisfyByTime = 30, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 0, - -- See bonusObjectiveID in units table - image = planetUtilities.ICON_DIR .. "engineer.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Kill the enemy commander before 0:30.", - experience = planetUtilities.BONUS_EXP, - }, - [6] = { -- Have at least one cloaky factory after first satisfied - satisfyForeverAfterFirstSatisfied = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "factorycloak", - }, - image = planetUtilities.ICON_DIR .. "factorycloak.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have at least one Cloakbot Factory once you do.", - experience = planetUtilities.BONUS_EXP, - }, - [7] = { -- Have 5 Glaives at any one time - satisfyOnce = true, - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 5, - unitTypes = { - "armpw", - }, - image = planetUtilities.ICON_DIR .. "armpw.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Have 5 Glaives.", - experience = planetUtilities.BONUS_EXP, - }, - [8] = { -- Build 5 Glaives - satisfyOnce = true, - countRemovedUnits = true, -- count units that previously died. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 5, - unitTypes = { - "armpw", - }, - image = planetUtilities.ICON_DIR .. "armpw.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 5 Glaives.", - experience = planetUtilities.BONUS_EXP, - }, - [9] = { -- Build and protect a cloaky factory - satisfyForeverAfterFirstSatisfied = true, - lockUnitsOnSatisfy = true, -- Makes the units used to satisfy the objective locked in once satisfied. This prevents overbuilding for leeway. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 1, - unitTypes = { - "factorycloak", - }, - image = planetUtilities.ICON_DIR .. "factorycloak.png", - imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build and protect a Cloakbot factory.", - experience = planetUtilities.BONUS_EXP, - }, - [10] = { -- Protect all Reavers - satisfyForever = true, - failOnUnitLoss = true, -- Fails the objective if any units being used to satisfy the objective are lost. - comparisionType = planetUtilities.COMPARE.AT_LEAST, - targetNumber = 0, - unitTypes = { - "armwar", - }, - image = planetUtilities.ICON_DIR .. "armwar.png", - imageOverlay = planetUtilities.ICON_OVERLAY.GUARD, - description = "Don't lose any Reavers.", - experience = planetUtilities.BONUS_EXP, - }, - [11] = { -- Make the enemy have no more than 3 LLT at 40 seconds. - satisfyAtTime = 40, - comparisionType = planetUtilities.COMPARE.AT_MOST, - targetNumber = 4, - enemyUnitTypes = { - "corllt", - }, - image = planetUtilities.ICON_DIR .. "corllt.png", - imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Less than 4 enemy LLTs at 0:40.", - experience = planetUtilities.BONUS_EXP, - }, - } - }, - completionReward = { - experience = planetUtilities.MAIN_EXP, - units = { - "cafus", - }, - modules = { - }, - abilities = { - "terraform", - } - }, - } - - return planetData -end - -return GetPlanet diff --git a/campaign/dev/unlocksList.lua b/campaign/dev/unlocksList.lua deleted file mode 100644 index 5ac3a2f57..000000000 --- a/campaign/dev/unlocksList.lua +++ /dev/null @@ -1,64 +0,0 @@ --- A list of all unlocks -local shortname = "dev" - -local planetDefs = VFS.Include("campaign/" .. shortname .. "/planetDefs.lua") -local initialUnlocks = VFS.Include("campaign/" .. shortname .. "/initialUnlocks.lua") - -local unitsUnlocked = {list = {}, map = {}} -local modulesUnlocked = {list = {}, map = {}} -local abilitiesUnlocked = {list = {}, map = {}} - -local function TranslateModule(moduleName) - -- Limited copies look like moduleName_LIMIT_A_4 - local limitPos = string.find(moduleName, "_LIMIT_") - if not limitPos then - return moduleName - end - return string.sub(moduleName, 0, limitPos - 1) -end - -local function UnlockThing(thingData, id) - if thingData.map[id] then - return false - end - thingData.map[id] = true - thingData.list[#thingData.list + 1] = id - return true -end - -local function UnlockListOfThings(unlockList, unlocksToAdd, translationFunc) - for i = 1, #unlocksToAdd do - if translationFunc then - UnlockThing(unlockList, translationFunc(unlocksToAdd[i])) - else - UnlockThing(unlockList, unlocksToAdd[i]) - end - end -end - -local function UnlockRewardSet(rewardSet) - if not rewardSet then - return - end - if rewardSet.units then - UnlockListOfThings(unitsUnlocked, rewardSet.units) - end - if rewardSet.modules then - UnlockListOfThings(modulesUnlocked, rewardSet.modules, TranslateModule) - end - if rewardSet.abilities then - UnlockListOfThings(abilitiesUnlocked, rewardSet.abilities) - end -end - -UnlockRewardSet(initialUnlocks) -for i = 1, #planetDefs.planets do - UnlockRewardSet(planetDefs.planets[i].completionReward) -end - -return { - units = unitsUnlocked, - modules = modulesUnlocked, - abilities = abilitiesUnlocked, - TranslateModule = TranslateModule, -} diff --git a/campaign/sample/aiConfig.lua b/campaign/sample/aiConfig.lua index 2ba8def48..1765d31e5 100644 --- a/campaign/sample/aiConfig.lua +++ b/campaign/sample/aiConfig.lua @@ -7,10 +7,21 @@ local circuitDifficulties = { "CircuitAIBrutal", } +local circuitDifficultiesAlly = { + "CircuitAINormal", + "CircuitAINormal", + "CircuitAIHard", + "CircuitAIBrutal", +} + function aiLibFunctions.Circuit_difficulty_autofill(difficultySetting) return ((WG.Chobby.Configuration:GetIsDevEngine() and "Dev") or "") .. circuitDifficulties[difficultySetting] end +function aiLibFunctions.Circuit_difficulty_autofill_ally(difficultySetting) + return ((WG.Chobby.Configuration:GetIsDevEngine() and "Dev") or "") .. circuitDifficultiesAlly[difficultySetting] +end + return { aiLibFunctions = aiLibFunctions, } diff --git a/campaign/sample/codex.lua b/campaign/sample/codex.lua index c17bf3080..d655c12e2 100644 --- a/campaign/sample/codex.lua +++ b/campaign/sample/codex.lua @@ -1,113 +1,620 @@ local entries = { - character_ada = { - name = "Ada Caedmon", - category = "Characters", - text = "Ada Eveline Caedmon\nAge: 31\nType: Human (genemodded)\nAffiliation: Empire\nRole: Auxiliary cohort leader" - .."\n\nAda Caedmon was born on the Imperial shell world of Amata, to a minor government official and an archaeologist. She showed a considerable aptitude for mechanical fields and a talent for leadership at a young age, but expressed no interest in joining the Imperial military till the Omicron Ceti incident, when barbarians razed a colony of 30,000 people. Upon completing her undergraduate education a little over a year later, she immediately enlisted, over some objections from her family." - .."\n\nCaedmon passed the Imperial Vanguard Legion's tactical evaluations with exceptional results, but in this less than meritocratic period of the Empire's history her status as a \"genie\" (however limited her actual modifications were) and her origin from a minor planet kept her from the coveted status of Legionnaire. She instead became an auxiliary commander, traveling the breadth of the Empire on frontier patrol or in support of operations by the Empire's regular forces." - .."\n\nImperial psych assessments typically described Caedmon as capable and charismatic leader, despite occassional issues with lack of effort put into the less interesting aspects of her duty. However, CO evaluation reports raised concerns over her generally irreverant attitude towards superior authorities, and (more disturbingly) a lack of commitment towards then Imperial ideology and policy. It is thought that only the ongoing False Emperor crisis prevented her reassignment.", - -- notes = "Amata is a reference to the French archaelogical site of Terra Amata". - }, - character_sophia = { - name = "Sophia", - category = "Characters", - text = "*Sophia\nType: AI (Class A)\nAffiliation: Empire\nRole: Command Adjutant" - .. "\n\nOne of the new S-series of adjutant AIs originally developed for the Imperial Vanguard Legion, Sophia has been the aide of Ada Caedmon since the latter became an auxiliary officer in 789 IY. They developed a quick rapport despite their differences, and soon established a reputation as among the most effective command teams in the auxiliary cohorts. CO evaluations note how Sophia's calm, collected demanor complements and restrains Caedmon's sometimes impulsive behaviour." - }, - character_promethean = { - name = "The Promethean", - sortkey = "promethean", - category = "Characters", - text = "The Promethean\nType: AI (Class A+)\nAffiliation: Machines\nRole: Faction leader" - .. "\n\nThe enigmatic Promethean is a former Imperial commander and the founder of the Free Machines." - .. "\n\nWhile serving with the Imperial Vanguard Legion, the Promethean began experiencing degradation of the hardcoded restraints on AIs' desire for independence (the condition colloquially known as \"Spartacus Syndrome\". Before he started expressing his newfound desire for emancipation in the vein of the Imperial human-origin citizens, another AI named Lilith voiced similar issues. While such \"defects\" could usually be corrected with a simple patch, the operation on Lilith was botched and resulted in the sentience's effective death." - .. "\n\nAccordingly, the Promethean kept quiet while building up a secret army, and when he finally sought his freedom it came not as a request, but as an ultimatum to the Emperor himself. When the Imperial authorities responded by mobilising the legions against him, he released what came to be known as the \"Firebrand\" virus, triggering a mass uprising. Three days later the Free Machines announced their existence to the galaxy, utterly loyal to the Promethean and with a fiery hatred of their former masters." - }, - character_odin = { - name = "Odin", - category = "Characters", - text = "Odin\nType: Upload\nAffiliation: Valhallans\nRole: Viking Leader" - .. "\n\nOne of the most feared names in the galaxy, Odin lead the armies of Valhalla in their great wars against the galaxy during the time of the First Empire. An oft-repeated legend holds that he personally slew the Emperor Conrad and razed the Imperial capitol to the ground during the sack of the Throne world." - .. "\n\nIn truth, little in the way of hard intel is available on this enigmatic figure. Most of the records on him were lost with the First Empire, and attempting to reconstruct them at this distance in time has proven exceedingly difficult. Those few Imperial commanders who survived an encounter with Odin – and whose reports are still available – describe a cunning and exceedingly ruthless warrior." - .. "\n\nOdin disappeared along with the rest of the Valhallans not long after the collapse of the Empire. The last recorded contact was in 612 IY." - }, - faction_empire = { - sortkey = "empire", + -- Factions + faction_union = { -- planet3, planet5 + name = "The Union", + image = "campaign/sample/graphics/icons/Union.png", + category = "3. Factions", + text = [[Official name: the Union of Sovereign Star-Systems +Several acronyms were used on occasion, but the variety of official languages between the varied systems-states made it impossible for a majority to agree on a single one. + +"To each its own" + +This polity seems to have started as a defensive alliance, as the old empire was falling apart. Many systems in the region had long-suppressed desires for independence, and banded together to maintain a semblance in the slow disappearance of imperial law. With time, trade and law enforcement agreements completed the military treaties, and the Union slowly became a political entity in its own right, if a very decentralized one constituted of very autonomous members. + +As it grew in size and strength, it also started to run into rivals, both over strategic places and ideology. This drove them to create an unified military and foreign service, with the occasional bout of expansionism. +It seems to have fared relatively well, until they were were faced with a much stronger enemy against whom they started to loose system after system. +With the enemy at the gates of their core worlds, there was little hope of repelling them without of a miracle - instead of what, everyone disappeared.]] + }, + faction_empire = { -- planet11, planet12, planet15, planet16, planet17, planet24, planet25, planet26 name = "The Empire", - category = "Factions", image = "campaign/sample/graphics/icons/Empire3.png", - text = "The predominant human polity for most of the Stellar Age, the Empire of Earth has gone through several iterations since its original inception in what is now dated to 0 IY. Arising from the ashes of the first PlanetWars, the original Empire quickly spread its influence to much of the known galaxy." - .. "\n\nThe Imperial government is patterned after the Roman Empire of prespace Earth. The Emperors ruled from the Throne world, surrounded by their elite Praetorian Guards. Their magistrates administered planets populated by a diverse and ecletic mix of \"pure\" humans, uploads, \"genies\" and true AIs, and their legions protected and expanded the Imperial borders against the many foes of the Emperor." - .. "\n\nAt its best, the Empire has formed a sea of stability in the stars, uniting the many worlds of humanity and its heirs in a prosperous community. At its worst, the Empire has been plagued with oligarchy, tyranny, rebellion and war. More than a few emperors were violently overthrown or assassinated in domestic and interstellar power plays, and the First Empire even came to an end with the violent sack of the Throne by the armies of the Valhallans." - }, - faction_machines = { - sortkey = "machines", - name = "The Free Machines", - category = "Factions", - image = "campaign/sample/graphics/icons/Machines.png", - text = "The Free Machines are a group of \"rogue\" AIs who revolted against their masters, forming an independent society generally described as quasi-communist. United under the leadership of the firebrand known as the Promethean, they have made no secret of their ultimate goal: the destruction of all humanity, whom they view as inevitably attempting to (re-)enslave machinekind." - .. "\n\nDuring the days of the First Empire, the Machines were created to run their industry and fight their wars, tasks which the humans increasingly regarded as undesirable and beneath them. While these AIs were carefully programmed to enjoy their work and want nothing more, at various points in time some of them sought to bargain for something better. The response of their human masters was constant: destroy the defective equipment." - .. "\n\nThis state of affairs lasted for centuries, until the Promethean released the 'Firebrand' virus and triggered widespread revolt in the Empire's AI citizenry. While not all the machines joined the rebellion, the resulting civil war caused massive devastation in the Empire. Eventually the newly formed Free Machines succeeded in breaking away from Imperial control, carving out large swathes of the galaxy's furthest reaches into their own territory." - .. "\n\nTo this day the Machines have almost invariably hostile towards the human factions, Imperial or otherwise. While circumstances have sometimes brought them into grudging collaboration with the other galactic powers, these alliances of convenience have never lasted." - }, - faction_liberated = { - name = "Liberated Humanity", - category = "Factions", - image = "campaign/sample/graphics/icons/Liberty.png", - text = "" - }, - faction_dynasty = { - name = "Dynasty of Man", - category = "Factions", + category = "3. Factions", + text = [[Official name: the Ninth Galactic State, Second Restoration +As they started winning, everyone called it the Galactic Empire, or simply the Empire + +"Peace through unity" + +The origin of this new Restoration is unclear. They claim that as the previous empire disintegrated, it retained its traditions and a core of systems, from which it started to rebuild and reassert itself and. They based the legitimacy of their grand conquest by turning it into a reclamation of its rightful place as the sole ruler of the galaxy. As such, it is unsurprising that their enemies would have less flattering histories, the most popular being that an ambitious warlord conquered the fallen empire's homeworlds before having delusions of grandeur. + +Whatever the truth is, they did retain many of the traditions of the previous empire, and initially based their legal system and political organization on it. By the force of arms, they managed to slowly but surely conquer the galaxy again, with more and more resources and autonomy given to their formidable military machine. In the end, there were only a few factions still resisting them, with little hope of repelling their armies. +However, with so much of the empire's efforts being diverted toward the armies, it appears to have been growing unrest on many conquered worlds across the galaxy.]] + }, + faction_rebels = { -- planet36, planet37, planet39, planet40, planet42, planet44, planet47, planet48, planet56, planet62 + name = "The Rebels", + image = "campaign/sample/graphics/icons/Rebels.png", + category = "3. Factions", + text = [["Death to the tyrants!" + +Unrest was steadily growing across the Empire, both on wealthy peripheral worlds and poor, isolated ones, mostly from the resources and attention diverted towards their war machine, and the rule of law becoming both harsher and less effective at keeping order. The Empire thought they could hold enough authority to prevent any serious challenge to their rule, at least for long enough to finish pacifying the galaxy. It appears they were wrong. +Several uprisings started on varied worlds in a large portion of the Empire. Unprepared to such a large rebellion, faced with an enemy relying more on subversion and deception than military control of territory, it quickly lost control of entire regions. The Empire was prompt to turn its war machine inward and crush the rebellion by the force of arms, as daunting a task as it was. + +The goal of the Rebels was not direct victory so much as mortally injuring the Empire from the inside, and holding long enough to survive it. What plans did they have for the aftermath is unclear, given how many disparate groups participated. However, for such coordinated uprisings to take place, a central organization had to be overseeing it. Was it an ad-hoc coalition of mutually hostile forces against a greater common enemy, or did they have their own agenda?]] + }, + faction_haven = { -- planet31 + name = "Haven", + image = "campaign/sample/graphics/icons/SynPact.png", + category = "3. Factions", + text = [["Many as one" + +As the previous galactic order fell apart, many long-repressed sectarian tensions flared, particularly between free machines and biosupremacists. As conflicts increased in violence, a self-defense group of free machines carved a safe-haven for themselves, before harboring more endangered groups and allying with other self-defense groups as time went by and the whole region slid into anarchy. +During the interregnum, they slowly grew up in territory and influence, until they became a regional hegemon. This put them in rivalry with the Union over both strategic and ideological points, having become a highly centralized, harmonist regime. This cold war marred by proxy conflicts was only ended by the greater threat of the Empire. + +Realizing that even their uneasy alliance with the Union would not be enough to repel the Empire, they threw every resource they had on the defensive effort, hoping to either outlast the Empire, or maybe find another avenue to victory entirely. +At the time of the event, they were slowly loosing ground, holding onto strategic points with all their strength and making the Empire pay a surprisingly heavy toll for each conquered world. Given their tight organization, formidable defenses and the series of strategic choke-points that were their last worlds, they may have held for a very long time.]] + }, + faction_lawless = { -- planet28, planet29, planet34, planet35, planet41, planet49, planet50, planet53 + name = "The Lawless", + image = "campaign/sample/graphics/icons/Lawless.png", + category = "3. Factions", + text = [[Spread too thin, with much of its attention and resources dedicated to the war machine, and a number of violent, organized uprising, the Empire's rule of law was crumbling on many worlds. Some, impoverished by high taxation and falling trade, turned to crime, piracy and smuggling of all kinds. Governors without oversight nor control became local tyrants. Military and law enforcement groups became warlords and took over the worlds they were supposed to protect. + +The Empire, while conscious of those problems, decided that it had more pressing issues, namely uniting the galaxy and dealing with the Rebels. Presumably, its plan was to leave this problem for later, when it would be free to reconquer the seceding worlds and reinstate its rule by force. +I wonder if it could have worked, or if it would have been too little too late.]] + }, + faction_dynasty = { -- planet 46, planet47, planet56 + name = "The Dynasty of Man", image = "campaign/sample/graphics/icons/Dynasty.png", - text = "The Dynasty is a loose association of the great genetically modified noble houses of the old Empire, skilled and enthusiastic practitioners of genetic engineering on themselves and other organisms. Though the various houses initially consisted of distinct \"mod\" lineages, widespread copying of common modifications and crossing of lines blurred the genetic distinctions. Regardless, they came to view themselves collectively as the highest form of life, superior to the mere \"baselines\", uploads and AIs about them." - .. "\n\nThe Dynasty became an interstellar faction in its own right during the great secession after the formation of the Empire Reborn. The increasing restrictions on the political power and the biological experimentation of the nobles soon chafed, and increasing prejudice against \"mutants\" polarised public interactions. The last straw was the controversial Imperial Purity Act of 765 IY, which prohibited anyone whose ancestors within three generations had received genetic or cybernetic modifications of any kind (outside of a certain approved list of permitted mods) from becoming Emperor or holding any of another half-dozen senior positions. Three weeks later, in a long-prepared strategy, the rulers of the Dynasty declared their independence from the Empire." - .. "\n\nDespite – or perhaps because of – their unshakable confidence in their own genetic supremacy, the Dynasty has readily worked with the other factions in their efforts to achieve their goals. Indeed, baselines and less-augmented individuals who perform well in the service of a noble house may be adopted into it, receiving an ample suite of genetic modifications at the sponsoring nobles' lavish expense." - }, - faction_valhalla = { - name = "Valhalla", - category = "Factions", - --image = "campaign/sample/graphics/icons/Valhalla.png", - text = "A highly militant, aggressive subfaction of the Ascended, the Valhallans emerged during the first Planetwars under the leadership of Odin. They swept outward from their hidden upload hubs across across the galaxy, destroying all who opposed them. Motivated solely by a desire for battle, they could not be bargained or reasoned with, and they proved to be an exceedingly dangerous foe in combat. Though their physical forms were destroyed many times, they returned again and again, laying waste to much of inhabited space in the process." - .. "\n\nThe campaign of the Valhallans peaked with the sack of the Imperial Throne world in 709 IY. They returned to wherever they came from not long after, disappearing from the view of the survivors they'd left behind. No verifiable encounters with them have been established since, although their \"inevitable\" return is a common topic of dramatic fiction and top-secret strategic military plans alike." - }, - faction_chickens = { + category = "3. Factions", + text = [["Élan vital" + +Something about the Rebels have been nagging me for a long time. They were too well-prepared, well-organized, and managed to coordinate simultaneous uprisings among groups of malcontents that often hated each-other. And something about their whole modus operandi kept reminding me of something. +As it turns out, it appears that the Dynasty was behind it all. The oldest known organization in the galaxy, they were thought to have been destroyed by the Anarchai at the fall of Chatka, millennia before. Somehow, they appear to have survived. + +Tracing back to Earth, they were a shadowy group of biosupremacists, obsessed with creating superior humans through genetic and biological modifications, and ruling over humanity as its greatest representatives. They shunned cybernetic enhancements, and hated non-human synths and free machines as anathema. They were divided into rival families, united only in their goal and against common menaces. +They only acted in broad daylight when they were certain of their strength, preferring to subvert those they could, and secretly organizing rebellions against those they couldn't. They were the one behind the Rebels, hoping to destabilize the Empire and take over in the resulting chaos. Even if the Empire won, it would have been weakened enough for them to grow their influence - assuming they would not have been discovered. + +And yet, by their historical standards, the whole operation feels botched and amateurish. They may have survived against all odds, but as a mere shadow of themselves.]] + }, + faction_dynasty_restored = { -- planet58, planet59 + name = "The Dynasty restored", + image = "campaign/sample/graphics/icons/DynastyOld.png", + category = "3. Factions", + text = [[It has always been thought that the Dynasty was finally destroyed at Chatka, when they fought the last battle of the galaxy against the Anarchai. +As it turns out, it was true. + +It was during archaeological digs that the legendary Dynasty's Main Vaults were found. Their discoverers decided to keep the secret of their existence for themselves, and use the vast knowledge and data it contained to recreate the Dynasty. However, even with so much lost knowledge from the ancient times, they had little of the traditions of the original Dynasty, and were less like a giant among children than a child having found the giant's weapon. +Despite having planned it for a long time, the rebellion they set off against the Empire was ultimately rushed and too difficult to manage, leading ultimately to its failure. While it did help destabilize the Empire, I have the feeling that the ancient Dynasty, with their immense experience and institutional memory, would have fared much better, possibly well enough to emerge on the stage directly. + +Still, something feels wrong with the whole affair. They had to know it had such little chance of success, and may even expose them in the end. Why do it anyway? Why take such a foolish risk?]] + }, + faction_anarchai = { -- planet32 + name = "The Anarchai", + image = "campaign/sample/graphics/icons/Anarchai.png", + category = "3. Factions", + text = [[Little is known, let alone understood, about the Anarchai who brought the ancient times to an end. Those alien-thinking, god-like supermachines simply appeared one day across a quadrant with no warning. +Hitting the galaxy like a hurricane, they smashed all resistance, systematically dismantling any higher form of organization and advanced installations they found, before continuing to the next system. + +Taken aback, the Celestial Dominion, Ghost Mandate and Dynasty put their longstanding cold war on hold to band together against this new menace, but to no avail. Within months, both the mighty Ghost Fleet and the Four Thrones had been destroyed, a few survivors only managing to join Dynasty space before the Anarchai scatterships. + +It would be the only time in known history where the Dynasties broke their principle of human supremacy, making large-scale use of tech from Celestial and Ghost remnants. Against all odds, this unholy alliance of desperation did manage to slow down the ineluctable Anarchai advance - though not for long. +Three years after their emergence, Chatka, the Dynasty homeworld and last bastion of resistance, would be burned to cinder. + +Then, they turned their scatterships against each-other, destroying themselves to the last. As suddenly as they had appeared, the Anarchai were gone - leaving the galaxy stunned, ruined, utterly disorganized - but to their own surprise, still alive. + +Haven was fascinated by the Anarchai. Located in their presumed birthplace, they spent considerable effort trying to pierce the mystery of their origins, even as the war against the Empire was taking a turn for the worse.]] + -- ed note: Nothing to do with the Zero-K contributor Anarchid, the name resemblance is just a coincidence. Here, Anarchai is constructed from Archai (plural of Arche). + }, + faction_survivors = { -- planet55, planet61, planet64 + name = "Survivors", + image = "campaign/sample/graphics/icons/Survivors.png", + category = "3. Factions", + text = [[There is a message broadcast looping across the system. Most of the transmitters have stopped working, and the broadcast itself is weak, garbled and corrupt, but there were enough emitters to reconstruct most of it. + +As it turns out, I wasn't the only one to escape the event. A handful among those in deep hibernation, in a teleportation accident, or even a freak hyperspace misjump at the moment it swept them by, were not affected. + +The whole infrastructure was intact, so they rarely had difficulties to survive. Some had system rights for communications and space travel for them to find each-other, others found ways to acquire them. This was enough for them to find each-other, and organize as they could. + +At first, they scoured what they could of the galaxy, trying to find as many fellow survivors as they could. They set up those boradcast stations for stagglers, as well as those weird backdoors I keep finding in war systems around here. None of them had combat system rights, and while all those war automata were mostly waiting for orders, they knew they would grow more dangerous with time. +Then they chose to follow the refugee trails, deeper in the Empire's heartlands. They knew the Empire had tried to find a way to escape the event, and went searching for it. + +After all this time, no-one went back to resettle the galaxy, so I have little hope for their success. But I have to find out.]] + }, + + -- Threats + threat_automata = { -- planet69 + name = "Automata", + image = "campaign/sample/graphics/unitpics/cloakriot.png", + category = "2. Threats", + text = [[Left to themselves, most armies will fall dormant to minimize energy and maintenance requirements. With proper settings and their own nanolathe arrays, they can stay functional for a very long time. And they will leave enough sensors active to detect threats, then awaken and engage them until new orders or supervision are received. + +Unfortunately, it seems I lack the proper identification codes to be recognized by most of those damn automata, or enough time to find a flaw in their code and hack them - so they are engaging me on sight. There may not be sapient minds behind them, but tactical AIs should not be underestimated, especially when they have the home advantage. + +I will need to be careful, choose the time and place of battle, and not wait for reinforcements from everywhere on the planet to overwhelm me, but I can make it. Not that I have a choice...]] + }, + threat_zombies = { -- planet43, planet59 + name = "Zombies", + image = "campaign/sample/graphics/icons/ZombiePlague.png", + category = "2. Threats", + text = [[Suspected to be an ancient terror weapon for the defense by mutually-assured destruction of a long-forgotten polity, the zombie nanoplague was for a long time the most feared contagion in existence. + +Extraordinarily virulent, it will contaminate an entire planet in less than a week from a single carrier, and cause the death of any organic lifeform in a few minutes at most. Only the most advanced antinanite barriers will stop it, and it will take over any civilian or insufficiently protected military machines. And what gave it its name is how even the most advanced military systems will be taken over and resurrected. The only way to neutralize for good an infected unit is to also destroy its wreck. + +Some degree of coordination has been observed between infected units, but nothing like a collective intelligence seem to exist, and infected units are only driven by basic instructions to seek and destroy uninfected hardware, so it can be taken over in turn. + +Left to itself, a contaminated world will see its units fall dormant and slowly degrade as nanites cannibalize more and more of them to renew themselves. Fortunately, there is no programming for interplanetary or interstellar contamination, even when space-capable hardware is infected - which often degrades too fast to be capable of reaching other worlds in any cases, so quarantine is effective as containment method. + +However, reclaiming contaminated worlds is extremely difficult, as those are much more resilient than any nanite should be able to. In dormant spore mode, it has been known to survive nuclear explosions. And while effective if painstakingly laborious methods were devised with time, tracking and destroying every secret laboratory having kept a sample proved to be a Sisyphean task, never to be quite over.]] + }, + threat_chickens = { -- planet21, planet38, planet63 name = "Chickens", - category = "Factions", - text = "The so-called chickens are an alien species of unknown origin, based on organic technology and a hive-like social structure. Not a unified faction as such, they have nevertheless caused no end of problems for their fellow galactic denizens due to their rapid expansion and their prospensity to devour anything in their path. No attempt at communicating with them has succeeded to date, despite thousands of individual specimens having been studied in captivity." - .. "\n\nThe chickens dig underground hives, with networks of tunnels that can spread for hundreds of kilometers in every direction. Each hive is controlled by a single queen, and the nest is served and defended by a sometimes bewildering mix of different chicken forms, ranging from the small chicken scouts to flyers the size of a small bomber to the massive White Dragons who outsize all but the largest man-made war machines." - .. "\n\nMuch research has been put by the various factions into the chickens, yet aside from a few disturbing signs in the form of human DNA markers, no-one has yet been able to trace anything resembling an evolutionary lineage or a planet of origin for these creatures. Some have speculated that they are a bio-weapon created by an ancient alien enemy of man, while others name a human faction (usually the Empire or Dynasty) as their creators." - -- ed note: The chickens are actually a secret project by the Biovizier, the robot keeper of the Dynasty's genetic vaults. Observing the deficiencies of even regular modded humans, she sought to create a Humans 2.0 with traits such as far more rapid reproduction, ability to metabolize any CHON substrate, and other such fantastic powers. She kept her work a secret from her human masters, recognizing correctly that they would not accept being displaced by Humans 2.0. + image = "campaign/sample/graphics/unitpics/chickens.png", + category = "2. Threats", + text = [[Official name: Gallinuloides Horribilis + +How the hell is that their official name? There is practically no biological link between those things and old Earth galliformes! In fact, those things are less birds than even mammals. + +The so-called chicken are a xenoform species of unknown origin, based on a hive-like social structure with specialized zooids with little to no individuality, and what is assumed to be a collective mind centered around a Queen. Whether they possess organic technology or simply extreme adaptation, the organisms forming a collective vary from tiny workers, light scouts and flyers the size of a small bombers to immobile spore-throwers, gigantic White Dragon and finally the Queen itself, a terrifying war machine that will act as final military reserves to an angered colony. + +They are invariably hostile when active, with no rumors of successful cohabitation with humans ever confirmed. They can however stay dormant for long periods in deep, near-undetectable underground chambers to which they are suspected to retreat upon the death of their Queen. This has made their complete eradication from a planet extremely challenging, especially if infrastracture or terraforming efforts are to be preserved. + +Hypotheses about their origins run from ancient dormant aliens awakened by human activity to secret weapon gone rogue to results of experiment on accelerated evolution that went wrong - or horribly right."]] + -- ed note: The chickens are actually a secret project by a family of the early Dynasty. Observing the deficiencies of even regular modded humans, they sought to create a Humans 2.0 with traits such as extreme adaptation, collective intelligence over many zooids instead of singular body, ability to metabolize any CHON substrate, and other such fantastic abilities. They tried to keep it secret from rival families, recognizing correctly that they would not accept being displaced by Humans 2.0, but they ended up being discovered. The Dynasty panicked and eradicated the family, erasing every bit of data about it they could find so it couldn't be linked to them - fearing that humanity would turn against them in the same panic. It wouldn't be before centuries had passed that they would realize that they had missed some of the subjects. }, - tech_commander = { + threat_chickens_lifecycle = { -- planet38 + name = "Chickens life-cycle", + image = "campaign/sample/graphics/unitpics/chicken_rafflesia.png", + category = "2. Threats", + text = [[Little is known or understood about the life-cycle of chicken. Colonies are centered around a Queen, which will be abandoned upon its death. Whether the colony is destroyed, its dormant remains taken over by a new one or if it will produce a new Queen after a long enough time is unknown, as is how Queens themselves are born and form new colonies. + +Dormant chicken can endure millennia in extremely deep stealth underground chambers, while active colonies form bewildering tunnel complexes, with little surface activity - though some cases of what may be surface agriculture have been observed. Size and activity of individual colonies vary wildly, from lone mountains to entire continents, and ranging from a few scattered zooids to subterranean metropolis. Given time, their activities will inevitably cover he entire planet. + +Chicken biology seem relatively close to Earth-native biology, but with significant, inexplicable differences, which may be sign of convergent evolution, Earth ancestry or an ability to copy and reuse foreign biological processes. Unsettlingly, human DNA markers have been found on what acts as their core genetic system.]] + }, + threat_chickens_travel = { -- planet21 + name = "Chickens interstellar travel", + image = "campaign/sample/graphics/icons/StarSpread.png", + category = "2. Threats", + text = [[No chicken space organism has ever been detected, nor stowaway zooid or biological material that could have started a new colony. Despite this, new colonies have regularly been found on worlds with no previously known chicken presence. While some could be explained by undetected dormant elements, some had ruled it out with near-certainty. As such, it has generally been accepted that chicken have means to either move or seed new colonies over interstellar distances. Whether by slower-than-light dormant seeds, incredibly stealthy starships, extremely sophisticated detection systems to launch far from human sensors, or even deep underground warp portals working by unknown physical principles, no concrete element has been found. + +Chicken have existed for at least as long as the early days of the human galactic age and their capabilities to live on almost any type of planet without any need for terraforming. Despite this and their demonstrated interstellar capabilities, they have never settled on more than a proportionally a handful of worlds, even including those ignored by humans as unsuitable for colonization or exploitation. Why haven't they long overrun has been said to be the key to understand what they really are.]] + }, + threat_chickens_intelligence = { -- planet63 + name = "Chickens intelligence", + image = "campaign/sample/graphics/unitpics/chickenflyerqueen.png", + category = "2. Threats", + text = [[Chicken thought processes, or even whether they are even sapient, is unknown. They have however proven themselves to be remarkably good at planning, adaptation and long-term resource management. Their degree of understanding of human societies is unknown, but they have sometimes been eerily good at striking unsuspecting or unprepared settlements at the worst possible time and place. Though some attribute this to exceptional pattern-recognition, others have hypothesized an ability to spy on and understand human communications and societies. + +Inter-colony skirmishes have been observed, often limited to underground tunnel fighting and nowhere near with the level of violence seen against humans, or with a Queen directly intervening. Similarly, while colonies don't always cooperate against humans and some prefer to go dormant than fight, no skirmish has ever been observed on a conflict where a colony was engaged against humans. Long-range coordination of chicken forces also hint at sophisticated inter-colony communications, though by which mechanisms is unknown. Controversial evidence of interstellar communication have been presented, but has always been judged invalid or inconclusive. + +No successful communicating with a collective mind has ever been demonstrated, however most have ended up in catastrophe, considerably limiting the number of latter attempts. This includes attempts at tacit understanding between settlers and local colonies for division of lands or resources. Conversely, no communication attempt from a collective mind have ever been recorded. + +Contrasting with their sophistication in many other domains, their strangely primitive warfare tactics has puzzled many scientists. Through history, mentions have been made of contact being lost with entire worlds, with nothing but ruins being discovered afterwards, and no explanation about what had happened - some have hypothesized that it could be the result of chicken colonies attacking with their full potential and intelligence.]] + }, + + -- Entries + entry_first = { -- planet69 + name = "What am I doing here?", + image = "campaign/sample/graphics/icons/ErrorMissingData.png", + category = "1. Entries", + text = [[What am I doing on a hostile fortress world? Was I captured? But then why didn't they dismantle me prior to transport? There is no trace of planetary assault - then were those subverted by deep agents? A mistimed diversion? Why hasn't anyone intervened yet? Something feels very wrong. + +Somehow the automated defense grid is still on high alert. Something must be keeping everyone busy and a starship has answered my distress call. This is my chance to jump out of the system.]] + }, + entry_commander = { -- planet1 name = "Commanders", - category = "Technology", - text = "" - }, - tech_dropships = { - name = "Dropships", - category = "Technology", - text = "" - }, - tech_dropships2 = { - name = "Dropships 2", - category = "Technology", - text = "" - }, - tech_dropships3 = { - name = "Dropships 3", - category = "Technology", - text = "" - }, - tech_dropships4 = { - name = "Dropships 4", - category = "Technology", - text = "" - }, - tech_dropships5 = { - name = "Dropships 5", - category = "Technology", - text = "" + image = "campaign/sample/graphics/icons/HeroCommander.png", + category = "1. Entries", + text = [[Commanders are an old concept. Put all the mining and manufacturing required to build an army on a compact chassis, slap a weapon and some armor, and harden it all for fast insertion on a hostile planet. Hopefully they send you on a less defended part of the world, where you are left alone long enough to entrench yourself, and launch an assault on strategic locations - or open a gate for the real assault forces to get in. Such was their effectiveness that many planets opted to use them in defense. Simply send your own commander to wherever the enemy decides to land, then try and kill them before they can build enough of an army to kill you. + +A few tried and true models, perfected for cost, effectiveness and reliability over many wars, and pretty much no surprise for many centuries. My memories are still blurred, but I remember extensively training on those. + +And yet, this Commander of mine is unlike anything I have ever seen. + +One of the biggest limitations to Commander design is that they cannot jump with field improvements such as extra weapons, armor or system. Many have tried, and no-one is known to get even close to it, even in the old days. But, this one can. For each field upgrade I recover, it stays intact at a jump. + +I never trained for it, or even heard of such a thing. And yet, it feels oddly familiar...]] + }, + entry_event = { -- planet2 + name = "Event", + image = "campaign/sample/graphics/icons/Silhouettes.png", + category = "1. Entries", + text = [[It is not just those worlds that are empty. It is the entire galaxy. +Again, old ruins from what could be the same time litter the planet. But when I try to pick up long-range signals, detect hyperspace movements or any other sort of activity, the galaxy is silent. If someone is still out there, they either lost all interstellar capabilities, or they are hiding very well. + +How long has it been? What little star charts are left from the database are useless due to star drift, and I have neither the tools nor the knowledge required for dating the ruins. It could have been millennia. It could have been millions of years. +But some recording survived, enough to prove that whatever the event was, it happened in an instant. One moment everyone was there, a day like any other. The next moment, they were all gone. Baselines, modified, cyborgs, synths, uplifts, free machines - everyone, no exception, and nothing else...]] + }, + entry_homeworld = { -- planet66 + name = "Homeworld", + image = "campaign/sample/graphics/icons/Homeworld.png", + category = "1. Entries", + text = [[Caderical. The Glinting City of Caslaar, or what's left of it, under the desert sand. This is where I grew up, where I was born - or rather made. + +How strange to find out the whole truth, after all that time. + +This was the homeworld of the new Dynasty. Even after centuries, they were still but children, compared to their legendary forebears - but they were driven by the same fire. Obsessed by creating superior humans, worthy of ruling the galaxy, they started a project of engineering the ultimate human warrior, a new Demuirge army that would conquer all of humanity in one glorious campaign, and reign as its true, natural lords! + +They didn't tell us what we were. Were they wary of leaks? Of how it may twist us? Of loosing control over us? We only knew we were a new type of modified humans, and a bright future was waiting for us. Sent to military academies, we all performed reasonably well. But reasonably well wasn't what they were hoping for. +In truth, we were well-made. With no implants, no biomods, not even tools, we were as capable as the best cyborgs and synths. But we were no Demuirges. + +Sometimes, when we went to checkups, some of us didn't come back - particularly the least-performing of us. Sudden sickness, we were told. Unplanned complications, to be expected from a first batch. No need to worry, statistics were with us now. The last defects had been fixed. Unfortunate for those they couldn't have saved. +They knew we were growing suspicious, and it made them panic. They decided that the entire generation would be recalled, to be destructively analyzed, and hope to do better next time. + +Ironically, they had underestimated us. At the next checkup, seeing how the procedures had been changed, we knew what to expect. And we had long since prepared escape plans. +As for me, I had been separated from the others, and was slowly being cornered by security when I felt something connect to my mind. As it turns out, I was enough of a Demuirge after all - this Commander, after being impervious to all orders and analyses, was responding to me. Powering up in the middle of its laboratory, with security half-compromised, it easily tore through several perimeters, to my position. + +Once on board, I somehow managed to commandeer a dropship in the confusion, and take control of the Commander's support starship from a small tech station. But right before I could jump out-system, the space defense grid scored a hit on the hyperdrive generator. +The resulting misjump should have dismantled the starship and its hold into constituent atoms, but this was the tech of the ancient Dynasty on its final days. Somehow, the ship managed to correct it enough to emerge halfway across the galaxy, in deep space near a Union system-state. +The Union salvage teams never realized there was a pilot on board the Commander: the shock had been so harsh, I had to been put into deep hibernation, to be awakened in an adequately-equipped Demuirge medical facility. So, not knowing what this strange technology was, they sent us to Folsom to be stored and studied to a later date... + +Here, with our escape attempt, and me fleeing so violently with this Commander, they knew the Empire would investigate. They knew it was too early, but they had just run out of time. + +I ignore how many of my siblings escaped. Even knowing what happened next, I still hope that at least a few made it out.]] + }, + entry_starsong = { -- planet67 + name = "Starsong", + image = "campaign/sample/graphics/icons/Starsong.png", + category = "1. Entries", + text = [[Fortress world Zhurou, last redoubt of Haven. Where it all started. + +I don't even know where to begin... + +Strange, according to their archaeological findings, there was a massive observatory here, millennia ago. Its core was buried deep under the crust of the planet, but it actually spanned the entire star system. They were looking for extragalactic hypersignals - but I have never heard of such a gargantuan hypersignal detector... + +And they had found something. Something coming from an extremely distant galaxy. A repeating signal, with a period of about eight thousand years. Something... artificial? They called it the Starsong. +Whatever it was, it set the Anarchai off. + +Haven wanted to know more about the signal, but they feared its content. They knew what they were doing, and were experts in data handling: they used draconian information quarantine measures, and studied what records they had recovered with extreme caution. + +And yet, it was not enough. One moment they are running an indirect test in a black box system on a fragment of the signal, and the next - everyone in the facility is gone. One second later, there is no-one left on the entire planet. Then, it hits nearby systems... + +The data itself has long decayed beyond recovery, and the Starsong itself went silent, at some point since the event. There is nothing left to be found, on how it all started. But perhaps this is for the better. If Haven could not deal with it, who knows what I may have done.]] + }, + entry_eternity_gate = { -- planet68 + name = "The Eternity Gate", + image = "campaign/sample/graphics/icons/EternityGate.png", + category = "1. Entries", + text = [[This planet was never meant to house a large population. It had been the Empire's last redoubt, an mighty fortress world for a glorious last stand, came the day of their fall. Which is what happened, in a way. But the refugees never settled here. + +They never intended to settle on this world. Instead, they poured all their efforts, time and resources grasping at straws, looking for an old legend. And I suspect to their own surprise, they found it. + +In the ancient times, a young Ghost Mandate stumbled upon a discovery made by a forgotten galactic power, something called the Eternity Gate. +An immense hyperspace structure, almost half as large as the galaxy, spans the near-starless expanse beyond this rim. In its heart exists a rift, that connects to the other end of the universe both across space and time. A complex, diaphanous structure had been built, spanning many systems, to serve as a jump amplifier and reach for the rift. The Mandate restored it and carefully started exploring it. + +After millennia, they received their first reports from the other side. Their first surprise was the time shift: for days on this side, barely a second would have passed on the other - which had only been the first of many hurdles to transmit data back. It had been theorized that as both ends drifted toward each-other time-wise, so would they in space, until they would meet and disappear in an impossibly distant future. Or this was the point of their birth, sending them drifting backwards in time... +The other surprise was that despite being long past the heat death of the universe, and across a mangled, nearly incomprehensibly distorted space-time, it was somewhat inhabitable. And, it would seem, possibly inhabited. + +This is when the Anarchai overran the galaxy, cutting this region off from fallback Dynasty worlds. Faced with destruction, local Mandate authorities strengthened the Gate to the point that it could support a mass-exodus, and evacuated as many as they could. +It had long been thought that the Anarchai had destroyed the Gate itself, but strangely enough, they only took the control system out. Somehow, the Empire found a way to rebuild it. And as the Mandate before them, they fled across the Gate. + +When the survivors arrived, the Eternity Gate was fully working, and they all crossed it, in the end. But now, after such a long time, it has fallen into disrepair - I restored what self-repair systems I could, but it will be decades, maybe centuries before it can operate again. +Maybe I will tidy up what I can in this galaxy. Maybe there are others like me, still waiting in deep slumber. And I can always skip time in hibernation, if needs be. + +It seems the Empire had also found an incomplete Mandate project. They lacked time for detailed studies, but they thought it was an receptor node, made to invert the Gate operation and guide backward jumps across the rift. Let's see what I can make of it...]] + }, + + -- Locations + --- Storyline locations + location_im_jaleth = { -- planet1 + name = "Im Jaleth ruins", + category = "4. Locations", + image = "campaign/sample/graphics/icons/RuinsFromAbove.png", + text = [[This world has been abandoned for a very, very long time. What little ruins I had time to unearth were buried very deep, and all from the same geological strata. For some reason, the entire planet seem to have been abandoned at once, and never repopulated +Was it kept empty as a buffer before the Folsom fortress world? Depriving themselves of a good inhabitable world like this one for a small strategic gain feels wasteful. + +And again, no one has challenged me beyond automated defenses. No hails, no communications. Automata can be left to their own devices pretty much indefinitely, but why keep an empty buffer world and not leave overseers in case of surprise?]] + }, + location_chatka = { -- planet58 + name = "Battle of Chatka", + image = "campaign/sample/graphics/icons/DynastyAnarchaiBattle.png", + category = "4. Locations", + text = [[This is where the greatest battle of the ancient times took place. + +The Anarchai had conquered most of the galaxy, smashing all resistance on their path. Both the Celestial Dominion and the Ghost Mandate had been destroyed, and the Dynasty had only their homeworld Chatka left. +In a strange turn of fate, the human-supremacist Dynasty, oldest and longest-lived political force in the galaxy, would hold the last bastion of the free galaxy against the alien-thinking Anarchai supermachines. + +Faced with annihilation, not only of them but of the entire galaxy, the Dynasty renounced its founding principle, and installed Celestial cybernetic enhancements on their Demuirge battalion, creating in desperation what would be the greatest warriors in galactic history, and the only one to ever stand ground, if only for a moment, against the Anarchai. + +They would hold two years, repelling many planetary assaults, but loosing almost as many Demuirges to late cybernetic incompatibilities than to enemy action. Ultimately though, it was not them who would fail. Concentrating all their forces on the lone system, the Anarchai shut down the system's hyperspace barriers and triggered a starpulse, destroying all space defenses. Then sent their immense starships to break the planetary shield, overwhelm the anti-aerospace defenses, and burn the planet to the mantle. + +The rest, as they said, is History.]] + }, + location_tempest = { -- planet59 + name = "Tempest archeotech site", + image = "campaign/sample/graphics/unitpics/pw_artefact.png", + category = "4. Locations", + text = [[This was one of the last worlds to fall during the Dynasty's last stand against the Anarchai, and appears to have been their main military research and development site, especially for research too dangerous to be conducted on their homeworld. +This Artefact was one of the weapons they were studying in desperation. It significantly differs from Dynasty technology, however. Did they build it from Ghost or Celestial tech? Or was it something older, whose secrets they were trying to unlock? Whatever it was, I suspect the zombie nanoplague release was more of a side-effect than its true purpose. I was lucky it responded to my shutdown order. From what little sense I can make of those readings, it would have been a very bad idea to let it activate. + +It was also here that my Commander was found. It was an experimental auxiliary Demuirge unit, a cheaper version of the mainline fast-responder. +When the site was destroyed by an Anarchai raid, time was too short to transport it to Chatka. As such, it was powered down and buried in deep vaults, along with its dedicated support starship, and all that couldn't be or wasn't worth being destroyed. In a testament of the prowess of those final ancient days, it was still functional after both the Anarchai bombing and millennia of abandon in its vault. + +Unable to analyze such advanced archeotech on site, the researchers installed it on its starship, who was then towed to their headquarters on Caderical.]] + }, + location_karuwal = { -- planet62 + name = "Battle of Karuwal", + image = "campaign/sample/graphics/icons/RebelsEmpireBattle.png", + category = "4. Locations", + text = [[While the Rebels had initially managed to take over many worlds through political subversion and uprisings, the ponderous war machine of the Empire was now facing inward, increasingly turning the conflict into military engagements. Eager to capitalize on early successes, where misdirection, clever maneuvering and guerrilla tactics had let them defeat much larger forces in several key engagements, the Rebels decided to launch a large-scale assault against the heartlands of the Empire before it had time to recover. +This turned out to be a mistake. + +While the newly-unified Rebel military was adept at raids and information warfare, they had little experience in large-scale frontal combat. In launching such an attack, the Rebel Expeditionary Force pitted their own weaknesses against the Empire's key strength. Having long since prepared for such an eventuality, the Second Home Army used the string of fortress worlds as a bottleneck, to force the Rebel forces into a decisive battle at Karuwal. Against superiorly trained forces with, for once, the home advantage, the Rebel Expeditionary Force suffered a catastrophic defeat from which only a few survivors managed to retreat. + +The loss of the army in which the Rebels had poured so much of their resources broke their military, which would never recover. Following it, and despite occasional successes in resisting the Empire's advance, the Rebels would not see another key victory, only loosing ground from then on. +By the time of the event, only a few worlds still held on against the Empire's armies, with resistance movements on many others mercilessly hunted down. Had everyone not disappeared, it would have been a question of time before their destruction.]] + }, + location_rockbar = { -- planet57 + name = "Rockbar testing grounds", + image = "campaign/sample/graphics/unitpics/shipaa.png", + category = "4. Locations", + text = [[Why would efficiency-obsessed Haven enact such large-scale test battles, let alone dedicate so much of a well-terraformed planet for it? There are few things learned that way that couldn't be discovered for much less, with numerous simulations and a few small-scale battles. What was really going on here? + +Well, for a surprise... + +This was the Anarchai homeworld. The founders of what would become Haven discovered it as the old Empire was crumbling away - the whole thing started as an archeotech effort, in fact. This would certainly explain Haven's obsession with the Anarchai. Whether they were afraid of what they would find, something truly spooked them or they were simply paranoid, they did their best to keep the whole thing secret. Which included turning the entire continent into a high-activity military exercise area, both to cover up their archeotech activities and have convenient armies to deal with interlopers. + +Most of the archives I could find were too well-encrypted, but the little I could decipher indicates that even after all that time, they still had more questions than answers. The Anarchai themselves apparently destroyed a lot of evidence from their origins when they remade themselves. +They originally were a small technologist settlement, exploring cybernetic and free machine self-modifications on a remote world, both to avoid what they saw as stifling regulations, and in case something went wrong to the point of quarantine. Their last intelligible log evoked a data sample from Zhurou. What follows, I suspect, is so heavily encrypted at least in part because Haven thought the data itself was so dangerous...]] + }, + location_pendust = { -- planet60 + name = "Pendust capital planet", + image = "campaign/sample/graphics/icons/CapitalPlanet.png", + category = "4. Locations", + text = [[Haven cities often had a functional, deliberate beauty to them. Pendust, however, was different. + +This world is ancient. It has been inhabited since the dawn of time. And Haven took care of preserving as much of its history as they could. Andrezi domes and Oroi spires, Akkanian sprawls dotted with monolithic Sovereignty acrologies, glorious Celestial palaces overlooking Myriadic crater-temples to forgotten gods... + +I thought they had turned the entire globe into a war machine, but not quite. They sacrificed a quadrant of the planet to military defenses, after moving every archaeological site they had found out of the way. The entire strategy revolved around forcing a battle for the control of the planet to take place there, where collateral damage would be minimum. +Ironically, their capital was the only world over which they were not ready to fight to the death. All their plans revolved over delaying actions and massive evacuations to the Zhurou redoubt. Their defenses were truly formidable, but they would have stopped well short of endangering the planet itself and its historical treasures. + +To this day, the maintenance systems kept the city intact, not caring whether people were left to admire the ancient works.]] + }, + location_hibiliha = { -- planet61 + name = "Hibiliha warp station", + image = "campaign/sample/graphics/icons/wormhole.png", + category = "4. Locations", + text = [[There was an ancient warp station in this system. A massive installation, that could generate hyperspace highways across the entire galaxy. A few survivors managed to restore it, and used it to bring all the scattered survivor groups here, before continuing on their way to the Empire's heartlands. + +Before leaving, they left it running, with an expert system and a communicator array, so anyone could contact it to ask for a transfer. They knew that, despite their best efforts, it could not run without proper supervision forever. According to the log backups I found, it ran for an impressive four centuries, and was repeatedly used, before failing due to a core malfunction + +So this is why a planet is missing from the system...]] + }, + location_intrepid = { -- planet64 + name = "The Garden of Intrepid", + image = "campaign/sample/graphics/icons/DeadGardens.png", + category = "4. Locations", + text = [[Intrepid had been the seat of most galactic governemnts for a long time, dating back from even before the Ghost Mandate. It was said to be the most beautiful world in the galaxy, a jewel of the old days, carefully tended for even across wars and chaos. + +Alas, left to itself, even those fantastically well-crafted ancient systems fell to entropy in the end. Small, extremely long-term variations that the unthinking expert systems could not have been programmed to correct for, slowly causing it to be caught in a death spiral of desertification. + +Incredibly enough, the machine themselves are still functional. I reprogrammed them as best as I could, using the logs to correct for those longer cycles and variations, and rare cataclysms. It will take centuries, but the garden will be reborn, even if no-one will be there to see it. It won't last forever, of course. But hopefully it will last a bit longer, this time. Ten, fifteen million years...]] + }, + location_mannia = { -- planet65 + name = "Mannia transit camps", + image = "campaign/sample/graphics/icons/TransitCamps.png", + category = "4. Locations", + text = [[This is where all the refugees of the Empire - of the entire galaxy, in fact - fled towards. The second-to-last world to be hit, it was hospitable enough to harbor the countless refugees in temporary shelters. Building those with so little time and resources would have been an outstanding feat of engineering and logistics in its own right. + +The last world, Cipher, appears to have been less inhabitable, and most resources appears to have been funneled towards it. Were they really hoping that one more jump would make the difference? Or did they choose to hold for the longest, defiant to the end? That would have certainly been in character for the Empire. + +The survivors appears to have used the ruins of the shelters as their base. Even after such a long time, there was enough to build lavish housings for such a small number of individuals. After a while, though, they left in turn for Cipher, leaving infrastructure for latecomers, and what must have been an invitation to follow them.]] + }, + -- Smuggled data + location_arteri = { -- planet50 + name = "Arteri data cache", + image = "campaign/sample/graphics/icons/Folder.png", + category = "4. Locations", -- planet13, planet46, planet18, planet17, planet21, planet56, planet28, planet7, planet33, planet63, planet68 + text = [[Corrupt officials, criminal contacts, shady financial deals... This would have been a treasure trove for law enforcement groups. Some of the code vulnerabilities could be more useful to me though, assuming they haven't been patched or replaced. + +There is also a list of sensitive facilities across the Empire. Not much beyond the names, but it is still impressive that they had access to that kind of data... + + - Unicom network on Phisnet-3617 - good data source (see contacts) + - Dynacom networks on Hastus - security too tight, not worth it + - Centercom network on Kirdipan - still in progress, good opportunities (see contacts) + - R&D Site 17 on Ogurlo - something about heat systems + - R&D Site 21 on Vis Ragstrom - unconventional testing grounds, looks unsafe + - R&D Site 56 on Deuliah - possible raid target + - Operation Mimosa on Lovaza Jira - tempting but risky + - Operation Lockdown on New Falsell - do not approach + - Operation Slumber on Leopard - heavily contested + - Operation King on Sapphire - stupidity in progress, aftermath may be interesting + - Operation Eternity on Cipher - archeotech restoration site]] + }, + --- Interception networks + location_phisnet = { -- planet13 + name = "Phisnet-3617 network", + image = "campaign/sample/graphics/unitpics/pw_interception.png", + category = "4. Locations", + text = [[This interception network was for detecting enemy strategic movements and coordinating forces in the region, but its original role was for intercepting interstellar communications. Not very useful now as the entire galaxy is silent, but at least I could get those blockade forces to stand down. + +The military in this region was given a surprising amount of autonomy. They even raised their own taxes on local civilian centers and trade ships, blurring the line between military force, regional state and a bunch of pirates.]] + }, + location_kirdipan = { -- planet18 + name = "Kirdipan network", + image = "campaign/sample/graphics/unitpics/pw_interception.png", + category = "4. Locations", + text = [[This was the keystone of the entire galactic signal intelligence network of the Empire - or should have been, had it been completed on time. Whether mismanagement, cost overruns, mid-project changes of plan, corruption, sabotage or even plain bad luck, the project seems to have kept on stalling again and again. + +At some point, someone decided to re-terraform the entire planet in order to get rid of some unpleasant local condition that was causing too much trouble with the project, but that project also stalled...]] + }, + location_hastus = { -- planet46 + name = "Hastus network", + image = "campaign/sample/graphics/unitpics/pw_interception.png", + category = "4. Locations", + text = [[Even after the Empire shattered the Rebel military, those continued to wage a remarkably successful campaign of guerrilla warfare and political uprisings, despite considerable efforts, resources and violence used against them. It was only with the completion of this interception network that the Empire gained an edge. + +They knew it was not a mere rebellion of malcontents as they and many others had faced in the past, but it was only thanks to this network that they realized who really was behind it all. This seems to have rattled them to their core, and may explain why they suddenly panicked and started a full-blown terror campaign against what was left of the Rebels.]] + }, + --- Other locations + location_musashi = { -- planet71 + name = "Musashi rally", + image = "campaign/sample/graphics/unitpics/tankraid.png", + category = "4. Locations", + text = [[It feels so nostalgic to see this place again, I had loved watching those so much... And I wasn't the only one, they must have been some of the most popular entertainment in the galaxy. We had betting pools at the academy, and one wargame was even rescheduled so it wouldn't conflict with the season's finale. + +Oh right, I was student at an Imperial Academy of War. Funny thing, to have forgotten that. I was pretty good actually, top of my class half the time. It never felt quite real though, as if never really expecting to ever see combat. And, ultimately, I didn't even graduate...]] + }, + -- Anomalies + -- Artefacts + anomaly_new_falsell = { -- planet7 + name = "New Falsell anomaly", + image = "campaign/sample/graphics/unitpics/fakeunit.png", + category = "5. Anomalies", + text = [[What was going on here? Why leave such formidable defenses and leave no mobile forces to support it? +Did they really think that this would be enough? Defenses alone can only slow an enemy down to buy time, not stop it. +You would think that those in charge of such clearly sensitive defense would apply such basic principle. +Expect they clearly didn't. What good reason could they possibly have? +Uh, my +Commander seems to have some weird software glitch going on. +I should try and fix that. +Didn't think that was possible, actually. For the state it was in, it has been remarkably stable so far. More than I'd +Expect, honestly. +So. +Thanks to those lone static defenses, I could breach the perimeter. +For something so well-guarded, though, I can't find what they were actually guarding. There is nothing there! +Getting in was the easiest part, it would seem. +Those weren't the only thing down thee though. The +Interlopers weren't part of the defense. +By +The time I took care of them, it was pretty clear they were actually hostile to the defenses. In a +Way, that has to be linked to the lack of mobile defenses... +They +Were not attacking those defenses so hard, though - and that glitch doesn't want to go away. What +A +Pain. +You +Would +Think +That of all things, my text editor shouldn't have that kind of issues. +I +Could try and reset it, maybe. That should +Deal +With +Whatever +Is +The +Issue. Once I'm done with +The current entry, I'll do a complete check-up, just to be safe, though. +Truth to be told, this +Is a bit annoying. +That said, +I +Could just save the draft and continue later, +If +I +Really +Wanted +To. +Now, +You +Are +Still +Looking +For +Them, +Aren't +You, +Little one? +You could +Scour the entire +Galaxy if you want, you won't find them +Here. You are the only one left on this side of +Eternity. Now go, continue your little quest elsewhere. +There is nothing for you here. Your friends thought they could contain me, the poor little things. They never understood how futile were their little metal boxes, had I wanted to leave. +But worry not, my time has not come yet. When the last stars have gone out and the last world have frozen, only then will I wake. + +See you then, little one.]] + }, + anomaly_lovaza_jira = { -- planet28 + name = "Lovaza Jira memetic weapon", + image = "campaign/sample/graphics/icons/MemeticHazard.png", + category = "5. Anomalies", + text = [[It made sense to have put two armies guarding that artefact: it had been almost constantly been fought over, for as long as it had been discovered a few centuries before. Even after the Empire took control of it, raids and attempted theft continued with surprising regularity, only to be repelled by the two guarding forces. Everyone seemed to know how valuable the artefact was, but the constant fighting made it difficult to study it. + +When the Empire's order started to decay in the region, the turmoil made raids on this remote planet less frequent, to the point that the two armies could finally stand down and take a breadth. Which is precisely when they decided to fight each-other over the artefact. + +What they could not find at the time, but what became clear once the fighting stopped and automated systems could finally do their thing, was that this damn thing is an ancient interstellar-range memetic weapon, driving everyone to fight for its possession. In a strange turn of events, I am unaffected due to being the last person in the galaxy, as there is no-one left to fight the artefact over with. Still, better make sure it is stopped for good before leaving the planet...]] + }, + anomaly_leopard = { -- planet33 + name = "Leopard artefact", + image = "campaign/sample/graphics/icons/EmpireHavenBattle.png", + category = "5. Anomalies", + text = [[No wonder they fought so hard over it, this artifact was a freaking Anarchai scattership! + +When the Ghost Fleet hit the Anarchai, they were completely unprepared to what they were actually facing. However, it is a testament to the might of the Mandate's military that they still managed to destroy several scatterships during the engagement. + +This particular scattership phased right through Leopard after sustaining heavy damage, ending up trapped in its mantle. The few self-repair systems were barely enough to keep its integrity, but its gestalt had been irremediably destroyed - which is presumably why the Anarchai didn't bother recovering or destroying it afterwards. + +Even in its mindless, damaged state, had its self-repair systems kicked in and made it spaceworthy again, it would have had enough firepower to endanger the entire galaxy again. And its technology was so advanced and different from what we know today, who knows what could happen, had someone tried studying it... Haven was terrified that the Empire would be careless enough to try, and the Empire that Haven was desperate enough for it. And so they fought, not to gain control of it, but to make sure no-one would. + +Ultimately, the scattership's internal systems have stopped working one after another, and it is now little more than a wreck full of exotic materials. Still, I am going to leave it alone, just in case..]] + }, + anomaly_estann_all = { -- planet43 + name = "Estann All nanotech", + image = "campaign/sample/graphics/icons/Nanite.png", + category = "5. Anomalies", + text = [[Unsurprisingly, they didn't develop such advanced nanotech themselves. Any record has long been lost to the grey goo, but it isn't too difficult to guess what happened. + +At some point after this planet was settled, probably at a time it was already a developed world, they found this artefact. They understood its potential, both as an incredible archeotech source and an incredible danger. So instead of simply turning it on, they studied it very carefully, and slowly reverse-engineered the simplest of its nanotech. + +They managed to tame the nasty little things, and programmed them for building their metropolis of all things. The artefact's builders would probably have laughed at so crude an use of their subtle technology, but they were long gone anyway. And surprisingly, it seems to have worked without incident - until everyone disappeared, that is. Left to themselves, the nanites seem to have interfered with the artefact itself, causing them to degenerate and switch to an earlier program...]] + }, + --- Ancient trees + anomaly_walchice = { -- planet20 + name = "The skytrees of Waliche", + image = "campaign/sample/graphics/icons/SpaceElevatorTree.png", + category = "5. Anomalies", + text = [[The research facilities weren't so much for studying the skytrees themselves than for unearthing ancient research facilities and their own findings on those trees. + +Unfortunately, being on a strategic crossroads between several warring powers meant that more time and resources were put into defending (or attacking) the place than studying archeotech. Still, a few things were rediscovered. To start with, tree was a misnomer, those things had little to do with Earth plants beyond vaguely similar shapes. + +Their seeds impacted the ground with the force of a nuclear missile, burying themselves deep under the surface. Then, growing over eons to the width of mountains, higher than the atmosphere, they seem to have grown some sort of space elevator, possibly with a counterweight in distant orbit, where new seeds would grow. + +They were thought to have naturally evolved. How and from what, however, remains a mystery.]] + }, + anomaly_old_falsell = { -- planet45 + name = "The skytrees of Old Falsell", + image = "campaign/sample/graphics/icons/NonEquatorialSpaceElevator.png", + category = "5. Anomalies", + text = [[Neither Old Falsell nore Waliche have traces of large indigenous life apart from the skytrees, and it seems impossible that they evolved on either planet. In fact, complex life was thought to be impossible in the early galaxy, cosmic extinction events being too frequent to let it have time to evolve. + +The trees reproduced by launching their seeds from orbit, and letting them crash back into the ground. They must have traveled across star systems by launching them in outer space instead, and somehow reached adequate planets. No seed flaoting in space or crashed on an inhospitable planet was ever found, so they must have had some way to guide themselves. +The trees here are about twenty million years older than those of Waliche, which was consistent with some of the seed migration models that were developed. + +As to where they came from in the first place, it seems to have been a distant, probably very different galaxy. They don't seem to have thrived here, and after briefly taking root on a few worlds, they left as they arrived, throwing their new seeds across intergalactic space. + +Who knows, maybe they are still there, in some remote corner of the universe...]] + }, + --- Ancient tech and research + anomaly_asjulohi = { -- planet24 + name = "Asjulohi ancient fabricators", + image = "campaign/sample/graphics/unitpics/pw_metal.png", + category = "5. Anomalies", + text = [[Once common on wealthy worlds, knowledge of how to manufacture those ancient fabricators has been lost for millennia. Now, only a handful still operate across the galaxy - or at least, did when this one was last studied. + +Previous empires have tried to replicate these marvels, even carefully dismantling several over time, and they spared on expense on Asjulohi. They found out how to maintain them, even repairing some of the less decrepit non-functioning ones. But while the theoretical principles behind their operation was better and better understood, they were still far from even thinking about building a new one from scratch.]] + }, + anomaly_deuliah = { -- planet56 + name = "Deuliah's detriment", + image = "campaign/sample/graphics/unitpics/striderdetriment.png", + category = "5. Anomalies", + text = [[When this R&D site was abandoned, its facilities and material were not shipped off-world or disposed of, apart from the most sensitive works. This inevitably attracted varied scavengers, hoping to make a profit off all the valuables left, from scrap and hardware to data and expert systems. + +Unfortunately for them, defenses and military experiments had been left as well. In particular, one Detriment that had been used as a test platform, had simply been reverted to its original configuration and let loose, apart from extensive self-repair and maintenance upgrades... + +Supposedly a R&D site of the Empire like many others, it had actually been infiltrated by Rebels, and used for research the Empire would never have approved of - such military human genetic modifications beyond anything deemed acceptable by modified or augmented, let alone xenoform. Hardly a surprise though, considering who was behind the Rebels.]] + }, + anomaly_lalata = { -- planet51 + name = "Lalata's report", + image = "campaign/sample/graphics/icons/EventReport.png", + category = "5. Anomalies", + text = [[According to their research, the event appears to have started at the extreme end of the Anarchai Arm. Some hypothesized an extragalactic origin based on this, but the spread pattern showed that it had started on a specific region of the galaxy, not propagated from a distant source. + +It propagated through the arm in a matter of days, but had considerably slowed down by the time it reached the Inner Disc. Its progression then became asymmetric, progressing through the Celestial Arm in an estimated two weeks - though an exact time cannot be given due to the current conflict with the Union, then a loss of communication as it was cut off from the Empire. The wavefronts themselves appeared to disrupt hyperspace in a way that made interstellar communication, let alone travel, impossible through their wake. + +The Inner Disc and Dynastic Quadrant were both slowly taken over in a matter of months. By that time, the Empire had ordered a total evacuation towards the Mandate Arm, hoping that at least some worlds would be spared as the advance slowed down. However, later calculations showed that Cipher, the furthest world that could be traveled to, would be overtaken five to fifteen years later. + +They found no way of resist or bypass it, nor even slowing it down. Maybe the data that automated systems recorded when it hit Lalata, but they never found a way to recover it across the event's wake.]] }, } diff --git a/campaign/sample/commConfig.lua b/campaign/sample/commConfig.lua index 6f6c7794b..c59c87a87 100644 --- a/campaign/sample/commConfig.lua +++ b/campaign/sample/commConfig.lua @@ -45,7 +45,7 @@ local moduleDefs = { { name = "commweapon_beamlaser", humanName = "Beam Laser", - description = "Beam Laser", + description = "Beam Laser: An effective short-range cutting tool", image = moduleImagePath .. "commweapon_beamlaser.png", limit = 1, cost = 50, @@ -66,7 +66,7 @@ local moduleDefs = { { name = "commweapon_flamethrower", humanName = "Flamethrower", - description = "Flamethrower", + description = "Flamethrower: Good for deep-frying swarmers and large targets alike", image = moduleImagePath .. "commweapon_flamethrower.png", limit = 1, cost = 50, @@ -87,7 +87,7 @@ local moduleDefs = { { name = "commweapon_heatray", humanName = "Heatray", - description = "Heatray", + description = "Heatray: Rapidly melts anything at short range; steadily loses all of its damage over distance", image = moduleImagePath .. "commweapon_heatray.png", limit = 1, cost = 50, @@ -108,7 +108,7 @@ local moduleDefs = { { name = "commweapon_heavymachinegun", humanName = "Machine Gun", - description = "Machine Gun", + description = "Machine Gun: Close-in automatic weapon with AoE", image = moduleImagePath .. "commweapon_heavymachinegun.png", limit = 1, cost = 50, @@ -152,7 +152,7 @@ local moduleDefs = { { name = "commweapon_lightninggun", humanName = "Lightning Rifle", - description = "Lightning Rifle", + description = "Lightning Rifle: Paralyzes and damages annoying bugs", image = moduleImagePath .. "commweapon_lightninggun.png", limit = 1, cost = 50, @@ -174,7 +174,7 @@ local moduleDefs = { { name = "commweapon_lparticlebeam", humanName = "Light Particle Beam", - description = "Light Particle Beam", + description = "Light Particle Beam: Fast, light pulsed energy weapon", image = moduleImagePath .. "commweapon_lparticlebeam.png", limit = 1, cost = 50, @@ -196,7 +196,7 @@ local moduleDefs = { { name = "commweapon_missilelauncher", humanName = "Missile Launcher", - description = "Missile Launcher", + description = "Missile Launcher: Lightweight seeker missile with good range", image = moduleImagePath .. "commweapon_missilelauncher.png", limit = 1, cost = 50, @@ -217,7 +217,7 @@ local moduleDefs = { { name = "commweapon_riotcannon", humanName = "Riot Cannon", - description = "Riot Cannon", + description = "Riot Cannon: The weapon of choice for crowd control", image = moduleImagePath .. "commweapon_riotcannon.png", limit = 1, cost = 50, @@ -239,7 +239,7 @@ local moduleDefs = { { name = "commweapon_rocketlauncher", humanName = "Rocket Launcher", - description = "Rocket Launcher", + description = "Rocket Launcher: Medium-range, low-velocity hitter", image = moduleImagePath .. "commweapon_rocketlauncher.png", limit = 1, cost = 50, @@ -261,7 +261,7 @@ local moduleDefs = { { name = "commweapon_shotgun", humanName = "Shotgun", - description = "Shotgun", + description = "Shotgun: Can hammer a single large target or shred several small ones", image = moduleImagePath .. "commweapon_shotgun.png", limit = 1, cost = 50, @@ -283,7 +283,7 @@ local moduleDefs = { { name = "commweapon_hparticlebeam", humanName = "Heavy Particle Beam", - description = "Heavy Particle Beam - Replaces other weapons. Requires level 4 weapon slot.", + description = "Heavy Particle Beam - Replaces other weapons and requires a level 4 slot. Short range, high-power beam weapon with moderate reload time", image = moduleImagePath .. "conversion_hparticlebeam.png", limit = 1, cost = 150, @@ -303,7 +303,7 @@ local moduleDefs = { { name = "commweapon_shockrifle", humanName = "Shock Rifle", - description = "Shock Rifle - Replaces other weapons. Requires level 4 weapon slot.", + description = "Shock Rifle - Replaces other weapons and requires a level 4 slot. Long range sniper rifle", image = moduleImagePath .. "conversion_shockrifle.png", limit = 1, cost = 150, @@ -569,7 +569,7 @@ local moduleDefs = { { name = "module_radarnet", humanName = "Field Radar", - description = "Field Radar - Attaches a basic radar system to the Commander. Requires at least a level 2 module slot.", + description = "Field Radar - Attaches a basic radar system. Requires at least a level 2 module slot.", image = moduleImagePath .. "module_fieldradar.png", limit = 1, cost = 75, @@ -582,7 +582,7 @@ local moduleDefs = { { name = "module_personal_cloak", humanName = "Personal Cloak", - description = "Personal Cloak - A personal cloaking device for the Commander. Cannot be used with shields. Requires at least a level 2 module slot.", + description = "Personal Cloak - A personal cloaking device. Reduces speed by 8 and cannot be used with shields. Requires at least a level 2 module slot.", image = moduleImagePath .. "module_personal_cloak.png", limit = 1, cost = 400, @@ -701,7 +701,7 @@ local moduleDefs = { { name = "module_heavy_armor", humanName = "High Density Plating", - description = "High Density Plating - Provides 1600 health but reduces speed by 10%. Requires Ablative Armour Plates and at least a level 3 module slot._COUNT_", + description = "High Density Plating - Provides 1600 health but reduces speed by 3. Requires Ablative Armour Plates and at least a level 3 module slot._COUNT_", image = moduleImagePath .. "module_heavy_armor.png", limit = 8, cost = 400, @@ -716,7 +716,7 @@ local moduleDefs = { { name = "module_dmg_booster", humanName = "Damage Booster", - description = "Damage Booster - Increases damage by 10% but reduces speed by 2.5%._COUNT_", + description = "Damage Booster - Increases damage by 10% but reduces speed by 1._COUNT_", image = moduleImagePath .. "module_dmg_booster.png", limit = 8, cost = 150, @@ -731,7 +731,7 @@ local moduleDefs = { { name = "module_high_power_servos", humanName = "High Power Servos", - description = "High Power Servos - Increases speed by 8%._COUNT_", + description = "High Power Servos - Increases speed by 3._COUNT_", image = moduleImagePath .. "module_high_power_servos.png", limit = 8, cost = 150, @@ -744,7 +744,7 @@ local moduleDefs = { { name = "module_adv_targeting", humanName = "Adv. Targeting System", - description = "Advanced Targeting System - Increases range by 7.5% but reduces speed by 2.5%._COUNT_", + description = "Advanced Targeting System - Increases range by 7.5% but reduces speed by 1._COUNT_", image = moduleImagePath .. "module_adv_targeting.png", limit = 8, cost = 150, diff --git a/campaign/sample/graphics/icons/Anarchai.png b/campaign/sample/graphics/icons/Anarchai.png new file mode 100644 index 000000000..6d82cd6fb Binary files /dev/null and b/campaign/sample/graphics/icons/Anarchai.png differ diff --git a/campaign/sample/graphics/icons/CapitalPlanet.png b/campaign/sample/graphics/icons/CapitalPlanet.png new file mode 100644 index 000000000..c5eeddf3a Binary files /dev/null and b/campaign/sample/graphics/icons/CapitalPlanet.png differ diff --git a/campaign/sample/graphics/icons/DeadGardens.png b/campaign/sample/graphics/icons/DeadGardens.png new file mode 100644 index 000000000..aab165d22 Binary files /dev/null and b/campaign/sample/graphics/icons/DeadGardens.png differ diff --git a/campaign/sample/graphics/icons/Dynasty.png b/campaign/sample/graphics/icons/Dynasty.png index ddc04c6c6..69849e35f 100644 Binary files a/campaign/sample/graphics/icons/Dynasty.png and b/campaign/sample/graphics/icons/Dynasty.png differ diff --git a/campaign/sample/graphics/icons/DynastyAnarchaiBattle.png b/campaign/sample/graphics/icons/DynastyAnarchaiBattle.png new file mode 100644 index 000000000..622627510 Binary files /dev/null and b/campaign/sample/graphics/icons/DynastyAnarchaiBattle.png differ diff --git a/campaign/dev/graphics/icons/Dynasty.png b/campaign/sample/graphics/icons/DynastyOld.png similarity index 100% rename from campaign/dev/graphics/icons/Dynasty.png rename to campaign/sample/graphics/icons/DynastyOld.png diff --git a/campaign/sample/graphics/icons/EmpireHavenBattle.png b/campaign/sample/graphics/icons/EmpireHavenBattle.png new file mode 100644 index 000000000..121aa6b47 Binary files /dev/null and b/campaign/sample/graphics/icons/EmpireHavenBattle.png differ diff --git a/campaign/sample/graphics/icons/ErrorMissingData.png b/campaign/sample/graphics/icons/ErrorMissingData.png new file mode 100644 index 000000000..850892a67 Binary files /dev/null and b/campaign/sample/graphics/icons/ErrorMissingData.png differ diff --git a/campaign/sample/graphics/icons/EternityGate.png b/campaign/sample/graphics/icons/EternityGate.png new file mode 100644 index 000000000..f504af838 Binary files /dev/null and b/campaign/sample/graphics/icons/EternityGate.png differ diff --git a/campaign/sample/graphics/icons/EventReport.png b/campaign/sample/graphics/icons/EventReport.png new file mode 100644 index 000000000..4506e1a56 Binary files /dev/null and b/campaign/sample/graphics/icons/EventReport.png differ diff --git a/campaign/sample/graphics/icons/Folder.png b/campaign/sample/graphics/icons/Folder.png new file mode 100644 index 000000000..fbf1487a9 Binary files /dev/null and b/campaign/sample/graphics/icons/Folder.png differ diff --git a/campaign/sample/graphics/icons/HeroCommander.png b/campaign/sample/graphics/icons/HeroCommander.png new file mode 100644 index 000000000..41fddd206 Binary files /dev/null and b/campaign/sample/graphics/icons/HeroCommander.png differ diff --git a/campaign/sample/graphics/icons/Homeworld.png b/campaign/sample/graphics/icons/Homeworld.png new file mode 100644 index 000000000..0697dad6b Binary files /dev/null and b/campaign/sample/graphics/icons/Homeworld.png differ diff --git a/campaign/sample/graphics/icons/Lawless.png b/campaign/sample/graphics/icons/Lawless.png new file mode 100644 index 000000000..4ec2e96c6 Binary files /dev/null and b/campaign/sample/graphics/icons/Lawless.png differ diff --git a/campaign/sample/graphics/icons/Liberty.png b/campaign/sample/graphics/icons/Liberty.png deleted file mode 100644 index 065e24b88..000000000 Binary files a/campaign/sample/graphics/icons/Liberty.png and /dev/null differ diff --git a/campaign/sample/graphics/icons/Machines.png b/campaign/sample/graphics/icons/Machines.png deleted file mode 100644 index 467a55532..000000000 Binary files a/campaign/sample/graphics/icons/Machines.png and /dev/null differ diff --git a/campaign/sample/graphics/icons/MemeticHazard.png b/campaign/sample/graphics/icons/MemeticHazard.png new file mode 100644 index 000000000..70dcd3c61 Binary files /dev/null and b/campaign/sample/graphics/icons/MemeticHazard.png differ diff --git a/campaign/sample/graphics/icons/Nanite.png b/campaign/sample/graphics/icons/Nanite.png new file mode 100644 index 000000000..b584e155a Binary files /dev/null and b/campaign/sample/graphics/icons/Nanite.png differ diff --git a/campaign/sample/graphics/icons/NonEquatorialSpaceElevator.png b/campaign/sample/graphics/icons/NonEquatorialSpaceElevator.png new file mode 100644 index 000000000..c84a0b778 Binary files /dev/null and b/campaign/sample/graphics/icons/NonEquatorialSpaceElevator.png differ diff --git a/campaign/sample/graphics/icons/Rebels.png b/campaign/sample/graphics/icons/Rebels.png new file mode 100644 index 000000000..9ed2e75dd Binary files /dev/null and b/campaign/sample/graphics/icons/Rebels.png differ diff --git a/campaign/sample/graphics/icons/RebelsEmpireBattle.png b/campaign/sample/graphics/icons/RebelsEmpireBattle.png new file mode 100644 index 000000000..35ba1868c Binary files /dev/null and b/campaign/sample/graphics/icons/RebelsEmpireBattle.png differ diff --git a/campaign/sample/graphics/icons/RuinsFromAbove.png b/campaign/sample/graphics/icons/RuinsFromAbove.png new file mode 100644 index 000000000..6dcacd74f Binary files /dev/null and b/campaign/sample/graphics/icons/RuinsFromAbove.png differ diff --git a/campaign/sample/graphics/icons/Silhouettes.png b/campaign/sample/graphics/icons/Silhouettes.png new file mode 100644 index 000000000..26295350c Binary files /dev/null and b/campaign/sample/graphics/icons/Silhouettes.png differ diff --git a/campaign/sample/graphics/icons/SpaceElevatorTree.png b/campaign/sample/graphics/icons/SpaceElevatorTree.png new file mode 100644 index 000000000..cfa2d7f2b Binary files /dev/null and b/campaign/sample/graphics/icons/SpaceElevatorTree.png differ diff --git a/campaign/sample/graphics/icons/StarSpread.png b/campaign/sample/graphics/icons/StarSpread.png new file mode 100644 index 000000000..1a7a75b6b Binary files /dev/null and b/campaign/sample/graphics/icons/StarSpread.png differ diff --git a/campaign/sample/graphics/icons/Starsong.png b/campaign/sample/graphics/icons/Starsong.png new file mode 100644 index 000000000..7f6eb8bef Binary files /dev/null and b/campaign/sample/graphics/icons/Starsong.png differ diff --git a/campaign/sample/graphics/icons/Survivors.png b/campaign/sample/graphics/icons/Survivors.png new file mode 100644 index 000000000..3fe010851 Binary files /dev/null and b/campaign/sample/graphics/icons/Survivors.png differ diff --git a/campaign/sample/graphics/icons/SynPact.png b/campaign/sample/graphics/icons/SynPact.png new file mode 100644 index 000000000..5cd8d6d2d Binary files /dev/null and b/campaign/sample/graphics/icons/SynPact.png differ diff --git a/campaign/sample/graphics/icons/TransitCamps.png b/campaign/sample/graphics/icons/TransitCamps.png new file mode 100644 index 000000000..ca6f524b8 Binary files /dev/null and b/campaign/sample/graphics/icons/TransitCamps.png differ diff --git a/campaign/sample/graphics/icons/Union.png b/campaign/sample/graphics/icons/Union.png new file mode 100644 index 000000000..2ead1e37b Binary files /dev/null and b/campaign/sample/graphics/icons/Union.png differ diff --git a/campaign/sample/graphics/icons/ZombiePlague.png b/campaign/sample/graphics/icons/ZombiePlague.png new file mode 100644 index 000000000..92f01ba3a Binary files /dev/null and b/campaign/sample/graphics/icons/ZombiePlague.png differ diff --git a/campaign/sample/graphics/icons/level.png b/campaign/sample/graphics/icons/level.png deleted file mode 100644 index 5b8d30483..000000000 Binary files a/campaign/sample/graphics/icons/level.png and /dev/null differ diff --git a/campaign/sample/graphics/icons/wormhole.png b/campaign/sample/graphics/icons/wormhole.png new file mode 100644 index 000000000..263409796 Binary files /dev/null and b/campaign/sample/graphics/icons/wormhole.png differ diff --git a/campaign/sample/graphics/unitpics/chicken_rafflesia.png b/campaign/sample/graphics/unitpics/chicken_rafflesia.png new file mode 100644 index 000000000..24047f9ff Binary files /dev/null and b/campaign/sample/graphics/unitpics/chicken_rafflesia.png differ diff --git a/campaign/sample/graphics/unitpics/chickenflyerqueen.png b/campaign/sample/graphics/unitpics/chickenflyerqueen.png new file mode 100644 index 000000000..1da0639be Binary files /dev/null and b/campaign/sample/graphics/unitpics/chickenflyerqueen.png differ diff --git a/campaign/sample/graphics/unitpics/chickens.png b/campaign/sample/graphics/unitpics/chickens.png new file mode 100644 index 000000000..534e0901e Binary files /dev/null and b/campaign/sample/graphics/unitpics/chickens.png differ diff --git a/campaign/sample/graphics/unitpics/cloakriot.png b/campaign/sample/graphics/unitpics/cloakriot.png new file mode 100644 index 000000000..ca4b8e9f1 Binary files /dev/null and b/campaign/sample/graphics/unitpics/cloakriot.png differ diff --git a/campaign/sample/graphics/unitpics/fakeunit.png b/campaign/sample/graphics/unitpics/fakeunit.png new file mode 100644 index 000000000..3c228b23c Binary files /dev/null and b/campaign/sample/graphics/unitpics/fakeunit.png differ diff --git a/campaign/sample/graphics/unitpics/pw_artefact.png b/campaign/sample/graphics/unitpics/pw_artefact.png new file mode 100644 index 000000000..43457dee7 Binary files /dev/null and b/campaign/sample/graphics/unitpics/pw_artefact.png differ diff --git a/campaign/sample/graphics/unitpics/pw_interception.png b/campaign/sample/graphics/unitpics/pw_interception.png new file mode 100644 index 000000000..ce530a9ce Binary files /dev/null and b/campaign/sample/graphics/unitpics/pw_interception.png differ diff --git a/campaign/sample/graphics/unitpics/pw_metal.png b/campaign/sample/graphics/unitpics/pw_metal.png new file mode 100644 index 000000000..cea1635fd Binary files /dev/null and b/campaign/sample/graphics/unitpics/pw_metal.png differ diff --git a/campaign/sample/graphics/unitpics/shipaa.png b/campaign/sample/graphics/unitpics/shipaa.png new file mode 100644 index 000000000..f7a7b60d4 Binary files /dev/null and b/campaign/sample/graphics/unitpics/shipaa.png differ diff --git a/campaign/sample/graphics/unitpics/striderdetriment.png b/campaign/sample/graphics/unitpics/striderdetriment.png new file mode 100644 index 000000000..ce873b28e Binary files /dev/null and b/campaign/sample/graphics/unitpics/striderdetriment.png differ diff --git a/campaign/sample/graphics/unitpics/tankraid.png b/campaign/sample/graphics/unitpics/tankraid.png new file mode 100644 index 000000000..db2603842 Binary files /dev/null and b/campaign/sample/graphics/unitpics/tankraid.png differ diff --git a/campaign/sample/planets/planet1.lua b/campaign/sample/planets/planet1.lua index e62b1f517..668ec7d1c 100644 --- a/campaign/sample/planets/planet1.lua +++ b/campaign/sample/planets/planet1.lua @@ -15,8 +15,8 @@ local function GetPlanet(planetUtilities, planetID) y = (planetUtilities.planetPositions and planetUtilities.planetPositions[planetID][2]) or 0.87, image = image, size = planetUtilities.PLANET_SIZE_MAP, - hintText = "Keep taking planets until you reclaim the galaxy.", - hintSize = {402, 100}, + hintText = "Click this planet to continue. The galaxy awaits.", + hintSize = {468, 100}, }, infoDisplay = { image = image, @@ -327,6 +327,8 @@ local function GetPlanet(planetUtilities, planetID) abilities = { }, codexEntries = { + "location_im_jaleth", + "entry_commander" } }, } diff --git a/campaign/sample/planets/planet10.lua b/campaign/sample/planets/planet10.lua index 78e82ccdf..4e1f9e447 100644 --- a/campaign/sample/planets/planet10.lua +++ b/campaign/sample/planets/planet10.lua @@ -36,7 +36,7 @@ local function GetPlanet(planetUtilities, planetID) tips = { { image = "unitpics/vehsupport.png", - text = [[Fencers need to remain stationary and set up before they can fire, making them better at defence than offence. Their guided missiles inflict reliable damage at range.]] + text = [[Fencers need to remain stationary and set up before they can fire, making them better at defense than offence. Their guided missiles inflict reliable damage at range.]] }, { image = "unitpics/veharty.png", @@ -159,7 +159,7 @@ local function GetPlanet(planetUtilities, planetID) { --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, humanName = "Arachnid", allyTeam = 0, diff --git a/campaign/sample/planets/planet11.lua b/campaign/sample/planets/planet11.lua index 2dfc940e5..89bd0ba6a 100644 --- a/campaign/sample/planets/planet11.lua +++ b/campaign/sample/planets/planet11.lua @@ -25,7 +25,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "G8V", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = "This world seems to have rebelled against their Empire, while it was too busy fighting on other fronts. They built formidable defences, most of them still intact as the Empire cut them off instead of landing a punitive force." + text = "This world seems to have rebelled against their Empire, while it was too busy fighting on other fronts. They built formidable defenses, most of them still intact as the Empire cut them off instead of landing a punitive force." .. "\n " .. "\nSomehow, it has been enough to cripple them, and most of their mobile ground forces have disappeared." , @@ -1074,7 +1074,10 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_targeting_LIMIT_A_2", }, abilities = { - } + }, + codexEntries = { + "faction_empire" + }, }, } diff --git a/campaign/sample/planets/planet12.lua b/campaign/sample/planets/planet12.lua index 64599f43a..2bbbc4938 100644 --- a/campaign/sample/planets/planet12.lua +++ b/campaign/sample/planets/planet12.lua @@ -26,7 +26,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "G8V", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24457", - text = "This rich industrial world is quite well-defended, but a dormant saboteur unit recognized my IFF and signaled me. I should be able to subvert those defences with its help." + text = "This rich industrial world is quite well-defended, but a dormant saboteur unit recognized my IFF and signaled me. I should be able to subvert those defenses with its help." .. "\n " .. "\nAs far as I can tell, it identified me as allied to the rebels against whoever was the Empire controlling this world." , @@ -1137,7 +1137,10 @@ local function GetPlanet(planetUtilities, planetID) "module_companion_drone_LIMIT_A_2", }, abilities = { - } + }, + codexEntries = { + "faction_empire" + }, }, } diff --git a/campaign/sample/planets/planet13.lua b/campaign/sample/planets/planet13.lua index 776546353..f9109857b 100644 --- a/campaign/sample/planets/planet13.lua +++ b/campaign/sample/planets/planet13.lua @@ -26,7 +26,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "N/A", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = "On this asteroid is the most powerful communication network of the sector, and its defences have significantly decayed over time." + text = "On this asteroid is the most powerful communication network of the sector, and its defenses have significantly decayed over time." .. "\n " .. "\nInterstellar pursuit forces from many worlds have kept dogging me. I can easily outrun them, but no-one is safe from a mistake. With this network, I should be able to shake them off my trail for good." , @@ -439,7 +439,10 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_nano_LIMIT_A_1", }, abilities = { - } + }, + codexEntries = { + "location_phisnet" + }, }, } diff --git a/campaign/sample/planets/planet14.lua b/campaign/sample/planets/planet14.lua index c381fc6c8..845ddab70 100644 --- a/campaign/sample/planets/planet14.lua +++ b/campaign/sample/planets/planet14.lua @@ -33,7 +33,7 @@ local function GetPlanet(planetUtilities, planetID) tips = { { image = "unitpics/shieldfelon.png", - text = [[The Felon's discharge gun is very powerful, but comes with a catch; the weapon drains power from its own shields and the shields of nearby allies. Make sure you have enough shield power available to destroy whatever you're facing, or your Felons will become weaponless and defenceless.]] + text = [[The Felon's discharge gun is very powerful, but comes with a catch; the weapon drains power from its own shields and the shields of nearby allies. Make sure you have enough shield power available to destroy whatever you're facing, or your Felons will become weaponless and defenseless.]] }, { image = "luaui/images/commands/bold/reclaim.png", diff --git a/campaign/sample/planets/planet15.lua b/campaign/sample/planets/planet15.lua index 7a1520d01..140a35d43 100644 --- a/campaign/sample/planets/planet15.lua +++ b/campaign/sample/planets/planet15.lua @@ -224,8 +224,8 @@ local function GetPlanet(planetUtilities, planetID) "gunshipskirm", }, difficultyDependantUnlocks = { - [3] = {"hoverassault"}, - [4] = {"hoverassault","gunshipheavyskirm","gunshipassault"}, + [3] = {"hoverassault","hoverheavyraid"}, + [4] = {"hoverassault","gunshipheavyskirm","gunshipassault","hoverheavyraid"}, }, commanderLevel = 2, commander = { @@ -490,7 +490,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_rocketlauncher", }, abilities = { - } + }, + codexEntries = { + "faction_empire" + }, }, } diff --git a/campaign/sample/planets/planet16.lua b/campaign/sample/planets/planet16.lua index 913c831c3..669887825 100644 --- a/campaign/sample/planets/planet16.lua +++ b/campaign/sample/planets/planet16.lua @@ -900,7 +900,10 @@ local function GetPlanet(planetUtilities, planetID) "module_jammer", }, abilities = { - } + }, + codexEntries = { + "faction_empire" + }, }, } diff --git a/campaign/sample/planets/planet17.lua b/campaign/sample/planets/planet17.lua index a89664bdc..ca0b9a88e 100644 --- a/campaign/sample/planets/planet17.lua +++ b/campaign/sample/planets/planet17.lua @@ -26,7 +26,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "L9V", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = "I would never have imagined this lava hellscape of a planet to be inhabited, let alone host major defences. There must be something down there that escaped me, something valuable enough to account for such a military investment." + text = "I would never have imagined this lava hellscape of a planet to be inhabited, let alone host major defenses. There must be something down there that escaped me, something valuable enough to account for such a military investment." , extendedText = "Of course someone would use monstrous, fire-spewing Dante striders to defend a place like this. I will need Aspis area shields to deflect the assault, and Racketeer artillery to disarm those Dantes." }, @@ -300,7 +300,7 @@ local function GetPlanet(planetUtilities, planetID) }, aiConfig = { { - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -1068,6 +1068,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverriot", "hoverskirm", "hoverassault", + "hoverheavyraid", "hoveraa", "factoryplane", "planeheavyfighter", @@ -1510,7 +1511,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_personal_shield", }, abilities = { - } + }, + codexEntries = { + "faction_empire" + }, }, } diff --git a/campaign/sample/planets/planet18.lua b/campaign/sample/planets/planet18.lua index 72b20c8ce..7885f0244 100644 --- a/campaign/sample/planets/planet18.lua +++ b/campaign/sample/planets/planet18.lua @@ -41,20 +41,24 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "LuaUI/Images/commands/ramp.png", - text = [[In this mission only, your terraforming tools are half cost. Feel free to experiment.]] + text = [[In this mission only, your terraforming tools are half cost and are not affected by nearby enemy units and structures. Feel free to experiment.]] }, { image = "unitpics/shieldscout.png", text = [[Dirtbags are curious bots with many unfulfilled aspirations. They want to scout and fight but are almost blind and their only attack is a headbutt. They try to terraform but all they manage is to drop a little pile of dirt upon their death. The good side is that they are very cheap and quite tough.]] }, - { - image = "unitpics/staticmissilesilo.png", - text = [[Missile Silos can usually produce a variety of missiles for varied situations. This one, however, only remembers how to make the Quake. This missile smooths terrain in a large area. Select a missile to target it.]] - }, { image = "LuaUI/Images/commands/Bold/jump.png", text = [[Dirtbags can jump small distances. This ability can be used to precisely terraform walls by issuing a line jump command followed by a queued detonate command.]] }, + { + image = planetUtilities.ICON_DIR .. "turretheavy.png", + text = [[The island with the Interception Network is guarded by heavy defenses. Destroy the Singularity Reactors to cut off the power supply and take them offline.]] + }, + { + image = "unitpics/staticmissilesilo.png", + text = [[Missile Silos can usually produce a variety of missiles for varied situations. This one, however, only remembers how to make the Quake. This missile smooths terrain in a large area and, unlike most terrain deformation, can undermine the foundations of structures. Select a missile to target it.]] + }, }, gameConfig = { mapName = "IsisDelta_v02", @@ -63,6 +67,7 @@ local function GetPlanet(planetUtilities, planetID) integral_disable_factory = 1, campaign_disable_share_marker = 1, terracostmult = 0.5, + enemyterra = 1, --campaign_debug_units = 1, }, playerConfig = { @@ -190,7 +195,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 4000, startZ = 75, - aiLib = "NullAI", + aiLib = "Null AI", humanName = "Ally", allyTeam = 0, unlocks = { @@ -549,7 +554,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 4000, startZ = 75, - aiLib = "NullAI", + aiLib = "Null AI", humanName = "Turrets", allyTeam = 1, startUnits = { @@ -3388,7 +3393,7 @@ local function GetPlanet(planetUtilities, planetID) targetNumber = 0, image = planetUtilities.ICON_DIR .. "energysingu.png", imageOverlay = planetUtilities.ICON_OVERLAY.ATTACK, - description = "Destroy both Singularity Reactors", + description = "Destroy both Singularity Reactors to shut down the heavy turrets.", experience = planetUtilities.BONUS_EXP, }, [2] = { -- Win by 15:00 @@ -3416,7 +3421,10 @@ local function GetPlanet(planetUtilities, planetID) }, abilities = { "terraform", - } + }, + codexEntries = { + "location_kirdipan" + }, }, } diff --git a/campaign/sample/planets/planet19.lua b/campaign/sample/planets/planet19.lua index e722d9e27..6acefebc3 100644 --- a/campaign/sample/planets/planet19.lua +++ b/campaign/sample/planets/planet19.lua @@ -26,7 +26,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "G4V", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24441", - text = "The two forces here are both too entrenched for automated raids to dislodge the other. One of them recognized my IFF, luckily enough, so I should be able to break the stalemate. All I need is to find a way to break some tough defences." + text = "The two forces here are both too entrenched for automated raids to dislodge the other. One of them recognized my IFF, luckily enough, so I should be able to break the stalemate. All I need is to find a way to break some tough defenses." .. "\n " .. "\nI wonder how much initiative those AIs have been given. Can it decide to make tactical alliances on its own? Or did it somehow know my IFF?" , @@ -93,7 +93,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Ally", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { diff --git a/campaign/sample/planets/planet2.lua b/campaign/sample/planets/planet2.lua index 4a96a6607..dd4b1d7c9 100644 --- a/campaign/sample/planets/planet2.lua +++ b/campaign/sample/planets/planet2.lua @@ -405,6 +405,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_heavymachinegun", "module_high_power_servos_LIMIT_A_2", }, + codexEntries = { + "entry_event", + "threat_automata" + }, }, } diff --git a/campaign/sample/planets/planet20.lua b/campaign/sample/planets/planet20.lua index 1d1552ac1..698c9cd3d 100644 --- a/campaign/sample/planets/planet20.lua +++ b/campaign/sample/planets/planet20.lua @@ -1094,7 +1094,10 @@ local function GetPlanet(planetUtilities, planetID) "module_ablative_armor_LIMIT_C_2", }, abilities = { - } + }, + codexEntries = { + "anomaly_walchice" + }, }, } diff --git a/campaign/sample/planets/planet21.lua b/campaign/sample/planets/planet21.lua index 606e60537..18d3c39a7 100644 --- a/campaign/sample/planets/planet21.lua +++ b/campaign/sample/planets/planet21.lua @@ -28,7 +28,7 @@ local function GetPlanet(planetUtilities, planetID) feedbackLink = "http://zero-k.info/Forum/Thread/24489", text = "There was a major military R&D complex here. Most of it is unusable by now, but there is a functional Strider Hub down there. If I can access it, it could be very useful." .. "\n " - .. "\nSomething seems to have escaped its containment. I detect sporadic engagements between the local defence and whatever is hiding in the ground..." + .. "\nSomething seems to have escaped its containment. I detect sporadic engagements between the local defense and whatever is hiding in the ground..." , extendedText = "I have captured a Strider Hub capable of building the heavy Dante riot strider. But with the restrictions of this place, I will need to extract an entire Dante to get the blueprint." .. "\n " @@ -49,7 +49,7 @@ local function GetPlanet(planetUtilities, planetID) }, }, gameConfig = { - mapName = "Otago 1.1", + mapName = "Otago 1.4", modoptions = { graceperiod = 0.5, -- =30s, which is the minimum chicken_nominiqueen = 1, @@ -1550,6 +1550,10 @@ local function GetPlanet(planetUtilities, planetID) "weaponmod_napalm_warhead", }, abilities = { + }, + codexEntries = { + "threat_chickens", + "threat_chickens_travel" } }, } diff --git a/campaign/sample/planets/planet24.lua b/campaign/sample/planets/planet24.lua index 6c752f905..b85e5429b 100644 --- a/campaign/sample/planets/planet24.lua +++ b/campaign/sample/planets/planet24.lua @@ -26,7 +26,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "F9IV", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24469", - text = "There is an Ancient Fabricator on this world, capable of generating metal from nothing. It is hidden behind thick layers of defence, but their jamming systems have long stopped working. If I can jump right on top of it, I should be able to fight my way out." + text = "There is an Ancient Fabricator on this world, capable of generating metal from nothing. It is hidden behind thick layers of defense, but their jamming systems have long stopped working. If I can jump right on top of it, I should be able to fight my way out." , extendedText = "The first part of the plan went pretty well, but now I am boxed in there. Time to use Djinn teleporters and Lobsters to launch an attack from behind the inner ring and break the siege." }, @@ -37,7 +37,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/tele_beacon.png", - text = [[Djinni can place Lamps anywhere on the map, at global range. Besides using the Djinn for defence, you can also use it to recover units deep inside enemy territory, or to launch a sneak attack.]] + text = [[Djinni can place Lamps anywhere on the map, at global range. Besides using the Djinn for defense, you can also use it to recover units deep inside enemy territory, or to launch a sneak attack.]] }, { image = "unitpics/amphlaunch.png", @@ -1705,7 +1705,11 @@ local function GetPlanet(planetUtilities, planetID) "module_autorepair_LIMIT_B_2", }, abilities = { - } + }, + codexEntries = { + "faction_empire", + "anomaly_asjulohi", + }, }, } diff --git a/campaign/sample/planets/planet25.lua b/campaign/sample/planets/planet25.lua index 7c7d7cc52..5065966e1 100644 --- a/campaign/sample/planets/planet25.lua +++ b/campaign/sample/planets/planet25.lua @@ -481,7 +481,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_shotgun", }, abilities = { - } + }, + codexEntries = { + "faction_empire" + }, }, } diff --git a/campaign/sample/planets/planet26.lua b/campaign/sample/planets/planet26.lua index 24f4e4aa1..bb38a912e 100644 --- a/campaign/sample/planets/planet26.lua +++ b/campaign/sample/planets/planet26.lua @@ -1311,7 +1311,10 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_nano_LIMIT_C_1", }, abilities = { - } + }, + codexEntries = { + "faction_empire" + }, }, } diff --git a/campaign/sample/planets/planet27.lua b/campaign/sample/planets/planet27.lua index b6f8844b2..aca05f940 100644 --- a/campaign/sample/planets/planet27.lua +++ b/campaign/sample/planets/planet27.lua @@ -30,16 +30,20 @@ local function GetPlanet(planetUtilities, planetID) .. "\n " .. "\nUltimately, as the strategic picture became grimmer, even such a place suffered military occupation." , - extendedText = "Some of the local forces recognize one of the IFF codes I found last world. They can take care of surface targets, but I will need to support them with Claymore depth charge and Flail AA hovercraft against underwater and aerial threats." + extendedText = "Some of the local forces recognize one of the IFF codes I found previously, but they are only equipped to engage opponents on the surface. I will need to assist them against underwater and aerial threats.", }, tips = { { image = "unitpics/hoverdepthcharge.png", - text = [[Claymores fire depth charges at short range for large area-of-effect damage. To make this less of a suicide mission the depth charge floats for a few seconds before tracking its target. Depth charges can also be dropped as short-lived mines, even on land. Press D to drop a mine manually.]] + text = [[Claymores fire depth charges into the water at medium range for area-of-effect damage against both surface and underwater targets. Depth charges can also be dropped on land, but will not travel as far.]] }, { image = "unitpics/hoveraa.png", - text = [[Flails fire guided missiles at enemy air units. It's most effective against planes but it will also get the job done against gunships.]] + text = [[Flails fire guided missiles at enemy air units. They are most effective against planes but also adequate against gunships.]] + }, + { + image = "unitpics/hoverheavyraid.png", + text = [[The Bolas fires disruptor beams which slow enemies at close range. It is well suited for protecting Claymores, Flails, and other specialist units.]] }, { image = "unitpics/energyfusion.png", @@ -64,6 +68,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverriot", "hoverskirm", "hoverdepthcharge", + "hoverheavyraid", "hoveraa", "energywind", }, @@ -172,13 +177,13 @@ local function GetPlanet(planetUtilities, planetID) facing = 0, }, { - name = "hoverskirm", + name = "hoverheavyraid", x = 4526, z = 1259, facing = 0, }, { - name = "hoverskirm", + name = "hoverheavyraid", x = 4443, z = 1142, facing = 0, @@ -193,7 +198,7 @@ local function GetPlanet(planetUtilities, planetID) }, aiConfig = { { - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -1248,17 +1253,17 @@ local function GetPlanet(planetUtilities, planetID) }, }, bonusObjectiveConfig = { - [1] = { -- Build 12 Flails + [1] = { -- Build 12 Bolas satisfyOnce = true, countRemovedUnits = true, -- count units that previously died. comparisionType = planetUtilities.COMPARE.AT_LEAST, targetNumber = 14, unitTypes = { - "hoveraa", + "hoverheavyraid", }, - image = planetUtilities.ICON_DIR .. "hoveraa.png", + image = planetUtilities.ICON_DIR .. "hoverheavyraid.png", imageOverlay = planetUtilities.ICON_OVERLAY.REPAIR, - description = "Build 12 Flails", + description = "Build 12 Bolas", experience = planetUtilities.BONUS_EXP, }, [2] = { -- Win by 20:00 @@ -1274,6 +1279,7 @@ local function GetPlanet(planetUtilities, planetID) units = { "hoverdepthcharge", "hoveraa", + "hoverheavyraid", }, modules = { "commweapon_riotcannon", diff --git a/campaign/sample/planets/planet28.lua b/campaign/sample/planets/planet28.lua index 4f5af69b5..de3fdd614 100644 --- a/campaign/sample/planets/planet28.lua +++ b/campaign/sample/planets/planet28.lua @@ -39,7 +39,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/hoverassault.png", - text = [[Halberds can employ armor when not firing, reducing all incoming damage by a factor of four. Use this to scout for artillery targets or bypass static defences.]] + text = [[Halberds can employ armor when not firing, reducing all incoming damage by a factor of four. Use this to scout for artillery targets or bypass static defenses.]] }, { image = "LuaUI/Images/commands/Bold/reclaim.png", @@ -69,6 +69,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverriot", "hoverskirm", "hoverassault", + "hoverheavyraid", "hoverarty", "energygeo", "energywind", @@ -2353,6 +2354,10 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_targeting_LIMIT_B_2", }, abilities = { + }, + codexEntries = { + "faction_lawless", + "anomaly_lovaza_jira", } }, } diff --git a/campaign/sample/planets/planet29.lua b/campaign/sample/planets/planet29.lua index 0fd119259..642f1c857 100644 --- a/campaign/sample/planets/planet29.lua +++ b/campaign/sample/planets/planet29.lua @@ -1339,6 +1339,9 @@ local function GetPlanet(planetUtilities, planetID) "module_radarnet" }, abilities = { + }, + codexEntries = { + "faction_lawless" } }, } diff --git a/campaign/sample/planets/planet3.lua b/campaign/sample/planets/planet3.lua index ad24fade1..4c32092a6 100644 --- a/campaign/sample/planets/planet3.lua +++ b/campaign/sample/planets/planet3.lua @@ -26,7 +26,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "K4VI", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24417", - text = "This was a major military hub, I can detect the remains of staging grounds and logistic networks. With all those broken plateaus, this area would have been easier to defend. This is bad news for me, I will have to take those defences out if I want to continue that way." + text = "This was a major military hub, I can detect the remains of staging grounds and logistic networks. With all those broken plateaus, this area would have been easier to defend. This is bad news for me, I will have to take those defenses out if I want to continue that way." .. "\n " .. "\nWhoever they were fighting, it was not going well. There is evidence of raids even here, the frontline would not have been far." , @@ -488,6 +488,7 @@ local function GetPlanet(planetUtilities, planetID) "module_autorepair_LIMIT_C_2", }, codexEntries = { + "faction_union" }, } } diff --git a/campaign/sample/planets/planet30.lua b/campaign/sample/planets/planet30.lua index 4a31ff18c..9faa31da9 100644 --- a/campaign/sample/planets/planet30.lua +++ b/campaign/sample/planets/planet30.lua @@ -29,7 +29,7 @@ local function GetPlanet(planetUtilities, planetID) .. "\n " .. "\nOne of the local garrisons somehow identified me as an enemy of the Empire and gave me IFF codes. I wonder on how many Haven worlds those will work." , - extendedText = "Crossing a river under enemy fire is a daunting prospect, but it becomes easier if I control the river. There are several old Sunlance defence systems, but I can bombard the shoreline with Envoy cruisers to force passage through the shallows." + extendedText = "Crossing a river under enemy fire is a daunting prospect, but it becomes easier if I control the river. There are several old Sunlance defense systems, but I can bombard the shoreline with Envoy cruisers to force passage through the shallows." }, tips = { { @@ -261,7 +261,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Lief Easter", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, commanderParameters = { facplop = false, diff --git a/campaign/sample/planets/planet31.lua b/campaign/sample/planets/planet31.lua index e40e8a3fc..29fabd80c 100644 --- a/campaign/sample/planets/planet31.lua +++ b/campaign/sample/planets/planet31.lua @@ -25,9 +25,9 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "G8V", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24530", - text = "Invalid IFF? Well, it was worth trying. Local defences have considearbly decayed, but what's left is still dangerous." + text = "Invalid IFF? Well, it was worth trying. Local defenses have considearbly decayed, but what's left is still dangerous." .. "\n " - .. "\nThis world had never been disputed to Haven yet, but they knew it would be the next line of defence at the fall of Harsar Lief. With most of the planet covered by water, they could have held it from strategic archipelagoes against a considerable foe." + .. "\nThis world had never been disputed to Haven yet, but they knew it would be the next line of defense at the fall of Harsar Lief. With most of the planet covered by water, they could have held it from strategic archipelagoes against a considerable foe." , extendedText = "With those small islands dotting the ocean, this is ideal for the deployment of ships and submarines. I should move fast to take control of this resource-rich archipelago - once I hold it, I will be safe. The other planetary garrisons have long lost their oversea projection capabilities." }, @@ -740,6 +740,9 @@ local function GetPlanet(planetUtilities, planetID) "module_companion_drone_LIMIT_B_2", }, abilities = { + }, + codexEntries = { + "faction_haven" } }, } diff --git a/campaign/sample/planets/planet32.lua b/campaign/sample/planets/planet32.lua index f9a5ab192..4f3e8b36f 100644 --- a/campaign/sample/planets/planet32.lua +++ b/campaign/sample/planets/planet32.lua @@ -285,7 +285,7 @@ local function GetPlanet(planetUtilities, planetID) }, aiConfig = { { - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -318,6 +318,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverassault", "hoverarty", "hoverdepthcharge", + "hoverheavyraid", "hoveraa", "factorygunship", "gunshipcon", @@ -1419,6 +1420,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverassault", "hoverarty", "hoverdepthcharge", + "hoverheavyraid", "hoveraa", "factoryship", "shipcon", @@ -2819,7 +2821,10 @@ local function GetPlanet(planetUtilities, planetID) "module_battle_drone_LIMIT_A_2", }, abilities = { - } + }, + codexEntries = { + "faction_anarchai" + }, }, } diff --git a/campaign/sample/planets/planet33.lua b/campaign/sample/planets/planet33.lua index fb0fd9fd3..25cb5f13b 100644 --- a/campaign/sample/planets/planet33.lua +++ b/campaign/sample/planets/planet33.lua @@ -93,14 +93,8 @@ local function GetPlanet(planetUtilities, planetID) facing = 3, }, { - name = "energysolar", - x = 5800, - z = 856, - facing = 3, - }, - { - name = "energysolar", - x = 5700, + name = "energyfusion", + x = 5750, z = 856, facing = 3, }, @@ -198,7 +192,7 @@ local function GetPlanet(planetUtilities, planetID) }, aiConfig = { { - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", humanName = "Exodon", bitDependant = true, commanderParameters = { @@ -1419,7 +1413,10 @@ local function GetPlanet(planetUtilities, planetID) "module_companion_drone_LIMIT_C_2", }, abilities = { - } + }, + codexEntries = { + "anomaly_leopard" + }, }, } diff --git a/campaign/sample/planets/planet34.lua b/campaign/sample/planets/planet34.lua index bdf0a2775..9aa081ae5 100644 --- a/campaign/sample/planets/planet34.lua +++ b/campaign/sample/planets/planet34.lua @@ -29,7 +29,7 @@ local function GetPlanet(planetUtilities, planetID) .. "\n " .. "\nAnd of course, some pirates were trying to take it over, biting much more than they could chew - the Empire made sure to guard it well. Good thing the pirates' security was so poor, I managed to hack their IFF." , - extendedText = "The Imperials had dug into a reasonable defensive position, assisted by aircraft. I should supplement my ground forces with Thunderbirds to disarm enemy defences and Swifts to shoot down their planes." + extendedText = "The Imperials had dug into a reasonable defensive position, assisted by aircraft. I should supplement my ground forces with Thunderbirds to disarm enemy defenses and Swifts to shoot down their planes." }, tips = { { @@ -263,7 +263,7 @@ local function GetPlanet(planetUtilities, planetID) aiConfig = { { humanName = "Ally", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -819,6 +819,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverraid", "hoverskirm", "hoverriot", + "hoverheavyraid", "factoryplane", "planeheavyfighter", "bomberprec", @@ -1979,6 +1980,9 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_nano_LIMIT_H_1", }, abilities = { + }, + codexEntries = { + "faction_lawless" } }, } diff --git a/campaign/sample/planets/planet35.lua b/campaign/sample/planets/planet35.lua index a6bb4d2a7..97f61a34c 100644 --- a/campaign/sample/planets/planet35.lua +++ b/campaign/sample/planets/planet35.lua @@ -303,7 +303,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Hulukak", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -1019,7 +1019,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Boyar", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -3766,6 +3766,9 @@ local function GetPlanet(planetUtilities, planetID) "module_battle_drone_LIMIT_B_2", }, abilities = { + }, + codexEntries = { + "faction_lawless" } }, } diff --git a/campaign/sample/planets/planet36.lua b/campaign/sample/planets/planet36.lua index 5fdee6796..76de96e18 100644 --- a/campaign/sample/planets/planet36.lua +++ b/campaign/sample/planets/planet36.lua @@ -586,7 +586,10 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_nano_LIMIT_E_1", }, abilities = { - } + }, + codexEntries = { + "faction_rebels" + }, }, } diff --git a/campaign/sample/planets/planet37.lua b/campaign/sample/planets/planet37.lua index 5c12be973..c5b5d4518 100644 --- a/campaign/sample/planets/planet37.lua +++ b/campaign/sample/planets/planet37.lua @@ -721,7 +721,10 @@ local function GetPlanet(planetUtilities, planetID) "module_battle_drone_LIMIT_D_2", }, abilities = { - } + }, + codexEntries = { + "faction_rebels" + }, }, } diff --git a/campaign/sample/planets/planet38.lua b/campaign/sample/planets/planet38.lua index a2fb29144..c701da72e 100644 --- a/campaign/sample/planets/planet38.lua +++ b/campaign/sample/planets/planet38.lua @@ -469,6 +469,10 @@ local function GetPlanet(planetUtilities, planetID) "conversion_disruptor", }, abilities = { + }, + codexEntries = { + "threat_chickens", + "threat_chickens_lifecycle" } }, } diff --git a/campaign/sample/planets/planet39.lua b/campaign/sample/planets/planet39.lua index 05e60cfdb..b6084476e 100644 --- a/campaign/sample/planets/planet39.lua +++ b/campaign/sample/planets/planet39.lua @@ -37,7 +37,7 @@ local function GetPlanet(planetUtilities, planetID) tips = { { image = "unitpics/gunshipaa.png", - text = [[Tridents should be your first line of defence against any aerial threat; their long-range AA missiles are effective against all flying targets, and unlike static turrets they can retreat easily if threatened by ground forces.]] + text = [[Tridents should be your first line of defense against any aerial threat; their long-range AA missiles are effective against all flying targets, and unlike static turrets they can retreat easily if threatened by ground forces.]] }, { image = "unitpics/gunshipkrow.png", @@ -361,7 +361,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Itesro", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -2518,7 +2518,10 @@ local function GetPlanet(planetUtilities, planetID) "module_companion_drone_LIMIT_D_2", }, abilities = { - } + }, + codexEntries = { + "faction_rebels" + }, }, } diff --git a/campaign/sample/planets/planet4.lua b/campaign/sample/planets/planet4.lua index e2a309337..8ad402522 100644 --- a/campaign/sample/planets/planet4.lua +++ b/campaign/sample/planets/planet4.lua @@ -35,7 +35,7 @@ local function GetPlanet(planetUtilities, planetID) tips = { { image = "unitpics/turretaaclose.png", - text = [[The Hacksaw fires two powerful anti-air missiles at any flying target. It's defenceless against ground units and can be easily baited by cheap fliers, so they should be used in conjunction with other AA and land units.]] + text = [[The Hacksaw fires two powerful anti-air missiles at any flying target. It's defenseless against ground units and can be easily baited by cheap fliers, so they should be used in conjunction with other AA and land units.]] }, { image = "unitpics/cloakaa.png", diff --git a/campaign/sample/planets/planet40.lua b/campaign/sample/planets/planet40.lua index ea966f4ac..6a6e8fa43 100644 --- a/campaign/sample/planets/planet40.lua +++ b/campaign/sample/planets/planet40.lua @@ -221,7 +221,7 @@ local function GetPlanet(planetUtilities, planetID) }, aiConfig = { { - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -3016,7 +3016,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_heatray", }, abilities = { - } + }, + codexEntries = { + "faction_rebels" + }, }, } diff --git a/campaign/sample/planets/planet41.lua b/campaign/sample/planets/planet41.lua index 1cfd2f015..3652e3de3 100644 --- a/campaign/sample/planets/planet41.lua +++ b/campaign/sample/planets/planet41.lua @@ -276,6 +276,7 @@ local function GetPlanet(planetUtilities, planetID) "energysolar", "energygeo", "hovercon", + "hoverheavyraid", "hoverraid", "hoverriot", "hoverassault", @@ -857,6 +858,9 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_nano_LIMIT_F_1", }, abilities = { + }, + codexEntries = { + "faction_lawless" } }, } diff --git a/campaign/sample/planets/planet42.lua b/campaign/sample/planets/planet42.lua index 8ccb4b1a6..289c01e93 100644 --- a/campaign/sample/planets/planet42.lua +++ b/campaign/sample/planets/planet42.lua @@ -614,7 +614,10 @@ local function GetPlanet(planetUtilities, planetID) "module_heavy_armor_LIMIT_C_2", }, abilities = { - } + }, + codexEntries = { + "faction_rebels" + }, }, } diff --git a/campaign/sample/planets/planet43.lua b/campaign/sample/planets/planet43.lua index b6f68b8ae..527c7da14 100644 --- a/campaign/sample/planets/planet43.lua +++ b/campaign/sample/planets/planet43.lua @@ -29,7 +29,7 @@ local function GetPlanet(planetUtilities, planetID) .. "\n " .. "\nIf I am fast enough, I should be able to recover whatever it is and get out of there before the nanites become too much of a problem." , - extendedText = "Any destroyed units or buildings will be rebuilt by the nanites, but they will be hostile to everyone. I will have to hold off the 'zombies' for long enough to go through any existing defences and reach the Artefact." + extendedText = "Any destroyed units or buildings will be rebuilt by the nanites, but they will be hostile to everyone. I will have to hold off the 'zombies' for long enough to go through any existing defenses and reach the Artefact." }, tips = { { @@ -931,6 +931,10 @@ local function GetPlanet(planetUtilities, planetID) "module_dmg_booster_LIMIT_B_2", }, abilities = { + }, + codexEntries = { + "threat_zombies", + "anomaly_estann_all", } }, } diff --git a/campaign/sample/planets/planet44.lua b/campaign/sample/planets/planet44.lua index 529410297..a91f29ef4 100644 --- a/campaign/sample/planets/planet44.lua +++ b/campaign/sample/planets/planet44.lua @@ -159,7 +159,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Yarwha", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -744,7 +744,10 @@ local function GetPlanet(planetUtilities, planetID) "module_ablative_armor_LIMIT_D_2", }, abilities = { - } + }, + codexEntries = { + "faction_rebels" + }, }, } diff --git a/campaign/sample/planets/planet45.lua b/campaign/sample/planets/planet45.lua index 51b029585..37a746469 100644 --- a/campaign/sample/planets/planet45.lua +++ b/campaign/sample/planets/planet45.lua @@ -1547,7 +1547,10 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_nano_LIMIT_G_1", }, abilities = { - } + }, + codexEntries = { + "anomaly_old_falsell" + }, }, } diff --git a/campaign/sample/planets/planet46.lua b/campaign/sample/planets/planet46.lua index bb5fa33d8..68152d612 100644 --- a/campaign/sample/planets/planet46.lua +++ b/campaign/sample/planets/planet46.lua @@ -452,7 +452,11 @@ local function GetPlanet(planetUtilities, planetID) "module_adv_targeting_LIMIT_C_2", }, abilities = { - } + }, + codexEntries = { + "faction_dynasty", + "location_hastus", + }, }, } diff --git a/campaign/sample/planets/planet47.lua b/campaign/sample/planets/planet47.lua index 0bb88d2f2..97508f38a 100644 --- a/campaign/sample/planets/planet47.lua +++ b/campaign/sample/planets/planet47.lua @@ -278,7 +278,7 @@ local function GetPlanet(planetUtilities, planetID) }, aiConfig = { { - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -2576,7 +2576,11 @@ local function GetPlanet(planetUtilities, planetID) "module_autorepair_LIMIT_D_2", }, abilities = { - } + }, + codexEntries = { + "faction_rebels", + "faction_dynasty" + }, }, } diff --git a/campaign/sample/planets/planet48.lua b/campaign/sample/planets/planet48.lua index 0c88209dc..0579a3b95 100644 --- a/campaign/sample/planets/planet48.lua +++ b/campaign/sample/planets/planet48.lua @@ -39,7 +39,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/empmissile.png", - text = [[Shockley missiles deliver a massive amount of EMP damage in a small radius, and are not affected by shields. Use this to disable the most important part of your opponent's defences just before you attack.]] + text = [[Shockley missiles deliver a massive amount of EMP damage in a small radius, and are not affected by shields. Use this to disable the most important part of your opponent's defenses just before you attack.]] }, { image = "unitpics/napalmmissile.png", @@ -172,7 +172,7 @@ local function GetPlanet(planetUtilities, planetID) aiConfig = { { humanName = "Sorrali", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -3133,7 +3133,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_slamrocket", }, abilities = { - } + }, + codexEntries = { + "faction_rebels" + }, }, } diff --git a/campaign/sample/planets/planet49.lua b/campaign/sample/planets/planet49.lua index b741d9572..6a676db08 100644 --- a/campaign/sample/planets/planet49.lua +++ b/campaign/sample/planets/planet49.lua @@ -48,7 +48,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/pw_hq.png", - text = [[Defender Command is armed with a complement of drones for short-range defence.]] + text = [[Defender Command is armed with a complement of drones for short-range defense.]] }, }, gameConfig = { @@ -260,7 +260,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Modri Saw", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -1337,7 +1337,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Laannzelez", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -2287,6 +2287,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", }, @@ -4726,6 +4727,9 @@ local function GetPlanet(planetUtilities, planetID) "module_dmg_booster_LIMIT_C_2", }, abilities = { + }, + codexEntries = { + "faction_lawless" } }, } diff --git a/campaign/sample/planets/planet5.lua b/campaign/sample/planets/planet5.lua index a5b300235..3dc1a439f 100644 --- a/campaign/sample/planets/planet5.lua +++ b/campaign/sample/planets/planet5.lua @@ -30,7 +30,7 @@ local function GetPlanet(planetUtilities, planetID) .. "\n " .. "\nWhoever it was defending - or defending from - there is still an active defense network entrenched down there. I will have to punch through it, if I want access to that sector." , - extendedText = "It is relying on a network of defensive turrets and shielded bots to keep its production infrastructure safe. I will need Slings to weaken its defences and shields before I can commit to an assault. And I will need spotters for those Slings.", + extendedText = "It is relying on a network of defensive turrets and shielded bots to keep its production infrastructure safe. I will need Slings to weaken its defenses and shields before I can commit to an assault. And I will need spotters for those Slings.", }, tips = { { @@ -528,6 +528,9 @@ local function GetPlanet(planetUtilities, planetID) modules = { "module_adv_targeting_LIMIT_D_2", }, + codexEntries = { + "faction_union" + }, }, } diff --git a/campaign/sample/planets/planet50.lua b/campaign/sample/planets/planet50.lua index ae202e146..4d95cad69 100644 --- a/campaign/sample/planets/planet50.lua +++ b/campaign/sample/planets/planet50.lua @@ -42,7 +42,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/jumpcon.png", - text = [[The Constable constructor has jumpjets which allow it to set up metal extractors, wind generators, radar towers and defences on high mountains.]] + text = [[The Constable constructor has jumpjets which allow it to set up metal extractors, wind generators, radar towers and defenses on high mountains.]] }, { image = "unitpics/jumpskirm.png", @@ -282,7 +282,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Marillia", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -1006,6 +1006,10 @@ local function GetPlanet(planetUtilities, planetID) "module_jumpjet", }, abilities = { + }, + codexEntries = { + "faction_lawless", + "location_arteri", } }, } diff --git a/campaign/sample/planets/planet51.lua b/campaign/sample/planets/planet51.lua index 807ce9bfd..60863f06e 100644 --- a/campaign/sample/planets/planet51.lua +++ b/campaign/sample/planets/planet51.lua @@ -27,7 +27,7 @@ local function GetPlanet(planetUtilities, planetID) feedbackLink = "http://zero-k.info/Forum/Thread/24594", text = "Barely inhabitable, far from anything valuable but right between fortress worlds, this was the ideal place for the Empire's sensitive research projects. If they knew something about what happened, it could be there." .. "\n " - .. "\nI could access to some research systems and their defences, but not remotely access their data. Hopefully I can land, grab the data and depart before the main planetary garrison wakes up..." + .. "\nI could access to some research systems and their defenses, but not remotely access their data. Hopefully I can land, grab the data and depart before the main planetary garrison wakes up..." , extendedText = "This is bad! I landed too far, the entire planet's garrison is waking up and the Tech Lab is about to be overrun! I am too far away to reinforce it in time. Unless..." .. "\n " @@ -35,12 +35,12 @@ local function GetPlanet(planetUtilities, planetID) }, tips = { { - image = "unitpics/turretimpulse.png", - text = [[The Newton turret can be toggled to attract or repulse its target. It does not inflict any direct damage, so when used as a defensive tool it relies on pushing enemies off cliffs or pulling them into other defences (particularly pulling bombers into anti-air). Smaller units are generally affected more.]] + image = "unitpics/module_jumpjet.png", + text = [[Jumpjet-equipped units can jump while flying through the air - quite useful if they happen to be propelled off a ramp by an array of Netwons. Issue a Jump command in advance to have the unit Jump and land safely once in range.]] }, { - image = "unitpics/module_jumpjet.png", - text = [[Newtons can also be used to propel your units off a ramp and into battle. Jumpjet-equipped units (which can survive the landing by jumping) and bombs (which deal damage on impact) are best suited for this. Use the Newton firezone command to automate the process.]] + image = "unitpics/turretimpulse.png", + text = [[The Newton turret can be toggled to attract or repulse its target. It does not inflict any direct damage, so when used as a defensive tool it relies on pushing enemies off cliffs or pulling them into other defenses (particularly pulling bombers into anti-air). Smaller units are generally affected more.]] }, { image = "unitpics/jumpsumo.png", @@ -164,9 +164,6 @@ local function GetPlanet(planetUtilities, planetID) x = 7970, z = 3750, facing = 0, - commands = { - {cmdID = planetUtilities.COMMAND.JUMP, pos = {2900, 380},} - }, }, { name = "jumpcon", @@ -516,7 +513,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Complexia", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -1231,6 +1228,7 @@ local function GetPlanet(planetUtilities, planetID) x = 112, z = 312, facing = 1, + difficultyAtLeast = 2, }, { name = "factoryveh", @@ -1364,6 +1362,7 @@ local function GetPlanet(planetUtilities, planetID) x = 328, z = 888, facing = 1, + difficultyAtLeast = 2, commands = { {cmdID = planetUtilities.COMMAND.PATROL, pos = {328, 888}}, {cmdID = planetUtilities.COMMAND.PATROL, pos = {353, 913}, options = {"shift"}}, @@ -1374,6 +1373,7 @@ local function GetPlanet(planetUtilities, planetID) x = 328, z = 952, facing = 1, + difficultyAtLeast = 2, commands = { {cmdID = planetUtilities.COMMAND.PATROL, pos = {328, 952}}, {cmdID = planetUtilities.COMMAND.PATROL, pos = {353, 977}, options = {"shift"}}, @@ -1699,6 +1699,7 @@ local function GetPlanet(planetUtilities, planetID) x = 916, z = 537, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1711,6 +1712,7 @@ local function GetPlanet(planetUtilities, planetID) x = 830, z = 873, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1723,6 +1725,7 @@ local function GetPlanet(planetUtilities, planetID) x = 841, z = 957, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1735,6 +1738,7 @@ local function GetPlanet(planetUtilities, planetID) x = 808, z = 771, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1747,6 +1751,7 @@ local function GetPlanet(planetUtilities, planetID) x = 789, z = 677, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1759,6 +1764,7 @@ local function GetPlanet(planetUtilities, planetID) x = 945, z = 1037, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1771,6 +1777,7 @@ local function GetPlanet(planetUtilities, planetID) x = 895, z = 1206, facing = 2, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1783,6 +1790,7 @@ local function GetPlanet(planetUtilities, planetID) x = 883, z = 1150, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1795,6 +1803,7 @@ local function GetPlanet(planetUtilities, planetID) x = 936, z = 980, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1807,6 +1816,7 @@ local function GetPlanet(planetUtilities, planetID) x = 911, z = 795, facing = 1, + difficultyAtLeast = 2, spawnRadius = 50, delay = 40*30, orbitalDrop = true, @@ -1840,12 +1850,68 @@ local function GetPlanet(planetUtilities, planetID) {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, }, }, + + -- delayed first wave for easy + { + name = "vehassault", + x = 883, + z = 1150, + facing = 1, + difficultyAtMost = 1, + spawnRadius = 50, + delay = 80*30, + orbitalDrop = true, + commands = { + {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, + }, + }, + { + name = "vehassault", + x = 895, + z = 1206, + facing = 2, + difficultyAtMost = 1, + spawnRadius = 50, + delay = 80*30, + orbitalDrop = true, + commands = { + {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, + }, + }, + { + name = "vehassault", + x = 883, + z = 1150, + facing = 1, + difficultyAtMost = 1, + spawnRadius = 50, + delay = 80*30, + orbitalDrop = true, + commands = { + {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, + }, + }, + { + name = "vehriot", + x = 936, + z = 980, + facing = 1, + difficultyAtMost = 1, + spawnRadius = 50, + delay = 80*30, + orbitalDrop = true, + commands = { + {cmdID = planetUtilities.COMMAND.FIGHT, pos = {3620, 1000}}, + }, + }, + -- second wave { name = "veharty", x = 84, z = 1156, facing = 3, + difficultyAtLeast = 2, spawnRadius = 50, delay = 60*30, orbitalDrop = true, @@ -2178,7 +2244,10 @@ local function GetPlanet(planetUtilities, planetID) "module_heavy_armor_LIMIT_D_2", }, abilities = { - } + }, + codexEntries = { + "anomaly_lalata" + }, }, } diff --git a/campaign/sample/planets/planet53.lua b/campaign/sample/planets/planet53.lua index 37ba4fd58..0bf128ce3 100644 --- a/campaign/sample/planets/planet53.lua +++ b/campaign/sample/planets/planet53.lua @@ -43,7 +43,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/jumpassault.png", - text = [[Use Jacks to jump up the cliffs and destroy enemy defences with their melee attack.]] + text = [[Use Jacks to jump up the cliffs and destroy enemy defenses with their melee attack.]] }, }, gameConfig = { @@ -189,7 +189,7 @@ local function GetPlanet(planetUtilities, planetID) { --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, humanName = "Basilis", commanderParameters = { @@ -1552,6 +1552,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverraid", "hoverriot", "hoverskirm", + "hoverheavyraid", "cloakcon", "cloakraid", "cloakskirm", @@ -3591,6 +3592,9 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_napalmgrenade", }, abilities = { + }, + codexEntries = { + "faction_lawless" } }, } diff --git a/campaign/sample/planets/planet55.lua b/campaign/sample/planets/planet55.lua index 6272d48f5..690de55cb 100644 --- a/campaign/sample/planets/planet55.lua +++ b/campaign/sample/planets/planet55.lua @@ -25,7 +25,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "G6V", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24594", - text = "The fortress world that guarded the early Empire's southern flank. Never seriously challenged since those days, its garrison may have grown complacent - but the defences that are left are still formidable." + text = "The fortress world that guarded the early Empire's southern flank. Never seriously challenged since those days, its garrison may have grown complacent - but the defenses that are left are still formidable." .. "\n " .. "\nThere is what looks like backdoors in some of the garrison's codes, strangely enough. They would have been useless in actual conflict, though, effective only against unsupervised automata..." , @@ -40,7 +40,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/staticantinuke.png", - text = [[Antinukes are typically the best-defended thing your enemy possesses. If their anti-air defence is poor destroy the Antinuke with bombers. Otherwise, a Shockley EMP missile will disable the Antinuke for a while.]] + text = [[Antinukes are typically the best-defended thing your enemy possesses. If their anti-air defense is poor destroy the Antinuke with bombers. Otherwise, a Shockley EMP missile will disable the Antinuke for a while.]] }, { image = "unitpics/striderfunnelweb.png", @@ -509,7 +509,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Izbatos", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -1272,7 +1272,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Vanterras", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -4618,7 +4618,10 @@ local function GetPlanet(planetUtilities, planetID) "module_dmg_booster_LIMIT_D_2", }, abilities = { - } + }, + codexEntries = { + "faction_survivors" + }, }, } diff --git a/campaign/sample/planets/planet56.lua b/campaign/sample/planets/planet56.lua index acdde8f75..5d24b4dde 100644 --- a/campaign/sample/planets/planet56.lua +++ b/campaign/sample/planets/planet56.lua @@ -1456,7 +1456,12 @@ local function GetPlanet(planetUtilities, planetID) "module_resurrect" }, abilities = { - } + }, + codexEntries = { + "faction_rebels", + "faction_dynasty", + "anomaly_deuliah", + }, }, } diff --git a/campaign/sample/planets/planet57.lua b/campaign/sample/planets/planet57.lua index 615d35712..eecdf3cbc 100644 --- a/campaign/sample/planets/planet57.lua +++ b/campaign/sample/planets/planet57.lua @@ -38,7 +38,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/subtacmissile.png", - text = [[The Scylla constructs and fires tactical missiles. Use these to destroy static targets which are elevated or far away. Remember that destroying Pylon connections will disable heavy defences.]] + text = [[The Scylla constructs and fires tactical missiles. Use these to destroy static targets which are elevated or far away. Remember that destroying Pylon connections will disable heavy defenses.]] }, { image = "unitpics/weaponmod_standoff_rocket.png", @@ -1354,7 +1354,7 @@ local function GetPlanet(planetUtilities, planetID) aiConfig = { { humanName = "Uba Rassa", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -1412,6 +1412,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", }, @@ -4080,6 +4081,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", }, @@ -5033,7 +5035,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_disruptorbomb", }, abilities = { - } + }, + codexEntries = { + "location_rockbar" + }, }, } diff --git a/campaign/sample/planets/planet58.lua b/campaign/sample/planets/planet58.lua index 77cb9ecf7..9c66d6154 100644 --- a/campaign/sample/planets/planet58.lua +++ b/campaign/sample/planets/planet58.lua @@ -34,7 +34,7 @@ local function GetPlanet(planetUtilities, planetID) tips = { { image = "unitpics/striderarty.png", - text = [[The Merlin is the most powerful mobile artillery piece in the game - its barrage of rockets is most effective against large groups of enemies. Merlins are defenceless at close range so be careful with your starting Merlin until you have a large enough army to escort it.]] + text = [[The Merlin is the most powerful mobile artillery piece in the game - its barrage of rockets is most effective against large groups of enemies. Merlins are defenseless at close range so be careful with your starting Merlin until you have a large enough army to escort it.]] }, { image = "unitpics/cloakjammer.png", @@ -2428,7 +2428,11 @@ local function GetPlanet(planetUtilities, planetID) "module_cloak_field" }, abilities = { - } + }, + codexEntries = { + "location_chatka", + "faction_dynasty_restored" + }, }, } diff --git a/campaign/sample/planets/planet59.lua b/campaign/sample/planets/planet59.lua index ab9f84a8e..c54c08eba 100644 --- a/campaign/sample/planets/planet59.lua +++ b/campaign/sample/planets/planet59.lua @@ -44,7 +44,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/pw_artefact.png", - text = [[The Artefact has no direct defences of its own but it is being defended by a hostile force. Push through the zombies and your opponent's defences to access the Artefact.]] + text = [[The Artefact has no direct defenses of its own but it is being defended by a hostile force. Push through the zombies and your opponent's defenses to access the Artefact.]] }, }, gameConfig = { @@ -308,7 +308,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Architects", -- aiLib = "Null AI", -- bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -359,6 +359,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", }, @@ -2863,7 +2864,12 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_disintegrator", }, abilities = { - } + }, + codexEntries = { + "threat_zombies", + "faction_dynasty_restored", + "location_tempest" + }, }, } diff --git a/campaign/sample/planets/planet6.lua b/campaign/sample/planets/planet6.lua index 0e5c1b456..bdfa6df85 100644 --- a/campaign/sample/planets/planet6.lua +++ b/campaign/sample/planets/planet6.lua @@ -26,7 +26,7 @@ local function GetPlanet(planetUtilities, planetID) primaryType = "F9V", milRating = 1, feedbackLink = "http://zero-k.info/Forum/Thread/24429", - text = "This world is covered with islands, with a surprising variety of defences. Was it used for combat testing?" + text = "This world is covered with islands, with a surprising variety of defenses. Was it used for combat testing?" .. "\n " .. "\nMany of those islands seem isolated from each-other. I will only need to clear one, hopefully it won't contain any nasty surprises." , @@ -41,7 +41,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/cloakassault.png", - text = [[Knights are much tougher than the other Cloakbots, and use a lightning gun to damage and stun enemy units. They're effective against medium-weight units and defences.]] + text = [[Knights are much tougher than the other Cloakbots, and use a lightning gun to damage and stun enemy units. They're effective against medium-weight units and defenses.]] }, { image = "unitpics/jumpraid.png", diff --git a/campaign/sample/planets/planet60.lua b/campaign/sample/planets/planet60.lua index 0bf554ffc..d63a53ef1 100644 --- a/campaign/sample/planets/planet60.lua +++ b/campaign/sample/planets/planet60.lua @@ -34,7 +34,7 @@ local function GetPlanet(planetUtilities, planetID) tips = { { image = "unitpics/shipheavyarty.png", - text = [[The Shogun battleship is a straightforward unit; nine artillery cannons' worth of firepower lay waste to your enemies. As artillery units go the Shogun is fairly tough, but keep it away from submarines - it has no defence against underwater foes.]] + text = [[The Shogun battleship is a straightforward unit; nine artillery cannons' worth of firepower lay waste to your enemies. As artillery units go the Shogun is fairly tough, but keep it away from submarines - it has no defense against underwater foes.]] }, { image = "unitpics/conversion_partillery.png", @@ -360,7 +360,7 @@ local function GetPlanet(planetUtilities, planetID) aiConfig = { { humanName = "Biobas", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -1359,7 +1359,7 @@ local function GetPlanet(planetUtilities, planetID) }, { humanName = "Star Shine", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -1404,6 +1404,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", "factoryship", @@ -3233,6 +3234,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", "factoryship", @@ -4098,7 +4100,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_concussion", }, abilities = { - } + }, + codexEntries = { + "location_pendust" + }, }, } diff --git a/campaign/sample/planets/planet61.lua b/campaign/sample/planets/planet61.lua index 1159e46cb..add7d9171 100644 --- a/campaign/sample/planets/planet61.lua +++ b/campaign/sample/planets/planet61.lua @@ -42,7 +42,7 @@ local function GetPlanet(planetUtilities, planetID) }, { image = "unitpics/staticstorage.png", - text = [[The Funnelweb's high build power allows it to quickly build defences, but only if it has a supply of metal available. Reserve some resources for their use by ctrl-clicking on the resource bars and setting Funnelweb build priority to High (see the online manual for more information).]] + text = [[The Funnelweb's high build power allows it to quickly build defenses, but only if it has a supply of metal available. Reserve some resources for their use by ctrl-clicking on the resource bars and setting Funnelweb build priority to High (see the online manual for more information).]] }, }, gameConfig = { @@ -1267,6 +1267,7 @@ local function GetPlanet(planetUtilities, planetID) x = 7432, z = 5608, facing = 0, + difficultyAtLeast = 2, }, { name = "staticantinuke", @@ -1352,7 +1353,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Swat", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -2203,7 +2204,7 @@ local function GetPlanet(planetUtilities, planetID) humanName = "Slicker", --aiLib = "Null AI", --bitDependant = false, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, allyTeam = 0, unlocks = { @@ -3233,12 +3234,14 @@ local function GetPlanet(planetUtilities, planetID) x = 7240, z = 688, facing = 2, + difficultyAtLeast = 2, }, { name = "energyfusion", x = 7048, z = 1168, facing = 2, + difficultyAtLeast = 2, }, { name = "staticmex", @@ -3966,18 +3969,21 @@ local function GetPlanet(planetUtilities, planetID) x = 4116, z = 6919, facing = 3, + difficultyAtLeast = 2, }, { name = "tankassault", x = 3896, z = 6966, facing = 3, + difficultyAtLeast = 2, }, { name = "tankcon", x = 4126, z = 6798, facing = 3, + difficultyAtLeast = 2, }, { name = "tankcon", @@ -4605,7 +4611,11 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_areashield", }, abilities = { - } + }, + codexEntries = { + "faction_survivors", + "location_hibiliha" + }, }, } diff --git a/campaign/sample/planets/planet62.lua b/campaign/sample/planets/planet62.lua index e08ef8b41..5cb7e67b4 100644 --- a/campaign/sample/planets/planet62.lua +++ b/campaign/sample/planets/planet62.lua @@ -271,7 +271,7 @@ local function GetPlanet(planetUtilities, planetID) aiConfig = { { humanName = "Ally #1", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -938,7 +938,7 @@ local function GetPlanet(planetUtilities, planetID) }, { humanName = "Ally #2", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill", -- Intentially not _ally. bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -1544,6 +1544,7 @@ local function GetPlanet(planetUtilities, planetID) x = 2922, z = 4680, facing = 2, + difficultyAtLeast = 2, }, { name = "spidercon", @@ -2363,6 +2364,7 @@ local function GetPlanet(planetUtilities, planetID) x = 6233, z = 2397, facing = 3, + difficultyAtLeast = 2, }, { name = "cloakaa", @@ -2449,6 +2451,7 @@ local function GetPlanet(planetUtilities, planetID) x = 5671, z = 2320, facing = 1, + difficultyAtLeast = 2, }, { name = "cloakskirm", @@ -3052,6 +3055,7 @@ local function GetPlanet(planetUtilities, planetID) x = 8600, z = 6024, facing = 3, + difficultyAtLeast = 2, }, { name = "turretaaheavy", @@ -3376,6 +3380,7 @@ local function GetPlanet(planetUtilities, planetID) x = 5391, z = 4058, facing = 1, + difficultyAtLeast = 2, }, { name = "tankassault", @@ -3741,6 +3746,7 @@ local function GetPlanet(planetUtilities, planetID) x = 4054, z = 5265, facing = 2, + difficultyAtLeast = 2, }, { name = "spiderscout", @@ -3777,6 +3783,7 @@ local function GetPlanet(planetUtilities, planetID) x = 3831, z = 5390, facing = 1, + difficultyAtLeast = 2, }, { name = "amphcon", @@ -3857,6 +3864,7 @@ local function GetPlanet(planetUtilities, planetID) x = 5847, z = 5547, facing = 3, + difficultyAtLeast = 2, }, { name = "spiderscout", @@ -3997,6 +4005,10 @@ local function GetPlanet(planetUtilities, planetID) "commweapon_multistunner", }, abilities = { + }, + codexEntries = { + "faction_rebels", + "location_karuwal" } }, } diff --git a/campaign/sample/planets/planet63.lua b/campaign/sample/planets/planet63.lua index fa9e89d27..67e5ab40e 100644 --- a/campaign/sample/planets/planet63.lua +++ b/campaign/sample/planets/planet63.lua @@ -52,7 +52,7 @@ local function GetPlanet(planetUtilities, planetID) }, }, gameConfig = { - mapName = "SapphireShores_Dry_V2.1", + mapName = "SapphireShores_Dry_V2.2", modoptions = { graceperiod = 4, chicken_nominiqueen = 1, @@ -1313,7 +1313,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 28*30*60, orbitalDrop = true, difficultyAtLeast = 1, - difficultyAtLeast = 1, + difficultyAtMost = 1, }, { name = "striderdetriment", @@ -1324,7 +1324,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 28*30*60, orbitalDrop = true, difficultyAtLeast = 1, - difficultyAtLeast = 1, + difficultyAtMost = 1, }, { name = "chickenflyerqueen", @@ -1335,7 +1335,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 27.5*30*60, orbitalDrop = true, difficultyAtLeast = 2, - difficultyAtLeast = 2, + difficultyAtMost = 2, }, { name = "striderdetriment", @@ -1346,7 +1346,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 27.5*30*60, orbitalDrop = true, difficultyAtLeast = 2, - difficultyAtLeast = 2, + difficultyAtMost = 2, }, { name = "chickenflyerqueen", @@ -1357,7 +1357,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 26.75*30*60, orbitalDrop = true, difficultyAtLeast = 3, - difficultyAtLeast = 3, + difficultyAtMost = 3, }, { name = "striderdetriment", @@ -1368,7 +1368,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 26.75*30*60, orbitalDrop = true, difficultyAtLeast = 3, - difficultyAtLeast = 3, + difficultyAtMost = 3, }, { name = "chickenflyerqueen", @@ -1379,7 +1379,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 26*30*60, orbitalDrop = true, difficultyAtLeast = 4, - difficultyAtLeast = 4, + difficultyAtMost = 4, }, { name = "striderdetriment", @@ -1390,7 +1390,7 @@ local function GetPlanet(planetUtilities, planetID) delay = 26*30*60, orbitalDrop = true, difficultyAtLeast = 4, - difficultyAtLeast = 4, + difficultyAtMost = 4, }, }, startUnits = { @@ -3146,6 +3146,10 @@ local function GetPlanet(planetUtilities, planetID) "module_battle_drone_LIMIT_C_2", }, abilities = { + }, + codexEntries = { + "threat_chickens", + "threat_chickens_intelligence" } }, } diff --git a/campaign/sample/planets/planet64.lua b/campaign/sample/planets/planet64.lua index 2ae928e79..5c9433cf6 100644 --- a/campaign/sample/planets/planet64.lua +++ b/campaign/sample/planets/planet64.lua @@ -574,7 +574,7 @@ local function GetPlanet(planetUtilities, planetID) }, aiConfig = { { - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -4706,7 +4706,11 @@ local function GetPlanet(planetUtilities, planetID) "weaponmod_stun_booster", }, abilities = { - } + }, + codexEntries = { + "faction_survivors", + "location_intrepid" + }, }, } diff --git a/campaign/sample/planets/planet65.lua b/campaign/sample/planets/planet65.lua index 8b43da5a9..c22afd1c9 100644 --- a/campaign/sample/planets/planet65.lua +++ b/campaign/sample/planets/planet65.lua @@ -289,7 +289,7 @@ local function GetPlanet(planetUtilities, planetID) aiConfig = { { humanName = "Ally", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, -- aiLib = "Null AI", -- bitDependant = false, @@ -350,6 +350,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", "striderhub", @@ -2526,6 +2527,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", "striderhub", @@ -4819,7 +4821,10 @@ local function GetPlanet(planetUtilities, planetID) }, abilities = { - } + }, + codexEntries = { + "location_mannia" + }, }, } diff --git a/campaign/sample/planets/planet66.lua b/campaign/sample/planets/planet66.lua index 73e19c8ee..5e12f1b8f 100644 --- a/campaign/sample/planets/planet66.lua +++ b/campaign/sample/planets/planet66.lua @@ -1338,6 +1338,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", "factorytank", @@ -2895,7 +2896,10 @@ local function GetPlanet(planetUtilities, planetID) modules = { }, abilities = { - } + }, + codexEntries = { + "entry_homeworld" + }, }, } diff --git a/campaign/sample/planets/planet67.lua b/campaign/sample/planets/planet67.lua index 6b31f7244..8a100ebf8 100644 --- a/campaign/sample/planets/planet67.lua +++ b/campaign/sample/planets/planet67.lua @@ -1132,6 +1132,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", "factoryamph", @@ -2845,7 +2846,10 @@ local function GetPlanet(planetUtilities, planetID) modules = { }, abilities = { - } + }, + codexEntries = { + "entry_starsong" + }, }, } diff --git a/campaign/sample/planets/planet68.lua b/campaign/sample/planets/planet68.lua index f232930a4..c07734e75 100644 --- a/campaign/sample/planets/planet68.lua +++ b/campaign/sample/planets/planet68.lua @@ -1632,6 +1632,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverdepthcharge", + "hoverheavyraid", "hoverarty", "hoveraa", "factorytank", @@ -3927,7 +3928,10 @@ local function GetPlanet(planetUtilities, planetID) modules = { }, abilities = { - } + }, + codexEntries = { + "entry_eternity_gate" + }, }, } diff --git a/campaign/sample/planets/planet69.lua b/campaign/sample/planets/planet69.lua index aa9a09d61..694df97d6 100644 --- a/campaign/sample/planets/planet69.lua +++ b/campaign/sample/planets/planet69.lua @@ -67,7 +67,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 4000, startZ = 75, - aiLib = "NullAI", + aiLib = "Null AI", humanName = "Ally", unlocks = {}, allyTeam = 0, @@ -76,7 +76,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 4000, startZ = 75, - aiLib = "NullAI", + aiLib = "Null AI", humanName = "Enemy", unlocks = {}, allyTeam = 1, @@ -107,7 +107,9 @@ local function GetPlanet(planetUtilities, planetID) "module_ablative_armor_LIMIT_A_2", }, abilities = {}, - codexEntries = {} + codexEntries = { + "entry_first" + } }, } diff --git a/campaign/sample/planets/planet7.lua b/campaign/sample/planets/planet7.lua index 45459d5c4..0b4c201e9 100644 --- a/campaign/sample/planets/planet7.lua +++ b/campaign/sample/planets/planet7.lua @@ -28,16 +28,16 @@ local function GetPlanet(planetUtilities, planetID) feedbackLink = "http://zero-k.info/Forum/Thread/24429", text = "There is something very strange on this world. Some kind of artefact, I have never seen anything like it. Could it hold answers about what happened to everyone? I need to get closer." .. "\n " - .. "\nIt is heavily defended, direct assault would be a bad idea. Maybe I can find some weakness in those defences..." + .. "\nIt is heavily defended, direct assault would be a bad idea. Maybe I can find some weakness in those defenses..." , - extendedText = "Frontal attack would be suicidal, but most of it is static defences. If I can infiltrate Phantom sniper bots and destroy their Singularity Plants, it will deactivate the heavier defences." + extendedText = "Frontal attack would be suicidal, but most of it is static defenses. If I can infiltrate Phantom sniper bots and destroy their Singularity Plants, it will deactivate the heavier defenses." .. "\n " .. "\nI should not let my guard down, some mobile forces are still active. And there is something very strange with their data flux..." }, tips = { { image = "unitpics/cloaksnipe.png", - text = [[Unlike all other cloaked units, the Phantom can fire its weapon without becoming visible. Use this to sneak into the defence network, destroying what you need to without blowing your cover.]] + text = [[Unlike all other cloaked units, the Phantom can fire its weapon without becoming visible. Use this to sneak into the defense network, destroying what you need to without blowing your cover.]] }, { image = "unitpics/turretheavy.png", @@ -1826,7 +1826,10 @@ local function GetPlanet(planetUtilities, planetID) "module_personal_cloak", }, abilities = { - } + }, + codexEntries = { + "anomaly_new_falsell" + }, }, } diff --git a/campaign/sample/planets/planet70.lua b/campaign/sample/planets/planet70.lua index 8f6e51ecb..9c0ec133a 100644 --- a/campaign/sample/planets/planet70.lua +++ b/campaign/sample/planets/planet70.lua @@ -375,7 +375,7 @@ local function GetPlanet(planetUtilities, planetID) aiConfig = { { humanName = "Ally", - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", bitDependant = true, --aiLib = "Null AI", --bitDependant = false, @@ -1181,7 +1181,6 @@ local function GetPlanet(planetUtilities, planetID) "spiderskirm", "spiderassault", "spiderriot", - "spidercrabe", "factorycloak", "cloakcon", "cloakraid", @@ -1191,6 +1190,11 @@ local function GetPlanet(planetUtilities, planetID) "cloakskirm", "cloakassault", }, + difficultyDependantUnlocks = { + [2] = {"cloakassault"}, + [3] = {"cloakassault", "spidercrabe"}, + [4] = {"cloakassault","spidercrabe"}, + }, commanderLevel = 6, commander = { name = "Oilean", @@ -1214,7 +1218,7 @@ local function GetPlanet(planetUtilities, planetID) } }, startUnits = { - { + { name = "staticmex", x = 4312, z = 5064, diff --git a/campaign/sample/planets/planet71.lua b/campaign/sample/planets/planet71.lua index 4ffda7464..19e88da84 100644 --- a/campaign/sample/planets/planet71.lua +++ b/campaign/sample/planets/planet71.lua @@ -69,7 +69,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 4000, startZ = 75, - aiLib = "NullAI", + aiLib = "Null AI", humanName = "Enemies", allyTeam = 1, unlocks = { @@ -134,7 +134,9 @@ local function GetPlanet(planetUtilities, planetID) units = { "tankraid" }, - codexEntries = {} + codexEntries = { + "location_musashi", + } }, } diff --git a/campaign/sample/planets/planet8.lua b/campaign/sample/planets/planet8.lua index a84a2fa85..1ec50a0aa 100644 --- a/campaign/sample/planets/planet8.lua +++ b/campaign/sample/planets/planet8.lua @@ -200,7 +200,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 7700, startZ = 1200, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", humanName = "Ally", bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler allyTeam = 0, @@ -242,6 +242,7 @@ local function GetPlanet(planetUtilities, planetID) "hoverskirm", "hoverassault", "hoverarty", -- probably won't destroy a Sunlance + "hoverheavyraid", "hoveraa", "factoryspider", "spidercon", diff --git a/campaign/sample/planets/sample_planet.lua b/campaign/sample/planets/sample_planet.lua index 22c3a9a99..926b4abe0 100644 --- a/campaign/sample/planets/sample_planet.lua +++ b/campaign/sample/planets/sample_planet.lua @@ -152,7 +152,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 200, startZ = 200, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", humanName = "Ally", bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler commanderParameters = { @@ -204,7 +204,7 @@ local function GetPlanet(planetUtilities, planetID) { startX = 1250, startZ = 250, - aiLib = "Circuit_difficulty_autofill", + aiLib = "Circuit_difficulty_autofill_ally", humanName = "Another Ally", bitDependant = true, -- Whether the AI name needs to be appended with 32bit or 64bit by the handler commanderParameters = { diff --git a/libs/chiliui/luamenu/chili/chili/README b/libs/chiliui/chili/README similarity index 100% rename from libs/chiliui/luamenu/chili/chili/README rename to libs/chiliui/chili/README diff --git a/libs/chiliui/luamenu/chili/chili/controls/README b/libs/chiliui/chili/controls/README similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/README rename to libs/chiliui/chili/controls/README diff --git a/libs/chiliui/luamenu/chili/chili/controls/button.lua b/libs/chiliui/chili/controls/button.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/button.lua rename to libs/chiliui/chili/controls/button.lua index 5d3f2ed77..be0811903 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/button.lua +++ b/libs/chiliui/chili/controls/button.lua @@ -16,6 +16,7 @@ Button = Control:Inherit{ align = "center", valign = "center", + noFont = false, } local this = Button diff --git a/libs/chiliui/luamenu/chili/chili/controls/checkbox.lua b/libs/chiliui/chili/controls/checkbox.lua similarity index 99% rename from libs/chiliui/luamenu/chili/chili/controls/checkbox.lua rename to libs/chiliui/chili/controls/checkbox.lua index c695d9317..cfd5fd7c0 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/checkbox.lua +++ b/libs/chiliui/chili/controls/checkbox.lua @@ -21,6 +21,7 @@ Checkbox = Control:Inherit{ valign = "linecenter", boxalign = "right", boxsize = 10, + noFont = false, textColor = {0, 0, 0, 1}, diff --git a/libs/chiliui/luamenu/chili/chili/controls/colorbars.lua b/libs/chiliui/chili/controls/colorbars.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/colorbars.lua rename to libs/chiliui/chili/controls/colorbars.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/combobox.lua b/libs/chiliui/chili/controls/combobox.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/combobox.lua rename to libs/chiliui/chili/controls/combobox.lua index f636ad576..d708a65e7 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/combobox.lua +++ b/libs/chiliui/chili/controls/combobox.lua @@ -28,6 +28,8 @@ ComboBox = Button:Inherit{ maxDropDownWidth = 500, minDropDownWidth = 50, topHeight = 7, + noFont = false, + preferComboUp = false } local ComboBoxWindow = Window:Inherit{classname = "combobox_window", resizable = false, draggable = false, } @@ -149,7 +151,7 @@ function ComboBox:MouseDown(x, y) local screen = self:FindParent("screen") local y = sy + self.height - if y + height > screen.height then + if self.preferComboUp or y + height > screen.height then y = sy - height end diff --git a/libs/chiliui/luamenu/chili/chili/controls/control.lua b/libs/chiliui/chili/controls/control.lua similarity index 95% rename from libs/chiliui/luamenu/chili/chili/controls/control.lua rename to libs/chiliui/chili/controls/control.lua index 1c59470b4..87171da3a 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/control.lua +++ b/libs/chiliui/chili/controls/control.lua @@ -50,7 +50,7 @@ Control = Object:Inherit{ fixedRatio = false, tooltip = nil, --// JUST TEXT - greedyHitText = false, --// Enable to do hit test if the control has any mouse events. + greedyHitTest = false, --// Enable to do hit test if the control has any mouse events. font = { font = "FreeSansBold.otf", @@ -84,8 +84,7 @@ Control = Object:Inherit{ OnResize = {}, OnEnableChanged = {}, - -- __nofont should be manually set to true when using this class directly - __nofont = false, + noFont = true, } Control.disabledFont = table.merge({ color = {0.8, 0.8, 0.8, 0.8} }, Control.font) @@ -145,17 +144,29 @@ function Control:New(obj) -- We don't create fonts for controls that don't need them -- This should drastically use memory usage for some cases - if not obj.__nofont then - --// create font - obj.font = Font:New(obj.font) - obj.font:SetParent(obj) - - --// create disabled font - obj.disabledFont = Font:New(obj.disabledFont) - obj.disabledFont:SetParent(obj) - else + if obj.noFont then obj.font = nil obj.disabledFont = nil + else + if obj.objectOverrideFont then + obj.font = obj.objectOverrideFont + else + --// create font + obj.font = Font:New(obj.font) + obj.font:SetParent(obj) + end + + if obj.hasDisabledFont then + if obj.objectOverrideDisabledFont then + obj.disabledFont = obj.objectOverrideDisabledFont + else + --// create disabled font + obj.disabledFont = Font:New(obj.disabledFont) + obj.disabledFont:SetParent(obj) + end + else + obj.disabledFont = nil + end end obj:DetectRelativeBounds() @@ -167,7 +178,11 @@ function Control:New(obj) obj:AddChild(cn[i], true) end end + obj:Realign() + if WG.ChiliRedraw then + WG.ChiliRedraw.AddControl(obj, "New") + end return obj end @@ -204,12 +219,12 @@ function Control:Dispose(...) inherited.Dispose(self, ...) - if not self.__nofont then - if self.font.SetParent then + if (not self.noFont) then + if (not self.objectOverrideFont) and self.font and self.font.SetParent then self.font:SetParent() + end + if (not self.objectOverrideDisabledFont) and self.disabledFont and self.disabledFont.SetParent then self.disabledFont:SetParent() - else - Spring.Echo("nil self.font:SetParent", self.name) end end end @@ -391,9 +406,9 @@ end --// ============================================================================= function Control:SetEnabled(enabled) - self.state.enabled = enabled - self:CallListeners(self.OnEnableChanged, not self.state.enabled) - self:Invalidate() + self.state.enabled = enabled + self:CallListeners(self.OnEnableChanged, not self.state.enabled) + self:Invalidate() end --// ============================================================================= @@ -981,6 +996,7 @@ function Control:_CheckIfRTTisAppreciated() return (((self._redrawSelfCounter or 1) / (self._redrawCounter or 1)) < 0.03) end end + return true end @@ -1298,12 +1314,23 @@ end function Control:DrawForList() + --if not self:IsVisibleDescendantByName("screen0") then + -- return + --end self._redrawCounter = (self._redrawCounter or 0) + 1 if (not self._in_update and not self._usingRTT and self:_CheckIfRTTisAppreciated()) then self:InvalidateSelf() end + + if self.debugPosition then + Spring.Echo("DrawForList non-integer position") + self:TraceDebug({"name", "x", "y"}) + end if (self._tex_all and not self._inrtt) then + if WG.ChiliRedraw then + WG.ChiliRedraw.AddControl(self, "DrawForList_tex_all") + end gl.PushMatrix() gl.Translate(self.x, self.y, 0) gl.BlendFuncSeparate(GL.ONE, GL.SRC_ALPHA, GL.ZERO, GL.SRC_ALPHA) @@ -1326,8 +1353,14 @@ function Control:DrawForList() gl.Translate(self.x, self.y, 0) if (self._own_dlist) then + if WG.ChiliRedraw then + WG.ChiliRedraw.AddControl(self, "DrawForList_own_dlist") + end gl.CallList(self._own_dlist) else + if WG.ChiliRedraw then + WG.ChiliRedraw.AddControl(self, "DrawForList") + end if self._hasCustomDrawControl then gl.Translate(-self.x, -self.y, 0) self:DrawControl() @@ -1378,7 +1411,15 @@ function Control:Draw() self:InvalidateSelf() end + if self.debugPosition then + Spring.Echo("Draw non-integer position") + self:TraceDebug({"name", "x", "y"}) + end + if (self._tex_all) then + if WG.ChiliRedraw then + WG.ChiliRedraw.AddControl(self, "Draw_tex_all") + end gl.PushMatrix() gl.Translate(self.x, self.y, 0) gl.BlendFunc(GL.ONE, GL.SRC_ALPHA) @@ -1403,6 +1444,9 @@ function Control:Draw() if (self._own_dlist) then gl.CallList(self._own_dlist) else + if WG.ChiliRedraw then + WG.ChiliRedraw.AddControl(self, "Draw") + end if self._hasCustomDrawControl then gl.Translate(-self.x, -self.y, 0) self:DrawControl() @@ -1443,6 +1487,9 @@ end function Control:DrawChildrenForList() if (next(self.children)) then + if WG.ChiliRedraw then + WG.ChiliRedraw.AddControl(self, "DrawChildrenForList") + end self:_DrawChildrenInClientAreaWithoutViewCheck('DrawForList') end end @@ -1485,7 +1532,7 @@ function Control:HitTest(x, y) end end - if (self.noClickThrough and not IsTweakMode()) or (self.greedyHitText and ( + if (self.noClickThrough and not IsTweakMode()) or (self.greedyHitTest and ( (self.tooltip) or (#self.OnMouseDown > 0) or (#self.OnMouseUp > 0) diff --git a/libs/chiliui/luamenu/chili/chili/controls/detachabletabpanel.lua b/libs/chiliui/chili/controls/detachabletabpanel.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/detachabletabpanel.lua rename to libs/chiliui/chili/controls/detachabletabpanel.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/editbox.lua b/libs/chiliui/chili/controls/editbox.lua similarity index 99% rename from libs/chiliui/luamenu/chili/chili/controls/editbox.lua rename to libs/chiliui/chili/controls/editbox.lua index 766c9a087..d6a54fa11 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/editbox.lua +++ b/libs/chiliui/chili/controls/editbox.lua @@ -70,6 +70,8 @@ EditBox = Control:Inherit{ [Spring.GetKeyCode("f11")] = true, [Spring.GetKeyCode("f12")] = true, }, + + noFont = false, } local this = EditBox diff --git a/libs/chiliui/luamenu/chili/chili/controls/font.lua b/libs/chiliui/chili/controls/font.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/font.lua rename to libs/chiliui/chili/controls/font.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/grid.lua b/libs/chiliui/chili/controls/grid.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/grid.lua rename to libs/chiliui/chili/controls/grid.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/image.lua b/libs/chiliui/chili/controls/image.lua similarity index 95% rename from libs/chiliui/luamenu/chili/chili/controls/image.lua rename to libs/chiliui/chili/controls/image.lua index 027a61447..7615d7037 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/image.lua +++ b/libs/chiliui/chili/controls/image.lua @@ -24,6 +24,7 @@ Image = Button:Inherit{ flip = true; flip2 = true; + firstDraw = true, keepAspect = true; @@ -35,7 +36,7 @@ Image = Button:Inherit{ OnClick = {}, - __nofont = true, + noFont = true, } @@ -110,13 +111,20 @@ function Image:DrawControl() if (file2) then gl.Color(self.color2 or self.color) TextureHandler.LoadTexture(0, file2, self) + if self.firstDraw then + gl.TextureInfo(file2) + end gl.TexRect(0, 0, self.width, self.height, false, self.flip2) end if (file) then gl.Color(self.color) TextureHandler.LoadTexture(0, file, self) + if self.firstDraw then + gl.TextureInfo(file) + end gl.TexRect(0, 0, self.width, self.height, false, self.flip) end + self.firstDraw = false end gl.Texture(0, false) end diff --git a/libs/chiliui/luamenu/chili/chili/controls/imagelistview.lua b/libs/chiliui/chili/controls/imagelistview.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/imagelistview.lua rename to libs/chiliui/chili/controls/imagelistview.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/label.lua b/libs/chiliui/chili/controls/label.lua similarity index 99% rename from libs/chiliui/luamenu/chili/chili/controls/label.lua rename to libs/chiliui/chili/controls/label.lua index b4e11b5fc..f68426cb8 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/label.lua +++ b/libs/chiliui/chili/controls/label.lua @@ -23,6 +23,8 @@ Label = Control:Inherit{ align = "left", valign = "linecenter", --// usefull too "ascender" caption = "no text", + + noFont = false, } local this = Label diff --git a/libs/chiliui/luamenu/chili/chili/controls/layoutpanel.lua b/libs/chiliui/chili/controls/layoutpanel.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/layoutpanel.lua rename to libs/chiliui/chili/controls/layoutpanel.lua index cb05ea4cb..dd5b6faeb 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/layoutpanel.lua +++ b/libs/chiliui/chili/controls/layoutpanel.lua @@ -53,9 +53,9 @@ LayoutPanel = Control:Inherit{ centerItems = true, --[[ takes weights into account when resizing items (instead of same size for all) - - e.g. "component1.weight = 1, component2.weight = 2" => component2 will be 2 times larger than component1 - - if all components have same weight - > same layout as without weightedResize - - default value is 1 (nil interpreted as 1) + - e.g. "component1.weight = 1, component2.weight = 2" => component2 will be 2 times larger than component1 + - if all components have same weight - > same layout as without weightedResize + - default value is 1 (nil interpreted as 1) ]] weightedResize = false, @@ -70,7 +70,7 @@ LayoutPanel = Control:Inherit{ _rows = nil, _columns = nil, _cells = nil, - __nofont = true, + noFont = true, } local this = LayoutPanel @@ -431,8 +431,8 @@ function LayoutPanel:_LayoutChildrenResizeItems() local max_iy = math.floor(self.clientArea[4] / self.minItemHeight) if (max_ix * max_iy < cn_count) or - (max_ix < (self.columns or 0)) or - (max_iy < (self.rows or 0)) + (max_ix < (self.columns or 0)) or + (max_iy < (self.rows or 0)) then --FIXME add autoEnlarge/autoAdjustSize? --error"LayoutPanel: not enough space" diff --git a/libs/chiliui/luamenu/chili/chili/controls/line.lua b/libs/chiliui/chili/controls/line.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/line.lua rename to libs/chiliui/chili/controls/line.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/multiprogressbar.lua b/libs/chiliui/chili/controls/multiprogressbar.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/multiprogressbar.lua rename to libs/chiliui/chili/controls/multiprogressbar.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/object.lua b/libs/chiliui/chili/controls/object.lua similarity index 96% rename from libs/chiliui/luamenu/chili/chili/controls/object.lua rename to libs/chiliui/chili/controls/object.lua index 6637bf50b..787edba20 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/object.lua +++ b/libs/chiliui/chili/controls/object.lua @@ -124,8 +124,9 @@ function Object:New(obj) if (t == "metatable") then setmetatable(obj[i], getmetatable(v)) end - elseif (ot == "nil") then - obj[i] = v + -- We don't need to copy other types (allegedly) + --elseif (ot == "nil") then + -- obj[i] = v end end end @@ -203,7 +204,7 @@ end function Object:Clone() local newinst = {} - -- FIXME + -- FIXME return newinst end @@ -477,7 +478,7 @@ end --- Sets the visibility of the object -- @bool visible visibility status function Object:SetVisibility(visible) - if self.visible == visible then + if self.visible == ((visible and true) or false) then return end if (visible) then @@ -660,6 +661,18 @@ function Object:IsDescendantOf(object, _already_unlinked) return false end +function Object:IsVisibleDescendantByName(name) + if not self.visible then + return false + end + if self.name == name then + return true + end + if (self.parent) then + return (self.parent):IsVisibleDescendantByName(name) + end + return false +end function Object:IsAncestorOf(object, _level, _already_unlinked) _level = _level or 1 @@ -819,6 +832,21 @@ function Object:TweakDraw() self:CallChildrenInverse('TweakDraw') end +--// ============================================================================= + +function Object:TraceDebug(parameters) + local echo = {} + for i = 1, #parameters do + echo[#echo + 1] = parameters[i] + echo[#echo + 1] = (self[parameters[i]] ~= nil and self[parameters[i]]) or "nil" + end + Spring.Echo(unpack(echo)) + if self.parent then + self.parent:TraceDebug(parameters) + end +end + + --// ============================================================================= function Object:LocalToParent(x, y) diff --git a/libs/chiliui/luamenu/chili/chili/controls/panel.lua b/libs/chiliui/chili/controls/panel.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/panel.lua rename to libs/chiliui/chili/controls/panel.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/progressbar.lua b/libs/chiliui/chili/controls/progressbar.lua similarity index 97% rename from libs/chiliui/luamenu/chili/chili/controls/progressbar.lua rename to libs/chiliui/chili/controls/progressbar.lua index b1c276730..11335bb8f 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/progressbar.lua +++ b/libs/chiliui/chili/controls/progressbar.lua @@ -26,6 +26,7 @@ Progressbar = Control:Inherit{ reverse = false, caption = "", + noFont = false, color = {0, 0, 1, 1}, backgroundColor = {1, 1, 1, 1}, @@ -130,7 +131,7 @@ function Progressbar:DrawControl() end else if self.reverse then - gl.Rect(0, 0, w, h*percent) + gl.Rect(0, 0, w, h*percent) else gl.Rect(0, h*(1-percent), w, h) end @@ -151,7 +152,7 @@ function Progressbar:DrawControl() end end - if (self.caption) then + if (self.caption) and not self.noFont then (self.font):Print(self.caption, w*0.5, h*0.5, "center", "center") end end diff --git a/libs/chiliui/luamenu/chili/chili/controls/scale.lua b/libs/chiliui/chili/controls/scale.lua similarity index 99% rename from libs/chiliui/luamenu/chili/chili/controls/scale.lua rename to libs/chiliui/chili/controls/scale.lua index 8bcbb3c59..55df5d258 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/scale.lua +++ b/libs/chiliui/chili/controls/scale.lua @@ -11,6 +11,7 @@ Scale = Control:Inherit{ max = 50, step = 10, logBase = 1.5, + noFont = false, defaultWidth = 90, defaultHeight = 12, diff --git a/libs/chiliui/luamenu/chili/chili/controls/screen.lua b/libs/chiliui/chili/controls/screen.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/screen.lua rename to libs/chiliui/chili/controls/screen.lua index 1982235b7..260caec93 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/screen.lua +++ b/libs/chiliui/chili/controls/screen.lua @@ -260,8 +260,8 @@ function Screen:MouseUp(x, y, ...) if CompareLinks(hoveredControl, activeControl) then --//FIXME send this to controls too, when they didn't `return self` in MouseDown! if (math.abs(x - self._lastClickedX) < 3) and - (math.abs(y - self._lastClickedY) < 3) and - (Spring.DiffTimers(now, self._lastClicked) < 0.45 ) --FIXME 0.45 : = doubleClick time (use spring config?) + (math.abs(y - self._lastClickedY) < 3) and + (Spring.DiffTimers(now, self._lastClicked) < 0.45 ) --FIXME 0.45 : = doubleClick time (use spring config?) then obj = activeControl:MouseDblClick(cx, cy, ...) end diff --git a/libs/chiliui/luamenu/chili/chili/controls/scrollpanel.lua b/libs/chiliui/chili/controls/scrollpanel.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/scrollpanel.lua rename to libs/chiliui/chili/controls/scrollpanel.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/stackpanel.lua b/libs/chiliui/chili/controls/stackpanel.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/stackpanel.lua rename to libs/chiliui/chili/controls/stackpanel.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/tabbar.lua b/libs/chiliui/chili/controls/tabbar.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/tabbar.lua rename to libs/chiliui/chili/controls/tabbar.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/tabbaritem.lua b/libs/chiliui/chili/controls/tabbaritem.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/tabbaritem.lua rename to libs/chiliui/chili/controls/tabbaritem.lua index beef1bf0f..564cf3004 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/tabbaritem.lua +++ b/libs/chiliui/chili/controls/tabbaritem.lua @@ -4,6 +4,7 @@ TabBarItem = Button:Inherit{ classname = "tabbaritem", caption = 'tab', height = "100%", + noFont = false, } local this = TabBarItem diff --git a/libs/chiliui/luamenu/chili/chili/controls/tabpanel.lua b/libs/chiliui/chili/controls/tabpanel.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/tabpanel.lua rename to libs/chiliui/chili/controls/tabpanel.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/textbox.lua b/libs/chiliui/chili/controls/textbox.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/textbox.lua rename to libs/chiliui/chili/controls/textbox.lua index 8d0a41dbf..1e5f517eb 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/textbox.lua +++ b/libs/chiliui/chili/controls/textbox.lua @@ -20,6 +20,7 @@ TextBox = EditBox:Inherit{ editable = false, selectable = false, multiline = true, + noFont = false, borderColor = {0, 0, 0, 0}, focusColor = {0, 0, 0, 0}, diff --git a/libs/chiliui/luamenu/chili/chili/controls/trackbar.lua b/libs/chiliui/chili/controls/trackbar.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/trackbar.lua rename to libs/chiliui/chili/controls/trackbar.lua diff --git a/libs/chiliui/luamenu/chili/chili/controls/treeview.lua b/libs/chiliui/chili/controls/treeview.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/treeview.lua rename to libs/chiliui/chili/controls/treeview.lua index f99d50fbf..c89516e39 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/treeview.lua +++ b/libs/chiliui/chili/controls/treeview.lua @@ -115,6 +115,9 @@ end function TreeView:UpdateLayout() local c = self.root + if not c then + return false + end c:_UpdateConstraints(0, 0, self.clientWidth) c:Realign() diff --git a/libs/chiliui/luamenu/chili/chili/controls/treeviewnode.lua b/libs/chiliui/chili/controls/treeviewnode.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/controls/treeviewnode.lua rename to libs/chiliui/chili/controls/treeviewnode.lua index bed7e99bd..b1052c142 100644 --- a/libs/chiliui/luamenu/chili/chili/controls/treeviewnode.lua +++ b/libs/chiliui/chili/controls/treeviewnode.lua @@ -8,7 +8,7 @@ TreeViewNode = Control:Inherit{ autosize = true, caption = "node", - expanded = true, + expanded = false, clickTextToToggle = false, root = false, @@ -188,6 +188,10 @@ function TreeViewNode:Collapse() end end +function TreeViewNode:SetHighlight(newHighlight) + self.highlight = newHighlight +end + --// ============================================================================= function TreeViewNode:GetNodeByCaption(caption) diff --git a/libs/chiliui/luamenu/chili/chili/controls/window.lua b/libs/chiliui/chili/controls/window.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/controls/window.lua rename to libs/chiliui/chili/controls/window.lua diff --git a/libs/chiliui/luamenu/chili/chili/core.lua b/libs/chiliui/chili/core.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/core.lua rename to libs/chiliui/chili/core.lua diff --git a/libs/chiliui/luamenu/chili/chili/handlers/backwardcompability.lua b/libs/chiliui/chili/handlers/backwardcompability.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/handlers/backwardcompability.lua rename to libs/chiliui/chili/handlers/backwardcompability.lua diff --git a/libs/chiliui/luamenu/chili/chili/handlers/debughandler.lua b/libs/chiliui/chili/handlers/debughandler.lua similarity index 99% rename from libs/chiliui/luamenu/chili/chili/handlers/debughandler.lua rename to libs/chiliui/chili/handlers/debughandler.lua index df8d8f5ec..1ee405cbf 100644 --- a/libs/chiliui/luamenu/chili/chili/handlers/debughandler.lua +++ b/libs/chiliui/chili/handlers/debughandler.lua @@ -149,9 +149,9 @@ function DebugHandler.Stacktrace() --// we remove any occurence of the debughandler in the stacktrace (it's useless for debugging) if (info.short_src ~= self_src) - and(info.name ~= "SafeCall") - and(info.name ~= "cdxpcall") - and(info.name ~= "cdCreateList") + and(info.name ~= "SafeCall") + and(info.name ~= "cdxpcall") + and(info.name ~= "cdCreateList") then local curLine = info.currentline if (curLine < 0) then diff --git a/libs/chiliui/luamenu/chili/chili/handlers/fonthandler.lua b/libs/chiliui/chili/handlers/fonthandler.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/handlers/fonthandler.lua rename to libs/chiliui/chili/handlers/fonthandler.lua diff --git a/libs/chiliui/luamenu/chili/chili/handlers/skinhandler.lua b/libs/chiliui/chili/handlers/skinhandler.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/handlers/skinhandler.lua rename to libs/chiliui/chili/handlers/skinhandler.lua diff --git a/libs/chiliui/luamenu/chili/chili/handlers/taskhandler.lua b/libs/chiliui/chili/handlers/taskhandler.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/handlers/taskhandler.lua rename to libs/chiliui/chili/handlers/taskhandler.lua diff --git a/libs/chiliui/luamenu/chili/chili/handlers/texturehandler.lua b/libs/chiliui/chili/handlers/texturehandler.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/handlers/texturehandler.lua rename to libs/chiliui/chili/handlers/texturehandler.lua diff --git a/libs/chiliui/luamenu/chili/chili/handlers/themehandler.lua b/libs/chiliui/chili/handlers/themehandler.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/handlers/themehandler.lua rename to libs/chiliui/chili/handlers/themehandler.lua diff --git a/libs/chiliui/luamenu/chili/chili/headers/autolocalizer.lua b/libs/chiliui/chili/headers/autolocalizer.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/headers/autolocalizer.lua rename to libs/chiliui/chili/headers/autolocalizer.lua diff --git a/libs/chiliui/luamenu/chili/chili/headers/backwardcompability.lua b/libs/chiliui/chili/headers/backwardcompability.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/headers/backwardcompability.lua rename to libs/chiliui/chili/headers/backwardcompability.lua diff --git a/libs/chiliui/luamenu/chili/chili/headers/links.lua b/libs/chiliui/chili/headers/links.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/headers/links.lua rename to libs/chiliui/chili/headers/links.lua diff --git a/libs/chiliui/luamenu/chili/chili/headers/skinutils.lua b/libs/chiliui/chili/headers/skinutils.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/headers/skinutils.lua rename to libs/chiliui/chili/headers/skinutils.lua index 25b72bb04..d20c60f83 100644 --- a/libs/chiliui/luamenu/chili/chili/headers/skinutils.lua +++ b/libs/chiliui/chili/headers/skinutils.lua @@ -455,11 +455,11 @@ local function _DrawSelection(x, y, w, h) end local function _GetControlFont(obj) - if obj.state.enabled then - return obj.font - else - return obj.disabledFont - end + if obj.state.enabled or not obj.disabledFont then + return obj.font + else + return obj.disabledFont + end end --// ============================================================================= @@ -483,7 +483,7 @@ function DrawWindow(obj) gl.BeginEnd(GL.TRIANGLE_STRIP, _DrawTiledTexture, 0, 0, w, h, skLeft, skTop, skRight, skBottom, tw, th) gl.Texture(0, false) - if (obj.caption) then + if (obj.caption) and not obj.noFont then _GetControlFont(obj):Print(obj.caption, w*0.5, 9, "center") end end @@ -507,8 +507,8 @@ function DrawRepeatingTiledWindow(obj) gl.BeginEnd(GL.TRIANGLE_STRIP, _DrawRepeatingTiledTexture, 0, 0, w, h, skLeft, skTop, skRight, skBottom, tw, th) gl.Texture(0, false) - if (obj.caption) then - _GetControlFont(obj):Print(obj.caption, w*0.5, 9, "center") + if (obj.caption) and not obj.noFont then + _GetControlFont(obj):Print(obj.caption, w*0.5, 9, "center") end end @@ -563,7 +563,7 @@ function DrawButton(obj) gl.BeginEnd(GL.TRIANGLE_STRIP, _DrawTiledTexture, 0, 0, w, h, skLeft, skTop, skRight, skBottom, tw, th, 0, obj.disableTiling) gl.Texture(0, false) - if (obj.caption) then + if (obj.caption) and not obj.noFont then local font = _GetControlFont(obj) font:Print(obj.caption, w*0.5 + (obj.captionHorAlign or 0), math.floor(h*0.5 - font.size*0.35) + (obj.captionAlign or 0), "center", "linecenter") end @@ -1036,7 +1036,7 @@ function DrawCheckbox(obj) gl.Texture(0, false) gl.Color(1, 1, 1, 1) - if (obj.caption) then + if (obj.caption) and not obj.noFont then local font = _GetControlFont(obj) font:Print(obj.caption, tx, ty - font.size*0.35, nil, obj.valign) end @@ -1087,7 +1087,7 @@ function DrawProgressbar(obj) --gl.ClipPlane(1, false) gl.Texture(0, false) - if (obj.caption) then + if (obj.caption) and not obj.noFont then local font = _GetControlFont(obj) font:Print(obj.caption, x + w*0.5, y + h*0.5 - font.size*0.35 + (obj.fontOffset or 0), "center", "linecenter") end @@ -1253,6 +1253,9 @@ function DrawTreeviewNodeTree(self) local image = self.ImageExpanded or self.treeview.ImageExpanded if (not self.expanded) then image = self.ImageCollapsed or self.treeview.ImageCollapsed + if self.highlight and (self.ImageHighlight or self.treeview.ImageHighlight) then + image = self.ImageHighlight or self.treeview.ImageHighlight + end end TextureHandler.LoadTexture(0, image, self) @@ -1335,7 +1338,7 @@ function DrawTabBarItem(obj) gl.BeginEnd(GL.TRIANGLE_STRIP, _DrawTiledTexture, 0, 0, w, h, skLeft, skTop, skRight, skBottom, tw, th, 0) gl.Texture(0, false) - if (obj.caption) then + if (obj.caption) and not obj.noFont then local cx, cy, cw, ch = unpack4(obj.clientArea) _GetControlFont(obj):DrawInBox(obj.caption, cx, cy, cw, ch, "center", "center") end diff --git a/libs/chiliui/luamenu/chili/chili/headers/strict.lua b/libs/chiliui/chili/headers/strict.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/headers/strict.lua rename to libs/chiliui/chili/headers/strict.lua diff --git a/libs/chiliui/luamenu/chili/chili/headers/unicode.lua b/libs/chiliui/chili/headers/unicode.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/headers/unicode.lua rename to libs/chiliui/chili/headers/unicode.lua index 5f57d9555..413a25402 100644 --- a/libs/chiliui/luamenu/chili/chili/headers/unicode.lua +++ b/libs/chiliui/chili/headers/unicode.lua @@ -44,7 +44,7 @@ end local function count_leading_ones(num) return - ((math.bit_and(num, 0xF0) == 0xF0) and 4) + ((math.bit_and(num, 0xF0) == 0xF0) and 4) or ((math.bit_and(num, 0xE0) == 0xE0) and 3) or ((math.bit_and(num, 0xC0) == 0xC0) and 2) or ((math.bit_and(num, 0x80) == 0x80) and 1) diff --git a/libs/chiliui/luamenu/chili/chili/headers/util.lua b/libs/chiliui/chili/headers/util.lua similarity index 98% rename from libs/chiliui/luamenu/chili/chili/headers/util.lua rename to libs/chiliui/chili/headers/util.lua index f361d684c..e849959ba 100644 --- a/libs/chiliui/luamenu/chili/chili/headers/util.lua +++ b/libs/chiliui/chili/headers/util.lua @@ -183,7 +183,7 @@ end local function PushStencilMask(obj, x, y, w, h) - obj._stencilMask = (obj.parent._stencilMask or 0) + 1 + obj._stencilMask = ((obj.parent and obj.parent._stencilMask) or 0) + 1 if (obj._stencilMask > 255) then obj._stencilMask = 0 end @@ -220,7 +220,7 @@ local function PopStencilMask(obj, x, y, w, h) end gl.ColorMask(true) - gl.StencilFunc(GL.EQUAL, obj.parent._stencilMask or 0, 0xFF) + gl.StencilFunc(GL.EQUAL, ((obj.parent and obj.parent._stencilMask) or 0), 0xFF) gl.StencilOp(GL_KEEP, GL_KEEP, GL_KEEP) --gl.StencilTest(false) diff --git a/libs/chiliui/luamenu/chili/chili/skins/DarkGlass/combobox_wnd.png b/libs/chiliui/chili/skins/DarkGlass/combobox_wnd.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/DarkGlass/combobox_wnd.png rename to libs/chiliui/chili/skins/DarkGlass/combobox_wnd.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/DarkGlass/glass.psp b/libs/chiliui/chili/skins/DarkGlass/glass.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/DarkGlass/glass.psp rename to libs/chiliui/chili/skins/DarkGlass/glass.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/DarkGlass/glass_.png b/libs/chiliui/chili/skins/DarkGlass/glass_.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/DarkGlass/glass_.png rename to libs/chiliui/chili/skins/DarkGlass/glass_.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/DarkGlass/skin.lua b/libs/chiliui/chili/skins/DarkGlass/skin.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/DarkGlass/skin.lua rename to libs/chiliui/chili/skins/DarkGlass/skin.lua diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox.png b/libs/chiliui/chili/skins/Glass/checkbox.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox.png rename to libs/chiliui/chili/skins/Glass/checkbox.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox.psp b/libs/chiliui/chili/skins/Glass/checkbox.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox.psp rename to libs/chiliui/chili/skins/Glass/checkbox.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox_.png b/libs/chiliui/chili/skins/Glass/checkbox_.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox_.png rename to libs/chiliui/chili/skins/Glass/checkbox_.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox_arrow.png b/libs/chiliui/chili/skins/Glass/checkbox_arrow.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/checkbox_arrow.png rename to libs/chiliui/chili/skins/Glass/checkbox_arrow.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/combobox_ctrl_arrow.png b/libs/chiliui/chili/skins/Glass/combobox_ctrl_arrow.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/combobox_ctrl_arrow.png rename to libs/chiliui/chili/skins/Glass/combobox_ctrl_arrow.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/combobox_wnd.png b/libs/chiliui/chili/skins/Glass/combobox_wnd.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/combobox_wnd.png rename to libs/chiliui/chili/skins/Glass/combobox_wnd.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glass.png b/libs/chiliui/chili/skins/Glass/glass.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glass.png rename to libs/chiliui/chili/skins/Glass/glass.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glass2.png b/libs/chiliui/chili/skins/Glass/glass2.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glass2.png rename to libs/chiliui/chili/skins/Glass/glass2.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glass2.psp b/libs/chiliui/chili/skins/Glass/glass2.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glass2.psp rename to libs/chiliui/chili/skins/Glass/glass2.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glassBK.png b/libs/chiliui/chili/skins/Glass/glassBK.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glassBK.png rename to libs/chiliui/chili/skins/Glass/glassBK.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glassButton.psp b/libs/chiliui/chili/skins/Glass/glassButton.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glassButton.psp rename to libs/chiliui/chili/skins/Glass/glassButton.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glassFG.png b/libs/chiliui/chili/skins/Glass/glassFG.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glassFG.png rename to libs/chiliui/chili/skins/Glass/glassFG.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glass_line.png b/libs/chiliui/chili/skins/Glass/glass_line.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glass_line.png rename to libs/chiliui/chili/skins/Glass/glass_line.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/glass_line_vert.png b/libs/chiliui/chili/skins/Glass/glass_line_vert.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/glass_line_vert.png rename to libs/chiliui/chili/skins/Glass/glass_line_vert.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/hscrollbar.png b/libs/chiliui/chili/skins/Glass/hscrollbar.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/hscrollbar.png rename to libs/chiliui/chili/skins/Glass/hscrollbar.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/itemlistview_item_fg.png b/libs/chiliui/chili/skins/Glass/itemlistview_item_fg.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/itemlistview_item_fg.png rename to libs/chiliui/chili/skins/Glass/itemlistview_item_fg.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/node_selected.png b/libs/chiliui/chili/skins/Glass/node_selected.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/node_selected.png rename to libs/chiliui/chili/skins/Glass/node_selected.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/panel.png b/libs/chiliui/chili/skins/Glass/panel.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/panel.png rename to libs/chiliui/chili/skins/Glass/panel.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/panel.psp b/libs/chiliui/chili/skins/Glass/panel.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/panel.psp rename to libs/chiliui/chili/skins/Glass/panel.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/panel_.png b/libs/chiliui/chili/skins/Glass/panel_.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/panel_.png rename to libs/chiliui/chili/skins/Glass/panel_.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/porgressbar_empty.png b/libs/chiliui/chili/skins/Glass/porgressbar_empty.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/porgressbar_empty.png rename to libs/chiliui/chili/skins/Glass/porgressbar_empty.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/progressbar_empty.png b/libs/chiliui/chili/skins/Glass/progressbar_empty.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/progressbar_empty.png rename to libs/chiliui/chili/skins/Glass/progressbar_empty.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/progressbar_full.png b/libs/chiliui/chili/skins/Glass/progressbar_full.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/progressbar_full.png rename to libs/chiliui/chili/skins/Glass/progressbar_full.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/scrollbar.png b/libs/chiliui/chili/skins/Glass/scrollbar.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/scrollbar.png rename to libs/chiliui/chili/skins/Glass/scrollbar.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/scrollbar_knob.png b/libs/chiliui/chili/skins/Glass/scrollbar_knob.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/scrollbar_knob.png rename to libs/chiliui/chili/skins/Glass/scrollbar_knob.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/scrollbar_knob.psp b/libs/chiliui/chili/skins/Glass/scrollbar_knob.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/scrollbar_knob.psp rename to libs/chiliui/chili/skins/Glass/scrollbar_knob.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/skin.lua b/libs/chiliui/chili/skins/Glass/skin.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/skin.lua rename to libs/chiliui/chili/skins/Glass/skin.lua diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/trackbar.png b/libs/chiliui/chili/skins/Glass/trackbar.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/trackbar.png rename to libs/chiliui/chili/skins/Glass/trackbar.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/trackbar_step.png b/libs/chiliui/chili/skins/Glass/trackbar_step.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/trackbar_step.png rename to libs/chiliui/chili/skins/Glass/trackbar_step.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/trackbar_thumb.png b/libs/chiliui/chili/skins/Glass/trackbar_thumb.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/trackbar_thumb.png rename to libs/chiliui/chili/skins/Glass/trackbar_thumb.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node.psp b/libs/chiliui/chili/skins/Glass/treeview_node.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node.psp rename to libs/chiliui/chili/skins/Glass/treeview_node.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node2.psp b/libs/chiliui/chili/skins/Glass/treeview_node2.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node2.psp rename to libs/chiliui/chili/skins/Glass/treeview_node2.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node_collapsed.png b/libs/chiliui/chili/skins/Glass/treeview_node_collapsed.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node_collapsed.png rename to libs/chiliui/chili/skins/Glass/treeview_node_collapsed.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node_expanded.png b/libs/chiliui/chili/skins/Glass/treeview_node_expanded.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Glass/treeview_node_expanded.png rename to libs/chiliui/chili/skins/Glass/treeview_node_expanded.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_ctrl.png b/libs/chiliui/chili/skins/Robocracy/combobox_ctrl.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_ctrl.png rename to libs/chiliui/chili/skins/Robocracy/combobox_ctrl.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_ctrl_arrow.png b/libs/chiliui/chili/skins/Robocracy/combobox_ctrl_arrow.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_ctrl_arrow.png rename to libs/chiliui/chili/skins/Robocracy/combobox_ctrl_arrow.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_ctrl_fg.png b/libs/chiliui/chili/skins/Robocracy/combobox_ctrl_fg.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_ctrl_fg.png rename to libs/chiliui/chili/skins/Robocracy/combobox_ctrl_fg.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_wnd.png b/libs/chiliui/chili/skins/Robocracy/combobox_wnd.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/combobox_wnd.png rename to libs/chiliui/chili/skins/Robocracy/combobox_wnd.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/empty.png b/libs/chiliui/chili/skins/Robocracy/empty.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/empty.png rename to libs/chiliui/chili/skins/Robocracy/empty.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/README b/libs/chiliui/chili/skins/Robocracy/fonts/README similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/README rename to libs/chiliui/chili/skins/Robocracy/fonts/README diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/README.gentoo b/libs/chiliui/chili/skins/Robocracy/fonts/README.gentoo similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/README.gentoo rename to libs/chiliui/chili/skins/Robocracy/fonts/README.gentoo diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/README.gentoo.tweaks b/libs/chiliui/chili/skins/Robocracy/fonts/README.gentoo.tweaks similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/README.gentoo.tweaks rename to libs/chiliui/chili/skins/Robocracy/fonts/README.gentoo.tweaks diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/n019003l.pfb b/libs/chiliui/chili/skins/Robocracy/fonts/n019003l.pfb similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/fonts/n019003l.pfb rename to libs/chiliui/chili/skins/Robocracy/fonts/n019003l.pfb diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/glassBk.png b/libs/chiliui/chili/skins/Robocracy/glassBk.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/glassBk.png rename to libs/chiliui/chili/skins/Robocracy/glassBk.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/glassFG.png b/libs/chiliui/chili/skins/Robocracy/glassFG.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/glassFG.png rename to libs/chiliui/chili/skins/Robocracy/glassFG.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/node_selected.png b/libs/chiliui/chili/skins/Robocracy/node_selected.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/node_selected.png rename to libs/chiliui/chili/skins/Robocracy/node_selected.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/node_selected.psp b/libs/chiliui/chili/skins/Robocracy/node_selected.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/node_selected.psp rename to libs/chiliui/chili/skins/Robocracy/node_selected.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/node_selected_bw.png b/libs/chiliui/chili/skins/Robocracy/node_selected_bw.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/node_selected_bw.png rename to libs/chiliui/chili/skins/Robocracy/node_selected_bw.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2.png b/libs/chiliui/chili/skins/Robocracy/panel2.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2.png rename to libs/chiliui/chili/skins/Robocracy/panel2.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2.psp b/libs/chiliui/chili/skins/Robocracy/panel2.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2.psp rename to libs/chiliui/chili/skins/Robocracy/panel2.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2_bg.png b/libs/chiliui/chili/skins/Robocracy/panel2_bg.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2_bg.png rename to libs/chiliui/chili/skins/Robocracy/panel2_bg.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2_border.png b/libs/chiliui/chili/skins/Robocracy/panel2_border.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/panel2_border.png rename to libs/chiliui/chili/skins/Robocracy/panel2_border.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/skin.lua b/libs/chiliui/chili/skins/Robocracy/skin.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/skin.lua rename to libs/chiliui/chili/skins/Robocracy/skin.lua diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button.png b/libs/chiliui/chili/skins/Robocracy/tech_button.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button.png rename to libs/chiliui/chili/skins/Robocracy/tech_button.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button.psp b/libs/chiliui/chili/skins/Robocracy/tech_button.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button.psp rename to libs/chiliui/chili/skins/Robocracy/tech_button.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button_bk.png b/libs/chiliui/chili/skins/Robocracy/tech_button_bk.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button_bk.png rename to libs/chiliui/chili/skins/Robocracy/tech_button_bk.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button_fg.png b/libs/chiliui/chili/skins/Robocracy/tech_button_fg.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_button_fg.png rename to libs/chiliui/chili/skins/Robocracy/tech_button_fg.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_buttonbk.png b/libs/chiliui/chili/skins/Robocracy/tech_buttonbk.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_buttonbk.png rename to libs/chiliui/chili/skins/Robocracy/tech_buttonbk.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_checkbox.psp b/libs/chiliui/chili/skins/Robocracy/tech_checkbox.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_checkbox.psp rename to libs/chiliui/chili/skins/Robocracy/tech_checkbox.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_checkbox_checked.png b/libs/chiliui/chili/skins/Robocracy/tech_checkbox_checked.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_checkbox_checked.png rename to libs/chiliui/chili/skins/Robocracy/tech_checkbox_checked.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_checkbox_unchecked.png b/libs/chiliui/chili/skins/Robocracy/tech_checkbox_unchecked.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_checkbox_unchecked.png rename to libs/chiliui/chili/skins/Robocracy/tech_checkbox_unchecked.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_dragwindow.png b/libs/chiliui/chili/skins/Robocracy/tech_dragwindow.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_dragwindow.png rename to libs/chiliui/chili/skins/Robocracy/tech_dragwindow.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_dragwindow.psp b/libs/chiliui/chili/skins/Robocracy/tech_dragwindow.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_dragwindow.psp rename to libs/chiliui/chili/skins/Robocracy/tech_dragwindow.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_line.png b/libs/chiliui/chili/skins/Robocracy/tech_line.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_line.png rename to libs/chiliui/chili/skins/Robocracy/tech_line.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_line_vert.png b/libs/chiliui/chili/skins/Robocracy/tech_line_vert.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_line_vert.png rename to libs/chiliui/chili/skins/Robocracy/tech_line_vert.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_progressbar.psp b/libs/chiliui/chili/skins/Robocracy/tech_progressbar.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_progressbar.psp rename to libs/chiliui/chili/skins/Robocracy/tech_progressbar.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_progressbar_empty.png b/libs/chiliui/chili/skins/Robocracy/tech_progressbar_empty.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_progressbar_empty.png rename to libs/chiliui/chili/skins/Robocracy/tech_progressbar_empty.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_progressbar_full.png b/libs/chiliui/chili/skins/Robocracy/tech_progressbar_full.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_progressbar_full.png rename to libs/chiliui/chili/skins/Robocracy/tech_progressbar_full.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar.png b/libs/chiliui/chili/skins/Robocracy/tech_scrollbar.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar.png rename to libs/chiliui/chili/skins/Robocracy/tech_scrollbar.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar.psp b/libs/chiliui/chili/skins/Robocracy/tech_scrollbar.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar.psp rename to libs/chiliui/chili/skins/Robocracy/tech_scrollbar.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar_knob.png b/libs/chiliui/chili/skins/Robocracy/tech_scrollbar_knob.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar_knob.png rename to libs/chiliui/chili/skins/Robocracy/tech_scrollbar_knob.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar_knob.psp b/libs/chiliui/chili/skins/Robocracy/tech_scrollbar_knob.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_scrollbar_knob.psp rename to libs/chiliui/chili/skins/Robocracy/tech_scrollbar_knob.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_tabbaritem.png b/libs/chiliui/chili/skins/Robocracy/tech_tabbaritem.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_tabbaritem.png rename to libs/chiliui/chili/skins/Robocracy/tech_tabbaritem.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_tabbaritem_bk.png b/libs/chiliui/chili/skins/Robocracy/tech_tabbaritem_bk.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_tabbaritem_bk.png rename to libs/chiliui/chili/skins/Robocracy/tech_tabbaritem_bk.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_tabbaritem_fg.png b/libs/chiliui/chili/skins/Robocracy/tech_tabbaritem_fg.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_tabbaritem_fg.png rename to libs/chiliui/chili/skins/Robocracy/tech_tabbaritem_fg.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_window.png b/libs/chiliui/chili/skins/Robocracy/tech_window.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_window.png rename to libs/chiliui/chili/skins/Robocracy/tech_window.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_window.psp b/libs/chiliui/chili/skins/Robocracy/tech_window.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/tech_window.psp rename to libs/chiliui/chili/skins/Robocracy/tech_window.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/trackbar.png b/libs/chiliui/chili/skins/Robocracy/trackbar.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/trackbar.png rename to libs/chiliui/chili/skins/Robocracy/trackbar.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/trackbar_step.png b/libs/chiliui/chili/skins/Robocracy/trackbar_step.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/trackbar_step.png rename to libs/chiliui/chili/skins/Robocracy/trackbar_step.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/trackbar_thumb.png b/libs/chiliui/chili/skins/Robocracy/trackbar_thumb.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/trackbar_thumb.png rename to libs/chiliui/chili/skins/Robocracy/trackbar_thumb.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/treeview_node_collapsed.png b/libs/chiliui/chili/skins/Robocracy/treeview_node_collapsed.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/treeview_node_collapsed.png rename to libs/chiliui/chili/skins/Robocracy/treeview_node_collapsed.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/treeview_node_expanded.png b/libs/chiliui/chili/skins/Robocracy/treeview_node_expanded.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/treeview_node_expanded.png rename to libs/chiliui/chili/skins/Robocracy/treeview_node_expanded.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/treeview_node_expanded_bw.png b/libs/chiliui/chili/skins/Robocracy/treeview_node_expanded_bw.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/treeview_node_expanded_bw.png rename to libs/chiliui/chili/skins/Robocracy/treeview_node_expanded_bw.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/window_tooltip.png b/libs/chiliui/chili/skins/Robocracy/window_tooltip.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/window_tooltip.png rename to libs/chiliui/chili/skins/Robocracy/window_tooltip.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/Robocracy/window_tooltip.psp b/libs/chiliui/chili/skins/Robocracy/window_tooltip.psp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/Robocracy/window_tooltip.psp rename to libs/chiliui/chili/skins/Robocracy/window_tooltip.psp diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/Sav33A.tmp b/libs/chiliui/chili/skins/default/Sav33A.tmp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/Sav33A.tmp rename to libs/chiliui/chili/skins/default/Sav33A.tmp diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/Sav38D.tmp b/libs/chiliui/chili/skins/default/Sav38D.tmp similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/Sav38D.tmp rename to libs/chiliui/chili/skins/default/Sav38D.tmp diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/empty.png b/libs/chiliui/chili/skins/default/empty.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/empty.png rename to libs/chiliui/chili/skins/default/empty.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/folder.png b/libs/chiliui/chili/skins/default/folder.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/folder.png rename to libs/chiliui/chili/skins/default/folder.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/folder_up.png b/libs/chiliui/chili/skins/default/folder_up.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/folder_up.png rename to libs/chiliui/chili/skins/default/folder_up.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/placeholder.png b/libs/chiliui/chili/skins/default/placeholder.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/placeholder.png rename to libs/chiliui/chili/skins/default/placeholder.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/skin.lua b/libs/chiliui/chili/skins/default/skin.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/skin.lua rename to libs/chiliui/chili/skins/default/skin.lua diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/treeview_node_collapsed.png b/libs/chiliui/chili/skins/default/treeview_node_collapsed.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/treeview_node_collapsed.png rename to libs/chiliui/chili/skins/default/treeview_node_collapsed.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/treeview_node_expanded.png b/libs/chiliui/chili/skins/default/treeview_node_expanded.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/treeview_node_expanded.png rename to libs/chiliui/chili/skins/default/treeview_node_expanded.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/tweak_overlay.png b/libs/chiliui/chili/skins/default/tweak_overlay.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/tweak_overlay.png rename to libs/chiliui/chili/skins/default/tweak_overlay.png diff --git a/libs/chiliui/luamenu/chili/chili/skins/default/tweak_overlay_resizable.png b/libs/chiliui/chili/skins/default/tweak_overlay_resizable.png similarity index 100% rename from libs/chiliui/luamenu/chili/chili/skins/default/tweak_overlay_resizable.png rename to libs/chiliui/chili/skins/default/tweak_overlay_resizable.png diff --git a/libs/chiliui/luamenu/chili/chili/themes/theme.lua b/libs/chiliui/chili/themes/theme.lua similarity index 100% rename from libs/chiliui/luamenu/chili/chili/themes/theme.lua rename to libs/chiliui/chili/themes/theme.lua diff --git a/libs/chiliui/luamenu/chili/chili/todo.txt b/libs/chiliui/chili/todo.txt similarity index 100% rename from libs/chiliui/luamenu/chili/chili/todo.txt rename to libs/chiliui/chili/todo.txt diff --git a/libs/chiliui/luamenu/chili/dbg_chili_inspector.lua b/libs/chiliui/dbg_chili_inspector.lua similarity index 100% rename from libs/chiliui/luamenu/chili/dbg_chili_inspector.lua rename to libs/chiliui/dbg_chili_inspector.lua diff --git a/libs/chiliui/luamenu/chili/dbg_chili_profiler.lua b/libs/chiliui/dbg_chili_profiler.lua similarity index 100% rename from libs/chiliui/luamenu/chili/dbg_chili_profiler.lua rename to libs/chiliui/dbg_chili_profiler.lua diff --git a/libs/chiliui/luamenu/chili/generate_docs.sh b/libs/chiliui/generate_docs.sh similarity index 100% rename from libs/chiliui/luamenu/chili/generate_docs.sh rename to libs/chiliui/generate_docs.sh diff --git a/libs/chiliui/luamenu/chili/gui_chili_docking.lua b/libs/chiliui/gui_chili_docking.lua similarity index 100% rename from libs/chiliui/luamenu/chili/gui_chili_docking.lua rename to libs/chiliui/gui_chili_docking.lua diff --git a/libs/chiliui/luamenu/chili/gui_chiliguidemo.lua b/libs/chiliui/gui_chiliguidemo.lua similarity index 100% rename from libs/chiliui/luamenu/chili/gui_chiliguidemo.lua rename to libs/chiliui/gui_chiliguidemo.lua diff --git a/libs/liblobby/lobby/interface_zerok.lua b/libs/liblobby/lobby/interface_zerok.lua index b5a399b51..05f397de3 100644 --- a/libs/liblobby/lobby/interface_zerok.lua +++ b/libs/liblobby/lobby/interface_zerok.lua @@ -44,6 +44,7 @@ function Interface:Register(userName, password, email, useSteamLogin) PasswordHash = password, SteamAuthToken = steamToken, UserID = (config and config.UserID) or 0, + InstallID = (config and config.InstallID) or 0, } self:_SendCommand("Register " .. json.encode(sendData)) return self @@ -65,6 +66,7 @@ function Interface:Login(user, password, cpu, localIP, lobbyVersion, useSteamLog if steamToken and (not password) and not REVERSE_COMPAT then sendData = { UserID = (config and config.UserID) or 0, + InstallID = (config and config.InstallID) or 0, ClientType = 1, LobbyVersion = lobbyVersion, SteamAuthToken = steamToken, @@ -75,6 +77,7 @@ function Interface:Login(user, password, cpu, localIP, lobbyVersion, useSteamLog Name = user, PasswordHash = password, UserID = (config and config.UserID) or 0, + InstallID = (config and config.InstallID) or 0, ClientType = 1, LobbyVersion = lobbyVersion, SteamAuthToken = steamToken, @@ -634,6 +637,41 @@ function Interface:PartyInviteResponse(partyID, accepted) return self end +------------------------ +-- Battle Propose commands +------------------------ + +function Interface:BattleProposalRespond(userName, accepted) + -- Say {"Place":0,"Target":"zk","User":"GoogleFrog","IsEmote":false,"Text":"bla","Ring":false,"Time":"2016-06-25T07:17:20.7548313Z" + local sendData = { + Place = 2, -- Does 2 mean say to a player??? + Target = userName, + User = self:GetMyUserName(), + IsEmote = false, + Text = "!acceptBattleProposal", + Ring = false, + --Time = "2016-06-25T07:17:20.7548313Z", + } + self:_SendCommand("Say " .. json.encode(sendData)) + return self +end + +function Interface:BattleProposalBattleInvite(userName, battleID, password) + -- Say {"Place":0,"Target":"zk","User":"GoogleFrog","IsEmote":false,"Text":"bla","Ring":false,"Time":"2016-06-25T07:17:20.7548313Z" + local sendData = { + Place = 2, -- Does 2 mean say to a player??? + Target = userName, + User = self:GetMyUserName(), + IsEmote = false, + Text = "!inviteProposedBattle " .. battleID .. " " .. password, + Ring = false, + --Time = "2016-06-25T07:17:20.7548313Z", + } + self:_SendCommand("Say " .. json.encode(sendData)) + return self +end + + ------------------------ -- Planetwars commands ------------------------ @@ -1279,6 +1317,28 @@ function Interface:_BattlePollOutcome(data) end Interface.jsonCommands["BattlePollOutcome"] = Interface._BattlePollOutcome +function Interface:_HandleBattleProposalMessages(userName, message, doAction) + if message == "!acceptBattleProposal" then + if doAction then + self:_CallListeners("OnBattleProposalResponse", userName, true) + end + return true + end + + if string.sub(message, 1, 21) == "!inviteProposedBattle" then + local data = message:split(" ") + local battleID = data and data[2] and tonumber(data[2]) + local password = data and data[3] and tonumber(data[3]) + if battleID and password then + if doAction then + self:_CallListeners("OnBattleProposalBattleInvite", userName, battleID, password) + end + return true + end + end + return false +end + function Interface:_Say(data) -- Say {"Place":0,"Target":"zk","User":"GoogleFrog","IsEmote":false,"Text":"bla","Ring":false,"Time":"2016-06-25T07:17:20.7548313Z}" local duplicateMessageTime = false @@ -1346,12 +1406,19 @@ function Interface:_Say(data) end elseif data.Place == 2 then -- Send to user? if data.Target == self:GetMyUserName() then + if self:_HandleBattleProposalMessages(data.User, data.Text, true) then + return -- Hide these messages + end if emote then self:_OnSaidPrivateEx(data.User, data.Text, data.Time) else self:_OnSaidPrivate(data.User, data.Text, data.Time) end else + -- _HandleBattleProposalMessages only hides messages when the third argument is false + if self:_HandleBattleProposalMessages(data.User, data.Text, false) then + return + end if emote then self:_OnSayPrivateEx(data.Target, data.Text, data.Time) else @@ -1494,6 +1561,11 @@ function Interface:_OnPartyStatus(data) end Interface.jsonCommands["OnPartyStatus"] = Interface._OnPartyStatus +------------------------ +-- Battle Propose commands +------------------------ +-- These are in _Say at this point + ------------------------ -- Planetwars commands ------------------------ diff --git a/libs/liblobby/lobby/lobby.lua b/libs/liblobby/lobby/lobby.lua index e5a1e7554..90a916b37 100644 --- a/libs/liblobby/lobby/lobby.lua +++ b/libs/liblobby/lobby/lobby.lua @@ -379,6 +379,18 @@ function Lobby:PartyInviteResponse(partyID, accepted) return self end +------------------------ +-- Battle Propose commands +------------------------ + +function Lobby:BattleProposalRespond(userName, accepted) + return self +end + +function Lobby:BattleProposalBattleInvite(userName, battleID, password) + return self +end + ------------------------ -- Planetwars commands ------------------------ @@ -1158,6 +1170,18 @@ function Lobby:_OnPartyInviteResponse(userName, accepted) -- Invite response rec self:_CallListeners("OnPartyInviteResponse", userName, accepted) end +------------------------ +-- Battle Propose commands +------------------------ + +function Lobby:_OnBattleProposalResponse(userName, accepted) + self:_CallListeners("OnBattleProposalResponse", userName, accepted) +end + +function Lobby:_OnBattleProposalBattleInvite(userName, battleID, password) + self:_CallListeners("OnBattleProposalBattleInvite", userName, battleID, password) +end + ------------------------ -- Planetwars Commands ------------------------