SOLDIER.DAT: - each entry is 68 bytes long                                                    

Offset 00 - Soldier Rank - Possible values = 00 - Rookie
  01 - Squaddie
  02 - Sergeant
  03 - Captain
  04 - Colonel
  05 - Commander
  FF - Dead

Those values are just pointers to the title, so if you change it to 07 it will say "SPACE AVAILABLE" as your rank. Strange stuff.

Offset 01 - I belive this is just a death flag, it is 00 if the person is alive, it is FF if they are dead.

Offset 02 - Base Number - Base number referencing the base contained in LOC.DAT

Offset 03 - NEED HELP

Offset 04 - Ship number, references ship number in LOC.DAT, if it is set to FF it means no ship

Offset 05 - Ship reference similar to Offset 01, if they are on a ship it's value is 00, if they're not on a ship it is FF

Offset 06 & 07 - NEED HELP

Offset 08 & 09 - Number of missions (low bit then high bit respectively). Possible values = 00 00 to FF 7F, any more and it goes negative.

Offset 0A & 0B - Number of kills (low bit then high bit respectively). Possible values = 00 00 to FF 7F, any more and it goes negative.

Offset 0C & 0D - Days until healed (low bit then high bit respectively). Possible values = 00 00 to FF 7F, any more and it goes negative.

Offset 0E - Kill penalty - This is used for morale purposes. Possible values = 00 to FF

Offset 0F - NEED HELP

Offset 10 to 24 - Name String - Possible Values = 00 to FF but letters are obviously more ideal.

Offset 25 to 29 - NEED HELP

NOTE: The majority of your stats have an initial value, and an increased value. You don't want the total to top A0 (160) because that'll make the bar wrap around the screen.

Offset 2A - Time Units (initial) - Possible values = 00 to FF

Offset 2B - Health (initial) - Possible values = 00 to FF

Offset 2C - Stamina (initial) - Possible values = 00 to FF

Offset 2D - Reaction (initial) - Possible values = 00 to FF

Offset 2E - Strength (initial) - Possible values = 00 to FF, more than 64 and you can't throw anything for some reason.

Offset 2F - Firing Accuracy (initial) - Possible values = 00 to FF

Offset 30 - Throwing Accuracy (initial) - Possible values = 00 to FF

Offset 31 - NEED HELP

Offset 32 - Psi Strength - Possible values = 00 to FF

Offset 33 - Psi Skill - Possible values = 00 to FF

Offset 34 - Bravery - Possible values = Bravery is calculated like so ((110 - Bravery) / 10) = value of Offset. So if your Bravery is 80, the Offset value would be 03.

Offset 35 - Time Units (increased) - Possible values = 00 to FF

Offset 36 - Health (increased) - Possible values = 00 to FF

Offset 37 - Stamina (increased) - Possible values = 00 to FF

Offset 38 - Reaction (increased) - Possible values = 00 to FF

Offset 39 - Health (increased) - Possible values = 00 to FF, more than 64 and you can't throw anything for some reason.

Offset 3A - Firing Accuracy (increased) - Possible values = 00 to FF

Offset 3B - Throwing Accuracy (increased) - Possible values = 00 to FF

Offset 3D - Bravery (increased) - Possible values = Bravery Increase is calculated like this (Bravery Increase / 10) = Offset Value. So, if your bravery increased = 90 then the Offset value = 09

Offset 3E - Armour - Possible values = 00 - No Armor
  01 - Personal Armour
  02 - Power Suit
  03 - Flying Suit

Offset 3F - NEED HELP
 
Offset 40 - Psionic Training - Possible values = 00 - Not Psionic Training
  01 - In Psionic Training

Offset 41 - NEED HELP

Offset 42 - Sex - Possible values = 00 - Male
  01 - Female

Offset 43 - Appearance - Possible values = 00 - Blonde
  01 - Redhead
  02 - Asiatic
  03 - Black

BACK