Hey everyone
I've been trying to figure out how damage modifiers are taken into account by the game.
I couldn't find any post about this, and the "obvious" answers (either multiplicative or additive stacking) both didn't seem to work.
This may not be something new (first post for me here, although I've been lurking around a bit before), but I finally found out that it works very similarly as what is explained in this thread about recovery/reload times:
https://forums.obsidian.net/topic/98679-mechanics-attack-speed-recovery-time-reload-time/
Basically:
The game adds all positive modifiers. Lets call P that sum.
Then, for each negative modifier, the game computes mod/(1+mod). Let's call that result N(mod)
Then the game adds P and all of the N(mod). Lets call S the sum.
then:
If S>0:
final_coef = S+1
else:
final_coef = 1/(1-S)
Real damage is obtained by multiplying the base damage by final_coef.
For instance, let's say you have 10 base damage, +15% from might, +55% from sneak, and two maluses, M1=-25%, M2=-50%
P = 0.15 + 0.55 = 0.7
N(M1) = -0.25 / (1 + -0.25) = -0.33...
N(M2)= -0.50 / (1 + -0.50) = -1
S = 0.7 + -0.33 + -1 = -0.63
final_coef = 1 / (1 - -0.63) = 1 / 1.63
Real damage = 10 * (1 / 1.63) = 10 / 1.63 = roughly 6
One interesting conclusion of those calcultations is that a might bonus isn't really important if you have other important bonuses from other sources.
Let's say you have a rogue with +50% from sneak and +50% from devastating blows, a might bonus on top of that won't add much to damage (especially since you prolly also have bonuses from the weapon and possibly from the skill). However, a might malus has a much bigger impact on final damage.
Edit:
If you can manage to have S > 0, then might (bonus or malus) will have little impact on your damage output. This is even more true if you can get S > 1 or, even better, S > 2. The only situation where might can have a significant impact on you damage output is if S is close to 0. Let's consider an example to illustrate this.
Example : Rogue attacking, base damage = 20, +55% from sneak, +45% from weapon, +50% from deathblows, +200% from devastating blow.
if might = 10: P = 3.5, no malus, S = 3.5, final_coef = 4.5, real damage = 90
if might = 17: P = 3.71, no malus, S = 3.71, final_coef = 4.71, real damage = 94.2 (that's only a 4.7% damage increase)
if might = 3: P = 3.5, N = -0.21/0.79 = -0.2658, S = 3.2342, final_coef = 4.2342, real damage = 84.7 (that's only 5.9% damage decrease)