Status Effect System Suggestions

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,432
Reaction score
594
Primarily Uses
I want to have 3 main status effects in my game: bleed, stun, and poison.

bleed: you take slightly more damage from physical attacks, and/or you degenerate a small amount of hp each turn. it lasts the remainder of the battle, unless cured.

stun: you take a lot more damage from physical attacks, and/or you cannot move for 2 turns. it lasts for 2 turns, unless cured.

poison: you do slightly less damage with physical attacks, and/or you degenerate a small amount of hp each turn. it lasts the remainder of the battle (?) unless cured.



Now here's the thing...I want the ability to inflict these status effects to vary depending on both the attacker and the target. For example:

I want "stronger" enemies to have a greater chance of inflicting stun, and I want "stronger" heroes to have a greater chance of resisting stun.

I want more agile/piercing enemies to have a greater chance of inflicting bleed, and I want heroes with better armor AND with better evasion to have a greater chance of resisting bleed.


So I'm thinking the simplest/best way to just assign a stun chance, stun rate, bleed chance, bleed rate for each hero and enemy...

I'm trying to decide the chances/rates that would be meaningful, challenging, but also fun and enjoyable.

I also know that small percentages are problematic since it makes the game very RNG-dependent.

(for example I'm thinking it would be bad to have an orc have say a 25% chance of stunning a weak mage type hero but only a 5% vs. an armored knight or an agile ninja...because if that 5% hits, it becomes significant and only due to randomness).

So I guess I'm just not sure the best way to implement these, and would love to hear feedback/ideas. Thanks in advance.
 
Last edited by a moderator:

ArcaneEli

Mage of Thunder
Veteran
Joined
Mar 24, 2012
Messages
205
Reaction score
35
First Language
English
Primarily Uses
I know for my games I want enemies to have a chance to inflict Poison, Silence and Blind and Stun on their normal attacks/skills that count as normal attacks.

So I just simply added a

15% chance to Poison

10% chance to Silence/Blind

5% chance to Stun

on their normal attacks, at it works relatively well. Sometimes you don't get touched. Other times you get 2status ailments inflicted at once, but my people have no Resistances or equips that make them resistant to status effects.

So for you you might wanna raise their Chance of applying a status effect, or very slightly raise their Resistance. Like 3% resistance to Poison.

And Maybe every new dungeon the enemies have like 3% chance MORE to afflict Poison, and if you can buy the armor you gain 2% resistance or stuff like dat.
 
Last edited by a moderator:

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,432
Reaction score
594
Primarily Uses
Thinking about this some more, I wonder if I should not introduce RNG to my project.  Currently there's very little RNG (all hits are 100% and all evasion is 0%, except for some powerful skills that either give a 50% hit or evasion chance). 

I could simply use custom formula to make conditions that need to be satisfied in order for the status effect to be inflicted.   I'm interested in this because like I mentioned in the other post, I want a character with high defense or high agility to be less prone to getting inflicted with bleeding than say a wizard or a priest. 

Maybe script it like "if defense higher than X, or agi is higher than Y -->   don't add the state"  ?    My only concern is that this feels too static; while I want armored or agile chars to be less prone to some states, I would like them to not be completely immune to them.
 

ArcaneEli

Mage of Thunder
Veteran
Joined
Mar 24, 2012
Messages
205
Reaction score
35
First Language
English
Primarily Uses
Make your game more RNG based.

Put like 90-95% hit rate on skills/attacks

Make all enemies have like 5-10%evasion or even like 20% for birds and stuff.
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
The single best idea I've ever heard for tackling a system like this was TheHonorableRyu's posts (starting with post #20) in this topic.  To put it very concisely he has different "levels" of an effect (e.g. low levels of "Sleep" are just drowsiness that reduce stats, whereas extremely high levels will even prevent the character from waking up when damaged), and the level that will be applied is based on the user's and target's LUK stats.

One more idea: if you don't want a boolean "Yes/No" status add system because it feels too feast-or-famine, but don't want to use the RNG, then have "points" toward having a certain status inflicted be based on the user's and target's stats.  So maybe a high attack character against a low agility enemy would inflict 60 points toward Bleeding, whereas a low attack character would only inflict 15 points toward Bleeding on a high agility enemy.  When a character reaches 100 points, the Bleeding state is applied.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,432
Reaction score
594
Primarily Uses
Thanks - I love the points idea.  Will consider these options.  One question, for keeping track of the points and then calling this to add the status effect, I would just use a variable?
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
You could probably assign one variable to each actor slot in the party (1-4) and each enemy slot in the troop (1-8), for each of your three status effects.  With a bit more effort up front, though, you could save a lot of time and effort by creating a new attribute in Game_Battler that tracks the "points" that each character has toward the status.
 

Maliki79

Veteran
Veteran
Joined
Mar 13, 2012
Messages
797
Reaction score
350
First Language
English
Primarily Uses
N/A
Hello all!

I currently use stat points to manage status effect progress.  I use an extra stat script for this.

Currently use N.A.S.T.Y. Extra Stats but there are others.

And, at least the way I do it, is very complicated.

For example, my poison stat:

For poison to be applies to a target that target has to amass 1000 points in poison.

All characters start with 0 at the start of battle.

When an attack that applies poison hits, it increases the stat by a certain amount.

Once it reaches the threshold (1000), the stat is applied by the engine (yes, you'll need to code it in yourself).

I can go into more detail if you like.  Just let me know.

:)
 

Wavelength

MSD Strong
Global Mod
Joined
Jul 22, 2014
Messages
5,624
Reaction score
5,104
First Language
English
Primarily Uses
RMVXA
Hello all!

I currently use stat points to manage status effect progress.  I use an extra stat script for this.

Currently use N.A.S.T.Y. Extra Stats but there are others.

And, at least the way I do it, is very complicated.

For example, my poison stat:

For poison to be applies to a target that target has to amass 1000 points in poison.

All characters start with 0 at the start of battle.

When an attack that applies poison hits, it increases the stat by a certain amount.

Once it reaches the threshold (1000), the stat is applied by the engine (yes, you'll need to code it in yourself).

I can go into more detail if you like.  Just let me know.

:)
Sounds great!  Do you have a game released that uses this?  I'd like to see it, since it sounds like an example of good game design.
 

Maliki79

Veteran
Veteran
Joined
Mar 13, 2012
Messages
797
Reaction score
350
First Language
English
Primarily Uses
N/A
Nothing released, but it's my current project.  Also, the system I use is pretty much invisible to the player, so playing it wouldn't really showcase too much.
 

estriole

Veteran
Veteran
Joined
Jun 27, 2012
Messages
1,309
Reaction score
531
First Language
indonesian
you could combine formula box with rand(yournumberhere) and if else.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,432
Reaction score
594
Primarily Uses
Hey Mailiki, yes I'd love to hear more about how you do this.  That is really interesting - what about a status effect like Blind?   I'm not sure how this would translate.

E.g. if I have a skill called "Blinding Strike"  that has some % chance to blind the enemy. 

You would assign 'Blind' points?  So does this mean it would actually never blind an enemy on the first try?  Or do you assign a different amount of 'blind points' (which inflicts the state) for each enemy? If so that sounds like a lot of work to set an amount for each enemy and each state...Curious to hear more!
 
Last edited by a moderator:

Maliki79

Veteran
Veteran
Joined
Mar 13, 2012
Messages
797
Reaction score
350
First Language
English
Primarily Uses
N/A
It is a lot of work to set up.

The reason why I did it was so that I could make weapons that could inflict different status at different times (via a level-up script).

So, to elaborate, I use an extra stat script to add different point values to battlers.

There are actually 3 stats per status effect:

Statue Points

Statue Attack

Status Defense

Now you can set this up however you want, but I set it so if a weapon has say 5 points of Blind attack, it would add up to 250 points to an enemy's Blind points.

Now that the enemy has Blind points, I used a script call in the damage formula to call in some code which would use to points to create a percentage chance that the status would occur.

(My game's max Status points are 1000,  so it would be a 250/1000 chance this attack would cause the status.)

Also note that these points are not (completely) reset after the attack, so subsequent Blind attacks can increase the chance of inflicting Blind even more.

And finally come the defense points, they reduce the battler's Status points by certain amount. (They naturally lower in battle, but the defense point speed up this process.)

The max my game has for the points is 20 and if a battler has that max, they cannot be afflicted with the stat.

Also, if the the points are reduced to 0, the stat is cured.  This is so if a status is inflicted by an attack  with low Stat points, it will be a shorter duration.

You'll have to have some scripting know-how to do this, but if done well, it should make for really exciting battles.

So yeah, I used a good bit of scripts as well as some coding of my own, so I can't point to any one or two script to get, but I'll do my best to help you if you want to use this system.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,432
Reaction score
594
Primarily Uses
Ah, very interesting and innovative! So if I am understanding it correctly, even when a player "misses" the status effect chance, he has still accomplished something towards the goal of that status effect...so the luck of RNG is less punishing.  Was that your primary basis/motivation for such a system, or was it something else?
 

Maliki79

Veteran
Veteran
Joined
Mar 13, 2012
Messages
797
Reaction score
350
First Language
English
Primarily Uses
N/A
No.  The original reason I did it is because I have a weapon system that allows weapons to level up in a variety of ways.

Some of those ways was to inflict status on enemies per hit. (As an aside, I made it able to do so with all "weapon" skills.)

I then decided I wanted different levels of ability within that framework (to motivate players to keep leveling up that stat.)

In order to make a level 5 Blinding weapon more enticing than a level 1 one, I added the increased inflict chance. 

And to clarify, a skill has to hit to increase the status chance. 

Also, a weapon has to have a chance to inflict the status or it won't work.

For example, say an enemy has 800/1000 blind points but isn't yet blinded.

An attacker hits the enemy yet that attacker doesn't have any Blind attack on them, the defenders blind points will NOT go up with that attack, nor will there be a chance to use their current points.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,432
Reaction score
594
Primarily Uses
Oh, I see.  I'm also curious then, how you handled informing the player of a weapon's chance for inflicting poison/blind/stun/bleed/ etc.,...did you just put that in the item description?  I know you said most of what happened was invisible to the player, but I'm wondering if you have a nifty equip screen script or something that gave that information.
 

Maliki79

Veteran
Veteran
Joined
Mar 13, 2012
Messages
797
Reaction score
350
First Language
English
Primarily Uses
N/A
While it's admittedly not as informative as I'd like, right now equips add a line in the description when they inflict or defend against status effects.

It doesn't say how powerful the stat is, though. 

I may need to go back and add the info to the equip menu once I get more comfy doing so.

Either that, or find a way to display the increase of stat points once a change occurs.

Like doing a pop-up saying "Blind +400" or something.

That way, it would be apparent that a weapon does more to a status at one level over another which again would encourage leveling those skills up.
 

jonthefox

Veteran
Veteran
Joined
Jan 3, 2015
Messages
1,432
Reaction score
594
Primarily Uses
Gotcha.  Let me know if you figure out a way of adding state info to the equip screen in a clear and simple way, because I could benefit from that too!  And thanks for the ideas.
 

Maliki79

Veteran
Veteran
Joined
Mar 13, 2012
Messages
797
Reaction score
350
First Language
English
Primarily Uses
N/A
No prob and will do!
 

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

Latest Threads

Latest Posts

Latest Profile Posts

How many parameters is 'too many'??
Yay, now back in action Happy Christmas time, coming back!






Back in action to develop the indie game that has been long overdue... Final Fallacy. A game that keeps on giving! The development never ends as the developer thinks to be the smart cookie by coming back and beginning by saying... "Oh bother, this indie game has been long overdue..." How could one resist such? No-one c
So I was playing with filters and this looked interesting...

Versus the normal look...

Kind of gives a very different feel. :LZSexcite:
To whom ever person or persons who re-did the DS/DS+ asset packs for MV (as in, they are all 48x48, and not just x2 the pixel scale) .... THANK-YOU!!!!!!!!! XwwwwX

Forum statistics

Threads
105,849
Messages
1,016,975
Members
137,563
Latest member
cexojow
Top