# What is this file?
# ------------------
# This file contains options which allow you to configure your multiworld experience while allowing others
# to play how they want as well.
#
# 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 not occur, and 15 chances for map shuffle to be turned on.
# That means a 1/4 chance of map shuffle.
#
# If you want to think of the options as percentages, you can make sure they add up to 100, but it's okay
# if they don't actually add up to 100.
#
# Lines starting with #, like all of these, are comments that get ignored.

# TABS ARE EVIL!
# 
# An important thing about yaml files is they completely break if your file contains a "tab" character.
# All these lines need to be indented with spaces.

# ================================================================================================


# Okay here's where we start!
# First, change your name unless you want to be called 'YourName'.
#           __________|
#          |
#          v
name: YourName                                                # Your name in-game. Spaces and underscores will be replaced with dashes
description: Example YAML for door shuffle multiworld         # Used to describe your yaml. Useful if you have multiple files


# Goal settings
# -------------

# Remember that in multiworld, unless you're planning to 'forfeit' to release your items,
# you also need to help everyone else reach their goals before you finish.
#
# Non-local triforce hunts are a silly goal in multiworld, because your progress isn't
# determined by what you do more than anyone else.
# _Local_ triforce hunts, in contrast, can be a nice short goal for multiworld.


# What's the goal of your game?
goals:
  ganon: 3                     # Climb GT, defeat Agahnim 2, then kill Ganon
  fast_ganon: 3                # Only killing Ganon is required. The hole is always open. Items may still be placed in GT, however
  dungeons: 0                  # Defeat the boss of all dungeons, including Agahnim's tower and GT. Kinda mean in multiworld.
  pedestal: 1                  # Collect all pendants and pull the Triforce from the Master Sword pedestal
  ganon_pedestal: 1            # Pull something out of the pedestal, _then_ fight Ganon
  triforce_hunt: 0             # this sucks in multiworld
  local_triforce_hunt: 0       # Collect 20 of 30 Triforce pieces in your world, then give them to Murahdala in front of Hyrule Castle
  local_ganon_triforce_hunt: 1 # Collect 20 of 30 Triforce pieces in your world, then kill Ganon

# Crystals required to open GT
tower_open:
  '0': 0
  '1': 0
  '2': 1
  '3': 1
  '4': 1
  '5': 1
  '6': 1
  '7': 1

# Crystals required to hurt Ganon, if it's a Ganon goal
ganon_open:
  '0': 0
  '1': 0
  '2': 0
  '3': 0
  '4': 1
  '5': 2
  '6': 2
  '7': 1

# Triforce hunt settings
# ----------------------
# These of course don't matter if you don't have triforce hunt as a possible goal.

# First off, there are now multiple ways to set the number of triforce pieces. 'extra' is the one that
# makes the most sense to me, where a number of required pieces is chosen, then a number of extra pieces
# are added to it.
triforce_pieces_mode:
  extra: 1

# How many triforce pieces do you need to collect to win?
triforce_pieces_required:
  20: 1
  25: 1
  30: 1

# How many additional triforce pieces are there that you don't need to find?
# (You can put any numbers in as the options)
triforce_pieces_extra:
  3: 1
  5: 1
  10: 1


# Game setup
# ----------

# What does the start of the game look like? This used to be called 'world_state'.
mode:
  standard: 1  # Begin the game by rescuing Zelda from her cell and escorting her to the Sanctuary.
  open: 1      # Begin the game from your choice of Link's House or the Sanctuary
  inverted: 1  # Begin in the Dark World. You need the moon pearl in the light world. Some map changes.

# Retro mode changes a bunch of things to be like z1. Small keys are universal, arrows cost money, you must buy a quiver,
# take-any caves and an old-man cave are added in random previously-useless locations. You may need to find your sword
# from the old man's cave.
retro:
  on: 0
  off: 1


# Dungeon item settings
# ---------------------

map_shuffle:       # maps are shuffled outside their dungeons, and reveal whether each dungeon is a crystal or pendant
  on: 1
  off: 1

compass_shuffle:   # compasses are shuffled outside their dungeons
  on: 1
  off: 1

smallkey_shuffle:  
  on: 1            # small keys are shuffled outside their dungeons
  universal: 1     # you have one pool of small keys, they work for any key door, you can buy more in a shop
  off: 3

bigkey_shuffle:    # big keys are shuffled outside their dungeons
  on: 1
  off: 1

local_keys:        # your shuffled keys are in your own world, not other worlds in multiworld
  on: 1
  off: 3

# You know those keys that are under pots or dropped by enemies? Those can be shuffled into the item pool.
# Key-drop shuffle plus small key shuffle can require _lots_ of dipping into dungeons.
key_drop_shuffle:
  on: 0
  off: 1

# When can you see how many item locations are in a dungeon and how many you've checked?
dungeon_counters:
  on: 1        # always!
  pickup: 0    # when you find the compass
  default: 0   # when you find the compass but only if the compass is shuffled
  off: 0       # never!

# This setting is part of a mode called 'Ambrosia' that's balanced for racing. When it's on, the boss
# of a dungeon will always drop an item that 'counts' -- it won't be a dungeon item, like a map,
# compass, or unshuffled key. It could still be garbage, of course.
restrict_dungeon_item_on_boss:
  on: 0
  off: 1


# Entrances and doors
# -------------------

# Do overworld doors go where you expect them to go?
# Documentation: https://alttpr.com/en/options#entrance_shuffle
entrance_shuffle: 
  none: 1           # Vanilla game map. All entrances and exits lead to their original locations. You probably want this option
  dungeonssimple: 0 # shuffle just dungeons amongst each other, swapping dungeons entirely, so Hyrule Castle is always 1 dungeon
  dungeonsfull: 0   # shuffle any dungeon entrance with any dungeon interior
  simple: 0         # Randomizes dungeons with dungeons, connectors with connectors, etc.
  restricted: 0     # Like simple but connectors can be weirder
  full: 0           # Any entrance can lead pretty much anywhere, except connectors have to keep you in the same world
  crossed: 0        # Any entrance can lead pretty much anywhere, and can provide paths between the worlds
  insanity: 0       # Entrances and exits are decoupled, so you can walk in and out the same door and end up somewhere else

# Door shuffle is the new thing where the insides of dungeons are scrambled. Draw maps!
door_shuffle:
  vanilla: 1  # dungeons are like they are in vanilla
  basic: 0    # dungeons are shuffled within themselves
  crossed: 0  # dungeons are made of chunks of all the dungeons! Hyrule Castle might have rooms from Tower of Hera and Misery Mire in it.

experimental:
  on: 1       # Uses the experimental hud for door shuffle, if door shuffle is on. You probably want it

# When it's not vanilla doors, how shuffled do you want your doors to be?
intensity:
  1: 0         # open edges and centered stairways go where you expect
  2: 1         # open edges and centered stairways are shuffled
  3: 1         # Lobby shuffle: the entrances to dungeons can be different rooms.

# When does the logic place items that are inaccessible?
accessibility:
  items: 1     # Guarantees you will be able to acquire all items, but you may not be able to access all locations. The usual for z3r.
  locations: 1 # Guarantees you will be able to access all item locations, and therefore all items
  none: 0      # Guarantees only that the game is beatable. Some items may be unreachable if you don't need them.

# Are the sword, shield, and bow a series of progressive upgrades? Change this if you want a throwback to older versions of the randomizer.
progressive:
  on: 1      # All items progressive, like usual
  off: 0     # No items progressive: maybe your uncle hands you the butter sword right away
  random: 0  # Randomly decides for all items. Swords could be progressive, shields might not be

# Hint tiles
hints:
  'on': 1      # Hint tiles sometimes give item location hints
  'off': 0     # Hint tiles provide 'gameplay tips' that are things you already know

# Where are swords located?
weapons:
  randomized: 2  # Swords are placed randomly throughout the world
  assured: 2     # Begin with a sword, the rest are placed randomly throughout the world
  vanilla: 1     # Swords are placed in vanilla locations in your own game (Uncle, Pyramid Fairy, Smiths, Pedestal)
  swordless: 0   # Your swords are replaced by rupees. Gameplay changes have been made to accommodate this change.

# What items are available?
item_pool:
  easy: 0    # There are more progressive items than necessary, and two lamps
  normal: 1  # Item availability remains unchanged from the vanilla game
  hard: 0    # Reduced upgrade availability (max: 14 hearts, blue mail, tempered sword, fire shield, no silvers unless swordless)
  expert: 0  # Minimum upgrade availability (max: 8 hearts, green mail, master sword, fighter shield, no silvers unless swordless)

# Do you want certain items to kinda suck?
#
# In hard functionality:
#   - potions are less effective
#   - you can't catch faeries
#   - cape uses double magic
#   - byrna does not grant invulnerability
#   - boomerangs do not stun
#   - silver arrows are disabled outside ganon
#
# In expert functionality, on top of that:
#   - the hookshot also doesn't stun
#   - potions are even less effective
item_functionality:
  normal: 1  # Vanilla game item functionality
  hard: 0    # Reduced helpfulness of items 
  expert: 0  # Vastly reduced helpfulness of items

# hey. do you like getting stuck in BK mode? or glitching out of BK mode?
progression_balancing:
  on: 1      # your progression items are found in similar spheres to other players
  off: 0     # maybe your moon pearl is on someone else's Trinexx >_<

# Provide a chance of starting with certain items
startinventory:
  "Pegasus Boots":
    on: 1
    off: 1
  
  "Ocarina":
    on: 1
    off: 3


# 'Enemizer' settings
# -------------------

boss_shuffle:
  none: 1         # No boss shuffle
  simple: 0       # Existing bosses except Ganon and Agahnim are shuffled throughout dungeons
  full: 0         # 3 bosses can occur twice
  random: 0       # Any boss can appear any amount of times
  singularity: 0  # Pick one boss, it appears everywhere it can, other bosses are randomized

# Enemy shuffle: the main thing you think of when you think "enemizer"
enemy_shuffle:
  on: 1           # enemies are shuffled
  off: 3

enemy_damage:
  default: 1      # Vanilla enemy damage
  shuffled: 0     # Enemies deal 0 to 4 hearts and armor helps
  random: 0       # Enemies deal 0 to 8 hearts and armor just re-randomizes the damage. WHY WOULD YOU DO THIS

enemy_health:
  default: 1      # Vanilla enemy HP
  easy: 0         # Randomize enemy HP, and make it less overall
  medium: 0       # Randomize enemy HP, with the same average
  hard: 0         # Randomize enemy HP, and make it more overall
  expert: 0       # Randomize enemy HP, possibly to very high amounts

killable_thieves:
  on: 1           # Thieves can be killed
  off: 0          # Thieves are invincible, like usual

tile_shuffle:
  on: 1           # Tile rooms make new shapes
  off: 1          # Tile rooms are always the same space-invader shape

pot_shuffle:
  on: 0           # pots containing floor switches and small keys are shuffled within their supertile.
  off: 1          # pots are what you expect

bush_shuffle:     # Randomize the chance that bushes have enemies and the enemies under said bush
  on: 1
  off: 1

# BEES! [oprah.gif]
# Beemizer replaces some items with bees. Some are 'bee traps' that are swarms of bees that attack you, some are just a
# peaceful bee that goes in a bottle if you have one.
# Beemizer levels 1 and 2 are great once in a while, for the unexpected fun of sending your friends bees over the Internet.
# Levels 3 and 4 are VERY HARD. You will have a max of 4 hearts.
beemizer:
  0: 1   # No bee traps are placed
  1: 0   # 25% of the non-essential item pool is replaced with bee traps
  2: 0   # 60% of the non-essential item pool is replaced with bee traps, of which 20% could be single bees
  3: 0   # 100% of the non-essential item pool is replaced with bee traps, of which 50% could be single bees
  4: 0   # 100% of the non-essential item pool is replaced with bee traps

# 'Shop shuffle' affects the contents of shops. The options are combinations of letters that
# determine what is shuffled. You can make up new combinations if they aren't contradictory, out
# of these letters:
#
# i: shuffle the vanilla shop inventories around
# f: generate new inventories
# g: generate an inventory for each "type" of shop (I think)
# p: randomize the prices
# w: include the witch shop in the shuffle
# u: bring back bomb and arrow upgrades, and include those in the item pool
#
# To make shops interesting, you probably want to set 'shop_shuffle_slots' also.

shop_shuffle:
  none: 1      # shops are normal
  ip: 0        # shops sell typical items but with random selections and prices
  f: 0         # shops have new inventories with vanilla prices
  gp: 0        # shops are a little different, but usually have the same inventory
  fp: 0        # shops are unique and randomized
  fpw: 0       # shops are very random, including the witch shop
  ufpw: 0      # all that and also upgrades are back in the item pool

# Shops can now sell items that come from the item pool, including unique items like the
# fire rod. These items are marked with a star. After you buy them, their slot is filled by
# an item from the normal shop pool.
#
# There are 30 possible shop slots. How many of them should sell items from the item pool?
# (10 might be a good choice to experience shop shuffle and not have to farm money)
shop_shuffle_slots:
  0: 1
  5: 0
  10: 0
  15: 0
  30: 0


# Another one of those letter-based settings, about when consumable items are dropped.
shuffle_prizes:
  none: 0      # Vanilla. (I honestly don't remember what the vanilla prizes are)
  g: 1         # 'General' prizes are shuffled: enemy kills, stun kills, tree pulls, digs...
  b: 0         # 'Bonk' prizes are shuffled, like when you bonk a tree and get a fairy
  bg: 0        # Shuffle both 'general' and 'bonk' prizes


# Cosmetic features of your ROM
# -----------------------------
rom:
  # This can be a sprite name, or a random setting
  sprite: 
    link: 1
    zelda: 1
    random: 0              # Randomize once for the whole run. Might not use the sprite pool?
    randomonhit: 0         # Re-randomize every time you get hit
    randomonbonk: 0        # Re-randomize every time you bonk
    randomonenter-exit: 0  # Re-randomize when you enter or leave the underworld

  # The list of sprites that are chosen at random, if your sprite setting is random on something.
  # You can see these names when you generate a game on https://alttpr.com/en/randomizer
  sprite_pool:
    - cadence
    - casual zelda
    - cheep cheep
    - cucco
    - cursor
    - goose
    - "hoarder (bush)"
    - link
    - maiden
    - minish link
    - princess peach
    - sonic the hedgehog
    - yoshi
    - zelda
    - zero suit samus

  disablemusic:      # turn on to completely disable music
    on: 0
    off: 1
  
  # Enable switching items by pressing the L+R shoulder buttons
  quickswap:
    on: 1
    off: 0

  # Palette randomization
  # ---------------------
  # You can change the colors of the overworld:
  ow_palettes:
    default: 1    # No changes
    random:  0    # Change colors in sensible groups with some kinda nice color theory
    grayscale: 0  # Make everything gray
    dizzy: 0      # Randomize hues only
    sick: 0       # Randomize hue and saturation
    puke: 0       # Completely randomize every color with no "logic". It looks BAD.
    negative: 0   # invert all the colors. Shadows look super wrong

  # And the colors of the underworld (caves and dungeons):
  uw_palettes:
    default: 1    # No changes
    random:  0    # Change colors in sensible groups with some kinda nice color theory
    grayscale: 0  # Make everything gray
    dizzy: 0      # Randomize hues only
    sick: 0       # Randomize hue and saturation
    puke: 0       # Completely randomize every color with no "logic". It looks BAD.
    negative: 0   # invert all the colors. Shadows look super wrong

  # Change the colors of the HUD
  hud_palettes:
    default: 1    # You get the idea
    random: 0
    grayscale: 0
    negative: 0
    dizzy: 0
    sick: 0
    puke: 0

  sword_palettes:
    default: 1
    random: 0
    blackout: 0   # 'Blackout' is a terrible choice for most settings, but sure, turn swords black if you want
    grayscale: 0
    negative: 0
    dizzy: 0
    sick: 0
    puke: 0

  shield_palettes:
    default: 1
    random: 0
    blackout: 0
    grayscale: 0
    negative: 0
    dizzy: 0
    sick: 0
    puke: 0

  # Control how fast the item menu opens and closes
  menuspeed:
    normal: 1
    instant: 0
    double: 0
    triple: 0
    quadruple: 0
    half: 0

  # Control the color of your health hearts
  heartcolor:
    red: 1
    blue: 0
    green: 0
    yellow: 0
    random: 0

  # Control the frequency of the low-health beeping
  heartbeep:
    double: 0   # BEEBEEBEEBEEBEEBEEBEEBEEP
    normal: 0
    half: 0
    quarter: 1
    off: 0      # blessed peace and quiet


# Options that you don't want to mess with in multiworld
# ------------------------------------------------------

# Determine the glitches required to complete the seed.
glitches_required:
  none: 1                 # No glitches required
  overworld_glitches: 0   # Assumes you know all the overworld glitches, including stuff like screenwraps and downwarps. 
  no_logic: 0             # Your fire rod could be on Trinexx

# Elia randomized this once. It was bad.
timer:
  none: 1              # Play the game in a reasonable way
  timed_ohko: 0        # Play a mode that is an impressive technical accomplishment, and also is not fun
  timed_countdown: 0   # like timed OHKO except there's no OHKO and the timer does nothing

# 'Glitch boots' mean that if your logic requires major glitches, it will give you boots from the start to do those glitches with.
glitch_boots:
  on: 1
  off: 0
