RPGツクールMZ用プラグイン投稿・告知サイト

#ツクプラMZ

MZ用プラグイン

ダメージ計算式を関数化するプラグイン - YKP_DamageCalculation.js

シェア用テキスト:
▼ダメージ計算式を関数化するプラグイン(上條ユキ様作) - YKP_DamageCalculation.js
https://plugin-mz.fungamemake.com/archives/4600
ダメージの計算式をテンプレート化して、短い関数式で計算できるプラグインです。 よく使う計算式を共通化して、キーワードと引数で調整が出来るようになります。

ふりがな:だめーじけいさんしきをかんすうかするぷらぐいん

機能概要: ダメージの計算式をテンプレート化して、短い関数式で計算できるプラグインです。 よく使う計算式を共通化して、キーワードと引数で調整が出来るようになります。

利用規約(ライセンス): MITライセンス

作者:上條ユキ

直接ダウンロード:Zipファイル

ファイル名:YKP_DamageCalculation.js

プラグインのヘルプ:

 * ダメージの計算式をテンプレート化して、短い関数式で計算できるプラグインです。
 * よく使う計算式を共通化して、キーワードと引数で調整が出来るようになります。
 *
 * スキルのダメージ計算式に以下の記載をすると利用できます。
 * 
 * YKP_DC(共通計算式の引数)
 * 
 * 
 * 共通計算式のリストに作った『キーワード』と『引数』を入力します。
 *  キーワードは " " で囲んで入力します。
 *  引数は数値を入力します。
 * 
 *  記載例:YKP_DC("ATK", 1, 100, 3, 2)
 *   キーワード:"ATK"
 *   引数1:1
 *   引数2:100
 *   ...
 * 
 * 引数を省略することも可能です。
 * 省略した場合は、必ず『0』が入力されます。
 * 
 * もちろん、今まで通りに計算式をエディタに入力しても問題ありません。
 * 
 * 
 * ◆共通計算式の利用方法
 * 
 * よく利用する計算式をプラグインパラメータに登録しておくことができます。
 * 登録する際の規則は以下の通りです。
 * ・引数にするキーワードは " " で囲みます。
 * ・データ置換するには { } で囲みます
 *  置換可能なデータは次の通りです。
 *  {a.〇〇〇}:使用者の〇〇〇を参照して値に置換します。
 *  {b.〇〇〇}:対象の〇〇〇を参照して値に置換します。
 *  {v.〇}  :変数〇番の値を参照して置換します。
 * 
 *  記載例:({a.atk} * 4 - {b.def} * 2 + {v."変数ID"})
 * 
 *  ※{a.isStateAffected("id")}のような特殊な参照も出来ます。
 *   ただし、{a.〇〇〇({v.△})}のような二重参照は出来ません。
 * 
 * 
 * ◆レートリストの利用方法
 * 
 * キーワードと対応した値を設定しておきます。
 * キーワードはどのような文字でも可能です(例:1、2、1hit、2hit、単体、全体)
 * レート値は小数点第2位まで設定できます。
 * 
 * 設定したレートは計算式に GetRate(key) の形式で利用できます。
 *  記載例:({a.atk} * 4 - {b.def} * 2) * GetRate("2") * GetRate("2hit") * GetRate("単体")
 *      上記は、キー「2」「2hit」「単体」に設定されたレート値でダメージ調整するような形式になります。
 * 
 * 後々にバランス調整する際に、この値を調整だけで微調整が可能になります。
 * 
 * 
 * ◆オプション機能
 * 
 * □アイテム・スキル別にリミットダメージを設定できます。
 * 
 * LimitDamage(YKP_DC(...), 999);
 *  上記のように LimitDamage で囲むと、上限ダメージを再設定できます。
 *  ただし、プラグインパラメータの『最高ダメージ』を超えることは出来ません。
 *  記載例の場合、ダメージが999までしか出なくなります。
 *
 * 
 * □対象にstateIdのステートが付与されている場合に倍率追加できます。
 *  注:MV制作で利用していた仕組みのため、MZでは安定した動作は保障していません。
 *
 * StateBonus(character ,rate, stateId...)
 * 使用計算式 : (character.isStateAffected(stateId) ? rate : 1)
 *
 *  使用例
 *   YKP_DC(共通計算式の引数) * StateBonus(b, 2, 4, 5)
 * 
 *   攻撃力依存のダメージ計算後に対象にステートID 4番(毒)が
 *   付与されている場合にダメージが2倍になります。
 *   さらに、対象にステートID 5番(暗闇)が付与さてれいる場合は
 *   もう一度ダメージを2倍にします。(つまり、通常の4倍になる)
 *   対象にステートID 4番がなく、ステートID 5番がある場合は2倍のみ適用されます。
 *   ステートIDが3つ以上ある場合も同様に倍率を乗算します。
 *   乗算されていくので、rateを4にしたりすると4倍、16倍、64倍と跳ね上がります。
 *
 *  StateAddBonus(character ,rate, stateId...)
 *   StateBonusが乗算されていくのに対し、こちらは加算されていきます。
 *   rateを2にすれば、2倍、4倍、6倍という感じになります。
 *   付与されているステートの数だけrateを加算したい場合はこちらを使ってください。
 *
 *  どちらも対象にステートがない場合は等倍にしてくれます。
 * 
 *
 * プラグインコマンドはありません。
 *
 * plugin version 2.0.3
 * 
 * 2022/11/11
 * ver 2.0.3 : ダメージタイプが『HP回復』『MP回復』の時に
 *             正しく計算されていなかった問題を修正。
 * 
 * 2022/10/23
 * ver 2.0.1 : ヘルプの修正・追記。
 * 
 * 2022/10/20
 * ver 2.0.0 : 計算式システムをリファクタリング。
 *             関数化の仕組みを一新。

スポンサードリンク

スポンサードリンク

-MZ用プラグイン

Copyright© #ツクプラMZ , 2023 All Rights Reserved.