protected override void OnTick() { List <BaseCreature> pets = new List <BaseCreature>(); m_Player.Frozen = false; foreach (Mobile m in World.Mobiles.Values) { if (m is BaseCreature) { BaseCreature bc = (BaseCreature)m; if ((bc.Controlled && bc.ControlMaster == m_Player) || (bc.Summoned && bc.SummonMaster == m_Player)) { pets.Add(bc); } } } if (pets.Count > 0) { for (int i = 0; i < pets.Count; i++) { if (pets[i] is IMount) { if (((IMount)pets[i]).Rider != null) { continue; } } pets[i].MoveToWorld(m_Player.Location, m_Player.Map); if (pets[i].Controlled) { pets[i].ControlTarget = m_Player; pets[i].ControlOrder = OrderType.Follow; } } m_Player.PlaySound(1480); m_Player.LocalOverheadMessage(Server.Network.MessageType.Regular, 78, true, "Your pets have been summoned!"); if (m_Bell.UsesRemaining != -1) { m_Bell.UsesRemaining--; if (m_Bell.UsesRemaining == 0 && m_Bell.DeleteOnZeroCharges) { m_Player.SendMessage(78, "Your bell crumbles to dust."); m_Bell.Delete(); } } } else { m_Player.LocalOverheadMessage(Server.Network.MessageType.Regular, 32, true, "You have no pets to summon."); } }