Oh, what a doozy.
In development for the past 3 years, these libraries are like siblings, so I'm packing them together.
adversary takes care of the heavy lifting of completely lua-based boss enemies.
projectiles takes care of said boss's completely lua-based attacks and effects.
Included in the download is a demo.
https://drive.google.com/file/d/1I9pnlf ... sp=sharing
Here are a few paragraphs about what you can expect from each library. There's further documentation within the files, and the sample gives a solid overview over what each library lets you do.
Adversary is currently unable to natively provide harm types for the SMBX2 characters. However, you can cover those with the custom harmtypes on a per-boss basis, by calling boss:damage("Harmtype") when you detect a collision.
Also worth noting: The hpSlice sprite is drawn truncated. Feel free to try one wider than 1 pixel to see how it looks.
The sample, what does it show?
For a little reference to how easy this makes things: I wrote the sample in 3 hours this morning.