Update! I've gotten cutscenes to a point that I'm comfortable with.
Cutscenes basically create a "stasis rule" for all sprites in the room. There are 5 "levels" of cutscenes, each which includes the previous rules: Combat AI disabled, All AI disabled, all physics disabled (which also disables _update events), physics and death disabled, and all animation disabled.
The sprite that creates the cutscene may have their own "rule", and individual sprites may be given their own unique rules as well using the "Add Cutscene Exception" event. In addition, any "command" event (like walks, dashes, and jumps), as well as flash effects, that are created
by the cutscene function, will be able to operate even if the sprite in question has its physics disabled. So you can freeze all objects in a room, but still have the relevant sprites walking around and talking.
You can also exclude a sprite from cutscenes entirely. This is important if you want to make a "trigger" sprite that checks the position of the player in its _update function; otherwise it is possible that the player may use an item that triggers a cutscene, and walks past the trigger sprite while its physics are disabled.
Cutscenes are "stacked", meaning that the rules of the last cutscene started take precedence. If you use an item that triggers a cutscene and then another cutscene activates, the item's cutscene will pause while the new one plays out, then resume afterwards.
Player input is always disabled while a cutscene is playing.
I've added cutscenes to all existing items, since the game resumes too fast otherwise.
Edit: Harlequin Epicycle's difficult seems very high. Not really sure how to beat it. I can get it to the second phase pretty easy, but with it hitting for 10 damage whenever I get hit, I can only afford 10 hits, and that is a bit tough. Any advice on this?
Harlequin Epicycle was designed with a "Dark Souls boss" mentality in mind, which basically means "really hard, BUT not random - all attacks must be predictable and avoidable with skill and practice". All of its attacks are avoidable, and most can be countered as well (you can generally land a few hits while he's using the flame ring by backing off, dodging between the flames to approach, and then escaping before they constrict, and the multi flame shot leaves an opening for one hit between each shot if you can get the rhythm right), but yeah it's tough. Luckily, he's predictable - the trick is to watch the flashes (2 flashes before the flame shot, 1 slow flash before the flame ring). Or just bring a ton of potions. The third phase gets kind of unfair due to the multi-lightning attack which is a bit too random for my tastes and the "teleport into the background" ability which can't be countered, but I'm still fine-tuning it.
The plan is to give you an item that gives you his powers when you win.