Programming Pokémon Showdown Damage Calculator

Well at 236 EVs , Shuckle has 240 HP, and at 240 EVs, Shuckle has 241.
And here is the Possible damage amounts (for each individual hit).
Possible damage amounts: (74, 74, 78, 78, 78, 80, 80, 80, 80, 84, 84, 84, 86, 86, 86, 90)
Since 240 divided by 3 is exactly 80. For Surging Strikes to not KO that Shuckle, it will need a combinations 74/74/(any number), 74/78/78, 78/78/78, 78/78/80, 78/80/80, 74/80/84, and 74/78/86.
Meanwhile, 241 does not divide evenly by 3. This greatly increases the chances of failing to KO since the triple 80s no longer KOs and along with other combinations that KOd at exactly 240.
I can’t do out the entire math as I should be grading papers, but hopefully you’ll get the idea.
Oh wow it is become clear and easy to understand!
Thank you for your thoughtfulness, Bob really appreciate it.
Good luck with your papers grading!
 

Felucia

Robot Empress
is a Forum Moderatoris a Battle Simulator Moderator
Relatively minor bug, but multi-hit moves on multiscale apply multiscale for every hit, halving the end result.

0 Atk Manaphy Rock Blast (3 hits) vs. 0 HP / 0 Def Multiscale Dragonite: 57-69 (17.6 - 21.3%) -- approx. possible 5HKO
0 Atk Manaphy Rock Blast (3 hits) vs. 0 HP / 0 Def Dragonite: 114-138 (35.2 - 42.7%) -- approx. 3HKO

ignore the fact that I used rock blast manaphy, I just like using manaphy

edit same applies for resist berries (and probably any other effect that should decrease damage only once but I can't think of others)
 
Last edited:
weather ball doesn't seem to output the correct damage in dpp:

252+ SpA Life Orb Victreebel Weather Ball (100 BP Fire) vs. 252 HP / 116 SpD Dialga in Sun: 85-101 (21 - 25%) -- possible 5HKO after Leftovers recovery
252+ SpA Life Orb Victreebel Flamethrower vs. 252 HP / 116 SpD Dialga in Sun: 164-193 (40.5 - 47.7%) -- guaranteed 3HKO after Leftovers recovery

it looks like the calc should be displaying twice the amount of damage that it currently does for dpp weather ball.

edit: the lovely and talented SparksBlade has an example of weather ball vs flamethrower damage on ps! https://replay.pokemonshowdown.com/gen4customgame-1183478326
I see this issue has yet to be fixed, so just quoting steel's post in case it has been forgotten. In addition, I'd like to say that it works well in every other gen, it's a dpp-exclusive problem. Here's one more replay to illustrate it (I was unaware of steel's post until now so I tried it out for myself):
https://replay.pokemonshowdown.com/gen4ou-1440432424-la5m974n34pavi49pe6fx5fe3sabqdipw

Thanks beforehand
 

Fc

Waiting for something to happen?
is a Site Content Manageris a Top Team Rateris a Social Media Contributoris a Community Leaderis a Community Contributoris a Smogon Discord Contributoris a Tiering Contributoris a Top Contributoris a defending SCL Champion
Ubers Leader
Apologies if this has been reported before, but Low Kick doesn't scale correctly with technician boosts. Even on max weight targets the move is still being boosted

252 Atk Life Orb Marshadow Close Combat vs. 248 HP / 8 Def Yveltal: 257-304 (56.4 - 66.8%) -- guaranteed 2HKO

252 Atk Life Orb Technician Marshadow Low Kick (120 BP) vs. 248 HP / 8 Def Yveltal: 386-454 (84.8 - 99.7%) -- guaranteed 2HKO
 
Minor annoyance, if you leave dynamax toggled on for a side and then switch to a different gen the calc will still act as if that side has double HP and essentially half all the damage done... which can be pretty annoying if you don't know the cause, understandable if it's one of those things which would be a huge pain to fix
 
Last edited:

Storm Eagle

Banned deucer.
Griseous Orb's damage buff doesn't apply to Altered Forme Giratina. This is mostly for Balanced Hackmons purposes, as the simulator does give the buff to it.
 
Noticed a small error when using Gen 4 damage calc (not sure if bugs for Gen 4 are worth reporting, but I figured I'd post it just in case). Attaching a type-boosting item (e.g., Sharp Beak) to a Pokemon using a 60 BP move with Technician lowers the damage output, presumably since the BP gets coded to go over 60 BP and the Technician ability goes away. I checked in-game and they do appear to stack. This bug is not in the Gen VIII damage calculator (not sure about the calculators for generations in between).
1636079529115.png
1636079560199.png
 
There's a minor problem when using Google Chrome where part of the calc cuts off and slides down. Zooming in and out doesn't work; however, I found that changing the Chrome font size fixes the problem (I was using large font, but it fixed when switching to medium).
font scale.png
 
Similar bug as above, except using safari on ipad and going to the desktop version of the site results in this formatting issue, which is fixed by requesting the mobile version of the site
DFF06B74-9F7C-4A13-939B-EC3F7BCC29E1.png
 

Blimax

https://www.youtube.com/c/Blimaxx
is a Top Tiering Contributor
The Damage Calculator cannot calculate Power Trick changes. For example: My Shuckle uses Power Trick and then lands an attack, the same is not possible to calculate in the damage calc as the base stats slots can't be changed in the calc. Can we do something about this.
 
Nature Power doesn't seem to be implemented correctly in the calculator: for example, if I give Whimsicott both Nature Power and Energy Ball and I turn on Grassy Terrain, I should get the exact same damage for both attacks afaik, but I don't, not even close... Am I missing something?
 
Calculator is broken with Stored Power and Technician :
0 SpA Toxtricity Stored Power (80 BP) vs. 0 HP / 0 SpD Toxtricity: 172-204 (59.1 - 70.1%)
0 SpA Technician Toxtricity Stored Power (80 BP) vs. 0 HP / 0 SpD Toxtricity: 260-306 (89.3 - 105.1%)

Also, is it possible to add Steely Spirit ?
 

Skypenguin

Skype (nguin)
is a Forum Moderatoris a Tiering Contributoris a Past SPL Champion
World Defender
The calc seems to incorrectly double the damage done by Pursuit on a switch without checking the base power (this matters for Technician, not sure if it would come up anywhere else).

For example, M-Scizor has Technician which boosts base Pursuit to 60bp (40*1.5), but if the opponent is switching, the power is doubled to 80 and not boosted by Technician. You can see this in the following replay where the Pursuit damage when M-Latias is switching matches with the calc for Crunch; the "switching out" Pursuit calc is too high.

https://replay.pokemonshowdown.com/gen7ou-1473608491-w99a2ft6dcg15ng8jpjlwsgzmp051y7pw

0 Atk Technician Scizor-Mega Pursuit (40 BP) vs. 252 HP / 4 Def Latias-Mega: 106-126 (29.1 - 34.6%)
0 Atk Scizor-Mega Crunch vs. 252 HP / 4 Def Latias-Mega: 140-166 (38.4 - 45.6) this is the actual damage output
0 Atk Technician Scizor-Mega switching boosted Pursuit (80 BP) vs. 252 HP / 4 Def Latias-Mega: 210-248 (57.6 - 68.1%)
 
Nature Power doesn't seem to be implemented correctly in the calculator: for example, if I give Whimsicott both Nature Power and Energy Ball and I turn on Grassy Terrain, I should get the exact same damage for both attacks afaik, but I don't, not even close... Am I missing something?
Implementation issue for physical/special split as all status moves in damage calc are Physical. Nature power is the sole move this matters for, but it also only has special attacks as a result since gen 6. The easy fix would be to implement all Status moves as Special Attack in calc or explicitly Nature Power to Special Attack.
 
252+ Atk Abomasnow Flying Press vs. 0 HP / 0 Def Shieldon: 83-98 (41.2 - 48.7%)
252+ Atk Normalize Abomasnow Flying Press vs. 0 HP / 0 Def Shieldon: 99-117 (49.2 - 58.2%)

The first one should be neutral (fighting flying on a steel rock), the 2nd 16 times resisted (normal flying on rock steel), but it does more ? It's actually doing around 1.2 times more damage, corresponding to the Normalize's 1.2 boost. Pretty sure the effectiveness of the move is calculated wrong, at least with Normalize
 
Good evening and happy holidays !

Calculators involved : ADV and DPP (might be across all calculators from Gen 3 onwards)

Issue : If you take a Pokémon which default ability blocks critical hits, and you set its ability to (none), it still blocks critical hits. I suspect the default ability always gets applied while the ability is set to (none).

Steps to reproduce :
Left side : import a random Pokémon with any damaging move
Right side : import a blank set Clamperl (default ability is Shell Armor which blocks criticals, but the ability is set to (none) since it's a blank set)
Left side : click on the crit button of any damaging move
Result : crit multiplier is not applied, despite the ability being (none)

Variation : you can give the right side Pokémon a random ability, then set it back to (none) and the issue still occurs.
Variation2 : this works in both Pokémon panels.
 
I don't know if this should be submitted here, but when you select dynamax in S/S and switch to S/M, it seems to keep the hp of the dynamaxed pokemon, messing up the % calcs
1641476023823.png
1641476137469.png
 
Can you make it so Triple Axel and Beat Up have the same multi-hit options as other multi-hit moves in the builder?

Beat Up doesn't have a base damage in the calculator, could you make it so that it does this automatically? It's a pain in the butt to figure these out manually.

1641566741295.png
 

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

Top