private void ChangeMap(ZoneCharacter character, params string[] param)
{
ushort mapid = 0;
if (!ushort.TryParse(param[1], out mapid))
{
param[1] = param[1].ToLower();
var map = DataProvider.Instance.MapsByID.Values.ToList().Find(m => m.ShortName.ToLower() == param[1]);
if (map != null)
{
mapid = map.ID;
}
else
{
character.DropMessage("Map not found");
return;
}
}
else
{
if (!DataProvider.Instance.MapsByID.ContainsKey(mapid))
{
character.DropMessage("Map not found");
return;
}
}
if (param.Length > 2)
{
int x = int.Parse(param[2]);
int y = int.Parse(param[3]);
character.ChangeMap(mapid, x, y);
}
character.ChangeMap(mapid);
}