Pokémon Red Version, Blue Version, and Yellow Version - Obedience check
In battles in which Exp. Points can be gained, only after choosing an attack, the game checks to see if the Pokémon is of a different ID from that of the player. (The OT name is not considered.) If so, the following process is used:
-
The badge level (B) is determined based on the player’s Badges.
- If the player has no Badges, B is 10.
- If the player has the Cascade Badge, B is 30.
- If the player has the Rainbow Badge, B is 50.
- If the player has the Marsh Badge, B is 70.
- If the player has the Earth Badge, B is 101.
-
If the Pokémon’s level (L) is greater than B and a random integer from 0
through (L + B - 1) is greater than or equal to B and the Pokémon is
attempting to use a move, the Pokémon becomes disobedient. When
disobedient, the Pokémon no longer has a move it last used (but still
has a move it last chose for use), and one of the following happens:
-
If another random integer from 0 through (L + B - 1) is greater than
or equal to B:
- C is set to N - (L - B), where N is a random integer from 0 through 255.
- If C is 0 or greater and is greater than or equal to L minus B, one of the following messages is used: "X is loafing around", "X ignored orders!", "X turned away!", "X won’t obey!"
- If C is 0 or greater and is less than L minus B, the message shown is "X won’t obey!" and the Pokémon deals confusion damage to itself.
- If C is less than 0, the message shown is "X began to nap!" and the Pokémon goes to sleep. (Not prevented by Substitute.)
- Otherwise, the Pokémon will attempt to use a different move if possible, even if that move has zero PP. (It could not use a different move while asleep or during the effect of Disable.) If it can’t, one of the following messages is used: "X is loafing around", "X ignored orders!", "X turned away!", "X won’t obey!" If the Pokémon uses a different move, the last move it used and last move it chose for use are set to that different move, and PP is reduced from the move ordered instead of from that different move. (If the move is used this way and it has 0 PP, the game erroneously subtracts 0 by 1, resulting in the value 255 (that is, 256 minus 1, wrapping around to 8 bits), or 63 PP (low 6 bits) and 3 PP Ups used (high 2 bits).)
-
If another random integer from 0 through (L + B - 1) is greater than
or equal to B:
No obedience check is done while Thrash, Petal Dance, Bide, Rage, multi-turn attacks, or two-turn attacks are continuing for the Pokémon.