Commit Graph

427 Commits

Author SHA1 Message Date
CaitSith2 38ac943a9c Random sprite on hit now part of basepatch. Other events possible too. 2020-10-04 10:57:30 -07:00
CaitSith2 947041c06d Update baserom with latest changes 2020-09-23 11:59:23 -07:00
Fabian Dill a668aa3b23 Make "Prize" shuffling an option 2020-09-20 04:35:45 +02:00
Fabian Dill 20d9c08e4e Allow smith to follow through caves in simple ER + inverted 2020-09-20 00:16:12 +02:00
CaitSith2 c2e950aba5 Fix glitch where bombing yourself at lost woods chest game spawns you at pyramid. 2020-09-17 22:14:04 -07:00
CaitSith2 9ac6c33ab0 Add easy item functionality
Allows swordless medallion use everywhere, whether or not you are actually on swordless.  It also allows for retrieving the tablets with just a hammer/book and the hammer to harm ganon.
2020-09-16 22:00:27 -07:00
Fabian Dill a0f7653f50 let python's MRO handle sprite palette defaults 2020-09-15 05:31:17 +02:00
Fabian Dill 5e3fc5c90e warn if an invalid sprite is attempted to be used, instead of silently ignoring it 2020-09-14 19:24:44 +02:00
Fabian Dill 5a68438dfa update maseya Palette Randomizer 2020-09-13 17:09:28 +02:00
CaitSith2 0d1915dbbe Triforce hunt total pieces added to murahdahla / ganon sign. 2020-09-12 14:22:07 -07:00
Fabian Dill 42661f7348 Adjust pyramid texts to differentiate slow/fast ganon 2020-09-11 03:37:28 +02:00
Fabian Dill f6439dadea Rename Progressive Armor to Progressive Mail to bring it in line with Red Mail and Blue Mail
Also add some more item groups
2020-09-06 17:19:34 +02:00
Fabian Dill ac29101f2d Make Enemizer check log a debug level log 2020-09-04 18:54:56 +02:00
CaitSith2 0bae6b9860 Low stakes and high stakes chest games no longer increments item count. 2020-09-04 06:35:23 -07:00
CaitSith2 01525f6504 Update discord link in credits 2020-09-03 20:21:28 -07:00
Fabian Dill ecf5c505d3 Make Enemizer version check work on all platforms 2020-09-03 03:54:12 +02:00
Fabian Dill ee85bafde6 Intro scroll is now always the same 2020-09-01 21:53:06 +02:00
CaitSith2 df04cbcac3 Allow only one quiver to be purchased. 2020-08-31 16:43:15 -07:00
Fabian Dill 1f12c60cc2 update maseya z3pr handling to latest version 2020-08-30 15:57:26 +02:00
CaitSith2 7b9103c6a6 Fixes to blind restore code
New enemizer version is required to fully restore the blind escort mission.
2020-08-27 02:25:34 -07:00
CaitSith2 9c69aff4c1 Blind at thieves town now requires maiden escort 100% of the time. 2020-08-26 18:16:38 -07:00
Fabian Dill 606f1fd4f8 Include z3pr's data files in the frozen package.
Warning: requires dev6 version of it
2020-08-25 13:27:34 +02:00
Fabian Dill 2096d6ae5b Use proper OS-specific path uris in many more places
also move path.join into local_path and output_path to simplify use
2020-08-25 13:22:47 +02:00
Fabian Dill 9cabd41d3b shopsanity 2020-08-23 21:38:21 +02:00
Fabian Dill 4cf1923c98 integrate maseya-z3pr palette shuffle 2020-08-23 12:06:00 +02:00
Fabian Dill e0873c1277 Add Silver Bow as a working start item 2020-08-23 03:03:21 +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 8e85e2892a secure sprite table fill with threadlock 2020-08-22 02:56:33 +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 6d3a7487e0 herpity derpity, keyshuffle is per player 2020-08-21 02:59:46 +02:00
Fabian Dill 59b1f43b56 set rom flags to no small keysanity if universal keys are on 2020-08-21 02:39:18 +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 cb4fa6dd33 Split enemy shuffle into its components 2020-08-19 23:24:17 +02:00
Fabian Dill cc65d388fe remove debug logger 2020-08-16 11:22:25 +02:00
Fabian Dill b0284c9fe2 Make all final roms 4 MiB to hide enemizer 2020-08-16 11:13:50 +02:00
Kippi00 e559b1168a
Restore pre-aga1 dark world dungeon behavior in glitched logics (#134)
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)
2020-08-16 02:24:48 +02:00
Fabian Dill 7eb419154b Make Enemizer Check a bit more multithreading resilient. 2020-08-12 08:48:29 +02:00
CaitSith2 5c447967ab TerrorPin AI Fix 2020-08-05 08:49:50 -07:00
Fabian Dill ebd6a9e3cf Removed all instances of the word "Official" where it does not refer to Nintendo 2020-07-31 19:45:10 +02:00
Fabian Dill 9825785989 Set Enemizer output to logging.debug 2020-07-30 20:17:52 +02:00
Fabian Dill a118732431 Update Enemizer 2020-07-30 20:14:05 +02:00
CaitSith2 4ab1e563a0 Fix sprite glitch while receiving items during Ganon fight. 2020-07-29 22:05:37 -07:00
CaitSith2 c737408715
Retry enemizer up to 5 times, logging the error each time it fails. (#128)
* Retry enemizer up to 5 times, logging the error each time it fails.
2020-07-29 21:56:43 +02:00
Fabian Dill 2c1411770e Update Enemizer
https://github.com/Ijwu/Enemizer/releases
2020-07-17 00:07:08 +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
caitsith2 0ba2405bbc Swamp trench 1 no longer drains. That only happens in door rando now. 2020-07-14 22:45:55 -07:00
Fabian Dill 93ecf5988b implement secrets.SystemRandom() for --race 2020-07-14 07:01:51 +02:00
Fabian Dill ea9e103cb0 update rom name handling 2020-07-14 04:48:56 +02:00
Fabian Dill 00a01d16fd Check Enemizer version #2 2020-07-11 01:26:18 +02:00
Fabian Dill d4f296835c Check Enemizer version 2020-07-11 00:52:49 +02:00
Fabian Dill f27d9e904f fix multithreaded import racing condition when frozen 2020-07-10 22:43:54 +02:00
Fabian Dill 252f9600fe restore unkillable thieves in chaosthieves option 2020-07-05 03:12:28 +02:00
Fabian Dill 78dd0d4280 log enemizer errors if present 2020-07-05 02:41:42 +02:00
Fabian Dill a45ae5deaf make shuffled thieves killable by popular request 2020-07-05 02:23:36 +02:00
Fabian Dill 346a08c3dd Use EasyModeEscape flag of upcoming Enemizer 2020-07-05 02:06:00 +02:00
Fabian Dill dd19834e94 implement Silver Bow as default non-progressive Bow 2020-06-30 09:51:11 +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
caitsith2 780ae4ebcc Fix fake lightworld bug with climbing GT a second time. @compiling 2020-06-20 19:47:07 -07:00
caitsith2 e1bfa8780c Create basepatch in proper directory if required. 2020-06-20 19:14:09 -07:00
caitsith2 95742ddb98 Skull Woods MSU v32 fix 2020-06-20 18:55:15 -07:00
Fabian Dill cb1d4cc39e apply local items in no_logic 2020-06-19 01:31:32 +02:00
Fabian Dill 29ee4fe307 rename baserom to basepatch to make it clearer what it is
Also move actual baserom to root folder to make it harder to accidentally share it with others when copying stuff
2020-06-17 08:59:50 +02: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 b3d8368b70 differentiate goal text for local triforce hunt 2020-06-10 03:34:07 +02:00
Fabian Dill 4192e0fabb fix verify 2020-06-09 22:12:46 +02:00
Fabian Dill 8f6fd314ef remove jsonout #2 2020-06-09 22:11:14 +02:00
caitsith2 de9ae7d111 baserom now derived from bmbp file. 2020-06-09 12:18:48 -07:00
caitsith2 0aa6bc5a94 Updated baserom patch 2020-06-08 11:55:40 -07:00
CaitSith2 96bea214da
Merge branch 'master' into msu_v32 2020-06-08 02:04:41 -07:00
caitsith2 f1614a4e4c Convert _ to space in player names in rom. (_ shows up as ?) 2020-06-07 11:52:03 -07:00
Fabian Dill 17f884d047 make triforce pieces required an option 2020-06-07 15:22:24 +02:00
caitsith2 705266da9b Actually write to the player slots past player 64, and at the correct location. 2020-06-07 04:26:20 -07: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 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 23e989312c fix rom-internal RNG not being deterministic due to outside multithreading in _gen_rom (Main.py) setting a random seed across threads while it is in use in any order. 2020-05-24 12:43:03 +02:00
CaitSith2 c8343df81e
Added Extended msu option to gui (#95)
* Added Extended msu option to gui
2020-05-18 05:45:09 +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
compiling bd7325b03d Fix progressive silvers hint. 2020-05-05 18:57:59 +10:00
Fabian Dill 951778f11f looks like prog bow ganon hints got swapped and duped in a merge. 2020-04-21 21:40:15 +02:00
Fabian Dill 30ae9487d4 Merge branch 'owg_test' 2020-04-16 10:44:59 +02:00
Fabian Dill 5c2c3041a7 speed up write_bytes 2020-04-16 10:38:18 +02:00
Fabian Dill 770f3c305a write 1024 bytes in one go instead of one by one 2020-04-16 09:55:55 +02:00
Fabian Dill c6a61e9008 Merge branch 'master' into owg_test 2020-04-14 03:49:33 +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 1a4be3d2d8 Merge remote-tracking branch 'origin/master' into owg_test
# Conflicts:
#	easy.yaml
2020-04-11 19:58:12 +02:00
CaitSith2 ab78d1a0c9
Add in support for Agahnims Tower Big Key/Map/Compass in starting items. (#60)
This ensures that a doors based yaml that specifies these doesn't cause a failure to roll a seed on master branch.
2020-04-11 06:35:07 +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 94e5b5962f Merge branch 'pull/58' into compilingERupdate
# Conflicts:
#	EntranceShuffle.py
#	Rom.py
#	Rules.py
2020-04-05 19:06:15 +02:00
compiling 11a91b96c6 Set inverted blacksmith to require light world access using the mirror or a portal (via starting in Link's House / Old Man Cave doesn't work).
Set the flag allowing the blacksmith to visit Link's House in simple inverted shuffle.
2020-04-05 21:12:26 +10:00
Fabian Dill f9f7916404 fix swords lookup 2020-04-04 09:32:51 +02:00
Fabian Dill 28b977d1b6 fix difficulty requirements lookup 2020-04-04 09:30:25 +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 0a882bdf4e Show text box on pickup for all dungeon items in keysanity mode. 2020-04-04 15:16:49 +11:00
compiling d6db722d2e Fix silvers hint to point at the bow you didn't find.
Remove silvers hint if progressive bows do not give silvers.
2020-03-09 09:57:22 +11:00
compiling b5dccaba2c Update base2current 2020-03-08 17:27:26 +11: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 f4da26bd2b style 2020-02-25 14:47:52 +01:00
Fabian Dill 95aea8c4b4 rename ocarina to flute. 2020-02-17 10:08:03 +01:00
qadan 3e697f44dc was moved for an earlier thing 2020-02-09 18:49:41 -04:00
qadan c10739e70c fixing up some stuff I broke 2020-02-08 19:17:34 -04:00
qadan d22ccdedb3 some changes 2020-02-06 12:20:50 -04: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
CaitSith2 18f15d80f9 MSU-1 (#13)
* Add Extended MSU as an option
2020-01-22 18:27:25 +01:00
Fabian Dill 515716a71d optimize bytearray creation time and ram use 2020-01-22 17:50:00 +01: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 39a07a0624 Rom: dont block HC exit in standard with vanilla entrances to match website mystery behavior 2020-01-10 07:15:11 +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 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 feb925d2b1 Rom: cleaner disable_music patches to match what the website does 2020-01-08 08:17:25 +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
compiling 6b97cebec5 Work around for json patch - split out bow limit into a separate patch so that it can be overridden properly. 2020-01-02 16:33:00 +11:00
Bonta-kun 636a18cee9 Rom: sanitize hint_text input 2019-12-31 15:47:49 +01:00
Bonta-kun 955d1c2875 Fix ganon's silvers hint with progressive bows 2019-12-30 03:21:01 +01:00
Bonta-kun fb1e2a657c Rom: fix silvers restriction with hard+ item functionality, also lock swordless swords limit to 0 2019-12-27 01:43:18 +01:00
Bonta-kun 6ca9cddc9a Rom: revert multiworld overflow replacement settings, baserom patch will skip limit checks for multiworld items 2019-12-27 01:04:34 +01:00
Bonta-kun 4a16ba74e8 Fix triforce hunt icon showing for every player 2019-12-21 10:42:59 +01:00
Bonta-kun 0d9983bae0 Rom: fix player names not applying 2019-12-19 10:04:12 +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 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 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 930dcfb90f Use original item code for maps and compasses in their dungeons 2019-12-16 10:58:25 +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 fcde1e9cdc Added more enemy shuffle options to be consistent with what's on the website 2019-12-16 01:35:10 +01:00
Bonta-kun 7e9ab6ce27 JsonRom: will behave like an interval map and merge/overwrite segments when appropriate 2019-12-15 16:16:49 +01:00
Bonta-kun 955dce0812 Race rom support (partial) 2019-12-15 16:16:39 +01:00
Bonta-kun 842f6bf1ac rom: correct gametype flag 2019-12-15 10:54:49 +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 4ca063be54 Reimplement random weapon standard start, the previous one did not make sense in a multiworld context and rework castle chests logic, bombs start is now possible 2019-12-11 11:41:05 +01:00
Bonta-kun c773b62dfe adjuster: disable_music for the old msu code 2019-12-10 03:21:49 +01:00
Bonta-kun 55a30aa91f multiworld 2019-12-09 19:27:56 +01:00
AmazingAmpharos 1ddfc040f3
Update base ROM
Oops, forgot to ever do this, erroneously assumed it was done before.
2019-10-24 02:13:02 -05:00