TAA_EnemyLevels (v1.2.0)

taaspider

Veteran
Veteran
Joined
Jan 27, 2017
Messages
132
Reaction score
157
First Language
Portuguese
Primarily Uses
RMMV
TAA_EnemyLevels - v1.2.0
Created by taaspider

Terms of Use
Any plugins developed by taaspider are free for use for both commercial and noncommercial RPG Maker games, unless specified otherwise. Just remember to credit "taaspider".

Redistribution of parts or the whole of taaspider plugins is forbidden (which also includes reposting), unless it comes from the official website (linked within the post). You are allowed to edit and change the plugin code for your own use, but you're definitely not allowed to sell or reuse any part of the code as your own. Although not required to use my plugins, a free copy of your game would be nice!

Introduction

This plugin goal is to provide enemies their own leveling system. It allows enemy levels to change as the party level increases, customize levels on specific maps, create a base level that affects leveling throughout the whole game (so you can create an item, for example, that increases difficulty by increasing all enemy levels), and change enemy names and sprites according to their level.

The plugin also provides experience and gold modifiers that can customize even further how enemy levels affect your game progress.

Main Features
  • Add levels to enemies and define how their stats will change with their levels;
  • Provide multiple options on how to feed your game with enemy level data. You can use note tags, the Plugin Manager or even an external JSON file;
  • Control enemy levels with three alternatives: (1) set enemy level range with map note tags; (2) use variables to control enemy level range; (3) or use a dynamic leveling system that always stays close to your party level;
  • Use a variable value as a modifier to increase your game difficulty by increasing all enemy levels;
  • Use experience and gold modifiers to change how their values are calculated after the battle;
  • Setup skills that can increase or decrease enemy levels;
  • Change enemy names and sprites as their level increases;
Screenshots


How to Use

WARNING: This plugin requires RPG Maker MV 1.5.0 or above! Please make sure your RPG Maker MV software is up to date before using this plugin. If you're an MZ owner, you don't need any specific version.

First of, download the plugin here. You can also test the plugin using my sample demo project. It was built with MV, but you can open it with MZ as well (just open the game.rmmzproject file and you're good to go).

One important thing to note is that I can't be sure the experience distribution modifier will be 100% compatible to any aftermath scene plugin. If for some reason it isn't and you don't want to disable it you may need to contact the aftermath scene plugin developer.

Level Priority

Enemy levels are set using three different layers, where only one is actually applied at enemy initialization. Those three are:
1st - Map specific levels​
Use map note tags to specify enemy levels in that map. This affects both random encounters and event triggered battles;​
2nd - Level from variables​
If there is no map level rule present for a given enemy, the plugin will check the level range variables. If configured and their value is greater than zero, a random level between the lower and upper range variables will be set;​
3rd - Level from dynamic rule​
Within the plugins parameters you can select a dynamic level rule, which is applied if none of the other layers are present. There are three possible rules so far:​
1) Party lowest level​
The plugin will generate a random level (given the negative and positive range values) centered around the battle member with the lowest level. For example, if the lowest level among party battle members is 5 and both positive and negative range is set as 2, the enemy level can be any number between 3 and 7;​
2) Party average level​
The random level is generated using the battle members average level as a starting point;​
3) Party highest level​
The random level is generated using the battle member with the highest level as a starting point;​

Manual Lower Level
Select a variable to use when setting a lower range value for enemy levels. If both this variable and Manual Upper Level are set, a random value between the values from both variables is generated and used as the enemy level (only if there is no map specific levels defined).​

Manual Upper Level
Select a variable to use when setting a upper range value for enemy levels. If both this variable and Manual Lower Level are set, a random value between the values from both variables is generated and used as the enemy level (only if there is no map specific levels defined).​

Level Modifier
Select a variable to use as a base level modifier. This value is added to any calculated enemy level, from any layer. This way you can increase/decrease the game difficulty by adjusting enemy levels globally.​

Parameter formulas can be defined for each enemy using three different methods: an external JSON file, using Plugin Parameters, and through enemy note tags. You can use both a JSON file and Plugin Parameters at the same time, so you need to choose one through the parameter "SourceType".

Note tags an be used regardless of which one of the two you choose, and has a higher priority than both. That means if an enemy have its formulas set in a JSON file, for example, but also have note tags, the note tags will overwrite whatever is loaded from the file.

If none of the three methods are specified, the default formulas set through plugin parameters are used.

OBS.: The JSON file can be shared with other plugins from the TAA library, so you can concentrate all enemy config data in one place.

File
- This should point to a JSON file containing your enemy level data. The file must be place inside your game's data folder. The JSON file must have a structure similar to this:
[​
{​
"id": <enemy ID>,​
"class": <class ID>,​
"mhp": "max HP formula",​
"mmp": "max MP formula",​
"atk": "attack formula",​
"def": "defense formula",​
"mat": "magic attack formula",​
"mdf": "magic defense formula",​
"agi": "agility formula",​
"luk": "luck formula",​
"exp": "experience formula",​
"gold": "gold formula",​
"showLevel": true|false,​
"preserveStats": true|false,​
"resist": <resistance percentage>,​
"traits": [​
"<trait clause>",​
...​
]​
},​
{​
...​
},​
...​
]​

You can customize the object's tags as you wish using the next parameters.

IMPORTANT:
- <enemy ID> must be a valid enemy ID in the database, and must be unique in your JSON file. More than one entry for the same id can (and will) generate errors.
- <resistance percentage> should be a value between 0 and 100. 0 means the enemy has no chance of avoiding a level change skill, whereas a value of 100 means it will always resist a level change. Any value between indicates how likely it is to resist the change.
- <class ID> is an optional parameter. If present, enemy stats will be based on the specified class stats, including experience, which will be based on the class experience curve. However, experience can be customized setting the "exp" formula. Gold must still have its own formula (even if it is the default one), and parameters cannot be customized outside of the class when it is set. Also, when using class based parameters the enemy will inherit class traits, although enemy specific traits will take precedence. If you wish to use formulas instead of class based parameters, simply omit the class object, or set it to 0.
- "traits" is another optional array included on version 1.2.0. You can include one or more <trait clauses> in the array as described in the Traits section below.

Setting up enemy level data through Plugin Parameters is pretty straightforward, just make sure there is only one entry for each enemy ID.

As of version 1.2.0 or higher, there's a new parameter called "Class". When it is set to a valid class ID, all enemy stats will be based on the class parameter curves, including experience, which will be based on the class experience curve. However, experience can be customized setting the "exp" formula. Gold must still have its own formula (even if it is the default one), and parameters cannot be customized outside of the class when it is set. Also, when using class based parameters the enemy will inherit class traits, although enemy specific traits will take precedence. If you wish to use formulas instead of class based parameters, simply set the class parameter to 0.

There is also a new parameter called "Traits", which allow custom traits based on enemy level. Read more on this new feature in the following section.

Starting on version 1.2.0, enemies can have new traits based on their level (for example, having a higher level enemy with a higher critical rate than a low level one).

Configuring level based traits is pretty much the same with Json or Plugin Manager based settings. Each trait clause can be used to set a specific trait, but all clauses start with the minimum level the enemy must have for that trait to take effect:
LEVEL <lvl>: <trait clause>
<lvl> identifies when that trait clause starts to be considered. That is, it will only take effect when the enemy level is greater or equal to <lvl>

Trait clauses are also not stackable. That means that if your enemy have, for example, a trait for 2% evasion by default, and you add a trait clause for 4% at level 3, all enemies units with level greater or equal to 3 will have its original trait replaced by the new one. That is the new evasion stats becomes 4% and not 6%. That also ensures you don't need (and shouldn't) repeat all traits for all levels. Just set what must change and at what level and you're good to go.

See a full explanation for all available trait clauses below.

Elemental rate
LEVEL <lvl>: ELEMENT RATE <element Id> <rate>​
Adds an element rate to the enemy. <element Id> represents the element being set, and rate is a percentage to apply (with 0 being its minimum value, but with no upper threshold).​
Adding a second element rate won't overwrite the first when they have different elements. But if you include a new trait clause for the same element at another level, then the first one will get overwritten.​

LEVEL <lvl>: DEBUFF RATE <stat> <rate>​
Adds a debuff rate to the enemy. <stat> represents which stat to debuff:​
MHP for Max HP​
MMP for Max MP​
ATK for Attack​
DEF for Defense​
MAT for Magical Attack​
MDF for Magical Defense​
AGI for Agility​
LUK for Luck​
Rate is also a percentage (with 0 being its minimum value and no upper threshold). Adding a second debuff rate won't overwrite the first if the stat is different. But it does when you set the same stat debuff a second time.​

LEVEL <lvl>: STATE RATE <state Id> <rate>​
Adds a state rate to the enemy. <state Id> must be a valid state ID, while rate is a percentage and works the same way as with the other clauses. Adding a second state rate won't overwrite the first if it is a different state, only if it's the same.​

LEVEL <lvl>: STATE RESIST <state Id>​
Adds a state immunity to the enemy, identified by <state Id>. State resistances can only be added as the level grows, never taken out.​

LEVEL <lvl>: EX PARAM <param> <value>​
This clause allows you to change the following Ex-Parameters, identified by <param>:​
HIT for Hit Rate​
EVA for Evation Rate​
CRI for Critical Rate​
CEV for Critical Evasion Rate​
MEV for Magic Evasion Rate​
MRF for Magic Reflection Rate​
CNT for Counter Attack Rate​
HRG for HP Regeneration Rate​
MRG for MP Regeneration Rate​
TRG for TP Regeneration Rate​
<value> is a percentage value added to the enemy base stats (the same way it works when setting it through the editor). Adding a second param setting won't overwrite the first if a different param is set, only if it's the same param.​

LEVEL <lvl>: SP PARAM <param> <rate>​
This clause allows you to change the following Sp-Parameters, identified by <param>:​
TRG for Target Rate​
GRD for Guard Effect Rate​
REC for Recovery Effect Rate​
PHA for Pharmacology Rate​
MCR for MP Cost Rate​
TCR for TP Cost Rate​
PDR for Physical Damage Rate​
MDR for Magical Damage Rate​
Rate is also a percentage (with 0 being its minimum value and no upper threshold). Adding a second param setting won't overwrite the first if a different param is set, only if it's the same param.​

LEVEL <lvl>: ATK ELEMENT <element Id>​
Adds an element identified by <element Id> to the enemy's attacks. Attack elements can only be added as the level grows, never taken out.​

LEVEL <lvl>: ATK STATE <state Id> <rate>​
Adds a state rate to the enemy's attacks. <state Id> identifies which state to apply, and <rate> works as with the other clauses. Adding a second state rate won't overwrite the first if it is a different state, only if it's the same.​

LEVEL <lvl>: ATK SPEED <speed>​
Changes the attack speed setting for the enemy. Adding a second clause will always overwrite the first.​

LEVEL <lvl>: ATK TIMES <number>​
Changes how many additional attacks the enemy will have per turn. Adding a second clause will always overwrite the first.​

WARNING: Trait clauses must be ordered by level to work properly. Unordered clauses may not work as intended.

You're pretty much free to build your own formula as you like. The following variables can be used to enrich them:
level = is replaced by the enemy current level​
base = is replaced by the parameter base value (the one configured in the editor)​
v[n] = is replaced by the variable of number n value​
s[n] = is replaced by the switch of number n value (true or false)​

Show Enemy Level
This defines if an enemy level must be shown at the battle windows alongside its name, or not.​

Enemy Name Display
This can be used to customize how the enemy name is displayed when Show Enemy Level is enabled. There are three special escape codes available:​
%1 is replaced by the enemy name​
%2 is replaced by the enemy level​
%3 is replaced by the enemy letter (when present)​

Preserve Stats
This defines if Max HP and Max MP must be preserved after a level change is forced by a skill. If enabled, the original values for these two parameters are kept, but all others are updated. If disabled, they will both be updated alongside the others. This is a default setting, which can be customized for each enemy.​

Resist Level Change
This defines a default level of resistance, which is applied to all enemies that don't have their specific resistance set.​

Experience Distribution Modifier
This modifier affects how experience is distributed to party members at the end of a battle. Its possible settings are:​
None​
Don't apply any modifiers, keep the engine's default.​
Divide by Alive Members​
The experience earned is divided to all members still alive at the end of a battle. For example, if 400 exp has been earned and there are four alive actors in a party, each will receive 100. KOed members don't receive any experience.​
Divide by All Members​
The experience earned is divided to all members, regardless of him being alive at the end of the battle or not.​
Same to Alive Members​
The total amount of experience earned at the end of a battle is given to all alive members. For example, if 400 exp has been earned and there are four alive actors in a party, each will receive 400.​
Same to All Members​
The total amount of experience earned at the end of a battle is given to all battle members.​

Experience Value Modifier
This affects the experience earned at the end of a battle. Its possible settings are:​
None​
Don't apply any modifiers.​
Proportional to Mob Size​
Modify the total amount of experience earned according to the mob size. The plugin engine will add an extra amount of experience for each enemy defeated (defined by the Mob Size Effect parameter).​
Proportional to Average Levels​
Modify the total amount of experience earned considering how troop and party average levels relate to each other. If troop average level is lower than the party average level, the amount of experience is reduced by the same rate (troop level / party level), and if troop average level is greater than party level the amount of experience is increased by the same rate.​
Proportional to Lowest Levels​
Modify the total amount of experience earned proportionally to both troop and party lowest levels. The higher the difference between levels, the greater the impact in the final value.​
Proportional to Highest Levels​
Modify the total amount of experience earned proportionally to both troop and party highest levels. The higher the difference between levels, the greater the impact in the final value.​
Proportional to Exact Levels​
Experience earned is calculated individually for each actor, and the modifier is applied to each enemy defeated. For example, if an actor of level 10 defeated three enemies with levels 5, 10 and 15, the experience gained from the first is diminished, for having a lower level than the actor, the second has no change and the third is increased for having a higher level. This behaves differently according to the distribution modifier selected. A "Same to" modifier will distribute an average exp value to all battle members, while a "Divide by" modifier will assigned each actor its specific experience gains.​

Gold Modifier
This affects the gold earned at the end of a battle. Its possible settings are:​
None​
Don't apply any modifiers.​
Proportional to Mob Size​
Modify the total amount of gold earned according to the mob size. The plugin engine will add an extra amount of gold for each enemy defeated (defined by the Mob Size Effect parameter).​
Proportional to Average Levels​
Modify the total amount of gold earned considering how troop and party average levels relate to each other. If troop average level is lower than the party average level, the amount of gold is reduced by the same rate (troop level / party level), and if troop average level is greater than party level the amount of gold is increased by the same rate.​
Proportional to Lowest Levels​
Modify the total amount of gold earned proportionally to both troop and party lowest levels. The higher the difference between levels, the greater the impact in the final value.​
Proportional to Highest Levels​
Modify the total amount of gold earned proportionally to both troop and party highest levels. The higher the difference between levels, the greater the impact in the final value.​

Map note tags can be added to give enemies specific level ranges for each map. Multiple notes can be added for the same enemy with different conditions, but the first met condition is applied. So be sure to configure conditions to be mutually exclusive and order them from most to less restrictive.

A map note tag has the following format:
<TAA_EL: enemyId RANGE: lowerLevel - upperLevel>​
<TAA_EL: enemyId RANGE: lowerLevel - upperLevel CONDITION: evalCondition >​

enemyId must be replaced by the enemy ID, while lowerLevel and upperLevel represents the level range the enemy can have. Whenever a battle is triggered with this enemy, a random level value between lowerLevel and upperLevel is generated.

The condition clause is optional. If not present, the level range is always used. The following data can be used inside the eval code:
v[n] = is replaced by the value from the variable of number n​
s[n] = is replaced by the value (true or false) from the switch of number n​
a[n].level = is replaced by the party member of index n level​
a[n].states = is replaced by an array of states applied to the party member of index n​
p.states = is replaced by a list with all states applied to all party members​
p.avg = is the party battle members average level​
p.max = is the party battle members highest level​
p.min = is the party battle members lowest level​
Keep in mind that the condition must always return a true or false value.

Here are a few examples:
<TAA_EL: 1 RANGE: 3 - 8>​
This tag forces enemy ID 1 to always have a level between 3 and 8.​

<TAA_EL: 2 RANGE 10 - 10 CONDITION: p.avg <= v[8] >​
This tag forces enemy ID 2 to level 10 whenever the party battle members average level is less or equal to the value stored at the variable number 8.​

<TAA_EL: 5 RANGE 1 - 5 CONDITION: s[2] === false >​
<TAA_EL: 5 RANGE 15 - 20 CONDITION: s[2] === true >​
This sequence of tags forces enemy ID 5 to a level between 1 and 5 if the switch of number 2 is off, or between 15 and 20 if it is on.​

<TAA_EL: 3 RANGE 3 - 9 CONDITION: p.states.contains(5) >​
This forces enemy ID 3 to a level between 3 and 9 if there's any party member currently affected by state ID 5.​

Enemy param formulas can also be set using note tags. You can use a full tag for each formula:
<TAA_EL: param = formula>​
where param can be any of the following:
CLASS = Class ID​
MHP = Max HP​
MMP = Max MP​
ATK = Attack​
DEF = Defense​
MAT = Magical Attack​
MDF = Magical Defense​
AGI = Agility​
LUK = Luck​
EXP = Experience​
GOLD = Gold​

You can also simplify a list of tags for the same enemy as follows:
<TAA_EL>​
param1 = formula1​
param2 = formula2​
...​
</TAA_EL>​

Class settings works the same as with JSON or Plugin Manager settings. If it is set and is a valid class, the enemy parameters will be based on the class parameter curves. Gold and experience can still have their own formulas when basing parameters in a class, but not the enemy stats.

When setting class base parameters through note tags, the default experience formula gets ignored. That means that unless you specify another formula also using note tags, enemy experience will be calculated using the class experience curve.

Other tags can be used to customize if the level must be shown for the enemy, if stats are preserved, and even battler image changes according to level:
<TAA_EL: ShowLevel = true|false>​
Set true to show level, or false to hide it.​

<TAA_EL: PreserveState = true|false>​
Set true to force Max HP and MP to remain the same after a level change, or false to let it get updated alongside the other parameters.​

<TAA_EL: Battler = level,fileName,hue>​
This allows you to set an alternative battler image file or hue according to level. You can omit the fileName or hue, but at least one of them must be present (level is mandatory). Just keep in mind that fileName is case sensitive, and the file location depends on your game using front or side view battle. For front view, file must be in img/enemies, while for side view file must be in img/sv_enemies.​
Here's a few examples:​
<TAA_EL: Battler = 2,,155>​
In this example we are omitting the fileName (thus the plugin will keep the original), and only changing hue when the enemy is level 2 or higher​
<TAA_EL: Battler = 5,MightyBat,>​
Here we're changing the battler image to MightyBat at level 5 or higher, but we're not altering the battler hue.​
<TAA_EL: Battler = 100,Vampire,100>​
And here both image and hue are altered when the enemy is level 100 or higher.​

<TAA_EL: Resist = n >​
This allows you to change the resist level change attribute for the enemy. It must be a value between 0 and 100, being 0 totally vulnerable to change, and 100 totally resistant.​

Skill note tags can be used to create level changing skills (which are only applied to enemies). It`s a simple tag:
<TAA_EL: op levels>​
op is either + (to gain levels), - (to lose them), * (to multiply it) or / to divide levels is the number of levels to gain or lose

One important thing to note is that the effect of the skill changes according to the enemy target resistance to level change. If resistance is 0, the skill takes full effect and all levels are gained/lost. Likewise, a resistance of 100 nullify all level change effects.

A resistance between 0 and 100 will trigger a random validation for each level to gain or lose. Take this tag as an example:
<TAA_EL: +5>​
If an enemy target has a resistance of 50, the skill has 50% chance of applying 5 level changes. That means the skill can apply an increase of 0 to 5 levels. If resistance is 0, 5 levels are gained.

This resistance, however, works differently when using multiply or divide levels. In this case, resistance can either fail or succeed the level change, but never an intermediate result.

$gameSystem.showEnemyLevel()
Returns true if global config is set to show enemy levels. False if it is set to hide it​

$gameSystem.setShowEnemyLevel(state)
Change show enemy level global config. "state" must be either true or false.​

$gameSystem.enemyLevelPreserveStats()
Returns true if global config is set to preserve enemies Max HP and MP when applying a level change. False if set to don't preserve​

$gameSystem.enemyLevelResistChange()
Returns global config for how likely the enemy is to resist a level change. It's a number between 0 and 100, being 100 totally resistant.​

$gameSystem.enemyLevelRule()
Returns active dynamic level rule.​

$gameSystem.setEnemyLevelRule(rule)
Change dynamic enemy level rule. "rule" must take one of the following values:​
0: Party Average Level​
1: Party Lowest Level​
2: Party Highest Level​

$gameSystem.enemyLevelNegativeFluctuation()
Returns the lower level range used with the dynamic level rule.​

$gameSystem.setNegativeRange(value, action)
Change lower level range used with the dynamic level rule. "action" describes how "value" will be applied:​
  • if not present (undefined), or equal to '=' or 'set': Change lower level range to the exact value of 'value' + '+', 'add', 'gain' or 'increase': adds value to the current lower level range value
  • '-', 'remove', 'lose' or 'decrease': subtract value from the current lower level range value
  • '*' or 'multiply': multiply value to the current lower level range value
  • '/' or 'divide': divide current lower level range value by 'value'
$gameSystem.enemyLevelPositiveFluctuation()
Returns the upper level range used with the dynamic level rule.​

$gameSystem.setPositiveRange(value, action)
Change upper level range used with the dynamic level rule. "action" describes how "value" will be applied:​
  • if not present (undefined), or equal to '=' or 'set': Change upper level range to the exact value of 'value'
  • '+', 'add', 'gain' or 'increase': adds value to the current upper level range value
  • '-', 'remove', 'lose' or 'decrease': subtract value from the current upper level range value
  • '*' or 'multiply': multiply value to the current upper level range value
  • '/' or 'divide': divide current upper level range value by 'value'
$gameSistem.changeEnemyLevel(enemy, operation, value)
Must be used inside battle to change an enemy level (if its resistance to change allows). 'enemy' is the the enemy position in the troop, or 'all' to apply to all enemies at the same time. 'value' is the number of levels to change and 'operation' defines how level will be applied:​
  • Use '=' to set the enemy level to exactly 'value'
  • Use '+' to add 'value' to the current enemy level
  • Use '-' to decrease 'value' from the current enemy level
  • Use '*' to multiply current enemy level by 'value'
  • Use '/' to divide current enemy level by 'value'
$gameSystem.resetEnemyLevel(enemy)
Must be used inside battle to reset enemy's to their starting level. 'enemy' must be either the position of an enemy in the troop, or 'all' to reset the whole troop at the same time.​

Show Enemy Levels
Change the Show Level global config to show or hide enemy levels.​

Change Dynamic Level Rule
Change the dynamic level rule.​

Change Level Range
Change either the lower or upper level range to the specified value.​
Change Enemy Level
Must be used inside battle to change an enemy level (if its resistance to change allows).​

  • Having a base value of 0 for experience or gold in the editor can cause them to be zero if the player pushes buttons to fast and don't wait for the modifiers to be properly applied (they do not cause any percitble slowdown to the aftermath sequence). I couldn't quite figure out how to prevent this, but a simple workaround is to make sure that all enemies have the experience and gold editor fields set to something greater than zero, even if the base value is not used in their parameter formulas;

  • Version 1.2.0:
    • Added functions to allow enemy parameters to be based on class settings;
    • Added customized traits based on enemy level;
    • Added note tags to setup enemy parameters by class an level specific traits;
  • Version 1.1.0:
    • Included support functions used by TAA_EnemyReinforcements;
  • Version 1.0.0:
    • Fixed a bug on battler image variations on level change;
    • Fixed a bug on applying intermediary level change resistances;
    • Fixed a bug in the experience distribution modifier that would cause experience to be reduced to zero;
    • Added a parameter that determines how much each mob member will affect gold and experience if the proper modifiers are selected;
    • Fixed a bug in the battle logs when decreasing an enemy level;
    • Added the ability to change the enemy name with its level;
  • Version 0.8.0:
    • A few fixes and changes
    • Beta release
  • Version 0.7.0:
    • Added functions to change enemy level through skills
    • Added Plugin Commands for both MV and MZ
  • Version 0.6.0:
    • Included modifiers to experience and gold earned at the end of the battle
    • Added feature to allow changes on the enemy battler according to its level
    • Added note tags as an alternative to setup enemy formulas
  • Version 0.5.0:
    • Initial version with enemy levels and datasource setup
 
Last edited:

Iavasechui

Veteran
Veteran
Joined
Feb 20, 2018
Messages
30
Reaction score
24
First Language
English
Primarily Uses
RMMV
Is there anyway you could give us the ability to assign a class to the enemies so that they are scaled by their level and the class growths?
 

tyomoki

Warper
Member
Joined
Sep 18, 2020
Messages
4
Reaction score
1
First Language
Chinese
Primarily Uses
RMMZ
You are so awesome!Thank you so much.Because I have custom plug-ins,your plugin is more compatible than the other author.But I used enemy as characters,how is the toggle image executed. Pet phylogeny really must have it.
 

defective42

Villager
Member
Joined
Sep 25, 2020
Messages
11
Reaction score
9
First Language
English
Primarily Uses
RMMZ
Is EnemyLevels working with MZ? I don't see it in your sample demo project, and I get this error message using TAA_EnemyLevels in my own project:
Failed to Load
data /EnemyExtra.json

[using MZ with all other plugins turned off]

thanks in advance
 

taaspider

Veteran
Veteran
Joined
Jan 27, 2017
Messages
132
Reaction score
157
First Language
Portuguese
Primarily Uses
RMMV
Sorry folks, I don't really know why this thread wasn't marked to notify me of comments, so I only saw them now :blink:

Is there anyway you could give us the ability to assign a class to the enemies so that they are scaled by their level and the class growths?
Yes, I can do that. I think it's a nice addition to the plugin!
I'll work on that and let you know when it's ready! ;)

You are so awesome!Thank you so much.Because I have custom plug-ins,your plugin is more compatible than the other author.But I used enemy as characters,how is the toggle image executed. Pet phylogeny really must have it.
I'm not sure I understood what you meant by using enemies as characters, but it is possible that the code used to change enemy sprites based on their levels may not work well with another plugin that change how this works. My plugin basically swaps the files referenced for the enemy battler.
Have you tested it?
If you did and it didn't work, send me a PM with a test project with both plugins and I can take a look and see if I can make them compatible.

Is EnemyLevels working with MZ? I don't see it in your sample demo project, and I get this error message using TAA_EnemyLevels in my own project:
Failed to Load
data /EnemyExtra.json

[using MZ with all other plugins turned off]

thanks in advance
Yes, it works with MZ. I remember to have uploaded a new version of the sample project including the plugin. Anyways, I'm uploading a new version with a new plugin in a few minutes. Just download the sample project again and TAA_EnemyLevels will also be there, promise! ;)

This error is happening because your plugin parameters are set to load enemy level data from an external JSON file (EnemyExtra.json is the default name set in its parameters, it must be located inside the data folder). If you plan on using a external file, make sure your JSON Config parameter is properly configured. But if you meant to set enemy data through the Plugin Manager make sure to change the parameter "DataSource" to "Plugin Manager".
 

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Profile Posts

To composers out there, what are atleast 4 instruments overall I need to have to make my music not feeling empty? I'm here stuck trying to make my own battle music but it kinda sounds... Not intense?
My computer broke yesterday, so no RPG maker for at least a week until I can get it repaired. :(
Just wanted to share how my game won 1st place in a game jam for itch.io. Everyone else used Unreal, Unity, GMS2, Godot, etc but I used RPG Maker 2003 :guffaw: It just shows that you can create a good game and it doesn't matter which engine you use
Working on cutscenes~

if your game is the first (or ONLY) in a series and still has a colon in its title, you are a bad person and I hate you...... jk.

who could ever hate BETWEEN: TWO SOULS?

Forum statistics

Threads
107,405
Messages
1,029,444
Members
139,504
Latest member
lobsterknees
Top