Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
ItemDex
TrainerDex
TypeDex
UnownDex
More

Major Glitches
Trainer escape glitch
Old man trick
Celebi Egg trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Rival LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg corruption glitch (Glitzer Popping)
Tweaking
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitches
More

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

References
Pokémon GameShark codes
The Big HEX List
Glitch Pokémon cries
GB programming
Curiosities
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Technical
Site Source Code

Search Wiki

 

Search Forums

 

Author Topic: Is there a way to control what glitch moves I get using the Pomeg glitch?  (Read 337 times)

0 Members and 1 Guest are viewing this topic.

rortik

  • GCLF Member
  • Offline Offline
  • Pokemon Yellow: Best game ever
    • View Profile
On a similar note, is there a list of all the glitch moves and their effects? I've been messing with my Emerald cart a bit and have gotten some cool stuff like higher-than-protect priority moves and ones that glitch out the battle, but it's all random "corrupt stuff then pray I get cool things" without any method to the madness.
~Rortik

Wack0

  • Coder, reverser, beta collector [BetaArchive staff]
  • Staff
  • *****
  • Offline Offline
  • Gender: Male
  • cBRH - Doing nothing since 2k7
    • View Profile
On a list of invalid moves and their effects, not yet. And most invalid moves basically are the Gen III equivalent of Super Glitch because of not only the move / type(?) names being very long (I can't remember if type names inside battle get length-capped or not) but also the "a TYPE move" mechanic (an invalid type here overflows the pointer array, causing the shown move name when used to be also potentially very long). For an invalid move to not have these effects it needs to have a short enough name and a valid type.
(This is also the cause of the "Instant Win", "Instant Flee" etc moves, the long strings getting copied around overwrites the battle type)
« Last Edit: August 18, 2017, 04:23:44 am by Wack0 »
C H E C K E D . B U I L D S . A R E . A W E S O M E N E S S

BetaArchiveSoftHistory Forumsirc.rol.im #galaxy,#softhistory

Also known as The Distractor.

Shane, please stop telling children that there's a Mew outside under the delivery trucks. - Management

Pokémon: arbitrary code execution 1996-2016

Evie ✿

  • Administrator
  • *****
  • Offline Offline
  • Gender: Female
    • View Profile
Yeah it's very possible fortunately. :)

If you use the in-game trade Plusle in Emerald (known as Pluses), its first move will always be controlled by its Attack and HP EVs, with the Attack EV being the most significant byte and the HP EV being the least significant byte.

The move IDs for valid moves can be found here in decimal (which you'll have to convert to hexadecimal to know what the most significant byte is and convert it back). So for instance you want Psycho Boost. That is ID 354. Converted to hexadecimal it is 01 62. Convert them back and we get the most significant byte as 1 (1 Attack EV) and the least significant byte as 98 (98 HP EVs).

Though it's not exhaustive, Metarkrai has a list of useful effect glitch moves in this Pastebin.

Hope that helps!
« Last Edit: August 18, 2017, 08:25:45 am by Torchickens »
Hi! I identify as transgender female.  She/her pronouns, please.

Online I most often use the username Torchickens or Chickasaurus.



Thank you Aeriixion for the cute sprite above! :) Roelof also made different variations of the sprite (which I animated).

Contact:

Email Youtube Twitter
Skype: Torchickens
Bulbapedia Starfy Wiki

I like to collect interesting video games.
https://www.vgcollect.com/Torchickens

The psychology of birth (including spiritual birth): pain>acceptance/courage in face of pain>embracement>unconditional love and strength

Beyond all philosophies are the things that go best for you; what makes you feel content. It's important to always follow your heart, so unless you feel perfectly happy about it don't just follow something because it is popular, fits a style or is conventional. Sometimes you may reach a point you're not sure who you are, but as things settle I'm convinced things do work out in time.

Metarkrai

  • Distinguished Member
  • *
  • Offline Offline
  • Gender: Male
  • This is for you, Melodou !
    • View Profile
You can do a "list" of all glitch moves (name, and effect) from a Gen III Rom then use a program to search through that list for glitch moves with certain characteristics.
For example, if you want a move with high power, more than 100 accuracy, and some priority, using a tool like that will make things easier for you.
If you're interested into this, I can give you the scripts that ThezzAzzGlitch kindly made for me (even though they aren't very deep) and indicate you where the lists start from.

Since the parts of the Rom that is used to determine the name and effects of glitch moves is not the same through all games (R/S/E/Fr/Lg) and through all languages (Eng/Fr/Ita/Spa/Ger/Jpn), the name and effect of most glitch moves are different from a version to another.
In general, the first thousand glitch moves have the same characteristics on every language, as well as between R/S or Fr/Lg, but aside from that you have to expect that glitch move 0x547A is quite different in Emerald Fr than in Emerald Eng.

Glitch Moves can be used or can crash/freeze the game in many ways.

If a glitch move doesn't have a valid effect, it always seems to freeze the game. (I haven't tried all invalid effects but it always seems to be the case)

If a glitch move name is too long (more than ~1100 characters or something like that), opening the "Fight" menu during a battle will crash the game because the game overwrites some values that manage the fight. (The game forces itself to write the whole glitch move name when you open the fight menu, and overwrites many RAM values in the process).
You can change certain RAM values with a glitch move name, but it's restricted to a block of ~1000 bytes somewhere in RAM. (While some uses have been found, some nice gimmicks could be found if you can find one RAM value or two in that block that have a specific use)

When you use a glitch move, the name of the move you use is often different from the name you have in the "Fight" menu.
I still don't know why this thing happens, but this is another souce of crash as certain character sequences that the game displays can freeze the game (especially the ones with the "oe oe oe oe....")
If the glitch moves have valid types, then the move name isn't displayed and the game uses the "a TYPE move" sentence instead, as Wack0 said. (which is quite useful in speedrun as it saves many frames since there are way less characters to type onscreen)
The name that is displayed when a glitch move is used seems to mainly depend on the move's effect. (For example, when you use a move with Guillotine's effect, the name displayed when you use the move always end up with "the great new hope !") However, I don't know why or how this happens, as it is not true for all effects.

A glitch move's name can also freeze the game on some other cases where the game tries to store the move's name somewhere and ends up erasing important values/in an overwriting loop.
This can happen when trying to forget/learn a glitch move, or when certain moves in battle will have an effect on the previously used glitch move (like Sketch for example).
As previously, if the glitch move's lenght is not important, you will not freeze.

The sprite for Glitch Types can also crash the game when you see them in a Pokémon's summary. (Many do but some don't. There are even some glitch types that only crash the game after a few seconds, leaving you some time to enjoy the show or prevent the crash.)

There is a safety measure in emerald that prevents the game from overwriting data when writing a name that is longer than intended, but this feature is only used in a Pokémon summary.
As such, long glitch move names have no effect in a Pokémon summary and don't crash the game.
Viewing the description of a glitch move name has no side effect too.

For everything related to the summary, things are different in RS and FrLg as they are coded differently.
In RS, you won't crash from a Glitch Type sprite, but long glitch names do overwrite some RAM data (I used that to remove the Safari Mode while inside Safari Zone).
In FrLg, every page of the summary is loaded in advance, and many things aren't treated the same way, and glitch moves (as well as glitch pokémon) can induce many graphical glitches as well as some boundary breakers (allowing you to scroll beyond the 6th party slot or beyond the 30th PC slot for example).

In RS, having glitch moves in the "Fight" menu also causes graphical hindrance with many japanese characters (this can also crash the game during the process).
A few nice things can be seen this way.

The adresses for glitch moves animations are also read on a certain part of ROM. Almost all glitch moves animations will crash the game in some way.
Some Glitch Moves animations can show different effects over multiple attempts. (some can be cool like changing the music or throwing a Ball, but it's not something you can efficiently reproduce)

Regarding trades, you can't trade a Pokémon knowing a glitch move from one version to another if this glitch move has a long name (more than 10/11 characters) in one of the two versions.
However, you can use the wireless trade station thing (like GTS) in E/FrLg to trade Pokémon with Glitch moves without any issue.
Else, you have to use the in-game traded Plusle and follow several steps to transfer any Glitch Move to any Gen III game (https://pastebin.com/237FpUTf ).


Thus, the known useful uses of glitch moves are as follow :
-Use Glitch moves with super strong effects/accuracy/pps/priority to easily go through some battles.
-Use Glitch Moves names to change the battle type to allow bag usage and Pokémon capture.
-Use Glitch Moves names to change the battle type into a dev type that ends the fight when B is pressed.
-Use Glitch Moves to do fun stuff in FrLg Pokémon summary or in RS Fight menu.
-Use Glitch Moves Animations to call certain RAM areas and execute arbitrary code (needs setup but doable, I still haven't finished writing down a good procedure)
-Use Glitch Moves names to get into RS Safari Zone but without Safari Mode.
-One or two things I may have forgotten.


Also, for the speedrunning case, I would like to emphasize that even though some Pokémon/glitch moves combinations can make battle Frontier/battles really easy, it is not that easy to get a working combination in an optimal time. (I am still struggling about the moves combination for the Battle Palace team in order to remove most of the bad luck scenarios.)

Parzival

  • The Betrayed, The Cleansed, The Reborn
  • GCLF Member
  • *
  • Offline Offline
  • It begins.
    • View Profile
    • YT Channel
 O_o What'd you do, copy the entire Wiki into a post?
Well, at least you were thorough.
Ask me about betrayal.
Ask me about depression.
Ask me about death.
Ask me about destruction.
Ask me about hardship.
I've been through s**t.
If you need to talk to someone, my PM inbox is always open.


Wack0

  • Coder, reverser, beta collector [BetaArchive staff]
  • Staff
  • *****
  • Offline Offline
  • Gender: Male
  • cBRH - Doing nothing since 2k7
    • View Profile
When you use a glitch move, the name of the move you use is often different from the name you have in the "Fight" menu.
I still don't know why this thing happens, but this is another souce of crash as certain character sequences that the game displays can freeze the game (especially the ones with the "oe oe oe oe....")

Same reason as "a TYPE move", basically there's an array of pointers to these strings in the ROM (starts at 0x401604 in EN Ruby), and the array is indexed by the type-id without any checks, thus some uint32 past this array is used as a pointer to the move-string.
C H E C K E D . B U I L D S . A R E . A W E S O M E N E S S

BetaArchiveSoftHistory Forumsirc.rol.im #galaxy,#softhistory

Also known as The Distractor.

Shane, please stop telling children that there's a Mew outside under the delivery trucks. - Management

Pokémon: arbitrary code execution 1996-2016

rortik

  • GCLF Member
  • Offline Offline
  • Pokemon Yellow: Best game ever
    • View Profile
I got some more glitch moves and had some fun stealing wild Pokemon from the Pike, too bad there's not a good way to catch trainer Pokemon.

I wonder if there's some way to steal Factory Pokemon -.-
~Rortik

Metarkrai

  • Distinguished Member
  • *
  • Offline Offline
  • Gender: Male
  • This is for you, Melodou !
    • View Profile
I got some more glitch moves and had some fun stealing wild Pokemon from the Pike, too bad there's not a good way to catch trainer Pokemon.

I wonder if there's some way to steal Factory Pokemon -.-

I found a way to get some the Battle Factory Pokémon by using ACE  to execute an overworld script that replaces your current team by a team made with your last rented party. (the n° and the PID of the last 3 Battle Frontier Pokémon you rented are stored somewhere in RAM and stay there nicely)

Aside from that, if you could determine the order of your save blocks, you could maybe use ACE to copy the opponent's party stored in a battle video and paste it in PC.
Now that I think of it, if there's an overworld script that can be used to move Pokémon from party slots 7-13 (or opponent's Pokémon) to other party slots or towards PC, this script could be used to steal Pokémon from a battle video. (You use ACE to change the RAM adresse that manages the script of an NPC loaded on the map to redirect it towards your script. Then you open your battle video, close it, and talk to the NPC to execute the script and get the Pokémon.)