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

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

Nonopelagram:
  ################
  # 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_lives:
    # Number of lives you start each puzzle with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # 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-1-10: 0 # random value between 1 and 10

  starting_coins:
    # Number of coins you start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 50
    5: 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

  starting_hints:
    # Number of row/column hints revealed at the start of each puzzle.
    #
    # 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

  coins_per_bundle:
    # Coins received from each Coin Bundle item.
    # low=5, normal=50 (default), high=100, custom=coins_per_bundle_custom.
    low: 0
    normal: 50
    high: 0
    custom: 0

  coins_per_bundle_custom:
    # Coins received from each Coin Bundle item when coins_per_bundle is 'custom'.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 999
    50: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-999: 0 # random value between 0 and 999

  extra_lives_in_pool:
    # Number of Extra Life items in the item pool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    5: 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

  grid_preset:
    # Preset distribution of puzzles per grid size (the goal is their sum).
    # Choose 'custom' to set each size yourself with the puzzles_* options.
    # easy=10/8/5/2, normal=10/10/10/10, hard=10/15/20/20, evil=0/0/0/66,
    # expedition_33=0/33/33/33 (sizes 5x5/10x10/15x15/20x20).
    easy: 0
    normal: 50
    hard: 0
    evil: 0
    expedition_33: 0
    custom: 0

  puzzles_5x5:
    # Number of 5x5 puzzles toward the goal (only used when grid_preset is custom).
    #
    # 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

  puzzles_10x10:
    # Number of 10x10 puzzles toward the goal (only used when grid_preset is custom).
    #
    # 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

  puzzles_15x15:
    # Number of 15x15 puzzles toward the goal (only used when grid_preset is custom).
    #
    # 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

  puzzles_20x20:
    # Number of 20x20 puzzles toward the goal (only used when grid_preset is custom).
    #
    # 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

  death_link:
    # How Death Link affects you when another linked player dies:
    # off: Death Link is disabled.
    # on: you lose all your lives (and your own death also sends a Death Link).
    # damage: you lose a single heart instead of all your lives.
    'off': 50
    'on': 0
    damage: 0

  auto_x:
    # Automatically place an X on the remaining cells of a completed row/column.
    # Fixed by the YAML for everyone playing this Archipelago game.
    'false': 0
    'true': 50

  grey_completed_hints:
    # Grey out hint numbers once they have been satisfied.
    # Fixed by the YAML for everyone playing this Archipelago game.
    'false': 0
    'true': 50

  unlimited_lives:
    # Play without losing lives on mistakes. When disabled (default), mistakes cost a
    # life and Show Mistakes is forced on.
    'false': 50
    'true': 0

  show_mistakes:
    # Highlight incorrect cells in real-time. This is forced on and locked whenever you
    # play with lives (Unlimited Lives disabled); it is only freely configurable when
    # Unlimited Lives is enabled.
    'false': 0
    'true': 50

  starting_wallet_level:
    # Wallet level you start with (coin capacity). 0 = 49 max coins, 1 = 99,
    # 2 = 999, 3 = 4999, 4 = 9999. Set to 4 to effectively play without a coin cap.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 4
    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-4: 0 # random value between 0 and 4

  wallets_in_pool:
    # Number of progressive Wallet Upgrade items placed in the multiworld pool (0-4).
    # Levels added to the pool are received as multiworld items; their shop slots become
    # multiworld location checks instead of coin purchases.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 4
    4: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-4: 0 # random value between 0 and 4

  hearts_in_pool:
    # Number of Heart Container checks placed in the shop (0-10). Their shop slots become
    # multiworld location checks instead of coin purchases; the max-heart increase arrives as a
    # Heart Container item (a quarter in Zelda Heart Mode, a whole heart otherwise). Requires
    # Offer Heart Containers in Shop, and is ignored under Unlimited Lives.
    #
    # 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

  require_tier_completion:
    # Require completing every puzzle of your current grid size before you can buy the
    # next difficulty in the shop. When disabled, difficulty can be bought with coins alone.
    'false': 0
    'true': 50

  difficulty_cost:
    # Coin cost to increase difficulty in the shop, indexed on the size you reach.
    # free=0; low=30; normal=250; high=500 (flat per step);
    # progressive=99/999/1999 to reach 10x10/15x15/20x20. Held coins are capped by your wallet,
    # so expensive modes require wallet upgrades or generation rejects an unbeatable seed.
    free: 0
    low: 0
    normal: 0
    high: 0
    progressive: 50

  life_restore_on_clear:
    # How many lives are restored when you clear a puzzle (applied on the next puzzle).
    # none=0, one=+1, full=refill to your maximum (default), custom=+life_restore_custom.
    # Ignored when Unlimited Lives is on. Failing a puzzle always refills fully.
    none: 0
    one: 0
    full: 50
    custom: 0

  life_restore_custom:
    # Lives restored on clear when life_restore_on_clear is 'custom'.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 20
    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-20: 0 # random value between 0 and 20

  shop_healing:
    # Offer a 'heal one life' purchase in the shop (up to your maximum).
    # Ignored when Unlimited Lives is on.
    'false': 50
    'true': 0

  healing_cost:
    # Coin cost of one heal in the shop (only when shop_healing is on).
    # free=0, low=10, normal=30 (default), high=100,
    # progressive (10, +10 per heal already bought, capped at 9999), custom=healing_cost_custom.
    free: 0
    low: 0
    normal: 50
    high: 0
    progressive: 0
    custom: 0

  healing_cost_custom:
    # Flat coin cost of one heal when healing_cost is 'custom'.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 9999
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-0-9999: 0 # random value between 0 and 9999

  zelda_heart_mode:
    # Shop heart purchases come as quarter-heart pieces (4 = +1 max heart, Zelda-style)
    # instead of whole hearts. Forming a new heart fully heals you. Damage and healing always
    # use whole hearts. Ignored when Unlimited Lives is on.
    'false': 50
    'true': 0

  shop_hearts:
    # Offer max-heart expansion in the shop (buy a whole heart, or a quarter in Zelda Heart
    # Mode), up to 10 hearts. Ignored when Unlimited Lives is on.
    'false': 50
    'true': 0

  heart_cost:
    # Coin cost per shop heart purchase (one whole heart, or one quarter in Zelda Heart Mode).
    # free=0, low=30, normal=100 (default), high=300,
    # progressive (50, +50 per purchase, capped 9999), custom=heart_cost_custom.
    free: 0
    low: 0
    normal: 50
    high: 0
    progressive: 0
    custom: 0

  heart_cost_custom:
    # Flat coin cost per heart purchase when heart_cost is 'custom'.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 9999
    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-9999: 0 # random value between 0 and 9999

  flawless_checks:
    # Send location checks for clearing puzzles without any mistakes: one per played grid size,
    # one for a 5-in-a-row flawless streak, and one for 10 flawless clears total. Only the checks
    # that are actually reachable for your configured puzzle counts are created.
    'false': 0
    'true': 50

  unique_solution:
    # Force each player's generated puzzles to have a single, no-guess-solvable answer. This only
    # affects local puzzle generation and never changes the item/location pool; players can still
    # toggle it in the client. Off (default) allows puzzles whose clues admit several valid grids.
    'false': 50
    'true': 0

  debug_mode:
    # Show the in-client Debug tab (slot_data simulator and debug tools) for connected players.
    # Off by default; turn on only when you need to debug a seed.
    '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.
    []
