Fabian Dill
250099f5fd
Small adjustments
2021-04-03 20:02:15 +02:00
Fabian Dill
d24ee45462
Merge branch 'main' into Archipelago_Main
...
# Conflicts:
# BaseClasses.py
# LttPAdjuster.py
# Main.py
# Mystery.py
# Utils.py
# WebHostLib/generate.py
# playerSettings.yaml
2021-04-01 11:44:37 +02:00
Fabian Dill
dc73fa0f33
Factorio integration
2021-04-01 11:40:58 +02:00
Fabian Dill
1f5bcb6273
update basic and normal boss shuffling with a less biased algorithm
2021-03-26 04:05:36 +01:00
CaitSith2
4d99bb1429
Allow setting of Glitching to Triforce from ganon in host.yaml.
2021-03-22 13:14:19 -07:00
Fabian Dill
ef3623fb5f
only alttp players have medallions
2021-03-21 05:19:29 +01:00
Fabian Dill
f2a1858b59
Implement (most) Hollow Knight Options
2021-03-21 00:47:17 +01:00
Fabian Dill
01ef29568a
Temporarily destroy the world, instead of copying it.
...
Not pretty, but faster. Unfortunately can't be threaded alongside rom/multidata creation, as otherwise locations may be empty at certain times.
2021-03-17 10:53:40 +01:00
Fabian Dill
91c0650b42
remove some missed nonlocal world references
...
that would refer to a different world after copying it
It is static data though, so it hasn't created an actual bug (yet)
2021-03-14 22:59:41 +01:00
Fabian Dill
3d93f659e3
some option updates
2021-03-14 08:38:02 +01:00
Fabian Dill
4b499d2b1c
fix location hints not being able to get the correct text
2021-03-14 00:27:06 +01:00
Fabian Dill
a528ed5e9e
Client now uses location_id consistently internally, instead of switching on a dime all the time
...
And some smaller changes
2021-03-07 22:05:07 +01:00
CaitSith2
d0d995b3a4
Use the more convenient _asdict() function of named tuples.
2021-03-05 11:05:57 -08:00
CaitSith2
60e032510d
Make pre_rolled safer by converting namespace/plandoitems/plandoconnections to/from dict.
2021-03-05 02:50:40 -08:00
Fabian Dill
612c3c23c0
spheres should ignore empty locations
2021-02-27 18:58:17 +01:00
Fabian Dill
8bfddb7fc6
Remove Single-Item logic macros
2021-02-27 17:11:54 +01:00
Fabian Dill
bda86a65f7
Add Grimmkin Flames logic
2021-02-27 16:27:35 +01:00
Fabian Dill
abcc2690f0
Add "Fake" (Randomizer-only) Hollow Knight items
2021-02-26 21:03:16 +01:00
Fabian Dill
499f67c586
HK Logic
2021-02-24 06:02:51 +01:00
Fabian Dill
a248fd5f94
add a HK game completion rule
2021-02-22 11:18:53 +01:00
Fabian Dill
8a395a3021
update guis
2021-02-21 20:37:43 +01:00
Fabian Dill
ff9b24e88e
Hollow Knight integration
...
(prototype status)
2021-02-21 20:17:24 +01:00
Fabian Dill
dcce53f8c8
Merge branch 'main' into breaking_changes
...
# Conflicts:
# Adjuster.py
# Gui.py
# MultiClient.py
# setup.py
# worlds/alttp/AdjusterMain.py
# worlds/alttp/Main.py
2021-02-21 20:15:07 +01:00
CaitSith2
8dc2a5748c
Allow for possible reuse of er layout
...
This is done by assigning a unique seed to each player who doesn't have one set. er layout seed is output in spoiler log.
2021-02-20 12:01:38 -08:00
Fabian Dill
c55cf28229
allow ER coop
2021-02-20 02:30:55 +01:00
Fabian Dill
122e360ec8
Merge branch 'main' into breaking_changes
...
# Conflicts:
# MultiClient.py
# Utils.py
# worlds/alttp/ItemPool.py
# worlds/alttp/Main.py
# worlds/alttp/Shops.py
2021-02-19 13:45:50 +01:00
Fabian Dill
d8366fbac7
Add Activated Flute as a proper item
2021-02-15 22:33:44 +01:00
Fabian Dill
e4d7e08963
when sweeping for events, only filter them once
2021-02-14 17:52:01 +01:00
Fabian Dill
0af77421fc
remove fairy and big magic from bonk prizes in hard/expert
...
remove arrow prizes in retro when "g" is not toggled
rename "difficulty_adjustments" to "item_functionality"
2021-02-10 07:01:03 +01:00
Fabian Dill
96d544ac84
Speed up Progression Balancing, mostly by using generators and pre-sorts where the opportunity exists
...
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.
2021-02-05 08:07:12 +01:00
Fabian Dill
e4d4ff667c
Some Shop fixes:
...
Make sure that dark lake hylia shop in inverted retains the blue potion, while allowing shop slots on top (potion will always be the leftmost slot, ignoring "i"/"f"/"g")
Cull Shop swap Candidates before generating weights, then keep track of updated sphere sizes during swaps. This significantly reduces the chance to run out of candidates, as large clumps of false candidates do not get included in the weight
Shop fill is slower with this, as all candidates need to be swept once, instead of on-demand; but this seemed the best way to address the remaining issues.
2021-02-03 14:24:29 +01:00
Fabian Dill
fcbaa35cc5
new inverted logic, accounting for dark world flute activation
2021-02-02 11:24:17 +01:00
Fabian Dill
3d81f0cca7
update after merge from /main
2021-01-30 23:43:15 +01:00
Fabian Dill
a646594f08
Merge branch 'main' into breaking_changes
...
# Conflicts:
# BaseClasses.py
# Fill.py
# MultiClient.py
# MultiServer.py
# Utils.py
# test/dungeons/TestDungeon.py
# test/inverted/TestInverted.py
# test/inverted_minor_glitches/TestInvertedMinor.py
# test/inverted_owg/TestInvertedOWG.py
# test/minor_glitches/TestMinor.py
# test/owg/TestVanillaOWG.py
# test/vanilla/TestVanilla.py
# worlds/alttp/ItemPool.py
# worlds/alttp/Main.py
# worlds/alttp/Rom.py
2021-01-30 23:29:32 +01:00
Fabian Dill
2352445146
Remove all uses of "item.priority" as the remaining fill algorithms don't need it anymore.
2021-01-30 09:57:25 +01:00
CaitSith2
9ee5c50f88
Fixed non-deterministic shop-sanity shuffling.
2021-01-28 22:39:04 -08:00
Fabian Dill
9386a9c220
Update Menus
2021-01-24 21:58:26 +01:00
CaitSith2
6095cfc586
If any shop shuffle slots are defined, define ALL of them to avoid information leakage.
2021-01-22 05:40:50 -08:00
Fabian Dill
670b8b4b11
Merge branch 'main' into breaking_changes
...
# Conflicts:
# MultiClient.py
# WebUI.py
2021-01-21 05:36:16 +01:00
Fabian Dill
2b730ab1d4
Merge branch 'main' into multishop
2021-01-18 22:30:05 +01:00
Fabian Dill
4fb8067b5e
document item plando force parameter
2021-01-18 05:07:53 +01:00
Fabian Dill
ba07da6bba
Change ShopShuffle to operate within current Sphere
2021-01-17 22:58:52 +01:00
Fabian Dill
514cd19367
Merge branch 'main' into breaking_changes
...
# Conflicts:
# BaseClasses.py
# Mystery.py
# WebHostLib/downloads.py
# WebHostLib/models.py
# WebHostLib/templates/macros.html
# WebHostLib/upload.py
# worlds/alttp/ItemPool.py
# worlds/alttp/Main.py
2021-01-17 06:50:25 +01:00
Fabian Dill
f3e686ba9a
Move Shop related stuff to a Shops module
2021-01-16 02:23:23 +01:00
Fabian Dill
e8a57a4d24
Change hint for shop items to be "for sale"
...
Lock Dungeon Prizes, as they're not supposed to be moved by any swapping mechanic
2021-01-13 14:58:40 +01:00
Fabian Dill
c0cdeef67a
Optimize fulfills_accessibility by pruning to relevant locations
2021-01-13 14:27:17 +01:00
Fabian Dill
0978daba69
Make sure shop slots obey accessibility rules.
...
The way this is checked is quite computationally expensive, should revisit later.
2021-01-11 19:56:18 +01:00
Fabian Dill
f12259dd7d
Simplify ShopSlot Shuffling
2021-01-10 19:23:57 +01:00
Fabian Dill
9fcb317aca
convert potion_shop_shuffle into 'w' shop_shuffle flag
2021-01-09 17:53:38 +01:00
Fabian Dill
aed763c58f
make potion_shop_shuffle more consistent in type use
2021-01-09 17:29:31 +01:00