Bug Explanation: It seems that there's a bug with Remove by Restriction not acting as described, though it's possible I just don't understand what it does. I have the Confusion and Sleep states in my project. I would like Sleep to remove Confusion, if it's present.
The way I'm reading it, this is exactly what "Remove by Restriction" is intended to do - remove the state where the box is checked (Confusion) if ANOTHER state that has a different action restriction enabled (Sleep) is added. The tooltip for "Remove by Restriction" reads: "Will be replaced by a new state with a different action restriction." And the helpfile reads: "When enabled, the condition will be removed when another state is added that has separate restrictions."
However, what's actually happening is that the Confusion state is applied and IMMEDIATELY removed. (Apparently, it is registering itself as a state with an action restriction, and triggering Remove by Restriction.)
I have tried disabling all plugins, and I tried using a blank project.
Error Report: Not applicable, it's just an unexpected behavior within the game.
Steps to Recreate:
1) Create a blank project.
2) Go to the Confusion state and check the box "Remove by Restriction".
3) Change the state on the Attack skill to Confusion 100%.
4) Battle Test. Watch Confusion be applied and removed immediately.
Sample Project: If needed, can be downloaded here.
Steps to Fix:
EDIT: I THOUGHT I came up with a solution, but even though it worked, it really shouldn't have.
However, it looks like there's a problem in $gameBattlerBase.addNewState(stateId) with the if statement used to call this.onRestrict().
The way I'm reading it, this is exactly what "Remove by Restriction" is intended to do - remove the state where the box is checked (Confusion) if ANOTHER state that has a different action restriction enabled (Sleep) is added. The tooltip for "Remove by Restriction" reads: "Will be replaced by a new state with a different action restriction." And the helpfile reads: "When enabled, the condition will be removed when another state is added that has separate restrictions."
However, what's actually happening is that the Confusion state is applied and IMMEDIATELY removed. (Apparently, it is registering itself as a state with an action restriction, and triggering Remove by Restriction.)
I have tried disabling all plugins, and I tried using a blank project.
Error Report: Not applicable, it's just an unexpected behavior within the game.
Steps to Recreate:
1) Create a blank project.
2) Go to the Confusion state and check the box "Remove by Restriction".
3) Change the state on the Attack skill to Confusion 100%.
4) Battle Test. Watch Confusion be applied and removed immediately.
Sample Project: If needed, can be downloaded here.
Steps to Fix:
EDIT: I THOUGHT I came up with a solution, but even though it worked, it really shouldn't have.
However, it looks like there's a problem in $gameBattlerBase.addNewState(stateId) with the if statement used to call this.onRestrict().
Last edited: