My Solution: Target Priorities
I propose being able to, in the BOBBY AI menu, create a list of "
Target Priority Categories." That is, the turret will fire at targets in your first category above all else, and they will fire at the second category if there is no detectable target in the first, and at targets in the third category if there's no targets in the second, and so on. If there's no viable target in any category, the turret will do nothing. Maybe it will default to its 'C' position, if people want that (I would, but I get not everyone would). Not super important.
Every Target Priority Category will have two components: a
Category and a
Tiebreaker. The turret will look at all enemies in range the given category (such as "Missiles" or "bigger than 100k blocks" or "closer than 10km" or "shields out") first, and if there are more than one, it will go to the tiebreaker (ex. Closest, Furthest, Biggest, Smallest, Closest to Reticule, Furthest from Reticule, Highest Shield %, etc.).
There would also be a global setting for your AI to shoot at Enemies, Neutrals, and/or Friends (you'd want it to shoot at friends if you have a healing beam, enemies if you have guns, and neutrals if you're into piracy). There could also maybe be a toggle between "keep firing at chosen target until its dead," "keep firing at chosen target until its no longer in the given category and/or dead" and "Periodically rescan for targets" (rescan for target interval would be a serverside setting, with a time increment chosen based on performance)
For example:
Example Categories:
- Any Target (ie, go to Tiebreaker)
- Targeted by Player (Tiebreaker doesn't matter)
- Target closer than X meters
- Target further than X meters
- Block count between X and Y
- Block count bigger than X
- Block count smaller than X
- Missiles
- Astronauts
- Shield % Above X
- Shield % Below X
- Power % Above X
- Power % Below X
- Overheating
Example Tiebreakers:
- Closest Target
- Furthest Target
- Biggest Target
- Smallest Target
- Closest Target to Reticule (ie, where the turret is aiming)
- Furthest Target from Reticule (away from where the turret is aiming)
- Highest Shield %
- Lowest Shield %
- Highest Power %
- Lowest Power %