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

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

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

  #######################
  # Starting Conditions #
  #######################
  starting_letters:
    # How many letters you start the game with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 26
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-26: 0 # random value between 1 and 26

  starting_guesses:
    # How many guesses you start the game with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 6
    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-6: 0 # random value between 1 and 6

  additional_guesses:
    # How many extra guesses are added to the item pool.
    # You can not exceed 6 guesses in play
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    0: 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

  starting_cooldown:
    # How long (in seconds) the new round cooldown is at the start of the game.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 18000
    120: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-18000: 0 # random value between 0 and 18000

  yellow_unlocked:
    # Whether you start with yellow letters unlocked at the start of the game.
    'false': 50
    'true': 0

  unused_letters_unlocked:
    # Whether you start with keyboard letters fading out when discovered not to be in the current word.
    'false': 50
    'true': 0

  shuffle_typing:
    # Whether typing on your physical keyboard mimics the layout of the game keyboard.
    # none: Typing and on screen keyboard are not shuffled.
    # onscreen: On screen keyboard is shuffled, typing remains unshuffled.
    # querty: Typing and on screen keyboard are shuffled as if using a querty keyboard.
    # azerty: Typing and on screen keyboard are shuffled as if using a azerty keyboard.
    # dvorak: Typing and on screen keyboard are shuffled as if using a dvorak keyboard.
    none: 0
    onscreen: 50
    querty: 0
    azerty: 0
    dvorak: 0

  #########
  # Goals #
  #########
  word_checks:
    # How many words you have to get right to hit you goal
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 50
    20: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-50: 0 # random value between 1 and 50

  word_streak_checks:
    # How many words you have to get right in a row to hit you goal
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 50
    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-50: 0 # random value between 1 and 50

  win_condition:
    # What is needed to achieve victory, hitting the target for words, streaks or both.
    words: 50
    streak: 0
    words_and_streak: 0

  ##############
  # Difficulty #
  ##############
  logic_difficulty:
    # How restrictive the logic for checks is.
    # easy: easy to get checks, guesses/vowels/yellow likely early.
    # normal: easier to get checks, but still restrictive in some ways.
    # hard: bare minimum required to achive checks.
    easy: 0
    normal: 50
    hard: 0

  word_weighting:
    # How likely new words fit with the letters you have unlocked.
    #
    # 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

  #############
  # Locations #
  #############
  minimum_point_shop_checks:
    # How many items are present in the point shop.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 50
    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-50: 0 # random value between 1 and 50

  point_shop_check_price:
    # How much AP items cost in the point shop.
    # 0 for a random assortment (multiples of 100).
    # If running a restrictive game, it is recommended to keep this low.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 1000
    300: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-1000: 0 # random value between 0 and 1000

  green_checks:
    # How checks work for green letters in words.
    # none: No checks for getting green letters.
    # best: Checks for 1-5 correct letters in a word.
    # composition: checks for every configuration of green letters.
    # complete: Best and composition combined.
    none: 0
    best: 0
    composition: 0
    complete: 50

  yellow_checks:
    # How checks work for yellow letters in words.
    # none: No checks for getting yellow letters.
    # composition: checks for every configuration of yellow letters.
    none: 0
    composition: 50

  letter_checks:
    # Which letters send checks for sucessfully being used in a word.
    # none: No checks for using letters.
    # vowels: Checks for using vowels.
    # common: Checks for using vowels and common consonants.
    # all: Checks for using all letters.
    none: 0
    vowels: 0
    common: 50
    all: 0

  #########
  # Items #
  #########
  time_reward_count:
    # The number of new round cooldown reduction rewards in the pool.
    # Multiply by time_reward_seconds for total reduction.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 30
    12: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-30: 0 # random value between 0 and 30

  time_reward_seconds:
    # How many seconds each time reward decreases the new round cooldown by.
    # Multiply by time_reward_count for total reduction.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 30
    10: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-30: 0 # random value between 0 and 30

  extra_time_reward_percent:
    # What percentage of filler items will be replaced with an extra cooldown reduction.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 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

  shop_points_item_reward_percent:
    # What percentage of filler items will be replaced with Shop Points.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    20: 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

  shop_points_item_size:
    # How many Shop Points are awarded with Shop Point filler items.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 1000
    100: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-1000: 0 # random value between 0 and 1000

  shop_points_item_default_filler:
    # Whether the default filler item is point shop points, extra fillers are Suggestions otherwise.
    'false': 50
    'true': 0

  #########
  # Traps #
  #########
  bad_guess_trap_percent:
    # What percentage of filler items will be replaced with Bad Guess traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    0: 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

  random_guess_trap_percent:
    # What percentage of filler items will be replaced with Random Guess traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    10: 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

  extra_cooldown_trap_percent:
    # What percentage of filler items will be replaced with Extra Cooldown traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    10: 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

  extra_cooldown_trap_size:
    # How many second are added with the extra cooldown traps.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 300
    15: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-300: 0 # random value between 0 and 300

  ###########################
  # 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_inventory_from_pool:
    # Start with the specified amount of these items and don't place them in the world. Example: "Bomb: 1"
    # 
    # The game decides what the replacement items will be.
    {}

  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.
    []
