Unused "Used a (TYPE) move" messages (Generation III)
Read description for more information:
These unused move messages in Ruby, Sapphire, Emerald (and FireRed/LeafGreen?) appear when you use a move with an index number greater than 0x162 (dec:354), Psycho Boost. But they don't always appear, because of glitch moves which have invalid types (which would make them load glitch messages instead of these messages), and maybe other factors.
Thanks to Wack0 for explaining why they appear. http://forums.glitchcity.info/index.php/topic,7156.msg197344.html
The game has a pointer table to a list of messages to use when the move ID is greater than 0x162 in the form of (Used) "a (x) move" or (Used) "an (x) move", and the game uses one of these pointers based on the type of the move.
Therefore, if you use say a Dragon-type move with an index number greater than 0x162, the game will say "Used a DRAGON move". If the selected move is of an invalid type (above DARK, 0x11), a string from an invalid pointer is used located after the pointer table.
Messages include:
a NORMAL move
a FIGHTING move
a FLYING move
a POISON move
a GROUND move
a ROCK move
a BUG move
a GHOST move
a STEEL move
a ??? move
a FIRE move
a WATER move
a GRASS move
an ELECTRIC move
a PSYCHIC move
an ICE move
a DRAGON move
a DARK move
Unfortunately the game glitched out when I tried to display "used a FIGHTING move" and "used an ELECTRIC move". I think this may be a bug. It happened via the No$GBA debugger method too with Double Kick, a Fighting-type move.
Method to see the unused messages.
1) Using the code 02024BE6:0163 will make the game think you used the hex:0163 glitch move, with an ID located just after Psycho Boost. This glitch move is Dragon type, so using it will display "Used a DRAGON move". If you modify the offset 0x1FC1D2 in Ruby USA (MD5 53D1A...) with a hex editor, then you can change the type of this glitch move and get other messages.
2) Wack0's method: With No$GBA debugger break at 8120DF8 (on English Ruby) by right clicking, clicking "Toggle Break" and using a move, and then change r1 to a number above 0x162.
Addendum:
In the Japanese version of Ruby, the game displays "(TYPE)わざ" after "(POKéMON)の", e.g. "ラティオスのかくとうわざ!" (Latios' Fighting move) and I couldn't see any bugs with any of the valid types. Curiously, "???" is referred to as the はてな ("question") type.
To test the messages in Japanese Ruby, use the VBA code 02024946:0163 and modify offset 0x1CDF86 to a value of your choice (normal max is 11, あく type).