YEPシリーズ

日本語版 YEP Base Param Control プラグインVer1.04fx

更新日:

こちらは「基本パラメータの計算方法を制御できるプラグイン」です。

最新版はYanfly様のサイトで英語版が配布されています。
yanfly.moe/

バージョンアップされたもの(今回バージョンの番号が変わりませんが誤記修正が加えられています)に差し替えました。
利用される場合は、作品のクレジットにYanfly様の名前を入れてください。

どなたかのお役に立てば幸いです。

 /*:ja
 * @plugindesc v1.04 基本パラメータの計算方法を制御します。MaxHP、MaxMP、ATK、DEF、MAT、MDF、AGI、LUK
 * @author Yanfly Engine Plugins
 *
 * @param ---最大HP---
 * @default
 *
 * @param MHP Formula
 * @parent ---最大HP---
 * @desc MHPの決定に使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param MHP Maximum
 * @parent ---最大HP---
 * @desc MHPの最高値。式が使えます
 * @default customMax || (user.isActor() ? 9999 : 999999)
 *
 * @param MHP Minimum
 * @parent ---最大HP---
 * @desc MHPの最小値。式が使えます
 * @default customMin || 1
 *
 * @param ---最大MP---
 * @default
 *
 * @param MMP Formula
 * @parent ---最大MP---
 * @desc MMPの決定に使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param MMP Maximum
 * @parent ---最大MP---
 * @desc MMPの最高値。式が使えます
 * @default customMax || (user.isActor() ? 9999 : 9999)
 *
 * @param MMP Minimum
 * @parent ---最大MP---
 * @desc MMPの最小値。式が使えます
 * @default customMin || 0
 *
 * @param ---攻撃力---
 * @default
 *
 * @param ATK Formula
 * @parent ---攻撃力---
 * @desc ATKを決定するために使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param ATK Maximum
 * @parent ---攻撃力---
 * @desc ATKの最高値。式が使えます
 * @default customMax || (user.isActor() ? 999 : 999)
 *
 * @param ATK Minimum
 * @parent ---攻撃力---
 * @desc ATKの最小値。式が使えます
 * @default customMin || 1
 *
 * @param ---防御力---
 * @default
 *
 * @param DEF Formula
 * @parent ---防御力---
 * @desc DEFを決定するために使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param DEF Maximum
 * @parent ---防御力---
 * @desc これがDEFの最大値。式が使えます
 * @default customMax || (user.isActor() ? 999 : 999)
 *
 * @param DEF Minimum
 * @parent ---防御力---
 * @desc DEFの最小値。式が使えます
 * @default customMin || 1
 *
 * @param ---魔法力---
 * @default
 *
 * @param MAT Formula
 * @parent ---魔法力---
 * @desc MATを決定するために使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param MAT Maximum
 * @parent ---魔法力---
 * @desc MATの最高値。式が使えます
 * @default customMax || (user.isActor() ? 999 : 999)
 *
 * @param MAT Minimum
 * @parent ---魔法力---
 * @desc MATの最小値。式が使えます
 * @default customMin || 1
 *
 * @param ---魔法防御---
 * @default
 *
 * @param MDF Formula
 * @parent ---魔法防御---
 * @desc MDFを決定するために使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param MDF Maximum
 * @parent ---魔法防御---
 * @desc MDFの最高値。式が使えます
 * @default customMax || (user.isActor() ? 999 : 999)
 *
 * @param MDF Minimum
 * @parent ---魔法防御---
 * @desc MDFの最小値。式が使えます
 * @default customMin || 1
 *
 * @param ---俊敏性---
 * @default
 *
 * @param AGI Formula
 * @parent ---俊敏性---
 * @desc AGIを決定するために使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param AGI Maximum
 * @parent ---俊敏性---
 * @desc これがAGIの最高値。式が使えます
 * @default customMax || (user.isActor() ? 999 : 999)
 *
 * @param AGI Minimum
 * @parent ---俊敏性---
 * @desc AGIの最低値。
 * 式が使えます
 * @default customMin || 1
 *
 * @param ---運---
 * @default
 *
 * @param LUK Formula
 * @parent ---運---
 * @desc LUKを決定するために使用される式
 * @default (base + plus) * paramRate * buffRate + flat
 *
 * @param LUK Maximum
 * @parent ---運---
 * @desc LUKの最大値。式が使えます
 * @default customMax || (user.isActor() ? 999 : 999)
 *
 * @param LUK Minimum
 * @parent ---運---
 * @desc LUKの最小値。式が使えます
 * @default customMin || 1
 *
 * @param LUK Effect
 * @parent ---運---
 * @desc ステートの成功率に影響を与えるために使用される式
 * @default Math.max(1.0 + (user.luk - target.luk) * 0.001, 0.0)
 *
 * @help
 * 翻訳:ムノクラ
 * https://fungamemake.com/
 * https://twitter.com/munokura/
 *
 * ============================================================================
 * Introduction
 * ============================================================================
 *
 * 基本パラメータであるMaxHP、MaxMP、ATK、DEF、MAT、MDF、AGI、LUKは
 * すべて非常に重要な役割を果たしますが、
 * これらの重要な能力値情報に関しては開発者にはほとんど制御が与えられません。
 * このプラグインは、能力値の処理方法などをより細かく制御できます。
 *
 * *注: CoreEngine.js を使用していて、
 * そこに設定されているパラメータの上限を変更した場合、
 * このプラグインが CoreEngine.js の下に配置されていると、
 * このプラグインはそれらの設定を上書きします(推奨)。
 *
 * ============================================================================
 * Instructions - Base Parameter Explanation
 * ============================================================================
 *
 * 基本パラメーターが何に使用されているのかを理解していない方のために、
 * この章では基本パラメーターが何をするのかについて、
 * 最も重要な役割について簡単に要約します。
 *
 * ---
 *
 * MHP - 最大HP
 * -生命ポイント(HP)の最大値です。
 * バトラーが持っているHPの量は、
 * そのバトラーが生きているステートか死んでいるステートかを決定します。
 * HPの値が0より大きければ、バトラーは生きています。
 * それが0以下であるならば、
 * バトラーが(通常不死によって)死を打ち消す方法を持っていない限り、
 * バトラーはデッドステートにあります。
 * バトラーがダメージを受けると、通常HPの値まで引き下げられます。
 * 戦士が回復された場合、HPの値は増加する。
 * 最大HP値は、HP値を保持できる最大額を決定します。
 * つまり、そのポイントを超えてバトラーを回復することはできません。
 *
 * ---
 *
 * MMP - 最大MP
 * - マジックポイント(MP)の最大値です。
 * MPは通常、スキルと呪文のコストで使用されます。
 * バトラーが当該スキルのコストに適合するのに十分なMPを持っている場合、
 * バトラーはスキルの他のすべての条件が満たされていれば、
 * 当該スキルを使用することができます。
 * そうでなければ、戦士はそのスキルを使うことができません。
 * MPがかかるスキルを使用すると、戦士のMPは減少します。
 * しかし、バトラーのMPは回復することができ、MPの増加をもたらします。
 * MaxMP値は、MP値を保持することができる最大量を決定し、
 * これはバトラーが最大MP値を超えてMPを回復することができないことを意味します。
 *
 * ---
 *
 * ATK - 攻撃力
 * - バトラーの攻撃力です。
 * デフォルトでは、この能力値はダメージ計算の目的でのみ使用され、
 * 通常はバトラーの物理的攻撃力を表すために使用されます。
 * 通常のダメージ計算式では、
 * 値が大きいほど物理的攻撃に対するダメージが大きくなります。
 *
 * ---
 *
 * DEF - 防御力
 * - バトラーの防御力です。
 * デフォルトでは、この能力値はダメージ計算の目的でのみ使用され、
 * 通常はバトラーの物理的防御を表すために使用されます。
 * 通常のダメージ計算式では、
 * 数値が高いほど物理的な攻撃によるダメージが少なくなります。
 *
 * ---
 *
 * MAT - 魔法力
 * - バトラーの魔法攻撃値です。
 * デフォルトでは、この能力値はダメージ計算の目的でのみ使用され、
 * 通常はバトラーの魔法攻撃力を表すために使用されます。
 * 通常のダメージ計算式では、
 * 数値が高いほど魔法攻撃のダメージが大きくなります。
 *
 * ---
 *
 * MDF - 魔法防御
 * - バトラーの魔法防御力です。
 * デフォルトでは、この能力値はダメージ計算の目的でのみ使用され、
 * 通常はバトラーの魔法防御力を表すために使用されます。
 * 通常のダメージ計算式では、
 * 数値が高いほど魔法の攻撃によるダメージが少なくなります。
 *
 * ---
 * 
 * AGI - 俊敏性
 * - バトラーの敏捷性の値です。
 * デフォルトでは、この能力値は戦闘ターンの順番を決定するために使用されます。
 * 通常のターン計算式では、値が大きいほど、バトラーは速くなり、
 * バトラーのターンが早くなる可能性が高くなります。
 *
 * ---
 *
 * LUK - 運
 * - バトラーの運です。
 * デフォルトでは、この能力値はバトラーによって適用され、
 * バトラーによって受け取られるステート、バフ、デバフの成功率に
 * 影響を与えるために使用されます。
 * 使用者のLUK値が高い場合、ステート、バフ、デバフが
 * 成功する可能性が高くなります。
 * 対象のLUK値が高い場合、ステート、バフ、デバフが
 * 成功する可能性が低くなります。
 *
 * ---
 *
 * ============================================================================
 * Instructions - Custom Formulas
 * ============================================================================
 *
 * プラグインパラメータの式によって計算された値は整数値として出力されます。
 * 結果がfloat型の場合、切り上げられた後、
 * パラメータが取り得る最大値と最小値に基づいて固定されます
 * (これもプラグインパラメータによって計算されます)。
 *
 * デフォルトでは、式は次のようになります。
 *
 * ---
 *
 *      (base + plus) * paramRate * buffRate + flat
 *
 * ---
 *
 * 以下は、式の各部分の説明です。
 *
 * BASE
 * - この値は複数の方法で決定されます。
 * バトラーがアクターの場合、基本値は、
 * バトラーの現在の職業のパラメータ曲線上の
 * バトラーのレベルに基づく位置によって計算された基本パラメータ値です。
 * バトラーが敵である場合、基本パラメータ値は、デフォルトで、
 * そのパラメータのために敵のデータベースエントリに挿入された値になります。
 *
 * PLUS
 * - この値は複数の方法で決定されます。
 * 攻撃者と敵の両方にとって、
 * この値は手動でバトラーのパラメータ値を増加させるイベント、
 * またはスクリプト呼び出しを通してバトラーに与えられるフラットな値です。
 * バトラーがアクターの場合、
 * この値はバトラーが装備している装備によっても増加します。
 * この値はこのプラグインによって提供されるメモタグによって、
 * 影響を受ける可能性があります。
 *
 * PARAMRATE
 * - この値は、攻撃者と敵の両方に対して同じ方法で決定されます。
 * バトラーのバフ率とは無関係に、
 * バトラーの特性全体に広がるすべてのパラメータの乗法の積によって
 * 計算される確率です。
 * この値は、
 * このプラグインによって提供されるメモタグによって影響を受ける可能性があります。
 *
 * BUFFRATE
 * - この値は、バトラーがアクターか敵かにかかわらず、
 * バトラーのバフスタック(またはデバフスタック)の数によって決定されます。
 * 確率はバトラーの特定のパラメータのスタックの数に関して計算される。
 * この値は、このプラグインによって提供されるメモタグの影響を受けません。
 *
 * FLAT
 * - このプラグインによって追加された新しい変数です。
 * その目的は、パラメータの合計値に最終的な加法修飾子を追加することです。
 * この付加価値は、
 * メモタグを通してさまざまなデータベースオブジェクトによって決定され、
 * それらのメモタグによってのみ影響を受けます。
 *
 * ---
 *
 * パラメータ最大値と最小値にも式があります。
 *
 *      customMax || (user.isActor() ? 9999 : 999999)
 *      customMin || 1
 *
 * 'customMax'と'customMin'の値はこのプラグインによって追加された新しい変数です。
 *
 * CUSTOMMAX
 * - これはスクリプト呼び出しかメモタグを通して、
 * このプラグインによって提供されるカスタム最大制限です。
 * カスタムマックスは、バトラーの個々のメモ欄を調べます。
 * バトラーがアクターである場合、
 * アクター、職業、装備のメモ欄、
 * 影響があるステートのメモ欄を見ます。
 * バトラーが敵であるならば、
 * 敵のメモ欄と敵に影響があるステートのメモ欄を見ます。
 * カスタム最大値は、バトラーにとって最新の'customMax'値になり、
 * デフォルトの最大値よりも優先されます。
 * 'customMax'値がない場合、
 * その値が式に記載されているデフォルトの最大値になります。
 *
 * CUSTOMMIN
 * - これはスクリプト呼び出しかメモタグを通して、
 * このプラグインによって提供されるカスタム最 小制限です。
 * カスタム分は、バトラーのメモ欄を調べます。
 * バトラーがアクターである場合、
 * アクター、職業、装備、アクターに影響を受けるステートのメモ欄を見ます。
 * バトラーが敵であるならば、
 * 敵のメモ欄と敵に影響があるステートのメモ欄を通して見ます。
 * カスタム最小値は、バトラーにとって最新の'customMin'値になり、
 * デフォルトの最小値よりも優先されます。
 * 'customMin'値がない場合、
 * その値が式に記載されているデフォルトの最小値になります。
 *
 * ============================================================================
 * Notetags
 * ============================================================================
 *
 * 基本パラメーター値を変更するさまざまな側面を変更するために、
 * 以下のメモタグを使用できます。
 *
 * アクター、職業、敵、武器、防具、ステートのメモタグ
 *
 *   <stat Plus: +x>
 *   <stat Plus: -x>
 *   'stat'を'maxhp'、'maxmp'、'atk'、'def'、'mat'、'mdf'、'agi'、'luk'に
 *   置き換えてください。
 *   プラグインのデフォルトの式が使用されていると仮定して、
 *   rate と flat の値がパラメータの合計値になる前に
 *   ベースパラメータに追加される値です。
 *
 *   <stat Rate: x%>
 *   <stat Rate: x.y>
 *   'stat'を'maxhp'、'maxmp'、'atk'、'def'、'mat'、'mdf'、'agi'、'luk'に
 *   置き換えてください。
 *   プラグインのデフォルトの式が使用されていると仮定して、
 *   buffRate と flat 値の影響を受ける前の、
 *   ベースパラメータの合計に乗算された値です。
 *
 *   <stat Flat: +x>
 *   <stat Flat: -x>
 *   'stat'を'maxhp'、'maxmp'、'atk'、'def'、'mat'、'mdf'、'agi'、'luk'に
 *   置き換えてください。
 *   基本パラメータとプラスパラメータの合計が追加され、
 *   プラグインのデフォルトの式が使用されていると仮定し、
 *   レート値を掛けた後に最後に追加される値です。
 *
 *   <stat Max: x>
 *   <stat Min: x>
 *   'stat'を'maxhp'、'maxmp'、'atk'、'def'、'mat'、'mdf'、'agi'、'luk'に
 *   置き換えてください。
 *   thestat パラメータの最大または最小の上限を x に設定します。
 *   バトラーがこれらの複数のメモタグの影響を受ける場合、
 *   使用される値は、使用されるメモタグの最大値になります。
 *
 * ============================================================================
 * Lunatic Mode - New JavaScript Functions
 * ============================================================================
 *
 * バトラーの基本パラメータ値を変更するのに、
 * 次のJavaScript関数を使用できます。
 * これらのリストされた関数では、
 * 'battler'変数はアクターによって参照されます。
 *
 * ie. battler = $gameActors.actor(3);
 *     - or -
 *     battler = $gameTroop.members()[2];
 *
 * Function:
 *
 *   battler.clearParamPlus()
 *   - すべての基本パラメータに対する'plus'の変数修飾子がクリアされます。
 *
 *   battler.setMaxHp(x)
 *   battler.setMaxMp(x)
 *   battler.setAtk(x)
 *   battler.setDef(x)
 *   battler.setMat(x)
 *   battler.setMdf(x)
 *   battler.setAgi(x)
 *   battler.setLuk(x)
 *   -バトラーのそれぞれの基本パラメータ値をxに設定します。
 *   レートとフラットを考慮に入れずに、
 *   可能な限りこの設定に合うように'plus'変数を変更します。
 *
 *   battler.setMaxHpPlus(x)
 *   battler.setMaxMpPlus(x)
 *   battler.setAtkPlus(x)
 *   battler.setDefPlus(x)
 *   battler.setMatPlus(x)
 *   battler.setMdfPlus(x)
 *   battler.setAgiPlus(x)
 *   battler.setLukPlus(x)
 *   - バトラーの基本パラメータに値 x を設定します。
 *
 *   battler.addMaxHp(x)
 *   battler.addMaxMp(x)
 *   battler.addAtk(x)
 *   battler.addDef(x)
 *   battler.addMat(x)
 *   battler.addMdf(x)
 *   battler.addAgi(x)
 *   battler.addLuk(x)
 *   - バトラーの基本パラメータに値 x を加えます。
 *
 *   battler.minusMaxHp(x)
 *   battler.minusMaxMp(x)
 *   battler.minusAtk(x)
 *   battler.minusDef(x)
 *   battler.minusMat(x)
 *   battler.minusMdf(x)
 *   battler.minusAgi(x)
 *   battler.minusLuk(x)
 *   - バトラーの基本パラメータから値 x を引きます。
 *
 *   battler.clearCustomParamLimits();
 *   - スクリプトコールでバトラーに課されたカスタムパラメータ制限を
 *   クリアします。
 *   メモタグを通してバトラーに適用されたカスタムパラメータの制限を
 *   削除しません。
 *
 *   battler.setCustomMaxHpMax(x)
 *   battler.setCustomMaxMpMax(x)
 *   battler.setCustomAtkMax(x)
 *   battler.setCustomDefMax(x)
 *   battler.setCustomMatMax(x)
 *   battler.setCustomMdfMax(x)
 *   battler.setCustomAgiMax(x)
 *   battler.setCustomLukMax(x)
 *   - それぞれの基本パラメータの最大パラメータ制限をxに設定します。
 *   バトラーが持っている可能性のある<statMax:x>
 *   すべてのメモタグに対して計算されます。
 *   最大値が複数ある場合、
 *   最大値がパラメーターの最大値として使用されます。
 *
 *   battler.setCustomMaxHpMin(x)
 *   battler.setCustomMaxMpMin(x)
 *   battler.setCustomAtkMin(x)
 *   battler.setCustomDefMin(x)
 *   battler.setCustomMatMin(x)
 *   battler.setCustomMdfMin(x)
 *   battler.setCustomAgiMin(x)
 *   battler.setCustomLukMin(x)
 *   - ベースパラメータの最小パラメータ制限をxに設定します。
 *   バトラーが持っている可能性のある<statMin:x>の
 *   すべてのメモタグに対して計算されます。
 *   複数の最小値がある場合、
 *   大きい方の値がパラメータの最小値として使用されます。
 *
 * ============================================================================
 * Changelog
 * ============================================================================
 *
 * Version 1.04:
 * - 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.
 * - Fixed a typo in the documentation for script calls regarding LUK.
 *
 * Version 1.03:
 * - Updated for RPG Maker MV version 1.5.0.
 *
 * Version 1.02:
 * - Lunatic Mode fail safes added.
 *
 * Version 1.01:
 * - Fixed an issue with the battler.setParam functions that made them take the
 * wrong value due caching issues.
 */

スポンサードリンク

スポンサードリンク

-YEPシリーズ

Copyright© RPGツクールMV初心者的備忘録 , 2019 All Rights Reserved.