public virtual void DoTeleport(Mobile m) { if (m_SourceEffect) { Effects.SendLocationEffect(m.Location, m.Map, 0x3728, 10, 10); } Server.Point3D location = new Point3D(818, 1087, 0); m.MoveToWorld(location, Map.Felucca); if (m_DestEffect) { Effects.SendLocationEffect(m.Location, m.Map, 0x3728, 10, 10); } if (m_SoundID > 0) { Effects.PlaySound(m.Location, m.Map, m_SoundID); } if (m.Player && m.AccessLevel == AccessLevel.Player) { AITeleportHelper.EmptyPackOnExit(m, true); ((PlayerMobile)m).Inmate = false; ((PlayerMobile)m).ResetKillTime(); } }
public virtual void DoTeleport(Mobile m) { if (m_SourceEffect) { Effects.SendLocationEffect(m.Location, m.Map, 0x3728, 10, 10); } Server.Point3D location = new Point3D(5671, 2391, 50); m.MoveToWorld(location, Map.Felucca); if (m_DestEffect) { Effects.SendLocationEffect(m.Location, m.Map, 0x3728, 10, 10); } if (m_SoundID > 0) { Effects.PlaySound(m.Location, m.Map, m_SoundID); } if (m.Player && m.AccessLevel == AccessLevel.Player) { AITeleportHelper.EmptyPackOnExit(m, false); ((PlayerMobile)m).Inmate = false; // Adam: The following code prohibits the STC from dropping below 5 // as per design. int oldSTC = ((PlayerMobile)m).ShortTermMurders; int newSTC = ((PlayerMobile)m).ShortTermMurders; if (((PlayerMobile)m).ShortTermMurders >= 10) { newSTC = ((PlayerMobile)m).ShortTermMurders / 2; } else if (((PlayerMobile)m).ShortTermMurders > 5) { newSTC = 5; } ((PlayerMobile)m).ShortTermMurders = newSTC; if (oldSTC - newSTC > 0) { ((PlayerMobile)m).SendMessage("Your short term murders have been reduced to {0}", ((PlayerMobile)m).ShortTermMurders); } ((PlayerMobile)m).ResetKillTime(); } }