Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

*fake_choice #option with same-line *if statement evaluating false fails #112

Open
ChrisPC opened this issue May 31, 2016 · 0 comments
Open

Comments

@ChrisPC
Copy link

ChrisPC commented May 31, 2016

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 #option immediately 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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant