Commit Graph

314 Commits

Author SHA1 Message Date
CaitSith2 651e1a1901 Changes
* Fix chests always being for yourself AND intended recipient for Race Rom seeds.
* Fix MultiMystery not being able to correctly pack Race Rom seeds into a zip file.
* Add tags to multidata for Race rom, Spoiler log, and Playthrough if spoiler log was generated.
2020-10-21 02:02:13 -07:00
CaitSith2 ad765659dd Add Race rom encryption. 2020-10-20 01:16:20 -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 38ac943a9c Random sprite on hit now part of basepatch. Other events possible too. 2020-10-04 10:57:30 -07:00
Fabian Dill a668aa3b23 Make "Prize" shuffling an option 2020-09-20 04:35:45 +02:00
Fabian Dill da01325abd Only pre-open pyramid if ER falls within vanilla/dungeonssimple/dungeonsfull 2020-09-11 03:23:00 +02:00
CaitSith2 9d9a13dd1d Show universal keys in non-mystery filename when rolled from gui or command line. 2020-09-02 15:45:09 -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 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 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 4cf1923c98 integrate maseya-z3pr palette shuffle 2020-08-23 12:06:00 +02:00
Kippi00 cac5795e01
Apply fake world fix to minor glitches (#135)
* Restore pre-aga1 dark world dungeon behavior in glitched logics

In any logic that does not patch out fake worlds, dying in a Dark World dungeon before defeating Aghanim 1 will now put you in Fake Dark World. (vanilla behavior)

* Apply fake world fix to minor glitches

Minor glitches players don't really need to make use of fake worlds - eventually want to add a "fake_worlds" yaml option so players can choose whether or not to have the fix applied
2020-08-22 15:28:24 +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 8852ec9a18 make all output paths host.yaml settable
rename itemlist to itempool, as the actual item listing is in items.py
change pedestal text of book of mudora from paradox to hylian for dingusses
2020-08-20 15:43:22 +02:00
Fabian Dill cb4fa6dd33 Split enemy shuffle into its components 2020-08-19 23:24:17 +02:00
Fabian Dill b0284c9fe2 Make all final roms 4 MiB to hide enemizer 2020-08-16 11:13:50 +02:00
Fabian Dill df6ee1a08b Fill Algorithm optimisations (somewhat minor, but easy pickings) 2020-08-14 00:34:41 +02:00
Fabian Dill 22abd09087 WebHost: On-Server rolling 2020-08-02 22:11:52 +02:00
Fabian Dill 615192f65b remove lamps_needed_for_dark_rooms variable 2020-08-01 06:26:30 +02:00
Fabian Dill 788f0e9af9 Add Tags to multidata 2020-07-19 20:16:45 +02:00
caitsith2 075092b154 Make random_on_hit and ALL adjuster settings on initial seed roll deterministic 2020-07-16 03:40:47 -07:00
caitsith2 3c6893d4a8 make hints, credit text, and chaos thieves determistic. (no longer random based on the order the roms are written.) 2020-07-15 23:01:29 -07:00
Fabian Dill 6841158373 unfix fake world in glitched modes where ER is not cross-world 2020-07-16 04:14:44 +02:00
Fabian Dill 93ecf5988b implement secrets.SystemRandom() for --race 2020-07-14 07:01:51 +02:00
Fabian Dill 59a71dbb05 restore multidata backwards compatibility 2020-07-14 05:06:25 +02:00
Fabian Dill ea9e103cb0 update rom name handling 2020-07-14 04:48:56 +02:00
Fabian Dill f27d9e904f fix multithreaded import racing condition when frozen 2020-07-10 22:43:54 +02:00
Fabian Dill 346a08c3dd Use EasyModeEscape flag of upcoming Enemizer 2020-07-05 02:06:00 +02:00
Fabian Dill 36db420120 significantly increase the amount of seed numbers, reducing capability to infer source seed 2020-06-28 00:24:45 +02:00
Fabian Dill 8367351c62 track precollected items after first location check and add some non-progressive item handling 2020-06-23 23:50:37 +02:00
Fabian Dill af13b62c8d do not include entrance hint data if entrance is vanilla 2020-06-20 12:22:50 +02:00
Fabian Dill d6cccff2d7
Merge pull request #109 from Berserker66/extended_triforce_hunt
Change max triforce_pieces_required from 30 to 112.
2020-06-17 10:34:59 +02:00
caitsith2 d8bc5ca2a8 Set triforce pieces available to max of available and required. 2020-06-17 01:33:34 -07:00
caitsith2 617312fd4b add available_triforce_pieces 2020-06-17 01:02:54 -07:00
Fabian Dill fdaba7e28c Merge branch 'bsdiff4_baserom'
# Conflicts:
#	Main.py
2020-06-13 22:51:44 +02:00
Fabian Dill 5692041a5b call enemizer with binary rom data 2020-06-11 04:56:47 +02:00
Fabian Dill 4125995bdd Adjust output to "BM" (Berserker's Multiworld) to differentiate spoiler logs, roms and server data at a glance
Rename _multidata to .multidata and embed .multidata as MultiServer-openable file into windows registry
2020-06-10 21:25:14 +02:00
Fabian Dill 8f6fd314ef remove jsonout #2 2020-06-09 22:11:14 +02:00
Fabian Dill 9c9b5c5191 remove jsonout 2020-06-09 21:52:46 +02:00
CaitSith2 96bea214da
Merge branch 'master' into msu_v32 2020-06-08 02:04:41 -07:00
Fabian Dill 17f884d047 make triforce pieces required an option 2020-06-07 15:22:24 +02:00
caitsith2 73d1f56ffb base rom changes
* V32 MSU
* All items from chests/received in dark rooms now visible.
* Regular bunny can read signs
* Players up to Player 255 supported on send/received.
2020-06-06 20:49:53 -07:00
Fabian Dill e55726efca make world-local items available as a general option 2020-06-03 22:13:58 +02:00
Fabian Dill f918efb645 implement skip_playthrough in mystery 2020-05-31 00:28:03 +02:00
Fabian Dill b2e20be077 Hints now contain ER info 2020-05-18 05:40:36 +02:00
Fabian Dill 11678fa20b turn progression balancing into a per-player option 2020-05-18 03:54:29 +02:00
Fabian Dill cb7d4d43e1 implement progression balancing as an option in CLI, gui and MultiMystery 2020-05-11 02:17:18 +02:00
Fabian Dill 4df8604b48
Merge pull request #92 from compiling/owg_multi
Fix copy world
2020-05-10 08:33:23 +02:00
compiling 8cd15c0e0a Go back to the old copy_world routine, and fix it to work with dynamic connections. 2020-05-10 14:56:52 +10:00
Fabian Dill cb3ad87299
Merge pull request #90 from compiling/owg_multi
Fix for copy_world
2020-05-09 02:46:39 +02:00
compiling 555bd52a68 Go back to a custom copy_world implementation. copy.deepcopy doesn't handle big graphs very well (stackoverflow). 2020-05-09 10:00:41 +10:00
Fabian Dill aa3eb6a3f8 stronger compression and compatibility on multidata 2020-05-08 23:09:56 +02:00
compiling e7a3637cc9 Add OWG clip to dark world floating island. 2020-05-08 18:23:55 +10:00
compiling 441f59d6ea Refactor OWG rules to keep them separate from no glitches.
Add logic for superbunny access to Sahasrahla's closet (with boots)
Add logic for superbunny through Two Brother's House (with boots)
Fix superbunny logic for spiral cave and mini moldorm cave - requires a sword
Add logic for waterwalking into Waterfall Cave
Add clip to Ice Palace entrance (requires boots, pearl and flippers)
Add extra clips to inverted owg logic - PoD and Dark Lake Hylia Ledge are now in logic with just boots
Add clip to flute point 6 into inverted owg logic - some light world locations are now accessible with boots and mitts, but no pearl or mirror.
2020-05-07 18:07:53 +10:00
Fabian Dill 860faf6ef5 unify versions 2020-04-20 14:50:49 +02:00
Fabian Dill 8599c76647 Disallow spaces in generated names 2020-04-18 21:46:57 +02:00
Fabian Dill 4cc216949a embed server_options into multidata 2020-04-18 15:59:11 +02:00
Fabian Dill 31d3b7ce84 implement glitch_boots as a proper CLI option 2020-04-16 11:02:16 +02:00
CaitSith2 34df144f8c
Changes (#64)
* Fix bug where collected maps show on item menu if compass shuffle is on, (and collected compasses if map shuffle is on.)

* Add Dungeon Counter Options
2020-04-13 00:46:32 +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
Fabian Dill 74b1688427 Allow diff files to be created from the command line 2020-03-08 15:34:35 +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 11e1ad6901 some small improvements for mystery 2020-02-23 17:06:44 +01:00
cassidy 54e300a9e7
Get timer and progressive settings from dict for file name (#29) 2020-02-07 23:16:24 +01:00
Fabian Dill bac66a7e53 fix timer handling in gui set data 2020-02-07 23:14:50 +01:00
Fabian Dill c76b19b290 Merge remote-tracking branch 'origin/master' 2020-02-04 10:59:27 +01:00
Fabian Dill 574699a527 remove extraneous spoiler creation 2020-02-04 10:59:19 +01:00
cassidy 21b8c73179
Add "timer" as individual setting (#23) 2020-02-03 02:10:56 +01:00
CaitSith2 18f15d80f9 MSU-1 (#13)
* Add Extended MSU as an option
2020-01-22 18:27:25 +01:00
Fabian Dill a8f4bd946b revert "mark utf-8 output as such" for Bonta compatibility and sahahashashasbot compatiblity 2020-01-22 18:20:35 +01:00
Fabian Dill 7dba01b4f7 mark utf-8 output as such 2020-01-22 18:00:58 +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 71cd0b917c Rom: fix enemizer patching 2020-01-14 22:13:37 +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 239ea0f67c outputpath: use makedirs instead of mkdir 2020-01-10 07:25:16 +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
Bonta-kun 5db7e066da Sprites are now player specific, can be chosen from their sprite name rather than file path, support "random" choice and support "randomonhit" enemizer-only option 2020-01-09 02:30:00 +01:00
Bonta-kun 28011cf675 Built-in palette shuffle (including blackout) 2020-01-08 03:43:48 +01:00
Bonta-kun eb7ca4fdf9 Implement --startinventory 2020-01-06 19:13:42 +01:00
Bonta-kun a3657c02aa Multidata/save: moved away from pickle and store a compressed json instead 2020-01-05 20:22:29 +01:00
compiling edd656b903 Swap implementation of Take Any fix to match Multiworld. 2020-01-03 08:27:22 +11:00
compiling 4921daccf3 Add Python 3.8 compatibility - replace deprecated function time.clock with time.perf_counter 2020-01-02 16:33:01 +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 7aa9622c5e Escape assist: only get infinite bombs with enemizer or bombs/cane/bow start + high hp 2019-12-30 06:42:45 +01:00
Bonta-kun fe307b1ac7 bzzz bzzz 2019-12-30 03:03:53 +01:00
Bonta-kun 4281dcc619 Skip enemizer patching with jsonout and no enemizercli 2019-12-28 18:12:11 +01:00
Bonta-kun 93f8a684f1 Move outputpath handling in main(), create path if it doesn't exist 2019-12-28 17:12:27 +01:00
Bonta-kun 197b8bd6c6 Actually enable bombs escape assist 2019-12-27 19:09:58 +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 5f77aaba06 Individual settings: shufflepots and shufflepalette 2019-12-18 21:20:55 +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