protected override void OnTarget(Mobile from, object targeted)
            {
                int num = m_CraftSystem.CanCraft(from, m_Tool, null);

                if (num > 0)
                {
                    from.SendGump(new CraftGump(from, m_CraftSystem, m_Tool, num));
                    return;
                }

                if (targeted is BaseArmor helm && helm is IFortifiable)
                {
                    if (!helm.IsChildOf(from.Backpack))
                    {
                        from.SendFailureMessage("The helm has to be in your backpack.");
                        return;
                    }

                    if (helm.HitPoints != helm.MaxHitPoints)
                    {
                        from.SendFailureMessage("You must repair that first.");
                        return;
                    }

                    if (!from.ShilCheckSkill(m_CraftSystem.MainSkill, -1, 250))
                    {
                        from.SendFailureMessage("You fail and ruin both, the hat and the helm.");
                        m_Hat.Delete();
                        helm.Delete();
                    }

                    m_Hat.Fortify(helm);

                    m_Hat.OnSingleClick(m_From);
                }