Though I know that this thread is about Turrets, what we are really talking about is the general A.I. systems. We should keep in mind that if any suggestion is implemented it will probably also have to address concerns with quickly giving commands to NPC crew and to Drone ships in addition to Turrets.
1. A.I. Command Console (or Crew Command Console)
This console is not a quickbar computer, but allows the player to set the default priority of enemy ships. It is a list of all parameters that the game allows: missile, enemy shield down, friendly shield down, mass over 50k, speed under 75, distance less than 2k, etc.. The player will then take a set of options from the list and set them as priorities #1 - #5 (i think 5 checks is enough for a single turret unit). Any Bobby connected to this console will prioritize targets accordingly. If no target matches the priorities listed, it goes to a default standby mode.
For instance, I could have one set of A.I. programmed to assist and heal. These turrets/drones use shield supply and energy supply beams. The priorities would be:
(1) Ally shields down, (2) Ally power out, (3) Ally shield under 50%, (4) ally power under 50%, (5) nearest ally.
I could also set a cannon turret to be point defense and anti-fighter:
(1) Missile (distance < 500m), (2) Enemy mass under 2k, (3) missile (distance <1k), (4) nearest enemy
I could also set a missile turret to target slow moving ships and large ships:
(1) Speed under 10, (2) Speed under 30, (3) Mass over 10k, (4) Shield over 50k, (5) nearest enemy
---
Edit: To clarify, the module checks for any entity that meets Priority 1 and targets that entity. If nothing is found, it looks for something meeting Priority 2 instead, and so on down the list.
---
This could be as useful and versatile as the options provided for players to use when setting priorities. It might allow for different levels of AI complexity with some modules that allow 2 priorities, some that allow 5, some that allow more. Or perhaps different AI modules have different available priority options (some can check ship mass while others can't, some can check enemy weapon dps others can't). It could also be an NPC skill that is trained, more priorities with higher levels. I've read about the possible addition of targeting ship components, and this could also be used to have turrets target specific components of enemy ships (Priority 1: Shield generators, Priority 2: Energy Generators, Priority 3: Life Support, etc.) then go offline when the enemy is crippled rather than shoot to kill.
2. A.I. Command Override (or Crew Command Override)
This computer can be placed in the pilots quickbar. Any Bobby connected to this computer will have it's A.I. Command Console temporarily overriden when this is activated. This will allow a pilot to take control of a set of turrets to set a specific target or to use manually with the aiming cross-hairs. When the pilot is no longer using this module in the quickbar, or when the target assigned has been destroyed or moved out of range, the Bobby's revert to their A.I. Command Console priorities.
This would allow a pilot to quickly prioritize a specific target for a large group of turrets. Pilots can set targets for different groups of turrets, then go back to using primary weapons without having to worry about the turrets going dead when their current target gets away.
The Command Override could also be used by Player crew members to control groups of turrets, rather than just one at a time.
The Command Override can also be used to turn turrets on or off completely, in cases where pilots want to conserve power or stop using missile turrets, etc.
---
Modifying this for use with NPC crew would be as simple as changing the list of priorities available in the Crew Command - such as Eating, recreation, working, studying, sleeping. The player sets the general behavior in the Crew Command, then uses a Crew Command Override to declare battle station behaviors.