Commit Graph

59 Commits

Author SHA1 Message Date
Fabian Dill
80a5845695 LttP: Move over to SNI 2021-07-07 03:45:27 +02:00
Fabian Dill
15bd79186a remove player_name feature in MultiMystery
MultiMystery is slated to be integrated into Mystery and the auto-launch feature is not maintainable for a growing games list
2021-06-06 18:12:19 +02:00
Fabian Dill
034f338f45 set default hint cost to 10 2021-06-01 04:28:15 +02:00
espeon65536
685de847c4 Minecraft updates (#13)
* Minecraft locations, items, and generation without logic

* added id lookup for minecraft

* typing import fix in minecraft/Items.py

* fix 2

* implementing Minecraft options and hard/postgame advancement exclusion

* first logic pass (75/80)

* logic pass 2 and proper completion conditions

* added insane difficulty pool, modified method of excluding item pools for easier extension

* bump network_data_package version

* minecraft testing framework

* switch Ancient Debris to Netherite Scrap to avoid advancement triggering on receiving that item

* Testing now functions, split tests up by advancement pane, added some story tests

* Newer testing framework: every advancement gets its own function, for ease of testing

* fixed logic for The End... Again...

* changed option names to "include_hard_advancements" etc.

* village/pillager-related advancements now require can_adventure: weapon + food

* a few minecraft tests

* rename "Flint & Steel" to "Flint and Steel" for parity with in-game name

* additional MC tests

* more tests, mostly nether-related tests

* more tests, removed anvil path for Two Birds One Arrow

* include Minecraft slot data, and a world seed for each Minecraft player slot

* Added new items: ender pearls, lapis, porkchops

* All remaining Minecraft tests

* formatting of Minecraft tests and logic for better readability

* require Wither kill for Monsters Hunted

* properly removed 8 Emeralds item from item pool

* enchanting required for wither; fishing rod required for water breathing; water breathing required for elder guardian kill

* Added 12 new advancements (ported from old achievement system)

* renamed "On a Rail" for consistency with modern advancements

* tests for the new advancements

* moved slot_data generation for minecraft into worlds/minecraft/__init__.py, added logic_version to slot_data

* output minecraft options in the spoiler log

* modified advancement goal values for new advancements

* make non-native Minecraft items appear as Shovel in ALttP, and unknown-game items as Power Stars

* fixed glowstone block logic for Not Quite Nine Lives

* setup for shuffling MC structures: building ER world and shuffling regions/entrances

* ensured Nether Fortresses can't be placed in the End

* finished logic for structure randomization

* fixed nonnative items always showing up as Hammers in ALttP shops

* output minecraft structure info in the spoiler

* generate .apmc file for communication with MC client

* fixed structure rando always using the same seed

* move stuff to worlds/minecraft/Regions.py

* make output apmc file have consistent name with other files

* added minecraft bottle macro; fixed tests imports

* generalizing MC region generation

* restructured structure shuffling in preparation for structure plando

* only output structure rando info in spoiler if they are shuffled

* Force structure rando to always be off, for the stable release

* added Minecraft options to player settings

* formally added combat_difficulty as an option

* Added Ender Dragon into playthrough, cleaned up goal map

* Added new difficulties: Easy, Normal, Hard combat

* moved .apmc generation time to prevent outputs on failed generation

* updated tests for new combat logic

* Fixed bug causing generation to fail; removed Nether Fortress event since it should no longer be needed with the fix

* moved all MC-specific functions into gen_minecraft

* renamed "logic_version" to "client_version"

* bug fixes
properly flagged event locations/items with id None
moved generation back to Main.py to fix mysterious generation failures

* moved link_minecraft_regions into minecraft init, left create_regions in Main for caching

* added seed_name, player_name, client_version to apmc file

* reenabled structure shuffle

* added entrance tests for minecraft

* Minecraft logic updates
Wither kill now considers nether fortresses as a valid source of soul sand
A Furious Cocktail now requires beacons for resistance and village access for carrots
Uneasy Alliance now requires fishing rod to pull the ghast through the portal
On a Rail now requires iron pickaxe to make powered rails
Overkill now may require strength II without stone axe, which needs nether access

* embed all apmc info into slot_data

* updated MC tests for logic changes

* put apmc into zipfile

Co-authored-by: achuang <alexander.w.chuang@gmail.com>
2021-05-16 00:49:58 +02:00
Fabian Dill
a231850911 Make hint costs relative 2021-05-11 23:08:50 +02:00
Fabian Dill
237b44ca66 Update Documentation to match compatibility variable 2021-05-10 22:04:19 +02:00
Fabian Dill
37755cd362 Factorio: Automatically find and force create bridge file 2021-05-09 16:49:47 +02:00
Fabian Dill
6567f14415 add log_network Server argument 2021-04-07 02:37:21 +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
CaitSith2
4d99bb1429 Allow setting of Glitching to Triforce from ganon in host.yaml. 2021-03-22 13:14:19 -07:00
Fabian Dill
567954a17f Merge branch 'main' into breaking_changes
# Conflicts:
#	BaseClasses.py
2021-03-06 05:27:16 +01:00
CaitSith2
d09a03aace Rip out unsafe yaml loading. 2021-03-05 11:32:24 -08:00
Fabian Dill
2b553cd1c5 Give security warning 2021-03-04 08:44:07 +01: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
8ebd36b5a7 update Archipelago 2021-01-03 14:32:32 +01:00
Fabian Dill
be162f5b8d Connections Plando Support 2021-01-02 22:41:03 +01:00
Fabian Dill
f3b6be2b20 Item Plando Support 2021-01-02 12:49:43 +01:00
Fabian Dill
84a5c93995 correct that zip_spoiler: 1 is what you want to include the spoiler log 2020-12-30 16:34:51 +01:00
Fabian Dill
b5e80d1f87 remove no longer used port_forward option 2020-11-30 16:33:54 +01:00
Fabian Dill
fd1a25e362 update Enemizer download link 2020-11-15 14:49:09 +01:00
Fabian Dill
27971ee6a9 add functionality for async generation to MultiMystery.py 2020-11-08 07:26:50 +01:00
CaitSith2
119a5a2b66 Allow client side login and remote issuing of server side commands.
Disabled by default. Requires a password to be set for it to be enabled.
2020-09-21 22:11:43 -07:00
Fabian Dill
1fc368da1f remove Farrak's host.yaml options 2020-09-15 01:01:27 +02:00
Chris Wilson
ae0a6362a6 Revert some accidentally set data in host.yaml 2020-09-13 00:19:27 -04:00
Chris Wilson
c56b288d85 Fix a bug in player settings causing Timed OHKO to initially display as [Object Object] 2020-09-13 00:17:46 -04:00
Pandatron76
33a86e0812 Revise comments in multiple YAML files (#137)
* Clean up README.md and easy.yaml

Removed periods at end of bullets
General revisions to wording and format
Updated glitch logic comments in easy.yaml

* #133: Implemented requested changes by ljwu

* Update README.md

* Revise comments in multiple YAML files

* #137: Implement revisions from PR conversations
2020-09-03 13:14:25 +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
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
2eea9b913c default to outputting to {local_path}/output
* Windows setup has that path as writable by everyone
* most others run from source, where the entire source path and children is writable.
* People complained about files appearing in My Documents, which admittedly is not intuitive
2020-08-01 16:52:11 +02:00
Fabian Dill
1d036c0d3c add compatibility server setting 2020-07-16 16:57:38 +02:00
Fabian Dill
2338d25b39 expand rom auto_start to be customizable 2020-07-15 17:19:16 +02:00
Fabian Dill
d190fe65c6 webhost update 2020-07-10 17:42:22 +02:00
Fabian Dill
e0e13ac59e move webhost over to UUID to make it nearly impossible to guess at seeds
Also introduce zip uploads and store the remaining relevant data, implemention of that still pending
2020-06-26 19:29:33 +02:00
Fabian Dill
ddc7be0794 update webhost 2020-06-13 22:49:57 +02:00
Fabian Dill
f918efb645 implement skip_playthrough in mystery 2020-05-31 00:28:03 +02:00
Fabian Dill
6afd4f0507 addresses #86
And also fixes auto, which worked as goal but never got triggered
2020-05-04 02:47:22 +02:00
Fabian Dill
77ca61d069 introduce forfeit_mode and remaining_mode, as well as server state for client has beaten the game
more info in host.yaml
2020-04-25 15:11:58 +02:00
Fabian Dill
a36d887122 add ability to disable forfeits 2020-04-16 15:40:31 +02:00
Fabian Dill
4d27651d8d some zip format hints 2020-04-10 14:29:42 +02:00
Fabian Dill
380b59ade2 the setup experience 2020-04-07 04:18:26 +02:00
Fabian Dill
8b02103b93 encode port into patch, also reverse defaulting order for server;
cmd args overwrite yaml now
2020-04-02 11:21:33 +02:00
Fabian Dill
3bb4ace176 Allow use of "options.yaml" as a gitignored options overwrite
This also sets the default hint cost back to 1000, enable it if you want it.
2020-03-22 20:12:42 +01:00
Fabian Dill
27f26c5bf3 update port doc 2020-03-11 09:27:07 +01:00
Fabian Dill
d220cc9cc9 make port forwarding non-default, as it makes more problems than it solves, apparently 2020-03-11 09:16:07 +01:00
Fabian Dill
3fd4a4d125 some setting adjustments 2020-03-08 15:47:43 +01:00
Fabian Dill
74b1688427 Allow diff files to be created from the command line 2020-03-08 15:34:35 +01:00
Fabian Dill
1d75d5b70e default to the legal way of doing things
Also set compression method down to zip, as the diffs are already LZMA compressed and zip is quicker
2020-03-07 18:57:50 +01:00
Fabian Dill
325f40bcfa move docs 2020-03-07 18:55:53 +01:00
Fabian Dill
4c75140492 some documentation 2020-03-07 17:06:34 +01:00