# Q. What is this file?
# A. This file contains options which allow you to configure your multiworld experience while allowing
#    others to play how they want as well.
#
# Q. How do I use it?
# A. The options in this file are weighted. This means the higher number you assign to a value, the
#    more chances you have for that option to be chosen. For example, an option like this:
#
#    map_shuffle:
#      on: 5
#      off: 15
#
#    Means you have 5 chances for map shuffle to occur, and 15 chances for map shuffle to be turned
#    off.
#
# Q. I've never seen a file like this before. What characters am I allowed to use?
# A. This is a .yaml file. You are allowed to use most characters.
#    To test if your yaml is valid or not, you can use this website:
#        http://www.yamllint.com/
#    You can also verify that your Archipelago options are valid at this site:
#        https://archipelago.gg/check

# Your name in-game, limited to 16 characters.
#     {player} will be replaced with the player's slot number.
#     {PLAYER} will be replaced with the player's slot number, if that slot number is greater than 1.
#     {number} will be replaced with the counter value of the name.
#     {NUMBER} will be replaced with the counter value of the name, if the counter value is greater than 1.
name: Player{number}

# Used to describe your yaml. Useful if you have multiple files.
description: Default Archipela-Go! Template

game: Archipela-Go!
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

Archipela-Go!:
  ################
  # Game Options #
  ################
  progression_balancing:
    # 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.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-99: 0 # random value between 0 and 99
    disabled: 0 # equivalent to 0
    normal: 50 # equivalent to 50
    extreme: 0 # equivalent to 99

  accessibility:
    # Set rules for reachability of your items/locations.
    # 
    # **Full:** ensure everything can be reached and acquired.
    # 
    # **Minimal:** ensure what is needed to reach your goal can be acquired.
    full: 50
    minimal: 0

  goal:
    # The completion condition for the slot
    # One Hard Travel: Your victory condition will be a trip at maximum distance and maximum speed (chosen from the other settings)
    # Allsanity: Obtain every check
    # Short MacGuffin: The slot will contain items that are the letters for "Ap-Go!". Collecting all 6 is victory
    # Long MacGuffin: The slot will contain items that are the letters for "Archipela-Go!". Collecting all 13 is victory
    one_hard_travel: 0
    allsanity: 0
    short_macguffin: 50
    long_macguffin: 0

  number_of_trips:
    # The number of checks to generate in the world.
    # Most items in this game are flexible, so the more checks you have, the more of each item you will get, but each will be less powerful.
    # If you pick a MacGuffin goal, you need at least enough checks to fit the goal items. If not, they will be placed in your start_inventory
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 1000
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-1000: 0 # random value between 1 and 1000

  minimum_distance:
    # The minimum distance in meters you will be expected to go to for a check.
    # Keep in mind that you might have to travel twice that to come back home afterwards.
    # Even Distance reduction items will not make distances cross this threshold
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 100
    # Maximum value is 5000
    500: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-100-5000: 0 # random value between 100 and 5000
    2k: 0 # equivalent to 2000
    5k: 0 # equivalent to 5000
    10k: 0 # equivalent to 10000
    half_marathon: 0 # equivalent to 21098
    marathon: 0 # equivalent to 42195
    50k: 0 # equivalent to 50000
    50_miler: 0 # equivalent to 80467
    100k: 0 # equivalent to 100000
    100_miler: 0 # equivalent to 160934

  maximum_distance:
    # The maximum distance in meters you will be expected to go to for a check.
    # Keep in mind that you might have to travel twice that to come back home afterwards.
    # Some checks can appear outside of this range at first, but will only be in-logic after distance has been reduced below this threshold
    # The generator does not know in advance about hills in your area, so make sure you consider them in your distance commitment
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1000
    # Maximum value is 50000
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1000-50000: 0 # random value between 1000 and 50000
    2k: 0 # equivalent to 2000
    5k: 50 # equivalent to 5000
    10k: 0 # equivalent to 10000
    half_marathon: 0 # equivalent to 21098
    marathon: 0 # equivalent to 42195
    50k: 0 # equivalent to 50000
    50_miler: 0 # equivalent to 80467
    100k: 0 # equivalent to 100000
    100_miler: 0 # equivalent to 160934

  speed_requirement:
    # [Not currently implemented]
    # Every check will generate a random minimum speed in km/h you must travel at in order to be allowed to get it.
    # This setting will be an upper bound for this speed requirement. The lower bound will scale with the choice as well.
    # If you reach the check too slowly, you will need to go back home and try again.
    # The generator does not know in advance about hills in your area, so make sure you consider them in your speed commitment.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-20: 0 # random value between 0 and 20
    no_speed_requirements: 0 # equivalent to 0
    slow_walk: 0 # equivalent to 2
    fast_walk: 50 # equivalent to 5
    slow_jog: 0 # equivalent to 7
    fast_jog: 0 # equivalent to 9
    slow_run: 0 # equivalent to 10
    fast_run: 0 # equivalent to 14
    sprint: 0 # equivalent to 16
    slow_bicycle: 0 # equivalent to 15
    medium_bicycle: 0 # equivalent to 22
    fast_bicycle: 0 # equivalent to 30

  number_of_locks:
    # This will place "keys" in the item pools, and some checks will start out locked behind a random number of keys
    # If there are not enough checks to hold all the keys you need, this option will be reduced by force
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-10: 0 # random value between 0 and 10
    none: 0 # equivalent to 0

  enable_distance_reductions:
    # [Not currently implemented in the app]
    # Whether some checks will spawn further than the maximum distance, and distance reduction items are in the pool
    'false': 50
    'true': 0

  enable_scouting_distance_bonuses:
    # [Not currently implemented]
    # Whether the item pool can contain permanent bonuses to scouting distance
    'false': 50
    'true': 0

  enable_collection_distance_bonuses:
    # [Not currently implemented]
    # Whether the item pool can contain permanent bonuses to collection distance
    'false': 50
    'true': 0

  trap_rate:
    # What percentage of the remaining item pool should be traps. Some traps may be honor-system based and rely on the player to execute them
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-100: 0 # random value between 0 and 100
    none: 0 # equivalent to 0
    quarter: 0 # equivalent to 25
    half: 50 # equivalent to 50
    all: 0 # equivalent to 100

  death_link:
    # When you die, everyone who enabled death link dies. Of course, the reverse is true too.
    'false': 50
    'true': 0

  ###########################
  # Item & Location Options #
  ###########################
  local_items:
    # Forces these items to be in their native world.
    []

  non_local_items:
    # Forces these items to be outside their native world.
    []

  start_inventory:
    # Start with the specified amount of these items. Example: "Bomb: 1"
    {}

  start_hints:
    # Start with these item's locations prefilled into the ``!hint`` command.
    []

  start_location_hints:
    # Start with these locations and their item prefilled into the ``!hint`` command.
    []

  exclude_locations:
    # Prevent these locations from having an important item.
    []

  priority_locations:
    # Prevent these locations from having an unimportant item.
    []

  item_links:
    # Share part of your item pool with other players.
    []

  plando_items:
    # Generic items plando.
    []
