# 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 YARG Template

game: YARG
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.
  game:
    YARG: 1.1.0 # Version of the world required for this yaml to work as expected.

YARG:
  ################
  # 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

  deathlink:
    # When you die, everyone who enabled
    # death link dies. Of course, the reverse
    # is true too.
    # 
    # One Hit: Leaves you with 1 health in the
    # rock meter, one note away from failing,
    # but you can recover.
    # 
    # Instant: Instant fail on recieving a
    # death link.
    disabled: 50
    one_hit: 0
    instant: 0

  energylink:
    # Adds your score at the end of a song
    # to the Archipelago Energy Link!
    'false': 0
    'true': 50

  ##########################
  # Song Selection Options #
  ##########################
  total_songs:
    # The total amount of songs in the multiworld.
    # 
    # Note: Final song count may be lowered if there are not enough songs
    # in the enabled setlists.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 463
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-463: 0 # random value between 5 and 463

  percent_of_gems_generated:
    # Percent of total YARG Gems generated. Based on a percentage of Total Songs.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    80: 50
    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

  enabled_setlists:
    # Select the setlists you want to play/have downloaded.
    ['YARG Official Setlist']

  excluded_songs:
    # Songs to exclude from the selected setlists.
    # 
    # Excluded songs are formatted as
    # "Song Name" by Artist
    # 
    # Example:
    # "Oh, Krissy Baby!" by WhyLucas
    []

  ######################
  # Instrument Shuffle #
  ######################
  instrument_shuffle:
    # Shuffle selected instruments into
    # the multiworld and require songs to
    # be completed with specific instruments!
    # 
    # Note: Will be automatically disabled
    # if less then 2 of the Shuffle (instrument)
    # options are selected.
    # 
    # Note: The Shuffle (instrument)
    # options will not do anything
    # when this option is disabled.
    # 
    # Disclaimer: This option is a bit unstable at the
    # moment. Make sure to include enough songs
    # and setlists to support your instrument choices,
    # otherwise gen will fail with an option error.
    'false': 50
    'true': 0

  shuffle_guitar:
    # Shuffle the 5 fret lead guitar
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_bass:
    # Shuffle the 5 fret bass guitar
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_rhythm:
    # Shuffle the 5 fret rhythm guitar
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_drums:
    # Shuffle the drums
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_keys:
    # Shuffle the 5 fret keys
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_pro_keys:
    # Shuffle the 25 key Pro keys
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_vocals:
    # Shuffle the microphone
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_2_part_harmony:
    # Shuffle the 2 part harmonies
    # into the multiworld.
    'false': 50
    'true': 0

  shuffle_3_part_harmony:
    # Shuffle the 3 part harmonies
    # into the multiworld.
    'false': 50
    'true': 0

  ######################
  # Visibility Options #
  ######################
  goal_song_visibility:
    # Sets when you are able to see your goal song.
    # 
    # Full: You can always see your goal song
    # Song: You only need the song unlock to see your goal song
    # Gems: You only need the amount of required gems to see your goal song
    # Song and Gems: You need both the song unlock and the amount of gems to see your goal song
    # 
    # Note: This does not effect logic at all
    full: 50
    song: 0
    gems: 0
    song_and_gems: 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.
    []
