Alchav
812dc413e5
LTTP: Key Drop Shuffle ( #282 )
...
Co-authored-by: espeon65536 <81029175+espeon65536@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Bondo <38083232+BadmoonzZ@users.noreply.github.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
2023-09-27 05:24:10 +02:00
Silvris
6e02a4ca3c
Plando: fix overwriting outer scope ( #2196 )
2023-09-20 00:43:37 +02:00
el-u
5869f78ea7
core: remove the correct item from the item_pool in fill_restrictive
2023-07-30 20:11:29 +02:00
black-sliver
d49860fbeb
Fill: fix cleanup-after-swapping performance ( #2016 )
...
#1800 introduced a cleanup pass to "eject" unreachable items to hopefully get better error reporting of what could not be placed. The code to do so has an unnecessary amount of sweeps from pool.
2023-07-23 17:57:33 +02:00
black-sliver
a45e8730cb
Fill: fix fill_restrictive for mixed minimal and non-minimal and test ( #1800 )
...
* Tests: add test for mixing minimal and non-minimal
* Tests: minor cleanup in test_minimal_mixed_fill
* fix fill_restrictive for mixed minimal/non-minimal
The reason why this only happens for minimal is because it would not accept the solution it found otherwise.
Tracking and releasing unreachable items would be the better solution, but that's a lot harder to do.
* fix typo in fill_restrictive
* fix pep8 in fill_restrictive
* Fill: cleanup invalid unsafe placements, better comments
* Fill: more cleanup
2023-06-25 02:55:13 +02:00
Zach Parks
e778e49574
Core: Fix ZeroDivisionError if a world is contained 100% locked locations. ( #1659 )
...
* Core: Fix divide by zero error if all locations are priority
* Core: 100% makes more sense than 0% in this context
* Core: Revert a some "autoformatter" damage
* Core: Move comparisons a bit earlier.
Worlds that are 100% filled with locked locations should now be completely skipped in the progression balancing step now as we filter them out at the very beginning of the stage now. Also skips progression balancing if it turns out all locations are locked early before attempting to balance.
2023-04-05 12:11:34 -05:00
Fabian Dill
6671b21a86
Core: Generic excluded fill ( #1511 )
2023-03-20 17:10:12 +01:00
black-sliver
e78800d1bc
Item Plando: make world selection deterministic
2023-03-05 02:16:55 +01:00
Fabian Dill
1288f15e45
Core: Fill fix local logic conflict ( #1271 )
2022-11-28 07:03:09 +01:00
Alchav
93a354cd81
[Core] Item plando early locations (and non-early locations) ( #1228 )
2022-11-17 17:40:44 +01:00
espeon65536
edd1fff4b7
Core: make early_items internal only ( #1177 )
...
Co-authored-by: beauxq <beauxq@yahoo.com>
2022-11-16 17:32:33 +01:00
Doug Hoskisson
c933fa7e34
Core: optimize early items and add unit test ( #1197 )
...
* optimize early items and add unit test
* move sorting list init closer to sorting
2022-11-04 17:56:47 +01:00
Alchav
802119502d
Core: Fix early items bug with priority locations ( #1167 )
2022-10-31 22:26:55 -05:00
Alchav
4b18920819
Early Items option ( #1086 )
...
* Early Items option
* Early Items description update
* Change Early Items to dict
* Rewrite early items as extra fill steps
* Move if statement up
* Document early_items
* Move early_items handling before fill_hook
* Apply suggestions from code review
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
* Subnautica pre-fill moved to early_items
* Subnautica early items fix
* Remove unit test bug workaround
* beauxq's pr
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
2022-10-27 09:00:24 +02:00
Alchav
f18df4c1df
[Core] Fix priority location handling in accessibility corrections ( #1121 )
...
* Fix priority location handling in accessibility corrections
* Don't lock empty locations
* black sliver's suggested change
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2022-10-22 03:29:20 +02:00
Fabian Dill
af0cfc5a38
Fill: Priority locks when placing and does not swap. ( #1099 )
...
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2022-10-18 01:07:06 +02:00
black-sliver
acf7fda26a
Main: Fill: more opportunities for swapping
2022-10-17 00:45:51 +02:00
Alchav
f7fc6fa7aa
Core: Fix forbid_important_item_rule with parenthesis ( #1107 )
2022-10-16 07:32:17 +02:00
Fabian Dill
0aea1e780f
Fill: create minimal excluded location rule only once
2022-10-14 22:53:16 +02:00
Alchav
885c8d3fcc
Fix minimal accessibility failures ( #726 )
2022-09-29 19:59:57 +02:00
Alchav
9daa64741b
New, smarter fast_fill function ( #646 )
...
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
2022-09-17 02:06:25 +02:00
Fabian Dill
8484193151
Core: crash if non_local pool is too big
2022-08-15 23:36:07 +02:00
Alchav
530c5500c3
Break out of fill loop if locations is empty ( #690 )
2022-07-03 17:11:11 +02:00
Fabian Dill
6c525e1fe6
Core: move multiple Item properties into a single Flag ( #638 )
2022-06-17 03:23:27 +02:00
Fabian Dill
90d506ee7c
Fill: fix type-crash on unfilled having either str or Location
...
Fill: speed up Counter creation by skipping intermediary list creation
2022-05-18 22:40:40 +02:00
Fabian Dill
44638ccc1a
Fill: fix priority_locations being undone by prog_balancing shop shuffle and other late-fills ( #513 )
2022-05-14 14:04:16 -07:00
Doug Hoskisson
c085ee47ed
variable-progression-balancing ( #356 )
2022-05-11 09:13:21 +02:00
espeon65536
f6d857b5b5
Core: make progression balancing deterministic ( #295 )
2022-05-11 04:12:26 +02:00
Fabian Dill
491e6c8730
HK: don't progression balance "Currency"-like progression items ( #419 )
...
* HK: don't progression balance "Currency"-like progression items
* only skip prog balancing on charms that don't unlock checks by themselves
Co-authored-by: Kono Tyran <HAklowner@gmail.com>
2022-04-05 18:41:15 -04:00
Doug Hoskisson
2b138ac940
some typing and cleaning, mostly in Fill.py ( #349 )
...
* some typing and cleaning, mostly in Fill.py
* address missing Option types
* resolve a few TODOs discussed in pull request
2022-03-27 19:47:47 -04:00
Fabian Dill
cb024b00d9
Fill: don't crash before debug output in case of unfilled locations ( #342 )
2022-03-24 12:47:20 -04:00
espeon65536
2d25369d06
Core: fix division by zero in case of spectator slot
2022-03-20 16:08:22 +01:00
Fabian Dill
32a58b1adb
Progression Balancing: fix ItemLinks and Spectator interactions
2022-03-14 20:10:49 +01:00
espeon65536
15e0763ed5
Update progression balancing algorithm ( #300 )
...
* New progression balancing algo: computes based on percentage of locations available rather than absolute number of locations
2022-03-12 22:05:03 +01:00
Fabian Dill
5dbccfcbbd
ItemLinks: fix all_state not collecting event locations
2022-02-22 09:49:01 +01:00
Fabian Dill
c525c80b49
ItemLinks: move item links to events, mess up their logic in doing so and lock them behind plando option "item_links" until they're fixed.
2022-02-17 06:07:20 +01:00
Fabian Dill
53340ab22c
Core: remove legacy "dynamic_regions", as all regions are now dynamic
2022-02-15 06:29:57 +01:00
Fabian Dill
dc4b064c73
Options: change displayname to display_name
2022-02-02 16:29:29 +01:00
Brad Humphrey
2361f8f9d3
Use logic when placing non-excluded items
2022-02-01 16:35:18 +01:00
Brad Humphrey
3cecab25c7
Add unplaced_items into the fill sweep
2022-01-31 19:17:06 +01:00
Brad Humphrey
814851ba60
Don't require every item to fill
2022-01-31 19:17:06 +01:00
Fabian Dill
25dd89ed17
MultiServer: delete unused function
2022-01-28 09:29:29 +01:00
Brad Humphrey
dd61d0d395
Don't swap items that reduce access ( #247 )
2022-01-28 05:40:08 +01:00
Brad Humphrey
65a92746d1
Sort before distribute to preserve seed integrity
2022-01-28 05:39:34 +01:00
Brad Humphrey
64ce90d5ca
Don't add more locations to the priority fill pool
2022-01-24 06:48:59 +01:00
Fabian Dill
415526d23e
Fill: remove warning loggers that confused people
2022-01-24 04:50:49 +01:00
Fabian Dill
7a7e3544cf
Fill: log per-player item and location counts in case of mismatch.
2022-01-24 00:18:00 +01:00
Alchav
219bcb3521
Item Plando updates ( #226 )
...
* Item Plando updates
Add True option for item count to place the number of that item that is in the item pool.
Prioritize plando blocks by location count minus item count, so that the least flexible blocks are handled first to increase likelihood of success.
True and False for Force option are coming in as bools instead of strings, so that had to be accounted for.
Several other bug fixes.
2022-01-22 21:03:13 +01:00
Fabian Dill
66c15c8639
fix MultiTracker
2022-01-22 05:19:33 +01:00
Brad Humphrey
00ccecac9c
Allow fill_hook to remove things from the pool
2022-01-22 04:40:24 +01:00