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

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

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

  ################
  # Goal & Pools #
  ################
  goal:
    # The victory condition for your slot.
    # 
    # - good_ending: reach the Good Ending (defeat the End Demon with the Magic Sword
    #   and the Purified Stone, then leave through the front gate).
    # - true_ending: reach the Good Ending after restoring the owner's soul
    #   (requires the 3 Soul Fragments). This is the default.
    # - all_endings: see all 11 endings (the demo ending is excluded).
    good_ending: 0
    true_ending: 50
    all_endings: 0

  keep_vanilla_shears:
    # If enabled, the Shears (secateurs) stay in their VANILLA location - the player hut -
    # instead of being shuffled into the multiworld. Improves early-game accessibility, since
    # cutting grass is the renewable source of income.
    # 
    # Note: with lock_player_hut on (the default), the hut itself is locked, so the vanilla
    # shears still sit behind the Abandoned Key.
    'false': 50
    'true': 0

  exclude_bridge_key:
    # If enabled (default), the Bridge Key stays in its vanilla location instead of
    # being shuffled into the multiworld.
    # 
    # The Bridge Key is THE first key of the game: it opens spawn (the bus stop on the
    # road) into the garden, and the bus blocks every other exit. When it is shuffled
    # (this option off), sphere 1 contains only the "Obtain BridgeKey" check itself
    # (plus the bus gulden if coinsanity is on) - always at least one check, so no
    # special generation handling is needed, but the start is extremely restricted.
    # Turning this off is discouraged for async play without coinsanity.
    'false': 0
    'true': 50

  polaroid_checks:
    # If enabled (default), collecting the world's polaroids sends checks.
    # (Ending polaroids are awarded by the endings themselves and are never shuffled.)
    'false': 0
    'true': 50

  ghost_checks:
    # If enabled (default), calming the 7 ghosts scattered across the world sends checks.
    'false': 0
    'true': 50

  chore_checks:
    # If enabled (default), finishing a maintenance job sends a check: trimming every hedge,
    # cutting all the grass, clearing every molehill, watering every flower and picking up all
    # the litter IN THE START GARDEN, plus trimming the 8 potted plants scattered around the
    # world.
    # 
    # The five garden jobs normally pay 2 gulden each the first time they are completed; with
    # this option on, that money is replaced by five "Golden Gulden" items (worth 2 gulden
    # each) shuffled into the multiworld, so the economy is unchanged - you simply receive the
    # coins instead of earning them on the spot. Trimming the potted plants pays nothing in
    # vanilla, so it adds no coin.
    # 
    # Independent of Coinsanity: these checks exist either way.
    'false': 0
    'true': 50

  coinsanity:
    # If enabled, the 15 placed gulden become checks, and buying things requires
    # receiving "Gulden" items from the multiworld instead of cutting grass for money.
    'false': 50
    'true': 0

  ###################
  # Extras & Tuning #
  ###################
  persistent_shortcuts:
    # If enabled, comfort shortcuts are restored after each run reset: the Bijkeuken
    # shortcut, the hedge cut out of the back yard, the park's hay-bale garden and maze
    # accesses, the bramble burnt between the park and the road, and any lock already
    # opened. Read by the client mod; no logic impact.
    'false': 50
    'true': 0

  lock_player_hut:
    # Enabled by default. The player hut door is locked and requires the Abandoned Key (an
    # orphan key in vanilla: the v0.3 door table shows it unlocks nothing - it most likely
    # opened this very hut originally).
    # 
    # IMPORTANT - what the key really gates: the only usable BED is inside the hut (dump:
    # Hide_PlayerSchuur/interior/bed0; the game's only other bed is in the endgame
    # AtticRoom), so the key also gates SLEEPING, i.e. reaching day 2+. The logic models
    # this via rules.can_advance_days: the Mist ending (day 3), the Bus ending
    # (dayIndex >= 2), the Ferry crossing (day 2) and Calm Ghost #3 (redCar, day 2) all
    # require the key when this option is on [2026-07-27, playtest]. It also gates the
    # vanilla Shears / Toilet Key spots and the Sunday-evening hallway.
    # 
    # The Abandoned Key therefore becomes an early, high-value progression item - especially
    # interesting in multiworld, where it can come from another player's world. Turn this off
    # for a looser run where the hut (and sleeping) is free from the start.
    'false': 0
    'true': 50

  trap_percentage:
    # Percentage of filler items that are replaced by traps.
    #
    # 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

  buff_count:
    # How many copies of each progressive buff (Move Speed / Cutter Range / Cutting
    # Rate) are added to the item pool.
    #
    # 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

  death_link:
    # Death link. Every death ending you meet (any ending except Bus, Picnic and the
    # good/true ending) sends a DeathLink to the multiworld. Receiving a DeathLink shows
    # a nightmare jumpscare and resets your current run (week) - no ending is triggered
    # and no check is granted.
    'false': 50
    'true': 0

  exclude_bad_endings:
    # Enabled by default. Removes the checks of the "bad" endings - the 8 endings that KILL
    # you, i.e. exactly the ones that fire a DeathLink: Mist, SacredFlowers, Drown, Darkness,
    # LongHallway, HedgeMaze, WorldEnd and Dog.
    # 
    # Only Bus, Picnic and the good/true ending keep an ending check, so you are never forced
    # to die - and, under DeathLink, to kill everyone else - just to collect a check. Turn it
    # off to put those 8 checks back in the pool. The endings themselves are still reachable in game, they simply stop
    # being locations.
    # 
    # Ignored when the goal is "all_endings": that goal requires meeting every ending, so
    # removing their checks would make no sense.
    'false': 0
    'true': 50

  mask_items:
    # Hide what every location holds: instead of showing the item it contains, each spot
    # displays an Archipelago model coloured by its class - progression, useful or filler.
    # This covers Grunn's own items too, which is the point of the mode: you can tell how
    # valuable a check is, never what it is.
    # 
    # Traps borrow one of the three models, picked per location and always the same one, so
    # a relaunch never gives them away.
    # 
    # Purely cosmetic: it changes no logic, no item placement, and the pickup message still
    # names what you actually got.
    '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.
    []
