Do you want to have states that can remove other states? For example, you have two types of poison states: Weak Poison, and Strong Poison.
When the Weak Poison state is applied, you lose 5% of your HP. However, when the Strong Poison is applied, you lose 10% of your HP.
Now, you also have a special case where applying strong poison state will remove the weak poison state automatically.
With this plugin, you can indicate whether your states will remove other states when they are added.
Plugin: download here (right-click, save as)
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_OverridingStates plugin.
Once it is in your list of plugins, turn the plugin on.
To have a state override or remove another state when it is added, go to your states database and in the note box, write this note-tag:
<override state: STATE_ID>
Where the STATE_ID is the ID of the state that it will override when added.
A single state can override multiple states. Simply add more note-tags.
hello Hime.. i just wondering if state 12 override the state 11, so if actor is affected by state 11 then add him the state 12 will remove the state 11 right?
so what if the actor got the state 11 if he already have the state 12? is it no effect or ..?
I used both overriding and place holder to create a stacking buff effect (adding +x to atk, and if already in place, adding instead +2x and removing the initial +x buff)
But ran into two problems :
When turned on, those plugins stop the refreshing of the state timer (YF’s buff/state core making it so that re-applying refreshes the timer) and said timer now reaches “0” and doesn’t disapear anymore.
When I disable the Overriding plugin :
State +x is still not refreshed, but it makes sense, since based on the formula, it’s now applying state +2x
State +2x gets refreshed properly
When State +x reaches it’s full duration, it becomes a “0 turns remaining” and immediatly removes state +2x
The “0 turns remaining however, stays on”
Reapplying the placeholder skill however, leaves it at “0 turns remaining” but applies “5 turns of +2x”..Which actually disapear immediatly at the end of the turn, since +x state is still at 0.
Was that any clear ? I tried to be exhaustive in my testing
Is there a way to Have State +2x remain despite State +x running out ?
Is there a fix to the Buff timer compatibility ?
Basically the problem we have is that overriding state don’t work as they should : Apply state one, add a second state one with place holder to get a state two.
Tell state two to override state one, and what will happen is that you’ll only ever get state one.
when the “initial” state one gets overridden, state two reverts to state one.
Is there an incompatibility with any of Yanfly’s plugins? Im looking at BuffStatesCore and AutoPassive states for ones I think might have a problem, and I ask only because when I start up a battle simulation, it doesn’t actually override any states. The simulation runs as follows in regards to the actor class and buffs: The class learns a damage reduction value at 7th level, then every three levels thereafter. All the states and corresponding skills for this have been made are made as passive states by default for the function of the class. At level 7, the class only knows the first level of damage reduction, but still in the simulator shows the second level, but none of the others.
There may be compatibility issues if it does not work for you.
I have tested it on 1.3.4 in an empty project and overriding states seems to work under this situation
At the beginning of battle, state 12 is added. When you select your actions, turn 1 begins, and state 13 is added, removing state 12.
Disable all other plugins to see if overriding states is the problem, and then enable them in one-by-one.
Is it possible to not show the remove message for some states, but show it for others? Clearly I want the remove message to appear if you catch on Fire (Burn) while you’re in a cube of Ice (Frozen), but not if it’s varying levels of one type of state.
What do you mean by “one type of state”?
For example, Minor Stun, Stun, and Major Stun would all be one type of state.
Less type of state and more levels of a state.
I can look into possibly specifying that when a state is overridden, the “remove” message is not displayed.