- 
                Notifications
    You must be signed in to change notification settings 
- Fork 1.2k
Core: Plando Items "rewrite" #3046
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
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. | 
| ✅️ I do still wish upon a star every day that the actual PR that addresses the Witness thing gets merged one day | 
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.
I only looked at the stardew test, LGTM.
| Approved for TUNIC, also I'm deleting that code anyway | 
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.
Lingo changes look fine to me. I've opened a PR to remove the plando stuff entirely anyway (#4910).
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.
Did some more testing, not a ton, but enough. I'm fine with the behavioral changes this brings and definitely fine with all the bugs it fixes. ALttP changes are waiting on Berserker still
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
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.
LttP is probably fine, like with many LttP changes I always have the suspicion that while it looks fine it breaks in some "hilarious" way months later, but we'll only find out if we send it.
Co-authored-by: Doug Hoskisson <beauxq@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.