local Basic = require("melee.terran.build.basic") local Openers = require("melee.terran.build.openers") local Tier1 = require("melee.terran.build.tier1") local Tier2 = require("melee.terran.build.tier2") local Tier3 = require("melee.terran.build.tier3") local expansion_build_order = { Basic.build_expansion, Tier2.acquire, Tier2.fulcrum_buildup, Tier3.acquire, } local attack_wave_cost_bias = 0.6 return { ---@type AIPersonality tank_push = { name = "Armor: Tank Push", unit_composition = { -- signature units [UnitId.TerranMatadorTankMode] = 2, [UnitId.TerranPhalanxTankMode] = 2, -- healers [UnitId.TerranCleric] = 1, -- filler units [UnitId.TerranCyprian] = 1, [UnitId.TerranBlackjack] = 1, [UnitId.TerranMadrigalImperiosoMode] = 1, }, main_build_order = { Openers.tank_push, Tier2.acquire, Tier2.stockade_requeue, Tier3.acquire, }, expansion_build_order = expansion_build_order, build_anti_ground_defenses = Basic.build_anti_ground, build_anti_air_defenses = Basic.build_anti_air, attack_wave_cost_bias = attack_wave_cost_bias, }, ---@type AIPersonality two_fulc_vulture = { name = "Armor: 2Fulc Vulture", unit_composition = { -- signature unit [UnitId.TerranVulture] = 3, -- filler units [UnitId.TerranMaverick] = 1, [UnitId.TerranCyclops] = 1, }, main_build_order = { Openers.two_fulc_vulture, Tier1.two_fulc_vulture, Tier2.acquire, Tier3.acquire, }, expansion_build_order = expansion_build_order, build_anti_ground_defenses = Basic.build_anti_ground, build_anti_air_defenses = Basic.build_anti_air, attack_wave_cost_bias = attack_wave_cost_bias, }, ---@type AIPersonality fe_five_fulc = { name = "Armor: FE 5Fulc", unit_composition = { -- signature units [UnitId.TerranVulture] = 2, [UnitId.TerranBlackjack] = 2, [UnitId.TerranPhalanxTankMode] = 2, -- filler units [UnitId.TerranMaverick] = 1, [UnitId.TerranAzazel] = 1, [UnitId.TerranSeraph] = 1, }, main_build_order = { Openers.fe_five_fulc, Tier1.fe_five_fulc, Tier2.starport_commandment_buildup, Tier2.acquire, Tier3.acquire, }, expansion_build_order = expansion_build_order, build_anti_ground_defenses = Basic.build_anti_ground, build_anti_air_defenses = Basic.build_anti_air, attack_wave_cost_bias = attack_wave_cost_bias, }, ---@type AIPersonality david_and_goliath = { name = "Armor: David and Goliath", unit_composition = { -- signature units [UnitId.TerranGoliath] = 3, [UnitId.TerranMaverick] = 2, -- filler units [UnitId.TerranMatadorTankMode] = 1, [UnitId.TerranPhalanxTankMode] = 1, [UnitId.TerranWraith] = 1, [UnitId.TerranBlackjack] = 1, }, main_build_order = { Openers.david_and_goliath, Tier1.david_and_goliath, Tier2.acquire, Tier2.fulcrum_scaling, Tier3.acquire, }, expansion_build_order = expansion_build_order, build_anti_ground_defenses = Basic.build_anti_ground, build_anti_air_defenses = Basic.build_anti_air, attack_wave_cost_bias = attack_wave_cost_bias, }, ---@type AIPersonality iron_crusade = { name = "Armor: Iron Crusade", unit_composition = { -- signature units (Iron Foundry x4 is the real investment of this build) [UnitId.TerranPaladin] = 3, [UnitId.TerranCuirassTankMode] = 2, [UnitId.TerranPazuzu] = 2, -- filler units [UnitId.TerranVulture] = 1, [UnitId.TerranWraith] = 1, }, main_build_order = { Openers.expand_first, Tier1.iron_crusade, Tier2.acquire, Tier2.fulcrum_buildup, Tier3.acquire, Tier3.iron_foundries, }, expansion_build_order = expansion_build_order, build_anti_ground_defenses = Basic.build_anti_ground, build_anti_air_defenses = Basic.build_anti_air, attack_wave_cost_bias = attack_wave_cost_bias, }, ---@type AIPersonality walker_power = { name = "Armor: Walker Power", unit_composition = { -- signature units (walkers) [UnitId.TerranGoliath] = 3, [UnitId.TerranCyclops] = 2, [UnitId.TerranBlackjack] = 2, -- filler units [UnitId.TerranPhalanxTankMode] = 1, [UnitId.TerranMaverick] = 1, }, main_build_order = { Openers.walker_power, Tier2.acquire, Tier3.acquire, }, expansion_build_order = expansion_build_order, build_anti_ground_defenses = Basic.build_anti_ground, build_anti_air_defenses = Basic.build_anti_air, attack_wave_cost_bias = attack_wave_cost_bias, }, }