Exemplo n.º 1
0
        void c_ClientMoveItemInfo(object sender, ClientMoveItemEventArgs e)
        {
            Client c = (Client)sender;
            MoveItemInfo m = e.Info;
            Client[] nearbyClients = GetNearByClients(c);
            BaseItem item = null;

            if (m.FromBag > 0)
            {
                item = c.MyCharacter.Bags[m.FromBag - 1].Items.First(x => x.ItemID == m.ItemID);
            }
            else
            {
                switch (m.FromSlot)
                {
                    case (byte)Slot.Weapon: // Hand
                        item = c.MyCharacter.Hand;
                        break;

                    case (byte)Slot.Hat: // Hat
                        item = c.MyCharacter.Head;
                        break;

                    case (byte)Slot.Armor: // Armor
                        item = c.MyCharacter.Body;
                        break;

                    case (byte)Slot.Shoes: // Shoes
                        item = c.MyCharacter.Feet;
                        break;

                    case (byte)Slot.CrystalMirror: // crystalmirror
                        item = c.MyCharacter.Charm;
                        break;

                    case (byte)Slot.Ring:
                        item = c.MyCharacter.Ring;
                        break;

                    case (byte)Slot.Necklace:
                        item = c.MyCharacter.Necklace;
                        break;

                    case (byte)Slot.Cape:
                        item = c.MyCharacter.Cape;
                        break;

                    case (byte)Slot.Mirror:
                        item = c.MyCharacter.Mirror;
                        break;
                    default:
                        break;
                }
            }

            byte error = 0;
            // ADD MOVE ITEM FUNC TO THAT BAG CLASS BLABLA

            if (item.Slot != 255)
            {
                itemDataManager.UpdateItem(item);
                byte[] SendMoveItem = PacketManager.SendMoveItem(m, error);
                c.Send(SendMoveItem);
            }
            else
            {
                byte[] SendMoveItem = PacketManager.SendMoveItem(m, error);
                c.Send(SendMoveItem);
            }
        }
Exemplo n.º 2
0
        void c_ClientMoveItemInfo(object sender, ClientMoveItemEventArgs e)
        {
            Client       c = (Client)sender;
            MoveItemInfo m = e.Info;

            Client[] nearbyClients = GetNearByClients(c);
            BaseItem item          = null;

            if (m.FromBag > 0)
            {
                item = c.MyCharacter.Bags[m.FromBag - 1].Items.First(x => x.ItemID == m.ItemID);
            }
            else
            {
                switch (m.FromSlot)
                {
                case (byte)Slot.Weapon:     // Hand
                    item = c.MyCharacter.Hand;
                    break;

                case (byte)Slot.Hat:     // Hat
                    item = c.MyCharacter.Head;
                    break;

                case (byte)Slot.Armor:     // Armor
                    item = c.MyCharacter.Body;
                    break;

                case (byte)Slot.Shoes:     // Shoes
                    item = c.MyCharacter.Feet;
                    break;

                case (byte)Slot.CrystalMirror:     // crystalmirror
                    item = c.MyCharacter.Charm;
                    break;

                case (byte)Slot.Ring:
                    item = c.MyCharacter.Ring;
                    break;

                case (byte)Slot.Necklace:
                    item = c.MyCharacter.Necklace;
                    break;

                case (byte)Slot.Cape:
                    item = c.MyCharacter.Cape;
                    break;

                case (byte)Slot.Mirror:
                    item = c.MyCharacter.Mirror;
                    break;

                default:
                    break;
                }
            }

            byte error = 0;

            // ADD MOVE ITEM FUNC TO THAT BAG CLASS BLABLA



            if (item.Slot != 255)
            {
                itemDataManager.UpdateItem(item);
                byte[] SendMoveItem = PacketManager.SendMoveItem(m, error);
                c.Send(SendMoveItem);
            }
            else
            {
                byte[] SendMoveItem = PacketManager.SendMoveItem(m, error);
                c.Send(SendMoveItem);
            }
        }
Exemplo n.º 3
0
        void c_ClientMoveItemInfo(object sender, ClientMoveItemEventArgs e)
        {
            Client c = (Client)sender;
            MoveItemInfo m = e.Info;
            BaseItem item = null;

            try
            {
                if (m.FromBag > 0)
                {
                    item = c.MyCharacter.Bags[m.FromBag - 1].Items.First(x => x.ItemID == m.ItemID);
                }
                else
                {
                    switch (m.FromSlot)
                    {
                        case (byte)Slot.Weapon: // Hand
                            item = c.MyCharacter.Hand;
                            break;

                        case (byte)Slot.Hat: // Hat
                            item = c.MyCharacter.Head;
                            break;

                        case (byte)Slot.Armor: // Armor
                            item = c.MyCharacter.Body;
                            break;

                        case (byte)Slot.Shoes: // Shoes
                            item = c.MyCharacter.Feet;
                            break;

                        case (byte)Slot.CrystalMirror: // crystalmirror
                            item = c.MyCharacter.Charm;
                            break;

                        case (byte)Slot.Ring:
                            item = c.MyCharacter.Ring;
                            break;

                        case (byte)Slot.Necklace:
                            item = c.MyCharacter.Necklace;
                            break;

                        case (byte)Slot.Cape:
                            item = c.MyCharacter.Cape;
                            break;

                        case (byte)Slot.Mirror:
                            item = c.MyCharacter.Mirror;
                            break;
                        default:
                            break;
                    }
                }
            }
            catch
            {
            }
            // ADD MOVE ITEM FUNC TO THAT BAG CLASS BLABLA

            try
            {
                if (m.ToBag > 0 && m.FromBag != 0)
                {
                    if (HandleItemMove(c, m, item))
                    {
                        if (item.Slot != 255)
                        {
                            byte[] SendMoveItem = PacketManager.SendMoveItem(m, 0);
                            c.Send(SendMoveItem);
                        }
                    }
                    else
                    {
                        byte[] SendError = PacketManager.SendMoveItem(m, 2);
                        c.Send(SendError);
                    }
                }
                else
                {
                    if (m.FromBag != 0)
                        HandleEquipItem(c, m, item);
                    else
                        HandleUnEquipItem(c, m, item);
                }
            }
            catch (InvalidItemSlotException)
            {

            }
        }