public void Process(L2Character character, L2Item item) { if (!(character is L2Player)) { return; } if (!Items.ContainsKey(item.Template.ItemId)) { return; } CapsuleItem caps = Items[item.Template.ItemId]; Random rn = new Random(); ((L2Player)character).DestroyItem(item, 1); foreach (CapsuleItemReward rew in caps.Rewards.Where(rew => rn.Next(100) <= rew.Rate)) { ((L2Player)character).AddItem(rew.Id, rn.Next(rew.Min, rew.Max)); } }