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

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

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

  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

  start_with_jewelry_box:
    # Start with Jewelry Box unlocked
    'false': 50
    'true': 0

  downloadable_items:
    # With the tablet you will be able to download items at terminals
    'false': 0
    'true': 50

  eye_spy:
    # Requires Oculus Ring in inventory to be able to break hidden walls.
    'false': 50
    'true': 0

  start_with_meyef:
    # Start with Meyef, ideal for when you want to play multiplayer.
    'false': 50
    'true': 0

  quick_seed:
    # Start with Talaria Attachment, Nyoom!
    'false': 50
    'true': 0

  specific_keycards:
    # Keycards can only open corresponding doors
    'false': 50
    'true': 0

  inverted:
    # Start in the past
    'false': 50
    'true': 0

  gyre_archives:
    # Gyre locations are in logic. New warps are gated by Merchant Crow and Kobo
    'false': 50
    'true': 0

  cantoran:
    # Cantoran's fight and check are available upon revisiting his room
    'false': 50
    'true': 0

  lore_checks:
    # Memories and journal entries contain items.
    'false': 50
    'true': 0

  boss_rando:
    # Wheter all boss locations are shuffled, and if their damage/hp should be scaled.
    'off': 50
    scaled: 0
    unscaled: 0

  boss_rando_type:
    # Sets what type of boss shuffling occurs.
    # Shuffle: Bosses will be shuffled amongst each other
    # Chaos: Bosses will be randomized with the chance of duplicate bosses
    # Singularity: All bosses will be replaced with a single boss
    # Manual: Bosses will be placed according to the Boss Rando Overrides setting
    shuffle: 50
    chaos: 0
    singularity: 0
    manual: 0

  boss_rando_overrides:
    # Manual mapping of bosses to the boss they will be replaced with.
    # Bosses that you don't specify will be the vanilla boss.
    Aelana: Aelana
    AzureQueen: AzureQueen
    Cantoran: Cantoran
    FelineSentry: FelineSentry
    Genza: Genza
    GoldenIdol: GoldenIdol
    Ifrit: Ifrit
    Maw: Maw
    Nightmare: Nightmare
    Nuvius: Nuvius
    Prince: Prince
    Ravenlord: Ravenlord
    Sandman: Sandman
    Varndagroth: Varndagroth
    Vol: Vol
    Xarion: Xarion

  enemy_rando:
    # Wheter enemies will be randomized, and if their damage/hp should be scaled.
    'off': 50
    scaled: 0
    unscaled: 0
    ryshia: 0
    no_hell_spiders: 0

  damage_rando:
    # Randomly nerfs and buffs some orbs and their associated spells as well as some associated rings.
    'off': 50
    allnerfs: 0
    mostlynerfs: 0
    balanced: 0
    mostlybuffs: 0
    allbuffs: 0
    manual: 0

  damage_rando_overrides:
    # Manual +/-/normal odds for an orb. Put 0 if you don't want a certain nerf or buff to be a possibility. Orbs that
    # you don't specify will roll with 1/1/1 as odds
    Blade:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Blood:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Blue:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Empire:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Eye:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Fire:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    ForbiddenTome:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Gun:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Ice:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Iron:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Nether:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Plasma:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Radiant:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Shattered:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Umbra:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1
    Wind:
      MinusOdds: 1
      NormalOdds: 1
      PlusOdds: 1

  hp_cap:
    # Sets the number that Lunais's HP maxes out at.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 999
    999: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-999: 0 # random value between 1 and 999

  aura_cap:
    # Sets the maximum Aura Lunais is allowed to have. Level 1 is 80. Djinn Inferno costs 45.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 45
    # Maximum value is 999
    999: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-45-999: 0 # random value between 45 and 999

  level_cap:
    # Sets the max level Lunais can achieve.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 99
    99: 50
    random: 0
    random-low: 0 # random value weighted towards lower values
    random-high: 0 # random value weighted towards higher values
    random-range-1-99: 0 # random value between 1 and 99

  extra_earrings_xp:
    # Adds additional XP granted by Galaxy Earrings.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 24
    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-24: 0 # random value between 0 and 24

  boss_healing:
    # Enables/disables healing after boss fights. NOTE: Currently only applicable when Boss Rando is enabled.
    'false': 0
    'true': 50

  shop_fill:
    # Sets the items for sale in Merchant Crow's shops.
    # Default: No sunglasses or trendy jacket, but sand vials for sale.
    # Randomized: Up to 4 random items in each shop.
    # Vanilla: Keep shops the same as the base game.
    # Empty: Sell no items at the shop.
    default: 50
    randomized: 0
    vanilla: 0
    empty: 0

  shop_warp_shards:
    # Shops always sell warp shards (when keys possessed), ignoring inventory setting.
    'false': 0
    'true': 50

  shop_multiplier:
    # Multiplier for the cost of items in the shop. Set to 0 for free shops.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 10
    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-10: 0 # random value between 0 and 10

  loot_pool:
    # Sets the items that drop from enemies (does not apply to boss reward checks)
    # Vanilla: Drops are the same as the base game
    # Randomized: Each slot of every enemy's drop table is given a random use item or piece of equipment.
    # Empty: Enemies drop nothing.
    vanilla: 50
    randomized: 0
    empty: 0

  drop_rate_category:
    # Sets the drop rate when 'Loot Pool' is set to 'Random'
    # Tiered: Based on item rarity/value
    # Vanilla: Based on bestiary slot the item is placed into
    # Random: Assigned a random tier/drop rate
    # Fixed: Set by the 'Fixed Drop Rate' setting
    tiered: 50
    vanilla: 0
    randomized: 0
    fixed: 0

  fixed_drop_rate:
    # Base drop rate percentage when 'Drop Rate Category' is set to 'Fixed'
    #
    # 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

  loot_tier_distro:
    # Sets how often items of each rarity tier are placed when 'Loot Pool' is set to 'Random'
    # Default Weight: Rarer items will be assigned to enemy drop slots less frequently than common items
    # Full Random: Any item has an equal chance of being placed in an enemy's drop slot
    # Inverted Weight: Rarest items show up the most frequently, while common items are the rarest
    default_weight: 50
    full_random: 0
    inverted_weight: 0

  show_bestiary:
    # All entries in the bestiary are visible, without needing to kill one of a given enemy first
    'false': 50
    'true': 0

  show_drops:
    # All item drops in the bestiary are visible, without needing an enemy to drop one of a given item first
    'false': 50
    'true': 0

  enter_sandman:
    # The Ancient Pyramid is unlocked by the Twin Pyramid Keys, but the final boss door opens if you have all 5 Timespinner pieces
    'false': 50
    'true': 0

  dad_percent:
    # The win condition is beating the boss of Emperor's Tower
    'false': 50
    'true': 0

  rising_tides:
    # Random areas are flooded or drained, can be further specified with RisingTidesOverrides
    'false': 50
    'true': 0

  rising_tides_overrides:
    # Odds for specific areas to be flooded or drained, only has effect when RisingTides is on.
    # Areas that are not specified will roll with the default 33% chance of getting flooded or drained
    AncientPyramidShaft:
      Dry: 67
      Flooded: 33
    CastleBasement:
      Dry: 66
      Flooded: 17
      FloodedWithSavePointAvailable: 17
    CastleCourtyard:
      Dry: 67
      Flooded: 33
    CastleMoat:
      Dry: 67
      Flooded: 33
    Lab:
      Dry: 67
      Flooded: 33
    LakeDesolation:
      Dry: 67
      Flooded: 33
    LakeSerene:
      Dry: 33
      Flooded: 67
    LakeSereneBridge:
      Dry: 67
      Flooded: 33
    Maw:
      Dry: 67
      Flooded: 33
    Sandman:
      Dry: 67
      Flooded: 33
    Xarion:
      Dry: 67
      Flooded: 33

  unchained_keys:
    # Start with Twin Pyramid Key, which does not give free warp;
    # warp items for Past, Present, (and ??? with Enter Sandman) can be found.
    'false': 50
    'true': 0

  back_to_the_future:
    # When inverted, allows using the refugee camp warp when both the Timespinner Wheel and Spindle is acquired.
    'false': 50
    'true': 0

  prism_break:
    # Adds 3 Laser Access items to the item pool to remove the lasers blocking the military hangar area
    # instead of needing to beat the Golden Idol, Aelana, and The Maw.
    'false': 50
    'true': 0

  lock_key_amadeus:
    # Lasers in Amadeus' Laboratory are disabled via items, rather than by de-powering the lab. Experiments will spawn in the lab.
    'false': 50
    'true': 0

  risky_warps:
    # Expanded free-warp eligible locations, including Azure Queen, Xarion, Amadeus' Laboratory, and Emperor's Tower.
    'false': 50
    'true': 0

  pyramid_start:
    # Start in ???. Takes priority over Inverted. Additional chests in Dark Forest and Pyramid. Sandman door behaves as it does in Enter Sandman.
    'false': 50
    'true': 0

  gate_keep:
    # The castle drawbridge starts raised, and can be lowered via item.
    'false': 50
    'true': 0

  royal_roadblock:
    # The Royal Towers entrance door requires a royal orb (Plasma Orb, Plasma Geyser, or Royal Ring) to enter.
    'false': 50
    'true': 0

  pure_torcher:
    # All lanterns contain checks. (Except tutorial)
    'false': 50
    'true': 0

  find_the_flame:
    # Lanterns in 'Pure Torcher' will not break without new item 'Cube of Bodie'.
    'false': 50
    'true': 0

  trap_chance:
    # Chance of traps in the item pool.
    # Traps will only replace filler items such as potions, vials and antidotes
    #
    # 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

  traps:
    # List of traps that may be in the item pool to find
    ['Meteor Sparrow Trap', 'Poison Trap', 'Chaos Trap', 'Neurotoxin Trap', 'Bee Trap', 'Throw Stun Trap', 'Spider Trap', 'Lights Out Trap', 'Palm Punch Trap']

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