自動回復コマンド(まんたん)を実現 - 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 */