The Let's Play Archive

Pokemon Yellow

by Crosspeice

Part 51: Side Notes #06: How Pokemon Tick (Stats, Special and Stages)

Side Notes #06: How Pokemon Tick (Stats, Special and Stages)

So let's get some more numbers and shit out of the way by talking about Stats. In Gen 1, there are HP, Attack, Defense, Speed and Special. Let's break them down.

HP: This is how much health a Pokemon has, indicated by the health bar in battle. In Yellow, the bar can be different colours depending on how much health there is. Now unlike later generations, the bar changes depending on how many pixels wide it is. The bar is 48 pixels wide and it would turn yellow if it became 10 to 26 pixels wide and then red if it was lower than 10 pixels. So, the bar will actually turn yellow at 56% of the Pokemon's total health. And of course, if the bar is red, then there's the noise it makes. Dear god, why did it take them so long to do something about it.

Now the beeping noise does cause a couple issues in Gen 1, since only three or so sounds can play at once, yet the beeping sound must always play. This can mess up some Pokemon cries, as well as some moves. At least the level up jingle is unaffected, creating a real cacophony of noise that will make you wish for death's sweet embrace. And to make you wish for it even more, here's some maths!

Not too tricky to understand, just remember that IV is DV and EV is Stat Exp, but it's more or less the same thing. If the number has a decimal, it's rounded down.

Attack: This determines how much damage you do with Physical attacks (or types) compared to an enemy's Defense. The calculation will be at the end of the stat explanation.

Defense: Determines how resistant you are to Physical attacks compared to an enemy's Attack.

Speed: Determines the order in which Pokemon attack. If the Pokemon happen to have the same Speed stat, there will be a 50/50 dice roll to determine order.

Special: The big one. This is the combination of how well you dish out Special attacks (or types) as well as how resistant you were to them. So Pokemon with high Special not only deal a lot of Special damage, but can take a lot of Special damage also. This creates a ton of balance issues that weren't exactly fixed in the next gen, since they still shared the same value for DVs and Stat Exp. This would be eventually overhauled in Gen 3.

This is how Attack, Defense, Speed and Special are calculated and there are a couple of slight differences, but still easy to manage. Again, numbers are rounded down.

Now we move on to the Damage formula. You can swap it around for Special easily enough. The Modifier formula is as follows:

STAB (Same Type Attack Bonus) is 1.5, Type is how effective moves are, either being 0, 0.25, 0.5, 1, 2, or 4. Critical is 2 in every gen aside from 1 (where it depends on your level, more about that in a minute) and 6, where it's 1.5 and Other is stuff like held items and Abilities, which don't apply to Gen 1, or the increase or decrease of stats via status, moves, or items, which do apply to Gen 1. Finally, there is damage variation, which is a number between 0.85 and 1, so attacks will always do different damage.

In Gen 1 and 2, this is of course messed up and each value doesn't have an equal chance of occurring, since the game has the random numbers be between 217 and 255 (0.851 and 1), multiplies it by 100, divides it by 255 and will then divide by 100 later to get the final result. This means some numbers have a higher chance than others at occurring (either a lower odd number, or a higher even number). The chance of 100 being used is only 2.56%. So moves will very rarely do the maximum damage.

In Gen 1, the critical hit multiplier depends on your level, using the basic formula of (2L+5)/(L+5), so a level 5 Pokemon will do 1.5x damage, a level 20 Pokemon does 1.8x damage and a level 100 Pokemon does 1.95x damage. The chance of a critical hit is determined by Base Speed/512, so a Base Speed of 60 gives the chance of 11.7%. Moves with a high critical hit ratio are eight times more likely to land a critical it, resulting in the formula of Base Speed/64, so any Pokemon with a Speed stat of 64 or higher will always result in a critical hit. Or at least, a 255/256 chance due to the move accuracy bug.

Okay, that's all that stuff out of the way, but there's still a couple more things. Firstly, are the in battle stats Accuracy and Evasion. They're more or less opposites of each other and start each battle at 100%. But they have their own formulas.

So the probability of a move connecting is determined by the base accuracy of a move (a 95% accurate move is 0.95. Very simple) and the current Accuracy and Evasion stats. If P is greater than 1, then the move will definitely hit. Well, almost. Because of how both Accuracy and Evasion are determined and then both applied separately to the move's accuracy, it can cause the number to be lower then it would be in future gens. In Gen 3, the two were combined before applying to the move accuracy, giving a much simpler number. All moves have a 1/256 chance of missing, bar Swift and Kureig explains it better then I ever will.

Kurieg posted:

Also, the 1/256th miss chance thing is because of the way that hits/misses are calculated and the limitations of the Gameboy.

In generations 1 and 2, the accuracy of a move is stored as a 2 byte value between 0 and 255 (00 and FF) when a move is used, it generates a random value and if that value is less than the attack's accuracy stat, the move hits. Note that that's not less than or equal to. So even a move with maximum accuracy will fail if the number generated is 255.

They did this because the two-turn evasion moves (Dig and Fly) Set the incoming accuracy of moves to 0, and a <= calculation would allow moves to hit them 1/256th of the time. Apparently the occasional miss on every move was preferable to occasionally hitting a Diglett.

The only move that bypasses this check is Swift, which just automatically hits. This had the side effect of allowing them to hit enemies during the invulnerable turns of Dig and Fly.

Generation 2 removed this feature of Swift, and also included a check before accuracy where anything with a 100% hit rate would bypass the accuracy process.

Finally, there are ways to boost or lower your stats in battle temporarily. Some moves have the effect of boosting or lowering your stats by stages, ranging from +6 to -6. A value cannot go lower than 1, or higher than 999. These fractions are applied immediately in battle and become the new value for future calculations until the battle is over, then the value is returned to its original value by calculating the DVs and Stat Exp.

These are the calculations for Attack, Defense, Special and Speed. Remember that Paralysis quarters your speed? That's reducing it to -6. Also remember that curing it of Paralysis, in Gen 1, will not restore the speed loss. The loss of Attack for Burn, meanwhile, is only half, or -2.

There are also no ways of lowering Evasion in this gen, so the only thing to really do is raise your Accuracy and pray. Except there are no ways of raising Accuracy from moves. Instead you need to use the various X-items, which raise a stat by one stage and aren't really worth it. However, there are a couple others that are notable. Firstly, X-Accuracy simply has you ignore the formula completely and is very, very useful, giving you perfect accuracy for all moves in one turn. Dire Hit, meanwhile, is bugged, alongside Focus Energy. Instead of increasing your chance of a critical hit by 4, it instead does the opposite, giving you the formula Base Speed/2048. Which is very, very bad. However, if you use a move with increased critical hit chance, the formulas balance out.

That's everything stats and stages wise, I think. It's all very complicated and boring, but I at least find it very interesting.