# 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 Q-UP Template

game: Q-UP
requires:
  version: 0.6.7 # Version of Archipelago required for this yaml to work as expected.

Q-UP:
  ################
  # 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

  champ:
    # Choose the champion you want to play as, or randomize this option.
    gambler: 0
    medic: 0
    pro: 0
    troll: 0
    streamer: 0
    whale: 0
    robot: 0
    wizard: 0
    random: 50

  itemPoolHypernodeNum:
    # Hypernodes are unique powerful nodes purchasable in the item shop.
    # In vanilla, they are unlocked by reaching Novice with a champ.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    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-8: 0 # random value between 0 and 8

  goal:
    # Choose which rank must be reached in order to goal.
    # 
    # Novice: Complete the game, which requires 55 rank ups.
    # Fifty: Reach CHEATER 1, which requires 50 rank ups.
    # Anomaly: Reach Act 2, which requires 35 rank ups.
    # Master: Reach Master 1, which requires 25 rank ups.
    novice: 50
    fifty: 0
    anomaly: 0
    master: 0

  #############
  # Item Pool #
  #############
  itemPoolTotalSkillNum:
    # Set the maximum amount of skills you want to find in total.
    # This amount includes the amount of signature and upgradable skills.
    # Defaults to 35, which is the vanilla amount.
    # 
    # To avoid fill errors, the generator may decide to lower this number automatically.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 50
    35: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-50: 0 # random value between 20 and 50

  itemPoolFixedSkillNum:
    # Set the number of fixed, upgradable skills.
    # Defaults to 12, which is the vanilla amount.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 18
    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-18: 0 # random value between 0 and 18

  itemPoolSkillUpgradeNum:
    # Set the number of skill upgrades in the item pool.
    # These are used to upgrade fixed skills.
    # Defaults to 35, which is the vanilla amount.
    # 
    # You can calculate the recommended amount like this:
    # 3 * (number of fixed skills)
    # 
    # To avoid fill errors, the generator may decide to lower this number automatically.
    # 
    # The generator will cap this number at 6 * (number of fixed skills).
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 50
    35: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-50: 0 # random value between 0 and 50

  itemPoolProgressiveCrystalsNum:
    # Crystals are usually a major part of the game's progression,
    # but they also take up a high number of possible locations.
    # 
    # Here you can set a minimum amount of Crystals to be included
    # in the item pool. Crystals can still appear as filler item,
    # regardless of this setting.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 20
    # Maximum value is 50
    35: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-20-50: 0 # random value between 20 and 50

  itemPoolEfficiencyUpgradePoints:
    # This setting increases the amount of upgrade points you receive at once.
    # In turn, it reduces the amount of upgrade points drops in the item pool.
    # For example, when set to 2, it will give twice as many upgrade points at
    # once and reduce the number of upgrade points in the item pool by half (1/2).
    # 
    # To avoid fill errors, it is recommended to set this to at least 2.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 4
    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-4: 0 # random value between 1 and 4

  itemPoolEfficiencyCrystals:
    # This setting increases the amount of crystals you receive at once.
    # In turn, it reduces the amount of crystals drops in the item pool.
    # For example, when set to 2, it will give twice as many crystals at
    # once and reduce the number of crystals in the item pool by half (1/2).
    # 
    # To avoid fill errors, it is recommended to set this to at least 2.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 4
    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-4: 0 # random value between 1 and 4

  #####################
  # Item Distribution #
  #####################
  skillDistMode:
    # Choose how the generator should distribute skills of certain types.
    # 
    # Disabled: Skill type distribution will be entirely random and the settings below will be ignored.
    # Approx: The amount of each skill type will be roughly as you defined below.
    # Exact: You will receive exactly the distribution to defined below.
    disabled: 0
    approx: 50
    exact: 0

  skillDistSignature:
    # Most champion have special skills that can only be used in combination with their gimmick.
    # For example: Luke's Action Junky requires his Tiltmeter gimmick to work.
    # This setting forces some of your skills to be signature skills, making sure your gimmick is not useless.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 50
    25: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-50: 0 # random value between 0 and 50

  skillDistQFlat:
    # Set how many skills should be of type "Flat Q".
    # Higher values = more skills of that type, lower values = fewer skills of that type.
    # Based on the game's default skill distribution, the recommended value is 8.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 15
    8: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-15: 0 # random value between 5 and 15

  skillDistQMult:
    # Set how many skills should be of type "Q Mult".
    # Higher values = more skills of that type, lower values = fewer skills of that type.
    # Based on the game's default skill distribution, the recommended value is 7 or 8.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 15
    7: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-5-15: 0 # random value between 5 and 15

  skillDistTrigger:
    # Set how many skills should be of type "Trigger".
    # Higher values = more skills of that type, lower values = fewer skills of that type.
    # Based on the game's default skill distribution, the recommended value is 10.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 5
    # Maximum value is 15
    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-15: 0 # random value between 5 and 15

  skillDistGold:
    # Set how many skills should be of type "Gold".
    # Higher values = more skills of that type, lower values = fewer skills of that type.
    # Based on the game's default skill distribution, the recommended value is 2.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  skillDistXP:
    # Set how many skills should be of type "XP".
    # Higher values = more skills of that type, lower values = fewer skills of that type.
    # Based on the game's default skill distribution, the recommended value is 2.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    2: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

  skillDistOther:
    # Set how many skills should be of other types not listed above.
    # Higher values = more skills of that type, lower values = fewer skills of that type.
    # Based on the game's default skill distribution, the recommended value is 6.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 15
    6: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-15: 0 # random value between 0 and 15

  ##########
  # Sanity #
  ##########
  sanityNumChallenges:
    # This setting adds special challenges that reward location checks.
    # By default, this will add 4x tier 1 challenges, 3x tier 2 challenges,
    # 2x tier 3 challenges and 1x tier 4 challenge.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 27
    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-27: 0 # random value between 0 and 27

  sanityNumChallengesTier4:
    # Here you can choose the maximum amount of tier 4 challenges to add.
    # Tier 4 challenges only appear if amount of challenge locations is set
    # to at least 10.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 5
    1: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-5: 0 # random value between 0 and 5

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