RMMV Yanfly's Base Parameter Control and messing with HP/MP?

overlordmikey

BroCo. Gaming
Veteran
Joined
Sep 2, 2015
Messages
277
Reaction score
510
First Language
English
Primarily Uses
N/A
I'm using Yanfly's Base Parameters Control and for some reason things are going wrong and I need to understand what because this is a big part of how sweeping love decides certain stats.

Okay let's say a characters base stats are 25 HP and they gain a small portion of their ATK, DEF, and AGI into their HP. I wanted to tell the game that 33% (for testing reasons, not the final number) of each of those stats goes into HP. so if each of those was 3 the player would have 28 HP.

Okay so I tried this:

((atk * 0.33) + (def * 0.33) + (agi * 0.33) + base + plus) * paramRate * buffRate + flat

and this

(atk * 0.33) + (def * 0.33) + (agi * 0.33) + (base + plus) * paramRate * buffRate + flat

and for MP this.

((mat * 0.33) + (mdf * 0.33) + (luk * 0.33) + base + plus) * paramRate * buffRate + flat

and for some reason it makes HP 1 and MP 0.

Shouldn't this logically make it so that the 33% of each of those stats is added into HP and MP along with the base number? I haven't even gotten to the part where I need to use Math.floor() to make it so they round to the lowest interger and I'm already messing up.

Sometimes I worry I'll never understand this stuff. :(

 

ScorchedGround

Blizzards most disappointed fan (More than ever)
Veteran
Joined
Apr 12, 2020
Messages
629
Reaction score
843
First Language
German
Primarily Uses
RMMV
The problem is most likely that just writing "agi", "mat" and "mdf" does not do anything since the engine does not know whose parameter to take, i.e. it's "undefined".

That's why the value becomes 0.

try putting "user." in front of all the parameters. Like this for example:

((user.atk * 0.33) + (user.def * 0.33) + (user.agi * 0.33) + base + plus) * paramRate * buffRate + flat
 

overlordmikey

BroCo. Gaming
Veteran
Joined
Sep 2, 2015
Messages
277
Reaction score
510
First Language
English
Primarily Uses
N/A
The problem is most likely that just writing "agi", "mat" and "mdf" does not do anything since the engine does not know whose parameter to take, i.e. it's "undefined".

That's why the value becomes 0.

try putting "user." in front of all the parameters. Like this for example:

((user.atk * 0.33) + (user.def * 0.33) + (user.agi * 0.33) + base + plus) * paramRate * buffRate + flat
It really is always something obvious.
I tested it and that appears to be it, thank you so much!
 

Latest Threads

Latest Posts

Latest Profile Posts

Still alive! Totally did not finish in time for the Jam (boy that's late) but tl;dr of the last half a year is Work term -> Covid Lockdown -> Sick... again -> Full time Employment. Game stuff has been on hiatus but got a new graphics tablet so hopefully updates again soon. =D
Going on hiatus. Won't be back until mid October.:LZSoops:
Just read the English lyrics for Despacito. Ramen aint innocent no more! :kaodes:
Well today was blown away with nothing to show for it. I made a new character to my game who I was going to have a protection mechanic where he protects my main character randomly unless it's a critical, and no matter what, to check if an attack received will be critical, means checking the apply method. This means rewriting the entire method and I refused to do that.
This was originally made for a "castle" challenge, but we just decided to keep it for our actual game :)

1632415929108.png

Forum statistics

Threads
115,313
Messages
1,088,876
Members
149,961
Latest member
MrSunshine
Top