Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Generation III Glitch Discussion

Shift Glitch Experiments - Page 1

Shift Glitch Experiments

Posted by: VaeporSage
Date: 2010-10-28 15:02:56
As you probably know, I've been thinking a lot recently about the Shift Glitch. We know that in FR/LG, it produces ó {é Áî, and in Emerald it produces YOPs. But what would happen if we were to test this in the other Gen III games, i.e. Ruby/Sapphire, Colosseum and XD? (Provided Shift features in the GCL games) You could also enter Double Battles with 3+ fainted Pokemon on your team and see what happens.

Obviously all of this would require hacking, because you can't use the Pomeg Glitch to faint Pokemon in Gen III games outside FR/LG/E. Basically, you'd just need to hack to have 2+ fainted Pokemon on your team (and only fainted Pokemon) and do these steps:

1. Have the Battle Style as Shift.

2. Enter a battle, and Revive a Pokemon that isn't in battle.

3. When it asks you to switch, say yes.

4. Don't send out a Pokemon, and select Cancel/B instead.

If it goes well, we may well discover new glitch Pokemon!

Re: Shift Glitch Experiments

Posted by: Torchickens
Date: 2010-10-28 15:17:19
The Shift Battle system isn't used in Double Battles IIRC, though isn't there at least one 'single battle trainer' in Colosseum and XD? I can't really remember because its so long ago since I played the games. (yet, the Shift Battle system may have not been implemented into the GCN games at all)?

Re: Shift Glitch Experiments

Posted by: VaeporSage
Date: 2010-10-28 15:48:49
It would definitely work in R/S though. Can someone test this out?

Re: Shift Glitch Experiments

Posted by: Torchickens
Date: 2010-10-28 16:56:07

It would definitely work in R/S though. Can someone test this out?


Now that I've tried the glitch out its helped to understand it a little bit more. Previously I thought that you and the other Hall of Origin members meant that the "Trainer is about to switch Pokémon" message appears as soon as the 0 HP (Fainted) Pokémon is forced to be switched out for another Pokémon but now I know that you actually have to try and switch in the Pokémon you just revived first. (That's unless it's functioning on Ruby/Sapphire different?)

Well, I generated a 0 HP code via VBA's 'cheat finder' function and used it to automatically faint my starter (but not black out) after running from battle, where my only other Pokémon was a fainted Zigzagoon. I proceeded to "Youngster Calvin" and sent out my fainted (0 HP) Torchic and revived my Zigzagoon. The screen returned to battle, but then immediately back to the "choose a Pokémon" screen but it wouldn't let me cancel, just select Zigzagoon so I chose Zigzagoon.

I received the ("(Trainer) is about to switch Pokémon") message so I chose Yes to switch Pokémon and this time it let me cancel, sending out a level ?8 sleeping shiny Bad Egg (female) with some large number/0 HP.


Edit: I had a quick search for the species data regarding ó {é Áî in FireRed/LeafGreen (Though labelled as ~B ó Á N I suspect due to emulations problems: though it wasn't exactly named "B ó Á N) and it's identifier seems to be 019C (412); this as luck seems (hoping it was a high non-freezing value we haven't documented on the DecDex yet) points to a value which crashes the game when forced into a normal battle, so we can't really make any conclusions yet about the actual ('default') characteristics associated with this glitch Pokémon yet :(. (Though we can rely a little on the base stats, etc. Koolboyman extracted).

Wait, I just forgot! 019C is the default identifier for just an ordinary Egg "-" in Ruby/Sapphire. I noticed that when testing this on Ruby, although I sent out a Bad Egg because of the "Pokémon's" bad checksum, the game displayed that I sent out an Egg first). Maybe from this we can conclude that either: ó {é Áî (default name unconfirmed) is the equivalent glitch Pokémon of "-" in FireRed/LeafGreen (reportedly false), or: ó {é Áî is just a "-" with invalid associated name and 'temporary in battle sprite' data.

Re: Shift Glitch Experiments

Posted by: VaeporSage
Date: 2010-10-29 05:37:35
It's very confusing if you haven't tried it out first. I do have the ó {é Áî video up on YouTube, but it's pretty bad quality.

From the looks of it, you did it exactly correct. In the first instance where you send out a Pokemon, there's only one option: Choose a Pokemon. However, the second switch is a different type of switch altogether, because it's a switch (optional) where you can select a Pokemon to send out, before your opponent does (even though they're not sending out a Pokemon in the first place). That of course means that you get to either send out a Pokemon, or Cancel.

I think that because the game knows that there is a possibility of 2 Pokemon simultaneously being sent out, it gets rid of the first instance, and that means that when you Cancel, there's nothing to send out.

That's a pretty bizarre Pokemon you got, anyway. I thought the result might be more similar to Emerald, but I suppose Emerald is pretty heavily based on FR/LG.

Maybe researching YOPs and your Bad EGG could yield more information on ó {é Áî seeing as they're the same Pokemon, right? Although you could be right in saying that ó {é Áî is just non-Pokemon data converted into Pokemon form to prevent a crash.

Maybe if there was some sort of cheat to preserve a YOP outside of battle, so that you could see its base stats? Only problem is that you never actually have a YOP in your party.

Re: Shift Glitch Experiments

Posted by: Torchickens
Date: 2010-10-29 09:06:27

Maybe researching YOPs and your Bad EGG could yield more information on ó {é Áî seeing as they're the same Pokemon, right?


They were both of species identifier 412 (019C) - the default identifier for an Egg in Generation III like Generation IV's 494 (01EE) so essentially I was battling with an Egg but an invalid checksum of the contained Pokémon must have returned the "Bad EGG" error message. ó {é Áî might have bypassed the "Bad EGG" check.

I haven't tested what identifier a YOP is yet.