byte[11] Offered to... byte[11] Offers from... --- PHost 2.6: --- byte[11] Conditional offers to... byte[11] Conditional offers from...
Gesendet an: alle Spieler, die in eine Allianz involviert sind
Die vier Komponenten dieses Eintrages werden mit einer Spielernummer indiziert.
Das erste Feld gibt an, welche Allianz-Privilegien (alliance levels) der Spieler den anderen Spielern bietet. Das zweite Feld enthält entsprechend die Angebote der anderen Spieler an den Empfänger dieses Datensatzes. Beispielsweise enthält das fünfte Element von Offered To die Allianz-Angebote dieses Spielers an die Privateers; das fünfte Element von Offers From enthält die Allianz-Angebote der Privateers an diesen Spieler.
Jedes Element ist ein Bitfeld, welches folgendermaßen aufgebaut ist:
Bit | Bedeutung |
---|---|
0 (value 1) | Schiffe (Ship Level) |
1 (value 2) | Planeten (Planet Level) |
2 (value 4) | Minenfelder (Minefield Level) |
3 (value 8) | Kampf (Combat Level) |
4 (value 16) | Vision Level |
5 (value 32) | Aktiv? |
Zuerst ist Bit 5 (Wertigkeit 32): dieses Bit entscheidet, ob das Angebot überhaupt gültig ist (also der Spieler den Befehl allies add benutzt hat). Wenn das der Fall ist, stehen in den unteren 5 Bits die angebotenen Privilegien (siehe allies config).
Die beiden höchstwertigen Bits sind reserviert und werden von PHost auf 0 gesetzt.
Wenn beispielsweise das fünfte Offered To-Feld von Spieler 3 den Wert 00101010 (binär) hat, bedeutet das, dass Spieler 3 dem Spieler 5 ein Bündnis angeboten hat und die Privilegien "Planet" und "Kampf" anbietet.
Für jeden Spieler N sollten die Felder, Offered To[N] und Offers From[N] den Wert 0 haben (man kann keine Allianz mit sich selbst eingehen).
Die letzten beiden Felder dieses Datensatzes geben an, welche Allianz-Privilegien nur bedingt angeboten werden. Analog zu den Feldern Offered To und Offers From werden diese Felder mit einer Spielernummer indiziert. Ein gesetztes Bit markiert ein bedingtes Angebot, das nur aktiv wird, wenn der andere Spieler das gleiche Privileg ebenfalls (möglicherweise ebenfalls bedingt) anbietet.
Die Codierung ist die gleiche wie für die ersten beiden Felder, allerdings ist das Active bit immer 0. Wenn ein Allianz-Privileg nicht angeboten wird, ist das entsprechende "Conditional"-Bit immer 0.