NRP Skill Range EX - NRP_SkillRangeEX.js

▼NRP Skill Range EX(砂川赳様作) - NRP_SkillRangeEX.js
https://plugin.fungamemake.com/archives/23018
スキル及びアイテムの効果範囲を拡張します。
ふりがな:すきるれんじえっくす
機能概要: スキル及びアイテムの効果範囲を拡張します。
利用規約(ライセンス):
・著作権:保持
・商用利用:許可
・追加改変:許可
・再配布:許可
・詳細はダウンロードページ・プラグイン内を確認
作者:砂川赳
作者サイト:https://newrpg.seesaa.net/
解説ページ:https://newrpg.seesaa.net/article/473374355.html
ファイル名:NRP_SkillRangeEX.js
プラグインのヘルプ:
/*: * @plugindesc v1.011 スキル及びアイテムの効果範囲を拡張します。 * @author 砂川赳(http://newrpg.seesaa.net/) * * @help スキル及びアイテムの効果範囲を拡張します。 * 縦列・横列・グループ・円形など様々な指定が可能です。 * * ■使用方法 * <RangeEx:vertical> * というように登録されている範囲をスキル(アイテム)のメモ欄に記述します。 * また、独自範囲の追加も可能です。 * * 詳細は以下のページをご覧ください。 * http://newrpg.seesaa.net/article/473374355.html * * ■注意点 * CTBおよびCTTBを導入している場合は、このプラグインを * NRP_VisualTurn.jsよりも、上部に配置してください。 * そうしないと、行動順序リストの対象色変え表示ができません。 * * ■利用規約 * 特に制約はありません。 * 改変、再配布自由、商用可、権利表示も任意です。 * 作者は責任を負いませんが、不具合については可能な範囲で対応します。 * * @param rangeList * @text 範囲一覧 * @type struct<Range>[] * @default ["{\"name\":\"縦\",\"id\":\"vertical\",\"rangeIf\":\"40 >= Math.abs(b.x - c.x)\",\"screenAnimationX\":\"b.x\",\"screenAnimationY\":\"\",\"mainTargetAllIf\":\"c1._battler.isEnemy() ? c1.x > c2.x : c1.x < c2.x\",\"noSide\":\"false\"}","{\"name\":\"横\",\"id\":\"horizontal\",\"rangeIf\":\"40 >= Math.abs(b.y - b.height / 2 - (c.y - c.height / 2))\",\"screenAnimationX\":\"\",\"screenAnimationY\":\"b.y - b.height / 2\",\"mainTargetAllIf\":\"c1._battler.isEnemy() ? c1.y > c2.y : c1.y < c2.y\",\"noSide\":\"false\"}","{\"name\":\"グループ\",\"id\":\"group\",\"rangeIf\":\"b._battler.isEnemy() ? b._battler.enemyId() == c._battler.enemyId() : true\",\"screenAnimationX\":\"\",\"screenAnimationY\":\"\",\"mainTargetAllIf\":\"\",\"noSide\":\"false\"}","{\"name\":\"円\",\"id\":\"circle\",\"rangeIf\":\"100**2 >= Math.max(Math.abs(c.x - b.x) - c.width / 2, 0)**2 + Math.max(Math.abs(c.y - c.height / 2 - (b.y - b.height / 2)) - c.height / 2, 0)**2\",\"screenAnimationX\":\"b.x\",\"screenAnimationY\":\"b.y - b.height / 2\",\"mainTargetAllIf\":\"(c1.x - a.x)**2 + (c1.y - a.y)**2 < (c2.x - a.x)**2 + (c2.y - a.y)**2\",\"noSide\":\"false\"}","{\"name\":\"十字\",\"id\":\"cross\",\"rangeIf\":\"40 >= Math.abs(b.x - c.x) || 40 >= Math.abs(b.y - b.height / 2 - (c.y - c.height / 2))\",\"screenAnimationX\":\"b.x\",\"screenAnimationY\":\"b.y - b.height / 2\",\"mainTargetAllIf\":\"\",\"noSide\":\"false\"}","{\"name\":\"直線\",\"id\":\"line\",\"rangeIf\":\"40 >= Math.abs(a.y - a.height / 2 + (b.y - b.height / 2 - (a.y - a.height / 2)) / (b.x - a.x) * (c.x - a.x) - (c.y - c.height / 2))\",\"screenAnimationX\":\"\",\"screenAnimationY\":\"\",\"mainTargetAllIf\":\"\",\"noSide\":\"false\"}","{\"name\":\"自分周辺\",\"id\":\"around\",\"rangeIf\":\"250**2 >= Math.max(Math.abs(c.x - a.x) - c.width / 2, 0)**2 + Math.max(Math.abs(c.y - c.height / 2 - (a.y - a.height / 2)) - c.height / 2, 0)**2\",\"screenAnimationX\":\"a.x\",\"screenAnimationY\":\"a.y - a.height / 2\",\"mainTargetAllIf\":\"\",\"noSide\":\"false\"}","{\"name\":\"敵味方全員\",\"id\":\"all\",\"rangeIf\":\"true\",\"screenAnimationX\":\"\",\"screenAnimationY\":\"\",\"mainTargetAllIf\":\"\",\"noSide\":\"true\"}","{\"name\":\"自分以外\",\"id\":\"allOther\",\"rangeIf\":\"a != c\",\"screenAnimationX\":\"\",\"screenAnimationY\":\"\",\"mainTargetAllIf\":\"\",\"noSide\":\"true\"}","{\"name\":\"LV5の倍数\",\"id\":\"lv5\",\"rangeIf\":\"c._battler.level % 5 == 0\",\"screenAnimationX\":\"\",\"screenAnimationY\":\"\",\"mainTargetAllIf\":\"\",\"noSide\":\"false\"}"] * @desc 定義された効果範囲の一覧です。 * 新しい範囲を追加することも可能です。 */ /*~struct~Range: * @param name * @text 名前 * @type string * @desc 識別用のメモです。分かりやすい名前をおつけください。 * これをスキル・アイテムのメモ欄で指定しても使えます。 * * @param id * @text 識別子 * @type string * @desc 呼び出しに使う識別子です。 * このIDをスキル・アイテムのメモ欄で指定します。 * * @param rangeIf * @text 範囲条件 * @type string * @desc 範囲を定める条件式です。 * * @param screenAnimationX * @text 画面アニメのX座標 * @type string * @desc 画面対象アニメーションのX座標です。 * 未設定なら通常通りの位置に表示されます。 * * @param screenAnimationY * @text 画面アニメのY座標 * @type string * @desc 画面対象アニメーションのY座標です。 * 未設定なら通常通りの位置に表示されます。 * * @param mainTargetAllIf * @text 全体時の主対象条件 * @type string * @desc 範囲を全体にした際、主対象を定める条件式です。 * 例えば、前列だけを対象にする技などを作れます。 * * @param noSide * @text 敵味方の区別をしない * @type boolean * @default false * @desc ONにすると、条件に該当する者は * 敵味方の区別なく対象とします。 */
