What’s the maximum number of ribbons a Pokémon can attain in Gen IV

pokemon-fourth-generation

Using only Diamond, Pearl, Platinum, HeartGold and SoulSilver, what is the maximum number of ribbons a single Pokémon can legitimately attain?

Don't include Pokémon traded from other games (e.g. Emerald or any Pokémon spinoff games other than the ones listed), event-only ribbons, or ribbons that cannot legitimately appear together on the same Pokémon without cheating.

Don't include the one ribbon that appears on some event Pokémon; but: for a bonus point, do any event Pokémon come with more than one ribbon?

Best Answer

According to Bulbapedia:

You can get 40 in the 4th gen games (w/o trading):