Understanding State Rates

UgyBoogie

Veteran
Veteran
Joined
May 19, 2017
Messages
87
Reaction score
121
First Language
german
Primarily Uses
RMMV
Hello :kaohi:
This is probably an easy question for most of you, but I'm having troubles of grasping this topic. It's about State Rates, or rather how they are modified by different things. It's easier for me to understand things with actual examples, so it would be nice if someone could just provide answers to the following cases:

1.
An Actor casts a skill which applies poison.
The skill has a State Rate of 100% for poison.
The targeted enemy has a State Rate of 25% for poison.
Does this mean, the enemy gets poisoned with a probability of 75%? Or 25%?

2.
An Actor casts a skill which applies poison.
The skill has a State Rate of 200% for poison.
The targeted enemy has a State Rate of 25% for poison.
What's the probability now? Is this additive or multiplicative? Is the overall probability 175% and does therefore always apply the state, or is it 25% of 200%, which would result in a 50% chance of applying the state.

3.
An Actor casts a skill which applies poison.
The skill has a State Rate of 25% for poison.
The targeted enemy has a State Rate of 25% for poison.
How does this one work out? The skill by itself has a 25% chance to apply poison. Do the 25% of the enemy cancle out the 25%, so it would be 0% and therefore never apply poison, or will this affect the skill's chance to apply poison and result in a 6.25% chance to apply the state.

4.
An Actor casts a skill which applies poison.
The skill has a State Rate of 25% for poison.
The targeted enemy has a State Rate of 200% for poison.
Would this one mean the enemy is twice as likely to be affected by the state? So the inherent chance of the actor's skill goes from 25% to 50%? Or is it completly different and the state never gets applied?


Somehow this is totally confusing for me. And the more I think about it the weirder it gets. It's probably super simple once you understood it. Maybe I just got it all wrong. Please explain this to me if you can. Feel free to use your own examples if it helps you explaining :kaodes: Thank you!
 

Tai_MT

Veteran
Veteran
Joined
May 1, 2013
Messages
5,476
Reaction score
4,862
First Language
English
Primarily Uses
RMMV
If I remember right, it's always multiplicative. If an enemy is 25% resistant to poison, but you have a skill that has a 100% chance to inflict poison, you multiply 1 by .25 and that's the actual rate at which they will be inflicted by poison.

I think the engine always multiplies these, just like it does increases in stats by percentages. 100% is going to be the "normal rate for infliction" and a 25% rate (which is actually 75% resistance) will run to be a 25% chance to have the state inflicted. If you turn the rate of the state to 0%, they can't be inflicted with the state no matter what.

Shorthand to remember it easily is that whatever the percentage is... that's the percentage chance they will get the state. Lower means more resistance. Higher means less resistance. When you have two percentages together, you multiply them in order to find out the "true rate".
 

Richard H.

Villager
Member
Joined
Jun 8, 2017
Messages
11
Reaction score
3
First Language
English
Primarily Uses
RMMV
As far as I understand it... 1.) Yes, it be 25% chance, 2). Yes, then it would be a 50% chance to poison, 3.) It be 25% of 25%, so it be 6.25% chance to succeed... 4.) Would make the skill 25% likely to succeed, and the enemy 200% likely to avoid it, so this basically means the enemy will avoid it 100% of the time...and likely would at 200% be considered able to ABSORB the poison element to heal itself with the right plug in? Otherwise, at 100% it just resists it...
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,528
Reaction score
14,261
First Language
English
Primarily Uses
RMVXA
Also don't forget that the difference in your LUK and the target's LUK factors in, though by default it is really small (I think it takes almost a 999 LUK difference to double the chance for the state to be applied).

Edit: Not correct for #4. 0,25 * 2 = 0.50, or 50%. So it now has a 50% chance to be applied.
 

Richard H.

Villager
Member
Joined
Jun 8, 2017
Messages
11
Reaction score
3
First Language
English
Primarily Uses
RMMV
Also don't forget that the difference in your LUK and the target's LUK factors in, though by default it is really small (I think it takes almost a 999 LUK difference to double the chance for the state to be applied).

Edit: Not correct for #4. 0,25 * 2 = 0.50, or 50%. So it now has a 50% chance to be applied.
So state rate for enemy is chance of success on that enemy, not chance to avoid?

So statistically #2 and #4 is the same?
 

UgyBoogie

Veteran
Veteran
Joined
May 19, 2017
Messages
87
Reaction score
121
First Language
german
Primarily Uses
RMMV
Thanks for everyones answer so far. It really just gets confusing if you focus too hard. And if you're bad at math. Which I am :kaoeh:
So, if you water it down, it pretty much just gets multiplied. And the result is the chance of applying the state.
And, as @bgillisp mentioned there's also LUK involved. I probably should read up on that one as well.
 

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
579
Reaction score
219
First Language
English
Primarily Uses
RMVXA
As for LUK, the method is located in Game_Battler
Code:
  #--------------------------------------------------------------------------
  # * Get Effect Change Rate by Luck
  #--------------------------------------------------------------------------
  def luk_effect_rate(user)
    [1.0 + (user.luk - luk) * 0.001, 0.0].max
  end
So, if the user's LUK is 50, and the target's LUK is 100, a multiplier of 0.95 (95%) is applied to the state rate.
If the opposite is true, the multiplier becomes 1.05 (105%). A difference of 10 is treated as 1%.
 

UgyBoogie

Veteran
Veteran
Joined
May 19, 2017
Messages
87
Reaction score
121
First Language
german
Primarily Uses
RMMV
@Rinobi That's pretty handy. What would I have to edit right there if I dont want luck to effect the overall outcome?
 

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
579
Reaction score
219
First Language
English
Primarily Uses
RMVXA
Never edit the code directly. Just a reminder to anyone reading this.

It's a multiplier, so changing it to 1 is really all that needs to be done.
Adding this to your script list will overwrite the original method.

For VX Ace
Code:
#==============================================================================
# ** Game_Battler
#------------------------------------------------------------------------------
#  A battler class with methods for sprites and actions added. This class
# is used as a super class of the Game_Actor class and Game_Enemy class.
#==============================================================================

class Game_Battler < Game_BattlerBase
  #--------------------------------------------------------------------------
  # * Get Effect Change Rate by Luck
  #--------------------------------------------------------------------------
  def luk_effect_rate(user)
    return 1.0
  end
end
I haven't started coding for MV yet, but it's likely similar.
 
Last edited:

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,635
Reaction score
5,116
First Language
English
Primarily Uses
RMVXA
#1) 25%
#2) 50%
#3) 6.25%
#4) 50%

State Rates use multiplicative stacking, and they pretty much work the way that you seem to understand them. The difference in LUK also affects the chances very slightly, as @Rinobi pointed out (though I think this only takes affect when you are applying a State to an enemy). So if your luck is 60 higher than your opponent's in situation #4, the actual success rate will be 50% * (100% + (60 / 10)%) = 50% * 106% = 53%.

In general, I recommend to game designers that they avoid using State Rates below 100% on enemies, except for an occasional 0% where it would be gamebreaking to use the state on the boss, or for States that normally connect at 100%+ reliability (meaning that a Failure implies a resistance to that state). This is because the player (usually) has no way to see or precisely figure out the State Rate, so it's unfair to them to, for example, have a Griffin enemy that receives Paralysis two-thirds less often than any other normal enemy. How will the player ever figure out that the State Rate was responsible for their mostly-failed attempts to inflict it, rather than bad RNG rolls?
 

UgyBoogie

Veteran
Veteran
Joined
May 19, 2017
Messages
87
Reaction score
121
First Language
german
Primarily Uses
RMMV
@Wavelength That is a very excellent point you made. Unless you have some sort of information window, to actually get enemy state rates displayed, it would be smarter to just stick with the 100% rate. Everything else would be pretty unclear for the player.
 

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

Latest Threads

Latest Posts

Latest Profile Posts

He mad, but he cute :kaopride:

Our latest feature is an interview with... me?!

People4_2 (Capelet off and on) added!

Just beat the last of us 2 last night and starting jedi: fallen order right now, both use unreal engine & when I say i knew 80% of jedi's buttons right away because they were the same buttons as TLOU2 its ridiculous, even the same narrow hallway crawl and barely-made-it jump they do. Unreal Engine is just big budget RPG Maker the way they make games nearly identical at its core lol.
Can someone recommend some fun story-heavy RPGs to me? Coming up with good gameplay is a nightmare! I was thinking of making some gameplay platforming-based, but that doesn't work well in RPG form*. I also was thinking of removing battles, but that would be too much like OneShot. I don't even know how to make good puzzles!

Forum statistics

Threads
106,035
Messages
1,018,459
Members
137,821
Latest member
Capterson
Top