Catch rate glitches (Generation II): Difference between revisions

Jump to navigation Jump to search
Content added Content deleted
>Sherkel
No edit summary
>Sherkel
No edit summary
Line 15: Line 15:
.done
.done


What the code does is set a value increasing catch rate to 10 if the opponent is asleep or frozen, and do nothing otherwise. The "and a" is presumably intended to read from WildPokemonStatus and set the value to 5 if there is a different status condition; however, the "jr nz" preceding it prevents this from being able to occur, as WildPokemonStatus will not be 0.
What the code does is set a value increasing catch rate (referred to as "a" in Bulbapedia's explanation, linked below) to 10 if the opponent is asleep or frozen, and do nothing otherwise. The next few lines are presumably intended to set the value to 5 if there is a different status condition present; however, the "jr nz" preceding it prevents this from being able to occur, as WildPokemonStatus will not be 0.


One possible fix would be modifying the code to the following:
One possible fix would be modifying the code to the following:
Line 30: Line 30:
.done
.done


This would instead jump to ".done" if c was 0, indicating no status condition present, and instead set it to 5 if the opponent was inflicted by a status condition that was not sleep or freeze.
This would instead set c to 5 if the opponent was inflicted by a status condition but not asleep of frozen before jumping to ".done", rather than doing so prematurely.

==See also==
* [https://bulbapedia.bulbagarden.net/wiki/Catch_rate#Capture_method_.28Generation_II.29 Bulbapedia's article on catch rate]


==Attriution==
==Attriution==