Talk:Damage Calculator/@comment-11753608-20130824184514/@comment-11753608-20130825053442

The example you gave is an invalid test of your order of operations - a Runner has no armor it has no MP for a body shot and it has no MP for bullet damage.

The only thing in that equation is a base damage mod and a faction damage mod. And I already conceded that I missed that they are rounding the base damage mods before they apply the faction one. That has been corrected and now my number matches yours - even keeping the multipliers along side the armor.

What the runner is a valid test of is what we just covered - that base damage is rounded before faction mods are applied. In fact it was a perfect test precisely because it isolated it and didn't consider armor or other MPs.

If we want to test the rest of it, you have to find an instance where both a type MP and armor is being applied to test the order for the MP (because we already know armor comes after faction is applied). Then you would need to find an instance where a body part MP and armor is applied but no type MP (so basically shooting a Grineer in the head with something that has no type MP and doesn't ignore armor).

This is why I suggested Dread against a Charger but I think we need something with a higher armor amount. Dread is actually be a good weapon for the Grineer test as well since it has a high base damage with no armor ignore and does blade damage which has no type MP on Grineer.

Actually, if we did that test first and solidified the placement of the body part MP, then we could use something like bullet damage to a medium grineer head to test type damage. Or maybe fire or electricity to a medium grineer.

There is definitely a small chance of these two versions coming up with different results. We just have to find the exact instance where that would happen and test it in game. What I did with the calculator is created 1 cell that used your equation on a particular enemy and BP with a specific damage type. Then I created a cell right next to it that coded 1 if they were equal and 0 if they weren't. We can use a test like this to find that gap and then fire it up in game.