name: Pocket Kitteh

description: |
  Kitteh's Multi-Pokemon-Drifting Setup
  
  The purpose of this is to pick from amongst the configured Pokemon games
  and game options set in `Kitteh Config` to get a roughly random experience
  whilst still be able to tailor it to the event (i.e. correct amount of time
  or checks). Very much a work in progress.
  
  **Games:** Pokemon Crystal, Emerald, and FireRed/LeafGreen
  
  **Primary Settings:**
  
   - `death_link`: as per AP. Also enables traps and trap links in Crystal.

   - `chaos_level`: How much the gameplay is randomised.
      - `vanilla`: you won't notice
      - `random_mons`: new BST distributions and move-sets to make it feel fresh
      - `random_types`: Pokemon's types and evolutions are now randomised.
      - `random_game_rules`: The type chart and move pools as you know them cease to exist
      - `eff_me_up`: Varies per game, but will require extensive spreadsheets and note taking to play.
        (or may put you in metronome only mode in which case good luck!)
  
   - Settings for amount of checks
     - `dex_sanity_level`: how much Pokedex filling is needed. partial is around 100 checks.
     - `trainer_sanity_level`: how many trainers are checks. partial is around 100 checks.
     - `shop_sanity_level`: in case you need more checks for some reason.

  General Changes:
    - Wild pokemon encounters are always randomised (though in what way varies)
    - Phy/Spec split is on for Crystal/FRLG if `chaos_level` is not 'Vanilla'
      - Sadly there's no flag for Emerald
    - Trainer parties are always scaled and randomised; typically they type match
    - Where possible, HMs work as in modern games where they don't need to be taught

  Random Notes:
    - Emerald has far fewer options for Pokemon randomisation, so sees less variation in the middle levels
    - Partial trainer sanity is not possible in Emerald
    - Partial dex sanity is not possible in Emerald
    

requires:
  version: 0.6.7
  game:
    Pokemon Emerald: 2.5.0
    Pokemon Crystal: 5.4.6
    Pokemon FireRed and LeafGreen: 1.1.2

game:
  Pokemon Crystal: 100
  Pokemon Emerald: 0
  Pokemon FireRed and LeafGreen: 0

# Quick options propagated to all games via triggers
Kitteh Config:
  death_link: false

  chaos_level:
    vanilla: 0
    random_mons: 0
    random_types: 100
    random_game_rules: 0
    eff_me_up: 0

  dex_sanity_level:
    none: 0
    partial: 100
    full: 0

  trainer_sanity_level:
    none: 0
    partial: 100
    full: 0

  shop_sanity_level:
    none: 100
    full: 0

triggers:
  - option_category: Kitteh Config
    option_name: death_link
    option_result: true
    options:
      Pokemon Crystal:
        death_link: true
        trap_link: true
        filler_trap_percentage: random-range-low-10-30

      Pokemon Emerald:
        death_link: true
      Pokemon FireRed and LeafGreen:
        death_link: true
  - option_category: Kitteh Config
    option_name: death_link
    option_result: false
    options:
      Pokemon Crystal:
        death_link: false
      Pokemon Emerald:
        death_link: false
      Pokemon FireRed and LeafGreen:
        death_link: false

  ################
  # Chaos Level  #
  ################

  # vanilla: "The Vanilla Experience"
  - option_category: Kitteh Config
    option_name: chaos_level
    option_result: vanilla
    options:
      Pokemon Crystal:
        randomize_starters: vanilla
        randomize_learnsets: vanilla
        physical_special_split: vanilla
        randomize_trades: vanilla
        randomize_tm_moves: false
        reusable_tms: false
        tm_compatibility: vanilla
      Pokemon FireRed and LeafGreen:
        wild_pokemon: vanilla
        level_up_moves: vanilla
        types: vanilla
        abilities: vanilla
        ability_blacklist: []
        tm_tutor_moves: false
        tm_tutor_compatibility: vanilla
        reusable_tm_tutors: false
      Pokemon Emerald:
        wild_pokemon: vanilla
        level_up_moves: vanilla
        types: vanilla
        abilities: vanilla
        ability_blacklist: []
        tm_tutor_moves: false
        tm_tutor_compatibility: vanilla
        reusable_tms_tutors: false

  # random_mons: "Randomise Pokemon Stats & Move Pool"
  - option_category: Kitteh Config
    option_name: chaos_level
    option_result: random_mons
    options:
      Pokemon Crystal:
        randomize_base_stats: keep_bst

        randomize_wilds:
          base_forms: 70
          evolution_lines: 30

        randomize_moves:
          - Power Restricted
          - PP Restricted
      Pokemon FireRed and LeafGreen:
        base_stats: keep_bst
        wild_pokemon: match_base_stats_and_type
      Pokemon Emerald:
        wild_pokemon: match_base_stats_and_type
        starters: match_base_stats
        misc_pokemon: completely_random

  # random_types: "Randomise Pokemon Types and Evolutions"
  - option_category: Kitteh Config
    option_name: chaos_level
    option_result: random_types
    options:
      Pokemon Crystal:
        randomize_types: follow_evolutions
        randomize_palettes: match_types

        randomize_base_stats: keep_bst
        randomize_evolution: match_a_type
        convergent_evolution: allow
        randomize_breeding: line_base

        randomize_wilds: evolution_lines

        modernise_moves_generation: random
        randomize_moves:
          - Power Restricted
          - PP Restricted
      Pokemon FireRed and LeafGreen:
        base_stats: keep_bst
        types: follow_evolutions
        wild_pokemon: match_base_stats
        legendary_pokemon: legendaries
        trainers: match_type
      Pokemon Emerald:
        types: shuffle
        starters: match_base_stats
        wild_pokemon: match_base_stats
        misc_pokemon: match_base_stats
        legendary_encounters: shuffle

  # random_game_rules: "Randomise the types chart, move types, and all mon details"
  - option_category: Kitteh Config
    option_name: chaos_level
    option_result: random_game_rules
    options:
      Pokemon Crystal:
        randomize_type_chart: shuffle
        randomize_types: follow_evolutions
        randomize_palettes: match_types
        all_pokemon_seen: true

        randomize_base_stats: keep_bst
        randomize_evolution: increase_bst
        convergent_evolution: allow
        randomize_breeding: line_base

        randomize_wilds: evolution_lines

        randomize_static_pokemon: true

        modernise_moves_generation: random
        randomize_moves:
          - Power Full
          - Accuracy
          - PP Full
          - Type
        physical_special_split: random_by_move
      Pokemon FireRed and LeafGreen:
        base_stats: shuffle
        types: follow_evolutions
        move_types: completely_random
        damage_categories: shuffle
        wild_pokemon: match_base_stats_and_type
        wild_pokemon_groups: none
        legendary_pokemon: legendaries
      Pokemon Emerald:
        types: follow_evolutions
        starters: match_base_stats
        wild_pokemon: match_base_stats
        misc_pokemon: completely_random
        legendary_encounters: shuffle

  # eff_me_up: "Randomise everything you can"
  - option_category: Kitteh Config
    option_name: chaos_level
    option_result: eff_me_up
    options:
      Pokemon Crystal:
        randomize_type_chart: completely_random
        randomize_types: completely_random
        randomize_palettes: completely_random

        randomize_base_stats: completely_random
        randomize_evolution: match_a_type
        convergent_evolution: allow
        randomize_breeding: decrease_bst

        randomize_starters: completely_random
        randomize_wilds: completely_random

        randomize_static_pokemon: true

        modernise_moves_generation: random
        randomize_moves: [_All]
        physical_special_split: random_by_move
        metronome_only:
          false: 80
          true: 20

        wild_encounter_blocklist: []
        breeding_blocklist: []
        evolution_blocklist: []
        starter_blocklist: []
        static_blocklist: []
        trainer_party_blocklist: []

        enable_mischief: mild

        randomize_item_values: true
        minimum_item_value: 100
        maximum_item_value: 5000
      Pokemon FireRed and LeafGreen:
        shuffle_pokemon_centers: true
        shuffle_gyms: true
        shuffle_marts: true
        shuffle_harbors: true
        shuffle_buildings: full
        shuffle_dungeons: full
        shuffle_interiors: true
        shuffle_warp_tiles: full
        shuffle_jumping_shoes: true
        elevators_condition: locked

        base_stats: completely_random
        move_types: completely_random
        damage_categories: completely_random
        types: completely_random
        abilities: completely_random
        ability_blacklist: []
        legendary_pokemon: legendaries
      Pokemon Emerald:
        types: completely_random
        starters: completely_random
        wild_pokemon: completely_random
        misc_pokemon: completely_random
        legendary_encounters: completely_random
        abilities: completely_random
        ability_blacklist: []

  ################
  # Dex Sanity   #
  ################
  - option_category: Kitteh Config
    option_name: dex_sanity_level
    option_result: full
    options:
      Pokemon Crystal:
        randomize_pokedex: start_with

        dexsanity: random-range-high-180-251
        dexcountsanity: random-range-high-180-251
        dexcountsanity_step: random-range-2-8
        dexcountsanity_leniency: 8
        dexsanity_starters: available_early

        encounter_grouping: all_split
        encounter_slot_distribution: equal
        minimum_catch_rate: random-range-160-250
      Pokemon FireRed and LeafGreen:
        dexsanity: all
        minimum_catch_rate: random-range-160-250
        shuffle_pokedex: start_with
      Pokemon Emerald:
        dexsanity: true

  - option_category: Kitteh Config
    option_name: dex_sanity_level
    option_result: partial
    options:
      Pokemon Crystal:
        +start_hints:
          - Pokedex

        dexsanity: 80
        dexsanity_starters: block

        dexcountsanity: 80
        dexcountsanity_step: 4
        dexcountsanity_leniency: 8

        minimum_catch_rate: random-range-100-200
      Pokemon FireRed and LeafGreen:
        +start_hints:
          - Pokedex

        dexsanity: 'true'
        minimum_catch_rate: random-range-160-250
      Pokemon Emerald:
        # NOTE: Partial dex sanity is not possible in Emerald
        dexsanity: "PARTIAL NOT POSSIBLE"

  ##################
  # Trainer Sanity #
  ##################

  - option_category: Kitteh Config
    option_name: trainer_sanity_level
    option_result: full
    options:
      Pokemon Crystal:
        johto_trainersanity: full
        kanto_trainersanity: full
      Pokemon FireRed and LeafGreen:
        kanto_trainersanity: all
        sevii_trainersanity: all
      Pokemon Emerald:
        trainersanity: true

  - option_category: Kitteh Config
    option_name: trainer_sanity_level
    option_result: partial
    options:
      Pokemon Crystal:
        johto_trainersanity: random-range-middle-50-70
        kanto_trainersanity: random-range-middle-30-50
      Pokemon FireRed and LeafGreen:
        kanto_trainersanity: random-range-middle-65-85
        sevii_trainersanity: random-range-middle-20-30
      Pokemon Emerald:
        # NOTE: Partial trainer sanity is not possible in Emerald
        trainersanity: "PARTIAL NOT POSSIBLE"

  ################
  # Shop Sanity  #
  ################
  - option_category: Kitteh Config
    option_name: shop_sanity_level
    option_result: full
    options:
      Pokemon Crystal:
        shopsanity: [ "Johto Marts", "Kanto Marts" ]

        shopsanity_prices: spheres_and_classification
        shopsanity_minimum_price: 100
        shopsanity_maximum_price: 3000

        provide_shop_hints: progression_and_useful
        shopsanity_restrict_rare_candies: true
        shopsanity_x_items: anywhere

        randomize_bug_catching_contest: participate
        randomize_phone_call_items: on_simple
      Pokemon FireRed and LeafGreen:
        shopsanity: true
        shop_slots: random-range-1-2
        vending_machines: true
        consistent_shop_prices: true
        shop_prices: standard
      Pokemon Emerald:
        trainersanity: "SHOPSANITY NOT POSSIBLE"

################################################################################
################################################################################

Pokemon Crystal:
  ################
  # Game Options #
  ################
  progression_balancing: random-range-low-50-80
  accessibility: full
  goal:
    elite_four: 1
    diploma: 1
    rival: 1

  trainer_name: ''
  death_link: false

  #######
  # Map #
  #######
  johto_only: off
  randomize_starting_town: true
  starting_town_blocklist: []
  lock_kanto_gyms: 'off'

  ##############
  # Roadblocks #
  ##############
  elite_four_requirement: badges
  elite_four_count: random-range-low-8-12
  skip_elite_four: false

  # Sets the requirement to battle Red
  red_requirement: badges
  red_count: random-range-high-10-16

  # Sets the requirement to access Mt. Silver and Silver Cave
  mt_silver_requirement: badges
  mt_silver_count: random-range-high-10-16

  # Radio Tower sub-plot
  radio_tower_requirement: badges
  radio_tower_count: random-range-4-8
  route_44_access_requirement: badges
  route_44_access_count: random-range-5-9

  # Add more roadblocks to create more spheres
  kanto_access_requirement: wake_snorlax
  dark_areas: ['Dark Cave', 'Silver Cave', '_Random']
  victory_road_access: strength
  route_2_access: vanilla
  route_3_access: boulder_badge
  route_12_access: weird_tree
  route_30_access: mystery_egg
  route_30_battle: blocks_both
  route_32_condition: egg_from_aide
  route_42_access: whirlpool_open_mortar
  mount_mortar_access: rock_smash
  red_gyarados_access: vanilla
  blackthorn_dark_cave_access: waterfall
  national_park_access: bicycle
  saffron_gatehouse_tea: ['_All']
  remove_ilex_cut_tree: false
  undergrounds_require_power: both
  east_west_underground: false
  vanilla_clair: true
  magnet_train_access: pass_and_power
  ss_aqua_access: lighthouse_and_ticket

  #########
  # Items #
  #########
  randomize_badges: completely_random
  randomize_pokegear: true
  randomize_pokedex: randomize
  randomize_hidden_items: true
  randomize_berry_trees: false
  randomize_pokemon_requests: items_and_pokemon
  randomize_fly_unlocks: on
  randomize_bug_catching_contest: off
  randomize_phone_call_items: off
  require_itemfinder: hard_required
  add_missing_useful_items: true

  # Retain local items
  remote_items: false
  item_pool_fill: vanilla
  exclude_post_goal_locations: true

  #######
  # HMs #
  #######
  hm_compatibility: vanilla
  field_moves_always_usable: true

  hm_badge_requirements: {regional: 60, add_kanto: 40}

  remove_badge_requirement: []
  require_flash: hard_required

  early_fly: false
  free_fly_location: free_fly_and_map_card
  free_fly_blocklist: []
  always_unlock_fly_destinations: false
  fly_cheese: disallow

  ###########
  # Pokemon #
  ###########

  wild_encounter_blocklist: ['_Legendaries']
  breeding_blocklist: ["_Legendaries"]
  evolution_blocklist: ["_Legendaries"]
  static_blocklist: []

  encounter_grouping: one_per_method
  progress_rods: true

  # Randomizes species of in-game trades
  randomize_trades: both

  ############
  # Starters #
  ############
  randomize_starters: first_stage_can_evolve  # -> vanilla for Vanilla chaos level
  starters_bst_average: random-range-300-350
  starter_blocklist: ["_Legendaries"]

  #########
  # Moves #
  #########
  randomize_learnsets: start_with_four_moves  # -> vanilla for Vanilla chaos level
  learnset_type_bias: random-range-55-70

  physical_special_split: modern
  hm_power_cap: none
  randomize_tm_moves: true

  tm_compatibility: random-range-60-100
  reusable_tms: true

  ############
  # Trainers #
  ############
  randomize_trainer_parties: match_types
  trainer_party_blocklist: ["_Legendaries"]
  boost_trainers: vanilla
  trainer_level_boost: 1 # Does nothing with boost_trainers: vanilla
  level_scaling: spheres_and_distance

  force_fully_evolved: random-range-middle-36-60

  #################
  # Pokemon Logic #
  #################
  wild_encounter_methods_required: ["_All"]
  enforce_wild_encounter_methods_logic: false
  static_pokemon_required: true

  evolution_methods_required: ['Level', 'Use Item', 'Happiness']
  breeding_methods_required: none

  evolution_gym_levels: random-range-6-10

  #########
  # Traps #
  #########
  trap_weights:
    Phone Trap: 100

    Ice Trap: 20
    Sandstorm Trap: 20
    Teleport Trap: 20

    Burn Trap: 10
    Freeze Trap: 10
    Paralysis Trap: 10
    Sleep Trap: 10
    Poison Trap: 0

    Explosion Trap: 0
    Metronome Trap: 0
    Tutorial Trap: 0
    Whirlpool Trap: 0

  ###################
  # Quality of Life #
  ###################
  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:
    # 
    # ap_item_sound: on/off - Sets whether a sound is played when a remote item is received
    # auto_hms: off/on - HMs will be used automatically where possible, if their usage conditions are met
    # auto_run: off/on - Sets whether run activates automatically, if on you can hold B to walk
    # 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
    # battle_move_stats: off/on - Sets whether or not to display power and accuracy of moves in battle
    # battle_shift: shift/set - Sets whether you are asked to switch between trainer Pokemon
    # bike_music: on/off - Sets whether the bike music will play
    # blind_trainers: off/on - Sets whether trainers will see you without talking to them directly
    # catch_exp: off/on - Sets whether or not you get EXP for catching a Pokemon
    # dex_area_beep: off/on - Sets whether the Pokedex beeps for land and Surf encounters in the current area
    # 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
    # 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
    # guaranteed_catch: off/on - Sets whether balls have a 100% success rate
    # hms_require_teaching: on/off - Sets whether it is required to teach field moves to use them in the field
    # item_notification: popup/sound/none - Sets how Trainersanity, Dex(count)sanity and Grasssanity locations show item notifications
    # low_hp_beep: on/off - Sets whether the low HP beep is played in battle
    # menu_account: on/off - Sets whether your start menu selection is remembered
    # more_uncaught_encounters: on/off - Sets whether wild encounters of Pokemon you have not caught are more likely
    # poison_flicker: on/off - Sets whether the overworld poison flash effect is played
    # rods_always_work: off/on - Sets whether the fishing rods always succeed
    # short_fanfares: off/on - Sets whether item receive fanfares are shortened
    # skip_dex_registration: off/on - Sets whether the Pokedex registration screen is skipped
    # skip_nicknames: off/on - Sets whether you are asked to nickname a Pokemon upon receiving it
    # sound: mono/stereo - Sets the sound mode
    # spinners: normal/rotators - Sets whether trainers with random spin are turned into consistent rotators
    # surf_music: on/off - Sets whether the surf music will play
    # text_frame: 1-8 - Sets the textbox frame, "random" will pick a random frame
    # text_speed: mid/slow/fast/instant - Sets the speed at which text advances
    # time_of_day: auto/morn/day/nite - Sets a time of day override, auto follows the clock, "random" will pick a random time
    # trainersanity_indication - Sets whether Trainersanity trainers have grayscale sprites until they are beaten
    # turbo_button: none/a/b/a_or_b - Sets which buttons auto advance text when held
    ap_item_sound: 'on'
    auto_hms: 'on'
    auto_run: 'on'
    battle_animations: all
    battle_move_stats: 'on'
    battle_shift: shift
    bike_music: 'on'
    blind_trainers: 'on'
    catch_exp: 'on'
    dex_area_beep: 'off'
    exp_distribution: gen2
    fast_egg_hatch: 'on'
    fast_egg_make: 'on'
    guaranteed_catch: 'off'
    hms_require_teaching: 'off'
    item_notification: 'sound'
    low_hp_beep: 'on'
    menu_account: 'on'
    more_uncaught_encounters: 'on'
    poison_flicker: 'on'
    rods_always_work: 'off'
    short_fanfares: 'on'
    skip_dex_registration: 'on'
    skip_nicknames: 'on'
    sound: stereo
    spinners: normal
    surf_music: 'on'
    text_frame: 1
    text_speed: fast
    time_of_day: auto
    trainersanity_indication: 'on'
    turbo_button: none

################################################################################
################################################################################

Pokemon Emerald:
  ################
  # Game Options #
  ################
  progression_balancing: random-range-low-50-80
  accessibility: full
  goal:
    champion: 50
    steven: 50

  ################
  # Game Rules   #
  ################
  elite_four_requirement: badges
  elite_four_count: 8

  norman_requirement: badges
  norman_count: { 4: 80, 5: 15, 3: 5 }

  ################
  # Items Pool   #
  ################
  badges: completely_random
  hms: completely_random
  key_items: true
  bikes: true
  event_tickets: false
  rods: true
  overworld_items: true
  hidden_items: true
  npc_gifts: true
  berry_trees: false

  item_pool_type: diverse_balanced
  require_itemfinder: true
  require_flash: both

  #################
  # Pokemon Logic #
  #################
  wild_pokemon: match_base_stats_and_type
  starters: match_base_stats_and_type
  misc_pokemon: match_base_stats_and_type

  wild_encounter_blacklist: ["_Legendaries"]
  starter_blacklist: ["_Legendaries"]

  abilities: follow_evolutions
  ability_blacklist: ["Wonder Guard", "Shadow Tag"]

  level_up_moves: start_with_four_moves
  move_match_type_bias: random-range-middle-60-80
  move_normal_type_bias: random-range-middle-60-80

  #################
  # Trainers      #
  #################
  trainer_parties: match_type
  trainer_party_blacklist: ["_Legendaries"]

  force_fully_evolved: random-range-middle-36-60

  blind_trainers: true
  purge_spinners: true

  match_trainer_levels: off
  match_trainer_levels_bonus: 0
  double_battle_chance: random-range-0-30

  #################
  # HMs/TMs       #
  #################
  tm_tutor_compatibility: full
  hm_compatibility: full

  tm_tutor_moves: true
  reusable_tms_tutors: true
  move_blacklist: []

  hm_requirements: vanilla

  #################
  # Capturing     #
  #################
  guaranteed_catch: false

  normalize_encounter_rates: true

  better_shops: false

  ##############
  # Roadblocks #
  ##############
  remove_roadblocks: []
  extra_boulders: true
  extra_bumpy_slope: true
  modify_118: true

  free_fly_location: false
  free_fly_blacklist: []

  turbo_a: true

  receive_item_messages: progression
  remote_items: false

################################################################################
################################################################################

Pokemon FireRed and LeafGreen:
  ################
  # Game Options #
  ################
  progression_balancing: random-range-low-50-80
  accessibility: full
  game_version: random
  goal: champion

  provide_hints: progression_and_useful

  skip_elite_four: 'false'

  kanto_only: 'false'
  random_starting_town: 'true'
  starting_town_blacklist: []

  dungeon_entrance_shuffle: restricted
  shuffle_fly_unlocks: exclude_indigo
  randomize_fly_destinations: false

  shuffle_badges: 'true'
  shuffle_hidden: nonrecurring
  extra_key_items: 'true'

  shop_prices: vanilla
  minimum_shop_price: 100
  maximum_shop_price: 3000

  kanto_trainersanity: none
  sevii_trainersanity: none
  famesanity: false

  pokemon_request_locations: true
  shuffle_pokedex: shuffle
  shuffle_running_shoes: start_with
  shuffle_berry_pouch: true
  shuffle_tm_case: true

  shuffle_jumping_shoes: false
  bicycle_requires_jumping_shoes: true
  acrobatic_bicycle: true

  card_key: progressive
  island_passes: progressive_split
  fishing_rods: progressive
  split_teas: true
  gym_keys: true

  itemfinder_required: required
  flash_required: required
  fame_checker_required: true

  evolutions_required:
    # Sets which types of locations and/or access rules that evolutions may be logically required for.
    [ 'HM Requirement', "Oak's Aides", 'Dexsanity' ]

  evolution_methods_required:
    # Sets which types of evolutions may be logically required.
    [ 'Level', 'Evo Item', 'Evo & Held Item', 'Friendship' ]

  viridian_city_roadblock: vanilla
  pewter_city_roadblock: brock
  digletts_cave_roadblock: rock_smash
  block_underground_paths: true
  remove_cerulean_city_roadblocks: false

  route_9_roadblock: rock_smash
  route_10_waterfall: true
  block_pokemon_tower: true
  route_12_boulders: true
  route_12_rocks: true
  route_16_rock: false
  route_23_trees: true
  route_23_waterfall: true
  victory_road_rocks: true
  block_vermilion_sailing: true

  open_silph_co: false
  remove_saffron_rockets: false

  additional_dark_caves: ['Victory Road']

  remove_badge_requirement: []

  oaks_aide_route_2: 10
  oaks_aide_route_10: 20
  oaks_aide_route_11: 30
  oaks_aide_route_16: 40
  oaks_aide_route_15: 50

  fossil_count: 3

  viridian_gym_requirement: badges
  viridian_gym_count: {7: 75, 6: 20, 5: 5}

  route22_gate_requirement: badges
  route22_gate_count: {8: 10, 7: 70, 6: 15, 5: 5}

  route23_guard_requirement: badges
  route23_guard_count: {8: 10, 7: 70, 6: 15, 5: 5}

  elite_four_requirement: badges
  elite_four_count: 8
  elite_four_rematch_count: 8

  cerulean_cave_requirement: vanilla
  cerulean_cave_count: 8

  level_scaling: spheres_and_distance
  modify_trainer_levels: 100

  force_fully_evolved: random-range-middle-36-60

  wild_pokemon: match_base_stats_and_type
  wild_pokemon_groups: dungeons
  wild_pokemon_blacklist: ["Legendaries"]

  starters: match_base_stats_and_type
  starter_blacklist: ["Legendaries"]

  trainers: match_base_stats_and_type
  trainer_blacklist: ["Legendaries"]

  legendary_pokemon: vanilla
  legendary_pokemon_blacklist: []

  misc_pokemon: match_base_stats_and_type
  misc_pokemon_blacklist: ["Legendaries"]

  types: vanilla

  abilities: follow_evolutions
  ability_blacklist: ["Wonder Guard", "Shadow Tag"]

  level_up_moves: start_with_four_moves
  move_match_type_bias: random-range-middle-60-80
  move_normal_type_bias: random-range-middle-60-80
  move_blacklist: []

  physical_special_split: true

  move_types: vanilla
  damage_categories: vanilla

  hm_compatibility: full

  tm_tutor_compatibility: 80
  tm_tutor_moves: true
  tm_tutor_moves_blacklist: []
  reusable_tm_tutors: true

  free_fly_location: false
  free_fly_blacklist: []

  town_map_fly_location: false
  town_map_fly_blacklist: []

  remote_items: false

  game_options:
    Frame: 1
    Text Speed: Instant
    Turbo Button: 'A'
    Button Mode: Help

    Sound: Stereo
    Surf Music: 'On'
    Bike Music: 'On'
    Low HP Beep: 'On'

    Auto Run: 'On'
    Battle Scene: 'On'
    Battle Style: Shift
    Blind Trainers: 'On'

    Show Effectiveness: 'On'

    Encounter Rates: Normalized
    Encounter Mode: Boost
    Guaranteed Catch: 'Off'
    Guaranteed Run: 'Off'

    Item Messages: Progression
    Skip Fanfares: 'Off'
    Skip Nicknames: 'On'
