Missile weapon combat

From Caves of Qud Wiki
Jump to navigation Jump to search
This information is reliable as of patch 2.0.201.114. If this is no longer the current patch, you can help by updating it.
As of Patch This information is reliable as of patch 2.0.201.114.

Missile weapons are one of three core weapon classes in Caves of Qud, along with melee weapons and thrown weapons.

Missile weapons include any weapon that can be equipped in a Missile Weapon body equipment slot and fired at targets using the Fire missile weapon keybind.

Missile Weapon Accuracy

The first component to a missile weapon attack is determining the trajectory of any projectiles.

Angular Variance

Angular variance is the total number of degrees (°) that a projectile deviates from its intended trajectory. An angular variance of 0° represents a perfectly accurate shot that travels directly to the intended target, regardless of distance. The further a projectile travels, the more that its angular variance will affect the path and reduce the chance of hitting the target.

There is an element of randomness and several calculations at play which ultimately determine the angular variance of an individual missile weapon projectile. The simplified formula for angular variance is:[1]

AngularVariance = WeaponVariance ± AimVariance

The ± symbol indicates that AimVariance is randomly either added or subtracted from WeaponVariance.[2]

Weapon Variance

Example range of weapon variance (blast cannon)
Accuracy Numeric Value
Very High 0
High 1 to 4
Medium 5 to 9
Low 10 to 24
Very Low ≥25

In the equation above, WeaponVariance is the weapon variance roll, which depends on the weapon's intrinsic accuracy and is re-randomized for every projectile. In game, a missile weapon's accuracy is noted in its description as Very High, High, Medium, Low, or Very Low. For easier calculation, this wiki also includes the numeric accuracy value associated with each missile weapon in the infobox on that weapon's wiki page. Lower values are more accurate, with 0 representing a perfectly accurate weapon (for example, the electrobow).

Each time a projectile is fired, the weapon variance is randomly chosen from -WeaponAccuracy to +WeaponAccuracy. For example, the blast cannon, which has an accuracy of 25, will always contribute a random number from -25° and +25° to each of its projectiles, representing a total angular variance range of 50°.[3]

The only thing that can modify weapon variance are relic and extradimensional enhancements which reduce a weapon's base accuracy by 5-105-10 (Avg: 7.5). Weapon variance is not influenced by any other factors. It cannot be reduced by agility, skills, or tinkered weapon mods. For example, the blast cannon will always have, at minimum, a -25° to +25° spread, unless it is a relic or extradimensional blast cannon that had its base accuracy reduced.

Aim Variance

Outcome probabilities for initial Abs(2d20-21) roll

Each projectile fired is additionally affected by the wielder's aim variance. AimVariance begins with a standard 2d202-40 (Avg: 21) dice roll shared by all missile weapons. The value can then be modified by attributes, skills, weapon mods, and other factors, and it can sometimes be reduced to 0.

In the following cases, aim variance is always set to 0.

Otherwise, the general formula for aim variance is as follows.[3]

Abs(2d20-21) - AgilityMod - SkillMods - ItemMods - CyberneticMods

  1. Roll 2d202-40 (Avg: 21) and subtract 21 from the result.
  2. Take the absolute value of that result.
  3. Subtract the wielder's Agility modifier.
  4. Subtract all relevant skill modifiers for Steady Hands (-2), Steady Hand (-2), or Draw a Bead (-1).
  5. Subtract all relevant item mod bonuses. This includes scoped (-4) as well as potential hidden bonuses to aim variance from relic/extradimensional enhancements.
  6. Subtract 3 for each installed stabilizer arm locks implant

Aim variance cannot be negative - if the result from following these steps is negative, aim variance is set to 0.

Sprinting and Wildfire

In the case of a shot gone wild (which occurs 50% of the time when there are two or more enemies immediately adjacent to the shooter), or if the player is sprinting while firing a missile weapon, an additional random angle of up to 23° in either direction (-23° to +23°) is randomly added to the calculated angular variance of the projectile. This can stack if the shooter is sprinting while they fire a wild shot.[3]

The firing-while-sprinting penalty is negated in either of the following scenarios:[3]

Fixed Spread Projectiles

After calculating the angular variance of a projectile, the game also adds any additional fixed spread projectiles. These include:

  • A heavy weapon Sweep, which will fire 5 projectiles in place of the usual single projectile, with fixed offsets from the calculated angular variance (-45°, -22°, 0°, 22°, and 45°)[4]
  • A weapon with the beamsplitter mod, which will fire 3 projectiles with fixed offsets from the calculated angular variance (-9°, 0°, and 9°)[3][5]

Projectile Hit and Damage

This article has information that is missing or not up to par.
Reason: This section needs more info about how the "Hit" mechanics work for missile weapons, and possibly a little cleanup. Also, info on damage calculations is not found in the linked penetration article, as claimed. Rather than adding it there, it might be better to explain the damage calculation here for a ranged weapon & ammo, similar to the example in the Melee weapon combat article.

After a projectile actually hits a target - whether or not that was the intended target - regular damage calculations occur. However, there is a -5 DV penalty. If the target has Swift Reflexes, the penalty will not be inflicted. If the creature is immobile, the DV is set to a flat -100.

For information about penetration and damage calculations for missile weapons, refer to the penetration article.

Additional Notes

  • It is possible in some cases for aim variance to offset weapon variance in a way that is beneficial to the overall accuracy of the shot. For example, a blast cannon may roll -18° for weapon variance and then have an aim variance of 17°. If the game randomly chooses to add the aim variance to the weapon variance, it would result in a near-perfect shot (-1° total angular variance). On the other hand, if the game randomly chooses to subtract the aim variance from the weapon variance, it would result in a total angular variance of -35°.
  • Because the scoped mod affects only aim variance (not weapon variance), it has limited usefulness to characters who already have very high Agility and supporting skills/cybernetics. If aim variance has already been reduced to 0 by other factors, the scoped mod will have no functional effect (because aim variance cannot be reduced below 0). You can test your character's aim variance by using a weapon that has perfect accuracy, such as the sniper rifle, nullray pistol, or arc cannon. If all of your shots with that weapon hit a far away target without missing, your aim variance is already 0 (or near enough to zero) such that scoped will not be useful to you on any weapon.

List of Missile Weapons

Pistols

Weapon Accuracy Max PV Damage
longreach grappling gun 2 (High) 14 ♥1d21-2 (Avg: 1.5)
spaser pistol 8 (Medium) 14 ♥1d101-10 (Avg: 5.5)
hand rail 2 (High) 13 ♥1d101-10 (Avg: 5.5)
grappling gun 2 (High) 12 ♥1d21-2 (Avg: 1.5)
eigenpistol 4 (High) 11 ♥1d101-10 (Avg: 5.5)
blood-gradient hand vacuum 6 (Medium) 10 ♥1d81-8 (Avg: 4.5)
laser pistol 4 (High) 9 ♥1d101-10 (Avg: 5.5)
space inverter 4 (High) 9 ♥1d101-10 (Avg: 5.5)
chain pistol 16 (Low) 8 ♥1d61-6 (Avg: 3.5)
chain pistol 16 (Low) 8 ♥1d61-6 (Avg: 3.5)
semi-automatic pistol 12 (Low) 8 ♥1d61-6 (Avg: 3.5)
Ruin of House Isner 5 (Medium) 8 ♥1d101-10 (Avg: 5.5)
chrome revolver 12 (Low) 7 ♥1d61-6 (Avg: 3.5)
di-thermo beam 4 (High) 5 ♥1d12+23-14 (Avg: 8.5)
nullray pistol 0 (Very High) 5 ♥00
high-voltage arc winder 4 (High) 4 ♥6d46-24 (Avg: 15)
arc winder 4 (High) 4 ♥4d44-16 (Avg: 10)
psychal fleshgun 3 (High) 4 ♥1d81-8 (Avg: 4.5)
booster gun 5 (Medium) 4 ammo-based
dart gun 5 (Medium) 4 ammo-based

Bows

Weapon Accuracy Max PV Damage
turbow 9 (Medium) 4 ammo-based
short bow 11 (Low) 4 ammo-based
compound bow 5 (Medium) 4 ammo-based

Rifles

Weapon Accuracy Max PV Damage
spaser rifle 4 (High) 14 ♥1d121-12 (Avg: 6.5)
light rail 0 (Very High) 13 ♥1d121-12 (Avg: 6.5)
sniper rifle 0 (Very High) 11 ♥1d81-8 (Avg: 4.5)
eigenrifle 2 (High) 11 ♥1d121-12 (Avg: 6.5)
electrobow 0 (Very High) 10 ♥1d61-6 (Avg: 3.5)
scoped masterwork carbine 10 (Low) 9 ♥1d81-8 (Avg: 4.5)
Issachar rifle 7 (Medium) 9 ♥1d81-8 (Avg: 4.5)
carbine 10 (Low) 9 ♥1d81-8 (Avg: 4.5)
laser rifle 2 (High) 9 ♥1d121-12 (Avg: 6.5)
musket 12 (Low) 8 ♥1d81-8 (Avg: 4.5)
pump shotgun 45 (Very Low) 8 ♥1d21-2 (Avg: 1.5)
combat shotgun 35 (Very Low) 8 ♥1d21-2 (Avg: 1.5)
freeze ray 0 (Very High) 5 ♥1d41-4 (Avg: 2.5)
hypertractor 0 (Very High) 5 ♥00

Heavy Weapons

Weapon Accuracy Max PV Damage
flamethrower 10 (Low) 19 ♥1d21-2 (Avg: 1.5)
swarm rack 25 (Very Low) 17 ♥3d63-18 (Avg: 10.5)
phase cannon 0 (Very High) 16 ♥4d124-48 (Avg: 26)
blast cannon 12 (Low) 16 ♥2d82-16 (Avg: 9)
arc cannon 0 (Very High) 15 ♥1d61-6 (Avg: 3.5)
missile launcher 10 (Low) 14 ♥1d61-6 (Avg: 3.5)
chain laser 5 (Medium) 9 ♥1d121-12 (Avg: 6.5)
chaingun 16 (Low) 8 ♥1d61-6 (Avg: 3.5)
mortar tube 10 (Low) 7 ♥1d31-3 (Avg: 2)
linear cannon 2 (High) 4 ♥2d122-24 (Avg: 13)
defoliant pump 10 (Low) 4 ♥00
fungicide pump 10 (Low) 4 ♥00
normality gas pump 10 (Low) 4 ♥00
grenade launcher 5 (Medium) 4 ammo-based

References

This information is reliable as of patch 2.0.201.114.
  1. XRL.World.Parts.MissileWeapon, method CalculateBulletTrajectory
  2. XRL.World.Parts.MissileWeapon, method FireEvent – Technically, the AimVariance is subtracted 66% of the time - whenever the 2d20 dice roll is less than 25 - and added the remaining 34% of the time. Functionally, this means that projectiles are slightly more likely to have bad misses in one direction than the other.
  3. 3.0 3.1 3.2 3.3 3.4 XRL.World.Parts.MissileWeapon, method FireEvent
  4. XRL.World.Parts.Combat, method FireEvent, in the CommandFireMissileWeapon case
  5. XRL.World.Parts.ModBeamsplitter