I checked also on my side, especially using raids and special attacks.
Overall, it seems that the damage formula is less complex but it seems to be one for each character.
The basic formula D (damage) = a x (total attack) / (total defense) + b works quite well. There is a small piece of variance (random or based on other factor) that I did not search for (too time consuming).
Based on few tryouts I just did, I had good predicted results and an error factor between 0.1% and 6.8% which in my opinion is solid enough to use the formula (or to post it here).
I found a and b values by writing down battles statistics (raids and only special attacks) and MS excel gave me the trend line.
The values I have :
- Caedmon : a=238, b=189
- Gormek : a=243, b=79
- Leonidas : a=323, b=77
Example 1 : Caedmon total attack 754 vs Grimm total defense 640
Predicted damage = 238 * 754 / 640 + 189 = 469.39, real damage was 471 (error 0.3%)
Example 2 : Gormek total attack 659 vs Balthazar total defense 324 (492 -168)
Predicted damage = 243 * 659 / 324 + 79 = 573.25, real damage was 573 (error 0%)
Note : I don’t know if a and b values depend on other parameters like hero evolution, talents, raid arena…
I share this cos I had less than 1% error on 5 out of 8 tryouts so I was pretty excited.
I don’t pretend at all it is THE formula but it provided me sufficient results to know how to adapt know my strategy.
From a programming perspective this formula looks quite odd though…