In some cases multi-thousand element lists were created in-memory with near identical contents, per player, then discarded and reassembled.
Was testing against a case with 3 GB of additional memory use (50 players) which appeared to get stuck, but really was just very slow. This example case is fixed with these changes.
Additionally, progression balancing is now run after ShopSlotFill, so it is now "aware" of the changed progression shops can produce.
As well, special handling for keys was removed, as not all games will have the notion of keys.
It will never be not empty, because every placement that succeeds gets its event set to true, and the conditional expects locations already placed within the fill to also not be events.
- skipped in no_logic; already was skipped in OWG
- instead of randint[0, 15] and randint[15, 50] (if any kind of triforce hunt) trash items, it is now randint[0, GT_crystals*2] and randint[GT_crystals*2, GT_crystals*4] if you're on local or singleplayer triforce hunt; in general this means that the trash prefill is lessened and is especially low if your GT can be entered early.
Some changes were made. The design chosen is to keep the changes to the same range of changes that hard and expert apply (so no change in lamp count, for example), while trying to keep easy as similar as it was.
Replaces existing check_only_beatable, which became the "none" option.
TR can run out of key placement options, with the 100% locations
option, but I really don't care enough. It exists mostly for people who
want to 100% a seed, or to point to if they ask about keys locked behind
themselves.
Partial support for Progressive bow
- Still needs to be added to item pool
- Silver hint handling remains TBD even for VT
Added weapons selection.
- Vanilla needs to be implemented
- Assured needs to be implemented
- Inverted swordless is almost certainly messed up.
- Swordless standard mode will likely softlock
- Random weapon standard mode is currently treated as uncle assured
Deleted removed difficulties
- Remaining difficulties still need to be adjusted
Added locked property to locations:
- This is used for preplaced items etc so that multiworld balancing
knows they cannot be moved.
Made a few of the difficulty changes from V31, but not all.
Added required text changes to handle crystals requirements
- More changes will likely me made in future
- Currently there is is no way to tell ganon requirement in
Inverted mode
Does not include the server/client code or the rom writes
specific to it. Indeed it cannot write multiworld roms at
all right now, pending addition future updates to support
the official ALTTPR Multiworld client.
Includes some GUI changes by Alaszun
Co-authored-by: Alaszun <koelze@google.com>
GT now pre-fills with junk if it's in the vanilla location regardless of the state of the shuffleganon flag.
The smith is now allowed to be in multi-entrance cave locations in the appropriate shuffles. A duplicate Old Man Cave (West) from bomb shop multis was also removed.
Will help make avoid seed failure for custom pool seeds.
This won't help with a seed that has a layout that is not compatible
with the item pool though.