あなたがより多くの機能と効果であなたがゲームのダメージ計算にあなたが持っているコントロールを広げてください。 – YEP_DamageCore.js

タイトル
Expand the control you have over the game's damagecalculation with more features and effects.
作者名
ヘルプ
============================================================================
Introduction
============================================================================

The game gives a lot of control over the damage formula, but it doesn't give
much control for everything else after calculating it. This plugin will give
you control over the order the damage formula is calculated in addition to
letting you insert your own changes to it at whatever you wish.

If you have YEP_BattleEngineCore.js installed, place this plugin under
YEP_BattleEngineCore.js if you wish to make use of the extra features this
plugin has to offer.

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

The following are some notetags you can use to modify the damage caps.

Skill and Item Notetag:
<Bypass Damage Cap>
This causes the skill/item to ignore the damage cap and go with the
regular value of the calculated damage. This will cancel out any damage
cap effects otherwise. This will take priority over any damage cap
breaking effects.

Actor, Class, Enemy, Weapon, Armor, and State Notetags:
<Bypass Damage Cap>
This will cause the related battler to bypass any damage capping effects
and its skills/items will go with the uncapped calculated value.

<Damage Cap: x>
<Heal Cap: x>
This will set the skill to have a damage/healing cap of x. This will
cancel out any damage cap bypassers. If a battler has more than one
damage cap, it will go with the highest value. This means if an actor that
has a weapon that brings the damage cap to 99,999 and an accessory that
brings the damage cap to 999,999, then the battler's damage cap will be
the highest value of 999,999.

============================================================================
Plugin Commands
============================================================================

The following are plugins you can use to set the damage cap rulings for your
game. Keep in mind that individual aspects such as equipment traits, skill
properties, etc. will take priority over these default caps.

Plugin Command:
SetDamageCap 9999 Sets the default damage cap to 9999.
SetHealingCap 9999 Sets the default healing cap to 9999.
EnableDamageCap Enables default cap for both damage and healing.
DisableDamageCap Disables default cap for both damage and healing.

============================================================================
Lunatic Mode - Damage Formula
============================================================================

For those who think the damage formula box is too small and would like to
use the notebox instead to declare the damage formula, you can use the
notetags below:

Skill and Item Notetags:
<damage formula>
value = 500;
value += 2500;
</damage formula>
This will overwrite the damage formula found at the top and use the
strings in the middle as the formula instead. Keep in mind that using
comments here will cancel out anything following after. New variables can
be used, too, to make damage calculations a bit easier.

value - Refers to the amount that will become the base damage value.
user - Refers to the actor/enemy using the skill/item.
subject - Refers to the actor/enemy using the skill/item.
target - Refers to the target actor/enemy on the receiving end of
the skill/item.

============================================================================
Lunatic Mode - Damage Steps
============================================================================

The damage formula isn't all there is to calculating the damage that appears
at the very end. In this plugin's parameters towards the bottom, you'll see
a large list of Damage Steps. Each one of these steps is a line of code that
the damage count will run through in order to calculate and finalize the
damage output.

The purpose of those parameters is to allow you ease of access on where you
want to insert code that is your own or custom code provided by another
plugin. Here's a quick reference on how the original damage flow looked like:

Game_Action.prototype.makeDamageValue = function(target, critical) {
var item = this.item();
var baseDamage = this.evalDamageFormula(target);
var value = baseDamagethis.calcElementRate(target);
if (this.isPhysical()) {
value= target.pdr;
}
if (this.isMagical()) {
value= target.mdr;
}
if (baseDamage < 0) {
value= target.rec;
}
if (critical) {
value = this.applyCritical(value);
}
value = this.applyVariance(value, item.damage.variance);
value = this.applyGuard(value, target);
value = Math.round(value);
return value;
};

In the vein of keeping everything organized, the following lines have been
incorporated into new functions:

Formula New Function
value= target.pdr value = this.applyPhysicalRate
value= target.mdr value = this.applyMagicalRate
value= target.rec value = this.applyHealRate
value = this.applyCritical(value) value = this.applyCriticalRate

============================================================================
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
damage related action sequences.

=============================================================================
BYPASS DAMAGE CAP
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This will override all damage caps. This is applied to healing, too.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: bypass damage cap
=============================================================================

=============================================================================
DAMAGE CAP: x
HEALING CAP: x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This sets the action's damage cap to x, overriding all over damage caps in
play except its own. This will also apply to healing, too.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: damage cap: 999
healing cap: 999999
=============================================================================

=============================================================================
DAMAGE RATE: x%
DAMAGE RATE: x.y
DAMAGE RATE: VARIABLE x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This changes the damage rate across all types of damage (physical, magical,
and certain hit). The damage rate is reset at the end of each action
sequence. If you use a variable, it is treated as a percentage.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: damage rate: 50%
damage rate: 8.667
damage rate: variable 3
=============================================================================

=============================================================================
FLAT DAMAGE: +x
FLAT DAMAGE: -x
FLAT DAMAGE: VARIABLE x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This adds a flat damage across all types of damage (physical, magical, and
certain hit). The flat damage is reset at the end of each action sequence.
If you use a variable, it is added onto the damage.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: flat damage: +100
flat damage: -250
flat damage: variable 3
=============================================================================

=============================================================================
FLAT GLOBAL: +x
FLAT GLOBAL: -x
FLAT GLOBAL: VARIABLE x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This adds a flat global damage and heal across all types of damage
(physical, magical, and certain hit). The flat damage and heal is reset at
the end of each action sequence. If you use a variable, it is added onto the
damage and heal.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: flat global: +100
flat global: -250
flat global: variable 3
=============================================================================

=============================================================================
FLAT HEAL: +x
FLAT HEAL: -x
FLAT HEAL: VARIABLE x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This adds a flat heal across all types of damage (physical, magical, and
certain hit). The flat heal is reset at the end of each action sequence.
If you use a variable, it is added onto the heal.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: flat heal: +100
flat heal: -250
flat heal: variable 3
=============================================================================

=============================================================================
GLOBAL RATE: x%
GLOBAL RATE: x.y
GLOBAL RATE: VARIABLE x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This changes the damage and healing rates across all types of damage
(physical, magical, and certain hit). The damage and healing rates are reset
at the end of each action sequence. If you use a variable, it is treated as
a percentage.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: global rate: 50%
global rate: 8.667
global rate: variable 3
=============================================================================

=============================================================================
HEAL RATE: x%
HEAL RATE: x.y
HEAL RATE: VARIABLE x
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This changes the healing rate across all types of damage (physical, magical,
and certain hit). The healing rate is reset at the end of each action
sequence. If you use a variable, it is treated as a percentage.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: heal rate: 50%
heal rate: 8.667
heal rate: variable 3
=============================================================================

=============================================================================
RESET DAMAGE CAP
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This will reset the damage cap implemented by the Damage Cap action
sequence. This will also reset the effects of the Bypass Damage Cap
action sequence.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: reset damage cap
=============================================================================

=============================================================================
RESET DAMAGE MODIFIERS
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
This will cause all damage and healing modifiers caused by action sequences
to reset. While they normally reset at the end of each action sequence, this
will allow you to do it manually.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Usage Example: reset damage modifiers
=============================================================================

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

Version 1.04:
- Rewored Damage Steps 1 through 8. If you're updating from an old version,
please update the these manually:
Step 1: baseDamage = this.modifyBaseDamage(value, baseDamage, target);
Step 2: baseDamage= this.calcElementRate(target);
Steps 3 through 5: (empty)
Step 6: critical = this.modifyCritical(critical, baseDamage, target);
Step 7: target.result().critical = critical;
Step 8: value = baseDamage;
- This change was made to Element Absorb and Disperse Damage better. This
damage step change is also more efficient in calculating damage effects that
alters the baseDamage.

Version 1.03:
- Changed default parameter in Damage Step 4 from
'baseDamage = this.modifyBaseDamage(value, baseDamage, target);' to
'value = this.modifyBaseDamage(value, baseDamage, target);'
Be sure to manually change this yourself if you want to get things like the
Selection Control's Disperse Damage mechanic to work.

Version 1.02:
- Updated for RPG Maker MV version 1.1.0.
- <Damage Formula> notetag now supports comments.

Version 1.01:
- Fixed a bug with <Damage Formula> not recording custom formulas correctly.

Version 1.00:
- Finished plugin!
パラメータ
param ---Damage Cap---
default
param Enable Cap
desc Do you wish to put a cap on your damage?
NO - false YES - true Default: false
default true

param Maximum Damage
desc If enabled, what is the default maximum damage?
default 9999

param Maximum Healing
desc If enabled, what is the default maximum healing?
default 9999

param ---Damage Steps---
default
param Damage Step 1
desc This is the step after the base value has been calculated.
Previous line: baseDamage = this.evalDamageFormula(target);
default baseDamage = this.modifyBaseDamage(value, baseDamage, target);

param Damage Step 2
desc This is the next step in the damage flow.
default baseDamage= this.calcElementRate(target);

param Damage Step 3
desc This is the next step in the damage flow.
default

param Damage Step 4
desc This is the next step in the damage flow.
default

param Damage Step 5
desc This is the next step in the damage flow.
default

param Damage Step 6
desc This is the next step in the damage flow.
default critical = this.modifyCritical(critical, baseDamage, target);

param Damage Step 7
desc This is the next step in the damage flow.
default target.result().critical = critical;

param Damage Step 8
desc This is the next step in the damage flow.
default value = baseDamage;

param Damage Step 9
desc This is the next step in the damage flow.
default

param Damage Step 10
desc This is the next step in the damage flow.
default if (baseDamage > 0) {

param Damage Step 11
desc This is the next step in the damage flow.
default value = this.applyDamageRate(value, baseDamage, target);

param Damage Step 12
desc This is the next step in the damage flow.
default
param Damage Step 13
desc This is the next step in the damage flow.
default
param Damage Step 14
desc This is the next step in the damage flow.
default
param Damage Step 15
desc This is the next step in the damage flow.
default
param Damage Step 16
desc This is the next step in the damage flow.
default
param Damage Step 17
desc This is the next step in the damage flow.
default
param Damage Step 18
desc This is the next step in the damage flow.
default }

param Damage Step 19
desc This is the next step in the damage flow.
default
param Damage Step 20
desc This is the next step in the damage flow.
default if (baseDamage < 0) {

param Damage Step 21
desc This is the next step in the damage flow.
default value = this.applyHealRate(value, baseDamage, target);

param Damage Step 22
desc This is the next step in the damage flow.
default
param Damage Step 23
desc This is the next step in the damage flow.
default
param Damage Step 24
desc This is the next step in the damage flow.
default
param Damage Step 25
desc This is the next step in the damage flow.
default
param Damage Step 26
desc This is the next step in the damage flow.
default
param Damage Step 27
desc This is the next step in the damage flow.
default
param Damage Step 28
desc This is the next step in the damage flow.
default }

param Damage Step 29
desc This is the next step in the damage flow.
default
param Damage Step 30
desc This is the next step in the damage flow.
default if (critical) {

param Damage Step 31
desc This is the next step in the damage flow.
default value = this.applyCriticalRate(value, baseDamage, target);

param Damage Step 32
desc This is the next step in the damage flow.
default
param Damage Step 33
desc This is the next step in the damage flow.
default
param Damage Step 34
desc This is the next step in the damage flow.
default
param Damage Step 35
desc This is the next step in the damage flow.
default
param Damage Step 36
desc This is the next step in the damage flow.
default
param Damage Step 37
desc This is the next step in the damage flow.
default
param Damage Step 38
desc This is the next step in the damage flow.
default }

param Damage Step 39
desc This is the next step in the damage flow.
default
param Damage Step 40
desc This is the next step in the damage flow.
default if (this.isPhysical()) {

param Damage Step 41
desc This is the next step in the damage flow.
default value = this.applyPhysicalRate(value, baseDamage, target);

param Damage Step 42
desc This is the next step in the damage flow.
default
param Damage Step 43
desc This is the next step in the damage flow.
default
param Damage Step 44
desc This is the next step in the damage flow.
default
param Damage Step 45
desc This is the next step in the damage flow.
default
param Damage Step 46
desc This is the next step in the damage flow.
default
param Damage Step 47
desc This is the next step in the damage flow.
default value = this.applyFlatPhysical(value, baseDamage, target);

param Damage Step 48
desc This is the next step in the damage flow.
default }

param Damage Step 49
desc This is the next step in the damage flow.
default
param Damage Step 50
desc This is the next step in the damage flow.
default if (this.isMagical()) {

param Damage Step 51
desc This is the next step in the damage flow.
default value = this.applyMagicalRate(value, baseDamage, target);

param Damage Step 52
desc This is the next step in the damage flow.
default
param Damage Step 53
desc This is the next step in the damage flow.
default
param Damage Step 54
desc This is the next step in the damage flow.
default
param Damage Step 55
desc This is the next step in the damage flow.
default
param Damage Step 56
desc This is the next step in the damage flow.
default
param Damage Step 57
desc This is the next step in the damage flow.
default value = this.applyFlatMagical(value, baseDamage, target);

param Damage Step 58
desc This is the next step in the damage flow.
default }

param Damage Step 59
desc This is the next step in the damage flow.
default
param Damage Step 60
desc This is the next step in the damage flow.
default if (baseDamage > 0) {

param Damage Step 61
desc This is the next step in the damage flow.
default value = this.applyFlatDamage(value, baseDamage, target);

param Damage Step 62
desc This is the next step in the damage flow.
default
param Damage Step 63
desc This is the next step in the damage flow.
default
param Damage Step 64
desc This is the next step in the damage flow.
default
param Damage Step 65
desc This is the next step in the damage flow.
default
param Damage Step 66
desc This is the next step in the damage flow.
default
param Damage Step 67
desc This is the next step in the damage flow.
default
param Damage Step 68
desc This is the next step in the damage flow.
default }

param Damage Step 69
desc This is the next step in the damage flow.
default
param Damage Step 70
desc This is the next step in the damage flow.
default if (baseDamage < 0) {

param Damage Step 71
desc This is the next step in the damage flow.
default value = this.applyFlatHeal(value, baseDamage, target);

param Damage Step 72
desc This is the next step in the damage flow.
default
param Damage Step 73
desc This is the next step in the damage flow.
default
param Damage Step 74
desc This is the next step in the damage flow.
default
param Damage Step 75
desc This is the next step in the damage flow.
default
param Damage Step 76
desc This is the next step in the damage flow.
default
param Damage Step 77
desc This is the next step in the damage flow.
default
param Damage Step 78
desc This is the next step in the damage flow.
default }

param Damage Step 79
desc This is the next step in the damage flow.
default
param Damage Step 80
desc This is the next step in the damage flow.
default if (critical) {

param Damage Step 81
desc This is the next step in the damage flow.
default value = this.applyFlatCritical(value, baseDamage, target);

param Damage Step 82
desc This is the next step in the damage flow.
default
param Damage Step 83
desc This is the next step in the damage flow.
default
param Damage Step 84
desc This is the next step in the damage flow.
default
param Damage Step 85
desc This is the next step in the damage flow.
default
param Damage Step 86
desc This is the next step in the damage flow.
default
param Damage Step 87
desc This is the next step in the damage flow.
default
param Damage Step 88
desc This is the next step in the damage flow.
default }

param Damage Step 89
desc This is the next step in the damage flow.
default
param Damage Step 90
desc This is the next step in the damage flow.
default value = this.applyVariance(value, item.damage.variance);

param Damage Step 91
desc This is the next step in the damage flow.
default
param Damage Step 92
desc This is the next step in the damage flow.
default
param Damage Step 93
desc This is the next step in the damage flow.
default
param Damage Step 94
desc This is the next step in the damage flow.
default
param Damage Step 95
desc This is the next step in the damage flow.
default value = this.applyGuard(value, target);

param Damage Step 96
desc This is the next step in the damage flow.
default
param Damage Step 97
desc This is the next step in the damage flow.
default
param Damage Step 98
desc This is the next step in the damage flow.
default
param Damage Step 99
desc This is the next step in the damage flow.
default value = this.applyFlatGlobal(value, baseDamage, target);

param Damage Step 100
desc This is the final step in the damage flow.
Following line: return Math.round(value);
default value = this.applyMinimumDamage(value, baseDamage, target);

ライセンス表記

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