RMMZ: HOW TO MAKE A SIMPLE DUAL TECH / TRIPLE TECH SYSTEM?

Posts

Pages: 1
Just wondering if anyone can help me with my dual tech / triple tech system like in Chrono Trigger?

I thought I'd reword this as it seemed as though I didn't have a clue where to start, when all I need is a little bit of help.

Here's my plan for it so far. There are two skills, one being the skill which will cause the damage or effect, the other being a clone of it, having a call common event command.

In the common event, variables are keeping track of all party members current MP. It will check to see if they have sufficient MP (Greater than). It will then use the "real" skill directing it at the last enemy/ally targeted.

The thing which I do want to ask is.

Is there a way to cancel the command if the characters don't have enough MP so a turn hasn't been wasted?
Marrend
Guardian of the Description Thread
21781
Is there a way to cancel the command if the characters don't have enough MP so a turn hasn't been wasted?


If you're talking about having the skill be grayed out and unselectible unless all the actors involved have the prerequisite MP, yeah, that might take some doing. For what it's worth, I recall having to go through some hoops to get Baclyae Revolution's Unite skills to be grayed out if a member of the Unite had already acted. Not to mention having actors involved in a Unite have their combat inputs skipped over. ;_;

Unites didn't cost MP in that game, so the only prerequisite was to have the appropriate people in the party, and to have them all alive when the skill goes off (which was it's own headache).
What I meant was that the skill could still be chosen, then the common event runs. It would then turn out that the characters don't have enough MP for the skill to be used. The process gets cancelled, and the player could then select a different skill, command, etc.
Marrend
Guardian of the Description Thread
21781
So, we're talking about calling up a command menu while abilities could still be on the stack, and then altering what's on the stack, even as it resolves? I'm largely assuming a turn-based mechanism on this point. I'm not exactly sure how it would work with ATB and/or CTB.

Either way, there is some kind of variable that keeps track of what abilities are on the stack. It keeps track of who's using the ability, and what the target is, and maybe other data points. What probably happens is that an item gets "pushed" onto the array as the player inputs combat commands, and the enemies get "pushed" after that, then it's sorted by SPD values to set up what order the messages/results of those commands are displayed. I don't know what the array is called in MV, but, I believe the variable's contents are instances of Game_Action?

To say nothing about how to call up the combat menu mid-battle. I've my doubts it's as simple as calling Window_BattleMenu.new, or whatever!
Thanks for the responses Marrend.

I was looking round last night and I've found a plugin which seems like it will handle it all (and much more flash than what I was aiming for).
Splitting down dual techs into smaller parts:
* To use the tech, everybody involved needs to be in the battle and alive
Here, $gameParty gives you access to the required information via battleMembers()
You'd need to annotate the skill with a list of the actors who should be present to use it.
You'd need to write that code to disable the command when the use conditions are not met.
(Battle system plugins exist that will handle the command menu for you, but you still need to write a function that returns whether the skill is available or not)

* To use the tech, everybody involved needs a full ATB gauge
An extension to the above, and only relevant if you're using active mode like chrono trigger.
As well as checking each person is in the party and alive, you'll need to test their ATB charge.
Player characters are represented by Game_Actor, Game_BattlerBase has functions common to both actors and enemies.

* When the skill is used, it uses everybody's turn
How you do this massively varies depending on if you're using turn based, active or wait mode, or a plugin's custom battle system.
Turn based is pretty much what Marrend implemented in VXAce - needing to automatically set commands for the other actors involved in the tech.
For active / wait, you could knock back the other characters' gauges to zero - or put them directly into a casting state.

In all cases, the "caster" could be any one of the characters, but you should know the actor ids of everybody from having annotated you skills with this.

* Presentation
Chrono trigger was strong in the choreography of the dual and triple techs, moving all the involved characters around the screen.
This is strictly optional if using front view battles, but it could look odd if using default side view and one character steps forward etc.

There are animated battle plugins, and if you have mastered one of them you'd be able to coax it into doing this. A lot of the easy commands in them are for one character performing a skill on one or more targets.

You can of course make your own - it's a big job.

---

You seem to be looking at using a common event on the skill - these normally run *after* everything else in the skill has been executed.
While not ideal, you can have the skill chosen do nothing at all, and the common event force an action depending on whether conditions were met or not.
To cancel out you'd need to understand the battle system well enough to give the character an extra turn - something that doesn't match the way the default turn based battles work (but could be done with ATB using a script call to refill the character's ATB gauge).
This feels not ideal to me.
Pages: 1