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

game: EarthBound
requires:
  version: 0.6.6 # Version of Archipelago required for this yaml to work as expected.
  game:
    EarthBound: 4.3.1 # Version of the world required for this yaml to work as expected.

EarthBound:
  ################
  # 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 Settings #
  #################
  giygas_required:
    # If enabled, your goal will be to defeat Giygas at the Cave of the Past.
    # If disabled, your goal will either complete automatically upon completing
    # enough Sanctuaries, or completing Magicant if it is required.
    'false': 0
    'true': 50

  sanctuaries_required:
    # How many of the eight "Your Sanctuary" locations are required to be cleared.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 8
    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-8: 0 # random value between 1 and 8

  alternate_sanctuary_goal:
    # If enabled, you will be able to win by completing 2 more Sanctuaries than are required.
    # Does nothing if 7 or more Sanctuaries are required, or if Magicant and Giygas are not required.
    'false': 50
    'true': 0

  #################
  # Item Settings #
  #################
  local_teleports:
    # Forces all teleports and Poo PSI to be placed locally in your world.
    'false': 50
    'true': 0

  character_shuffle:
    # Shuffled: Characters will be shuffled amongst Character Locations. Extra locations will have Flying Man, a Teddy Bear, or a Super Plush Bear.
    # Anywhere: Characters can be found anywhere in the multiworld, and character locations will have regular checks.
    # See the Game Page for more information on Character Locations.
    shuffled: 50
    anywhere: 0

  progressive_weapons:
    # If enabled, Bats, Fry Pans, and Guns will be progressive. Does not apply to items dropped by enemies or found in shops.
    'false': 50
    'true': 0

  progressive_armor:
    # If enabled, Bracelets and items for the Other slot besides Ribbons will be progressive. Does not apply to items dropped by enemies or found in shops.
    'false': 50
    'true': 0

  randomize_franklinbadge_protection:
    # If enabled, the Franklin Badge will reflect a randomly selected attack type. The type can be determined from the item's name, as well as the help
    # text for it. The badge's function outside of battle will not change, and neither will its name outside of the game itself.
    'false': 50
    'true': 0

  common_filler_weight:
    # Weight for placing a common filler item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    80: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  uncommon_filler_weight:
    # Weight for placing an uncommon filler item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    30: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-100: 0 # random value between 1 and 100

  rare_filler_weight:
    # Weight for placing a rare filler item.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 100
    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-100: 0 # random value between 0 and 100

  money_weight:
    # Weight for placing money in the item pool.
    #
    # 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

  prefixed_items:
    # If enabled, broken items in the multiworld pool will be replaced with their fixed versions.
    # This does not affect any items that are not placed by the multiworld.
    'false': 50
    'true': 0

  total_photos:
    # How many Photograph traps are placed in the item pool.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 32
    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-32: 0 # random value between 0 and 32

  ###############
  # Equipamizer #
  ###############
  armorizer:
    # All equippable armor will have randomly generated attributes. This includes who can equip it, elemental resistance (and how strong that resistance is),
    # defense, and the secondary stat it increases (Either Luck or Speed, depending on armor slot.) Choosing "Help!" from the Goods menu will give you exact details
    # on that piece of equipment.
    # Keep Type: Equipment will keep its original equipment slot. If Progressive Armor is enabled, you will get armor with progressively higher defense. 
    # Chaos: Equipment will have a randomly selected slot. It will try to respect the defense progressively, but the type may not match the type received.
    'off': 50
    keep_type: 0
    chaos: 0

  weaponizer:
    # All weapons will have randomly generated attributes. This includes offense, guts boost, and miss rate.
    # Keep Type: Equipment will keep the character that was originally able to use it. If Progressive Weapons is enabled, you will get weapons with progressively higher offense.
    # Chaos: Equipment will be able to be equipped by a randomly selected character. It will try to respect the offense progresively, but the type may not match the type recieved.
    # The Tee Ball Bat will always be a weapon for Ness.
    'off': 50
    keep_type: 0
    chaos: 0

  armorizer_resistance_chance:
    # Percent chance for any given Body/Other equipment to have elemental protection.
    # Affects Armorizer only.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 50
    15: 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

  equipamizer_cap_stats:
    # If enabled, the highest value that Equipamizer can roll for a piece of equipment's
    # main stat will be capped. 80 for armor, 125 for weapons.
    # If disabled, the main stat can potentially roll up to 128.
    'false': 0
    'true': 50

  ###############
  # World Modes #
  ###############
  random_start_location:
    # If disabled, you will always start at Ness's house with no teleports unlocked.
    # If enabled, you will start at a random teleport destination with one teleport unlocked.
    # Additionally, you will need to fight Captain Strong to access the north part of Onett if this is enabled.
    'false': 50
    'true': 0

  magicant_mode:
    # PSI Location: You will be able to find a Magicant teleport item. Ness's Nightmare contains a PSI location, and no stat boost.
    # Required: You will unlock the Magicant Teleport upon reaching your Sanctuary goal. If Giygas is required, beating Ness's Nightmare will unlock the Cave of the Past and grant a party-wide stat boost. Otherwise, Ness's Nightmare will finish your game.
    # Alternate Goal: You will unlock the Magicant Teleport upon reaching one more Sanctuary than required. Beating Ness's Nightmare will finish your game. Does nothing if Giygas is not required, or if 8 Sanctuaries are required. Magicant locations are removed from the multiworld, but contain random junk for yourself.
    # Optional Boost: You will be able to find a Magicant teleport item. Beating Ness's Nightmare will grant a party-wide stat boost. Magicant locations are removed from the multiworld, but contain random junk for yourself.
    # Removed: Magicant will be completely inacessible.
    psi_location: 50
    required: 0
    alternate_goal: 0
    optional_boost: 0
    removed: 0

  monkey_caves_mode:
    # Chests: Items required to finish the Monkey Caves will be forcibly placed on the chests that can be found in-between rooms of the monkey caves. The "reward" locations, usually found at the end of a branch, are still random. If you waste chest items, they will need to be replaced via the methods in hunt mode.
    # Hunt: Items required to finish the Monkey Caves will needsell you every minor item needed to be found outside. They can be obtained from the Dusty Dunes drugstore, the Fourside department store, and the pizza shop in either Twoson or Threed.
    # Shop: The monkey outside the Monkey Caves will sell every item needed to complete the caves and is not affected by shop randomization.
    # Solved: The Monkey Caves monkeys will already be moved out of the way and not require any items.
    chests: 0
    hunt: 50
    shop: 0
    solved: 0

  no_free_sanctuaries:
    # If enabled, the entrance to Lilliput Steps and Fire Spring will be locked and require extra key items to access.
    # These items are the Tiny Key and Tenda Lavapants, respectively.
    'false': 50
    'true': 0

  starting_character:
    # Sets which character you start as. Each character will always start with the ability to teleport,
    # and the ATM card. Ness will not be required to fight Sanctuary bosses.
    ness: 50
    paula: 0
    jeff: 0
    poo: 0

  #####################
  # PSI Randomization #
  #####################
  psi_shuffle:
    # None: Characters will learn their normal PSI skills.
    # Basic: Offensive and Assist PSI will be shuffled. Recovery PSI is not modified. Ness's Favorite Thing will be named Wave in other slots.
    # Extended: Basic shuffle, but includes Jeff gadgets and some combat items.
    # See the Game Page for more information.
    none: 50
    basic: 0
    extended: 0

  allow_flash_as_favorite_thing:
    # If enabled, allows PSI Flash to be shuffled onto the Favorite Thing PSI slot. Can be quite annoying early-game. 
    # Does nothing if PSI Shuffle is set to None.
    'false': 50
    'true': 0

  #######################
  # Enemy Randomization #
  #######################
  enemy_shuffle:
    # Shuffles Non-boss enemies amongst each other.
    'false': 50
    'true': 0

  boss_shuffle:
    # Shuffles boss encounters amongst each other.
    'false': 50
    'true': 0

  safe_final_boss:
    # Prevents specific difficult bosses from being randomized onto Heavily Armed Pokey's boss slot.
    # Only affects Boss Shuffle, and does not affect Phase 2 Giygas if Boss Shuffle Add Giygas is enabled.
    'false': 0
    'true': 50

  decouple_diamond_dog:
    # Shuffles Diamond Dog as a boss separate from Carbon Dog. Carbon Dog will transform into a random boss.
    # Does nothing if Boss Shuffle is disabled.
    'false': 50
    'true': 0

  boss_shuffle_add_giygas:
    # Adds the standalone Giygas fight to the shuffled boss pool.
    # This only applies to the second phase Giygas. The prayer fight is not affected.
    # Does nothing if Boss Shuffle is disabled.
    'false': 50
    'true': 0

  experience_modifier:
    # Percentage of EXP enemies give you. 100 is vanilla, after scaling, and 300 is x3.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 100
    # Maximum value is 300
    150: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-100-300: 0 # random value between 100 and 300

  shuffle_enemy_drops:
    # If enabled, enemies will drop random filler items. This does not put checks on enemy drops.
    # Drop rates are unchanged.
    'false': 50
    'true': 0

  money_drop_multiplier:
    # Multiplies money dropped by enemies by the chosen value.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    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-100: 0 # random value between 1 and 100

  ############
  # Enemizer #
  ############
  randomize_enemy_attributes:
    # Randomizes most attributes of non-boss enemies.
    'false': 50
    'true': 0

  randomize_enemy_attacks:
    # Randomizes attacks of non-boss enemies.
    'false': 50
    'true': 0

  randomize_enemy_stats:
    # Randomizes base stats and level of non-boss enemies.
    'false': 50
    'true': 0

  ######################
  # Shop Randomization #
  ######################
  shop_randomizer:
    # Randomizes items in shops.
    # Local Filler: Shops contain only random items for yourself and are not checks.
    # Shopsanity. Every shop slot in the game contains a Multiworld location. ONLY ENABLE SHOPSANITY IF YOU KNOW WHAT YOU ARE DOING.
    'off': 50
    local_filler: 0
    shopsanity: 0

  scout_shop_checks:
    # Scouts Shop checks when you open a shop. Only affects shops in Shopsanity mode.
    'off': 0
    progression_only: 50
    all: 0

  ##########################
  # Entrance Randomization #
  ##########################
  dungeon_shuffle:
    # Shuffles Dungeon entrances amongst each other.
    'false': 50
    'true': 0

  ########################
  # Convenience Settings #
  ########################
  skip_prayer_sequences:
    # If enabled, the Prayer cutscenes while fighting Giygas will be skipped, excluding the final one.
    'false': 0
    'true': 50

  easy_deaths:
    # Fully revives and heals all party members after death. If off, only Ness will be healed with 0 PP.
    'false': 0
    'true': 50

  starting_money:
    # How much money you start with.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 99999
    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-99999: 0 # random value between 0 and 99999

  remote_items:
    # If enabled, you will receive your own items from the server upon collecting them, rather than locally.
    # This allows co-op within the same game, and protects against loss of save data.
    # However, you will not be able to play offline if this is enabled.
    'false': 50
    'true': 0

  auto_scale_party_members:
    # If enabled, joining party members will be scaled to roughly the level of the sphere they were obtained in.
    'false': 50
    'true': 0

  skip_epilogue:
    # If enabled, the choice to play the epilogue after beating Giygas will be removed, and you will
    # go directly to the credits. This option is mainly for no-release seeds where checks could be
    # potentially spoiled in the open-access epilogue.
    'false': 50
    'true': 0

  easy_combat:
    # Automatically halves all scaled enemy levels.
    'false': 50
    'true': 0

  ######################
  # Aesthetic Settings #
  ######################
  random_flavors:
    # Randomizes the non-plain window color options.
    'false': 0
    'true': 50

  random_swirl_colors:
    # Generates random colors for pre-battle swirls.
    'false': 50
    'true': 0

  random_battle_backgrounds:
    # Generates random battle backgrounds.
    'false': 50
    'true': 0

  map_palette_shuffle:
    # Randomizes map colors.
    # Normal: Uses normal colors
    # Nice: Uses generally good looking palettes for maps with little artifacting.
    # Ugly: Allows map palettes with artifacting or colors that may not look good.
    # Nonsense: Allows really bad palettes or heavy artifacting.
    normal: 50
    nice: 0
    ugly: 0
    nonsense: 0

  presents_match_contents:
    # If enabled, Presents, Trash cans, and chests will have their appearance modified to be indicative of the item they contain.
    'false': 0
    'true': 50

  nonlocal_items_use_local_presents:
    # If enabled, present that contain items for other players will appear as EarthBound presents (trashcan, present, and chest) instead of Archipelago boxes.
    # Does nothing if Presents Match Contents is disabled.
    'false': 50
    'true': 0

  randomize_psi_palettes:
    # Randomizes the colors of PSI spells.
    # Normal: Doesn't randomize PSI colors.
    # Shuffled: PSI spell palettes are swapped around with each other.
    # Randomized: PSI spells use completely random colors.
    normal: 50
    shuffled: 0
    randomized: 0

  ####################
  # Music Randomizer #
  ####################
  randomize_overworld_music:
    # Randomizes music on the overworld. Some sound effects might sound weird.
    # Normal: Does not randomize music.
    # Match Type: Music will be randomized with similar song categories (Town, dungeon, etc.)
    # Full: Overworld music will be randomized disregarding categories.
    normal: 50
    match_type: 0
    full: 0

  randomize_battle_music:
    # Randomizes in-battle songs.
    'false': 50
    'true': 0

  randomize_fanfares:
    # Randomizes fanfares.
    'off': 50
    'on': 0
    on_no_sound_stone_fanfares: 0

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

  death_link_mode:
    # Controls how receiving a Deathlink functions in battle.
    # Instant: The player will be instantly defeated.
    # Mortal: All characters will receieve mortal damage. The player will not be able to heal until the battle is finished.
    # Mortal Mercy: All characters will receieve mortal damage, but the player will be able to heal it before they die.
    # Regardless of this setting, receiving a deathlink outside of battle will always instantly defeat the player.
    instant: 0
    mortal: 50
    mortal_mercy: 0

  energy_link:
    # If enabled, the money in the ATM will be linked across the Archipelago Server.
    # This requires a server connection to be used, but won't break offline play.
    '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_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.
    []
