Pokémon Red Version, Blue Version, and Yellow Version - Safari Zone
Two variables, RockEffect and BaitEffect, are set to 0. Another variable, CatchRate, is set to the Pokémon’s starting catch rate.
- When the player throws a rock, CatchRate is doubled; BaitEffect is set to 0; and RockEffect rises by a random integer from 1 through 5, but not to more than 255.
- When the player throws bait, CatchRate is halved and rounded down; RockEffect is set to 0; and BaitEffect rises by a random integer from 1 through 5, but not to more than 255.
- If the player throws a Safari Ball, the game applies the catch rate method given above, with the starting catch rate being equal to CatchRate.
- Running from the Pokémon will always succeed.
Then, at the end of each turn:
- If BaitEffect is greater than 0, the Pokémon "is eating" and BaitEffect falls by 1.
- If RockEffect is greater than 0, the Pokémon "is angry", RockEffect falls by 1, and CatchRate is reset to the Pokémon’s starting catch rate if RockEffect is lowered to 0 this way.
- A variable, EscapeRate, is set to 2 times the Pokémon’s Speed. EscapeRate is divided by 4 (and rounded down) if BaitEffect is greater than 0, and is doubled if RockEffect is greater than 0. The Pokémon will "run" if a random integer from 0 through 255 is less than EscapeRate, or if the Pokémon’s Speed is 128 or greater.