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

# Used to describe your yaml. Useful if you have multiple files.
description: Default Pokemon Crystal Template

game: Pokemon Crystal
requires:
  version: 0.6.1 # Version of Archipelago required for this yaml to work as expected.

Pokemon Crystal:
  # 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-high: 0
    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:
    # Elite Four: Defeat the Champion and enter the Hall of Fame
    # Red: Defeat Red at Mt. Silver
    elite_four: 50
    red: 0

  johto_only:
    # Excludes all of Kanto, disables Kanto access
    # Forces Goal to Elite Four unless Silver Cave is included
    # Goal badges will be limited to 8 if badges are shuffled or vanilla
    'off': 50
    'on': 0
    include_silver_cave: 0

  elite_four_badges:
    # Number of badges required to enter Victory Road
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 16
    8: 50
    random: 0
    random-low: 0
    random-high: 0

  red_badges:
    # Number of badges required to battle Red
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 16
    16: 50
    random: 0
    random-low: 0
    random-high: 0

  mt_silver_badges:
    # Number of badges required to access Mt. Silver and Silver Cave
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 16
    16: 50
    random: 0
    random-low: 0
    random-high: 0

  radio_tower_badges:
    # Number of badges at which Team Rocket takes over the Goldenrod Radio Tower
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 16
    7: 50
    random: 0
    random-low: 0
    random-high: 0

  randomize_badges:
    # Shuffles gym badge locations into the pool
    # Vanilla: Does not randomize gym badges
    # Shuffle: Randomizes gym badges between gym leaders
    # Completely Random: Randomizes badges with all other items
    vanilla: 0
    shuffle: 0
    completely_random: 50

  randomize_hidden_items:
    # Shuffles hidden item locations into the pool
    'false': 0
    'true': 50

  require_itemfinder:
    # Hidden items require Itemfinder in logic
    # 
    # Not Required: Hidden items do not require the Itemfinder at all
    # Logically Required: Hidden items will expect you to have Itemfinder for logic but can be picked up without it
    # Hard Required: Hidden items cannot be picked up without the Itemfinder
    not_required: 50
    logically_required: 0
    hard_required: 0

  route_32_condition:
    # Sets the condition required to pass into the south part of Route 32
    # Egg from aide: Collect the Egg from the aide in the Violet City Pokemon Center after beating Falkner
    # Any badge: Obtain any badge
    # None: No requirement
    egg_from_aide: 50
    any_badge: 0
    none: 0

  kanto_access_condition:
    # Sets the condition required to pass between Victory Road gate and Kanto
    # Wake Snorlax: Wake the Snorlax outside of Diglett's Cave
    # Badge Count: Require the number of badges specified by kanto_access_badges
    # Become Champion: Defeat Lance and enter the Hall of Fame
    # 
    # This setting does nothing if Johto Only is enabled
    wake_snorlax: 50
    badge_count: 0
    become_champion: 0

  kanto_access_badges:
    # Sets the number of badges required to pass between Victory Road gate and Kanto
    # Only applies if Kanto Access Condition is set to badge_count
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 16
    8: 50
    random: 0
    random-low: 0
    random-high: 0

  red_gyarados_access:
    # Sets whether the Red Gyarados requires Whirlpool to access
    vanilla: 50
    whirlpool: 0

  route_2_access:
    # Sets the roadblock for moving between the west of Route 2 and Diglett's cave
    # Vanilla: Cut is required
    # Ledge: A ledge is added north of Diglett's cave allowing east -> west access without Cut
    # Open: No requirement
    vanilla: 0
    ledge: 50
    open: 0

  route_3_access:
    # Sets the roadblock for moving between Pewter City and Route 3
    # Vanilla: No requirement
    # Boulder Badge: The Boulder Badge is required to pass
    vanilla: 50
    boulder_badge: 0

  blackthorn_dark_cave_access:
    # Sets the roadblock for travelling from Route 31 to Blackthorn City through Dark Cave
    # Vanilla: Traversal is not possible
    # Waterfall: A waterfall is added to the Violet side of Dark Cave and a ledge is removed on the Blackthorn side,
    # allowing passage with Flash, Surf and Waterfall
    vanilla: 0
    waterfall: 50

  national_park_access:
    # Sets the requirement to enter National Park
    # Vanilla: No requirement
    # Bicycle: The Bicycle is required
    vanilla: 50
    bicycle: 0

  trainersanity:
    # Adds checks for defeating trainers
    'false': 50
    'true': 0

  trainersanity_alerts:
    # Shows a message box or plays a sound for Trainersanity checks
    no_alerts: 0
    message_box: 50
    sound_only: 0

  randomize_pokegear:
    # Shuffles the Pokegear and cards into the pool
    'false': 50
    'true': 0

  randomize_berry_trees:
    # Shuffles berry tree locations into the pool
    'false': 0
    'true': 50

  randomize_starters:
    # Randomizes species of starter Pokemon
    vanilla: 0
    unevolved_only: 0
    completely_random: 50
    first_stage_can_evolve: 0
    base_stat_mode: 0

  starters_bst_average:
    # If you chose Base Stat Mode for your starters, what is the average base stat total you want your available starters to be?
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 195
    # Maximum value is 680
    random: 0
    random-low: 0
    random-high: 0
    normal_starters: 50 # equivalent to 310

  randomize_wilds:
    # Randomizes species of wild Pokemon
    'false': 0
    'true': 50

  force_fully_evolved:
    # When an opponent uses a Pokemon of the specified level or higher, restricts the species to only fully evolved Pokemon.
    # 
    # Only applies when trainer parties are randomized.
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    100: 50
    random: 0
    random-low: 0
    random-high: 0

  normalize_encounter_rates:
    # Normalizes the chance of encountering each wild Pokemon in a given area
    'false': 50
    'true': 0

  randomize_static_pokemon:
    # Randomizes species of static Pokemon encounters
    'false': 0
    'true': 50

  level_scaling:
    # Sets whether Trainer levels are scaled based on sphere access.
    # 
    # - Off: Vanilla levels are used.
    # - Spheres: Levels are scaled based on sphere access only.
    # - Spheres and Distance: Levels are scaled based on both sphere access and distance from starting town.
    'off': 50
    spheres: 0
    spheres_and_distance: 0

  randomize_trades:
    # Randomizes species of in-game trades
    vanilla: 0
    received: 50
    requested: 0
    both: 0

  randomize_trainer_parties:
    # Randomizes Pokemon in enemy trainer parties
    vanilla: 0
    match_types: 0
    completely_random: 50

  boost_trainers:
    # Boost levels of every trainer's Pokemon. There are 2 different boost modes:
    # Percentage Boost: Increases every trainer Pokemon's level by the boost percentage.
    # Set Min Level: Trainer Pokemon will be the specified level or higher.
    vanilla: 50
    percentage_boost: 0
    set_min_level: 0

  trainer_level_boost:
    # This Value only works if Boost Trainer Pokemon Levels is being used.
    # The meaning of this value depends on Trainer Boost Mode.
    # 
    # Percentage Boost: This value represents the boost amount percentage
    # Set Min Level: Trainer Pokemon will never be lower than this level
    #
    # 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-high: 0

  randomize_learnsets:
    # Vanilla: Vanilla learnsets
    # Randomize: Random learnsets
    # Start With Four Moves: Random learnsets with 4 starting moves
    vanilla: 50
    randomize: 0
    start_with_four_moves: 0

  learnset_type_bias:
    # This option will have an effect only if Randomize Learnset option is enabled.
    # 
    # Percent chance of each move in a Pokemon's learnset to match its type.
    # Default value is -1. This means there will be no check in logic for type matches.
    # The lowest possible type matching value is 0. There will be no STAB moves in a Pokemon's learnset
    # If set to 100 all moves that a Pokemon will learn by leveling up will match one of its types
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is -1
    # Maximum value is 100
    random: 0
    random-low: 0
    random-high: 0
    vanilla: 50 # equivalent to -1

  randomize_move_values:
    # Restricted: Generates values based on vanilla move values
    # Multiplies the power of each move with a random number between 0.5 and 1.5
    # Adds or subtracts 0, 5 or 10 from original PP | Min 5, Max 40
    # 
    # Full Exclude Accuracy: Fully randomizes move Power and PP
    # Randomizes each move's Power [20-150], PP [5-40] linearly. All possible values have the same weight.
    # 
    # Full: Previous + also randomizes accuracy.
    # Accuracy has a flat chance of 70% to be 100%, if not it is linearly distributed between 30-100.
    # Does not randomize accuracy of OHKO moves, status moves (e.g. Toxic) and unique damage moves (e.g. Seismic Toss)
    vanilla: 50
    restricted: 0
    full_exclude_accuracy: 0
    full: 0

  randomize_move_types:
    # Randomizes each move's Type
    'false': 50
    'true': 0

  randomize_tm_moves:
    # Randomizes the moves available as TMs
    'false': 50
    'true': 0

  tm_compatibility:
    # Percent chance for Pokemon to be compatible with a TM
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 100
    random: 0
    random-low: 0
    random-high: 0
    vanilla: 50 # equivalent to 0
    fully_compatible: 0 # equivalent to 100

  hm_compatibility:
    # Percent chance for Pokemon to be compatible with an HM
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 50
    # Maximum value is 100
    random: 0
    random-low: 0
    random-high: 0
    vanilla: 50 # equivalent to 0
    fully_compatible: 0 # equivalent to 100

  randomize_base_stats:
    # Vanilla: Vanilla base stats
    # Keep BST: Random base stats, but base stat total is preserved
    # Completely Random: Base stats and BST are completely random
    vanilla: 50
    keep_bst: 0
    completely_random: 0

  randomize_types:
    # Vanilla: Vanilla Pokemon types
    # Follow Evolutions: Types are randomized but preserved when evolved
    # Completely Random: Types are completely random
    vanilla: 50
    follow_evolutions: 0
    completely_random: 0

  randomize_palettes:
    # Vanilla: Vanilla Pokemon color palettes
    # Match Types: Color palettes match Pokemon Type
    # Completely Random: Color palettes are completely random
    vanilla: 0
    match_types: 0
    completely_random: 50

  randomize_music:
    # Randomize all music
    'false': 50
    'true': 0

  move_blocklist:
    # Pokemon won't learn these moves via learnsets and no TM will contain them.
    # Moves should be provided in the form: "Ice Beam"
    # Does not apply to vanilla learnsets or vanilla TMs
    []

  free_fly_location:
    # Free Fly: Unlocks a random Fly destination when Fly is obtained.
    # Free Fly and Map Card: Additionally unlocks a random Fly destination after obtaining both the Pokegear and Map Card.
    # Map Card: Unlocks a single random Fly destination only after obtaining both the Pokegear and Map card.
    'off': 50
    free_fly: 0
    free_fly_and_map_card: 0
    map_card: 0

  free_fly_blocklist:
    # These locations won't be given to you as fly locations either as your free one or from receiving the map card.
    # Locations should be provided in the form: "Ecruteak City"
    # New Bark Town, Cherrygrove City and Indigo Plateau cannot be chosen as free fly locations and are not valid options
    # If you blocklist enough locations that there aren't enough locations left for your total number of free fly locations, the blocklist will simply do nothing
    []

  early_fly:
    # HM02 Fly will be placed early in the game
    # If this option is enabled, you will be able to Fly before being forced to use an item to progress
    'false': 50
    'true': 0

  hm_badge_requirements:
    # Vanilla: HMs require their vanilla badges
    # No Badges: HMs do not require a badge to use
    # Add Kanto: HMs can be used with the Johto or Kanto badge
    vanilla: 50
    no_badges: 0
    add_kanto: 0

  remove_badge_requirement:
    # Specify which HMs do not require a badge to use. This overrides the HM Badge Requirements setting.
    []

  remove_ilex_cut_tree:
    # Removes the Cut tree in Ilex Forest
    'false': 0
    'true': 50

  saffron_gatehouse_tea:
    # Sets which Saffron City gatehouses require Tea to pass. Obtaining the Tea will unlock them all.
    # If any gatehouses are enabled, adds a new location in Celadon Mansion 1F and adds Tea to the item pool.
    # Valid options are: North, East, South and West in any combination.
    []

  east_west_underground:
    # Adds an Underground Pass between Route 7 and Route 8 in Kanto.
    'false': 50
    'true': 0

  undergrounds_require_power:
    # Specifies which of the Kanto Underground Passes require the Machine Part to be returned to access.
    both: 50
    north_south: 0
    east_west: 0
    neither: 0

  reusable_tms:
    # TMs can be used an infinite number of times
    'false': 50
    'true': 0

  guaranteed_catch:
    # Balls have a 100% success rate
    'false': 50
    'true': 0

  minimum_catch_rate:
    # Sets a minimum catch rate for wild Pokemon
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 255
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  blind_trainers:
    # Trainers have no vision and will not start battles unless interacted with
    'false': 50
    'true': 0

  skip_elite_four:
    # Go straight to Lance when challenging the Elite Four
    'false': 50
    'true': 0

  better_marts:
    # Improves the selection of items at Pokemarts
    'false': 50
    'true': 0

  experience_modifier:
    # Scale the amount of Experience Points given in battle
    # Default is 20, for double set to 40, for half set to 10, etc
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 1
    # Maximum value is 255
    random: 0
    random-low: 0
    random-high: 0
    half: 0 # equivalent to 10
    normal: 50 # equivalent to 20
    double: 0 # equivalent to 40
    triple: 0 # equivalent to 60
    quadruple: 0 # equivalent to 80
    quintuple: 0 # equivalent to 100
    sextuple: 0 # equivalent to 120
    septuple: 0 # equivalent to 140
    octuple: 0 # equivalent to 160

  phone_trap_weight:
    # Adds random Pokegear calls that acts as traps
    # Weight is a percentage of filler items to replace
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  sleep_trap_weight:
    # Trap that causes Sleep status on your party
    # Weight is a percentage of filler items to replace
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  poison_trap_weight:
    # Trap that causes Poison status on your party
    # Weight is a percentage of filler items to replace
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  burn_trap_weight:
    # Trap that causes Burn status on your party
    # Weight is a percentage of filler items to replace
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  freeze_trap_weight:
    # Trap that causes Freeze status on your party
    # Weight is a percentage of filler items to replace
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  paralysis_trap_weight:
    # Trap that causes Paralysis status on your party
    # Weight is a percentage of filler items to replace
    #
    # You can define additional values between the minimum and maximum values.
    # Minimum value is 0
    # Maximum value is 8
    0: 50
    random: 0
    random-low: 0
    random-high: 0

  remote_items:
    # Instead of placing your own items directly into the ROM, all items are received from the server, including items you find for yourself.
    # This enables co-op of a single slot and recovering more items after a lost save file (if you're so unlucky).
    # But it changes pickup behavior slightly and requires connection to the server to receive any items.
    'false': 50
    'true': 0

  item_receive_sound:
    # Play item received sound on receiving a remote item
    # All items will be considered remote when Remote Items is enabled
    'false': 0
    'true': 50

  game_options:
    # Presets in-game options. These can be changed in-game later. Any omitted options will use their default.
    # 
    # Allowed options and values, with default first:
    # 
    # text_speed: mid/slow/fast/instant - Sets the speed at which text advances
    # battle_shift: shift/set - Sets whether you are asked to switch between trainer Pokemon
    # battle_animations: all/no_scene/no_bars/speedy - Sets which battle animations are played:
    #     all: All animations play, including entry and moves
    #     no_scene: Entry and move animations do not play
    #     no_bars: Entry, move and HP/EXP bar animations do not play
    #     speedy: No battle animations play and many delays are removed to make battles faster
    # sound: mono/stereo - Sets the sound mode
    # menu_account: on/off - Sets whether your start menu selection is remembered
    # text_frame: 1-8 - Sets the textbox frame
    # bike_music: on/off - Sets whether the bike music will play
    # surf_music: on/off - Sets whether the surf music will play
    # skip_nicknames: off/on - Sets whether you are asked to nickname a Pokemon upon receiving it
    # auto_run: off/on - Sets whether run activates automatically, if on you can hold B to walk
    # spinners: normal/rotators - Sets whether trainers with random spin are turned into consistent rotators
    # fast_egg_hatch: off/on - Sets whether eggs take a single cycle to hatch
    # fast_egg_make: off/on - Sets whether eggs are guaranteed after one cycle at the day care
    # rods_always_work: off/on - Sets whether the fishing rods always succeed
    # exp_distribution: gen2/gen6/gen8/no_exp - Sets the EXP distribution method:
    #     gen2: EXP is split evenly among battle participants, EXP Share splits evenly between participants and non-participants
    #     gen6: Participants earn 100% of EXP, non-participants earn 50% of EXP when EXP Share is enabled
    #     gen8: Participants earn 100% of EXP, non-participants earn 100% of EXP when EXP Share is enabled
    #     no_exp: EXP is disabled
    # catch_exp: off/on - Sets whether or not you get EXP for catching a Pokemon
    # poison_flicker: on/off - Sets whether the overworld poison flash effect is played
    # turbo_button: none/a/b/a_or_b - Sets which buttons auto advance text
    # low_hp_beep: on/off - Sets whether the low HP beep is played in battle
    # time_of_day: auto/morn/day/nite - Sets a time of day override, auto follows the clock
    # battle_move_stats: off/on - Sets whether or not to display power and accuracy for moves in battle
    {}

  enable_mischief:
    # If I told you what this does, it would ruin the surprises :)
    '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 these items.
    {}

  start_inventory_from_pool:
    # Start with these items and don't place them in the world.
    # 
    # 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.
    []
