Leveling up stat points amount in directions using Blueprints

Hi there,

I ask anyone who would know how to setup a leveling up system compatible for a turn based jrpg system. I’m trying to construct a way where when leveled up, you gain 3 stat points that will go into either the five stats you have. The 3 points goes into either three, two, or one of the stats. This is related to the Persona 5 leveling up system.

Please can someone guide me into it?

Does the system pick 3, 2, or 1 stat randomly, and then assign the points randomly?

Something like this:

I didn’t really think ahead of explaining my structure. I’ll try to show my original structure I could achieve so far.

I built a structure blueprints holding much of my unit stats MaxHP, MaxSP, Strength, Magic, Endurance, Agility, and Luck.

Then, I had added a float variable named ExpExponent in my Unit Actor Blueprint.

Then, I created a blueprint library that would carry my leveling up functions since it was going to be one of the main functions of my game project.

Adding functions that calculate return based on level and absolute stats.

Also create a list stats through the structure I create so that I could set it up to it’s starting point to the end.
Then there is the return stats, make a class default to connect to get unit stats make in the Unit Actor Blueprints I made.

In my Unit Actor Blueprints, my stats are in integer while having my initial, first, and last level stats to tell the function where and when it will last.

This all together was to make up the Leveling up system. You’d choose the first start to the last.

But now as I questioned earlier, I’m trying to make it in a way instead of telling where it should go, when leveling up, 3 points goes to either of the five stats.

Does that explain my structures? Is there any ideas on how to redesign it in the way as asked while using my blueprint structure and blueprint library?