Mew might be able to be an HM slave for everything. I see no reason the Elite Four can't be taken out with TMs. Delivered from a level 100, Strength is unstoppable. Surf can take the Rock-types and Ghosts. Unfortunately, it would have to learn something for the Pokemon Ghosts place, because it can't take them out with Pound or Cut, and Fly takes way too long. However, this still leaves a question about the cries. Mew has a spectacularly long cry, while Gyarados, Nidoking, and Nidoqueen all have cries I would call "acceptable". Gengar's is quite short.
They all have inherent advantages and disadvantages.
Gengar has a short cry but necessitates the catching of a Surf slave, which necessitates the use of a Good Rod, which necessitates going off the path. So Gengar is quite infeasible.
Nidoqueen can learn Surf and Strength, and has nice attacks. So the only slave necessary is Pidgey. The cry seems to be a little shorter than Nidoking's, too.
Nidoking knows Thrash, which saves time from inputting whatever attack needs to be used. This saves a fair amount of time, both from selecting attacks and from going to Pokémon centres.
Mew requires no slaves, but the cry is quite long. This is a problem. It does save time from not catching Pidgey, but the cry might fully negate that.
Gyarados has a glaring problem: Getting it at level 100 requires manipulating 6 consecutive 1/256 hits. I think I might go a little mad doing that. The cry is an issue, but not much of one.
Don't forget that Snorlax can learn Surf. I used Snorlax as the Surf slave for my original Mew run. No need to get a rod or to go off course. Lick is pretty weak, but in combination with Night Shade, it should carry you through until you learn Thunderbolt (or maybe Mega Drain?). You will have problems with Rock pokémon later, so Mega Drain might be the best option, if you can hold off that long.
Disadvantage being that you will need to learn several TMs along the way in order to make it anywhere. Possible candidates are Bubblebeam, and perhaps Seismic Toss from Route 25 (on the way to Bill's).
You should be able to make it all the way to Poké Tower with just Trash and Bubblebeam, and from there all the way to Indigo Plateau (you'll also have Surf and Strength, but you won't really need them at all). The only bad thing is that you need to go so far out of your way to get him. An alternative strategy might be this: after using Escape Rope in Mt. Moon, go back in an lose to the very first trainer (Lass with L14 Clefairy). This will put you back outside Mt. Moon, closer to the patch of grass on Route 3. Then encounter the Jigglypuff and go back into Mt. Moon to catch the Nidoking. This also saves a little time from having to cancel Charmander's evolution. Whether it would save time overall compared to the other runs is hard to say, but I think this would be the fastest method for Nidoking.
Not only it's cry, but also the need to use Mega Punch (which has a 55 frame slower animation than most attacks). Between Cerulean and Fuschia, I saved almost a minute in my Gyarados run over my Mew run, although the segments was nearly identical for both (OHKOs the whole way). The only difference was the length of the battle cry, and having to use Mega Punch. Mew also has the disadvantage that the process to glitch it takes longer than the others (well, maybe not Nidoking), and you won't have it until after Mt. Moon, which wastes more time. The time saved from not having to catch a Pidgey is only 1500 frames. I can confirm that Mew is the slowest option listed here.
Eh? The Lass' second pokémon is not Oddish, but Bellsprout. Bellsprout will know Growth, which you won't have to manipulate at all. As far as obtaining, this is obviously the fastest choice (although Gengar is a close second). Whether it would remain the fastest choice is hard to say. My feeling is that Nidoking has a very real chance of passing him up towards the end of the run. Nidoqueen and Gengar should be very similar in length; they require more TMs but have shorter cries.
I don't know why you guys are even talking about L100 Gyarados. Gyarados does not have fading experience.
On the other hand, Ivysaur is also obtainable (in the area before Mt. Moon), and has fading experience.
Damn... I haven't been mentally stable when it comes to Pokémon games lately... First when I mentioned a GameShark code as an executablt glitch in Pokémon yellow, now this...
I know that going way back isn't worth it for anything except something with the thrash attack. So I'll see which is better: Nidoking or Gengar. Primo has basically eliminated the other options.
Edit:
I'm now restarting the run (actually, redoing from about 1000 frames in) and I found something. When Charmander has an attack DV of F, it allows for a somewhat faster run. Against Squirtle, the max damage is 6, rather than 5 as lower DVs make it. So the battle will have 2 6-damage crits, then a 3-damage normal attack, then a 5-damage crit. Not having the "critical hit!" message will save about 15 frames. Whee.
Someone on SDA thought of this: When you activate the trainer-fly glitch, a bunch of events are disabled. Could you skip a bunch of trainers/events doing this?
If so, I'm envisioning Viridian->Route 22/23 without needing all badges. You need Surf through Route 23, and Strength in Victory Road, so if it's true, leave from Fuschia and get into a cancelable fight, go to Viridian, and clean house (triggering a trainer fight somewhere in Victory Road just so your A button works and you can actually talk to the E5). Erika, Sabrina, Blaine, and Giovanni (along with Silph Co.) would be skippable entirely (though you would have to take the Pokemon Center in Viridian early on, and avoid the one in Cerulean, if you want to escape rope/teleport there, or else fight Erika for access to Fly).
Not only that, but events are only disabled in the same area where you performed the glitch. For example, example, in Mt. Moon, one can walk past all the trainers on the third level after performing the glitch, but not on the first or second level. This serverely limits its usage.
Just a warning for anyone who considers using Nidoking (or Thrash, for that matter).
Thrash has an added effect that wastes about 1 second when you first use it. Short delay attacks (e.g. Poison Sting, Bubblebeam, etc.) are better for up to 3 Pokemon in a row, barring SE/NVE messages. I noticed it while testing Pokemon Yellow.
A fair bit has been said since I last was here.
Trainer-fly:
Some locations might be passable with it. Of course, it does take a while to execute. And unfortunately, after getting Fly, there are few battles. Most of the battles are at that one place north of Cerulean, and that place east of Pewter. I might have missed a few big sets, but I don't think so.
The only other place that comes to mind is that one dark tunnel, with an escape rope. Might work, might not.
@Primo
You mentioned losing to the lass with a Clefairy. How does that work? Using escape rope sends you to the last Pokemon Centre. It's closest to just use Escape Rope and walk down to the place with the Jigglypuff. That is, if Nidoking is quicker than Gengar.
You're forgetting one crucial detail of the glitch... and that is that you need to fight a trainer after Escape Roping away (otherwise a pokémon won't spawn when you return). However, it doesn't matter if you actually defeat this trainer or not, which is why I suggest just dying to the nearest trainer to save time.
It is not necessary to fight a trainer if you trigger some NPC event. However, as far as I know, there isn't any near Mt. Moon except possibly the Super Nerd guarding the fossils.
My opinion is that Gengar is better than Nidoking.
Of course, Nidoking is the only option in Yellow, because Ivysaur's moveset is very bad.
Which doesn't work because he's in the same area as the glitch trainer. At any rate, that would be even further into Mt. Moon.
If you're going to eliminate Nidoking as an option, Nidoqueen would probably take my vote over Gengar.
Pounded into oblivion by a Clefairy... So much for no damage. But you now, it might not be the fastest to be repeatedly attacked by Clefairy. There might be some enemies (I.E. Brock) where it's faster to take damage. Yes, that would be good. Have Onix use Bide, and get pwned by "unleashed energy" to almost 0 health, then later get pwned by a critical hit Pound.
Using a Pokemon Centre heals you. You need to use a Pokemon Centre post Brock for the glitch. Any damage you take at Brock will be be healed to full health when setting the escape rope point.
Sorry, I wasn't thinking today.
I guess then it's really not worth it to faint. Just beat the trainer with Oddish and Bellsprout and forget about Nidoking.
Or play Pokemon Yellow and do the trainer-fly glitch in Viridian Forest.
I had a crazy idea today.
What if you mix the trainer-fly glich and glitch city? As in talk to the Safari Zone guy, fly/teleport near a trainer, do the trainer-fly glitch, then walk around until the timer goes off. I know it probably wont be useful in a speedrun, but who knows, it may allow you to do something crazy.
Edit: I just tested it out. It doesn't really seem to do anything, I was hoping it would work as the NPC message and return something cool. One interesting thing is that instead of appearing in glitch city, I came out of a house in Cerulean, only the sound was gone.
@ Spikeman
You don't really understand Glitch City. Not many people do. All doors are like a "warp point" for an area. The Safari Zone building is warp point 4 for Fuchsia. In the route north of Vermillion, for example, it sends you to warp point 4, which doesn't exist, resulting in the glitch. The route north of Vermillion yields an enormous Glitch City. Most glitch cities are too small to really explore.
About Killer Clefairy: Whoops again.
I don't know if you guys are aware of this, but the japanese version of this game is pretty buggy, to the point that it can be beaten in six minutes without tools: http://youtube.com/watch?v=SKmcDPtjx1I
A run using this obviously wouldn't obselete the main run, but there is a precedent for having a buggy run alongside a serious run.