A downloadable RPG Maker Plugin

Download NowName your own price

If you like my work, consider supporting me on Patreon!

Introduction

Balancing your game battles can be a difficult challenge! it is a fact that RPG Maker MV already makes some resources available in the class database. Although you have some ways to change the way your status increases when you level up, you still don't have full control.
Well, with this plugin, you will be able to choose how you want each of your normal parameters to increase at each level, in each class!

Features

• Add a status curve for each standard parameter, fully customizable and independent of the editor.
• You can use fixed values.
• You can use random values.
• You can use values within a minimum and maximum range.
• You can use formulas.
• Works for enemies, if you are using EliMZ_EnemyClass.js
• Works with custom parameters, if you are using EliMZ_CustomParameters.js
• Growth chance value, which allows you to control when a parameter will increase or not on level up. Similar to the Fire Emblem series.
• Decide if an actor will always join in the party with initial stats, regarding its level.

How to use

• First set up the Minimum Stats parameter. This is the minimum value for all classes at level zero. You can leave it the way it is, but you can also change.

• Now build your custom parameter curves in the Preset Curve parameters. You notice 5 other parameters in there:

• Name - The name of the curve to be referenced in the Data note field.
• Growth Chance - The chance rate for the parameter increase when leveling up.
• Initial - The initial value of level 1 for this class.
• Min - The minimum amount the actor can earn when leveling up.
• Max - The maximum amount an actor can earn when leveling up.
• Cap - The maximum value that a parameter can reach in this class.
• Bonus - Used on the Class Promotion Plugin.


• You can use formulas in all tags.
• You can use the "this" keyword to refer to the actor.
• You can use '\v[id]' to get the value of a variable.
• If you want a fixed value, use the same value for MIN and MAX.


You can build as many as you want.

• Now you only need to use the class notes field.
<CustomCurve:Name>


If you do not set a custom curve to a class note field, it will take the first one in the plugin parameters as default.

• By default, if an actor joins the party at a level higher than 1, the plugin will calculate the level-ups automatically.
But you can also prevent this from happening, and let the actor join in the party always with initial stats, independent of the level.
Just use the note tag on the Actor note field:
<HoldCurve: Level>

It will hold the initial curve until reaching the specified level.


 ***ATTENTION! All notes are case sensitive!***

If you want to take more control over how can you exceed the cap(limit) value of a param, take a look at the extension plugin(ELIMZ_CapParameterControl.js has an MV version too!)

Script calls:

• $gameActors.actor(ID).paramsHistory(classId) - Returns an array with the value of each parameter at each actor's level.

• $gameActors.actor(ID).cparamsHistory(classId) - Returns an array with the value of each parameter at each actor's level.

• $gameActors.actor(ID).lastParamsGain() - Returns an array with the last values received by the actor when leveling up. Use "CParam" for custom parameters.

• $gameActors.actor(ID).lastCParamsGain() - The same as above, but forcustom parameters.

• $gameActors.actor(ID).paramBase(paramId) - Returns the current value of the informed parameter.

• $gameActors.actor(ID).cparamBase(paramId) - Returns the current value of the informed custom parameter.

For the script calls below, the arguments can be understood like that:

• paramId - Replace with a param id.
• isCustom - Set to true, if you want to check for custom parameters. (default is false)
• classId - The class id to check (default is the current class)

• $gameActors.actor(ID).initialParamCurve(paramId, isCustom, classId) - Returns the initial value of the given parameter. 

• $gameActors.actor(ID).minParamCurve(paramId, isCustom, classId) - Returns the minimum value of the given parameter curve.

• $gameActors.actor(ID).maxParamCurve(paramId, isCustom, classId) - Returns the maximum value of the given parameter curve.

• $gameActors.actor(ID).capParamCurve(paramId, isCustom, classId) - Returns the maximum value that a class parameter can have.

• $gameActors.actor(ID).paramGrowthChance(paramId, isCustom, classId) - Return the growth chance for this parameter.

Update Log

Terms of use 5.0.0 and higher

Terms of use(Old)


StatusReleased
CategoryAssets
Rating
Rated 5.0 out of 5 stars
(1)
AuthorHakuen Studio
Made withRPG Maker
TagsClasses, eli, eliaquim, hakuenstudio, javascript, RPG Maker, rpgmakermv, rpgmakerplugin
Average sessionA few seconds
LanguagesEnglish

Download

Download NowName your own price

Click download now to get access to the following files:

MZ - Class Curves 5.0.1 7 kB
MV - Class Curves 5.0.1 7 kB
MZ - Class Curves 4.1.0 9 kB
MV - Class Curves 2.0.0 8 kB

Development log

View all posts

Comments

Log in with itch.io to leave a comment.

(1 edit)

Suggestion for this plug-in: allow NEGATIVE numbers for level growth returns.  I noticed that stat growth is only positive on level ups - negative numbers seem to do nothing.

(+1)

I will try to take a look at this. It seems simple to implement. But just for curiosity: Why do you want to put negative numbers?

The plugin has a lot of ways to prevent the character from gaining points when leveling up. The growth chance, or with the formulas inside the Min and Max parameters.

(+1)

I always like more functionality than less. But, I have always had in the back of my mind an RPG where you are overpowered to start, and for magic reasons, as you level up, you get weaker and weaker. Behemoths at the beginning of the game, and you're struggling against Imps at the end. :P

(+1)

Holy smokes this cleaned up my event coding so, so, so nice!  I actually danced when my character's level 25 averages matched my theoretical math!

THIS PLUG-IN IS WORTH GOLD!!

(+1)

hahaha!!! Thank you for the comment!

Also, I'm very happy that this really helps you! Really!! :D

I got this error message when i leveled up. I didnt change any of the Plugin parameters.

I got another error when opening the Menu, I think this might have incompatibility issues with VisuStella Plugins. 

Hi!
As I can see on the error log, it doesn't seem to be an incompatibility issue with visustella. But I will update this plugin today, maybe you can try the new version.

Deleted 1 year ago

Its working now, Thanks for fixing it so quickly. I will post my thoughts once I've used the plugin enough. 

Glad it is working! Thanks ^^

(+1)

Awesome plugin! Totally recommend! Great to use with their Custom Params as well!

Thank you!! Glad you liked it! ^^

Hello! Thanks a lot for the awesome plugin! :D

There's two things I would like to ask.
My first question is: Is this plugin compatible with VisuStella's Core Engine plugin? There's a function in VisuStella's plugin that lets us change the level cap of actors with notetags. In other words, with VS's plugin, actors can reach level 100 and above.

My second question is: With your plugin, would it be possible to add a level range to the stats that an actor gain? For exemple, if I want my actors to gain... let's say, 50 HP each time they level up from level 1 to lvl 25 then starting from level 51 to level 95, they gain between 10 and 25 HP and finally, from level 96 to level 255, my actors would gain 5 HP. Would it be possible to do that with your plugin? If it is, could you please help me out? Thanks a bunch!


Hi! Thanks for enjoying the plugin! ^^

I don't know if it will be compatible or not, I think you have to take a test. But you said that this other plugin changes the max level cap, right? My plugin really doesn’t mess with that, so it should be fine(at least by my side)!

And for your second question, yes it is possible! Because you can use formulas to determine how much a parameter will raise. So you can put inside the formula an if statement to check the current level of the actor. If it is less than 51, then raise something. Otherwise, raise something else.

If(this._level <= 51){ 50}else{Math.randomInt(15) + 10}

But hold on, that plugin is getting a lot of improvements. Hopefully, it will be released this week ^^

Thanks for the quick reply!

I see. Thanks for letting me know! If it works on your side, then it should work on mine too but like you suggested, I'll test it. If everything works well with VisuStella's plugin, I'll write it here.

Your formula is gonna be a huge help. I had a hunch that it would be doable with formulas but sadly, I really sock at making them. Haha

When you say "that plugin", did you mean yours? If you did, then I'll be looking forward to the update. I hope you'll be able to release it this week too! ✦.✦

Thanks a LOT for all your hard work and please, keep it up! Have a good day. :)

Yes, when I say "that plugin" I was talking about mine xD

Thank you! Have a good day too ^^

Hello!
Sorry for bothering you again. I finally had a chance to try your plugin, but I encountered an error. :(
Every time an actor levels up, this message appears:

TypeError
Cannot Read property 'Replace' of undefined

and this is the message that appears on the console:

(+1)

Hi there!

Hold on because I have not updated it yet. ^^'' When I do I let you know. :)

Hi friend!

Any luck with the updated version?