So I'm trying to make a custom map which is basically a brawl between T, Z, and P AIs with prearranged unit combos. I have finally figured out how to use triggers to get them to attack each other in the middle of the map. For testing purposes I'm only using marines, lings, and zealots.
BUT.... the other 2 always target the marines first! The zerglings keep running right past zealots, sometimes even when the zealots are attacking them, and going for the marine faction. And the zealots usually walk right past the zerglings and go for the marines, too, but sometimes they start fighting both. But I know they are set as enemies because once the marines are dead they turn on each other. Here's a replay of that happening.
Is this just something in the AI that makes them aim for ranged units first? This baffles me because when I play vs AI they seem to just attack what is in front of them without being strategic.
The only exception is when I arrange it so the marines arrive AFTER the zealots and zerglings are already in battle. In which case the Zs and Zs just fight to the death and ignore the marines until one side is dead and then the other side turns on the marines.
Is there some way to get the 3 factions to treat each other as equal threats?
I'm using ScmDraft 2 (Beta 0.9.10), and here's the code for my triggers if anyone wants to check them:
+ Show Spoiler +
Trigger("Player 1"){
Conditions:
Always();
Actions:
Set Alliance Status("Player 2", Enemy);
Set Alliance Status("Player 3", Enemy);
}
//-----------------------------------------------------------------//
Trigger("Player 2"){
Conditions:
Always();
Actions:
Set Alliance Status("Player 1", Enemy);
Set Alliance Status("Player 3", Enemy);
}
//-----------------------------------------------------------------//
Trigger("Player 3"){
Conditions:
Always();
Actions:
Set Alliance Status("Player 1", Enemy);
Set Alliance Status("Player 2", Enemy);
}
//-----------------------------------------------------------------//
Trigger("Player 1", "Player 2", "Player 3"){
Conditions:
Bring("Player 4", "Infested Kerrigan (Infested Terran)", "Beacon", At least, 1); ///I'm using walking the Kerrigan onto the Beacon as the trigger to start the fight
Actions:
Order("Player 1", "Any unit", "Anywhere", "Fight Zone", attack);
Order("Player 2", "Any unit", "Anywhere", "Fight Zone", attack);
Order("Player 3", "Any unit", "Anywhere", "Fight Zone", attack);
Center View("Fight Zone");
}
//-----------------------------------------------------------------//
Is there somewhere else where people talk about map editing tricks/techniques to ask this or other questions? I'm also trying to figure out if there's a way for human player to spawn units for the AI's in game, but getting them to fight properly is the most important thing!