Comprehensive Damage Review + Tool: Dokkanator 9001,

BOTH Analysis

Hello everyone.
This post's purpose is to postulate theories based on my findings and receive feedback on said theories.

 

Long story short, I made one hell of a research.
It started as a hobby, turned to a challenge for myself and ultimately ended up becoming a project that sucked entire hours within the past 5 or so days.
Needless to say, I now have to recover those hours robbed to my studies, with this post being the last of my fatigues, at least for a while.

 

This is a review on damage calculations, my attempt at grasping actual mechanics on (surprisingly, at times) obscure subjects such as the dreaded Critical multipliers or the coveted (mistakenly IMO, blame on certain users) Additional Attack.
For completeness, I included an introduction to basic damage calculation, which I verified, but whose rules were already largely known, so be sure I'm not trying to be a smartass after the 2 years the game was out.
Also, I'm very open to feedback: if you notice any errors, please mercilessly point them out!

 



Index

 

  • General Damage rules
  • Type & Alignment dis/advantages
  • Criticals
  • Maths: Average/Over-Time Damage calculation
  • Dokkanator 9001: the Tool (with Download link)

 



General Damage Rues
First of all, damage in Dokkan is never 100% fixed.
It certainly follows rules but, like every single aspect of this game, those rules heavily rely on RNG, making predictions pretty darn difficult to make.
So difficult it took me a couple months (of attentive regular play) to accurately figure out the precise maths behind it.
Why the effort? Because I found this whole thing fun, haha.
Several of the following concepts ended up being already generally known, some turned out to be a little more obscure and incredibly hard to corner.

 

To start off, this is the order in which damage is calculated, starting from a card's base ATK:

 

  • Damage is calculated in different phases, starting from a card's base damage (plus the + ATK boosts from the Dupe System); also, percentual ATK boosts (ex.: +10% ATK) are always calculated before Flat ATK boosts (ex.: +1000 ATK) within the same phase, unless differently signaled by a specific effect.
    The phases are as follows:
    1. Leader sklls are applied (in case of a mix of Leaders providing both a +% boost and a flat boost, +% boost is applied first);

    2. ONLY Passive skills that state "At start of turn" are applied;

    3. Link skills are applied;

    4. Passive skills are applied;

    5. Ki multiplier is applied (it differs from card to card, you can check dbz.space to check each card's Ki multiplier);

    6. Super Attack (SA) ATK boosting effects and multiplier are applied;
      SA multipliers are as follows:

      SA DescriptionMultplier at lvl 1Multiplier Increase per lvl
      Low Damagex1.3+0.1
      Damagex1.5+0.1
      Huge Damagex2+0.1
      Destructive Damage (the multiplier of Giant Apes)x2+0.1
      Extreme Damagex2.2+0.15
      Mass Damage (deals damage to all opponents)x2.2+0.15
      Supreme Damagex2.5+0.2
      Immense Damagex2.8+0.25
      Colossal Damagex3+0.05
      Mega Colossal Damagex3.5+0.1
      7. Type & Alignment dis/advantage multiplier OR Dupe System Critical Hit multiplier is applied (both extensively explained later);
      8. "Soft" Critical multiplier is applied (extensively explained later);
      9. Opponent's Damage Reduction, if present, is applied (it consists in a % reduction: except special units/links signaled in event info, currently no known regular mechanics can override this phase);
      10. Opponent's DEF, if present, is subtracted (it consists in a Flat reduction);
      11. If an Additional Attack occurs (+2% chance per Additional Attack skill lvl), it has a 50% chance to be a SA, with the remaining 50% of the cases being a Normal Attack, and the whole damage calculation applies again for them.
  • The final OVERALL damage will not always 100% correspond to even the most precise calculation due to a programmed fluctuation that generally spans within a -/+ 0.03% radius on the final damage, or, more rarely, within -/+ 0.05%;

 



Type & Alignment dis/advantages
I might have clamorously missed it, but after the (more than) 2 years this game has been out, up until past week I had yet to see a clear, at least somewhat backed up, complete explanation of how this thing worked, all in one place.

 


Alignments: [Super] (/str), [Extreme] (/int).
Types: [PHY] (/phy), [INT] (/int), [TEQ] (/teq), [AGL] (/agl), [STR] (/str).


 


Type dis/advantage works as follows:
[PHY] (/phy) > [INT] (/int) > [TEQ] (/teq) > [AGL] (/agl) > [STR] (/str) > [PHY] (/phy).


 

Also, since this will be of use for later, after collecting screenshots for backing up purposes, here are the multipliers applied to your character's final damage calculation depending on your opponent's Type and Alignment:

 

AlignmentTypeMultiplier
Same AlignmentType Disadvantagex0.45 Pic 1, Pic 2
Different AlignmentType Disadvantagex0.5 Pic 1, Pic 2
Same AlignmentNeutral Typex1 Pic 1, Pic 2
Different AlignmentNeutral Typex1.15 Pic 1, Pic 2
Same AlignmentType Advantagex1.25 Pic 1, Pic 2
Different AlignmentType Advantagex1.5 Pic 1, Pic 2

 

To dispel any doubt, here is an example:
Attacking Character is [Super STR] (/str).

 

  • Against [Super AGL] (/agl): x0.45
  • Against [Extreme AGL] (/agl): x0.5
  • Against [Super INT] (/int), [Super TEQ] (/teq), [Super STR] (/str): x1
  • Against [Extreme INT] (/int), [Extreme TEQ] (/teq). [Extreme STR] (/str): x1.15
  • Against [Super PHY] (/phy): x1.25
  • Against [Extreme PHY] (/phy): x1.5

 

Except maybe for the double disadvantage case of x0.45, though, the others were actually known multipliers, so although this is mostly no news, it hopefully makes it clearer.

 

Now, to the juicy stuff.

 



Criticals
There actually are TWO kinds of Criticals in Dokkan:

 

1. The Dupe System ("Hard") Criticals

These bad boys are the publicly known ones.
Even then, turns out actually very little facts about them are known.
The official game description, taken from HERE, states:
"A critical will ignore the enemy DEF and will hit as if it would have type advantage on any type enemy. The higher the skill level, the higher the chance for a critical hit."
That's... VERY inaccurate.
What Dupe System Criticals really do is ignoring opponent's DEF, ignoring Type & Alignment multipliers and bruteforcing a "x1.9" multiplier in their place instead, within the Phase (7) showed above.

 

A selection of salient Screenshots for reference:

 

  • [Extreme STR] (/str) vs [Super AGL] (/agl): Pic 1, Pic 2.
  • [Extreme STR] (/str) vs [Extreme TEQ] (/teq): Pic.
  • [Extreme STR] (/str) vs [Super STR] (/str): Pic.
  • [Super TEQ] (/teq) vs [TEQ] (/teq): Pic 1, Pic 2.

 

As you can see, no matter anything, a Dupe System Critical will always fluctuate around x1.9.

 

2. The "Soft" Criticals

These are more obscure.
Actually, almost noone knows about them.
I signaled their existence months ago and have now managed to understand more about them.

 

For instance, they are different/separate from the Dupe System Criticals, and occur with different rules.
They are not signaled by a big yellow "Critical" and were already present in the game BEFORE the dupe system: they are in fact, at this very moment, the only Criticals in the Global version.
Japan version has both.
They are "Soft" in that they do not bruteforce their own multiplier in place of the regular Type/Aligment ones; instead, they multiply those multipliers by x1.3 and are subject to opponent's DEF, thus their scaling varies depending on pre-existent conditions.
More interestingly, they can stack with the Dupe System Criticals, effectively increasing their "x1.9" multiplier to (1.9 x1.3)= "x2.47".

 

The precise rate at which they occur has not been dug out, so we do not yet know if every character has a different % of it happening, if that % is Type dependant, or if it's a universal % for every card.
Studying Gogeta's case, anyway, I found it to roughly be around a 10% chance for it to occur in his case and, coincidentally, using another STR character in WT (Broly), I found about the same rate for him.
This is my own statistics though and, even thought I'm pretty confident that's darn near the exact, we unfortunately don't know for sure.

 

Optimal screenshots are difficult to catch: Soft Crit, as already said, are not signaled by anything special (except for the damage spike) and even then, they are subject to DEF (unless stacking with a Dupe System Critical), so showing clear multipliers proved to be difficult.
Anyway, here's a selection of salient Screenshots for reference:

Case 1

[JPN Version] (/agl)

 

  • [Broly] (/str) dealing expected neutral damage against [Janemba] (/int) (x1): Pic.
  • [Broly] (/str) dealing Soft Critical damage against [Cell] (/str) (x1 x1.3 = x1.3) : Pic.

 

Case 2

[GBL Version] (/teq)

 

  • [Super Gogeta] (/str) dealing expected regular Type & Alignment advantage damage against [Whis] (/int) (x1.5): Pic 1, Pic 2.
  • [Super Gogeta] (/str) dealing Soft Critical damage against [Whis] (/int) (x1.5 x1.3 = x1.95): Pic1, Pic 2.
    This case also probably shows part of the reason why they decided to add a Type Damage skill (as in, Dupe System Crit would have dealt less damage than a Soft Crit in case of Type & Alignment advantage; the skill fixes that).

 

Case 3

[JPN Version] (/agl)

 

  • [Super Gogeta] (/str) dealing expected Hard Critical damage against [SSB Goku] (/agl) (x1.9): Pic 1, Pic 2.
  • [Super Gogeta] (/str) stacking Hard Crit and Soft Crit (x1.9 x 1.3 = x2.47): Pic 1, Pic 2.

 



Maths: Average/Over-Time Damage calculation
Simply put, this is how I calculate it for regular units.

 

Characters like [Vegetto Blue] (/phy) (who has in-built multiple attacks and counters), [Super Vegetto] (/agl) (who has counters), [SSJ3 Gotenks] (/teq) (whose 1st SAs can have different Ki multipliers and whose 2nd Attack, when it occurs AND if a SA, will be a random one among his), [L] (/str)[R] (/agl) [C] (/teq)[h] (/int)[a] (/phy)[r] (/str)[a] (/agl)[c] (/teq)[t] (/int)[e] (/phy)[r] (/str)[s] (/agl) (whose 2nd Attack, when it occurs AND if a SA, will always be the 12 Ki one), et cetera., need a different formula.

 

Legenda:

 

  • nDamage: Normal Attack Damage at Max Ki (THIS);
  • saDamage: Super Attack Damage (THIS);
  • advMulti: Dis/Advantage Multiplier (see table above);
  • ccMulti: Critical Chance Multiplier (Critical Chance Skill lvl x 2 /100);
    aaMulti: Additional Attack Multiplier (Additional Attack Skill lvl x 2 /100);
  • critDamageMulti: Hard/Dupe System Critical Damage Multiplier (x1.9);

 

The formula:
[((saDamage x advMulti x (1-ccMulti)) + (saDamage x critDamageMulti x ccMulti))] (/str) + [(aaMulti x ((((saDamage+nDamage) x 0.5) x critDamageMulti x ccMulti) + ((((saDamage+nDamage)x 0.5) x advMulti x (1-ccMulti)))))] (/agl)

 

For readability, there are two main parts:

 

  • The red one calculates 1st Attack average damage over time considering opponent's Type & Alignment AND Hard Critical Chance & Damage;
  • The blue one calculates Additional Attack's contribution over time to the overall average damage, considering it's chance of occurring, the possibility for it to be a Hard Critical and the 50/50 for it to be either a SA or a Normal Attack.

 



Dokkanator 9001: the Tool

 

Dokkanator 9001 v.1

 

Here it is, Dokkanator!
Attached below there is a link to download the tool; I wrote it to help people calculate average damage with different Additional Attack/Critical Chance setups.
I made it as user friendly as I could with the time I had, there are also several tooltip messages if you hover your cursor on certain labels.
It should work fine overall, but it's still not exactly as complex and complete as I want it to be eventually, haha.
It is v.1, meaning I eventually plan to improve it, but being a student I don't exactly have a lot of time and this little piece of software happened to be a part of an exam (which I succesfully passed btw, yay), so depending on this thread's feedback, I might decide to put some anticipated effort into it.

 

Here is a TODO list I planned:

 

  • Add special formulas for characters with special properties like [Vegetto Blue] (/phy) or [L] (/str)[R] (/agl) [C] (/teq)[h] (/int)[a] (/phy)[r] (/str)[a] (/agl)[c] (/teq)[t] (/int)[e] (/phy)[r] (/str)[s] (/agl);
  • Add a complete Dupe System layout (including all the other damage boosting skills, like Type Damage) to fully emulate your characters in-game, to improve its accuracy;
  • Improvements to the UI: make it so that Dokkanator can calculate damage starting from a card's Base ATK, through Lead/Passive/Links etc., all the way up to Criticals and Additional Attack;
  • Add "Save Session" and "Comparison" features, so that: (1) you can store your input data; (2) you can directly compare your characters. (Feedback from u/Mr_big_chill_)
  • Improvements to its aspect: full grey is NOT the new sexy, I know, lol.

 


Download:

 


 

Lastly, I just want to explain two of its features, since the rest is pretty much straight-forward:

Weighted Average Damage (WAD):

This value calculates your character's average damage assuming an equal distribution of combinations of Type and Alignment on the opponents in the game.
To further explain: seeing how there are 10 total combinations of Type and Alignment, given that your character represents ONE of them, while your opponents can instead be of ANY, assuming an equal distribution of combinations of Type and Alignment on the opponents in the game it is possible to predict what your character's average damage would be if s/he was to fight EACH of of those combinations ONCE in a match, effectively determining the actual damage s/he'll be dealing throughout the game.
Basically, it shows which setup is best, overall, in terms of damage for your character (SPOILER: Criticals win, lol).

 

Ignore WAD if considering [Super Gogeta] (/str), he needs his own formula.

 

The "Donate" Button:

THE SOFTWARE IS FREE, meaning you DON'T HAVE TO DONATE ANYTHING IF YOU DON'T WANT TO.
I feel like I have to explain why it's there though.
Also I feel like I should tell a little about myself, so that those who decide to donate, will know who they are donating to.
I'll make it short, since otherwise it'll look like an apology, or begging, which IS NOT THE CASE, I'M FINE, lol.
I am a 26yo student, I started late because, simply put, at first I couldn't afford the fees.
If you've ever been a self sufficient student at some point in your life, well, you know the hardships.
This is possibly the nth way to make it through it all, and that's it.
This is the reason why I put that button.
Again, IT'S FREE FOR YOU TO USE AND WILL ALWAYS BE, period.

 



 

Thanks if you read it all the way down to here!
Feel free to point out errors, inaccuracies or simply share your feedback.
I'd love any help and ideas to improve the review and the Dokkanator.

 

Also, thanks to u/RashFaustinho, u/Iwamodoki, u/RatherPleasent, u/Mr_big_chill_ and u/NGE_Zero, whose feedback helped to improve this post!

 

Posted Feb 17, 2017, 2:38 AM UTC · edited

17675
Loading comments…