-
Notifications
You must be signed in to change notification settings - Fork 701
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
Hollow Knight: Adding Godhome Goal Logic #2952
Conversation
Please re-title to "Hollow Knight: Adding Godhome Goal Logic" |
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.
For the most part the approach seems sane and logic looks correct. Lots of stuff that doesn't need to be there though, especially Trues and Falses throughout
worlds/hk/GodhomeData.py
Outdated
'*Boss_Geo-Massive_Moss_Charger/': lambda state: state.count('Fungus1_29[left1]', player) or state.count('Fungus1_29[right1]', player), | ||
'Bench-Godhome_Atrium/': lambda state: state.count('Bench-Godhome_Atrium', player), | ||
'Bench-Hall_of_Gods/': lambda state: state.count('Bench-Hall_of_Gods', player), | ||
'Room_Colosseum_01[left1]/': lambda state: state.count('Room_Colosseum_01[left1]', player), |
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.
Please remove these and reference the underlying event directly, in rando4 logic the postfix / means "discard any state from this term" so it is not meaningful here
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.
is the * prefix also irrelevant?
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.
went ahead and assumed it was, and just expanded the logic per a different comment
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.
Prefix * essentially means "treat the referenced logic definition as a macro"
…ames and comments of unused events
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.
Sorry I was apparently not up to date the first time
What is this fixing or adding?
Adds all the required Event items and logic ported from Rando4 and Journal Rando when appropriate and transformed to fit AP's formatting.
The only rule that was written mostly by hand is "Godhome_Flower_Quest", which is a mix of Flower quest logic from Rando4 with additions of access to the 3 relevant rooms.
I didn't want to change the Generated Data at all, so I created my own source logic file similar to GeneratedRules.py and added extra functions to item/location creation, to create the Godhome events if relevant for the chosen Goal.
Also there was some simplification done to the rules to not need an exhaustive list of helper Events, all conversion should be represented in the logic but commented out. I mostly stopped where I did to reduce chance of human error, but it could be simplified more if desired.
Note: did not (yet?) remove the need for LogicMixin, this only adds the Godhome goals and their logic.
How was this tested?
rolling a few seeds in Siblings (to confirm i didn't break anything), Godhome, and Godhome+Flower Goal options and visually inspected the spoiler log for the correct Events represented in the Playthrough
I will not be playing these seeds.
If this makes graphical changes, please attach screenshots.