From fc022c98f29b4072cc3f383fbe1303ba54fe9971 Mon Sep 17 00:00:00 2001 From: alwaysintreble Date: Sun, 14 Nov 2021 13:26:30 -0600 Subject: [PATCH] Add example using the various options presented --- .../archipelago/advanced_settings_en.md | 74 ++++++++++++++++++- 1 file changed, 71 insertions(+), 3 deletions(-) diff --git a/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md b/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md index 6b02d6fd..0432efb8 100644 --- a/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md +++ b/WebHostLib/static/assets/tutorial/archipelago/advanced_settings_en.md @@ -8,7 +8,7 @@ On the website when you customize your settings from one of the game player sett YAML with your options. The player settings page also has an option to download a fully filled out yaml containing every option with every available setting for the available options. -## YAML Formatting? +## YAML Formatting YAML files are a format of human-readable markup config files. The basic syntax of a yaml file will have `root` and then different levels of `nested` text that the generator "reads" in order to determine your settings. To nest text, the correct syntax is **two spaces over** from its root option. A YAML file can be edited @@ -75,8 +75,8 @@ that can be rolled by these settings. If a game can be rolled it **must** have a #### Universal Game Options Some options in Archipelago can be used by every game but must still be placed within the relevant game's section. -Currently, these options are `start_inventory`, `start_hints`, `local_items`, `non_local_items`, `start_location_hints`, -and `exclude_locations`. +Currently, these options are `start_inventory`, `start_hints`, `local_items`, `non_local_items`, `start_location_hints`, +`exclude_locations`, and various [plando options](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. @@ -90,3 +90,71 @@ it to see how important the location is. * `exclude_locations` lets you define any locations that you don't want to do and during generation will force a "junk" item which isn't necessary for progression to go in these locations. +### Example + +```yaml + +description: An example using various advanced options +name: Example Player +game: A Link to the Past +requires: + version: 0.2.0 +accessibility: none +progression_balancing: on +A Link to the Past: + smallkey_shuffle: + original_dungeon: 1 + any_world: 1 + start_inventory: + Pegasus Boots: 1 + Bombs (3): 2 + start_hints: + - Hammer + local_items: + - Bombos + - Ether + - Quake + non_local_items: + - Moon Pearl + start_location_hints: + - Spike Cave + exclude_locations: + - Cave 45 +triggers: + - option_category: A Link to the Past + option_name: smallkey_shuffle + option_result: any_world + options: + A Link to the Past: + bigkey_shuffle: any_world + map_shuffle: any_world + compass_shuffle: any_world +``` + +#### 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. +* `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. +* `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. +* `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. \ No newline at end of file