But there is nothing that a (conventional) ship can do to avoid those things. That's kind of the point to those Systems. Ideally, you'd want the AI to "know" that's possible and to conserve Flux for the moment, but frankly, that's asking a lot from an AI (because all of the times it guesses wrong it's being really inefficient).
The only way that a ship can avoid an Onslaught using Burn Drive is to stay out of the Burn Drive's range + weapon ranges; that basically means avoiding combat with that ship entirely, ever, other the LRMs, at least in Vanilla. With Phase Skimmer, etc., the problem is even harder, since the ships with those Systems don't necessarily need to move in straight lines.
So, basically, this is a very, very difficult thing to make AI rules for; at best, you can get them to keep away from certain ships, but that starts getting pretty difficult pretty fast.
It'd be quicker and easier to simply make alpha-strike less attractive, balance-wise.
list.ships
array shipstats[][]
for(i=1; i<=ships.size; i++;){
if(shipstats[i][1] = null){
shipstats[i][1] = AnalyseMainGuns(ships(i).getWeapons); //gets a "danger range" for the ship
}
DisDelt = GetDistatnce(self, ships(i));
if (shipstats[i][2] > 50+DisDelt && DisDelt < shipstats[i][1]){
retreat = true;
}
shipstats[i][2] = GetDistatnce(self, ships(i))
}
Medusas would lose quite a bit of alpha-strike if Skimmer took a couple more seconds to charge;For a player, not really. I usually save a charge or two for escape purposes. When I need to escape, I use Skimmer, drift until all three charges are back, then resume twitch-shmup action. Medusa should rely on normal mobility and/or its strong shield for defense, and save the Skimmer until it is really needed.
Perhaps certain ships or systems can be flagged with a STRIKE flag, symbolizing that the ship focuses on alpha strikes. If defending without the intention to press attack against such ships, keep as much distance as possible. If attacking said ships, relentlessly flank and pursue them (don't back off ever). It's not a terribly hard change on the AI side but it does involve some more defined data.This is largely why I was thinking the behavior should be triggered by enemy ship movement, rather than be an identifier on the enemy ship. Additionally, it would allow the AI to respond a little to the player who's movement, loadout, and overall behavior are potentially far more difficult to predict by ship class.
Being triggered by enemy ship movement would cause the decision to be made too late to matter. Unless you're using a learning AI, which comes with its own set of problems.I'm hoping for more of a dynamic and contextual solution, but you bring up a compelling point. Basically, you're smaller, faster ships would be baiting so called "strike" vessels into wasting their movement systems, yes? And then exploiting the usual caveats of those systems.
The STRIKE tag would be created procedurally by the ship AI that would be labeled as a STRIKE ship. So if the AI knows it will use those tactics it will flag itself as STRIKE. A little unrealistic but it works.That . . . actually makes a lot of sense.