public virtual void DoTeleport(Mobile m)
{
Map map = m_MapDest;
if (map == null || map == Map.Internal)
map = m.Map;
Point3D p = m_PointDest;
if (p == Point3D.Zero)
p = m.Location;
Server.Mobiles.BaseCreature.TeleportPets(m, p, map);
bool sendEffect = (!m.Hidden || m.AccessLevel == AccessLevel.Player);
if (m_SourceEffect && sendEffect)
Effects.SendLocationEffect(m.Location, m.Map, 0x3728, 10, 10);
m.MoveToWorld(p, map);
if (m_DestEffect && sendEffect)
Effects.SendLocationEffect(m.Location, m.Map, 0x3728, 10, 10);
if (m_SoundID > 0 && sendEffect)
Effects.PlaySound(m.Location, m.Map, m_SoundID);
}