What is the damage variance for weapons in Chimera Squad?

Near as I can tell, Chimera Squad uses the same code as XCOM2. This can be found in X2Effect_ApplyWeaponDamage.uc in the SDK, and is also used for things like grenades, etc.:

if (DamageSpread > 0)
    {
        WeaponDamage += DamageSpread;                        //  set to max damage based on spread

        if (!bCritForcesMaxDamage)                           // Do max spread damage if the shot crit
        {
            WeaponDamage -= `SYNC_RAND(DamageSpread * 2 + 1);//  multiply spread by 2 to get full range off base damage, add 1 as rand returns 0:x-1, not 0:x
        }
    }

Assault Rifles, SMGs, and Shotguns all have a damage spread of 1. This means Assault Rifles and SMGs are 3-5 damage, and Shotguns are 4-6. (Pistols have no spread, but have a 50% chance for bonus damage).

The counter-intuitive way this works is to start from the maximum possible damage, then subtract an integer between (0-Spread*2+1].

In the case of a crit, they do bonus damage.

In conclusion:

  • Assault Rifle / SMG: 33% chance of 3,4,5
  • Shotguns: 33% chance of 4, 5, 6
  • Subdue: 50% chance of 2 or 3 (this is handled elsewhere b/c it's an ability)
  • Workshop upgrades add to base damage
  • Certain weapon crits always max spread damage