mirror of
https://gitlab.com/the-no-frauds-club/cosmonarchy-bw-prerelease.git
synced 2026-09-17 01:01:12 +00:00
162 lines
5.4 KiB
Lua
162 lines
5.4 KiB
Lua
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.general_expansion_tail,
|
|
}
|
|
local attack_wave_cost_bias = 0.5
|
|
|
|
return {
|
|
---@type AIPersonality
|
|
two_fulcrum_mech = {
|
|
name = "General: 2 Fulcrum Mech",
|
|
unit_composition = {
|
|
-- signature units (Mantle x2)
|
|
[UnitId.TerranPhalanxTankMode] = 2,
|
|
[UnitId.TerranRamesses] = 2,
|
|
[UnitId.TerranDurendal] = 2,
|
|
[UnitId.TerranCataphract] = 2,
|
|
-- filler units
|
|
[UnitId.TerranBlackjack] = 1,
|
|
[UnitId.TerranMadrigalImperiosoMode] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.two_fulcrum_mech,
|
|
Tier1.two_fulcrum_mech,
|
|
Tier2.acquire,
|
|
Tier2.general_scrapyard_palladium_mantle,
|
|
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
|
|
early_riser = {
|
|
name = "General: Early Riser",
|
|
unit_composition = {
|
|
-- signature unit
|
|
[UnitId.TerranMaverick] = 2,
|
|
-- healers
|
|
[UnitId.TerranCleric] = 1,
|
|
-- filler units
|
|
[UnitId.TerranCyclops] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.expand_first_very_slow,
|
|
Tier1.general_stockade_fulcrum_vestry_palladium_starpad,
|
|
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
|
|
the_cube = {
|
|
name = "General: The Cube",
|
|
unit_composition = {
|
|
-- signature unit
|
|
[UnitId.TerranMaverick] = 2,
|
|
-- filler units
|
|
[UnitId.TerranVulture] = 1,
|
|
[UnitId.TerranPhalanxTankMode] = 1,
|
|
[UnitId.TerranSalamander] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.fulcrum_start_medium,
|
|
Tier1.general_stockade_starpad,
|
|
Tier2.general_vestry_palladium_starport_rotary,
|
|
Tier2.acquire,
|
|
Tier2.general_fulcrum_follow_up,
|
|
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
|
|
doubling_up = {
|
|
name = "General: Doubling Up",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.TerranMaverick] = 2,
|
|
[UnitId.TerranGoliath] = 2,
|
|
-- healers
|
|
[UnitId.TerranShamanSupportMode] = 1,
|
|
-- filler units
|
|
[UnitId.TerranCyclops] = 1,
|
|
[UnitId.TerranBlackjack] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.doubling_up,
|
|
Tier1.doubling_up,
|
|
Tier2.acquire,
|
|
Tier2.general_fulcrum_follow_up,
|
|
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
|
|
mech_into_air = {
|
|
name = "General: Mech into Air",
|
|
unit_composition = {
|
|
-- signature units (the mech-into-air transition)
|
|
[UnitId.TerranPhalanxTankMode] = 2,
|
|
[UnitId.TerranMinotaur] = 2,
|
|
-- filler units
|
|
[UnitId.TerranMatadorTankMode] = 1,
|
|
[UnitId.TerranSalamander] = 1,
|
|
[UnitId.TerranSeraph] = 1,
|
|
[UnitId.TerranHippogriff] = 1,
|
|
[UnitId.TerranPhobos] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.mech_into_air,
|
|
Tier2.acquire,
|
|
Tier2.general_mega_tech_buildup,
|
|
Tier3.acquire,
|
|
Tier3.general_starport_scaling,
|
|
},
|
|
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
|
|
observant = {
|
|
name = "General: Observant",
|
|
unit_composition = {
|
|
-- signature unit
|
|
[UnitId.TerranCyprian] = 2,
|
|
-- filler units
|
|
[UnitId.TerranSeraph] = 1,
|
|
[UnitId.TerranBlackjack] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.observant,
|
|
Tier2.general_vestry_scrapyard_palladium_starport_commandment,
|
|
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,
|
|
},
|
|
}
|