Difference between revisions of "Enemy Levels VisuStella MZ"
(→Changelog) |
(→Changelog) |
||
Line 204: | Line 204: | ||
== Changelog == | == Changelog == | ||
+ | |||
+ | Version 1.05: June 16, 2022 | ||
+ | * Compatibility Update | ||
+ | ** Plugins should be more compatible with one another. | ||
+ | |||
+ | |||
Version 1.04: January 1, 2021 | Version 1.04: January 1, 2021 |
Revision as of 14:11, 16 June 2022
VisuStella, Caz Wolf, Fallen Angel Olivia, Atelier Irina, and other affiliated content creators.
Contents
- 1 Download
- 2 System
- 3 Required Plugins
- 4 VisuStella MZ
- 5 Introduction
- 6 Requirements
- 7 Major Changes
- 8 Parameter Calculations
- 9 Notetags
- 9.1 Setup Enemy Level Notetags
- 9.2 JavaScript Notetags: Setup Enemy Level
- 9.3 Enemy Appearance-Related Notetags
- 9.4 Map Notetags that Determine Enemy Levels
- 9.5 JavaScript Notetags: Map Notetags that Determine Enemy Levels
- 9.6 Enemy Level Parameter Notetags
- 9.7 Enemy Level Skill Requirement Notetags
- 9.8 Enemy Level Change Notetags
- 9.9 JavaScript Notetags: Enemy Level Change
- 10 Plugin Commands
- 11 Plugin Parameters
- 12 Terms of Use
- 13 Credits
- 14 Changelog
- 15 End of File
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. |
Required PluginsThe following plugins are required in order to use this plugin. Place the following plugins above this plugin located in the Plugin Manager.
VisuStella MZThis plugin is a part of the VisuStella MZ Plugin Library. Click here if you want to help support VisuStella on Patreon. IntroductionEnemies in RPG Maker MZ do not have levels by default, but instead are given static parameters that do not change throughout the game. This plugin adds the functionality to apply levels and level-based parameter changes to all of your enemies, along with control over how their levels are handled. 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. Required Plugin List
This plugin is a Tier 3 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.
Major ChangesThis plugin adds some new hard-coded features to RPG Maker MZ's functions. The following is a list of them. --- enemy.level- A new property, 'level' is defined for Game_Enemy and it used to determine the enemy's current level. This allows you, the game dev, to use a.level or b.level in damage formulas and other calculations. --- Parameter CalculationsTo understand how parameter calculations are made, refer to the formula below for all base parameters, EXP, gold, and drop rate. --- base + (level * base * rate) + (level * flat) Where: - 'base' is the original base value of the parameter found in the database. - 'level' is the previous level of the enemy (minimum: 0). - 'rate' is the rate of growth determined by notetags or Plugin Parameters. - 'flat' is the flat growth value also determined by notetags/parameters. --- 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.
--- Setup Enemy Level NotetagsThese are the notetags that determine an enemy's level upon creation. --- <Show Level> <Hide Level> - Used for: Enemy Notetags - Lets you show or hide an enemy's level from their name. - This will override the Plugin Parameters => General => Show Enemy Level? setting. --- <Level: x> - Used for: Enemy Notetags - Sets the enemy's level to a static level of 'x' whenever it's created. - Replace 'x' with a numeric value representing its level. - This will bypass the default level settings and ignore map levels. - This is affected by the Level Bonus and Level Variance modifiers. --- <Level: x to y> - Used for: Enemy Notetags - Sets the enemy's level to a level between 'x' and 'y' whenever the enemy is created. - Replace 'x' and 'y' with a numeric values representing its level range. - This will bypass the default level settings and ignore map levels. - This is affected by the Level Bonus and Level Variance modifiers. --- <Level Variable: x> - Used for: Enemy Notetags - Sets the enemy's level to a level represented by the value used inside Game Variable x. - Replace 'x' with the ID of the Game Variable to reference its value. - This will bypass the default level settings and ignore map levels. - This is affected by the Level Bonus and Level Variance modifiers. --- <Level: Highest Actor Level> <Level: Highest Party Level> <Level: Average Actor Level> <Level: Average Party Level> <Level: Lowest Actor Level> <Level: Lowest Party Level> - Used for: Enemy Notetags - Sets the base level of this enemy equal to either (respectively: - The highest level of any actor in the player's party. - The highest level of any actor in the battling party. - The average level of any actor in the player's party. - The average level of any actor in the battling party. - The lowest level of any actor in the player's party. - The lowest level of any actor in the battling party. - This will bypass the default level settings and ignore map levels. - This is affected by the Level Bonus and Level Variance modifiers. --- <Level Bonus: +x> <Level Bonus: -x> - Used for: Enemy - This will add/subtrack the base level decided using the above notetags with a specific value. - Replace 'x' with a numeric value on how much to adjust the base level by. --- <Level Variance: x> - Used for: Enemy Notetags - This can allow the level range for the enemy to be anywhere from 'x' less than the base to 'x' more than the base. - Replace 'x' with a numeric value indicating how much level variance there is from the base level. --- <Positive Level Variance: x> <Negative Level Variance: x> - Used for: Enemy Notetags - This specifies the positive and negative level variances applied to the base level, specifying a change anywhere between the negative and positive modifiers to the base level. - Replace 'x' with a numeric value indicating how much level variance there is from the base level (negatively or positively). --- <Minimum Level: x> <Maximum Level: x> - Used for: Enemy Notetags - These notetags determine the absolute lowest and absolute highest level the enemy can be after all other modifiers. - Even if the bonus, variance, and manual level changes are applied, the enemy's level cannot be less than the minimum or larger than the maximum. - Replace 'x' with numeric values representing the limits of the enemy's level ranges. --- JavaScript Notetags: Setup Enemy LevelThe following are notetags made for users with JavaScript knowledge to determine dynamic enemy level setup notetags. --- <JS Level: code> - Used for: Enemy Notetags - Sets the enemy's level to a static level determined by code whenever it's created. - Replace 'code' with JavaScript code to determine the enemy's base level. --- <JS Level Bonus: code> - Used for: Enemy Notetags - This will add/subtrack the base level decided using the above notetags by a value determined by JavaScript code. - Replace 'code' with JavaScript code to determine the level bonus. --- <JS Level Variance: code> - Used for: Enemy Notetags - This can allow the level range for the enemy determined by JavaScript code as variance. - Replace 'code' with JavaScript code to determine the level variance. --- <JS Positive Level Variance: code> <JS Negative Level Variance: code> - Used for: Enemy Notetags - This specifies the positive and negative level variances applied to the base level, specifying a change anywhere between the negative and positive modifiers to the base level. - Replace 'code' with JavaScript code to determine the level variance. --- Enemy Appearance-Related NotetagsThese notetags allow you to adjust how enemies look based on their level. These settings will always start with level 1 being the default appearance while changing appearances once they reach a specific level. --- <Level x Image: filename> - Used for: Enemy Notetags - Once the enemy reaches level 'x' and above, its image will change to whatever 'filename' is used until it reaches the next appearance setting. - Replace 'x' with a number representing the level required to reach. - Replace 'filename' with the filename of the enemy in the img/enemies/ and/or img/sv_enemies folder. - Insert multiples of these notetags to give them different image settings throughout various levels. - If multiple notetags are used, the settings will be arranged from lowest to highest, giving priority to the highest met level. --- <Level Images> x: filename x: filename x: filename </Level Images> - Used for: Enemy Notetags - Once the enemy reaches level 'x' and above, its image will change to whatever 'filename' is used until it reaches the next appearance setting. - Replace 'x' with a number representing the level required to reach. - Replace 'filename' with the filename of the enemy in the img/enemies/ and/or img/sv_enemies folder. - Insert multiple lines of the 'x: filename' portion of the notetag to designate multiple settings. - If multiple settings are used, the settings will be arranged from lowest to highest, giving priority to the highest met level. --- Map Notetags that Determine Enemy LevelsThe following are notetags that are placed inside of a map's notebox to determine the levels of enemies fought on that map. These notetags cannot bypass the <Level: x> notetags but will take priority over the default Plugin Parameter settings. --- <Enemy Level: x> - Used for: Map Notetags - Sets the levels of the map's enemies to a static level of 'x' whenever they're created. - Replace 'x' with a numeric value representing its level. - This will bypass the default level settings but cannot bypass any of the <Level: x> notetags. - This is affected by the Level Bonus and Level Variance modifiers. --- <Enemy Level: x to y> - Used for: Map Notetags - Sets the map's enemy levels to a level between 'x' and 'y' whenever they are created. - Replace 'x' and 'y' with a numeric values representing its level range. - This will bypass the default level settings but cannot bypass any of the <Level: x> notetags. - This is affected by the Level Bonus and Level Variance modifiers. --- <Enemy Level: Highest Actor Level> <Enemy Level: Highest Party Level> <Enemy Level: Average Actor Level> <Enemy Level: Average Party Level> <Enemy Level: Lowest Actor Level> <Enemy Level: Lowest Party Level> - Used for: Map Notetags - Sets the base level of this map's levels equal to either (respectively: - The highest level of any actor in the player's party. - The highest level of any actor in the battling party. - The average level of any actor in the player's party. - The average level of any actor in the battling party. - The lowest level of any actor in the player's party. - The lowest level of any actor in the battling party. - This will bypass the default level settings but cannot bypass any of the <Level: x> notetags. - This is affected by the Level Bonus and Level Variance modifiers. --- JavaScript Notetags: Map Notetags that Determine Enemy LevelsThe following are notetags made for users with JavaScript knowledge to make map-related notetags that determine enemy levels. These notetags cannot bypass the <Level: x> notetags but will take priority over the default Plugin Parameter settings. --- <JS Enemy Level: code> - Used for: Map Notetags - Sets the levels of the map enemies to a static level determined by code whenever it's created. - Replace 'code' with JavaScript code to determine the enemy's base level. --- Enemy Level Parameter NotetagsThe growth rate and flat growth amounts can be determined by default in Plugin Parameters => Parameters Growth. However, if you wish for enemies to have special or unique growth, use the following notetags. --- <Growth Rate Per Level> MaxHP: +x.x MaxMP: +x.x ATK: +x.x DEF: +x.x MAT: +x.x MDF: +x.x AGI: +x.x LUK: +x.x EXP: +x.x Gold: +x.x Drop: +x.x </Growth Rate Per Level> - Used for: Enemy Notetags - Changes the rate of growth per level for the enemy. - Replace 'x.x' with a positive or negative value on how much to raise the parameter by for each level relative to the base value. --- <Growth Flat Per Level> MaxHP: +x.x MaxMP: +x.x ATK: +x.x DEF: +x.x MAT: +x.x MDF: +x.x AGI: +x.x LUK: +x.x EXP: +x.x Gold: +x.x Drop: +x.x </Growth Flat Per Level> - Used for: Enemy Notetags - Changes the flat growth value per level for the enemy. - Replace 'x.x' with a positive or negative value on how much to raise the parameter by for each level as a flat value. --- <Static Level Parameters> - Used for: Enemy Notetags - Insert this notetag if you do not wish for the growth modifiers to affect the enemy and just use the database's parameters as its current parameters no matter the level. --- Enemy Level Skill Requirement Notetags--- <Enemy Skill id Require Level: x> <Enemy Skill name Require Level: x> - Used for: Enemy Notetags - To make actions for enemies require specific levels, use the above notetag to define what level the enemy can use the identified skill at. - Replace 'id' with the ID of the skill to assign a level to. - Replace 'name' with the name of the skill to assign a level to. - Insert multiples of this notetag to assign levels to multiple skills. --- Enemy Level Change NotetagsThese notetags affect mid-battle level changing effects for enemies. --- <Change Enemy Level: +x> <Change Enemy Level: -x> - Used for: Skill, Item Notetags - Changes the enemy's level by 'x' positively or negatively mid-battle. - This will also alter the enemy's parameters. - Replace 'x' with the amount to raise/drop the level by. --- <Reset Enemy Level> - Used for: Skill, Item Notetags - Resets any level changes made to the enemy from the start of battle. --- <Resist Level Change> - Used for: Enemy, State Notetags - Makes the affected enemy resist level changes. --- JavaScript Notetags: Enemy Level ChangeThe following are notetags made for users with JavaScript knowledge to affect mid-battle level changing effects for enemies. --- <JS Change Enemy Level: code> - Used for: Skill, Item Notetags - Changes the enemy's level by a value determined by JavaScript code either positively or negatively mid-battle. - This will also alter the enemy's parameters. - Replace 'code' with JavaScript code to determine the amount to change the enemy's level by. --- 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: --- The following are Plugin Commands that come with this plugin. They can be accessed through the Plugin Command event command. --- Enemy-Related Plugin Commands--- Enemy: Change Level - Change target enemy(ies) level by a value. Enemy Index(es): - Select which enemy(ies) to affect. Level: - Changes level by this value. - You may use JavaScript code. Bypass Resist?: - Bypasses <Resist Level Change> effect? --- Enemy: Reset Level - Reset target enemy(ies) level to its original level. Enemy Index(es): - Select which enemy(ies) to affect. Bypass Resist?: - Bypasses <Resist Level Change> effect? --- Enemy: Set Level - Set target enemy(ies) level to a specific value. Enemy Index(es): - Select which enemy(ies) to affect. Level: - Sets level to this value. - You may use JavaScript code. Bypass Resist?: - Bypasses <Resist Level Change> effect? --- Debug-Related Plugin Commands--- DEBUG: View Level Stats - View the stats of specific enemies for each level. - This will appear in the Debug Console. Enemy Index(es): - Select which enemy(ies) to view. --- Plugin ParametersGeneral SettingsThese are the general settings that pertain to enemy levels, letting you adjust the defaults to how some mechanics work as well as the vocabulary shown for the enemy levels. --- Levels Level Type: - Choose the default level type for all enemies. - Highest Actor Level - Highest Party Level - Average Actor Level - Average Party Level - Lowest Actor Level - Lowest Party Level - Variable x - Static x - Replace 'x' with a number if present. Minimum Level: - Default minimum level for enemies. Maximum Level: - Default maximum level for enemies. Negative Variance: - Default negative level variance. Positive Variance: - Default positive level variance. --- Mechanics Preserve HP/MP Rates?: - If level changing, preserve the enemy's HP/MP rates? --- Vocabulary Show Enemy Level?: - Show enemy levels by default? Use the notetags <Show Level> and <Hide Level> to determine otherwise. Enemy Name Format: - Text format used for enemy names in battle. - %1 - Level, %2 - Enemy's Name --- Parameter Growth SettingsDetermine how much growth for each parameter enemies gain by default. These growth settings can be relative to the enemy's base value or increases at a flat amount each level. The formula for each increase is the following: base + (level * base * rate) + (level * flat) Where: - 'base' is the original base value of the parameter found in the database. - 'level' is the previous level of the enemy (minimum: 0). - 'rate' is the rate of growth determined by notetags or Plugin Parameters. - 'flat' is the flat growth value also determined by notetags/parameters. Build around that formula for the best results. --- MaxHP, MaxMP, ATK, DEF, MAT, MDF, AGI, LUK, EXP, Gold, Drop Rate Growth Rate: - Default rate of growth relative to parameter base value. Flat Growth: - Default flat growth amount based on level. ---
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.05: June 16, 2022
Version 1.04: January 1, 2021
Version 1.03: November 29, 2020
Version 1.02: October 25, 2020
Version 1.01: October 18, 2020
Version 1.00: October 21, 2020
End of File |