Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
By default, RPG Maker's buff/debuff system allows the player to keep a buff/debuff at full possible strength simply by recasting it at the very end of the duration. This makes buffing/debuffing a matter of routine, just casting it every X turns to retain a +50% or -50% effect to the target's stat(s). As it turns out, there are almost no scripts to alter buff/debuff behaviour, and the one script I could find altering buffs and debuffs does little to change the gameplay of using buffs and debuffs.

 

I'm seeking a script that would have buffs/debuffs slowly erode in strength as turns pass, rather than remaining at a fixed strength for a fixed number of turns. For example, rather than simply 25% for five turns, it would start at perhaps 35%, then fall to 25% on the second turn, then 15%, 5%, and then 0%. This would add a greater degree of strategy to buffing/debuffing—rather than simply needing to cast the spell every X turns to retain its full power, the player would have to decide how often they want to strengthen a buff/debuff in battle.

 

With the interest of making the system something that others could shape as they wish for their projects, here are the main elements this system would require:

  • The user should be able to set the number of buff/debuff levels, and the modifier for each buff/debuff level. By default, RPG Maker has two levels and a modifier of 25%. The system should be able to handle, for example, 10 levels with a 5% modifier (50% total) or 5 levels with an 8% modifier (40% total).
  • Rather than being based on a duration in turns, the buff/debuff level lowers after each turn. It should be able to handle a simple integer (ex: one level at a time—50%, 45%, 40% ...) or a more complex formula (ex: reduce the buff/debuff level by 3/4, rounding down—50%, 35%, 25%, ...) Obviously, when the buff/debuff level hits zero, the buff/debuff ends.
  • If a buff is cast on a debuffed target or vice versa, the result should be the net result of the spells. Example: If someone is at a level-6 Attack buff and suffers a level-4 Attack debuff, then their buff level should be reduced to 2.
 
Last edited by a moderator:

Zephro

Veteran
Veteran
Joined
Mar 5, 2015
Messages
43
Reaction score
13
First Language
English
Primarily Uses
N/A
I'd be interested in a plugin like this.
 

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
186
First Language
Meowish
Primarily Uses
First of all, don't expect everyone plays the same game as you do. So simply bringing up a name of a game is not a good example.

http://forums.rpgmakerweb.com/index.php?/topic/10737-convince-strangers-to-write-scripts-for-you/

And i doubt anyone is going to go through that long "essay" you have written there, as it looks awfully complicated in the first glance and discourage further readings.

If you have a game example, try to show a link to the video in play. And for the "explanation" part, if it's going to be complicated. Use flow charts to make things easier for a script writer that might take interested in the job.
 
Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
So simply bringing up a name of a game is not a good example.
Please don't bother responding with completely-worthless "advice" like this that only serves to demonstrate you couldn't be bothered to read a damn thing I wrote.
 

MeowFace

Meow
Veteran
Joined
Feb 22, 2015
Messages
1,034
Reaction score
186
First Language
Meowish
Primarily Uses
Please don't bother responding with completely-worthless "advice" like this that only serves to demonstrate you couldn't be bothered to read a damn thing I wrote.
Good luck finding yourself a script writer with that attitude. Don't forget script writers are not paid to make script here in the request board, so unless you make things easy, no one is going to be free to "guess" what you want.

Else, you can try the classified board and put up a commission for what you want there.

http://forums.rpgmakerweb.com/index.php?/forum/55-classifieds/
 

bgillisp

Global Moderators
Global Mod
Joined
Jul 2, 2014
Messages
13,956
Reaction score
14,802
First Language
English
Primarily Uses
RMVXA
@Meowface: I personally like the text, viedos don't work for everyone, as I can't watch them over 90% of the time I'm on the forum (due to where I'm at when I check them).

@OP: I think there is a current script out there that can do what you want. I've seen scripts that can add states on removal. So...if you are willing to use states instead of buffs, here's what you do:

1: Add the initial 'buff' as a state, with the feature change parameter by the amount you want (let's use ATK * 125 as an example), give it a duration of 1 turn.

2: When the turn is up, and the state is supposed to be removed, use the script to add a new state, this one has the feature ATK * 120 now, duration 1 turn.

3: Keep that up until you wish the state to be removed.

In fact, Yanfly's lunatic states could do this very thing. Just add a leave effect to each state to add the new (weakened) state in the chain, until the last state.

Edit: Here's Yanfly's lunatic states script edited to do just this: http://pastebin.com/Z5NXEftY

To use, in the first state you want to use, add the following notetag:

<leave effect>
add_state(x)
</leave effect>

where x is the state of the next state you wish to use in the chain.

Edit2: It might work with a buff in the features of the state too, if you really have to use buffs. I dunno though, as I use states all throughout my game, and this edited version of the script is working fine for me so far.
 
Last edited by a moderator:
Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
@OP: I think there is a current script out there that can do what you want. I've seen scripts that can add states on removal. So...if you are willing to use states instead of buffs, here's what you do:

1: Add the initial 'buff' as a state, with the feature change parameter by the amount you want (let's use ATK * 125 as an example), give it a duration of 1 turn.

2: When the turn is up, and the state is supposed to be removed, use the script to add a new state, this one has the feature ATK * 120 now, duration 1 turn.

3: Keep that up until you wish the state to be removed.

In fact, Yanfly's lunatic states could do this very thing. Just add a leave effect to each state to add the new (weakened) state in the chain, until the last state.

Now, if you *have* to have it as buffs, I think you're looking at a total re-write of how ACE handles parameters, just because of how the increase/decrease to a buff is hard-coded in as a feature of the state.
I'm aware of Yanfly's Lunatic States, but that would require creating a massive numbers of states to handle varying levels of buffs/debuffs, which in turn would make any rebalancing and adjusting of the system extremely arduous to do.

I know where VX Ace handles modifications to parameters in Game_BattlerBase and where it handles max buff/debuff levels in Game_Battler. I've seen other scripts that present those values separately so that they're easier to adjust. The crux of it is just coding that says "each turn or X turns, the buff/debuff level goes down by Y" instead of simply working via fixed duration.
 
Last edited by a moderator:
Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
Rewritten to hopefully be more...readable, I guess...
 
Last edited by a moderator:
Joined
Jul 17, 2015
Messages
586
Reaction score
316
First Language
English
Primarily Uses
Bump.

Seriously, there's ONE script that modifies buff behaviour, and it changes almost nothing about how the player will use buffs and debuffs. I'm sure plenty of people will put a script that adds deeper strategy than "cast X every Y turns" to good use.
 
Last edited by a moderator:

Zephro

Veteran
Veteran
Joined
Mar 5, 2015
Messages
43
Reaction score
13
First Language
English
Primarily Uses
N/A
That's a lot of bumps
 

Rinobi

Veteran
Veteran
Joined
Mar 24, 2014
Messages
579
Reaction score
220
First Language
English
Primarily Uses
RMVXA
I covered the eroding effect of buffs, which seemed to me to be the primary feature you wanted. It was just a matter of rewriting the formula.

Code:
#===============================================================================# Rinobi: Buffs Erode#-------------------------------------------------------------------------------# Applied buffs slowly lose strength based on remaining turns.#-------------------------------------------------------------------------------# Version History:##  @ 1.0 [12/11/2015] Completed#-------------------------------------------------------------------------------# Instructions:## Paste below Materials and above Main Process. See Settings Module#-------------------------------------------------------------------------------# Examples:# # if BasePower = 25 and TurnPower = 15 then a buff(any buff) applied for 5 turns# would have an initial strength of 100% (double) on the first turn. It would# then decrease in strength by 15% per turn until removed.# EX: 100%, 85%, 70%, 55%, 40%, Removed#-------------------------------------------------------------------------------# Compatibility:## Overwrite Methods:#  @ param_buff_rate    in Game_BattlerBase#===============================================================================module RINOBI module BuffErode # No Touchie!#===============================================================================# ** Settings Module#-------------------------------------------------------------------------------# Affects buffs and debuffs.#===============================================================================  BasePower = 20 # 20 by default, meaning a value of 20% unaffected by turns.  TurnPower = 10 # 10 by default, meaning a decline of 10% per turn.#===============================================================================# ** End of Settings#-------------------------------------------------------------------------------# Editing beyond this area may result in unfathomable terror.#===============================================================================end end # No Touchie!#===============================================================================# ** Class: Game_BattlerBase#===============================================================================class Game_BattlerBase  #--------------------------------------------------------------------------  # * Overwrite Method: param_buff_rate  #--------------------------------------------------------------------------  def param_buff_rate(param_id)    turns = @buff_turns[param_id].to_i    base_power = (RINOBI::BuffErode::BasePower / 100.00)    turn_power = (RINOBI::BuffErode::TurnPower / 100.00)    turns = turn_power = 0 unless turn_power > 0    @buffs[param_id] * base_power + (turn_power * turns) + 1.0  end # param_buff_rateend # Game_BattlerBase
 

Latest Threads

Latest Profile Posts

At this point, "unique and diverse cast of characters" might as well be slang for Every Character is a Human-Sue.
I found an absolutely brilliant lifehack on the internet today.

Screenshot_760.jpg
It does sometimes get a little embarrassing that I often come here to ask for help with something and seldom have anything to actually show for it. If there is one thing though I can commend myself for, it's for sticking with an idea I've been tinkering with for this long now and gradually making headways. Even though I've been reserved about my progress, I can say I'm farther now than where I initially started.
I'm gonna put my project on pause for a tiny bit so I can explore the engine outside of it... Winging it can only get you so far LMFAO

Forum statistics

Threads
116,137
Messages
1,096,092
Members
151,560
Latest member
izual_and_butler
Top