Progressive States MV

Do you have states that automatically change into other states after a certain amount of turns or actions have elapsed?

For example, you have a Doom state that counts down every turn, and when the countdown reaches 0, the battler will automatically die.

Or perhaps you have a Poison state that will worsen if it’s not treated, and after walking around for 50 steps, the poison state automatically turns into a deadlier poison state.

Or perhaps you have a Frozen state that prevents the battler from moving, but if it gets hit by any damage, it will immediately die.

This plugin allows you to set up your states so that when the state is removed automatically, new states will be added.


Plugin: download here (right-click and save-as)


  • Patch for Yanfly’s ATB

Related Plugins


Download the plugin and place it in the “plugins” folder in your project’s “js” folder. Then open your Plugin Manager (F10), double-click an empty row, and select the HIME_ProgressiveStates plugin.

Once it is in your list of plugins, turn the plugin on.



To specify what states will be added when a state is automatically removed, add the note-tag

<progressive state: ID>

Where the ID is the ID of the state that will be added. You can add multiple states by adding additional notetags.

You may also like...

25 Responses

  1. marl says:

    yeah i can seem to get this plugin to work, i tried adding the extra line but it still wont apply the second state after the first one ends. im using quite a few yanfly plugins. is there any way i might get this too work?

  2. RossSaiohken says:

    I know this is quite an old video but I’m wondering if you can help. It doesn’t apppear to be working for me. The two states work independently of each other but they don’t seem to link together. Any help would be appreciated.

    I’m trying to do a gradual petrify -> Petrify status.

    Gradual petrify doesn’t do anything itself but counts down for 5 turns and then turns into petrify which gives your “custom death state”. When I inflict petrify directly it works but when I inflict gradual petrify, it counts down and then doesn’t move to petrify. Thanks!

  3. Bricius says:

    Is there an update for the patch?

  4. Jachan says:

    I did tried use this plugin and… it didn’t work. All i did was put Doom thing in and once state’s turn-timing get removed by losing turns (not “cure” method), it should switch to KO state there but didn’t because this hero’s HP is still same as it is and didn’t drop dead. Is there any other plugin that might require this plugin be working, like Yanfly’s Cores and its add-ons? If not, then I don’t know what wrong with this.

    Please help me. =(

    • Hime says:

      No, my plugins do not rely on yanfly’s plugins, and if you are using yanfly’s it may potentially not work.
      What is your note-tag?

      • Jachan says:

        Actually, it’s completely pure yours (kinda mixed with Yanfly’s but should be unaffected to conflict… I don’t know).

        the note-tag;
        if you ask yours, it’s just exactly as yours said “progressive state: 1” (had to removed great/less signs for here to view)
        if you ask what i did wrote, just two notetags; that right above here and Yanfly’s “Reapply Ignore Turns” (to prevent the add/reset amount of turns or otherwise it would just add more turns). I had tested five turns after inflicted “Doom” while Slime (for practice i teach it use “Doom” instead Attack) spam Doom 24/7… At end of the fifth turn, Doom state have successfully removed… but no sign of instant-death “Knockout”-state, just like I said before as the affected hero is very health as before.

        I am trying to learn how to write script but it seems that i kept suck at it… Because I can’t find a better 100%-library of scripting to tell how to write in RPG Maker MV. I mean, which one is correct to write this here? user? gameActor? battler? What if “user” is actually the enemy-Slime instead the affected hero? you know what I mean? Yes I did researched around but sadly, I can’t find the answer between those three. If you know which correct script for this, I would be happy to hear it and write it down on the code inside Yanfly’s (yeah, I found the good one but require me to write a script code to take an effect though…) to take the true Doom effect under Yanfly’s script. I could ask him/her directly, of course… but the problem; he/she didn’t get Comments system up yet (basically, he/she disabled comments for some upgrades or something).

  5. Blithe says:

    Hello. I found another instance of incompatibility between this plugin and Yanfly’s battle engine core. I’m one of those rare people who uses ATB battle system but I still want my states to be turn based. In this use case, your patch doesn’t work so I added the following code at the end of your patch and now it works for the case of time based sates and turn based states when using Yanfly’s BEC plugin:

    var TH_ProgressiveStates_YanflyATB_GameBattlerBase_updateStateTurnTiming = Game_BattlerBase.prototype.updateStateTurnTiming;
    Game_BattlerBase.prototype.updateStateTurnTiming = function(timing) {
    var oldStates = this._states.clone();, timing);
    var newStates = this._states;
    this.checkProgressiveStates(oldStates, newStates);

    Just thought I’d let you know in case someone else runs into the same problem.

    • Hime says:

      Hmm, with all the potential ways to change a state’s turn count I might need to move this check somewhere else.

    • sirkos says:

      i added the extra code to the update plugin at the bottom but the plugin itself is still not working i get the state but it doesnt change at time up

      • Hime says:

        What do you mean at “time up”? What should change? What should happen?

        • sirkos says:

          time up as in when you get the state it counts down the turns until its gone, time up then adds new state with the tag e.g. death but none of this is happening.what doesnt change is the state after the first state gets removed after 10 turns

    • Hi Blithe, I’m using Yan’s CTB not ATB. it seems this solution might no longer work. Unless I did it wrong, I copied this and add it to the bottom of the Yan’s ATB patch with out deleting the part that was already at the bottom by default.

  6. Solis says:

    I love this plugin a lot. I have a state that gets stronger per turn…and then if it reaches 9 turns, it deals massive damage.

    After Yanfly’s last update, I can no longer get this to work.


  7. Adon237 says:

    Hello! I was wondering if there were a way to have it so the progressive state is only added x% of the time it is removed? Sort of like “Stun turns to Shock 33% of the time it is removed.” That would be incredibly useful!

  8. David says:

    Yay! Now I can make a “Perish Dance” move!!

    • Hime says:

      what does “perish dance” do?

      • Rexxon says:

        It’s a state from the Pokemon series.

        It affects both allies and enemies, and after X number of turns pass, any Pokemon that didn’t switch out of the battle are KO’ed instantly.

        I hope this helps. Thank you for your time.

        • Hime says:

          Oh, that sounds like a pretty deadly state lol. Sounds like a good use case for this plugin. If you can make a tutorial for that as well that would be great!

Leave a Reply

Your email address will not be published. Required fields are marked *

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    Markdown is turned off in code blocks:
     [This is not a link](

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see