Righto, just making sure of that. Trying to fix up an optional boss so that it stops spamming one of its abilities so bloody often (though I might just revamp the boss entirely regardless...).
This thread contains a lot of expert stuff about the battle system. I help with Easyrpg, they have a lot of documentation, and issues to be fixed,
maybe something that go wrong with rpg rt, go fine using easy rpg player or not.
Good luck

PD: I also play tohou (bullet hell) games, I have to try your game.
So, it's been what...1 1/2 years since the game's been released? What a thing to think about...

In any case, I'm actually here for the very same game! So, I would like to refine at least ONE thing in it: The Ability Learning system. As it is, it's hot garbage and what takes the most time to do. You see, in order to learn abilities in Touhou Fantasy, you have to buy the skillbook from the shop and then use it. However, you have to buy EACH ONE (so need to get Level 2 of a skill before you can use the Level 3 book for that skill. This is to make it so you HAVE to pick and choose which abilities you want at the time, unless you're a madman and grind like hell for everything), and this wouldn't be bad...if all the skillbooks weren't at the bottom of the item list and you have to go into the menu and use each item one at a time.

Now, the question here is: Which would be the ideal method of dealing with this issue? I'm no good with custom menus, so I've no idea how to even do that. I could make a NPC that auto-uses each book, but that'll be hell dealing with the coding just for that (there's 1500 or so common events just for the skillbooks!).

Outside of that, not sure what else I COULD do for the game, unless anyone who's played it has any suggestions?

On a sidenote: Originally, I WAS going to split the game into 2 parts, but since I don't know how well that'd transition from one part to another between games...I opted out of that entirely. Hence, why it's a 70-100+ hour game. ^^;; Anytime I look back at it now, it kinda makes me upset that it wasn't a better game than it turned out to be...T-T
This game uses DynRPG, right? With DynParams, you can call common events based on a variable value. You could also check for the existence of items (like the skillbooks) in the inventory with a variable that increments with a loop. I don't know all the details of your system, but hopefully it should be possible to create an automated process for using the skillbooks that way.
Aye, I use DynRPG. Never used that plugin (seen it before when I was getting them years ago), so would be a thing for sure. To give an example of how the common events look, at least:

That's basically as simple as that. If you cannot learn the skill, it pops up the message. Otherwise, the skill is learned. Each skillbook is tied to a switch, so using Fantasy Scroll Lv2 would turn on the switch for this common event, check to see if Fantasy Orb Lv1 is learned, and if it is, removes it and gives Reimu the Lv2 variant with the message that she learned it, otherwise gives the message that it cannot be learned yet, then removes the skillbook from the inventory.
Okay, an event to call all appropriate scroll events would look something like this:

Comment: These variables are optional, and ideally they should be set at the start of the game and then never changed
Variable Oper: [0001:#FIRST_SKILL_SCROLL] Set, <Item number of the first skill scroll>
Variable Oper: [0002:#NUM_SKILL_SCROLL] Set, <How many skill scrolls there are>
Variable Oper: [0003:#FIRST_SCROLL_EVENT] Set, <Common event number of the first scroll event>
Comment: Initialize loop variables
Variable Oper: [0004:CURRENT_SCROLL] Set, Var [0001:#FIRST_SKILL_SCROLL]'s value
Variable Oper: [0005:CURRENT_EVENT] Set, Var [0003:#FIRST_SCROLL_EVENT]'s value
Variable Oper: [0006:LOOP_COUNTER] Set, 0
Comment: @dynparams_add_param 6, V4
Comment: @dynparams_overwrite_next
Variable Oper: [0007:SCROLLS_HELD] Set, <this gets overwritten> Possessed
Branch if Var [0007:SCROLLS_HELD] is 0 Greater
Change Items: V[0004:CURRENT_SCROLL] 1 Remove
Comment: @dynparams_add_param 2, V5
Comment: @dynparams_overwrite_next
Call Event: <this gets overwritten>
Variable Oper: [0004:CURRENT_SCROLL] + , 1
Variable Oper: [0005:CURRENT_EVENT] + , 1
Variable Oper: [0006:LOOP_COUNTER] + , 1
Branch if Var [0006:LOOP_COUNTER] is Var [0002:#NUM_SKILL_SCROLL] Equal
Break Loop
End Loop

For the parts marked <this gets overwritten>, it doesn't matter what's actually there, DynParams will overwrite it with the variable values. Make sure to change the V4 and V5 in the comment commands to whatever variable numbers you actually use for CURRENT_SCROLL and CURRENT_EVENT. The fact that your scroll events are parallel process might give you some trouble, I'm not sure.