It's been a while. Eh.
This is basically something I will be doing on occasion, essentially explaining the "heinous techniques" that you can perform in MUGEN. These are found in Nuke-tier and higher cheapies, and as such if you're making a balanced character you need not worry about them.
Pseudo-Changestate and Absolute Selfstate are methods commonly used in nukes and low-tier nulls, and most commonly used together. This is an extremely powerful defense system that prevents these characters from being affected by custom states (most of the time). Both are also deceptively simple to execute.
---------------------------------------------------
| Absolute Selfstate |
---------------------------------------------------
This simply involves placing a Selfstate controller in Statedef -2 at the end of it. It's placed at the end because everything after the Selfstate doesn't trigger if it succeeds, similar to a normal Selfstate in any other state. Selfstate is used over Changestate, in this case, due to its ability to get the user out of the enemy's custom states, which is quite beneficial at the nuke/low-tier null level. This is the same reason as to why you place this controller in Statedef -2.
Here is an example of Absolute Selfstate, courtesy of Pierrot.
[State -2,準ステートanim固定] ;Translation: Fixed Quasi-State [Anim]
type = SelfState
value = anim
triggerall = Alive
triggerall = !ishelper
triggerall = Palno = 1 || Palno = 12
trigger1 = anim = 10 || anim = 11 || anim = 12 || anim = 40 || anim = 180
trigger2 = anim = 100 || anim = 105 || anim = 106 || anim = 170 || anim = 175 || anim = 181 || anim = 190 || anim = 194
trigger3 = anim = 195 || anim = 197 || anim = 200 || anim = 210 || anim = 230 || anim = 240
;etc.
ignorehitpause = 1
Since most nukes use hitpausetime-related methods, it's important to add ignorehitpause = (non-zero number) to the end. Some nukes, such as N_Alice, utilize a variable rather than their animation; this has the same effect.
Personally, I feel that persistent = 256 should be added somewhere in this as well, due to its ability to bypass freezing methods such as Pause and SuperPause; some nukes such as N_Alice already do this.
Keep in mind that certain animations, such as 20, 21, 41, and others, require another Selfstate below this one, hence why they aren't above.
Of course, you aren't just limited to just 1 Selfstate, you can easily add more if you desire for specific conditions.
---------------------------------------------------
| Pseudo-Changestate |
---------------------------------------------------
This brings me to Pseudo-Changestate, a method which is also used by most nukes such as Pierrot, Will of Prison Flame, and N_Alice. It simply involves placing a ChangeState at the very end of your Statedef. This does not work as intended in negative Statedefs, so don't put it there.
Here's an example, also from Pierrot:
[State 0, 準ステ固定] ;Translation: Fixed Quasi-State
type = Changestate
triggerall = enemynear,name != "C-Kill"
triggerall = !ishelper
trigger1 = roundstate > 0
trigger1 = 1
value = 120
ignorehitpause = 1
Since you're in your own state, you can use the more reliable Changestate over Selfstate due to Selfstate's weird glitches that sometimes occur. Most nukes have the above just with different triggers. Now, here's another example, this one from N_Alice.
[State ]
triggerall=!ishelper&&(sysfvar(4)=(gametime*777)-(gametime*7.77)+(gametime+77.7)-777.777)
trigger1=roundstate>2
value=155
persistent=256
ignorehitpause=1
This one has persistent = 256 in it; I outlined the reasons for this in Absolute Selfstate. The pressing question: Why do most nukes use State 120, and why does N_Alice use State 155? Well, to be honest I'm unsure.
By definition, states 120, 130-132, 140, and 150-155 are "guard states." All guard states have an internal immunity to the effects of TargetState and TargetLifeAdd, which is really why they're chosen most of the time. However, this method is not just limited to these states. Some characters like V-Madoka can make their own custom guard states using the null overflow glitch, which will be explained at a future time.
This is really all you need to know about these powerful methods. Thanks for reading (´・ω・`)
This is basically something I will be doing on occasion, essentially explaining the "heinous techniques" that you can perform in MUGEN. These are found in Nuke-tier and higher cheapies, and as such if you're making a balanced character you need not worry about them.
Pseudo-Changestate and Absolute Selfstate are methods commonly used in nukes and low-tier nulls, and most commonly used together. This is an extremely powerful defense system that prevents these characters from being affected by custom states (most of the time). Both are also deceptively simple to execute.
---------------------------------------------------
| Absolute Selfstate |
---------------------------------------------------
This simply involves placing a Selfstate controller in Statedef -2 at the end of it. It's placed at the end because everything after the Selfstate doesn't trigger if it succeeds, similar to a normal Selfstate in any other state. Selfstate is used over Changestate, in this case, due to its ability to get the user out of the enemy's custom states, which is quite beneficial at the nuke/low-tier null level. This is the same reason as to why you place this controller in Statedef -2.
Here is an example of Absolute Selfstate, courtesy of Pierrot.
[State -2,準ステートanim固定] ;Translation: Fixed Quasi-State [Anim]
type = SelfState
value = anim
triggerall = Alive
triggerall = !ishelper
triggerall = Palno = 1 || Palno = 12
trigger1 = anim = 10 || anim = 11 || anim = 12 || anim = 40 || anim = 180
trigger2 = anim = 100 || anim = 105 || anim = 106 || anim = 170 || anim = 175 || anim = 181 || anim = 190 || anim = 194
trigger3 = anim = 195 || anim = 197 || anim = 200 || anim = 210 || anim = 230 || anim = 240
;etc.
ignorehitpause = 1
Since most nukes use hitpausetime-related methods, it's important to add ignorehitpause = (non-zero number) to the end. Some nukes, such as N_Alice, utilize a variable rather than their animation; this has the same effect.
Personally, I feel that persistent = 256 should be added somewhere in this as well, due to its ability to bypass freezing methods such as Pause and SuperPause; some nukes such as N_Alice already do this.
Keep in mind that certain animations, such as 20, 21, 41, and others, require another Selfstate below this one, hence why they aren't above.
Of course, you aren't just limited to just 1 Selfstate, you can easily add more if you desire for specific conditions.
---------------------------------------------------
| Pseudo-Changestate |
---------------------------------------------------
This brings me to Pseudo-Changestate, a method which is also used by most nukes such as Pierrot, Will of Prison Flame, and N_Alice. It simply involves placing a ChangeState at the very end of your Statedef. This does not work as intended in negative Statedefs, so don't put it there.
Here's an example, also from Pierrot:
[State 0, 準ステ固定] ;Translation: Fixed Quasi-State
type = Changestate
triggerall = enemynear,name != "C-Kill"
triggerall = !ishelper
trigger1 = roundstate > 0
trigger1 = 1
value = 120
ignorehitpause = 1
Since you're in your own state, you can use the more reliable Changestate over Selfstate due to Selfstate's weird glitches that sometimes occur. Most nukes have the above just with different triggers. Now, here's another example, this one from N_Alice.
[State ]
triggerall=!ishelper&&(sysfvar(4)=(gametime*777)-(gametime*7.77)+(gametime+77.7)-777.777)
trigger1=roundstate>2
value=155
persistent=256
ignorehitpause=1
This one has persistent = 256 in it; I outlined the reasons for this in Absolute Selfstate. The pressing question: Why do most nukes use State 120, and why does N_Alice use State 155? Well, to be honest I'm unsure.
By definition, states 120, 130-132, 140, and 150-155 are "guard states." All guard states have an internal immunity to the effects of TargetState and TargetLifeAdd, which is really why they're chosen most of the time. However, this method is not just limited to these states. Some characters like V-Madoka can make their own custom guard states using the null overflow glitch, which will be explained at a future time.
This is really all you need to know about these powerful methods. Thanks for reading (´・ω・`)