(要 YEP_DamageCore.js)普遍的なスケールと比較して防御的な状態をスケールするプラグイン – YEP_X_ArmorScaling.js

タイトル
(Requires YEP_DamageCore.js) Scale defensivestats relative to a universal scale.
作者名
ヘルプ
============================================================================
Introduction
============================================================================

This plugin requires YEP_DamageCore.
Make sure this plugin is located under YEP_DamageCore in the plugin list.

This plugin serves as a damage balancing plugin to make numbers across the
battlefield more universal for both actors and enemies alike and gets past
the flaws that ATK - DEF formulas have.

============================================================================
Armor Scaling
============================================================================

Armor Scaling allows the damage formula to be rid of "b.def2" and similar
calculations in favor of scaling the damage relative to the armor values
that the attack target has. The following is the armor scaling formula for
both positive and negative armor values:

Positive Armor Negative Armor

100 100
Rate = ------------- Rate = 2 - -------------
100 + armor 100 - armor

To get an idea of how armor scaling will affect damage, you can visit
FlyingDream's Armor Scaling Calculator here:

http://yanfly.moe/tools/armorscalingcalculator/

For quick reference, here's a table on how 1,000 base damage is affected.

Armor Level Rate% Damage Armor Level Rate% Damage
1 99.01% 990 -1 100.99% 1,010
2 98.04% 980 -2 101.96% 1,020
3 97.09% 971 -3 102.91% 1,029
4 96.15% 962 -4 103.85% 1,038
5 95.24% 952 -5 104.76% 1,048
6 94.34% 943 -6 105.66% 1,057
7 93.46% 935 -7 106.54% 1,065
8 92.59% 926 -8 107.41% 1,074
9 91.74% 917 -9 108.26% 1,083
10 90.91% 909 -10 109.09% 1,091
25 80.00% 800 -25 120.00% 1,200
50 66.67% 667 -50 133.33% 1,333
75 57.14% 571 -75 142.86% 1,429
100 50.00% 500 -100 150.00% 1,500
150 40.00% 400 -150 160.00% 1,600
200 33.33% 333 -200 166.67% 1,667
250 28.57% 286 -250 171.43% 1,714
300 25.00% 250 -300 175.00% 1,750
350 22.22% 222 -350 177.78% 1,778
400 20.00% 200 -400 180.00% 1,800
450 18.18% 182 -450 181.82% 1,818
500 16.67% 167 -500 183.33% 1,833
550 15.38% 154 -550 184.62% 1,846
600 14.29% 143 -600 185.71% 1,857
650 13.33% 133 -650 186.67% 1,867
700 12.50% 125 -700 187.50% 1,875
750 11.76% 118 -750 188.24% 1,882
800 11.11% 111 -800 188.89% 1,889
850 10.53% 105 -850 189.47% 1,895
900 10.00% 100 -900 190.00% 1,900
950 9.52% 95 -950 190.48% 1,905
999 9.10% 91 -999 190.90% 1,909
9,999 0.99% 10 -9,999 199.01% 1,990
99,999 0.10% 1 -99,999 199.90% 1,999
999,999 0.01% 0 -999,999 199.99% 2,000
9,999,999 0.00% 0 -9,999,999 200.00% 2,000

Using the default base armor formula of 2 defense points is equal to 1
armor, this means at 200 defense, a battler will take only 50% damage. At
999 defense, the battler will take a little bit more than 16.67% damage.
At those values without armor scaling, damage can be entirely undone for
that very matter. This goes to show how effective armor scaling can be to
maintain long-term balancing.

============================================================================
Armor Reduction and Armor Penetration
============================================================================

There are various modifiers that can alter the armor level before the armor
scaling rate is applied to damage. Armor goes through four main steps and
they are as follows.

1. Armor Reduction, Flat
2. Armor Reduction, Percentage
3. Armor Penetration, Percentage
4. Armor Penetration, Flat

In step 1 (Armor Reduction, Flat), the target's armor is reduced by a value.
Flat armor reduction stacks additively. Flat armor reduction can reduce a
target's armor below zero. For example, if an enemy with 10 armor has their
armor reduced by 25, the enemy will have -15 armor. Armor reduction values
are provided by target and not the attacker.

In step 2 (Armor Reduction, Percentage), the target's armor is multiplied by
a percentage (100% - the listed value). Percentage armor reduction stacks
multiplicatively and is ignored if the target's armor is 0 or less.
Percentage armor reduction makes a bigger difference on targets with higher
armor. For instance, with 40% armor reduction, a target with 200 armor will
lose 80 while a target with only 50 armor will lose 20. Armor reduction
values are provided by the target and not the attacker.

In step 3 (Armor Penetration, Percentage), the target's armor is multiplied
by a percentage (100% - the listed value). Percentage armor penetration
stacks multiplicatively and is ignored if the target's armor is 0 or less.
Percentage armor penetration makes a bigger difference on targets with higher
armor. For instance, with 40% armor penetration, a target with 200 armor will
be considered as having 80 less while a target with only 50 armor will be
considered as having 20 less. Armor penetration values are provided by the
attacker and not the target.

In step 4 (Armor Penetration, Flat), the target's armor is treated as being
reduced by an amount for purposes of damage calculation, but cannot be
reduced below 0. Flat armor penetration stacks additively. Armor penetration
values are provided by the attacker and not the target.

============================================================================
Notetags
============================================================================

You may use these notetags to adjust various factors for armor scaling rates
and calculations.

Skill and Item Notetags:
<Armor Reduction: x>
Causes the skill/item to reduce the target's armor level by x. This is
calculated first above everything else.

<Armor Reduction: x%>
Causes the skill/item to reduce the target's armor level by x%. This is
calculated second but is ignored if the armor level is less than 0.

<Armor Penetration: x%>
Causes the skill/item to reduce the target's armor level by x% (but will
not go past 0). This is calculated third.

<Armor Penetration: x>
Causes the skill/item to reduce the target's armor level by x (but will
not go past 0). This is calculated last.

<Bypass Armor Scaling>
This notetag allows you to bypass the armor scaling process for this
individual skill/item.

Actor, Class, Enemy, Weapon, Armor, State Notetags:
<Physical Armor Reduction: x>
Causes this actor to lose x armor when targeted by physical skills/items.
This is calculated first.

<Magical Armor Reduction: x>
Causes this actor to lose x armor when targeted by magical skills/items.
This is calculated first.

<Certain Armor Reduction: x>
Causes this actor to lose x armor when targeted by certain skills/items.
This is calculated first.

<Physical Armor Reduction: x%>
Causes this actor to lose x% armor when targeted by physical skills/items.
This is calculated second.

<Magical Armor Reduction: x%>
Causes this actor to lose x% armor when targeted by magical skills/items.
This is calculated second.

<Certain Armor Reduction: x%>
Causes this actor to lose x% armor when targeted by certain skills/items.
This is calculated second.

<Physical Armor Penetration: x%>
Causes this actor to cause the target to lose x% armor when using a
physical skills/items. This is calculated third.

<Magical Armor Penetration: x%>
Causes this actor to cause the target to lose x% armor when using a
magical skills/items. This is calculated third.

<Certain Armor Penetration: x%>
Causes this actor to cause the target to lose x% armor when using a
physical skills/items. This is calculated third.

<Physical Armor Penetration: x>
Causes this actor to cause the target to lose x armor but not drop below
0 armor when using a physical skills/items. This is calculated last.

<Magical Armor Penetration: x>
Causes this actor to cause the target to lose x armor but not drop below
0 armor when using a magical skills/items. This is calculated last.

<Certain Armor Penetration: x>
Causes this actor to cause the target to lose x armor but not drop below
0 armor when using a certain skills/items. This is calculated last.

============================================================================
Lunatic Mode - Custom Armor Scaling
============================================================================

For those with some JavaScript experience, you can make use of Lunatic Mode
to calculate the way you want armor scaling done for particular skills and
items right within the notebox!

<Positive Armor Rate>
value= 100;
value /= 100 + armor;
</Positive Armor Rate>
This enables you to set a custom positive armor calculation rate for the
skill/item instead of using the default positive armor rate.

<Negative Armor Rate>
value= 2 - (100 / (100 - armor));
value= 1.5;
</Negative Armor Rate>
This enables you to set a custom negative armor calculation rate for the
skill/item instead of using the default positive armor rate.

<Base Armor>
armor = target.def;
armor -= user.atk / 4;
</Base Armor>
This enables you to set a custom way for the skill/item to calculate the
base armor value used for armor scaling.

============================================================================
Yanfly Engine Plugins - Battle Engine Extension - Action Sequence Commands
============================================================================

If you have YEP_BattleEngineCore.js installed with this plugin located
underneath it in the Plugin Manager, you can make use of these extra
armor scaling related action sequences.

=============================================================================
ARMOR PENETRATION: X
ARMOR PENETRATION: X%
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Causes the skill to have a global armor pentration property of either x or
x% rate. This property is reset at the end of the action sequence.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: armor penetration: 20
armor penetration: 30%
=============================================================================

=============================================================================
ARMOR REDUCTION: X
ARMOR REDUCTION: X%
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Causes the skill to have a global armor reduction property of either x or
x% rate. This property is reset at the end of the action sequence.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: armor reduction: 20
armor reduction: 30%
=============================================================================

=============================================================================
RESET ARMOR PENETRATION
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Resets global set armor penetration properties.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: reset armor penetration
=============================================================================

=============================================================================
RESET ARMOR REDUCTION
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Resets global set armor reduction properties.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: reset armor reduction
=============================================================================

============================================================================
Changelog
============================================================================

Version 1.02:
- Updated for RPG Maker MV version 1.1.0.

Version 1.01:
- Fixed the notetag <Armor Reduction: x%> from not working with the intended
effect.
- Negative armor damage calculations are reworked to function as intended.

Version 1.00:
- Finished Plugin!
パラメータ
param ---Physical---
default
param Positive Physical Rate
desc This is the multiplier rate for physical attacks if the
calculated armor is a positive value.
default value= 100 / (100 + armor)

param Negative Physical Rate
desc This is the multiplier rate for physical attacks if the
calculated armor is a negative value.
default value= 2 - (100 / (100 - armor))

param Physical Base Armor
desc This is the physical base armor calculation.
default target.def / 2

param ---Magical---
default
param Positive Magical Rate
desc This is the multiplier rate for magical attacks if the
calculated armor is a positive value.
default value= 100 / (100 + armor)

param Negative Magical Rate
desc This is the multiplier rate for magical attacks if the
calculated armor is a negative value.
default value= 2 - (100 / (100 - armor))

param Magical Base Armor
desc This is the magical base armor calculation.
default target.mdf / 2

param ---Certain---
default
param Positive Certain Rate
desc This is the multiplier rate for certain attacks if the
calculated armor is a positive value.
default value= 100 / (100 + armor)

param Negative Certain Rate
desc This is the multiplier rate for certain attacks if the
calculated armor is a negative value.
default value= 2 - (100 / (100 - armor))

param Certain Base Armor
desc This is the certain hit base armor calculation.
default 0

ライセンス表記

紹介ページ https://github.com/suppayami/yami-engine-delta/blob/master/demo/js/plugins/YEP_X_ArmorScaling.js