Question pertains to Gen III only please. If it extends into IV+ just mention.
Been having trouble finding a more proper explanation as to how egg moves work.. and by work, I mean how they're established in the first place.
Are they merely a separate move list that Pokemon have similar to their level-up counterpart where it focuses on the breeding mechanics in order to be obtained?
Or are egg moves some loosely defined moveset that really could change if a Pokemon were to simply have a move it shouldn't in its move pool?
My hunch/assumption is that egg moves are merely some sort of separate hard-coded move list similar to how the level-up moves are arranged for Pokemon. I'm trying to refrain from requesting a ROM's point-of-view, but if that's the case I am all ears. The breeding sections explained in most sites do not explain the little detail I'm trying to clear up in my mind. I guess I am secretly hoping I won't be confined to the usual TM/tutor/egg list you see online.
A secondary/probably the same question to bring up is what DEFINES an egg move? Is it an obtainable non-TM AND non-level up move? If so, then why does Hoppip have reflect as an Egg move and not as a TM-learnable move? Would that then make the definition of an egg move to be ANY move that is available to the Pokemon that isn't found in its level/TM list? As Bulbapedia says:
Egg Moves often (but not always) cannot be learned through other ways.
Even if that were the case- what determines the egg moves to be there in the first place?
Is it hard-coded or not?