Test: Are Stat Bonuses Multiplicative or Additive?
It's being asked once in awhile whenever stat bonuses for a certain unit is discussed.
I could've swear that it's multiplicative, instead of additive, and I could've also swear that I read/heard it from on of the subreddit posts, or from one of Tightropes videos.
Now I'm here to prove it, once and for all, if it's multiplicative or additive by using whatever tools I have, usually the CheatCommand Mod, and whatever data available in coh3stats.com
Anyone with knowledge of the COH3 mod tools could've answered this question without all this fancy setup. But while we wait for them in the comments, we'll just have to do it with what I have (I'm no programmer, so I don't know shit about actual modding! DX).
Without further ado, let's begin.
The only stats that I can confidently test are the Damage Reduction and Rate of Fire.
Damage Reduction
Let's start with our weapon of choice for testing:
For the record, AT Rifles deal 50% damage to Infantry. Thus, stick to 25.
A PalmGren and a Guastatori \"volunteered\" for our tests.
Results:
| Test Subjects | Dmg w/o VSL | Dmg w/ VSL |
|---|---|---|
| PalmGren | 25 | 23 |
| Guastatori | 19 | 17 |
So, what happened?
PalmGren received the full 25 Dmg.
VSL gives +10% DR to all DAK infantry, including BG exclusives.
Guastatori, w/ their innate +25% DR received 19, thru the ff. computation:
25 x (1 - 0.25) = 18.75 ≈ 19
With VSL:
- PalmGren: 25 x (1 - 0.10) = 22.5 ≈ 23
- Guastatori: 25 x (1 - 0.25) x (1 - 0.10) = 16.875 ≈ 17
But what if it's additive?
25 x (1 - (0.25 + 0.10)) = 16.25 ≈ 16
Thus, DR stat is multiplicative.
Rate of Fire
This one's a bit tricky, because:
- You have to "eyeball" the video for from time when they fire until the next fired round;
- There are, at least 2 ways to calculate RoF;
Now, our weapon of choice.
Be reminded that this remained UNTOUCHED!
For a starter unit, they fire a lot.
I \"eyeballed\" it somewhere between 3-4 second mark (most likely @ 3).
Results:
| Veterancy | Reload Time (sec.) |
|---|---|
| 0 & 1 | 5-6 |
| 2 | 4 |
| 3 | 3 |
Note: Since it's being "eyeballed", some errors may exist.
Calculations:
I did say there are two ways, so I'll show you both:
Method 1:
Convert Rounds per Minute to Seconds per Round:
That's right. I used the power of (MS) WORD!
Apply the Vet Bonuses:
- Vet 2: 5 x (1 - 0.25) = 3.75 ≈ 4 sec
- Vet 3: 5 x (1 - 0.25) x (1 - 0.30) = 2.625 ≈ 3 sec
What if additive?
5 x (1 - (0.25 + 0.30)) = 2.25 ≈ 2 sec
Method 2:
Go straight ahead with RPM and convert it to seconds later:
- Vet 2: 12 x (1 + 0.25) = 15 RPM -> 60 / 15 = 4 sec
- Vet 3: 12 x (1 + 0.25) x (1 + 0.30) = 19.5 ≈ 20 RPM -> 60 / 20 = 3 sec
What if additive?
12 x (1 + 0.25 + 0.30) = 18.6 ≈ 19 RPM -> 60/19 = 3.15 ≈ 3 sec
Since both multiplicative and additive arrived at the same answer, it can be confusing, if not misleading, when trying to apply the same approach to other bonuses.
Conclusion
Stat Bonuses, as far as DR and ROF are concerned, are multiplicative. It's possible that other bonuses such as 'Harder to Hit', 'Accuracy', 'Move Speed' are also the same.
Otherwise, we would be hearing complaints about Guastatoris being hard to kill because of their +35% DR, or Foot Guards are so "evasive" because of their +40% Harder to Hit.
Anyway, go do your own testing, and peer review this stuff like academics do.
Or, have those with mod tools set the records straight by telling us how those bonuses are coded.
Seriously, it would really saved me a lot of effort if there's an official explanation on how stacking bonuses work. DX
Posted Dec 14, 2025, 11:10 AM UTC