public static Price? PriceKillstreak(Item item, Quality quality, KillstreakType killstreak, bool australium)
        {
            if (item.PlainSlot != ItemSlotPlain.Weapon)
            {
                VersatileIO.Error("Item must be a weapon.");
                return null;
            }

            if (killstreak == KillstreakType.None)
            {
                VersatileIO.Warning("Killstreak type is None. Pricings from market data will not be" +
                    " as reliable as backpack.tf prices.");
            }

            List<MarketPricing> viable = DataManager.MarketPrices.Pricings.FindAll((p) => p.Item == item);

            List<MarketPricing> pricings = new List<MarketPricing>();
            foreach (MarketPricing p in viable)
            {
                if (p.Quality != quality)
                {
                    continue;
                }

                if (p.Killstreak != killstreak)
                {
                    continue;
                }

                pricings.Add(p);
                break;
            }

            if (pricings.Count == 0)
            {
                VersatileIO.Error("No killstreak prices found on community market for " +
                    item.ToString(quality, australium, killstreak));
                return null;
            }
            else if (pricings.Count == 1)
            {
                VersatileIO.Success("Pricing successful!");
                return pricings[0].Price;
            }
            else
            {
                VersatileIO.Warning("Multiple market pricings found for {0}. Returning the average price.",
                    item.ToString(quality, australium, killstreak));
                Price sum = Price.Zero;
                foreach (MarketPricing p in pricings)
                {
                    sum += p.Price;
                }

                Price avg = sum / pricings.Count;
                VersatileIO.Success("Pricing successful!");
                return avg;
            }
        }
        public static PriceRange? GetKillstreakPrice(Item item, Quality quality, KillstreakType tier, bool australium)
        {
            Price? res = CmdKillstreak.PriceKillstreak(item, quality, tier, australium);
            if (res == null)
            {
                return null;
            }

            return new PriceRange(res.Value);
        }
 private void NoneBtn_Click(object sender, RoutedEventArgs e)
 {
     SelectedKillstreak = KillstreakType.None;
 }
 private void BasicBtn_Click(object sender, RoutedEventArgs e)
 {
     SelectedKillstreak = KillstreakType.Basic;
 }
 private void SpecializedBtn_Click(object sender, RoutedEventArgs e)
 {
     SelectedKillstreak = KillstreakType.Specialized;
 }
 private void ProfessionalBtn_Click(object sender, RoutedEventArgs e)
 {
     SelectedKillstreak = KillstreakType.Professional;
 }
Example #7
0
        public string ToString(Quality quality, bool australium = false,
			KillstreakType killstreak = KillstreakType.None)
        {
            if (IsSkin())
            {
                return "[Skin] " + GetSkin()?.Name ?? "UNKNOWN";
            }

            string qs = quality.ToReadableString();
            if (qs != "")
            {
                qs += " ";
            }

            string kss = killstreak.ToReadableString();
            if (kss != "")
            {
                kss += " ";
            }

            string auss = "";
            if (australium)
            {
                auss = "Australium ";
            }

            string name = qs.HasItems() && kss.HasItems() ? ImproperName : Name;

            return qs + kss + auss + name;
        }
        public static string GetMarketHash(Item item, KillstreakType ks, Quality quality)
        {
            string s_q = quality.ToReadableString();
            if (s_q != "")
            {
                s_q += " ";
            }

            string s_ks = ks.ToReadableString();
            if (s_ks != "")
            {
                s_ks += " ";
            }

            return s_q + s_ks + item.ImproperName;
        }