Commit Graph
274 Commits
Author SHA1 Message Date
toasterpartyandGitHub 7f3f886e41 Overcooked! 2: Implementation (#1046)
Overcooked! 2 is a couch co-op arcade game with a very high skill ceiling. It has a small but occult following, and the community craves a reason to keep coming back besides just grinding high scores. as such, this PR represents 3 major milestones in one:

 * The launch of OC2 Modding, a modding framework which is the first public mod for the game beyond simple RAM trainers
 * The launch of OC2 Randomizer
 * The integration of OC2 Randomizer in Archipelago
2022-10-13 19:57:50 +02:00
e708bea819 [Sudoku] Added new BK mode game (#910)
Co-authored-by: Hussein Farran <[email protected]>
Co-authored-by: SoldierofOrder <[email protected]>
2022-10-13 07:55:00 +02:00
f909576813 core: Generic boss plando handler (#1044)
* fix some blunders i made when implementing this

* move generic functions to core class

* move lttp specific stuff out and split up from_text a bit for more modularity

* slightly optimize from_text call order

* don't make changes on github apparently. reading hard

* Metaclass Magic

* do a check against the base class

* copy paste strikes again

* use option default instead of hardcoded "none". check locations and bosses aren't reused.

* throw dupe location error for lttp

* generic singularity support with a bool

* forgot to enable it for lttp

* better error handling

* PlandoBosses: fix inheritance of singularity

* Tests: PlandoBosses

* fix case insensitive tests

* Tests: cleanup PlandoBosses tests

* f in the chat

* oop

* split location into a different variable

Co-authored-by: black-sliver <[email protected]>

* pass the list of options as `option_list`

Co-authored-by: black-sliver <[email protected]>

Co-authored-by: black-sliver <[email protected]>
2022-10-12 20:28:32 +02:00
Fabian DillandGitHub 060a04700d Core: allow generic access to indirect_connections (#1056) 2022-09-30 04:58:19 +02:00
c96b6d7b95 Core: some typing and docs in various parts of the interface (#1060)
* some typing and docs in various parts of the interface

* fix whitespace in docstring

Co-authored-by: black-sliver <[email protected]>

* suggested changes from discussion

* remove redundant import

* adjust type for json messages

* for options module detection:
 module.lower().endswith("options")

Co-authored-by: black-sliver <[email protected]>
2022-09-28 23:54:10 +02:00
black-sliver 809bda02d1 Test: item/location name must not be numeric 2022-09-20 18:38:16 +02:00
9daa64741b New, smarter fast_fill function (#646)
Co-authored-by: Fabian Dill <[email protected]>
2022-09-17 02:06:25 +02:00
Fabian DillandGitHub af11fa5150 Core: auto alias (#1022)
* Test: check that default templates can be parsed into Option objects
2022-09-16 00:32:30 +02:00
8aad75ed23 Tests: Check for Holes in the Item Pool (#992)
* test for holes in the item pool

* Update test/general/TestItems.py

Co-authored-by: alwaysintreble <[email protected]>

* Update test/general/TestItems.py

Co-authored-by: alwaysintreble <[email protected]>

* Update test/general/TestItems.py

Co-authored-by: black-sliver <[email protected]>

* Update test/general/TestItems.py

Co-authored-by: black-sliver <[email protected]>

Co-authored-by: alwaysintreble <[email protected]>
Co-authored-by: black-sliver <[email protected]>
2022-09-05 10:02:40 +02:00
Fabian DillandGitHub e413619c26 Tests: verify that a world doesn't use the same ID multiple times (#985) 2022-09-01 21:25:06 +02:00
Fabian DillandGitHub c390801c4c Test: verify file webhost file creations work to some degree (#953)
WebHost: fix some file creation paths
2022-08-23 01:07:17 +02:00
alwaysintrebleandGitHub 81cf1508e0 Core: Refactor Autoworld.options to Autoworld.option_definitions (#906)
* refactor `world.options` -> `world.option_definitions`

* rename world api reference

* missed some self.options
2022-08-15 23:46:59 +02:00
black-sliverandGitHub b8ca41b45f Utils: SI: fix rounding problems (#895)
* Utils: SI: fix rounding problems

999.999 would give 1000.00 instead of 1.00k

* Tests: add Utils: SI tests
2022-08-12 00:46:11 +02:00
21f7c6c0ad Core: optimize away Item.world (#840)
* Core: optimize away Item.world

* Update test/general/TestFill.py

* Test: undo unnecessary changes

* lttp: remove two more Item.world writes

Co-authored-by: black-sliver <[email protected]>
2022-08-05 17:09:21 +02:00
Fabian DillandGitHub 6c525e1fe6 Core: move multiple Item properties into a single Flag (#638) 2022-06-17 03:23:27 +02:00
Fabian DillandFabian Dill 5be00e28dd Tests: always display all warnings
WebHost: fix a warning about new cache names
2022-06-17 03:22:43 +02:00
Fabian DillandGitHub ff608b72a2 Tests: add test to check for typo'd item name group definitions (#594)
* Tests: add test to check for typo'd item name group definitions
Factorio: item *name* group was pointing to IDs instead.
Server: prevent crash when using Event-filled item name group

* Server: prevent crash when /hint'ing for an item name group with events
2022-06-01 08:25:40 -07:00
alwaysintrebleandGitHub c93eeb3607 tests: implement test to check for game_info file (#531) 2022-05-19 00:08:29 +02:00
Doug HoskissonandGitHub c085ee47ed variable-progression-balancing (#356) 2022-05-11 09:13:21 +02:00
Fabian DillandGitHub a5ca118bbf Test: rename (#499) 2022-05-10 23:51:18 -07:00
Fabian DillandKonoTyran a56340663c Test: check that all_state can complete game 2022-05-10 19:20:15 -07:00
Fabian DillandKonoTyran e3900e9f99 Test: fix wrong name 2022-05-10 19:20:15 -07:00
Fabian DillandKonoTyran e8b1362172 Test: check for working completion condition 2022-05-10 19:20:15 -07:00
Fabian DillandGitHub 7fad0b0f51 Test: introduce test for every game has a tutorial (#478) 2022-05-03 22:14:03 +02:00
black-sliverandFabian Dill 4f10dbb896 Test: add missing cleanup in TestGenerate
fixes a warning on some systems
2022-04-24 19:32:08 +02:00
black-sliverandFabian Dill fe4a26d034 CI: add Generate.py tests
* allows ModuleUpdate to be run outside of local_dir
* adds windows-latest to the unittest matrix
2022-04-01 06:16:13 +02:00
Fabian DillandFabian Dill 65864e273b Fix bugs 2022-04-01 03:54:30 +02:00
espeon65536andFabian Dill 1b73bacde1 Minecraft: add death_link attr to test world 2022-02-23 02:44:47 +01:00
jtoyodaandFabian Dill cdc0b7a649 Fixing unit tests for FFR by excluding tests that use Default settings as FFR logic is controlled by the original randomizer 2022-02-21 00:01:27 +01:00
Fabian Dill daea0f3e5e Core: provide a way to add to CollectionState init and copy
SM: use that way
OoT: use that way
2022-02-17 07:07:34 +01:00
black-sliverandFabian Dill a4eea3325f Document id range for items and locations 2022-02-12 03:00:09 +01:00
Brad HumphreyandFabian Dill 2361f8f9d3 Use logic when placing non-excluded items 2022-02-01 16:35:18 +01:00
Brad HumphreyandFabian Dill 814851ba60 Don't require every item to fill 2022-01-31 19:17:06 +01:00
Fabian Dill 6210630ce2 Core: increment version 2022-01-30 03:45:21 +01:00
Fabian Dill e5af7d11cc Tests: add ID range checks 2022-01-29 16:10:42 +01:00
Brad HumphreyandGitHub dd61d0d395 Don't swap items that reduce access (#247) 2022-01-28 05:40:08 +01:00
Brad HumphreyandFabian Dill 65a92746d1 Sort before distribute to preserve seed integrity 2022-01-28 05:39:34 +01:00
Brad HumphreyandFabian Dill 00ccecac9c Allow fill_hook to remove things from the pool 2022-01-22 04:40:24 +01:00
Brad HumphreyandGitHub ec95ce8329 Allow locations to be prioritized for progress item placement (#189) 2022-01-20 04:19:07 +01:00
Fabian Dill 80b3a5b1d4 WebHost: fix is_zipfile check for flask FileStorage objects
- and assorted cleanup
2022-01-06 06:09:15 +01:00
Brad HumphreyandFabian Dill d437f0105a Test remaining locations after swapping 2021-12-30 19:06:03 +01:00
Brad HumphreyandFabian Dill 3d65719170 Remove dependency on pytest 2021-12-30 16:55:08 +01:00
Brad HumphreyandFabian Dill 18d262c1ae Add test for minimal accessibility 2021-12-30 16:55:08 +01:00
Brad HumphreyandFabian Dill e5fedb90a6 Process swaped items last 2021-12-30 16:55:08 +01:00
Brad HumphreyandFabian Dill d719eb356f Don't allow items to swap infinitly 2021-12-30 16:55:08 +01:00
Brad HumphreyandFabian Dill 6a34fe5184 Add fallback item swap for unreachable items 2021-12-30 16:55:08 +01:00
Brad HumphreyandFabian Dill 461961c3be Add test locations to region 2021-12-30 16:55:08 +01:00
Brad HumphreyandFabian Dill 39869bcdc5 Add basic fill test cases 2021-12-30 16:55:08 +01:00
3fa253bac5 MC: 1.17 support (#120)
* MC: add death_link option

* Minecraft: 1.17 advancements and logic support

* Update Minecraft tracker to 1.17

* Minecraft: add tests for new advancements

* removed jdk/forge download install out of iss and into MinecraftClient.py using flag --install

* Add required_bosses option
choices are none, ender_dragon, wither, both
postgame advancements are set according to the required boss for completion

* fix docstring for PostgameAdvancements

* Minecraft: add starting_items
List of dicts: item, amount, nbt

* Update descriptions for AdvancementGoal and EggShardsRequired

* Minecraft: fix tests for required_bosses attribute

* Minecraft: updated logic for various dragon-related advancements
Split the logic into can_respawn and can_kill dragon
Free the End, Monsters Hunted, The End Again still require both respawn and kill, since the player needs to kill and be credited with the kill
You Need a Mint and Is It a Plane now require only respawn, since the dragon need only be alive; if killed out of logic, it's ok
The Next Generation only requires kill, since the egg spawns regardless of whether the player was credited with the kill or not

* Minecraft client: ignore prereleases unless --prerelease flag is on

* explicitly state all defaults
change structure shuffle and structure compass defaults to true
update install tutorial to point to player-settings page, as well as removing instructions for manual install

* Minecraft client: add Minecraft version check
Adds a minecraft_version field in the apmc, and downloads only mods which contain that version in the name of the .jar file.
This ensures that the client remains compatible even if new mods are released for later versions, since they won't download a mod for a later version than the apmc says.

Co-authored-by: Kono Tyran <[email protected]>
2021-12-01 02:37:11 +01:00
Fabian Dill ec9ef21cc0 Tests: add create_item test 2021-11-11 00:06:51 +01:00