Posted by Vans
in What does !time mean in mugen? (Started by TheDragon November 29, 2022, 11:04:26 pm
Board: M.U.G.E.N Configuration Help
Board: M.U.G.E.N Configuration Help
Assume you have Statedef x, Statedef x+1 and Statedef x+2. And assume you have the following flow of states:
GameTime State
Y Statedef x [on-screen]
Y+1 [change state] Statedef x+1 => [change state] Statedef x+2 [on-screen]
What I wrote above means that the character went through two changestates in frame Y+1. However, it does not mean that Statedef x+1 did "not exist", as you can write logic inside and it will still be processed (as otherwise, statedef x+2 would not be on-screen at all). Some logic within statedef x+1 is evaluated in time = -1, particularly all triggers of the absolute form trigger1 = 1 (always true). You can actually observe "time = -1" written in displaytoclipboard by cleverly using pauses and targetstates. If that state transition is stretched way beyond the scope of one frame, all of that transition is time = -1.
Most people write trigger1 = 1 when they mean trigger1 = time >= 0 or even time > 0. These triggers are not equivalent and the malformed trigger1 = 1 will always be erroneously evaluated during state transitions.
This is part of the reason the physics in common1.cns are broken. I patched this when I released Angel many years ago.