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

Truthful requirement ordering #119

Open
SiriusAshling opened this issue Apr 18, 2023 · 0 comments
Open

Truthful requirement ordering #119

SiriusAshling opened this issue Apr 18, 2023 · 0 comments

Comments

@SiriusAshling
Copy link
Member

Ordering of requirements is important. An example:
The player has 30 Health, 3 Energy, Regenerate, Spear, Life Pact
Spear=2, Damage=20 is not solvable: The player throws 2 Spears, which puts them at 20 Health and 0 Energy. They cannot Regenerate to take the damage because Regenerate cannot be payed for with Life Pact energy.
Damage=20, Spear=2 is solvable: The player takes 20 Damage, which puts them at 10 Health and 3 Energy. They can now Regenerate, which puts them at 30 Health and 2 Energy. They can throw 2 Spears which puts them at 10 Health and 0 Energy.

This is a somewhat surprising fact that has been ignored entirely in all the paths up to this point. It's especially awkward because we currently use standards that encourage reordering requirements for practical reasons:

  • OR chains have to go at the end of paths, to make them easier to read. However, this may lead to incorrect orderings if the OR chain is really used earlier in the path
  • Complex requirements may be "pulled out" into groups sometimes. A real example of this used to be
    kii, Combat=Hornbug+Bat+2xSandworm+2xLizard+3xSkeeto+SneezeSlug:
    where the long combat requirement was grouped out, putting it before the Damage requirements, but in reality the damage would be taken before the combat.
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