Ok so just to sum up my understanding of it all
I have a manager that know every ship in the scene (including the player but ofcs it wont issue commands to the player). The manager also has info to all aspects of the ship (e.g. health, velocity, direction vector/orientation, do i still have missiles)
I will have a list of actions that i want to launch which i could either pick based on scoring each of them for the current situation or just by a list of ifs based on the situation(as you mentioned)
Some of these actions might be do an attack run on a capital ship, get close to any enemy fighter you wanted to target and fire some rounds (could come from behind or from the top etc) or do a dodge maneuver/ dodge incoming fire (life take a hard left).
One might be where one ship wants to dog fight another when the manager rules might say (really basic)
- if 2 ships on other teams are close to each other
- chose one to attack the other
- fire while the other ship takes the fire
- do allow collision avoidance/separation
These behaviors can have allowances like allow collision avoidance and separation. I could also instead have a bidding system where ships bid curtain actions.
The only logic the ships themselves would do is steering behaviors and rotation. If i was to have bids this would be done too.
The manager can use all ships on the scene to do actions that it wants to do. in every tick the manager should make sure that either a ship has been used for an action or is currently in progress of doing an action.
With all this I can have the manager play different scenes for what is happening in the battle based on the rules and actions I have.
This fixes my original 2 problems as no 2 ships will try and chase each other and end up hitting each other as the managers actions i specify would never allow this or the other problem where one ship will just feel and take hits easy hits as i could desire for that ship to take hits (either because it is doing something else or i have told it to) or i can give it an option to do an maneuver so it dodges (i will have to work out some logic to see which one i want to do).
Anything i have missed?
Thank you very much for the time and help ApochPiQ.