From aa6f2a882582cc7e2bed1511430d84f8e6dc46cb Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 4 Oct 2023 17:31:55 -0400 Subject: [PATCH 01/29] Update contributing.md --- docs/contributing.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index 899c06b9227..162164f0ed5 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,14 +1,19 @@ # Contributing Contributions are welcome. We have a few requests of any new contributors. -* Ensure that all changes which affect logic are covered by unit tests. -* Do not introduce any unit test failures/regressions. -* Follow styling as designated in our [styling documentation](/docs/style.md). +## Ensure that all changes which affect logic are covered by unit tests. +Something something please take a look at [this document](/docs/world%20api.md#tests) about how to implement them. +## Do not introduce any unit test failures/regressions. + +## Follow styling guidelines. +To [styling documentation](/docs/style.md). Otherwise, we tend to judge code on a case to case basis. -For adding a new game to Archipelago and other documentation on how Archipelago functions, please see -[the docs folder](/docs/) for the relevant information and feel free to ask any questions in the #archipelago-dev -channel in our [Discord](https://archipelago.gg/discord). +If you want to add a new game to Archipelago, please take a look at this [document](/docs/adding%20games.md) detailing what is required +for implementing a game (as well as tips for how to get started). If you want to merge a new game, please make sure to read the responsibilities as [world maintainer](/docs/world%20maintainer.md). + +For any other questions, feel free to explore the [main documentation folder](/docs/) and ask us questions in the #archipelago-dev channel +in our [Discord](https://archipelago.gg/discord). From 56d1200f516e80d33bb7c17e217e6e02a8ded230 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 4 Oct 2023 17:34:11 -0400 Subject: [PATCH 02/29] Update contributing.md --- docs/contributing.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index 162164f0ed5..314f93e2677 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,11 +1,11 @@ # Contributing Contributions are welcome. We have a few requests of any new contributors. -## Ensure that all changes which affect logic are covered by unit tests. +### Ensure that all changes which affect logic are covered by unit tests. Something something please take a look at [this document](/docs/world%20api.md#tests) about how to implement them. -## Do not introduce any unit test failures/regressions. +### Do not introduce any unit test failures/regressions. -## Follow styling guidelines. +### Follow styling guidelines. To [styling documentation](/docs/style.md). Otherwise, we tend to judge code on a case to case basis. From 5afc9d5e55710c796947d35138673b44ee8608af Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 4 Oct 2023 17:48:14 -0400 Subject: [PATCH 03/29] Update contributing.md --- docs/contributing.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index 314f93e2677..782ee43902f 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -2,13 +2,17 @@ Contributions are welcome. We have a few requests of any new contributors. ### Ensure that all changes which affect logic are covered by unit tests. -Something something please take a look at [this document](/docs/world%20api.md#tests) about how to implement them. +It is strongly recommended that unit tests are used to avoid regression and confirm that the logic is working. +To implement them, please take a look at [their documentation](/docs/world%20api.md#tests). ### Do not introduce any unit test failures/regressions. +To do so, it is recommended that Github actions are turned on to automatically run all unit tests when pushing. +You can turn this setting on here. (insert image) ### Follow styling guidelines. -To [styling documentation](/docs/style.md). +We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at +our [styling documentation](/docs/style.md). -Otherwise, we tend to judge code on a case to case basis. +Other than these requests, we tend to judge code on a case to case basis. If you want to add a new game to Archipelago, please take a look at this [document](/docs/adding%20games.md) detailing what is required for implementing a game (as well as tips for how to get started). @@ -16,4 +20,4 @@ If you want to merge a new game, please make sure to read the responsibilities a [world maintainer](/docs/world%20maintainer.md). For any other questions, feel free to explore the [main documentation folder](/docs/) and ask us questions in the #archipelago-dev channel -in our [Discord](https://archipelago.gg/discord). +of our [Discord](https://archipelago.gg/discord). From 56ebbb628d7c2b95b54d9e70490f62a3382b261a Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 4 Oct 2023 17:48:41 -0400 Subject: [PATCH 04/29] Update contributing.md --- docs/contributing.md | 1 + 1 file changed, 1 insertion(+) diff --git a/docs/contributing.md b/docs/contributing.md index 782ee43902f..a405193817c 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -12,6 +12,7 @@ You can turn this setting on here. (insert image) We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at our [styling documentation](/docs/style.md). + Other than these requests, we tend to judge code on a case to case basis. If you want to add a new game to Archipelago, please take a look at this [document](/docs/adding%20games.md) detailing what is required From d7d53d95b2a5057e7185ff14a489e5453ee04f71 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 4 Oct 2023 17:52:41 -0400 Subject: [PATCH 05/29] Update contributing.md --- docs/contributing.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index a405193817c..f662c0c6a95 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,18 +1,17 @@ # Contributing Contributions are welcome. We have a few requests of any new contributors. -### Ensure that all changes which affect logic are covered by unit tests. +* **Ensure that all changes which affect logic are covered by unit tests.** It is strongly recommended that unit tests are used to avoid regression and confirm that the logic is working. To implement them, please take a look at [their documentation](/docs/world%20api.md#tests). -### Do not introduce any unit test failures/regressions. +* **Do not introduce any unit test failures/regressions.** To do so, it is recommended that Github actions are turned on to automatically run all unit tests when pushing. You can turn this setting on here. (insert image) -### Follow styling guidelines. +* **Follow styling guidelines.** We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at our [styling documentation](/docs/style.md). - Other than these requests, we tend to judge code on a case to case basis. If you want to add a new game to Archipelago, please take a look at this [document](/docs/adding%20games.md) detailing what is required @@ -21,4 +20,4 @@ If you want to merge a new game, please make sure to read the responsibilities a [world maintainer](/docs/world%20maintainer.md). For any other questions, feel free to explore the [main documentation folder](/docs/) and ask us questions in the #archipelago-dev channel -of our [Discord](https://archipelago.gg/discord). +of our [Discord](https://archipelago.gg/discord). \ No newline at end of file From e172ada9c5db02aa26399922d1984927c1000dc7 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 4 Oct 2023 18:53:12 -0400 Subject: [PATCH 06/29] Update contributing.md Added non-AP World specific information --- docs/contributing.md | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index f662c0c6a95..0eec7aad293 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,9 +1,10 @@ # Contributing Contributions are welcome. We have a few requests of any new contributors. -* **Ensure that all changes which affect logic are covered by unit tests.** -It is strongly recommended that unit tests are used to avoid regression and confirm that the logic is working. -To implement them, please take a look at [their documentation](/docs/world%20api.md#tests). +* **Ensure that all changes are covered by unit tests.** +It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. +If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/world%20api.md#tests). +If you wish to contribute to the website, please take a look at these [following tests](/tree/main/test/webhost). * **Do not introduce any unit test failures/regressions.** To do so, it is recommended that Github actions are turned on to automatically run all unit tests when pushing. You can turn this setting on here. (insert image) @@ -12,7 +13,11 @@ You can turn this setting on here. (insert image) We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at our [styling documentation](/docs/style.md). -Other than these requests, we tend to judge code on a case to case basis. +Other than these requests, we tend to judge code on a case to case basis. For contribution to the website, please also refer to +this [document](/WebHostLib/README.md). + +If you want to contribute to the core, you will be subject to stricter review on your pull requests. It is also recommended +that you get in touch with other core mainteners via our [Discord](https://archipelago.gg/discord). If you want to add a new game to Archipelago, please take a look at this [document](/docs/adding%20games.md) detailing what is required for implementing a game (as well as tips for how to get started). From ba5b8030051070828c483285b4d579ac82984686 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 4 Oct 2023 18:54:55 -0400 Subject: [PATCH 07/29] Update contributing.md Fixed broken link --- docs/contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributing.md b/docs/contributing.md index 0eec7aad293..a5209a15f07 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -4,7 +4,7 @@ Contributions are welcome. We have a few requests of any new contributors. * **Ensure that all changes are covered by unit tests.** It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/world%20api.md#tests). -If you wish to contribute to the website, please take a look at these [following tests](/tree/main/test/webhost). +If you wish to contribute to the website, please take a look at these [following tests](/test/webhost). * **Do not introduce any unit test failures/regressions.** To do so, it is recommended that Github actions are turned on to automatically run all unit tests when pushing. You can turn this setting on here. (insert image) From f0fc346a2d604a5f05bf89f9ec6edab2db6a7e8f Mon Sep 17 00:00:00 2001 From: Scipio Wright Date: Wed, 4 Oct 2023 20:29:34 -0400 Subject: [PATCH 08/29] Some minor touchups --- docs/contributing.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index a5209a15f07..e21bba91e53 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,5 +1,5 @@ # Contributing -Contributions are welcome. We have a few requests of any new contributors. +Contributions are welcome. We have a few requests for new contributors: * **Ensure that all changes are covered by unit tests.** It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. @@ -17,12 +17,12 @@ Other than these requests, we tend to judge code on a case to case basis. For co this [document](/WebHostLib/README.md). If you want to contribute to the core, you will be subject to stricter review on your pull requests. It is also recommended -that you get in touch with other core mainteners via our [Discord](https://archipelago.gg/discord). +that you get in touch with other core maintainers via our [Discord](https://archipelago.gg/discord). -If you want to add a new game to Archipelago, please take a look at this [document](/docs/adding%20games.md) detailing what is required -for implementing a game (as well as tips for how to get started). -If you want to merge a new game, please make sure to read the responsibilities as +If you want to add Archipelago support for a new game, please take a look at the [adding games documentation](/docs/adding%20games.md) detailing what is required +for implementing a game, as well as tips for how to get started. +If you want to merge a new game into the main Archipelago repo, please make sure to read the responsibilities as a [world maintainer](/docs/world%20maintainer.md). For any other questions, feel free to explore the [main documentation folder](/docs/) and ask us questions in the #archipelago-dev channel -of our [Discord](https://archipelago.gg/discord). \ No newline at end of file +of our [Discord](https://archipelago.gg/discord). From ecc9c79d62cb475566072d5f48db4198cc2f373b Mon Sep 17 00:00:00 2001 From: Rever Date: Thu, 5 Oct 2023 15:35:55 -0400 Subject: [PATCH 09/29] Update Contributing.md Draft for version with picture --- docs/contributing.md | 16 ++++++++++------ docs/img/github-actions-example.png | Bin 0 -> 95136 bytes 2 files changed, 10 insertions(+), 6 deletions(-) create mode 100644 docs/img/github-actions-example.png diff --git a/docs/contributing.md b/docs/contributing.md index e21bba91e53..22c4a240078 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -1,17 +1,21 @@ # Contributing Contributions are welcome. We have a few requests for new contributors: +* **Follow styling guidelines.** +We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at +our [styling documentation](/docs/style.md). + * **Ensure that all changes are covered by unit tests.** It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/world%20api.md#tests). If you wish to contribute to the website, please take a look at these [following tests](/test/webhost). -* **Do not introduce any unit test failures/regressions.** -To do so, it is recommended that Github actions are turned on to automatically run all unit tests when pushing. -You can turn this setting on here. (insert image) -* **Follow styling guidelines.** -We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at -our [styling documentation](/docs/style.md). +* **Do not introduce any unit test failures/regressions.** +To note, Archipelago supports multiple versions of Python. You may need to download other Python versions to fully test +your changes. Currently, the oldest supported version is [Python 3.8](https://www.python.org/downloads/release/python-380/). +It is recommended that automated github actions are turned on in your fork to have github run all the unit tests after pushing. +You can turn them on here: +![Github actions example](./img/github-actions-example.png) Other than these requests, we tend to judge code on a case to case basis. For contribution to the website, please also refer to this [document](/WebHostLib/README.md). diff --git a/docs/img/github-actions-example.png b/docs/img/github-actions-example.png new file mode 100644 index 0000000000000000000000000000000000000000..2363a3ed4c56540eeb5eeabd4ac1dbd823741faf GIT binary patch literal 95136 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 Date: Thu, 5 Oct 2023 15:39:09 -0400 Subject: [PATCH 10/29] Update contributing.md Small word change --- docs/contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributing.md b/docs/contributing.md index 22c4a240078..e03e787d6a7 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -11,7 +11,7 @@ If you wish to contribute by adding a new game, please take a look at the [logic If you wish to contribute to the website, please take a look at these [following tests](/test/webhost). * **Do not introduce any unit test failures/regressions.** -To note, Archipelago supports multiple versions of Python. You may need to download other Python versions to fully test +To note, Archipelago supports multiple versions of Python. You may need to download older Python versions to fully test your changes. Currently, the oldest supported version is [Python 3.8](https://www.python.org/downloads/release/python-380/). It is recommended that automated github actions are turned on in your fork to have github run all the unit tests after pushing. You can turn them on here: From e5b6515fae0dbc36c88fb730fb8f5f644393c2a0 Mon Sep 17 00:00:00 2001 From: Scipio Wright Date: Fri, 6 Oct 2023 14:11:04 -0400 Subject: [PATCH 11/29] Minor updates for conciseness, mostly --- docs/contributing.md | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index e03e787d6a7..a7c934cd40e 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -3,30 +3,30 @@ Contributions are welcome. We have a few requests for new contributors: * **Follow styling guidelines.** We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at -our [styling documentation](/docs/style.md). +the [styling documentation](/docs/style.md). * **Ensure that all changes are covered by unit tests.** It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/world%20api.md#tests). -If you wish to contribute to the website, please take a look at these [following tests](/test/webhost). +If you wish to contribute to the website, please take a look at [these tests](/test/webhost). -* **Do not introduce any unit test failures/regressions.** -To note, Archipelago supports multiple versions of Python. You may need to download older Python versions to fully test +* **Do not introduce unit test failures/regressions.** +Archipelago supports multiple versions of Python. You may need to download older Python versions to fully test your changes. Currently, the oldest supported version is [Python 3.8](https://www.python.org/downloads/release/python-380/). -It is recommended that automated github actions are turned on in your fork to have github run all the unit tests after pushing. +It is recommended that automated github actions are turned on in your fork to have github run all of the unit tests after pushing. You can turn them on here: ![Github actions example](./img/github-actions-example.png) -Other than these requests, we tend to judge code on a case to case basis. For contribution to the website, please also refer to -this [document](/WebHostLib/README.md). +Other than these requests, we tend to judge code on a case by case basis. For contribution to the website, please refer to +[this document](/WebHostLib/README.md). -If you want to contribute to the core, you will be subject to stricter review on your pull requests. It is also recommended -that you get in touch with other core maintainers via our [Discord](https://archipelago.gg/discord). +If you want to contribute to the core, you will be subject to stricter review on your pull requests. It is recommended +that you get in touch with other core maintainers via the [Discord](https://archipelago.gg/discord). -If you want to add Archipelago support for a new game, please take a look at the [adding games documentation](/docs/adding%20games.md) detailing what is required -for implementing a game, as well as tips for how to get started. +If you want to add Archipelago support for a new game, please take a look at the [adding games documentation](/docs/adding%20games.md), which details what is required +to implement support for a game, as well as tips for how to get started. If you want to merge a new game into the main Archipelago repo, please make sure to read the responsibilities as a [world maintainer](/docs/world%20maintainer.md). -For any other questions, feel free to explore the [main documentation folder](/docs/) and ask us questions in the #archipelago-dev channel -of our [Discord](https://archipelago.gg/discord). +For other questions, feel free to explore the [main documentation folder](/docs/) and ask us questions in the #archipelago-dev channel +of the [Discord](https://archipelago.gg/discord). From 8e6ba9d84dcd0b9ab10210d64338d58f82b4b09a Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 20 Dec 2023 13:40:30 -0500 Subject: [PATCH 12/29] Changed all instances of settings to options in info and setup guides I combed through all world docs and swapped "setting" to "option" when this was refering to yaml options. I also changed a leftover "setting" in option.py --- Options.py | 2 +- worlds/adventure/docs/en_Adventure.md | 10 +++++----- worlds/adventure/docs/setup_en.md | 2 +- worlds/alttp/docs/en_A Link to the Past.md | 4 ++-- worlds/archipidle/docs/en_ArchipIDLE.md | 4 ++-- worlds/archipidle/docs/guide_en.md | 2 +- worlds/bk_sudoku/docs/en_Sudoku.md | 4 ++-- worlds/blasphemous/docs/en_Blasphemous.md | 4 ++-- worlds/bumpstik/docs/en_Bumper Stickers.md | 4 ++-- worlds/checksfinder/docs/en_ChecksFinder.md | 4 ++-- worlds/checksfinder/docs/setup_en.md | 2 +- worlds/clique/docs/en_Clique.md | 4 ++-- worlds/dark_souls_3/docs/en_Dark Souls III.md | 6 +++--- worlds/dark_souls_3/docs/setup_en.md | 4 ++-- worlds/dkc3/docs/en_Donkey Kong Country 3.md | 4 ++-- worlds/dkc3/docs/setup_en.md | 8 ++++---- worlds/dlcquest/docs/en_DLCQuest.md | 4 ++-- worlds/dlcquest/docs/setup_en.md | 2 +- worlds/doom_1993/docs/en_DOOM 1993.md | 4 ++-- worlds/doom_ii/docs/en_DOOM II.md | 4 ++-- worlds/factorio/docs/en_Factorio.md | 6 +++--- worlds/factorio/docs/setup_en.md | 12 ++++++------ worlds/ff1/docs/en_Final Fantasy.md | 6 +++--- .../ffmq/docs/en_Final Fantasy Mystic Quest.md | 4 ++-- worlds/ffmq/docs/setup_en.md | 8 ++++---- worlds/heretic/docs/en_Heretic.md | 4 ++-- worlds/hk/docs/en_Hollow Knight.md | 6 +++--- worlds/hk/docs/setup_en.md | 2 +- worlds/hylics2/docs/en_Hylics 2.md | 4 ++-- worlds/kh2/docs/en_Kingdom Hearts 2.md | 4 ++-- worlds/kh2/docs/setup_en.md | 2 +- worlds/ladx/docs/en_Links Awakening DX.md | 6 +++--- worlds/ladx/docs/setup_en.md | 6 +++--- ...n_Landstalker - The Treasures of King Nole.md | 8 ++++---- worlds/landstalker/docs/landstalker_setup_en.md | 2 +- worlds/lingo/docs/en_Lingo.md | 4 ++-- worlds/lufia2ac/docs/en_Lufia II Ancient Cave.md | 4 ++-- worlds/lufia2ac/docs/setup_en.md | 6 +++--- worlds/meritous/docs/en_Meritous.md | 4 ++-- worlds/meritous/docs/setup_en.md | 4 ++-- worlds/minecraft/docs/en_Minecraft.md | 4 ++-- worlds/minecraft/docs/minecraft_en.md | 2 +- worlds/mmbn3/docs/en_MegaMan Battle Network 3.md | 4 ++-- worlds/mmbn3/docs/setup_en.md | 4 ++-- worlds/musedash/docs/en_Muse Dash.md | 4 ++-- worlds/musedash/docs/setup_en.md | 4 ++-- worlds/noita/docs/en_Noita.md | 12 ++++++------ worlds/noita/docs/setup_en.md | 2 +- worlds/oot/docs/en_Ocarina of Time.md | 6 +++--- worlds/oot/docs/setup_en.md | 4 ++-- worlds/overcooked2/docs/en_Overcooked! 2.md | 4 ++-- worlds/overcooked2/docs/setup_en.md | 10 +++++----- .../pokemon_emerald/docs/en_Pokemon Emerald.md | 10 +++++----- worlds/pokemon_emerald/docs/setup_en.md | 4 ++-- .../pokemon_rb/docs/en_Pokemon Red and Blue.md | 10 +++++----- worlds/pokemon_rb/docs/setup_en.md | 6 +++--- worlds/raft/docs/en_Raft.md | 4 ++-- worlds/rogue_legacy/docs/en_Rogue Legacy.md | 6 +++--- worlds/rogue_legacy/docs/rogue-legacy_en.md | 2 +- worlds/ror2/docs/en_Risk of Rain 2.md | 16 ++++++++-------- worlds/ror2/docs/setup_en.md | 2 +- worlds/sa2b/docs/en_Sonic Adventure 2 Battle.md | 4 ++-- .../docs/en_Starcraft 2 Wings of Liberty.md | 2 +- worlds/sc2wol/docs/setup_en.md | 6 +++--- worlds/shivers/docs/en_Shivers.md | 4 ++-- worlds/shivers/docs/setup_en.md | 4 ++-- worlds/sm/docs/en_Super Metroid.md | 4 ++-- worlds/sm/docs/multiworld_en.md | 8 ++++---- worlds/sm64ex/docs/en_Super Mario 64.md | 6 +++--- worlds/sm64ex/docs/setup_en.md | 4 ++-- worlds/smw/docs/en_Super Mario World.md | 4 ++-- worlds/smw/docs/setup_en.md | 4 ++-- worlds/smz3/docs/en_SMZ3.md | 4 ++-- worlds/smz3/docs/multiworld_en.md | 8 ++++---- worlds/soe/docs/en_Secret of Evermore.md | 4 ++-- worlds/soe/docs/multiworld_en.md | 8 ++++---- worlds/spire/docs/en_Slay the Spire.md | 4 ++-- worlds/spire/docs/slay-the-spire_en.md | 4 ++-- worlds/stardew_valley/docs/en_Stardew Valley.md | 10 +++++----- worlds/stardew_valley/docs/setup_en.md | 2 +- worlds/subnautica/docs/en_Subnautica.md | 4 ++-- worlds/subnautica/docs/setup_en.md | 2 +- worlds/terraria/docs/en_Terraria.md | 6 +++--- worlds/terraria/docs/setup_en.md | 2 +- worlds/timespinner/docs/en_Timespinner.md | 4 ++-- worlds/timespinner/docs/setup_en.md | 4 ++-- worlds/tloz/docs/en_The Legend of Zelda.md | 4 ++-- worlds/tloz/docs/multiworld_en.md | 8 ++++---- worlds/undertale/docs/en_Undertale.md | 4 ++-- worlds/undertale/docs/setup_en.md | 2 +- worlds/v6/docs/en_VVVVVV.md | 6 +++--- worlds/v6/docs/setup_en.md | 2 +- worlds/wargroove/docs/en_Wargroove.md | 4 ++-- worlds/wargroove/docs/wargroove_en.md | 2 +- worlds/witness/docs/en_The Witness.md | 8 ++++---- worlds/witness/docs/setup_en.md | 2 +- worlds/zillion/docs/en_Zillion.md | 4 ++-- worlds/zillion/docs/setup_en.md | 4 ++-- 98 files changed, 235 insertions(+), 235 deletions(-) diff --git a/Options.py b/Options.py index 2e3927aae3f..348f50ebbbf 100644 --- a/Options.py +++ b/Options.py @@ -914,7 +914,7 @@ class Accessibility(Choice): class ProgressionBalancing(NamedRange): """A system that can move progression earlier, to try and prevent the player from getting stuck and bored early. - A lower setting means more getting stuck. A higher setting means less getting stuck.""" + A lower option means more getting stuck. A higher option means less getting stuck.""" default = 50 range_start = 0 range_end = 99 diff --git a/worlds/adventure/docs/en_Adventure.md b/worlds/adventure/docs/en_Adventure.md index c39e0f7d919..dc17505229e 100644 --- a/worlds/adventure/docs/en_Adventure.md +++ b/worlds/adventure/docs/en_Adventure.md @@ -1,11 +1,11 @@ # Adventure -## Where is the settings page? -The [player settings page for Adventure](../player-settings) contains all the options you need to configure and export a config file. +## Where is the options page? +The [player options page for Adventure](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? Adventure items may be distributed into additional locations not possible in the vanilla Adventure randomizer. All -Adventure items are added to the multiworld item pool. Depending on the settings, dragon locations may be randomized, +Adventure items are added to the multiworld item pool. Depending on the options, dragon locations may be randomized, slaying dragons may award items, difficulty switches may require items to unlock, and limited use 'freeincarnates' can allow reincarnation without resurrecting dragons. Dragon speeds may also be randomized, and items may exist to reduce their speeds. @@ -15,7 +15,7 @@ Same as vanilla; Find the Enchanted Chalice and return it to the Yellow Castle ## Which items can be in another player's world? All three keys, the chalice, the sword, the magnet, and the bridge can be found in another player's world. Depending on -settings, dragon slowdowns, difficulty switch unlocks, and freeincarnates may also be found. +options, dragon slowdowns, difficulty switch unlocks, and freeincarnates may also be found. ## What is considered a location check in Adventure? Most areas in Adventure have one or more locations which can contain an Adventure item or an Archipelago item. @@ -41,7 +41,7 @@ A message is shown in the client log. While empty handed, the player can press order they were received. Once an item is retrieved this way, it cannot be retrieved again until pressing select to return to the 'GO' screen or doing a hard reset, either one of which will reset all items to their original positions. -## What are recommended settings to tweak for beginners to the rando? +## What are recommended options to tweak for beginners to the rando? Setting difficulty_switch_a and lowering the dragons' speeds makes the dragons easier to avoid. Adding Chalice to local_items guarantees you'll visit at least one of the interesting castles, as it can only be placed in a castle or the credits room. diff --git a/worlds/adventure/docs/setup_en.md b/worlds/adventure/docs/setup_en.md index 10fc564aba5..774bb125914 100644 --- a/worlds/adventure/docs/setup_en.md +++ b/worlds/adventure/docs/setup_en.md @@ -42,7 +42,7 @@ an experience customized for their taste, and different players in the same mult ### Where do I get a YAML file? -You can generate a yaml or download a template by visiting the [Adventure Settings Page](/games/Adventure/player-settings) +You can generate a yaml or download a template by visiting the [Adventure Options Page](/games/Adventure/player-options) ### What are recommended settings to tweak for beginners to the rando? Setting difficulty_switch_a and lowering the dragons' speeds makes the dragons easier to avoid. Adding Chalice to diff --git a/worlds/alttp/docs/en_A Link to the Past.md b/worlds/alttp/docs/en_A Link to the Past.md index 6808f69e759..1a2cb310ce0 100644 --- a/worlds/alttp/docs/en_A Link to the Past.md +++ b/worlds/alttp/docs/en_A Link to the Past.md @@ -1,8 +1,8 @@ # A Link to the Past -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/archipidle/docs/en_ArchipIDLE.md b/worlds/archipidle/docs/en_ArchipIDLE.md index 3d57e3a0551..c3b396c6490 100644 --- a/worlds/archipidle/docs/en_ArchipIDLE.md +++ b/worlds/archipidle/docs/en_ArchipIDLE.md @@ -6,8 +6,8 @@ ArchipIDLE was originally the 2022 Archipelago April Fools' Day joke. It is an i on regular intervals. Updated annually with more items, gimmicks, and features, the game is visible only during the month of April. -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. diff --git a/worlds/archipidle/docs/guide_en.md b/worlds/archipidle/docs/guide_en.md index e1a6532992b..f9d7f08aab8 100644 --- a/worlds/archipidle/docs/guide_en.md +++ b/worlds/archipidle/docs/guide_en.md @@ -1,7 +1,7 @@ # ArchipIdle Setup Guide ## Joining a MultiWorld Game -1. Generate a `.yaml` file from the [ArchipIDLE Player Settings Page](/games/ArchipIDLE/player-settings) +1. Generate a `.yaml` file from the [ArchipIDLE Player Options Page](/games/ArchipIDLE/player-options) 2. Open the ArchipIDLE Client in your web browser by either: - Navigate to the [ArchipIDLE Client](http://idle.multiworld.link) - Download the client and run it locally from the diff --git a/worlds/bk_sudoku/docs/en_Sudoku.md b/worlds/bk_sudoku/docs/en_Sudoku.md index d6951475246..dae5a9e3e51 100644 --- a/worlds/bk_sudoku/docs/en_Sudoku.md +++ b/worlds/bk_sudoku/docs/en_Sudoku.md @@ -8,6 +8,6 @@ BK Sudoku is not a typical Archipelago game; instead, it is a generic Sudoku cli After completing a Sudoku puzzle, the game will unlock 1 random hint for an unchecked location in the slot you are connected to. -## Where is the settings page? +## Where is the options page? -There is no settings page; this game cannot be used in your .yamls. Instead, the client can connect to any slot in a multiworld. +There is no options page; this game cannot be used in your .yamls. Instead, the client can connect to any slot in a multiworld. diff --git a/worlds/blasphemous/docs/en_Blasphemous.md b/worlds/blasphemous/docs/en_Blasphemous.md index 1ff7f5a9035..a99eea6fa4b 100644 --- a/worlds/blasphemous/docs/en_Blasphemous.md +++ b/worlds/blasphemous/docs/en_Blasphemous.md @@ -1,8 +1,8 @@ # Blasphemous -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/bumpstik/docs/en_Bumper Stickers.md b/worlds/bumpstik/docs/en_Bumper Stickers.md index 17a66d76122..42599ec6412 100644 --- a/worlds/bumpstik/docs/en_Bumper Stickers.md +++ b/worlds/bumpstik/docs/en_Bumper Stickers.md @@ -1,7 +1,7 @@ # Bumper Stickers -## Where is the settings page? -The [player settings page for Bumper Stickers](../player-settings) contains all the options you need to configure and export a config file. +## Where is the options page? +The [player options page for Bumper Stickers](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? Playing this in Archipelago is a very different experience from Classic mode. You start with a very small board and a set of tasks. Completing those tasks will give you a larger board and more, harder tasks. In addition, special types of bumpers exist that must be cleared in order to progress. diff --git a/worlds/checksfinder/docs/en_ChecksFinder.md b/worlds/checksfinder/docs/en_ChecksFinder.md index 96fb0529df6..c9569376c5f 100644 --- a/worlds/checksfinder/docs/en_ChecksFinder.md +++ b/worlds/checksfinder/docs/en_ChecksFinder.md @@ -1,8 +1,8 @@ # ChecksFinder -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What is considered a location check in ChecksFinder? diff --git a/worlds/checksfinder/docs/setup_en.md b/worlds/checksfinder/docs/setup_en.md index 28c7c32580c..6ff58a62ce6 100644 --- a/worlds/checksfinder/docs/setup_en.md +++ b/worlds/checksfinder/docs/setup_en.md @@ -16,7 +16,7 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a YAML file? -You can customize your settings by visiting the [ChecksFinder Player Settings Page](/games/ChecksFinder/player-settings) +You can customize your options by visiting the [ChecksFinder Player Options Page](/games/ChecksFinder/player-options) ### Generating a ChecksFinder game diff --git a/worlds/clique/docs/en_Clique.md b/worlds/clique/docs/en_Clique.md index 862454f5c61..e9cb164fecb 100644 --- a/worlds/clique/docs/en_Clique.md +++ b/worlds/clique/docs/en_Clique.md @@ -10,7 +10,7 @@ wait for someone else in the multiworld to "activate" their button before they c Clique can be played on most modern HTML5-capable browsers. -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. diff --git a/worlds/dark_souls_3/docs/en_Dark Souls III.md b/worlds/dark_souls_3/docs/en_Dark Souls III.md index e844925df1e..f31358bb9c2 100644 --- a/worlds/dark_souls_3/docs/en_Dark Souls III.md +++ b/worlds/dark_souls_3/docs/en_Dark Souls III.md @@ -1,8 +1,8 @@ # Dark Souls III -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -13,7 +13,7 @@ location "Titanite Shard #5" is the fifth titanite shard you pick up, no matter happens when you randomize Estus Shards and Undead Bone Shards. It's also possible to randomize the upgrade level of weapons and shields as well as their infusions (if they can have -one). Additionally, there are settings that can make the randomized experience more convenient or more interesting, such as +one). Additionally, there are options that can make the randomized experience more convenient or more interesting, such as removing weapon requirements or auto-equipping whatever equipment you most recently received. The goal is to find the four "Cinders of a Lord" items randomized into the multiworld and defeat the Soul of Cinder. diff --git a/worlds/dark_souls_3/docs/setup_en.md b/worlds/dark_souls_3/docs/setup_en.md index 7a3ca4e9bd8..e97b6d24022 100644 --- a/worlds/dark_souls_3/docs/setup_en.md +++ b/worlds/dark_souls_3/docs/setup_en.md @@ -51,5 +51,5 @@ add it at the root folder of your game (e.g. "SteamLibrary\steamapps\common\DARK ## Where do I get a config file? -The [Player Settings](/games/Dark%20Souls%20III/player-settings) page on the website allows you to -configure your personal settings and export them into a config file. +The [Player Options](/games/Dark%20Souls%20III/player-options) page on the website allows you to +configure your personal options and export them into a config file. diff --git a/worlds/dkc3/docs/en_Donkey Kong Country 3.md b/worlds/dkc3/docs/en_Donkey Kong Country 3.md index 2041f0a41bd..83ba25a9960 100644 --- a/worlds/dkc3/docs/en_Donkey Kong Country 3.md +++ b/worlds/dkc3/docs/en_Donkey Kong Country 3.md @@ -1,8 +1,8 @@ # Donkey Kong Country 3 -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/dkc3/docs/setup_en.md b/worlds/dkc3/docs/setup_en.md index 9c4197286eb..0fdb9996ac1 100644 --- a/worlds/dkc3/docs/setup_en.md +++ b/worlds/dkc3/docs/setup_en.md @@ -44,8 +44,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [Donkey Kong Country 3 Player Settings Page](/games/Donkey%20Kong%20Country%203/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [Donkey Kong Country 3 Player Options Page](/games/Donkey%20Kong%20Country%203/player-options) ### Verifying your config file @@ -54,8 +54,8 @@ validator page: [YAML Validation page](/check) ## Generating a Single-Player Game -1. Navigate to the Player Settings page, configure your options, and click the "Generate Game" button. - - Player Settings page: [Donkey Kong Country 3 Player Settings Page](/games/Donkey%20Kong%20Country%203/player-settings) +1. Navigate to the Player Options page, configure your options, and click the "Generate Game" button. + - Player Options page: [Donkey Kong Country 3 Player Options Page](/games/Donkey%20Kong%20Country%203/player-options) 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. 4. You will be presented with a server page, from which you can download your patch file. diff --git a/worlds/dlcquest/docs/en_DLCQuest.md b/worlds/dlcquest/docs/en_DLCQuest.md index eaccc8ff0a4..0ae8f2291e1 100644 --- a/worlds/dlcquest/docs/en_DLCQuest.md +++ b/worlds/dlcquest/docs/en_DLCQuest.md @@ -1,8 +1,8 @@ # DLC Quest -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/dlcquest/docs/setup_en.md b/worlds/dlcquest/docs/setup_en.md index 47e22e0f74e..7c82b9d69fc 100644 --- a/worlds/dlcquest/docs/setup_en.md +++ b/worlds/dlcquest/docs/setup_en.md @@ -19,7 +19,7 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a YAML file? -You can customize your settings by visiting the [DLC Quest Player Settings Page](/games/DLCQuest/player-settings) +You can customize your options by visiting the [DLC Quest Player Options Page](/games/DLCQuest/player-options) ## Joining a MultiWorld Game diff --git a/worlds/doom_1993/docs/en_DOOM 1993.md b/worlds/doom_1993/docs/en_DOOM 1993.md index 0419741bc30..ea7e3200307 100644 --- a/worlds/doom_1993/docs/en_DOOM 1993.md +++ b/worlds/doom_1993/docs/en_DOOM 1993.md @@ -1,8 +1,8 @@ # DOOM 1993 -## Where is the settings page? +## Where is the options page? -The [player settings page](../player-settings) contains the options needed to configure your game session. +The [player options page](../player-options) contains the options needed to configure your game session. ## What does randomization do to this game? diff --git a/worlds/doom_ii/docs/en_DOOM II.md b/worlds/doom_ii/docs/en_DOOM II.md index d561745b76c..d02f75cb6c8 100644 --- a/worlds/doom_ii/docs/en_DOOM II.md +++ b/worlds/doom_ii/docs/en_DOOM II.md @@ -1,8 +1,8 @@ # DOOM II -## Where is the settings page? +## Where is the options page? -The [player settings page](../player-settings) contains the options needed to configure your game session. +The [player options page](../player-options) contains the options needed to configure your game session. ## What does randomization do to this game? diff --git a/worlds/factorio/docs/en_Factorio.md b/worlds/factorio/docs/en_Factorio.md index dbc33d05dfd..94d2a5505bd 100644 --- a/worlds/factorio/docs/en_Factorio.md +++ b/worlds/factorio/docs/en_Factorio.md @@ -1,8 +1,8 @@ # Factorio -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -36,7 +36,7 @@ inventory. ## What is EnergyLink? EnergyLink is an energy storage supported by certain games that is shared across all worlds in a multiworld. -In Factorio, if enabled in the player settings, EnergyLink Bridge buildings can be crafted and placed, which allow +In Factorio, if enabled in the player options, EnergyLink Bridge buildings can be crafted and placed, which allow depositing excess energy and supplementing energy deficits, much like Accumulators. Each placed EnergyLink Bridge provides 10 MW of throughput. The shared storage has unlimited capacity, but 25% of energy diff --git a/worlds/factorio/docs/setup_en.md b/worlds/factorio/docs/setup_en.md index b6d45459253..8308e6350a0 100644 --- a/worlds/factorio/docs/setup_en.md +++ b/worlds/factorio/docs/setup_en.md @@ -25,8 +25,8 @@ options. ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Factorio player settings page: [Factorio Settings Page](/games/Factorio/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Factorio player options page: [Factorio Options Page](/games/Factorio/player-options) ### Verifying your config file @@ -148,11 +148,11 @@ For more information about the commands you can use, see the [Commands Guide](/t By default, peaceful mode is disabled. There are two methods to enable peaceful mode: ### By config file -You can specify Factorio game settings such as peaceful mode and terrain and resource generation parameters in your -config .yaml file by including the `world_gen` setting. This setting is currently not supported by the web UI, so you'll +You can specify Factorio game options such as peaceful mode and terrain and resource generation parameters in your +config .yaml file by including the `world_gen` option. This option is currently not supported by the web UI, so you'll have to manually create or edit your config file with a text editor of your choice. The [template file](/static/generated/configs/Factorio.yaml) is a good starting point and contains the default value of -the `world_gen` setting. If you already have a config file you may also just copy that setting over from the template. +the `world_gen` option. If you already have a config file you may also just copy that option over from the template. To enable peaceful mode, simply replace `peaceful_mode: false` with `peaceful_mode: true`. Finally, use the [.yaml checker](/check) to ensure your file is valid. @@ -165,7 +165,7 @@ enable peaceful mode by entering the following commands into your Archipelago Fa ``` (If this warns you that these commands may disable achievements, you may need to repeat them for them to take effect.) -## Other Settings +## Other Options ### filter_item_sends diff --git a/worlds/ff1/docs/en_Final Fantasy.md b/worlds/ff1/docs/en_Final Fantasy.md index 59fa85d9161..889bb46e0c3 100644 --- a/worlds/ff1/docs/en_Final Fantasy.md +++ b/worlds/ff1/docs/en_Final Fantasy.md @@ -1,9 +1,9 @@ # Final Fantasy 1 (NES) -## Where is the settings page? +## Where is the options page? -Unlike most games on Archipelago.gg, Final Fantasy 1's settings are controlled entirely by the original randomzier. You -can find an exhaustive list of documented settings on the FFR +Unlike most games on Archipelago.gg, Final Fantasy 1's options are controlled entirely by the original randomzier. You +can find an exhaustive list of documented options on the FFR website: [FF1R Website](https://finalfantasyrandomizer.com/) ## What does randomization do to this game? diff --git a/worlds/ffmq/docs/en_Final Fantasy Mystic Quest.md b/worlds/ffmq/docs/en_Final Fantasy Mystic Quest.md index dd4ea354fab..a652d4e5adc 100644 --- a/worlds/ffmq/docs/en_Final Fantasy Mystic Quest.md +++ b/worlds/ffmq/docs/en_Final Fantasy Mystic Quest.md @@ -1,8 +1,8 @@ # Final Fantasy Mystic Quest -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/ffmq/docs/setup_en.md b/worlds/ffmq/docs/setup_en.md index 9d9088dbc23..745ea19314b 100644 --- a/worlds/ffmq/docs/setup_en.md +++ b/worlds/ffmq/docs/setup_en.md @@ -39,8 +39,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [Final Fantasy Mystic Quest Player Settings Page](/games/Final%20Fantasy%20Mystic%20Quest/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [Final Fantasy Mystic Quest Player Options Page](/games/Final%20Fantasy%20Mystic%20Quest/player-options) ### Verifying your config file @@ -49,8 +49,8 @@ validator page: [YAML Validation page](/mysterycheck) ## Generating a Single-Player Game -1. Navigate to the Player Settings page, configure your options, and click the "Generate Game" button. - - Player Settings page: [Final Fantasy Mystic Quest Player Settings Page](/games/Final%20Fantasy%20Mystic%20Quest/player-settings) +1. Navigate to the Player Options page, configure your options, and click the "Generate Game" button. + - Player Options page: [Final Fantasy Mystic Quest Player Options Page](/games/Final%20Fantasy%20Mystic%20Quest/player-options) 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. 4. You will be presented with a server page, from which you can download your `.apmq` patch file. diff --git a/worlds/heretic/docs/en_Heretic.md b/worlds/heretic/docs/en_Heretic.md index 97d371de2c2..a7ae3d1ea74 100644 --- a/worlds/heretic/docs/en_Heretic.md +++ b/worlds/heretic/docs/en_Heretic.md @@ -1,8 +1,8 @@ # Heretic -## Where is the settings page? +## Where is the options page? -The [player settings page](../player-settings) contains the options needed to configure your game session. +The [player options page](../player-options) contains the options needed to configure your game session. ## What does randomization do to this game? diff --git a/worlds/hk/docs/en_Hollow Knight.md b/worlds/hk/docs/en_Hollow Knight.md index 6e74c8a1fbb..e31eb892a00 100644 --- a/worlds/hk/docs/en_Hollow Knight.md +++ b/worlds/hk/docs/en_Hollow Knight.md @@ -1,8 +1,8 @@ # Hollow Knight -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -12,7 +12,7 @@ Shop costs are presently always randomized. ## What Hollow Knight items can appear in other players' worlds? -This is dependent entirely upon your YAML settings. Some examples include: charms, grubs, lifeblood cocoons, geo, etc. +This is dependent entirely upon your YAML options. Some examples include: charms, grubs, lifeblood cocoons, geo, etc. ## What does another world's item look like in Hollow Knight? diff --git a/worlds/hk/docs/setup_en.md b/worlds/hk/docs/setup_en.md index fef0f051fec..b85818f30ec 100644 --- a/worlds/hk/docs/setup_en.md +++ b/worlds/hk/docs/setup_en.md @@ -31,7 +31,7 @@ You can see the [basic multiworld setup guide](/tutorial/Archipelago/setup/en) h about why Archipelago uses YAML files and what they're for. ### Where do I get a YAML? -You can use the [game settings page for Hollow Knight](/games/Hollow%20Knight/player-settings) here on the Archipelago +You can use the [game options page for Hollow Knight](/games/Hollow%20Knight/player-options) here on the Archipelago website to generate a YAML using a graphical interface. ### Joining an Archipelago Game in Hollow Knight diff --git a/worlds/hylics2/docs/en_Hylics 2.md b/worlds/hylics2/docs/en_Hylics 2.md index cb201a52bb3..4ebd0742eba 100644 --- a/worlds/hylics2/docs/en_Hylics 2.md +++ b/worlds/hylics2/docs/en_Hylics 2.md @@ -1,8 +1,8 @@ # Hylics 2 -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/kh2/docs/en_Kingdom Hearts 2.md b/worlds/kh2/docs/en_Kingdom Hearts 2.md index a07f29be54b..091359c6d00 100644 --- a/worlds/kh2/docs/en_Kingdom Hearts 2.md +++ b/worlds/kh2/docs/en_Kingdom Hearts 2.md @@ -4,9 +4,9 @@ This randomizer creates a more dynamic play experience by randomizing the locations of most items in Kingdom Hearts 2. Currently all items within Chests, Popups, Get Bonuses, Form Levels, and Sora's Levels are randomized. This allows abilities that Sora would normally have to be placed on Keyblades with random stats. Additionally, there are several options for ways to finish the game, allowing for different goals beyond beating the final boss. -

Where is the settings page

+

Where is the options page

-The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file.

What is randomized in this game?

diff --git a/worlds/kh2/docs/setup_en.md b/worlds/kh2/docs/setup_en.md index e0c8330632e..0e3b46a69f4 100644 --- a/worlds/kh2/docs/setup_en.md +++ b/worlds/kh2/docs/setup_en.md @@ -2,7 +2,7 @@

Quick Links

- [Game Info Page](../../../../games/Kingdom%20Hearts%202/info/en) -- [Player Settings Page](../../../../games/Kingdom%20Hearts%202/player-settings) +- [Player Options Page](../../../../games/Kingdom%20Hearts%202/player-options)

Required Software:

`Kingdom Hearts II Final Mix` from the [Epic Games Store](https://store.epicgames.com/en-US/discover/kingdom-hearts) diff --git a/worlds/ladx/docs/en_Links Awakening DX.md b/worlds/ladx/docs/en_Links Awakening DX.md index bceda4bc89c..91a34107c16 100644 --- a/worlds/ladx/docs/en_Links Awakening DX.md +++ b/worlds/ladx/docs/en_Links Awakening DX.md @@ -1,8 +1,8 @@ # Links Awakening DX -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -85,7 +85,7 @@ Title screen graphics by toomanyteeth✨ (https://instagram.com/toomanyyyteeth)

The walrus is moved a bit, so that you can access the desert without taking Marin on a date.

Logic

-

Depending on your settings, you can only steal after you find the sword, always, or never.

+

Depending on your options, you can only steal after you find the sword, always, or never.

Do not forget that there are two items in the rafting ride. You can access this with just Hookshot or Flippers.

Killing enemies with bombs is in normal logic. You can switch to casual logic if you do not want this.

D7 confuses some people, but by dropping down pits on the 2nd floor you can access almost all of this dungeon, even without feather and power bracelet.

diff --git a/worlds/ladx/docs/setup_en.md b/worlds/ladx/docs/setup_en.md index e21c5bddc48..c30c143202c 100644 --- a/worlds/ladx/docs/setup_en.md +++ b/worlds/ladx/docs/setup_en.md @@ -34,8 +34,8 @@ options. ### Where do I get a config file? -The [Player Settings](/games/Links%20Awakening%20DX/player-settings) page on the website allows you to configure -your personal settings and export a config file from them. +The [Player Options](/games/Links%20Awakening%20DX/player-options) page on the website allows you to configure +your personal options and export a config file from them. ### Verifying your config file @@ -44,7 +44,7 @@ If you would like to validate your config file to make sure it works, you may do ## Generating a Single-Player Game -1. Navigate to the [Player Settings](/games/Links%20Awakening%20DX/player-settings) page, configure your options, +1. Navigate to the [Player Options](/games/Links%20Awakening%20DX/player-options) page, configure your options, and click the "Generate Game" button. 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. diff --git a/worlds/landstalker/docs/en_Landstalker - The Treasures of King Nole.md b/worlds/landstalker/docs/en_Landstalker - The Treasures of King Nole.md index 90a79f8bd98..9239f741b43 100644 --- a/worlds/landstalker/docs/en_Landstalker - The Treasures of King Nole.md +++ b/worlds/landstalker/docs/en_Landstalker - The Treasures of King Nole.md @@ -1,8 +1,8 @@ # Landstalker: The Treasures of King Nole -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains most of the options you need to +The [player options page for this game](../player-options) contains most of the options you need to configure and export a config file. ## What does randomization do to this game? @@ -35,7 +35,7 @@ All key doors are gone, except three of them : The secondary shop of Mercator requiring to do the traders sidequest in the original game is now unlocked by having **Buyer Card** in your inventory. -You will need as many **jewels** as specified in the settings to use the teleporter to go to Kazalt and the final dungeon. +You will need as many **jewels** as specified in the options to use the teleporter to go to Kazalt and the final dungeon. If you find and use the **Lithograph**, it will tell you in which world are each one of your jewels. Each seed, there is a random dungeon which is chosen to be the "dark dungeon" where you won't see anything unless you @@ -54,7 +54,7 @@ be significantly harder, both combat-wise and logic-wise. Having fully open & shuffled teleportation trees is an interesting way to play, but is discouraged for beginners as well since it can force you to go in late-game zones with few Life Stocks. -Overall, the default settings are good for a beginner-friendly seed, and if you don't feel too confident, you can also +Overall, the default options are good for a beginner-friendly seed, and if you don't feel too confident, you can also lower the combat difficulty to make it more forgiving. *Have fun on your adventure!* diff --git a/worlds/landstalker/docs/landstalker_setup_en.md b/worlds/landstalker/docs/landstalker_setup_en.md index 9f453c146de..db3a09dcbcd 100644 --- a/worlds/landstalker/docs/landstalker_setup_en.md +++ b/worlds/landstalker/docs/landstalker_setup_en.md @@ -30,7 +30,7 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The [Player Settings Page](../player-settings) on the website allows you to easily configure your personal settings +The [Player Options Page](../player-options) on the website allows you to easily configure your personal options and export a config file from them. ## How-to-play diff --git a/worlds/lingo/docs/en_Lingo.md b/worlds/lingo/docs/en_Lingo.md index cff0581d9b2..c7e1bfc8192 100644 --- a/worlds/lingo/docs/en_Lingo.md +++ b/worlds/lingo/docs/en_Lingo.md @@ -1,8 +1,8 @@ # Lingo -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/lufia2ac/docs/en_Lufia II Ancient Cave.md b/worlds/lufia2ac/docs/en_Lufia II Ancient Cave.md index d24c4ef9f9a..1080a77d54f 100644 --- a/worlds/lufia2ac/docs/en_Lufia II Ancient Cave.md +++ b/worlds/lufia2ac/docs/en_Lufia II Ancient Cave.md @@ -1,8 +1,8 @@ # Lufia II - Rise of the Sinistrals (Ancient Cave) -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/lufia2ac/docs/setup_en.md b/worlds/lufia2ac/docs/setup_en.md index 3762f32fb4a..79c93765e44 100644 --- a/worlds/lufia2ac/docs/setup_en.md +++ b/worlds/lufia2ac/docs/setup_en.md @@ -38,8 +38,8 @@ options. ### Where do I get a config file? -The [Player Settings](/games/Lufia%20II%20Ancient%20Cave/player-settings) page on the website allows you to configure -your personal settings and export a config file from them. +The [Player Options](/games/Lufia%20II%20Ancient%20Cave/player-options) page on the website allows you to configure +your personal options and export a config file from them. ### Verifying your config file @@ -48,7 +48,7 @@ If you would like to validate your config file to make sure it works, you may do ## Generating a Single-Player Game -1. Navigate to the [Player Settings](/games/Lufia%20II%20Ancient%20Cave/player-settings) page, configure your options, +1. Navigate to the [Player Options](/games/Lufia%20II%20Ancient%20Cave/player-options) page, configure your options, and click the "Generate Game" button. 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. diff --git a/worlds/meritous/docs/en_Meritous.md b/worlds/meritous/docs/en_Meritous.md index bceae7d9ae2..d119c3634c5 100644 --- a/worlds/meritous/docs/en_Meritous.md +++ b/worlds/meritous/docs/en_Meritous.md @@ -1,7 +1,7 @@ # Meritous -## Where is the settings page? -The [player settings page for Meritous](../player-settings) contains all the options you need to configure and export a config file. +## Where is the options page? +The [player options page for Meritous](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? The PSI Enhancement Tiles have become general-purpose Item Caches, and all upgrades and artifacts are added to the multiworld item pool. Optionally, the progression-critical PSI Keys can also be added to the pool, as well as monster evolution traps which (in vanilla) trigger when bosses are defeated. diff --git a/worlds/meritous/docs/setup_en.md b/worlds/meritous/docs/setup_en.md index 63f8657b63b..9b91f12106d 100644 --- a/worlds/meritous/docs/setup_en.md +++ b/worlds/meritous/docs/setup_en.md @@ -40,9 +40,9 @@ Eventually, this process will be moved to in-game menus for better ease of use. ## Finishing the Game -Your initial goal is to find all three PSI Keys. Depending on your YAML settings, these may be located on pedestals in special rooms in the Atlas Dome, or they may be scattered across other players' worlds. These PSI Keys are then brought to their respective locations in the Dome, where you will be subjected to a boss battle. Once all three bosses are defeated, this unlocks the Cursed Seal, hidden in the farthest-away location from the Entrance. The Compass tiles can help you find your way to these locations. +Your initial goal is to find all three PSI Keys. Depending on your YAML options, these may be located on pedestals in special rooms in the Atlas Dome, or they may be scattered across other players' worlds. These PSI Keys are then brought to their respective locations in the Dome, where you will be subjected to a boss battle. Once all three bosses are defeated, this unlocks the Cursed Seal, hidden in the farthest-away location from the Entrance. The Compass tiles can help you find your way to these locations. -At minimum, every seed will require you to find the Cursed Seal and bring it back to the Entrance. The goal can then vary based on your `goal` YAML setting: +At minimum, every seed will require you to find the Cursed Seal and bring it back to the Entrance. The goal can then vary based on your `goal` YAML option: - `return_the_cursed_seal`: You will fight the final boss, but win or lose, a victory will be posted. - `any_ending`: You must defeat the final boss. diff --git a/worlds/minecraft/docs/en_Minecraft.md b/worlds/minecraft/docs/en_Minecraft.md index 1ef347983bc..b1af34e50f1 100644 --- a/worlds/minecraft/docs/en_Minecraft.md +++ b/worlds/minecraft/docs/en_Minecraft.md @@ -1,8 +1,8 @@ # Minecraft -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/minecraft/docs/minecraft_en.md b/worlds/minecraft/docs/minecraft_en.md index e8b1a3642ee..48304ad2529 100644 --- a/worlds/minecraft/docs/minecraft_en.md +++ b/worlds/minecraft/docs/minecraft_en.md @@ -16,7 +16,7 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a YAML file? -You can customize your settings by visiting the [Minecraft Player Settings Page](/games/Minecraft/player-settings) +You can customize your options by visiting the [Minecraft Player Options Page](/games/Minecraft/player-options) ## Joining a MultiWorld Game diff --git a/worlds/mmbn3/docs/en_MegaMan Battle Network 3.md b/worlds/mmbn3/docs/en_MegaMan Battle Network 3.md index 7ffa4665fd2..bb9d2c15af2 100644 --- a/worlds/mmbn3/docs/en_MegaMan Battle Network 3.md +++ b/worlds/mmbn3/docs/en_MegaMan Battle Network 3.md @@ -1,8 +1,8 @@ # MegaMan Battle Network 3 -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/mmbn3/docs/setup_en.md b/worlds/mmbn3/docs/setup_en.md index b5ff1625c81..eb67315c9bc 100644 --- a/worlds/mmbn3/docs/setup_en.md +++ b/worlds/mmbn3/docs/setup_en.md @@ -54,8 +54,8 @@ an experience customized for their taste, and different players in the same mult ### Where do I get a YAML file? -You can customize your settings by visiting the -[MegaMan Battle Network 3 Player Settings Page](/games/MegaMan%20Battle%20Network%203/player-settings) +You can customize your options by visiting the +[MegaMan Battle Network 3 Player Options Page](/games/MegaMan%20Battle%20Network%203/player-options) ## Joining a MultiWorld Game diff --git a/worlds/musedash/docs/en_Muse Dash.md b/worlds/musedash/docs/en_Muse Dash.md index 008fd4d2df0..29d1465ed09 100644 --- a/worlds/musedash/docs/en_Muse Dash.md +++ b/worlds/musedash/docs/en_Muse Dash.md @@ -2,10 +2,10 @@ ## Quick Links - [Setup Guide](../../../tutorial/Muse%20Dash/setup/en) -- [Settings Page](../player-settings) +- [Options Page](../player-options) ## What Does Randomization do to this Game? -- You will be given a number of starting songs. The number of which depends on your settings. +- You will be given a number of starting songs. The number of which depends on your options. - Completing any song will give you 1 or 2 rewards. - The rewards for completing songs will range from songs to traps and **Music Sheets**. diff --git a/worlds/musedash/docs/setup_en.md b/worlds/musedash/docs/setup_en.md index ebf165c7dd7..312cdbd1958 100644 --- a/worlds/musedash/docs/setup_en.md +++ b/worlds/musedash/docs/setup_en.md @@ -2,7 +2,7 @@ ## Quick Links - [Main Page](../../../../games/Muse%20Dash/info/en) -- [Settings Page](../../../../games/Muse%20Dash/player-settings) +- [Options Page](../../../../games/Muse%20Dash/player-options) ## Required Software @@ -27,7 +27,7 @@ If you've successfully installed everything, a button will appear in the bottom right which will allow you to log into an Archipelago server. ## Generating a MultiWorld Game -1. Visit the [Player Settings](/games/Muse%20Dash/player-settings) page and configure the game-specific settings to your taste. +1. Visit the [Player Options](/games/Muse%20Dash/player-options) page and configure the game-specific options to your taste. 2. Export your yaml file and use it to generate a new randomized game - (For instructions on how to generate an Archipelago game, refer to the [Archipelago Web Guide](/tutorial/Archipelago/setup/en)) diff --git a/worlds/noita/docs/en_Noita.md b/worlds/noita/docs/en_Noita.md index b1480068e96..72773d52254 100644 --- a/worlds/noita/docs/en_Noita.md +++ b/worlds/noita/docs/en_Noita.md @@ -1,15 +1,15 @@ # Noita -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? Noita is a procedurally generated action roguelike. During runs in Noita you will find potions, wands, spells, perks, chests, etc. Shop items, chests/hearts hidden in the environment, and pedestal items will be replaced with location -checks. Orbs and boss drops can give location checks as well, if they are enabled in the settings. +checks. Orbs and boss drops can give location checks as well, if they are enabled in the options. Noita items that can be found in other players' games include specific perks, orbs (optional), wands, hearts, gold, potions, and other items. If traps are enabled, some randomized negative effects can affect your game when found. @@ -50,9 +50,9 @@ Traps consist of all "Bad" and "Awful" events from Noita's native stream integra ## How many location checks are there? -When using the default settings, there are 109 location checks. The number of checks in the game is dependent on the settings that you choose. -Please check the information boxes next to the settings when setting up your YAML to see how many checks the individual options add. -There are always 42 Holy Mountain checks and 4 Secret Shop checks in the pool which are not affected by your YAML settings. +When using the default options, there are 109 location checks. The number of checks in the game is dependent on the options that you choose. +Please check the information boxes next to the options when setting up your YAML to see how many checks the individual options add. +There are always 42 Holy Mountain checks and 4 Secret Shop checks in the pool which are not affected by your YAML options. ## What does another world's item look like in Noita? diff --git a/worlds/noita/docs/setup_en.md b/worlds/noita/docs/setup_en.md index bd6a151432b..840e7e30f23 100644 --- a/worlds/noita/docs/setup_en.md +++ b/worlds/noita/docs/setup_en.md @@ -42,7 +42,7 @@ You can see the [basic multiworld setup guide](/tutorial/Archipelago/setup/en) h about why Archipelago uses YAML files and what they're for. ### Where do I get a YAML? -You can use the [game settings page for Noita](/games/Noita/player-settings) here on the Archipelago website to +You can use the [game options page for Noita](/games/Noita/player-options) here on the Archipelago website to generate a YAML using a graphical interface. ## Poptracker Pack diff --git a/worlds/oot/docs/en_Ocarina of Time.md b/worlds/oot/docs/en_Ocarina of Time.md index fa8e148957c..5a480d86412 100644 --- a/worlds/oot/docs/en_Ocarina of Time.md +++ b/worlds/oot/docs/en_Ocarina of Time.md @@ -1,8 +1,8 @@ # Ocarina of Time -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -37,4 +37,4 @@ business! The following commands are only available when using the OoTClient to play with Archipelago. - `/n64` Check N64 Connection State -- `/deathlink` Toggle deathlink from client. Overrides default setting. +- `/deathlink` Toggle deathlink from client. Overrides default option. diff --git a/worlds/oot/docs/setup_en.md b/worlds/oot/docs/setup_en.md index 72f15fa6c76..faab2d47da2 100644 --- a/worlds/oot/docs/setup_en.md +++ b/worlds/oot/docs/setup_en.md @@ -51,8 +51,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [Ocarina of Time Player Settings Page](/games/Ocarina%20of%20Time/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [Ocarina of Time Player Options Page](/games/Ocarina%20of%20Time/player-options) ### Verifying your config file diff --git a/worlds/overcooked2/docs/en_Overcooked! 2.md b/worlds/overcooked2/docs/en_Overcooked! 2.md index 298c33683ce..d4cb6fba1f9 100644 --- a/worlds/overcooked2/docs/en_Overcooked! 2.md +++ b/worlds/overcooked2/docs/en_Overcooked! 2.md @@ -2,7 +2,7 @@ ## Quick Links - [Setup Guide](../../../../tutorial/Overcooked!%202/setup/en) -- [Settings Page](../../../../games/Overcooked!%202/player-settings) +- [Options Page](../../../../games/Overcooked!%202/player-options) - [OC2-Modding GitHub](https://github.com/toasterparty/oc2-modding) ## How Does Randomizer Work in the Kitchen? @@ -55,7 +55,7 @@ The following items were invented for Randomizer: - Ramp Buttons (x7) - Bonus Star (Filler Item*) -**Note: Bonus star count varies with settings* +**Note: Bonus star count varies with options* ## Other Game Modifications diff --git a/worlds/overcooked2/docs/setup_en.md b/worlds/overcooked2/docs/setup_en.md index 1b21642cfe0..9f9eae5fc1a 100644 --- a/worlds/overcooked2/docs/setup_en.md +++ b/worlds/overcooked2/docs/setup_en.md @@ -2,7 +2,7 @@ ## Quick Links - [Main Page](../../../../games/Overcooked!%202/info/en) -- [Settings Page](../../../../games/Overcooked!%202/player-settings) +- [Options Page](../../../../games/Overcooked!%202/player-options) - [OC2-Modding GitHub](https://github.com/toasterparty/oc2-modding) ## Required Software @@ -49,9 +49,9 @@ To completely remove *OC2-Modding*, navigate to your game's installation folder ## Generate a MultiWorld Game -1. Visit the [Player Settings](../../../../games/Overcooked!%202/player-settings) page and configure the game-specific settings to taste +1. Visit the [Player Options](../../../../games/Overcooked!%202/player-options) page and configure the game-specific options to taste -*By default, these settings will only use levels from the base game and the "Seasonal" free DLC updates. If you own any of the paid DLC, you may select individual DLC packs to include/exclude on the [Weighted Settings](../../../../weighted-settings) page* +*By default, these options will only use levels from the base game and the "Seasonal" free DLC updates. If you own any of the paid DLC, you may select individual DLC packs to include/exclude on the [Weighted Options](../../../../weighted-options) page* 2. Export your yaml file and use it to generate a new randomized game @@ -84,11 +84,11 @@ To completely remove *OC2-Modding*, navigate to your game's installation folder Since the goal of randomizer isn't necessarily to achieve new personal high scores, players may find themselves waiting for a level timer to expire once they've met their objective. A new feature called *Auto-Complete* has been added to automatically complete levels once a target star count has been achieved. -To enable *Auto-Complete*, press the **Show** button near the top of your screen to expand the modding controls. Then, repeatedly press the **Auto-Complete** button until it shows the desired setting. +To enable *Auto-Complete*, press the **Show** button near the top of your screen to expand the modding controls. Then, repeatedly press the **Auto-Complete** button until it shows the desired option. ## Overworld Sequence Breaking -In the world's settings, there is an option called "Overworld Tricks" which allows the generator to make games which require doing tricks with the food truck to complete. This includes: +In the world's options, there is an option called "Overworld Tricks" which allows the generator to make games which require doing tricks with the food truck to complete. This includes: - Dashing across gaps diff --git a/worlds/pokemon_emerald/docs/en_Pokemon Emerald.md b/worlds/pokemon_emerald/docs/en_Pokemon Emerald.md index 5d50c37ea95..3c3c5aafe5e 100644 --- a/worlds/pokemon_emerald/docs/en_Pokemon Emerald.md +++ b/worlds/pokemon_emerald/docs/en_Pokemon Emerald.md @@ -1,15 +1,15 @@ # Pokémon Emerald -## Where is the settings page? +## Where is the options page? -You can read through all the settings and generate a YAML [here](../player-settings). +You can read through all the options and generate a YAML [here](../player-options). ## What does randomization do to this game? This randomizer handles both item randomization and pokémon randomization. Badges, HMs, gifts from NPCs, and items on the ground can all be randomized. There are also many options for randomizing wild pokémon, starters, opponent pokémon, abilities, types, etc… You can even change a percentage of single battles into double battles. Check the -[settings page](../player-settings) for a more comprehensive list of what can be changed. +[options page](../player-options) for a more comprehensive list of what can be changed. ## What items and locations get randomized? @@ -28,7 +28,7 @@ randomizer. Here are some of the more important ones: - You can have both bikes simultaneously - You can run or bike (almost) anywhere - The Wally catching tutorial is skipped -- All text is instant, and with a setting it can be automatically progressed by holding A +- All text is instant, and with an option it can be automatically progressed by holding A - When a Repel runs out, you will be prompted to use another - Many more minor improvements… @@ -44,7 +44,7 @@ your inventory. ## When the player receives an item, what happens? You will only receive items while in the overworld and not during battles. Depending on your `Receive Item Messages` -setting, the received item will either be silently added to your bag or you will be shown a text box with the item's +option, the received item will either be silently added to your bag or you will be shown a text box with the item's name and the item will be added to your bag while a fanfare plays. ## Can I play offline? diff --git a/worlds/pokemon_emerald/docs/setup_en.md b/worlds/pokemon_emerald/docs/setup_en.md index 3c5c8c193aa..e3f6d3c3013 100644 --- a/worlds/pokemon_emerald/docs/setup_en.md +++ b/worlds/pokemon_emerald/docs/setup_en.md @@ -26,8 +26,8 @@ clear it. ## Generating and Patching a Game -1. Create your settings file (YAML). You can make one on the -[Pokémon Emerald settings page](../../../games/Pokemon%20Emerald/player-settings). +1. Create your options file (YAML). You can make one on the +[Pokémon Emerald options page](../../../games/Pokemon%20Emerald/player-options). 2. Follow the general Archipelago instructions for [generating a game](../../Archipelago/setup/en#generating-a-game). This will generate an output file for you. Your patch file will have the `.apemerald` file extension. 3. Open `ArchipelagoLauncher.exe` diff --git a/worlds/pokemon_rb/docs/en_Pokemon Red and Blue.md b/worlds/pokemon_rb/docs/en_Pokemon Red and Blue.md index b164d4b0fef..ee9a8ba267e 100644 --- a/worlds/pokemon_rb/docs/en_Pokemon Red and Blue.md +++ b/worlds/pokemon_rb/docs/en_Pokemon Red and Blue.md @@ -1,8 +1,8 @@ # Pokémon Red and Blue -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -12,7 +12,7 @@ always able to be completed, but because of the item shuffle the player may need would in the vanilla game. A great many things besides item placement can be randomized, such as the location of Pokémon, their stats, types, etc., -depending on your yaml settings. +depending on your yaml options. Many baseline changes are made to the game, including: @@ -21,13 +21,13 @@ Many baseline changes are made to the game, including: * You can hold B to run (or bike extra fast!). * You can hold select while talking to a trainer to re-battle them. * You can select "Pallet Warp" below the "Continue" option to warp to Pallet Town as you load your save. -* Mew can be encountered at the S.S. Anne dock truck. This can be randomized depending on your settings. +* Mew can be encountered at the S.S. Anne dock truck. This can be randomized depending on your options. * The S.S. Anne will never depart. * Seafoam Islands entrances are swapped. This means you need Strength to travel through from Cinnabar Island to Fuchsia City. You also cannot Surf onto the water from the end of Seafoam Islands going backwards if you have not yet dropped the boulders. * After obtaining one of the fossil item checks in Mt Moon, the remaining item can be received from the Cinnabar Lab -fossil scientist. This may require reviving a number of fossils, depending on your settings. +fossil scientist. This may require reviving a number of fossils, depending on your options. * Obedience depends on the total number of badges you have obtained instead of depending on specific badges. * Pokémon that evolve by trading can also evolve by reaching level 35. * Evolution stones are reusable key items. diff --git a/worlds/pokemon_rb/docs/setup_en.md b/worlds/pokemon_rb/docs/setup_en.md index c9344959f6b..45b0175eac9 100644 --- a/worlds/pokemon_rb/docs/setup_en.md +++ b/worlds/pokemon_rb/docs/setup_en.md @@ -47,7 +47,7 @@ an experience customized for their taste, and different players in the same mult ### Where do I get a YAML file? -You can generate a yaml or download a template by visiting the [Pokemon Red and Blue Player Settings Page](/games/Pokemon%20Red%20and%20Blue/player-settings) +You can generate a yaml or download a template by visiting the [Pokemon Red and Blue Player Options Page](/games/Pokemon%20Red%20and%20Blue/player-options) It is important to note that the `game_version` option determines the ROM file that will be patched. Both the player and the person generating (if they are generating locally) will need the corresponding ROM file. @@ -72,7 +72,7 @@ And the following special characters (these each count as one character): ### Generating and Patching a Game -1. Create your settings file (YAML). +1. Create your options file (YAML). 2. Follow the general Archipelago instructions for [generating a game](../../Archipelago/setup/en#generating-a-game). This will generate an output file for you. Your patch file will have a `.apred` or `.apblue` file extension. 3. Open `ArchipelagoLauncher.exe` @@ -114,5 +114,5 @@ Pokémon Red and Blue has a fully functional map tracker that supports auto-trac 3. Click on the "AP" symbol at the top. 4. Enter the AP address, slot name and password. -The rest should take care of itself! Items and checks will be marked automatically, and it even knows your settings - It +The rest should take care of itself! Items and checks will be marked automatically, and it even knows your options - It will hide checks & adjust logic accordingly. diff --git a/worlds/raft/docs/en_Raft.md b/worlds/raft/docs/en_Raft.md index 385377d4560..0c68e23d001 100644 --- a/worlds/raft/docs/en_Raft.md +++ b/worlds/raft/docs/en_Raft.md @@ -1,7 +1,7 @@ # Raft -## Where is the settings page? -The player settings page for this game is located here. It contains all the options +## Where is the options page? +The player options page for this game is located here. It contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/rogue_legacy/docs/en_Rogue Legacy.md b/worlds/rogue_legacy/docs/en_Rogue Legacy.md index c91dc0de6f7..dd203c73ac2 100644 --- a/worlds/rogue_legacy/docs/en_Rogue Legacy.md +++ b/worlds/rogue_legacy/docs/en_Rogue Legacy.md @@ -1,9 +1,9 @@ # Rogue Legacy (PC) -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains most of the options you need to -configure and export a config file. Some settings can only be made in YAML, but an explanation can be found in the +The [player options page for this game](../player-options) contains most of the options you need to +configure and export a config file. Some options can only be made in YAML, but an explanation can be found in the [template yaml here](../../../static/generated/configs/Rogue%20Legacy.yaml). ## What does randomization do to this game? diff --git a/worlds/rogue_legacy/docs/rogue-legacy_en.md b/worlds/rogue_legacy/docs/rogue-legacy_en.md index e513d0f0ca1..fc9f6920178 100644 --- a/worlds/rogue_legacy/docs/rogue-legacy_en.md +++ b/worlds/rogue_legacy/docs/rogue-legacy_en.md @@ -21,7 +21,7 @@ an experience customized for their taste, and different players in the same mult ### Where do I get a YAML file? -you can customize your settings by visiting the [Rogue Legacy Settings Page](/games/Rogue%20Legacy/player-settings). +you can customize your options by visiting the [Rogue Legacy Options Page](/games/Rogue%20Legacy/player-options). ### Connect to the MultiServer diff --git a/worlds/ror2/docs/en_Risk of Rain 2.md b/worlds/ror2/docs/en_Risk of Rain 2.md index d30edf88894..b2210e348d5 100644 --- a/worlds/ror2/docs/en_Risk of Rain 2.md +++ b/worlds/ror2/docs/en_Risk of Rain 2.md @@ -1,8 +1,8 @@ # Risk of Rain 2 -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -23,7 +23,7 @@ Explore Mode: - Chests will continue to work as they did in Classic Mode, the difference being that each environment will have a set amount of items that can be sent out. In addition, shrines, radio scanners, newt altars, - and scavenger bags will need to be checked, depending on your settings. + and scavenger bags will need to be checked, depending on your options. This mode also makes each environment an item. In order to access a particular stage, you'll need it to be sent in the multiworld. @@ -32,7 +32,7 @@ Explore Mode: Just like in the original game, any way to "beat the game" counts as a win. This means beating one of the bosses on Commencement, The Planetarium, or A Moment, Whole. Alternatively, if you are new to the game and aren't very confident in being able to "beat the game", you can set **Final Stage Death is Win** to true -(You can turn this on in your player settings.) This will make it so dying on either Commencement or The Planetarium, +(You can turn this on in your player options.) This will make it so dying on either Commencement or The Planetarium, or **obliterating yourself in A Moment, Fractured** will count as your goal. **You do not need to complete all the location checks** to win; any item you don't collect may be released if the server options allow. @@ -48,12 +48,12 @@ then finish a normal mode run while keeping the items you received via the multi ## Can you play multiplayer? Yes! You can have a single multiplayer instance as one world in the multiworld. All the players involved need to have -the Archipelago mod, but only the host needs to configure the Archipelago settings. When someone finds an item for your +the Archipelago mod, but only the host needs to configure the Archipelago options. When someone finds an item for your world, all the connected players will receive a copy of the item, and the location check bar will increase whenever any player finds an item in Risk of Rain. You cannot have players with different player slots in the same co-op game instance. Only the host's Archipelago -settings apply, so each Risk of Rain 2 player slot in the multiworld needs to be a separate game instance. You could, +options apply, so each Risk of Rain 2 player slot in the multiworld needs to be a separate game instance. You could, for example, have two players trade off hosting and making progress on each other's player slot, but a single co-op instance can't make progress towards multiple player slots in the multiworld. @@ -69,7 +69,7 @@ The Risk of Rain items are: * `Legendary Item` (Red items) * `Lunar Item` (Blue items) * `Equipment` (Orange items) -* `Dio's Best Friend` (Used if you set the YAML setting `total_revives_available` above `0`) +* `Dio's Best Friend` (Used if you set the YAML option `total_revives_available` above `0`) * `Void Item` (Purple items) (needs dlc_sotv: enabled) Each item grants you a random in-game item from the category it belongs to. @@ -127,7 +127,7 @@ what item you sent out. If the message does not appear, this likely means that a ## What is the item pickup step? -The item pickup step is a setting in the YAML which allows you to set how many items you need to spawn before the _next_ item +The item pickup step is an option in the YAML which allows you to set how many items you need to spawn before the _next_ item that is spawned disappears (in a poof of smoke) and goes out to the multiworld. For instance, an item step of **1** means that every other chest will send an item to the multiworld. An item step of **2** means that every third chest sends out an item just as an item step of **0** would send an item on **each chest.** diff --git a/worlds/ror2/docs/setup_en.md b/worlds/ror2/docs/setup_en.md index 0fa99c071b9..6acf2654a8b 100644 --- a/worlds/ror2/docs/setup_en.md +++ b/worlds/ror2/docs/setup_en.md @@ -29,7 +29,7 @@ You can see the [basic multiworld setup guide](/tutorial/Archipelago/setup/en) h about why Archipelago uses YAML files and what they're for. ### Where do I get a YAML? -You can use the [game settings page](/games/Risk%20of%20Rain%202/player-settings) here on the Archipelago +You can use the [game options page](/games/Risk%20of%20Rain%202/player-options) here on the Archipelago website to generate a YAML using a graphical interface. diff --git a/worlds/sa2b/docs/en_Sonic Adventure 2 Battle.md b/worlds/sa2b/docs/en_Sonic Adventure 2 Battle.md index 12ccc50ccd2..e2f732ffe58 100644 --- a/worlds/sa2b/docs/en_Sonic Adventure 2 Battle.md +++ b/worlds/sa2b/docs/en_Sonic Adventure 2 Battle.md @@ -1,8 +1,8 @@ # Sonic Adventure 2: Battle -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md b/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md index 18bda647845..f7019b2240d 100644 --- a/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md +++ b/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md @@ -30,7 +30,7 @@ The goal is to beat the final mission: 'All In'. The config file determines whic ## Which of my items can be in another player's world? By default, any of StarCraft 2's items (specified above) can be in another player's world. See the -[Advanced YAML Guide](https://archipelago.gg/tutorial/Archipelago/advanced_settings/en) +[Advanced YAML Guide](https://archipelago.gg/tutorial/Archipelago/advanced_options/en) for more information on how to change this. ## Unique Local Commands diff --git a/worlds/sc2wol/docs/setup_en.md b/worlds/sc2wol/docs/setup_en.md index 9bfeb3d235b..8006b66b5c3 100644 --- a/worlds/sc2wol/docs/setup_en.md +++ b/worlds/sc2wol/docs/setup_en.md @@ -21,14 +21,14 @@ to obtain a config file for StarCraft 2. ## Where do I get a config file (aka "YAML") for this game? -The [Player Settings](https://archipelago.gg/games/Starcraft%202%20Wings%20of%20Liberty/player-settings) page on this -website allows you to choose your personal settings for the randomizer and download them into a config file. Remember +The [Player Options](https://archipelago.gg/games/Starcraft%202%20Wings%20of%20Liberty/player-options) page on this +website allows you to choose your personal options for the randomizer and download them into a config file. Remember the name you type in the `Player Name` box; that's the "slot name" the client will ask you for when you attempt to connect! ### And why do I need a config file? -Config files tell Archipelago how you'd like your game to be randomized, even if you're only using default settings. +Config files tell Archipelago how you'd like your game to be randomized, even if you're only using default options. When you're setting up a multiworld, every world needs its own config file. Check out [Creating a YAML](https://archipelago.gg/tutorial/Archipelago/setup/en#creating-a-yaml) for more information. diff --git a/worlds/shivers/docs/en_Shivers.md b/worlds/shivers/docs/en_Shivers.md index 51730057b03..a92f8a6b791 100644 --- a/worlds/shivers/docs/en_Shivers.md +++ b/worlds/shivers/docs/en_Shivers.md @@ -1,8 +1,8 @@ # Shivers -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a configuration file. ## What does randomization do to this game? diff --git a/worlds/shivers/docs/setup_en.md b/worlds/shivers/docs/setup_en.md index ee33bb70408..187382ef643 100644 --- a/worlds/shivers/docs/setup_en.md +++ b/worlds/shivers/docs/setup_en.md @@ -33,8 +33,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [Shivers Player Settings Page](/games/Shivers/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [Shivers Player Options Page](/games/Shivers/player-options) ### Verifying your config file diff --git a/worlds/sm/docs/en_Super Metroid.md b/worlds/sm/docs/en_Super Metroid.md index 5c87e026f63..c8c1d0faabe 100644 --- a/worlds/sm/docs/en_Super Metroid.md +++ b/worlds/sm/docs/en_Super Metroid.md @@ -1,8 +1,8 @@ # Super Metroid -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/sm/docs/multiworld_en.md b/worlds/sm/docs/multiworld_en.md index 12915077434..de5cde34d90 100644 --- a/worlds/sm/docs/multiworld_en.md +++ b/worlds/sm/docs/multiworld_en.md @@ -43,8 +43,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [Super Metroid Player Settings Page](/games/Super%20Metroid/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [Super Metroid Player Options Page](/games/Super%20Metroid/player-options) ### Verifying your config file @@ -53,8 +53,8 @@ validator page: [YAML Validation page](/check) ## Generating a Single-Player Game -1. Navigate to the Player Settings page, configure your options, and click the "Generate Game" button. - - Player Settings page: [Super Metroid Player Settings Page](/games/Super%20Metroid/player-settings) +1. Navigate to the Player Options page, configure your options, and click the "Generate Game" button. + - Player Options page: [Super Metroid Player Options Page](/games/Super%20Metroid/player-options) 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. 4. You will be presented with a server page, from which you can download your patch file. diff --git a/worlds/sm64ex/docs/en_Super Mario 64.md b/worlds/sm64ex/docs/en_Super Mario 64.md index def6e2a3753..3d182a42208 100644 --- a/worlds/sm64ex/docs/en_Super Mario 64.md +++ b/worlds/sm64ex/docs/en_Super Mario 64.md @@ -1,9 +1,9 @@ # Super Mario 64 EX -## Where is the settings page? +## Where is the options page? -The player settings page for this game contains all the options you need to configure and export a config file. Player -settings page link: [SM64EX Player Settings Page](../player-settings). +The player options page for this game contains all the options you need to configure and export a config file. Player +options page link: [SM64EX Player Options Page](../player-options). ## What does randomization do to this game? All 120 Stars, the 3 Cap Switches, the Basement and Secound Floor Key are now Location Checks and may contain Items for different games as well diff --git a/worlds/sm64ex/docs/setup_en.md b/worlds/sm64ex/docs/setup_en.md index 2817d3c324c..5983057f7d7 100644 --- a/worlds/sm64ex/docs/setup_en.md +++ b/worlds/sm64ex/docs/setup_en.md @@ -70,7 +70,7 @@ After the compliation was successful, there will be a binary in your `sm64ex/bui ### Joining a MultiWorld Game To join, set the following launch options: `--sm64ap_name YourName --sm64ap_ip ServerIP:Port`. -For example, if you are hosting a game using the website, `YourName` will be the name from the Settings Page, `ServerIP` is `archipelago.gg` and `Port` the port given on the Archipelago room page. +For example, if you are hosting a game using the website, `YourName` will be the name from the Options Page, `ServerIP` is `archipelago.gg` and `Port` the port given on the Archipelago room page. Optionally, add `--sm64ap_passwd "YourPassword"` if the room you are using requires a password. Should your name or password have spaces, enclose it in quotes: `"YourPassword"` and `"YourName"`. @@ -82,7 +82,7 @@ Failing to use a new file may make some locations unavailable. However, this can ### Playing offline -To play offline, first generate a seed on the game's settings page. +To play offline, first generate a seed on the game's options page. Create a room and download the `.apsm64ex` file, and start the game with the `--sm64ap_file "path/to/FileName"` launch argument. ### Optional: Using Batch Files to play offline and MultiWorld games diff --git a/worlds/smw/docs/en_Super Mario World.md b/worlds/smw/docs/en_Super Mario World.md index 87a96e558b6..26623bac83d 100644 --- a/worlds/smw/docs/en_Super Mario World.md +++ b/worlds/smw/docs/en_Super Mario World.md @@ -1,8 +1,8 @@ # Super Mario World -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/smw/docs/setup_en.md b/worlds/smw/docs/setup_en.md index 3967f544a05..8316bf55379 100644 --- a/worlds/smw/docs/setup_en.md +++ b/worlds/smw/docs/setup_en.md @@ -44,8 +44,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [Super Mario World Player Settings Page](/games/Super%20Mario%20World/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [Super Mario World Player Options Page](/games/Super%20Mario%20World/player-options) ### Verifying your config file diff --git a/worlds/smz3/docs/en_SMZ3.md b/worlds/smz3/docs/en_SMZ3.md index f0302d12f3a..2116432ea7a 100644 --- a/worlds/smz3/docs/en_SMZ3.md +++ b/worlds/smz3/docs/en_SMZ3.md @@ -1,8 +1,8 @@ # SMZ3 -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/smz3/docs/multiworld_en.md b/worlds/smz3/docs/multiworld_en.md index 53842a3c6fa..13c97766488 100644 --- a/worlds/smz3/docs/multiworld_en.md +++ b/worlds/smz3/docs/multiworld_en.md @@ -41,8 +41,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [SMZ3 Player Settings Page](/games/SMZ3/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [SMZ3 Player Options Page](/games/SMZ3/player-options) ### Verifying your config file @@ -51,8 +51,8 @@ validator page: [YAML Validation page](/check) ## Generating a Single-Player Game -1. Navigate to the Player Settings page, configure your options, and click the "Generate Game" button. - - Player Settings page: [SMZ3 Player Settings Page](/games/SMZ3/player-settings) +1. Navigate to the Player Options page, configure your options, and click the "Generate Game" button. + - Player Options page: [SMZ3 Player Options Page](/games/SMZ3/player-options) 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. 4. You will be presented with a server page, from which you can download your patch file. diff --git a/worlds/soe/docs/en_Secret of Evermore.md b/worlds/soe/docs/en_Secret of Evermore.md index 215a5387bb9..98882b6ff7e 100644 --- a/worlds/soe/docs/en_Secret of Evermore.md +++ b/worlds/soe/docs/en_Secret of Evermore.md @@ -1,8 +1,8 @@ # Secret of Evermore -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/soe/docs/multiworld_en.md b/worlds/soe/docs/multiworld_en.md index 58b9aabf6a9..ad7086f8c04 100644 --- a/worlds/soe/docs/multiworld_en.md +++ b/worlds/soe/docs/multiworld_en.md @@ -23,8 +23,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [Secret of Evermore Player Settings PAge](/games/Secret%20of%20Evermore/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [Secret of Evermore Player Options PAge](/games/Secret%20of%20Evermore/player-options) ### Verifying your config file @@ -36,8 +36,8 @@ page: [YAML Validation page](/check) Stand-alone "Evermizer" has a way of balancing single-player games, but may not always be on par feature-wise. Head over to the [Evermizer Website](https://evermizer.com) if you want to try the official stand-alone, otherwise read below. -1. Navigate to the Player Settings page, configure your options, and click the "Generate Game" button. - - Player Settings page: [Secret of Evermore Player Settings Page](/games/Secret%20of%20Evermore/player-settings) +1. Navigate to the Player Options page, configure your options, and click the "Generate Game" button. + - Player Options page: [Secret of Evermore Player Options Page](/games/Secret%20of%20Evermore/player-options) 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. 4. You will be presented with a server page, from which you can download your patch file. diff --git a/worlds/spire/docs/en_Slay the Spire.md b/worlds/spire/docs/en_Slay the Spire.md index f4519455fa8..4591db58dc5 100644 --- a/worlds/spire/docs/en_Slay the Spire.md +++ b/worlds/spire/docs/en_Slay the Spire.md @@ -1,8 +1,8 @@ # Slay the Spire (PC) -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/spire/docs/slay-the-spire_en.md b/worlds/spire/docs/slay-the-spire_en.md index d85a17d987b..daeb6541519 100644 --- a/worlds/spire/docs/slay-the-spire_en.md +++ b/worlds/spire/docs/slay-the-spire_en.md @@ -43,8 +43,8 @@ an experience customized for their taste, and different players in the same mult ### Where do I get a YAML file? -you can customize your settings by visiting -the [Slay the Spire Settings Page](/games/Slay%20the%20Spire/player-settings). +you can customize your options by visiting +the [Slay the Spire Options Page](/games/Slay%20the%20Spire/player-options). ### Connect to the MultiServer diff --git a/worlds/stardew_valley/docs/en_Stardew Valley.md b/worlds/stardew_valley/docs/en_Stardew Valley.md index a880a40b971..9f4ba8e58dc 100644 --- a/worlds/stardew_valley/docs/en_Stardew Valley.md +++ b/worlds/stardew_valley/docs/en_Stardew Valley.md @@ -1,8 +1,8 @@ # Stardew Valley -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -13,7 +13,7 @@ For these objectives, if they have a vanilla reward, this reward will instead be ## What is the goal of Stardew Valley? -The player can choose from a number of goals, using their YAML settings. +The player can choose from a number of goals, using their YAML options. - Complete the [Community Center](https://stardewvalleywiki.com/Bundles) - Succeed [Grandpa's Evaluation](https://stardewvalleywiki.com/Grandpa) with 4 lit candles - Reach the bottom of the [Pelican Town Mineshaft](https://stardewvalleywiki.com/The_Mines) @@ -53,7 +53,7 @@ There also are a number of location checks that are optional, and individual pla Every normal reward from the above locations can be in another player's world. For the locations which do not include a normal reward, Resource Packs and traps are instead added to the pool. Traps are optional. -A player can enable some settings that will add some items to the pool that are relevant to progression +A player can enable some options that will add some items to the pool that are relevant to progression - Seasons Randomizer: - All 4 seasons will be items, and one of them will be selected randomly and be added to the player's start inventory - At the end of each month, the player can choose the next season, instead of following the vanilla season order. On Seasons Randomizer, they can only choose from the seasons they have received. @@ -90,7 +90,7 @@ In some cases, like receiving Carpenter and Wizard buildings, the player will st ## Mods Starting in version 4.x.x, some Stardew Valley mods unrelated to Archipelago are officially "supported". -This means that, for these specific mods, if you decide to include them in your yaml settings, the multiworld will be generated with the assumption that you will install and play with these mods. +This means that, for these specific mods, if you decide to include them in your yaml options, the multiworld will be generated with the assumption that you will install and play with these mods. The multiworld will contain related items and locations for these mods, the specifics will vary from mod to mod [Supported Mods Documentation](https://github.com/agilbert1412/StardewArchipelago/blob/4.x.x/Documentation/Supported%20Mods.md) diff --git a/worlds/stardew_valley/docs/setup_en.md b/worlds/stardew_valley/docs/setup_en.md index 68c7fb9af6a..3ef363c493c 100644 --- a/worlds/stardew_valley/docs/setup_en.md +++ b/worlds/stardew_valley/docs/setup_en.md @@ -25,7 +25,7 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a YAML file? -You can customize your settings by visiting the [Stardew Valley Player Settings Page](/games/Stardew%20Valley/player-settings) +You can customize your options by visiting the [Stardew Valley Player Options Page](/games/Stardew%20Valley/player-options) ## Joining a MultiWorld Game diff --git a/worlds/subnautica/docs/en_Subnautica.md b/worlds/subnautica/docs/en_Subnautica.md index 5e99208b5f4..50004de5a00 100644 --- a/worlds/subnautica/docs/en_Subnautica.md +++ b/worlds/subnautica/docs/en_Subnautica.md @@ -1,8 +1,8 @@ # Subnautica -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/subnautica/docs/setup_en.md b/worlds/subnautica/docs/setup_en.md index 83f4186bdfa..7fc637df263 100644 --- a/worlds/subnautica/docs/setup_en.md +++ b/worlds/subnautica/docs/setup_en.md @@ -19,7 +19,7 @@ Use the connect form in Subnautica's main menu to enter your connection information to connect to an Archipelago multiworld. Connection information consists of: - Host: the full url that you're trying to connect to, such as `archipelago.gg:38281`. - - PlayerName: your name in the multiworld. Can also be called "slot name" and is the name you entered when creating your settings. + - PlayerName: your name in the multiworld. Can also be called "slot name" and is the name you entered when creating your options. - Password: optional password, leave blank if no password was set. After the connection is made, start a new game. You should start to see Archipelago chat messages to appear, such as a message announcing that you joined the multiworld. diff --git a/worlds/terraria/docs/en_Terraria.md b/worlds/terraria/docs/en_Terraria.md index b0a8529ba76..26428f75789 100644 --- a/worlds/terraria/docs/en_Terraria.md +++ b/worlds/terraria/docs/en_Terraria.md @@ -1,14 +1,14 @@ # Terraria -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? Boss/event flags are randomized. So, defeating Empress of Light could give you Post-Skeletron, which allows you to enter -the Dungeon, for example. In your player settings, you may also add item rewards and achievements to the pool. +the Dungeon, for example. In your player options, you may also add item rewards and achievements to the pool. ## What Terraria items can appear in other players' worlds? diff --git a/worlds/terraria/docs/setup_en.md b/worlds/terraria/docs/setup_en.md index b69af591fa5..55a4df1df30 100644 --- a/worlds/terraria/docs/setup_en.md +++ b/worlds/terraria/docs/setup_en.md @@ -43,7 +43,7 @@ files are, and how they are used. ### Where do I get a YAML? -You can use the [game settings page for Terraria](/games/Terraria/player-settings) here +You can use the [game options page for Terraria](/games/Terraria/player-options) here on the Archipelago website to generate a YAML using a graphical interface. ## Joining an Archipelago Game in Terraria diff --git a/worlds/timespinner/docs/en_Timespinner.md b/worlds/timespinner/docs/en_Timespinner.md index 6a9e7fa4c03..a5b1419b94a 100644 --- a/worlds/timespinner/docs/en_Timespinner.md +++ b/worlds/timespinner/docs/en_Timespinner.md @@ -1,8 +1,8 @@ # Timespinner -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/timespinner/docs/setup_en.md b/worlds/timespinner/docs/setup_en.md index c47c639cd20..7ee51f91323 100644 --- a/worlds/timespinner/docs/setup_en.md +++ b/worlds/timespinner/docs/setup_en.md @@ -33,8 +33,8 @@ randomized mode. For more info see the [ReadMe](https://github.com/Jarno458/TsRa ## Where do I get a config file? -The [Player Settings](/games/Timespinner/player-settings) page on the website allows you to -configure your personal settings and export them into a config file +The [Player Options](/games/Timespinner/player-options) page on the website allows you to +configure your personal options and export them into a config file * The Timespinner Randomizer option "StinkyMaw" is currently always enabled for Archipelago generated seeds * The Timespinner Randomizer options "ProgressiveVerticalMovement" & "ProgressiveKeycards" are currently not supported diff --git a/worlds/tloz/docs/en_The Legend of Zelda.md b/worlds/tloz/docs/en_The Legend of Zelda.md index 7c2e6deda5b..938496a161a 100644 --- a/worlds/tloz/docs/en_The Legend of Zelda.md +++ b/worlds/tloz/docs/en_The Legend of Zelda.md @@ -1,8 +1,8 @@ # The Legend of Zelda (NES) -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/tloz/docs/multiworld_en.md b/worlds/tloz/docs/multiworld_en.md index df857f16df5..366531e2e43 100644 --- a/worlds/tloz/docs/multiworld_en.md +++ b/worlds/tloz/docs/multiworld_en.md @@ -39,8 +39,8 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The Player Settings page on the website allows you to configure your personal settings and export a config file from -them. Player settings page: [The Legend of Zelda Player Settings Page](/games/The%20Legend%20of%20Zelda/player-settings) +The Player Options page on the website allows you to configure your personal options and export a config file from +them. Player options page: [The Legend of Zelda Player Sptions Page](/games/The%20Legend%20of%20Zelda/player-options) ### Verifying your config file @@ -49,8 +49,8 @@ validator page: [YAML Validation page](/check) ## Generating a Single-Player Game -1. Navigate to the Player Settings page, configure your options, and click the "Generate Game" button. - - Player Settings page: [The Legend of Zelda Player Settings Page](/games/The%20Legend%20of%20Zelda/player-settings) +1. Navigate to the Player Options page, configure your options, and click the "Generate Game" button. + - Player Options page: [The Legend of Zelda Player Options Page](/games/The%20Legend%20of%20Zelda/player-options) 2. You will be presented with a "Seed Info" page. 3. Click the "Create New Room" link. 4. You will be presented with a server page, from which you can download your patch file. diff --git a/worlds/undertale/docs/en_Undertale.md b/worlds/undertale/docs/en_Undertale.md index 7ff5d55edad..02fc32f0abc 100644 --- a/worlds/undertale/docs/en_Undertale.md +++ b/worlds/undertale/docs/en_Undertale.md @@ -1,8 +1,8 @@ # Undertale -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What is considered a location check in Undertale? diff --git a/worlds/undertale/docs/setup_en.md b/worlds/undertale/docs/setup_en.md index f82105c2691..3da20ab4d74 100644 --- a/worlds/undertale/docs/setup_en.md +++ b/worlds/undertale/docs/setup_en.md @@ -62,4 +62,4 @@ gameplay differences at the bottom. ### Where do I get a YAML file? -You can customize your settings by visiting the [Undertale Player Settings Page](/games/Undertale/player-settings) +You can customize your options by visiting the [Undertale Player Options Page](/games/Undertale/player-options) diff --git a/worlds/v6/docs/en_VVVVVV.md b/worlds/v6/docs/en_VVVVVV.md index 5c2aa8fec95..c5790e01c5d 100644 --- a/worlds/v6/docs/en_VVVVVV.md +++ b/worlds/v6/docs/en_VVVVVV.md @@ -1,9 +1,9 @@ # VVVVVV -## Where is the settings page? +## Where is the options page? -The player settings page for this game contains all the options you need to configure and export a config file. Player -settings page link: [VVVVVV Player Settings Page](../player-settings). +The player options page for this game contains all the options you need to configure and export a config file. Player +options page link: [VVVVVV Player Options Page](../player-options). ## What does randomization do to this game? All 20 Trinkets are now Location Checks and may not actually contain Trinkets, but Items for different games. diff --git a/worlds/v6/docs/setup_en.md b/worlds/v6/docs/setup_en.md index 7adf5948c7e..a23b6c5b252 100644 --- a/worlds/v6/docs/setup_en.md +++ b/worlds/v6/docs/setup_en.md @@ -30,7 +30,7 @@ If everything worked out, you will see a textbox informing you the connection ha # Playing offline -To play offline, first generate a seed on the game's settings page. +To play offline, first generate a seed on the game's options page. Create a room and download the `.apv6` file, include the offline single-player launch option described above. ## Installation Troubleshooting diff --git a/worlds/wargroove/docs/en_Wargroove.md b/worlds/wargroove/docs/en_Wargroove.md index f08902535d4..31fd8c81301 100644 --- a/worlds/wargroove/docs/en_Wargroove.md +++ b/worlds/wargroove/docs/en_Wargroove.md @@ -1,8 +1,8 @@ # Wargroove (Steam, Windows) -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? diff --git a/worlds/wargroove/docs/wargroove_en.md b/worlds/wargroove/docs/wargroove_en.md index 1954dc01392..9c2645178aa 100644 --- a/worlds/wargroove/docs/wargroove_en.md +++ b/worlds/wargroove/docs/wargroove_en.md @@ -38,7 +38,7 @@ This should install the mod and campaign for you. ## Starting a Multiworld game 1. Start the Wargroove Client and connect to the server. Enter your username from your -[settings file.](/games/Wargroove/player-settings) +[options file.](/games/Wargroove/player-options) 2. Start Wargroove and play the Archipelago campaign by going to `Story->Campaign->Custom->Archipelago`. ## Ending a Multiworld game diff --git a/worlds/witness/docs/en_The Witness.md b/worlds/witness/docs/en_The Witness.md index 4d00ecaae45..a35e6b5e401 100644 --- a/worlds/witness/docs/en_The Witness.md +++ b/worlds/witness/docs/en_The Witness.md @@ -1,8 +1,8 @@ # The Witness -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? @@ -16,7 +16,7 @@ Panels with puzzle symbols on them are now locked initially. ## What is a "check" in The Witness? Solving the last panel in a row of panels or an important standalone panel will count as a check, and send out an item. -It is also possible to add Environmental Puzzles into the location pool via the "Shuffle Environmental Puzzles" setting. +It is also possible to add Environmental Puzzles into the location pool via the "Shuffle Environmental Puzzles" option. ## What "items" can you unlock in The Witness? @@ -25,7 +25,7 @@ This includes symbols such as "Dots", "Black/White Squares", "Colored Squares", Alternatively (or additionally), you can play "Door shuffle", where some doors won't open until you receive their "key". -Receiving lasers as items is also a possible setting. +Receiving lasers as items is also a possible option. ## What else can I find in the world? diff --git a/worlds/witness/docs/setup_en.md b/worlds/witness/docs/setup_en.md index daa9b8b9b5d..7b6d631198f 100644 --- a/worlds/witness/docs/setup_en.md +++ b/worlds/witness/docs/setup_en.md @@ -43,4 +43,4 @@ The Witness has a fully functional map tracker that supports auto-tracking. 3. Click on the "AP" symbol at the top. 4. Enter the AP address, slot name and password. -The rest should take care of itself! Items and checks will be marked automatically, and it even knows your settings - It will hide checks & adjust logic accordingly. +The rest should take care of itself! Items and checks will be marked automatically, and it even knows your options - It will hide checks & adjust logic accordingly. diff --git a/worlds/zillion/docs/en_Zillion.md b/worlds/zillion/docs/en_Zillion.md index 06a11b7d799..697a9b7dadb 100644 --- a/worlds/zillion/docs/en_Zillion.md +++ b/worlds/zillion/docs/en_Zillion.md @@ -4,9 +4,9 @@ Zillion is a metroidvania-style game released in 1987 for the 8-bit Sega Master It's based on the anime Zillion (赤い光弾ジリオン, Akai Koudan Zillion). -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What changes are made to this game? diff --git a/worlds/zillion/docs/setup_en.md b/worlds/zillion/docs/setup_en.md index 22dee5ee55e..a31f66aad0b 100644 --- a/worlds/zillion/docs/setup_en.md +++ b/worlds/zillion/docs/setup_en.md @@ -46,7 +46,7 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? -The [player settings page](/games/Zillion/player-settings) on the website allows you to configure your personal settings and export a config file from +The [player options page](/games/Zillion/player-options) on the website allows you to configure your personal options and export a config file from them. ### Verifying your config file @@ -55,7 +55,7 @@ If you would like to validate your config file to make sure it works, you may do ## Generating a Single-Player Game -1. Navigate to the [player settings page](/games/Zillion/player-settings), configure your options, and click the "Generate Game" button. +1. Navigate to the [player options page](/games/Zillion/player-options), configure your options, and click the "Generate Game" button. 2. A "Seed Info" page will appear. 3. Click the "Create New Room" link. 4. A server page will appear. Download your patch file from this page. From 6e9620305fb5dedbfc8378d3625b09e25458ff94 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 20 Dec 2023 13:41:49 -0500 Subject: [PATCH 13/29] Update contributing.md --- docs/contributing.md | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/docs/contributing.md b/docs/contributing.md index dcf5da9bdcb..6fd80fe86ee 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -2,23 +2,24 @@ Contributions are welcome. We have a few requests for new contributors: * **Follow styling guidelines.** -We have designated styling guideline to ensure uniformity and ease of communication. Please take a look at -the [styling documentation](/docs/style.md). + Please take a look at the [code style documentation](/docs/style.md) + to ensure ease of communication and uniformity. -* **Ensure that all changes are covered by unit tests.** +* **Ensure that critical changes are covered by tests.** It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. -If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/tests.md). +If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/world%20api.md#tests). If you wish to contribute to the website, please take a look at [these tests](/test/webhost). * **Do not introduce unit test failures/regressions.** Archipelago supports multiple versions of Python. You may need to download older Python versions to fully test your changes. Currently, the oldest supported version is [Python 3.8](https://www.python.org/downloads/release/python-380/). It is recommended that automated github actions are turned on in your fork to have github run all of the unit tests after pushing. -You can turn them on here: +You can turn them on here: ![Github actions example](./img/github-actions-example.png) -Other than these requests, we tend to judge code on a case by case basis. For contribution to the website, please refer to -[this document](/WebHostLib/README.md). +Other than these requests, we tend to judge code on a case by case basis. + +For contribution to the website, please refer to the [WebHost README](/WebHostLib/README.md). If you want to contribute to the core, you will be subject to stricter review on your pull requests. It is recommended that you get in touch with other core maintainers via the [Discord](https://archipelago.gg/discord). @@ -26,7 +27,7 @@ that you get in touch with other core maintainers via the [Discord](https://arch If you want to add Archipelago support for a new game, please take a look at the [adding games documentation](/docs/adding%20games.md), which details what is required to implement support for a game, as well as tips for how to get started. If you want to merge a new game into the main Archipelago repo, please make sure to read the responsibilities as a -[world maintainer](/docs/world%20maintainer.md). +[world maintainer](/docs/world%20maintainer.md). For other questions, feel free to explore the [main documentation folder](/docs/) and ask us questions in the #archipelago-dev channel of the [Discord](https://archipelago.gg/discord). From 5979d3e656d82764478b924c754449353138aa50 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 20 Dec 2023 13:42:51 -0500 Subject: [PATCH 14/29] Update contributing.md --- docs/contributing.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/contributing.md b/docs/contributing.md index 6fd80fe86ee..9b5f93e1980 100644 --- a/docs/contributing.md +++ b/docs/contributing.md @@ -7,7 +7,7 @@ Contributions are welcome. We have a few requests for new contributors: * **Ensure that critical changes are covered by tests.** It is strongly recommended that unit tests are used to avoid regression and to ensure everything is still working. -If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/world%20api.md#tests). +If you wish to contribute by adding a new game, please take a look at the [logic unit test documentation](/docs/tests.md). If you wish to contribute to the website, please take a look at [these tests](/test/webhost). * **Do not introduce unit test failures/regressions.** From 1e8fad7c6db453777638bd7669f88f72c6621864 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 20 Dec 2023 13:49:41 -0500 Subject: [PATCH 15/29] Update setup_en.md Woops I forgot one --- worlds/factorio/docs/setup_en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/factorio/docs/setup_en.md b/worlds/factorio/docs/setup_en.md index 8308e6350a0..0b4ccee0d7f 100644 --- a/worlds/factorio/docs/setup_en.md +++ b/worlds/factorio/docs/setup_en.md @@ -133,7 +133,7 @@ This allows you to host your own Factorio game. For additional client features, issue the `/help` command in the Archipelago Client. Once connected to the AP server, you can also issue the `!help` command to learn about additional commands like `!hint`. For more information about the commands you can use, see the [Commands Guide](/tutorial/Archipelago/commands/en) and -[Other Settings](#other-settings). +[Other Options](#other-options). ## Allowing Other People to Join Your Game From 4be4c3f8f41d30e88ebe8add70cfb7cfd3cbc529 Mon Sep 17 00:00:00 2001 From: Rever Date: Wed, 20 Dec 2023 14:00:48 -0500 Subject: [PATCH 16/29] Update Options.py Reverted changes regarding options.py --- Options.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Options.py b/Options.py index 348f50ebbbf..2e3927aae3f 100644 --- a/Options.py +++ b/Options.py @@ -914,7 +914,7 @@ class Accessibility(Choice): class ProgressionBalancing(NamedRange): """A system that can move progression earlier, to try and prevent the player from getting stuck and bored early. - A lower option means more getting stuck. A higher option means less getting stuck.""" + A lower setting means more getting stuck. A higher setting means less getting stuck.""" default = 50 range_start = 0 range_end = 99 From 33c94931f371535845a44dccdb4d6f2e0597bcb1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:05:50 -0500 Subject: [PATCH 17/29] Update worlds/noita/docs/en_Noita.md Co-authored-by: Scipio Wright --- worlds/noita/docs/en_Noita.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/noita/docs/en_Noita.md b/worlds/noita/docs/en_Noita.md index 72773d52254..1e560cfcb74 100644 --- a/worlds/noita/docs/en_Noita.md +++ b/worlds/noita/docs/en_Noita.md @@ -9,7 +9,7 @@ config file. Noita is a procedurally generated action roguelike. During runs in Noita you will find potions, wands, spells, perks, chests, etc. Shop items, chests/hearts hidden in the environment, and pedestal items will be replaced with location -checks. Orbs and boss drops can give location checks as well, if they are enabled in the options. +checks. Orbs and boss drops can give location checks as well, if their respective options are enabled. Noita items that can be found in other players' games include specific perks, orbs (optional), wands, hearts, gold, potions, and other items. If traps are enabled, some randomized negative effects can affect your game when found. From 87fb9c6946ff8922397cc11d518ccb9a39b138c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:48:05 -0500 Subject: [PATCH 18/29] Update worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md revert change waiting for that page to be updated --- worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md b/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md index f7019b2240d..18bda647845 100644 --- a/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md +++ b/worlds/sc2wol/docs/en_Starcraft 2 Wings of Liberty.md @@ -30,7 +30,7 @@ The goal is to beat the final mission: 'All In'. The config file determines whic ## Which of my items can be in another player's world? By default, any of StarCraft 2's items (specified above) can be in another player's world. See the -[Advanced YAML Guide](https://archipelago.gg/tutorial/Archipelago/advanced_options/en) +[Advanced YAML Guide](https://archipelago.gg/tutorial/Archipelago/advanced_settings/en) for more information on how to change this. ## Unique Local Commands From bb843bbc6af5f78a47711b87d930d000872e5f23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:48:31 -0500 Subject: [PATCH 19/29] Update worlds/witness/docs/setup_en.md --- worlds/witness/docs/setup_en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/witness/docs/setup_en.md b/worlds/witness/docs/setup_en.md index 7b6d631198f..2f900ad1091 100644 --- a/worlds/witness/docs/setup_en.md +++ b/worlds/witness/docs/setup_en.md @@ -43,4 +43,4 @@ The Witness has a fully functional map tracker that supports auto-tracking. 3. Click on the "AP" symbol at the top. 4. Enter the AP address, slot name and password. -The rest should take care of itself! Items and checks will be marked automatically, and it even knows your options - It will hide checks & adjust logic accordingly. +The rest should take care of itself! Items and checks will be marked automatically, and it even knows the options you chose - It will hide checks & adjust logic accordingly. From 7268b579a36b266fcbd91e18b12753a52fd2ab40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Wed, 20 Dec 2023 14:49:43 -0500 Subject: [PATCH 20/29] Update worlds/witness/docs/en_The Witness.md --- worlds/witness/docs/en_The Witness.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/witness/docs/en_The Witness.md b/worlds/witness/docs/en_The Witness.md index a35e6b5e401..c94e4b99a00 100644 --- a/worlds/witness/docs/en_The Witness.md +++ b/worlds/witness/docs/en_The Witness.md @@ -25,7 +25,7 @@ This includes symbols such as "Dots", "Black/White Squares", "Colored Squares", Alternatively (or additionally), you can play "Door shuffle", where some doors won't open until you receive their "key". -Receiving lasers as items is also a possible option. +You can also choose to receive lasers as items as an option. ## What else can I find in the world? From 6bc17e10830c9d756cf6357b1e4f480cf97310c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Thu, 28 Dec 2023 18:27:59 -0500 Subject: [PATCH 21/29] Update worlds/soe/docs/multiworld_en.md Fixed Typo Co-authored-by: black-sliver <59490463+black-sliver@users.noreply.github.com> --- worlds/soe/docs/multiworld_en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/soe/docs/multiworld_en.md b/worlds/soe/docs/multiworld_en.md index ad7086f8c04..b862e996ccc 100644 --- a/worlds/soe/docs/multiworld_en.md +++ b/worlds/soe/docs/multiworld_en.md @@ -24,7 +24,7 @@ guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) ### Where do I get a config file? The Player Options page on the website allows you to configure your personal options and export a config file from -them. Player options page: [Secret of Evermore Player Options PAge](/games/Secret%20of%20Evermore/player-options) +them. Player options page: [Secret of Evermore Player Options Page](/games/Secret%20of%20Evermore/player-options) ### Verifying your config file From a3a82f8010233d152b3c65d6de23eec05746db86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Wed, 3 Jan 2024 12:33:55 -0500 Subject: [PATCH 22/29] Update worlds/witness/docs/en_The Witness.md --- worlds/witness/docs/en_The Witness.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/witness/docs/en_The Witness.md b/worlds/witness/docs/en_The Witness.md index c94e4b99a00..6882ed3fded 100644 --- a/worlds/witness/docs/en_The Witness.md +++ b/worlds/witness/docs/en_The Witness.md @@ -25,7 +25,7 @@ This includes symbols such as "Dots", "Black/White Squares", "Colored Squares", Alternatively (or additionally), you can play "Door shuffle", where some doors won't open until you receive their "key". -You can also choose to receive lasers as items as an option. +You can also set lasers to be items you can receive. ## What else can I find in the world? From f1b500a8542c3fbc8eccf1faa52dbe580b1cdaff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Sat, 10 Feb 2024 21:19:03 -0500 Subject: [PATCH 23/29] Update worlds/adventure/docs/en_Adventure.md --- worlds/adventure/docs/en_Adventure.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/adventure/docs/en_Adventure.md b/worlds/adventure/docs/en_Adventure.md index dc17505229e..f5216e9145b 100644 --- a/worlds/adventure/docs/en_Adventure.md +++ b/worlds/adventure/docs/en_Adventure.md @@ -5,7 +5,7 @@ The [player options page for Adventure](../player-options) contains all the opti ## What does randomization do to this game? Adventure items may be distributed into additional locations not possible in the vanilla Adventure randomizer. All -Adventure items are added to the multiworld item pool. Depending on the options, dragon locations may be randomized, +Adventure items are added to the multiworld item pool. Depending on the `dragon_rando_type` value, dragon locations may be randomized, slaying dragons may award items, difficulty switches may require items to unlock, and limited use 'freeincarnates' can allow reincarnation without resurrecting dragons. Dragon speeds may also be randomized, and items may exist to reduce their speeds. From 7de2dece63c534b0aaea137b28991b107841ce3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Thu, 14 Mar 2024 18:23:43 -0400 Subject: [PATCH 24/29] Update worlds/witness/docs/setup_en.md --- worlds/witness/docs/setup_en.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/worlds/witness/docs/setup_en.md b/worlds/witness/docs/setup_en.md index 2f900ad1091..daa9b8b9b5d 100644 --- a/worlds/witness/docs/setup_en.md +++ b/worlds/witness/docs/setup_en.md @@ -43,4 +43,4 @@ The Witness has a fully functional map tracker that supports auto-tracking. 3. Click on the "AP" symbol at the top. 4. Enter the AP address, slot name and password. -The rest should take care of itself! Items and checks will be marked automatically, and it even knows the options you chose - It will hide checks & adjust logic accordingly. +The rest should take care of itself! Items and checks will be marked automatically, and it even knows your settings - It will hide checks & adjust logic accordingly. From 99546a3f436701646b4447c64db3167950ce4a71 Mon Sep 17 00:00:00 2001 From: Rever Date: Sun, 17 Mar 2024 18:53:05 -0400 Subject: [PATCH 25/29] Updated Stardew valley to hopefully get rid of the merge conflicts --- .../stardew_valley/docs/en_Stardew Valley.md | 158 +++++++++++------- 1 file changed, 101 insertions(+), 57 deletions(-) diff --git a/worlds/stardew_valley/docs/en_Stardew Valley.md b/worlds/stardew_valley/docs/en_Stardew Valley.md index d18d6be7b28..789c12020c1 100644 --- a/worlds/stardew_valley/docs/en_Stardew Valley.md +++ b/worlds/stardew_valley/docs/en_Stardew Valley.md @@ -7,9 +7,12 @@ config file. ## What does randomization do to this game? -A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the player can customize their experience in their YAML file. +A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the +player can customize their experience in their YAML file. -For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that may be useful to the player. +For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining +number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that +may be useful to the player. ## What is the goal of Stardew Valley? @@ -17,36 +20,59 @@ The player can choose from a number of goals, using their YAML options. - Complete the [Community Center](https://stardewvalleywiki.com/Bundles) - Succeed [Grandpa's Evaluation](https://stardewvalleywiki.com/Grandpa) with 4 lit candles - Reach the bottom of the [Pelican Town Mineshaft](https://stardewvalleywiki.com/The_Mines) -- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on floor 100 of the Skull Cavern -- Get the achievement [Master Angler](https://stardewvalleywiki.com/Fish), which requires catching every fish in the game -- Get the achievement [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and minerals to the museum -- Get the achievement [Full House](https://stardewvalleywiki.com/Children), which requires getting married and having two kids. -- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires finding all 130 golden walnuts on ginger island +- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on +floor 100 of the Skull Cavern +- Become a [Master Angler](https://stardewvalleywiki.com/Fish), which requires catching every fish in your slot +- Restore [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and +minerals to the museum +- Get the achievement [Full House](https://stardewvalleywiki.com/Children), which requires getting married and having two kids +- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires +finding all 130 golden walnuts on ginger island +- Become the [Protector of the Valley](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals) by +completing all the monster slayer goals at the Adventure Guild +- Complete a [Full Shipment](https://stardewvalleywiki.com/Shipping#Collection) by shipping every item in your slot +- Become a [Gourmet Chef](https://stardewvalleywiki.com/Cooking) by cooking every recipe in your slot +- Become a [Craft Master](https://stardewvalleywiki.com/Crafting) by crafting every item +- Earn the title of [Legend](https://stardewvalleywiki.com/Gold) by earning 10 000 000g +- Solve the [Mystery of the Stardrops](https://stardewvalleywiki.com/Stardrop) by finding every stardrop +- Finish 100% of your randomizer slot with Allsanity: Complete every check in your slot - Achieve [Perfection](https://stardewvalleywiki.com/Perfection) in your save file +The following goals [Community Center, Master Angler, Protector of the Valley, Full Shipment and Gourmet Chef] will adapt +to other options in your slots, and are therefore customizable in duration and difficulty. For example, if you set "Fishsanity" +to "Exclude Legendaries", and pick the Master Angler goal, you will not need to catch the legendaries to complete the goal. + ## What are location checks in Stardew Valley? Location checks in Stardew Valley always include: - [Community Center Bundles](https://stardewvalleywiki.com/Bundles) - [Mineshaft Chest Rewards](https://stardewvalleywiki.com/The_Mines#Remixed_Rewards) -- [Story Quests](https://stardewvalleywiki.com/Quests#List_of_Story_Quests) - [Traveling Merchant Items](https://stardewvalleywiki.com/Traveling_Cart) -- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), [Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), [Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc +- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), +[Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), +[Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc There also are a number of location checks that are optional, and individual players choose to include them or not in their shuffling: -- Tools and Fishing Rod Upgrades -- Carpenter Buildings -- Backpack Upgrades -- Mine Elevator Levels -- Skill Levels +- [Tools and Fishing Rod Upgrades](https://stardewvalleywiki.com/Tools) +- [Carpenter Buildings](https://stardewvalleywiki.com/Carpenter%27s_Shop#Farm_Buildings) +- [Backpack Upgrades](https://stardewvalleywiki.com/Tools#Other_Tools) +- [Mine Elevator Levels](https://stardewvalleywiki.com/The_Mines#Staircases) +- [Skill Levels](https://stardewvalleywiki.com/Skills) - Arcade Machines -- Help Wanted Quests -- Participating in Festivals -- Special Orders from the town board, or from Mr Qi -- Cropsanity: Growing and Harvesting individual crop types -- Fishsanity: Catching individual fish -- Museumsanity: Donating individual items, or reaching milestones for museum donations -- Friendsanity: Reaching specific friendship levels with NPCs +- [Story Quests](https://stardewvalleywiki.com/Quests#List_of_Story_Quests) +- [Help Wanted Quests](https://stardewvalleywiki.com/Quests#Help_Wanted_Quests) +- Participating in [Festivals](https://stardewvalleywiki.com/Festivals) +- [Special Orders](https://stardewvalleywiki.com/Quests#List_of_Special_Orders) from the town board, or from +[Mr Qi](https://stardewvalleywiki.com/Quests#List_of_Mr._Qi.27s_Special_Orders) +- [Cropsanity](https://stardewvalleywiki.com/Crops): Growing and Harvesting individual crop types +- [Fishsanity](https://stardewvalleywiki.com/Fish): Catching individual fish +- [Museumsanity](https://stardewvalleywiki.com/Museum): Donating individual items, or reaching milestones for museum donations +- [Friendsanity](https://stardewvalleywiki.com/Friendship): Reaching specific friendship levels with NPCs +- [Monstersanity](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals): Completing monster slayer goals +- [Cooksanity](https://stardewvalleywiki.com/Cooking): Cooking individual recipes +- [Chefsanity](https://stardewvalleywiki.com/Cooking#Recipes): Learning cooking recipes +- [Craftsanity](https://stardewvalleywiki.com/Crafting): Crafting individual items +- [Shipsanity](https://stardewvalleywiki.com/Shipping): Shipping individual items ## Which items can be in another player's world? @@ -55,20 +81,27 @@ For the locations which do not include a normal reward, Resource Packs and traps A player can enable some options that will add some items to the pool that are relevant to progression - Seasons Randomizer: - - All 4 seasons will be items, and one of them will be selected randomly and be added to the player's start inventory - - At the end of each month, the player can choose the next season, instead of following the vanilla season order. On Seasons Randomizer, they can only choose from the seasons they have received. + * All 4 seasons will be items, and one of them will be selected randomly and be added to the player's start inventory. + * At the end of each month, the player can choose the next season, instead of following the vanilla season order. On +Seasons Randomizer, they can only choose from the seasons they have received. - Cropsanity: - - Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received as multiworld items. Growing each seed and harvesting the resulting crop sends a location check - - The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells unlimited seeds but in huge discount packs, not individually. + * Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received + as multiworld items. Growing each seed and harvesting the resulting crop sends a location check + * The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells + unlimited seeds but in huge discount packs, not individually. - Museumsanity: - - The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the magic rock candy, are duplicated for convenience. - - The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. She will sell these items as the player receives "Traveling Merchant Metal Detector" items. + * The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the + magic rock candy, are duplicated for convenience. + * The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. + She will sell these items as the player receives "Traveling Merchant Metal Detector" items. - TV Channels - Babies + * Only if Friendsanity is enabled There are a few extra vanilla items, which are added to the pool for convenience, but do not have a matching location. These include - [Wizard Buildings](https://stardewvalleywiki.com/Wizard%27s_Tower#Buildings) - [Return Scepter](https://stardewvalleywiki.com/Return_Scepter) +- [Qi Walnut Room QoL items](https://stardewvalleywiki.com/Qi%27s_Walnut_Room#Stock) And lastly, some Archipelago-exclusive items exist in the pool, which are designed around game balance and QoL. These include: - Arcade Machine buffs (Only if the arcade machines are randomized) @@ -80,50 +113,61 @@ And lastly, some Archipelago-exclusive items exist in the pool, which are design ## When the player receives an item, what happens? -Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where it was found. -If an item is received while offline, it will be in the mailbox as soon as the player logs in. +Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received +while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where +it was found. If an item is received while offline, it will be in the mailbox as soon as the player logs in. -Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter only serves to tell the player about it. +Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter +only serves to tell the player about it. -In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the building that they have received, so they can choose its position. This construction will be completely free. +In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the +building that they have received, so they can choose its position. This construction will be completely free. ## Mods -Starting in version 4.x.x, some Stardew Valley mods unrelated to Archipelago are officially "supported". -This means that, for these specific mods, if you decide to include them in your yaml options, the multiworld will be generated with the assumption that you will install and play with these mods. -The multiworld will contain related items and locations for these mods, the specifics will vary from mod to mod +Some Stardew Valley mods unrelated to Archipelago are officially "supported". +This means that, for these specific mods, if you decide to include them in your yaml options, the multiworld will be generated +with the assumption that you will install and play with these mods. The multiworld will contain related items and locations +for these mods, the specifics will vary from mod to mod -[Supported Mods Documentation](https://github.com/agilbert1412/StardewArchipelago/blob/4.x.x/Documentation/Supported%20Mods.md) +[Supported Mods Documentation](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) List of supported mods: - General - - [DeepWoods](https://www.nexusmods.com/stardewvalley/mods/2571) - - [Tractor Mod](https://www.nexusmods.com/stardewvalley/mods/1401) - - [Bigger Backpack](https://www.nexusmods.com/stardewvalley/mods/1845) - - [Skull Cavern Elevator](https://www.nexusmods.com/stardewvalley/mods/963) + * [Stardew Valley Expanded](https://www.nexusmods.com/stardewvalley/mods/3753) + * [DeepWoods](https://www.nexusmods.com/stardewvalley/mods/2571) + * [Skull Cavern Elevator](https://www.nexusmods.com/stardewvalley/mods/963) + * [Bigger Backpack](https://www.nexusmods.com/stardewvalley/mods/1845) + * [Tractor Mod](https://www.nexusmods.com/stardewvalley/mods/1401) + * [Distant Lands - Witch Swamp Overhaul](https://www.nexusmods.com/stardewvalley/mods/18109) - Skills - - [Luck Skill](https://www.nexusmods.com/stardewvalley/mods/521) - - [Magic](https://www.nexusmods.com/stardewvalley/mods/2007) - - [Socializing Skill](https://www.nexusmods.com/stardewvalley/mods/14142) - - [Archaeology](https://www.nexusmods.com/stardewvalley/mods/15793) - - [Cooking Skill](https://www.nexusmods.com/stardewvalley/mods/522) - - [Binning Skill](https://www.nexusmods.com/stardewvalley/mods/14073) + * [Magic](https://www.nexusmods.com/stardewvalley/mods/2007) + * [Luck Skill](https://www.nexusmods.com/stardewvalley/mods/521) + * [Socializing Skill](https://www.nexusmods.com/stardewvalley/mods/14142) + * [Archaeology](https://www.nexusmods.com/stardewvalley/mods/15793) + * [Cooking Skill](https://www.nexusmods.com/stardewvalley/mods/522) + * [Binning Skill](https://www.nexusmods.com/stardewvalley/mods/14073) - NPCs - - [Ayeisha - The Postal Worker (Custom NPC)](https://www.nexusmods.com/stardewvalley/mods/6427) - - [Mister Ginger (cat npc)](https://www.nexusmods.com/stardewvalley/mods/5295) - - [Juna - Roommate NPC](https://www.nexusmods.com/stardewvalley/mods/8606) - - [Professor Jasper Thomas](https://www.nexusmods.com/stardewvalley/mods/5599) - - [Alec Revisited](https://www.nexusmods.com/stardewvalley/mods/10697) - - [Custom NPC - Yoba](https://www.nexusmods.com/stardewvalley/mods/14871) - - [Custom NPC Eugene](https://www.nexusmods.com/stardewvalley/mods/9222) - - ['Prophet' Wellwick](https://www.nexusmods.com/stardewvalley/mods/6462) - - [Shiko - New Custom NPC](https://www.nexusmods.com/stardewvalley/mods/3732) - - [Delores - Custom NPC](https://www.nexusmods.com/stardewvalley/mods/5510) - - [Custom NPC - Riley](https://www.nexusmods.com/stardewvalley/mods/5811) + * [Ayeisha - The Postal Worker (Custom NPC)](https://www.nexusmods.com/stardewvalley/mods/6427) + * [Mister Ginger (cat npc)](https://www.nexusmods.com/stardewvalley/mods/5295) + * [Juna - Roommate NPC](https://www.nexusmods.com/stardewvalley/mods/8606) + * [Professor Jasper Thomas](https://www.nexusmods.com/stardewvalley/mods/5599) + * [Alec Revisited](https://www.nexusmods.com/stardewvalley/mods/10697) + * [Custom NPC - Yoba](https://www.nexusmods.com/stardewvalley/mods/14871) + * [Custom NPC Eugene](https://www.nexusmods.com/stardewvalley/mods/9222) + * ['Prophet' Wellwick](https://www.nexusmods.com/stardewvalley/mods/6462) + * [Shiko - New Custom NPC](https://www.nexusmods.com/stardewvalley/mods/3732) + * [Delores - Custom NPC](https://www.nexusmods.com/stardewvalley/mods/5510) + * [Custom NPC - Riley](https://www.nexusmods.com/stardewvalley/mods/5811) + * [Alecto the Witch](https://www.nexusmods.com/stardewvalley/mods/10671) + +Some of these mods might need a patch mod to tie the randomizer with the mod. These can be found +[here](https://github.com/Witchybun/SDV-Randomizer-Content-Patcher/releases) ## Multiplayer You cannot play an Archipelago Slot in multiplayer at the moment. There are no short-term plans to support that feature. -You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. +You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game +Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. From 4780b9584c1ea38525be6b684a4d84f890787fa9 Mon Sep 17 00:00:00 2001 From: Rever Date: Sun, 17 Mar 2024 18:55:20 -0400 Subject: [PATCH 26/29] Didn't work :dismay: --- .../stardew_valley/docs/en_Stardew Valley.md | 75 +++++++------------ 1 file changed, 26 insertions(+), 49 deletions(-) diff --git a/worlds/stardew_valley/docs/en_Stardew Valley.md b/worlds/stardew_valley/docs/en_Stardew Valley.md index 789c12020c1..06c41a2f056 100644 --- a/worlds/stardew_valley/docs/en_Stardew Valley.md +++ b/worlds/stardew_valley/docs/en_Stardew Valley.md @@ -1,35 +1,28 @@ # Stardew Valley -## Where is the options page? +## Where is the settings page? -The [player options page for this game](../player-options) contains all the options you need to configure and export a +The [player settings page for this game](../player-settings) contains all the options you need to configure and export a config file. ## What does randomization do to this game? -A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the -player can customize their experience in their YAML file. +A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the player can customize their experience in their YAML file. -For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining -number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that -may be useful to the player. +For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that may be useful to the player. ## What is the goal of Stardew Valley? -The player can choose from a number of goals, using their YAML options. +The player can choose from a number of goals, using their YAML settings. - Complete the [Community Center](https://stardewvalleywiki.com/Bundles) - Succeed [Grandpa's Evaluation](https://stardewvalleywiki.com/Grandpa) with 4 lit candles - Reach the bottom of the [Pelican Town Mineshaft](https://stardewvalleywiki.com/The_Mines) -- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on -floor 100 of the Skull Cavern +- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on floor 100 of the Skull Cavern - Become a [Master Angler](https://stardewvalleywiki.com/Fish), which requires catching every fish in your slot -- Restore [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and -minerals to the museum +- Restore [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and minerals to the museum - Get the achievement [Full House](https://stardewvalleywiki.com/Children), which requires getting married and having two kids -- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires -finding all 130 golden walnuts on ginger island -- Become the [Protector of the Valley](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals) by -completing all the monster slayer goals at the Adventure Guild +- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires finding all 130 golden walnuts on ginger island +- Become the [Protector of the Valley](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals) by completing all the monster slayer goals at the Adventure Guild - Complete a [Full Shipment](https://stardewvalleywiki.com/Shipping#Collection) by shipping every item in your slot - Become a [Gourmet Chef](https://stardewvalleywiki.com/Cooking) by cooking every recipe in your slot - Become a [Craft Master](https://stardewvalleywiki.com/Crafting) by crafting every item @@ -38,9 +31,7 @@ completing all the monster slayer goals at the Adventure Guild - Finish 100% of your randomizer slot with Allsanity: Complete every check in your slot - Achieve [Perfection](https://stardewvalleywiki.com/Perfection) in your save file -The following goals [Community Center, Master Angler, Protector of the Valley, Full Shipment and Gourmet Chef] will adapt -to other options in your slots, and are therefore customizable in duration and difficulty. For example, if you set "Fishsanity" -to "Exclude Legendaries", and pick the Master Angler goal, you will not need to catch the legendaries to complete the goal. +The following goals [Community Center, Master Angler, Protector of the Valley, Full Shipment and Gourmet Chef] will adapt to other settings in your slots, and are therefore customizable in duration and difficulty. For example, if you set "Fishsanity" to "Exclude Legendaries", and pick the Master Angler goal, you will not need to catch the legendaries to complete the goal. ## What are location checks in Stardew Valley? @@ -48,9 +39,7 @@ Location checks in Stardew Valley always include: - [Community Center Bundles](https://stardewvalleywiki.com/Bundles) - [Mineshaft Chest Rewards](https://stardewvalleywiki.com/The_Mines#Remixed_Rewards) - [Traveling Merchant Items](https://stardewvalleywiki.com/Traveling_Cart) -- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), -[Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), -[Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc +- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), [Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), [Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc There also are a number of location checks that are optional, and individual players choose to include them or not in their shuffling: - [Tools and Fishing Rod Upgrades](https://stardewvalleywiki.com/Tools) @@ -62,8 +51,7 @@ There also are a number of location checks that are optional, and individual pla - [Story Quests](https://stardewvalleywiki.com/Quests#List_of_Story_Quests) - [Help Wanted Quests](https://stardewvalleywiki.com/Quests#Help_Wanted_Quests) - Participating in [Festivals](https://stardewvalleywiki.com/Festivals) -- [Special Orders](https://stardewvalleywiki.com/Quests#List_of_Special_Orders) from the town board, or from -[Mr Qi](https://stardewvalleywiki.com/Quests#List_of_Mr._Qi.27s_Special_Orders) +- [Special Orders](https://stardewvalleywiki.com/Quests#List_of_Special_Orders) from the town board, or from [Mr Qi](https://stardewvalleywiki.com/Quests#List_of_Mr._Qi.27s_Special_Orders) - [Cropsanity](https://stardewvalleywiki.com/Crops): Growing and Harvesting individual crop types - [Fishsanity](https://stardewvalleywiki.com/Fish): Catching individual fish - [Museumsanity](https://stardewvalleywiki.com/Museum): Donating individual items, or reaching milestones for museum donations @@ -79,21 +67,16 @@ There also are a number of location checks that are optional, and individual pla Every normal reward from the above locations can be in another player's world. For the locations which do not include a normal reward, Resource Packs and traps are instead added to the pool. Traps are optional. -A player can enable some options that will add some items to the pool that are relevant to progression +A player can enable some settings that will add some items to the pool that are relevant to progression - Seasons Randomizer: * All 4 seasons will be items, and one of them will be selected randomly and be added to the player's start inventory. - * At the end of each month, the player can choose the next season, instead of following the vanilla season order. On -Seasons Randomizer, they can only choose from the seasons they have received. + * At the end of each month, the player can choose the next season, instead of following the vanilla season order. On Seasons Randomizer, they can only choose from the seasons they have received. - Cropsanity: - * Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received - as multiworld items. Growing each seed and harvesting the resulting crop sends a location check - * The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells - unlimited seeds but in huge discount packs, not individually. + * Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received as multiworld items. Growing each seed and harvesting the resulting crop sends a location check + * The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells unlimited seeds but in huge discount packs, not individually. - Museumsanity: - * The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the - magic rock candy, are duplicated for convenience. - * The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. - She will sell these items as the player receives "Traveling Merchant Metal Detector" items. + * The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the magic rock candy, are duplicated for convenience. + * The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. She will sell these items as the player receives "Traveling Merchant Metal Detector" items. - TV Channels - Babies * Only if Friendsanity is enabled @@ -113,22 +96,18 @@ And lastly, some Archipelago-exclusive items exist in the pool, which are design ## When the player receives an item, what happens? -Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received -while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where -it was found. If an item is received while offline, it will be in the mailbox as soon as the player logs in. +Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where it was found. +If an item is received while offline, it will be in the mailbox as soon as the player logs in. -Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter -only serves to tell the player about it. +Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter only serves to tell the player about it. -In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the -building that they have received, so they can choose its position. This construction will be completely free. +In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the building that they have received, so they can choose its position. This construction will be completely free. ## Mods Some Stardew Valley mods unrelated to Archipelago are officially "supported". -This means that, for these specific mods, if you decide to include them in your yaml options, the multiworld will be generated -with the assumption that you will install and play with these mods. The multiworld will contain related items and locations -for these mods, the specifics will vary from mod to mod +This means that, for these specific mods, if you decide to include them in your yaml settings, the multiworld will be generated with the assumption that you will install and play with these mods. +The multiworld will contain related items and locations for these mods, the specifics will vary from mod to mod [Supported Mods Documentation](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) @@ -162,12 +141,10 @@ List of supported mods: * [Custom NPC - Riley](https://www.nexusmods.com/stardewvalley/mods/5811) * [Alecto the Witch](https://www.nexusmods.com/stardewvalley/mods/10671) -Some of these mods might need a patch mod to tie the randomizer with the mod. These can be found -[here](https://github.com/Witchybun/SDV-Randomizer-Content-Patcher/releases) +Some of these mods might need a patch mod to tie the randomizer with the mod. These can be found [here](https://github.com/Witchybun/SDV-Randomizer-Content-Patcher/releases) ## Multiplayer You cannot play an Archipelago Slot in multiplayer at the moment. There are no short-term plans to support that feature. -You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game -Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. +You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. From 1832e0d0d8b62305cc8e49825e36ae2300755343 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dana=C3=ABl=20V?= <104455676+ReverM@users.noreply.github.com> Date: Sun, 17 Mar 2024 19:02:38 -0400 Subject: [PATCH 27/29] Delete worlds/sc2wol/docs/setup_en.md I think this will fix the merge issue --- worlds/sc2wol/docs/setup_en.md | 98 ---------------------------------- 1 file changed, 98 deletions(-) delete mode 100644 worlds/sc2wol/docs/setup_en.md diff --git a/worlds/sc2wol/docs/setup_en.md b/worlds/sc2wol/docs/setup_en.md deleted file mode 100644 index 8006b66b5c3..00000000000 --- a/worlds/sc2wol/docs/setup_en.md +++ /dev/null @@ -1,98 +0,0 @@ -# StarCraft 2 Wings of Liberty Randomizer Setup Guide - -This guide contains instructions on how to install and troubleshoot the StarCraft 2 Archipelago client, as well as where -to obtain a config file for StarCraft 2. - -## Required Software - -- [StarCraft 2](https://starcraft2.com/en-us/) -- [The most recent Archipelago release](https://github.com/ArchipelagoMW/Archipelago/releases) -- [StarCraft 2 AP Maps and Data](https://github.com/Ziktofel/Archipelago-SC2-data/releases) - -## How do I install this randomizer? - -1. Install StarCraft 2 and Archipelago using the first two links above. (The StarCraft 2 client for Archipelago is - included by default.) - - Linux users should also follow the instructions found at the bottom of this page - (["Running in Linux"](#running-in-linux)). -2. Run ArchipelagoStarcraft2Client.exe. - - macOS users should instead follow the instructions found at ["Running in macOS"](#running-in-macos) for this step only. -3. Type the command `/download_data`. This will automatically install the Maps and Data files from the third link above. - -## Where do I get a config file (aka "YAML") for this game? - -The [Player Options](https://archipelago.gg/games/Starcraft%202%20Wings%20of%20Liberty/player-options) page on this -website allows you to choose your personal options for the randomizer and download them into a config file. Remember -the name you type in the `Player Name` box; that's the "slot name" the client will ask you for when you attempt to -connect! - -### And why do I need a config file? - -Config files tell Archipelago how you'd like your game to be randomized, even if you're only using default options. -When you're setting up a multiworld, every world needs its own config file. -Check out [Creating a YAML](https://archipelago.gg/tutorial/Archipelago/setup/en#creating-a-yaml) for more information. - -## How do I join a MultiWorld game? - -1. Run ArchipelagoStarcraft2Client.exe. - - macOS users should instead follow the instructions found at ["Running in macOS"](#running-in-macos) for this step only. -2. Type `/connect [server ip]`. -3. Type your slot name and the server's password when prompted. -4. Once connected, switch to the 'StarCraft 2 Launcher' tab in the client. There, you can see every mission. By default, - only 'Liberation Day' will be available at the beginning. Just click on a mission to start it! - -## The game isn't launching when I try to start a mission. - -First, check the log file for issues (stored at `[Archipelago Directory]/logs/SC2Client.txt`). If you can't figure out -the log file, visit our [Discord's](https://discord.com/invite/8Z65BR2) tech-support channel for help. Please include a -specific description of what's going wrong and attach your log file to your message. - -## Running in macOS - -To run StarCraft 2 through Archipelago in macOS, you will need to run the client via source as seen here: [macOS Guide](https://archipelago.gg/tutorial/Archipelago/mac/en). Note: when running the client, you will need to run the command `python3 Starcraft2Client.py`. - -## Running in Linux - -To run StarCraft 2 through Archipelago in Linux, you will need to install the game using Wine, then run the Linux build -of the Archipelago client. - -Make sure you have StarCraft 2 installed using Wine, and that you have followed the -[installation procedures](#how-do-i-install-this-randomizer?) to add the Archipelago maps to the correct location. You will not -need to copy the .dll files. If you're having trouble installing or running StarCraft 2 on Linux, I recommend using the -Lutris installer. - -Copy the following into a .sh file, replacing the values of **WINE** and **SC2PATH** variables with the relevant -locations, as well as setting **PATH_TO_ARCHIPELAGO** to the directory containing the AppImage if it is not in the same -folder as the script. - -```sh -# Let the client know we're running SC2 in Wine -export SC2PF=WineLinux -export PROTOCOL_BUFFERS_PYTHON_IMPLEMENTATION=python - -# FIXME Replace with path to the version of Wine used to run SC2 -export WINE="/usr/bin/wine" - -# FIXME Replace with path to StarCraft II install folder -export SC2PATH="/home/user/Games/starcraft-ii/drive_c/Program Files (x86)/StarCraft II/" - -# FIXME Set to directory which contains Archipelago AppImage file -PATH_TO_ARCHIPELAGO= - -# Gets the latest version of Archipelago AppImage in PATH_TO_ARCHIPELAGO. -# If PATH_TO_ARCHIPELAGO is not set, this defaults to the directory containing -# this script file. -ARCHIPELAGO="$(ls ${PATH_TO_ARCHIPELAGO:-$(dirname $0)}/Archipelago_*.AppImage | sort -r | head -1)" - -# Start the Archipelago client -$ARCHIPELAGO Starcraft2Client -``` - -For Lutris installs, you can run `lutris -l` to get the numerical ID of your StarCraft II install, then run the command -below, replacing **${ID}** with the numerical ID. - - lutris lutris:rungameid/${ID} --output-script sc2.sh - -This will get all of the relevant environment variables Lutris sets to run StarCraft 2 in a script, including the path -to the Wine binary that Lutris uses. You can then remove the line that runs the Battle.Net launcher and copy the code -above into the existing script. From a75257020c5701b069f5345bda713621a86cd5dc Mon Sep 17 00:00:00 2001 From: Rever Date: Sun, 17 Mar 2024 19:03:51 -0400 Subject: [PATCH 28/29] Now it should work --- worlds/stardew_valley/docs/setup_en.md | 256 +++++++++++++++++-------- 1 file changed, 171 insertions(+), 85 deletions(-) diff --git a/worlds/stardew_valley/docs/setup_en.md b/worlds/stardew_valley/docs/setup_en.md index fb8466466ec..6f292b8d553 100644 --- a/worlds/stardew_valley/docs/setup_en.md +++ b/worlds/stardew_valley/docs/setup_en.md @@ -1,87 +1,173 @@ -# Stardew Valley Randomizer Setup Guide - -## Required Software - -- Stardew Valley on PC (Recommended: [Steam version](https://store.steampowered.com/app/413150/Stardew_Valley/)) -- SMAPI ([Mod loader for Stardew Valley](https://smapi.io/)) -- [StardewArchipelago Mod Release 5.x.x](https://github.com/agilbert1412/StardewArchipelago/releases) - - It is important to use a mod release of version 5.x.x to play seeds that have been generated here. Later releases can only be used with later releases of the world generator, that are not hosted on archipelago.gg yet. - -## Optional Software -- Archipelago from the [Archipelago Releases Page](https://github.com/ArchipelagoMW/Archipelago/releases) - * (Only for the TextClient) -- Other Stardew Valley Mods [Nexus Mods](https://www.nexusmods.com/stardewvalley) - * There are [supported mods](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) that you can add to your yaml to include them with the Archipelago randomization - - * It is **not** recommended to further mod Stardew Valley with unsupported mods, although it is possible to do so. Mod interactions can be unpredictable, and no support will be offered for related bugs. - * The more unsupported mods you have, and the bigger they are, the more likely things are to break. - -## Configuring your YAML file - -### What is a YAML file and why do I need one? - -See the guide on setting up a basic YAML at the Archipelago setup -guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) - -### Where do I get a YAML file? - -You can customize your options by visiting the [Stardew Valley Player Options Page](/games/Stardew%20Valley/player-options) - -## Joining a MultiWorld Game - -### Installing the mod - -- Install [SMAPI](https://smapi.io/) by following the instructions on their website -- Download and extract the [StardewArchipelago](https://github.com/agilbert1412/StardewArchipelago/releases) mod into your Stardew Valley "Mods" folder -- *OPTIONAL*: If you want to launch your game through Steam, add the following to your Stardew Valley launch options: - - "[PATH TO STARDEW VALLEY]\Stardew Valley\StardewModdingAPI.exe" %command% -- Otherwise just launch "StardewModdingAPI.exe" in your installation folder directly -- Stardew Valley should launch itself alongside a console which allows you to read mod information and interact with some of them. - -### Connect to the MultiServer - -Launch Stardew Valley with SMAPI. Once you have reached the Stardew Valley title screen, create a new farm. - -On the new character creation page, you will see 3 new fields, used to link your new character to an archipelago multiworld - -![image](https://i.imgur.com/b8KZy2F.png) - -You can customize your farm and character as much as desired. - -The Server text box needs to have both the address and the port, and your slotname is the name specified in your yaml - -`archipelago.gg:38281` - -`StardewPlayer` - -The password is optional. - -Your game will connect automatically to Archipelago, and reconnect automatically when loading the save, later. - -You will never need to enter this information again for this character, unless your room changes its ip or port. -If the room's ip or port **does** change, you can follow these instructions to modify the connection information of your save file -- Launch modded Stardew Valley -- While **on the main menu** of the game, enter the follow command **in the SMAPI console**: -- `connect_override ip:port slot password` -- Example: `connect_override archipelago.gg:38281 StardewPlayer` -- Load your save game. The new connection information will be used, instead of the saved one -- Play a full day, sleep, and save the game. This connection information will overwrite the previous one and become permanent. - -### Interacting with the MultiWorld from in-game - -When you connect, you should see a message in the chat informing you of the `!!help` command. This command will list other Stardew-exclusive chat commands you can use. - -Furthermore, you can use the in-game chat box to talk to other players in the multiworld, assuming they are using a game that supports chatting. - -Lastly, you can also run Archipelago commands `!help` from the in game chat box, allowing you to request hints on certain items, or check missing locations. - -It is important to note that the Stardew Valley chat is fairly limited in its capabilities. For example, it doesn't allow scrolling up to see history that has been pushed off screen. The SMAPI console running alonside your game will have the full history as well and may be better suited to read older messages. -For a better chat experience, you can also use the official Archipelago Text Client, altough it will not allow you to run Stardew-exclusive commands. - -### Playing with supported mods - -See the [Supported mods documentation](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) - -### Multiplayer +# Stardew Valley + +## Where is the options page? + +The [player options page for this game](../player-options) contains all the options you need to configure and export a +config file. + +## What does randomization do to this game? + +A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the +player can customize their experience in their YAML file. + +For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining +number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that +may be useful to the player. + +## What is the goal of Stardew Valley? + +The player can choose from a number of goals, using their YAML options. +- Complete the [Community Center](https://stardewvalleywiki.com/Bundles) +- Succeed [Grandpa's Evaluation](https://stardewvalleywiki.com/Grandpa) with 4 lit candles +- Reach the bottom of the [Pelican Town Mineshaft](https://stardewvalleywiki.com/The_Mines) +- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on +floor 100 of the Skull Cavern +- Become a [Master Angler](https://stardewvalleywiki.com/Fish), which requires catching every fish in your slot +- Restore [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and +minerals to the museum +- Get the achievement [Full House](https://stardewvalleywiki.com/Children), which requires getting married and having two kids +- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires +finding all 130 golden walnuts on ginger island +- Become the [Protector of the Valley](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals) by +completing all the monster slayer goals at the Adventure Guild +- Complete a [Full Shipment](https://stardewvalleywiki.com/Shipping#Collection) by shipping every item in your slot +- Become a [Gourmet Chef](https://stardewvalleywiki.com/Cooking) by cooking every recipe in your slot +- Become a [Craft Master](https://stardewvalleywiki.com/Crafting) by crafting every item +- Earn the title of [Legend](https://stardewvalleywiki.com/Gold) by earning 10 000 000g +- Solve the [Mystery of the Stardrops](https://stardewvalleywiki.com/Stardrop) by finding every stardrop +- Finish 100% of your randomizer slot with Allsanity: Complete every check in your slot +- Achieve [Perfection](https://stardewvalleywiki.com/Perfection) in your save file + +The following goals [Community Center, Master Angler, Protector of the Valley, Full Shipment and Gourmet Chef] will adapt +to other options in your slots, and are therefore customizable in duration and difficulty. For example, if you set "Fishsanity" +to "Exclude Legendaries", and pick the Master Angler goal, you will not need to catch the legendaries to complete the goal. + +## What are location checks in Stardew Valley? + +Location checks in Stardew Valley always include: +- [Community Center Bundles](https://stardewvalleywiki.com/Bundles) +- [Mineshaft Chest Rewards](https://stardewvalleywiki.com/The_Mines#Remixed_Rewards) +- [Traveling Merchant Items](https://stardewvalleywiki.com/Traveling_Cart) +- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), +[Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), +[Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc + +There also are a number of location checks that are optional, and individual players choose to include them or not in their shuffling: +- [Tools and Fishing Rod Upgrades](https://stardewvalleywiki.com/Tools) +- [Carpenter Buildings](https://stardewvalleywiki.com/Carpenter%27s_Shop#Farm_Buildings) +- [Backpack Upgrades](https://stardewvalleywiki.com/Tools#Other_Tools) +- [Mine Elevator Levels](https://stardewvalleywiki.com/The_Mines#Staircases) +- [Skill Levels](https://stardewvalleywiki.com/Skills) +- Arcade Machines +- [Story Quests](https://stardewvalleywiki.com/Quests#List_of_Story_Quests) +- [Help Wanted Quests](https://stardewvalleywiki.com/Quests#Help_Wanted_Quests) +- Participating in [Festivals](https://stardewvalleywiki.com/Festivals) +- [Special Orders](https://stardewvalleywiki.com/Quests#List_of_Special_Orders) from the town board, or from +[Mr Qi](https://stardewvalleywiki.com/Quests#List_of_Mr._Qi.27s_Special_Orders) +- [Cropsanity](https://stardewvalleywiki.com/Crops): Growing and Harvesting individual crop types +- [Fishsanity](https://stardewvalleywiki.com/Fish): Catching individual fish +- [Museumsanity](https://stardewvalleywiki.com/Museum): Donating individual items, or reaching milestones for museum donations +- [Friendsanity](https://stardewvalleywiki.com/Friendship): Reaching specific friendship levels with NPCs +- [Monstersanity](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals): Completing monster slayer goals +- [Cooksanity](https://stardewvalleywiki.com/Cooking): Cooking individual recipes +- [Chefsanity](https://stardewvalleywiki.com/Cooking#Recipes): Learning cooking recipes +- [Craftsanity](https://stardewvalleywiki.com/Crafting): Crafting individual items +- [Shipsanity](https://stardewvalleywiki.com/Shipping): Shipping individual items + +## Which items can be in another player's world? + +Every normal reward from the above locations can be in another player's world. +For the locations which do not include a normal reward, Resource Packs and traps are instead added to the pool. Traps are optional. + +A player can enable some options that will add some items to the pool that are relevant to progression +- Seasons Randomizer: + * All 4 seasons will be items, and one of them will be selected randomly and be added to the player's start inventory. + * At the end of each month, the player can choose the next season, instead of following the vanilla season order. On +Seasons Randomizer, they can only choose from the seasons they have received. +- Cropsanity: + * Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received + as multiworld items. Growing each seed and harvesting the resulting crop sends a location check + * The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells + unlimited seeds but in huge discount packs, not individually. +- Museumsanity: + * The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the + magic rock candy, are duplicated for convenience. + * The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. + She will sell these items as the player receives "Traveling Merchant Metal Detector" items. +- TV Channels +- Babies + * Only if Friendsanity is enabled + +There are a few extra vanilla items, which are added to the pool for convenience, but do not have a matching location. These include +- [Wizard Buildings](https://stardewvalleywiki.com/Wizard%27s_Tower#Buildings) +- [Return Scepter](https://stardewvalleywiki.com/Return_Scepter) +- [Qi Walnut Room QoL items](https://stardewvalleywiki.com/Qi%27s_Walnut_Room#Stock) + +And lastly, some Archipelago-exclusive items exist in the pool, which are designed around game balance and QoL. These include: +- Arcade Machine buffs (Only if the arcade machines are randomized) + - Journey of the Prairie King has drop rate increases, extra lives, and equipment + - Junimo Kart has extra lives. +- Permanent Movement Speed Bonuses (customizable) +- Permanent Luck Bonuses (customizable) +- Traveling Merchant buffs + +## When the player receives an item, what happens? + +Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received +while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where +it was found. If an item is received while offline, it will be in the mailbox as soon as the player logs in. + +Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter +only serves to tell the player about it. + +In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the +building that they have received, so they can choose its position. This construction will be completely free. + +## Mods + +Some Stardew Valley mods unrelated to Archipelago are officially "supported". +This means that, for these specific mods, if you decide to include them in your yaml options, the multiworld will be generated +with the assumption that you will install and play with these mods. The multiworld will contain related items and locations +for these mods, the specifics will vary from mod to mod + +[Supported Mods Documentation](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) + +List of supported mods: + +- General + * [Stardew Valley Expanded](https://www.nexusmods.com/stardewvalley/mods/3753) + * [DeepWoods](https://www.nexusmods.com/stardewvalley/mods/2571) + * [Skull Cavern Elevator](https://www.nexusmods.com/stardewvalley/mods/963) + * [Bigger Backpack](https://www.nexusmods.com/stardewvalley/mods/1845) + * [Tractor Mod](https://www.nexusmods.com/stardewvalley/mods/1401) + * [Distant Lands - Witch Swamp Overhaul](https://www.nexusmods.com/stardewvalley/mods/18109) +- Skills + * [Magic](https://www.nexusmods.com/stardewvalley/mods/2007) + * [Luck Skill](https://www.nexusmods.com/stardewvalley/mods/521) + * [Socializing Skill](https://www.nexusmods.com/stardewvalley/mods/14142) + * [Archaeology](https://www.nexusmods.com/stardewvalley/mods/15793) + * [Cooking Skill](https://www.nexusmods.com/stardewvalley/mods/522) + * [Binning Skill](https://www.nexusmods.com/stardewvalley/mods/14073) +- NPCs + * [Ayeisha - The Postal Worker (Custom NPC)](https://www.nexusmods.com/stardewvalley/mods/6427) + * [Mister Ginger (cat npc)](https://www.nexusmods.com/stardewvalley/mods/5295) + * [Juna - Roommate NPC](https://www.nexusmods.com/stardewvalley/mods/8606) + * [Professor Jasper Thomas](https://www.nexusmods.com/stardewvalley/mods/5599) + * [Alec Revisited](https://www.nexusmods.com/stardewvalley/mods/10697) + * [Custom NPC - Yoba](https://www.nexusmods.com/stardewvalley/mods/14871) + * [Custom NPC Eugene](https://www.nexusmods.com/stardewvalley/mods/9222) + * ['Prophet' Wellwick](https://www.nexusmods.com/stardewvalley/mods/6462) + * [Shiko - New Custom NPC](https://www.nexusmods.com/stardewvalley/mods/3732) + * [Delores - Custom NPC](https://www.nexusmods.com/stardewvalley/mods/5510) + * [Custom NPC - Riley](https://www.nexusmods.com/stardewvalley/mods/5811) + * [Alecto the Witch](https://www.nexusmods.com/stardewvalley/mods/10671) + +Some of these mods might need a patch mod to tie the randomizer with the mod. These can be found +[here](https://github.com/Witchybun/SDV-Randomizer-Content-Patcher/releases) + +## Multiplayer You cannot play an Archipelago Slot in multiplayer at the moment. There are no short-term plans to support that feature. + +You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game +Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. From 3d98f62158f112bae05143ca9971913690718588 Mon Sep 17 00:00:00 2001 From: Rever Date: Sun, 17 Mar 2024 19:20:59 -0400 Subject: [PATCH 29/29] Woops --- .../stardew_valley/docs/en_Stardew Valley.md | 75 +++-- worlds/stardew_valley/docs/setup_en.md | 270 +++++++----------- 2 files changed, 146 insertions(+), 199 deletions(-) diff --git a/worlds/stardew_valley/docs/en_Stardew Valley.md b/worlds/stardew_valley/docs/en_Stardew Valley.md index 06c41a2f056..789c12020c1 100644 --- a/worlds/stardew_valley/docs/en_Stardew Valley.md +++ b/worlds/stardew_valley/docs/en_Stardew Valley.md @@ -1,28 +1,35 @@ # Stardew Valley -## Where is the settings page? +## Where is the options page? -The [player settings page for this game](../player-settings) contains all the options you need to configure and export a +The [player options page for this game](../player-options) contains all the options you need to configure and export a config file. ## What does randomization do to this game? -A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the player can customize their experience in their YAML file. +A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the +player can customize their experience in their YAML file. -For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that may be useful to the player. +For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining +number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that +may be useful to the player. ## What is the goal of Stardew Valley? -The player can choose from a number of goals, using their YAML settings. +The player can choose from a number of goals, using their YAML options. - Complete the [Community Center](https://stardewvalleywiki.com/Bundles) - Succeed [Grandpa's Evaluation](https://stardewvalleywiki.com/Grandpa) with 4 lit candles - Reach the bottom of the [Pelican Town Mineshaft](https://stardewvalleywiki.com/The_Mines) -- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on floor 100 of the Skull Cavern +- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on +floor 100 of the Skull Cavern - Become a [Master Angler](https://stardewvalleywiki.com/Fish), which requires catching every fish in your slot -- Restore [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and minerals to the museum +- Restore [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and +minerals to the museum - Get the achievement [Full House](https://stardewvalleywiki.com/Children), which requires getting married and having two kids -- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires finding all 130 golden walnuts on ginger island -- Become the [Protector of the Valley](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals) by completing all the monster slayer goals at the Adventure Guild +- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires +finding all 130 golden walnuts on ginger island +- Become the [Protector of the Valley](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals) by +completing all the monster slayer goals at the Adventure Guild - Complete a [Full Shipment](https://stardewvalleywiki.com/Shipping#Collection) by shipping every item in your slot - Become a [Gourmet Chef](https://stardewvalleywiki.com/Cooking) by cooking every recipe in your slot - Become a [Craft Master](https://stardewvalleywiki.com/Crafting) by crafting every item @@ -31,7 +38,9 @@ The player can choose from a number of goals, using their YAML settings. - Finish 100% of your randomizer slot with Allsanity: Complete every check in your slot - Achieve [Perfection](https://stardewvalleywiki.com/Perfection) in your save file -The following goals [Community Center, Master Angler, Protector of the Valley, Full Shipment and Gourmet Chef] will adapt to other settings in your slots, and are therefore customizable in duration and difficulty. For example, if you set "Fishsanity" to "Exclude Legendaries", and pick the Master Angler goal, you will not need to catch the legendaries to complete the goal. +The following goals [Community Center, Master Angler, Protector of the Valley, Full Shipment and Gourmet Chef] will adapt +to other options in your slots, and are therefore customizable in duration and difficulty. For example, if you set "Fishsanity" +to "Exclude Legendaries", and pick the Master Angler goal, you will not need to catch the legendaries to complete the goal. ## What are location checks in Stardew Valley? @@ -39,7 +48,9 @@ Location checks in Stardew Valley always include: - [Community Center Bundles](https://stardewvalleywiki.com/Bundles) - [Mineshaft Chest Rewards](https://stardewvalleywiki.com/The_Mines#Remixed_Rewards) - [Traveling Merchant Items](https://stardewvalleywiki.com/Traveling_Cart) -- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), [Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), [Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc +- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), +[Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), +[Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc There also are a number of location checks that are optional, and individual players choose to include them or not in their shuffling: - [Tools and Fishing Rod Upgrades](https://stardewvalleywiki.com/Tools) @@ -51,7 +62,8 @@ There also are a number of location checks that are optional, and individual pla - [Story Quests](https://stardewvalleywiki.com/Quests#List_of_Story_Quests) - [Help Wanted Quests](https://stardewvalleywiki.com/Quests#Help_Wanted_Quests) - Participating in [Festivals](https://stardewvalleywiki.com/Festivals) -- [Special Orders](https://stardewvalleywiki.com/Quests#List_of_Special_Orders) from the town board, or from [Mr Qi](https://stardewvalleywiki.com/Quests#List_of_Mr._Qi.27s_Special_Orders) +- [Special Orders](https://stardewvalleywiki.com/Quests#List_of_Special_Orders) from the town board, or from +[Mr Qi](https://stardewvalleywiki.com/Quests#List_of_Mr._Qi.27s_Special_Orders) - [Cropsanity](https://stardewvalleywiki.com/Crops): Growing and Harvesting individual crop types - [Fishsanity](https://stardewvalleywiki.com/Fish): Catching individual fish - [Museumsanity](https://stardewvalleywiki.com/Museum): Donating individual items, or reaching milestones for museum donations @@ -67,16 +79,21 @@ There also are a number of location checks that are optional, and individual pla Every normal reward from the above locations can be in another player's world. For the locations which do not include a normal reward, Resource Packs and traps are instead added to the pool. Traps are optional. -A player can enable some settings that will add some items to the pool that are relevant to progression +A player can enable some options that will add some items to the pool that are relevant to progression - Seasons Randomizer: * All 4 seasons will be items, and one of them will be selected randomly and be added to the player's start inventory. - * At the end of each month, the player can choose the next season, instead of following the vanilla season order. On Seasons Randomizer, they can only choose from the seasons they have received. + * At the end of each month, the player can choose the next season, instead of following the vanilla season order. On +Seasons Randomizer, they can only choose from the seasons they have received. - Cropsanity: - * Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received as multiworld items. Growing each seed and harvesting the resulting crop sends a location check - * The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells unlimited seeds but in huge discount packs, not individually. + * Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received + as multiworld items. Growing each seed and harvesting the resulting crop sends a location check + * The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells + unlimited seeds but in huge discount packs, not individually. - Museumsanity: - * The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the magic rock candy, are duplicated for convenience. - * The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. She will sell these items as the player receives "Traveling Merchant Metal Detector" items. + * The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the + magic rock candy, are duplicated for convenience. + * The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. + She will sell these items as the player receives "Traveling Merchant Metal Detector" items. - TV Channels - Babies * Only if Friendsanity is enabled @@ -96,18 +113,22 @@ And lastly, some Archipelago-exclusive items exist in the pool, which are design ## When the player receives an item, what happens? -Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where it was found. -If an item is received while offline, it will be in the mailbox as soon as the player logs in. +Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received +while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where +it was found. If an item is received while offline, it will be in the mailbox as soon as the player logs in. -Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter only serves to tell the player about it. +Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter +only serves to tell the player about it. -In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the building that they have received, so they can choose its position. This construction will be completely free. +In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the +building that they have received, so they can choose its position. This construction will be completely free. ## Mods Some Stardew Valley mods unrelated to Archipelago are officially "supported". -This means that, for these specific mods, if you decide to include them in your yaml settings, the multiworld will be generated with the assumption that you will install and play with these mods. -The multiworld will contain related items and locations for these mods, the specifics will vary from mod to mod +This means that, for these specific mods, if you decide to include them in your yaml options, the multiworld will be generated +with the assumption that you will install and play with these mods. The multiworld will contain related items and locations +for these mods, the specifics will vary from mod to mod [Supported Mods Documentation](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) @@ -141,10 +162,12 @@ List of supported mods: * [Custom NPC - Riley](https://www.nexusmods.com/stardewvalley/mods/5811) * [Alecto the Witch](https://www.nexusmods.com/stardewvalley/mods/10671) -Some of these mods might need a patch mod to tie the randomizer with the mod. These can be found [here](https://github.com/Witchybun/SDV-Randomizer-Content-Patcher/releases) +Some of these mods might need a patch mod to tie the randomizer with the mod. These can be found +[here](https://github.com/Witchybun/SDV-Randomizer-Content-Patcher/releases) ## Multiplayer You cannot play an Archipelago Slot in multiplayer at the moment. There are no short-term plans to support that feature. -You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. +You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game +Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. diff --git a/worlds/stardew_valley/docs/setup_en.md b/worlds/stardew_valley/docs/setup_en.md index 6f292b8d553..3b51622d8d0 100644 --- a/worlds/stardew_valley/docs/setup_en.md +++ b/worlds/stardew_valley/docs/setup_en.md @@ -1,173 +1,97 @@ -# Stardew Valley - -## Where is the options page? - -The [player options page for this game](../player-options) contains all the options you need to configure and export a -config file. - -## What does randomization do to this game? - -A vast number of objectives in Stardew Valley can be shuffled around the multiworld. Most of these are optional, and the -player can customize their experience in their YAML file. - -For these objectives, if they have a vanilla reward, this reward will instead be an item in the multiworld. For the remaining -number of such objectives, there are a number of "Resource Pack" items, which are simply an item or a stack of items that -may be useful to the player. - -## What is the goal of Stardew Valley? - -The player can choose from a number of goals, using their YAML options. -- Complete the [Community Center](https://stardewvalleywiki.com/Bundles) -- Succeed [Grandpa's Evaluation](https://stardewvalleywiki.com/Grandpa) with 4 lit candles -- Reach the bottom of the [Pelican Town Mineshaft](https://stardewvalleywiki.com/The_Mines) -- Complete the [Cryptic Note](https://stardewvalleywiki.com/Secret_Notes#Secret_Note_.2310) quest, by meeting Mr Qi on -floor 100 of the Skull Cavern -- Become a [Master Angler](https://stardewvalleywiki.com/Fish), which requires catching every fish in your slot -- Restore [A Complete Collection](https://stardewvalleywiki.com/Museum), which requires donating all the artifacts and -minerals to the museum -- Get the achievement [Full House](https://stardewvalleywiki.com/Children), which requires getting married and having two kids -- Get recognized as the [Greatest Walnut Hunter](https://stardewvalleywiki.com/Golden_Walnut) by Mr Qi, which requires -finding all 130 golden walnuts on ginger island -- Become the [Protector of the Valley](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals) by -completing all the monster slayer goals at the Adventure Guild -- Complete a [Full Shipment](https://stardewvalleywiki.com/Shipping#Collection) by shipping every item in your slot -- Become a [Gourmet Chef](https://stardewvalleywiki.com/Cooking) by cooking every recipe in your slot -- Become a [Craft Master](https://stardewvalleywiki.com/Crafting) by crafting every item -- Earn the title of [Legend](https://stardewvalleywiki.com/Gold) by earning 10 000 000g -- Solve the [Mystery of the Stardrops](https://stardewvalleywiki.com/Stardrop) by finding every stardrop -- Finish 100% of your randomizer slot with Allsanity: Complete every check in your slot -- Achieve [Perfection](https://stardewvalleywiki.com/Perfection) in your save file - -The following goals [Community Center, Master Angler, Protector of the Valley, Full Shipment and Gourmet Chef] will adapt -to other options in your slots, and are therefore customizable in duration and difficulty. For example, if you set "Fishsanity" -to "Exclude Legendaries", and pick the Master Angler goal, you will not need to catch the legendaries to complete the goal. - -## What are location checks in Stardew Valley? - -Location checks in Stardew Valley always include: -- [Community Center Bundles](https://stardewvalleywiki.com/Bundles) -- [Mineshaft Chest Rewards](https://stardewvalleywiki.com/The_Mines#Remixed_Rewards) -- [Traveling Merchant Items](https://stardewvalleywiki.com/Traveling_Cart) -- Isolated objectives such as the [beach bridge](https://stardewvalleywiki.com/The_Beach#Tide_Pools), -[Old Master Cannoli](https://stardewvalleywiki.com/Secret_Woods#Old_Master_Cannoli), -[Grim Reaper Statue](https://stardewvalleywiki.com/Golden_Scythe), etc - -There also are a number of location checks that are optional, and individual players choose to include them or not in their shuffling: -- [Tools and Fishing Rod Upgrades](https://stardewvalleywiki.com/Tools) -- [Carpenter Buildings](https://stardewvalleywiki.com/Carpenter%27s_Shop#Farm_Buildings) -- [Backpack Upgrades](https://stardewvalleywiki.com/Tools#Other_Tools) -- [Mine Elevator Levels](https://stardewvalleywiki.com/The_Mines#Staircases) -- [Skill Levels](https://stardewvalleywiki.com/Skills) -- Arcade Machines -- [Story Quests](https://stardewvalleywiki.com/Quests#List_of_Story_Quests) -- [Help Wanted Quests](https://stardewvalleywiki.com/Quests#Help_Wanted_Quests) -- Participating in [Festivals](https://stardewvalleywiki.com/Festivals) -- [Special Orders](https://stardewvalleywiki.com/Quests#List_of_Special_Orders) from the town board, or from -[Mr Qi](https://stardewvalleywiki.com/Quests#List_of_Mr._Qi.27s_Special_Orders) -- [Cropsanity](https://stardewvalleywiki.com/Crops): Growing and Harvesting individual crop types -- [Fishsanity](https://stardewvalleywiki.com/Fish): Catching individual fish -- [Museumsanity](https://stardewvalleywiki.com/Museum): Donating individual items, or reaching milestones for museum donations -- [Friendsanity](https://stardewvalleywiki.com/Friendship): Reaching specific friendship levels with NPCs -- [Monstersanity](https://stardewvalleywiki.com/Adventurer%27s_Guild#Monster_Eradication_Goals): Completing monster slayer goals -- [Cooksanity](https://stardewvalleywiki.com/Cooking): Cooking individual recipes -- [Chefsanity](https://stardewvalleywiki.com/Cooking#Recipes): Learning cooking recipes -- [Craftsanity](https://stardewvalleywiki.com/Crafting): Crafting individual items -- [Shipsanity](https://stardewvalleywiki.com/Shipping): Shipping individual items - -## Which items can be in another player's world? - -Every normal reward from the above locations can be in another player's world. -For the locations which do not include a normal reward, Resource Packs and traps are instead added to the pool. Traps are optional. - -A player can enable some options that will add some items to the pool that are relevant to progression -- Seasons Randomizer: - * All 4 seasons will be items, and one of them will be selected randomly and be added to the player's start inventory. - * At the end of each month, the player can choose the next season, instead of following the vanilla season order. On -Seasons Randomizer, they can only choose from the seasons they have received. -- Cropsanity: - * Every single seed in the game starts off locked and cannot be purchased from any merchant. Their unlocks are received - as multiworld items. Growing each seed and harvesting the resulting crop sends a location check - * The way merchants sell seeds is considerably changed. Pierre sells fewer seeds at a high price, while Joja sells - unlimited seeds but in huge discount packs, not individually. -- Museumsanity: - * The items that are normally obtained from museum donation milestones are added to the item pool. Some items, like the - magic rock candy, are duplicated for convenience. - * The Traveling Merchant now sells artifacts and minerals, with a bias towards undonated ones, to mitigate randomness. - She will sell these items as the player receives "Traveling Merchant Metal Detector" items. -- TV Channels -- Babies - * Only if Friendsanity is enabled - -There are a few extra vanilla items, which are added to the pool for convenience, but do not have a matching location. These include -- [Wizard Buildings](https://stardewvalleywiki.com/Wizard%27s_Tower#Buildings) -- [Return Scepter](https://stardewvalleywiki.com/Return_Scepter) -- [Qi Walnut Room QoL items](https://stardewvalleywiki.com/Qi%27s_Walnut_Room#Stock) - -And lastly, some Archipelago-exclusive items exist in the pool, which are designed around game balance and QoL. These include: -- Arcade Machine buffs (Only if the arcade machines are randomized) - - Journey of the Prairie King has drop rate increases, extra lives, and equipment - - Junimo Kart has extra lives. -- Permanent Movement Speed Bonuses (customizable) -- Permanent Luck Bonuses (customizable) -- Traveling Merchant buffs - -## When the player receives an item, what happens? - -Since Pelican Town is a remote area, it takes one business day for every item to reach the player. If an item is received -while online, it will appear in the player's mailbox the next morning, with a message from the sender telling them where -it was found. If an item is received while offline, it will be in the mailbox as soon as the player logs in. - -Some items will be directly attached to the letter, while some others will instead be a world-wide unlock, and the letter -only serves to tell the player about it. - -In some cases, like receiving Carpenter and Wizard buildings, the player will still need to go ask Robin to construct the -building that they have received, so they can choose its position. This construction will be completely free. - -## Mods - -Some Stardew Valley mods unrelated to Archipelago are officially "supported". -This means that, for these specific mods, if you decide to include them in your yaml options, the multiworld will be generated -with the assumption that you will install and play with these mods. The multiworld will contain related items and locations -for these mods, the specifics will vary from mod to mod - -[Supported Mods Documentation](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) - -List of supported mods: - -- General - * [Stardew Valley Expanded](https://www.nexusmods.com/stardewvalley/mods/3753) - * [DeepWoods](https://www.nexusmods.com/stardewvalley/mods/2571) - * [Skull Cavern Elevator](https://www.nexusmods.com/stardewvalley/mods/963) - * [Bigger Backpack](https://www.nexusmods.com/stardewvalley/mods/1845) - * [Tractor Mod](https://www.nexusmods.com/stardewvalley/mods/1401) - * [Distant Lands - Witch Swamp Overhaul](https://www.nexusmods.com/stardewvalley/mods/18109) -- Skills - * [Magic](https://www.nexusmods.com/stardewvalley/mods/2007) - * [Luck Skill](https://www.nexusmods.com/stardewvalley/mods/521) - * [Socializing Skill](https://www.nexusmods.com/stardewvalley/mods/14142) - * [Archaeology](https://www.nexusmods.com/stardewvalley/mods/15793) - * [Cooking Skill](https://www.nexusmods.com/stardewvalley/mods/522) - * [Binning Skill](https://www.nexusmods.com/stardewvalley/mods/14073) -- NPCs - * [Ayeisha - The Postal Worker (Custom NPC)](https://www.nexusmods.com/stardewvalley/mods/6427) - * [Mister Ginger (cat npc)](https://www.nexusmods.com/stardewvalley/mods/5295) - * [Juna - Roommate NPC](https://www.nexusmods.com/stardewvalley/mods/8606) - * [Professor Jasper Thomas](https://www.nexusmods.com/stardewvalley/mods/5599) - * [Alec Revisited](https://www.nexusmods.com/stardewvalley/mods/10697) - * [Custom NPC - Yoba](https://www.nexusmods.com/stardewvalley/mods/14871) - * [Custom NPC Eugene](https://www.nexusmods.com/stardewvalley/mods/9222) - * ['Prophet' Wellwick](https://www.nexusmods.com/stardewvalley/mods/6462) - * [Shiko - New Custom NPC](https://www.nexusmods.com/stardewvalley/mods/3732) - * [Delores - Custom NPC](https://www.nexusmods.com/stardewvalley/mods/5510) - * [Custom NPC - Riley](https://www.nexusmods.com/stardewvalley/mods/5811) - * [Alecto the Witch](https://www.nexusmods.com/stardewvalley/mods/10671) - -Some of these mods might need a patch mod to tie the randomizer with the mod. These can be found -[here](https://github.com/Witchybun/SDV-Randomizer-Content-Patcher/releases) - -## Multiplayer - -You cannot play an Archipelago Slot in multiplayer at the moment. There are no short-term plans to support that feature. - -You can, however, send Stardew Valley objects as gifts from one Stardew Player to another Stardew player, using in-game -Joja Prime delivery, for a fee. This exclusive feature can be turned off if you don't want to send and receive gifts. +# Stardew Valley Randomizer Setup Guide + +## Required Software + +- Stardew Valley on PC (Recommended: [Steam version](https://store.steampowered.com/app/413150/Stardew_Valley/)) +- SMAPI ([Mod loader for Stardew Valley](https://smapi.io/)) +- [StardewArchipelago Mod Release 5.x.x](https://github.com/agilbert1412/StardewArchipelago/releases) + - It is important to use a mod release of version 5.x.x to play seeds that have been generated here. Later releases + can only be used with later releases of the world generator, that are not hosted on archipelago.gg yet. + +## Optional Software +- Archipelago from the [Archipelago Releases Page](https://github.com/ArchipelagoMW/Archipelago/releases) + * (Only for the TextClient) +- Other Stardew Valley Mods [Nexus Mods](https://www.nexusmods.com/stardewvalley) + * There are [supported mods](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) + that you can add to your yaml to include them with the Archipelago randomization + + * It is **not** recommended to further mod Stardew Valley with unsupported mods, although it is possible to do so. + Mod interactions can be unpredictable, and no support will be offered for related bugs. + * The more unsupported mods you have, and the bigger they are, the more likely things are to break. + +## Configuring your YAML file + +### What is a YAML file and why do I need one? + +See the guide on setting up a basic YAML at the Archipelago setup +guide: [Basic Multiworld Setup Guide](/tutorial/Archipelago/setup/en) + +### Where do I get a YAML file? + +You can customize your options by visiting the [Stardew Valley Player Options Page](/games/Stardew%20Valley/player-options) + +## Joining a MultiWorld Game + +### Installing the mod + +- Install [SMAPI](https://smapi.io/) by following the instructions on their website +- Download and extract the [StardewArchipelago](https://github.com/agilbert1412/StardewArchipelago/releases) mod into +your Stardew Valley "Mods" folder +- *OPTIONAL*: If you want to launch your game through Steam, add the following to your Stardew Valley launch options: + - "[PATH TO STARDEW VALLEY]\Stardew Valley\StardewModdingAPI.exe" %command% +- Otherwise just launch "StardewModdingAPI.exe" in your installation folder directly +- Stardew Valley should launch itself alongside a console which allows you to read mod information and interact with some of them. + +### Connect to the MultiServer + +Launch Stardew Valley with SMAPI. Once you have reached the Stardew Valley title screen, create a new farm. + +On the new character creation page, you will see 3 new fields, used to link your new character to an archipelago multiworld + +![image](https://i.imgur.com/b8KZy2F.png) + +You can customize your farm and character as much as desired. + +The Server text box needs to have both the address and the port, and your slotname is the name specified in your yaml + +`archipelago.gg:38281` + +`StardewPlayer` + +The password is optional. + +Your game will connect automatically to Archipelago, and reconnect automatically when loading the save, later. + +You will never need to enter this information again for this character, unless your room changes its ip or port. +If the room's ip or port **does** change, you can follow these instructions to modify the connection information of your save file +- Launch modded Stardew Valley +- While **on the main menu** of the game, enter the follow command **in the SMAPI console**: +- `connect_override ip:port slot password` +- Example: `connect_override archipelago.gg:38281 StardewPlayer` +- Load your save game. The new connection information will be used, instead of the saved one +- Play a full day, sleep, and save the game. This connection information will overwrite the previous one and become permanent. + +### Interacting with the MultiWorld from in-game + +When you connect, you should see a message in the chat informing you of the `!!help` command. This command will list other +Stardew-exclusive chat commands you can use. + +Furthermore, you can use the in-game chat box to talk to other players in the multiworld, assuming they are using a game +that supports chatting. + +Lastly, you can also run Archipelago commands `!help` from the in game chat box, allowing you to request hints on certain +items, or check missing locations. + +It is important to note that the Stardew Valley chat is fairly limited in its capabilities. For example, it doesn't allow +scrolling up to see history that has been pushed off screen. The SMAPI console running alonside your game will have the +full history as well and may be better suited to read older messages. +For a better chat experience, you can also use the official Archipelago Text Client, altough it will not allow you to run +Stardew-exclusive commands. + +### Playing with supported mods + +See the [Supported mods documentation](https://github.com/agilbert1412/StardewArchipelago/blob/5.x.x/Documentation/Supported%20Mods.md) + +### Multiplayer + +You cannot play an Archipelago Slot in multiplayer at the moment. There are no short-term plans to support that feature. \ No newline at end of file