Fabian Dill
91bcd59940
implement Factorio options max_science_pack and tech_cost
...
also give warnings about deprecated LttP options
also fix FactorioClient.py getting stuck if send an unknown item id
also fix !missing having an extra newline after each entry
also default to no webui
2021-04-03 14:47:49 +02:00
Fabian Dill
01ef041b86
last minute fixing
2021-04-01 20:31:39 +02:00
Fabian Dill
d24ee45462
Merge branch 'main' into Archipelago_Main
...
# Conflicts:
# BaseClasses.py
# LttPAdjuster.py
# Main.py
# Mystery.py
# Utils.py
# WebHostLib/generate.py
# playerSettings.yaml
2021-04-01 11:44:37 +02:00
Fabian Dill
dc73fa0f33
Factorio integration
2021-04-01 11:40:58 +02:00
Fabian Dill
4985daefee
allow generating worlds without Hollow Knight
2021-03-23 21:56:11 +01:00
CaitSith2
4d99bb1429
Allow setting of Glitching to Triforce from ganon in host.yaml.
2021-03-22 13:14:19 -07:00
Fabian Dill
f2a1858b59
Implement (most) Hollow Knight Options
2021-03-21 00:47:17 +01:00
Fabian Dill
cdc330629b
allow more HK names in console commands
2021-03-19 04:30:19 +01:00
Fabian Dill
ae72fa1561
also repair precollected items in spoiler
2021-03-17 11:46:44 +01:00
Fabian Dill
01ef29568a
Temporarily destroy the world, instead of copying it.
...
Not pretty, but faster. Unfortunately can't be threaded alongside rom/multidata creation, as otherwise locations may be empty at certain times.
2021-03-17 10:53:40 +01:00
Fabian Dill
275ac5be2b
fix progression balancing being the copy function.
2021-03-17 06:29:48 +01:00
CaitSith2
e094a93e49
random.Random('') produces same results every single time.
...
prevent race cheating by players using "shuffletype-", where the seed field on the other side is blank.
2021-03-15 07:30:17 -07:00
Fabian Dill
3d93f659e3
some option updates
2021-03-14 08:38:02 +01:00
Fabian Dill
a528ed5e9e
Client now uses location_id consistently internally, instead of switching on a dime all the time
...
And some smaller changes
2021-03-07 22:05:07 +01:00
Fabian Dill
f7dc21ddcc
Merge branch 'main' into breaking_changes
...
# Conflicts:
# Main.py
# Utils.py
2021-03-07 22:04:06 +01:00
Fabian Dill
1d04fcfbaa
typo V: the typo strikes back
2021-03-07 20:15:22 +01:00
Fabian Dill
cd5696527d
some er layout group fixes
2021-03-07 20:11:36 +01:00
Fabian Dill
11e1125044
fixes for solo tracker
2021-03-06 05:59:49 +01:00
Fabian Dill
bfa9bde348
Merge branch 'main' into breaking_changes
2021-03-03 02:00:10 +01:00
Fabian Dill
7ac893f3e0
fix adjuster crash
2021-03-03 01:59:33 +01: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
Fabian Dill
8bfddb7fc6
Remove Single-Item logic macros
2021-02-27 17:11:54 +01:00
CaitSith2
2e275d1f4e
Merge remote-tracking branch 'pepperpow/triforce_changes' into main
2021-02-26 19:56:44 -08:00
Fabian Dill
abcc2690f0
Add "Fake" (Randomizer-only) Hollow Knight items
2021-02-26 21:03:16 +01:00
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