Do Ex-Parameters like "CRI" stack?

SolemnDream

Veteran
Veteran
Joined
Jan 15, 2016
Messages
81
Reaction score
4
First Language
English
Primarily Uses
Hiya. I'm wondering how Ex-Parameters add up. All of my Classes have a natural CRI chance of 6.25%. However, sometimes they use skills that are supposed to have a CRI chance total of 12.5%. So do I set the Skills' CRI chance to 6.25%, and it adds it to the Classes' CRI chance for a total of 12.5%? Or does the Skills' CRI chance replace the Classes' CRI chance altogether and I should set the Skills' CRI to 12.5%?


Thanks!
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
You can test by giving them (for example) 50% CRI features.  But I think that they do stack additively, meaning that it works exactly as you expect: 6.25% + 6.25% = 12.5%.
 
Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
VX Ace doesn't allow setting modifiers to critical chance for individual skills; you'd need a script for that, and it would depend on how the script works.
 

SolemnDream

Veteran
Veteran
Joined
Jan 15, 2016
Messages
81
Reaction score
4
First Language
English
Primarily Uses
VX Ace doesn't allow setting modifiers to critical chance for individual skills; you'd need a script for that, and it would depend on how the script works.


I'm using a Skill that has a 100% chance of activating a State whose sole purpose is to increase CRI. That should work, right?


I hate using scripts for things that don't need scripts. I'm not a scripter and I don't want to force people using this engine I'm making to rely on scripting and modifying scripts all the time. What's even the point of RPG Maker if everything's always scripted?

You can test by giving them (for example) 50% CRI features.  But I think that they do stack additively, meaning that it works exactly as you expect: 6.25% + 6.25% = 12.5%.


Testing by giving the Class CRI +50% and the Skill CRI +50%. They do not stack. It's just +50% total. Or maybe +75% total (50% + 50% of that)-- I have no idea now...

Or the state might just not be working... *tests*

Update: The state doesn't work after all. God, the limitations in this software...
 
Last edited by a moderator:
Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
I'm using a Skill that has a 100% chance of activating a State whose sole purpose is to increase CRI. That should work, right?


If you use the "Add State" effect on an attack skill, that adds the state to the target, not the user.


Even if you were to add the state to the user via the damage formula, it would still calculate the critical before calculating the formula. But after doing a quick search, I've found a way you can use the damage formula to have a skill have a different critical chance without using a script. In your case, using a 12.5% critical chance:

Code:
rand(100) < 12.5 ? b.result.critical = true : b.result.critical = false; [damage formula]
However, if the damage formula is too long to fit in the formula box with the extra bit there, you may need to use a script.
 

SolemnDream

Veteran
Veteran
Joined
Jan 15, 2016
Messages
81
Reaction score
4
First Language
English
Primarily Uses
However, if the damage formula is too long to fit in the formula box with the extra bit there, you may need to use a script.


I think this is the worst thing about VX Ace. The 100-character limit. Is there a script to deal with just THAT? I wanted to try to get by without it first, but I may need it.


What's wrong with it calculating the critical first? I found that I could put add_state before the rest of my formula on another board, too.


Example:


a.add_state(26);a.atk * 5 - b.def * 2




Here's the page it was on: http://www.rpgmakercentral.com/topic/22569-skill-crit-chance/
 
Last edited by a moderator:

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,365
Reaction score
7,674
First Language
German
Primarily Uses
RMMV
@SolemnDream


All parameters stack - but the way how they stack depends on their mathematics, there is no single answer.


If the feature has a plus sign, they stack additive (+50%+50% = +100%). If the feature has a multiplication sign, they stack by multiplying (*150% * 150% = *225%)


This will work unless you're using a script that breaks the engine.


So if you made a state with the feature +50% CRI correctly, then it will work - if it doesn't, you should give us screenshots of both the state and the skill that applies the sate, and we can tell you where you made a mistake.
 
Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
I think this is the worst thing about VX Ace. The 100-character limit. Is there a script to deal with just THAT? I wanted to try to get by without it first, but I may need it.


What's wrong with it calculating the critical first? I found that I could put add_state before the rest of my formula on another board, too.


I've seen scripts that can do that, but I can't remember them off the top of my head.


Even if you add a state that increases CRI in the damage formula, whether or not the attack is a critical is calculated before the damage formula itself is ever considered. Using your example, it would determine whether the hit is a critical hit or not off of the base 6.25% CRI, then add the state that increases CRI to 12.5%, then calculate "a.atk*5 - b.def*2". Using "b.result.critical" in the damage formula overwrites whatever result the initial calculation comes to.
 

SolemnDream

Veteran
Veteran
Joined
Jan 15, 2016
Messages
81
Reaction score
4
First Language
English
Primarily Uses
I've seen scripts that can do that, but I can't remember them off the top of my head.


Even if you add a state that increases CRI in the damage formula, whether or not the attack is a critical is calculated before the damage formula itself is ever considered. Using your example, it would determine whether the hit is a critical hit or not off of the base 6.25% CRI, then add the state that increases CRI to 12.5%, then calculate "a.atk*5 - b.def*2". Using "b.result.critical" in the damage formula overwrites whatever result the initial calculation comes to.


Alright, well... I've seen people go around this using the damage formula, but the 100-character limit is making it impossible. Care to help me find a solution to that? Or should I just "close" topic?
 

Andar

Veteran
Veteran
Joined
Mar 5, 2013
Messages
31,365
Reaction score
7,674
First Language
German
Primarily Uses
RMMV
there are several ways around the limit of the damage formula.


However, which one to use best depends on what you want to have in the formula...


Sometimes all you need is to mathematically reorder the formula - a lot of people write formulae into the box in the same way they would write them in a schoolbook, and that is sometimes wasting space/letters, especially with brackets that are not needed if you reorder the formulae a bit.


Another space-consuming mistake is to write full code when there are shortcuts available, for example $game_variables[x] instead of V[x].


And for the cases where you really need complex codes, you can turn the code into a scriptlet for the script editor that enables you to call the entire function in the script engine by a short function name in the damage formula.


The last one requires a bit more knowledge in coding, but is easy to request as a script.
 

SolemnDream

Veteran
Veteran
Joined
Jan 15, 2016
Messages
81
Reaction score
4
First Language
English
Primarily Uses
there are several ways around the limit of the damage formula.


However, which one to use best depends on what you want to have in the formula...


Sometimes all you need is to mathematically reorder the formula - a lot of people write formulae into the box in the same way they would write them in a schoolbook, and that is sometimes wasting space/letters, especially with brackets that are not needed if you reorder the formulae a bit.


Another space-consuming mistake is to write full code when there are shortcuts available, for example $game_variables[x] instead of V[x].


And for the cases where you really need complex codes, you can turn the code into a scriptlet for the script editor that enables you to call the entire function in the script engine by a short function name in the damage formula.


The last one requires a bit more knowledge in coding, but is easy to request as a script.


Alright, I'm trying to forego using a script altogether if possible. What can variables and common events do? Could I do it through that?


Update: I broke the damage formula limit some time without a script and I thought I would post my solution here:


In the damage formula box is this:

Code:
eval $data_skills[skill ID].note[/damage_formula:(.*?)(?:\n\s*$|\Z)/im, 1]
And in the notebox, somewhere, is this:

Code:
damage_formula:
blah blah blah;
blah blah blah;
bleh

not part of the formula bleh


That does the trick!
 
Last edited by a moderator:

Users Who Are Viewing This Thread (Users: 0, Guests: 1)

Latest Threads

Latest Posts

Latest Profile Posts

Couple hours of work. Might use in my game as a secret find or something. Not sure. Fancy though no? :D
Holy stink, where have I been? Well, I started my temporary job this week. So less time to spend on game design... :(
Cartoonier cloud cover that better fits the art style, as well as (slightly) improved blending/fading... fading clouds when there are larger patterns is still somewhat abrupt for some reason.
Do you Find Tilesetting or Looking for Tilesets/Plugins more fun? Personally I like making my tileset for my Game (Cretaceous Park TM) xD
How many parameters is 'too many'??

Forum statistics

Threads
105,862
Messages
1,017,049
Members
137,569
Latest member
Shtelsky
Top