
A story of how I just found an undocumented bug regarding move learning in Sky 17 years post-release.
So I'm currently in the process of 100%ing EoS, and by that I mean completing the log with maximum counters for the following entries:
>Pokémon that joined you: X (492)
Kinds of Pokémon battled: X (488)
Moves learned: X (467)
Kinds of items acquired: X (1270)
Turns out, I ended up finding a bug (an oversight?) in regard to how the game counts the distinct moves you taught to your team. I'll just tell you in detail how that happened because I'm still reeling about this (there's still a TLDR at the end if you're in a hurry):
At some point, while I was mostly done with items and mainly grinding for hard moves to get like the starter moves or some legends' signature moves, I noticed there was a discrepancy between my own checklist (something I made based on the game's info spreadsheet available here) and the game's internal counter. My first suspicion arose early on in the process when after checking every active move on every single member of my team, I went and taught Mew every single TM/HM in the game one after the other, and sat here confused after the task as my move counter increased by a measly one. I decided to leave it at that and go back to it later, for now it was more important to give myself the ability to have every single move ready to be taught instantly (looking at you, Mega Kick Hitmonlee).
The more I filled my own move list through Joy Seeds, Golden Chambers or move reminders, the more the game counter broke apart from my own counter, with a difference of almost 25 towards the end. At first, I started suspecting some weird sheananigans revolving around the egg moves; perhaps they wouldn't increase the counter because you couldn't remember them once forgotten, or something like that. I first thought I could clear this by teaching anew some of the egg moves I had to other mons through level up (Fissure to Dugtrio and Flare Blitz to Monferno to name them) but to no avail, the counter was still not budging and I remained stuck.
I got my first hint when I finally managed to hatch a Pichu having both the Thundershard (its egg exclusive item) and the egg move Volt Tackle, a move I knew I had never learned by that point as only a baby Pichu can get it, and this was my first baby Pichu. Meaning the counter was bound to increase unless egg moves were truly bugged. I figured that while I was at it, I could also check whether an egg move was truly gone once forgotten, and decided to overwrite Volt Tackle with the Grass Knot TM before saving. Since I play on emulator for convenience (and, I won't lie, to crunch down majorly on the stupid egg items grind), I could rollback thanks to savestates. Color me surprised when I save, check the counter before and after the process, and see it has increased by two.
On one hand, egg moves are not bugged, yay! On the other hand, what the actual fuck?
Somehow, the game thought I had never taught Grass Knot even once during my playthrough. But that's not possible, I did two trips to Beach Cave to teach Mew every single move, I'd even checked my item bag back then before recycling just so I wouldn't miss a move and it was full of used TMs, I was 100% confident I'd done it at some point. Not feeling defeated, I go on another pair of trips and teach every single TM/HM move, while leaving the menu to check Mew's moveset and once again confirm that I did do it. Fantastic! That's another spectacular increase of two, which puts us at exactly 20! We're getting there, slowly but surely!
Yeah right, in truth I was just done, so I decide to simply swallow the damn pill, restart my own list from scratch (not the move), and pitch a tent at Electivire's Link Shop to re-teach EVERY. SINGLE. MOVE. Of the 467 moves teachable in-game, one Pokémon at a time, mostly with final evolutions and higher levels mons who know more moves to minimize my roundtrips.
And to avoid any potential issues with TMs, I will teach the TM moves through the rare mons who learn them by leveling up; that means Kecleon with Thief, Charizard with Shadow Claw, Porygon-Z with Trick Room, and so on. The game counter, while not budging at first, increases a bit randomly, but my second hint pops up: I notice that most moves that I leave active, and increase the counter, are indeed TM moves, so there's definitely something going on with those.
After going through the whole list, no dice; the counter only reaches 460/467, but in the meantime I replay my Beach Cave trips in my mind and put it together: I did **quit the item menu more often on my 2nd TM outing, to check that the move was properly taught...**and conveniently the counter increased more in total...
>Could it be...that the game runs a check on the new moves not when the moves are taught...but only after you close the item menu?
A test was in order. I bring my underleveled Lucario, teach it the Dragon Pulse TM, leave it learned, close the menu, save...and the counter goes up!
Let's do another test. I do the same with Mew and Focus Blast, the counter increases again. I roll back, re-teach Mew Focus Blast, leave the menu open, overwrite it with Thunderbolt, its previous move, close the menu, save...and the counter stays still.
That's it. I'm 99% positive now. The game only checks for new moves after you close the item menu. If I teach a new TM, then immediately overwrite it with another one I'd already taught without closing the item menu, the game won't count the new move as learned. Finally, the light is near!
Pulling out all the TMs and HMs in alphabetical order, I re-do a teaching spray while saving between every single move, and the increase is way steadier, especially regarding moves only available through TMs like Stealth Rock, Defog, Rock Climb. 17 moves are thus newly registered by the game as taught, leaving only three moves left to teach.
When I reached Trick Room again, the counter increased. But that's not right. I already taught Porygon-Z Trick Room earlier through Electivire's Link Shop. I mean, sure, I replaced it immediately because it's not that good of a move and I had more doubts about the game not counting the line's signature moves, but-
Wait a minute. TMs...TM moves... level up...
Electivire...The menu...Replaced immediately...The Link Shop's menu...
TWO MENUS...!
THERE ARE TWO MENUS...! THIS IS NOT OVER YET...
This would mean that not just TM moves, but also classic level-up moves are affected when remembered through the Link Shop. I do a quick test with Jynx's signature move, Lovely Kiss, a move I already knew the game counter had not registered yet, and sure enough the game counter doesn't increase when I immediately overwrite it with something else. Meaning the game doesn't only wait for the item menu to close before checking new moves, but Electivire's Link Shop menu as well.
Only the last hurdle remains. I erase my own list one last time (Oof), remove every currently active move from it, and by teaching the remaining ones, I finally narrow down the two culprits, Follow Me which I overwrote immediately, and most surprisingly Dragon Rush, which I realize I'd discarded early on for something with a bit more accuracy. At last, the counter is maxxed, and my sanity is preserved.
But surely that weird behavior would've been documented before, wouldn't it? I can't be the only one who thought about maxxing the moves counter, in fact I hadn't even thought about it until someone else mentioned it.
Yet no matter the website, whether it's Bulbapedia, GameFaqs, MDFW, and even Japanese aggregating websites with detailed info, nobody mentions such a thing. The only referenced move-related bug I can find is about copying a mon's moveset onto another one regardless of species, meaning this might be a completely undiscovered bug, 17 years after release.
Given that I'm playing the EU version, which is usually the one with most bug fixes courtesy of releasing after the others, I wouldn't be surprised if this bug was also present in JP and NA versions of Sky, and possibly also in Time and Darkness. (Maybe even the OG Rescue Team?? [EDIT: According to comments, apparently yes]) At the very least I know that, regarding items and especially exclusive items, the Swap Shop is spared from this bug, since I could max my item counter despite getting the type gems and immediately trading them for their respective type globes. I have not checked whether the Kecleon Shop or Swalot's Secret Bazaar shop are spared of this (not to mention that it would be hard now that I already got every single item) but I wouldn't be surprised if, like the Swap Shop, they were fine.
---------------------------------------------------------------------------------------------------------
TL;DR: Because the game has a weird way of updating the log's move counter, you need to close the Main Menu or Link Shop Menu every time between teaching new moves; if you overwrite the move immediately without closing the menu, the log's counter won't update. So to any crazy players who would want to have proof in your adventure log that yes, you've learned every single move in the game (I know you guys exist, YOU gave me the idea!), be extra careful to not teach and overwrite moves in quick succession, you'll have bad surprises.
EDIT: After doing a few more tests, turns out I was partly wrong. Simply closing the menu before overwriting the new move will not be enough for the counter to update. You need to either save the game, or change screens through a fade-to-black, for example by leaving the Crossroads to either go to Wigglytuff's Guild or Treasure Town's shops. Funnily enough the game seems to treat calling Chimecho as changing locations, as the counter updated despite me not leaving the Crossroads altogether.