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

game: Adventure
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.

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

  dragon_slay_check:
    # If true, slaying each dragon for the first time is a check
    'false': 0
    'true': 50

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

  bat_logic:
    # How the bat is considered for logic
    # 
    # With cannot_break, the bat cannot pick up an item that starts out-of-logic until the player touches it
    # With can_break, the bat is free to pick up any items, even if they are out-of-logic
    # With use_logic, the bat can pick up anything just like can_break, and locations are no longer considered to require
    #   the magnet or bridge to collect, since the bat can retrieve these.
    # A future option may allow the bat itself to be placed as an item.
    # 
    # Supported values: cannot_break, can_break, use_logic
    # Default value: can_break
    cannot_break: 0
    can_break: 50
    use_logic: 0

  freeincarnate_max:
    # How many maximum freeincarnate items to allow
    # 
    # When done generating items, any remaining item slots will be filled
    # with freeincarnates, up to this maximum amount.  Any remaining item
    # slots after that will be 'nothing' items placed locally, so in multigame
    # multiworlds, keeping this value high will allow more items from other games
    # into Adventure.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 17
    17: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-17: 0 # random value between 0 and 17

  dragon_rando_type:
    # How to randomize the dragon starting locations
    # 
    # normal: Grundle is in the overworld, Yorgle in the white castle, and Rhindle in the black castle
    # shuffle: A random dragon is placed in the overworld, one in the white castle, and one in the black castle
    # overworldplus: Dragons can be placed anywhere, but at least one will be in the overworld
    # randomized: Dragons can be anywhere except the credits room
    # 
    # 
    # Supported values: normal, shuffle, overworldplus, randomized
    # Default value: shuffle
    normal: 0
    shuffle: 50
    overworldplus: 0
    randomized: 0

  connector_multi_slot:
    # If true, the client and lua connector will add lowest 8 bits of the player slot
    # to the port number used to connect to each other, to simplify connecting multiple local
    # clients to local EmuHawk instances.
    # Set in the yaml, since the connector has to read this out of the rom file before connecting.
    'false': 50
    'true': 0

  yorgle_speed:
    # Sets Yorgle's initial speed.  Yorgle has a speed of 2 in the original game
    # Default value: 2
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  yorgle_min_speed:
    # Sets Yorgle's speed when all speed reducers are found.  Yorgle has a speed of 2 in the original game
    # Default value: 2
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  grundle_speed:
    # Sets Grundle's initial speed.  Grundle has a speed of 2 in the original game
    # Default value: 2
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  grundle_min_speed:
    # Sets Grundle's speed when all speed reducers are found.  Grundle has a speed of 2 in the original game
    # Default value: 2
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  rhindle_speed:
    # Sets Rhindle's initial speed.  Rhindle has a speed of 3 in the original game
    # Default value: 3
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    3: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  rhindle_min_speed:
    # Sets Rhindle's speed when all speed reducers are found.  Rhindle has a speed of 3 in the original game
    # Default value: 2
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 9
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-9: 0 # random value between 1 and 9

  difficulty_switch_a:
    # Set availability of left difficulty switch
    # This controls the speed of the dragons' bite animation
    normal: 0
    locked_hard: 0
    hard_with_unlock_item: 50

  difficulty_switch_b:
    # Set availability of right difficulty switch
    # On hard, dragons will run away from the sword
    normal: 0
    locked_hard: 0
    hard_with_unlock_item: 50

  start_castle:
    # Choose or randomize which castle to start in front of.
    # 
    # This affects both normal start and reincarnation.  Starting
    # at the black castle may give easy dot runs, while starting
    # at the white castle may make them more dangerous!  Also, not
    # starting at the yellow castle can make delivering the chalice
    # with a full inventory slightly less trivial.
    # 
    # This doesn't affect logic since all the castles are reachable
    # from each other.
    yellow: 50
    black: 0
    white: 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.
    []
