From 6d78157398a16e920fe1868a1861b2030521378d Mon Sep 17 00:00:00 2001 From: Azraeel <45247351+Azraeel@users.noreply.github.com> Date: Thu, 19 Nov 2020 15:00:12 -0600 Subject: [PATCH] Fix for Sorian AI to be able to use support factories (#3173) Fixed Sorian, so He'll be able to make support factories. --- .../SorianExpansionAirFull.lua | 2 + .../SorianExpansionBalancedFull.lua | 2 + .../SorianExpansionBalancedSmall.lua | 2 + .../SorianExpansionTurtleFull.lua | 2 + .../SorianExpansionWaterFull.lua | 2 + lua/AI/AIBaseTemplates/SorianMainAir.lua | 2 + lua/AI/AIBaseTemplates/SorianMainBalanced.lua | 2 + lua/AI/AIBaseTemplates/SorianMainRush.lua | 2 + lua/AI/AIBaseTemplates/SorianMainTurtle.lua | 2 + lua/AI/AIBaseTemplates/SorianMainWater.lua | 2 + .../SorianNavalExpansionLarge.lua | 1 + .../SorianNavalExpansionSmall.lua | 1 + .../SorianEconomyUpgradeBuilders.lua | 1404 ++++++++++------- .../SorianPlatoonTemplatesFactory.lua | 146 ++ 14 files changed, 997 insertions(+), 575 deletions(-) create mode 100644 lua/AI/PlatoonTemplates/SorianPlatoonTemplatesFactory.lua diff --git a/lua/AI/AIBaseTemplates/SorianExpansionAirFull.lua b/lua/AI/AIBaseTemplates/SorianExpansionAirFull.lua index 7749cc482d..37ffea3900 100644 --- a/lua/AI/AIBaseTemplates/SorianExpansionAirFull.lua +++ b/lua/AI/AIBaseTemplates/SorianExpansionAirFull.lua @@ -15,6 +15,8 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1BalancedUpgradeBuildersExpansion', 'SorianT2BalancedUpgradeBuildersExpansion', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', # Engineer Builders 'SorianEngineerFactoryBuilders', diff --git a/lua/AI/AIBaseTemplates/SorianExpansionBalancedFull.lua b/lua/AI/AIBaseTemplates/SorianExpansionBalancedFull.lua index a754baf307..0a4c27a207 100644 --- a/lua/AI/AIBaseTemplates/SorianExpansionBalancedFull.lua +++ b/lua/AI/AIBaseTemplates/SorianExpansionBalancedFull.lua @@ -14,6 +14,8 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1BalancedUpgradeBuildersExpansion', 'SorianT2BalancedUpgradeBuildersExpansion', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', # Engineer Builders 'SorianEngineerFactoryBuilders', diff --git a/lua/AI/AIBaseTemplates/SorianExpansionBalancedSmall.lua b/lua/AI/AIBaseTemplates/SorianExpansionBalancedSmall.lua index 290756b3fc..e7de113b8d 100644 --- a/lua/AI/AIBaseTemplates/SorianExpansionBalancedSmall.lua +++ b/lua/AI/AIBaseTemplates/SorianExpansionBalancedSmall.lua @@ -15,6 +15,8 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1BalancedUpgradeBuildersExpansion', 'SorianT2BalancedUpgradeBuildersExpansion', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', # Engineer Builders 'SorianEngineerFactoryBuilders', diff --git a/lua/AI/AIBaseTemplates/SorianExpansionTurtleFull.lua b/lua/AI/AIBaseTemplates/SorianExpansionTurtleFull.lua index 585057892c..2336f3212a 100644 --- a/lua/AI/AIBaseTemplates/SorianExpansionTurtleFull.lua +++ b/lua/AI/AIBaseTemplates/SorianExpansionTurtleFull.lua @@ -14,6 +14,8 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1BalancedUpgradeBuildersExpansion', 'SorianT2BalancedUpgradeBuildersExpansion', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', # Engineer Builders 'SorianEngineerFactoryBuilders', diff --git a/lua/AI/AIBaseTemplates/SorianExpansionWaterFull.lua b/lua/AI/AIBaseTemplates/SorianExpansionWaterFull.lua index f9861da408..30a43c035c 100644 --- a/lua/AI/AIBaseTemplates/SorianExpansionWaterFull.lua +++ b/lua/AI/AIBaseTemplates/SorianExpansionWaterFull.lua @@ -15,6 +15,8 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1BalancedUpgradeBuildersExpansion', 'SorianT2BalancedUpgradeBuildersExpansion', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', # Engineer Builders 'SorianEngineerFactoryBuilders', diff --git a/lua/AI/AIBaseTemplates/SorianMainAir.lua b/lua/AI/AIBaseTemplates/SorianMainAir.lua index 811128e8e1..df01e22433 100644 --- a/lua/AI/AIBaseTemplates/SorianMainAir.lua +++ b/lua/AI/AIBaseTemplates/SorianMainAir.lua @@ -16,6 +16,8 @@ BaseBuilderTemplate { 'SorianT1BalancedUpgradeBuilders', 'SorianT2BalancedUpgradeBuilders', 'SorianEmergencyUpgradeBuilders', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', 'SorianMassFabPause', # Engineer Builders diff --git a/lua/AI/AIBaseTemplates/SorianMainBalanced.lua b/lua/AI/AIBaseTemplates/SorianMainBalanced.lua index 058febdc6c..a72c017068 100644 --- a/lua/AI/AIBaseTemplates/SorianMainBalanced.lua +++ b/lua/AI/AIBaseTemplates/SorianMainBalanced.lua @@ -15,6 +15,8 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1BalancedUpgradeBuilders', 'SorianT2BalancedUpgradeBuilders', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', 'SorianEmergencyUpgradeBuilders', 'SorianMassFabPause', diff --git a/lua/AI/AIBaseTemplates/SorianMainRush.lua b/lua/AI/AIBaseTemplates/SorianMainRush.lua index d2c51409cc..4d663bfab1 100644 --- a/lua/AI/AIBaseTemplates/SorianMainRush.lua +++ b/lua/AI/AIBaseTemplates/SorianMainRush.lua @@ -16,6 +16,8 @@ BaseBuilderTemplate { 'SorianT1RushUpgradeBuilders', 'SorianT2BalancedUpgradeBuilders', 'SorianEmergencyUpgradeBuilders', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', 'SorianMassFabPause', # Engineer Builders diff --git a/lua/AI/AIBaseTemplates/SorianMainTurtle.lua b/lua/AI/AIBaseTemplates/SorianMainTurtle.lua index e5b845eb0e..5871d07727 100644 --- a/lua/AI/AIBaseTemplates/SorianMainTurtle.lua +++ b/lua/AI/AIBaseTemplates/SorianMainTurtle.lua @@ -16,6 +16,8 @@ BaseBuilderTemplate { 'SorianT1BalancedUpgradeBuilders', 'SorianT2BalancedUpgradeBuilders', 'SorianEmergencyUpgradeBuilders', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', 'SorianMassFabPause', # Engineer Builders diff --git a/lua/AI/AIBaseTemplates/SorianMainWater.lua b/lua/AI/AIBaseTemplates/SorianMainWater.lua index 1a8ea17757..f14dbdb152 100644 --- a/lua/AI/AIBaseTemplates/SorianMainWater.lua +++ b/lua/AI/AIBaseTemplates/SorianMainWater.lua @@ -16,6 +16,8 @@ BaseBuilderTemplate { 'SorianT1NavalUpgradeBuilders', 'SorianT2NavalUpgradeBuilders', 'SorianEmergencyUpgradeBuilders', + 'SorianSupportFactoryUpgrades', + 'SorianSupportFactoryUpgradesNAVY', 'SorianMassFabPause', # Engineer Builders diff --git a/lua/AI/AIBaseTemplates/SorianNavalExpansionLarge.lua b/lua/AI/AIBaseTemplates/SorianNavalExpansionLarge.lua index 2cf2d1a36a..c845ca6ca2 100644 --- a/lua/AI/AIBaseTemplates/SorianNavalExpansionLarge.lua +++ b/lua/AI/AIBaseTemplates/SorianNavalExpansionLarge.lua @@ -15,6 +15,7 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1NavalUpgradeBuilders', 'SorianT2NavalUpgradeBuilders', + 'SorianSupportFactoryUpgradesNAVY', # Pass engineers to main as needed #'Engineer Transfers', diff --git a/lua/AI/AIBaseTemplates/SorianNavalExpansionSmall.lua b/lua/AI/AIBaseTemplates/SorianNavalExpansionSmall.lua index d4df17faed..53aa054d23 100644 --- a/lua/AI/AIBaseTemplates/SorianNavalExpansionSmall.lua +++ b/lua/AI/AIBaseTemplates/SorianNavalExpansionSmall.lua @@ -15,6 +15,7 @@ BaseBuilderTemplate { # Factory upgrades 'SorianT1BalancedUpgradeBuilders', 'SorianT2BalancedUpgradeBuilders', + 'SorianSupportFactoryUpgradesNAVY', # Engineer Builders 'SorianEngineerFactoryBuilders', diff --git a/lua/AI/AIBuilders/SorianEconomyUpgradeBuilders.lua b/lua/AI/AIBuilders/SorianEconomyUpgradeBuilders.lua index 2661a73a6a..62dcf07c43 100644 --- a/lua/AI/AIBuilders/SorianEconomyUpgradeBuilders.lua +++ b/lua/AI/AIBuilders/SorianEconomyUpgradeBuilders.lua @@ -444,183 +444,180 @@ BuilderGroup { }, } -# ================================= # -# EMERGENCY FACTORY UPGRADES -# ================================= # +-- ================================= -- +-- EMERGENCY FACTORY UPGRADES +-- ================================= -- BuilderGroup { BuilderGroupName = 'SorianEmergencyUpgradeBuilders', BuildersType = 'PlatoonFormBuilder', Builder { BuilderName = 'Sorian Emergency T1 Factory Upgrade', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY TECH2, FACTORY TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2, FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { UCBC, 'HaveUnitsWithCategoryAndAlliance', { true, 0, 'MOBILE TECH2, FACTORY TECH2', 'Enemy'}}, - #{ SIBC, 'GreaterThanEconIncome', { 2.4, 50}}, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH2 RESEARCH, FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH1 } }, + { EBC, 'GreaterThanEconIncome', { 10, 50 } }, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { UCBC, 'HaveUnitsWithCategoryAndAlliance', { true, 0, 'MOBILE TECH2, FACTORY TECH2', 'Enemy'}}, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Emergency T2 Factory Upgrade', PlatoonTemplate = 'T2LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { UCBC, 'HaveUnitsWithCategoryAndAlliance', { true, 0, 'MOBILE TECH3, FACTORY TECH3', 'Enemy'}}, - #{ SIBC, 'GreaterThanEconIncome', { 2.4, 50}}, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'MASSEXTRACTION TECH3'} }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.RESEARCH * categories.TECH2 } }, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { UCBC, 'HaveUnitsWithCategoryAndAlliance', { true, 0, 'MOBILE TECH3, FACTORY TECH3', 'Enemy'}}, + { EBC, 'GreaterThanEconIncome', { 20, 50 } }, + }, BuilderType = 'Any', }, } -# ================================= # -# RUSH FACTORY UPGRADES -# ================================= # +-- ================================= -- +-- RUSH FACTORY UPGRADES +-- ================================= -- BuilderGroup { BuilderGroupName = 'SorianT1RushUpgradeBuilders', BuildersType = 'PlatoonFormBuilder', Builder { BuilderName = 'Sorian Rush T1 Land Factory Upgrade Initial', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY LAND TECH2, FACTORY LAND TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2, FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 2.4, 50}}, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH2 RESEARCH, FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH1 } }, + ----{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconIncome', { 14, 30}}, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian RushT1AirFactoryUpgradeInitial', PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY AIR TECH2, FACTORY AIR TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2, FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 3.5, 75}}, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY AIR TECH2 RESEARCH, FACTORY AIR TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH1 } }, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconIncome', { 10, 35}}, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Rush T1 Land Factory Upgrade', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY LAND TECH2, FACTORY LAND TECH3' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY LAND TECH2, FACTORY LAND TECH3'}}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 2.0, 'FACTORY LAND TECH2', 'FACTORY AIR TECH2', 'FACTORY AIR TECH1'}}, - #{ SIBC, 'GreaterThanEconIncome', { 4.0, 75}}, - #{ SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, - { IBC, 'BrainNotLowPowerMode', {} }, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH1 } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH2 RESEARCH, FACTORY LAND TECH3 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY LAND TECH2, FACTORY LAND TECH3'}}, + ----{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconIncome', { 10, 35}}, + --{ EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { IBC, 'BrainNotLowPowerMode', {} }, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian RushT1AirFactoryUpgrade', PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY AIR TECH2, FACTORY AIR TECH3' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY AIR TECH2, FACTORY AIR TECH3'}}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY AIR TECH2', 'FACTORY LAND TECH2', 'FACTORY LAND TECH1'}}, - { SIBC, 'GreaterThanEconIncome', { 3.5, 75}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Rush T1 Sea Factory Upgrade', - PlatoonTemplate = 'T1SeaFactoryUpgrade', - Priority = 200, - InstanceCount = 1, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'NAVAL FACTORY' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'GreaterThanEconIncome', { 3.5, 75}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH1 } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY AIR TECH2 RESEARCH, FACTORY AIR TECH3 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY AIR TECH2, FACTORY AIR TECH3'}}, + ----{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconIncome', { 15, 35}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, - }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, } -# ================================= # -# BALANCED FACTORY UPGRADES -# ================================= # +-- ================================= -- +-- BALANCED FACTORY UPGRADES +-- ================================= -- BuilderGroup { BuilderGroupName = 'SorianT1BalancedUpgradeBuilders', BuildersType = 'PlatoonFormBuilder', Builder { BuilderName = 'Sorian Balanced T1 Land Factory Upgrade Initial', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY LAND TECH2, FACTORY LAND TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - #{ SIBC, 'GreaterThanEconIncome', { 2.4, 50}}, - }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY LAND TECH2 RESEARCH, FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH1 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'GreaterThanGameTimeSeconds', { 200 } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + }, BuilderType = 'Any', }, + Builder { BuilderName = 'Sorian BalancedT1AirFactoryUpgradeInitial', PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY AIR TECH2, FACTORY AIR TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 3.5, 75}}, - }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH1 } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY AIR TECH2 RESEARCH, FACTORY AIR TECH3 RESEARCH'}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'GreaterThanGameTimeSeconds', { 200 } }, + { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 3, 'FACTORY TECH2, FACTORY TECH3' } }, + { EBC, 'GreaterThanEconIncome', { 3, 25}}, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + }, BuilderType = 'Any', }, - Builder { + + --[[ Builder { BuilderName = 'Sorian Balanced T1 Land Factory Upgrade', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY LAND TECH2, FACTORY LAND TECH3' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY LAND TECH2, FACTORY LAND TECH3'}}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY LAND TECH2', 'FACTORY AIR TECH2', 'FACTORY AIR TECH1'}}, - #{ SIBC, 'GreaterThanEconIncome', { 4.0, 75}}, - #{ SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY LAND TECH2 RESEARCH, FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH1 } }, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY LAND TECH2, FACTORY LAND TECH3'}}, + ----{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconIncome', { 40, 75}}, + --{ EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, { IBC, 'BrainNotLowPowerMode', {} }, }, BuilderType = 'Any', @@ -628,56 +625,43 @@ BuilderGroup { Builder { BuilderName = 'Sorian BalancedT1AirFactoryUpgrade', PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 120, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY AIR TECH2, FACTORY AIR TECH3' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY AIR TECH2, FACTORY AIR TECH3'}}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY AIR TECH2', 'FACTORY LAND TECH2', 'FACTORY LAND TECH1'}}, - { SIBC, 'GreaterThanEconIncome', { 3.5, 75}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Balanced T1 Sea Factory Upgrade', - PlatoonTemplate = 'T1SeaFactoryUpgrade', - Priority = 200, - InstanceCount = 1, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'NAVAL FACTORY' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'GreaterThanEconIncome', { 3.5, 75}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH1 } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY AIR TECH2 RESEARCH, FACTORY AIR TECH3 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY AIR TECH2, FACTORY AIR TECH3'}}, + ----{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconIncome', { 35, 75}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, }, BuilderType = 'Any', - }, + }, ]]-- } BuilderGroup { BuilderGroupName = 'SorianT2BalancedUpgradeBuilders', BuildersType = 'PlatoonFormBuilder', - Builder { + + --[[ Builder { BuilderName = 'Sorian Balanced T1 Land Factory Upgrade - T3', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 0, #250, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY LAND TECH1' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingGreater', { 'LocationType', 0, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH3 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'MASSEXTRACTION TECH3'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { EBC, 'GreaterThanEconIncome', { 14, 1.80}}, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, { IBC, 'BrainNotLowPowerMode', {} }, }, BuilderType = 'Any', @@ -685,365 +669,237 @@ BuilderGroup { Builder { BuilderName = 'Sorian BalancedT1AirFactoryUpgrade - T3', PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 0, #250, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY AIR TECH1' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingGreater', { 'LocationType', 0, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY AIR TECH3 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'MASSEXTRACTION TECH3'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { EBC, 'GreaterThanEconIncome', { 14, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, }, BuilderType = 'Any', - }, + }, ]]-- + Builder { BuilderName = 'Sorian Balanced T2 Land Factory Upgrade - initial', PlatoonTemplate = 'T2LandFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY LAND TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 3, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SBC, 'AIType', {'sorianrush', false }}, - #{ SBC, 'MapGreaterThan', { 1000, 1000 }}, - #{ SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'GreaterThanGameTimeSeconds', { 400 } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Balanced T2 Air Factory Upgrade - initial', PlatoonTemplate = 'T2AirFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY AIR TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 3, 'FACTORY TECH3, FACTORY TECH2' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SBC, 'AIType', {'sorianrush', false }}, - #{ SBC, 'MapGreaterThan', { 1000, 1000 }}, - #{ SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY AIR TECH3 RESEARCH'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 400 } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + }, BuilderType = 'Any', }, - Builder { + + --[[ Builder { BuilderName = 'Sorian Balanced T2 Land Factory Upgrade - Large Map', PlatoonTemplate = 'T2LandFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 140, + InstanceCount = 4, BuilderConditions = { - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY LAND TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 3, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY LAND TECH3', 'FACTORY AIR TECH3', 'FACTORY AIR TECH2'}}, - { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH2 * categories.RESEARCH } }, + --{ SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY LAND TECH3', 'FACTORY AIR TECH3', 'FACTORY AIR TECH2'}}, + -- { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, + { EBC, 'GreaterThanEconIncome', { 14, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SBC, 'AIType', {'sorianrush', false }}, - #{ SBC, 'MapGreaterThan', { 1000, 1000 }}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + --{ SBC, 'AIType', {'sorianrush', false }}, + ----CanBuildFirebase { 1000, 1000 }}, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, }, BuilderType = 'Any', }, + Builder { BuilderName = 'Sorian Balanced T2 Air Factory Upgrade - Large Map', PlatoonTemplate = 'T2AirFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 140, + InstanceCount = 4, BuilderConditions = { - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY AIR TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 3, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY AIR TECH3', 'FACTORY LAND TECH3', 'FACTORY LAND TECH2'}}, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY AIR TECH3 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, + { EBC, 'GreaterThanEconIncome', { 14, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SBC, 'AIType', {'sorianrush', false }}, - #{ SBC, 'MapGreaterThan', { 1000, 1000 }}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + --{ SBC, 'AIType', {'sorianrush', false }}, + ----CanBuildFirebase { 1000, 1000 }}, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Balanced T2 Land Factory Upgrade - Rush', PlatoonTemplate = 'T2LandFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 140, + InstanceCount = 4, BuilderConditions = { - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY LAND TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 3, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY LAND TECH3', 'FACTORY AIR TECH3', 'FACTORY AIR TECH2'}}, - { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH2 * categories.RESEARCH } }, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, + -- { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, + { EBC, 'GreaterThanEconIncome', { 14, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SBC, 'AIType', {'sorianrush', true }}, - #{ SBC, 'MapGreaterThan', { 1000, 1000 }}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + --{ SBC, 'AIType', {'sorianrush', true }}, + ----CanBuildFirebase { 1000, 1000 }}, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Balanced T2 Air Factory Upgrade - Small Map', PlatoonTemplate = 'T2AirFactoryUpgrade', - Priority = 300, - InstanceCount = 1, - BuilderConditions = { - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY AIR TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 3, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY AIR TECH3', 'FACTORY LAND TECH3', 'FACTORY LAND TECH2'}}, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SBC, 'AIType', {'sorianrush', true }}, - #{ SBC, 'MapGreaterThan', { 1000, 1000 }}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Balanced T2 Sea Factory Upgrade', - PlatoonTemplate = 'T2SeaFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 140, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 3, 'FACTORY TECH3, FACTORY TECH2' } }, - #{ SIBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 7, 180}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY AIR TECH3 RESEARCH'}}, + { EBC, 'GreaterThanEconIncome', { 14, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + --{ SBC, 'AIType', {'sorianrush', true }}, + ----CanBuildFirebase { 1000, 1000 }}, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, }, BuilderType = 'Any', - }, + }, ]]-- } -# ================================= # -# NAVAL FACTORY UPGRADES -# ================================= # +-- ================================= -- +-- NAVAL FACTORY UPGRADES +-- ================================= -- BuilderGroup { BuilderGroupName = 'SorianT1NavalUpgradeBuilders', BuildersType = 'PlatoonFormBuilder', - # ================================= # - # INITIAL FACTORY UPGRADES - # ================================= # - Builder { - BuilderName = 'Sorian Naval T1 Land Factory Upgrade Initial', - PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY LAND TECH2, FACTORY LAND TECH3' } }, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY LAND TECH2, LAND FACTORY TECH3' } }, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY TECH2 NAVAL, FACTORY TECH3 NAVAL'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 5, 75}}, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Naval T1 Air Factory Upgrade Initial', - PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, - FormDebugFunction = nil, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY AIR TECH2, FACTORY AIR TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'FACTORY TECH2 NAVAL, FACTORY TECH3 NAVAL'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY AIR TECH2, AIR FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 5, 75}}, - }, - BuilderType = 'Any', - }, - + -- ================================= -- + -- INITIAL FACTORY UPGRADES + -- ================================= -- Builder { BuilderName = 'Sorian Naval T1 Naval Factory Upgrade Initial', PlatoonTemplate = 'T1SeaFactoryUpgrade', - Priority = 210, - InstanceCount = 1, - FormDebugFunction = nil, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsWithCategory', { 1, 'FACTORY NAVAL TECH2, FACTORY NAVAL TECH3'}}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY NAVAL TECH2, FACTORY NAVAL TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 5, 75}}, - }, - BuilderType = 'Any', - }, - # ================================= # - # FACTORY UPGRADES AFTER INITIAL - # ================================= # - Builder { - BuilderName = 'Sorian Naval T1 Land Factory Upgrade', - PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 205, - InstanceCount = 1, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY LAND TECH3, FACTORY LAND TECH2' } }, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 2, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 10, 75}}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2} }, - { IBC, 'BrainNotLowPowerMode', {} }, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Naval T1 AirFactory Upgrade', - PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY AIR TECH3, FACTORY AIR TECH2' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'FACTORY AIR' }}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - #{ UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY AIR TECH2, FACTORY AIR TECH3' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 2, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 10, 75}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2} }, - }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.NAVAL * categories.TECH1 } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY NAVAL TECH2 RESEARCH'}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 7, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + }, BuilderType = 'Any', }, - Builder { + --[[ -- ================================= -- + -- FACTORY UPGRADES AFTER INITIAL + -- ================================= -- + Builder { BuilderName = 'Sorian Naval T1 Sea Factory Upgrade', PlatoonTemplate = 'T1SeaFactoryUpgrade', - Priority = 210, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY NAVAL TECH3, FACTORY NAVAL TECH2' } }, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'NAVAL' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 8, 75}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.FACTORY * categories.NAVAL * categories.TECH1 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'FACTORY NAVAL TECH2 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + --{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'NAVAL' } }, { IBC, 'BrainNotLowPowerMode', {} }, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2} }, }, BuilderType = 'Any', - }, + },]]-- } BuilderGroup { BuilderGroupName = 'SorianT2NavalUpgradeBuilders', BuildersType = 'PlatoonFormBuilder', Builder { - BuilderName = 'Sorian Naval T1 Land Factory Upgrade - T3', - PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 250, - InstanceCount = 1, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY LAND TECH1' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingGreater', { 'LocationType', 0, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 10, 0}}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2} }, - { IBC, 'BrainNotLowPowerMode', {} }, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Naval T1AirFactoryUpgrade - T3', - PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 250, - InstanceCount = 1, - FormDebugFunction = nil, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH2' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 0, 'FACTORY AIR TECH1' }}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingGreater', { 'LocationType', 0, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 15, 0}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2} }, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Naval T2 Land Factory Upgrade', - PlatoonTemplate = 'T2LandFactoryUpgrade', - Priority = 310, + BuilderName = 'Sorian Naval T2 Sea Factory Upgrade init', + PlatoonTemplate = 'T2SeaFactoryUpgrade', + Priority = 4000, InstanceCount = 1, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY LAND TECH3' } }, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'MASSEXTRACTION TECH3'}}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'FACTORY TECH3 NAVAL'}}, - #{ UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - #{ UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 2, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'GreaterThanEconIncome', { 10, 0}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2 }}, - }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.NAVAL * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY NAVAL TECH3 RESEARCH'}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + }, BuilderType = 'Any', }, - Builder { - BuilderName = 'Sorian Naval T2 Air Factory Upgrade', - PlatoonTemplate = 'T2AirFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + + --[[ Builder { + BuilderName = 'Sorian Naval T2 Sea Factory Upgrade', + PlatoonTemplate = 'T2SeaFactoryUpgrade', + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'MASSEXTRACTION TECH3'} }, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'FACTORY TECH3 NAVAL'}}, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 2, 'FACTORY TECH3, FACTORY TECH2' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 15, 0}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.FACTORY * categories.NAVAL * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'FACTORY NAVAL TECH3 RESEARCH'}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'MASSEXTRACTION TECH3'} }, + { EBC, 'GreaterThanEconIncome', { 20, 10}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2 }}, }, BuilderType = 'Any', }, Builder { - BuilderName = 'Sorian Naval T2 Sea Factory Upgrade', - PlatoonTemplate = 'T2SeaFactoryUpgrade', - Priority = 305, - InstanceCount = 1, + BuilderName = 'Sorian Naval T1 Sea Factory Upgrade', + PlatoonTemplate = 'T1SeaFactoryUpgrade', + Priority = 4000, + InstanceCount = 3, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'} }, - { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 2, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'GreaterThanEconIncome', { 20, 0}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.FACTORY * categories.NAVAL * categories.TECH1 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'FACTORY NAVAL TECH2 RESEARCH'}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'MASSEXTRACTION TECH3'} }, + { EBC, 'GreaterThanEconIncome', { 20, 10}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2 }}, }, BuilderType = 'Any', - }, + }, ]]-- } BuilderGroup { @@ -1052,59 +908,52 @@ BuilderGroup { Builder { BuilderName = 'Sorian Fast T1 Land Factory Upgrade Expansion', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH2' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'FACTORY LAND' }}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - #{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 6, 50}}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.75, 1.2} }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH2 RESEARCH, FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH1 } }, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + --{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, { IBC, 'BrainNotLowPowerMode', {} }, - }, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian FastT1AirFactoryUpgrade Expansion', PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH2' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'FACTORY AIR' }}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - #{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 6, 50}}, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY AIR TECH2 RESEARCH, FACTORY AIR TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH1 } }, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.75, 1.2} }, - }, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Fast T1 Sea Factory Upgrade Expansion', PlatoonTemplate = 'T1SeaFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH2' } }, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - # { UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'NAVAL FACTORY' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'GreaterThanEconIncome', { 6, 60}}, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY NAVAL TECH2 RESEARCH, FACTORY NAVAL TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.FACTORY * categories.NAVAL * categories.TECH1 } }, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.75, 1.2} }, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3, FACTORY TECH2'}}, - #{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - { UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, - }, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, } @@ -1115,124 +964,106 @@ BuilderGroup { Builder { BuilderName = 'Sorian Fast T2 Land Factory Upgrade Expansion', PlatoonTemplate = 'T2LandFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 2, 'FACTORY TECH3 LAND, FACTORY TECH2 LAND' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, - { SIBC, 'GreaterThanEconIncome', { 11, 180}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY LAND TECH3 RESEARCH'}}, + -- { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2 }}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3'}}, - { UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH2' } }, - }, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Fast T2 Air Factory Upgrade Expansion', PlatoonTemplate = 'T2AirFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 2, 'FACTORY TECH3 AIR, FACTORY TECH2 AIR' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 11, 180}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 2, 'FACTORY AIR TECH3 RESEARCH'}}, + { EBC, 'GreaterThanEconIncome', { 11, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2 }}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3'}}, - { UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH2' } }, - }, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Fast T2 Sea Factory Upgrade Expansion', PlatoonTemplate = 'T2SeaFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'FACTORY TECH3 NAVAL, FACTORY TECH2 NAVAL' } }, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 11, 250}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.FACTORY * categories.NAVAL * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, 'FACTORY NAVAL TECH3 RESEARCH'}}, + { EBC, 'GreaterThanEconIncome', { 11, 20}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.2 }}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3'}}, - { UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH2' } }, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, }, BuilderType = 'Any', }, } -# ============================================ # -# BALANCED FACTORY UPGRADES EXPANSIONS -# ============================================ # +-- ============================================ -- +-- BALANCED FACTORY UPGRADES EXPANSIONS +-- ============================================ -- BuilderGroup { BuilderGroupName = 'SorianT1BalancedUpgradeBuildersExpansion', BuildersType = 'PlatoonFormBuilder', Builder { BuilderName = 'Sorian Balanced T1 Land Factory Upgrade Expansion', PlatoonTemplate = 'T1LandFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH2' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'FACTORY LAND' }}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'FACTORY TECH3'}}, - #{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY LAND TECH2', 'FACTORY AIR TECH2', 'FACTORY AIR TECH1'}}, - { SIBC, 'GreaterThanEconIncome', { 6, 50}}, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 7, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY LAND TECH2 RESEARCH, FACTORY LAND TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH1 } }, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'FACTORY TECH3'}}, + --{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, + --{ UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, + { EBC, 'GreaterThanEconIncome', { 12, 5.0}}, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, { IBC, 'BrainNotLowPowerMode', {} }, - }, + }, BuilderType = 'Any', }, + Builder { BuilderName = 'Sorian BalancedT1AirFactoryUpgrade Expansion', PlatoonTemplate = 'T1AirFactoryUpgrade', - Priority = 200, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, FormDebugFunction = nil, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH2' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'FACTORY AIR' }}, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH2, FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY AIR TECH2', 'FACTORY LAND TECH2', 'FACTORY LAND TECH1'}}, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'FACTORY TECH3'}}, - #{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 6, 50}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 7, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY AIR TECH2 RESEARCH, FACTORY AIR TECH3 RESEARCH'}}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH1 } }, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'FACTORY TECH3'}}, + --{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, + --{ UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, + { EBC, 'GreaterThanEconIncome', { 12, 5.0}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, - }, - BuilderType = 'Any', - }, - Builder { - BuilderName = 'Sorian Balanced T1 Sea Factory Upgrade Expansion', - PlatoonTemplate = 'T1SeaFactoryUpgrade', - Priority = 200, - InstanceCount = 1, - BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH2' } }, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, 'MASSEXTRACTION TECH2, MASSEXTRACTION TECH3'}}, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'NAVAL FACTORY' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3, FACTORY TECH2' } }, - { SIBC, 'GreaterThanEconIncome', { 6, 60}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 } }, - { UCBC, 'HaveGreaterThanUnitsWithCategory', { 1, 'FACTORY TECH3'}}, - #{ UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'MAIN', 2, 'FACTORY TECH3' } }, - }, + { UCBC, 'GreaterThanGameTimeSeconds', { 300 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, } @@ -1243,58 +1074,481 @@ BuilderGroup { Builder { BuilderName = 'Sorian Balanced T2 Land Factory Upgrade Expansion', PlatoonTemplate = 'T2LandFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 2, 'FACTORY TECH3 LAND, FACTORY TECH2 LAND' } }, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY LAND TECH3', 'FACTORY AIR TECH3', 'FACTORY AIR TECH2'}}, - { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, - { SIBC, 'GreaterThanEconIncome', { 11, 180}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.LAND * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY LAND TECH3 RESEARCH'}}, + -- { UCBC, 'UnitsGreaterAtLocation', { 'LocationType', 7, 'MOBILE LAND'}}, + { EBC, 'GreaterThanEconIncome', { 11, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3'}}, - { UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - }, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, Builder { BuilderName = 'Sorian Balanced T2 Air Factory Upgrade Expansion', PlatoonTemplate = 'T2AirFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + Priority = 4000, + InstanceCount = 4, BuilderConditions = { - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 1, 'FACTORY TECH3' } }, - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 2, 'FACTORY TECH3 AIR, FACTORY TECH2 AIR' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'FactoryRatioLessOrEqual', { 'LocationType', 1.0, 'FACTORY AIR TECH3', 'FACTORY LAND TECH3', 'FACTORY LAND TECH2'}}, - { SIBC, 'GreaterThanEconIncome', { 11, 180}}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.FACTORY * categories.AIR * categories.TECH2 * categories.RESEARCH } }, + { UCBC, 'HaveLessThanUnitsWithCategory', { 4, 'FACTORY AIR TECH3 RESEARCH'}}, + --{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, + { EBC, 'GreaterThanEconIncome', { 11, 1.80}}, { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3'}}, - { UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - }, + { UCBC, 'GreaterThanGameTimeSeconds', { 500 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + }, BuilderType = 'Any', }, +} + +BuilderGroup { + BuilderGroupName = 'SorianSupportFactoryUpgrades', + BuildersType = 'PlatoonFormBuilder', + -- LAND Support Factories Builder { - BuilderName = 'Sorian Balanced T2 Sea Factory Upgrade Expansion', - PlatoonTemplate = 'T2SeaFactoryUpgrade', - Priority = 300, - InstanceCount = 1, + BuilderName = 'Sorian T1 Land Support Factory Upgrade', + PlatoonTemplate = 'T1LandFactoryUpgrade', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9501', 'zab9501', 'zrb9501', 'zsb9501', 'znb9501' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, BuilderConditions = { - #{ UCBC, 'FactoryGreaterAtLocation', { 'LocationType', 1, 'FACTORY TECH3 NAVAL, FACTORY TECH2 NAVAL' } }, - { UCBC, 'HaveLessThanUnitsInCategoryBeingBuilt', { 2, 'FACTORY TECH3' } }, - { SIBC, 'HaveGreaterThanUnitsWithCategory', { 0, 'MASSEXTRACTION TECH3'}}, - { UCBC, 'LocationFactoriesBuildingLess', { 'LocationType', 1, 'FACTORY TECH3' } }, - { SIBC, 'GreaterThanEconIncome', { 11, 250}}, - { IBC, 'BrainNotLowPowerMode', {} }, - { SIBC, 'GreaterThanEconEfficiencyOverTime', { 0.8, 1.25 }}, - #{ UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, 'FACTORY TECH3'}}, - { UCBC, 'FactoryLessAtLocation', { 'MAIN', 1, 'FACTORY TECH1' } }, - }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 7, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.STRUCTURE * categories.FACTORY * categories.LAND * ( categories.TECH2 + categories.TECH3 ) - categories.SUPPORTFACTORY } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH1 * categories.LAND }}, + }, + BuilderType = 'Any', + }, + -- Builder for 5 factions + Builder { + BuilderName = 'Sorian T2 Land Support Factory Upgrade 1', + PlatoonTemplate = 'T2LandSupFactoryUpgrade1', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9601', 'zab9601', 'zrb9601', 'zsb9601', 'znb9601' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.UEF * categories.STRUCTURE * categories.FACTORY * categories.LAND * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.UEF * categories.SUPPORTFACTORY * categories.LAND * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.LAND }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Land Support Factory Upgrade 2', + PlatoonTemplate = 'T2LandSupFactoryUpgrade2', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9601', 'zab9601', 'zrb9601', 'zsb9601', 'znb9601' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.AEON * categories.STRUCTURE * categories.FACTORY * categories.LAND * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.AEON * categories.SUPPORTFACTORY * categories.LAND * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.LAND }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Land Support Factory Upgrade 3', + PlatoonTemplate = 'T2LandSupFactoryUpgrade3', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9601', 'zab9601', 'zrb9601', 'zsb9601', 'znb9601' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.CYBRAN * categories.STRUCTURE * categories.FACTORY * categories.LAND * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.CYBRAN * categories.SUPPORTFACTORY * categories.LAND * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.LAND }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Land Support Factory Upgrade 4', + PlatoonTemplate = 'T2LandSupFactoryUpgrade4', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9601', 'zab9601', 'zrb9601', 'zsb9601', 'znb9601' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SERAPHIM * categories.STRUCTURE * categories.FACTORY * categories.LAND * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SERAPHIM * categories.SUPPORTFACTORY * categories.LAND * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.LAND }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Land Support Factory Upgrade 5', + PlatoonTemplate = 'T2LandSupFactoryUpgrade5', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9601', 'zab9601', 'zrb9601', 'zsb9601', 'znb9601' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.STRUCTURE * categories.FACTORY * categories.LAND * categories.TECH3 - categories.SUPPORTFACTORY - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SUPPORTFACTORY * categories.TECH2 * categories.LAND - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.LAND }}, + }, + BuilderType = 'Any', + }, + -- AIR Support Factoriesa + Builder { + BuilderName = 'Sorian T1 Air Support Factory Upgrade', + PlatoonTemplate = 'T1AirFactoryUpgrade', + Priority = 4000, + InstanceCount = 3, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9502', 'zab9502', 'zrb9502', 'zsb9502', 'znb9502' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.STRUCTURE * categories.FACTORY * categories.AIR * ( categories.TECH2 + categories.TECH3 ) - categories.SUPPORTFACTORY } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH1 * categories.AIR }}, + }, + BuilderType = 'Any', + }, + -- Builder for 5 factions + Builder { + BuilderName = 'Sorian T2 Air Support Factory Upgrade 1', + PlatoonTemplate = 'T2AirSupFactoryUpgrade1', + Priority = 4000, + InstanceCount = 3, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9602', 'zab9602', 'zrb9602', 'zsb9602', 'znb9602' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.UEF * categories.STRUCTURE * categories.FACTORY * categories.AIR * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.UEF * categories.AIR * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.AIR }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Air Support Factory Upgrade 2', + PlatoonTemplate = 'T2AirSupFactoryUpgrade2', + Priority = 4000, + InstanceCount = 3, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9602', 'zab9602', 'zrb9602', 'zsb9602', 'znb9602' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.AEON * categories.STRUCTURE * categories.FACTORY * categories.AIR * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.AEON * categories.AIR * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.AIR }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Air Support Factory Upgrade 3', + PlatoonTemplate = 'T2AirSupFactoryUpgrade3', + Priority = 4000, + InstanceCount = 3, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9602', 'zab9602', 'zrb9602', 'zsb9602', 'znb9602' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.CYBRAN * categories.STRUCTURE * categories.FACTORY * categories.AIR * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.CYBRAN * categories.AIR * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.AIR }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Air Support Factory Upgrade 4', + PlatoonTemplate = 'T2AirSupFactoryUpgrade4', + Priority = 4000, + InstanceCount = 3, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9602', 'zab9602', 'zrb9602', 'zsb9602', 'znb9602' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SERAPHIM * categories.STRUCTURE * categories.FACTORY * categories.AIR * categories.TECH3 - categories.SUPPORTFACTORY} }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SERAPHIM * categories.AIR * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.AIR }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Air Support Factory Upgrade 5', + PlatoonTemplate = 'T2AirSupFactoryUpgrade5', + Priority = 4000, + InstanceCount = 3, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9602', 'zab9602', 'zrb9602', 'zsb9602', 'znb9602' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.STRUCTURE * categories.FACTORY * categories.AIR * categories.TECH3 - categories.SUPPORTFACTORY - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SUPPORTFACTORY * categories.TECH2 * categories.AIR - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 4, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.AIR }}, + }, BuilderType = 'Any', }, } +BuilderGroup { + BuilderGroupName = 'SorianSupportFactoryUpgradesNAVY', + BuildersType = 'PlatoonFormBuilder', + -- NAVAL Support Factories + Builder { + BuilderName = 'Sorian T1 Navy Support Factory Upgrade', + PlatoonTemplate = 'T1SeaFactoryUpgrade', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9503', 'zab9503', 'zrb9503', 'zsb9503', 'znb9503' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { EBC, 'GreaterThanEconStorageRatio', { 0.03, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.STRUCTURE * categories.FACTORY * categories.NAVAL * ( categories.TECH2 + categories.TECH3 ) - categories.SUPPORTFACTORY } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.STRUCTURE * categories.FACTORY * categories.TECH1 * categories.NAVAL }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Navy Support Factory Upgrade', + PlatoonTemplate = 'T1SeaFactoryUpgrade', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9503', 'zab9503', 'zrb9503', 'zsb9503', 'znb9503' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { EBC, 'GreaterThanEconStorageRatio', { 0.03, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * (categories.TECH2 + categories.TECH3) } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.STRUCTURE * categories.FACTORY * categories.NAVAL * categories.TECH3 - categories.SUPPORTFACTORY } }, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.NAVAL }}, + }, + BuilderType = 'Any', + }, +-- Builder for 5 factions + Builder { + BuilderName = 'Sorian T2 Navy Support Factory Upgrade 1', + PlatoonTemplate = 'T2SeaSupFactoryUpgrade1', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9603', 'zab9603', 'zrb9603', 'zsb9603', 'znb9603' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { EBC, 'GreaterThanEconStorageRatio', { 0.03, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 4, categories.MASSEXTRACTION * categories.TECH3 } }, + -- { UCBC, 'HaveGreaterThanUnitsWithCategory', { 2, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.UEF * categories.STRUCTURE * categories.FACTORY * categories.NAVAL * categories.TECH3 - categories.SUPPORTFACTORY} }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.UEF * categories.NAVAL * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 3, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.NAVAL }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Navy Support Factory Upgrade 2', + PlatoonTemplate = 'T2SeaSupFactoryUpgrade2', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9603', 'zab9603', 'zrb9603', 'zsb9603', 'znb9603' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.AEON * categories.STRUCTURE * categories.FACTORY * categories.NAVAL * categories.TECH3 - categories.SUPPORTFACTORY} }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.AEON * categories.NAVAL * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.NAVAL }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Navy Support Factory Upgrade 3', + PlatoonTemplate = 'T2SeaSupFactoryUpgrade3', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9603', 'zab9603', 'zrb9603', 'zsb9603', 'znb9603' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.CYBRAN * categories.STRUCTURE * categories.FACTORY * categories.NAVAL * categories.TECH3 - categories.SUPPORTFACTORY} }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.CYBRAN * categories.NAVAL * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.NAVAL }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Navy Support Factory Upgrade 4', + PlatoonTemplate = 'T2SeaSupFactoryUpgrade4', + Priority = 4000, + InstanceCount = 4, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9603', 'zab9603', 'zrb9603', 'zsb9603', 'znb9603' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SERAPHIM * categories.STRUCTURE * categories.FACTORY * categories.NAVAL * categories.TECH3 - categories.SUPPORTFACTORY} }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SERAPHIM * categories.NAVAL * categories.SUPPORTFACTORY * categories.TECH2 }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.NAVAL }}, + }, + BuilderType = 'Any', + }, + Builder { + BuilderName = 'Sorian T2 Navy Support Factory Upgrade 5', + PlatoonTemplate = 'T2SeaSupFactoryUpgrade5', + Priority = 4000, + InstanceCount = 3, + BuilderData = { + OverideUpgradeBlueprint = { 'zeb9603', 'zab9603', 'zrb9603', 'zsb9603', 'znb9603' }, -- overides Upgrade blueprint for all 5 factions. Used for support factories + }, + BuilderConditions = { + { IBC, 'BrainNotLowPowerMode', {} }, + { IBC, 'BrainNotLowMassMode', {} }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconStorageRatio', { 0.04, 0.01 } }, + { EBC, 'GreaterThanEconTrend', { 0.0, 0.0 } }, + { EBC, 'GreaterThanEconEfficiencyOverTime', { 0.85, 0.95 }}, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 6, categories.MASSEXTRACTION * categories.TECH3 } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 3, categories.ENERGYPRODUCTION * categories.TECH3 - categories.HYDROCARBON } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.STRUCTURE * categories.FACTORY * categories.NAVAL * categories.TECH3 - categories.SUPPORTFACTORY - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF } }, + { UCBC, 'HaveGreaterThanUnitsWithCategory', { 0, categories.SUPPORTFACTORY * categories.TECH2 * categories.NAVAL - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF }}, + { UCBC, 'HaveLessThanUnitsInCategoryBeingUpgrade', { 2, categories.STRUCTURE * categories.FACTORY * categories.TECH2 * categories.NAVAL }}, + }, + BuilderType = 'Any', + }, +} \ No newline at end of file diff --git a/lua/AI/PlatoonTemplates/SorianPlatoonTemplatesFactory.lua b/lua/AI/PlatoonTemplates/SorianPlatoonTemplatesFactory.lua new file mode 100644 index 0000000000..84e8b6cb36 --- /dev/null +++ b/lua/AI/PlatoonTemplates/SorianPlatoonTemplatesFactory.lua @@ -0,0 +1,146 @@ +-- Factory upgrade templates are not implemented into FAF !!! + +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2LandFactoryUpgrade', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.TECH2 * categories.FACTORY * categories.LAND - categories.SUPPORTFACTORY, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2LandSupFactoryUpgrade1', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.UEF * categories.TECH2 * categories.SUPPORTFACTORY * categories.LAND, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2LandSupFactoryUpgrade2', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.AEON * categories.TECH2 * categories.SUPPORTFACTORY * categories.LAND, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2LandSupFactoryUpgrade3', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.CYBRAN * categories.TECH2 * categories.SUPPORTFACTORY * categories.LAND, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2LandSupFactoryUpgrade4', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.SERAPHIM * categories.TECH2 * categories.SUPPORTFACTORY * categories.LAND, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2LandSupFactoryUpgrade5', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.TECH2 * categories.SUPPORTFACTORY * categories.LAND - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2AirFactoryUpgrade', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.TECH2 * categories.FACTORY * categories.AIR - categories.SUPPORTFACTORY, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2AirSupFactoryUpgrade1', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.UEF * categories.TECH2 * categories.SUPPORTFACTORY * categories.AIR, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2AirSupFactoryUpgrade2', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.AEON * categories.TECH2 * categories.SUPPORTFACTORY * categories.AIR, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2AirSupFactoryUpgrade3', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.CYBRAN * categories.TECH2 * categories.SUPPORTFACTORY * categories.AIR, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2AirSupFactoryUpgrade4', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.SERAPHIM * categories.TECH2 * categories.SUPPORTFACTORY * categories.AIR, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2AirSupFactoryUpgrade5', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.TECH2 * categories.SUPPORTFACTORY * categories.AIR - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2SeaFactoryUpgrade', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.TECH2 * categories.FACTORY * categories.NAVAL - categories.SUPPORTFACTORY, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2SeaSupFactoryUpgrade1', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.UEF * categories.TECH2 * categories.SUPPORTFACTORY * categories.NAVAL, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2SeaSupFactoryUpgrade2', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.AEON * categories.TECH2 * categories.SUPPORTFACTORY * categories.NAVAL, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2SeaSupFactoryUpgrade3', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.CYBRAN * categories.TECH2 * categories.SUPPORTFACTORY * categories.NAVAL, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2SeaSupFactoryUpgrade4', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.SERAPHIM * categories.TECH2 * categories.SUPPORTFACTORY * categories.NAVAL, 1, 1, 'support', 'none' } + } +} +-- AI Patch. Fix Support factory upgrade +PlatoonTemplate { + Name = 'T2SeaSupFactoryUpgrade5', + Plan = 'UnitUpgradeAI', + GlobalSquads = { + { categories.TECH2 * categories.SUPPORTFACTORY * categories.NAVAL - categories.SERAPHIM - categories.CYBRAN - categories.AEON - categories.UEF, 1, 1, 'support', 'none' } + } +}