Today I've had a very busy day, so I hadn't had the time to sit down on my laptop and type everything I did yesterday, until now. The formulae that will be written here would be better suited in a kind of little program that would produce the numbers for us, by the way. They become rather hairy quite quickly, so be warned. So hereunder are a collection of ratings of a Pokemon, in particular: Physical Tankiness (PT) and Special Tankiness (ST) of a Pokemon, which provide the physical and special defensive prowess of a Pokemon Physical Sweepiness (PS) and Special Sweepiness (SS) of a Pokemon, which provide the physical and special offensive capabilities of a Pokemon Offense/Defense Balance (ODB) of a Pokemon, providing whether or not a Pokemon's stats are geared towards offense (Atk/SpA/Spe), defense (HP/Def/SpD), or neither. Physical/Special Balance (PSB) of a Pokemon, providing whether or not a Pokemon's stats are geared towards physical stats (Atk/Def), special stats (SpA/SpD), or neither. Overall Rating of a Pokemon, providing a rating from each of the Pokemon's stats. Before I continue, I wish to note that a Pokemon having high attacking stats but low defense and speed stats is NOT deemed to be offensive, as it can't do enough damage before it is KOed. An example of such a Pokemon is Camerupt. Physical Tankiness, Special Tankiness, Physical Sweepiness, Special Sweepiness Code: Physical Tankiness (PT) = HP × Def ÷ 35 Special Tankiness (ST) = HP × SpD ÷ 35 Physical Sweepiness (PS) = Atk × (Atk × SF + 315) ÷ (Atk × (1-SF) + 315) Special Sweepiness (SS) = SpA × (SpA × SF + 315) ÷ (SpA × (1-SF) + 315) where HP is the normalized Base HP Atk is the normalized Base Attack Def is the normalized Base Defense SpA is the normalized Base Special Attack SpD is the normalized Base Special Defense SF is the Speed Factor of the Base Speed PT and ST are divided by 35 to normalize their values. A tankiness (physical or special) of 100 means that the Pokemon has average (physical or special) defense. A tankiness of more than 100 means it's pretty defensive (the more the better), while a tankiness of less than 100 means that it can't take hits well. A sweepiness (physical or special) of 100 means that the Pokemon has average (physical or special) offense. A sweepiness of more than 100 means it's pretty offensive (the more the better), while a sweepiness of less than 100 means it cannot attack well. Offense/Defense Balance Code: ODB = 55 × ln(max(PS,SS) ÷ max(PT,ST)), rounded to one decimal place. where max([I]a[/I],[I]b[/I]) returns the larger of [I]a[/I] and [I]b[/I] ln([I]x[/I]) is the natural logarithm of [I]x[/I] If the ODB is negative, then the Pokemon's stats are geared towards defense. If the ODB is positive, then the Pokemon's stats are geared towards offense. If it is near zero, then the stats are balanced, having roughly the same amount of tankiness as it has sweepiness. A small chart can give us the degree of offense/defense: Code: ODB is Pokemon's Stats are geared Pokemon with this ODB --------------------------------------------------------------------------------- More than 40 Absolutely towards offense Shedinja, Deoxys-A, Deoxys, Sharpedo, Alakazam, Gengar, Ninjask, Azelf, Absol, Syclant Between 30 and 40 Strongly towards offense Manectric, Darkrai, Floatzel, Chatot, Zangoose, Dodrio, Mewtwo, Dugtrio, Espeon, Weavile, Swellow, Staraptor, Honchkrow, Porygon-Z, Rampardos, Lucario, Ambipom, Primeape, Salamence, Infernape Between 20 and 30 Towards offense Scyther, Beautifly, Mothim, Aerodactyl, Delibird, Breloom, Rotom, Fearow, Electivire, Banette, Deoxys-S, Starmie, Rayquaza, Blaziken, Rapidash, Sceptile, Jolteon, Xatu, Toxicroak, Houndoom, Cacturne, Purugly, Raticate, Zapdos, Roserade, Jynx, Hitmonlee, Latios, Stantler, Regigigas, Charizard, Typhlosion, Raichu, Girafarig, Seviper, Pinsir, Palkia, Shiftry Between 10 and 20 Moderately towards offense Unown, Yanmega, Kricketune, Victreebel, Qwilfish, Magmortar, Plusle, Garchomp, Arcanine, Flygon, Moltres, Mismagius, Froslass, Electrode, Heracross, Luxray, Persian, Kingler, Venomoth, Raikou, Slaking, Tauros, Bibarel, Crobat, Mamoswine, Kabutops, Mr. Mime, Crawdaunt, Entei, Dialga, Ursaring, Mightyena, Linoone, Dragonite, Scizor, Arbok, Hitmonchan, Cherrim, Golduck, Gallade, Gardevoir, Nidoking Between 5 and 10 Slightly towards offense Gyarados, Skuntank, Furret, Glaceon, Flareon, Chimecho, Heatran, Pidgeot, Minun, Farfetch'd, Machamp, Solrock, Lunatone, Volbeat, Illumise, Exploud, Carnivine, Leafeon Between -5 and 5 Equally in offense and defense Butterfree, Beedrill, Groudon, Kyogre, Kingdra, Gorebyss, Ditto, Latias, Kangaskhan, Seaking, Exeggutor, Octillery, Granbull, Camerupt, Lopunny, Hitmontop, Drifblim, Togekiss, Magnezone, Mew, Celebi, Jirachi, Manaphy, Shaymin, Sableye, Arceus, Feraligatr, Mawile, Mesprit, Venusaur, Castform, Delcatty, Huntail, Drapion, Glalie, Phione, Ariados, Metagross, Ninetales, Hariyama, Ampharos, Lumineon, Luvdisc, Tyranitar, Medicham, Wailord, Armaldo, Parasect, Masquerain, Empoleon, Pelipper, Gliscor, Swampert Between -10 and -5 Slightly towards defense Vileplume, Nidoqueen, Abomasnow, Sandslash, Ludicolo, Meganium, Sunflora, Grumpig, Blastoise, Omastar Between -20 and -10 Moderately towards defense Ho-oh, Revenankh, Torterra, Miltank, Politoed, Jumpluff, Poliwrath, Walrein, Tentacruel, Spiritomb, Milotic, Wigglytuff, Vaporeon, Dusknoir, Whiscash, Articuno, Bellossom, Clefable, Weezing, Suicune, Donphan, Corsola, Altaria, Lanturn, Muk, Claydol, Dunsparce, Uxie, Wormadam-G, Wormadam, Marowak, Wormadam-S, Pachirisu Between -30 and -20 Towards defense Gastrodon, Dewgong, Noctowl, Swalot, Ledian, Kecleon, Smeargle, Quagsire, Cloyster, Vespiquen, Dustox, Golem, Sudowoodo, Tropius, Skarmory, Mantine, Deoxys-D, Hippowdon, Bronzong, Magcargo, Giratina, Lugia, Tangrowth, Hypno, Lickilicky, Rhyperior, Cradily, Lapras, Slowbro, Slowking Between -40 and -30 Strongly towards defense Aggron, Relicanth, Forretress, Azumarill, Cresselia, Probopass, Torkoal Less than -40 Absolutely towards defense Umbreon, Registeel, Snorlax, Regirock, Regice, Steelix, Bastiodon, Wobbuffet, Blissey, Shuckle Physical/Special Balance Code: PSB = 55 × ln((PT × PS) ÷ (ST × SS)), rounded to one decimal place where ln([I]x[/I]) is the natural logarithm of [I]x[/I] If the PSB is negative, then the Pokemon's stats are geared towards the special stats. If the PSB is positive, the Pokemon's stats are geared towards the physical stats. A small chart can give us the degree of physical/special disparity: Code: PSB is Pokemon's Stats are geared Pokemon with this PSB --------------------------------------------------------------------------------- More than 40 Absolutely towards physical Kingler, Aggron, Rhyperior, Steelix, Cloyster, Sudowoodo, Sandslash, Leafeon, Skarmory, Regirock, Gliscor, Tauros, Staraptor, Relicanth, Donphan, Golem, Pinsir, Forretress, Shedinja, Miltank, Slaking, Rampardos, Scizor, Breloom, Kabutops, Heracross, Groudon, Mamoswine, Hariyama, Hippowdon, Weavile, Kangaskhan Between 30 and 40 Strongly towards physical Regigigas, Qwilfish, Dodrio, Drapion, Scyther, Granbull, Tangrowth, Solrock, Mawile, Hitmontop, Swellow, Metagross, Hitmonchan, Zangoose, Armaldo, Garchomp, Marowak, Torkoal, Crawdaunt, Furret Between 20 and 30 Towards physical Ambipom, Weezing, Absol, Machamp, Ninjask, Hitmonlee, Torterra, Gyarados, Mightyena, Aerodactyl, Ursaring, Fearow, Feraligatr, Primeape, Ariados, Quagsire, Tyranitar, Wormadam-G Between 10 and 20 Moderately towards physical Bibarel, Huntail, Entei, Kricketune, Skuntank, Raticate, Dusknoir, Purugly, Banette, Parasect, Linoone, Floatzel, Delcatty, Crobat, Bastiodon, Sharpedo, Dragonite, Revenankh, Flygon, Salamence, Sableye, Swampert, Luxray, Poliwrath, Lopunny, Toxicroak Between 5 and 10 Slightly towards physical Dugtrio, Pidgeot, Honchkrow, Arbok, Volbeat, Seaking, Rapidash, Muk, Gallade, Dunsparce, Victreebel, Arcanine, Nidoqueen, Shiftry, Nidoking Between -5 and 5 Equally in physical and special Syclant, Blaziken, Slowbro, Bronzong, Carnivine, Electivire, Stantler, Lickilicky, Magcargo, Whiscash, Gorebyss, Persian, Deoxys-A, Deoxys, Azelf, Infernape, Mothim, Deoxys-S, Rayquaza, Cacturne, Seviper, Unown, Froslass, Exploud, Kingdra, Ditto, Octillery, Mew, Celebi, Jirachi, Manaphy, Shaymin, Arceus, Spinda, Mesprit, Castform, Glalie, Phione, Medicham, Wailord, Spiritomb, Uxie, Wormadam-S, Swalot, Vespiquen, Deoxys-D, Giratina, Azumarill, Registeel, Wobbuffet, Shuckle, Exeggutor, Farfetch'd, Meganium, Omastar, Lucario, Beedrill, Blastoise, Yanmega, Dialga, Tropius, Cradily, Umbreon, Camerupt Between -10 and -5 Slightly towards special Snorlax, Lumineon, Abomasnow, Girafarig, Corsola, Claydol, Pelipper, Wigglytuff, Altaria, Cresselia, Delibird, Walrein, Dewgong, Lapras, Lugia, Golduck, Jumpluff, Suicune, Kecleon, Smeargle, Moltres Between -20 and -10 Moderately towards special Beautifly, Pachirisu, Dustox, Vileplume, Gastrodon, Bellossom, Xatu, Flareon, Probopass, Drifblim, Chatot, Magnezone, Starmie, Raichu, Articuno, Ho-oh, Ninetales, Empoleon, Clefable, Charizard, Typhlosion, Venusaur, Manectric, Luvdisc, Heatran Between -30 and -20 Towards special Wormadam-G, Mewtwo, Zapdos, Politoed, Palkia, Cherrim, Hypno, Lanturn, Sceptile, Masquerain, Darkrai, Slowking, Venomoth, Ampharos, Ludicolo, Glaceon Between -40 and -30 Strongly towards special Magmortar, Electrode, Raikou, Sunflora, Houndoom, Porygon-Z, Rotom, Illumise, Chimecho, Tentacruel, Latias, Latios, Lunatone Less than -40 Absolutely towards special Kyogre, Vaporeon, Butterfree, Milotic, Noctowl, Gengar, Jolteon, Togekiss, Plusle, Minun, Ledian, Mismagius, Grumpig, Gardevoir, Roserade, Espeon, Regice, Mantine, Mr. Mime, Alakazam, Jynx, Blissey Overall Rating Part 1: The Rating Modifier The Rating Modifier (M) is used in the Overall Rating of a Pokemon, to reward Pokemon having outstanding PT, PS, ST, and/or SS. Each modifier increases slowly from 1 for a rating (tankiness or sweepiness) of 100, to 1.375 for a rating of 180 (about 2 standard deviations from the mean), to 2.5 for a rating of 260 (about 4 standard deviations from the mean). Code: Modifier for PT (MPT) = (3 × PT^2 - 600 × PT + 81200) ÷ 51200, if PT > 100 = 1, otherwise Modifier for PS (MPS) = (3 × PS^2 - 600 × PS + 81200) ÷ 51200, if PS > 100 = 1, otherwise Modifier for ST (MST) = (3 × ST^2 - 600 × ST + 81200) ÷ 51200, if ST > 100 = 1, otherwise Modifier for SS (MSS) = (3 × SS^2 - 600 × SS + 81200) ÷ 51200, if SS > 100 = 1, otherwise M = MPT × MPS × MST × MSS Part 2: The Overall Rating Formula Code: Overall Rating = PT × ST × (PS + SS) × M ÷ (56 × (PT + ST)), rounded to the nearest whole number. The rating can be used as follows: Code: Rating is Pokemon's Stats are Pokemon with this rating --------------------------------------------------------------------------------- More than 1400 Exaggerated Arceus, Deoxys-A, Giratina, Mewtwo, Rayquaza, Slaking, Regigigas, Palkia, Dialga, Ho-oh, Lugia, Deoxys, Groudon, Kyogre 900 to 1399 Too Good None 580 to 899 Fantastic Cresselia, Azelf, Salamence, Garchomp, Darkrai, Latios, Mew, Celebi, Jirachi, Manaphy, Shaymin, Latias, Syclant, Heatran, Zapdos 420 to 579 Excellent Dragonite, Entei, Blissey, Tyranitar, Raikou, Regirock, Regice, Registeel, Moltres, Suicune, Metagross, Articuno, Snorlax, Uxie, Mesprit, Arcanine, Espeon 300 to 419 Very Good Infernape, Electivire, Porygon-Z, Gyarados, Deoxys-D, Togekiss, Milotic, Gengar, Umbreon, Magmortar, Lapras, Alakazam, Lucario, Charizard, Typhlosion, Deoxys-S, Weavile, Rhyperior, Mamoswine, Sceptile, Blaziken, Vaporeon, Hippowdon, Walrein, Yanmega, Steelix, Leafeon, Kingdra, Jolteon, Feraligatr, Swampert, Revenankh, Flygon 250 to 299 Quite Good Lickilicky, Torterra, Aggron, Heracross, Scyther, Tangrowth, Gallade, Gardevoir, Blastoise, Aerodactyl, Starmie, Roserade, Magnezone, Crobat, Floatzel, Honchkrow, Pinsir, Venusaur, Probopass, Glaceon, Houndoom, Luxray, Meganium, Empoleon, Staraptor, Gliscor, Rapidash, Tentacruel, Relicanth, Flareon, Magmar, Mismagius, Porygon2, Rampardos, Tauros, Muk 210 to 249 Good Exeggutor, Kangaskhan, Scizor, Bastiodon, Poliwrath, Manectric, Electabuzz, Machamp, Politoed, Donphan, Ninetales, Golduck, Toxicroak, Drapion, Cradily, Nidoqueen, Ambipom, Kabutops, Miltank, Sharpedo, Nidoking, Ampharos, Ursaring, Slowbro, Slowking, Hypno, Rhydon, Dodrio, Bronzong, Omastar, Cloyster, Claydol, Drifblim, Zangoose, Absol, Abomasnow, Altaria, Golem, Dusknoir, Raichu, Kingler, Skuntank, Shiftry 175 to 209 Average Froslass, Dewgong, Victreebel, Exploud, Ludicolo, Xatu, Armaldo, Hitmonlee, Glalie, Phione, Weezing, Clefable, Wailord, Primeape, Swalot, Tropius, Gastrodon, Breloom, Pidgeot, Grumpig, Hariyama, Whiscash, Stantler, Bellossom, Lanturn, Torkoal, Lopunny, Jynx, Forretress, Vileplume, Gorebyss, Magneton, Huntail, Vespiquen, Skarmory, Mantine, Cacturne, Lumineon, Octillery, Girafarig, Hitmonchan, Golbat, Venomoth, Banette, Seaking, Seviper 143 to 174 Below Average Purugly, Spiritomb, Cherrim, Crawdaunt, Fearow, Sandslash, Electrode, Rotom, Mr. Mime, Piloswine, Noctowl, Chansey, Carnivine, Granbull, Hitmontop, Solrock, Lunatone, Vigoroth, Camerupt, Kadabra, Sneasel, Arbok, Jumpluff, Qwilfish, Haunter, Quagsire, Misdreavus, Seadra, Persian, Kecleon, Dusclops, Chimecho, Mothim, Pelipper, Mightyena, Castform, Munchlax 127 to 142 Poor Gligar, Swellow, Wormadam-G, Dragonair, Wormadam-S, Chatot, Wormadam, Ninjask, Bibarel, Dunsparce, Azumarill, Wobbuffet, Gabite, Marowak, Wigglytuff, Linoone, Furret, Pupitar, Tangela, Raticate, Metang, Sealeo, Masquerain, Lairon, Sunflora, Murkrow, Ponyta, Grotle, Monferno, Sudowoodo, Shelgon, Croconaw, Medicham, Marshtomp, Machoke, Wartortle, Bayleef, Prinplup, Charmeleon, Quilava, Ivysaur 100 to 126 Bad Combusken, Grovyle, Parasect, Plusle, Magcargo, Volbeat, Illumise, Togetic, Lickitung, Porygon, Minun, Gloom, Roselia, Ariados, Wailmer, Pachirisu, Shuckle, Yanma, Kricketune, Dugtrio, Delcatty, Weepinbell, Beautifly, Poliwhirl, Dustox, Butterfree, Corsola, Beedrill, Sableye, Mawile, Nidorina, Graveler, Flaaffy, Nidorino, Lileep 99 or less Horrible Everything else An Example I think you deserve one. :) Let's say we are considering creating a hypothetical Pokemon having the following Base Stats: 52/117/93/80/67/101 First we find the normalized stats and the Speed Factor: HP: 52/4 + 18 = 31 Atk: 117 + 18 = 135 Def: 93 + 18 = 111 SpA: 80 + 18 = 98 SpD: 67 + 18 = 85 SF: 0.92 Now we find PT, ST, PS, SS: Physical Tankiness = 31 x 111 / 35 = 98.31 (average defense) Special Tankiness = 31 x 85 / 35 = 75.29 (below average special defense) Physical Sweepiness = 135 x (135 x 0.92 + 315) / (135 x 0.08 + 315) = 135 x 439.2 / 325.8 = 181.99 (very high physical offense) Special Sweepiness = 98 x (98 x 0.92 + 315) / (98 x 0.08 + 315) = 98 x 405.16 / 322.84 = 122.99 (above average special offense) Offense/Defense Balance: The higher from PT and ST is 98.31; that from PS and SS is 181.99. ODB = 55 x ln(181.99 / 98.31) = 55 x ln(1.851) = 55 x 0.616 = 33.9 Looking at the chart, this translates to a Pokemon that is geared strongly towards offense. Physical/Special Balance: PSB = 55 x ln((98.31 x 181.99) / (75.29 x 122.99)) = 55 x ln(17891.44 / 9259.92) = 55 x ln(1.932) = 55 x 0.659 = 36.2 Looking at the chart, this means that the Pokemon is geared strongly towards the physical stats. Now, for the overall rating, we first need to find the rating modifier M, which is made up of four mini modifiers, one each for PT, PS, ST and SS. PT and ST are both not greater than 100, so MPT and MST are both 1. For PS, MPS = (3 x 181.99^2 - 600x181.99 + 81200) / 51200 = (3 x 33120.36 - 109194 + 81200) / 51200 = (99361.08 - 109194 + 81200) / 51200 = 71367.08 / 51200 = 1.394 For SS, MSS = (3 x 122.99^2 - 600x122.99 + 81200) / 51200 = (3 x 15126.54 - 73794 + 81200) / 51200 = (45379.62 - 73794 + 81200) / 51200 = 52785.62 / 51200 = 1.031 Hence M = 1 x 1 x 1.394 x 1.031 = 1.437 Finally, the overall rating! Note that ODB and PSB are not needed for the evaluation of the overall rating. Overall Rating = 98.31 x 75.29 x (181.99 + 122.99) x 1.437 / (56 x (98.31 + 75.29)) = 98.31 x 75.29 x 304.98 x 1.437 / (56 x 173.6) = 3243867.61 / 9721.6 = 334 From the chart, a rating of 334 means that the stats are very good.