Beispiel #1
0
        private void HandleWornItemPacket(WornItemPacket packet)
        {
            gameObjects.UpdateObject(new Item(packet.ItemId, packet.Type, 1, new Location3D(0, 0, 0), packet.Color,
                                              packet.PlayerId, packet.Layer));

            eventJournalSource.Publish(new ItemWornEvent(packet.ItemId, packet.PlayerId, packet.Layer));
        }
Beispiel #2
0
        private void ReceiveWornItem(IRecvPacket packet)
        {
            WornItemPacket p    = (WornItemPacket)packet;
            Item           item = add_Item(p.Serial, p.ItemId, p.Hue, p.ParentSerial, 0);
            Mobile         m    = EntityManager.GetObject <Mobile>(p.ParentSerial, false);

            m.WearItem(item, p.Layer);
            if (item.PropertyList.Hash == 0)
            {
                World.Engine.Client.Send(new QueryPropertiesPacket(item.Serial));
            }
        }
        public void Can_deserialize()
        {
            var rawPacket = FakePackets.Instantiate(new byte[]
            {
                0x2E,                   // packet
                0x40, 0x05, 0xA4, 0x96, // item id
                0x0E, 0x7C,             // type
                0x00,                   // unknown
                0x1D,                   // layer
                0x00, 0x04, 0x5B, 0x2A, // player id
                0x03, 0x84,             // color
            });

            var packet = new WornItemPacket();

            packet.Deserialize(rawPacket);

            packet.ItemId.Should().Be(new ObjectId(0x4005a496));
            packet.Type.Should().Be((ModelId)0x0e7c);
            packet.Layer.Should().Be(Layer.BankBox);
            packet.PlayerId.Should().Be(new ObjectId(0x00045B2A));
            packet.Color.Should().Be((Color)0x0384);
        }