Formulas
Last update: 12/02/2021
Some players may be interested by doing maths for this game. For maths lovers out there, several formulas about the main aspects of SoulWorker are listed below with a quick description about them.
Note that the following formulas, for some, can hardly be tested well and may not be 100% accurate. However, they are still close to the real situation.
Also note that prolly not every possible formulas are listed below. If by all chance you know a formula that is not listed here, you can freely notice me about it through Discord.
This guide consider you know how the stats mentioned below work and also know their acronym ("atk", "pdmg" etc.).
If you are not so familiar with them, I recommend you to read the Stats Guide section first before reading these formulas!
I] Offensive Formulas
1.1) Normal Hit
The current known formula for normal hits is this one:
Legend:
- min/max ATK => your ATK values displayed in your profile.
- penetration => Armor Break.
- skill_multiplier => the damage modifier of your skill displayed into its details.
- modifier_[1/n] => additional modifiers. They can be:
- Extra DMG to Enemy: [Type].
- Attack damage (from Nova/Supernova buffs; Haru's Arena Storm buff).
But this one implicates that you want to calculate an average or that there isn't any random selection between your min and max ATK; it also means your damage are always equal or close to 90% of the maximum damage as result using this formula. Rather consider it as an average formula than the true one used by the game itself.
1.2) Normal Hit (simplified)
About the current situation, this one would be more accurate (especially with some characters' buffs or with the Desire Nova skill active) :
Because your damages are scaled between your min. and max. ATK, putting your ATK values inside an interval sounds more accurate; it is also no longer required to divide your added up min. and max. ATK by 2.
I also replaced "1 - (enemy_def * (1 - penetration)) / (enemy_def * (1 - penetration) + 50 * player_level) " by "1 - enemy_def_rate " to simplify the whole formula. You can calculate the defense rate separately and then use the result into this formula, or use the full format formula and calculate every elements inside it instead of calculating the defense rate separately and reuse its result.
About the last modifiers, you can have as many modifiers as you want (at least, until you reach the maximum number of possible modifiers throughout the game).
1.3) Critical Hit
To calculate critical hits, take the formula above and simply add your crit damage value to your ATK interval as followed:
1.4) Partial Hit
Partial DMGs take place when you miss an enemy. They can be calculated as followed:
1.5) Accuracy vs Evasion Relation
About the accuracy vs evasion relation, here is the formula:
This is how is calculated the rate of missed hits on an enemy. Of course, it requires you to know his evasion rating to calculate.
The parameter inside red parenthesis is optional -> instead of doing "(value)/1000*100", you can directly divide the value by 10. The "(value)/1000*100" pattern is here to bring the result in percentages.
In general, we focus on raid requirements mostly so commonly known evasion rates are those of raid bosses. But to help you, here is a small list of some known evasion rates (which actually constitutes almost all the rates you can obtain from another player throughout the game):
- Classic Mazes (all from Rocco to Dipluce Horizon): 35 evade rate; 1035 accuracy required to have 0% miss chance.
- Innocent Daydream: 350 evade rate; 1350 accuracy required to not miss.
- Altar of Void: 580 evade rate (on the boss in Maniac mode, 3rd phase); 1580 accuracy required to have 0% miss chance.
- Hidden Hideout: 810 evade rate; 1810 accuracy required to have 0% miss chance.
- Lunar Fall: 1100 evade rate; 2100 accuracy required to have 0% miss chance.
- Violent Sun: 1198 evade rate; 2198 accuracy required to have 0% miss chance.
- Broken Savior [Normal]i: 1198 evade rate(?); 2198 accuracy(?) required to have 0% miss chance.
To illustrate the formula, let's take an example:
You are running Lunar Fall. Lunar Fall's boss has 1100 as evasion rating so you need 2100 accuracy to not miss him at any time. Let's admit you have 2050 as accuracy value - you are under the requirement, so you will land missed hits during the battle. That makes [2100 - 2050]/1000, so 0.05 (with 0.00 corresponding to a 0% miss rate); you can multiply this value by 100 to get a percentage value. That means, with 2050 accuracy, you will miss 5% of your total hits on the boss.
II] Defensive Formulas
2.1) Defense Rate
The defense rate can be calculated using the following formula:
In the game, it is mentioned that the defense rate will adjust according to the level difference. Please note that the divergence depends on the attacker's current level: if you're fighting against a lvl 60 enemy while being lvl 65, the enemy's defense rate will be calculated for a lvl 65 opponent; if you were attacked by a lvl 58 mob while being lvl 50, then your defense rate would be calculated for a lvl 58.
If the attacker has an Armor Break / penetration stat, then multiply "defense" by "1 - penetration" as follow:
(defense * (1 - penetration)) / (defense * (1 - penetration) + 50 * level)
. Also note that having a negative defense works like having 0, thus making useless a penetration value above 100%.
2.2) DMG Reduction
The defense rate isn't alone in the DMG Reduction process. Other rdmg stats exist in this game to reduce your received damage even more. Including those rdmg modifiers, the DMG Reduction formula is as follow:
Typically, reaching 100% with any type of DMG Reduction should reduce all the received damage to 1. with some specific brooches, it is fairly possible to easily reach 100% native DMG Reduction on all characters without using rdmg akashas. Please note that, in every scenarios, it is useless to have more than 100% of DMG Reduction of any type as the exceed don't provide anything.
2.3) Native DMG Received
In case you would like to calculate the reverse case (ie. find out the original damage an enemy could have dealt to you if you didn't have any resistance modifier(s)), use this formula:
Of course, it requires you to know how much damage an enemy have dealt to you with all your resistances. To do that, simply look at the damage number above your head (or by using damage details through the chat - enable this filter to see them). Use that number with the formula above (replace "Damage Received (Reduced)" with the damage value) to find how much damage the enemy would have inflicted if you had no resistances at all.
This formula is mostly intended just for fun or curiosity. It doesn't have any real serious use in the game actually.
2.4) Effective HP Relation
Depending on the Defense rate and DMG reduction values, the Effective HP won't be the same even though the Max. HP remain identical. Taking this relation into account, the Effective HP can be calculated using the following formula:
Using the same example than for the Effective HP, so with 15,000 HP + 30% defense rate and also 30% DMG reduction, you end up with ~166,667 EHP and with ~555,556 EHP if you add another 30% DMG Reduction modifier of another type to your resistances.