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 }
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); }
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); }
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); }