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 Special Skill - NRP_SpecialSkill.js

Plugin desc : v1.07 Implementation of the special skill system.

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

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

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

File name : NRP_SpecialSkill.js

Help of plugin :

Implement special skills
 * that are triggered by accumulating a gauge.
 * 
 * Similar to the existing TP system, but can have multiple gauges.
 * It can also be used in conjunction
 * with a plugin that grows TP to a level (NRP_LevelGrowTP.js).
 * 
 * -------------------------------------------------------------------
 * [Usage]
 * -------------------------------------------------------------------
 * Please register your information
 * in the SpecialTypeList of the plugin parameters.
 * You can set the conditions under
 * which the gauge accumulates in detail.
 * 
 * In the initial state, only one data is registered,
 * but multiple data can be registered.
 * The first data is treated as "special type = 1".
 * 
 * Further, set the corresponding special skill
 * to the special type.
 * ※Refer to [Note of Skills] below.
 * 
 * -------------------------------------------------------------------
 * [Note of Skills] (Special Skill)
 * -------------------------------------------------------------------
 * Fill in the following in the note for the skill
 * you wish to designate as a special skill.
 * 
 * ◆<SpecialSkill:[special type]>
 * Set the skill as special skill.
 * If <SpecialSkill:1>, as mentioned above,
 * it corresponds to the first in the SpecialTypeList.
 * 
 * ◆<SpecialSkillCost:100>
 * Consumes 100 points of the special gauge.
 * If not specified, all will be consumed.
 * 
 * -------------------------------------------------------------------
 * [Note of Skills] (Normal Skill)
 * -------------------------------------------------------------------
 * You can set the conditions under
 * which the gauge will accumulate for each skill.
 * If not specified,
 * the default values of the plugin parameters are used.
 * 
 * ◆<SpecialSkillActionValue:10>
 * When a skill hits, all gauges of the skill user are increased by 10.
 * The amount of increase is proportional
 * to the number of targets and repeat.
 * ※The gauge can be set to increase even if the target misses.
 * 
 * ◆<SpecialSkillActionEndValue:10>
 * After the skill is used, all gauges of the skill user are added by 10.
 * 
 * ◆<SpecialSkillChargeValue:10>
 * Adds 10 to all gauges of the target receiving the skill.
 * Basically assumes a support skill.
 * 
 * -------------------------------------------------------------------
 * If you want to increase only a specific gauge,
 * add a numeric value to the end of the tag name.
 * Example: "SpecialSkillActionValue1" would target the first gauge.
 * 
 * ◆<SpecialSkillActionValue1:10>
 * ◆<SpecialSkillActionEndValue1:10>
 * ◆<SpecialSkillChargeValue1:10>
 * 
 * -------------------------------------------------------------------
 * [Note of Actors, Classes, Equipments & States]
 * -------------------------------------------------------------------
 * By specifying in note, you can set the traits
 * that will change the amount of the gauge increase.
 * 
 * ◆<SpecialSkillRate:150>
 * Increase all gauges by 150%.
 * 
 * ◆<SpecialSkillRegenerateValue:10>
 * Add 10 to all gauges per turn.
 * 
 * -------------------------------------------------------------------
 * You can target only specific special types in the same way as skills.
 * 
 * ◆<SpecialSkillRate1:150>
 * ◆<SpecialSkillRegenerateValue1:10>
 * 
 * -------------------------------------------------------------------
 * [Note of States]
 * -------------------------------------------------------------------
 * ◆<SpecialSkillChargeValue:10>
 * Adds 10 to all gauges of the target that received the state.
 * 
 * -------------------------------------------------------------------
 * You can target only specific special types in the same way as skills.
 * 
 * ◆<SpecialSkillChargeValue1:10>
 * 
 * -------------------------------------------------------------------
 * [Plugin Command]
 * -------------------------------------------------------------------
 * ◆ChangeSpecialGauge
 * Increases or decreases the special gauge.
 * The actor and special type to be operated can be specified.
 * If you do not specify an actor,
 * all members of the party will be affected.
 * If you do not specify a special type, all special types are targeted.
 * 
 * -------------------------------------------------------------------
 * [About Layout]
 * -------------------------------------------------------------------
 * In the initial state, the space
 * to display the special gauge is too small and cramped.
 * This is especially noticeable when multiple gauges are registered.
 * The three screens covered are menu, status, and battle.。
 * 
 * A plugin parameter allows you to set the layout of the gauges,
 * but this plugin alone may be too demanding.
 * 
 * Please combine this plugin with other layout plugin
 * and adjust it to your liking.
 * ※The author has given up on this plugin
 *   because it is too much for this plugin alone.
 * 
 * -------------------------------------------------------------------
 * [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 Commands]
 * @-----------------------------------------------------------
 * 
 * @command ChangeSpecialGauge
 * @desc Increase or decrease the special gauge.
 * 
 * @arg Actor
 * @type actor
 * @desc Actors to target.
 * If blank, all party members are targeted.
 * 
 * @arg SpecialSkillType
 * @type number @min 1
 * @desc Special type to be targeted for increase/decrease.
 * If blank, all special gauges are targeted.
 * 
 * @arg Value
 * @type number @max 99999 @min -99999
 * @desc The amount of increase or decrease in the special gauge.
 * 
 * @-----------------------------------------------------------
 * @ [Plugin Parameters]
 * @-----------------------------------------------------------
 * 
 * @param SpecialTypeList
 * @type struct<SpecialType>[]
 * @default ["{¥"Condition¥":¥"¥",¥"GaugeMax¥":¥"100¥",¥"ActionValue¥":¥"¥",¥"ActionEndValue¥":¥"¥",¥"RegenerateValue¥":¥"¥",¥"DamageValue¥":¥"50 * damage / a.mhp¥",¥"EvadedValue¥":¥"¥",¥"FriendsDeadValue¥":¥"¥",¥"DefeatEnemyValue¥":¥"¥",¥"CriticalValue¥":¥"¥",¥"CostColor¥":¥"6¥",¥"ChargedAnimation¥":¥"¥",¥"<GaugeLayout>¥":¥"¥",¥"Label¥":¥"¥",¥"GaugeColor1¥":¥"14¥",¥"GaugeColor2¥":¥"0¥"}"]
 * @desc List of special types.
 * Each will hold gauge information.
 * 
 * @param ShowGaugeWhenLearned
 * @type boolean
 * @default true
 * @desc The gauge is displayed only if the actor has learned an active special skill.
 * 
 * @param RecoverGauge
 * @type boolean
 * @default false
 * @desc The special gauge is also recovered when all recovery is complete.
 * 
 * @param PlusOnlyHit
 * @type boolean
 * @default true
 * @desc Enable the gauge increase by ActionValue only when hit.
 * 
 * @param NotPlusWhenUsed
 * @type boolean
 * @default false
 * @desc The gauge should not increase during a special skill that you have activated.
 * 
 * @param NotPlusSameTarget
 * @type boolean
 * @default false
 * @desc Multiple attacks on the same target, such as a series of techniques, do not accumulate ActionValue.
 * 
 * @param NoMultipleCriticalBonus
 * @type boolean
 * @default false
 * @desc The gauge increase value for critical hits will not be duplicated in multi-hit skills.
 * 
 * @param MultipleAttenuation
 * @type string
 * @desc Decrease ActionValue for ranged/continuous techniques.
 * e.g:"value / count" attenuates to the amount of increase / number of hits.
 * 
 * @param <ChargedAnimation>
 * 
 * @param WaitChargedAnimation
 * @parent <ChargedAnimation>
 * @type boolean
 * @default true
 * @desc Wait for charged animation.
 * It is always treated as on in MV.
 * 
 * @param ChargedAnimationInterval
 * @parent <ChargedAnimation>
 * @type number
 * @default 15
 * @desc The display interval when charged animation overlaps.
 * 
 * @param WaitDynamicMotion
 * @parent <ChargedAnimation>
 * @type boolean
 * @default true
 * @desc When DynamicMotion is used, wait for the return before executing the charged animation.
 * 
 * @-----------------------------------------------------------
 * 
 * @param <GaugeLayout>
 * 
 * @param ShowGaugeNumber
 * @parent <GaugeLayout>
 * @type boolean
 * @default false
 * @desc The current value is displayed numerically on the gauge.
 * 
 * @param LabelWidth
 * @parent <GaugeLayout>
 * @type number
 * @desc The width of the label to be displayed.
 * Set to 0 if not needed.
 * 
 * @param GaugeWidth
 * @parent <GaugeLayout>
 * @type number
 * @desc Width of the gauge. The default value is 128.
 * Note that LabelWidth is subtracted from this value.
 * 
 * @param GaugeHeight
 * @parent <GaugeLayout>
 * @type number
 * @desc Height of the gauge. The default value is 12.
 * 
 * @param GaugeInterval
 * @parent <GaugeLayout>
 * @type number
 * @default 16
 * @desc The spacing between gauges.
 * 
 * @param GaugeFlash
 * @parent <GaugeLayout>
 * @type boolean
 * @default true
 * @desc Flash the full gauge.
 * 
 * @-----------------------------------------------------------
 * 
 * @param ShowMenu
 * @parent <GaugeLayout>
 * @type boolean
 * @default true
 * @desc Displays a special gauge on the menu screen.
 * 
 * @param MenuStartGaugeX
 * @parent ShowMenu
 * @type number @max 9999 @min -9999
 * @default 0
 * @desc X coord at which the gauge is displayed in the menu.
 * Specify the coordinates relative to the actor name.
 * 
 * @param MenuStartGaugeY
 * @parent ShowMenu
 * @type number @max 9999 @min -9999
 * @default 96
 * @desc Y coord at which the gauge is displayed in the menu.
 * Specify the coordinates relative to the actor name.
 * 
 * @-----------------------------------------------------------
 * 
 * @param ShowSkillStatus
 * @parent <GaugeLayout>
 * @type boolean
 * @default true
 * @desc Displays a special gauge on the skill screen.
 * 
 * @-----------------------------------------------------------
 * 
 * @param ShowStatus
 * @parent <GaugeLayout>
 * @type boolean
 * @default true
 * @desc Displays a special gauge on the status screen.
 * 
 * @param StatusStartGaugeX
 * @parent ShowStatus
 * @type number @max 9999 @min -9999
 * @default 0
 * @desc X coord at which the gauge is displayed in the status.
 * Specify the coordinates relative to the level.
 * 
 * @param StatusStartGaugeY
 * @parent ShowStatus
 * @type number @max 9999 @min -9999
 * @default 144
 * @desc Y coord at which the gauge is displayed in the status.
 * Specify the coordinates relative to the level.
 * 
 * @-----------------------------------------------------------
 * 
 * @param ShowBattle
 * @parent <GaugeLayout>
 * @type boolean
 * @default true
 * @desc Displays a special gauge on the battle screen.
 * 
 * @param BattleStartGaugeX
 * @parent ShowBattle
 * @type number @max 9999 @min -9999
 * @default 0
 * @desc X coord at which the gauge is displayed in the battle.
 * Specify the coordinates relative to the actor name.
 * 
 * @param BattleStartGaugeY
 * @parent ShowBattle
 * @type number @max 9999 @min -9999
 * @default 96
 * @desc Y coord at which the gauge is displayed in the battle.
 * Specify the coordinates relative to the actor name.
 * 
 * @param BattleAdjustNameY
 * @parent ShowBattle
 * @type number @max 9999 @min -9999
 * @default -24
 * @desc Adjust the Y coordinate of Name to TP during battle.
 * 
 * @param BattleNameHpInterval
 * @parent ShowBattle
 * @type number
 * @default 0
 * @desc During battle, the interval between name and HP is widened by a numerical value.

スポンサードリンク

-MZ plugins

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