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 Counter Skill - NRP_CounterSkill.js

Plugin desc : v1.051 Create counter skill.

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_CounterSkill.js

Desc page : https://newrpg.seesaa.net/article/500432213.html

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

File name : NRP_CounterSkill.js

Help of plugin :

Create counter skill.
 * 
 * You can set each actor, enemy, class, equipment,
 * state, and skill as a trait that will counterattack.
 * For skills, they are passive skills
 * that counterattack just by remembering them.
 * 
 * -------------------------------------------------------------------
 * [Note (actor, enemy, class, equipment, state, skill)]
 * -------------------------------------------------------------------
 * <CounterSkill:100>
 * Skill ID 100 will be executed as a counter.
 * If the number is omitted (<CounterSkill>),
 * it will counterattack with a normal attack.
 * 
 * When combined with formulas,
 * it is possible to make them fight back with complex conditions.
 * For example, <CounterSkill:a.hpRate() <= 0.5 ? 1 : 0>
 * then it will counterattack with a normal attack
 * only when HP is below 50%.
 * 
 * <CounterRate:50>
 * 50% chance of activating the counter skill.
 * 100% if omitted.
 * 
 * <CounterDamageType:1,5>
 * Damage type 1,5 skills are subject to counter.
 * 0:None, 1:HP Damage, 2:MP Damage, 3:HP Recover,
 * 4:MP Recover, 5:HP Drain, 6:MP Drain
 * If omitted, the plugin parameter settings are used.
 * If left blank, all are valid.
 * 
 * <CounterHitType:1>
 * Targets skills of hit type 1 for counter.
 * 0:Certain Hit, 1:Physical Attack, 2:Magic Attack
 * If omitted, the plugin parameter settings are used.
 * If left blank, all are valid.
 * 
 * <CounterSkillType:0,2>
 * Skill type 0,2 skills are subject to counter.
 * Skill types can be set in the database.
 * Normally, 1 is Magic, 2:Special.
 * Also, 0 is treated as a normal attack.
 * If omitted, the plugin parameter settings are used.
 * If left blank, all are valid.
 * 
 * <CounterEvadeCondition:0>
 * Sets the conditions under which
 * the counter skill is triggered by hit/evade.
 * 0: Always Counter, 1: Counter Only Hit, 2: Counter Only Evade
 * If omitted, the plugin parameter settings are used.
 * 
 * <CounterGroupInclude:attack>
 * The skill counterattacks when the counter group name is "attack".
 * For counter groups, see below.
 * 
 * <CounterGroupExcept:attack>
 * It does not counterattack
 * when the skill's counter group name is "attack".
 * 
 * <CounterItem> / <CounterItem:false>
 * Executes a counter against the item as well. (Off with false)
 * If omitted, the plugin parameter settings are used.
 * 
 * <CounterAbortDeath> / <CounterAbortDeath:false>
 * Stops the counter skill upon target death. (Off with false)
 * If omitted, the plugin parameter settings are used.
 * 
 * ※Formulas can also be used for each item.
 * 
 * -------------------------------------------------------------------
 * [Note (skill, item)]
 * -------------------------------------------------------------------
 * <CounterGroup:attack>
 * Set the counter group to "attack".
 * 
 * <CounterDisabled>
 * This skill will ensure that you do not get counterattacks.
 * 
 * -------------------------------------------------------------------
 * [Note (state]
 * -------------------------------------------------------------------
 * <CounterIgnoreRestrict>
 * Normally, battlers in a restriction state
 * will not execute counterattacks, but they will be able to
 * execute counterattacks in exceptional cases.
 * Only attacking restrictions are valid.
 * 
 * -------------------------------------------------------------------
 * [Counter Group]
 * -------------------------------------------------------------------
 * If you want to have detailed counter judgment for each skill,
 * counter groups are useful.
 * For example, if you want to make bow skills immune to counter
 * by spiked states, you can set up the following.
 * 
 * Set the note for the bow skill and the counter group to 'bow'.
 * <CounterGroup:bow>
 * 
 * Next, set the note of the spike state
 * and disable the counter group "bow".
 * <CounterGroupExcept:bow>
 * 
 * Conversely, if you wish to create a state in which only bow skills
 * are subject to counter, set the note as follows
 * <CounterGroupInclude:bow>
 * 
 * Please note that even if you set up a counter group,
 * the skill type and other conditions will remain in effect.
 * 
 * -------------------------------------------------------------------
 * [Cooperation with DynamicAnimation & Motion]
 * -------------------------------------------------------------------
 * By specifying the following condition in the note of the skill,
 * you can insert a special performance only when a counter is made.
 * 
 * <D-Animation:self&wait>
 * condition = BattleManager.isInCounter(); // Condition for counter
 * id = 52 // Animation ID
 * </D-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.
 * 
 * @-----------------------------------------------------
 * @ [Plugin Parameters]
 * @-----------------------------------------------------
 * 
 * @param TargetDamageType
 * @type string
 * @default 1,5
 * @desc Damage type to be counterattacked. 0:None, 1:HP Damage, 2:MP Damage, 3:HP Recover, 4:MP Recover, 5:HP Drain, 6:MP Drain
 * 
 * @param TargetHitType
 * @type string
 * @default 1
 * @desc The hit type of the skill that is targeted for counter.
 * 0:Certain Hit, 1:Physical Attack, 2:Magic Attack
 * 
 * @param TargetSkillType
 * @type string
 * @default 0,2
 * @desc Skill type to be targeted for counter.
 * With standard, 0: Normal Attack, 2: Special.
 * 
 * @param CounterEvadeCondition
 * @type select
 * @option Always Counter @value 0
 * @option Counter Only Hit @value 1
 * @option Counter Only Evade @value 2
 * @default 0
 * @desc It is the decision to execute a counter skill when a skill is hit/evaded.
 * 
 * @param CounterItem
 * @type boolean
 * @default false
 * @desc Execute counter on items as well.
 * 
 * @param ComboJudgeType
 * @type select
 * @option Every @value 0
 * @option Once @value 1
 * @default 0
 * @desc How to judge when you receive a combo. Every will increase the rate of counter by the number of times.
 * 
 * @param NoMpTpCost
 * @type boolean
 * @default true
 * @desc No MP & TP is consumed when activating a counter skill.
 * 
 * @param IgnoreSkillConditions
 * @type boolean
 * @default false
 * @desc Ignore skill use decisions (e.g., silence state).
 * 
 * @param AbortTargetDeath
 * @type boolean
 * @default true
 * @desc When the target dies, subsequent counter skills are not activated.
 * 
 * @param CounterFriendSkill
 * @type boolean
 * @default false
 * @desc It is whether or not to counter to the skills of a fellow worker. NRP_PartyAttack.js is required for counter.
 * 
 * @param CoverDefaultCounter
 * @type boolean
 * @default false
 * @desc The default Counter Attack Rate is also overridden to be handled by this plugin.
 * 
 * @param DefaultCounterGroup
 * @parent CoverDefaultCounter
 * @type string
 * @desc The effective counter group for the default counter process.
 * 
 * @param DefaultCounterGroupNG
 * @parent CoverDefaultCounter
 * @type string
 * @desc This is an invalid counter group for the default counter process.
 * 
 * @param SupportOver100
 * @parent CoverDefaultCounter
 * @type boolean
 * @default false
 * @desc If the Counter Attack Rate exceeds 100%, the counterattack is executed multiple times.

スポンサードリンク

-MZ plugins

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