Ich versuche mal eine Erklärung. Ich weiß nicht, ob ich damit 100%ig richtig liege. Kampfcode ist fortgeschrittene Theologie.
Erstens glaube ich, dass es tatsächlich so ist, wie du sagst: Heer 0 und 2 kämpfen gegen Heer 1 und 3, aber Einheiten in Heer 2 attackieren nur Einheiten in Heer 1. Obwohl doch klar ist, dass Heer 3 auch der Feind ist, richtig? Scheint so, aber nehmen wir mal an es gäbe ein Heer 4, was (aus Versehen oder mit Absicht) Heer 0 und 1 angegriffen hat. Jetzt gibt es plötzlich nicht mehr zwei Seiten, sondern drei.
Code:
2 |----| 0 <-
^ \
| 4
v /
3 |----| 1 <-
Und was soll Heer 2 nun tun? Heer 3 angreifen, weil sie gegen den Verbündeten Heer 0 kämpfen? Oder Heer 3 helfen, weil sie gegen den Feind Heer 4 kämpfen? Der Kampfcode kann eigentlich nur noch verlieren, weil nicht klar ist, was die Absicht der Kombattanten war. Das gab in der Vergangenheit immer wieder Probleme. Insbesondere könnte so etwas möglicherweise von schlauen (oder hinterhältigen) Gegnern ausgenutzt werden. Deshalb ist der Kampfcode nun übervorsichtig. Erst einmal werden alle HELFE gelöscht gegen Parteien, die mich angreifen. Heer 1 wird also Heer 4 nicht gegen Angriffe von 0 verteidigen. Aber Heer 2 hilft sehr wohl (glaube ich) Heer 0 gegen Angriffe von Heer 4 oder 1.
Es wäre zu überlegen, ob in einem eindeutigen Fall, wo es wirklich 2 Seiten gibt, nicht auch die Angriffe auf alle Parteien der zwei Seiten übertragen werden. Aber vielleicht gibt es da einen Fall, den ich gerade übersehe, wo genau das falsch wäre oder sogar von Feinden irgendwie ausgenutzt werden könnte?
Als Spielertipp: Wenn ihr angreift, sorgt dafür, dass immer alle Eure Verbündeten alle Eure Gegner angreifen. Wenn ihr nur verteidigen wollt, stellt sicher, dass keiner Eurer Verbündeten angreift.