protected override void OnTarget(Mobile from, object targeted) { IPoint3D p = targeted as IPoint3D; Map map = from.Map; if (p == null || map == null || m_Deed.Deleted) { return; } if (targeted is Container) { from.SendLocalizedMessage(501978); // The weight is too great to combine in a container. return; } if (targeted is Item) { if (((Item)targeted).Parent != null) { from.SendLocalizedMessage(501978); // The weight is too great to combine in a container. return; } } if (m_Deed.IsChildOf(from.Backpack)) { BaseCannon cannon = m_Deed.FireCannon; cannon.Owner = from; m_Deed.Delete(); cannon.MoveToWorld(new Point3D(p), map); } else { from.SendLocalizedMessage(1042001); // That must be in your pack for you to use it. } }