Topic: Wartune /
Sylph damage formula (partially) revealed
Warning: this a long post, if you are not interested in what’s going on, just read the calculations in Step 1-6 and ignore everything else.
I’ve heard recently a lot of rumours regarding the damage dealt by sylphs, and things that may influence it, so I decided to give it a try and make a thorough scientific experiment and reveal the damage calculations (or at least some parts of them).
To establish an easily reproducible environment, I took off all my astrals (especially the non-stat astrals), set troop count to 0, got rid of all my equipped items, medallions, wings and resistance crystals.
In all of the battles I fought against Iris sylphs on the 1st level of the atoll, and my equipped sylph was mostly a fully enhanced lv80 orange Apollo.
In a few other battles I used a newly created (lv28) white Amazon Queen.
After analyzing hundreds of battles and documenting my damage otuput, I came up with a formula that is capable of reproducing all the exact damage values I observed during my test.
Thus the following process calculates the sylph’s (awakened) non-critical auto-attack damage.
Step 1: calculate d = (hero_primary_atk + sylph_primary_atk – opponent_defense) / 2.0,
/for example Iris’ defense on sylph atoll lv1 is 1000/
Step 2: calculate the resistance bonus/malus r = (100.0 – opponent_effective_resistance * 0.12) / 100.0
(r = 1.12 if your opponent has -100 effective resistance, r = 0.88 if opponent has 100 effective resistance)
/effective resistance = opponent_resistance_vs_your_sylph_type – your_resist_reduction/
If opponent_effective_resistance < -166.7, it has to be limited to -166.7
Step 3: calculate the final average damage D = (d – 1.0) * r * sylph_bonus,
where my white amazon has sylph_bonus = 1.0, orange apollo has a bonus factor 1.1 (no idea about others)
Step 4: generate a random integer k in the interval [-10.0, 10.0]
Step 5: the final damage dealt by your sylph (auto attack) is D + D / 100.0 * k
Step 6: with 20% probabilty increase this number by min(opponent_def, 250.0 * fate_level) / 2.0,
due the “20% chance to ignore 250.0 * fate_level points of target’s defense” passive effect
If the formula above seems too complicated, we can try to interpret the consequences of each step.
Remarks and consequences regarding Step 1: your hero’s primary attack is obviously your own PATK if you are a knight or archer, and MATK if you are a mage. /I tested everything with my archer/
So if you are an archer, there is no point to increase your MATK, it won’t increase your Apollo’s or Gaia’s damage output.
Secondly, it is worth increasing your sylph’s primary attack. For example Apollo’s MATK = 0.0018 * Apollo_INT * Apollo_INT_Aptitude, thus you can either increase its INT by rearranging your skill points into
intelligence (a lv80 apollo has 395 skill points to set, each reset costs 100 balens), or increase its INT_Aptitude by giving sepulcrum to the sylph.
However, weaker/medium players should rather set skill points into Endurance to get more HP, because the difference in the total MATK is very low at low level/low colour sylphs (their Aptitude is very low).
Remarks and consequences regarding Step 2: when you look at your resistances at Battle Protection window, you see the effects of them by hovering the mouse over the numbers.
For example 410 electro resistance is displayed as ‘49% damage reduction to oneself’. You can simply get these numbers by multiplying the resistance value by 0.12 /i.e every 10 points of resistance gives a 1.2% damage reduction/.
Since 410*0.12 = 49.2, it is displayed as 49% reduction. (From the formula you can see that these numbers are actually valid.) Another interesting thing is that the effective resistance is bounded from below.
I found this when I noticed that my apollo deals the same damage againstIris RES_Reduction = 100 and with RES_Reduction = 80.
Since Iris has a natural -100 resistance vs Apollo, and both -100-100 = -200 and -100-80 = -180 are smaller than -166.7, they behave the same way.
The magic number -166.7 was found by applying the final formula on my test data.
Remarks and consequences regarding Step 3: this was the hardest thing to find in my test, and I’m not even sure that this is the right way to interpret the different behaviour I experienced when changed from my orange Apollo to
my white Amazon. Since Amazon has a 1.0 bonus factor (i.e. no bonus), all the hidden calculations were easier to reveal in that case; but they didn’t work when I tried to apply them for the case of Apollo.
This bonus factor is a possible explanation for this phenomenon. However, I haven’t tested this with other (colour/type) sylphs, I’d appreciate any further feedbacks regarding this question. I don’t know whether my orange Apollo
has that bonus, because it is orange, or because it is Apollo (casher sylph). I admit the formula would look much nicer with D = d * r * sylph_bonus, I just put that -1 there to make the fitting even better, the difference is very small.
Remarks and consequences regarding Step 4 and 5: the important thing here is that k is an integer, thus when you analyze your damage values, the large variation can be filtered out, because only 21 different numbers may
appear (or a bit more, see Step 6). I am pretty sure that this is the way, how the ‘floating damage’ calculations are implemented in the game, so if you have 17% floating damage, then k is an integer from the interval [-17,17],
and you can observe 35 different random damage values. If you understand this thing deeply, you will never ever calculate your average damage from your test fights by simply taking the mean value of the numbers.
The standard averaging method is very inaccurate and you would need a very large sample size to distinguish small differences reliably. However, finding these 21 values by using the formula requires less test fights and gives a very
accurate answer (+-1 absolute error due to some roundings/truncations).
Remarks and consequences regarding Step 6: very bad news for those who thought that ‘20% chance to ignore 250 * fate_lvl defense’ was very useful. It seems that the formula calculates the defense points ignored,
halves it, and simply increment the damage by this value. It means that this value doesn’t get mulitplied by the sylph_bonus, or resistance bonus.
I haven’t tested it with different skills, so I don’t know if it gets multiplied by any other factors, but my guess that it is not. For example Iris on atoll has 1000 defense, so I may ignore 1k defense points only, increasing my final
damage by 500 with 20% probability.
I encourage everyone to try and test my formula, I’d appreciate every feedback, even if you think this is rubbish, and has no connection to reality (if anyone needs, I can provide the spreadsheet where I documented the fights).
These battles very excusively done in PvE battles, I don’t know if same formula governs the damage in PvP battles, too, and of course it doesn’t cover the case when block, crit or other damage enhancing/reducing sources are present,
I’d be glad if anonye had some time to extend my results to these cases. Furthermore I hope the idea behind Step 4 and 5 makes a lot of tests easier in the future, since they were the crucial steps in my investigations to reduce the number of test battles.
Finally, I’d like to thank Holo from s13 (US-West) for his work (with Step 2) and his valuable ideas and suggestions that helped me to move on when I was seriously stuck.
Hhit (s13-US West) a.k.a Tihh (s9-EU)