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

#ツクプラ

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にすると、条件に該当する者は
 * 敵味方の区別なく対象とします。
 */

スポンサードリンク

スポンサードリンク

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