コード例 #1
0
            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.
                }
            }