-
Notifications
You must be signed in to change notification settings - Fork 705
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
Stardew Valley: Fix a bug where walnutsanity would get deactivated even tho ginger island got forced activated (and move some files) #4311
Conversation
try: | ||
from Options import OptionGroup | ||
except ImportError: | ||
logging.warning("Old AP Version, OptionGroup not available.") |
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.
Do you need this still?
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.
Probably not, but I would rather not change too much the content of this file, since it was only supported to be moved.
@@ -112,36 +113,9 @@ def interpret_slot_data(self, slot_data: Dict[str, Any]) -> Optional[int]: | |||
return seed | |||
|
|||
def generate_early(self): | |||
self.force_change_options_if_incompatible() | |||
force_change_options_if_incompatible(self.options, self.player, self.player_name) |
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 there a reason this doesn't just pass the world and you grab the options, player, and name off that?
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.
It makes it easier to test specifically that options were changed without creating a complete world. We've often been rightfully criticized for generating too many worlds just to test small things that could be unit tested, so I'm slowly trying to address that.
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.
Overall it seems fine. Tested some generations to see the new warnings. Did not look at any of the test changes (don't really see why I would). Checked the file refactoring through text comparisons and before/after were the same aside from things like options.
being removed. Had some comments on the changes (see above), but it's mostly fine. Honestly, I'm surprised world_options.walnutsanity != options.Walnutsanity.preset_none
works the way it does, but it seems to so that's good.
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.
25 files changed for a bugfix is probably a new record.
What is this fixing or adding?
🙄
This fixes a bug with the options force activation where ginger island would get activated because of a ginger island goal, but walnutsanity would get deactivated right after. This happens because the
exclude_ginger_island
variable was not refreshed after ginger island got activated.This branch also contains a bunch of moved files to regroup option related stuff in their own module. If you want to review specifically the fix, it is in this commit: af14bcb
How was this tested?
If this makes graphical changes, please attach screenshots.
N/A