Ejemplo n.º 1
0
        public override void Parse(L2PlayerData data)
        {
            int size = reader.ReadShort();

            for (int i = 0; i < size; i++)
            {
                int change = reader.ReadShort();                                                                                                                //0- unchanged, 1- add, 2-modified, 3- remove
                reader.ReadShort();                                                                                                                             //type1
                int         objId = reader.ReadInt();
                StashedItem item  = change == 1 || data.Inventory.Count == 0 || !data.Inventory.ContainsKey(objId) ? new StashedItem() : data.Inventory[objId]; //if inv is initialised also
                item.ObjectId     = objId;                                                                                                                      //writeD(item.getObjectId());
                item.ItemId       = reader.ReadInt();                                                                                                           //writeD(item.getdisplayId() > 0 ? item.getdisplayId() : item.getItemId());
                item.ItemQuantity = reader.ReadInt();                                                                                                           //writeD(count);
                reader.ReadShort();                                                                                                                             //writeH(item.getTemplate().getType2ForPackets());
                reader.ReadShort();                                                                                                                             //writeH(item.getCustomType1());
                item.IsEquipped = reader.ReadShort() == 1;                                                                                                      //writeH(item.isEquipped() ? 1 : 0);
                reader.ReadInt();                                                                                                                               //writeD(item.getBodyPart());
                reader.ReadShort();                                                                                                                             //writeH(item.getEnchantLevel());
                reader.ReadShort();                                                                                                                             //writeH(item.getCustomType2());
                reader.ReadInt();                                                                                                                               //writeD(item.getAugmentationId());
                reader.ReadInt();                                                                                                                               //writeD(item.getShadowLifeTime());//mana

                switch (change)
                {
                case 1:
                    data.Inventory.Add(objId, item);
                    break;

                case 3:
                    data.Inventory.Remove(objId);
                    break;
                }
            }
        }
 private void ReleaseMessagesFromStashedItem(StashedItem stashedItem)
 {
     while (stashedItem.StatefulFeedMessagesQueue.Count > 0)
     {
         var item = stashedItem.StatefulFeedMessagesQueue.Dequeue();
         RaiseOnMessageProcessedEvent(new FeedMessageReceivedEventArgs(item.Message, item.Interest, item.RawMsg));
     }
 }
Ejemplo n.º 3
0
        public override void Parse(L2PlayerData data)
        {
            int size = reader.ReadShort();

            for (int i = 0; i < size; i++)
            {
                int         change = reader.ReadShort();                                                                   //0- unchanged, 1- add, 2-modified, 3- remove
                int         objId  = reader.ReadInt();
                StashedItem item   = change == 1 || data.Inventory.Count == 0 ? new StashedItem() : data.Inventory[objId]; //if inv is initialised also
                item.ObjectId = objId;                                                                                     //writeD(item.getObjectId());
                item.ItemId   = reader.ReadInt();                                                                          //writeD(item.getdisplayId() > 0 ? item.getdisplayId() : item.getItemId());
                reader.ReadInt();                                                                                          //writeD(item.getEquipSlot());
                item.ItemQuantity = reader.ReadLong();                                                                     //writeQ(count);
                reader.ReadShort();                                                                                        //writeH(item.getTemplate().getType2ForPackets());
                reader.ReadShort();                                                                                        //writeH(item.getCustomType1());
                item.IsEquipped = reader.ReadShort() == 1;                                                                 //writeH(item.isEquipped() ? 1 : 0);
                reader.ReadInt();                                                                                          //writeD(item.getBodyPart());
                reader.ReadShort();                                                                                        //writeH(item.getEnchantLevel());
                reader.ReadShort();                                                                                        //writeH(item.getCustomType2());
                reader.ReadInt();                                                                                          //writeD(item.getAugmentationId());
                reader.ReadInt();                                                                                          //writeD(item.getShadowLifeTime());
                reader.ReadInt();                                                                                          //writeD(item.getTemporalLifeTime());
                reader.ReadShort();                                                                                        //writeH(item.getAttackElement().getId());
                reader.ReadShort();                                                                                        //writeH(item.getAttackElementValue());
                reader.ReadShort();                                                                                        //writeH(item.getDefenceFire());
                reader.ReadShort();                                                                                        //writeH(item.getDefenceWater());
                reader.ReadShort();                                                                                        //writeH(item.getDefenceWind());
                reader.ReadShort();                                                                                        //writeH(item.getDefenceEarth());
                reader.ReadShort();                                                                                        //writeH(item.getDefenceHoly());
                reader.ReadShort();                                                                                        //writeH(item.getDefenceUnholy());
                reader.ReadShort();                                                                                        //writeH(item.getEnchantOptions()[0]);
                reader.ReadShort();                                                                                        //writeH(item.getEnchantOptions()[1]);
                reader.ReadShort();                                                                                        //writeH(item.getEnchantOptions()[2]);

                switch (change)
                {
                case 1:
                    data.Inventory.Add(objId, item);
                    break;

                case 3:
                    data.Inventory.Remove(objId);
                    break;
                }
            }
        }
Ejemplo n.º 4
0
        public override void Parse(L2PlayerData data)
        {
            int size = reader.ReadShort();

            foreach (var inventoryValue in data.Inventory.Values)
            {
                if (inventoryValue.IsQuestItem)
                {
                    data.Inventory.Remove(inventoryValue.ObjectId);
                }
            }

            for (int i = 0; i < size; i++)
            {
                int         objId = reader.ReadInt();
                StashedItem item  = new StashedItem();
                item.IsQuestItem = true;
                item.ObjectId    = objId;                  //writeD(item.getObjectId());
                item.ItemId      = reader.ReadInt();       //writeD(item.getdisplayId() > 0 ? item.getdisplayId() : item.getItemId());
                reader.ReadInt();                          //writeD(item.getEquipSlot());
                item.ItemQuantity = reader.ReadLong();     //writeQ(count);
                reader.ReadShort();                        //writeH(item.getTemplate().getType2ForPackets());
                reader.ReadShort();                        //writeH(item.getCustomType1());
                item.IsEquipped = reader.ReadShort() == 1; //writeH(item.isEquipped() ? 1 : 0);
                reader.ReadInt();                          //writeD(item.getBodyPart());
                reader.ReadShort();                        //writeH(item.getEnchantLevel());
                reader.ReadShort();                        //writeH(item.getCustomType2());
                reader.ReadInt();                          //writeD(item.getAugmentationId());
                reader.ReadInt();                          //writeD(item.getShadowLifeTime());
                reader.ReadInt();                          //writeD(item.getTemporalLifeTime());
                reader.ReadShort();                        //writeH(item.getAttackElement().getId());
                reader.ReadShort();                        //writeH(item.getAttackElementValue());
                reader.ReadShort();                        //writeH(item.getDefenceFire());
                reader.ReadShort();                        //writeH(item.getDefenceWater());
                reader.ReadShort();                        //writeH(item.getDefenceWind());
                reader.ReadShort();                        //writeH(item.getDefenceEarth());
                reader.ReadShort();                        //writeH(item.getDefenceHoly());
                reader.ReadShort();                        //writeH(item.getDefenceUnholy());
                reader.ReadShort();                        //writeH(item.getEnchantOptions()[0]);
                reader.ReadShort();                        //writeH(item.getEnchantOptions()[1]);
                reader.ReadShort();                        //writeH(item.getEnchantOptions()[2]);

                data.Inventory.Add(item.ObjectId, item);
            }
        }
Ejemplo n.º 5
0
        public override void Parse(L2PlayerData data)
        {
            reader.ReadShort();//show window
            int size = reader.ReadShort();

            data.Inventory.Clear();
            for (int i = 0; i < size; i++)
            {
                StashedItem item = new StashedItem();
                reader.ReadShort();                        //type1
                item.ObjectId     = reader.ReadInt();      //writeD(item.getObjectId());
                item.ItemId       = reader.ReadInt();      //writeD(item.getdisplayId() > 0 ? item.getdisplayId() : item.getItemId());
                item.ItemQuantity = reader.ReadInt();      //writeD (count);
                reader.ReadShort();                        //writeH(item.getTemplate().getType2ForPackets());
                reader.ReadShort();                        //writeH(item.getCustomType1());
                item.IsEquipped = reader.ReadShort() == 1; //writeH(item.isEquipped() ? 1 : 0);
                reader.ReadInt();                          //writeD(item.getBodyPart());
                reader.ReadShort();                        //writeH(item.getEnchantLevel());
                reader.ReadShort();                        //writeH(item.getCustomType2());
                reader.ReadInt();                          //writeD(item.getAugmentationId());
                reader.ReadInt();                          //writeD(item.getShadowLifeTime()); mana
                data.Inventory.Add(item.ObjectId, item);
            }
        }
 private static void EnqueueMessage(StashedItem stashedItem, StashedMessage stashedMessage)
 {
     stashedItem.StatefulFeedMessagesQueue.Enqueue(stashedMessage);
 }