Xenonauts Wiki

This formula is used to calculate the % chance to hit shown on the cursor, and incorporates the accuracy and operational range of the weapon being fired, the soldier firing the weapon, the range to the target, the intervening obstacles along the fire path and any cover that the target is hiding behind – so it’s quite complex.

Unmodified Accuracy:[]

This calculates the to-hit chance on the target, not taking into account the intervening battlefield. The variables are the:

  • Accuracy statistic of the shooter, taken as a value between 1 and 100.
  • Accuracy modifier, which is derived from the weapon stats and shot type being used (the level of right-click weapon zoom is incorporated into this).
  • Operational range of weapon, in tiles.
  • Range to target, in tiles.

The calculation is: (Shooter Accuracy/100) * Accuracy Modifier * (Weapon Operational Range/Range to Target) = Unmodified Accuracy

Modified Accuracy:[]

The modified accuracy calculates the chance to hit, taking into account the intervening battlefield props. If the target is not in cover, this is the final accuracy value for the shot. The variables are:

  • Unmodified accuracy, from the formula above.
  • Stopping value attributes for each object along the fire path, as a percentage (this is set for each object in the terrain editor).

The game traces the fire path for a successful hit on the target, and identifies any objects along the path. Each of these has a stopping value.

For each object, the game compares its stopping value to the highest stopping value previously tested against the shot. The difference between the two is applied to the shot to see if the projectile strikes that item of cover. If the highest previously tested value is higher than the object’s stopping value, no test is performed.

As stopping value is derived mostly from the height of the object, this is to prevent a shot flying over a tall wall and then hitting a small object on the other side of it (which would be impossible). Battlefield units of any description that are not in cover have a stopping chance of 100%.

The only special case for this formula is units in cover. If a unit is in cover and the shooter is firing at them, the cover the unit is hiding behind is not taken into account in this calculation as it is covered in the Cover Save section (below).

If a unit is in cover and the target is firing past them, the higher of the cover object’s stopping value and the stopping value for a crouching soldier (60%) is used for the combined ‘object’. If a shot hits the combined object, the cover save mechanic below is used to assign hits.

Cover Save:[]

The cover save mechanic is used when a unit in cover is hit by a projectile, and represents the % chance that it hits the cover rather than the unit hiding behind it.

The calculation is: Cover stopping value / Soldier Stopping Value (i.e. 60) = Chance Cover Hit (min 0.25, max 0.75)

This is not affected by the highest previously tested stopping value, as with other obstacles.

For explosive damage, where there is no standard ‘to hit’ calculation, the cover save represents damage allocation rather than a % chance. If a grenade goes off in front of cover with a 48% stopping chance and the soldier is in cover behind it, dealing 100 damage, the split would be 80 damage to the cover and 20 to the soldier.

Cover Penetration:[]

It is also worth noting that cover can only soak up damage to the limits of its HP, and any excess is applied to the unit hiding behind it. If an object with 50HP takes 80 damage, 30 damage would be carried over to the unit hiding behind it.

Shot Master Accuracy:[]

The master accuracy formula to produce the % hit displayed on the cursor is therefore:

Modified Accuracy * Cover Save = Master Accuracy

Thus, when a shot is fired, a random number between 1 and 100 is generated and compared to the numbers generated in the formulae above to see what happens to it. If:

  • Unmodified Accuracy was 80%
  • Modified Accuracy was 50%
  • Chance to hit cover was 30%
  • Master Accuracy would be 20%

Therefore if the number generated was:

  • 1-20 - The shot would successfully hit the target.
  • 21-50 - The shot would hit the cover the unit was hiding behind.
  • 51-80 - The shot would hit one of the intervening obstacles along the fire path.
  • 81- 100 – The shot would miss the target, and scatter down a different fire path entirely.

Shot Scatter Formula:[]

It is only possible for shots to scatter in a 90 degree arc in front of the soldier, as even a bad miss should travel in vaguely the right direction. THIS INFO IS OUTDATED, IT HAS BEEN UPDATED SINCE.

Heavy Weapons & Recoil[]

The devastating power of heavy weapons comes at a price. Not only are they extremely heavy to carry around the battlefield, they also generate tremendous recoil and suffer an accuracy penalty unless the user has remained stationary for the turn. However, particularly strong soldiers can counteract much of the effect of recoil.

If using a heavy weapon, the user’s strength stat is subtracted from the recoil value of the weapon to give a value for recoil. If the value is negative, no alteration is made to the firing calculation and it is treated as if it was a shot from a normal weapons. If the value is positive, the ‘to hit’ calculation is performed as for a normal weapon and the recoil figure is subtracted from the ‘to hit’ value provided. Thus:

If a soldier with Strength of 50 is using a rocket launcher with Recoil of 60, he will suffer a 10% penalty to accuracy. If accuracy would normally be 80% not taking recoil into account, it will be reduced to 70% accuracy.

Additionally, a heavy weapon suffers an additional 25% accuracy penalty if the user has moved in the turn (rotating on the spot does not count as movement).