From 38b98a97d1221448db2d2cecb0c9a86ea04aba28 Mon Sep 17 00:00:00 2001 From: Hussein Farran Date: Mon, 17 Jan 2022 15:37:34 -0500 Subject: [PATCH] Merge from main and reformat tutorials. --- .../archipelago/advanced_settings_en.md | 64 ++++++++++--------- .../assets/tutorial/archipelago/plando_en.md | 11 ++-- .../tutorial/archipelago/triggers_en.md | 34 +++++++--- .../assets/tutorial/timespinner/setup_de.md | 27 +++++--- .../assets/tutorial/timespinner/setup_en.md | 29 ++++++--- 5 files changed, 104 insertions(+), 61 deletions(-) diff --git a/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md b/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md index 7f648e34..8a99f724 100644 --- a/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md +++ b/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md @@ -112,13 +112,13 @@ See the plando guide for more info on plando options. Plando guide: [Archipelago Plando Guide](/tutorial/archipelago/plando/en) * `start_inventory` will give any items defined here to you at the beginning of your game. The format for this must be -the name as it appears in the game files and the amount you would like to start with. For example `Rupees(5): 6` which -will give you 30 rupees. + the name as it appears in the game files and the amount you would like to start with. For example `Rupees(5): 6` which + will give you 30 rupees. * `start_hints` gives you free server hints for the defined item/s at the beginning of the game allowing you to hint for -the location without using any hint points. + the location without using any hint points. * `local_items` will force any items you want to be in your world instead of being in another world. -* `non_local_items` is the inverse of `local_items` forcing any items you want to be in another world and won't be located -in your own. +* `non_local_items` is the inverse of `local_items` forcing any items you want to be in another world and won't be + located in your own. * `start_location_hints` allows you to define a location which you can then hint for to find out what item is located in it to see how important the location is. @@ -131,12 +131,13 @@ Options taking a choice of a number can also use a variety of `random` options t * `random` will choose a number allowed for the setting at random * `random-low` will choose a number allowed for the setting at random, but will be weighted towards lower numbers -* `random-middle` will choose a number allowed for the setting at random, but will be weighted towards the middle of the range +* `random-middle` will choose a number allowed for the setting at random, but will be weighted towards the middle of the + range * `random-high` will choose a number allowed for the setting at random, but will be weighted towards higher numbers * `random-range-#-#` will choose a number at random from between the specified numbers. For example `random-range-40-60` -will choose a number between 40 and 60 + will choose a number between 40 and 60 * `random-range-low-#-#`, `random-range-middle-#-#`, and `random-range-high-#-#` will choose a number at random from the -specified numbers, but with the specified weights + specified numbers, but with the specified weights ### Example @@ -184,34 +185,39 @@ triggers: ``` #### This is a fully functional yaml file that will do all the following things: + * `description` gives us a general overview so if we pull up this file later we can understand the intent. * `name` is `Example Player` and this will be used in the server console when sending and receiving items. * `game` is set to `A Link to the Past` meaning that is what game we will play with this file. * `requires` is set to require release version 0.2.0 or higher. * `accesibility` is set to `none` which will set this seed to beatable only meaning some locations and items may be -completely inaccessible but the seed will still be completable. -* `progression_balancing` is set on meaning we will likely receive important items earlier increasing the chance of having -things to do. -* `A Link to the Past` defines a location for us to nest all the game options we would like to use for our game `A Link to the Past`. -* `smallkey_shuffle` is an option for A Link to the Past which determines how dungeon small keys are shuffled. In this example -we have a 1/2 chance for them to either be placed in their original dungeon and a 1/2 chance for them to be placed anywhere -amongst the multiworld. -* `crystals_needed_for_gt` determines the number of crystals required to enter the Ganon's Tower entrance. In this example -a random number will be chosen from the allowed range for this setting (0 through 7) but will be weighted towards a lower number. -* `crystals_needed_for_ganon` determines the number of crystals required to beat Ganon. In this example a number -between 1 and 7 will be chosen at random, weighted towards a high number. -* `start_inventory` defines an area for us to determine what items we would like to start the seed with. For this example -we have: - * `Pegasus Boots: 1` which gives us 1 copy of the Pegasus Boots - * `Bombs (3)` gives us 2 packs of 3 bombs or 6 total bombs -* `start_hints` gives us a starting hint for the hammer available at the beginning of the multiworld which we can use with no cost. + completely inaccessible but the seed will still be completable. +* `progression_balancing` is set on meaning we will likely receive important items earlier increasing the chance of + having things to do. +* `A Link to the Past` defines a location for us to nest all the game options we would like to use for our + game `A Link to the Past`. +* `smallkey_shuffle` is an option for A Link to the Past which determines how dungeon small keys are shuffled. In this + example we have a 1/2 chance for them to either be placed in their original dungeon and a 1/2 chance for them to be + placed anywhere amongst the multiworld. +* `crystals_needed_for_gt` determines the number of crystals required to enter the Ganon's Tower entrance. In this + example a random number will be chosen from the allowed range for this setting (0 through 7) but will be weighted + towards a lower number. +* `crystals_needed_for_ganon` determines the number of crystals required to beat Ganon. In this example a number between + 1 and 7 will be chosen at random, weighted towards a high number. +* `start_inventory` defines an area for us to determine what items we would like to start the seed with. For this + example we have: + * `Pegasus Boots: 1` which gives us 1 copy of the Pegasus Boots + * `Bombs (3)` gives us 2 packs of 3 bombs or 6 total bombs +* `start_hints` gives us a starting hint for the hammer available at the beginning of the multiworld which we can use + with no cost. * `local_items` forces the `Bombos`, `Ether`, and `Quake` medallions to all be placed within our own world, meaning we -have to find it ourselves. + have to find it ourselves. * `non_local_items` forces the `Moon Pearl` to be placed in someone else's world, meaning we won't be able to find it. -* `start_location_hints` gives us a starting hint for the `Spike Cave` location available at the beginning of the multiworld -that can be used for no cost. +* `start_location_hints` gives us a starting hint for the `Spike Cave` location available at the beginning of the + multiworld that can be used for no cost. * `exclude_locations` forces a not important item to be placed on the `Cave 45` location. * `triggers` allows us to define a trigger such that if our `smallkey_shuffle` option happens to roll the `any_world` -result it will also ensure that `bigkey_shuffle`, `map_shuffle`, and `compass_shuffle` are also forced to the `any_world` -result. + result it will also ensure that `bigkey_shuffle`, `map_shuffle`, and `compass_shuffle` are also forced to + the `any_world` + result. diff --git a/WebHostLib/static/assets/tutorial/archipelago/plando_en.md b/WebHostLib/static/assets/tutorial/archipelago/plando_en.md index c1fde8f2..94c30fae 100644 --- a/WebHostLib/static/assets/tutorial/archipelago/plando_en.md +++ b/WebHostLib/static/assets/tutorial/archipelago/plando_en.md @@ -16,16 +16,19 @@ On the website plando will already be enabled. If you will be generating the gam enabled (opt-in). * To opt-in go to the archipelago installation (default: `C:\ProgramData\Archipelago`), open the host.yaml with a text -editor and find the `plando_options` key. The available plando modules can be enabled by adding them after this such as -`plando_options: bosses, items, texts, connections`. -* If you are not the one doing the generation or even if you are you can add to the `requires` section of your yaml so that it will throw an error if the options that you need to generate properly are not enabled to ensure you will get the results you desire. Only enter in the plando modules that you are using here but it should look like: + editor and find the `plando_options` key. The available plando modules can be enabled by adding them after this such + as + `plando_options: bosses, items, texts, connections`. +* If you are not the one doing the generation or even if you are you can add to the `requires` section of your yaml so + that it will throw an error if the options that you need to generate properly are not enabled to ensure you will get + the results you desire. Only enter in the plando modules that you are using here but it should look like: + ```yaml requires: version: current.version.number plando: bosses, items, texts, connections ``` - ## Item Plando Item plando allows a player to place an item in a specific location or specific locations, place multiple items into a diff --git a/WebHostLib/static/assets/tutorial/archipelago/triggers_en.md b/WebHostLib/static/assets/tutorial/archipelago/triggers_en.md index 7022e5b1..82aa42f2 100644 --- a/WebHostLib/static/assets/tutorial/archipelago/triggers_en.md +++ b/WebHostLib/static/assets/tutorial/archipelago/triggers_en.md @@ -20,20 +20,27 @@ General plando guide: [Archipelago Plando Guide](/tutorial/archipelago/plando/en Link to the Past plando guide: [LttP Plando Guide](/tutorial/zelda3/plando/en) ## Trigger use -Triggers may be defined in either the root or in the relevant game sections. Generally, The best place to do this is the bottom of the yaml for clear organization. -- Triggers comprise the trigger section and then each trigger must have an `option_category`, `option_name`, and -`option_result` from which it will react to and then an `options` section for the definition of what will happen. + +Triggers may be defined in either the root or in the relevant game sections. Generally, The best place to do this is the +bottom of the yaml for clear organization. + +- Triggers comprise the trigger section and then each trigger must have an `option_category`, `option_name`, and + `option_result` from which it will react to and then an `options` section for the definition of what will happen. - `option_category` is the defining section from which the option is defined in. - Example: `A Link to the Past` - - This is the root category the option is located in. If the option you're triggering off of is in root then you would use `null`, otherwise this is the game for which you want this option trigger to activate. + - This is the root category the option is located in. If the option you're triggering off of is in root then you + would use `null`, otherwise this is the game for which you want this option trigger to activate. - `option_name` is the option setting from which the triggered choice is going to react to. - - Example: `shop_item_slots` + - Example: `shop_item_slots` - This can be any option from any category defined in the yaml file in either root or a game section. - `option_result` is the result of this option setting from which you would like to react. - Example: `15` - - Each trigger must be used for exactly one option result. If you would like the same thing to occur with multiple results you would need multiple triggers for this. -- `options` is where you define what will happen when this is detected. This can be something as simple as ensuring another option also gets selected or placing an item in a certain location. It is possible to have multiple things happen in this section. - - Example: + - Each trigger must be used for exactly one option result. If you would like the same thing to occur with multiple + results you would need multiple triggers for this. +- `options` is where you define what will happen when this is detected. This can be something as simple as ensuring + another option also gets selected or placing an item in a certain location. It is possible to have multiple things + happen in this section. + - Example: ```yaml A Link to the Past: start_inventory: @@ -77,11 +84,15 @@ For example: Timespinner: Inverted: true ``` + In this example if your world happens to roll SpecificKeycards then your game will also start in inverted. -It is also possible to use imaginary names in options to trigger specific settings. You can use these made up names in either your main options or to trigger from another trigger. Currently, this is the only way to trigger on "setting 1 AND setting 2". +It is also possible to use imaginary names in options to trigger specific settings. You can use these made up names in +either your main options or to trigger from another trigger. Currently, this is the only way to trigger on "setting 1 +AND setting 2". For example: + ```yaml triggers: - option_category: Secret of Evermore @@ -112,4 +123,7 @@ For example: difficulty: mystery ``` -In this example (thanks to @Black-Sliver) if the `pupdunk` option is rolled then the difficulty values will be rolled again using the new options `normal`, `pupdunk_hard`, and `pupdunk_mystery`, and the exp modifier will be rerolled using new weights for 150 and 200. This allows for two more triggers that will only be used for the new `pupdunk_hard` and `pupdunk_mystery` options so that they will only be triggered on "pupdunk AND hard/mystery". \ No newline at end of file +In this example (thanks to @Black-Sliver) if the `pupdunk` option is rolled then the difficulty values will be rolled +again using the new options `normal`, `pupdunk_hard`, and `pupdunk_mystery`, and the exp modifier will be rerolled using +new weights for 150 and 200. This allows for two more triggers that will only be used for the new `pupdunk_hard` +and `pupdunk_mystery` options so that they will only be triggered on "pupdunk AND hard/mystery". \ No newline at end of file diff --git a/WebHostLib/static/assets/tutorial/timespinner/setup_de.md b/WebHostLib/static/assets/tutorial/timespinner/setup_de.md index 6da550b3..ca430dbc 100644 --- a/WebHostLib/static/assets/tutorial/timespinner/setup_de.md +++ b/WebHostLib/static/assets/tutorial/timespinner/setup_de.md @@ -2,16 +2,21 @@ ## Benötigte Software -- [Timespinner (Steam)](https://store.steampowered.com/app/368620/Timespinner/), [Timespinner (Humble)](https://www.humblebundle.com/store/timespinner) oder [Timespinner (GOG)](https://www.gog.com/game/timespinner) (andere Versionen werden nicht unterstützt) +- [Timespinner (Steam)](https://store.steampowered.com/app/368620/Timespinner/) + , [Timespinner (Humble)](https://www.humblebundle.com/store/timespinner) + oder [Timespinner (GOG)](https://www.gog.com/game/timespinner) (andere Versionen werden nicht unterstützt) - [Timespinner Randomizer](https://github.com/JarnoWesthof/TsRandomizer) ## Wie funktioniert's? -Der Timespinner Randomizer lädt die Timespinner.exe im gleichen Verzeichnis und verändert seine Speicherinformationen um die Randomisierung der Gegenstände zu erlauben +Der Timespinner Randomizer lädt die Timespinner.exe im gleichen Verzeichnis und verändert seine Speicherinformationen um +die Randomisierung der Gegenstände zu erlauben ## Installationsanweisungen -1. Die aktuellsten Dateien des Randomizers findest du ganz oben auf dieser Webseite: [Timespinner Randomizer Releases](https://github.com/JarnoWesthof/TsRandomizer/releases). Lade dir unter 'Assets' die .zip Datei für dein Betriebssystem herunter +1. Die aktuellsten Dateien des Randomizers findest du ganz oben auf dieser + Webseite: [Timespinner Randomizer Releases](https://github.com/JarnoWesthof/TsRandomizer/releases). Lade dir unter ' + Assets' die .zip Datei für dein Betriebssystem herunter 2. Entpacke die .zip Datei im Ordner, in dem das Spiel Timespinner installiert ist ## Den Randomizer starten @@ -23,19 +28,23 @@ Der Timespinner Randomizer lädt die Timespinner.exe im gleichen Verzeichnis und ... im Ordner in dem die Inhalte aus der .zip Datei entpackt wurden Weitere Informationen zum Randomizer findest du hier: [ReadMe](https://github.com/JarnoWesthof/TsRandomizer) - + ## An einer Multiworld teilnehmen 1. Starte den Randomizer wie unter [Den Randomizer starten](#Den-Randomizer-starten) beschrieben 2. Wähle "New Game" 3. Wechsle "<< Select Seed >>" zu "<< Archiplago >>" indem du "links" auf deinem Controller oder der Tastatur drückst -4. Wähle "<< Archipelago >>" um ein neues Menu zu öffnen, wo du deine Logininformationen für Archipelago eingeben kannst - * ANMERKUNG: Die Eingabefelder unterstützen das Einfügen von Informationen mittels 'Ctrl + V' +4. Wähle "<< Archipelago >>" um ein neues Menu zu öffnen, wo du deine Logininformationen für Archipelago eingeben kannst + * ANMERKUNG: Die Eingabefelder unterstützen das Einfügen von Informationen mittels 'Ctrl + V' 5. Wähle "Connect" -6. Wenn alles funktioniert hat, wechselt das Spiel zurück zur Auswahl des Schwierigkeitsgrads und das Spiel startet, sobald du einen davon ausgewählt hast +6. Wenn alles funktioniert hat, wechselt das Spiel zurück zur Auswahl des Schwierigkeitsgrads und das Spiel startet, + sobald du einen davon ausgewählt hast ## Woher bekomme ich eine Konfigurationsdatei? -Die [Player Settings](https://archipelago.gg/games/Timespinner/player-settings) Seite auf der Website erlaubt dir, persönliche Einstellungen zu definieren und diese in eine Konfigurationsdatei zu exportieren + +Die [Player Settings](https://archipelago.gg/games/Timespinner/player-settings) Seite auf der Website erlaubt dir, +persönliche Einstellungen zu definieren und diese in eine Konfigurationsdatei zu exportieren * Die Timespinner Randomizer Option "StinkyMaw" ist in Archipelago Seeds aktuell immer an -* Die Timespinner Randomizer Optionen "ProgressiveVerticalMovement" & "ProgressiveKeycards" werden in Archipelago Seeds aktuell nicht unterstützt +* Die Timespinner Randomizer Optionen "ProgressiveVerticalMovement" & "ProgressiveKeycards" werden in Archipelago Seeds + aktuell nicht unterstützt diff --git a/WebHostLib/static/assets/tutorial/timespinner/setup_en.md b/WebHostLib/static/assets/tutorial/timespinner/setup_en.md index 5188a36b..91c0fd89 100644 --- a/WebHostLib/static/assets/tutorial/timespinner/setup_en.md +++ b/WebHostLib/static/assets/tutorial/timespinner/setup_en.md @@ -2,29 +2,40 @@ ## Required Software -- [Timespinner (Steam)](https://store.steampowered.com/app/368620/Timespinner/), [Timespinner (Humble)](https://www.humblebundle.com/store/timespinner) or [Timespinner (GOG)](https://www.gog.com/game/timespinner) (other versions are not supported) +- [Timespinner (Steam)](https://store.steampowered.com/app/368620/Timespinner/) + , [Timespinner (Humble)](https://www.humblebundle.com/store/timespinner) + or [Timespinner (GOG)](https://www.gog.com/game/timespinner) (other versions are not supported) - [Timespinner Randomizer](https://github.com/JarnoWesthof/TsRandomizer) ## General Concept -The Timespinner Randomizer loads Timespinner.exe from the same folder, and alters its state in memory to allow for randomization of the items +The Timespinner Randomizer loads Timespinner.exe from the same folder, and alters its state in memory to allow for +randomization of the items ## Installation Procedures -Download latest release on [Timespinner Randomizer Releases](https://github.com/JarnoWesthof/TsRandomizer/releases) you can find the .zip files on the releases page. Download the zip for your current platform. Then extract the zip to the folder where your Timespinner game is installed. Then just run TsRandomizer.exe (on Windows) or TsRandomizer.bin.x86_64 (on Linux) or TsRandomizer.bin.osx (on Mac) instead of Timespinner.exe to start the game in randomized mode. For more info see the [ReadMe](https://github.com/JarnoWesthof/TsRandomizer) - +Download latest release on [Timespinner Randomizer Releases](https://github.com/JarnoWesthof/TsRandomizer/releases) you +can find the .zip files on the releases page. Download the zip for your current platform. Then extract the zip to the +folder where your Timespinner game is installed. Then just run TsRandomizer.exe (on Windows) or +TsRandomizer.bin.x86_64 (on Linux) or TsRandomizer.bin.osx (on Mac) instead of Timespinner.exe to start the game in +randomized mode. For more info see the [ReadMe](https://github.com/JarnoWesthof/TsRandomizer) + ## Joining a MultiWorld Game 1. Run TsRandomizer.exe 2. Select "New Game" -3. Switch "<< Select Seed >>" to "<< Archipelago >>" by pressing left on your controller or keyboard +3. Switch "<< Select Seed >>" to "<< Archipelago >>" by pressing left on your controller or keyboard 4. Select "<< Archipelago >>" to open a new menu where you can enter your Archipelago login credentials - * NOTE: the input fields support Ctrl + V pasting of values + * NOTE: the input fields support Ctrl + V pasting of values 5. Select "Connect" -6. If all went well you will be taken back to the difficulty selection menu and the game will start as soon as you select a difficulty +6. If all went well you will be taken back to the difficulty selection menu and the game will start as soon as you + select a difficulty ## Where do I get a config file? -The [Player Settings](https://archipelago.gg/games/Timespinner/player-settings) page on the website allows you to configure your personal settings and export them into a config file + +The [Player Settings](https://archipelago.gg/games/Timespinner/player-settings) page on the website allows you to +configure your personal settings 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 on Archipelago generated seeds +* The Timespinner Randomizer options "ProgressiveVerticalMovement" & "ProgressiveKeycards" are currently not supported + on Archipelago generated seeds