You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This saves the base pool created in ItemPool.py based on world settings and enabled locations' vanilla items. It then removes all instances of items defined in the plando item pool (self.item_pool) without considering how many are removed.
I believe this is why deleting the item pool from plandos usually lets them work, but keeping the item pool will almost always fail for strict item pools. Junk items should be added to make up the difference when too many items are removed to fill all locations. If the plando specifies less than required major items, that could be handled but should probably be an error message instead as something like one Hookshot in the pool is likely intentional as long as reachable_locations is beatable.
Separately, I think there is overzealous deletion of junk items going on somewhere. With the following call stack starting in Plandomizer.fill:
Junk items are being exhausted before all junk items from the plando are placed in the world. Manually inspecting all pools in the debugger at this line shows some shields and "non-junk" junk like Deku Nuts (10), in addition to remaining major items. Since there aren't any junk items left, the randomizer fails to fill the location. The location it fails for me has a red rupee specified in the plando. This applies with and without the item pool specified in the plando.
This is using a plando generated with Randomize Main Rules with the spoiler updated with randomize_settings: false, which may result in an incorrect item pool if the shuffle settings don't match between rando state and the plando (see #2116). This was generated on Dev-Rob 7.1.195 Rob-49 (commit: 4697c68), but should apply to the main repository. The version listed in the attached plando is misleading as I merged some minor changes in a local copy.
I may not have a complete understanding of this issue. This is as far as I got:
Plandomizer has two item pools to draw from: the base item pool and the item pool specified in the plando.
OoT-Randomizer/Plandomizer.py
Lines 517 to 518 in 068f85e
This saves the base pool created in ItemPool.py based on world settings and enabled locations' vanilla items. It then removes all instances of items defined in the plando item pool (
self.item_pool
) without considering how many are removed.OoT-Randomizer/Plandomizer.py
Lines 546 to 549 in 068f85e
I believe this is why deleting the item pool from plandos usually lets them work, but keeping the item pool will almost always fail for strict item pools. Junk items should be added to make up the difference when too many items are removed to fill all locations. If the plando specifies less than required major items, that could be handled but should probably be an error message instead as something like one Hookshot in the pool is likely intentional as long as
reachable_locations
isbeatable
.Separately, I think there is overzealous deletion of junk items going on somewhere. With the following call stack starting in
Plandomizer.fill
:OoT-Randomizer/Plandomizer.py
Line 916 in 068f85e
OoT-Randomizer/Plandomizer.py
Line 988 in 068f85e
OoT-Randomizer/Plandomizer.py
Line 638 in 068f85e
OoT-Randomizer/Plandomizer.py
Line 476 in 068f85e
OoT-Randomizer/Plandomizer.py
Lines 1512 to 1514 in 068f85e
Junk items are being exhausted before all junk items from the plando are placed in the world. Manually inspecting all pools in the debugger at this line shows some shields and "non-junk" junk like
Deku Nuts (10)
, in addition to remaining major items. Since there aren't any junk items left, the randomizer fails to fill the location. The location it fails for me has a red rupee specified in the plando. This applies with and without the item pool specified in the plando.This is using a plando generated with Randomize Main Rules with the spoiler updated with
randomize_settings: false
, which may result in an incorrect item pool if the shuffle settings don't match between rando state and the plando (see #2116). This was generated on Dev-Rob 7.1.195 Rob-49 (commit: 4697c68), but should apply to the main repository. The version listed in the attached plando is misleading as I merged some minor changes in a local copy.OoT_462DD_4YA2P8FGEL-0_Spoiler.txt
The text was updated successfully, but these errors were encountered: