Do you want your enemies to have levels like actors?
You could use levels as a way to determine their difficulty level compared to the actor’s current level. For example, if your actor is currently level 10 and the enemy is level 20, you might use a red font to draw the enemy’s name to indicate that it is dangerous.
Levels themselves do not mean much on their, for they are just a number. They become more powerful once you use other plugins that make use of them. For example, a plugin that you can use is Enemy Classes, which allows you to assign classes to enemies. Using both plugins, you can now set up parameters curves based on the enemy’s level, as well as the skills they can use based on the level.
Plugin: download here (right-click, save as)
- Enemy Classes – add classes to your enemies
- Enemy Equips – add equips to your enemies
Download ths plugin and place it in the “plugins” folder in your project’s “js” folder. Then open your Plugin Manager (F10), double-click an empty row, and select the HIME_EnemyLevels plugin.
Once it is in your list of plugins, turn the plugin on.
To initialize enemies with a particular level, note-tag enemies with
<enemy level: FORMULA />
For example, you could write numbers
<enemy level: 23 />
Or you could include the game variables, using the formula variable `v`:
<enemy level: 5 + v.value(3) * 4 />
Which means the enemy’s level is equal to 5 plus the value of variable 3 multiplied by 4. This can be used to set up dynamic levels based on things like difficulty.
If you would like to display the enemy’s level in their name, in the plugin manager you can set the “Name Format” which is a formatted string that takes two pieces of info
1. Enemy name
2. Enemy level
So for example, if you write
%1 Level %2
And you encounter a level 5 slime in-game, it will read
Slime Level 5
If you would like to change levels, there are two ways to do it
1. Using plugin commands
For simple level management, you can use the following commands during battle:
set_enemy_level member MEMBER_ID to level LEVEL
Where the MEMBER_ID is the position of the enemy in the troop and the LEVEL is the number of the new level. For example, to change the second enemy in battle to level 10, you can write
set_enemy_level member 2 to level 10
You can also add or substract levels, using this plugin command
add_enemy_level LEVEL levels to member MEMDER_ID
If you specify a negative number, it will subtract the level.
For example, to add 5 levels to the third enemy, you would write
add_enemy_level 5 levels to member 3
To remove 10 levels from that enemy, you would write
add_enemy_level -10 levels to member 3
2. Script calls
If you would like more advanced ways to control enemy levels, you can use script calls directly. Say you wanted to modify the second enemy
Then you can use the following methods
$gameTroop.members().setLevel( NEW_LEVEL ) $gameTroop.members().addLevel( NEW_LEVEL )
Unfortunately when I go to download this plug-in, the link just takes me to the text.
Nothing is able to be downloaded. Is there a way to download this plug in on a Mac?
Update: Got it to download properly. But the plug-in still doesn’t work as advertised. Placed all my data the exact same as in your example just for testing with no effect. Restarted already BTW. Any help?
Hi, I’d like to use your plugin for commercial use, is there any way we could set this up?
Is there a way to set the minimum and maximum level of specific monsters
nevermind, realized conditional statements works in the note tags
can this plugin be used in VX ACE ? or just MV
There is an VXACE version but that’s on under the RGSS3 Scripts page. You’re on the one for MV. General rule of thumb for Himeworks plugins is to check under the plugin library list ie for VXACE go to RGSS3 Scripts or for MV go to MV Plugins.
The List for VXACE scripts are here:
Hi, I think your site might be having browser compatibility issues.
When I look at your blog site in Safari, it looks fine but when opening in Internet Explorer, it has some overlapping.
I just wanted to give you a quick heads up! Other then that, amazing blog!
I have got a problem with this plugin.
I set my enemy’s level based on my party leader’s level like this: $gameParty.leader().level + 5.
It works fine until my leader is higher than 94. It means my enemy level is from 100 and above (more than 99 which is the maximum level by default)
And after that, whenever processing battle, it won’t load and pop up this error: “RangeError Maximum call stack size exceeded”
What can i do with this?
Oh sorry it was my bad. I also used your Parameter Tables plugin and i forgot to add data for enemy’s class above level 99 so the issue happened.
Hey, i have a question ? Can we put a variance in the formula ? I want that the level can vari randomly more or less than the level i set !
I want to say thank you for your work 😉
(Sorry for my english)
Is it fine if I slightly modify the script to raise the enemy max level from 99 to 200?
That would be fine.
Tyvm for the solution the name was different, I do not really get how that could have happened but it works again!
I am using your level and classes plugin but now the level plugin gives a error ‘format’ undefined. Could you pretty please update this plugin?
The plugin works for me. Have you named the plugin file properly? In your plugin parameters, does it show a “Name Format” option?
I would like to make it so an enemy level varies without having to make 2 of the same Monster. Say in one encounter it’s level 2 and then it’s level 3 the nest time. The only way I can do that now is by making two of the same enemy as I said but when using Monster Book that also means I get two entries of the same Monster :/
Anything I can do to add varying levels to one Monster?
This depends on how the monster is encountered, but you can use a game variable to keep track of how many times the monster was encountered, and use that to change the enemy’s level when the battle begins.
It’s fine, I just decided to change the enemy levels at the beginning of battle and adjust stats accordingly, works how I need it too 🙂
i change the lv but the monster hp still the same
Do you mean their current HP is the same, or their max HP? You will need to recover their HP since changing levels doesn’t restore your HP/MP.
I want to change enemy lv out of the battle, its possible?
Enemies do not exist outside of battle by default. Do you have enemies outside of battle?
so i want to make something like this in battle event
$gameTroop.members().setLevel( CURRENT MONSTER LEVEL + VARIABLE )
You can do something like
var e = $gameTroop.members();
e.setLevel(e.level + $gameVariables.value(2));
To add variable 2 to the first enemy’s current level.
can this plugin be made compatible with class parameters table? Because i wanted to give my enemys some class but they keep getting the base mv class stas
A patch has been written. It is available in the enemy classes download section
The parameters and everything seem to all function as expected. But the enemy is not using the skills based on level, but instead relies on ones set on the enemy page. Deleting all moves on the enemy page just makes the enemy do nothing. Am I missing something? Please let me know ASAP!
I’m assuming you are referring to enemy class. Currently I have not implemented logic for disabling actions based on class learnings. I will let you know when it is updated.
I seem to be having a problem getting this plugin to work, I’ve gone so far as to turn off all other plugins, and I can neither get it to call upon the enemy level for damage formulas or get it to show the enemy level in the name. I used in the notebox, I have the plugin on, above all other plugins, and no other plugin is on. Am I missing a core plugin or something?
Sorry, had to restart RPM… I got it now xD
When you add a new plugin, always save your game. This avoids “battle test” issues if you’re using that to test your battle.
Anyway I can use the enemies level in a damage formula through a variable or a script call or something?
I’m trying to replicate FF X-2 damage formula which increases damage based on the users level, but I’m not sure how to do this with enemy attacks.
Yes. Accessing actor and enemy levels are the same in damage formulas.
For example, if you want to increase the attacker’s damage by 250 for each level as a bonus to the attacker’s atk stat, you can say
a.level * 250 + a.atk
How can I make the enemy level equal to the players level with a formula?
How would you create a skill similar to Level 5 Death/Goblin Punch (both skills using the enemy’s level as a means to determine the skill), or does your script not support using enemy levels in the formula?
You can reference the level in your damage formula. For example, to check if the target’s level is a multiple of 5
b.level % 5 === 0 ? “things that should happen” : 0
Goblin Punch won’t work for checking if the target’s level is equal to the users with enemies. What am I doing wrong?
Does it work if it’s the actor using it on enemies?
I’m having issues getting the Enemy Levels and Class plugins to work. My battle formula is:
(((((((2 * a.agi/5+2) * a.atk * 50) / b.def) / 50) +2) * a.luk / 10) * (Math.randomInt(39) + 200)) / 238
and it’s not updating anything when I modify the level of the enemy. It’s also not increasing the def of the enemy when I increase the level. I am using Yanfly’s scripts, and I’ve tried it above and below Yanfly’s Battle Core.
Nevermind D: My brain had the dumbs. I didn’t have Levels enabled for some reason D:
Thanks for the amazing plugin!
lol I’ve had that happen several times as well.
I wonder if you can get the level to display on Yanfly’s Battle Core.
I have updated the plugin to support displaying enemy levels in the enemy’s name.
There is a new plugin parameter, so you will need to double-click on the plugin to get it to show.
See usage section for more info.
Wonder if you can make an add-on to change xp depending on the monster’s lvl tho
If it does’t exist already, I will provide some plugins to set EXP based on some formula of your choice (eg: to include level). Or perhaps use a spreadsheet to manage EXP for each level… Not sure which one you would prefer.
I would prefer the first one but second one would be pretty awesome too
I will explore some solutions for EXP tables.
I was wondering if EXP in relation to enemy levels was still in the works? For example, a level 8 enemy would give no EXP to party members above level 8. I feel like I read somewhere that you had written something similar to this but had not released it yet. Thanks so much for your excellent work, Hime!
a plugin to change Exp table and monster Drop
I love you.