Bulk and Strength: Speedy Damage Calculations

Hello!

I've created a new (I think/hope) method for quickly calculating damage or comparing the relative defenses/attacking powers of various Pokemon. Recently, I read through Dragontamer's AttackTiers & DefenseTiers and SkarmCents & BlissCents and thought perhaps I could address some of the issues with them that others, along with myself, saw.

Strength and Bulk
"Strength" is the term I've decided to name the strength (creative, right?) of an attack, while "Bulk" refers to the defensiveness of a Pokemon. Using Strength and Bulk, you can compare the relative power behind a Gengar's Shadow Ball and a Starmie's Surf, or compare the relative defenses of a Skarmory's physical defense and a Blissey's special defense. In addition, you can rapidly compute a rough damage estimate by dividing an attacker's Strength and the defender's Bulk. Note that these are only estimates as I've simplified them quite a bit and rounded a lot to make the numbers more people-friendly.

Strength
The strength of an attack is directly connected to the Pokemon using it. An attack's Strength is equal to
Code:
0.00714 × [Sp.]Atk × Power × Modifiers, rounded to the nearest whole number
Where [Sp.]Atk and Power, are, obviously, the Pokemon's Attack (or Special Attack) and the move's Base Power. Modifiers includes things like Life Orb, Choice Band, STAB, etc. (I calculate Band/Specs separate from Atk/SpA, even though that's really not how you're supposed to do it *shrug*)

Example - Comparing Gengar's Shadow Ball and Starmie's Surf
Code:
(Gengar @ Life Orb, Timid nature, 252 SpA EVs -> 359 SpA)
Strength = 0.00714 × 359 × 80 × 1.3 (LO) × 1.5 (STAB) = 400

(Starmie @ Choice Specs, Modest nature, 252 SpA EVs -> 328 SpA)
Strength = 0.00714 × 328 × 95 × 1.5 (Specs) × 1.5 (STAB) = 501

Clearly, Starmie's Surf is more powerful than Gengar's Shadow Ball (much to my disappointment *sad*)


Bulk
Defending Pokemon have two separate Bulks - one for each Defense. A defender's Bulk is equal to
Code:
[Sp.]Def × HP ÷ 100, rounded to the nearest whole number
Where [Sp.]Def and HP are, well, the Pokemon's Defense/Special Defense and HP. (I guess there could be a modifiers variable in there, but oh well...)

Example - Comparing Skarmory's physical defense and Blissey's special defense
Code:
(Blissey, Bold nature, 252 HP/4 SpD -> 714 HP/307 SpD)
Special Bulk = 307 × 714 ÷ 100 = 2192

(Skarmory, Impish nature, 252 HP/252 Def -> 334 HP/416 Def)
Physical Bulk = 416 × 334 ÷ 100 = 1389

This shows that Blissey is quite godly when it comes to defending - over 50% better at special walling than Skarmory is at physical walling.

Damage Calc
As mentioned before, you can quickly calculate rough estimates for damage percentages by dividing an attack's Strength by the defender's Bulk. Due to my simplification and rounding of the system, this can result in mildly erroneous results, but it is a quick, rough estimate, afterall.
Note: Strength is the minimum damage you can do; if Strength is higher than their Bulk, you will (most likely) OHKO them. To calculate maximum damage, multiply by 1.18 or divide by 0.85 (either one works, though the latter is more accurate)
Example - Starmie's Surf vs. Blissey
Code:
(Starmie's Surf = 589 Special Strength)
(Blissey = 2192 Special Bulk)
Min Damage = 501 ÷ 2192 = ~22.86%
Max Damage = 1.18 × 501 ÷ 2192 = ~26.97%
So, Starmie is estimated to do 22.86% to 26.97% to a Blissey (4-5HKO excluding Leftovers and recovery - I think Starmie's got this one, guys!)
Let's check that against Smogon's very own damage calculator...

Code:
252 Modest Choice Specs Starmie Surf  
  vs. 252/4 Bold Leftovers Blissey : 22.8% - 27%

*edited* Just about right, eh? :D

Questions, criticism, and comments are quite welcome. I'll try to get around to them sometime. *wink*
 
It's cool and all that this works, but I'd still rather use the damage calculator because it's faster. There's no calculation errors by misentering a number and you get a more exact answer.

Also you'd still have to know the special attack number, whereas the Smogon damage calc already has that function implemented.
 
*shrug* I suppose so. I guess I designed it more for comparisons than anything else, and the damage estimations was just a sweet byproduct that slipped in. I suppose I also had intent to make an applet or web site where you could just input a Pokemon's shorthand notation and get a quick report from it... Perhaps I'll do that sometime...
 
I think this is pretty cool actually. It would definitely be useful to me, although I'm not sure what other people think.

Honestly, I was looking at it more on a teambuilding type of usefulness, instead of an in game, quick damage calculation thing.
 
Now that you put it that way, that's exactly how I had it in mind as well, ArcticxWolf :D
It let's you compare between moves, walls, etc. in addition providing a quick damage estimate without having to whip the trusty damage calculator. I was slightly preoccupied when I responded to supermarth64 >_>
 
I'm not sure this really adds anything all that new. It does have the benefit of simplicity though.

I'd like some of the mathematical derivation mind. Like, where does the 0.0084 come from?

One change I personally would make: Multiply all strengths by 0.85. That way, the 'basic' calculation of strength/bulk gives the MINIMUM damage, making certain nHKOs easier to spot. The maximum damage is then 1.18 times the minimum.
 
I'm not sure this really adds anything all that new. It does have the benefit of simplicity though.
Yeah - I was pretty sure that most people familiar with the damage formula/mechanics would have realized defensive potential could be found by simply multiplying health and defense (*cough* Shuckle's first strategy *cough*), but I'd never seen anyone try to do the attacking counterpart, and simplicity was a goal I had in mind :)

I'd like some of the mathematical derivation mind. Like, where does the 0.0084 come from?
Well, the damage formula at level 100 can be greatly simplified into
Code:
(0.84 × [Sp.]Atk × Power) ÷ ([Sp.]Def)
Then, to calculate damage percents, you just divide that all by HP (or just multiply it by [Sp.]Def)
Code:
(0.84 × [Sp.]Atk × Power) ÷ ([Sp.]Def) ÷ (HP)
= (0.84 × [Sp.]Atk × Power) ÷ ([Sp.]Def × HP)
I simply split that at the division and divided each piece by 100 to simplify it further.

One change I personally would make: Multiply all strengths by 0.85. That way, the 'basic' calculation of strength/bulk gives the MINIMUM damage, making certain nHKOs easier to spot. The maximum damage is then 1.18 times the minimum.
I completely agree with this, now that you mention it. I'll edit that in the first post right away.
 
One change I personally would make: Multiply all strengths by 0.85. That way, the 'basic' calculation of strength/bulk gives the MINIMUM damage, making certain nHKOs easier to spot. The maximum damage is then 1.18 times the minimum.

That's actually a great idea cantab. I'm surprised through the years of us having stats that try achieve this you are the first person to suggest it. Not to mention multiplying a number by 1.18 is easer than multiplying a number by 0.85 when done in your head
 
When I first saw this I thought it would be a calculator where you plug in the damage you did along with your poke, EV's, attack, item, etc. and get roughly what they're EV range and nature could be. That'd be handy. This seems like something that people should be able to guestimate decently well.
 
I was thinking about this, and It *might* be able to be used as the previous poster suggested. Thinking about it...you already know all your poke's sp/phys bulk....By using the above formula, couldn't you also solve for their attack, and have a large chance at guessing their set with a single attack?

EXAMPLE: I use a blissey. I switch it in on a latias draco meteor. Blissey takes roughly 30%. By reversing the formula, I know that the damage must have been: 2192 * 0.3. Now, I know that draco meteor has 140 base power and latias gets stab. Divide those as well as the 0.00714, and guestimate its spA. By using this, as well as the recoil dmg, we can easily figure out its set. No recoil = specs, scarf, or lefties. Lefties will be easier to figure out, but the difference between scarf and specs on blissey may be difficult to notice. In this case, it is probably specs.

Now, that was just a simple example which was vague, but think about it: What if you could tell exactly what gyara set your opponent was running after a single waterfall? What if you knew exactly what evs and set that scizor was running after a single BP?
I think that this would be quite useful.
 
I can't say I ever envisioned it being used for that, but I suppose that it could be. That would be pretty neat, to be honest.
Using those stats, the strength of Draco Meteor would have to be 658, which means that the SpA of the Latias would have to be between 373 and 439, which is out of Latias's maximum SpA of 350 - meaning it's running a Specs set.
 
After muddling around with the above posts for a while, I've come up with another great use for these doodads. After doing a reverse calculation like the one above, you now know the target's Attack stat range, meaning you can calculate the respective Strengths of several common moves on that Pokemon.

e.g.
Latias uses Draco Meteor on Blissey for 30%, lah dee dah math math math, Latias has a SpA of 373 to 439 (after Specs!). This means that a Surf/Thunderbolt coming out of this Latias would have a Strength between 253 and 298. A Dragon Pulse would have a Strength between 360 and 423. This gives you invaluable insight that can ease the prediction of switching in a counter safely (not that it really matters in this case - what's a choice-locked -2 Latias going to do against a Blissey?)
 
Back
Top