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.sunblot_expansion, } local attack_wave_cost_bias = 0.6 return { ---@type AIPersonality big_and_little = { name = "Sunblot: Big and Little", unit_composition = { -- signature units [UnitId.ZergNathrokor] = 2, [UnitId.ZergMutalisk] = 2, [UnitId.ZergGorgrokor] = 2, -- filler units [UnitId.ZergGeszithalor] = 1, [UnitId.ZergVilgorokor] = 1, [UnitId.ZergSovroleth] = 1, [UnitId.ZergVorvrokor] = 1, }, main_build_order = { Openers.big_and_little, Tier1.big_and_little, Tier2.big_little_iroliris_buildup_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 the_triad = { name = "Sunblot: The Triad", unit_composition = { -- signature units [UnitId.ZergNathrokor] = 2, [UnitId.ZergGorgrokor] = 2, [UnitId.ZergKalkalisk] = 2, -- filler units [UnitId.ZergMutalisk] = 1, [UnitId.ZergGeszithalor] = 1, [UnitId.ZergIsthrathaleth] = 1, [UnitId.ZergVorvrokor] = 1, }, main_build_order = { Openers.the_triad, Tier1.the_triad, 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 skittering_duo = { name = "Sunblot: Skittering Duo", unit_composition = { -- signature units (Skibact Scab) [UnitId.ZergSkithrokor] = 2, [UnitId.ZergBactalisk] = 2, [UnitId.ZergNathrokor] = 2, -- filler units [UnitId.ZergGorgrokor] = 1, [UnitId.ZergMutalisk] = 1, [UnitId.ZergGeszithalor] = 1, [UnitId.ZergVorvrokor] = 1, }, main_build_order = { Openers.skittering_duo, Tier1.skittering_duo, 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 early_birds = { name = "Sunblot: Early Birds", unit_composition = { -- signature units (Alkag Iteth) [UnitId.ZergKagralisk] = 2, [UnitId.ZergEvigrilisk] = 2, [UnitId.ZergAlmaksalisk] = 2, -- filler units [UnitId.ZergNathrokor] = 1, [UnitId.ZergGorgrokor] = 1, [UnitId.ZergMutalisk] = 1, [UnitId.ZergGeszithalor] = 1, [UnitId.ZergVorvrokor] = 1, }, main_build_order = { Openers.early_birds, Tier1.early_birds, Tier2.birds_iroliris_alkag, 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 flying_feint = { name = "Sunblot: Flying Feint", unit_composition = { -- signature units [UnitId.ZergNathrokor] = 2, [UnitId.ZergSkithrokor] = 2, -- filler units [UnitId.ZergGorgrokor] = 1, [UnitId.ZergMutalisk] = 1, [UnitId.ZergBactalisk] = 1, [UnitId.ZergGeszithalor] = 1, [UnitId.ZergVorvrokor] = 1, }, main_build_order = { Openers.flying_feint, Tier1.flying_feint, Tier2.feint_iroliris_buildup_vornath_hydrith_skibact, 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 descending_horizon = { name = "Sunblot: Descending Horizon", unit_composition = { -- signature units (Skibact Scab) [UnitId.ZergSkithrokor] = 2, [UnitId.ZergBactalisk] = 2, -- filler units [UnitId.ZergGorgrokor] = 1, [UnitId.ZergMutalisk] = 1, [UnitId.ZergGeszithalor] = 1, [UnitId.ZergNathrokor] = 1, [UnitId.ZergVorvrokor] = 1, }, main_build_order = { Openers.descending_horizon, Tier2.horizon_iroliris_buildup, Tier3.horizon_othstol, 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, }, }