/*:ja * @plugindesc v1.06 特殊能力値(TGR、GRD、REC、PHA、MCR、TCR、PDR、MDR、FDR、EXR)の式を制御します。 * @author Yanfly Engine Plugins * * @param ---特殊能力値・式--- * @default * * @param TGR Formula * @text 狙われ率の式 * @parent ---特殊能力値・式--- * @desc TGRを決定する式: 狙われ率 * @default (base + plus) * rate + flat * * @param GRD Formula * @text 防御効果率の式 * @parent ---特殊能力値・式--- * @desc GRDを決定する式: 防御効果率 * @default Math.max((base + plus) * rate + flat, 0.0000000001) * * @param REC Formula * @text 回復効果率の式 * @parent ---特殊能力値・式--- * @desc RECを決定する式: 回復効果率 * @default (base + plus) * rate + flat * * @param PHA Formula * @text 薬の知識の式 * @parent ---特殊能力値・式--- * @desc PHAを決定する式: 薬の知識 * @default (base + plus) * rate + flat * * @param MCR Formula * @text MP消費率の式 * @parent ---特殊能力値・式--- * @desc MCRを決定する式: MP消費率 * @default (base + plus) * rate + flat * * @param TCR Formula * @text TPチャージ率の式 * @parent ---特殊能力値・式--- * @desc TCRを決定する式: TPチャージ率 * @default (base + plus) * rate + flat * * @param PDR Formula * @text 物理ダメージ率の式 * @parent ---特殊能力値・式--- * @desc PDRを決定する式: 物理ダメージ率 * @default (base + plus) * rate + flat * * @param MDR Formula * @text 魔法ダメージ率の式 * @parent ---特殊能力値・式--- * @desc MDRを決定する式: 魔法ダメージ率 * @default (base + plus) * rate + flat * * @param FDR Formula * @text 床ダメージ率の式 * @parent ---特殊能力値・式--- * @desc FDRを決定する式: 床ダメージ率 * @default (base + plus) * rate + flat * * @param EXR Formula * @text 経験獲得率の式 * @parent ---特殊能力値・式--- * @desc EXRを決定する式: 経験獲得率 * @default (base + plus) * rate + flat * * @param ---その他・式--- * @text * @default * * @param Guard Calculation * @text 防御効果の式 * @parent ---その他・式--- * @desc 防御効果を決定する式 * @default damage / (damage > 0 && target.isGuard() ? 2 * target.grd : 1) * * @param Basic Floor Damage * @text 基礎床ダメージの式 * @parent ---その他・式--- * @desc 基礎床ダメージ計算 * @default 10 * * @param Reserve EXP Rate * @text 控えメンバー経験値の式 * @parent ---その他・式--- * @desc 控えメンバーの経験値に使用される式。([データベース]> [システム]で有効になっている場合) * @default 1 * * @help * 翻訳:ムノクラ * https://fungamemake.com/ * https://twitter.com/munokura/ * * =========================================================================== * 導入 * =========================================================================== * * 特殊能力値:TGR、GRD、REC、PHA、MCR、TCR、PDR、MDR、FDR、EXRの値は * あまり使用されておらず、あまり知られていませんが、 * データベースオブジェクトの特性によってのみ変更されます。 * このプラグインを使用すると、 * これらの特殊能力値にカスタム数式を使用して、 * MATがMPのスキルコストなどを変更できるように変更することができます。 * * =========================================================================== * 手順 - 特殊能力値の説明 * =========================================================================== * * 特殊能力値は、通常能力値が乗法的に決定されるのに対し、 * 追加能力値は加法形式で決定されるという意味で、 * 追加能力値とは異なります。 * 特殊能力値が何をするのかについてよく知らない人のために、 * これはRPGツクールMVプロジェクトでの標準的な機能を説明するリストです。 * * --- * * TGR - 狙われ率 * - 標準敵に対して、目標率の値は、 * 単一の対象攻撃のために使用者を特に対象としている敵のオッズを決定します。 * 0%では、敵は使用者を対象にすることはほとんどありません。 * 100%の場合、通常の対象になる機会があります。 * 100%以上になると、使用者は対象になる可能性が高くなります。 * *注: BattleA.I.を使用している人のために核となる、 * 特定の目標条件を持つ行動は全てTGR率を回避します。 * * --- * * GRD - 防御効果率 * - これは防御の効果です。 * 2の防御除数の値に影響します。 * 100%GRDでは、ダメージは'damage / (2 * 1.00)'になります。 * 50%GRDでは、ダメージは'damage / (2 * 0.50)'になります。 * GRDが200%になると、ダメージは'damage / (2 * 2.00)'になります。 * * --- * * REC - 回復効果率 * - どのように効果的な回復が使用者に向かっているかです。 * REC率が高いほど、使用者は回復されます。 * 呪文が100を回復し、300%のRECを持っている場合、 * 代わりに300を受けます。 * * --- * * PHA - 薬の知識 * - 使用者が使用した時、効果的なアイテムです。 * PHA率が高いほど、アイテムの効果が高くなります。 * 使用者が対象味方の100%回復のポーションを使用していて、 * 使用者が300%のPHAを持っている場合、 * 対象味方は代わりに300の回復を受けます。 * * --- * * MCR - MP消費率 * - MPコストを持つMPスキルの使用に必要な量に影響します。 * 使用者のMCRが100%の場合、MPコストは標準になります。 * 使用者が50%のMCRを持っている場合、 * MPを要する全てのスキルは、必要なMPの半分しかかかりません。 * 使用者のMCRが200%の場合、全てのスキルのMPコストは200%になります。 * * --- * * TCR - TPチャージ率 * - 様々な行動を通してTPを獲得する時、 * そのTPを持つTPスキルがどれだけチャージするかに影響します。 * 100%になると、TPは通常どおりチャージされます。 * 50%になると、TPは半分の速度でチャージされます。 * 200%では、TPは2倍の速度でチャージされます。 * * --- * * PDR - 物理ダメージ率 * - 使用者が肉体的なダメージから受けるダメージに影響します。 * PDRが100%の場合、使用者が受ける全ての物理的ダメージは通常になります。 * PDRが50%の場合、使用者が受ける全ての物理的ダメージは半分になります。 * PDRが200%の場合、使用者が受ける全ての物理的ダメージは2倍になります。 * * --- * * MDR - 魔法ダメージ率 * - 使用者が魔法のダメージからどれだけのダメージを受けるかに影響します。 * MDRが100%の場合、使用者が受ける全ての魔法ダメージは通常になります。 * MDRが50%の場合、使用者が受ける全ての魔法ダメージは半分になります。 * MDRが200%の場合、使用者が受ける全ての魔法ダメージは2倍になります。 * * --- * * FDR - 床ダメージ率 * - フィールドマップ上で、 * プレイヤーがパーティーにダメージを与えるタイルの上を歩いた時、 * 使用者が受けるダメージの量を変更します。 * FDRの値は特定のアクターに与えられたダメージに影響を与えるだけで、 * パーティー全体には影響しません。 * FDRが100%の場合、使用者は通常のダメージを受けます。 * FDRが50%の場合、使用者は半分のダメージを受けます。 * FDRが200%の場合、使用者は2倍のダメージを受けます。 * * --- * * EXR - 経験獲得率 * - 使用者が経験値のいずれかの種類を取得する度に * 使用者に取得する経験の量を決定します。 * 100%で、経験値の増加は通常になります。 * 50%で、経験値の増加は半分になります。 * 200%で、経験値の増加は2倍になります。。 * * --- * * =========================================================================== * 説明 - 式のカスタム * =========================================================================== * * プラグインパラメータの式によって計算された値は、float値として出力されます。 * GRDの結果値が0.1となる場合、防御効果率10%になります。 * 下記が一例です。 * * (base + plus) * rate + flat + user.def / 1000 * * 最後に'user.def / 1000'が挿入されています。 * 他の全てが10%、使用者のDEFパラメーターが500であると仮定すると、 * 0.1 + 0.5 になります。 * 合計は0.6になり、防御効果率60%の効果になります。 * * =========================================================================== * 説明 - 変数を使った式 * =========================================================================== * * 'base'、'plus'、'rate'、'flat'の意味 * * プラグインのデフォルト式: (base + plus) * rate + flat * * BASE * - statの値を決定するデフォルトの方法で決定され、 * 特殊能力値の値を決定する方法は、通常能力値1でそれらを全て乗算することです。 * 80%、50%、120%の複数の特性がある場合、その乗法的価値は48%になります。 * * PLUS * - プラグインによって追加された新しい変数です。 * 目的は、通常能力値への追加として機能することです。 * この追加は、追加のパラメータの通常能力値を変更するために * user.addSParamを実行できるので、 * データベース項目とは無関係に実行できます。 * デフォルトの式を使用する場合、この値は、 * レートがそれに乗算されてFLATが合計に追加される前にBASEに追加されます。 * * RATE * - プラグインによって追加された新しい変数です。 * 目的は、追加能力値の乗数修飾子として機能することです。 * この乗法的な値は、メモタグを通して様々なデータベースオブジェクトによって * 決定されます。 * デフォルトの式を使用する場合、この値はFLATが合計に追加される前に、 * 通常能力値と追加能力値の値の合計に乗算されます。 * * FLAT * - プラグインによって追加された新しい変数です。 * 目的は、追加のパラメーター値に対する追加の修飾子として機能することです。 * この付加価値はメモタグを通して様々なデータベースオブジェクトによって * 決定されます。 * プラグインのデフォルトの式を使用する場合、この値は、 * 追加のパラメータstatの通常能力値とPLUS値の合計にRATE値を掛けた後に * 追加されます。 * * =========================================================================== * 例 - サンプル式 * =========================================================================== * * 以下は、特殊能力値をもう少し動的にするために使用できるサンプル式です。 * * --- GRD --- * Math.max((base + plus) * rate + flat + (user.def / 1000), 0.0000000001) * - GRD効果はDEFからより多くのダメージ軽減を得るでしょう。 * * --- REC --- * (base + plus) * rate + flat + ((user.def + user.mdf) / 2000) * - 使用者のDEFおよびMDFからの回復率が上がります。 * * --- MCR --- * (base + plus) * rate + flat - (user.mat / 3000) * - 使用者はより多くのMATを持つことからMPのコストが少なくなります。 * * --- PDR --- * (base + plus) * rate + flat - (user.def / 4000) * - 使用者はより多くのDEFを持つことから物理的ダメージが軽減されます。 * * --- MDR --- * (base + plus) * rate + flat - (user.mdf / 4000) * - 使用者はMDFを増やすことで魔法へのダメージが少なくなります。 * * 上記は、使用者の他の能力値の影響を受ける * 特殊能力値を設定する方法の例です。 * * =========================================================================== * メモタグ * =========================================================================== * * 特殊能力値を変更する様々な側面を変更するために、 * 次のメモタグを使用できます。 * * アクター、職業、敵、武器、防具、ステートのメモタグ * * * * * * 'stat'を'tgr'、'grd'、'rec'、'pha'、'mcr'、'tcr'、'pdr'、'mdr'、 * 'fdr'、'exr'に置き換えます。 * プラグインのデフォルトの式が使用されていると仮定して、 * rateとflatの値がパラメータの合計値になる前にベースパラメータに * 追加される値です。 * * * * 'stat'を'tgr'、'grd'、'rec'、'pha'、'mcr'、'tcr'、'pdr'、'mdr'、 * 'fdr'、'exr'に置き換えます。 * プラグインのデフォルトの式が使用されていると仮定して、 * BASE値と能力値の合計にFLAT値を加算する前に乗算された値です。 * * * * * * 'stat'を'tgr'、'grd'、'rec'、'pha'、'mcr'、'tcr'、'pdr'、'mdr'、 * 'fdr'、'exr'に置き換えます。 * プラグインのデフォルトの式が使用されていると仮定して、 * 通常能力値とPLUS値の合計に最後に加算された値です。 * * =========================================================================== * ルナティックモード - 新しいJavaScript関数 * =========================================================================== * * 以下のJavaScriptを使用して、アクターの特殊能力値を変更することができます。 * 'actor'変数はアクターによって参照されます。 * * ie. actor = $gameActors.actor(3); * * 関数: * * actor.clearSParamPlus() * - アクターの特殊能力値とボーナスを全て消去します。 * * 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) * - アクターのそれぞれの特殊能力値をxに設定します。 * 1は100%、0.1は10%になります。負の値も適用されます。 * * 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) * - アクターのそれぞれの特殊能力値にxを設定します。 * 1は100%、0.1は10%になります。負の値も適用されます。 * * 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) * - アクターのそれぞれの特殊能力値にxを加えます。 * 1は100%、0.1は10%になります。 * 負の値は特別なパラメータを減らします。 * * 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) * - アクターのそれぞれの特殊能力値からxを引きます。 * 1は100%、0.1は10%になります。 * 負の値は特別なパラメータに追加されます。 * * =========================================================================== * 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! */