Exemplo n.º 1
0
        public static void HandleUseEquipmentSet(IRealmClient client, RealmPacketIn packet)
        {
            var equipmentSwap = new EquipmentSwapHolder[19];

            for (var i = 0; i < 19; i++)
            {
                equipmentSwap[i] = new EquipmentSwapHolder
                {
                    ItemGuid     = packet.ReadPackedEntityId(),
                    SrcContainer = (InventorySlot)packet.ReadByte(),
                    SrcSlot      = packet.ReadByte()
                };
            }

            var chr = client.ActiveCharacter;

            chr.Inventory.UseEquipmentSet(equipmentSwap);
        }
Exemplo n.º 2
0
        public static void HandleUseEquipmentSet(IRealmClient client, RealmPacketIn packet)
        {
            var equipmentSwap = new EquipmentSwapHolder[19];
            for (var i = 0; i < 19; i++)
            {
                equipmentSwap[i] = new EquipmentSwapHolder
                {
                    ItemGuid = packet.ReadPackedEntityId(),
                    SrcContainer = (InventorySlot)packet.ReadByte(),
                    SrcSlot = packet.ReadByte()
                };
            }

            var chr = client.ActiveCharacter;
            chr.Inventory.UseEquipmentSet(equipmentSwap);
        }
Exemplo n.º 3
0
		public void UseEquipmentSet(EquipmentSwapHolder[] swaps)
		{
			if (swaps == null) return;
			for (var i = 0; i < 19; i++)
			{
				var holder = swaps[i];
				if (holder.ItemGuid == EntityId.Zero) continue;
				var destItem = GetItem(holder.ItemGuid);
				var srcItem = GetItem(holder.SrcContainer, holder.SrcSlot, IsBankOpen);
				if (destItem == null) continue;
				if (destItem == srcItem) continue;

				var msg = TrySwap(holder.SrcContainer, holder.SrcSlot, InventorySlot.Invalid, i);
				if (msg != InventoryError.OK)
				{
					ItemHandler.SendInventoryError(Owner.Client, msg);
					return;
				}
				ItemHandler.SendUseEquipmentSetResult(Owner.Client, UseEquipmentSetError.Success);
			}
		}