Ever since the start of Early Access, now over a year ago, one of the game’s most confounding unsolved mysteries involved the highly inconsistent damage of spells whose damage has a scaling component to it.
Today, I can say that I can 100% reproduce this issue on-demand, as I have figured out the logic flaw in the game’s damage calculations for these spells.
And it all started with an incredibly “improbable” damage fail on what should have been a trivial opponent kill.
To start, I was on my Assassin, using the spell Night Blade. Damage of the spell was determined by the game as follows:
I was fighting a construct who had ~7k life left and had this board in play:
Ok, elemental advantage and 18 purple gems on the board. From the base damage calculation alone (ignoring elemental advantage) the spell should have done:
[4190 + [(18* 0.08) * 4190]
[4190 + (1.44*4190)]
4190 + 6034
10224
So, that should have easily defeated the construct, even before the 20% elemental advantage bonus was applied. But, it didn’t. Instead, the game calculated the damage to be 6636! (signifying elemental bonus was applied) and the construct withstood the attack.
How in the universe did the game reach this damage result? Well, with a little backwards reverse engineering,
6636 / 1.2 (elemental advantage damage bonus) = 5530 calculated unmodified damage
5530 calculated unmodified damage- 4190 base spell damage = 1340 bonus damage
1340 bonus damage / 4190 base spell damage = 32% bonus damage awarded
32% bonus damage awarded / 8% bonus damage awarded per purple gem = 4 purple gems were counted by the game.
Huh??? There’s definitely 18 purple gems in that picture and not 4.
I stared at that board for quite awhile until the solution hit me. If you look at the board in a very specific way, there are exactly 4 purple gems on the board.
There are exactly 4 purple gems on the board that are “free” and not tied up in a match {signified by brackets around gems}.
As such, the game ignored the 14 purple gems on the board that were already matched and only counted the 4 purple games that were available to be matched in the spell’s damage calculation.
But the real question here, is can this finding be reliably reproduced? Yes, it can.
Here’s one more board, in a much more complex state. This time, I was fast enough to screen snip the in-game damage calculation.
Ok, math time.
7206 total damage - 4190 base damage = 3016 bonus damage.
3016 bonus damage / 4190 base damage = 72% bonus damage.
72% bonus damage / 8% bonus damage per gem = 9 purple gems counted.
Are there exactly 9 purple gems available for matching in that screenshot?
Yes, there is.
And that solves this long standing mystery. Suffice to say in the interests of the length of this bug report, this logic can be 100% reproduced on any class with any spell that calculates damage on a sliding scale.
Correcting this logic flaw should address much of the damage shortcomings that is being lost to blobs of a gem type not being counted in damage calculations correctly.