Unit Stats in Details (UFO2000)

From UFOpaedia
Jump to navigation Jump to search

Time Units' Reservation

Time units can be reserved for aimed/auto/snap shot by clicking on appropriate buttons in the left side of the battlescape toolbar. Reservation affects a gun-type weapon that is placed in right hand.

Currently reservation system is not complete, there is a related issue reported in the bugtracker: #208 "TU Reservations Ignored by Item Actions".

Ignored means that TUs can be spent on some actions regardless of TU reservation. Once TUs drop below the reservation limit, reservation stops to block all actions.

All actions with items on inventory screen respect TUs reservation, except for actions with gun in right hand. The following non-inventory actions ignore TUs reservation: throw grenade, prime grenade, fire a gun, perform melee attack, perform medical treatment.

Inventory actions
Move what From To Respects Reservation?
Not a gun Anywhere Anywhere Yes
A gun Anywhere, but the right hand Anywhere Yes
A gun The right hand Anywhere No

Non-inventory actions
Do what? Respects Reservation?
Move by feet Yes
Turn Yes
Kneel down Yes
Stand up Yes
Fly up/down Yes
Throw No
Prime a grenade No
Fire a gun/launcher No
Melee attack No
Medical treatment No

TUs Reservation also affects what kind of gun fire will be opened when reaction occurs.


Any soldier can enter panicking state if and only if his Morale is strictly lower than 50 units.

Panic probability
Morale level Panic probability
50 and more 0%
49 2%
48 4%
... ...
20 60%
... ...
2 96%
1 (minimum) 98%

The code is in Platoon::check_morale()

Stats restoration on turn start

Time Units

Every new turn Time Units of living soldiers are restored. New amount of TUs is calculated as the lesser number among 2:

  • maximum amount of TUs (maxTU)
  • maxTU * (strength / weight)

For example, soldier with Strength of 25 and equipment weight of 30 will have 5/6 of his maximum TU. It equals to 65 for maxTU of 79 and 66 for maxTU of 80.

The code is in Soldier::restore()

Stamina (Energy)

Every new turn Energy of living soldiers is restored by 33% of maximum level.

For example, soldier with a maximum of 50 Energy units will restore 16 of them.

The code is in Soldier::restore()

Health and Stun damage

Every new turn Stun damage is reduced by 5 units. If a soldier was stunned (his Health was lower than Stun damage), he will regain consciousness when Stun damage is strictly lower than his Health.

For example, if a soldier with 80 Health units received Stun damage of pure 90 units (his Under Armor was zero), he will miss two turns and will wake up on the third.

The code is in Soldier::restore()

Bravery (Morale)

If a soldier was not panicking on a previous turn, his Morale is restored by 5 units before a new turn starts. Otherwise Morale is restored by 20 units.

The code for those cases is in Platoon::check_morale() and in Soldier::panic(int action) respectively.

Other Stats

Stats other than above are not restored on turn start. This includes: Reactions, Firing Accuracy, Throwing Accuracy, Strength, Armor.