Difference between revisions of "Special Parameter Formula (YEP)"
Line 18: | Line 18: | ||
</nowiki> | </nowiki> | ||
− | == Instructions | + | == Instructions == |
+ | |||
+ | === Special Parameter Explanation === | ||
<nowiki>Special Parameters differ from Extra Parameters in the sense that their base | <nowiki>Special Parameters differ from Extra Parameters in the sense that their base | ||
Line 112: | Line 114: | ||
</nowiki> | </nowiki> | ||
− | == | + | === Custom Formulas === |
<nowiki>The values calculated by the formulas in the plugin parameters are to come | <nowiki>The values calculated by the formulas in the plugin parameters are to come | ||
Line 125: | Line 127: | ||
</nowiki> | </nowiki> | ||
− | == | + | === Understanding Formula Variables === |
<nowiki>So, what does the 'base', 'plus', 'rate', and 'flat' mean in the formulas? | <nowiki>So, what does the 'base', 'plus', 'rate', and 'flat' mean in the formulas? | ||
Line 161: | Line 163: | ||
</nowiki> | </nowiki> | ||
− | == | + | === Sample Formulas === |
<nowiki>The following are some sample formulas you can use to make the special | <nowiki>The following are some sample formulas you can use to make the special | ||
Line 190: | Line 192: | ||
</nowiki> | </nowiki> | ||
− | + | {{Notetags MV}} | |
<nowiki>You can use the following notetags to alter the various aspects that modify | <nowiki>You can use the following notetags to alter the various aspects that modify | ||
Line 223: | Line 225: | ||
</nowiki> | </nowiki> | ||
− | + | {{Lunatic Mode MV}} | |
<nowiki>You can use the following JavaScript functions to alter the special | <nowiki>You can use the following JavaScript functions to alter the special | ||
Line 319: | Line 321: | ||
</nowiki> | </nowiki> | ||
+ | |||
+ | <!-- This is a comment, remove the arrows surrounding this for the categories you want to show --> | ||
+ | <!-- [[Category:RPG Maker MV Core Plugins]] --> | ||
+ | [[Category:RPG Maker MV Battle Plugins]] | ||
+ | <!-- [[Category:RPG Maker MV Item Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Skill Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Equip Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Status Menu Plugins]] --> | ||
+ | [[Category:RPG Maker MV Gameplay Plugins]] | ||
+ | <!-- [[Category:RPG Maker MV Movement Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Quest Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Options Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Eventing Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Utility Plugins]] --> | ||
+ | [[Category:RPG Maker MV Mechanical Plugins]] | ||
+ | <!-- [[Category:RPG Maker MV Visual Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Menu Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Message Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Quality of Life Plugins]] --> | ||
+ | <!-- [[Category:RPG Maker MV Plugin Tips & Tricks]] --> | ||
+ | <!-- [[Category:Action Sequences (MV)]] --> | ||
+ | <!-- [[Category:Main Menu Manager Integration (MV)]] --> | ||
+ | <!-- [[Category:Notetags (MV)]] --> | ||
+ | <!-- [[Category:Options Core Integration (MV)]] --> | ||
+ | <!-- [[Category:Plugin Commands (MV)]] --> | ||
+ | <!-- [[Category:Script Calls (MV)]] --> | ||
+ | <!-- [[Category:Text Codes (MV)]] --> |
Revision as of 14:29, 26 June 2019
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.
Download
System
This is a plugin created for RPG Maker MV.
For help on how to install plugins, click here.
For help on how to update plugins, click here.
Got errors with your RPG Maker MV plugin? Click here.
Yanfly Engine Plugins
This plugin is a part of the Yanfly Engine Plugins library.
Introduction
The values for Special Parameters: TGR, GRD, REC, PHA, MCR, TCR, PDR, MDR, FDR, and EXR are lesser used and lesser known, but are only modified by database object traits. This plugin enables you to utilize custom formulas for these Special Parameters to alter them in such a way where MAT can alter the MP Cost of skills and whatnot.
Instructions
Special Parameter Explanation
Special Parameters differ from Extra Parameters in the sense that their base values are determined multiplicatively while Extra Parameters are determined in an additive form. For those who aren't familiar with what the Special Parameters (sparams) do, this is a list that will explain their standard function in an RPG Maker MV project. --- TGR - Target Rate - Against the standard enemy, the Target Rate value determines the odds of an enemy specifically targeting the user for a single target attack. At 0%, the enemy will almost never target the user. At 100%, it will have normal targeting opportunity. At 100%+, the user will have an increased chance of being targeted. *NOTE: For those using the Battle A.I. Core, any actions that have specific target conditions will bypass the TGR rate. --- GRD - Guard Effect - This is the effectiveness of guarding. This affects the guard divisor value of 2. At 100% GRD, damage will become 'damage / (2 * 1.00)'. At 50% GRD, damage will become 'damage / (2 * 0.50)'. At 200% GRD, damage will become 'damage / (2 * 2.00)' and so forth. --- REC - Recovery Effect - This is how effective heals are towards the user. The higher the REC rate, the more the user is healed. If a spell were to heal for 100 and the user has 300% REC, then the user is healed for 300 instead. --- PHA - Pharmacology - This is how effective items are when used by the user. The higher the PHA rate, the more effective the item effect. If the user is using a Potion that recovers 100% on a target ally and the user has 300% PHA, then the target ally will receive healing for 300 instead. --- MCR - MP Cost Rate - This rate affects how much MP skills with an MP Cost will require to use. If the user has 100% MCR, then the MP Cost will be standard. If the user has 50% MCR, then all skills that cost MP will cost only half the required MP. If the user has 200% MCR, then all skills will cost 200% their MP cost. --- TCR - TP Charge Rate - This rate affects how much TP skills with an TP will charge when gaining TP through various actions. At 100%, TP will charge normally. At 50%, TP will charge at half speed. At 200%, TP will charge twice as fast. --- PDR - Physical Damage Rate - This rate affects how much damage the user will take from physical damage. If the user has 100% PDR, then the user takes the normal amount. If the user has 50% PDR, then all physical damage dealt to the user is halved. If the user has 200% PDR, then all physical damage dealt to the user is doubled. --- MDR - Magical Damage Rate - This rate affects how much damage the user will take from magical damage. If the user has 100% MDR, then the user takes the normal amount. If the user has 50% MDR, then all magical damage dealt to the user is halved. If the user has 200% MDR, then all magical damage dealt to the user is doubled. --- FDR - Floor Damage Rate - On the field map, this alters how much damage the user will take when the player walks over a tile that damages the party. The FDR value only affects the damage dealt to the particular actor and not the whole party. If FDR is at 100%, then the user takes the full damage. If FDR is at 50%, then only half of the damage goes through. If FDR is at 200%, then floor damage is doubled for that actor. --- EXR - Experience Rate - This determines the amount of experience gain the user whenever the user gains any kind of EXP. At 100% EXR, the rate of experience gain is normal. At 50%, the experience gain is halved. At 200%, the experience gain for the user is doubled. ---
Custom Formulas
The values calculated by the formulas in the plugin parameters are to come out as float values. If the result value comes out as 0.1 for GRD, it will be 10% GRD. Here is an example: (base + plus) * rate + flat + user.def / 1000 The 'user.def / 1000' is inserted at the end. Assuming everything else comes out to be 10% and the user's DEF parameter is at 500, it will be 0.1 + 0.5 which means the total comes out to 0.6, hence a 60% GuaRD Effect.
Understanding Formula Variables
So, what does the 'base', 'plus', 'rate', and 'flat' mean in the formulas? This section will answer that in detail. Default plugin formula: (base + plus) * rate + flat BASE - This value is determined by the default way RPG Maker MV determines the value for that stat, and the way RPG Maker MV determines it for Special Parameters (sparams) is by multiplying them all together with a base value of 1. This means if you have multiple traits with 80%, 50%, and 120%, then the multiplicative value of it comes out to 48%. PLUS - This is a new variable added by this plugin. Its purpose is to function as an addition to the base value. This addition can be done independently of database items as you can do a user.addSParam to alter the base value of the extra parameter. If using the default formula, this value is added to the base before any rates are multiplied by it and any flats added to the total. RATE - This is a new variable added by this plugin. Its purpose is to function as a multiplicative modifier for the extra parameter value. This multiplicative value is determined by various database objects through notetags. If using the default formula, this value is multipled to the sum of the base and plus values of the extra parameter before the flat is added to the total. FLAT - This is a new variable added by this plugin. Its purpose is to function as an additive modifier for the extra parameter value. This additive value is determined by various database objects through notetags. If using the plugin default formula, this value is added after the sum of the base and plus values of the extra parameter stat are multiplied by the rate value.
Sample Formulas
The following are some sample formulas you can use to make the special parameters a bit more dynamic: --- GRD --- Math.max((base + plus) * rate + flat + (user.def / 1000), 0.0000000001) - This will cause the GRD effect to gain more damage reduction from DEF. --- REC --- (base + plus) * rate + flat + ((user.def + user.mdf) / 2000) - This will increase the user's recovery rate from DEF and MDF. --- MCR --- (base + plus) * rate + flat - (user.mat / 3000) - This will cause the MP cost to reduce from the user having more MAT. --- PDR --- (base + plus) * rate + flat - (user.def / 4000) - This will cause the user to take less physical damage by having more DEF. --- MDR --- (base + plus) * rate + flat - (user.mdf / 4000) - This will cause the user to take less magical damage by having more MDF. The above are some examples on how you can make your special parameters to be affected by the other stats from the user.
Notetags
RPG Maker MV's editor is unable to allow for custom traits/properties that a game dev may wish to associate with a database object, event, map, etc. Notetags are used to work around such limitations by allowing the game dev to tag certain traits/properties using specific Notetags declared by the related plugin.
Here is a list of Notetag(s) that you may use.
---
You can use the following notetags to alter the various aspects that modify the special parameter values: Actor, Class, Enemy, Weapon, Armor, and State Notetags: <stat Plus: +x%> <stat Plus: -x%> <stat Plus: +x.y> <stat Plus: -x.y> Replace 'stat' with 'tgr', 'grd', 'rec', 'pha', 'mcr', 'tcr', 'pdr', 'mdr', 'fdr', or 'exr'. This is the value added to the base parameter before the rate and flat values contribute to the total parameter value assuming the plugin's default formula is utilized. <stat Rate: x%> <stat Rate: x.y> Replace 'stat' with 'tgr', 'grd', 'rec', 'pha', 'mcr', 'tcr', 'pdr', 'mdr', 'fdr', or 'exr'. This is the value multipled to the sum of the base and plus values of the parameter before added by the flat value assuming the plugin's default formula is utilized. <stat Flat: +x%> <stat Flat: -x%> <stat Flat: +x.y> <stat Flat: -x.y> Replace 'stat' with 'tgr', 'grd', 'rec', 'pha', 'mcr', 'tcr', 'pdr', 'mdr', 'fdr', or 'exr'. This is the value added finally to the sum of the base and plus values after being multiplied by the rate value assuming the plugin's default formula is utilized.
Lunatic Mode
For advanced users who have an understanding of JavaScript, you can use the following features added by the plugin to further enhance what you can do with your game project.
You can use the following JavaScript functions to alter the special parameter values of actors. In these listed functions, the 'actor' variable is to be referenced by an actor: ie. actor = $gameActors.actor(3); Function: actor.clearSParamPlus() - Clears all of the actor's special parameter plus bonuses. actor.setTgr(x) actor.setGrd(x) actor.setRec(x) actor.setPha(x) actor.setMcr(x) actor.setTcr(x) actor.setPdr(x) actor.setMdr(x) actor.setFdr(x) actor.setExr(x) - Sets the actor's respective special parameter value to x. Keep in mind that 1 is equal to 100% and 0.1 would be equal to 10%. Negative values will apply here, too. actor.setTgrPlus(x) actor.setGrdPlus(x) actor.setRecPlus(x) actor.setPhaPlus(x) actor.setMcrPlus(x) actor.setTcrPlus(x) actor.setPdrPlus(x) actor.setMdrPlus(x) actor.setFdrPlus(x) actor.setExrPlus(x) - Sets the actor's respective special parameter plus value to x. Keep in mind that 1 is equal to 100% and 0.1 would be equal to 10%. Negative values will apply here, too. actor.addTgr(x) actor.addGrd(x) actor.addRec(x) actor.addPha(x) actor.addMcr(x) actor.addTcr(x) actor.addPdr(x) actor.addMdr(x) actor.addFdr(x) actor.addExr(x) - Adds x to the actor's respective special parameter value. Keep in mind that 1 is equal to 100% and 0.1 would be equal to 10%. Negative values will decrease the special parameter. actor.minusTgr(x) actor.minusGrd(x) actor.minusRec(x) actor.minusPha(x) actor.minusMcr(x) actor.minusTcr(x) actor.minusPdr(x) actor.minusMdr(x) actor.minusFdr(x) actor.minusExr(x) - Subtracts x from the actor's respective special parameter value. Keep in mind that 1 is equal to 100% and 0.1 would be equal to 10%. Negative values will add to the special parameter.
Changelog
Version 1.06: - Bypass the isDevToolsOpen() error when bad code is inserted into a script call or custom Lunatic Mode code segment due to updating to MV 1.6.1. Version 1.05: - Updated for RPG Maker MV version 1.5.0. Version 1.04: - Lunatic Mode fail safes added. Version 1.03: - Fixed an issue with the battler.setSParam functions that made them take the wrong value due caching issues. Version 1.02: - Fixed a bug that caused crashes when stepping over damage floors. Version 1.01: - Updated for RPG Maker MV version 1.1.0. Version 1.00: - Finished Plugin!