A downloadable plugin

Buy Now$10.00 USD or more

This plugin allows skills to be used as dualtechs (or tripletechs, or quadtechs...) To assign a skill to being a multitech (just called "dualtechs" for convenience from here on out), put the following tag in the skill's Note box:

<Dual:ID1,Skill1,ID2,Skill2,ID3,...,[HitRate]>

Each dualtech must be assigned to multiple specific actors and requires each actor (except possibly one) to know a component skill. It is valid for a dualtech to be a "component" of itself for any number of actors. When used, the actors will each spend the costs of the component skills (any costs associated with the dualtech skill itself will be ignored, unless the skill is set as a component to itself or the actor using the skill is not part of the "Dual" tag.)

The dualtech will only appear on an actor's skill list if all of the following conditions are met:

1. The current actor knows the dualtech skill.
2. All involved actors are present in the party. Outside battle, the actor must simply be in the overall team, but in battle, they must be part of the battling team.
3. All involved actors know their associated component skill.

For this reason, if you don't want to "unlock" the skill through gameplay progression separately from the components, you can just make sure all relevant actors know the dualtech at level 1. The tech won't show up until those conditions are met.

The dualtech can also be disabled if any actor cannot cast their component skill for any reason (state, cost, lack of necessary equipment), but it will still appear if the previous conditions are all met. However, if a component skill is part of a skillset that the actor does not have assigned, the dualtech can still be used, so you can use hidden component skills in this way to have each actor use unique skill costs not tied to a more obvious skill.

In the "Dual" tag, actor IDs must be given as ID numbers (because actor names can change, but ID numbers are constant), but skills can be called by name or given as ID numbers as you see fit. So this:

<Dual:1,Slash,2,Ice>

is fine, and so is this:

<Dual:1,16,2,38>

But this is not:

<Dual:Bob,Slash,Joe,Ice>

This plugin is compatible with up to ten participating actors (though you won't be able to use them in battle unless you expand the number of battling units, of course!)

<Dual:1,Slash,2,Ice,3,Heal,4,Poison,5,Supershot,6,Jump>

If you teach the dualtech to an actor that is not identified in the Dual tag, that actor can still use the tech as though they were a part of it (with the skill defined as a component of itself), but if someone else tries to use the dualtech, that actor will not be considered part of it, so it is recommended that all actors that are included in the tech are defined in the Dual tag.

The final parameter, HitRate, is optional and sets how the skill's hit rate is determined. It accepts the following:

user - Uses the user's hit rate (default).
first - Uses the first actor's (ID1's) hit rate.
second - Uses the second actor's (ID2's) hit rate.
highest - Uses the hit rate of the actor whose hit rate is highest.
lowest - Uses the hit rate of the actor whose hit rate is lowest.
actor# - Uses the hit rate of the actor who is defined in place # in the Dual tag. So "actor3" would get the hit rate of whichever actor is defined third (not necessarily the third character in the database!)

When setting the damage algorithm for a plugin, "a" still refers to the user of the skill (the actor who chose to use the dualtech), and "b" refers to the target. But now you can use "c" to refer to the first actor defined in the "Dual" skill, "d" to refer to the second, and so on down the line (up to "l" - that's a lowercase L - for the tenth.) You don't need to use a damage algorithm that in any way matches the component skills' - the dualtech is its own skill with its own effects.

This plugin must be placed lower on the plugin list than all plugins that modify skill cost or skill cost display in any way.

Enemy units cannot use dualtechs - but you shouldn't need them to. Clever animations and MP/TP usage can make it seem like the enemies are using dualtechs without this plugin anyway!

A word of caution: do not have multiple actors drawing skill costs from a single pool. Things like HP, MP, and TP are all character-specific and can be used without issue, but let's say you're using a plugin that allows skills to have a GP cost (and GP is still party-wide), one skill costs 500 GP to use, and another costs 600 GP to use. In this scenario, do not have both skills be components to a single dualtech!! If you do, then the skill will work fine so long as you have 1100 GP, and it will be disabled if you have less than 600, but any value from 600 to 1099 will cause odd behavior. It is fine for any one actor to use such a "universal" cost, and even fine for two actors to use two completely different universal costs (one actor uses a skill that requires 500 GP, and another uses a skill that requires a Potion), just don't have multiple actors draw from the same pool.

Skill cost display

When the skill is displayed, you can either cycle between actors (which you can set in the plugin's parameters) or display them all at once. Normally, it shows the actor's name first, followed by a colon, and the cost display second. But displaying them all at once like this would take up a lot of space! So as an alternative, if you have Game_Actor.icon() defined, you can instead display an icon image that corresponds to each actor. For this, I recommend my Actor Icons plugin, but if you know Javascript you can code up your own Game_Actor.icon() plugin yourself.

MV: Linked-turn compatibility with Yanfly's CTB, ATB, and Battle Status Window plugins

Normally, turns will not be linked with this plugin. In other words, when actor 1 uses a dualtech that involves actor2, it will not wait for actor2's turn, stop, or delay it in any way. And for the forseeable future, that's how it will remain for the true default battle system, as the logistics of making it work in the default battle system are more complex than you might expect, and they're generally not intuitive for the player. (I've seen some creative workarounds, such as making them "instant" skills that apply a paralysis effect to all involved actors, but this is not a one-size-fits-all solution.)

But not all battle systems are the default! If you are using Yanfly's CTB and ATB plugins (Yanfly may have stopped supporting them, but they still work!), or Battle Status Window with the DTB, then you can link turns by making the first parameter of the Dual tag "linked":

<Dual:linked,3,Bolt,6,Tornado>

With linked CTB/ATB turns, actor 3 will go on standby when this dualtech is selected. Once actor 6 gets their turn, the dualtech will activate. If either actor is prevented from using the skill before actor 6's turn, however, the dualtech will be canceled, and actor 3's turn wasted.

And even if you want to use the DTB, there is a solution: Yanfly's Battle Status Window! With this plugin installed, so long as the ability to switch characters with left/right or page up/page down is activated, then you can link turns there too! In this situation, the linked dualtech will be the only skill that can be used that turn by the corresponding actors; if you try to schedule another attack, the dualtech will be canceled for all involved actors; likewise, the dualtech will cancel any other pending skills. In its current implementation, the duatech will resolve when the user of the skill would get their turn (which means it's usually best to activate it with the fastest character.) 

Note about Battle Status Window DTB

For compatibility reasons, just having Dualtechs installed will slightly change the way Battle Status Window DTB works. 

Normally, when you input a move for the last actor, the turn automatically starts even if you haven't input moves for everyone else. 

With Dualtechs installed, you have to either manually end the turn by pressing "right" on the last character (which you can do without Dualtechs) or have every actor choose a skill (linked dualtechs count) to start the turn; if you give a command to the last actor and one other actor is still pending, the game will automatically switch to that actor's command window.

MZ: Linked-turn compatibility with Time Progress battle

ATB functionality is already in RPG Maker MZ! Linked turns can be set up just as above:

<Dual:linked,3, Bolt,6, Tornado>

In version 1.0 of the MZ plugin, this functionality currently only works in Active mode. Wait mode is forthcoming!

In Active mode, setting linked turns will require all party members to have full TPB bars in order for the dualtech to work. Once the skill is used, all actors involved with the dualtech will have their TPB bars empty.

Recommended plugin

This plugin does not change animations. I would recommend a plugin like Yanfly's Action Sequences or VisuStella Battle Core to animate dualtechs in side-view battles. (Heck, I'd recommend it anyway.)

Plugin order

Place this plugin below all plugins that modify skill cost or skill cost display, such as Yanfly's Skill Core. For best compatibility, read the next section.

Compatibility with other plugins

This plugin is compatible with all plugins that modify skill cost so long as they are written so that the Window_SkillList.drawSkillCost function returns the width of the remaining text area after use. This is not default behavior, but at least some of Yanfly's plugins do this. Any plugins that do not do this will not display properly, though they should function just fine.

Compatible with MV and MZ

In RPG Maker MZ, use the Jay_DualtechsMZ.js file. In MV, use Jay_Dualtechs.js. Please do not use both.

(Jay_Dualtechs.js actually works in MZ, but won't have any sort of turn linking.)

StatusReleased
CategoryTool
Rating
Rated 4.3 out of 5 stars
(3 total ratings)
AuthorHeroicJay
TagsRPG Maker

Purchase

Buy Now$10.00 USD or more

In order to download this plugin you must purchase it at or above the minimum price of $10 USD. You will get access to the following files:

Jay_DualtechsMZ.js 23 kB
Jay_Dualtechs.js 41 kB

Development log

View all posts