As far as I know from testing, attempting to map travel (portal hop) from any of the mine sub maps will result in a DC. Effectively you need to travel from sub map to submap until you are at map 1025, 1026, or 1027 of which from there you can TravelTo to any non-mine sub map with ease.
I apologize if its not absolutely picture perfect code, but it is here if you so choose to tweak and incorporate it.
FYI: I made my own findpath function that essentially would execute travelto. Before it executed travel to if the current map or destination map matched the id of one of the mine sub maps, this function was called so any additional arguments other than a MapID, X, and Y are for things of my own I was trying to do.
Basically since PC Mine sub maps are 2000-2013, AC is 2020-2043, & DC is 2040-2053 (not referring to 1025, 1026, or 1027) the purpose of MapIDval, mapadditive, and mapval is essentially that if you subtract 2000, 2020, or 2040 respectively you can perform the same math operations irregardless of if the maps are PC, AC, or DC to determine where to go.
map() is a function of my own creation, it is also posted below for your reference.
PHP Code:
public static void minesubmaps(int MapID, int X, int Y)
{
int MapIDval = MapID - 2000;
int mapadditive = 0;
if (map() != 1025 && MapID == 1025 || map() != 1025 && MapID >= 2000 && MapID <= 2013) findpath(1025, 32, 70, true);
else if (map() != 1026 && MapID == 1026 || map() != 1026 && MapID >= 2020 && MapID <= 2033) findpath(1026, 138, 103, true);
else if (map() != 1027 && MapID == 1027 || map() != 1027 && MapID >= 2040 && MapID <= 2053) findpath(1027, 141, 105, true);
if (map() == 1025 || map() >= 2000 && map() <= 2013) mapadditive = 2000;
else if (map() == 1026 || map() >= 2020 && map() <= 2033) mapadditive = 2020;
else if (map() == 1027 || map() >= 2040 && map() <= 2053) mapadditive = 2040;
int mapval = map() - mapadditive;
if (map() != MapID)
{
if (map() == 1025 && MapID >= 2000 && MapID <= 2013)
{
if (MapIDval == 0 || MapIDval >= 2 && MapIDval <= 3 || MapIDval >= 6 && MapIDval <= 9) findpath(map(), 114, 162, true, true);
else if (MapIDval == 1 || MapIDval >= 4 && MapIDval <= 5 || MapIDval >= 10 && MapIDval <= 13) findpath(map(), 168, 111, true, true);
}
else if (map() == 1026 && MapID >= 2020 && MapID <= 2033 || map() == 1027 && MapID >= 2040 && MapID <= 2053)
{
if (MapIDval == 0 || MapIDval >= 2 && MapIDval <= 3 || MapIDval >= 6 && MapIDval <= 9) findpath(map(), 163, 192, true, true);
else if (MapIDval == 1 || MapIDval >= 4 && MapIDval <= 5 || MapIDval >= 10 && MapIDval <= 13) findpath(map(), 168, 111, true, true);
}
else if (mapval >= 6 && mapval <= 13)
{
if (mapval % 2 == 0) findpath(map(), 72, 13, true, true);
else findpath(map(), 13, 77, true, true);
}
else if (mapval == 0 || mapval == 1)
{
if (Math.Abs(mapval - MapIDval) <= 13)
{
if (MapIDval % 2 == 0) findpath(map(), 114, 162, true, true);
else findpath(map(), 168, 111, true, true);
}
else
{
if (mapval % 2 == 0) findpath(map(), 72, 13, true, true);
else findpath(map(), 13, 77, true, true);
}
}
else if (mapval >= 2 && mapval <= 5)
{
if (Math.Abs(mapval - MapIDval) <= 13 && MapIDval >= 6 && MapIDval <= 13)
{
if (MapIDval % 2 == 0) findpath(map(), 114, 162, true, true);
else findpath(map(), 168, 111, true, true);
}
else
{
if (mapval % 2 == 0) findpath(map(), 72, 13, true, true);
else findpath(map(), 13, 77, true, true);
}
}
}
}
PHP Code:
public static int map()
{
if (Client.MapID == Client.DynamicMapID)
{
return Client.MapID;
}
else
{
return Client.DynamicMapID;
}
}







