NRP Troop Random Formation - NRP_TroopRandomFormation.js
シェア用テキスト:
▼NRP Troop Random Formation(砂川赳様作) - NRP_TroopRandomFormation.js
https://plugin.fungamemake.com/archives/27254
敵グループを自動でランダム配置します。
ふりがな:とるーぷらんだむへんせい
機能概要: 敵グループを自動でランダム配置します。
利用規約(ライセンス):
・著作権:保持
・商用利用:許可
・追加改変:許可
・再配布:許可
・詳細はダウンロードページ・プラグイン内を確認
作者:砂川赳
作者サイト:https://newrpg.seesaa.net/
解説ページ:https://newrpg.seesaa.net/article/475049887.html
ファイル名:NRP_TroopRandomFormation.js
プラグインのヘルプ:
/*:ja * @plugindesc v1.02 敵グループを自動でランダム配置します。 * @author 砂川赳 (http://newrpg.seesaa.net/) * * @help 敵グループを自動でランダム配置します。 * プラグインパラメータの設定値を元に、 * グループ名が条件に該当するものを自動配置の対象とします。 * * ■自動配置の仕様 * ・指定した範囲内に対して、ランダムで敵を配置。 * ・グリッド単位で座標を検査し、適切な間隔を確保できれば配置確定。 * ・確保できなければ何度も繰り返して、最もマシな配置を選び出す。 * ・敵が一体の場合は中央に配置。 * * 基本的にはサイドビュー用ですが、 * フロントビューにも一応は対応しています。 * * 詳細は以下をご覧ください。 * http://newrpg.seesaa.net/article/475049887.html * * ■利用規約 * 特に制約はありません。 * 改変、再配布自由、商用可、権利表示も任意です。 * 作者は責任を負いませんが、不具合については可能な範囲で対応します。 * * @param <Valid Condition> * @text <適用条件> * * @param condition * @text 実行条件 * @parent <Valid Condition> * @type text * @default name.startsWith(”#”) * @desc 自動配置を実行する条件です。 * 例:name.startsWith(”#”); グループ名が#で開始。 * * @param exclusionCondition * @text 除外条件 * @parent <Valid Condition> * @type text * @desc 自動配置を実行しない条件です。 * 実行条件よりも優先されます。 * * @param <Formation Range> * @text <配置範囲> * * @param startX * @text 開始X座標(左) * @parent <Formation Range> * @type text * @default 20 * @desc 敵の配置範囲の開始X座標です。 * * @param endX * @text 終了X座標(右) * @parent <Formation Range> * @type text * @default 500 * @desc 敵の配置範囲の終了X座標です。 * * @param startHeadY * @text 開始頭上Y座標(上) * @parent <Formation Range> * @type text * @default 0 * @desc 敵の配置範囲の頭上開始Y座標です。 * 背の高い敵が隠れないように調整するための値です。 * * @param startFootY * @text 開始足元Y座標(上) * @parent <Formation Range> * @type text * @default 250 * @desc 敵の配置範囲の足元開始Y座標です。 * * @param endY * @text 終了Y座標(下) * @parent <Formation Range> * @type text * @default 440 * @desc 敵の配置範囲の終了Y座標です。 * * @param gridSize * @text グリッドサイズ * @parent <Formation Range> * @type number * @default 32 * @desc 自動配置する座標の単位です。 * 0 -> 32 -> 64...というように配置されます。 * * @param <Enemy Sort> * @text <敵の並び順> * * @param sameRowBorder * @text 同列とみなす範囲 * @parent <Enemy Sort> * @type number * @default 64 * @desc 互いのX座標の差が指定の数値範囲に収まる場合、同じ列とみなして番号を振ります。 * * @param sortBaseX * @text 基準となるX座標 * @parent <Enemy Sort> * @type select * @option 0:画像中央 @value 0 * @option 1:画像右端 @value 1 * @default 1 * @desc 並び替えの基準とするX座標です。 * * @param <Single Enemy Setting> * @text <敵が一体の場合> * * @param singleEnemyPosition * @text 単体時の配置 * @parent <Single Enemy Setting> * @type select * @option 0:ランダムに配置 @value 0 * @option 1:指定座標に配置 @value 1 * @default 1 * @desc 敵が一体の場合に配置する方法です。 * 『指定座標に配置』の場合は以下の設定を有効とします。 * * @param singleEnemyX * @text 単体時のX座標 * @parent <Single Enemy Setting> * @type text * @default (startX + endX) / 2 * @desc 指定座標に配置する場合のX座標です。 * 初期値は配置範囲の中央です。 * * @param singleEnemyY * @text 単体時のY座標 * @parent <Single Enemy Setting> * @type text * @default ((startHeadY + startFootY) / 2 + endY) / 2 + a.height/2 * @desc 指定座標に配置する場合のY座標です。 * 初期値は配置範囲の中央です。 * * @param <Algorithm> * @text <演算方法> * * @param algorithmType * @text 演算方式 * @parent <Algorithm> * @type select * @option 0:座標総当り(推奨) @value 0 * @option 1:ランダム繰り返し @value 1 * @default 0 * @desc 自動配置を行う演算方式です。 * 基本的には『0:座標総当り』を推奨します。 * * @param maxTryNoForTroop * @text グループ当たりの試行回数 * @parent <Algorithm> * @type number * @default 20 * @desc 自動配置を繰り返すグループ当たりの最大回数です。 * * @param maxTryNoForEnemy * @text 一体当たりの試行回数 * @parent <Algorithm> * @type number * @default 50 * @desc 自動配置を繰り返す一体当たりの最大回数です。 * 『座標総当り』の場合は使用しません。 * * @param distanceBorder * @text 確定とする距離評価値 * @parent <Algorithm> * @type text * @default 0 * @desc この値を超える距離評価値を得た場合、試行を確定します。 * 値を大きくするほど間隔を確保します。 */