You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Not only does this construction pass quicktest but fail randomtest, it works in the *choice block but not *fake_choice.
Now, it does fail both randomtest and actual in-browser execution, so it seems to be quicktest which is too permissive, rather than randomtest being too strict. But it would be nice if *fake_choice could behave the same as *choice, instead.
*choice
*if (true) #Yes, I agree.
*goto Two
*if (true) #I'm not sure.
*goto Two
*if (false) #No, I disagree.
*goto Two
*label Two
*fake_choice
*if (true) #Yes, I agree.
*if (true) #I'm not sure.
*if (false) #No, I disagree.
Other interesting notes:
This behavior holds with any kind of *if statement that evaluates to false, whether using comparators, and or or, or simply the false keyword.
If there are multiple #options whose *ifs evaluate to true (or have no *if at all), only choosing an #optionimmediately preceding a false-evaluating and undisplayed #option will cause the error.
So, if all the undisplayed #options are moved to the top of the *fake_choice block, there is no error. Obviously, this isn't a useful workaround in a real game, where the test outcomes will vary across different playthroughs.
Moving the undisplayed #options down to indented lines below their respective *if statements avoids this problem. But, again, this is an undocumented difference in behavior/requirements between *choice and *fake_choice.
The text was updated successfully, but these errors were encountered:
Not only does this construction pass quicktest but fail randomtest, it works in the
*choice
block but not*fake_choice
.Now, it does fail both randomtest and actual in-browser execution, so it seems to be quicktest which is too permissive, rather than randomtest being too strict. But it would be nice if
*fake_choice
could behave the same as*choice
, instead.Other interesting notes:
*if
statement that evaluates to false, whether using comparators,and
oror
, or simply thefalse
keyword.#options
whose*if
s evaluate to true (or have no*if
at all), only choosing an#option
immediately preceding a false-evaluating and undisplayed#option
will cause the error.#option
s are moved to the top of the*fake_choice
block, there is no error. Obviously, this isn't a useful workaround in a real game, where the test outcomes will vary across different playthroughs.#option
s down to indented lines below their respective*if
statements avoids this problem. But, again, this is an undocumented difference in behavior/requirements between*choice
and*fake_choice
.The text was updated successfully, but these errors were encountered: