SLOT_CODES =
{
  goal =
  {
    code = "goal",
    mapping =
    {
      [0] = 0, -- Goal Champion
      [1] = 1, -- Goal Steven
      [2] = 2, -- Goal Norman
      [3] = 3  -- Goal Legendary Hunt
    }
  },
  badges =
  {
    code = "badges_setting",
    mapping =
    {
      [0] = 0, -- Badges Off
      [1] = 1, -- Badges Shuffled
      [2] = 2  -- Badges Anywhere
    }
  },
  hms =
  {
    code = "hms_setting",
    mapping =
    {
      [0] = 0, -- HMs Off
      [1] = 1, -- HMs Shuffled
      [2] = 2  -- HMs Anywhere
    }
  },
  key_items =
  {
    code = "key_items_setting",
    mapping =
    {
      [0] = 0, -- Key Items Off
      [1] = 1  -- Key Items On
    }
  },
  bikes =
  {
    code = "bikes_setting",
    mapping =
    {
      [0] = 0, -- Bikes Off
      [1] = 1  -- Bikes On
    }
  },
  event_tickets =
  {
    code = "tickets_setting",
    mapping =
    {
      [0] = 0, -- Event Tickets Off
      [1] = 1  -- Event Tickets On
    }
  },
  rods =
  {
    code = "rods_setting",
    mapping =
    {
      [0] = 0, -- Fishing Rods Off
      [1] = 1  -- Fishing Rods On
    }
  },
  hidden_items =
  {
    code = "hidden_setting",
    mapping =
    {
      [0] = 0, -- Hidden Items Off
      [1] = 1  -- Hidden Items On
    }
  },
  overworld_items =
  {
    code = "overworld_setting",
    mapping =
    {
      [0] = 0, -- Overworld Items Off
      [1] = 1  -- Overworld Items On
    }
  },
  npc_gifts =
  {
    code = "gifts_setting",
    mapping =
    {
      [0] = 0, -- NPC Gifts Off
      [1] = 1  -- NPC Gifts On
    }
  },
  berry_trees =
  {
    code = "berries_setting",
    mapping =
    {
      [0] = 0, -- Berry Trees Off
      [1] = 1  -- Berry Trees On
    }
  },
  dexsanity =
  {
    code = "pokedex_setting",
    mapping =
    {
      [0] = 0, -- Dexsanity Off
      [1] = 1  -- Dexsanity On
    }
  },
  trainersanity =
  {
    code = "trainers_setting",
    mapping =
    {
      [0] = 0, -- Trainersanity Off
      [1] = 1  -- Trainersanity On
    }
  },
  require_itemfinder =
  {
    code = "itemfinder_setting",
    mapping =
    {
      [0] = 0, -- Itemfinder Required Off
      [1] = 1  -- Itemfinder Required On
    }
  },
  require_flash =
  {
    code = "flash_setting",
    mapping =
    {
      [0] = 0, -- Flash Not Required
      [1] = 1, -- Flash Required (Granite Cave)
      [2] = 2, -- Flash Required (Victory Road)
      [3] = 3  -- Flash Required (Both)
    }
  },
  elite_four_requirement =
  {
    code = "e4_req_setting",
    mapping =
    {
      [0] = 0, -- Badges Required
      [1] = 1  -- Gyms Required
    }
  },
  elite_four_count =
  {
    code = "e4_req_count",
    mapping =
    {
      [0] = 0, -- 0 Badges/Gyms Required
      [1] = 1, -- 1 Badges/Gyms Required
      [2] = 2, -- 2 Badges/Gyms Required
      [3] = 3, -- 3 Badges/Gyms Required
      [4] = 4, -- 4 Badges/Gyms Required
      [5] = 5, -- 5 Badges/Gyms Required
      [6] = 6, -- 6 Badges/Gyms Required
      [7] = 7, -- 7 Badges/Gyms Required
      [8] = 8  -- 8 Badges/Gyms Required
    }
  },
  norman_requirement =
  {
    code = "norman_req_setting",
    mapping =
    {
      [0] = 0, -- Badges Required
      [1] = 1  -- Gyms Required
    }
  },
  norman_count =
  {
    code = "norman_req_count",
    mapping =
    {
      [0] = 0, -- 0 Badges/Gyms Required
      [1] = 1, -- 1 Badges/Gyms Required
      [2] = 2, -- 2 Badges/Gyms Required
      [3] = 3, -- 3 Badges/Gyms Required
      [4] = 4, -- 4 Badges/Gyms Required
      [5] = 5, -- 5 Badges/Gyms Required
      [6] = 6, -- 6 Badges/Gyms Required
      [7] = 7  -- 7 Badges/Gyms Required
    }
  },
  legendary_hunt_catch =
  {
    code = "legendary_hunt_req_setting",
    mapping =
    {
      [0] = 0, -- Legendary Hunt Defeat
      [1] = 1  -- Legendary Hunt Catch
    }
  },
  legendary_hunt_count =
  {
    code = "legendary_hunt_req_count",
    mapping =
    {
      [1] = 0,   -- 1 Legendaries Required
      [2] = 1,   -- 2 Legendaries Required
      [3] = 2,   -- 3 Legendaries Required
      [4] = 3,   -- 4 Legendaries Required
      [5] = 4,   -- 5 Legendaries Required
      [6] = 5,   -- 6 Legendaries Required
      [7] = 6,   -- 7 Legendaries Required
      [8] = 7,   -- 8 Legendaries Required
      [9] = 8,   -- 9 Legendaries Required
      [10] = 9,  -- 10 Legendaries Required
      [11] = 10, -- 11 Legendaries Required
      [12] = 11  -- 12 Legendaries Required
    }
  },
  extra_boulders =
  {
    code = "route_115_boulders_setting",
    mapping =
    {
      [0] = 0, -- Extra Boulders Off
      [1] = 1  -- Extra Boulders On
    }
  },
  extra_bumpy_slope =
  {
    code = "route_115_bumpy_slope_setting",
    mapping =
    {
      [0] = 0, -- Extra Bumpy Slope Off
      [1] = 1  -- Extra Bumpy Slope On
    }
  },
  modify_118 =
  {
    code = "route_118_rails_setting",
    mapping =
    {
      [0] = 0, -- Modify Route 118 Off
      [1] = 1  -- Modify Route 118 On
    }
  },
  normalize_encounter_rates =
  {
    code = "normalize_encounters_setting",
    mapping =
    {
      [0] = 0, -- Normalize Encounters Off
      [1] = 1  -- Normalize Encounters On
    }
  },
  free_fly_location_id =
  {
    code = "free_fly_setting",
    mapping =
    {
      [0] = 0,  -- Free Fly Littleroot
      [1] = 1,  -- Free Fly Oldale
      [2] = 2,  -- Free Fly Petalburg
      [3] = 3,  -- Free Fly Rustboro
      [4] = 4,  -- Free Fly Dewford
      [5] = 5,  -- Free Fly Slateport
      [6] = 6,  -- Free Fly Mauville
      [7] = 7,  -- Free Fly Verdanturf
      [8] = 8,  -- Free Fly Fallarbor
      [9] = 9,  -- Free Fly Lavaridge
      [10] = 10, -- Free Fly Fortree
      [11] = 11, -- Free Fly Lilycove
      [12] = 12, -- Free Fly Mossdeep
      [13] = 13, -- Free Fly Sootopolis
      [15] = 14 -- Free Fly Ever Grande
    }
  }
}

ROADBLOCKS =
{
  ["Route 110 Aqua Grunts"] = "rt_110_grunts_setting",
  ["Route 112 Magma Grunts"] = "rt_112_grunts_setting",
  ["Route 119 Aqua Grunts"] = "rt_119_grunts_setting",
  ["Safari Zone Construction Workers"] = "safari_setting",
  ["Lilycove City Wailmer"] = "wailmer_setting",
  ["Aqua Hideout Grunts"] = "hideout_grunts_setting",
  ["Seafloor Cavern Aqua Grunt"] = "sea_floor_grunts_setting"
}

LEGENDARY_HUNT =
{
  ["Groudon"] = "legendary_hunt_groudon",
  ["Kyogre"] = "legendary_hunt_kyogre",
  ["Rayquaza"] = "legendary_hunt_rayquaza",
  ["Latios"] = "legendary_hunt_latios",
  ["Latias"] = "legendary_hunt_latias",
  ["Regirock"] = "legendary_hunt_regirock",
  ["Registeel"] = "legendary_hunt_registeel",
  ["Regice"] = "legendary_hunt_regice",
  ["Ho-Oh"] = "legendary_hunt_ho-oh",
  ["Lugia"] = "legendary_hunt_lugia",
  ["Deoxys"] = "legendary_hunt_deoxys",
  ["Mew"] = "legendary_hunt_mew"
}