Commit Graph

113 Commits

Author SHA1 Message Date
black-sliver 10c6a70696 Auto-validate Option.schema, Factorio: allow setting pollution values 2021-07-20 18:39:01 +00:00
espeon65536 719e21ac8c update playerSettings for exclusion 2021-07-15 06:04:09 +00:00
Fabian Dill 5adbab1d2b fix FactorioClient not applying world gen preset 2021-07-13 03:44:41 +02:00
Fabian Dill f44f015cb9 typo in playerSettings.yaml 2021-07-08 00:02:17 +02:00
Fabian Dill 9db506ef42 Factorio: recipe randomization (rocket-part and science-packs only for now) 2021-07-07 10:14:58 +02:00
Fabian Dill e58ae58e24 Factorio: add Progressive Option 2021-07-04 22:21:53 +02:00
espeon65536 44943f6bf8 Merge branch 'main' of https://github.com/ArchipelagoMW/Archipelago into minecraft 2021-06-25 19:44:15 -05:00
Fabian Dill 023a798ac1 Factorio: refactor visibility option into tech_tree_information
set vanilla technologies to be hidden instead of disabled
          fix advancement icon still showing when no information in tech was supposed to be given
2021-06-21 22:25:49 +02:00
Fabian Dill 07d61f6d47 fix playerSettings.yaml post-merge 2021-06-21 02:51:54 +02:00
Fabian Dill 304f63aedf Merge branch 'espeon' into Archipelago_Main
# Conflicts:
#	playerSettings.yaml
2021-06-21 02:49:06 +02:00
espeon65536 b51b094cc1 Added HMG to playerSettings 2021-06-18 23:45:03 -05:00
Fabian Dill f8fd8b3585 Factorio: add toggle to disable imported blueprints 2021-06-19 01:00:21 +02:00
Fabian Dill a08d7bb1b2 Settings: add requires 2021-06-18 22:15:54 +02:00
espeon65536 b29d0b8276 Fixed some options in the Minecraft section of playerSettings 2021-06-15 22:27:51 -05:00
Fabian Dill 167958c002 fix legacy weapons trigger 2021-06-15 23:23:39 +02:00
Fabian Dill b5193162bf update playerSettings.yaml 2021-06-15 20:26:31 +02:00
Fabian Dill 503c844971 categorize game options 2021-06-15 14:11:46 +02:00
Fabian Dill 86b612f3b5 implement random-middle 2021-06-12 21:05:45 +02:00
Fabian Dill 534dd331b9 document item locality options properly 2021-06-09 10:13:18 +02:00
Fabian Dill 5ea03c71c0 start moving some alttp options over to the new system 2021-06-08 21:58:11 +02:00
Fabian Dill 821b0f0f92 document random-high and random-low 2021-06-08 14:56:41 +02:00
Fabian Dill 46bb2d1367 Factorio: add chaos recipe time and use random.triangular distribution 2021-06-06 21:38:53 +02:00
Fabian Dill 403ddd603f Factorio: implement random recipe times 2021-06-06 21:11:58 +02:00
Fabian Dill 7907838c24 Factorio: Revamp Tech Tree Layouts 2021-06-06 20:26:40 +02:00
Fabian Dill c5ff962ea1 document start_hints 2021-05-13 02:53:59 +02:00
Fabian Dill 4aa56c1a7f don't default to active start_hints 2021-05-13 02:39:20 +02:00
Fabian Dill 681279cb2b Implement "start_hints" option 2021-05-13 02:35:50 +02:00
Fabian Dill f06d160615 don't check the AP tag anymore 2021-05-10 01:18:57 +02:00
Fabian Dill 909172cbad Factorio, Minecraft & Hollow Knight: add startinventory support 2021-05-09 21:22:21 +02:00
Fabian Dill c55983af5f Factorio: add starting_items 2021-05-09 17:46:26 +02:00
espeon65536 2f7e532f4f
Minecraft Randomizer
Squash merge, original Commits:

* 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

Co-authored-by: achuang <alexander.w.chuang@gmail.com>
2021-05-08 13:38:57 +02:00
Fabian Dill eb2a3009f4 Add dungeonscrossed to sample yaml 2021-05-08 12:08:55 +02:00
Fabian Dill 569e0e3004 Factorio: add option: random tech ingredients 2021-04-24 01:16:49 +02:00
Fabian Dill 0cf9baef4b Factorio: add document visibility option to playerSettings.yaml 2021-04-14 02:45:36 +02:00
Fabian Dill 4292cdddd5 Factorio: add Funnel tech shape 2021-04-11 18:19:47 +02:00
Fabian Dill 9aef76767a Include example trigger for legacy weapons 2021-04-11 15:53:13 +02:00
Chris Wilson 50f06c3aac Add "swords" option back to playerSettings.yaml 2021-04-10 12:31:04 -04:00
Fabian Dill 0586b24579 Factorio: add small_diamonds tech tree layout 2021-04-10 03:03:46 +02:00
Fabian Dill ceea55e3c6 traverse recipe tree for Factorio logic 2021-04-09 22:10:04 +02:00
Fabian Dill 96a28ed41e implement Factorio option "free_samples" 2021-04-06 21:16:25 +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
CaitSith2 9233a7e208 name variable changes
* Convert %number%, %player% and %% to {number}, {player} and %.
* added {NUMBER} - output number if greater than 1.
* added {PLAYER}, output player slot number if greater than 1.
2021-03-28 16:52:32 -07:00
Fabian Dill f55096b8cc use python str formatting for player variable names 2021-03-17 06:26:06 +01:00
Fabian Dill 6455dc3ffc Merge branch 'main' into breaking_changes
# Conflicts:
#	README.md
2021-03-13 23:34:38 +01:00
CaitSith2 a331c397aa Allow %%, %player%, %number% variables in names. 2021-03-12 17:43:50 -08:00
CaitSith2 c73b843f41 Document group settings for doors. 2021-03-07 14:12:20 -08:00
Fabian Dill f7dc21ddcc Merge branch 'main' into breaking_changes
# Conflicts:
#	Main.py
#	Utils.py
2021-03-07 22:04:06 +01:00