Fabian Dill
f19291aaed
Remove Fake Hollow Knight Items and Locations
...
Add GetDataPackage Network system
2021-02-25 02:07:28 +01:00
CaitSith2
056a0c739c
No point in assigning a seed for vanilla ER layout.
2021-02-24 13:23:42 -08:00
Fabian Dill
499f67c586
HK Logic
2021-02-24 06:02:51 +01:00
Fabian Dill
e60ae897b4
Allow HK items in shops and allow settings local/non-local items for HK
2021-02-24 00:36:37 +01:00
pepperpow
222784dbb6
Merge branch 'main' of https://github.com/Berserker66/MultiWorld-Utilities into triforce_changes
2021-02-22 22:44:43 -06:00
CaitSith2
4c1033a91d
Actually get player specific values.
2021-02-22 12:52:39 -08:00
CaitSith2
9c50d0ba28
Allow for team shared unknown initial seeds.
2021-02-22 12:42:14 -08:00
Fabian Dill
a248fd5f94
add a HK game completion rule
2021-02-22 11:18:53 +01:00
Fabian Dill
ff9b24e88e
Hollow Knight integration
...
(prototype status)
2021-02-21 20:17:24 +01:00
CaitSith2
8dc2a5748c
Allow for possible reuse of er layout
...
This is done by assigning a unique seed to each player who doesn't have one set. er layout seed is output in spoiler log.
2021-02-20 12:01:38 -08:00
Fabian Dill
c55cf28229
allow ER coop
2021-02-20 02:30:55 +01: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
0af77421fc
remove fairy and big magic from bonk prizes in hard/expert
...
remove arrow prizes in retro when "g" is not toggled
rename "difficulty_adjustments" to "item_functionality"
2021-02-10 07:01:03 +01: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
88980fb3b6
Make playthrough text deterministic, by sorting alphabetically
2021-02-03 14:26:00 +01:00
Fabian Dill
5503547663
use less memory to assemble playthrough
2021-02-03 07:14:53 +01:00
Fabian Dill
07866bbd3c
Speed up Playthrough creation
2021-02-03 06:55:08 +01:00
Fabian Dill
2352445146
Remove all uses of "item.priority" as the remaining fill algorithms don't need it anymore.
2021-01-30 09:57:25 +01:00
CaitSith2
5cc8dd2c71
Fix mistake made while reverting changes
2021-01-29 20:57:38 -08:00
CaitSith2
90c3fe9df3
Count take-any caves into final total.
2021-01-29 15:42:28 -08:00
CaitSith2
1d93952ef1
Revert part of a previous change
2021-01-29 13:49:17 -08: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
Fabian Dill
8ddb1ab614
create per-team enemizer calls
2021-01-27 02:39:12 +01:00
Fabian Dill
a6dad66b59
Merge branch 'multishop'
2021-01-24 20:30:52 +01:00
Fabian Dill
441fa3e5db
Allow Plando'ing Dungeon Prizes
...
There be dragons beyond this point.
2021-01-24 08:26:39 +01:00
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
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
Bonta-kun
c2fabc9f8a
Fix player id/name not showing up in rom name
2019-12-17 22:36:23 +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
d9281adc07
Individual settings: accessibility
2019-12-17 12:14:29 +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
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
b695d3573e
Main: change output name to support individual player settings
2019-12-16 13:09:43 +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
5bdc01e48f
Add an option to specify a custom output filename
2019-12-15 17:29:17 +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
e4fef05d53
Initialize region cache in initialize_regions() and make it a 2d map for more efficient player filtering
2019-12-14 19:19:08 +01:00
Bonta-kun
fc9d1b501b
Replace keysanity with map/compass/key/bk shuffle
2019-12-13 22:37:52 +01:00
Bonta-kun
6ca08a0fa4
Output rom: put seed and player id/name first in filename
2019-12-12 10:22:54 +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
55a30aa91f
multiworld
2019-12-09 19:27:56 +01:00
Bonta-kun
ce19713209
Removed usage of deprecated time.clock()
2019-12-09 13:45:45 +01:00
Kevin Cathcart
ab99e8c223
Triforce Hunt turn-in logic
2019-08-28 21:12:44 -04:00
Kevin Cathcart
e29f39c585
Mark as pre-release
2019-08-24 15:38:22 -04:00
Kevin Cathcart
990eab4e55
Fix broken retro mode
2019-08-17 15:13:46 -04:00
Kevin Cathcart
0377d6b7bc
Finish support for variable crystal requirements
...
Note: We still do not have anything to reveal required Ganon crystal
counts in inverted mode. For non-inverted it is revealed at a sign on
the pyramid, which might be less than ideal.
2019-08-11 08:55:38 -04:00
Kevin Cathcart
418568df60
Add Item functionality setting and progressive bow
...
Progressive bows still have issue for silvers hint
2019-08-10 19:37:26 -04:00
Kevin Cathcart
996bf8495c
Implement new weapons modes
...
This also includes some partial additional cleanup of the item pool.
2019-08-10 16:10:54 -04:00
Kevin Cathcart
ef7c3d4f06
New Item/Location accessibility options
...
Replaces existing check_only_beatable, which became the "none" option.
TR can run out of key placement options, with the 100% locations
option, but I really don't care enough. It exists mostly for people who
want to 100% a seed, or to point to if they ask about keys locked behind
themselves.
2019-08-10 16:10:54 -04:00
Kevin Cathcart
b0f4fa8cec
Partial implementation of many V31 features
...
Partial support for Progressive bow
- Still needs to be added to item pool
- Silver hint handling remains TBD even for VT
Added weapons selection.
- Vanilla needs to be implemented
- Assured needs to be implemented
- Inverted swordless is almost certainly messed up.
- Swordless standard mode will likely softlock
- Random weapon standard mode is currently treated as uncle assured
Deleted removed difficulties
- Remaining difficulties still need to be adjusted
Added locked property to locations:
- This is used for preplaced items etc so that multiworld balancing
knows they cannot be moved.
Made a few of the difficulty changes from V31, but not all.
Added required text changes to handle crystals requirements
- More changes will likely me made in future
- Currently there is is no way to tell ganon requirement in
Inverted mode
2019-08-10 16:10:47 -04:00
cassidoxa
18f1275050
Inverted Mode ( #5 )
...
Merging in Cassidoxa's inverted mode.
I've still not fully reviewed the logic used in this mode, so it should be considered experimental, pending an in depth review by either myself or AA.
2019-07-27 09:13:13 -04:00
Kevin Cathcart
6d5a0a004d
Use a proper multiset for progression items
...
This can cut generation times in half in some cases
2019-07-13 18:17:16 -04:00
Kevin Cathcart
aab696fa9c
Remove logic_hash
...
It is no longer used for anything.
2019-07-11 20:39:08 -04:00
Kevin Cathcart
759c1a5686
Optimize simplified caching system
2019-07-11 20:39:08 -04:00
Kevin Cathcart
d6ff27f0a5
Reinstate the state cache system for playthough generation
...
Fixed the issues in can_beat_game that required me to turn it off.
2019-07-11 20:39:08 -04:00
Bonta-kun
16abf033c3
Enemizer support
2019-07-11 20:39:08 -04:00
Bonta-kun
1a62b1da28
Multiworld core implementation By Bonta0
...
Does not include the server/client code or the rom writes
specific to it. Indeed it cannot write multiworld roms at
all right now, pending addition future updates to support
the official ALTTPR Multiworld client.
Includes some GUI changes by Alaszun
Co-authored-by: Alaszun <koelze@google.com>
2019-07-11 20:39:08 -04:00
Kevin Cathcart
d44d194de7
Switch to simpler caching system
...
This should speed up generating the seeds the currently take
the longest. Seems to have no impact on the average case.
2019-07-09 20:31:39 -04:00
AmazingAmpharos
3d2ae7d710
Most remaining changes for release
2019-04-29 16:11:23 -05:00
AmazingAmpharos
4d16559fae
TR Logic Fix
...
This update should fully fix the key logic for Turtle Rock. This involved fixing several longstanding bugs in the program we didn't realize we had until trying to really fix this issue. Notable inclusions are that now seeds generated with a count will be identical to similarly numbered seeds generated individually and that now the always allows actually work (key for key apparently actually never happened in ER before and we didn't notice!). This also required refactoring the item pool generation before rule setting and individually moving pendant/crystal placement out of item pool generation (it's not a separate step between rule setting and normal item fill). A few exotic seed generation fails are still possible involving multi-entrance dungeons being really, really inaccessible in non-keysanity, but they're now appropriately super rare instead of being as common as they were before.
2019-04-18 16:11:11 -05:00
AmazingAmpharos
a89c01f917
Fix inconsistent gen and fix retro
...
This fixes two issues:
-The same seed number was producing (subtly) different seeds. This was caused by misplaced random calls in the changes to the entrance shuffle; these calls to the rng were happening before the random seed was decided. Re-arranging that function should solve this. Thanks to hycutype for both noticing this and providing a solution.
-Retro mode was broken with the addition of hints. This was caused by the retro exclusive regions not having defined hints (for reasons I truly question myself over, they are defined in ItemList.py...) and then further by an obscure function in copy_world that builds the playthrough and deals with the sword cave not being updated for the new three parameter regions (region objects used to only require two parameters). This has been fixed.
2019-02-22 05:59:46 -06:00
AmazingAmpharos
91bee4f1b9
The rest of the helpful hint system
...
This should now work fairly completely. I've added the IR's junk hint text, updated the base ROM to v30, added a checkbox to the GUI/option to the command line to control the hint system, and fixed a bug in the previous upload that listed Skull Woods final erroneously in two arrays. I also now shuffle the Silver Arrow locations before hinting at the first one (so if multiple Silver Arrows are in a seed, all of them are equally likely to be the one Ganon hints at) and now call out "Castle Tower" in hints as a unique location and not as "Hyrule Castle" (what was I thinking on that?).
2019-01-23 03:04:42 -06:00
Kevin Cathcart
b90a381e9b
Basic impl. of boss shuffle for VT site enemizer integration
2018-09-26 13:12:20 -04:00
Kevin Cathcart
5539143f00
v30 updates
2018-09-22 22:51:54 -04:00
AmazingAmpharos
7c9c3db74d
Hopefully final 0.6.1 changes
...
-Add no logic mode.
-Fix swordless requirement for Mothula to be less strict.
-New version number and logic hash.
-Significantly updated readme.
2018-03-25 17:21:36 -05:00
Kevin Cathcart
18533fc77d
Initial Take-Any implementation
2018-03-23 18:26:59 -04:00
Kevin Cathcart
9bd9bb4f93
Shop implementation
...
Also a few retro mode fixes
2018-03-18 21:01:45 -04:00
Kevin Cathcart
2e99db5403
Fix mixed line endings
2018-03-18 01:52:09 -04:00
Kevin Cathcart
3592d12bfd
Convert several locations to using events
...
Event locations automatically get Moon Perarl requirements added, and
ensure the other referenced location is listed in the spoiler log's path
section
2018-03-18 01:39:48 -04:00
AmazingAmpharos
28d4ce0997
Beginnings of Retro Mode
...
This just adds a GUI/command line option to set the variable into world for retro mode and puts the universal key item into the list of defined items. None of the functionality is yet present.
2018-03-14 13:31:36 -05:00
AmazingAmpharos
c5b62c9b93
Version number to satisfy msi requirement
...
Apparently we are required to always have three distinct numeric fields. Hilarious.
2018-03-03 12:29:52 -06:00
AmazingAmpharos
52300e8c85
Update version number and logic hash
2018-03-03 12:24:32 -06:00
Kevin Cathcart
df0835d3e7
Extra Junk in GT for triforce Hunt
2018-03-01 21:36:30 -05:00
AmazingAmpharos
8af56fb586
Heart color changing
...
A new dropdown option is added to allow the player to choose heart color between four options: red, blue, green, and yellow. The adjuster supports this feature as well.
2018-02-27 20:26:33 -06:00
AmazingAmpharos
caffd7e34c
GT filler and smith locations fixes
...
GT now pre-fills with junk if it's in the vanilla location regardless of the state of the shuffleganon flag.
The smith is now allowed to be in multi-entrance cave locations in the appropriate shuffles. A duplicate Old Man Cave (West) from bomb shop multis was also removed.
2018-02-24 22:42:18 -06:00
Kevin Cathcart
5989718586
Easy mode lamp update
...
You can find all 3 lamps before dark rooms for easy mode.
2018-02-24 16:16:50 -05:00
Kevin Cathcart
407687d18e
Add Dam to spoiler Paths when appropriate
2018-02-09 19:20:54 -05:00
Kevin Cathcart
f39886579a
Add cross world bunny logic
2018-02-06 19:18:13 -05:00
Kevin Cathcart
a0237e0863
Update mixed cave shuffle
...
It now shuffles super bomb into multi-entrance caves
(The list of entrances that owuld be blacksmith safe are marked, but
they are not safe because dwarf will not enter them, we may patch this
eventually)
Also include a missing dungeon region in the hyrule castle dungeon
definition
Include Tower of Hera as a valid old man location in new Full shuffle
2018-02-06 19:18:12 -05:00