Difference between revisions of "Special Parameter Formula (YEP)"

From Yanfly.moe Wiki
Jump to navigation Jump to search
(Created page with "{{MvPlugin |preview=<youtube>https://www.youtube.com/watch?v=a90vP0jVWIE</youtube> |link1=<html><iframe src="https://itch.io/embed/398028" height="167" width="552" frameborder...")
 
Line 1: Line 1:
 
{{MvPlugin
 
{{MvPlugin
|preview=<youtube>https://www.youtube.com/watch?v=a90vP0jVWIE</youtube>
+
|preview = <youtube>https://www.youtube.com/watch?v=a90vP0jVWIE</youtube>
|link1=<html><iframe src="https://itch.io/embed/398028" height="167" width="552" frameborder="0"></iframe></html>
+
|link1 = <html><iframe src="https://itch.io/embed/398028" height="167" width="552" frameborder = "0"></iframe></html>
|link2=[http://yanfly.moe/plugins/en/YEP_SpecialParamFormula.js Mirror]
+
|link2 = [http://yanfly.moe/plugins/en/YEP_SpecialParamFormula.js Mirror]
  
 
}}
 
}}
Line 9: Line 9:
 
{{Yanfly Engine Plugins}}
 
{{Yanfly Engine Plugins}}
  
== Help File ==
+
== Introduction ==
  
  <nowiki>
+
  <nowiki>The values for Special Parameters: TGR, GRD, REC, PHA, MCR, TCR, PDR, MDR,
============================================================================
 
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
 
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
 
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
 
for these Special Parameters to alter them in such a way where MAT can alter
 
the MP Cost of skills and whatnot.
 
the MP Cost of skills and whatnot.
 +
</nowiki>
  
============================================================================
+
== Instructions - Special Parameter Explanation ==
Instructions - Special Parameter Explanation
 
============================================================================
 
  
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
 
values are determined multiplicatively while Extra Parameters are determined
 
values are determined multiplicatively while Extra Parameters are determined
 
in an additive form. For those who aren't familiar with what the Special
 
in an additive form. For those who aren't familiar with what the Special
Line 116: Line 110:
  
 
---
 
---
 +
</nowiki>
  
============================================================================
+
== Instructions - Custom Formulas ==
Instructions - Custom Formulas
 
============================================================================
 
  
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
 
out as float values. If the result value comes out as 0.1 for GRD, it will
 
out as float values. If the result value comes out as 0.1 for GRD, it will
 
be 10% GRD. Here is an example:
 
be 10% GRD. Here is an example:
Line 130: Line 123:
 
out to be 10% and the user's DEF parameter is at 500, it will be 0.1 + 0.5
 
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.
 
which means the total comes out to 0.6, hence a 60% GuaRD Effect.
 +
</nowiki>
  
============================================================================
+
== Instructions - Understanding Formula Variables ==
Instructions - Understanding Formula Variables
 
============================================================================
 
  
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?
 
This section will answer that in detail.
 
This section will answer that in detail.
  
Line 167: Line 159:
 
default formula, this value is added after the sum of the base and plus
 
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.
 
values of the extra parameter stat are multiplied by the rate value.
 +
</nowiki>
  
============================================================================
+
== Examples - Sample Formulas ==
Examples - Sample Formulas
 
============================================================================
 
  
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
 
parameters a bit more dynamic:
 
parameters a bit more dynamic:
  
Line 197: Line 188:
 
The above are some examples on how you can make your special parameters to
 
The above are some examples on how you can make your special parameters to
 
be affected by the other stats from the user.
 
be affected by the other stats from the user.
 +
</nowiki>
  
============================================================================
+
== Notetags ==
Notetags
 
============================================================================
 
  
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
 
the special parameter values:
 
the special parameter values:
  
Line 231: Line 221:
 
   base and plus values after being multiplied by the rate value assuming the
 
   base and plus values after being multiplied by the rate value assuming the
 
   plugin's default formula is utilized.
 
   plugin's default formula is utilized.
 +
</nowiki>
  
============================================================================
+
== Lunatic Mode - New JavaScript Functions ==
Lunatic Mode - New JavaScript Functions
 
============================================================================
 
  
You can use the following JavaScript functions to alter the special
+
<nowiki>You can use the following JavaScript functions to alter the special
 
parameter values of actors. In these listed functions, the 'actor' variable
 
parameter values of actors. In these listed functions, the 'actor' variable
 
is to be referenced by an actor:
 
is to be referenced by an actor:
Line 302: Line 291:
 
   mind that 1 is equal to 100% and 0.1 would be equal to 10%. Negative
 
   mind that 1 is equal to 100% and 0.1 would be equal to 10%. Negative
 
   values will add to the special parameter.
 
   values will add to the special parameter.
 +
</nowiki>
  
============================================================================
+
== Changelog ==
Changelog
 
============================================================================
 
  
Version 1.06:
+
<nowiki>Version 1.06:
 
- Bypass the isDevToolsOpen() error when bad code is inserted into a script
 
- 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.
 
call or custom Lunatic Mode code segment due to updating to MV 1.6.1.
Line 329: Line 317:
 
Version 1.00:
 
Version 1.00:
 
- Finished Plugin!
 
- Finished Plugin!
 +
 
</nowiki>
 
</nowiki>

Revision as of 19:44, 21 June 2019

Welcome to the wiki! This is where you can find resources from Yanfly.moe, Ækashics.moe,
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.


Masterarbeit Writer

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.

---

Instructions - 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.

Instructions - 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.

Examples - 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

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 - New JavaScript Functions

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!