When-argument (Battuta, Karajorma, Phantom Hoover)
—true
—when
——is-in-mission(argument) = true
——do-something(argument)
When-argument (Battuta, Karajorma, Phantom Hoover)
—is-in-mission(argument) = true
—do-something(argument)
When-argument (Battuta, Karajorma, Phantom Hoover)
—any-sexp-that-will-always-return-true(argument)
—when
——is-in-mission(argument) = true
——do-something(argument)
When-argument (Battuta, Karajorma, Phantom Hoover)
—not is-ship-stealthy(argument)
—when
——is-class(argument) = Poster
——do-something(argument)
Changing the outermost 'true' to "has-arrived-delay <argument>" makes the entire event stop evaluating? Even though the ships are present at mission start?? I'm confused
When-argument (Battuta, Karajorma, Phantom Hoover)
—not is-disarmed-delay(argument)
—when
——is-class(argument) = Poster
——do-something(argument)
Short-circuiting is the correct behavior. The when-argument sexp is designed to complete like any normal event once it finds itself in a state where it can be short-circuited. If short-circuiting is not desired, then every-time should be used.The when-argument isn't short-circuiting; the when inside the when-argument is short-circuiting.
But every-time should be flushing that inner when, right?
Pull request #2942 (https://github.com/scp-fs2open/fs2open.github.com/pull/2942) should fix this, although being a FREDless linux user I have not been able to directly confirm this.