There really should not be situations where an allied AI ambushes and kills one of your envoys, and it happens super frequently at the moment due to how stealth units were adjusted in the most recent patch. Though it's tricky to handle when multiple armies can't occupy the same tile (the old solution was just "you can't move on/through here" for what on the surface seemed like no discernable reason). And given how hard intelligence sharing agreements seem to be to come by, there's very little way to mitigate the issue in game at the moment.
The only ways I can think of to solve the issue would be to do one (or more) of the following:
Allies can temporarily see stealth units immediately adjacent to their units without applying detection to them, simply to avoid having the units end up on top of each other. This vision is not shared to other allied empires who have shared vision, however, to make it less of a detriment to stealth. Movement would be interrupted accordingly. This wouldn't solve the issue for peaceful empires with non-aggression pacts, sadly, as that would be a bit too much information to freely give away in those circumstances. Perhaps in these circumstances, the ambusher could allow the ambushee to flee if an ambush occurs (without diplomatic penalty), like is mentioned in the original post here?
Stealth units can occupy a separate "layer" of the map, and thus can stand in the same tiles as other units until detected (in which case, they're forced to move and occupy a spot on the primary layer again). Ambushes could then be handled according to the state of diplomacy between the two empires (i.e. non-aggression pacts or higher prevent ambushes).
Envoys occupy a separate "layer" of the map, allowing them to move into tiles occupied by stealth armies without displacing or being displaced by them. This technically doesn't solve the allied stealth ambush issue, but gets rid of the most common victim of it. This has the added effect of preventing them from blocking armies, being blocked by armies, or blocking spawn points, which feel like really odd traits for a purely diplomatic unit to have.
Two would be my personal preference, though one would probably be the least amount of work as a stopgap measure.
As you said, 2 & 3 add a lot of complexity in the todo list. There is no such thing as unit in an other layer. (Maybe aerial unit ? I'm not sure what append if an army enter in an aerodrome) So if there is no plan in the future for something like that in an other part of the gameplay (religion, diplomat, merchant etc ) I won't push for this change.
The 1 is the best "big change".
In my side, I really thought about a choose from the ambusher to not do the attack. (that's why I'm posting there, to see if we can learn IA to do such choice ^^ ) In this case ambusher should not trigger the diplomatic penalty.
I also think that idea no. 2 is most suitable where stealth armies have their own layer, but I still try to figure a way where stealth units have control whether to ambush or not. I hate when my stealth units ambush a neutral army whether we have no non-aggression pact or not. So adding on the idea, maybe: 1. stealth armies should only ambush enemies at war? leave neutral in peace?
2. or we add a toggle switch for stealth armies to confirm they are in ambush mode, when off, just stay hidden and don't ambush anyone.
Elphealer
Timer
Create your worlds, create your games. And Share it !
Elphealer
Timer
34 400g2g ptsReport comment
Why do you report Elphealer?
Are you sure you want to block Elphealer ?
BlockCancelAre you sure you want to unblock Elphealer ?
UnblockCancelPlainne
Fanatic
Plainne
Fanatic
29 800g2g ptsReport comment
Why do you report Plainne?
Are you sure you want to block Plainne ?
BlockCancelAre you sure you want to unblock Plainne ?
UnblockCancelElphealer
Timer
Create your worlds, create your games. And Share it !
Elphealer
Timer
34 400g2g ptsReport comment
Why do you report Elphealer?
Are you sure you want to block Elphealer ?
BlockCancelAre you sure you want to unblock Elphealer ?
UnblockCancelDEVZanAlex
Dev Team
Alex, AI Programmer on Humankind, Former UI Programmer on Endless Space 2 and Humankind.
DEVZanAlex
Dev Team
33 000g2g ptsReport comment
Why do you report ZanAlex?
Are you sure you want to block ZanAlex ?
BlockCancelAre you sure you want to unblock ZanAlex ?
UnblockCancelRomani0
Newcomer
Romani0
Newcomer
6 400g2g ptsReport comment
Why do you report Romani0?
Are you sure you want to block Romani0 ?
BlockCancelAre you sure you want to unblock Romani0 ?
UnblockCancel