Skip to content

Conversation

@benny-dreamly
Copy link
Contributor

What is this fixing or adding?

This fixes the name of the "Build APWorlds" run config. I accidentally forgot to rename it when I originally PRed it.

How was this tested?

Ran it again, and it worked, however other testers are appreciated.

If this makes graphical changes, please attach screenshots.

@github-actions github-actions bot added the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label Jan 7, 2026
@ScipioWright ScipioWright added the is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs. label Jan 7, 2026
Copy link
Contributor

@lgbarrere lgbarrere left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Simple typo fixed. I didn't test, but I approve the rewording.

@NewSoupVi NewSoupVi merged commit 875765e into ArchipelagoMW:main Jan 9, 2026
9 of 10 checks passed
@github-actions github-actions bot removed the waiting-on: peer-review Issue/PR has not been reviewed by enough people yet. label Jan 9, 2026
BlackSoulKnight added a commit to BlackSoulKnight/Tevi_Archipelago that referenced this pull request Jan 9, 2026
* SC2: fix incorrect preset option (ArchipelagoMW#5551)

* SC2: fix incorrect preset option

* SC2: fix incorrect evil logic preset option

---------

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

* Super Mario Land 2: Logic fixes ArchipelagoMW#5258

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

* [FF1] Client fix and improvement (ArchipelagoMW#5390)

* FF1 Client fixes.

* Strip leading/trailing spaces from rom-stored player name.

* FF1R encodes the name as utf-8, as it happens.

* UTF-8 is four bytes per character, so we need 64 bytes for the name, not 16.

* Civ 6: Add era requirements for boosts and update boost prereqs (ArchipelagoMW#5296)

* Resolve ArchipelagoMW#5136

* Resolves ArchipelagoMW#5210

* [FF1] Added Deep Dungeon locations to locations.json so they exist in the datapackage (ArchipelagoMW#5392)

* Added DD locations to locations.json so they exist in the datapackage.

* Update worlds/ff1/data/locations.json

Co-authored-by: Exempt-Medic <[email protected]>

* Update worlds/ff1/data/locations.json

Forgot trailing commas aren't allowed in JSON.

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

---------

Co-authored-by: Exempt-Medic <[email protected]>
Co-authored-by: qwint <[email protected]>

* DLC Quest: Enable multi-classification items (ArchipelagoMW#5552)

* implement prog trap item (thanks stardew)

* oops that's wrong

* okay this is right

* Docs: add warning about BepInEx to HK translated setup guides (ArchipelagoMW#5554)

* Update HK pt-br setup to add warning about BepInEx

* Update HK spanish setup guide to add warning about BepInEx

* WebHost: Update publish_parts parameters (ArchipelagoMW#5544)

old name is deprecated and new name allows both writer instance or alias/name.

* Docs: APWorld documentation, make a distinction between APWorld and .apworld (ArchipelagoMW#5509)

* APWorld docs: Make a distinction between APWorld and .apworld

* Update apworld specification.md

* Update apworld specification.md

* Be more anal about the launcher component

* Update apworld specification.md

* Update apworld specification.md

* WebHost: fix gen timeout/exception resource handling (ArchipelagoMW#5540)

* WebHost: reset Generator proc title on error

* WebHost: fix shutting down autogen

This is still not perfect but solves some of the issues.

* WebHost: properly propagate JOB_TIME

* WebHost: handle autogen shutdown

* WebHost: Fix flask-compress to 1.18 for Python 3.11 (to get CI to pass again) (ArchipelagoMW#5573)

From Discord:

Well, flask-compress updated and now our 3.11 CI is failing

Why? They switched to a lib called backports.zstd
And 3.11 pkg_resources can't handle that.

pip finds it. But in our ModuleUpdate.py, we first pkg_resources.require packages, and this fails. I can't reproduce this locally yet, but in CI, it seems like even though backports.zstd is installed, it still fails on it and prompts installing it over and over in every unit test
Now what do we do :KEKW:
Black Sliver suggested pinning flask-compress for 3.11
But I would just like to point out that this means we can't unpin it until we drop 3.11
the real thing is we probably need to move away from pkg_resources? lol 
since it's been deprecated literally since the oldest version we support

* WebHost: Fix generate argparse with --config-override + add autogen unit tests so we can test that (ArchipelagoMW#5541)

* Fix webhost argparse with extra args

* accidentally added line

* WebHost: fix some typing

B64 url conversion is used in test/hosting,
so it felt appropriate to include this here.

* Test: Hosting: also test autogen

* Test: Hosting: simplify stop_* and leave a note about Windows compat

* Test: Hosting: fix formatting error

* Test: Hosting: add limitted Windows support

There are actually some differences with MP on Windows
that make it impossible to run this in CI.

---------

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

* Yugioh: Fix likely unintended concatenations (ArchipelagoMW#5567)

* Fix likely unintended concatenations

* Yeah that makes sense why I thought there were more here

* AHiT: Fix likely unintended concatenation ArchipelagoMW#5565

* Pokemon RB: Fix likely unintended concatenation ArchipelagoMW#5566

* MM2: fix Proteus reading ArchipelagoMW#5575

* Test: check fields in world source manifest (ArchipelagoMW#5558)

* Test: check game in world manifest

* Update test/general/test_world_manifest.py

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

* Test: rework finding expected manifest location

* Test: fix doc comment

* Test: fix wrong custom_worlds path in test_world_manifest

Also simplifies the way we find ./worlds/.

* Test: make test_world_manifest easier to extend

* Test: check world_version in world manifest

according to docs/apworld specification.md

* Test: check no container version in source world manifest

according what was added to docs/apworld specification.md in PR 5509

* Test: better assertion messages in test_world_manifest.py

* Test: fix wording in world source manifest

---------

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

* AHIT: Fix death link timestamps being incorrect (ArchipelagoMW#5404)

* LADX: stealing logic option (ArchipelagoMW#3965)

* implement StealingInLogic option

* fix ladxr setting

* adjust docs

* option to disable stealing

* indicate disabled stealing with shopkeeper dialog

* merge upstream/main

* Revert "merge upstream/main"

This reverts commit c91d2d6.

* fix

* stealing in patch

* logic reorder and fix

sword to front for readability, but also can_farm condition was missing

* KH1: Add specified encoding to file output from Client to avoid crashes with non ASCII characters (ArchipelagoMW#5584)

* Fix Slot 2 Level Checks description

* Fix encoding issue

* setup: check if the sign host is on a local network (ArchipelagoMW#5501)

Could have a really bad timeout if it goes through default route and packet is dropped.

* WebHost: add missing docutils requirement ... (ArchipelagoMW#5583)

... and update it to latest.
This is being used in WebHostLib.options directly.
A recent change bumped our required version, so this is actually a fix.

* Core: Add a ruff.toml to the root directory (ArchipelagoMW#5259)

* Add a ruff.toml to the root directory

* spell out C901

* Add target version

* Add some more of the suggested rules

* ignore PLC0415

* TC is bad

* ignore B0011

* ignore N818

* Ignore some more rules

* Add PLC1802 to ignore list

* Update ruff.toml

Co-authored-by: Doug Hoskisson <[email protected]>

* oops

* R to RET and RSC

* oops

* Py311

* Update ruff.toml

---------

Co-authored-by: Doug Hoskisson <[email protected]>

* kvui: Fix audio being completely non-functional on Linux (ArchipelagoMW#5588)

* kvui: Fix audio on Linux

* Update kvui.py

* CI: update appimagetool to 2025-10-19 (ArchipelagoMW#5578)

Beware: this has a bug, but it does not impact our CI.

* WebHost, Multiple Worlds: fix images not showing in guides (ArchipelagoMW#5576)

* Multiple: resize FR RA network commands screenshot

This is now more in line with the text (and the english version).

* Multiple: optimize EN RA network commands screenshot

The URL has changed, so it's a good time to optimize.

* WebHost, Worlds: fix retroarch images not showing

Implements a src/url replacement for relative paths.
Moves the RA screenshots to worlds/generic since they are shared.
Also now uses the FR version in ffmq.
Also fixes the formatting that resultet in the list breaking.
Also moves imports in render_markdown.

Guides now also properly render on Github.

* Factorio: optimize screenshots

The URL has changed, so it's a good time to optimize.

* Factorio: change guide screenshots to use relative URL

* Test: markdown: fix tests on Windows

We also can't use delete=True, delete_on_close=False
because that's not supported in Py3.11.

* Test: markdown: fix typo

I hope that's it now. *sigh*

* Landstalker: fix doc images not showing

Change to relative img urls.

* Landstalker: optimize doc PNGs

The URL has changed, so it's a good time to optimize.

* SC2: added MindHawk to credits (ArchipelagoMW#5549)

* CV64: Fix Explosive DeathLink not working with Increase Shimmy Speed on ArchipelagoMW#5523

* WebHost: Pin Flask-Compress to 1.18 for all versions of Python (ArchipelagoMW#5590)

* WebHost: Pin Flask-Compress to 1.18 for all versions of Python

* oop

* CI: use rehosted appimage runtime and appimagetool (ArchipelagoMW#5595)

This fixes the problem of CI randomly breaking when upstream pushes
updates and allows better reproducibility of builds.

* CVCotM: Fix determinism with Halve DSS Cards Placed (ArchipelagoMW#5601)

* chore(documentation): Update deployment example config (ArchipelagoMW#5476)

- Include flag and notice regarding asset rights in example config

* [Docs] Update docs/network protocol.md/NetworkVersion to include class field (ArchipelagoMW#5377)

* update docs NetworkVersion

* added in non-common-client version clarification

* Update docs/network protocol.md

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

---------

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

* CCCharles: Fix editorial issues in documentations (ArchipelagoMW#5611)

* Fix editorial issues from Setup Guides

* Fix editorial issues in documentations

* Fix extra typos in documentations

* CI: downgrade pytest to 8.4.2 (ArchipelagoMW#5613)

Also move ci requirements to separate file for easier handling.

* Core: Allows Meta.yaml to add triggers to individual yaml's categories. (ArchipelagoMW#3556)

* Initial commit

* Shifted added code to the appropriate indentation.
Re-wrote for statement in proper python style.

* Update Generate.py

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

* change to an elif to avoid unnecessary nesting

---------

Co-authored-by: qwint <[email protected]>
Co-authored-by: Benny D <[email protected]>

* Core: add export_datapackage tool (ArchipelagoMW#5609)

* Core: Bump version from 0.6.4 to 0.6.5 (ArchipelagoMW#5607)

* Game Docs: Fix main setup guide links (ArchipelagoMW#5603)

* SC2 Tracker: Fix bundled Protoss W/A upgrade display (ArchipelagoMW#5612)

* Launcher: add skip_open_folder arg to Generate Template Options (ArchipelagoMW#5302)

* fix(workflows): Update branch filter in Docker workflow (ArchipelagoMW#5616)

* fix(workflows): Update branch filter in Docker workflow
- Change branch filter from wildcard to 'main'
- Ensures that the workflow only triggers on the main branch

* Jak 1: Remove PAL-only instructions, no longer needed. (ArchipelagoMW#5598)

* SC2: Remove dependency on s2clientprotocol and update protobuf version (ArchipelagoMW#5474)

* SoE: add apworld manifest (ArchipelagoMW#5557)

* SoE: add APWorld manifest

* SoE: small typing fixes

* SC2: make worlds._sc2common.bot.proto a regular package (ArchipelagoMW#5626)

This is currently required for import reasons
and has a test that fails without it.

* Choo Choo Charles: Raise InvalidItemError instead of bare Exception (ArchipelagoMW#5429)

* Core: don't use union type just to reuse a name (ArchipelagoMW#5246)

This is the "followup PR" to address these comments:
ArchipelagoMW#5071 (comment)

It's better to have a different name for different representations of the data, so that someone reading the code doesn't need to wonder whether it has gone through the transformation or not.

* CI: update pytest to 9.0.1 (ArchipelagoMW#5637)

* Docs: Add troubleshooting section to kh1_en.md, typo fix in kh1/Options.py (ArchipelagoMW#5615)

* kh1 docs update

* small grammar

* suggested fix

client is die (sadge)

* h2/h3 -> ##/###

* oops that's my bad

* Core: Deprecate Utils.get_options by July 31st, 2025 (ArchipelagoMW#4811)

* 0.4.4 lol

* Pycharm pls

* Violet pls

* Remove OptionsType

---------

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

* Core: Fix ArchipelagoMW#5605 - Trigger values being shared by weights.yaml slots (ArchipelagoMW#5636)

The "+" and "-" trigger operations modify sets/lists in-place, but
triggers could set a value to the same set/list for multiple slots using
weights.yaml.

This fix deep-copies all values set from new (trigger) weights to ensure
that the values do not get shared across multiple slots.

* SC2: Allowing unexcluded_items to affect items excluded by vanilla_items_only (ArchipelagoMW#5520)

* SC2: Move race_swap pick_one functionality to mission picking (ArchipelagoMW#5538)

* LADX: create manifest (ArchipelagoMW#5563)

* SC2: Add Manifest (ArchipelagoMW#5559)

* SC2: Fixing a gap in the ascendant upgrades in the tracker (ArchipelagoMW#5570)

* Pokémon R/B: Specify encounter types for Dexsanity hint data (ArchipelagoMW#5574)

* Wargroove 1: added archipelago.json (ArchipelagoMW#5591)

* SC2: Adjusting and slightly simplifying mission difficulty pool adjustment configuration (ArchipelagoMW#5587)

* CV64: Fix not having Clocktower Key3 when placed in a start_inventory (ArchipelagoMW#5596)

* SC2: Fix custom mission order if used in weights.yaml (ArchipelagoMW#5604)

* CV64: Fix not having Clocktower Key3 when placed in a start_inventory (ArchipelagoMW#5592)

* SC2: Fix the goal mission tooltip depending on goal missions' status (ArchipelagoMW#5577)

* Factorio: Add no-enemies mode to worldgen schema (ArchipelagoMW#5542)

* Core: add a local yaml creator GUI (ArchipelagoMW#4900)

Adds a GUI for the creation of simple yamls (no weighting) locally.

* Core: add random range and additional random descriptions to template yaml (ArchipelagoMW#5586)

* Muse Dash: Update Song list to Medium5 Echoes (ArchipelagoMW#5597)

* Landstalker: Add manifest file (ArchipelagoMW#5629)

* The Witness: Add archipelago.json (ArchipelagoMW#5481)

* Add archipelago.json to witness

* Update archipelago.json

* Core: Only error in playthrough generation if game is not beatable (ArchipelagoMW#5430)

* Core: Only error in playthrough generation if game is not beatable

The current flow of accessibility works like this:

```
if fulfills_accessibility fails:
    if multiworld can be beaten:
        log a warning
    else:
        raise Exception

if playthrough is enabled:
    if any progression items are not reachable:
        raise Exception
```

This means that if you do a generation where the game is beatable but some full players' items are not reachable, it doesn't crash on accessibility check, but then crashes on playthrough. This means that **whether it crashes depends on whether you have playthrough enabled or not**.

Imo, erroring on something accessibility-related is outside of the scope of create_playthrough. Create_playthrough only needs to care about whether it can fulfill its own goal - Building a minimal playthrough to everyone's victory.
The actual accessibility check should take care of the accessibility.

* Reword

* Simplify sentence

* The Witness: Fix CreateHints spoiling vague hints (ArchipelagoMW#5359)

* Encode non-local vague hints as negative player number

* comments

* also bump req client version

* WebHost: Validation for webworld themes (ArchipelagoMW#5083)

* Celeste (Open World): fix tutorial link on game page (ArchipelagoMW#5627)

* Doc: Update Mac instructions to instruct the user to make a frozen bundle (ArchipelagoMW#5614)

* LttP: logic fixes and missing bombs (ArchipelagoMW#5645)

3 logic issues:
* ArchipelagoMW#3046 made it so that prizes were included in LttP's pre_fill items. It accounted for it in regular pre_fill, but missed stage_pre_fill.
* LttP defines a maximum number of heart pieces and heart containers logically within each difficulty. Item condensing did not account for this, and could reduce the number of heart pieces below the required amount logically. Notably, this makes some combination of settings much harder to generate, so another solution may end up ideal.
* Current logic rules do not properly account for the case of standard start and enemizer, requiring a large amount of items logically within a short number of locations. However, the behavior of Enemizer in this situation is well-defined, as the guards during the standard starting sequence are not changed. Thus the required items can be safely minimized.

* Factorio: Add connection change filtering functionality (ArchipelagoMW#4997)

* Yacht Dice: Add archipelago.json manifest ArchipelagoMW#5658

* Core: Better error message for invalid range values (ArchipelagoMW#4038)

* TWW: Fix client sending duplicate magic meter (ArchipelagoMW#5664)

* SC2: Fix missing brackets in Zerg The Host logic (ArchipelagoMW#5657)

* SC2: Fix missing brackets in Zerg The Host logic

* Allow usage of SoA any race LotV and add additional brackets

* SC2: Migrate external resources from user repos to sc2 organization (ArchipelagoMW#5653)

* LADX: switch to asyncio.get_running_loop() (ArchipelagoMW#5666)

* APQuest: Implement New Game (ArchipelagoMW#5393)

* APQuest

* Add confetti cannon

* ID change on enemy drop

* nevermind

* Write the apworld

* Actually implement hard mode

* split everything into multiple files

* Push out webworld into a file

* Comment

* Enemy health graphics

* more ruff rules

* graphics :)

* heal player when receiving health upgrade

* the dumbest client of all time

* Fix typo

* You can kinda play it now! Now we just need to render the game... :)))

* fix kvui imports again

* It's playable. Kind of

* oops

* Sounds and stuff

* exceptions for audio

* player sprite stuff

* Not attack without sword

* Make sure it plays correctly

* Collect behavior

* ruff

* don't need to clear checked_locations, but do need to still clear finished_game

* Connect calls disconnect, so this is not necessary

* more seemless reconnection

* Ok now I think it's correct

* Bgm

* Bgm

* minor adjustment

* More refactoring of graphics and sound

* add graphics

* Item column

* Fix enemies not regaining their health

* oops

* oops

* oops

* 6 health final boss on hard mode

* boss_6.png

* Display APQuest items correctly

* auto switch tabs

* some mypy stuff

* Intro song

* Confetti Cannon

* a bit more confetti work

* launcher component

* Graphics change

* graphics and cleanup

* fix apworld

* comment out horse and cat for now

* add docs

* copypasta

* ruff made my comment look unhinged

* Move that comment

* Fix typing and don't import kvui in nogui

* lmao that already exists I don't need to do it myself

* Must've just copied this from somewhere

* order change

* Add unit tests

* Notes about the client

* oops

* another intro song case

* Write WebWorld and setup guides

* Yes description provided

* thing

* how to play

* Music and Volume

* Add cat and horse player sprites

* updates

* Add hammer and breakable wall

* TODO

* replace wav with ogg

* Codeowners and readme

* finish unit tests

* lint

* Todid

* Update worlds/apquest/client/ap_quest_client.py

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

* Update worlds/apquest/client/custom_views.py

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

* Filler pattern

* __future__ annotations

* twebhost

* Allow wasd and arrow keys

* correct wording

* oops

* just say the website

* append instead of +=

* qwint is onto my favoritism

* kitty alias

* Add a comment about preplaced items for assertAccessDependency

* Use classvar_matrix instead of MultiworldTestBase

* actually remove multiworld stuff from those tests

* missed one more

* Refactor a bit more

* Fix getting of the user path

* Actually explain components

* Meh

* Be a bit clearer about what's what

* oops

* More comments in the regions.py file

* Nevermind

* clarify regions further

* I use too many brackets

* Ok I'm done fr

* simplify wording

* missing .

* Add precollected example

* add note about precollected advancements

* missing s

* APQuest sound rework

* Volume slider

* I forgot I made this

* a

* fix volume of jingles

* Add math trap to game (only works in play_in_console mode so far)

* Math trap in apworld and client side

* Fix background during math trap

* fix leading 0

* Sound and further ui improvements for Math Trap

* fix music bug

* rename apquest subfolder to game

* Move comment to where it belongs

* Clear up language around components (hopefully)

* Clear up what CommonClient is

* Reword some more

* Mention Archipelago (the program) explicitly

* Update worlds/apquest/docs/en_APQuest.md

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

* Explain a bit more why you would use classvar matrix

* reword the assert raises stuff

* the volume slider thing is no longer true

* german game page

* Be more clear about why we're overriding Item and Location

* default item classification

* logically considered -> relevant to logic ()

* Update worlds/apquest/items.py

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

* a word on the ambiguity of the word 'filler'

* more rewording

* amount -> number

* stress the necessity of appending to the multiworld itempool

* Update worlds/apquest/locations.py

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

* get_location_names_with_ids

* slight rewording of the new helper method

* add some words about creating known location+item pairs

* Add some more words to worlds/apqeust/options.py

* more words in options.py

* 120 chars (thanks Ixrec >:((( LOL)

* Less confusing wording about rules, hopefully?

* victory -> completion

* remove the immediate creation of the hammer rule on the option region entrance

* access rule performance

* Make all imports module-level in world.py

* formatting

* get rid of noqa RUF012 (and also disable the rule in my local ruff.toml

* move comment for docstring closer to docstring in another place

* advancement????

* Missing function type annotations

* pass mypy again (I don't love this one but all the alternatives are equally bad)

* subclass instead of override

* I forgor to remove these

* Get rid of classvar_matrix and instead talk about some other stuff

* protect people a bit from the assertAccessDependency nonsense

* reword a bit more

* word

* More accessdependency text

* More accessdependency text

* More accessdependency text

* More accessdependency text

* oops

* this is supposed to be absolute

* Add some links to docs

* that's called game now

* Add an archipelago.json and explain what it means

* new line who dis

* reorganize a bit

* ignore instead of skip

* Update archipelago.json

* She new on my line till I

* Update archipelago.json

* add controls tab

* new ruff rule? idk

* WHOOPS

* Pack graphics into fewer files

* annoying ruff format thing

* Cleanup + mypy

* relative import

* Update worlds/apquest/client/custom_views.py

Co-authored-by: Fabian Dill <[email protected]>

* Update generate_math_problem.py

* Update worlds/apquest/game/player.py

Co-authored-by: Fabian Dill <[email protected]>

---------

Co-authored-by: Duck <[email protected]>
Co-authored-by: Ixrec <[email protected]>
Co-authored-by: Fabian Dill <[email protected]>

* Core: Add a bunch of validation to AutoPatchRegister (ArchipelagoMW#5431)

* Add a bunch of validation to AutoPatchRegister

* slightly change it

* lmao

* Tests: Move world dependencies in tests to APQuest ArchipelagoMW#5668

* LADX: Give better feedback during patching (ArchipelagoMW#5401)

* SC2: Fix bugs and issues around excluded/unexcluded (ArchipelagoMW#5644)

* Core: updates of requirements (ArchipelagoMW#5672)

* Core: Fix typo in docstring for hint_points in commonclient (ArchipelagoMW#5673)

* APQuest: Fix import of Protocol from bokeh instead of typing (ArchipelagoMW#5674)

* APQuest: Fix import of Protocol from bokeh instead of typing

* bump world version

* Docs: Improve the documentation for priority locations to mention de-prioritized (ArchipelagoMW#5631)

* Update the descriptions for priority and exclude locations to be more clear.

* Revision on priority

* Moved my change over to the documentation instead of the generated yaml comment.

* update per vi feedback

* Trying a 2 sentence approach

* more details!

* Update options api.md

* Update options api.md

* PyCharm: fix the apworld builder run config (ArchipelagoMW#5678)

* fix the apworld builder pycharm runner

* Update Build APWorld.run.xml

---------

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

* Tests: Move hosting test to APQuest ArchipelagoMW#5671

* ALttP/Factorio: Add spaces in concatenated strings (ArchipelagoMW#5564)

* Add them

* Revert "Add them"

This reverts commit 82be861.

* Re-add ALttP/Factorio

* SC2: logic fixes minor bugs (ArchipelagoMW#5660)

* Pulsars no longer count as basic anti-air for protoss.
  * This is in response to player feedback that they were just too weak DPS-wise
* Haven's Fall (P) logic loosened slightly.
  * Void rays are now a one-unit solution to the rule
  * Scouts are now considered a one-unit solution to the rule
  * Two-unit solutions are now considered standard rather than advanced
  * Caladrius is now listed as an anti-muta unit for the two-unit solutions
  * This was discussed in the #SC2-dev channel.
    * Snarky did some testing and found that void rays were barely any worse than destroyers at handling mutas, and destroyers are already listed as a one-unit solution.
    * Snarky also found that scouts could mostly solo the mission at low skill level
    * Note that this rule only applies to the "beating the infestations" part of the mission; there are additional requirements for beating it, including a competent comp.
* The Host (T) now also can use SoA abilities if SoA presence is set to `any_race_lotv`, not just `everywhere`

* LADX: catch exception after closing magpie ArchipelagoMW#5687

* TLOZ: Add space in concatenated string ArchipelagoMW#5690

* CV64/CVCotM: Add spaces in concatenated strings (ArchipelagoMW#5691)

* Possible space removal

* Add spaces

* Missed one

* Revert removals, use newline

* Jak and Daxter: Add space in concatenated string ArchipelagoMW#5692

* KH1: Add space in concatenated string ArchipelagoMW#5693

* MLSS: Add space in concatenated string ArchipelagoMW#5694

* Wargroove: Add space in concatenated string ArchipelagoMW#5696

* Core: Add spaces in concatenated strings ArchipelagoMW#5697

* Civ6: Fix issue with names including civ-breaking characters (ArchipelagoMW#5204)

* DS3: Update/Fix Excluded Locations Logging (ArchipelagoMW#5220)

* DS3: Fix Excluded Locations in Spoiler Log

* Update __init__.py

* update wording

* Comment out failing code

* CVCotM: Add a client safeguard in case the player doesn't have Dash Boots ArchipelagoMW#5500

* Jak and Daxter: Second attempt at fixing trade tests. ArchipelagoMW#5599

* ALTTP: Fix setting `Beat Agahnim 1` event twice (ArchipelagoMW#5617)

alttp was setting the `Beat Agahnim 1` event onto the `Agahnim 1` location twice.

I was debugging a multiworld generation issue with various custom worlds, where, for debugging purposes, I changed `multiworld.push_item` to make it crash like `location.place_locked_item` when the location was already filled, which also identified this minor issue in alttp.

* TUNIC: Fix fuse rule in lower zig ArchipelagoMW#5621

* shapez: Fix logic bug with vanilla shapes and floating layers ArchipelagoMW#5623

* [FFMQ] Bugfix: Fix missing logic rule for Frozen Fields > Aquaria access

* sc2: Item group fixes and new item groups (ArchipelagoMW#5679)

* sc2: Fixing missing buildings in Terran buildings group; adding sc1 and melee unit groups

* sc2: Removing out-of-place comment

* SC2: Update Infested Banshee description to be more clear when the Burrow is unlocked ArchipelagoMW#5685

* Timespinner: Exclude Removed Location from Web Tracker (ArchipelagoMW#5701)

* Docs: fix name of "Build APWorlds" component (ArchipelagoMW#5703)

* SNIClient: new `SnesReader` interface (ArchipelagoMW#5155)

* SNIClient: new SnesReader interface

* fix Python 3.8 compatibility
`bisect_right`

* move to worlds
because we don't have good separation importable modules and entry points

* `read` gives object that contains data

* remove python 3.10 implementation and update typing

* remove obsolete comment

* freeze _MemRead and assert type of get parameter

* some optimization in `SnesData.get`

* pass context to `read` so that we can have a static instance of `SnesReader`

* add docstring to `SnesReader`

* remove unused import

* break big reads into chunks

* some minor improvements

- `dataclass` instead of `NamedTuple` for `Read`
- comprehension in `SnesData.__init__`
- `slots` for dataclasses

* update chunk size to 2048

* OptionCreator: pre-RC1 fixes (ArchipelagoMW#5680)

* fix str default on text choice

* fix range with default random

* forgot module update

* handle namedrange default special

* handle option group of options we should not render

* Update OptionsCreator.py

* Update OptionsCreator.py

* grammar

* weights: Fixing negatives and zeroes disappearing from option dicts updated by triggers (ArchipelagoMW#5677)

* CI: update appimage runtime to fix problems with sleep (ArchipelagoMW#5706)

also updates appimagetool.
Old tool should be compatible, but there are 2 bug fixes in it.

* WebHost/Game Guides: Change links to stay on current instance (ArchipelagoMW#5699)

* Remove absolute links to archipelago.gg

* Fix other link issues

* Docs: update apsudoku docs / add links to web build (ArchipelagoMW#5720)

* WebHost: add played game to static tracker (ArchipelagoMW#5731)

* sc2: Fixing typos in item descriptions (ArchipelagoMW#5739)

* Launcher: Add workaround for kivy bug for linux touchpad devices (ArchipelagoMW#5737)

* add code to fix touchpad on linux, courtesy of Snu of the kivy community

* Launcher: Update workaround to follow styleguide

* Docs: Add 'silasary' to Mac tutorial contributors (ArchipelagoMW#5745)

* SC2: Fix Kerrigan logic for active spells (ArchipelagoMW#5746)

* Launcher: fix shortcuts on the AppImage (ArchipelagoMW#5726)

* fix appimage executable reference

* adjust working dir

* use argv0 instead of appimage directly

* set noexe on frozen

* Tests: test that every option in a preset is visible in either simple or complex UI (ArchipelagoMW#5750)

* Core: Bump version from 0.6.5 to 0.6.6 (ArchipelagoMW#5753)

* WebHost: increase form upload limit (ArchipelagoMW#5756)

* OptionsCreator:  Respect World.hidden flag (ArchipelagoMW#5754)

* APQuest: Fix ValueError on typing numbers/backspace ArchipelagoMW#5757

* TLOZ: Add manifest file (ArchipelagoMW#5755)

* Added manifest file.

* Update archipelago.json

---------

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

* SC2: New maintainership (ArchipelagoMW#5752)

I (Ziktofel) stepped down but will remain as a mentor

* Factorio: Craftsanity (ArchipelagoMW#5529)

* TUNIC: Make UT care about hex goal amount ArchipelagoMW#5762

* TUNIC: Update world version to 4.2.7 ArchipelagoMW#5761

* TUNIC: Update wording on Mask and Lantern option descriptions ArchipelagoMW#5760

* Satisfactory: Add New Game (ArchipelagoMW#5190)

* Added Satisfactory to latest master

* Fixed hard drive from containing the mam + incremented default value for harddrive progression

* Apply cherry pick of 3076259

* Apply cherry pick of 6114a55

* Clarify Point goal behavior (Jarno458/SatisfactoryArchipelagoMod#98)

* Update Setup guide and info page

* Add links to Gifting and Energy Link compatible games. Add info on Hard Drive behavior

* Fix typos

* Update hard drive behavior description

* Hopefully fixed the mam from getting placed behind harddrives

* Add 1 "Bundle: Solid Biofuel" to default starting items (for later chainsaw usage or early power gen)

* Add info/warning about save setup failure bug

* Add notes about dedicated server setup

* Fixes: `TypeError: 'set' object is not subscriptable`

random.choice does not work over set objects, cast to a list to allow 'trap_selection_override'

* progrees i think

* Fixed some bugs

* Progress commmit incase my pc crashes

* progress i think as test passed

* I guess test pass, game still unbeatable tho

* its generating

* Some refactorings

* Fixed generation with different elevator tiers

* Remove debug statement

* Fix this link.

* Implemented abstract base classes + some fixes

* Implemented many many new options

* Yay more stuff

* Fixed renaming of filters

* Added 1.1 stuffs

* Added options groups and presets

* Fixes after variable renmame

* Added recipy groups for easyer hinting

* Implemented random Tier 0

* Updated slot_data

* Latest update for 1.1

* Applied cheaper building costs of assembler and foundry

* Implemented exploration cost in slot_data

* Fixed exposing option type

* Add goal time estimates

* Trap info

* Added support for Universal Tracker
Put more things in the never exclude pool for a more familiar gameplay

* Added iron ore to build hub

* Added Dark Matter Crystals

* Added Single Dark Matter Crystals

* Fixed typo in options preset

* Update setup directions and info

* Options formatting fixes, lower minimum ExplorationCollectableCount, add new Explorer starting inventory items preset

* Fixed incorrect description on the options

* Reduce Portable Miner and Reinforced Iron Plate quantities in "Skip Tutorial Inspired" starting preset

* Fixed options pickling error

* Reworked logic to no longer include Single: items as filler
Reworked logic for more performance
Reworked logic to always put useful equipment in pool

* Fixed Itemlinks
Removed space elevator parts from fillers
Removed more AWESOME shop purchaseables from minimal item pool
Added all equipment to minimal item pool
Removed non fissile and fertile uranium from minimal item pool
Removed portal from minimal item pool
Removed Ionized fuel from minimal item pool
Removed recipes for Hoverpack and Turbo Rifle Ammo from minimal item pool
Lowered the chance for rolling steel on randomized starter recipes

* Fixed hub milestone item leaking to into wrong milestones

* Fixed unlock cost of geothermal generator

* Fixed itemlinks again

* Add troubleshooting note about hoverpacks

* Add starting inventory bundle delivery info

* Added hint generation at generation time
Harddrive locations now go from 1-100 rather then 0-99

* Update __init__.py

Fixed mistake

* Cleaned docs to be better suited to get verified

* Update CODEOWNERS

Added Satisfactory

* Update README.md

Added Satisfactory

* Restructure and expand setup page to instruct both players and hosts

* Add terms entry for Archipelago mod

* Fixed generation of traps

* Added Robb as code owner

* Restore tests to original state

* Apply suggestions from code review

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

* Fix additional typos from code review

* Implemented fix for itterating enum flags on python 3.10

* Update en_Satisfactory.md

* Update setup_en.md

* Apply suggestions from code review

Co-authored-by: Scipio Wright <[email protected]>

* more world > multiworld

* Clarify universal tracker behavior

* Fix typos

* Info on smart hinting system

* Move list of additional mods to a page on the mod GitHub

* Restore revamped setup guide that other commits  overwrote
Originally from be26511, d8bd1aa

* Removed bundle of ficsit coupons from the from the item pool
added estimated completion times to space elevator option description

* Apply suggestions from code review

Co-authored-by: Scipio Wright <[email protected]>

* Wording

* Fix typo

* Update with changes from ToBeVerified branch

* Update note about gameplay options

* Update note about gameplay options

* Improved universal tracker handling

* Improved universal tracker + modernized code a bit

* Fixed bugs that where re-introduced

* Added Recipe: Excited Photonic Matter

* Removed python 3.9 workaround

* Fixed

* Apply suggestions from code review

Co-authored-by: Scipio Wright <[email protected]>

* Streamlined handle craftable logic by using itterable rather then tuple
Removed dict.keys as the dict itzelf already enumerates over keys

* Updated option description

* Fixed typing

* More info on goal completion conditions

* More info on goal completion conditions (093fe38)

* Apply suggestions from code review

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

* Implemented review results

* PEP8 stuff

* More PEP8

* Rename ElevatorTier->ElevatorPhase and related for clarity and consistency.
Untested

* speedups part1

* speedsups on part rules

* Fix formatting

* fix `Elevator Tier #` string literals missed in rename

* Remove unused/duplicate imports + organize imports, `== None` to `is None`

* Fixed after merge

* Updated values + removed TODO

* PEPed up the code

* Small refactorings

* Updated name slot data to phase

* Fix hint creation

* Clarify wording of elevator goal

* Review result

* Fixed minor typo in option

* Update option time estimates

---------

Co-authored-by: Rob B <[email protected]>
Co-authored-by: ProverbialPennance <[email protected]>
Co-authored-by: Joe Amenta <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: Scipio Wright <[email protected]>
Co-authored-by: Silvris <[email protected]>
Co-authored-by: NewSoupVi <[email protected]>

* EarthBound: Implement New Game (ArchipelagoMW#5159)

* Add the world

* doc update

* docs

* Fix Blast/Missile not clearing Reflect

* Update worlds/earthbound/__init__.py

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

* Update worlds/earthbound/__init__.py

remove unused import

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

* Update worlds/earthbound/__init__.py

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

* Update worlds/earthbound/modules/dungeon_er.py

make bool optional

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

* Update worlds/earthbound/modules/boss_shuffle.py

typing update

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

* Update worlds/earthbound/modules/boss_shuffle.py

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

* Filter events out of item name to id

* we call it a glorp

* Update worlds/earthbound/Regions.py

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

* Update worlds/earthbound/__init__.py

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

* Update worlds/earthbound/Items.py

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

* Update worlds/earthbound/Regions.py

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

* Fix missing optional import

* hint stuff

* -Fix Apple Kid text being wrong
-Fix Slimy Pile text being wrong

* -Fix some sprite corruption if PSI was used when an enemy loaded another enemy
-Fixed a visible artifact tile during some cutscenes

* Update ver

* Update docs

* Fix some money scripting issues

* Add argument to PSI fakeout attack

* Updated monkey caves shop description

* Remove closing markdown from doc

* Add new flavors

* Make flavors actually work

* Update platforms

* Fix common gear getting duplicated

* Split region initialization

* Condense checks for start inventory + some other junk

* Fix some item groups - change receiver phone to warp pad

* wow that one was really bad :glorp:

* blah

* Fix cutoff option text

* switch start inventory concatenation to itertools

* Fix sky runner scripting bug - added some new comm suggestions

* Fix crash when generating with spoiler_only

* Fix happy-happy teleport not unlocking after beating carpainter

* Hint man hints can now use CreateHint packets to create hints in other games

* Adjust some filler rarity

* Update world to use CreateHints and deprecate old method

* Fix epilogue skip being offset

* Rearrange a couple regions

* Fix tendapants getting deleted in battle

* update doc

* i got scared and forgot i had multiple none checks and am worried about this triggering but tested and it works

* Fix mostly typing errors from silvris

* More type checks

* More typing

* Typema

* Type

* Fix enemy levels overwriting music

* Fix gihugic blunder

* Fix Lumine Hall enabling OSS

* del world

* Rel 4.2.7

* Remove some debug logs

* Fix vanilla bug with weird ambush detection

* Fix Starman Junior having an unscaled Freeze

* Change shop scaling

* Fix shops using the wrong thankful script

* Update some bosses in boss shuffle

* Loc group adjustment

* Update some boss shuffle stuff | Fix Enemizer attacks getting overwritten by Shuffle data | Fix flunkies not updating and still being used with enemizer

* Get rid of some debug stuff

* Get boss shuffle running, dont merge

* Fix json and get boss shuffle no plando back up

* Fix Magicant Boost not initializing to Ness if party count = 4

* Fix belch shop using wrong logic

* Don't re-send goal status

* EBitem

* remove :

* idk if this is whatvi wanted

* All client messagesnow only send when relevant instead of constantly

* Patch up the rest of boss plando

* Fix Giygas being not excluded from enemizer

* Fix epilogue again

* adjust the sphere scaling name

* add the things

* Fix Ness being placed onto monotoli when monotoli was in sea of eden

* Fix prefill properly

* Fix boss shuffle on vanilla slots.

* rename this, apparently

* Update archipelago.json

---------

Co-authored-by: Duck <[email protected]>
Co-authored-by: NewSoupVi <[email protected]>

* Yugioh: Add space in concatenated string (ArchipelagoMW#5695)

* Add spaces

* Revert wrong one

* Add right one

* Core: Add datapackage exports to gitignore (ArchipelagoMW#5719)

* Gitignore and description

* Update description

* Celeste Open World: speedup module load (ArchipelagoMW#5448)

* speedup world load

* those 3 weren't in-fact needed

* MultiServer: Safe DataStorage .pop (ArchipelagoMW#5060)

* Make datastorage .pop not throw on missing key or index

* Reworked to use logic rather than exception catching

* Satisfactory/Timespinner: Added Manifesto (ArchipelagoMW#5764)

* Added Manifesto

* Update archipelago.json

* Update archipelago.json

* Update archipelago.json

---------

Co-authored-by: Jarno <[email protected]>
Co-authored-by: NewSoupVi <[email protected]>

* Satisfactory: Fix nondeterministic creation of trap filler items (ArchipelagoMW#5766)

The `trap_selection_override` option is an `OptionSet` subclass, so its `.value` is a `set`.

Sets have nondeterministic iteration order (the iteration order depends on the hashes of the objects within the set, which can change depending on the random hashseed of the Python process).

This `.enabled_traps` is used in `Items.get_filler_item_name()` with `random.choice(self.enabled_traps)`, which is called as part of creating the item pool in `Items.build_item_pool()` (for clarity, this `random` is the world's `Random` instance passed as an argument, so no problems there). So, with `self.enabled_traps` being in a nondeterministic order, the picked trap to add to the item pool through `random.choice(self.enabled_traps)` would be nondeterministic.

Sorting the `trap_selection_override.value` before converting to a `tuple` ensures that the names in `.enabled_traps` are always in a deterministic order.

This issue was identified by merging the main branch into the PR branch for ArchipelagoMW#4410 and seeing Satisfactory fail the tests for hash-determinism. With this fix applied, the tests in that PR pass.

* Yoshi's Island - Fix some small logic issues that were reported, add json file (ArchipelagoMW#5742)

* Fix Piece of Luigi not goaling until reset

* Update .gitignore

* fix logic thing that one guy said

* fix platform being missing from chomp rock zone rules

* add json file

* added the wrong one

* remove extraneous lnk

* Update archipelago.json

---------

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

* KH2: Fix placing single items onto multiple locations in pre_fill (ArchipelagoMW#5619)

`goofy_pre_fill` and `donald_pre_fill` would pick a random `Item` from a
`list[Item]` and then use `list.remove()` to remove the picked `Item`,
but the lists (at least `donald_weapon_abilities`) could contain
multiple items with the same name, so `list.remove()` could remove a
different `Item` to the picked `Item`, allowing an `Item` in the list to
be picked and placed more than once.

This happens because `Item.__eq__` only compares the item's `.name` and
`.player`, and `list.remove()` compares by equality, meaning it can
remove a different, but equal, instance from the list.

This results in `old_location.item` not being cleared, so
`old_location.item` and `new_location.item` would refer to the same
item.

* Core: Process all player files before reporting errors (ArchipelagoMW#4039)

* Process all player files before reporting errors

Full tracebacks will still be in the console and in the logs, but this creates a relatively compact summary at the bottom.

* Include full typename in output

* Update module access and address style comments

* Annotate variables

* multi-errors: Revert to while loop

* Core: Handle each roll in its own try-catch

* multi-errors: Updated style and comments

* Undo accidental index change

* multi-errors: fix last remaining ref to erargs

* Docs: explicitly document why 2^53-1 is the max size, not ^31 or ^63 (ArchipelagoMW#5717)

* explicitly document why 2^53-1 is the max size, not ^31 or ^63

* explicitly recommend 32-bit ids

* make description correct by explicitly mentioning and linking to a description of 'safe'

* Paint: Add manifest (ArchipelagoMW#5778)

* Paint: Implement New Game

* Add docstring

* Remove unnecessary self.multiworld references

* Implement start_inventory_from_pool

* Convert logic to use LogicMixin

* Add location_exists_with_options function to deduplicate code

* Simplify starting tool creation

* Add Paint to supported games list

* Increment version to 0.4.1

* Update docs to include color selection features

* Fix world attribute definitions

* Fix linting errors

* De-duplicate lists of traps

* Move LogicMixin to __init__.py

* 0.5.0 features - adjustable canvas size increment, updated similarity metric

* Fix OptionError formatting

* Create OptionError when generating single-player game with error-prone settings

* Increment version to 0.5.1

* Update CODEOWNERS

* Update documentation for 0.5.2 client changes

* Simplify region creation

* Add comments describing logic

* Remove unnecessary f-strings

* Remove unused import

* Refactor rules to location class

* Remove unnecessary self.multiworld references

* Update logic to correctly match client-side item caps

* Paint: Add manifest

---------

Co-authored-by: Fabian Dill <[email protected]>

* APQuest: Fix import shadowing issue (ArchipelagoMW#5769)

* Fix import shadowing issue

* another comment

* Core: allow abstract world classes (ArchipelagoMW#5468)

* Docs: Make image path in contributing absolute (ArchipelagoMW#5790)

* Core: Make .apworlds importable using importlib (without force-importing them first) (ArchipelagoMW#5734)

* Make apworlds importable in general

* move it to a probably more appropriate place?

* oops

* PyCharm: Fix name of apworld builder run config (ArchipelagoMW#5824)

* rename the apworld builder run config

* Update Build APWorlds.run.xml

---------

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

---------

Co-authored-by: Snarky <[email protected]>
Co-authored-by: Snarky <[email protected]>
Co-authored-by: Alchav <[email protected]>
Co-authored-by: alchav <[email protected]>
Co-authored-by: Rosalie <[email protected]>
Co-authored-by: Carter Hesterman <[email protected]>
Co-authored-by: Exempt-Medic <[email protected]>
Co-authored-by: qwint <[email protected]>
Co-authored-by: Benny D <[email protected]>
Co-authored-by: Fafale <[email protected]>
Co-authored-by: Nicholas Saylor <[email protected]>
Co-authored-by: NewSoupVi <[email protected]>
Co-authored-by: black-sliver <[email protected]>
Co-authored-by: Duck <[email protected]>
Co-authored-by: Silvris <[email protected]>
Co-authored-by: CookieCat <[email protected]>
Co-authored-by: threeandthreee <[email protected]>
Co-authored-by: gaithern <[email protected]>
Co-authored-by: Doug Hoskisson <[email protected]>
Co-authored-by: Subsourian <[email protected]>
Co-authored-by: LiquidCat64 <[email protected]>
Co-authored-by: Adrian Priestley <[email protected]>
Co-authored-by: Jacob Lewis <[email protected]>
Co-authored-by: Yaranorgoth <[email protected]>
Co-authored-by: Vertraic <[email protected]>
Co-authored-by: Fabian Dill <[email protected]>
Co-authored-by: Ziktofel <[email protected]>
Co-authored-by: Gurglemurgle <[email protected]>
Co-authored-by: massimilianodelliubaldini <[email protected]>
Co-authored-by: GreenestBeen <[email protected]>
Co-authored-by: Omnises Nihilis <[email protected]>
Co-authored-by: Mysteryem <[email protected]>
Co-authored-by: Phaneros <[email protected]>
Co-authored-by: Salzkorn <[email protected]>
Co-authored-by: Snowflav_ <[email protected]>
Co-authored-by: Fly Hyping <[email protected]>
Co-authored-by: Katelyn Gigante <[email protected]>
Co-authored-by: Justus Lind <[email protected]>
Co-authored-by: Dinopony <[email protected]>
Co-authored-by: josephwhite <[email protected]>
Co-authored-by: Andres <[email protected]>
Co-authored-by: Spineraks <[email protected]>
Co-authored-by: Benjamin S Wolf <[email protected]>
Co-authored-by: Jonathan Tan <[email protected]>
Co-authored-by: Ixrec <[email protected]>
Co-authored-by: Emerassi <[email protected]>
Co-authored-by: Scipio Wright <[email protected]>
Co-authored-by: BlastSlimey <[email protected]>
Co-authored-by: wildham <[email protected]>
Co-authored-by: Colin <[email protected]>
Co-authored-by: Emily <[email protected]>
Co-authored-by: BeeFox-sys <[email protected]>
Co-authored-by: Silent <[email protected]>
Co-authored-by: Jarno <[email protected]>
Co-authored-by: Rob B <[email protected]>
Co-authored-by: ProverbialPennance <[email protected]>
Co-authored-by: Joe Amenta <[email protected]>
Co-authored-by: Copilot <[email protected]>
Co-authored-by: PinkSwitch <[email protected]>
Co-authored-by: Jarno <[email protected]>
Co-authored-by: MarioManTAW <[email protected]>
Co-authored-by: Ian Robinson <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

is: bug/fix Issues that are reporting bugs or pull requests that are fixing bugs.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants