mirror of
https://gitlab.com/the-no-frauds-club/cosmonarchy-bw-prerelease.git
synced 2026-09-17 01:01:12 +00:00
186 lines
6.3 KiB
Lua
186 lines
6.3 KiB
Lua
local Basic = require("melee.zerg.build.basic")
|
|
local Openers = require("melee.zerg.build.openers")
|
|
local Tier1 = require("melee.zerg.build.tier1")
|
|
local Tier2 = require("melee.zerg.build.tier2")
|
|
local Tier3 = require("melee.zerg.build.tier3")
|
|
|
|
local expansion_build_order = {
|
|
Basic.build_expansion,
|
|
Tier1.saturated_production,
|
|
Tier3.swarm_expansion,
|
|
}
|
|
local attack_wave_cost_bias = 0.4
|
|
|
|
return {
|
|
---@type AIPersonality
|
|
three_base_flood = {
|
|
name = "Swarm: 3 Base Flood",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.ZergZethrokor] = 2,
|
|
[UnitId.ZergUltrokor] = 2,
|
|
[UnitId.ZergHydralisk] = 2,
|
|
-- filler units
|
|
[UnitId.ZergKalkalisk] = 1,
|
|
[UnitId.ZergZoryusthaleth] = 1,
|
|
[UnitId.ZergMutalisk] = 1,
|
|
[UnitId.ZergNathrokor] = 1,
|
|
[UnitId.ZergVorvrokor] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.three_base_flood,
|
|
Tier1.three_base_flood,
|
|
Tier2.flood_vornath_kalkiir_mutath_tosvrol_then_iroliris_caphrolosk_hachirosk,
|
|
Tier3.acquire,
|
|
Tier1.saturated_production,
|
|
},
|
|
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
|
|
three_base_ultrav = {
|
|
name = "Swarm: 3 Base Ultrav",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.ZergUltrokor] = 3,
|
|
[UnitId.ZergZethrokor] = 2,
|
|
[UnitId.ZergHydralisk] = 2,
|
|
-- filler units
|
|
[UnitId.ZergKalkalisk] = 1,
|
|
[UnitId.ZergZoryusthaleth] = 1,
|
|
[UnitId.ZergMutalisk] = 1,
|
|
[UnitId.ZergNathrokor] = 1,
|
|
[UnitId.ZergVorvrokor] = 1,
|
|
[UnitId.ZergSkithrokor] = 1,
|
|
[UnitId.ZergBactalisk] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.three_base_ultrav,
|
|
Tier2.ultrav_iroliris_caphrolosk_buildup,
|
|
Tier3.acquire,
|
|
Tier1.saturated_production,
|
|
},
|
|
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
|
|
instant_quazeth = {
|
|
name = "Swarm: Instant Quazeth",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.ZergZethrokor] = 3,
|
|
[UnitId.ZergUltrokor] = 2,
|
|
[UnitId.ZergHydralisk] = 2,
|
|
-- filler units
|
|
[UnitId.ZergQuazilisk] = 1,
|
|
[UnitId.ZergKalkalisk] = 1,
|
|
[UnitId.ZergZoryusthaleth] = 1,
|
|
[UnitId.ZergNathrokor] = 1,
|
|
[UnitId.ZergVorvrokor] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.instant_quazeth,
|
|
Tier1.instant_quazeth,
|
|
Tier2.instant_iroliris_vornath_kalkiir,
|
|
Tier3.acquire,
|
|
Tier1.saturated_production,
|
|
},
|
|
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
|
|
three_base_othstol = {
|
|
name = "Swarm: 3 Base Othstol",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.ZergIzirokor] = 2,
|
|
[UnitId.ZergUltrokor] = 2,
|
|
[UnitId.ZergHydralisk] = 2,
|
|
-- filler units
|
|
[UnitId.ZergKalkalisk] = 1,
|
|
[UnitId.ZergZoryusthaleth] = 1,
|
|
[UnitId.ZergGorgrokor] = 1,
|
|
[UnitId.ZergSkithrokor] = 1,
|
|
[UnitId.ZergBactalisk] = 1,
|
|
[UnitId.ZergZobriolisk] = 1,
|
|
[UnitId.ZergZarcavrokor] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.three_base_othstol,
|
|
Tier1.three_base_othstol,
|
|
Tier2.othstol_iroliris_buildup,
|
|
Tier3.acquire,
|
|
Tier1.saturated_production,
|
|
},
|
|
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
|
|
gates_of_hell = {
|
|
name = "Swarm: Gates of Hell",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.ZergZethrokor] = 2,
|
|
[UnitId.ZergKeskathalor] = 2,
|
|
[UnitId.ZergHydralisk] = 2,
|
|
-- filler units
|
|
[UnitId.ZergKalkalisk] = 1,
|
|
[UnitId.ZergSovroleth] = 1,
|
|
[UnitId.ZergGorgrokor] = 1,
|
|
[UnitId.ZergSkithrokor] = 1,
|
|
[UnitId.ZergBactalisk] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.gates_of_hell,
|
|
Tier1.gates_of_hell,
|
|
Tier2.gates_buildup_vornath_hachirosk_iroliris,
|
|
Tier3.acquire,
|
|
Tier1.saturated_production,
|
|
},
|
|
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
|
|
primitive_pressure = {
|
|
name = "Swarm: Primitive Pressure",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.ZergZethrokor] = 2,
|
|
[UnitId.ZergHydralisk] = 2,
|
|
[UnitId.ZergZoryusthaleth] = 2,
|
|
-- filler units
|
|
[UnitId.ZergLiiralisk] = 1,
|
|
[UnitId.ZergProtathalor] = 1,
|
|
[UnitId.ZergMatraleth] = 1,
|
|
[UnitId.ZergSovroleth] = 1,
|
|
[UnitId.ZergKeskathalor] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.primitive_pressure,
|
|
Tier1.primitive_pressure,
|
|
Tier2.pressure_iroliris_vornath_skibact_tethvith,
|
|
Tier3.acquire,
|
|
Tier1.saturated_production,
|
|
},
|
|
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,
|
|
},
|
|
}
|