Commit Graph

1527 Commits

Author SHA1 Message Date
Fabian Dill 6370f4793b Make triforce hunt item pool fully dynamic 2020-08-25 19:45:33 +02:00
Fabian Dill 3271460c68 No need to set locality rules in single player and no need to reverse a list that was just shuffled 2020-08-25 18:05:16 +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 a39459e9fc remove z3pr from requirements.txt again as it doesn't exist on pypi yet.
To fix Github Unittests failing
2020-08-25 13:31:04 +02: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
CaitSith2 08f8677433 Exclude potion shop from shop sanity.
As potion shop is hard-coded into the game, until some assembly changes are made to handle it specifically, for changing its prices/contents, including this shop could potentially make the only sphere one small key not accessible, (and causes duplicate red/green/blue potions to exist.)
2020-08-25 02:38:32 -07:00
Fabian Dill 4ec8007514 fix weighting explanation 2020-08-24 18:34:14 +02:00
Fabian Dill f789335135 mention that available triforce pieces gets raised automatically in playerSettings.yaml 2020-08-24 15:54:02 +02:00
Fabian Dill 24ee5ab44d Fix palette shuffler json loading in compiled form 2020-08-24 04:35:32 +02:00
Fabian Dill ff79cb6e08 Fix custom item pool
fixes #136
2020-08-24 02:24:48 +02:00
Chris Wilson 4126d48d0d Change a couple filenames and move some files around. 2020-08-23 18:24:09 -04:00
Fabian Dill 6cbf8c2985 Make red shield quiver also single use 2020-08-23 23:13:10 +02:00
Chris Wilson 64795b2091 Updated playerSettings schema and added some comments to playerSettings.yaml 2020-08-23 15:56:35 -04: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 40e4e3c0c6 WebHost: correct easy.yaml to playerSettings.yaml 2020-08-23 14:40:50 +02:00
Fabian Dill 4cf1923c98 integrate maseya-z3pr palette shuffle 2020-08-23 12:06:00 +02:00
Fabian Dill 91c141c803 rename easy.yaml -> playerSettings.yaml in README.md 2020-08-23 11:38:13 +02:00
Fabian Dill e0873c1277 Add Silver Bow as a working start item 2020-08-23 03:03:21 +02:00
Chris Wilson c57374a5ff Add JSON schema for player settings, which playerSettings.yaml (formerly easy.yaml) will need to conform to when parsed to JSON. 2020-08-22 19:03:09 -04:00
Fabian Dill b5048d99b9 optimize sweep_for_events, some has_ functions and some minor things 2020-08-22 19:19:29 +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 8e85e2892a secure sprite table fill with threadlock 2020-08-22 02:56:33 +02:00
Fabian Dill 99c2185410 update easy.yaml to mention blue mail in hard pool 2020-08-21 21:36:47 +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 f1772982b0 remove a rogue log 2020-08-21 00:37:37 +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 bea54d91de Episode V: The Autoformat strikes back 2020-08-20 15:45:41 +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 72545d12f1 prevent most cases of duplicate player names
* in theory dupes are still possible due to later filtering of characters, but this should catch most instances of it.
2020-08-20 04:03:49 +02:00
Fabian Dill 367c853300 optimize getting player names 2020-08-20 03:57:09 +02:00
Chris Wilson 79170f8195 Solid progress on Game Settings 2020-08-19 21:51:59 -04:00
Fabian Dill 154ab88bda allow creation of diff files from gui 2020-08-20 03:41:37 +02:00
CaitSith2 c9bd32a809 Whoops, fix double assignment. 2020-08-19 16:10:09 -07:00
CaitSith2 458e4a988a chaosthieves is supposed to be 50/50 killable thieves. 2020-08-19 15:59:28 -07:00
Fabian Dill 16185bd280 increase hard item pool armor limit to 1, to bring it more in line with other item pools 4->2->1->0 2020-08-19 23:39:47 +02:00
Fabian Dill cb4fa6dd33 Split enemy shuffle into its components 2020-08-19 23:24:17 +02:00
Fabian Dill c2e2c2d5f9 merge singularity and duality into one; under the singularity name 2020-08-19 21:10:02 +02:00
Fabian Dill e76887d0bf WebHost: Give user feedback if generator failed. 2020-08-18 02:06:35 +02:00
Fabian Dill 39f85aa291 WebHost: job pool based world generation 2020-08-18 01:18:37 +02:00
Fabian Dill 52cf99c5c8 skip gtower fill if target fill count is 0
Also rename gftower to gtower. I don't know what the f could stand for. Girlfriend tower?
2020-08-17 03:55:46 +02:00
Fabian Dill b3bb1f187d GT Trash Fill adjustments:
- skipped in no_logic; already was skipped in OWG
- instead of randint[0, 15] and randint[15, 50] (if any kind of triforce hunt) trash items, it is now randint[0, GT_crystals*2] and randint[GT_crystals*2, GT_crystals*4] if you're on local or singleplayer triforce hunt; in general this means that the trash prefill is lessened and is especially low if your GT can be entered early.
2020-08-17 03:51:55 +02:00
Fabian Dill 41163d50f5 default triforces in custom gui to their actual default 2020-08-16 16:49:48 +02:00
Fabian Dill f99bc676bc Fix custom item pool triforce piece handling 2020-08-16 12:04:04 +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