RBY: Psywave, Imperfect DVS, and Thawing Desync Glitches

Hello,

This post follows the RBY Counter community vote and the discussion about various unfixed issues, mainly Psywave, Imperfect DVS, and Thawing Desync Glitches. The RBY council discussed them and made the following decisions:

Psywave


By voting to patch Counter whenever it causes a desync, the RBY community showed that it preferred patching desyncs over banning them. Right now, Psywave is banned because it has a chance of causing a desync depending on the level of the user. At level 100, the desync chance is 0,662% (1 out of 151). In order to be consistent with how the RBY community handled Counter, Psywave will be patched and unbanned from RBY, which means that from now, Psywave when used by a level 100 Pokemon will have a 0,662% chance of failing. Since this is level dependent and can affect RBY Random battles, the %fail will be implemented for every level, which you can find in this file. The formula is 1/(floor(level*1.5)+1).

Imperfect DVS


It has been discovered a while ago that perfect DVS are not obtainable on Pokemon caught in random encounters.
This is how DVs are determined in RBY :
4 RNG numbers are generated in order: RNG for the encounter, an unused RNG number that gets discarded, RNG for a 0-255 number that gets broken up into Speed and Special DVs, and RNG for a 0-255 number that gets broken up into Attack and Defense DVs. New numbers are generated based on the previous number. And since the number generated for the encounter only allows values below the encounter rate value, there's a limited pool of successful encounter numbers, which means the RNG for DVs is stuck with a shallow pool to base their own random generation off of. This causes the issue with limited DVs, and unfortunately for RBY, it cannot generate 255 values (which would give us the ideal 15/15/15/15 DVs). The only Pokemon who can generate full 15 are Pokemon that don't use encounter values. Starters, in-game trades, fishing and overworld Pokemon are all able to generate 15/15/15/15.

For Tauros, for example, the best DVs found are 14 HP/15 Atk/15 Def/14 Spe/15 Spc and 15 HP/15 Atk /15 Def/15 Spe/9 Spc, which will affect calculations:

Example of differences in these Tauroses:
Lapras/Jynx Blizzard vs. Tauros (9 Spc): 166-196 (47 - 55.5%) -- 76.2% chance to 2HKO
Lapras/Jynx Blizzard vs. Tauros (14 HP): 159-187 (45.5 - 53.5%) -- 39.3% chance to 2HKO
Lapras/Jynx Blizzard vs. Tauros (Perfect): 159-187 (45 - 52.9%) -- 27.7% chance to 2HKO

The only confirmed way to have perfect DVs for every RBY Pokemon would be to transfer them from GSC, which means that we would technically allow to use GSC DVs, but not GSC Tradebacks. We decided to go with that option mainly because it sounds very inconvenient to make players choose a DV spread in their RBY teambuilder. The chances that it ends up being a driveaway for new players seemed too high for the gain of a very niche way to respect cardridge mechanics. It is basically a case of cardridge accuracy vs simulator convenience, and we went for the latter because RBY as we play it on a simulator is more built towards convenience.

The fact that you can’t have perfect DVs on certain Pokemon on RBY will be patched (or ignored, as nothing needs implementation), making this discovery acted on.

Desync glitches triggered by thawing


This desync was discovered by Crystal_. If you are interested in the full details of this glitch, please watch this video and read its description.

- Player A uses an Ice Move while Player B switches, and Player B gets frozen.
- Player A uses a Fire Move and Player B unthaws: this will lead to the cart of the player who was frozen to believe the move selected to be the last selected move as in the counter scenario, whereas the cart of the player who was not frozen will believe the move selected to be either the first move in the moveset, in the case where there was not a move selected since the last switch, OR the last move selected otherwise, causing the desync.

To avoid the desync being caused, both players simply have to make a series of switch so that the frozen pokemon, if it is slower, gets unthawed while it switches into the fire move

As this desync is avoidable in a majority of cases if two players played a game on cardridge while being aware of how it works, we have also decided to patch it, the alternative being banning Fire moves which does not seem like a good option for such an obscure situation. The desync glitches triggered by thawing are currently unimplemented due to incorrect implementation of thaws in RBY. Currently when a Pokemon thaws it will use the move selected by its trainer on that turn. When thawing move selection is implemented correctly (which we will look into after all of this is settled), the desync will be patched, causing the thawing Pokemon to not make any move.

Tagging Marty and Zarel to implement the Psywave change. Also, it seems like the Counter Patch the RBY community voted for has not been implemented yet, can you implement it as well please ?
 

DaWoblefet

Demonstrably so
is a Battle Simulator Administratoris a Community Leaderis a Programmeris a Community Contributoris a Top Researcheris a Top Tiering Contributoris a Social Media Contributor Alumnus
PS Admin
Regarding imperfect DVs: wouldn't it be easier to justify that perfect DVs can be obtained trivially via arbitrary code execution, such as through 8F or ws m? It might seem a little ad hoc to say "well, ACE is only allowed to give Pokemon perfect DVs" and not be allowed for anything else that wouldn't be ordinarily possible, but I think that's at least a better reason than simply saying "these discovered mechanics are being ignored to preserve player preferences in the metagame".
 
Last edited:

Hipmonlee

Have a nice day
is a Community Contributoris a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnusis a Battle Simulator Moderator Alumnusis a Four-Time Past WCoP Champion
I don't think ACE will ever be used to justify a rule change. Even for situations where we are legitimately changing the game with sleep clause, freeze clause and desync patches, we dont try to justify it using ACE. Instead we just admit that we are patching the game on the simulator because doing so makes the game playable.

But perfect DVs are trivially obtainable through tradebacks. It is much more consistent in my opinion to allow tradebacks to be allowed, but only for DVs, than it is to say that ACE is allowed, but only for DVs.
 
The fact that you can’t have perfect DVs on certain Pokemon on RBY will be patched (or ignored, as nothing needs implementation), making this discovery acted on.
I assume this is referring to the Legendaries (the Birds and the Mews) since they're unobtainable in GSC. While the fossils (except Aero) and Kanto Starters are also not found in those games, they can at least breed.
 

Hipmonlee

Have a nice day
is a Community Contributoris a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnusis a Battle Simulator Moderator Alumnusis a Four-Time Past WCoP Champion
No, the legendaries are one of the few things that can have perfect DVs in RBY without GSC tradebacks. RNG rolls are not completely independent, for most pokemon the fact that you need to first have a successful encounter check means that not all values are possible when determining the DVs. For the Legendaries this is irrelevant because there is no encounter check.
 

Cynara

Banned deucer.
Perfect DVs is honestly a really tricky topic for Policy review. Perfect DV/IVs effect pokemon up until Generation 4 (not just RBY/GSC), there are some nature/iv combos that are actually impossible and a fuck ton of edge cases, and cause a lot of time for developers to implement. Example in Generation 3/4: Timid 31/0/31/31/31/31 is not actually possible on Pokemon generated by Method 1 (legends/stationaries), as one example (they are endless). I guess the real question is, how far do you wanna go for maximum cart accuracy? RBY/GSC glitches such as Artibtary code execution (8F/Coin Case glitch) cause additional problems for this PR, as it allows for the user ingame to obtain any perfect DV Pokemon, this is another point of discussion of itself, if we agree that use of 8F is acceptable to obtain Pokemon, then the simulator should allow for Perfect DV pokemon.

As someone who is deeply involved with Pokemon mechanics such as generation of Pokemon IV/DVs, I'm willing to contribute to this, if this is the stance people want to take, but it is a lot of work.
 
Last edited:

Hipmonlee

Have a nice day
is a Community Contributoris a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnusis a Battle Simulator Moderator Alumnusis a Four-Time Past WCoP Champion
My inclination is that this is an incredible amount of work for very little gain.

Part of the reason that I didnt want to allow perfect DVs in RBY is because it isnt clear to me whether the Mew glitch would make perfect DVs possible. To work out whether in all circumstances certain combinations are impossible feels next to impossible to me.

OTOH, if there was a cross-gen effort to really get this right, and it was well supported in Showdown (so you dont just have to try combinations until it passes the validator) as well as the official calc, I wouldnt really be opposed to following it.
 

Cynara

Banned deucer.
My inclination is that this is an incredible amount of work for very little gain.

Part of the reason that I didnt want to allow perfect DVs in RBY is because it isnt clear to me whether the Mew glitch would make perfect DVs possible. To work out whether in all circumstances certain combinations are impossible feels next to impossible to me.

OTOH, if there was a cross-gen effort to really get this right, and it was well supported in Showdown (so you dont just have to try combinations until it passes the validator) as well as the official calc, I wouldnt really be opposed to following it.
Mew glitch can yield different pokemon and various other results such as a glitched trainer fight (some are still undiscovered) depending on player inputs; the reason people go for Mew, because its the easiest way to obtain a mew, and probably one of the only possible nowadays outside of virtual console mew. For reference "Mew Glitched" mons can have perfect DVs, there is an rng element; which 8F and ACE glitches elminate and can guarentee perfect DVs. "Mew Glitches" Generate them on encounter.
 
Last edited:

Plague von Karma

Banned deucer.
1605168523600.png
Hi, here to annoy people again. As some RBY community members know, no action was actually taken on PS to implement the "Desync Clause" for RBY Counter, Psywave, and thawing. There aren't many people handling old gens except, like, Kris and Marty from what I know. Lord knows they're extremely busy...just how the hand has been dealt, unfortunately.

So, I decided to make a start myself by patching Psywave, which was merged into PS Main 5 hours ago. This also updated Stadium so that it doesn't end up inheriting the fail chance and deals 1+ damage rather than 0+, so nothing changes there. Chances are this will only come up in Random Battles, where the chance for a desync is effectively made higher by the lowered levels. You could also say LC Tradebacks or some side formats, but if you use Psywave there...I have a lot of questions. Thanks to Zarel for helping me out with getting this up and running.

I do want to see the other patches done, but my knowledge of TypeScript (and PS code, honestly) is quite limited, so don't expect too much from me. I may try my hand at the thaw desync since it seems to be the simpler one...
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top