An open library of RPG Maker MZ plugins, powered by the community.

PGMZ - The Community-Driven Plugin Library for RPG Maker MZ

MZ plugins

NRP Skill Range EX - NRP_SkillRangeEX.js

Plugin desc : v1.10 Extends the effective range of skills and items.

License :
・Copyright: Retained
・Commercial Use: Allowed
・Modification: Allowed
・Redistribution: Allowed
・Details: See Download Page / In-plugin documentation

Author : Takeshi Sunagawa (http://newrpg.seesaa.net/)

Website : https://github.com/NewRPGProject/MZMV_Plugin/blob/main/NRP_SkillRangeEX.js

Desc page : http://newrpg.seesaa.net/article/473374355.html

Download Page : https://raw.githubusercontent.com/NewRPGProject/MZMV_Plugin/main/NRP_SkillRangeEX.js

File name : NRP_SkillRangeEX.js

Help of plugin :

Extends the effective range of skills and items.
 * You can specify various options
 * such as vertical, horizontal, group, and circular.
 * 
 * -------------------------------------------------------------------
 * [Usage]
 * -------------------------------------------------------------------
 * <RangeEx:vertical>
 * The registered range is described in the skill (item) note as.
 * You can also create your own ranges.
 * 
 * For more information, please see below.
 * http://newrpg.seesaa.net/article/473374355.html
 * 
 * -------------------------------------------------------------------
 * [Notes]
 * -------------------------------------------------------------------
 * This plugin should be placed above the following plugins.
 * If you don't do so, some functions will not work.
 * - NRP_VisualTurn.js (affects color change target of ordered list).
 * - NRP_DynamicAnimation.js (affects the display position of the animation)
 * 
 * -------------------------------------------------------------------
 * [Terms]
 * -------------------------------------------------------------------
 * There are no restrictions.
 * Modification, redistribution freedom, commercial availability,
 * and rights indication are also optional.
 * The author is not responsible,
 * but will deal with defects to the extent possible.
 * 
 * @param rangeList
 * @type struct<Range>[]
 * @default ["{¥"name¥":¥"縦¥",¥"id¥":¥"vertical¥",¥"rangeIf¥":¥"40 >= Math.abs(b.srX() - c.srX())¥",¥"screenAnimationX¥":¥"b.srX()¥",¥"screenAnimationY¥":¥"¥",¥"mainTargetAllIf¥":¥"c1._battler.isEnemy() ? c1.srX() > c2.srX() : c1.srX() < c2.srX()¥",¥"noSide¥":¥"false¥"}","{¥"name¥":¥"横¥",¥"id¥":¥"horizontal¥",¥"rangeIf¥":¥"40 >= Math.abs(b.srY() - b.height / 2 - (c.srY() - c.height / 2))¥",¥"screenAnimationX¥":¥"¥",¥"screenAnimationY¥":¥"b.srY() - b.height / 2¥",¥"mainTargetAllIf¥":¥"c1._battler.isEnemy() ? c1.srY() > c2.srY() : c1.srY() < c2.srY()¥",¥"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.srX() - b.srX()) - c.width / 2, 0)**2 + Math.max(Math.abs(c.srY() - c.height / 2 - (b.srY() - b.height / 2)) - c.height / 2, 0)**2¥",¥"screenAnimationX¥":¥"b.srX()¥",¥"screenAnimationY¥":¥"b.srY() - b.height / 2¥",¥"mainTargetAllIf¥":¥"(c1.srX() - a.srX())**2 + (c1.srY() - a.srY())**2 < (c2.srX() - a.srX())**2 + (c2.srY() - a.srY())**2¥",¥"noSide¥":¥"false¥"}","{¥"name¥":¥"十字¥",¥"id¥":¥"cross¥",¥"rangeIf¥":¥"40 >= Math.abs(b.srX() - c.srX()) || 40 >= Math.abs(b.srY() - b.height / 2 - (c.srY() - c.height / 2))¥",¥"screenAnimationX¥":¥"b.srX()¥",¥"screenAnimationY¥":¥"b.srY() - b.height / 2¥",¥"mainTargetAllIf¥":¥"¥",¥"noSide¥":¥"false¥"}","{¥"name¥":¥"直線¥",¥"id¥":¥"line¥",¥"rangeIf¥":¥"40 >= Math.abs(a.srY() - a.height / 2 + (b.srY() - b.height / 2 - (a.srY() - a.height / 2)) / (b.srX() - a.srX()) * (c.srX() - a.srX()) - (c.srY() - c.height / 2))¥",¥"screenAnimationX¥":¥"¥",¥"screenAnimationY¥":¥"¥",¥"mainTargetAllIf¥":¥"¥",¥"noSide¥":¥"false¥"}","{¥"name¥":¥"自分周辺¥",¥"id¥":¥"around¥",¥"rangeIf¥":¥"250**2 >= Math.max(Math.abs(c.srX() - a.srX()) - c.width / 2, 0)**2 + Math.max(Math.abs(c.srY() - c.height / 2 - (a.srY() - a.height / 2)) - c.height / 2, 0)**2¥",¥"screenAnimationX¥":¥"a.srX()¥",¥"screenAnimationY¥":¥"a.srY() - 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 List of defined ranges.
 * New ranges can be added.
 * 
 * @param baseCoordinate
 * @type select
 * @option home @value home
 * @option current @value current
 * @default home
 * @desc Coordinates used for judging. In the case of a home, it will no longer be affected by levitation or other performances.

スポンサードリンク

-MZ plugins

Copyright© PGMZ - The Community-Driven Plugin Library for RPG Maker MZ , 2026 All Rights Reserved.