Introduction
This plugin is intended to recreate a feature seen in some traditional JRPGs (notably Phantasy Star IV) in a way different from other existing plugins.
Once configured, when the player chooses party members to perform a specific sequence of skills, those skills will transform into a combo action.
This plugin was written to pair with my Battle Macros as a way for the player to specify the order of skills once a combo recipe is known - but it will work perfectly independently of that plugin.
I have tested the basic functionality, please let me know if you encounter any errors. I will consider making compatibility patches if the other plugin is free to use (or one I own, such as a Yanfly product) and unobfuscated. Otherwise, other authors are free to modify this code to make it compatible with theirs so long as I am still credited.
Spoiler: Features
In order for the combo action to occur, all of the specific skills must be chosen in the same turn. This means the plugin only functions in the default turn-based battle system. The comboaction notetag checks that action and any succeeding it in turn order - if you want the combo to be able to trigger from any of the skills happening first, you must put the notetag on each of
them referencing the other skills.
When the circumstances for the combo are met, all of the included skills will be removed from the turn order and replaced with the combo action on the turn of the initiating actor. The other actors are considered to be giving up their turns to contribute to the combo.
There are a number of plugin parameters to customize how the system works. It can be required that all of the skills must be in the same turn order as they're listed in the notetag, or decided that the order is irrelevant so long as they're all happening after the initiating skill.
It can also be changed whether enemies taking turns in between the actions that comprise the combo cause the combo to be broken or not.
Spoiler: Notetags
Code:
<comboaction: skillName, skillName, skillName | combo skill name or ID>
<comboaction: skillID skillID skillID | combo skill name or ID>
复制代码
The skill arguments can be the names or IDs of the other skills required to make the combo. Skill names use a comma-delineated list, numeric IDs use a space-delineated list. The combo skill they execute may be the name or ID.
Any number of skills may be listed, but they all must be executed after this skill in order to form a combo. If skill names are used for arguments, any skills with that name will fulfill the combo conditions. If the skill name is used for the combo skill, the first skill with that name in the database will be used.
Examples:
Code:
<comboaction: ice, lightning | tetrablast>
<comboaction: 12, 22, 83 | 75>
复制代码
Spoiler: Maniac Mode
The actor information for combo actions is stored in a system variable for you to access during that skill's execution. The format of the variable is:
Code:
$gameTemp._comboIds[initiator ID][skill index]
复制代码
where skill index is the order that supporting skill was listed in the comboaction notetag, starting with 0.
Thus, for the notetag:
Code:
<comboaction: 12, 22, 83 | 75>
复制代码
the actor who used skill ID 22 would be index 1. You could access them in the damage formula, for example, thusly:
Code:
$gameTemp._comboIds[a.actorId()][1].mat
复制代码
to have them contribute their MAT to the skill's damage.
Spoiler: Yanfly's Action Sequences Compatibility
This plugin adds a new targeting type for referring to actors participating in the combo action.
Code:
COMBOACTOR X
复制代码
will be the actor in position X of the comboaction notetag, as described above.
Thus, for the notetag:
Code:
<comboaction: 12, 22, 83 | 75>
复制代码
the actor who used skill ID 83 would be
COMBOACTOR 2
复制代码
.
[\spoiler]
Terms and Credits
Free for non-commercial and commercial use. Credit ATT_Turan.