This file describes who currently sees which ship. It is a text file.
First line: identification
- "0": this is the first turn;
- "99 02-22-200022:33:44": this is turn 99, and the timestamp is "02...". Use this line to verify this file is current. Since this file is written at the end of the previous turn, you should validate the number against LASTTURN.HST. Note that many PHost versions have bugs causing the information written here to be off by up to two turns, see below.
500 (resp. 999) lines: two numbers separated by a space, for each ship.
- The first number specifies what "enemies" see this ship, i.e. everybody but the owner and his allies who scanned the ship;
- The second number specifies what "allies" see this ship, i.e., the ship owner, and his ship level allies. Each number should be treated as a bitfield. Bit 1 is set if the Feds see the ship, bit 2 for the Lizards, etc. Bit 0 is zero. The two sets are disjoint. Use this to verify if a player triggering some action can actually see the target ship. A line contains two zeroes if the ship does not exist.
This file is written for auxiliary programs; it is never read by PHost. PHost uses information stored in AUXDATA.HST.
Turn Numbers
There are two problems which make use of the first line harder than required.
- PHost 3.x updates the LASTTURN.HST file too early during the host run. Auxhost / PControl programs will see the new turn number and timestamp instead of the old one.
- PHost before 3.4m/4.0k write the old turn number and timestamp to this file, which will differ from the one in LASTTURN.HST / NEXTTURN.HST.
Let 'N' be the turn number from LASTTURN.HST. Summarized, we have the following behaviour:
Version | During Host Run | Between Host Runs | LAST | NEXT | SHIP | LAST | NEXT | SHIP ===========|======='======='=======|======='======='======= 3.0-3.4l | N N N-2 | N N N-1 3.4m+ | N N N-1 | N N N 4.0-4.0j | N N+1 N-1 | N N N-1 4.0k+ | N N+1 N | N N N