13

Weapons can gain an aim bonus based on your range to a target, as shown at the bottom of this screenshot:

enter image description here

Does this "Weapon Range" bonus apply the same way to all weapons, i.e. is the effective range for all weapons X tiles away from a target? Or do the effective ranges depend on the type of weapon, like shotguns being most effect at ranges of less than X tiles, rifles being most effective at ranges of between X and X + 10 tiles, while sniper rifles are most effective at ranges between X + 10 and X + 20 tiles?

Weapons can also get critical change bonuses depending on range to a target. The shotgun is the most obvious one: the closer you are to a target, the higher your critical chance. Does this crit bonus apply the same way to other weapons as well, e.g. the closer you are to a target with a sniper rifle, the higher your crit chance will be?

8

There are three types of weapon range available for player characters: Short, Medium and Long. The exact bonus/penalty changes a little depending on tech level (conventional, magnetic or beam).

  • Short Range applies to shotguns, it gives you up to +40 aim at point-blank range and up to -30 at extreme distances with +0 modifier at 11 tiles.
  • Medium Range applies to most weapons and gives up to +20-22 bonus aim at point-blank range with no long range penalty and slower drop-off.
  • Long Range applies to Sniper Rifles and is actually the easiest to account for because of its linear nature. They give -30 at point-blank range and +0 at 11 tiles. Long Range weapons don't give you an aim bonus.

Weapons don't have crit bonuses from range unless they are equipped with a laser sight. The bonus is +10 at 0 tiles distance and drops-off at a rate of 0.5 points per tile.

Weapon Range Tables from DefaultGameData_WeaponData.ini

This file is located under C:\Program Files (x86)\Steam\steamapps\common\XCOM 2\XComGame\Config\DefaultGameData_WeaponData.ini.

Short range:

SHORT_CONVENTIONAL_RANGE[0] = 0
SHORT_CONVENTIONAL_RANGE[1] = 40
SHORT_CONVENTIONAL_RANGE[2] = 35
SHORT_CONVENTIONAL_RANGE[3] = 32
SHORT_CONVENTIONAL_RANGE[4] = 28
SHORT_CONVENTIONAL_RANGE[5] = 23
SHORT_CONVENTIONAL_RANGE[6] = 19
SHORT_CONVENTIONAL_RANGE[7] = 16
SHORT_CONVENTIONAL_RANGE[8] = 12
SHORT_CONVENTIONAL_RANGE[9] = 6
SHORT_CONVENTIONAL_RANGE[10] = 2
SHORT_CONVENTIONAL_RANGE[11] = 0
SHORT_CONVENTIONAL_RANGE[12] = -2
SHORT_CONVENTIONAL_RANGE[13] = -4
SHORT_CONVENTIONAL_RANGE[14] = -7
SHORT_CONVENTIONAL_RANGE[15] = -10
SHORT_CONVENTIONAL_RANGE[16] = -12
SHORT_CONVENTIONAL_RANGE[17] = -15
SHORT_CONVENTIONAL_RANGE[18] = -17
SHORT_CONVENTIONAL_RANGE[19] = -18
SHORT_CONVENTIONAL_RANGE[20] = -18
SHORT_CONVENTIONAL_RANGE[21] = -19
SHORT_CONVENTIONAL_RANGE[22] = -19
SHORT_CONVENTIONAL_RANGE[23] = -21
SHORT_CONVENTIONAL_RANGE[24] = -25
SHORT_CONVENTIONAL_RANGE[25] = -30

Medium range:

MEDIUM_CONVENTIONAL_RANGE[0] = 0
MEDIUM_CONVENTIONAL_RANGE[1] = 20
MEDIUM_CONVENTIONAL_RANGE[2] = 19
MEDIUM_CONVENTIONAL_RANGE[3] = 17
MEDIUM_CONVENTIONAL_RANGE[4] = 16
MEDIUM_CONVENTIONAL_RANGE[5] = 13
MEDIUM_CONVENTIONAL_RANGE[6] = 11
MEDIUM_CONVENTIONAL_RANGE[7] = 9
MEDIUM_CONVENTIONAL_RANGE[8] = 7
MEDIUM_CONVENTIONAL_RANGE[9] = 5
MEDIUM_CONVENTIONAL_RANGE[10] = 4
MEDIUM_CONVENTIONAL_RANGE[11] = 3
MEDIUM_CONVENTIONAL_RANGE[12] = 2
MEDIUM_CONVENTIONAL_RANGE[13] = 1
MEDIUM_CONVENTIONAL_RANGE[14] = 1
MEDIUM_CONVENTIONAL_RANGE[15] = 1
MEDIUM_CONVENTIONAL_RANGE[16] = 0
MEDIUM_CONVENTIONAL_RANGE[17] = 0
MEDIUM_CONVENTIONAL_RANGE[18] = 0
MEDIUM_CONVENTIONAL_RANGE[19] = 0
MEDIUM_CONVENTIONAL_RANGE[20] = 0
MEDIUM_CONVENTIONAL_RANGE[21] = 0
MEDIUM_CONVENTIONAL_RANGE[22] = 0
MEDIUM_CONVENTIONAL_RANGE[23] = 0
MEDIUM_CONVENTIONAL_RANGE[24] = 0
MEDIUM_CONVENTIONAL_RANGE[25] = 0

Long range:

LONG_CONVENTIONAL_RANGE[0] = 0
LONG_CONVENTIONAL_RANGE[1] = -30
LONG_CONVENTIONAL_RANGE[2] = -27
LONG_CONVENTIONAL_RANGE[3] = -24
LONG_CONVENTIONAL_RANGE[4] = -21
LONG_CONVENTIONAL_RANGE[5] = -18
LONG_CONVENTIONAL_RANGE[6] = -15
LONG_CONVENTIONAL_RANGE[7] = -12
LONG_CONVENTIONAL_RANGE[8] = -9
LONG_CONVENTIONAL_RANGE[9] = -6
LONG_CONVENTIONAL_RANGE[10] = -3
LONG_CONVENTIONAL_RANGE[11] = 0
LONG_CONVENTIONAL_RANGE[12] = 0
LONG_CONVENTIONAL_RANGE[13] = 0
LONG_CONVENTIONAL_RANGE[14] = 0
LONG_CONVENTIONAL_RANGE[15] = 0
LONG_CONVENTIONAL_RANGE[16] = 0
LONG_CONVENTIONAL_RANGE[17] = 0
LONG_CONVENTIONAL_RANGE[18] = 0
LONG_CONVENTIONAL_RANGE[19] = 0
LONG_CONVENTIONAL_RANGE[20] = 0
LONG_CONVENTIONAL_RANGE[21] = 0
LONG_CONVENTIONAL_RANGE[22] = 0
LONG_CONVENTIONAL_RANGE[23] = 0
LONG_CONVENTIONAL_RANGE[24] = 0
LONG_CONVENTIONAL_RANGE[25] = 0
5
  • Perfect, this is exactly what I was looking for! How did you figure this all out?
    – DarthPizza
    Feb 14 '16 at 5:19
  • 1
    The modifiers are defined in the DefaultGameData_WeaponData.ini file.
    – Breno
    Feb 14 '16 at 7:32
  • Are there maximum ranges, or can a soldier with Squadsight (a sharpshooter or another soldier from a temporary hacking reward) fire a short/medium/long range weapon from across the map?
    – RibsNGibs
    Feb 15 '16 at 18:15
  • @RibsNGibs I think soldiers with Squadsight have no max range, so if you wanted to hit something from across the map, you'll be able to target it as long as you have line of sight. However, according to Squadsight's description, there's an aim penalty that increases with distance. You can compensate for this with things like high-ground, Steady Hands (Sniper Sharpshooters), scopes, Perception PCS, etc.
    – DarthPizza
    Feb 15 '16 at 21:05
  • Pistols are also Short Range weapons, so they get the same bonuses/penalties as shotguns.
    – Thurhame
    Nov 19 '18 at 20:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.