Envision, Create, Share

Welcome to HBGames, a leading amateur game development forum and Discord server. All are welcome, and amongst our ranks you will find experts in their field from all aspects of video game design and development.

DoubleX_RMMZ_Plugin_Query

DoubleX

Just a nameless weakling
Member

Purpose
Lets you use plugin queries in conditional branch and control variables

Introduction
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
http://www.youtube.com/watch?v=_6L8IJDiTcI

Games using this plugin
None so far

Parameters
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 []

 

Plugin Query Info
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

 

Author Notes
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

 

Prerequisites
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)

Terms Of Use
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.

 

Contributors
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

 

Changelog
Code:
 

 *      { codebase: "1.1.0", plugin: "v1.00b" }(2020 Dec 2 GMT 0700):

 *      1. You no longer have to edit the value of

 *         DoubleX_RMMZ.Plugin_Query.PLUGIN_NAME when changing this plugin

 *         file name

*      { codebase: "1.0.2", plugin: "v1.00a" }(2020 Oct 6 GMT 1600):

*      1. 1st version of this plugin finished

 

Download Link
Demo Link
 

DoubleX

Just a nameless weakling
Member

Updates
Code:
 

 *      { codebase: "1.1.0", plugin: "v1.00b" }(2020 Dec 2 GMT 0700):

 *      1. You no longer have to edit the value of

 *         DoubleX_RMMZ.Plugin_Query.PLUGIN_NAME when changing this plugin

 *         file name

 
 

Thank you for viewing

HBGames is a leading amateur video game development forum and Discord server open to all ability levels. Feel free to have a nosey around!

Discord

Join our growing and active Discord server to discuss all aspects of game making in a relaxed environment. Join Us

Content

  • Our Games
  • Games in Development
  • Emoji by Twemoji.
    Top