Aggro Control System VisuStella MZ
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.
Download | ||
SystemThis is a plugin created for RPG Maker MZ. | ||
Click here for help on how to install plugins and an explanation on the Tier Hierarchy System. |
Click here to learn how to update plugins. |
Click here for how to troubleshoot plugins if you get an error. |
VisuStella MZThis plugin is a part of the VisuStella MZ Plugin Library. Click here if you want to help support VisuStella on Patreon. IntroductionA common mechanic found in many RPG's nowadays is the ability to steer the way enemies target party members. This can be in the form of provocations, taunts, and aggro. Provocations come in the form of states, where when a unit applies a provoke state on a target, the target must attack the provoker when using single target skills. This plugin provides support for multiple provocations and such provocations will be given focus based on the state's priority value. Taunts are a third way to steer an opponent to focus on a party member. The taunt effects can be split up into global, physical, magical, or certain hit only taunts and these can be applied to almost any trait object. Aggro is a numeric value that determines the likelihood and/or priority level of how often a target party member is to be attacked by an enemy unit. The higher the aggro value, the more likely the chances of being targeted. A option can be turned on (or through notetags) to set enemies to always target the party member with the highest aggro. Features include all (but not limited to) the following:
RequirementsThis plugin is made for RPG Maker MZ. This will not work in other iterations of RPG Maker.
This plugin is a Tier 2 plugin. Place it under other plugins of lower tier value on your Plugin Manager list (ie: 0, 1, 2, 3, 4, 5). This is to ensure that your plugins will have the best compatibility with the rest of the VisuStella MZ Plugin library.
Extra FeaturesThere are some extra features found if other VisuStella MZ plugins are found present in the Plugin Manager list. --- Provoke Priority Lines and Taunt animations become available if these plugins are installed. --- How Aggro, Provoke, and Taunts WorkThis section will explain how aggro, provoke, and taunts work. --- ProvokeProvocations come in the form of states, where when a unit applies a provoke state on a target, the target must attack the provoker when using single target skills. This plugin provides support for multiple provocations and such provocations will be given focus based on the state's database priority value. The provoke will last only as long as the duration of the state itself. If the state's duration is refreshed by reapplying the Provoke state, then the provoker of that state will then switch over to the one applying the newly added state. When an actor selects a target for an action and the actor is provoked by an enemy on the other team, the player's choice selection becomes limited to only the provoker. Provoke can be bypassed through the <Bypass Provoke> notetag. --- TauntsTaunts are a third way to steer an opponent to focus on a party member. The taunt effects can be split up into global, physical, magical, or certain hit only taunts and these can be applied to almost any trait object. When an actor selects a target and the enemy team has a taunting unit, the player's choice selection becomes limited to only the targets with the associated taunt type. Taunts can be bypassed through the <Bypass Taunt> notetag. --- AggroAggro is a numeric value that determines the likelihood and/or priority level of how often a target party member is to be attacked by an enemy unit. The higher the aggro value, the more likely the chances of being targeted. A option can be turned on (or through notetags) to set enemies to always target the party member with the highest aggro. Skills and items can raise its user's aggro value through notetags and/or how much damage they've dealt or healed. Skills and items can also change a target's aggro value through notetags, too. Through the Plugin Parameters, you can set Aggro to automatically raised based on how much damage or healing dealt by a user. - Some enemies can be bypass forced aggro target through the <Bypass Aggro> notetag while other enemies can be forced to target the highest aggro target through the <Target Highest Aggro> notetag; --- PrioritiesPriority will be given in the order of provokes, taunts, and then aggro. This means if an enemy is provoked, the opposing side has a taunt, and there is a member with high aggro, then the enemy will always attack the provoker first before targeting a taunting unit before targeting the unit with high aggro values. --- Notetags
RPG Maker MZ's editor is unable to allow for custom traits/properties that a game dev may wish to associate with a database object, event, map, etc. Notetags are used to work around such limitations by allowing the game dev to tag certain traits/properties using specific Notetags declared by the related plugin. Here is a list of Notetag(s) that you may use.
Provoke-Related NotetagsThe following notetags enable you to utilize the Provoke effects added by this plugin. Provoked targets can only attack the provoking unit for single target actions. --- <Provoke> - Used for: State Notetags - Causes the state affected unit to be able to only attack the caster of the provoke state for single target actions. - If multiple provoke states are applied, then the provoker is the one who applied the highest priority provoke state. - States with <Provoke> on them will automatically remove themselves if the provoker dies. Update made by Arisu. --- <Provoke Height Origin: x%> - Used for: Actor, Enemy Notetags - Sets the provoke height origin point to x% of the sprite's height. - This is the landing point for the provoke trails. - Replace 'x' with a number presenting what rate of the sprite's height to set as the provoke height origin point. --- <Bypass Provoke> - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags - Makes the affected unit to ignore any and all provoke effects applied by any provoke states, allowing them to target foes as if they are unaffected by provoke states altogether. --- <Bypass Provoke> - Used for: Skill and Item Notetags - Makes the action bypass provoke effects applied by any provoke states, allowing this action to target foes as if the user is unaffected by any provoke effects altogether. --- Taunt-Related Notetags--- <Taunt> <All Taunt> - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags - Causes the taunting unit to become the target of the opposing team's single target actions for physical, magical, and certain hit actions. - If multiple taunters exist, then the opposing team can select between any of the taunters for targets. --- <Physical Taunt> <Magical Taunt> <Certain Taunt> - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags - Causes the taunting unit to become the target of the opposing team's single target actions for physical, magical, and certain hit actions respectively. - Add/remove any combination of the above to cause the affected unit to become the target of those types of actions. - If multiple taunters exist, then the opposing team can select between any of the taunters for targets. --- <Bypass Taunt> - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags - The affected unit will ignore any and all taunt effects created by the opposing team, allowing them to use single target actions as if no taunters exist on the opposing team. --- <Bypass Taunt> - Used for: Skill and Item Notetags - Makes the action bypass taunt effects created by the opposing team, allowing the user to use single target actions as if no taunters exist on the opposing team. --- Aggro-Related Notetags--- <User Aggro: +x> <User Aggro: -x> - Used for: Skill, Item - Upon using this action, raise the user's battle aggro value by 'x'. - Replace 'x' with the amount of battle aggro to increase/decrease by. - This effect will only apply once per usage regardless of the number of successful hits landed by the action. --- <Target Aggro: +x> <Target Aggro: -x> - Used for: Skill, Item - Upon using this action, raise the target's battle aggro value by 'x'. - Replace 'x' with the amount of battle aggro to increase/decrease by. - This effect will apply multiple times based on the number of successful hits landed by the action. --- <Aggro: +x> <Aggro: -x> - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags - Causes the affected unit to passively have increased/decreased aggro values independent of the amount of aggro it earns in battle. - Replace 'x' with the amount of aggro this object increases/decreases by. --- <Aggro Multiplier: x%> - Used for: Actor, Class, Weapon, Armor, Enemy, State Notetags - Causes the affected unit to increase the amount of perceived aggro it has by the aggro multiplier. - Replace 'x' with a number representing the percentage to increase/decrease the perceived aggro by. - If multiple of these traits exist across different trait objects, the effects are increased multiplicatively. --- <Bypass Highest Aggro> - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags - If used on skills or items, the action will decide targets by aggro weight instead of always picking the highest aggro unit(s). - If used on trait objects, the affected unit will decide targets by aggro weight instead of always picking the highest aggro unit(s). - This is used for enemy A.I. or Actor auto battle A.I. --- <Bypass Highest Aggro> - Used for: Skill and Item Notetags - Makes the action bypass highest aggro effects and instead focuses on targets by aggro weight instead. - This is used for enemy A.I. or Actor auto battle A.I. --- <Target Highest Aggro> - Used for: Actor, Class, Skill, Item, Weapon, Armor, Enemy, State Notetags - If used on skills or items, the action will always decide its targets by the highest aggro value. - If used on trait objects, the affected unit will always decide on targets by the highest aggro value. - If the <Bypass Highest Aggro> notetag exists, this effect is ignored. - This is used for enemy A.I. or Actor auto battle A.I. --- JavaScript Notetags: Aggro-Related--- <JS User Aggro> code code value = code </JS User Aggro> - Used for: Skill, Item - Replace 'code' with JavaScript code to determine the final 'value' to change the user's battle aggro to upon using this skill. - The 'user' variable represents the one using the skill/item. - The 'target' variable represents the one receiving the skill/item hit. - This effect will only apply once per usage regardless of the number of successful hits landed by the action. --- <JS Target Aggro> code code value = code </JS Target Aggro> - Used for: Skill, Item - Replace 'code' with JavaScript code to determine the final 'value' to change target's battle aggro to upon using this skill. - The 'user' variable represents the one using the skill/item. - The 'target' variable represents the one receiving the skill/item hit. - This effect will apply multiple times based on the number of successful hits landed by the action. --- Plugin CommandsPlugin Commands are event commands that are used to call upon functions added by a plugin that aren't inherently a part of RPG Maker MZ. Here is a list of Plugin Command(s) that you may use: ---
--- Actor Plugin Commands--- Actor: Change Aggro - Changes target actor's aggro value. Actor ID: - Select which Actor ID to affect. Change Aggro By: - Change aggro by this amount. - Use negative numbers to reduce aggro. --- Actor: Set Aggro - Set target actor's aggro value. Actor ID: - Select which Actor ID to affect. Set Aggro To: - Sets target's aggro to this amount. - Aggro must be at least a value of 1. --- Enemy Plugin Commands--- Enemy: Change Aggro - Changes target enemy's aggro value. Enemy Index: - Select which Enemy Index to affect. Change Aggro By: - Change aggro by this amount. - Use negative numbers to reduce aggro. --- Enemy: Set Aggro - Set target enemy's aggro value. Enemy Index: - Select which Enemy Index to affect. Set Aggro To: - Sets target's aggro to this amount. - Aggro must be at least a value of 1. --- Plugin ParametersProvoke SettingsThe Provoke Settings Plugin Parameters adjust the visual aspects related to the provoke effect. These settings will require VisuMZ_1_BattleCore to be installed in order for them to work due to dependencies. --- VisuMZ_1_BattleCore Show Priority Lines?: - Show priority target lines for this plugin? - Requires VisuMZ_1_BattleCore. --- Line Settings Arc Height: - How tall should the line arc in pixels? Blend Mode: - The blend mode used for the sprite. Height Origin: - The rate from the battler's sprite base to determine where the line starts from. Line Color: - Use #rrggbb for custom colors or regular numbers for text colors from the Window Skin. Opacity: - The highest possible opacity for active provoke lines. Opacity Speed: - The speed at which opacity fluctuates for the line sprite. Parts: - The number of joint parts to split up the sprite as. Parts Size: - The number in pixels for the diameter of each part. --- Options Add Provoke Option? - Add the 'Show Provoke Origin' option to the Options menu? Adjust Window Height - Automatically adjust the options window height? Option Name - Command name of the option. --- Taunt SettingsBattlers with specific taunt types can have animations playing on them over and over to relay information to the player. These settings require you to have both VisuMZ_0_CoreEngine and VisuMZ_1_BattleCore installed in your project's plugin list in order to use. --- VisuMZ_0_CoreEngine & VisuMZ_1_BattleCore Show Animations?: - Show animations for each of the taunt effects? - Requires VisuMZ_0_CoreEngine and VisuMZ_1_BattleCore. --- Animation ID's Physical Taunt: - The animation ID used for physical taunts. - Use 0 or 'None' to bypass this type. Magical Taunt: - The animation ID used for magical taunts. - Use 0 or 'None' to bypass this type. Certain Hit Taunt: - The animation ID used for certain hit taunts. - Use 0 or 'None' to bypass this type. --- Animation Settings Cycle Time: - The amount of frames to wait before each animation cycle. - WARNING: Lower numbers can jeopardize game performance. Mirror Actor Ani?: - Mirror animations played on actors? Mute Animation SFX?: - Mute sounds played by animations? --- Aggro SettingsThis lets you adjust the settings for this plugin's Aggro mechanics. Most of these settings focus on the visual gauge display of the Aggro gauge, but you can also change up the settings for how aggro is utilized. --- General Priority: Highest TGR: - When enemies target actors for an single target attack, always target the highest members or make it weighted? Aggro Per Damage: - The amount of aggro generated per point of HP damage dealt to an enemy. Aggro Per Heal: - The amount of aggro generated per point of HP recovered to an ally. --- Gauge Visible Battler Gauge: - Display an aggro gauge over an SV actor's head to show current aggro level compared to other party members. Visible Status Gauge: - Display an aggro gauge in the Battle Status Window to show the current aggro level compared to others. Gauge Color 1: - Use #rrggbb for custom colors or regular numbers for text colors from the Window Skin. Gauge Color 2: - Use #rrggbb for custom colors or regular numbers for text colors from the Window Skin. Gauge Width: - Width in pixels you want the gauge to be. Anchor X: Anchor Y: - Where do you want the Aggro Gauge sprite's anchor X/Y to be? - Use values between 0 and 1 to be safe. Scale: - How large/small do you want the Aggro Gauge to be scaled? Battler Gauge Offset X: Offset Y: - How many pixels to offset the Aggro Gauge's X/Y by? Battle Status Gauge Offset X: Offset Y: - How many pixels to offset the Aggro Gauge's X/Y by? --- Options Add Provoke Option? - Add the 'Show Aggro Gauge' option to the Options menu? Adjust Window Height - Automatically adjust the options window height? Option Name - Command name of the option. ---
Terms of Use1. These plugins may be used in free or commercial games provided that they have been acquired through legitimate means at VisuStella.com and/or any other official approved VisuStella sources. Exceptions and special circumstances that may prohibit usage will be listed on VisuStella.com. 2. All of the listed coders found in the Credits section of this plugin must be given credit in your games or credited as a collective under the name: "VisuStella". 3. You may edit the source code to suit your needs, so long as you do not claim the source code belongs to you. VisuStella also does not take responsibility for the plugin if any changes have been made to the plugin's code, nor does VisuStella take responsibility for user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow custom JavaScript code. 5. VisuStella is not responsible for problems found in your game due to unintended usage, incompatibility problems with plugins outside of the VisuStella MZ library, plugin versions that aren't up to date, nor responsible for the proper working of compatibility patches made by any third parties. VisuStella is not responsible for errors caused by any user-provided custom code used for custom control effects including advanced JavaScript notetags and/or plugin parameters that allow JavaScript code. 8. Any extensions and/or addendums made to this plugin's Terms of Use can be found on VisuStella.com and must be followed. Terms of Use: Japanese『VisuStella MZ』利用規約 1. これらのプラグインは、VisuStella.comおよび/または公式に承認されたVisuStellaのソースから合法的な手段で入手したものである限り、フリーゲームや商用ゲームに使用することができます。例外的に使用が禁止される場合については、VisuStella.comの記載をご確認ください。 2. 本プラグインの「クレジット」部分に記載されているすべてのコーダーの名前は、ゲーム内にクレジット表記を行うか、もしくは「VisuStella」という名前の下にまとめて表記する必要があります。 3. ソースコードを自分のものだと主張しない限りは、必要に応じて編集することが可能です。ただしプラグインのコードに変更が加えられた場合、VisuStellaはそのプラグインに対して一切の責任を負いません。高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードについても、VisuStellaは一切の責任を負いません。 5. VisuStellaは、意図しない使用方法による問題、VisuStella MZライブラリ以外のプラグインとの非互換性の問題、プラグインのバージョンが最新でないことによる問題、第三者による互換性パッチが適切に動作していないことなどが原因でゲーム内で発生した問題については、一切の責任を負いません。VisuStellaは、高度なJavaScriptのノートタグやJavaScriptコードを許可するプラグインのパラメータを含む、カスタムコントロールエフェクトに使用される、ユーザー提供のカスタムコードに起因するエラーについても、一切の責任を負いません。 8. このプラグインの利用規約の追加項目や補足については、VisuStella.comに掲載されていますので、それを参照し従ってください。 CreditsIf you are using this plugin, credit the following people in your game: Team VisuStella ChangelogVersion 1.15: May 18, 2023
Version 1.14: March 16, 2023
Version 1.13: February 16, 2023
Version 1.12: January 20, 2023
Version 1.11: November 17, 2022
Version 1.10: August 25, 2022
Version 1.09: June 2, 2022
Version 1.08: April 16, 2021
Version 1.07: April 9, 2021
Version 1.06: March 12, 2021
Version 1.05: March 5, 2021
Version 1.04: February 26, 2021
Version 1.03: February 5, 2021
Version 1.02: November 1, 2020
Version 1.01: October 4, 2020
Version 1.00: September 28, 2020
End of File |