RPGツクールMV用プラグイン日本語訳

日本語版 YEP Action Beginning and End Effects プラグインVer1.01

更新日:

こちらは「アクションの最初または最後に発生する効果を追加できるプラグイン」です。

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

これを簡単に日本語化したファイルをアップいたしました。
利用される場合は、作品のクレジットにYanfly様の名前を入れてください。

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

 /*:ja
 * @plugindesc v1.01 (Lunatic Pack)アクションの最初または最後に発生する効果を追加します。
 * @author Yanfly Engine Plugins
 *
 * @help
 * 翻訳:ムノクラ
 * https://munokura.tk/
 * https://twitter.com/munokura/
 *
 * ============================================================================
 * Introduction
 * ============================================================================
 *
 * このプラグインは以下のプラグインを必要とします:
 * - Battle Engine Core
 *
 * このプラグインをプラグインマネージャの上記のプラグインの下に置きます。
 *
 * 時々、戦闘で行動に追加の効果を追加したいと思います。
 * これらの効果は、HPをさらに追加すること、
 * 他の全てが起こった後に新しいステートを使用者に適用すること、
 * デバフを削除すること、アニメーションを再生すること、
 * 今度の行動によって直接与えられる全ダメージの一部を吸収することまで及ぶ。
 * このLunaticPackは、アイテムやスキルを強化したり、
 * ステートの結果としてそれらをグローバル化したりするために使用できる
 * 新しい効果のバッチを提供します。
 *
 * *注意*:このプラグインはRPGツクールMVバージョン1.5.0以降でよく使われます。
 * まだ低いバージョンでこのプラグインを使用することができます、
 * しかしそれなしでプラグインパラメータを変更することは困難でしょう。
 *
 * ============================================================================
 * Notetags
 * ============================================================================
 *
 * スキル、アイテム、ステートのメモ欄に次のメモタグを挿入して、
 * これらの効果のいずれかを与えます。
 *
 * ---
 *
 * スキル、アイテム、ステートのメモタグ
 *
 *   <timing Action: effect>
 *   - このプラグインのメモタグのほとんどは上記のフォーマットに従います。
 *   'timing'は'Begin'・'End'のいずれかに置き換えられ、
 *   'effect'は下記のEFFECTの章のエントリに置き換えられます。
 *
 * スキル/アイテムにもっと効果を与えるために複数のメモタグを挿入してください。
 * 多数の効果が存在する場合、それらが発生する順番は次のとおりです。
 * 最初にスキル/アイテム、
 * 優先順位の高いものから低いものへ順に並べたステート効果。
 *
 * =-=-=-= Action TIMING =-=-=-=
 *
 *   <Begin Action: effect>
 *   - タイミングが'begin'の場合、
 *   この効果はアクションのコストが使用された後に発生します。
 *
 *   <End Action: effect>
 *   - タイミングが'終了'の場合、
 *   現在のアクションの終了時に全てのアクションシーケンスが完了した後に
 *   発生します。
 *
 * =-=-=-= Action EFFECTS =-=-=-=
 *
 *   --- Animation Effects ---
 *
 *   <timing Action: Animation x>
 *   <timing Action: Animation x, Mirror>
 *   <timing Action: Animation x, Delay y>
 *   <timing Action: Animation x, Mirror, Delay y>
 *   - アクションを実行している使用者でアニメーションxが再生されます。
 *   エフェクトラインに'Mirror'を挿入すると、
 *   アニメーションはミラーリングされます。
 *   'Delayy'を挿入して'y'を数値に置き換えると、
 *   アニメーションの再生前にアニメーションがyフレーム遅延します。
 *   提案者:Yanfly
 *
 *   --- HP Effects ---
 *
 *   <timing Action: +x HP>
 *   <timing Action: -x HP>
 *   - 'effect'を上記の形式に置き換えます。
 *   'x'を使用者に適用したい一定量のHPに置き換えます。
 *   提案者:Yanfly
 *
 *   <timing Action: +x HP%>
 *   <timing Action: -x HP%>
 *   - 'effect'を上記の形式に置き換えます。
 *   使用者に適用するには、
 *   'x'を使用者のMaxHPのx%に等しいHPに置き換えます。
 *   提案者:Yanfly
 *
 *   <End Action: Drain x% Total HP Damage>
 *   - エンドアクションでのみ機能します。
 *   上記のフォーマットを使用してください。
 *   'x'をこのアクションの使用者に与えられた総HPダメージの
 *   パーセンテージで置き換えHP回復します。
 *   提案者:Yanfly
 *
 *   <End Action: Recoil x% Total HP Damage>
 *   - エンドアクションでのみ機能します。
 *   上記のフォーマットを使用してください。
 *   使用者がこのアクションで与えた全てのHPダメージの合計の'x%'が
 *   使用者のダメージになります。
 *   提案者:Yanfly
 *
 *   --- MP Effects ---
 *
 *   <timing Action: +x MP>
 *   <timing Action: -x MP>
 *   - 'effect''を上記の形式に置き換えます。
 *   'x'を使用者に適用したい一定量のMPに置き換えます。
 *   提案者:Yanfly
 *
 *   <timing Action: +x MP%>
 *   <timing Action: -x MP%>
 *   - 'effect'を上記の形式に置き換えます。
 *   使用者に適用するには、
 *   'x'を使用者のMaxMPのx%に等しいMPに置き換えます。
 *   提案者:Yanfly
 *
 *   <End Action: Drain x% Total MP Damage>
 *   - エンドアクションでのみ機能します。
 *   上記のフォーマットを使用してください。
 *   'x'をこのアクションによって使用者が直接与えた全ての総MPダメージの割合で
 *   置き換えてください。
 *   MPを回復します。
 *   提案者:Yanfly
 *
 *   <End Action: Recoil x% Total MP Damage>
 *   - エンドアクションでのみ機能します。
 *   上記のフォーマットを使用してください。
 *   'x'をこのアクションによって使用者によって
 *   直接与えられた全ての総MPダメージの割合で置き換えてください。
 *   MPとして自己ダメージを与えます。
 *   提案者:Yanfly
 *
 *   --- TP Effects ---
 *
 *   <timing Action: +x TP>
 *   <timing Action: -x TP>
 *   - 'effect'を上記の形式に置き換えます。
 *   'x'を使用者に適用したい一定量のTPに置き換えます。
 *   提案者:Yanfly
 *
 *   <timing Action: +x TP%>
 *   <timing Action: -x TP%>
 *   - 'effect'を上記の形式に置き換えます。
 *   使用者に適用するには、'x'を使用者のMaxTPのx%に等しいTPに置き換えます。
 *   提案者:Yanfly
 *
 *   --- Buff/Debuff Effects ---
 *
 *   <timing Action: Add x Buff>
 *   <timing Action: Add x Buff, y Turns>
 *   <timing Action: Add x Debuff>
 *   <timing Action: Add x Debuff, y Turns>
 *   - 'effect'を上記の形式に置き換えます。
 *   'x'を次のパラメータのいずれかに置き換えます。
 *   'MaxHP'、'MaxMP'、'ATK'、'DEF'、'MAT'、'MDF'、'AGI'、'LUK'を指定すると、
 *   それぞれの効果が変わります。
 *   能力値'y'ターンでフォーマットを使用する場合、
 *   'y'をバフ・デバフを持続させたいターン数に置き換えてください。
 *   'y'が使用されていない場合、代わりに5ターン持続します。
 *   提案者:Yanfly
 *
 *   <timing Action: Remove x Buff>
 *   <timing Action: Remove x Debuff>
 *   - 'effect'を上記の形式に置き換えます。
 *   'x'を次のパラメータのいずれかで置き換えます。
 *   'MaxHP'、'MaxMP'、'ATK'、'DEF'、'MAT'、'MDF'、'AGI'、'LUK'を指定すると、
 *   それぞれのパラメータが削除されます。
 *   条件が満たされた場合、使用者からバフ/デバフが解除。
 *   'y'が使用されていない場合、代わりに5ターン持続します。
 *   提案者:Yanfly
 *
 *   --- State Effects ---
 *
 *   <timing Action: Add State x>
 *   - 'effect'を上記の形式に置き換えます。
 *   'x'を使用者に追加したいステートIDに置き換えます。
 *   提案者:Yanfly
 *
 *   <timing Action: Remove State x>
 *   - 'effect'を上記の形式に置き換えます。
 *   'x'を使用者から削除したいステートIDに置き換えます。
 *   提案者:Yanfly
 *
 * ============================================================================
 * Lunatic Mode - Effect Code
 * ============================================================================
 *
 * JavaScriptを知っていてRPGツクールMV1.5.0+を使用している経験豊富な使用者に、
 * プラグインで使用できる新しいメモタグ効果を追加するか、
 * plugin parametersエントリから現在存在するメモタグ効果の効果を変更できます。
 * 次のようになります。
 *
 * ---
 *
 * // ---------
 * // Animation
 * // ---------
 * if (data.match(/ANIMATION[ ](\d+)/i)) {
 *   var animationId = parseInt(RegExp.$1);
 *   var mirror = data.match(/MIRROR/i);
 *   if (data.match(/DELAY[ ](\d+)/i)) {
 *     var delay = parseInt(RegExp.$1);
 *   } else {
 *     var delay = 0;
 *   }
 *   user.startAnimation(animationId, mirror, delay);
 *
 * ...
 *
 * // -------------------------------
 * // Add new effects above this line
 * // -------------------------------
 * } else {
 *   skip = true;
 * }
 *
 * ---
 *
 * このコードビットで使用されている各変数は、次のとおりです。
 *
 *   --------------------   ---------------------------------------------------
 *   Variable:              Refers to:
 *   --------------------   ---------------------------------------------------
 *   item                   このアクションで使用されているアイテム
 *   skill                  このアクションで使用されているスキル
 *
 *   isItem                 アクションがアイテムの場合はtrueを返します
 *   isSkill                アクションがスキルの場合はtrueを返します
 *
 *   a                      アクション使用者を返します
 *   user                   アクション使用者を返します
 *   subject                アクション使用者を返します
 *
 *   b                      アクションの現在の対象を返します
 *   target                 アクションの現在の対象を返します
 *
 *   s[x]                   スイッチxを返す(true/false)
 *   v[x]                   変数xの現在値を返す
 *
 *   user._result           使用者の現在の結果
 *   target._result         対象の現在の結果
 *   userPreviousResult     変更前の使用者の結果
 *   targetPreviousResult   変更前の対象の結果
 *
 *   totalHpDamage          アクションによるHPのダメージの合計
 *   totalMpDamage          アクションを受けたMPのダメージの合計
 *
 *   skip                   デフォルト:false。trueの場合、ポップアップ
 *
 * ---
 *
 * エフェクトコードを元のステートに戻す必要がある場合、
 * プラグインマネージャ管理からプラグインを削除し、
 * もう一度追加してください。
 * コードはデフォルトに戻ります。
 *
 * ============================================================================
 * Changelog
 * ============================================================================
 *
 * Version 1.01:
 * - 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.00:
 * - Finished Plugin!
 *
 * ============================================================================
 * End of Helpfile
 * ============================================================================
 *
 * @param Effect Code
 * @type note
 * @desc LUNATICMODE:各メモタグのエフェクトのコード。使用されている変数についてはヘルプファイルを参照してください。
 * @default "// ---------\n// Animation\n// ---------\nif (data.match(/ANIMATION[ ](\\d+)/i)) {\n  var animationId = parseInt(RegExp.$1);\n  var mirror = data.match(/MIRROR/i);\n  if (data.match(/DELAY[ ](\\d+)/i)) {\n    var delay = parseInt(RegExp.$1);\n  } else {\n    var delay = 0;\n  }\n  user.startAnimation(animationId, mirror, delay);\n\n// --------------\n// Flat Gain/Loss\n// --------------\n} else if (data.match(/([\\+\\-]\\d+)[ ]HP/i)) {\n  value = parseInt(RegExp.$1);\n  user.gainHp(value);\n\n} else if (data.match(/([\\+\\-]\\d+)[ ]MP/i)) {\n  value = parseInt(RegExp.$1);\n  user.gainMp(value);\n\n} else if (data.match(/([\\+\\-]\\d+)[ ]TP/i)) {\n  value = parseInt(RegExp.$1);\n  user.gainTp(value);\n\n// --------------------\n// Percentile Gain/Loss\n// --------------------\n} else if (data.match(/([\\+\\-]\\d+)([%%])[ ]HP/i)) {\n  rate = parseFloat(RegExp.$1) * 0.01;\n  value = Math.round(user.mhp * rate);\n  user.gainHp(value);\n\n} else if (data.match(/([\\+\\-]\\d+)([%%])[ ]MP/i)) {\n  rate = parseFloat(RegExp.$1) * 0.01;\n  value = Math.round(user.mmp * rate);\n  user.gainMp(value);\n\n} else if (data.match(/([\\+\\-]\\d+)([%%])[ ]TP/i)) {\n  rate = parseFloat(RegExp.$1) * 0.01;\n  value = Math.round(user.maxTp() * rate);\n  user.gainTp(value);\n\n// ------------------------\n// Add/Remove Buffs/Debuffs\n// ------------------------\n} else if (data.match(/ADD[ ](.*)[ ]BUFF/i)) {\n  var str = String(RegExp.$1).toUpperCase();\n  var paramId = DataManager.getParamId(str);\n  if (data.match(/(\\d+)[ ]TURN/i)) {\n    var turns = parseInt(RegExp.$1);\n  } else {\n    var turns = 5;\n  }\n  if (paramId >= 0) {\n    user.addBuff(paramId, turns);\n  } else {\n    skip = true;\n  }\n\n} else if (data.match(/REMOVE[ ](.*)[ ](?:BUFF|DEBUFF)/i)) {\n  var str = String(RegExp.$1).toUpperCase();\n  var paramId = DataManager.getParamId(str);\n  if (paramId >= 0) {\n    user.removeBuff(paramId);\n  } else {\n    skip = true;\n  }\n\n// -----------------\n// Add/Remove States\n// -----------------\n} else if (data.match(/ADD STATE[ ](\\d+)/i)) {\n  var stateId = parseInt(RegExp.$1);\n  user.addState(stateId);\n\n} else if (data.match(/REMOVE STATE[ ](\\d+)/i)) {\n  var stateId = parseInt(RegExp.$1);\n  if (user.isStateAffected(stateId)) {\n    user.removeState(stateId);\n  } else {\n    skip = true;\n  }\n\n// ------------\n// Drain/Recoil\n// ------------\n} else if (data.match(/(\\d+)([%%])[ ]TOTAL HP[ ](?:DMG|DAMAGE)/i)) {\n  if (totalHpDamage !== 0) {\n    rate = parseFloat(RegExp.$1) * 0.01;\n    value = Math.round(totalHpDamage * rate);\n    if (data.match(/DRAIN/i)) {\n      user.gainHp(value);\n    } else if (data.match(/RECOIL/i)) {\n      user.gainHp(-value);\n    } else {\n      skip = true;\n    }\n  }\n\n} else if (data.match(/(\\d+)([%%])[ ]TOTAL MP[ ](?:DMG|DAMAGE)/i)) {\n  if (totalMpDamage !== 0) {\n    rate = parseFloat(RegExp.$1) * 0.01;\n    value = Math.round(totalMpDamage * rate);\n    if (data.match(/DRAIN/i)) {\n      user.gainMp(value);\n    } else if (data.match(/RECOIL/i)) {\n      user.gainMp(-value);\n    } else {\n      skip = true;\n    }\n  }\n\n// -------------------------------\n// Add new effects above this line\n// -------------------------------\n} else {\n  skip = true;\n}"
 *
 */

スポンサードリンク

スポンサードリンク

-RPGツクールMV用プラグイン日本語訳

執筆者:

関連記事

日本語版 YEP Weather In Battle プラグインVer1.00

こちらは「戦闘に天候を使用できるようにし、天候がアクションシーケンスを通して制御可能になるプラグイン」です。 最新版はYanfly様のサイトで英語版が配布されています。 https://yanflye

日本語版 YEP Main Menu Variable Window プラグインVer1.02

こちらは「メインメニューに変数ウィンドウを追加するプラグイン」です。 最新版はYanfly様のサイトで英語版が配布されています。 http://yanfly.moe/ これを簡単に日本語化したファイル …

日本語版 YEP Taunt プラグインVer1.02

こちらは「挑発(タウント)要素を戦闘に追加するプラグイン」です。 最新版はYanfly様のサイトで英語版が配布されています。http://yanfly.moe/ これを簡単に日本語化したファイルをアッ …

日本語版 YEP X Actor Variables プラグインVer1.05

こちらは「各アクターのステータス画面に変数を表示できるプラグイン」です。 最新版はYanfly様のサイトで英語版が配布されています。 http://yanfly.moe/ これを簡単に日本語化したファ …

日本語版 YEP X Class Base Param プラグインVer1.05

こちらは「職業の能力値増加量を独自の式にするプラグイン」です。 最新版はYanfly様のサイトで英語版が配布されています。 http://yanfly.moe/ これを簡単に日本語化したファイルをアッ …

サイト内検索