Commit Graph

433 Commits

Author SHA1 Message Date
Fabian Dill 88265c5585 flatten and integer cast HK options per request 2021-04-17 21:16:09 +02:00
Fabian Dill 501c55cc26 add per-slot data and embed HK options in it 2021-04-17 21:03:57 +02:00
Fabian Dill 2df7e4e537 add seed_name to multidata and RoomInfo 2021-04-12 09:36:45 +02:00
Fabian Dill 3858a12f26 MultiServer: check for correct game 2021-04-10 21:08:01 +02:00
Fabian Dill c4d6ac50be turn weapons into boolean swordless 2021-04-09 20:40:45 +02:00
Fabian Dill f0a6b5a8e4 Factorio:
add visibility option
fix tech_cost using the wrong variable name
fix yaml defaults not init'ing the Option class
LttP:
fix potential pathing confusion in maseya palette shuffler
Server:
Minimum version per team made no sense, removed
2021-04-08 19:53:24 +02:00
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