自動回復コマンド(まんたん)を実現 - NRP_AutoHeal.js

シェア用テキスト:
▼自動回復コマンド(まんたん)を実現(砂川赳様作) - NRP_AutoHeal.js
https://plugin.fungamemake.com/archives/27881
自動回復コマンドを実現します。いわゆるドラクエのまんたんコマンドです。メニュー画面などから実行すると、パーティメンバーがスキルを自動的に使用して回復してくれます。

ふりがな:じどうかいふくこまんど(まんたん)をじつげん

機能概要: 自動回復コマンドを実現します。いわゆるドラクエのまんたんコマンドです。メニュー画面などから実行すると、パーティメンバーがスキルを自動的に使用して回復してくれます。

利用規約(ライセンス):
・著作権:保持
・商用利用:許可
・追加改変:許可
・再配布:許可
・詳細はダウンロードページ・プラグイン内を確認

作者:砂川赳

作者サイト:http://newrpg.seesaa.net/

解説ページ:http://newrpg.seesaa.net/article/480069638.html

ファイル名:NRP_AutoHeal.js

プラグインのヘルプ:

/*:ja
 * @target MV MZ
 * @plugindesc v1.001 自動回復コマンド(まんたん)を実現
 * @author 砂川赳(http://newrpg.seesaa.net/)
 * @url http://newrpg.seesaa.net/article/480069638.html
 *
 * @help 自動回復コマンドを実現します。
 * いわゆるドラクエのまんたんコマンドです。
 * メニュー画面などから実行すると、
 * パーティメンバーがスキルを自動的に使用して回復してくれます。
 * 
 * ■主な仕様
 * ・メニューに自動回復コマンドを追加。
 * ・また、プラグインコマンドからの呼び出しも可能。
 * ・登録したステートも自動で治療。
 *  (初期状態では戦闘不能と毒のみ対象)
 * ・なるべく消費効率の良いスキルを自動で選択。
 * ・回復スキルの使用者を決定する条件を変更可能。
 *  例えば、MPが高い者、効率の良いスキルを持つ者など。
 * ・最大HPのXX%まで回復するような設定も可能。
 *  (いわゆる『ほぼまんたん』)
 * ・メッセージの表示方法を選択可。
 * ・控えメンバーを対象に含めるかを選択可。
 * 
 * ■使用方法
 * プラグインをオンにすれば、
 * メニューコマンドに自動回復コマンドが追加されます。
 * メニューに表示せず、プラグインコマンドから呼び出すことも可能です。
 * また、プラグインパラメータより細かい調整が可能です。
 * 
 * ■メモ欄(スキル)
 * <ExceptAutoHeal>
 * 指定したスキルを自動回復の使用対象から除きます。
 * 
 * ■プラグインコマンド(MZ)
 * イベント上から自動回復を実行できます。
 * 『対象とするHP%』『成功時のスイッチ』『失敗時のスイッチ』
 * を指定可能です。
 * 内容はプラグインパラメータと同一のため割愛します。
 * 
 * ■プラグインコマンド(MV)
 * > nrp.autoHeal.start
 * 自動回復を実行します。
 * また、以下を事前に指定すればオプションも指定可能です。
 * 
 * > nrp.autoHeal.targetHpRate XX
 * HPが指定した数値%以下ならば、回復を実行します。
 * 
 * > nrp.autoHeal.successSwitch X
 * 回復成功時、指定した番号のスイッチをオンにします。
 * 
 * > nrp.autoHeal.failureSwitch X
 * 回復失敗時、指定した番号のスイッチをオンにします。
 * 
 * 以下は全てをまとめた実行例です。
 * ※一行ずつ呼び出してください。
 * 
 * nrp.autoHeal.targetHpRate 90
 * nrp.autoHeal.successSwitch 1
 * nrp.autoHeal.failureSwitch 2
 * nrp.autoHeal.start
 * 
 * ■メッセージの表示について
 * 自動回復を行った際、結果をメッセージで表示します。
 * ただし、本来ツクールの仕様ではメニュー画面でのメッセージ表示はできません。
 * 色々と無理矢理なので、競合などの問題が発生する可能性もあります。
 * その際は、自動回復後にメニューを閉じる設定にするか、
 * メッセージ表示をオフにしてください。
 * 
 * また、メニューを閉じる場合のみ、コモンイベントの呼出も可能です。
 * 演出などにご利用ください。
 * 
 * ■自動回復のアルゴリズム
 * 1.最もHPの割合が減っている対象者を求める。
 * 2.設定に従って、回復スキルの使用者を確定。
 * 3.対象者に対して、最も効率の良いスキルを求める。
 *   ※(回復量/消費)が最大のスキル。
 * 4.回復実行。
 * 5.上記を繰り返し。
 *   誰もHPが減っていないか、誰もスキルを使用できなくなれば終了。
 * 
 * ■その他、細かい仕様
 * ・回復の対象はタイプが『HP回復』のスキルのみです。
 * 
 * ・また、効果の計算は計算式で行います。
 *  使用効果での回復量までは考慮していません。
 * 
 * ・MPとTPは同列に扱います。
 *  つまり、回復量が同じなら、消費MPが10のスキルと
 *  消費TPが10のスキルの効率は同等とみなします。
 * 
 * ・回復量を求めるため、内部的にスキルの計算式を実行します。
 *  計算式内に実処理を書くと、それも実行されるので注意です。
 * 
 * ・完全な効率化を保証するものではありません。
 *  特にステートの治療については、あまり効率化されていません。
 *  例えば、複数ステートを治療できるスキルと、一つのステートしか、
 *  治療できないスキルの効率の差などは計算していません。
 *  複雑すぎて作者が諦めました。
 * 
 * ・あまりないと思いますが、対象がランダムの回復スキルは対象外です。
 *  結果を計算できないのでどうしようもありません。
 * 
 * その他、詳細は以下をご覧ください。
 * http://newrpg.seesaa.net/article/480069638.html
 * 
 * ■利用規約
 * 特に制約はありません。
 * 改変、再配布自由、商用可、権利表示も任意です。
 * 作者は責任を負いませんが、不具合については可能な範囲で対応します。
 * 
 * @param <Menu Command>
 * @text <メニューコマンド関連>
 * @desc メニューコマンドに自動回復を表示する際の関連項目です。
 * 
 * @param ShowMenuCommand
 * @text メニューコマンドに表示
 * @parent <Menu Command>
 * @type boolean
 * @default true
 * @desc メニューコマンドに自動回復を追加します。
 * 
 * @param ShowMenuCommandPosition
 * @text メニューコマンド挿入位置
 * @parent <Menu Command>
 * @type number
 * @default 5
 * @desc メニューコマンドに自動回復を挿入する位置です。
 * 0が先頭になります。
 * 
 * @param AutoHealName
 * @text 自動回復表示名
 * @parent <Menu Command>
 * @type text
 * @default 自動回復
 * @desc 自動回復の表示コマンド名を設定します。
 * 
 * @param AutoHealSymbol
 * @text [上級]自動回復記号
 * @parent <Menu Command>
 * @type text
 * @default autoheal
 * @desc 自動回復の記号を設定します。
 * この値は他のプラグインと連携する際に使用できます。
 * 
 * @param <Heal Setting>
 * @text <回復設定関連>
 * @desc 回復実行時の設定に関する項目です。
 * 
 * @param CureStates
 * @text 治療するステート
 * @parent <Heal Setting>
 * @type state[]
 * @default [”1”,”4”]
 * @desc 治療の対象とするステートの一覧です。
 * HPの回復より優先されます。
 * 
 * @param TargetHpRate
 * @text 対象とするHP%
 * @parent <Heal Setting>
 * @type number
 * @default 100
 * @max 100
 * @desc HP%がこの数値未満の場合に回復対象とします。
 * 初期値は100。少しでも減っていれば回復します。
 * 
 * @param TargetHpRateVariable
 * @text 対象HP%を変数指定
 * @parent <Heal Setting>
 * @type variable
 * @desc 指定した変数の値未満の場合に回復対象とします。
 * こちらの設定が優先されます。
 * 
 * @param UserPriority
 * @text 使用者優先順位
 * @parent <Heal Setting>
 * @type select
 * @option 残MP優先 @value Mp
 * @option 後列優先 @value Back
 * @option 低消費優先 @value Cost
 * @option バランス(残MP+低消費) @value Balance
 * @default Balance
 * @desc 回復スキルの使用者の優先順位を決める条件です。
 * 初期状態では残MPと消費をバランス良く配分します。
 * 
 * @param UseReserveMembers
 * @text 控えメンバーも使用者に
 * @parent <Heal Setting>
 * @type boolean
 * @default false
 * @desc 戦闘に参加しない控えメンバーも回復スキルを使用します。
 * 
 * @param TargetReserveMembers
 * @text 控えメンバーも対象に
 * @parent <Heal Setting>
 * @type boolean
 * @default false
 * @desc 戦闘に参加しない控えメンバーも回復の対象とします。
 * 
 * @param <Message>
 * @text <メッセージ関連>
 * @desc メッセージ関連の項目です。
 * 
 * @param MessageType
 * @text メッセージの表示方式
 * @parent <Message>
 * @type select
 * @option 0:表示しない @value 0
 * @option 1:簡易表示 @value 1
 * @option 2:スキルの使用状況を表示 @value 2
 * @option 3:スキルの使用結果も表示 @value 3
 * @default 3
 * @desc メッセージの表示方式を設定します。
 * なお、失敗時のメッセージはいずれも同じです。
 * 
 * @param MessageSuccess
 * @text 回復成功メッセージ
 * @parent <Message>
 * @type text
 * @default 回復しました!
 * @desc 回復成功時のメッセージです。
 * 1:簡易表示の場合のみ表示されます。
 * 
 * @param MessageUnnecessary
 * @text 回復不要メッセージ
 * @parent <Message>
 * @type text
 * @default 回復の必要はありません!
 * @desc 回復が不要な際のメッセージです。
 * 
 * @param MessageFailure
 * @text 回復失敗メッセージ
 * @parent <Message>
 * @type text
 * @default 回復できません!
 * @desc 回復に失敗した際のメッセージです。
 * 
 * @param <Sound>
 * @text <効果音関連>
 * @desc 効果音関連の項目です。
 * 
 * @param SoundSuccess
 * @text 成功時の効果音
 * @parent <Sound>
 * @type file
 * @dir audio/se
 * @default Recovery
 * @desc 回復に成功した際の効果音です。
 * 
 * @param SoundFailure
 * @text 失敗時の効果音
 * @parent <Sound>
 * @type file
 * @dir audio/se
 * @default Buzzer1
 * @desc 回復に失敗した際の効果音です。
 * 
 * @param <Close Menu>
 * @text <メニューを閉じる>
 * @desc 自動回復後にメニューを閉じる場合の関連項目です。
 * 同時にオンにするスイッチも指定可能です。
 * 
 * @param CloseMenu
 * @text メニューを閉じる
 * @parent <Close Menu>
 * @type boolean
 * @default false
 * @desc 自動回復後にメニューを閉じます。
 * 
 * @param SuccessSwitch
 * @text 成功時のスイッチ
 * @parent <Close Menu>
 * @type switch
 * @desc 成功時、オンにするスイッチです。
 * フラッシュやアニメーションなどの演出に利用できます。
 * 
 * @param FailureSwitch
 * @text 失敗時のスイッチ
 * @parent <Close Menu>
 * @type switch
 * @desc 失敗時、オンにするスイッチです。
 * 
 **************************************
 * @command CallAutoHeal
 * @text 自動回復の呼び出し
 * @desc 自動回復を実行します。
 * 
 * @arg TargetHpRate
 * @text 対象とするHP%
 * @desc HP%がこの数値未満の場合に回復対象とします。
 * 空白なら初期設定を使用します。
 * @type number
 * @max 100
 * 
 * @arg SuccessSwitch
 * @text 成功時のスイッチ
 * @desc 成功時、オンにするスイッチです。
 * フラッシュやアニメーションなどの演出に利用できます。
 * @type switch
 * 
 * @arg FailureSwitch
 * @text 失敗時のスイッチ
 * @desc 失敗時、オンにするスイッチです。
 * @type switch
 */

スポンサードリンク

スポンサードリンク

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