Commit Graph

377 Commits

Author SHA1 Message Date
CaitSith2 a2eb666ae9 Shop location sram offsets now fully static. 2021-01-22 07:08:50 -08: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
CaitSith2 bd4e062d8d Revert "Store region/item name/id maps in multidata"
This reverts commit 6f1fc2ad4e.
2021-01-21 22:45:21 -08:00
CaitSith2 6f1fc2ad4e Store region/item name/id maps in multidata 2021-01-21 19:38:41 -08:00
Fabian Dill 7e18f93a3a copy shop slots to new world 2021-01-19 01:03:32 +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 51692e7668 Merge remote-tracking branch 'origin/multishop' into multishop 2021-01-16 02:23:33 +01:00
Fabian Dill f3e686ba9a Move Shop related stuff to a Shops module 2021-01-16 02:23:23 +01:00
CaitSith2 0c1b679100 Whoops, fix for backwards cherry-pick 2021-01-15 17:07:18 -08:00
CaitSith2 94b56d10f5 Add shops / old man cave to multidata 2021-01-15 17:04:50 -08:00
Fabian Dill d214783932 If due to DR or Plando the world is not fulfilling access rules, default to can_beat_game for Shop Logic 2021-01-14 00:26:49 +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 32c5ee53e5 Test both item swap rules 2021-01-13 02:41:29 +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 058436e47f shop cleanup and correctly backreference swapped items' locations
Also fixes a false reference in progression balancing from 2019 (swapped Location.item.location was not updated)
2021-01-11 13:35:48 +01:00
Fabian Dill 322feb37f0 remove removed shop locations from relevant caches 2021-01-11 04:06:25 +01:00
Fabian Dill 3a99aedf89 safer failure in case of no more candidate swaps 2021-01-11 02:55:32 +01:00
Fabian Dill f47fafe7e3 remove empty shopslots from regions 2021-01-11 02:48:57 +01:00
Fabian Dill f12259dd7d Simplify ShopSlot Shuffling 2021-01-10 19:23:57 +01:00
Fabian Dill 52d5b96435 optimize price conditions 2021-01-10 16:01:04 +01:00
Fabian Dill 3df7c360ef mark todo 2021-01-10 15:52:04 +01:00
Fabian Dill 36123308a6 Refine Shop Item Candidate picking 2021-01-10 15:50:18 +01:00
pepperpow 4250004f11 Added Shop ID constant and forfeit values 2021-01-10 05:11:45 -06:00
pepperpow 6d28978480 Prevent shop slots rebalancing each other + dungeon item criteria 2021-01-10 03:33:28 -06:00
Fabian Dill 2a0d1962f1 Tag version required for sending items out of shops 2021-01-09 18:11:24 +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 2891d575f0 Fix bug where you can force non-local triforce pieces on a local triforce hunt. 2021-01-05 09:56:20 -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 c24a376dd0 Always check for beatability, ignoring playthrough setting 2021-01-04 14:28:33 +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 e25a03173b Implement "minimum version" checks into server and clients 2020-12-29 19:23:14 +01:00
pepperpow 62cfa8813f Merge branch 'shop-fill' into multishop-all 2020-12-23 20:50:41 -06:00
pepperpow f72d93f6f6 Fix divide by zero 2020-12-23 20:50:13 -06:00
pepperpow 0debc3289b Merge branch 'shop-fill' into multishop-all 2020-12-23 16:36:45 -06:00
pepperpow 6f0511c047 Move shop table adjustments outside of Rom.py 2020-12-23 16:36:06 -06:00
pepperpow a5a09ec4eb Merge branch 'shop-fill' into multishop-all 2020-12-23 15:31:23 -06:00
pepperpow 4c5cf78939 Fixes to logic, doesn't make unwinnable games 2020-12-23 15:30:21 -06:00
pepperpow c66e97faf6 Merge branch 'shop-fill' into multishop-all 2020-12-23 11:29:20 -06:00
pepperpow 83304fd314 Rotate rupees out of shop and equalize prices 2020-12-23 11:28:42 -06:00
CaitSith2 d090a02d81 Implement tile shuffle 2020-12-22 01:05:48 -08:00
CaitSith2 2fccb3751c Disallow non-local pendants and crystals 2020-12-19 16:23:21 -08:00
CaitSith2 35c00588ba Make sure dungeon items aren't in non-local pool if the appropriate shuffle isn't set. 2020-12-19 15:36:29 -08: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
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 d95a16a09e Fix issue with inverted dungeon names on entrance data table. 2020-10-30 23:41:56 -07:00
Fabian Dill 99d596540f
Merge pull request #147 from KScl/ohko_weights
Options for amount of time given in timer modes
2020-10-30 03:51:13 +01:00
CaitSith2 5f535012f3 Remove debug info 2020-10-29 15:32:23 -07:00
CaitSith2 d79147fc58 Remove doors specific argument. 2020-10-29 15:32:05 -07:00
CaitSith2 008e84c9a0 Add Location to area data to multidata 2020-10-29 15:28:18 -07: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
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
CaitSith2 ad765659dd Add Race rom encryption. 2020-10-20 01:16:20 -07:00
Fabian Dill 4f8c737eec squashed commit of many breaking changes
Dropping Support for Python 3.7; adding support for Python 3.9
2020-10-19 08:26: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
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