-
Notifications
You must be signed in to change notification settings - Fork 703
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
TUNIC: Logic Rules Redux #3544
TUNIC: Logic Rules Redux #3544
Conversation
… the functions are shorter
…ic-rules-redux # Conflicts: # worlds/tunic/er_data.py # worlds/tunic/er_rules.py
…ry to the regular rules
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice, this looks like it was a ton of work and well implemented. I wish I had more constructive feedback here other than "Wow, this looks great" but this has clearly been through a lot of iteration 😅
def vanilla_portals() -> Dict[Portal, Portal]: | ||
# all shops are the same shop. however, you cannot get to all shops from the same shop entrance. | ||
# so, we need a bunch of shop regions that connect to the actual shop, but the actual shop cannot connect back | ||
def create_shop_region(world: "TunicWorld", regions: Dict[str, Region]) -> None: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Clever 🔥
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What would happen if you made entrances to the shop a one way door since it is a dead end? I imagine it doesn't have any logical pathing through it but there could be some glitches/tricks I'm not aware of
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Glitch/trick reasons, mostly. There's a glitch called Ladder Storage which effectively makes it so that, if there's a ladder in the scene and you have a coin/sword/stick/other thing, you can get to most other entrances at the same or at a higher elevation, but you can't just "drop" out of the air whenever -- most of the time, you have to cancel ladder storage by going through a load zone.
So, sometimes you have to ladder storage to an entrance that is a shop, and the logic needs to know you can walk back out to get to wherever the shop entrance was.
Also, decoupled needs this (which is 2 PRs ahead of this one, but might as well solve that issue now)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't really review ladder storage very thoroughly, good luck
What is this fixing or adding?
Splits the logic option into a few different individual trick options, and added more tricks to the logic accordingly.
Instead of a single Logic Rules option, there are now the following:
Laurels Zips: A toggle to say if you would like zip through gates, doors, or to tricky spots in logic.
Ice Grappling: Decide whether you want ice grappling to be in logic, and which difficulties of it you want to include. Hard difficulty on this is very mean.
Ladder Storage: Decide whether you want ladder storage to be in logic, and which difficulties of it you want to include.
Ladder Storage Without Items: For those who just really like the plushie code.
This PR contains this other PR: #3356 and so, it has the waiting on: other tag until that other PR is merged. It would be easier to review this PR when compared to that one instead of main.It also contains this fairly minor PR: #3620How was this tested?
Many many test gens with varied options. Some test games. Unit tests.
If this makes graphical changes, please attach screenshots.
N/A