Programming Pokémon Showdown Damage Calculator

Shuckle.gif
BUG
: The damage calculator is not accurate for Shuckle, particularly in Gen 3 (I haven't tried other gens).

252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 77-91 (31.5 - 37.2%) -- guaranteed 4HKO after Leftovers recovery

You'll see in my games vs. Kinjana that the damage rolls had the potential to exceed the peak value. The minimum value may be inaccurate as well.


Replays showing Fire Blast dealing damage beyond its listed max roll. (Hits 93 damage in these replays (listed as 38%))

https://replay.pokemonshowdown.com/gen3nu-1548624337-8pnrlsnbyrfpod60daem2qgwt3nv6t8pw

https://replay.pokemonshowdown.com/gen3nu-1548620175-4jooudgwb5bhh0c0l3vzj7983l2ssivpw

https://replay.pokemonshowdown.com/gen3nu-1548610715


Rationalizing the damage calculations. Shuckle has 244 hp while fully invested. Leftovers recovers 6.25% health each turn, which translates to 15 health each turn for this Shuckle set (244/16 = 15.25 which rounds down to 15%). Fire Blast in this prior replay left Shuckle at 166 after leftovers, which means 166-15 = 151. So the original damage prior to leftovers was 244-151 = 93. This contradicts the calculator, which lists 91 as the highest damage roll.

https://replay.pokemonshowdown.com/gen3nu-1548624337-8pnrlsnbyrfpod60daem2qgwt3nv6t8pw

Mathy couldn't make sense of it either, told me to report it.

Please fix the calc (or showdown itself if calc is accurate) <3
ShuckleB.png
 
Last edited:
View attachment 417538BUG: The damage calculator is not accurate for Shuckle, particularly in Gen 3 (I haven't tried other gens).

252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 77-91 (31.5 - 37.2%) -- guaranteed 4HKO after Leftovers recovery

You'll see in my games vs. Kinjana that the damage rolls had the potential to exceed the peak value. The minimum value may be inaccurate as well.


Replays showing Fire Blast dealing damage beyond its listed max roll. (Hits 93 damage in these replays (listed as 38%))

https://replay.pokemonshowdown.com/gen3nu-1548624337-8pnrlsnbyrfpod60daem2qgwt3nv6t8pw

https://replay.pokemonshowdown.com/gen3nu-1548620175-4jooudgwb5bhh0c0l3vzj7983l2ssivpw

https://replay.pokemonshowdown.com/gen3nu-1548610715


Rationalizing the damage calculations. Shuckle has 244 hp while fully invested. Leftovers recovers 6.25% health each turn, which translates to 15 health each turn for this Shuckle set (244/16 = 15.25 which rounds down to 15%). Fire Blast in this prior replay left Shuckle at 166 after leftovers, which means 166-15 = 151. So the original damage prior to leftovers was 244-151 = 93. This contradicts the calculator, which lists 91 as the highest damage roll.

https://replay.pokemonshowdown.com/gen3nu-1548624337-8pnrlsnbyrfpod60daem2qgwt3nv6t8pw

Mathy couldn't make sense of it either, told me to report it.

Please fix the calc (or showdown itself if calc is accurate) <3
View attachment 417539
Leftovers doesn’t matter for damage rolls and here is what I got.
252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 79-93 (32.3 - 38.1%) -- 1.4% chance to 3HKO after Leftovers recovery
Possible damage amounts: (79, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93)

Here is also Fire Blast damage when you set the Base Power to 119.

252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 77-91 (31.5 - 37.2%) -- 84.3% chance to 3HKO
Possible damage amounts: (77, 78, 79, 80, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91)

So the issue was the BP of Fire Blast was set to 119 for some reason.
 
Leftovers doesn’t matter for damage rolls and here is what I got.
252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 79-93 (32.3 - 38.1%) -- 1.4% chance to 3HKO after Leftovers recovery
Possible damage amounts: (79, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93)

Here is also Fire Blast damage when you set the Base Power to 119.

252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 77-91 (31.5 - 37.2%) -- 84.3% chance to 3HKO
Possible damage amounts: (77, 78, 79, 80, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91)

So the issue was the BP of Fire Blast was set to 119 for some reason.
Here is a screenshot that shows Fire Blast is set to its proper 120, and the calc remains the same as I said:
Screen Shot 2022-04-08 at 1.54.00 PM.png
 
Leftovers doesn’t matter for damage rolls and here is what I got.
252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 79-93 (32.3 - 38.1%) -- 1.4% chance to 3HKO after Leftovers recovery
Possible damage amounts: (79, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93)

Here is also Fire Blast damage when you set the Base Power to 119.

252+ SpA Flareon Fire Blast vs. 252 HP / 144 SpD Shuckle: 77-91 (31.5 - 37.2%) -- 84.3% chance to 3HKO
Possible damage amounts: (77, 78, 79, 80, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91)

So the issue was the BP of Fire Blast was set to 119 for some reason.
Ok, hang on, I'm understanding the problem. Flareon always runs HP grass in this tier, so his IVs are 30 instead of 31 in spa. That is the problem, during tests I didn't have them use HP grass. I guess the calc is fine.
 
Ok, hang on, I'm understanding the problem. Flareon always runs HP grass in this tier, so his IVs are 30 instead of 31 in spa. That is the problem, during tests I didn't have them use HP grass. I guess the calc is fine.
Here is a screenshot that shows Fire Blast is set to its proper 120, and the calc remains the same as I said: View attachment 417576
Yeah, the premade set has different IVs.

The Damage Calculator should definitely indicate if you're using IVs lower than 31 and say the BP of a move no matter what. This would greatly help with trouble shooting calculator errors and for competitive discussion.
 
Can a blank entry in the base stat section please not immediately set itself to 1? It makes setting a base stat to any number that doesn't have 1 as its most significant digit more annoying than it needs to be, especially on mobile where highlighting the number is much more of a hassle than it is with a mouse.
 
Hey, I was thinking about updating this calc https://calc.pokemonshowdown.com/randoms.html

When you select doubles, i think the only thing that changes are things like earthquake (spread moves). But you would still need to adjust the level. Not to mention that the level, item, movements... are not updated to the doubles format. So I thought, well, since the option to switch to doubles already exists in the calculator itself, it would be nice if when clicking on doubles the items/moves/levels/abilities were updated to the current sets of random doubles.

Can anyone make this happen, please?

Thanks in advance!
 

SetsuSetsuna

is a Community Leaderis a Community Contributoris a Top Tiering Contributoris a Contributor to Smogonis a Battle Simulator Moderatoris a Team Rater Alumnus
OU Forum Leader
The calc doesn't change Shell Side Arm damage when is physical and Gbro is burned. Example:

+6 252+ Atk Slowbro-Galar Shell Side Arm vs. 0 HP / 0 Def Tapu Koko: 1230-1448 (437.7 - 515.3%) -- guaranteed OHKO
+6 252+ Atk Slowbro-Galar Shell Side Arm vs. 0 HP / 0 Def Tapu Koko: 1230-1448 (437.7 - 515.3%) -- guaranteed OHKO

first one is burned second one is healthy
 
The calc doesn't change Shell Side Arm damage when is physical and Gbro is burned. Example:

+6 252+ Atk Slowbro-Galar Shell Side Arm vs. 0 HP / 0 Def Tapu Koko: 1230-1448 (437.7 - 515.3%) -- guaranteed OHKO
+6 252+ Atk Slowbro-Galar Shell Side Arm vs. 0 HP / 0 Def Tapu Koko: 1230-1448 (437.7 - 515.3%) -- guaranteed OHKO

first one is burned second one is healthy
That’s actually how the move is supposed to work I believe. The move can be fooled with things like Burns since it ignore non-stat stage modifiers, and burns particularly don’t actually modify the Atk stat anyways, they halve the BP of physical moves (which is important for SSA and Body Press).
 
That’s actually how the move is supposed to work I believe. The move can be fooled with things like Burns since it ignore non-stat stage modifiers, and burns particularly don’t actually modify the Atk stat anyways, they halve the BP of physical moves (which is important for SSA and Body Press).
The power's not being halved though. That's the problem.
 

SetsuSetsuna

is a Community Leaderis a Community Contributoris a Top Tiering Contributoris a Contributor to Smogonis a Battle Simulator Moderatoris a Team Rater Alumnus
OU Forum Leader
That’s actually how the move is supposed to work I believe. The move can be fooled with things like Burns since it ignore non-stat stage modifiers, and burns particularly don’t actually modify the Atk stat anyways, they halve the BP of physical moves (which is important for SSA and Body Press).
Well then the problem is with the simulator? In this replay a burned Gbro does 64 to a Tapu Koko: https://replay.pokemonshowdown.com/gen8ou-1553189770-x81q8p4yit9ulcv7ww3124xr66pa4wjpw

However when using the calc you get this

1649938570105.png

Quick update

As you mentioned and as it says in the move's description " No stat modifiers other than stat stage changes are considered for this purpose" when deciding if the move is physical or special. Here is another ss with the sludge bomb damage just to show that the move isn't becoming special in the simulator (note that the sludge bomb calc is higher than the 64% I got in the replay). Thus the problem is in fact with the calc

1649939958545.png
 
Last edited:
I was looking at "One vs. All" and "All vs. One" and was wondering if we could add Monotype to the formats. I'd be happy to help work on that update and work out details as well.

Under the 'Monotype' tier filter it would list a set of filters by type. It could exclude LC or we could work on a custom list of the few NFEs that are used if it's easier to only display fully evolved.

Example:
I want to calc outgoing damage for Belly Drum Azumarill against types I'm weak to. I'd select the Belly Drum Azumarill set and increase Attack to +6. Then I'd choose the "Monotype" filter and select "Steel" first to see what damage I do to all Steel types.

The reverse would be to see what on a Steel team would possibly be able to OHKO/prevent Azumarill from setting up Belly Drum by seeing the damage they do to Azumarill.
 
Last edited:
Well then the problem is with the simulator? In this replay a burned Gbro does 64 to a Tapu Koko: https://replay.pokemonshowdown.com/gen8ou-1553189770-x81q8p4yit9ulcv7ww3124xr66pa4wjpw

However when using the calc you get this


Quick update

As you mentioned and as it says in the move's description " No stat modifiers other than stat stage changes are considered for this purpose" when deciding if the move is physical or special. Here is another ss with the sludge bomb damage just to show that the move isn't becoming special in the simulator (note that the sludge bomb calc is higher than the 64% I got in the replay). Thus the problem is in fact with the calc

Well I just checked, and here is Burned Poison Jab damage (set to 90 BP)
252+ Atk burned Slowbro-Galar Poison Jab vs. 0 HP / 0 Def Tapu Koko: 154-183 (54.8 - 65.1%) -- guaranteed 2HKO
And with SSA (still burnt)
252+ Atk Slowbro-Galar Shell Side Arm vs. 0 HP / 0 Def Tapu Koko: 308-366 (109.6 - 130.2%) -- guaranteed OHKO
So the problem is that the calculator doesn’t apply burn modifier to SSA for damage.
 

SetsuSetsuna

is a Community Leaderis a Community Contributoris a Top Tiering Contributoris a Contributor to Smogonis a Battle Simulator Moderatoris a Team Rater Alumnus
OU Forum Leader
Well I just checked, and here is Burned Poison Jab damage (set to 90 BP)
252+ Atk burned Slowbro-Galar Poison Jab vs. 0 HP / 0 Def Tapu Koko: 154-183 (54.8 - 65.1%) -- guaranteed 2HKO
And with SSA (still burnt)
252+ Atk Slowbro-Galar Shell Side Arm vs. 0 HP / 0 Def Tapu Koko: 308-366 (109.6 - 130.2%) -- guaranteed OHKO
So the problem is that the calculator doesn’t apply burn modifier to SSA for damage.
Ya ofc that's what I meant since my first post, sorry if there was any confusion. Hope it can get resolved c:

Ty for your time!
 

Cobalt Pink

formerly patboiii
we have played some advance doubles lc and then we got to this:
https://replay.pokemonshowdown.com/gen3doublesou-1555455869
36 Atk Duskull Shadow Ball vs. 0 HP / 116 Def Gastly: 20-24 (105.2 - 126.3%) -- guaranteed OHKO
here're the sets
Duskull @ Sitrus Berry
Ability: Levitate
Level: 5
Shiny: Yes
EVs: 36 HP / 36 Atk / 200 Def / 200 SpD
Careful Nature
- Shadow Ball
- Will-O-Wisp
- Hidden Power [Fighting]
- Protect

Gastly @ Sitrus Berry
Ability: Levitate
Level: 5
Shiny: Yes
EVs: 116 Def / 196 SpA / 196 Spe
Timid Nature
IVs: 0 Atk
- Will-O-Wisp
- Protect
- Thunderbolt
- Psychic

it says its always a ohko with duskulls shadowball on this gastly. we are a bit confused by that and checked pretty much everything. we checked natures evs, ivs hidden power drawbacks etc.
 
we have played some advance doubles lc and then we got to this:
https://replay.pokemonshowdown.com/gen3doublesou-1555455869
36 Atk Duskull Shadow Ball vs. 0 HP / 116 Def Gastly: 20-24 (105.2 - 126.3%) -- guaranteed OHKO
here're the sets
Duskull @ Sitrus Berry
Ability: Levitate
Level: 5
Shiny: Yes
EVs: 36 HP / 36 Atk / 200 Def / 200 SpD
Careful Nature
- Shadow Ball
- Will-O-Wisp
- Hidden Power [Fighting]
- Protect

Gastly @ Sitrus Berry
Ability: Levitate
Level: 5
Shiny: Yes
EVs: 116 Def / 196 SpA / 196 Spe
Timid Nature
IVs: 0 Atk
- Will-O-Wisp
- Protect
- Thunderbolt
- Psychic

it says its always a ohko with duskulls shadowball on this gastly. we are a bit confused by that and checked pretty much everything. we checked natures evs, ivs hidden power drawbacks etc.
I checked, and like with another user, you just had the wrong IVs in the calculator.
If you have 30 IVs:
36 Atk Duskull Shadow Ball vs. 0 HP / 116 Def Gastly: 17-20 (89.4 - 105.2%) -- 37.5% chance to OHKO
Possible damage amounts: (17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20)
Did your Duskull have 30 IVs or 31 IVs? Lowering the stat to 10 made the difference.
 

Cobalt Pink

formerly patboiii
I checked, and like with another user, you just had the wrong IVs in the calculator.
If you have 30 IVs:
36 Atk Duskull Shadow Ball vs. 0 HP / 116 Def Gastly: 17-20 (89.4 - 105.2%) -- 37.5% chance to OHKO
Possible damage amounts: (17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 20)
Did your Duskull have 30 IVs or 31 IVs? Lowering the stat to 10 made the difference.
This duskull has 31 attack IVs. That was a thing we also kept in mind.
 
This duskull has 31 attack IVs. That was a thing we also kept in mind.
Well Gastly took 94% HP from that Shadow Ball, so the hit would need to do 18 HP worth of damage, which is one of the possible damage rolls with a Duskull having 10 Attack, but let’s do out the math for 11.
10/5 = 2
2 + 2 = 4
4*80*11=3,520
3520/11 = 320
floor(320/50) = 6
6+2 = 8
8*1.5=12
12*2 = 24
floor(24*0.85) = 20
So doing out the math, the damage range was 20-24
Now with 10
4*80*10 = 3,200
floor(3200/11) = 290
floor(290/50) = 5
5+2 = 7
floor(7*1.5) = 10
10*2 = 20
floor(20*0.85) = 17
17-20
So yeah, the damage calculator is working fine. The issue more than likely was that you misremembered stuff, or Showdown automatically selected the IV spread that gave you 1 less IV in Attack.
 
In a gen 8 random battle earlier today, I went to calc how much damage my Coalossal would do... and I think Coalossal is just missing from the list of inputs?

You can see what I'm talking about here: https://imgur.com/a/x93FvME

Coalossal-Gmax shows up, and you can see in the second picture that both base- and Gmax-forms for other mons (e.g. Copperajah) are listed, so I think it's a Coalossal-specific issue, not a widespread one. It's also entirely possible I was just doing something wrong (still relatively new to competitive and don't have a ton of experience with the calculator) but I was very confused
 

blooclipse

formerly Bluecliqse
In a gen 8 random battle earlier today, I went to calc how much damage my Coalossal would do... and I think Coalossal is just missing from the list of inputs?

You can see what I'm talking about here: https://imgur.com/a/x93FvME

Coalossal-Gmax shows up, and you can see in the second picture that both base- and Gmax-forms for other mons (e.g. Copperajah) are listed, so I think it's a Coalossal-specific issue, not a widespread one. It's also entirely possible I was just doing something wrong (still relatively new to competitive and don't have a ton of experience with the calculator) but I was very confused
1651358666228.png

coalossal only has its Gmax set, it only has 1 set. There is no regular coalossal set
 
Archen with defeatist at low hp vs koffing with neutralizing gas gives results as if defeatist were active, similarly for archeops vs weezing
 
196+ Atk Adaptability Corphish Aqua Jet vs. 0 HP / 0 Def Eviolite Onix in Sun: 1-8 (5 - 40%) -- 0% chance to 3HKO after Stealth Rock

why does this say 0% chance to OHKO instead of saying guaranteeed 4 hit KO?

it shouldnt say "0% chance to 3hko" even if its techncially true

it should give the acutal number of hits needed to ko
 
196+ Atk Adaptability Corphish Aqua Jet vs. 0 HP / 0 Def Eviolite Onix in Sun: 1-8 (5 - 40%) -- 0% chance to 3HKO after Stealth Rock

why does this say 0% chance to OHKO instead of saying guaranteeed 4 hit KO?

it shouldnt say "0% chance to 3hko" even if its techncially true

it should give the acutal number of hits needed to ko
It says this because there is a chance to 3HKO.
Here are the different damage rolls
(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 8)
Since only the highest roll 3 times is able to KO, the chances are 1/(16^3), which is actually 0.000244140625 or 0.0244140625%. It’s just that the chance is so low that when rounding the number to fit the text, it rounds it to 0%.
 
Hello, if this has been stated before, you're more than welcome to delete this.

I've been calculating sweeping sets for gen 2 OU and for some odd reason, whenever I change a move on Marowak, the calc gets weird. I changed HP Bug to hyper beam to see if it really did the same damage to Suicune as earthquake, but when I scrolled back up earthquake suddenly went from a max of 97% to 1,4% at +2. if I change the move back everything goes back to normal and I even tried reloading the site and nothing changed. it happened every time. Then I tried a blank set and the damage at least looked realistic, but low, so I added a thick club and the it went back to saying I did like 1% with every move at +2. I think the thick club is the problem area that needs to be dealt with in the calc. hopefully I can properly calc my damage ranges next time
 
Hello, if this has been stated before, you're more than welcome to delete this.

I've been calculating sweeping sets for gen 2 OU and for some odd reason, whenever I change a move on Marowak, the calc gets weird. I changed HP Bug to hyper beam to see if it really did the same damage to Suicune as earthquake, but when I scrolled back up earthquake suddenly went from a max of 97% to 1,4% at +2. if I change the move back everything goes back to normal and I even tried reloading the site and nothing changed. it happened every time. Then I tried a blank set and the damage at least looked realistic, but low, so I added a thick club and the it went back to saying I did like 1% with every move at +2. I think the thick club is the problem area that needs to be dealt with in the calc. hopefully I can properly calc my damage ranges next time
In Gen 2, Marowak will actually lower its own stats since Thick Club+Sword Dance would otherwise make its Atk so high that it loops back around.
When you change it from HP Bug to Hidden Power, it sets the Atk DVs to 15 instead of 13.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 1)

Top