Fabian Dill
3e1941a561
allow Factorio Client to recognize if it's trying to connect to the wrong multiworld.
2021-05-16 00:21:00 +02:00
Fabian Dill
909172cbad
Factorio, Minecraft & Hollow Knight: add startinventory support
2021-05-09 21:22:21 +02:00
espeon65536
2f7e532f4f
Minecraft Randomizer
...
Squash merge, original Commits:
* Minecraft locations, items, and generation without logic
* added id lookup for minecraft
* typing import fix in minecraft/Items.py
* fix 2
* implementing Minecraft options and hard/postgame advancement exclusion
* first logic pass (75/80)
* logic pass 2 and proper completion conditions
* added insane difficulty pool, modified method of excluding item pools for easier extension
* bump network_data_package version
* minecraft testing framework
* switch Ancient Debris to Netherite Scrap to avoid advancement triggering on receiving that item
* Testing now functions, split tests up by advancement pane, added some story tests
* Newer testing framework: every advancement gets its own function, for ease of testing
* fixed logic for The End... Again...
* changed option names to "include_hard_advancements" etc.
* village/pillager-related advancements now require can_adventure: weapon + food
* a few minecraft tests
* rename "Flint & Steel" to "Flint and Steel" for parity with in-game name
* additional MC tests
* more tests, mostly nether-related tests
* more tests, removed anvil path for Two Birds One Arrow
* include Minecraft slot data, and a world seed for each Minecraft player slot
* Added new items: ender pearls, lapis, porkchops
* All remaining Minecraft tests
* formatting of Minecraft tests and logic for better readability
* require Wither kill for Monsters Hunted
* properly removed 8 Emeralds item from item pool
* enchanting required for wither; fishing rod required for water breathing; water breathing required for elder guardian kill
* Added 12 new advancements (ported from old achievement system)
* renamed "On a Rail" for consistency with modern advancements
* tests for the new advancements
* moved slot_data generation for minecraft into worlds/minecraft/__init__.py, added logic_version to slot_data
* output minecraft options in the spoiler log
* modified advancement goal values for new advancements
* make non-native Minecraft items appear as Shovel in ALttP, and unknown-game items as Power Stars
* fixed glowstone block logic for Not Quite Nine Lives
* setup for shuffling MC structures: building ER world and shuffling regions/entrances
* ensured Nether Fortresses can't be placed in the End
* finished logic for structure randomization
* fixed nonnative items always showing up as Hammers in ALttP shops
* output minecraft structure info in the spoiler
* generate .apmc file for communication with MC client
* fixed structure rando always using the same seed
* move stuff to worlds/minecraft/Regions.py
* make output apmc file have consistent name with other files
* added minecraft bottle macro; fixed tests imports
* generalizing MC region generation
* restructured structure shuffling in preparation for structure plando
* only output structure rando info in spoiler if they are shuffled
* Force structure rando to always be off, for the stable release
* added Minecraft options to player settings
* formally added combat_difficulty as an option
* Added Ender Dragon into playthrough, cleaned up goal map
* Added new difficulties: Easy, Normal, Hard combat
* moved .apmc generation time to prevent outputs on failed generation
* updated tests for new combat logic
* Fixed bug causing generation to fail; removed Nether Fortress event since it should no longer be needed with the fix
* moved all MC-specific functions into gen_minecraft
* renamed "logic_version" to "client_version"
* bug fixes
properly flagged event locations/items with id None
moved generation back to Main.py to fix mysterious generation failures
* moved link_minecraft_regions into minecraft init, left create_regions in Main for caching
* added seed_name, player_name, client_version to apmc file
* reenabled structure shuffle
* added entrance tests for minecraft
Co-authored-by: achuang <alexander.w.chuang@gmail.com>
2021-05-08 13:38:57 +02:00
Fabian Dill
bed8fe82cf
speed up can_beat_game
2021-04-29 09:54:49 +02:00
Fabian Dill
3a1d33f499
Allow removing non-LttP Progressive items from CollectionState
2021-04-29 08:25:06 +02:00
Fabian Dill
6ea68dd290
Count non-LttP Progressive items during playthrough creation
...
(there seem to be more problems hiding though)
2021-04-29 08:14:09 +02:00
Fabian Dill
569e0e3004
Factorio: add option: random tech ingredients
2021-04-24 01:16:49 +02:00
Fabian Dill
433981fd3d
pass explicit seed_name from MultiMystery.py
2021-04-12 09:45:07 +02:00
Fabian Dill
6d15aef88a
Factorio: align tech tree sections in growing ingredient requirements
2021-04-10 18:45:11 +02:00
Fabian Dill
d4b422840a
Fix dynamic world attributes not updating
2021-04-10 06:36:06 +02:00
Fabian Dill
0586b24579
Factorio: add small_diamonds tech tree layout
2021-04-10 03:03:46 +02:00
Fabian Dill
c4d6ac50be
turn weapons into boolean swordless
2021-04-09 20:40:45 +02:00
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
Fabian Dill
e36c6e97c1
Merge remote-tracking branch 'pepper/multishop-all' into multishop
...
# Conflicts:
# EntranceRandomizer.py
# Rom.py
# WebHostLib/static/static/playerSettings.json
# data/basepatch.bmbp
2021-01-09 16:03:59 +01:00
CaitSith2
8ef78cc32a
Add options to allow silent failed plando placements.
2021-01-05 09:56:39 -08:00
CaitSith2
a6d53aafb0
Add option to hard require plando item placement.
2021-01-04 13:50:42 -08:00
Fabian Dill
bd86a07115
make random world targeting smarter, in only considering possible unfilled locations
2021-01-04 15:14:20 +01:00
Fabian Dill
6bb7631382
fix unit tests
2021-01-03 17:16:07 +01:00
Fabian Dill
8ebd36b5a7
update Archipelago
2021-01-03 14:32:32 +01:00
Fabian Dill
08ca4245c1
Merge branch 'main' into breaking_changes
...
# Conflicts:
# Adjuster.py
# AdjusterMain.py
# BaseClasses.py
# MultiClient.py
# MultiServer.py
# Mystery.py
# Utils.py
# WebHostLib/downloads.py
# WebHostLib/generate.py
# dumpSprites.py
# test/TestBase.py
# worlds/alttp/EntranceRandomizer.py
# worlds/alttp/Main.py
# worlds/alttp/Rom.py
2021-01-03 13:13:59 +01:00
Fabian Dill
be162f5b8d
Connections Plando Support
2021-01-02 22:41:03 +01:00
Fabian Dill
07df9b9e80
Text Plando Support
2021-01-02 16:44:58 +01:00
Fabian Dill
938ccccbd4
make Item hashable
2021-01-02 12:59:19 +01:00
Fabian Dill
f3b6be2b20
Item Plando Support
2021-01-02 12:49:43 +01:00
pepperpow
767c84a581
Merge branch 'shop-fill' into multishop-all
2020-12-15 02:36:48 -06:00
pepperpow
ffe5b4b1a1
Fixes to clients/servers for shop checks
2020-12-15 02:34:22 -06:00
Fabian Dill
9b0f49e813
Revert logical easy item functionality
2020-12-04 22:44:55 +01:00
pepperpow
7b5bd016b9
Merge branch 'potion-shop' of github.com:pepperpow/MultiWorld-Utilities into multishop-all
2020-12-02 20:35:59 -06:00
pepperpow
360fcbea9e
Add new patch, disallow single bee traps from shops
2020-12-02 20:00:08 -06:00
pepperpow
608d96329f
Shop Item Pool fill feature + multiworld player compatability
2020-11-23 20:05:04 -06:00
pepperpow
fe218fffa6
Potion Shop Changes
...
(reduced)
2020-11-23 19:00:11 -06:00
Fabian Dill
fc2f1dfd29
implement "non_local_items"
2020-11-22 22:53:31 +01:00
Kaito Sinclaire
41a58084f1
Options for amount of time given in timer modes
...
(Primarily to make Timed OHKO a viable multiworld and/or mystery option,
but also works with other timer modes as well)
2020-10-28 16:20:59 -07:00
Fabian Dill
1d58f54101
move ALTTP to its own world folder
2020-10-24 05:38:56 +02:00
CaitSith2
52dd068577
Fix a typo
2020-10-07 13:48:18 -07:00
Fabian Dill
b5d91af752
New Logic:
...
Enemy Shuffle awareness
Easy Item Functionality awareness
Dark Room Logic option
Boss Item Shuffle option
Silverless Ganon is a Minor Glitch
Faster Dungeon Item Fill
2020-10-07 19:51:46 +02:00
CaitSith2
9812e2cca5
Add sprite_pool for limiting sprites used in randomonevent.
2020-10-06 13:22:03 -07:00
CaitSith2
dd1bf446ea
Put bombos into logic for swordless players
2020-09-27 10:17:35 -07:00
Fabian Dill
5b19818d14
fix prize shuffle alignment in spoiler log
2020-09-20 04:37:12 +02:00
Fabian Dill
a668aa3b23
Make "Prize" shuffling an option
2020-09-20 04:35:45 +02:00
CaitSith2
f040e96bef
Fix for Killable thieves, tile shuffle, bush shuffle always saying Yes in the spoiler log.
2020-09-14 23:09:47 -07:00
Fabian Dill
d32bfb7bdf
Change "not found" style errors from RuntimeError (misc error) to KeyError (value not found for a given search key)
2020-09-13 17:07:46 +02:00
Fabian Dill
ada13a67fc
rebuild world cache on cache miss
2020-09-08 15:02:37 +02:00
CaitSith2
096fc988c4
Show replacement items in shop spoiler if applicable
2020-09-01 21:23:43 -07:00
Fabian Dill
112868b751
remove duplicate shop setting in gui and make entrance/location cache renew slightly faster
2020-08-27 04:05:11 +02:00
Fabian Dill
6370f4793b
Make triforce hunt item pool fully dynamic
2020-08-25 19:45:33 +02:00
Fabian Dill
d86eb69b4c
Remove old fill algorithms that I have no intention to optimize or support in the future
2020-08-25 17:44:03 +02:00
Fabian Dill
6d38e87527
Refactor some shop code
2020-08-25 14:31:20 +02:00
Fabian Dill
ff79cb6e08
Fix custom item pool
...
fixes #136
2020-08-24 02:24:48 +02:00
Fabian Dill
9cabd41d3b
shopsanity
2020-08-23 21:38:21 +02:00
Fabian Dill
26ab3dd69a
Shop Shuffle
...
- more can be done here, but this works fine as a sometimes fun proof of concept
2020-08-23 15:03:06 +02:00
Fabian Dill
b5048d99b9
optimize sweep_for_events, some has_ functions and some minor things
2020-08-22 19:19:29 +02:00
Fabian Dill
45268b18f3
another round of optimizations and cleanup including some I/O multithreading
...
also alias sprite names with their file names as that's an often done mistake
2020-08-21 18:35:48 +02:00
Fabian Dill
685ff49711
make "universal" small key shuffle a thing and split it out of retro
...
also make retro usable independently from the other world modes in mystery
2020-08-20 20:13:00 +02:00
Fabian Dill
367c853300
optimize getting player names
2020-08-20 03:57:09 +02:00
Fabian Dill
cb4fa6dd33
Split enemy shuffle into its components
2020-08-19 23:24:17 +02:00
Fabian Dill
41163d50f5
default triforces in custom gui to their actual default
2020-08-16 16:49:48 +02:00
Fabian Dill
df6ee1a08b
Fill Algorithm optimisations (somewhat minor, but easy pickings)
2020-08-14 00:34:41 +02:00
Fabian Dill
615192f65b
remove lamps_needed_for_dark_rooms variable
2020-08-01 06:26:30 +02:00
compiling
d046829eae
Change item placement rules to not be part of logic - they are used for local items and to prevent placing items in ways that would make seed generation impossible.
2020-07-16 18:59:23 +10:00
Fabian Dill
93ecf5988b
implement secrets.SystemRandom() for --race
2020-07-14 07:01:51 +02:00
compiling
1594d82fb2
Add logic for including nologic seeds in multiworlds (overworld glitch rules)
...
nologic seeds are generated as beatable only with no progression balancing, where it is assumed the player can always win no matter where items are placed.
Add superbunny and dungeon revival to minor glitch ruleset.
2020-07-12 20:19:45 +10:00
Fabian Dill
57fe16ab60
remove special rules for pinball room
2020-07-09 16:16:31 +02:00
Fabian Dill
dd19834e94
implement Silver Bow as default non-progressive Bow
2020-06-30 09:51:11 +02:00
Fabian Dill
521d3b0584
make larger trackers linked tables
2020-06-30 07:32:05 +02:00
CaitSith2
545bb8023c
Add ganon triforce hunt ( #117 )
...
* Add ganon triforce hunt
* Add self to license
* Correction of help message for Local Ganon Triforce Hunt.
* if 'triforcehunt in world.goal[player]:
2020-06-26 16:18:53 +02:00
Fabian Dill
d3d68fcba2
Rename Escape Dungeon to Hyrule Castle by vote on discord
2020-06-24 16:22:49 +02:00
Fabian Dill
f311d3a8b9
implement "crossover logic".
...
Makes it impossible that logical progression for a logic-having player is placed inside a no-logic world. All other placements remain available.
2020-06-19 03:01:23 +02:00
caitsith2
617312fd4b
add available_triforce_pieces
2020-06-17 01:02:54 -07:00
Fabian Dill
9fcad5b392
fix that in a copied world progressive equipment would always say "on", including spoiler log
2020-06-09 18:44:02 +02:00
Fabian Dill
17f884d047
make triforce pieces required an option
2020-06-07 15:22:24 +02:00
Fabian Dill
2a649a749c
fix crash when quick filling locally locked trash items
2020-06-04 03:30:59 +02:00
Fabian Dill
e55726efca
make world-local items available as a general option
2020-06-03 22:13:58 +02:00
Fabian Dill
3864eb5071
fix /snes <snes_interface> if interface contains spaces (which it shouldn't, but meh)
2020-06-03 02:19:16 +02:00
Fabian Dill
daf3747bec
add progression balancing to spoiler
2020-05-20 22:30:21 +02:00
CaitSith2
0deac5ef9d
Add Bosses to spoiler log ( #96 )
2020-05-20 22:21:05 +02:00
Fabian Dill
11678fa20b
turn progression balancing into a per-player option
2020-05-18 03:54:29 +02:00
compiling
195f6c86d2
Replace world exploration with a faster algorithm - use BFS and keep track of all entrances that are currently blocked by progression items
2020-05-10 19:27:13 +10:00
Fabian Dill
1a53b0e69b
rename has_blunt_weapon to has_melee_weapon
2020-04-20 19:17:10 +02:00
Fabian Dill
860faf6ef5
unify versions
2020-04-20 14:50:49 +02:00
Fabian Dill
31d3b7ce84
implement glitch_boots as a proper CLI option
2020-04-16 11:02:16 +02:00
Fabian Dill
26ea2d5905
some optimization
2020-04-14 18:59:00 +02:00
Fabian Dill
2fb419263e
remove some instances of no longer existing __unicode__
2020-04-10 21:31:15 +02:00
Fabian Dill
01b7a590e7
add glitch_boots mystery node
2020-04-10 20:58:52 +02:00
Fabian Dill
2ebc133cab
add world get_type type checker
2020-04-10 20:54:18 +02:00
Fabian Dill
95d51d48bf
Merge branch 'pull/23'
...
# Conflicts:
# BaseClasses.py
# EntranceShuffle.py
# ItemList.py
# Mystery.py
# Rules.py
2020-04-08 15:07:19 +02:00
Fabian Dill
f89c28d5c2
Merge branch 'master' into pull/58
...
# Conflicts:
# AdjusterMain.py
# BaseClasses.py
# EntranceShuffle.py
# Gui.py
# InvertedRegions.py
# ItemList.py
# Main.py
# Plando.py
# Rom.py
# Rules.py
2020-04-04 09:16:39 +02:00
compiling
270fbce516
Fix bombs check
2020-03-15 21:59:06 +11:00
compiling
ab89f70fa3
Add 10 bombs as an uncle weapon for standard.
2020-03-15 11:09:34 +11:00
compiling
18c10dc7ad
Make retro arrows always require buying the wooden arrow.
...
The Silver Arrows grant the ability to shoot if they are non-progressive, but this is harder to model.
2020-03-15 10:12:22 +11:00
compiling
5c95cf8730
Fix Half Magic logic
2020-03-14 10:31:28 +11:00
Fabian Dill
4cb5af19d6
write spoiler in unicode
2020-03-10 00:36:26 +01:00
Fabian Dill
99e7d51f11
remove reachable cache. Seems I missed invalidations somewhere as the wrong state can be retained.
2020-03-08 05:41:56 +01:00
Fabian Dill
f583db3ee9
remove collections_extended dependency and replace with much faster stdlib Counter
2020-03-07 23:35:55 +01:00
Fabian Dill
27b6dd8bd7
some speed improvments
2020-03-07 23:20:11 +01:00
Fabian Dill
6059db3ea0
some general improvements. Mostly performance improvements of patching roms in multiworld with enemizer
2020-03-06 23:08:46 +01:00
Fabian Dill
e3beb702f8
fix clock mode, again
2020-03-04 13:55:03 +01:00
Fabian Dill
d49bb10534
remove unused checks (as indicated by new type annotations)
2020-03-03 00:17:36 +01:00
Fabian Dill
260e156316
add some annotations to BaseClasses.py
2020-03-03 00:12:14 +01:00
Fabian Dill
11e1ad6901
some small improvements for mystery
2020-02-23 17:06:44 +01:00
Fabian Dill
95aea8c4b4
rename ocarina to flute.
2020-02-17 10:08:03 +01:00
Fabian Dill
b04db006e0
implement server-client handshake and move hint system to optional colorama support
2020-02-16 15:32:40 +01:00
qadan
3d021356b8
hera and tr superbunny logic
2020-02-12 19:48:36 -04:00
qadan
aa569d1c3d
rework as region connectors (inverted will be broken)
2020-02-10 23:54:35 -04:00
qadan
ff3b879a02
more idiomatic, bugfix too
2020-02-10 00:38:55 -04:00
qadan
d22ccdedb3
some changes
2020-02-06 12:20:50 -04:00
cassidy
0e18dd06a6
Fix can_take_damage world attribute ( #24 )
2020-02-03 03:52:57 +01:00
cassidy
21b8c73179
Add "timer" as individual setting ( #23 )
2020-02-03 02:10:56 +01:00
qadan
4b7694b50f
updates
2020-01-28 18:19:07 -04:00
DatXFire
fbfcb54bab
Add missing colon ( #15 )
2020-01-22 18:08:56 +01:00
Fabian Dill
06ea170ecd
Non progressive option ( #12 )
...
* allow non-progressive
* use the actual extended_collections module
2020-01-22 06:28:58 +01:00
DatXFire
341e794cd8
Add Beemizer and Pot Shuffle to Spoiler Log Output
2020-01-18 12:51:10 -05:00
Bonta-kun
f988f7671b
--remote_items toggle: items will no longer be stored in the rom, a connection to a multiworld server will be required to receive them
2020-01-18 09:50:12 +01:00
Bonta-kun
ad278f91d6
Multiworld: clients will now be automatically be identified from the rom name and have their names and teams set by the host, meaning those need to be configured during seed gen
...
Player names will show up in spoiler log and hint tiles instead of player id
MultiClient: autoreconnect to mw server
2020-01-14 10:42:27 +01:00
Bonta-kun
2f5a3e24dd
Small shops refactor, cleanup some inverted mess
2020-01-10 11:41:22 +01:00
Bonta-kun
77ae96cf1b
Refactor rom patching now that jsonrom patches can safely be merged
2020-01-10 07:02:44 +01:00
Bonta-kun
6bafdfafe6
Mystery: rom options can be set in weights file, eg
...
rom:
sprite:
random: 1
randomonhit: 1
mog: 1
disablemusic: off
quickswap:
on: 1
off: 0
menuspeed:
normal: 1
instant: 1
double: 1
triple: 1
quadruple: 1
half: 1
heartcolor:
red: 1
blue: 1
green: 1
yellow: 1
random: 1
heartbeep:
double: 1
normal: 1
half: 1
quarter: 1
off: 1
ow_palettes:
default: 1
random: 1
blackout: 1
uw_palettes:
default: 1
random: 1
blackout: 1
2020-01-09 17:46:07 +01:00
Bonta-kun
42b85d7a3c
Include sphere0 items in the spoiler log and in the playthrough
2020-01-09 08:31:49 +01:00
compiling
edd656b903
Swap implementation of Take Any fix to match Multiworld.
2020-01-03 08:27:22 +11:00
compiling
0eed4bb527
Add shop door ids to tables (used when shop locations are vanilla)
...
Do not replace Upgrade Fairy with retro shop
2020-01-02 16:33:00 +11:00
Bonta-kun
fe307b1ac7
bzzz bzzz
2019-12-30 03:03:53 +01:00
Bonta-kun
819f6dc975
Retro: fix take any entrances with default connections
2019-12-27 19:11:41 +01:00
Bonta-kun
aa080eb455
Include unreachable items in the spoiler log
2019-12-21 13:33:07 +01:00
Bonta-kun
4a16ba74e8
Fix triforce hunt icon showing for every player
2019-12-21 10:42:59 +01:00
Bonta-kun
8721310cf7
World: include can_access_trock_eyebridge can_access_trock_front can_access_trock_big_chest can_access_trock_middle and fix_fake_world in the player specific attributes
2019-12-18 20:45:51 +01:00
Bonta-kun
36bdb5f487
Spoiler: reorder some settings for visibility
2019-12-17 21:12:05 +01:00
Bonta-kun
a24fe1f3bf
World.__init__: group player attributes to remove some redundancy
2019-12-17 21:09:33 +01:00
Bonta-kun
1ecb5fe40b
Individual settings: shufflebosses shuffleenemies enemy_health enemy_damage
2019-12-17 15:55:53 +01:00
Bonta-kun
8a5eef11ce
Individual settings: hints
2019-12-17 12:22:55 +01:00
Bonta-kun
d9281adc07
Individual settings: accessibility
2019-12-17 12:14:29 +01:00
Bonta-kun
e5246d5d5a
Individual settings: retro
2019-12-17 00:16:02 +01:00
Bonta-kun
1315eb55cf
Individual settings: map/compass/key/bk shuffle
2019-12-16 21:46:47 +01:00
Bonta-kun
dc26dfce77
Individual settings: crystals_ganon crystals_gt openpyramid
2019-12-16 19:09:15 +01:00
Bonta-kun
ec1b9eca43
Individual settings: shuffle
2019-12-16 18:24:34 +01:00
Bonta-kun
203147dda1
Individual settings: difficulty and item_functionality
2019-12-16 17:46:21 +01:00
Bonta-kun
c1788c070d
Individual settings: goal
2019-12-16 16:55:00 +01:00
Bonta-kun
9ca755d5b2
Individual settings: swords
2019-12-16 16:54:57 +01:00
Bonta-kun
ab28858a8f
Individual settings: mode
2019-12-16 16:54:46 +01:00
Bonta-kun
79786c7c9e
Individual settings: logic
2019-12-16 13:26:07 +01:00
Bonta-kun
d33582a3a2
Enable bombs in escape assist with an enemized standard start so you can beat the game
2019-12-16 09:59:16 +01:00
Bonta-kun
d608d5ca30
Optimize update_reachable_regions using the new region cache, it is almost twice as fast now
2019-12-14 19:53:19 +01:00
Bonta-kun
e4fef05d53
Initialize region cache in initialize_regions() and make it a 2d map for more efficient player filtering
2019-12-14 19:19:08 +01:00
Bonta-kun
fc9d1b501b
Replace keysanity with map/compass/key/bk shuffle
2019-12-13 22:37:52 +01:00
Bonta-kun
25068bcfdd
Added an option to pre-open the pyramid hole (aka "fast ganon")
2019-12-12 09:20:32 +01:00
Bonta-kun
d87cb2c380
BaseClasses: do not tag every location as locked by default
2019-12-10 19:21:05 +01:00
Bonta-kun
f479c8dc23
dont throw on __len__ attribute
2019-12-10 02:14:22 +01:00
Bonta-kun
55a30aa91f
multiworld
2019-12-09 19:27:56 +01:00
cassidoxa
2859acef7d
Swordless rom writes and inverted fixes
...
* Update Swordless rom writes
* Remove swordless as possible mode in ItemList.py
* Fix inverted HC Ledge access
Added collection state helper methods for determining lw/dw access
Restricted locations where Link's House can be in inverted
Dark Sanc and Link's House can no longer be at the back of Skull Woods
Fixed minor error in inverted bunny rules
* Update Link's House Shuffling in inverted insanity
* More isolated entrances not to put Link's House at
* Fix Link's House in dungeons shuffles
* More dungeons shuffle stuff I forgot
2019-09-21 21:59:16 -04:00
Kevin Cathcart
ab99e8c223
Triforce Hunt turn-in logic
2019-08-28 21:12:44 -04:00
Kevin Cathcart
df6bf6f99c
Fix errors
2019-08-24 15:53:21 -04:00
Kevin Cathcart
eb1b5053e5
update json spoiler meta section
2019-08-24 15:35:58 -04:00