Move heal locations data to their associated map.json (#673)

This commit is contained in:
GriffinR
2024-10-11 15:17:18 -04:00
committed by GitHub
parent 967a1f98b4
commit bb50006fc9
54 changed files with 446 additions and 247 deletions
-71
View File
@@ -1,71 +0,0 @@
static const struct HealLocation sSpawnPoints[] =
{
[SPAWN_PALLET_TOWN - 1] = {MAP_GROUP(MAP_PALLET_TOWN), MAP_NUM(MAP_PALLET_TOWN), 6, 8},
[SPAWN_VIRIDIAN_CITY - 1] = {MAP_GROUP(MAP_VIRIDIAN_CITY), MAP_NUM(MAP_VIRIDIAN_CITY), 26, 27},
[SPAWN_PEWTER_CITY - 1] = {MAP_GROUP(MAP_PEWTER_CITY), MAP_NUM(MAP_PEWTER_CITY), 17, 26},
[SPAWN_CERULEAN_CITY - 1] = {MAP_GROUP(MAP_CERULEAN_CITY), MAP_NUM(MAP_CERULEAN_CITY), 22, 20},
[SPAWN_LAVENDER_TOWN - 1] = {MAP_GROUP(MAP_LAVENDER_TOWN), MAP_NUM(MAP_LAVENDER_TOWN), 6, 6},
[SPAWN_VERMILION_CITY - 1] = {MAP_GROUP(MAP_VERMILION_CITY), MAP_NUM(MAP_VERMILION_CITY), 15, 7},
[SPAWN_CELADON_CITY - 1] = {MAP_GROUP(MAP_CELADON_CITY), MAP_NUM(MAP_CELADON_CITY), 48, 12},
[SPAWN_FUCHSIA_CITY - 1] = {MAP_GROUP(MAP_FUCHSIA_CITY), MAP_NUM(MAP_FUCHSIA_CITY), 25, 32},
[SPAWN_CINNABAR_ISLAND - 1] = {MAP_GROUP(MAP_CINNABAR_ISLAND), MAP_NUM(MAP_CINNABAR_ISLAND), 14, 12},
[SPAWN_INDIGO_PLATEAU - 1] = {MAP_GROUP(MAP_INDIGO_PLATEAU_EXTERIOR), MAP_NUM(MAP_INDIGO_PLATEAU_EXTERIOR), 11, 7},
[SPAWN_SAFFRON_CITY - 1] = {MAP_GROUP(MAP_SAFFRON_CITY), MAP_NUM(MAP_SAFFRON_CITY), 24, 39},
[SPAWN_ROUTE4 - 1] = {MAP_GROUP(MAP_ROUTE4), MAP_NUM(MAP_ROUTE4), 12, 6},
[SPAWN_ROUTE10 - 1] = {MAP_GROUP(MAP_ROUTE10), MAP_NUM(MAP_ROUTE10), 13, 21},
[SPAWN_ONE_ISLAND - 1] = {MAP_GROUP(MAP_ONE_ISLAND), MAP_NUM(MAP_ONE_ISLAND), 14, 6},
[SPAWN_TWO_ISLAND - 1] = {MAP_GROUP(MAP_TWO_ISLAND), MAP_NUM(MAP_TWO_ISLAND), 21, 8},
[SPAWN_THREE_ISLAND - 1] = {MAP_GROUP(MAP_THREE_ISLAND), MAP_NUM(MAP_THREE_ISLAND), 14, 28},
[SPAWN_FOUR_ISLAND - 1] = {MAP_GROUP(MAP_FOUR_ISLAND), MAP_NUM(MAP_FOUR_ISLAND), 18, 21},
[SPAWN_FIVE_ISLAND - 1] = {MAP_GROUP(MAP_FIVE_ISLAND), MAP_NUM(MAP_FIVE_ISLAND), 18, 7},
[SPAWN_SEVEN_ISLAND - 1] = {MAP_GROUP(MAP_SEVEN_ISLAND), MAP_NUM(MAP_SEVEN_ISLAND), 12, 4},
[SPAWN_SIX_ISLAND - 1] = {MAP_GROUP(MAP_SIX_ISLAND), MAP_NUM(MAP_SIX_ISLAND), 11, 12},
};
static const u16 sWhiteoutRespawnHealCenterMapIdxs[][2] =
{
[SPAWN_PALLET_TOWN - 1] = {MAP_GROUP(MAP_PALLET_TOWN_PLAYERS_HOUSE_1F), MAP_NUM(MAP_PALLET_TOWN_PLAYERS_HOUSE_1F)},
[SPAWN_VIRIDIAN_CITY - 1] = {MAP_GROUP(MAP_VIRIDIAN_CITY_POKEMON_CENTER_1F), MAP_NUM(MAP_VIRIDIAN_CITY_POKEMON_CENTER_1F)},
[SPAWN_PEWTER_CITY - 1] = {MAP_GROUP(MAP_PEWTER_CITY_POKEMON_CENTER_1F), MAP_NUM(MAP_PEWTER_CITY_POKEMON_CENTER_1F)},
[SPAWN_CERULEAN_CITY - 1] = {MAP_GROUP(MAP_CERULEAN_CITY_POKEMON_CENTER_1F), MAP_NUM(MAP_CERULEAN_CITY_POKEMON_CENTER_1F)},
[SPAWN_LAVENDER_TOWN - 1] = {MAP_GROUP(MAP_LAVENDER_TOWN_POKEMON_CENTER_1F), MAP_NUM(MAP_LAVENDER_TOWN_POKEMON_CENTER_1F)},
[SPAWN_VERMILION_CITY - 1] = {MAP_GROUP(MAP_VERMILION_CITY_POKEMON_CENTER_1F), MAP_NUM(MAP_VERMILION_CITY_POKEMON_CENTER_1F)},
[SPAWN_CELADON_CITY - 1] = {MAP_GROUP(MAP_CELADON_CITY_POKEMON_CENTER_1F), MAP_NUM(MAP_CELADON_CITY_POKEMON_CENTER_1F)},
[SPAWN_FUCHSIA_CITY - 1] = {MAP_GROUP(MAP_FUCHSIA_CITY_POKEMON_CENTER_1F), MAP_NUM(MAP_FUCHSIA_CITY_POKEMON_CENTER_1F)},
[SPAWN_CINNABAR_ISLAND - 1] = {MAP_GROUP(MAP_CINNABAR_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_CINNABAR_ISLAND_POKEMON_CENTER_1F)},
[SPAWN_INDIGO_PLATEAU - 1] = {MAP_GROUP(MAP_INDIGO_PLATEAU_POKEMON_CENTER_1F), MAP_NUM(MAP_INDIGO_PLATEAU_POKEMON_CENTER_1F)},
[SPAWN_SAFFRON_CITY - 1] = {MAP_GROUP(MAP_SAFFRON_CITY_POKEMON_CENTER_1F), MAP_NUM(MAP_SAFFRON_CITY_POKEMON_CENTER_1F)},
[SPAWN_ROUTE4 - 1] = {MAP_GROUP(MAP_ROUTE4_POKEMON_CENTER_1F), MAP_NUM(MAP_ROUTE4_POKEMON_CENTER_1F)},
[SPAWN_ROUTE10 - 1] = {MAP_GROUP(MAP_ROUTE10_POKEMON_CENTER_1F), MAP_NUM(MAP_ROUTE10_POKEMON_CENTER_1F)},
[SPAWN_ONE_ISLAND - 1] = {MAP_GROUP(MAP_ONE_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_ONE_ISLAND_POKEMON_CENTER_1F)},
[SPAWN_TWO_ISLAND - 1] = {MAP_GROUP(MAP_TWO_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_TWO_ISLAND_POKEMON_CENTER_1F)},
[SPAWN_THREE_ISLAND - 1] = {MAP_GROUP(MAP_THREE_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_THREE_ISLAND_POKEMON_CENTER_1F)},
[SPAWN_FOUR_ISLAND - 1] = {MAP_GROUP(MAP_FOUR_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_FOUR_ISLAND_POKEMON_CENTER_1F)},
[SPAWN_FIVE_ISLAND - 1] = {MAP_GROUP(MAP_FIVE_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_FIVE_ISLAND_POKEMON_CENTER_1F)},
[SPAWN_SEVEN_ISLAND - 1] = {MAP_GROUP(MAP_SEVEN_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_SEVEN_ISLAND_POKEMON_CENTER_1F)},
[SPAWN_SIX_ISLAND - 1] = {MAP_GROUP(MAP_SIX_ISLAND_POKEMON_CENTER_1F), MAP_NUM(MAP_SIX_ISLAND_POKEMON_CENTER_1F)},
};
static const u8 sWhiteoutRespawnHealerNpcIds[] =
{
[SPAWN_PALLET_TOWN - 1] = 1,
[SPAWN_VIRIDIAN_CITY - 1] = 1,
[SPAWN_PEWTER_CITY - 1] = 3,
[SPAWN_CERULEAN_CITY - 1] = 1,
[SPAWN_LAVENDER_TOWN - 1] = 1,
[SPAWN_VERMILION_CITY - 1] = 1,
[SPAWN_CELADON_CITY - 1] = 1,
[SPAWN_FUCHSIA_CITY - 1] = 1,
[SPAWN_CINNABAR_ISLAND - 1] = 1,
[SPAWN_INDIGO_PLATEAU - 1] = 2,
[SPAWN_SAFFRON_CITY - 1] = 1,
[SPAWN_ROUTE4 - 1] = 1,
[SPAWN_ROUTE10 - 1] = 1,
[SPAWN_ONE_ISLAND - 1] = 1,
[SPAWN_TWO_ISLAND - 1] = 1,
[SPAWN_THREE_ISLAND - 1] = 1,
[SPAWN_FOUR_ISLAND - 1] = 1,
[SPAWN_FIVE_ISLAND - 1] = 1,
[SPAWN_SEVEN_ISLAND - 1] = 1,
[SPAWN_SIX_ISLAND - 1] = 1,
};
+3 -3
View File
@@ -400,9 +400,9 @@ static void Task_RushInjuredPokemonToCenter(u8 taskId)
CopyWindowToVram(windowId, COPYWIN_FULL);
// Scene changes if last heal location was the player's house
loc = GetHealLocation(SPAWN_PALLET_TOWN);
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == loc->group
&& gSaveBlock1Ptr->lastHealLocation.mapNum == loc->map
loc = GetHealLocation(HEAL_LOCATION_PALLET_TOWN);
if (gSaveBlock1Ptr->lastHealLocation.mapGroup == loc->mapGroup
&& gSaveBlock1Ptr->lastHealLocation.mapNum == loc->mapNum
&& gSaveBlock1Ptr->lastHealLocation.warpId == WARP_ID_NONE
&& gSaveBlock1Ptr->lastHealLocation.x == loc->x
&& gSaveBlock1Ptr->lastHealLocation.y == loc->y)
+16 -11
View File
@@ -6,9 +6,9 @@
static void SetWhiteoutRespawnHealerNpcAsLastTalked(u32 healLocationIdx);
// Arrays described here because porymap will overrwrite the below data file
// Arrays described here because mapjson will overrwrite the below data file
// sSpawnPoints
// sHealLocations
// This array defines the fly points for unlocked spawns.
// sWhiteoutRespawnHealCenterMapIdxs
@@ -30,32 +30,32 @@ static u32 GetHealLocationIndexFromMapGroupAndNum(u16 mapGroup, u16 mapNum)
{
u32 i;
for (i = 0; i < NELEMS(sSpawnPoints); i++) {
if (sSpawnPoints[i].group == mapGroup && sSpawnPoints[i].map == mapNum)
for (i = 0; i < ARRAY_COUNT(sHealLocations); i++) {
if (sHealLocations[i].mapGroup == mapGroup && sHealLocations[i].mapNum == mapNum)
{
return i + 1;
}
}
return 0;
return HEAL_LOCATION_NONE;
}
static const struct HealLocation * GetHealLocationPointerFromMapGroupAndNum(u16 mapGroup, u16 mapNum)
{
u32 i = GetHealLocationIndexFromMapGroupAndNum(mapGroup, mapNum);
if (i == 0)
if (i == HEAL_LOCATION_NONE)
return NULL;
return &sSpawnPoints[i - 1];
return &sHealLocations[i - 1];
}
const struct HealLocation * GetHealLocation(u32 idx)
{
if (idx == 0)
if (idx == HEAL_LOCATION_NONE)
return NULL;
if (idx > NELEMS(sSpawnPoints))
if (idx > ARRAY_COUNT(sHealLocations))
return NULL;
return &sSpawnPoints[idx - 1];
return &sHealLocations[idx - 1];
}
void SetWhiteoutRespawnWarpAndHealerNpc(struct WarpData * warp)
@@ -76,9 +76,14 @@ void SetWhiteoutRespawnWarpAndHealerNpc(struct WarpData * warp)
else
{
healLocationIdx = GetHealLocationIndexFromMapGroupAndNum(gSaveBlock1Ptr->lastHealLocation.mapGroup, gSaveBlock1Ptr->lastHealLocation.mapNum);
#ifdef BUGFIX
// Avoid out of bounds read
if (healLocationIdx == HEAL_LOCATION_NONE)
return;
#endif
warp->mapGroup = sWhiteoutRespawnHealCenterMapIdxs[healLocationIdx - 1][0];
warp->mapNum = sWhiteoutRespawnHealCenterMapIdxs[healLocationIdx - 1][1];
warp->warpId = 0xFF;
warp->warpId = WARP_ID_NONE;
if (sWhiteoutRespawnHealCenterMapIdxs[healLocationIdx - 1][0] == MAP_GROUP(MAP_PALLET_TOWN_PLAYERS_HOUSE_1F) && sWhiteoutRespawnHealCenterMapIdxs[healLocationIdx - 1][1] == MAP_NUM(MAP_PALLET_TOWN_PLAYERS_HOUSE_1F))
{
+3 -3
View File
@@ -611,7 +611,7 @@ void SetWarpDestinationToHealLocation(u8 healLocationId)
{
const struct HealLocation *warp = GetHealLocation(healLocationId);
if (warp)
SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y);
SetWarpDestination(warp->mapGroup, warp->mapNum, -1, warp->x, warp->y);
}
void SetWarpDestinationToLastHealLocation(void)
@@ -628,7 +628,7 @@ void SetLastHealLocationWarp(u8 healLocationId)
{
const struct HealLocation *healLocation = GetHealLocation(healLocationId);
if (healLocation)
SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y);
SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->mapGroup, healLocation->mapNum, -1, healLocation->x, healLocation->y);
}
void UpdateEscapeWarp(s16 x, s16 y)
@@ -690,7 +690,7 @@ void SetContinueGameWarpToHealLocation(u8 healLocationId)
{
const struct HealLocation *warp = GetHealLocation(healLocationId);
if (warp)
SetWarpData(&gSaveBlock1Ptr->continueGameWarp, warp->group, warp->map, -1, warp->x, warp->y);
SetWarpData(&gSaveBlock1Ptr->continueGameWarp, warp->mapGroup, warp->mapNum, -1, warp->x, warp->y);
}
void SetContinueGameWarpToDynamicWarp(int unused)
+1 -1
View File
@@ -28,7 +28,7 @@ bool8 EnterHallOfFame(void)
SetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME, (gSaveBlock2Ptr->playTimeHours << 16) | (gSaveBlock2Ptr->playTimeMinutes << 8) | gSaveBlock2Ptr->playTimeSeconds);
}
SetContinueGameWarpStatus();
SetContinueGameWarpToHealLocation(SPAWN_PALLET_TOWN);
SetContinueGameWarpToHealLocation(HEAL_LOCATION_PALLET_TOWN);
gaveAtLeastOneRibbon = FALSE;
for (i = 0, r7 = &ribbonState; i < PARTY_SIZE; i++)
{
+108 -108
View File
@@ -826,114 +826,114 @@ static const u8 sTextColors[] = {TEXT_DYNAMIC_COLOR_6, TEXT_COLOR_WHITE, TEXT_CO
#include "data/region_map/region_map_layout_sevii_67.h"
static const u8 sMapFlyDestinations[][3] = {
[MAPSEC_PALLET_TOWN - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), SPAWN_PALLET_TOWN},
[MAPSEC_VIRIDIAN_CITY - MAPSECS_KANTO] = {MAP(MAP_VIRIDIAN_CITY), SPAWN_VIRIDIAN_CITY},
[MAPSEC_PEWTER_CITY - MAPSECS_KANTO] = {MAP(MAP_PEWTER_CITY), SPAWN_PEWTER_CITY},
[MAPSEC_CERULEAN_CITY - MAPSECS_KANTO] = {MAP(MAP_CERULEAN_CITY), SPAWN_CERULEAN_CITY},
[MAPSEC_LAVENDER_TOWN - MAPSECS_KANTO] = {MAP(MAP_LAVENDER_TOWN), SPAWN_LAVENDER_TOWN},
[MAPSEC_VERMILION_CITY - MAPSECS_KANTO] = {MAP(MAP_VERMILION_CITY), SPAWN_VERMILION_CITY},
[MAPSEC_CELADON_CITY - MAPSECS_KANTO] = {MAP(MAP_CELADON_CITY), SPAWN_CELADON_CITY},
[MAPSEC_FUCHSIA_CITY - MAPSECS_KANTO] = {MAP(MAP_FUCHSIA_CITY), SPAWN_FUCHSIA_CITY},
[MAPSEC_CINNABAR_ISLAND - MAPSECS_KANTO] = {MAP(MAP_CINNABAR_ISLAND), SPAWN_CINNABAR_ISLAND},
[MAPSEC_INDIGO_PLATEAU - MAPSECS_KANTO] = {MAP(MAP_INDIGO_PLATEAU_EXTERIOR), SPAWN_INDIGO_PLATEAU},
[MAPSEC_SAFFRON_CITY - MAPSECS_KANTO] = {MAP(MAP_SAFFRON_CITY), SPAWN_SAFFRON_CITY},
[MAPSEC_ROUTE_4_POKECENTER - MAPSECS_KANTO] = {MAP(MAP_ROUTE4), SPAWN_ROUTE4},
[MAPSEC_ROUTE_10_POKECENTER - MAPSECS_KANTO] = {MAP(MAP_ROUTE10), SPAWN_ROUTE10},
[MAPSEC_ROUTE_1 - MAPSECS_KANTO] = {MAP(MAP_ROUTE1), 0},
[MAPSEC_ROUTE_2 - MAPSECS_KANTO] = {MAP(MAP_ROUTE2), 0},
[MAPSEC_ROUTE_3 - MAPSECS_KANTO] = {MAP(MAP_ROUTE3), 0},
[MAPSEC_ROUTE_4 - MAPSECS_KANTO] = {MAP(MAP_ROUTE4), 0},
[MAPSEC_ROUTE_5 - MAPSECS_KANTO] = {MAP(MAP_ROUTE5), 0},
[MAPSEC_ROUTE_6 - MAPSECS_KANTO] = {MAP(MAP_ROUTE6), 0},
[MAPSEC_ROUTE_7 - MAPSECS_KANTO] = {MAP(MAP_ROUTE7), 0},
[MAPSEC_ROUTE_8 - MAPSECS_KANTO] = {MAP(MAP_ROUTE8), 0},
[MAPSEC_ROUTE_9 - MAPSECS_KANTO] = {MAP(MAP_ROUTE9), 0},
[MAPSEC_ROUTE_10 - MAPSECS_KANTO] = {MAP(MAP_ROUTE10), 0},
[MAPSEC_ROUTE_11 - MAPSECS_KANTO] = {MAP(MAP_ROUTE11), 0},
[MAPSEC_ROUTE_12 - MAPSECS_KANTO] = {MAP(MAP_ROUTE12), 0},
[MAPSEC_ROUTE_13 - MAPSECS_KANTO] = {MAP(MAP_ROUTE13), 0},
[MAPSEC_ROUTE_14 - MAPSECS_KANTO] = {MAP(MAP_ROUTE14), 0},
[MAPSEC_ROUTE_15 - MAPSECS_KANTO] = {MAP(MAP_ROUTE15), 0},
[MAPSEC_ROUTE_16 - MAPSECS_KANTO] = {MAP(MAP_ROUTE16), 0},
[MAPSEC_ROUTE_17 - MAPSECS_KANTO] = {MAP(MAP_ROUTE17), 0},
[MAPSEC_ROUTE_18 - MAPSECS_KANTO] = {MAP(MAP_ROUTE18), 0},
[MAPSEC_ROUTE_19 - MAPSECS_KANTO] = {MAP(MAP_ROUTE19), 0},
[MAPSEC_ROUTE_20 - MAPSECS_KANTO] = {MAP(MAP_ROUTE20), 0},
[MAPSEC_ROUTE_21 - MAPSECS_KANTO] = {MAP(MAP_ROUTE21_NORTH), 0},
[MAPSEC_ROUTE_22 - MAPSECS_KANTO] = {MAP(MAP_ROUTE22), 0},
[MAPSEC_ROUTE_23 - MAPSECS_KANTO] = {MAP(MAP_ROUTE23), 0},
[MAPSEC_ROUTE_24 - MAPSECS_KANTO] = {MAP(MAP_ROUTE24), 0},
[MAPSEC_ROUTE_25 - MAPSECS_KANTO] = {MAP(MAP_ROUTE25), 0},
[MAPSEC_VIRIDIAN_FOREST - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_MT_MOON - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_S_S_ANNE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_UNDERGROUND_PATH - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_UNDERGROUND_PATH_2 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_DIGLETTS_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_KANTO_VICTORY_ROAD - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_ROCKET_HIDEOUT - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_SILPH_CO - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_POKEMON_MANSION - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_KANTO_SAFARI_ZONE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_POKEMON_LEAGUE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_ROCK_TUNNEL - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_SEAFOAM_ISLANDS - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_POKEMON_TOWER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_CERULEAN_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_POWER_PLANT - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_ONE_ISLAND - MAPSECS_KANTO] = {MAP(MAP_ONE_ISLAND), SPAWN_ONE_ISLAND},
[MAPSEC_TWO_ISLAND - MAPSECS_KANTO] = {MAP(MAP_TWO_ISLAND), SPAWN_TWO_ISLAND},
[MAPSEC_THREE_ISLAND - MAPSECS_KANTO] = {MAP(MAP_THREE_ISLAND), SPAWN_THREE_ISLAND},
[MAPSEC_FOUR_ISLAND - MAPSECS_KANTO] = {MAP(MAP_FOUR_ISLAND), SPAWN_FOUR_ISLAND},
[MAPSEC_FIVE_ISLAND - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND), SPAWN_FIVE_ISLAND},
[MAPSEC_SEVEN_ISLAND - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND), SPAWN_SEVEN_ISLAND},
[MAPSEC_SIX_ISLAND - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND), SPAWN_SIX_ISLAND},
[MAPSEC_KINDLE_ROAD - MAPSECS_KANTO] = {MAP(MAP_ONE_ISLAND_KINDLE_ROAD), 0},
[MAPSEC_TREASURE_BEACH - MAPSECS_KANTO] = {MAP(MAP_ONE_ISLAND_TREASURE_BEACH), 0},
[MAPSEC_CAPE_BRINK - MAPSECS_KANTO] = {MAP(MAP_TWO_ISLAND_CAPE_BRINK), 0},
[MAPSEC_BOND_BRIDGE - MAPSECS_KANTO] = {MAP(MAP_THREE_ISLAND_BOND_BRIDGE), 0},
[MAPSEC_THREE_ISLE_PORT - MAPSECS_KANTO] = {MAP(MAP_THREE_ISLAND_PORT), 0},
[MAPSEC_SEVII_ISLE_6 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_6), 0},
[MAPSEC_SEVII_ISLE_7 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_7), 0},
[MAPSEC_SEVII_ISLE_8 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_8), 0},
[MAPSEC_SEVII_ISLE_9 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_9), 0},
[MAPSEC_RESORT_GORGEOUS - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_RESORT_GORGEOUS), 0},
[MAPSEC_WATER_LABYRINTH - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_WATER_LABYRINTH), 0},
[MAPSEC_FIVE_ISLE_MEADOW - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_MEADOW), 0},
[MAPSEC_MEMORIAL_PILLAR - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_MEMORIAL_PILLAR), 0},
[MAPSEC_OUTCAST_ISLAND - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_OUTCAST_ISLAND), 0},
[MAPSEC_GREEN_PATH - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_GREEN_PATH), 0},
[MAPSEC_WATER_PATH - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_WATER_PATH), 0},
[MAPSEC_RUIN_VALLEY - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_RUIN_VALLEY), 0},
[MAPSEC_TRAINER_TOWER - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_TRAINER_TOWER), 0},
[MAPSEC_CANYON_ENTRANCE - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE), 0},
[MAPSEC_SEVAULT_CANYON - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_SEVAULT_CANYON), 0},
[MAPSEC_TANOBY_RUINS - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_TANOBY_RUINS), 0},
[MAPSEC_SEVII_ISLE_22 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_SEVII_ISLE_23 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_SEVII_ISLE_24 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_NAVEL_ROCK - MAPSECS_KANTO] = {MAP(MAP_NAVEL_ROCK_EXTERIOR), 0},
[MAPSEC_MT_EMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_BERRY_FOREST - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_ICEFALL_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_ROCKET_WAREHOUSE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_TRAINER_TOWER_2 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_DOTTED_HOLE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_LOST_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_PATTERN_BUSH - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_ALTERING_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_TANOBY_CHAMBERS - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_THREE_ISLE_PATH - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_TANOBY_KEY - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_BIRTH_ISLAND - MAPSECS_KANTO] = {MAP(MAP_BIRTH_ISLAND_EXTERIOR), 0},
[MAPSEC_MONEAN_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_LIPTOO_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_WEEPTH_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_DILFORD_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_SCUFIB_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_RIXY_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_VIAPOIS_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_EMBER_SPA - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), 0},
[MAPSEC_PALLET_TOWN - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_PALLET_TOWN},
[MAPSEC_VIRIDIAN_CITY - MAPSECS_KANTO] = {MAP(MAP_VIRIDIAN_CITY), HEAL_LOCATION_VIRIDIAN_CITY},
[MAPSEC_PEWTER_CITY - MAPSECS_KANTO] = {MAP(MAP_PEWTER_CITY), HEAL_LOCATION_PEWTER_CITY},
[MAPSEC_CERULEAN_CITY - MAPSECS_KANTO] = {MAP(MAP_CERULEAN_CITY), HEAL_LOCATION_CERULEAN_CITY},
[MAPSEC_LAVENDER_TOWN - MAPSECS_KANTO] = {MAP(MAP_LAVENDER_TOWN), HEAL_LOCATION_LAVENDER_TOWN},
[MAPSEC_VERMILION_CITY - MAPSECS_KANTO] = {MAP(MAP_VERMILION_CITY), HEAL_LOCATION_VERMILION_CITY},
[MAPSEC_CELADON_CITY - MAPSECS_KANTO] = {MAP(MAP_CELADON_CITY), HEAL_LOCATION_CELADON_CITY},
[MAPSEC_FUCHSIA_CITY - MAPSECS_KANTO] = {MAP(MAP_FUCHSIA_CITY), HEAL_LOCATION_FUCHSIA_CITY},
[MAPSEC_CINNABAR_ISLAND - MAPSECS_KANTO] = {MAP(MAP_CINNABAR_ISLAND), HEAL_LOCATION_CINNABAR_ISLAND},
[MAPSEC_INDIGO_PLATEAU - MAPSECS_KANTO] = {MAP(MAP_INDIGO_PLATEAU_EXTERIOR), HEAL_LOCATION_INDIGO_PLATEAU},
[MAPSEC_SAFFRON_CITY - MAPSECS_KANTO] = {MAP(MAP_SAFFRON_CITY), HEAL_LOCATION_SAFFRON_CITY},
[MAPSEC_ROUTE_4_POKECENTER - MAPSECS_KANTO] = {MAP(MAP_ROUTE4), HEAL_LOCATION_ROUTE4},
[MAPSEC_ROUTE_10_POKECENTER - MAPSECS_KANTO] = {MAP(MAP_ROUTE10), HEAL_LOCATION_ROUTE10},
[MAPSEC_ROUTE_1 - MAPSECS_KANTO] = {MAP(MAP_ROUTE1), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_2 - MAPSECS_KANTO] = {MAP(MAP_ROUTE2), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_3 - MAPSECS_KANTO] = {MAP(MAP_ROUTE3), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_4 - MAPSECS_KANTO] = {MAP(MAP_ROUTE4), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_5 - MAPSECS_KANTO] = {MAP(MAP_ROUTE5), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_6 - MAPSECS_KANTO] = {MAP(MAP_ROUTE6), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_7 - MAPSECS_KANTO] = {MAP(MAP_ROUTE7), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_8 - MAPSECS_KANTO] = {MAP(MAP_ROUTE8), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_9 - MAPSECS_KANTO] = {MAP(MAP_ROUTE9), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_10 - MAPSECS_KANTO] = {MAP(MAP_ROUTE10), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_11 - MAPSECS_KANTO] = {MAP(MAP_ROUTE11), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_12 - MAPSECS_KANTO] = {MAP(MAP_ROUTE12), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_13 - MAPSECS_KANTO] = {MAP(MAP_ROUTE13), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_14 - MAPSECS_KANTO] = {MAP(MAP_ROUTE14), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_15 - MAPSECS_KANTO] = {MAP(MAP_ROUTE15), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_16 - MAPSECS_KANTO] = {MAP(MAP_ROUTE16), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_17 - MAPSECS_KANTO] = {MAP(MAP_ROUTE17), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_18 - MAPSECS_KANTO] = {MAP(MAP_ROUTE18), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_19 - MAPSECS_KANTO] = {MAP(MAP_ROUTE19), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_20 - MAPSECS_KANTO] = {MAP(MAP_ROUTE20), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_21 - MAPSECS_KANTO] = {MAP(MAP_ROUTE21_NORTH), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_22 - MAPSECS_KANTO] = {MAP(MAP_ROUTE22), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_23 - MAPSECS_KANTO] = {MAP(MAP_ROUTE23), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_24 - MAPSECS_KANTO] = {MAP(MAP_ROUTE24), HEAL_LOCATION_NONE},
[MAPSEC_ROUTE_25 - MAPSECS_KANTO] = {MAP(MAP_ROUTE25), HEAL_LOCATION_NONE},
[MAPSEC_VIRIDIAN_FOREST - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_MT_MOON - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_S_S_ANNE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_UNDERGROUND_PATH - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_UNDERGROUND_PATH_2 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_DIGLETTS_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_KANTO_VICTORY_ROAD - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_ROCKET_HIDEOUT - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_SILPH_CO - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_POKEMON_MANSION - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_KANTO_SAFARI_ZONE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_POKEMON_LEAGUE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_ROCK_TUNNEL - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_SEAFOAM_ISLANDS - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_POKEMON_TOWER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_CERULEAN_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_POWER_PLANT - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_ONE_ISLAND - MAPSECS_KANTO] = {MAP(MAP_ONE_ISLAND), HEAL_LOCATION_ONE_ISLAND},
[MAPSEC_TWO_ISLAND - MAPSECS_KANTO] = {MAP(MAP_TWO_ISLAND), HEAL_LOCATION_TWO_ISLAND},
[MAPSEC_THREE_ISLAND - MAPSECS_KANTO] = {MAP(MAP_THREE_ISLAND), HEAL_LOCATION_THREE_ISLAND},
[MAPSEC_FOUR_ISLAND - MAPSECS_KANTO] = {MAP(MAP_FOUR_ISLAND), HEAL_LOCATION_FOUR_ISLAND},
[MAPSEC_FIVE_ISLAND - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND), HEAL_LOCATION_FIVE_ISLAND},
[MAPSEC_SEVEN_ISLAND - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND), HEAL_LOCATION_SEVEN_ISLAND},
[MAPSEC_SIX_ISLAND - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND), HEAL_LOCATION_SIX_ISLAND},
[MAPSEC_KINDLE_ROAD - MAPSECS_KANTO] = {MAP(MAP_ONE_ISLAND_KINDLE_ROAD), HEAL_LOCATION_NONE},
[MAPSEC_TREASURE_BEACH - MAPSECS_KANTO] = {MAP(MAP_ONE_ISLAND_TREASURE_BEACH), HEAL_LOCATION_NONE},
[MAPSEC_CAPE_BRINK - MAPSECS_KANTO] = {MAP(MAP_TWO_ISLAND_CAPE_BRINK), HEAL_LOCATION_NONE},
[MAPSEC_BOND_BRIDGE - MAPSECS_KANTO] = {MAP(MAP_THREE_ISLAND_BOND_BRIDGE), HEAL_LOCATION_NONE},
[MAPSEC_THREE_ISLE_PORT - MAPSECS_KANTO] = {MAP(MAP_THREE_ISLAND_PORT), HEAL_LOCATION_NONE},
[MAPSEC_SEVII_ISLE_6 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_6), HEAL_LOCATION_NONE},
[MAPSEC_SEVII_ISLE_7 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_7), HEAL_LOCATION_NONE},
[MAPSEC_SEVII_ISLE_8 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_8), HEAL_LOCATION_NONE},
[MAPSEC_SEVII_ISLE_9 - MAPSECS_KANTO] = {MAP(MAP_PROTOTYPE_SEVII_ISLE_9), HEAL_LOCATION_NONE},
[MAPSEC_RESORT_GORGEOUS - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_RESORT_GORGEOUS), HEAL_LOCATION_NONE},
[MAPSEC_WATER_LABYRINTH - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_WATER_LABYRINTH), HEAL_LOCATION_NONE},
[MAPSEC_FIVE_ISLE_MEADOW - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_MEADOW), HEAL_LOCATION_NONE},
[MAPSEC_MEMORIAL_PILLAR - MAPSECS_KANTO] = {MAP(MAP_FIVE_ISLAND_MEMORIAL_PILLAR), HEAL_LOCATION_NONE},
[MAPSEC_OUTCAST_ISLAND - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_OUTCAST_ISLAND), HEAL_LOCATION_NONE},
[MAPSEC_GREEN_PATH - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_GREEN_PATH), HEAL_LOCATION_NONE},
[MAPSEC_WATER_PATH - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_WATER_PATH), HEAL_LOCATION_NONE},
[MAPSEC_RUIN_VALLEY - MAPSECS_KANTO] = {MAP(MAP_SIX_ISLAND_RUIN_VALLEY), HEAL_LOCATION_NONE},
[MAPSEC_TRAINER_TOWER - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_TRAINER_TOWER), HEAL_LOCATION_NONE},
[MAPSEC_CANYON_ENTRANCE - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_SEVAULT_CANYON_ENTRANCE), HEAL_LOCATION_NONE},
[MAPSEC_SEVAULT_CANYON - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_SEVAULT_CANYON), HEAL_LOCATION_NONE},
[MAPSEC_TANOBY_RUINS - MAPSECS_KANTO] = {MAP(MAP_SEVEN_ISLAND_TANOBY_RUINS), HEAL_LOCATION_NONE},
[MAPSEC_SEVII_ISLE_22 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_SEVII_ISLE_23 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_SEVII_ISLE_24 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_NAVEL_ROCK - MAPSECS_KANTO] = {MAP(MAP_NAVEL_ROCK_EXTERIOR), HEAL_LOCATION_NONE},
[MAPSEC_MT_EMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_BERRY_FOREST - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_ICEFALL_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_ROCKET_WAREHOUSE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_TRAINER_TOWER_2 - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_DOTTED_HOLE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_LOST_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_PATTERN_BUSH - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_ALTERING_CAVE - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_TANOBY_CHAMBERS - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_THREE_ISLE_PATH - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_TANOBY_KEY - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_BIRTH_ISLAND - MAPSECS_KANTO] = {MAP(MAP_BIRTH_ISLAND_EXTERIOR), HEAL_LOCATION_NONE},
[MAPSEC_MONEAN_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_LIPTOO_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_WEEPTH_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_DILFORD_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_SCUFIB_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_RIXY_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_VIAPOIS_CHAMBER - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
[MAPSEC_EMBER_SPA - MAPSECS_KANTO] = {MAP(MAP_PALLET_TOWN), HEAL_LOCATION_NONE},
};
static void RegionMap_DarkenPalette(u16 *pal, u16 size, u16 tint)