예제 #1
0
        public void Dequip()
        {
            Mobile player = World.Player;

            if (player != null)
            {
                if (player.Ghost)
                {
                    Engine.AddTextMessage("You are dead.");
                }
                else if ((Gumps.Drag != null) && (Gumps.Drag.GetType() == typeof(GDraggedItem)))
                {
                    Engine.AddTextMessage("You are already dragging an item.");
                }
                else
                {
                    Item item = player.FindEquip(Layer.TwoHanded);
                    if (item == null)
                    {
                        item = player.FindEquip(Layer.OneHanded);
                    }
                    if (item == null)
                    {
                        Engine.AddTextMessage("You are not holding anything.");
                    }
                    else
                    {
                        Network.Send(new PPickupItem(item, item.Amount));
                        Network.Send(new PDropItem(item.Serial, -1, -1, 0, player.Serial));
                    }
                }
            }
        }
예제 #2
0
 public static AbilityInfo GetAbilityFor(Mobile m, bool primary)
 {
     if (m != null)
     {
         ArrayList list;
         Item      item = m.FindEquip(Layer.TwoHanded);
         if (item != null)
         {
             int num = item.ID & 0x3fff;
             list = (ArrayList)m_Table[num];
             if ((list != null) && (list.Count > 0))
             {
                 return((AbilityInfo)list[primary ? 0 : (list.Count - 1)]);
             }
         }
         item = m.FindEquip(Layer.OneHanded);
         if (item != null)
         {
             int num2 = item.ID & 0x3fff;
             list = (ArrayList)m_Table[num2];
             if ((list != null) && (list.Count > 0))
             {
                 return((AbilityInfo)list[primary ? 0 : (list.Count - 1)]);
             }
         }
     }
     return(m_Abilities[primary ? 4 : 10]);
 }
예제 #3
0
파일: Exposer.cs 프로젝트: uotools/PlayUO
        public void Dismount()
        {
            Mobile player = World.Player;

            if ((player != null) && (player.FindEquip(Layer.Mount) != null))
            {
                player.Use();
            }
        }
예제 #4
0
파일: Exposer.cs 프로젝트: uotools/PlayUO
        public void Remount()
        {
            Mobile player = World.Player;

            if ((player != null) && (player.FindEquip(Layer.Mount) == null))
            {
                MountTable mountTable = Engine.m_Animations.MountTable;
                foreach (Mobile mobile2 in World.Mobiles.Values)
                {
                    if ((player.InSquareRange(mobile2.XReal, mobile2.YReal, 1) && !mobile2.Bonded) && mountTable.IsMount(mobile2.Body))
                    {
                        if ((mobile2.Name == null) || (mobile2.Name.Length == 0))
                        {
                            mobile2.QueryStats();
                        }
                        else if (mobile2.IsPet)
                        {
                            mobile2.Use();
                            break;
                        }
                    }
                }
            }
        }
예제 #5
0
 public static AbilityInfo GetAbilityFor(Mobile m, bool primary)
 {
     if (m != null)
     {
         ArrayList list;
         Item item = m.FindEquip(Layer.TwoHanded);
         if (item != null)
         {
             int num = item.ID & 0x3fff;
             list = (ArrayList) m_Table[num];
             if ((list != null) && (list.Count > 0))
             {
                 return (AbilityInfo) list[primary ? 0 : (list.Count - 1)];
             }
         }
         item = m.FindEquip(Layer.OneHanded);
         if (item != null)
         {
             int num2 = item.ID & 0x3fff;
             list = (ArrayList) m_Table[num2];
             if ((list != null) && (list.Count > 0))
             {
                 return (AbilityInfo) list[primary ? 0 : (list.Count - 1)];
             }
         }
     }
     return m_Abilities[primary ? 4 : 10];
 }