Weapon Jams

=Weapon Jams=
Many weapons in RogueTech have a jamming mechanic and you might have come here looking for how to Mitigate with Gunnery and Recoil Reduction, or perhaps to understand how those interact. No one wants their primary weapon jammed in a critical situation! Most of this will be common sense after reading the weapon descriptions or the wiki page for it; but perhaps you want to know more.
Note that this article is posted circa 'Project B' RT which introduced major feature changes following the release of Urban Warfare. The mechanic itself is unlikely to change much going forward as it appears stable. Individual weapons stats, including any examples used, are subject to change between patches of course.
== Jamming chance calculation ==
The mechanics is being applied to each weapon independently.
Base chance is being calculated as sum of jamming chances (as they listed in tooltips) from weapon, ammo, and firing mode. Each critical hit adds 10% chance to jamming. Each point in gunnery skill above 1 reduces it by 1%.
Effects from Lucky quirk (-10%), FCS JAM (-25%), FCS Adv TC (C) (-10%), FCS Adv TC (-20%), and Controlled Bursts (-20%) are multiplied and applied to the base chance.
So, for example, a pilot with gunnery 8, lucky, controlled bursts active, firing 3 shots from RAC/5 (5% jam/shot) having 1 critical with [PRE] ammo (4% jam) will have
(5%*3[3 shots] + 4%[ammo] + 10%[critical] - 7%[gunnery]) * 0.9[lucky] * 0.8[controlled bursts] = 15.84% chance of jamming
== Recoil based jamming ==
This is a rare mechanism that only applies to AC/10 BB5X and BFG 9000 at the time of writing.
After weapon is triggered, its refire modifier is multiplied by jam chance multiplier to determine jamming chance. Then the engine rolls against it. If this roll fails, (d9 + 2) is being rolled against pilot's gunnery to mitigate that. Only if the second roll fails too, weapon jams.
Jam chance multiplier is defined by wr-jam_chance_multiplier-x component tag, where x is the % chance.
This mechanic is triggered independently from the core one.
==Unjamming==
Weapons do not unjam based on a timer; rather it is a Gunnery skill check each turn. Strictly, if you were very unlucky, an entire mission could go by without a weapon unjamming. This is an unmodified roll based on your Gunnery skill, so the higher the better. A random number generated from 1-10 is compared to your Gunnery skill. If the number is LESS than your skill, then the check passes. The roll is made at the end of the initiative phase for each weapon separately. Pilot skill rolls work very similarly.
== For modders ==
Base jamming chance is defined by CACFlatJammingChance. CACModJammingChance defines multipler used at the end of calculation.
If evasivePipsMods.FlatJammingChance is defined for weapon/ammo, it is used to modify base jamming chance during step 1. Calculate evasion pips to the power of (sum of weapon, ammo, and firing mode), then multiply base chance by the result.
If GunneryJammingBase is defined in multiple places, priorities take place: ammo > weapon > firing mode. If it is not defined, assume 5.
===I want to know more===
In practice, it should be 'enough information to have as high gunnery as possible and to assure mitigation of all recoil, or expect a high jam chance. Please do NOT engage the RT support team with questions at this level of detail unless you're very sure of a bug or are very sure you know what is going on and have a contextual query specific to RT. Mere curiosity is below the threshold of support, as is coding tutorial. This is noted because, while RT uses CAC/WR and other tools they are used in other mods and are a community resource. If you're looking for exactly where that line in the sand is, continue.
This mechanic is controlled by CustomAmmoCategories.dll and there may be mechanics that utilize both or others. In WR-Readme.md we find the following stub text that a modder could find useful::
* Refire Modifier crit multiplication - weapons can now have a bigger refire penalty when damaged (critted); see setting `damagedWeaponRefireModifierMultiplier`
* Weapon Jamming - weapons with weapon defs tagged `wr-jammable_weapon` can jam, based on refire modifier and `jamChanceMultiplier`/`wr-jam_chance_multiplier-X`; `X` multiplies the refire modifier to determine a percent chance of jamming happening; Rolls against gunnery skill to save vs. jam and unjam are preformed.
Additionally, in Readme.txt for CAC we find:
"DamageOnJamming": true/false, - if true on jamming weapon will be damaged
"DestroyOnJamming": true/false, - if true on jamming weapon will be destroyed (need DamageOnJamming to be set true also)
"FlatJammingChance": 1.0, - Chance of jamming weapon after fire. 1.0 is jamm always. Unjamming logic implemented as in WeaponRealizer
NOTE! There FlatJammingChance can be altered via CACFlatJammingChance statistic value per actor's and/or per weapon's statistic collections
"GunneryJammingBase": 5, - 
"GunneryJammingMult": 0.05, - this values uses to alter flat jamming chance by pilot skills formula effective jamming chance = FlatJammingChance + (GunneryJammingBase - Pilot Gunnery)* GunneryJammingMult
if FlatJammingChance = 1.0, GunneryJammingBase = 6, GunneryJammingMult = 0.1, GunnerySkill = 10
result = 1.0 + (6-10)*0.1 = 0.6
GunneryJammingBase if ommited in weapon def., ammo def. and mode def. assumed as 5. 
You can find the actual calculations at CustAmmoCategories.CustomAmmoCategories.FlatJammingChance and, for recoil-based jamming, WeaponRealizer.JammingEnabler if you decompile CustomAmmoCategories.dll, as it is not open sourced.
Category:Guides