CP Calculation

Caveat: that’s if you were trying to maximize hypothetical CP…which isn’t particularly a meaningful objective, so I don’t know if I’d call “underpaying” in CP for a stat upgrade a “deal.”

Otherwise that all makes sense. :slight_smile:

1 Like

It is a deal, in the sense that AW matches you based on CP. So you get a little bit of extra un-accounted-for stat by going for attack. I certainly wouldn’t pick a stat to boost for this reason, though.

3 Likes

Nice work.

So no more boosts for HotM or Event Heroes like in the old v15 formula?

2 Likes

Also, for completeness:
2* Base CP: 10

2 Likes

Thanks!

None whatsoever. The formula doesn’t care at all about card series or specific details about the special.

Thanks! I didn’t even think to look. And it looks like 1* base out at 0. I’l update the numbers post.

1 Like

@Garanwyn Excellent work G-MAN! All laid out plain as day, didn’t think they would ever reveal, however also makes sense from a programmers perspective that like exchanges deserves like reward (well in this kind scenario lol)! Well nearly… Thanks for your effort on making this available for us, I was just about to trudge down the road to calculate and validate and BINGO!!! Perfect.

1 Like

Thanks! I’m glad you like it. Hopefully, it’s helpful.

1 Like

@Garanwyn, you are exactly correct with your formula and chart:

formula
CP=(base CP for stars) + floor(attack * 0.35 + defense * 0.28 + health * 0.14) + (special level - 1) * 5

chart
1* Base CP: 0
2* Base CP: 10
3* Base CP: 30
4* Base CP: 50
5* Base CP: 90

I put that into an excel spreadsheet and if I put in the base value, attack/def/health and special level for a hero, it always give the exact power for that hero :smiley:

However when calculating total team power, you can’t just add all 5 hero powers because there is a value for each TROOP.
I found exactly what is used to get the additional power each troop adds to team power, it is:

1*=10+troop level
2*=20+troop level
3*=30+troop level
4*=40+troop level

So a 4* level 8 troop = +48, a 1* 1 is +11, a 3* 3 is +33, etc…
Now you can add all 5 heroes powers and all 5 troop powers together to get team power.

13 Likes

Very cool! Well done on figuring out the last piece of that puzzle.

6 Likes

Nice work @Garanwyn, @Graknork, @zephyr1 and @Kerridoc.
Prior to now, I struggled with this for days! :+1:t3:

2 Likes

@Garanwyn That is some top notch work.

I was wondering if anyone has figured out ATK, DEF, HEALTH, and POWER scaling from 0-MAX level. Like could I type in the level of a specific hero with the current Special Level and it spit out the ATK, DEF, HEALTH, and POWER for the level? I just don’t have the data to do it myself.

1 Like

Thanks! I’m glad you find it helpful :slight_smile:

I don’t myself know what the scaling is on the stats, but I’d guess it’s linear across the leveling process.

A 5* has 260 steps plus 3 ascensions. They may do a little rounding correction at the ascensions. A little data gathering would probably suffice to estimate it though. I’ll grab some data the next time I level.

So I’m getting close to cracking the code, but my calculations with my small sample size have been off by 1 or 2 points depending on the hero. I’ve used the equation
FLOOR((((AtkMax-AtkBase)/LevelTotal)*CurrentLevel)+AtkBase)
So Proteus at 4/1 would be:
Attack: FLOOR((((707-333)/226)*157.5)+333,1) = 592 ← Actual Attack
Defense: FLOOR((((595-280)/226)*157.5)+280,1) = 498 ← Actual Defense
Health: FLOOR((((1079-508)/226)157.5)+508,1) = 904 ← Actual Health
The level total takes into consideration ascension is worth a certain number of levels. Right now I have Ascension weight of 3.5 levels. This is due to there being 1 less level up per tier (ie. 4
levels up 39 times in tier 1, 49 times in tier 2 etc.)

I feel that I am getting very close, but there’s still some weird results and I’m not sure how to factor those in, nor do I have a large enough sample size for proper validation.

edit: FLOOR equation didn’t have significant value.

1 Like

I happen to have a Cyprian at 4/69 so if it helps…

1/1 Atk 265 Def 285 HP 641
4/69 Atk 561 Def 604 HP 1358
4/70 Atk 563 Def 605 HP 1362

Using 220 instead of 226 I get 561/603/1358 for 4/69; pretty close but wrong rounding for defense. I’ll try with your equation.

Edit: I get the same result (561/603/1358) unless I am doing something wrong. 4/69 would be 225 right?

1 Like

So I realized I messed up in my equation. I’m going to try and see if I can’t do some additional work on it tonight. When accounting for the extra weight, I didn’t increase the LevelTotal.

1 Like

No worries. Take your time. SG is a big fan of truncation and floor(), so those seem probable.

This is most impressive work here. Well done all who contributed.

2 Likes

So, I tried some numbers with Sharan. No Sharans were levelled or any heroes discarded during the experiment.

I tried FLOOR((((Max-Base)/LevelTotal)*CurrentLevel)+Base)
These are the results using 3 levels for the ascension. Left part = correct values and right part=calculated values. Close, but still off ;_; HP was perfect though.
Maybe someone more knowleadgeable can make use of this to nail it. My head is about to explode.

Sharan

Hmmm…

Level total should actually be lower than I was saying earlier, now that I’m thinking about it carefully. You start at 1 on each level. So, including ascensions, Sharan would have 29 total level-up events.

How many are you using in that equation?

I used 31 for level total. 9 to 1/10 + 3 for ascension + 19 to 2/20