Postby sven » Sat Mar 21, 2015 12:00 am
So, as of r11972 (currently marked 'dev') there should be a working "cease fire" mechanic, which gives both sides the ability offer the other a voluntary draw. AIs fighting AIs are forced to start offering each other draws after 30 turns, so, any AI vs. AI battle should reliably resolve.
Human players, however, currently have no way of offering or accepting draws, and even if they did, waiting for the AI to hit its 30-turn threshold would be tedious. The ideal solution, as you say, is to have some piece of arbitration logic that figures out if both sides have reached a point where they're unable or unwilling to continue, and then ends the combat in that case. But that's hard logic to write -- one side can almost always "attack" the other by moving one of it's ships to point blank range, and hitting self-destruct. And, indeed, in some cases, that's an important strategy.
In the particular case you've encountered, the right solution is actually probably not for an arbitrator to end the fight, but, for the Yoral's AI to realize that the "raid" is complete, and voluntarily retreat all of it's ships.
There's still a chance of something like this happening with, say, a raiding fleet where one of the attackers has been immobilized, but not destroyed. But it should be a very rare case. If and when it does happen, one way to deal with it will probably be to close the battle from the game menu, then hit "end turn". That will force the battle to auto-resolve, and with an AI in charge of your planet, you and the Yoral will be able to offer and accept cease fire agreements.
In future, we should have a an "auto-resolve" button visible someplace obvious inside the battle HUD, and hitting that, during a stalemated fight, would effectively end the battle in the same way as the close + end-turn strategy.