Commit Graph

255 Commits

Author SHA1 Message Date
CaitSith2 cefa6bb04f Do not allow overriding host.yaml plando options with pre-rolls. 2021-03-07 03:38:49 -08:00
CaitSith2 1e17704ee6 Add useful info for which medallion has the unknown type. 2021-03-07 03:31:36 -08:00
Fabian Dill 567954a17f Merge branch 'main' into breaking_changes
# Conflicts:
#	BaseClasses.py
2021-03-06 05:27:16 +01:00
CaitSith2 43643870da Remove the last bit of code that required unsafe yaml loading. 2021-03-05 11:40:46 -08:00
CaitSith2 d09a03aace Rip out unsafe yaml loading. 2021-03-05 11:32:24 -08:00
CaitSith2 60e032510d Make pre_rolled safer by converting namespace/plandoitems/plandoconnections to/from dict. 2021-03-05 02:50:40 -08:00
CaitSith2 475d39932c main doesn't have doors to roll. 2021-03-03 13:02:55 -08:00
CaitSith2 6ddfbdf709 Allow pre-rolling yaml settings, and re-using the exact same pre-rolled settings later, for different actual seeds. 2021-03-03 02:20:37 -08:00
Fabian Dill 0d576eefbb Merge branch 'main' into breaking_changes
# Conflicts:
#	Main.py
#	worlds/alttp/EntranceRandomizer.py
2021-03-03 01:54:52 +01:00
CaitSith2 2e275d1f4e Merge remote-tracking branch 'pepperpow/triforce_changes' into main 2021-02-26 19:56:44 -08:00
CaitSith2 69c1e138b4 Use a default value. 2021-02-24 20:28:52 -08:00
CaitSith2 056a0c739c No point in assigning a seed for vanilla ER layout. 2021-02-24 13:23:42 -08:00
pepperpow 222784dbb6 Merge branch 'main' of https://github.com/Berserker66/MultiWorld-Utilities into triforce_changes 2021-02-22 22:44:43 -06: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 8c020db07d Add an identifier for triggers, to know which branch the seed is rolled on. 2021-02-19 23:21:18 -08:00
pepperpow fca64f1177
Removes Flashing instances in game (#168)
* Added reduced flashing, triforce hud and cutscene options

* Corrected parameters and replacement order

* Mixed up rom byte

* Removed triforce hud, smoothed cutscene speed and reset tables

* Removed triforcehud line and added bird cutscene speedup

* Added options to yaml

* Added check for race rom generation (is not internal asm)

* Added options to GUI (check sprite adjust crash)

* Fixed inconsistency in setting weight

* A "slow" setting for the cutscenespeed (#1)

* Slow wall setting

* Slow wall setting

* Slow wall setting

* Slow wall setting

* Slow wall setting

* Slow wall setting

* Update playerSettings.yaml

* Remove instances of cutscene speed modification

* Changed command to remove to mitigate frame advantage

* Antiepilepsy enabled for default/race roms, param change, RTL byte

* Found a frame independent antiflashing patch for real

* Further ASM patching style

* Reduce these changes to just two bytes

* Added patches for Dark Mountain and Ether Flashing palette reveal

Co-authored-by: StructuralMike <66819228+StructuralMike@users.noreply.github.com>
2021-02-19 17:45:54 +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
CaitSith2 acefb47a00 Warn if trigger option name doesn't match something in the yaml. 2021-02-13 13:57:52 -08:00
CaitSith2 44f4f7f20c Allow for rom options in linked/triggered options without needing to...
...overwrite the entire rom tree.
2021-02-13 10:26:02 -08:00
Fabian Dill 5e619dec60 add mystery triggers 2021-02-13 14:03:23 +01:00
pepperpow 1d1abb7d22 Removed remnants of team stuff, make hide_goal default 2021-02-05 20:37:27 -06: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 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
pepperpow 82fc2aba20 Added triforce hud options, expanded triforce requirement 2021-01-29 15:42:00 -06:00
CaitSith2 7f74aa7cb0 Implement open_pyramid yaml settings 2021-01-29 13:27:42 -08:00
Chris Wilson 635d04f6ec Update Player Settings and Weighted Settings pages on website to reflect new possible settings.
- Also fix a bug caused by the website settings always forcing options to lowercase
2021-01-24 21:14:58 -05:00
Fabian Dill c604dfe509 move networks commands to [str, Optional[dict]] across the board
and some other updates
PrintHTML is an experiment and is unlikely the solution I'll go with
2021-01-21 23:37:58 +01: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 b775bfa916 Merge branch 'main' into multishop 2021-01-19 01:02:57 +01:00
Fabian Dill e2075686c2 fix ItemPlando defaults 2021-01-19 01:02:03 +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 f4281f81f5 Merge branch 'main' into multishop 2021-01-17 22:08:43 +01:00
Fabian Dill 446893c504 Document Item Plando 2021-01-17 17:58:58 +01:00
Fabian Dill 7333a15f1f handle merge conflicts after plando update 2021-01-17 06:54:38 +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 3b5ba161de first two plando modules documented 2021-01-17 02:15:46 +01:00
Fabian Dill 67731d9e53 Merge branch 'main' into multishop 2021-01-13 15:00:19 +01:00
Fabian Dill a879e3fc8b use computed goal names for open_pyramid, just in case 2021-01-11 20:45:59 +01:00
Fabian Dill 9fcb317aca convert potion_shop_shuffle into 'w' shop_shuffle flag 2021-01-09 17:53:38 +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 eea4cb5815 Make sure yamls that specify key drop plando locations don't fail. 2021-01-08 06:37:23 -08:00
CaitSith2 48812ad296 Fix bug regarding silent failed plando. 2021-01-08 06:35:12 -08:00
CaitSith2 8116407b88 Add Ice Rod Hunt goal 2021-01-07 12:49:34 -08:00
CaitSith2 07f97887d1 Fix bug with boss plandomizer 2021-01-06 11:12:23 -08:00
CaitSith2 3d13ab749e Allow specifying multiple items and locations to fill at once. 2021-01-06 09:55:16 -08:00
CaitSith2 a6d53aafb0 Add option to hard require plando item placement. 2021-01-04 13:50:42 -08:00
CaitSith2 bf5930e193 Catch plando errors that will never resolve at mystery rolling time. 2021-01-03 07:14:31 -08: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 e7beb80219 Allow Mystery setting Misery Mire and Turtle Rock medallions 2021-01-02 23:00:14 +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 f3b6be2b20 Item Plando Support 2021-01-02 12:49:43 +01:00
Fabian Dill 3d53adf45c more debug/warning feedback for linked options 2021-01-02 05:24:53 +01:00
Fabian Dill 6256337df1 Manual Boss Placements 2020-12-31 13:23:32 +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 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
CaitSith2 4370447adc More fixes to non_local_items 2020-11-22 14:29:11 -08:00
Fabian Dill fc2f1dfd29 implement "non_local_items" 2020-11-22 22:53:31 +01:00
CaitSith2 7312ffdf5f Recognize list as an unweighted list of choices. 2020-11-05 17:03:33 -08: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
Fabian Dill 2d43cae88e palette fixes 2020-10-24 05:33:52 +02:00
Edos512 b91a627b32
Added options from Maseya Palette Randomizer (#145)
Add remaining palette shuffle options
2020-10-24 02:44:27 +02:00
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
Fabian Dill 5436c062d3 Cast to number types explicitly in case they come as string from yaml in Mystery.py 2020-10-18 07:12:09 +02:00
Chris Wilson c714131b37 Fix the player settings page generating yaml files with string keys containing integers 2020-10-18 00:51:50 -04:00
CaitSith2 f17682e997 Implement pedestal ganon goal 2020-10-15 15:24:52 -07:00
CaitSith2 4e0a2ad696 Actually iterate the dictionary correctly. 2020-10-14 20:33:12 -07:00
CaitSith2 99e21a68fb Add a more direct random-sprite-on-event yaml option 2020-10-14 12:46:05 -07:00
Fabian Dill 88a5e024c7 Fix typo 2020-10-07 23:19:16 +02:00
Fabian Dill 0157294383 Fix sprite array crashing yaml_output
Fix "Torches" toggle misname
2020-10-07 20:19:31 +02: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
Edos512 068659fcb4
Extra Triforce pieces modes (#141)
* Added triforce hunt mode

Added modes to calculate the extra available triforce pieces in mystery seeds:
availabe: classic mode
extra: available= required+extra
percentage : available =required*(percentage/100)
2020-09-23 19:43:18 +02:00
Fabian Dill 823d8362ac Fix local keys working without "dungeon_items" key in mystery 2020-09-21 19:16:10 +02:00
CaitSith2 f249d9d86c Assign defaults to everything that was otherwise required in the yaml. 2020-09-19 22:25:58 -07:00
Fabian Dill a668aa3b23 Make "Prize" shuffling an option 2020-09-20 04:35:45 +02:00
Fabian Dill 154fffbb8d properly handle yaml read errors 2020-09-18 06:03:04 +02:00
Fabian Dill 2292dbc1ce PEP 8 format Mystery.py 2020-09-13 17:15:49 +02:00
Fabian Dill 06396b9bf2 Go back to always open pyramid with fast ganon 2020-09-13 17:13:47 +02:00
CaitSith2 ce8d9ff6a9 Report which linked option is badly formatted if possible. 2020-09-12 13:33:26 -07:00
Fabian Dill da01325abd Only pre-open pyramid if ER falls within vanilla/dungeonssimple/dungeonsfull 2020-09-11 03:23:00 +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 1ce4f55ea4 Fix Operator precendence in local items to make big keys local again when "l" is in dungeon_items 2020-09-06 17:05:50 +02:00
Fabian Dill c0632db403 Set rom default options 2020-09-05 05:20:34 +02:00
Fabian Dill fadf073acd remove "s" in dungeon_items if "u" is present 2020-08-30 03:19:02 +02:00
Fabian Dill a0c4337bac give Mystery.py the create_diff argument, then make MultiMystery.py use them 2020-08-26 22:28:48 +02:00
Fabian Dill 76f9717c99 fix chaos boss shuffle in mystery being vanilla, and prevent that mistake in the future 2020-08-25 23:53:15 +02:00
Fabian Dill 6370f4793b Make triforce hunt item pool fully dynamic 2020-08-25 19:45:33 +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 8e85e2892a secure sprite table fill with threadlock 2020-08-22 02:56:33 +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
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