Here's another element from SMB2, the Tryclyde. It doesn't act exactly like in SMB2, but it spits fireballs aimed at the player, at different random speeds. To defeat it, you should throw sprites at it. Hitpoints are customizable.
If you want to get this sprite to work with this patch, I'll explain how to get this to work:
-!1528,x is the hit counter (increments every hit). Thankfully due to re-moderation efforts, the stuffs are more user-friendly. Obviously there is a define labeled !Hitpoints, as stated in the patch on how to convert hitcount to HP, you just take the number of hits to kill, and subtract by the number of hits the boss have accumulated, then write to !Freeram_SprTbl_CurrHPLow. If you have the high bytes enabled, make sure you set all of them to $00. The rest is explained in the readme of that patch. The code that handles the damage is at HandleBirdoHit.
Greatly optimized Tryclyde's code overall, notably sprite spawning and aiming routines (it even used to run table as code but managed to not break somehow). Removed unnecessary code. Made it possible to change palette and properties through CFG properly (previously some bits were being set, thus not giving the intended results). Fixed sprite clipping. Replaced Tryclyde's fire projectile code with a simpler, cleaner one. Included JSON files for new PIXI (CFG is still present for old PIXI users), and a palmask file. Added screenshot, tags, and SA-1 support.