Wonderful level, though maybe a bit long for my tastes...
The secret codes were a clever secret that kept me intrigued throughout the entire thing. The mini challenges in the zones were also super neat (though the first one after checkpoint 3, with the boos that rotate into a point is a bit much to process perhaps).
I have found a few technical issues, and I'll do my best to try and help with them, though maybe you might have to do some more digging if this doesn't work straight away.
1. Checkpoint 4.
I see you had some trouble getting this to work. The reason might be that smbx2 checkpoints operate on one specific rule: Checkpoints have to be initialized and visible before level start, and showing a layer and moving the checkpoint doesn't do that.
What I suggest to fix this is to use the checkpoint class directly and forego any NPCs. You can do this like so:
Code: Select all
-- at the top of your code, outside of functions. make sure to replace x, y and section. This is the TOP LEFT CORNER of where the player spawns, I believe
local cp = Checkpoint{x = -139816, y = -140128, section = 3}
-- where you want the player to collect the checkpoint
cp:collect()
It's the same system basegame checkpoints use, so it ought to work swimmingly.
2. Boss death
On my run, the boss's death effect straight up didn't play. I don't quite know where the code failed, but I see the condition is a bit complicated. I'll suggest an alternative:
In the if statement around line 844 you are spawning the death effect, and later you are waiting on the death effect to start the death routine. What if instead you start the death routine here as well, and put a Routine.waitSeconds(3) at the start of the death routine to time things properly? You could spawn postDeathEffect after the waitSeconds to ensure it runs even if the death effect has a hiccup.
3. I just think the boss is a bit difficult and adding another mushroom during eerie rain might be nice.
Lastly, not a bug but, I really dig the outside section background, so you might see me using it sometime in the future ;p