-
Notifications
You must be signed in to change notification settings - Fork 775
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
Core: Plando Items "rewrite" #3046
base: main
Are you sure you want to change the base?
Conversation
the test is still busted, but now it actually plandos the items
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
It seems like this removes the ability to have plando blocks without any locations listed. For example, so that specific items end up in specific worlds. Is the intended workaround to use |
I believe I missed this usecase (plando items guide doesn't mention it, and it's built into |
Disclaimer: I have not looked at the code yet It might be worth considering and documenting/fixing possible negative interactions with #3032 if you haven't already I'm also curious about how pre_fill is impacted as it may affect generic ER |
Some people use plando when they WANT to make something that will be seen as unbeatable according to the logic. |
It might still be possible, but current methods (such as locking the item behind a location that logically requires it) will no longer work. It should be noted that this doesn't prevent impossible combinations (that usually end in fill error) such as filling your entire sphere 1 with junk. |
This should be fine, as we use the actual instance of the item instead of creating a new item and then removing using that. It's definitely worth testing though. It appears that any world that uses pre_fill to place items that are not in the itempool must also define get_pre_fill_items so that the state used for plando can account for those items. |
List of worlds that implement
Worlds that implement
I will need to check all of these later to confirm if this is the proper reason for some worlds having issues. |
The recent additions look pretty good at a glance. I think moving towards a world where in I am a bit worried about the inbetween time, where plando provides the info, but GER has not been updated to do anything with it. |
Significant changes made after approval
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
I don't think the in between time is any worse off than it would be with today's plando implementation, which we have still decided to put ER before. So I feel this is not a necessity |
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Now that we have |
Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
What is this fixing or adding?
This PR is the combination of three major changes to plando items.
fill_restrictive
, which means plando should be capable of avoiding placements that can never result in a playable worldHow was this tested?
Manually via generating games with yamls using plando items. Opening as draft since any game using pre_fill will need thorough testing with this approach (KDL3 was already found to be bugged).
Ran unittests, but more unittests should likely be added.