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

Test to find out the Ability of a Pomeg Glitch Pokemon - Page 1

Test to find out the Ability of a Pomeg Glitch Pokemon

Posted by: VaeporSage
Date: 2010-10-24 14:05:33
I recently rediscovered an idea I had to find out once and for all which Ability Emerald's Pomeg Glitch Pokemon has. For this, you need a Secret Base with a Trainer that has a Pokemon with only the move Memento, and a second Pokemon with the Ability Trace.

The Pokemon requires that your Battle Style is set to Shift to send it out.

To send out the glitch Pokemon, have only fainted Pokemon in your team, and 2 or more of them altogether. Enter a battle. You will send out a fainted Pokemon. Use a Revive item on any fainted Pokemon that is not in battle, and send that Pokemon out. The game will proceed to ask you whether you would like to awitch. Select Yes, but don't send out a Pokemon. Instead, press B/Cancel.

The Glitch Pokemon should have the same species, sprite and stats as the Pokemon your opponent is using. The Pokemon cannot attack, so you have to throw a Poke Ball for anything to happen.

Your opponent's first Pokemon will use Memento and faint. When it does, you will have to send out the Glitch Pokemon again (which you can do infinitely) because your Revived Pokemon is legible for battle.

The oponent will then send out a Pokemon with Trace, which will display the Glitch Pokemon's Ability.

Re: Test to find out the Ability of a Pomeg Glitch Pokemon

Posted by: Torchickens
Date: 2010-10-24 14:27:32

I recently rediscovered an idea I had to find out once and for all which Ability Emerald's Pomeg Glitch Pokemon has. For this, you need a Secret Base with a Trainer that has a Pokemon with only the move Memento, and a second Pokemon with the Ability Trace.

The Pokemon requires that your Battle Style is set to Shift to send it out.

To send out the glitch Pokemon, have only fainted Pokemon in your team, and 2 or more of them altogether. Enter a battle. You will send out a fainted Pokemon. Use a Revive item on any fainted Pokemon that is not in battle, and send that Pokemon out. The game will proceed to ask you whether you would like to awitch. Select Yes, but don't send out a Pokemon. Instead, press B/Cancel.

The Glitch Pokemon should have the same species, sprite and stats as the Pokemon your opponent is using. The Pokemon cannot attack, so you have to throw a Poke Ball for anything to happen.

Your opponent's first Pokemon will use Memento and faint. When it does, you will have to send out the Glitch Pokemon again (which you can do infinitely) because your Revived Pokemon is legible for battle.

The oponent will then send out a Pokemon with Trace, which will display the Glitch Pokemon's Ability.


That's quite a good idea, we really need to research these "YOPs" in terms of what they actually are. It's a shame that we can't try this with ó {é Áî on FireRed and LeafGreen because of 'its' endless battle animation and how it would delay the X's (Y) was traced process.

Edit: Thinking about this a little, it seems that by sending another Pokémon out before the opponent has a chance to attack (and with the user fainting, but not due to Spikes - where Spikes probably sets a flag to make the game consider it is still the user's 'turn') forces the game to take it as the opponent's 'turn'. Perhaps in this case, the game proceeds to the 'opponent's turn' but since no attacking data has been defined the game by default considers that the opponent is going to switch Pokémon? After exiting the Yes/No message via B, the game still checks the user's party to find that it is fainted but (for some reason) this forces a switch to an undefined Pokémon. I guess on Emerald that the data structure is a little neater than FireRed/LeafGreen, so it takes information from the next, closest valid set of pointers (stored opponent's Pokémon) instead?

Re: Test to find out the Ability of a Pomeg Glitch Pokemon

Posted by: VaeporSage
Date: 2010-10-25 14:40:10
I think I can actually test this myself, because I restarted my Ruby and I only have to beat Flannery to get a Secret Base.

I have a personal theory on why glitch Pokemon are sent out. It's a matter of timing and a general oversight in the programming of the Shift Battle Style.

Because you've essentially sent out a new Pokemon (in the same way you do at the beginning of a battle) instead of battling, using items etc, the game somehow interprets it as that your opponent is sending out a new Pokemon. (probably because it doesn't make sense that you would be, because you have an active Pokemon out)

After selecting Yes, the game is faced with a dilemma. You were sending out a Pokemon, and directly afterwards, you chose to send out another. I suspect that the game has some sort of inner mechanism to deal with this, and it does so by terminating the process of the original Pokemon being sent out, and then awaits your choice of new Pokemon.

However, this time, you may also choose Cancel. This means that you have left the game with nothing to sent out. Because the game in this instance must send out something, it sends out 'nothing,' because you specified nothing. 'Nothing' here, of course, is the Emerald Shift Glitch Pokemon.

It would indeed be great to research this peculiar Pokemon. I think it has a lot of potential that we haven't quite tapped into - much like the Void in D/P.

I'm not sure what you were saying about Spikes - I believe what would happen with Spikes is that unless your opponent had Levitate or the Flying type, the Pokemon would faint. Emerald's Shift Pokemon faints whenever it's damaged, and when it does, if your opponent has more than one Pokemon, your opponent's sprite disappears, and this causes all sorts of graphical glitches. (If your opponent only has one Pokemon, you oddly go on to win the battle, because the game believes that your opponent's Pokemon has fainted, which it has, but not by normal means.)

Re: Test to find out the Ability of a Pomeg Glitch Pokemon

Posted by: Torchickens
Date: 2010-10-25 17:53:09

However, this time, you may also choose Cancel. This means that you have left the game with nothing to sent out. Because the game in this instance must send out something, it sends out 'nothing,' because you specified nothing. 'Nothing' here, of course, is the Emerald Shift Glitch Pokemon.


I guess that because you are on the switch Pokémon screen but your first Pokémon has just fainted, the moment you press B, the game first considers loading the original Pomegged 0 HP Pokémon but deems it to be 'invalid' (bad checksum for choose-able Pokémon to send out - as you wouldn't be able to choose it in normal circumstances), so instead, yes in that sense it would send out arbitrary data from invalid pointers data (though the final result wouldn't be exactly 'nothing' because rendered as a fainted level 0 GenIII:000 with 0 HP, etc. which wouldn't match the "don't allow fainted Pokémon" check) if you selected B, instead of your final Pokémon. Essentially the withdrawn data should roll over from elsewhere somewhere, where the first stored non-fainted 'Pokémon' with >0 HP works (in this case, what the opponent is going to send out), or in FireRed/LeafGreen (the reason I put 'Pokémon' like that), something else to do with the battle engine but not Pokémon data which gets erroneously translated and forced into a Pokémon template.


I'm not sure what you were saying about Spikes - I believe what would happen with Spikes is that unless your opponent had Levitate or the Flying type, the Pokemon would faint. Emerald's Shift Pokemon faints whenever it's damaged, and when it does, if your opponent has more than one Pokemon, your opponent's sprite disappears, and this causes all sorts of graphical glitches. (If your opponent only has one Pokemon, you oddly go on to win the battle, because the game believes that your opponent's Pokemon has fainted, which it has, but not by normal means.)


I wasn't directly talking about what effects Spikes would have on the 'YOP' itself, when sent out by the player but rather, I was wondering why precisely, in normal gameplay when the Spiked Pokémon is sent out and faints the enemy Pokémon isn't forced to make an action (where if this action was undefined, would the opponent likely switch Pokémon by default?) after you choose and send out another Pokémon (i.e. still being your turn). Though on second thoughts, you could generalize this (checked flag/switch) to any situation where the user's HP drops to 0 (or rather faints) before having a chance to attack (fainting via the Spikes being your turn too). Using an item probably doesn't check this flag (because there is no way in normal gameplay for a Pokémon to faint 'due to one's own item when it's still your turn'), so nothing stops the game proceeding on to the opponent's but the enemy trainer's action remains undefined, forcing the opponent to switch Pokémon by default?


It would indeed be great to research this peculiar Pokemon. I think it has a lot of potential that we haven't quite tapped into - much like the Void in D/P.


It seems like the YOPs share an identifier/index number with the 'real Pokémon' the opponent was going to send out unfortunately :(, so they probably aren't 'unique glitch Pokémon', though its in no doubt notable when the results are consistent, a little objective and are possible without using a game-altering device.

Though, I'm excited about ó {e Ái. I think I'll go check to see if its 'floating characteristic' is unique to its own identifier (by checking it via a 'your current Pokémon address') and not just a phenomenom of the 'YOP method'.

Re: Test to find out the Ability of a Pomeg Glitch Pokemon

Posted by: OwnageMuch
Date: 2010-10-25 22:50:07
I can't wait to see the results!

Re: Test to find out the Ability of a Pomeg Glitch Pokemon

Posted by: VaeporSage
Date: 2010-10-26 04:38:12
I managed to test it out today. Nothing happened for me, but I'm very sure that I did something that was the only reason it failed.

When my Ruby trainer sent out Kirlia, the game genuinely asked me whether I wanted to switch (my glitch Pokemon was already out) and I said no. This meant that because the glitch has to be sent out twice to register as a semi-valid Pokemon, (that's a quirk of YOPs that I forgot to mention) I sent the YOP out once, then Kirlia was sent out, then the YOP was sent out for the second time, and by that point Kirlia was already in battle, and the timing wasn't correct for Trace to activate. I'll try again tomorrow.

On the Ability thing as well, on one occasion when a Kadabra used Role Play on my YOP, it said, "But it failed!" I'm quite sure that the Ability could be - (No special ability) but it's odd that it doesn't share an Ability with the opponent's Pokemon.

EDIT: I mixed records again so I could try again, but this time, when the YOP was sent out one time, and the game asked me whether I should switch because Kirlia was being sent out, I selected yes, and selected Swablu hoping that the game would again ask me to switch, it didn't. I was then left with a Swablu active and no more YOP.

On the topic of whether YOPs are inividual Pokemon, I personally believe that they are one Pokemon - but one with much variable data. I've found that in general (barring one particular occasion) they are all of the Ghost/Poison type, and they don't share Abilities with the opponent's Pokemon, the initial fainted Pokemon, or even the Revived Pokemon.

Is the - Ability compatible with Role Play anyway? Only Wonder Guard as far as I know produces the 'But it failed!' message with Role Play, and Wonder Guard is DEFINITELY not YOP's Ability.