Do weapon damage upgrades stack with purchased damage resistances? How is crit damage calculated with resistance upgrades? Which upgrades should we upgrade first?
I did a lot of research, and here are the results. Damage type is in the top left corner of each chart. Separate rows for each number of blast resistance upgrades and separate columns for each number of crit resistance upgraded. Tested each for, normal heavy, Demoman with Charging Targe Shield and Fists of Steel.
The damage is calculated by tf2 as follows. The damage of a crit pipe is separated into crit damage and normal damage, then each resistance is applied, then both valued are added together, then weapon/buffbanner/VACmedic resistances are applied.
From this we also learn that for non-crit damage the first resistance upgrade only reduces dmg by 25% compared to no upgrade. 2 upgrades reduce dmg by 33% compared to 1 upgrade. And 3 upgrades reduce dmg by 50% compared to 2 upgrades.
So logically, whatever it is you're upgrading (like blast resistance), make sure to upgrade it all the way, before upgrading something else (like bullet resistance). Upgrading a damage resistance only once is probably a waste of credits, as they will be better spent elsewhere (like speed, to dodge rockets, or health regen). If you have 1200 credits, its much better to upgrade 3x blast and 1x bullet (or 1x blast and 3x bullet) than 2x blast and 2x bullet.
If there are crit soldier robots or crit heavy robots approaching always upgrade crits 3x (not 2x or 1x). If you only have 1050 credits, it would be wiser to upgrade crit 3x and blast 2x, instead of blast 3x and crit 1x. If non-crit robots are the bigger threat, obviously upgrade blast 3x.
One more thing, I noticed a bug for pyro. Bullet resistances will reduce pyros self fire damage in the same way as fire resistance does. And the effect is even stacked. Very useful to know if you like to jump around the map with detonator and jump height upgrade and don't fancy taking 45 damage with every blast. For consistency reasons this chart is for the scorch shot: