Nice game man, I played until the clown boss. I think you should remove the turn based combat and leave only the platformer combat, touching an enemy and triggering a turn based combat feels bad. I want to make a platformer on MZ too, do you mind sharing your scripts and whatever you used to make the platformer gameplay?
I don't think there's anything wrong with battles after touching an enemy, there are platformer/RPG hybrids that use this type of setup. I think the biggest issue here is that the default charge speed for the Active Time Progress battles is too slow for this game. It's pretty easy to change, but the original event didn't allow plugins and had heavy restrictions on script calls, so I wasn't sure if that would be allowed.
Well, I can change it now I suppose
As for how it was done, there's not really much to share. Due to the event, this game uses no plugins and only basic script calls. Making a platformer would be much better with plugins, so just browse the MZ forum section here and see if there's anything that would help you with that.
But to tell you how I did it, it was mostly event commands with a few basic script calls.
This tutorial should help and since I've finished the game, MZ got a
document detailing the basic script calls just like MV, so you can use that too.
Jumping is done via a parallel common event with a lot of conditional branches. Basically, the Jumping parallel common event has a Conditional Branch at the top where the game checks if the jumping button has been triggered (I think I made the jump button Page Down or whatever its called in the editor). If the button has been triggered, the game then checks if the player is dashing or not and then sets the correct movement route for the player according to that. I made the movement route player a bunch of 1 tile jumps. The reason why the player doesn't immediately just jump to the destination is because RPG maker would consider the player's location to immediately be at the destination even before the sprite lands there and as such, the collision with enemies (especially flying enemies) wouldn't work. Now, if you use Jump, you don't need to set through, since jump ignores tile passability, but otherwise you will need to have Through ON on the first line of the movement route and Through OFF at the last line.
After the movement is finished, the game then calls the Falling common event. This event checks the region ID of the tile the player ended up on. Now, I gave the tiles that the player isn't supposed to be standing on Regional marks with the number of the region signifying how far down from the tile is the nearest platform to stand on. So a tile above the platform would use region 1, one above that region 2 etc. The Falling event would then check the regional mark of the event. If the region ID wasn't 0 (meaning, the tile had a region assigned), the game would then call the suitable movement route that would drop the player to the nearest platform. The movement route would need to have Through ON at the start and Through OFF at the end, same for Direction Fix On/Off.
Now, the event is a bit more complex than that, to take into account things like the player shouldnt be allowed to jump through the ground or walls, but this is the basic structure.
For the projectile attacks, each map had a Projectile event, that was basically just a graphic. Then, there was a Parallel common event for attacking. This would teleport the Projectile event 1 tile before the player in the direction he was facing and then set the appropriate movement route for the projectile, at the end of which, it would be teleported back to a part of the map not visible to the player. Each map then had a parallel event that checked the position of the projectile event and compared it with the position of every enemy of the map. If the Projectile event was at the same tile as an enemy, the Projectile would teleport below the playable area (thus not being visible to the enemy) and turn on a self switch of the enemy event with a basic script call. Each enemy had an event page where it would change graphic to the KO'd sprite and no longer triggered a random encounter when touched..
Now, due to how I set the system up, the projectile event had to have the same ID on every map (not an ideal solution, but the best I came up with during that week).
Hope this helps!