Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
y3aPbsY.png

Author: Hakuen Studio

Introduction

Do you ever want to give your enemies more complexity? Or even have more control over them?
That is your plugin! With this, you will be able to customize a lot of things!
Can give classes to enemies, level, exp, and equipment!

*It's compatible with Eli_ClassCurves.js

Features

● Enemies can have classes!
● Enemies have levels!
● Enemies have Exp!
● Enemies can equip weapons/armors!

How to use
To assign a class to an enemy you have to use a note tag:

• <ClassId: ID> - Replace ID with the class id you want.

Optionally, you can set the initial level and max level of the enemy:

• <InitialLevel: 1> - If you don't use it, it will be 1 by default.
• <MaxLevel: 99> - if you don't use it, it will be 99 by default.

You can also, optionally, set the initial equipment for the enemy:

• <Equips: Slot:EquipId, Slot:EquipId>

<Equips: 1:13, 3:4> - Slot 1 will be equipped with a weapon/armor of id 13.
- Slot 3 will be equipped with a weapon/armor of id 4.

You just need to separate slot and id with ":" and each of them with a comma (","), in case you want to set more than one piece of equipment to the enemy.
UnnHKMF.png

ATTENTION! All notes are case sensitive!
You can change the class, equipment, and level of the enemies with plugin commands.
F1XnLEG.jpg
You can manage the enemy equipment, level, and Exp just like actors.
I mean, using the same script calls.

To equip a actor with a weapon:

$gameActors.actor(id).changeEquip(slotId, weapon/armor)

$gameActors.actor(1).changeEquip(0, $dataWeapons[13])
OR
$gameParty.members()[0].changeEquip(0, $dataWeapons[13])

So, for the enemies, you can either equip them by default with the note tags, or use the script call to equip them with other pieces of equipment when the battle starts:

$gameTroop.members()[memberIndex].changeEquip(slotId, weapon/armor)
$gameTroop.members()[memberIndex].levelUp()
$gameTroop.members()[memberIndex].levelDown()
$gameTroop.members()[memberIndex].changeLevel(level)

etc...


Update Log
Version 2.0.1 - 11/22/2021
- Fixed a problem that when an enemy starts with a piece of equipment that raises Max HP/MP, this enemy's HP/MP was not following the Max HP/MP value changes.
Version 2.0.0 - 08/18/2021
- Add six plugin commands to change class, level, and equipment for enemies.
- Fixed an issue that the enemy was not starting with full hp/mp when his initial level is equal to 1.
- Need Eli Book 4.0.0 now.
Version 1.1.3 - 05/16/2021
- Fixed a problem that when an enemy has the initial level above 1, their current Hp value was not keeping up with the value of the initial level.
Version 1.1.2 - 05/05/2021
- Fixed a bug with the Eli Custom parameters 1.1.1
Version 1.1.1 - 04/18/2021
- Fixed a bug that the enemy was not getting his initial level when not using Eli Class Curves
Version 1.1.0 - 02/27/2021
- Added a new plugin parameter to control equipping rules for enemies.
- Fixed a bug that messes with the stats when using Eli Class Curves.
Version 1.0.0 - 01/29/2021
- Plugin release!
 
Last edited:

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
Version 1.1.2 - 05/05/2021
- Fixed a bug with the Eli Custom parameters 1.1.1
 

BloodletterQ

Chaotic Neutral Assassin
Veteran
Joined
Aug 15, 2012
Messages
1,540
Reaction score
1,190
First Language
English
Primarily Uses
N/A
So I discovered that the enemies' HP isn't fully recovered upon the start of battle. I've been able to work around it by setting the enemy HP (in the enemy database and not the class) at a high number...
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
So I discovered that the enemies' HP isn't fully recovered upon the start of battle. I've been able to work around it by setting the enemy HP (in the enemy database and not the class) at a high number...
Hi there!
Thank you for the report!
The problem is fixed!
Please download the new version ^^

Version 1.1.3 - 05/16/2021
- Fixed a problem that when an enemy has the initial level above 1, their current Hp value was not keeping up with the value of the initial level.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
Version 2.0.0 - 08/18/2021
- Add six plugin commands to change class, level, and equipment for enemies.
- Fixed an issue that the enemy was not starting with full hp/mp when his initial level is equal to 1.
- Need Eli Book 4.0.0 now.
F1XnLEG.jpg
 

gambitben

Veteran
Veteran
Joined
Jun 8, 2013
Messages
171
Reaction score
137
First Language
Spanish English
Primarily Uses
RMMV
Hey, amazing plugin!

I'm currently using it right now, I just have one suggestion/petition :p
When giving the enemies equipment, would it be possible to give them more than one of the same type of equipment? Something like this:

<Equips: 3:3, 3:4>

It would go so well with other scripts that allow more than one slot of the same type. Anyways, great plugin, your whole library is excellent.

PS: Almost forgot! If the equipment gives Hp they start with that much Hp missing. I don't know if this is intentional or not (might be my fault, bad mix of plugins), it's no problem, just wanted to know, I'm curious about it XD.

PSS: Ok, I'm a bit dumb, didn't realize I could just make them ignore the rules and put <Equips: 2:3, 3:4> and that that would make them equip both, even if one doesn't belong in that slot. :rswt Welp, SUPER amazing plugin :kaopride: still curious about the Hp thing tho lol
 
Last edited:

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
@gambitben Hi there!
Thanks for the compliments!! :kaoluv:

By the way, thanks for the report! I manage to fix the issue. Please download the new version :)

Version 2.0.1 - 11/22/2021
- Fixed a problem that when an enemy starts with a piece of equipment that raises Max HP/MP, this enemy's HP/MP was not following the Max HP/MP value changes.
 

gambitben

Veteran
Veteran
Joined
Jun 8, 2013
Messages
171
Reaction score
137
First Language
Spanish English
Primarily Uses
RMMV
Wow, you work fast! Thank you for the new version :kaoluv:

I tried it for MV and I got his error, which might be due to it conflicting with other plugins, tho 1.1.3 worked well for me. Hope the pic helps!

1637661213471.png
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
Wow, you work fast! Thank you for the new version :kaoluv:

I tried it for MV and I got his error, which might be due to it conflicting with other plugins, tho 1.1.3 worked well for me. Hope the pic helps!

View attachment 207450
Hi!
Sorry about that, it is already fixed!
Please download the new version for MV (1.1.5)

Version 1.1.5(MV ONLY) - 11/23/2021
- Fixed a typo that was causing a crash.
 

gambitben

Veteran
Veteran
Joined
Jun 8, 2013
Messages
171
Reaction score
137
First Language
Spanish English
Primarily Uses
RMMV
I downloaded and tried it, it doesn't crash now but the Hp from the equipment is still missing when combat starts :rswt I can circumvent it by healing them at start of battle, but I'd be way more convenient if it updated XD
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
I downloaded and tried it, it doesn't crash now but the Hp from the equipment is still missing when combat starts :rswt I can circumvent it by healing them at start of battle, but I'd be way more convenient if it updated XD
Well, that is strange. The plugin work here on my tests just fine. Can you send me a sample project replicating the issue? So I can take a look better.
 

gambitben

Veteran
Veteran
Joined
Jun 8, 2013
Messages
171
Reaction score
137
First Language
Spanish English
Primarily Uses
RMMV
I just tested it, it was my fault sorry :kaocry:

It has a small incompatability with Yanfly's Base Parameter control & class base param. Without those it works just fine. It updates correctly.
 

Aidensmercy

Veteran
Veteran
Joined
Oct 29, 2015
Messages
153
Reaction score
39
First Language
english
Amazing plugin as always! Got everything to work without issue right away.

I am a little confused on the EXP part of it. How does that work? Do the enemies gain EXP as the party does? It seems that if I don't set an initial level higher than 1, they are all at 1. I have a party set at between 5 and 9 and the enemy stays at 1.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
Amazing plugin as always! Got everything to work without issue right away.

I am a little confused on the EXP part of it. How does that work? Do the enemies gain EXP as the party does? It seems that if I don't set an initial level higher than 1, they are all at 1. I have a party set at between 5 and 9 and the enemy stays at 1.
Hi there :)
The Exp part works for the enemies the same as it work for actors. What I mean is, that they are implemented in code, and you can modify enemy exp in battle and make them level up/down as they gain exp.
But you have to manually give them exp. Maybe I will do something in the future to make them gain exp if they defeat an actor.

As for the levels, by default, they all starts with level 1. If you don't set a initial level, they will be set to 1 automatically.
 

Aidensmercy

Veteran
Veteran
Joined
Oct 29, 2015
Messages
153
Reaction score
39
First Language
english
But you have to manually give them exp. Maybe I will do something in the future to make them gain exp if they defeat an actor.
That could be a neat idea!
I was kind of hoping to make things a little more automated by possibly having it find an average level based of the party members. This works though, just hard to figure out what level to set the enemies at, at certain parts of the game.

Otherwise I do have one other suggestion, maybe making it show the enemy level with their name.
I found the enemy levels plugin by Hime, all it does it show a level but doesn't change stats at all, and your plugin works perfectly with it. Would just be nice to have both in one.
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
That could be a neat idea!
I was kind of hoping to make things a little more automated by possibly having it find an average level based of the party members. This works though, just hard to figure out what level to set the enemies at, at certain parts of the game.

Otherwise I do have one other suggestion, maybe making it show the enemy level with their name.
I found the enemy levels plugin by Hime, all it does it show a level but doesn't change stats at all, and your plugin works perfectly with it. Would just be nice to have both in one.
Hi!

About showing the enemy level with their name, where do you want it to be shown? On the default enemy selection window? Oron his sprite?
Can you send me a screenshot and mark where do you want it?

About the average level thing, I believe you could set the below script call in a common event, and set it in the beginning of every battle:

JavaScript:
const partyLevel = $gameParty.members().reduce( (accumulator, member) => member.level + accumulator, 0)
const averageLevel = Math.floor( partyLevel/$gameParty.size() )
$gameTroop.members().forEach(enemy => {
    enemy.changeLevel(averageLevel)
    enemy.recoverAll()
})

See if this will work! :)

[EDIT] A little bit more explanation.

The script is adding up the level of all group members and divides by the number of group members, thus getting an average of the group level.
Then he is changing the level of each enemy according to this average.

If you want to only get the average level of the party by counting only the actors who will be on battle, you can do this instead:

JavaScript:
const partyLevel = $gameParty.battleMembers().reduce( (accumulator, member) => member.level + accumulator, 0)
const averageLevel = Math.floor( partyLevel/$gameParty.battleMembers().length )
$gameTroop.members().forEach(enemy => {
    enemy.changeLevel(averageLevel)
    enemy.recoverAll()
})
 

Aidensmercy

Veteran
Veteran
Joined
Oct 29, 2015
Messages
153
Reaction score
39
First Language
english
Hello again!
That small script call to average levels works perfectly!
That was actually pretty impressive, you replied with these fixes in less than an hour!

Thank you very much for the help!

About showing the enemy level with their name, where do you want it to be shown? On the default enemy selection window? Oron his sprite?
Can you send me a screenshot and mark where do you want it?
Here's a screenshot, I don't have the selection box, but if there is a way to have it like this, that would be great, again, in this screenshot I have Hime's enemy levels plugin on.
screen.jpg
 

Eliaquim

Hakuen Studio
Veteran
Joined
May 22, 2018
Messages
2,348
Reaction score
1,842
First Language
Portuguese - Br
Primarily Uses
RMMZ
Hello again!
That small script call to average levels works perfectly!
That was actually pretty impressive, you replied with these fixes in less than an hour!

Thank you very much for the help!


Here's a screenshot, I don't have the selection box, but if there is a way to have it like this, that would be great, again, in this screenshot I have Hime's enemy levels plugin on.
Thanks for the screenshot! I will see about making an extension plugin that allows that! :)
 

Latest Threads

Latest Profile Posts

Went to the doctor because I was actually sick and it was covered over with healthy people from a factory shift who all had to get negative covid tests to go back to work because one of their shift mates got it. Waited for several hours to find out that my low-grade fever, chills, light-headedness and fatigue were in fact covid...
And here I thought I've lost my music sense. Good exercise once in a while
Made Edits to a Character Art from 'Hibiki Katakura MV Monsters' (DLC), to Look More like One of My Own Characters. :LZScheeze:

Decided to retake an old concept I was working on long ago, first change I decided to tackle on right away is the sprites. Never been fan of the default chibis, so I edited it a bit... :kaoswt:
8YavqRj.png

Not sure if this will be the final take, but I like it more than the regular one.
Need a few testers for my new plugin, any takers?

Forum statistics

Threads
118,531
Messages
1,116,714
Members
155,562
Latest member
DeadWolf
Top