I want the power of magic to be (noticeably) different based on how "good" the user is with magic. Meaning, if you choose to invest stat points in magic, all your spells will become more powerful.
Obviously, with damage spells, this is easy to do because of damage formulas. What is harder and I'm trying to think about are the non-damaging spells. Some examples:
Barrier - gives a state that reduces damage for 3 turns.
Poison Mist - chance to inflict poison on all enemies.
Quickness - Increases Agi for 5 turns.
Many games deal with this issue by simply having the player learn stronger spells, like Barrier2, Venomous Fog, etc., that are just stronger versions of the other spell. I don't want to do this. Of course, the player will get access to more potent spells as the game goes on, but I want a way to actually increase the power of every spell through a statistic or variable that represents "magic power."
Looking for some ideas on how to do this...Thank you in advance.
making magic scale according to the user
● ARCHIVED · READ-ONLY
-
-
For the Barrier spell, make a common event that checks the magic stat of the character, then apply different rates of damage reduction, depending on his magic stat.
Or you could always make multiple versions of the same spell, but each new one growing in effectiveness. Then at certain levels, replace the old skill with the new version. -
Well Shaz has a dynamic feature script, I'm pretty sure you can use that in conjunction with say, a skills condition script(Yanfly made one, so perhaps check that out.I want the power of magic to be (noticeably) different based on how "good" the user is with magic. Meaning, if you choose to invest stat points in magic, all your spells will become more powerful.
Obviously, with damage spells, this is easy to do because of damage formulas. What is harder and I'm trying to think about are the non-damaging spells. Some examples:
Barrier - gives a state that reduces damage for 3 turns.
Poison Mist - chance to inflict poison on all enemies.
Quickness - Increases Agi for 5 turns.
Many games deal with this issue by simply having the player learn stronger spells, like Barrier2, Venomous Fog, etc., that are just stronger versions of the other spell. I don't want to do this. Of course, the player will get access to more potent spells as the game goes on, but I want a way to actually increase the power of every spell through a statistic or variable that represents "magic power."
Looking for some ideas on how to do this...Thank you in advance.
Between these two types of scripts, you should beable to control such.
for non-state based spells, you could just use a common event, and condition branches to handle such. -
I have a Utility Scaling script that does exactly this. Whenever you apply a state using a skill, you can have the "power" of that effect (anything with a Numerical Feature such as health degen, percentage stat buffs, or extra attack times) scale based on a variable or formula or the user's or receiver's stat (in your case, probably the user's MAG).
One warning: while it's a stable script, it does have a lot of incompatibilities with other scripts that affect States. If you're using a lot of other scripts, it might be better to "fake it" with Common Events that check the user's MAG instead.
Outside of that, I have occasionally done other "scale with Magic" effects. For example, a spell that creates temporary snowball items with run a common event that copies the user's MAG into a variable, adds a small random number, and then based on the result will give you anywhere from 1 to 6 snowballs. A Purifying spell will check the user's MAG and cure only some statuses if it's low, more statuses if it's high, and all statuses if it's very high. Or a special state which has its functionality entirely coded will add the user's MAG to their ATK whenever they use a Normal Attack.