public void EndSacrifice(Mobile from, Idol idol) { if (Deleted) { return; } if (m_Idol != null && m_Idol.Deleted) { Idol = null; } if (from.Map != this.Map || !from.InRange(GetWorldLocation(), 3)) { from.SendLocalizedMessage(500446); // That is too far away. } else if (DarkMasterActive()) { from.SendMessage("The Dark Master has already been summoned."); } else if (idol == null) { from.SendMessage("That is not my Idol!"); } else if (m_Idol != null) { from.SendMessage("I already hold that Idol!"); } else if (!idol.IsChildOf(from.Backpack)) { from.SendMessage("You can only sacrifice items that are in your backpack!"); } else { if (idol.Type == this.Type) { idol.Movable = false; idol.MoveToWorld(GetWorldTop(), this.Map); this.Idol = idol; } else { from.SendMessage("That is not my Idol!"); } } }