mirror of
https://gitlab.com/the-no-frauds-club/cosmonarchy-bw-prerelease.git
synced 2026-09-17 01:01:12 +00:00
160 lines
5.3 KiB
Lua
160 lines
5.3 KiB
Lua
local Basic = require("melee.protoss.build.basic")
|
|
local Openers = require("melee.protoss.build.openers")
|
|
local Tier1 = require("melee.protoss.build.tier1")
|
|
local Tier2 = require("melee.protoss.build.tier2")
|
|
local Tier3 = require("melee.protoss.build.tier3")
|
|
local Tier4 = require("melee.protoss.build.tier4")
|
|
|
|
local expansion_build_order = {
|
|
Basic.build_expansion,
|
|
Tier4.ranger_expansion,
|
|
}
|
|
local attack_wave_cost_bias = 0.5
|
|
|
|
return {
|
|
---@type AIPersonality
|
|
two_gate_strider = {
|
|
name = "Ranger: 2 Gate Strider",
|
|
unit_composition = {
|
|
-- signature units
|
|
[UnitId.ProtossVassal] = 2,
|
|
[UnitId.ProtossDracadin] = 2,
|
|
-- filler units
|
|
[UnitId.ProtossIdol] = 1,
|
|
[UnitId.ProtossAccantor] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.two_gate_strider,
|
|
Tier1.two_gate_strider,
|
|
Tier2.strider_lattice_library_gateway,
|
|
Tier3.acquire,
|
|
Tier4.emissary_synthetic_synod,
|
|
},
|
|
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
|
|
emissary_squared = {
|
|
name = "Ranger: Emissary Squared",
|
|
unit_composition = {
|
|
-- signature units (Synthetic Synod)
|
|
[UnitId.ProtossAnalogue] = 2,
|
|
[UnitId.ProtossDemiurge] = 2,
|
|
[UnitId.ProtossEmpress] = 2,
|
|
-- filler units
|
|
[UnitId.ProtossVassal] = 1,
|
|
[UnitId.ProtossGolem] = 1,
|
|
[UnitId.ProtossAccantor] = 1,
|
|
[UnitId.ProtossDracadin] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.emissary_squared,
|
|
Tier2.emissary_ardent_lattice_gateway,
|
|
Tier3.acquire,
|
|
Tier4.emissary_synthetic_synod,
|
|
},
|
|
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
|
|
one_gate_authority = {
|
|
name = "Ranger: 1 Gate Authority",
|
|
unit_composition = {
|
|
-- signature unit
|
|
[UnitId.ProtossManifold] = 2,
|
|
-- filler units (Prostration Stage)
|
|
[UnitId.ProtossPariah] = 1,
|
|
[UnitId.ProtossPotentate] = 1,
|
|
[UnitId.ProtossSycophant] = 1,
|
|
[UnitId.ProtossMindTyrant] = 1,
|
|
[UnitId.ProtossIdol] = 1,
|
|
[UnitId.ProtossAccantor] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.one_gate_authority,
|
|
Tier1.one_gate_authority,
|
|
Tier2.authority_ardent_gateway_expand_lattice,
|
|
Tier3.authority_prostration_ardent2,
|
|
Tier4.authority_synthetic_synod,
|
|
},
|
|
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
|
|
lattice_expo = {
|
|
name = "Ranger: Lattice Expo",
|
|
unit_composition = {
|
|
-- signature unit
|
|
[UnitId.ProtossSimulacrum] = 2,
|
|
-- filler units
|
|
[UnitId.ProtossIdol] = 1,
|
|
[UnitId.ProtossDracadin] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.lattice_expo,
|
|
Tier2.expo_ardent_authority,
|
|
Tier3.acquire,
|
|
Tier4.emissary_synthetic_synod,
|
|
},
|
|
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
|
|
simulant_swarm = {
|
|
name = "Ranger: Simulant Swarm",
|
|
unit_composition = {
|
|
-- signature unit
|
|
[UnitId.ProtossSimulacrum] = 2,
|
|
-- filler units
|
|
[UnitId.ProtossIdol] = 1,
|
|
[UnitId.ProtossEcclesiast] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.simulant_swarm,
|
|
Tier1.simulant_swarm,
|
|
Tier2.acquire,
|
|
Tier3.acquire,
|
|
Tier4.emissary_synthetic_synod,
|
|
},
|
|
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_registry = {
|
|
name = "Ranger: The Registry",
|
|
unit_composition = {
|
|
-- signature unit
|
|
[UnitId.ProtossManifold] = 2,
|
|
-- filler units
|
|
[UnitId.ProtossIdol] = 1,
|
|
[UnitId.ProtossAccantor] = 1,
|
|
},
|
|
main_build_order = {
|
|
Openers.the_registry,
|
|
Tier1.the_registry,
|
|
Tier2.acquire,
|
|
Tier3.acquire,
|
|
Tier4.emissary_synthetic_synod,
|
|
},
|
|
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,
|
|
},
|
|
}
|