ArchipelagoMW / Archipelago

Archipelago Multi-Game Randomizer and Server
https://archipelago.gg
Other
469 stars 624 forks source link

Core: fix single player item links #3721

Open Silvris opened 1 month ago

Silvris commented 1 month ago

What is this fixing or adding?

A regression from #2415 that caused generation to fail when a player tried to generate a single player game with an item link group (such as for "remote" items).

Additionally, a secondary fix was added to solve an issue with item linking items with multiple classifications (primarily filler and progression) having the filler items become available before the progression items.

This latter fix is a bit hacky and will change any seeded generation that includes an item linked world, so an alternative solution may be better here.

How was this tested?

SilvrisKDL3_2.zip

The attached yaml on seed 73239063241706949923 will fail without both fixes applied.

alwaysintreble commented 1 month ago

we should probably do single_player = multiworld.players == 1 and not multiworld.groups at the beginning of distribute_items_restrictive and reuse it instead of re-calcing it, but yeah this looks correct.

Exempt-Medic commented 3 weeks ago

we should probably do single_player = multiworld.players == 1 and not multiworld.groups at the beginning of distribute_items_restrictive and reuse it instead of re-calcing it, but yeah this looks correct.

Seconding this