And why ultimately it means bugger all

*Editor note: This investigation was conducted by and this post written by Ress, who has kindly given his permission for it to be hosted here on STC.*

A timelapse of how it all went through: I asked adri1 for the power formula, and he gave me the general formula for attack power and defense power, without evasion.

When I tested it against heroes with evasion, I saw it didn’t work and spoke with him and he told me he didn’t quite remember, but accounting for evasion was something like, defense power / (1 – eva).

I tried that and quickly found out that it wasn’t exactly like that, and that evasion only affected the parts with Hp. Adri1 also told me that there were class specific modifiers, but some were unknown

After having the general formulas, I went straight to dancers, as I figured they would have one of those special modifiers, and I had plenty of my own so I could change their gear as needed. It took me longer than I would like to admit to figure out how to calculate their power, but it also opened my eyes to the fact that the modifications were also somewhat “logical” (in a very broad sense because kabam).

From there, I posted on the discord asking for the different classes, and followed this approach for each new class:

– Try the general formulas. If they work straight away, there is no modifier and no further heroes should be needed. If they don’t work, then I need to figure out the modifier, which likely has some strange value in it that I will have to guess.. which means I would need more than one hero of that class.

From there, I quickly figured out the remaining classes with modifiers (ninja, sensei, samurai, daimyo, zerker/jarl, conquistador.) I’ll structure this starting from the most general formula, and then dive into specific cases. All shown here is using the numbers as seen in the game (Values in % and not in fraction, e.g. Eva = 75 and not 0.75)

The power rating of a hero is given by the sum of 2 parts, one coming from attack, and the other from defense. The attack part is simple. It is just the average attack of the hero (accounting for crit chance and crit mult) multiplied by 0.8:

Attack power = Atk * (1 + Crit_chance / 100 * (Crit_Mult – 1) ) * 0.8*.*

The defense power depends on threat, Hp, defense and evasion. Evasion is taken into account as an increase of the hero HP (so if eva = 50%, it’s like the hero had twice as much HP). Each term has a specific multiplier. The formula is:

Defense power = Threat * Hp / (1 – min(Eva , 75) / 100)) * 0.025 + Threat * Defense * 0.008 +

Hp / (1 – min(Eva , 75) / 100)) * 5 +

Defense * 1.2

(Likely the cap is at 78 for Pathfinder, but I don’t have one with 78 Eva to test)

Displayed power is just:

Power = Attack power + Defense power

That holds for the vast majority of cases, but there are, as always, exceptions. I’ll try to explain the reasoning behind each.

**First non-class specific exception: Shark spirits**

Shark affects only the Attack power. The way the devs thought was probably like this: If shark is active throughout 50% of the fight and increases attack by 20%, then its similar to being active the entire fight but only increasing attack by 10%.* *Since attack from shark pools into attack bonuses, the new formulas have to adjust for that (and Atk_Mod will make an appearance)

Attack power = Atk * (1 + Atk_mod / 100 + Number_of_Sharks * 0.1) / (1 + Atk_mod / 100) * (1 + Crit_chance / 100 * (Crit_Mult – 1) ) * 0.8*[*

This is the same as multiplying the base formula by this factor: (1 + Atk_mod / 100 + Number_of_Sharks * 0.1) / (1 + Atk_mod / 100)

**Second non-class specific exception: Dinosaur spirits**

Much like shark, it only affects attack power. Now, dino is only active one round, so it’s not as straightforward to think about. From what I gathered, apparently the devs just thought “hey, if each shark is 10% overall, let’s make dino 5%”. So it’s a similar formula.

Attack power = Atk * ( 1 +Atk_mod / 100 + Number_of_Dinos * 0.05) / (1+Atk_mod/100) * (1 + Crit_chance / 100 * (Crit_Mult – 1) ) * 0.8

or, multiply base formula by (1 + Atk_mod / 100 + Number_of_Dinos * 0.05) / (1 + Atk_mod / 100)

In case you’re wondering, since they are set apart in the quest sim (like shark and dino), lizard and armadillo have no effect for power. Health regen? That sucks, why add it in? Duh

**First class specific exception: Berserker & Jarl**

Berserkers and Jarls have an innate that changes during the fight, and affects both attack and defense (through evasion). You might think that it would be a headache to calculate power, but it actually isn’t*. *

A berserker has 4 stages during the fight, each lasting increments of 25% of its HP:

The first where there are no bonuses, the second where he gets an attack boost of 40% and 10% Eva. Third with 80% ATK and 20% eva, and fourth with 120%ATK and 30% EVA. If we average, that means our Berserker or Jarl has an (0+40+80+120)/4 = 60% atk boost and a 15% EVA boost during the fight. That’s exactly what is changed in the power calculation

Attack power = Atk * (1 + Atk_mod / 100 + 0.6) / (1 + Atk_mod / 100) (1 + Crit_chance / 100 * (Crit_Mult-1) ) * 0.8

or, base formula multiplied by (1 + Atk_mod / 100 + 0.6) / (1 + Atk_mod / 100)

Note how this is similar to the effect of Dino or Shark, just with different values.

Defense power = Threat * Hp / (1 – min(Eva+15 , 75) / 100)) * 0.025 +

Threat * Defense * 0.008 +

Hp / (1 – min(Eva+15 , 75) / 100)) * 5 +

Defense * 1.2

Keep in mind, if the innate isn’t at tier 3, then the values change (because attack boost is not in multiples of 40% anymore).

**Second class specific exception: Ninja**

Ninjas have bonus 20% Eva and 40% Crit chance while they are undamaged. This hints that both attack and defense power will be affected. And undamaged time will depend on their own evasion*.*

Attack power = Atk * (1 + (Crit_chance+40*(0.5+Eva/100)) / 100 * (Crit_Mult-1) ) * 0.8

This can be considered as a correction to the base attack power, by adding (not multiplying) this:

Atk * 0.4 * (0.5 + Eva/100) * (Crit_Mult – 1) * 0.8

Defense power becomes

Defense power = Threat * Hp / (1 – min(Eva+20*(0.5+Eva/100) , 75) / 100)) * 0.025 +

Threat * Defense * 0.008 +

Hp / (1 – min(Eva+20*(0.5+Eva/100) , 75) / 100)) * 5 +

Defense * 1.2

Much like zerker, if the innate goes down in tier, the values that show up in the formulas have to be changed*.*

**Third class specific exception: Sensei**

Now, sensei has the same bonus as Ninja, but the innate reactivates. So power is higher, but the way the innate is incorporated is somewhat the same (the 0.5 that shows up adding to the Eva is changed to 0.75)

Attack power = Atk * (1 + (Crit_chance+40*(0.75+Eva/100)) / 100 * (Crit_Mult-1) ) * 0.8

This is the same as adding

Atk * 0.4 * (0.75 + Eva/100) * (Crit_Mult – 1) * 0.8 to the original formula

Defense power = Threat * Hp / (1 – min(Eva+20*(0.75+Eva/100) , 75) / 100)) * 0.025 +

Threat * Defense * 0.008 +

Hp / (1 – min(Eva+20*(0.75+Eva/100) , 75) / 100)) * 5 +

Defense * 1.2

**Fourth class specific exception: Samurai**

Samurais have a guaranteed crit hit on the first hit, which means that probably only attack power is affected. Now, I would say that shouldn’t be a factor in power, but what do I know? Kabam seems to think that is the same as if the samurai had an extra 15% crit chance, which means attack power becomes:

Atk * (1 + (Crit_chance + 15) / 100 * (Crit_Mult – 1) ) * 0.8

Again, that is the same as simply adding

Atk * 0.15 * (Crit_Mult – 1) * 0.8 to the general attack power formula

Defense is unchanged… for now

**Fifth class specific exception: Daimyo**

Besides the guaranteed crit on the first hit, a Daimyo has a guaranteed evade on the first round too. And if a guaranteed crit is considered as an extra 15% crit chance, why shouldn’t a guaranteed evade be considered as an extra 15% evasion?

Attack power, same as samurai*.*

Defense power = Threat * Hp / (1 – min(Eva+15 , 75) / 100)) * 0.025 + Threat * Defense * 0.008 +

Hp / (1 – min(Eva+15 , 75) / 100)) * 5 +

Defense * 1.2

**Sixth class specific exception: Dancer / Acrobat**

Crit on Evasion. The simple way to account for this would be to say, crit chance = evasion. But kabam doesn’t like that…. so what we get is*:*

Attack power = Atk * (1 + (Crit_chance / 100 + 0.25 * min(Evasion , 80) / 100) * (Crit_Mult-1) ) * 0.8

It is the same as adding

Atk * 0.2 * min(Evasion , 80) / 100 * (Crit_Mult – 1) to the original attack power formula (this is how I first figured it out)

Allow me a moment to express my disgust. This makes no sense, it is more confusing than the simple alternative, and it is even more strange that evasion gets capped at 80 and not 75. And I am somewhat sure of this because I tried dancers with 75, 78 and 85 evasion. What the hell????

**Seventh class specific exception: Conquistador**

Conquistadors have a cumulative crit mult bonus on successful crits. This affects attack power.

Attack power = Atk * (1 + 1.15 * Crit_chance / 100 * (Crit_Mult – 1) ) * 0.8* *

or, just add

Atk * Crit_chance / 100 * (Crit_Mult – 1) * 0.12 to the original formula*.*

Keep in mind, if you put sharks or dinos on any of these classes, you need to use the attack power formula for those cases and adjust for the innate.

**In summary**

Power Rating is a lie when it comes to determining a hero’s potential. You can see this with:

- Dancers – if you push the evasion from 75% to 76% they gain hero power even though that extra 1% is doing literally nothing.
- Health regen is not factored in.
- the formula is skewed towards defense: increasing def by 10 will increase power by at least 12 (more depending on threat, 24 for heroes with 150 threat), while increasing attack by 10 would increase power by around 8. It would be more if you had high crit chance and crit multi, but it’s impossible to make a hero have high values for the three attack stats, whereas just stacking on defense is much easier.

Tl;dr: don’t try to judge anything by power.

## 3 replies on “Calculating the Power Rating of a Hero”

Huge thanks, Ress, for opening this black box and making sense of it’s (often wacky) contents!

Thanks for the effort, Ress!

I have some problem with the shark specific exception. I am not sure this formula is still correct. did somebody has experiment the same thing ?