Exemple #1
0
 public Item(int id)
 {
     Id                    = id;
     Level                 = ItemMetadataStorage.GetLevel(id);
     Uid                   = GuidGenerator.Long();
     InventoryTab          = ItemMetadataStorage.GetTab(id);
     ItemSlot              = ItemMetadataStorage.GetSlot(id);
     GemSlot               = ItemMetadataStorage.GetGem(id);
     Rarity                = ItemMetadataStorage.GetRarity(id);
     StackLimit            = ItemMetadataStorage.GetStackLimit(id);
     EnableBreak           = ItemMetadataStorage.GetEnableBreak(id);
     IsTwoHand             = ItemMetadataStorage.GetIsTwoHand(id);
     IsDress               = ItemMetadataStorage.GetIsDress(id);
     IsTemplate            = ItemMetadataStorage.GetIsTemplate(id);
     IsCustomScore         = ItemMetadataStorage.GetIsCustomScore(id);
     Gender                = ItemMetadataStorage.GetGender(id);
     RemainingGlamorForges = ItemExtractionMetadataStorage.GetExtractionCount(id);
     PlayCount             = ItemMetadataStorage.GetPlayCount(id);
     FileName              = ItemMetadataStorage.GetFileName(id);
     SkillId               = ItemMetadataStorage.GetSkillID(id);
     RecommendJobs         = ItemMetadataStorage.GetRecommendJobs(id);
     Content               = ItemMetadataStorage.GetContent(id);
     Function              = ItemMetadataStorage.GetFunction(id);
     Tag                   = ItemMetadataStorage.GetTag(id);
     ShopID                = ItemMetadataStorage.GetShopID(id);
     Slot                  = -1;
     Amount                = 1;
     Score                 = new MusicScore();
     Stats                 = new ItemStats(id, Rarity, Level);
     Color                 = ItemMetadataStorage.GetEquipColor(id);
     CanRepackage          = true; // If false, item becomes untradable
 }
Exemple #2
0
 public void SetMetadataValues(int id)
 {
     InventoryTab  = ItemMetadataStorage.GetTab(id);
     GemSlot       = ItemMetadataStorage.GetGem(id);
     StackLimit    = ItemMetadataStorage.GetStackLimit(id);
     EnableBreak   = ItemMetadataStorage.GetEnableBreak(id);
     IsTwoHand     = ItemMetadataStorage.GetIsTwoHand(id);
     IsDress       = ItemMetadataStorage.GetIsDress(id);
     IsCustomScore = ItemMetadataStorage.GetIsCustomScore(id);
     Gender        = ItemMetadataStorage.GetGender(id);
     FileName      = ItemMetadataStorage.GetFileName(id);
     SkillId       = ItemMetadataStorage.GetSkillID(id);
     RecommendJobs = ItemMetadataStorage.GetRecommendJobs(id);
     Content       = ItemMetadataStorage.GetContent(id);
     Function      = ItemMetadataStorage.GetFunction(id);
     AdBalloon     = ItemMetadataStorage.GetBalloonData(id);
     Tag           = ItemMetadataStorage.GetTag(id);
     ShopID        = ItemMetadataStorage.GetShopID(id);
 }
Exemple #3
0
 public void SetMetadataValues()
 {
     InventoryTab    = ItemMetadataStorage.GetTab(Id);
     GemSlot         = ItemMetadataStorage.GetGem(Id);
     StackLimit      = ItemMetadataStorage.GetStackLimit(Id);
     EnableBreak     = ItemMetadataStorage.GetEnableBreak(Id);
     IsTwoHand       = ItemMetadataStorage.GetIsTwoHand(Id);
     IsDress         = ItemMetadataStorage.GetIsDress(Id);
     IsCustomScore   = ItemMetadataStorage.GetIsCustomScore(Id);
     Gender          = ItemMetadataStorage.GetGender(Id);
     FileName        = ItemMetadataStorage.GetFileName(Id);
     SkillId         = ItemMetadataStorage.GetSkillID(Id);
     RecommendJobs   = ItemMetadataStorage.GetRecommendJobs(Id);
     Function        = ItemMetadataStorage.GetFunction(Id);
     Tag             = ItemMetadataStorage.GetTag(Id);
     ShopID          = ItemMetadataStorage.GetShopID(Id);
     RemainingTrades = ItemMetadataStorage.GetTradeableCount(Id);
     TransferType    = ItemMetadataStorage.GetTransferType(Id);
     RepackageCount  = ItemMetadataStorage.GetRepackageCount(Id);
 }
Exemple #4
0
        public override void Handle(GameSession session, PacketReader packet)
        {
            int itemId = packet.ReadInt();

            packet.ReadShort(); // Unknown
            int     amount  = packet.ReadInt();
            BoxType boxType = (BoxType)packet.ReadShort();

            string functionName = ItemMetadataStorage.GetFunction(itemId).Name;

            if (functionName != "SelectItemBox" && functionName != "OpenItemBox")
            {
                return;
            }

            Dictionary <long, Item> items = new Dictionary <long, Item>(session.Player.Inventory.Items.Where(x => x.Value.Id == itemId)); // Make copy of items in-case new item is added

            if (items.Count == 0)
            {
                return;
            }

            int index = 0;

            if (boxType == BoxType.SELECT)
            {
                index = packet.ReadShort() - 0x30; // Starts at 0x30 for some reason
                if (index < 0)
                {
                    return;
                }
                SelectItemBox selectBox = ItemMetadataStorage.GetFunction(itemId).SelectItemBox;
                HandleSelectBox(session, items, selectBox, index, amount);
                return;
            }

            OpenItemBox openBox = ItemMetadataStorage.GetFunction(itemId).OpenItemBox;

            HandleOpenBox(session, items, /*openBox,*/ amount);
        }