DoubleX_RMMZ_Plugin_Query

DoubleX

Just a nameless weakling
Veteran
Joined
Jan 2, 2014
Messages
1,771
Reaction score
936
First Language
Chinese
Primarily Uses
N/A
Purpose
Lets you use plugin queries in conditional branch and control variables

Introduction
Code:
*      1. The RMMZ plugin commands are supposed to make side effects but not
*         return end results
*      2. With this plugin, other plugins can declare plugin queries that
*         behave like RMMV plugin commands but return end results instead of
*         making side effects
*      3. Plugin queries can replace skill/item damage formulae
*      4. Plugin queries can also replace script calls in conditional branch
*         and control variables event commands
Video

Games using this plugin
None so far

Code:
* @param newDamageFormulaPluginQueries
* @type struct<NewPluginQuery>[]
* @desc Sets the list of new damage formula plugin queries
* This list shouldn't include those already added by other plugins
* @default []
*
* @param newEventCmdPluginQueries
* @type struct<NewPluginQuery>[]
* @desc Sets the list of new event command plugin queries
* This list shouldn't include those already added by other plugins
* @default []

Code:
*    1. General form
*       queryName argName1 argName2 argName3 argNameI argNameN
*       E.g.:
*       - If the plugin query has its query name as abcdefg and arguments
*         as h, i, j and k, then the plugin query is abcdefg h i j k
*    2. (Plugin Developers Only)Registration
*       PluginManager.damageFormulaPluginQueries.set(name, func);
*       - Registers a plugin query with the name being name and function
*         returning the result being func
*       - The first 5 arguments of the function must be the following:
*         i. item - The skill/item having the damage formula
*         ii. a - The subject executing the skill/item
*         iii. b - The target having the damage formula applied to
*         iv. v - The raw data list of the game variables
*         v. sign - 1(damage)/-1(recovery)
*       - The registered plugin query can be used in skill/item damage
*         formulae
*       E.g.:
*       - PluginManager.damageFormulaPluginQueries.set("matDmg", (item, a, b, v, sign, baseDmg) => {
*             return +baseDmg + a.mat * 2 - b.mdf * 2;
*         });
*         Will define the plugin query atkDmg in the skill/item damage
*         formulae as baseDmg + a.mat * 2 - b.mdf * 2
*         Where baseDmg must be a Number
*       PluginManager.eventCmdPluginQueries.set(name, func);
*       - Registers a plugin query with the name being name and function
*         returning the result being func
*       - The registered plugin query can be used in conditional branch and
*         control variables event commands
*       E.g.:
*       - PluginManager.eventCmdPluginQueries.set("isActorAnyStateAffected", (actorId, paramIds) => {
*             return $gameActors.actor(+actorId).isAnyStateAffected(paramIds.split("_").map(Number));
*         });
*         Will define the plugin query
*         isActorAnyStateAffected actorId paramIds
*         in the conditional branch/control variables event commands as
*         $gameActors.actor(actorId).isAnyStateAffected(paramIds);
*         If paramIds is written in the form of
*         paramId1_paramId2_paramId3_paramIdI_paramIdN

Code:
*      1. The plugin command name collision issues in RMMV applies to
*         plugin queries registed to this RMMZ plugin as well, and in this
*         case, the last registered plugin query having the same name will be
*         used
*      2. DON'T MAKE SIDE EFFECTS IN THE SKILL/ITEM DAMAGE FORMULA PLUGIN
*         QUERIES UNLESS YOU REALLY KNOW WHAT YOU'RE TRULY DOING

Plugins:
1. DoubleX RMMZ Enhanced Codebase
Abilities(Plugin Users):
1. Nothing special
Abilities(Plugin Developers):
1. Little RMMZ plugin development proficiency to fully utilize this
(Elementary Javascript exposures being able to write beginner codes up to 300LoC scale)

Code:
*      1. The default plugin parameters file name is
*         DoubleX_RMMZ_Plugin_Query
*         If you want to change that, you must edit the value of
*         DoubleX_RMMZ.Plugin_Query.PLUGIN_NAME, which must be done
*         via opening this plugin js file directly

Code:
*      1. Commercial use's always allowed and crediting me's always optional.
*      2. You shall keep this plugin's Plugin Info part's contents intact.
*      3. You shalln't claim that this plugin's written by anyone other than
*         DoubleX or my aliases. I always reserve the right to deny you from
*         using any of my plugins anymore if you've violated this.
*      4. If you repost this plugin directly(rather than just linking back),
*         you shall inform me of these direct repostings. I always reserve
*         the right to request you to edit those direct repostings.
*      5. CC BY 4.0, except those conflicting with any of the above, applies
*         to this plugin, unless you've my permissions not needing follow so.
*      6. I always reserve the right to deny you from using this plugin
*         anymore if you've violated any of the above.

Code:
*      Authors:
*      1. DoubleX
*      Plugin Development Collaborators:
*      - None So Far
*      Bug Reporters:
*      - None So Far
*      Compatibility Issue Raisers:
*      - None So Far
*      Feature Requesters:
*      - None So Far

Code:
*      { codebase: "1.0.2", plugin: "v1.00a" }(2020 Oct 6 GMT 1600):
*      1. 1st version of this plugin finished

Download Link
Demo Link
 
Last edited:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Lately when I listen to 1970s songs, I always think that the "real world" is still at mid 70s. What we experience now is a futuristic dream. With this point of view, even 80s and 90s looks super futuristic. :D

The GIF of this seemed too cool to bury in replies. :LZSwink:
You may have slept with my aunt... but, given the circumstances, cheers.

- Professor Ian Duncan, 2013
Ami
--- Swimming ---

F.Knight: This Shrine always Flood. We don't have a choice,we have to Swimming in this place
F.Healer: That Insane!
F.Mage: We can use…Boat,rather than Swimming
F.Knight: You guys…Can't Swim?
F.Healer & F.Mage: (Shocked) Eehh??

Forum statistics

Threads
105,525
Messages
1,014,390
Members
137,208
Latest member
M12YT
Top