Commit Graph

8458 Commits

Author SHA1 Message Date
jamesbrq f110a7efbc Gauntlet Legends: Implement New Game (#3499)
* Update GauntletLegendsClient.py

* Continuation of obelisk update

* APPP Implementation Groundwork.

* Continuation of APPP Implementation

* Create Pain.asm

* ROM verification modified since crc32 hash can no longer be calculated.

* Initial upload of barrel/chest locations.

* Finished adding and naming all chests/barrels.

* Continued locations.

* Added new yaml options

* Work on mirror shards

* Python 3.8 compatibility

* Finalized location names. Fixed lambda bug.

* v1.0

* Removed excess Docs and Changed item counts.

* Update Archipelago Unittests.run.xml

* Started working on Docs.

* Updated item arrays for client

* Fix client bugs

* Flake8 fixes + Yaml fix

* Update speed boots

* v1.1

* Update GauntletLegendsClient.py

* Update GauntletLegendsClient.py

* Update GauntletLegendsClient.py

* Update GauntletLegendsClient.py

* v1.0.4

* Initial Ruff format

* Formatting part-2

* More formatting + Doc changes

* Updated Docs

* Move client to root

* Update Client Name

* Make Imports Relative

* Add new yaml options + rename obelisks

* v1.1 Initial Upload

* v1.1.0 + some additions

* Client Update

* Client Updates

* pre-v1.1.1

* Update GauntletLegendsClient.py

* pre-1.2

* 1.2.0

* v1.2.1

* Client fixes

* v1.3.0

* v1.4.0

* v1.4.1

* Merged Changes

* Experimental

* pre-v1.5.0

* Changes

* v1.5.0

* Update GauntletLegendsClient.py

* Death Update

* pre v1.5.1

* Obelisk rule changes

* pre-v1.5.1

* Update GauntletLegendsClient.py

* v1.5.1

* v1.5.1

* Update GauntletLegendsClient.py

* Small fix

* Update GauntletLegendsClient.py

* v1.5.2

* pre-v1.6.0

* pre-v1.6.0

* v1.6.0

* Update

* Update GauntletLegendsClient.py

* Test

* pre-v1.6.0

* Client Updtaes

* Update GauntletLegendsClient.py

* Update GauntletLegendsClient.py

* Update GauntletLegendsClient.py

* Update Rom.py

* Update GauntletLegendsClient.py

* Update Rom.py

* Added Logging on stage enter

* v1.6.2

* v1.6.2

* Update Rom.py

* Update GauntletLegendsClient.py

* v1.6.3

* Small Update

* Update GauntletLegendsClient.py

* Update GauntletLegendsClient.py

* Update GauntletLegendsClient.py

* Changes ready for review

* Update Rom.py

* Remove root client

* Update inno_setup.iss

* Update client

* Initial Review Refactor

* Update Arrays.py

* Review refactor

* Update __init__.py

* Small tweaks after test generations

* Update GauntletLegendsClient.py

* Implement new check_locations() function

* Add name for Skorn to level_names Dict

* Fix for #4671

* Update __init__.py

* Adjust item frequency + Place 50% of filler as local

* Oops I modified the itempool after create_items teehee

* Update __init__.py

* Check MD5 hash before patching ROM

* Update __init__.py

* Fix get_filler_item_name()

* Update MD5 check to built in method in FilePath

* Update Rom.py

* Update worlds/gl/Rom.py

Co-authored-by: qwint <qwint.42@gmail.com>

* WIP Generation fixes

* v1.7.1

* Update Archipelago Unittests.run.xml

* 0.7.2

* Update GauntletLegendsClient.py

* Review Edits

* Update World description

* Fuzz fixes

* Update GauntletLegendsClient.py

* Make static data immutable

* Update option comparisons since no longer a Choice

* Update worlds/gl/Rom.py

Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>

* Update __init__.py

* Initial Update commit

* Progress

* Remove un-used import + Add manifest

* Add missing docstring for client command

* Progress

* pre-v2.0.0-BETA

* Updates

* Progress

* Working Generations

* Working IN-Game

* v2.0.0-BETA

* Create archipelago.json

* v2.0.1

* v2.0.1 FINAL

* pre v2.0.2

* Delete report.json

* Cleanup

* pre v2.0.2

* v2.0.2

* PR Ready

* Update Items.py

* Delete fuzz.py

* Update Items.py

* Update GauntletLegendsClient.py

* Fix scouting disabled locations

* Client Updates

* v2.0.3

* Increment World Version

* Docstring + slot_data updates

* Option name update + Remove redundant option

* Code Cleanup

* Trenches is level 24

* Frequencies

* More cleanup and removal of stale code. MISSING BASEPATCH

* v2.1.0

* Minor enemy changes

* Small fix

* Update Rom.py

* v2.1.1

* Small fixes

* Update basepatch.bsdiff4

* Update GauntletLegendsClient.py

* Socket error clarity

* Delete settings.local.json

* Update GauntletLegendsClient.py

* v2.1.2 fixes

* Boss portal fix

* Small client fix + Item Frequencies

* Update archipelago.json

* Fix for games playing with max difficulty lower than 4 not sending locations

* Update archipelago.json

* v2.1.5

* Fix for Chimera's lair mirror shard

* Update archipelago.json

* Mod Re-Base + Queue limits + Item Receiving fixes

* Options cleanup and newlines for some files

* Include v2.x features in docs

* Make sure players has at least 1 item

* v2.1.6

* Update archipelago.json

* Review Edits + Client Tweaks

---------

Co-authored-by: qwint <qwint.42@gmail.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
Co-authored-by: Fabian Dill <Berserker66@users.noreply.github.com>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
2026-07-11 19:26:27 +02:00
qwint f9c5868f7b ModuleUpdate: Add core requirements.txt as a constraint file to pip calls (#6309)
* Add core requirements.txt as a constraint file to pip calls

* remove --upgrade as requested

* Update ModuleUpdate.py
2026-07-11 18:27:58 +02:00
Doug Hoskisson fde71f66f3 Core: typing and cleaning, mostly in Fill.py (#4459)
* Core: typing and cleaning, mostly in `Fill.py`

* fix typing of things we get out of plando blocks

* clean getting multiworld from kwargs
add a list type
clean indentation

* fix issues with merge conflict resolution

* some things found after merge
2026-07-11 13:26:19 +02:00
Uriel e6e0bc3042 WebHost: Config option for custom port ranges v2 (#6009)
* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.

* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer

* Added ability to define custom port ranges the WebHost will use for game servers, instead of pure random.

* - Added better fallback to default port range when a custom range fails
- Updated config to be clearer

* Updated soft-fail message

* Removed dead import from customserver.py

* Update requirements.txt

Settings requirements to main core branch

* fix what reviewers said and add some improvements

* remove unused argument

* try fixing test with try

* use yaml lists instead of string for config

* fix value type bug on ephemeral type

* reuse sockets with websockets api instead of opening and closing them

* add used ports cache and filter used ports when looking for ports

* fix port randomizer

* Apply suggestions from code review

Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>

* fix some reviews

* use weights for random port and remove more-itertools

* fix net_connections not working on macOS

* rename variables and functions

* lazy init `get_used_ports`

* change `game_ports` to be `tuple`

* fix last_used_ports not being updated locally

* fix random choices and move game_port conversion into tuple

* Apply suggestions from code review

Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>

* use a named tuple on parse_game_ports

* only use ranges

* do it the duck way

* this should check all usable ports before failing

* fix while loop

* add return type to weighted random

* Update WebHostLib/customserver.py

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* simplify tuple conversion check

* add tests

* reformat file and change `create_random_port_socket` test

* add more test cases for parse_game_ports

* try to prevent busy-looping on create random port socket when doing test

* simplify parse game port tests to one assertListEqual

* make the range lesser for port test

* reduce range on macOS

* Apply suggestions from code review

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* Update WebHostLib/customserver.py

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>

* remove unused import

* Update WebHostLib/customserver.py

Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>

* use generator expressions

* check for 0-tuple

* use some kind of shuffled queue

* update tests

* refactor new port handling into a class (#1)

* change time to monotonic

* Update docs/webhost configuration sample.yaml

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

* add psutil 7.2.2 as requirement

* Update WebHostLib/requirements.txt

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>

---------

Co-authored-by: Lexipherous <jasonnlelong@gmail.com>
Co-authored-by: Duck <31627079+duckboycool@users.noreply.github.com>
Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
Co-authored-by: Doug Hoskisson <beauxq@users.noreply.github.com>
2026-06-20 17:36:18 +02:00
Emily 5ccef9802a WebHost: fix Authors on supported game page (#6218) 2026-06-07 18:21:30 +02:00
CosmicWolf 09aba95c03 Factorio: Fixed a needlessly small bug that does not affect gameplay (#6147) 2026-06-03 17:53:37 +02:00
Ishigh1 2a8ebe2399 Core+RB: Make has_from_list, has_from_list_unique, has_group and has_group_unique return True if count <= 0 and list is empty (#6240) 2026-06-03 08:20:04 +02:00
Ishigh1 ad0af18f51 Rule Builder: Resolve empty and() to True_() instead of False_()(#6239) 2026-06-02 09:10:43 +02:00
Justus Lind 65277a50ce Muse Dash: Update to Touhou Mugakudan -V- (#6234) 2026-06-01 22:38:23 +02:00
dependabot[bot] d241829585 Bump mistune from 3.2.0 to 3.2.1 in /WebHostLib (#6185)
Bumps [mistune](https://github.com/lepture/mistune) from 3.2.0 to 3.2.1.
- [Release notes](https://github.com/lepture/mistune/releases)
- [Changelog](https://github.com/lepture/mistune/blob/main/docs/changes.rst)
- [Commits](https://github.com/lepture/mistune/compare/v3.2.0...v3.2.1)

---
updated-dependencies:
- dependency-name: mistune
  dependency-version: 3.2.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-05-31 23:55:57 +02:00
CosmicWolf b24b3d10b6 Factorio: Locale changes (#5908)
---------

Co-authored-by: Joris Santen <joris.j.vansanten@student.hu.nl>
Co-authored-by: lepideble <147614625+lepideble@users.noreply.github.com>
2026-05-31 01:49:39 +02:00
Fabian Dill 787ddc400c Core: Bump version from 0.6.7 to 0.6.8 (#6114) 2026-05-27 03:26:30 +02:00
qwint 545171f3f4 Core: reset log level when using pyximport (#6212) 2026-05-20 09:12:54 +02:00
Jérémie Bolduc d0abfeb88b The Messenger: Fix portal shuffle logic not using unlocked portals (#6194) 2026-05-18 13:53:48 +02:00
Will Morrow b575983599 SM64: Change power star item classification to be deprioritized (#6191) 2026-05-17 23:44:40 +02:00
Jérémie Bolduc d8d148ac13 Stardew Valley: Bypass CollectionState overhead by just calling prog_items (#6065) 2026-05-17 23:41:34 +02:00
Silvris 24f75ba072 Settings: validate FilePath hash on use (#5854) 2026-05-17 23:40:08 +02:00
Katelyn Gigante 38e77e1b46 Factorio: Remove the need to have two separate installs (#4221) 2026-05-16 18:29:30 +02:00
JaredWeakStrike 799e0b7b0f KH2: fix ice cream double counting for logic (#6068) 2026-05-11 02:16:20 +02:00
Justus Lind 4ef1fb7630 Muse Dash: Convert to Rule Builder (#6166)
---------

Co-authored-by: Silvris <58583688+Silvris@users.noreply.github.com>
2026-05-09 21:25:34 +02:00
Alchav 0cd81ff500 A Link to the Past: We Have Enemizer at Home (#6153) 2026-05-09 17:07:46 +02:00
Duck 55a1b12cb7 CommonClient: Make hint cost (shown in server label) update (#6149) 2026-05-09 17:01:22 +02:00
Duck 3fcd337f65 WebHost: Add authors to supported games page (#6123) 2026-05-09 17:00:00 +02:00
Duck 7a5acfeceb Core: Make manifest accessible as a world attribute (#6122) 2026-05-09 16:59:05 +02:00
Bryce Wilson 06dc1b897c Pokemon Emerald: Switch to rule builder (#5923) 2026-05-09 16:58:01 +02:00
Ishigh1 4a28888a66 Rule Builder: Implement AtLeast (#6085)
---------

Co-authored-by: Ian Robinson <ianronrobinson@gmail.com>
2026-05-09 16:56:10 +02:00
Christina d0407a74d6 Docs: Added new documentation for DS3's enemy randomization (random_enemy_preset) (#5738)
---------

Co-authored-by: Nicholas Saylor <79181893+nicholassaylor@users.noreply.github.com>
2026-05-09 16:54:20 +02:00
josephwhite e0810022f8 WebHost: Fix adding weighted text options (#5116) 2026-05-09 16:51:56 +02:00
Mysteryem 29a6f40c2b Blasphemous: Increase logic performance (#4585)
---------

Co-authored-by: Exempt-Medic <60412657+Exempt-Medic@users.noreply.github.com>
2026-05-09 16:50:34 +02:00
josephwhite 2bd572c23d Super Mario 64: Basic testing (#4335)
---------

Co-authored-by: Yussur Mustafa Oraji <N00byKing@hotmail.de>
Co-authored-by: NewSoupVi <57900059+NewSoupVi@users.noreply.github.com>
2026-05-09 16:46:53 +02:00
Scipio Wright b59e52a103 Options: Remove the "" from the start inventory examples (#6165)
---------

Co-authored-by: Emily <35015090+EmilyV99@users.noreply.github.com>
2026-05-05 16:14:19 +02:00
Silvris 6d9d340c71 Launcher: display window for failed world loads if any (#6058) 2026-05-05 07:30:47 +02:00
qwint 4486510fbc Options: make template generation log the failing world if one fails (#6176) 2026-05-02 17:53:37 +02:00
Fabian Dill a68109f5a7 WebHost: Add deletion of old content to cleanup function (#6119)
---------

Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com>
2026-05-01 22:38:46 +02:00
Alchav 234b0581c9 ALttP: Fix starting mail and shield equipment from start inventory (#6154) 2026-05-01 11:30:35 +02:00
Justus Lind 798eeaad91 Muse Dash: Update to DASH AND SHOOT (#6163) 2026-05-01 11:29:59 +02:00
qwint 1875062099 Undertale: Handle zero arg /auto_patch (#5130) 2026-04-29 22:29:41 +02:00
Seldom 9da3c29990 Terraria: fix failing to generate with Calamity enabled and full accessibility on Mechanical Bosses goal #5787 2026-04-29 21:25:38 +02:00
palex00 90b72c0fa5 Docs: Add missing space to plando doc #6060 2026-04-29 21:25:14 +02:00
Mysteryem fd8f3fcd8b The Messenger: Add missing indirect conditions (#6101) 2026-04-29 21:24:41 +02:00
Jérémie Bolduc d36ba62243 The Messenger: Add missing rules for Key of Strength#6124 2026-04-29 21:24:10 +02:00
Ixrec 8ac335f92d Docs: Rewrite get_filler_item_name's docstring to avoid implying it's for filling all unfilled locations #5956 2026-04-29 21:22:35 +02:00
qwint 74a0cd6022 MultiServer: update help doc on auto_shutdown#5917 2026-04-29 21:21:42 +02:00
Sophia Caspe 31f5a6c4ea Docs: Rule Builder Filtered Example Fix (#6152) 2026-04-29 21:19:32 +02:00
River Buizel be9c7b1728 KH2: Update setup_en.md (#6129) 2026-04-29 21:18:59 +02:00
massimilianodelliubaldini a0236b2d74 Jak1: yamlless UT support (#6066) 2026-04-29 21:18:21 +02:00
threeandthreee af39d7926a LADX: doc update (#6050)
* update gfxmod doc

* romless generation

* Update setup_en.md

Co-authored-by: RoobyRoo <thegreenrobby@gmail.com>

---------

Co-authored-by: RoobyRoo <thegreenrobby@gmail.com>
2026-04-29 21:15:57 +02:00
Ian Robinson a48bf0195f Docs: Make RB OptionFilter docs clearer (#6028)
* add more docs for option filters

* reword the whole things

* style guide
2026-04-29 21:14:34 +02:00
Sophira 73856f63c8 Docs: Mention APQuest as a reference (#6000)
The APQuest implementation of an APWorld is incredibly useful and should
really have a mention here.
2026-04-29 21:12:04 +02:00
CookieCat d5cc201138 AHIT: Update FAQ in setup guide (#5975) 2026-04-29 21:11:36 +02:00