How would I do a Megaman X/Kirby hat style character?

Idea, 2D side-scroller where you get power-up from enemies. I want to have it obvious on the sprite you have a power up (maybe colored differently like Megaman, or hat like Kirby) would I have to sprite for each instance of change, or could I have the “hat” as a layer over the base character? What if I wanted power-ups that changed the base model (Megaman-X style with the armor, or Super Ghouls and Ghost with Arthur).

I don’t want to get too far into one process just to find out there is an easier/better way to do it.

If this is a 2D game, the traditional way (the way I am versed) you will create a sprite for each anim set. As an example, in Secret of Evermore, if you go to the weapons viewer, it will show an animation of the character with each weapon. You will notice in the anim preview, that the character switches shades and pixels jump around. Each weapon is a completely different animation set for that character.

Thanks, I was hoping there was a short cut, guess not. Very helpful, thanks.