diff --git a/.vs/FloatToolGUI/v16/.suo b/.vs/FloatToolGUI/v16/.suo index 65ea8e6..6f50486 100644 Binary files a/.vs/FloatToolGUI/v16/.suo and b/.vs/FloatToolGUI/v16/.suo differ diff --git a/FloatToolGUI/About.Designer.cs b/FloatToolGUI/About.Designer.cs deleted file mode 100644 index 6c00c5e..0000000 --- a/FloatToolGUI/About.Designer.cs +++ /dev/null @@ -1,177 +0,0 @@ -namespace FloatToolGUI -{ - partial class About - { - /// - /// Required designer variable. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Clean up any resources being used. - /// - /// true if managed resources should be disposed; otherwise, false. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Windows Form Designer generated code - - /// - /// Required method for Designer support - do not modify - /// the contents of this method with the code editor. - /// - private void InitializeComponent() - { - System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(About)); - this.close_btn = new System.Windows.Forms.Button(); - this.label1 = new System.Windows.Forms.Label(); - this.label2 = new System.Windows.Forms.Label(); - this.label3 = new System.Windows.Forms.Label(); - this.label4 = new System.Windows.Forms.Label(); - this.divam = new System.Windows.Forms.Label(); - this.granzi = new System.Windows.Forms.Label(); - this.brisk = new System.Windows.Forms.Label(); - this.SuspendLayout(); - // - // close_btn - // - this.close_btn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); - this.close_btn.DialogResult = System.Windows.Forms.DialogResult.Cancel; - this.close_btn.FlatAppearance.BorderSize = 0; - this.close_btn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; - this.close_btn.Font = new System.Drawing.Font("Microsoft JhengHei Light", 18F); - this.close_btn.ForeColor = System.Drawing.Color.White; - this.close_btn.Location = new System.Drawing.Point(11, 184); - this.close_btn.Name = "close_btn"; - this.close_btn.Size = new System.Drawing.Size(218, 45); - this.close_btn.TabIndex = 0; - this.close_btn.Text = "Закрыть"; - this.close_btn.UseVisualStyleBackColor = false; - this.close_btn.Click += new System.EventHandler(this.button1_Click); - // - // label1 - // - this.label1.AutoSize = true; - this.label1.Font = new System.Drawing.Font("Righteous", 27.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label1.ForeColor = System.Drawing.Color.White; - this.label1.Location = new System.Drawing.Point(29, 7); - this.label1.Name = "label1"; - this.label1.Size = new System.Drawing.Size(181, 47); - this.label1.TabIndex = 1; - this.label1.Text = "FloatTool"; - // - // label2 - // - this.label2.AutoSize = true; - this.label2.Font = new System.Drawing.Font("Righteous", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label2.ForeColor = System.Drawing.Color.White; - this.label2.Location = new System.Drawing.Point(52, 56); - this.label2.Name = "label2"; - this.label2.Size = new System.Drawing.Size(136, 21); - this.label2.TabIndex = 2; - this.label2.Text = "Версия 0.4.2 GUI"; - // - // label3 - // - this.label3.AutoSize = true; - this.label3.Font = new System.Drawing.Font("Maiandra GD", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label3.ForeColor = System.Drawing.Color.White; - this.label3.Location = new System.Drawing.Point(21, 86); - this.label3.Name = "label3"; - this.label3.Size = new System.Drawing.Size(202, 14); - this.label3.TabIndex = 3; - this.label3.Text = "Разработал приложение: Prevter"; - this.label3.Click += new System.EventHandler(this.label3_Click); - // - // label4 - // - this.label4.AutoSize = true; - this.label4.Font = new System.Drawing.Font("Maiandra GD", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.label4.ForeColor = System.Drawing.Color.White; - this.label4.Location = new System.Drawing.Point(37, 109); - this.label4.Name = "label4"; - this.label4.Size = new System.Drawing.Size(167, 14); - this.label4.TabIndex = 4; - this.label4.Text = "Помогали в тестировании:"; - // - // divam - // - this.divam.AutoSize = true; - this.divam.Font = new System.Drawing.Font("Maiandra GD", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.divam.ForeColor = System.Drawing.Color.White; - this.divam.Location = new System.Drawing.Point(53, 133); - this.divam.Name = "divam"; - this.divam.Size = new System.Drawing.Size(43, 14); - this.divam.TabIndex = 5; - this.divam.Text = "Divam"; - this.divam.Click += new System.EventHandler(this.divam_Click); - // - // granzi - // - this.granzi.AutoSize = true; - this.granzi.Font = new System.Drawing.Font("Maiandra GD", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.granzi.ForeColor = System.Drawing.Color.White; - this.granzi.Location = new System.Drawing.Point(116, 133); - this.granzi.Name = "granzi"; - this.granzi.Size = new System.Drawing.Size(72, 14); - this.granzi.TabIndex = 6; - this.granzi.Text = "GranziTime"; - this.granzi.Click += new System.EventHandler(this.granzi_Click); - // - // brisk - // - this.brisk.AutoSize = true; - this.brisk.Font = new System.Drawing.Font("Maiandra GD", 8.25F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.brisk.ForeColor = System.Drawing.Color.White; - this.brisk.Location = new System.Drawing.Point(5, 159); - this.brisk.Name = "brisk"; - this.brisk.Size = new System.Drawing.Size(227, 14); - this.brisk.TabIndex = 8; - this.brisk.Text = "Идея была взята из видео BriskBrain"; - this.brisk.Click += new System.EventHandler(this.label8_Click); - // - // About - // - this.AcceptButton = this.close_btn; - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; - this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(44)))), ((int)(((byte)(44)))), ((int)(((byte)(44))))); - this.CancelButton = this.close_btn; - this.ClientSize = new System.Drawing.Size(239, 237); - this.ControlBox = false; - this.Controls.Add(this.brisk); - this.Controls.Add(this.granzi); - this.Controls.Add(this.divam); - this.Controls.Add(this.label4); - this.Controls.Add(this.label3); - this.Controls.Add(this.label2); - this.Controls.Add(this.label1); - this.Controls.Add(this.close_btn); - this.HelpButton = true; - this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); - this.Name = "About"; - this.Text = "О Разработчике"; - this.Load += new System.EventHandler(this.About_Load); - this.ResumeLayout(false); - this.PerformLayout(); - - } - - #endregion - - private System.Windows.Forms.Button close_btn; - private System.Windows.Forms.Label label1; - private System.Windows.Forms.Label label2; - private System.Windows.Forms.Label label3; - private System.Windows.Forms.Label label4; - private System.Windows.Forms.Label divam; - private System.Windows.Forms.Label granzi; - private System.Windows.Forms.Label brisk; - } -} \ No newline at end of file diff --git a/FloatToolGUI/About.cs b/FloatToolGUI/About.cs deleted file mode 100644 index 5dfc71e..0000000 --- a/FloatToolGUI/About.cs +++ /dev/null @@ -1,50 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Data; -using System.Drawing; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace FloatToolGUI -{ - public partial class About : Form - { - public About() - { - InitializeComponent(); - } - - private void About_Load(object sender, EventArgs e) - { - - } - - private void divam_Click(object sender, EventArgs e) - { - System.Diagnostics.Process.Start("https://steamcommunity.com/id/divamyt"); - } - - private void button1_Click(object sender, EventArgs e) - { - this.Close(); - } - - private void label3_Click(object sender, EventArgs e) - { - System.Diagnostics.Process.Start("https://steamcommunity.com/id/prevter"); - } - - private void label8_Click(object sender, EventArgs e) - { - System.Diagnostics.Process.Start("https://www.youtube.com/channel/UCsqGXK3HK0eWu6C1NoUsRsQ"); - } - - private void granzi_Click(object sender, EventArgs e) - { - System.Diagnostics.Process.Start("https://steamcommunity.com/profiles/76561198328715744"); - } - } -} diff --git a/FloatToolGUI/About.resx b/FloatToolGUI/About.resx deleted file mode 100644 index 6765ca3..0000000 --- a/FloatToolGUI/About.resx +++ /dev/null @@ -1,658 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - - 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 - WtT/Dwq2uvjgV6RrAAAAAElFTkSuQmCC - - - \ No newline at end of file diff --git a/FloatToolGUI/Benchmark.Designer.cs b/FloatToolGUI/Benchmark.Designer.cs new file mode 100644 index 0000000..9b281ec --- /dev/null +++ b/FloatToolGUI/Benchmark.Designer.cs @@ -0,0 +1,370 @@ +namespace FloatToolGUI +{ + partial class Benchmark + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + this.components = new System.ComponentModel.Container(); + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Benchmark)); + this.startBenchmarkBtn = new System.Windows.Forms.Button(); + this.submitScoreBtn = new System.Windows.Forms.Button(); + this.cpuNameLabel = new System.Windows.Forms.Label(); + this.threadCountLabel = new System.Windows.Forms.Label(); + this.versionLabel2 = new System.Windows.Forms.Label(); + this.label4 = new System.Windows.Forms.Label(); + this.speedLabel = new System.Windows.Forms.Label(); + this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel(); + this.panel1 = new System.Windows.Forms.Panel(); + this.label7 = new System.Windows.Forms.Label(); + this.label6 = new System.Windows.Forms.Label(); + this.panel2 = new System.Windows.Forms.Panel(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.Updater = new System.Windows.Forms.Timer(this.components); + this.customProgressBar1 = new FloatToolGUI.CustomProgressBar(); + this.panel4 = new System.Windows.Forms.Panel(); + this.label8 = new System.Windows.Forms.Label(); + this.closeBtn = new System.Windows.Forms.Button(); + this.panel3 = new System.Windows.Forms.Panel(); + this.flowLayoutPanel1.SuspendLayout(); + this.panel1.SuspendLayout(); + this.panel2.SuspendLayout(); + this.panel4.SuspendLayout(); + this.panel3.SuspendLayout(); + this.SuspendLayout(); + // + // startBenchmarkBtn + // + this.startBenchmarkBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.startBenchmarkBtn.FlatAppearance.BorderSize = 0; + this.startBenchmarkBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.startBenchmarkBtn.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 14.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.startBenchmarkBtn.ForeColor = System.Drawing.Color.White; + this.startBenchmarkBtn.Location = new System.Drawing.Point(394, 247); + this.startBenchmarkBtn.Name = "startBenchmarkBtn"; + this.startBenchmarkBtn.Size = new System.Drawing.Size(304, 39); + this.startBenchmarkBtn.TabIndex = 1; + this.startBenchmarkBtn.Text = "Начать бенчмарк"; + this.startBenchmarkBtn.UseVisualStyleBackColor = false; + this.startBenchmarkBtn.Click += new System.EventHandler(this.startBenchmarkBtn_Click); + // + // submitScoreBtn + // + this.submitScoreBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.submitScoreBtn.Enabled = false; + this.submitScoreBtn.FlatAppearance.BorderSize = 0; + this.submitScoreBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.submitScoreBtn.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 12F); + this.submitScoreBtn.ForeColor = System.Drawing.Color.White; + this.submitScoreBtn.Location = new System.Drawing.Point(394, 212); + this.submitScoreBtn.Name = "submitScoreBtn"; + this.submitScoreBtn.Size = new System.Drawing.Size(304, 29); + this.submitScoreBtn.TabIndex = 2; + this.submitScoreBtn.Text = "Опубликовать"; + this.submitScoreBtn.UseVisualStyleBackColor = false; + this.submitScoreBtn.Click += new System.EventHandler(this.submitScoreBtn_Click); + // + // cpuNameLabel + // + this.cpuNameLabel.AutoSize = true; + this.cpuNameLabel.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 11F); + this.cpuNameLabel.ForeColor = System.Drawing.Color.White; + this.cpuNameLabel.Location = new System.Drawing.Point(390, 9); + this.cpuNameLabel.Name = "cpuNameLabel"; + this.cpuNameLabel.Size = new System.Drawing.Size(137, 19); + this.cpuNameLabel.TabIndex = 3; + this.cpuNameLabel.Text = "AMD Ryzen 5 2600"; + this.cpuNameLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // threadCountLabel + // + this.threadCountLabel.AutoSize = true; + this.threadCountLabel.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.threadCountLabel.ForeColor = System.Drawing.Color.White; + this.threadCountLabel.Location = new System.Drawing.Point(390, 28); + this.threadCountLabel.Name = "threadCountLabel"; + this.threadCountLabel.Size = new System.Drawing.Size(93, 20); + this.threadCountLabel.TabIndex = 3; + this.threadCountLabel.Text = "12 Потоков"; + this.threadCountLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // versionLabel2 + // + this.versionLabel2.AutoSize = true; + this.versionLabel2.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.versionLabel2.ForeColor = System.Drawing.Color.White; + this.versionLabel2.Location = new System.Drawing.Point(390, 48); + this.versionLabel2.Name = "versionLabel2"; + this.versionLabel2.Size = new System.Drawing.Size(93, 20); + this.versionLabel2.TabIndex = 3; + this.versionLabel2.Text = "v.0.5.0 beta"; + this.versionLabel2.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.label4.ForeColor = System.Drawing.Color.White; + this.label4.Location = new System.Drawing.Point(390, 151); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(84, 20); + this.label4.TabIndex = 3; + this.label4.Text = "Скорость:"; + this.label4.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // speedLabel + // + this.speedLabel.AutoSize = true; + this.speedLabel.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); + this.speedLabel.ForeColor = System.Drawing.Color.White; + this.speedLabel.Location = new System.Drawing.Point(390, 171); + this.speedLabel.Name = "speedLabel"; + this.speedLabel.Size = new System.Drawing.Size(45, 20); + this.speedLabel.TabIndex = 3; + this.speedLabel.Text = "0 к/с"; + this.speedLabel.TextAlign = System.Drawing.ContentAlignment.MiddleCenter; + // + // flowLayoutPanel1 + // + this.flowLayoutPanel1.AutoScroll = true; + this.flowLayoutPanel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(26)))), ((int)(((byte)(26)))), ((int)(((byte)(26))))); + this.flowLayoutPanel1.Controls.Add(this.panel1); + this.flowLayoutPanel1.Controls.Add(this.panel2); + this.flowLayoutPanel1.Dock = System.Windows.Forms.DockStyle.Left; + this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown; + this.flowLayoutPanel1.ForeColor = System.Drawing.Color.White; + this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0); + this.flowLayoutPanel1.Name = "flowLayoutPanel1"; + this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(10); + this.flowLayoutPanel1.Size = new System.Drawing.Size(384, 321); + this.flowLayoutPanel1.TabIndex = 4; + this.flowLayoutPanel1.WrapContents = false; + // + // panel1 + // + this.panel1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(151)))), ((int)(((byte)(10)))), ((int)(((byte)(27))))); + this.panel1.Controls.Add(this.label7); + this.panel1.Controls.Add(this.label6); + this.panel1.Location = new System.Drawing.Point(10, 10); + this.panel1.Margin = new System.Windows.Forms.Padding(0, 0, 0, 5); + this.panel1.Name = "panel1"; + this.panel1.Size = new System.Drawing.Size(350, 35); + this.panel1.TabIndex = 0; + // + // label7 + // + this.label7.AutoSize = true; + this.label7.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 8F); + this.label7.ForeColor = System.Drawing.Color.White; + this.label7.Location = new System.Drawing.Point(3, 18); + this.label7.Name = "label7"; + this.label7.Size = new System.Drawing.Size(128, 14); + this.label7.TabIndex = 3; + this.label7.Text = "1021779 к/с (v.0.5.0 beta)"; + this.label7.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label6 + // + this.label6.AutoSize = true; + this.label6.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 8F); + this.label6.ForeColor = System.Drawing.Color.White; + this.label6.Location = new System.Drawing.Point(3, 3); + this.label6.Margin = new System.Windows.Forms.Padding(0); + this.label6.Name = "label6"; + this.label6.Size = new System.Drawing.Size(260, 14); + this.label6.TabIndex = 3; + this.label6.Text = "AMD Ryzen 5 2600 Six-Core Processor (12 Threads)"; + this.label6.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // panel2 + // + this.panel2.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(0)))), ((int)(((byte)(125)))), ((int)(((byte)(195))))); + this.panel2.Controls.Add(this.label1); + this.panel2.Controls.Add(this.label2); + this.panel2.Location = new System.Drawing.Point(10, 50); + this.panel2.Margin = new System.Windows.Forms.Padding(0, 0, 0, 5); + this.panel2.Name = "panel2"; + this.panel2.Size = new System.Drawing.Size(350, 35); + this.panel2.TabIndex = 1; + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 8F); + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(3, 18); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(126, 14); + this.label1.TabIndex = 3; + this.label1.Text = "934030 к/с (v.0.5.0 beta)"; + this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft JhengHei UI Light", 8F); + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Location = new System.Drawing.Point(3, 3); + this.label2.Margin = new System.Windows.Forms.Padding(0); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(289, 14); + this.label2.TabIndex = 3; + this.label2.Text = "Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz (4 Threads)"; + this.label2.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; + // + // Updater + // + this.Updater.Enabled = true; + this.Updater.Tick += new System.EventHandler(this.Updater_Tick); + // + // customProgressBar1 + // + this.customProgressBar1.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(37)))), ((int)(((byte)(37)))), ((int)(((byte)(37))))); + this.customProgressBar1.ForeColor = System.Drawing.Color.White; + this.customProgressBar1.Location = new System.Drawing.Point(394, 289); + this.customProgressBar1.Margin = new System.Windows.Forms.Padding(0); + this.customProgressBar1.Maximum = 184756; + this.customProgressBar1.Minimum = 0; + this.customProgressBar1.Name = "customProgressBar1"; + this.customProgressBar1.ProgressColor = System.Drawing.Color.Green; + this.customProgressBar1.ProgressFont = new System.Drawing.Font("Microsoft JhengHei UI", 11.25F, System.Drawing.FontStyle.Bold); + this.customProgressBar1.Size = new System.Drawing.Size(304, 24); + this.customProgressBar1.TabIndex = 0; + this.customProgressBar1.Value = 0F; + // + // panel4 + // + this.panel4.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(31)))), ((int)(((byte)(31))))); + this.panel4.Controls.Add(this.versionLabel2); + this.panel4.Controls.Add(this.threadCountLabel); + this.panel4.Controls.Add(this.cpuNameLabel); + this.panel4.Controls.Add(this.startBenchmarkBtn); + this.panel4.Controls.Add(this.customProgressBar1); + this.panel4.Controls.Add(this.submitScoreBtn); + this.panel4.Controls.Add(this.flowLayoutPanel1); + this.panel4.Controls.Add(this.label4); + this.panel4.Controls.Add(this.speedLabel); + this.panel4.Dock = System.Windows.Forms.DockStyle.Fill; + this.panel4.Location = new System.Drawing.Point(0, 40); + this.panel4.Name = "panel4"; + this.panel4.Size = new System.Drawing.Size(704, 321); + this.panel4.TabIndex = 6; + // + // label8 + // + this.label8.AutoSize = true; + this.label8.BackColor = System.Drawing.Color.Transparent; + this.label8.Font = new System.Drawing.Font("Microsoft JhengHei Light", 22F); + this.label8.ForeColor = System.Drawing.Color.White; + this.label8.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.label8.Location = new System.Drawing.Point(1, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(154, 38); + this.label8.TabIndex = 0; + this.label8.Text = "Бенчмарк"; + this.label8.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DragWindowMouseDown); + // + // closeBtn + // + this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.closeBtn.BackColor = System.Drawing.Color.Transparent; + this.closeBtn.FlatAppearance.BorderSize = 0; + this.closeBtn.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); + this.closeBtn.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Black; + this.closeBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.closeBtn.Font = new System.Drawing.Font("Microsoft JhengHei Light", 16F); + this.closeBtn.ForeColor = System.Drawing.Color.White; + this.closeBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.closeBtn.Location = new System.Drawing.Point(664, 0); + this.closeBtn.Name = "closeBtn"; + this.closeBtn.Size = new System.Drawing.Size(40, 40); + this.closeBtn.TabIndex = 3; + this.closeBtn.Text = "X"; + this.closeBtn.UseVisualStyleBackColor = false; + this.closeBtn.Click += new System.EventHandler(this.closeBtn_Click); + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(37)))), ((int)(((byte)(37)))), ((int)(((byte)(37))))); + this.panel3.Controls.Add(this.closeBtn); + this.panel3.Controls.Add(this.label8); + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(0, 0); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(704, 40); + this.panel3.TabIndex = 5; + this.panel3.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DragWindowMouseDown); + // + // Benchmark + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(37)))), ((int)(((byte)(37)))), ((int)(((byte)(37))))); + this.ClientSize = new System.Drawing.Size(704, 361); + this.Controls.Add(this.panel4); + this.Controls.Add(this.panel3); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "Benchmark"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen; + this.Text = "Бенчмарк"; + this.flowLayoutPanel1.ResumeLayout(false); + this.panel1.ResumeLayout(false); + this.panel1.PerformLayout(); + this.panel2.ResumeLayout(false); + this.panel2.PerformLayout(); + this.panel4.ResumeLayout(false); + this.panel4.PerformLayout(); + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + this.ResumeLayout(false); + + } + + #endregion + + private CustomProgressBar customProgressBar1; + private System.Windows.Forms.Button startBenchmarkBtn; + private System.Windows.Forms.Button submitScoreBtn; + private System.Windows.Forms.Label cpuNameLabel; + private System.Windows.Forms.Label threadCountLabel; + private System.Windows.Forms.Label versionLabel2; + private System.Windows.Forms.Label label4; + private System.Windows.Forms.Label speedLabel; + private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1; + private System.Windows.Forms.Timer Updater; + private System.Windows.Forms.Panel panel1; + private System.Windows.Forms.Label label7; + private System.Windows.Forms.Label label6; + private System.Windows.Forms.Panel panel2; + private System.Windows.Forms.Label label1; + private System.Windows.Forms.Label label2; + private System.Windows.Forms.Panel panel4; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Button closeBtn; + private System.Windows.Forms.Panel panel3; + } +} \ No newline at end of file diff --git a/FloatToolGUI/Benchmark.cs b/FloatToolGUI/Benchmark.cs new file mode 100644 index 0000000..b78bc3f --- /dev/null +++ b/FloatToolGUI/Benchmark.cs @@ -0,0 +1,352 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Diagnostics; +using System.Drawing; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Management; +using System.Net; +using System.Text; +using System.Threading; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace FloatToolGUI +{ + public partial class Benchmark : Form + { + private static bool NextCombination(IList num, int n, int k) + { + bool finished; + var changed = finished = false; + if (k <= 0) return false; + for (var i = k - 1; !finished && !changed; i--) + { + if (num[i] < n - 1 - (k - 1) + i) + { + num[i]++; + if (i < k - 1) + for (var j = i + 1; j < k; j++) + num[j] = num[j - 1] + 1; + changed = true; + } + finished = i == 0; + } + return changed; + } + + private static IEnumerable Combinations(IEnumerable elements, int k, int start, int skip) + { + var elem = elements.ToArray(); + var size = elem.Length; + if (k > size) yield break; + var numbers = new int[k]; + for (var i = 0; i < k; i++) + numbers[i] = i; + int step = 0; + do + { + if ((step + start) % skip == 0) + yield return numbers.Select(n => elem[n]); + step++; + } while (NextCombination(numbers, size, k)); + } + + public enum SearchMode + { + Less, + Equal, + Greater + } + SearchMode CurrentSearchMode = SearchMode.Equal; + + public static string setprecission(double number, int figures) + { + int e = 0; + + while (number >= 10.0) + { + e += 1; + number /= 10; + } + + while (number < 1.0) + { + e -= 1; + number *= 10; + } + + figures--; + + number = (float)Math.Round(number, figures); + + figures += 0 - e; + while (e > 0) + { + number *= 10; + e -= 1; + } + + while (e < 0) + { + number /= 10; + e += 1; + } + + if (figures < 0) + { + figures = 0; + } + + return number.ToString($"f{figures}"); + } + static public decimal craft(double[] ingridients, float minFloat, float maxFloat) + { + decimal avgFloat = 0; + foreach (double f in ingridients) + { + avgFloat += (decimal)f; + } + avgFloat /= 10; + return ((decimal)(maxFloat - minFloat) * avgFloat) + (decimal)minFloat; + } + static public string craftF(double[] ingridients, float minFloat, float maxFloat) + { + float avgFloat = 0; + float[] arrInput = new float[10]; + for (int i = 0; i < 10; i++) + { + arrInput[i] = Convert.ToSingle(ingridients[i]); + } + foreach (float f in arrInput) + { + avgFloat += Convert.ToSingle(f); + } + avgFloat /= 10; + return setprecission(((maxFloat - minFloat) * avgFloat) + minFloat, 10); + } + + public void parseCraft(double[] inputs, List outputs, string want) + { + decimal wantFloat; + decimal.TryParse(want, System.Globalization.NumberStyles.Any, CultureInfo.InvariantCulture, out wantFloat); + + foreach (var item in outputs) + { + decimal flotOrigin = Math.Round(craft(inputs.ToArray(), item.MinFloat, item.MaxFloat), 14); + string flot = craftF(inputs, item.MinFloat, item.MaxFloat); + + if ( + ((flotOrigin.ToString(CultureInfo.InvariantCulture).StartsWith(want)) && CurrentSearchMode == SearchMode.Equal) || + ((flotOrigin < wantFloat) && CurrentSearchMode == SearchMode.Less) || + ((flotOrigin > wantFloat) && CurrentSearchMode == SearchMode.Greater) + ) + { + return; + } + } + } + + public void secndThread(List craftList, string wanted, double[] pool, int start, int skip) + { + foreach (IEnumerable pair in Combinations(pool, 10, start, skip)) + { + parseCraft(pair.ToArray(), craftList, wanted); + currComb++; + } + } + + private void runCycle() + { + Console.WriteLine("Thread loaded!"); + } + + List t2 = new List(); + int currComb; + Thread thread1; + + private void StartCalculation() + { + currComb = 0; + List outcomes = new List(); + outcomes.Add(new Skin("AK-47 | Safari Mesh", 0.06f, 0.8f, Quality.Industrial)); + + Invoke((MethodInvoker)(() => + { + customProgressBar1.Value = 0; + } + )); + + double[] pool = { + 0.246938750147820, 0.196652039885521, 0.154839321970940, + 0.333326697349548, 0.163415759801865, 0.291821509599686, + 0.374309629201889, 0.378754675388336, 0.231419935822487, + 0.311867892742157, 0.374067693948746, 0.377068012952805, + 0.244467452168465, 0.355135351419449, 0.352264583110809, + 0.227853879332542, 0.340960860252380, 0.375657349824905, + 0.157685652375221, 0.217334255576134 + }; + + Stopwatch timer = Stopwatch.StartNew(); + + var threads = Environment.ProcessorCount; + try + { + for (int i = 0; i < threads; i++) + { + Thread newThread = new Thread(() => secndThread(outcomes, "1", pool, i, threads)); + newThread.Start(); + t2.Add(newThread); + } + } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } + + while (true) + { + bool okey = true; + foreach (Thread t in t2) + { + if (t.IsAlive) + { + okey = false; + break; + } + } + if (okey) break; + } + + timer.Stop(); + TimeSpan timespan = timer.Elapsed; + + Invoke((MethodInvoker)(() => + { + submitScoreBtn.Enabled = true; + speedLabel.Text = $"{Math.Round(currComb / timespan.TotalSeconds)} к/с"; + currComb = 184756; + thread1.Abort(); + } + )); + } + + public Benchmark(string version) + { + InitializeComponent(); + versionLabel2.Text = version; + threadCountLabel.Text = $"{Environment.ProcessorCount} Threads"; + ManagementObjectSearcher mos = new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor"); + foreach (ManagementObject mo in mos.Get()) + cpuNameLabel.Text = mo["Name"].ToString().Trim(); + + thread1 = new Thread(runCycle); + LoadStats(); + } + + private void startBenchmarkBtn_Click(object sender, EventArgs e) + { + thread1.Abort(); + thread1 = new Thread(StartCalculation); + thread1.Start(); + } + + private void Updater_Tick(object sender, EventArgs e) + { + customProgressBar1.Value = currComb; + } + + string uri = "https://prevterapi.000webhostapp.com/"; + + private void AddCpuToList(string cpu, string speed, string ver) + { + Color backColor = cpu.Contains("AMD") ? Color.FromArgb(157, 0, 20) : (cpu.Contains("Intel") ? Color.FromArgb(0, 125, 195) : Color.FromArgb(56, 56, 56)); + Color foreColor = Color.White; + + var tmpPanel = new Panel + { + BackColor = backColor, + Size = new Size(350, 35), + Margin = new Padding(0,0,0,5) + }; + tmpPanel.Controls.Add(new Label + { + Location = new Point(3,3), + Font = new Font("Microsoft JhengHei UI Light", 8f), + Text = cpu, + AutoSize = true, + ForeColor = foreColor + }); + tmpPanel.Controls.Add(new Label + { + Location = new Point(3, 18), + Font = new Font("Microsoft JhengHei UI Light", 8f), + Text = $"{speed} к/с ({ver})", + AutoSize = true, + ForeColor = foreColor + }); + flowLayoutPanel1.Controls.Add(tmpPanel); + } + + private void LoadStats() + { + flowLayoutPanel1.Controls.Clear(); + WebRequest request = WebRequest.Create($"{uri}getBenchmarks.php"); + request.Credentials = CredentialCache.DefaultCredentials; + WebResponse response = request.GetResponse(); + + using (Stream dataStream = response.GetResponseStream()) + { + StreamReader reader = new StreamReader(dataStream); + string responseFromServer = reader.ReadToEnd(); + Console.WriteLine(responseFromServer); + if(responseFromServer.Contains('|')) + { + foreach (var cpu in responseFromServer.Remove(responseFromServer.Length - 1).Split('&')) + { + var items = cpu.Split('|'); + AddCpuToList(items[0], items[1], items[2]); + } + } + } + response.Close(); + } + + private void submitScoreBtn_Click(object sender, EventArgs e) + { + submitScoreBtn.Enabled = false; + HttpWebRequest req = (HttpWebRequest)WebRequest.Create($"{uri}addBenchmark.php?cpu={cpuNameLabel.Text} ({threadCountLabel.Text})&speed={speedLabel.Text.Split(' ')[0]}"); + req.UserAgent = $"FloatTool/{versionLabel2.Text}"; + HttpWebResponse res = (HttpWebResponse)req.GetResponse(); + res.Close(); + MessageBox.Show("Ваш результат был принят."); + } + + private void closeBtn_Click(object sender, EventArgs e) + { + Close(); + } + + public const int WM_NCLBUTTONDOWN = 0xA1; + public const int HT_CAPTION = 0x2; + + [System.Runtime.InteropServices.DllImport("user32.dll")] + public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + [System.Runtime.InteropServices.DllImport("user32.dll")] + public static extern bool ReleaseCapture(); + + + private void DragWindowMouseDown(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + ReleaseCapture(); + SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); + } + } + } +} diff --git a/FloatToolGUI/Benchmark.resx b/FloatToolGUI/Benchmark.resx new file mode 100644 index 0000000..5aa4a44 --- /dev/null +++ b/FloatToolGUI/Benchmark.resx @@ -0,0 +1,370 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + + 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 + + + \ No newline at end of file diff --git a/FloatToolGUI/CustomProgressBar.Designer.cs b/FloatToolGUI/CustomProgressBar.Designer.cs deleted file mode 100644 index 00393e5..0000000 --- a/FloatToolGUI/CustomProgressBar.Designer.cs +++ /dev/null @@ -1,46 +0,0 @@ -namespace FloatToolGUI -{ - partial class CustomProgressBar - { - /// - /// Обязательная переменная конструктора. - /// - private System.ComponentModel.IContainer components = null; - - /// - /// Освободить все используемые ресурсы. - /// - /// истинно, если управляемый ресурс должен быть удален; иначе ложно. - protected override void Dispose(bool disposing) - { - if (disposing && (components != null)) - { - components.Dispose(); - } - base.Dispose(disposing); - } - - #region Код, автоматически созданный конструктором компонентов - - /// - /// Требуемый метод для поддержки конструктора — не изменяйте - /// содержимое этого метода с помощью редактора кода. - /// - private void InitializeComponent() - { - this.SuspendLayout(); - // - // CustomProgressBar - // - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; - this.Margin = new System.Windows.Forms.Padding(0); - this.Name = "CustomProgressBar"; - this.Size = new System.Drawing.Size(306, 24); - this.Paint += new System.Windows.Forms.PaintEventHandler(this.CustomProgressBar_Paint); - this.ResumeLayout(false); - - } - - #endregion - } -} diff --git a/FloatToolGUI/CustomProgressBar.cs b/FloatToolGUI/CustomProgressBar.cs deleted file mode 100644 index 13921b2..0000000 --- a/FloatToolGUI/CustomProgressBar.cs +++ /dev/null @@ -1,86 +0,0 @@ -using System; -using System.Collections.Generic; -using System.ComponentModel; -using System.Drawing; -using System.Data; -using System.Linq; -using System.Text; -using System.Threading.Tasks; -using System.Windows.Forms; - -namespace FloatToolGUI -{ - public partial class CustomProgressBar : UserControl - { - private int minimum = 0; - private int maximum = 100; - private float progressValue = 0; - private Color progressColor = Color.Green; - private Font progressFont = new Font("Microsoft JhengHei UI", 11.25f, FontStyle.Bold); - - /// - /// Цвет заливки прогресс-бара - /// - public Color ProgressColor - { - get { return progressColor; } - set { progressColor = value; Invalidate(); } - } - - /// - /// Шрифт процентов - /// - public Font ProgressFont - { - get { return progressFont; } - set { progressFont = value; Invalidate(); } - } - - /// - /// Текущее значение прогресс-бара - /// - public float Value - { - get { return progressValue; } - set { progressValue = value; Invalidate(); } - } - - /// - /// Минимальное значение прогресс-бара - /// - public int Minimum - { - get { return minimum; } - set { minimum = value; Invalidate(); } - } - - /// - /// Максимальное значение прогресс-бара - /// - public int Maximum - { - get { return maximum; } - set { maximum = value; Invalidate(); } - } - - public CustomProgressBar() - { - InitializeComponent(); - } - - private void CustomProgressBar_Paint(object sender, PaintEventArgs e) - { - float fill = (Value - Minimum) / (Maximum - Minimum); - Brush brush = new SolidBrush(ProgressColor); - e.Graphics.FillRectangle(brush, new RectangleF(0, 0, Width * fill, Height)); - - using (ProgressFont) - { - Rectangle rect2 = new Rectangle(150, 10, 130, 140); - TextFormatFlags flags = TextFormatFlags.HorizontalCenter | - TextFormatFlags.VerticalCenter | TextFormatFlags.WordBreak; - TextRenderer.DrawText(e.Graphics, $"{Math.Floor(fill * 100)}%", ProgressFont, new Rectangle(0, 0, Width, Height), ForeColor, flags); - } - } - } -} diff --git a/FloatToolGUI/FloatToolGUI.csproj b/FloatToolGUI/FloatToolGUI.csproj index 5f41963..81ab64a 100644 --- a/FloatToolGUI/FloatToolGUI.csproj +++ b/FloatToolGUI/FloatToolGUI.csproj @@ -88,6 +88,7 @@ + @@ -101,18 +102,24 @@ - + Form - - About.cs + + Benchmark.cs - + UserControl - + CustomProgressBar.cs + + UserControl + + + CustomToggleSwitch.cs + Form @@ -121,13 +128,24 @@ + + + Form + + + SettingsForm.cs + - - About.cs + + + Benchmark.cs - + CustomProgressBar.cs + + CustomToggleSwitch.cs + Main.cs @@ -147,6 +165,11 @@ Resources.resx True + + + + SettingsForm.cs + SettingsSingleFileGenerator @@ -162,17 +185,19 @@ - - - - - - - + + + + + + + + + + - @@ -186,5 +211,6 @@ false + \ No newline at end of file diff --git a/FloatToolGUI/Main.Designer.cs b/FloatToolGUI/Main.Designer.cs index a2ddbf9..bd2761f 100644 --- a/FloatToolGUI/Main.Designer.cs +++ b/FloatToolGUI/Main.Designer.cs @@ -59,11 +59,8 @@ private void InitializeComponent() this.panel10 = new System.Windows.Forms.Panel(); this.panel7 = new System.Windows.Forms.Panel(); this.panel9 = new System.Windows.Forms.Panel(); - this.darkModeSwitchBtn = new System.Windows.Forms.Button(); - this.helpBtn = new System.Windows.Forms.Button(); - this.helpContextMenu = new System.Windows.Forms.ContextMenuStrip(this.components); - this.openWebsiteButton = new System.Windows.Forms.ToolStripMenuItem(); - this.openAboutBox = new System.Windows.Forms.ToolStripMenuItem(); + this.benchmarkButton = new System.Windows.Forms.Button(); + this.settingsButton = new System.Windows.Forms.Button(); this.MaximizeButton = new System.Windows.Forms.Button(); this.minimizeBtn = new System.Windows.Forms.Button(); this.closeBtn = new System.Windows.Forms.Button(); @@ -71,20 +68,25 @@ private void InitializeComponent() this.button4 = new System.Windows.Forms.Button(); this.button3 = new System.Windows.Forms.Button(); this.panel3 = new System.Windows.Forms.Panel(); - this.label9 = new System.Windows.Forms.Label(); + this.versionLabel = new System.Windows.Forms.Label(); this.label8 = new System.Windows.Forms.Label(); this.panel6 = new System.Windows.Forms.Panel(); - this.stattrackCheckBox = new System.Windows.Forms.CheckBox(); + this.stattrackCheckBox = new FloatToolGUI.CustomControls.CustomToggleSwitch(); this.checkPossibilityBtn = new System.Windows.Forms.Button(); this.label3 = new System.Windows.Forms.Label(); + this.outcomeSelectorComboBox = new System.Windows.Forms.ComboBox(); this.weaponQualityBox = new System.Windows.Forms.ComboBox(); + this.label12 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label(); this.label4 = new System.Windows.Forms.Label(); + this.weaponTypeBox = new System.Windows.Forms.ComboBox(); + this.label11 = new System.Windows.Forms.Label(); this.label2 = new System.Windows.Forms.Label(); this.fullSkinName = new System.Windows.Forms.TextBox(); this.weaponSkinBox = new System.Windows.Forms.ComboBox(); this.panel5 = new System.Windows.Forms.Panel(); this.panel16 = new System.Windows.Forms.Panel(); + this.downloadProgressBar = new FloatToolGUI.CustomProgressBar(); this.searchmodeGreater_btn = new System.Windows.Forms.Button(); this.searchmodeEqual_btn = new System.Windows.Forms.Button(); this.searchmodeLess_btn = new System.Windows.Forms.Button(); @@ -104,23 +106,15 @@ private void InitializeComponent() this.gpuSearch_btn = new System.Windows.Forms.Button(); this.label10 = new System.Windows.Forms.Label(); this.threadCountInput = new System.Windows.Forms.NumericUpDown(); - this.multithreadCheckBox = new System.Windows.Forms.CheckBox(); this.panel2 = new System.Windows.Forms.Panel(); this.panel4 = new System.Windows.Forms.Panel(); this.WorkStatusUpdater = new System.Windows.Forms.Timer(this.components); - this.openGithubButton = new System.Windows.Forms.ToolStripMenuItem(); - this.soundBtnSwitch = new System.Windows.Forms.Button(); - this.outcomeSelectorComboBox = new System.Windows.Forms.ComboBox(); - this.label11 = new System.Windows.Forms.Label(); - this.weaponTypeBox = new System.Windows.Forms.ComboBox(); - this.downloadProgressBar = new FloatToolGUI.CustomProgressBar(); this.panel1.SuspendLayout(); this.panel8.SuspendLayout(); this.panel13.SuspendLayout(); this.panel11.SuspendLayout(); this.panel7.SuspendLayout(); this.panel9.SuspendLayout(); - this.helpContextMenu.SuspendLayout(); this.panel3.SuspendLayout(); this.panel6.SuspendLayout(); this.panel5.SuspendLayout(); @@ -203,9 +197,8 @@ private void InitializeComponent() // panel9 // this.panel9.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(37)))), ((int)(((byte)(37)))), ((int)(((byte)(37))))); - this.panel9.Controls.Add(this.darkModeSwitchBtn); - this.panel9.Controls.Add(this.helpBtn); - this.panel9.Controls.Add(this.soundBtnSwitch); + this.panel9.Controls.Add(this.benchmarkButton); + this.panel9.Controls.Add(this.settingsButton); this.panel9.Controls.Add(this.MaximizeButton); this.panel9.Controls.Add(this.minimizeBtn); this.panel9.Controls.Add(this.closeBtn); @@ -213,51 +206,31 @@ private void InitializeComponent() this.panel9.Name = "panel9"; this.panel9.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel9_MouseDown); // - // darkModeSwitchBtn - // - resources.ApplyResources(this.darkModeSwitchBtn, "darkModeSwitchBtn"); - this.darkModeSwitchBtn.BackColor = System.Drawing.Color.Transparent; - this.darkModeSwitchBtn.FlatAppearance.BorderSize = 0; - this.darkModeSwitchBtn.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.darkModeSwitchBtn.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Black; - this.darkModeSwitchBtn.ForeColor = System.Drawing.Color.White; - this.darkModeSwitchBtn.Name = "darkModeSwitchBtn"; - this.darkModeSwitchBtn.UseVisualStyleBackColor = false; - this.darkModeSwitchBtn.Click += new System.EventHandler(this.DarkModeSwitchButton_Click); - // - // helpBtn - // - resources.ApplyResources(this.helpBtn, "helpBtn"); - this.helpBtn.BackColor = System.Drawing.Color.Transparent; - this.helpBtn.ContextMenuStrip = this.helpContextMenu; - this.helpBtn.FlatAppearance.BorderSize = 0; - this.helpBtn.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.helpBtn.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Black; - this.helpBtn.ForeColor = System.Drawing.Color.White; - this.helpBtn.Name = "helpBtn"; - this.helpBtn.UseVisualStyleBackColor = false; - this.helpBtn.Click += new System.EventHandler(this.OpenWikiButton_Click); - // - // helpContextMenu - // - this.helpContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { - this.openWebsiteButton, - this.openAboutBox, - this.openGithubButton}); - this.helpContextMenu.Name = "contextMenuStrip1"; - resources.ApplyResources(this.helpContextMenu, "helpContextMenu"); - // - // openWebsiteButton - // - this.openWebsiteButton.Name = "openWebsiteButton"; - resources.ApplyResources(this.openWebsiteButton, "openWebsiteButton"); - this.openWebsiteButton.Click += new System.EventHandler(this.OpenWebsiteButton_Click); - // - // openAboutBox - // - this.openAboutBox.Name = "openAboutBox"; - resources.ApplyResources(this.openAboutBox, "openAboutBox"); - this.openAboutBox.Click += new System.EventHandler(this.OpenAboutButton_Click); + // benchmarkButton + // + this.benchmarkButton.BackColor = System.Drawing.Color.Transparent; + this.benchmarkButton.BackgroundImage = global::FloatToolGUI.Properties.Resources.benchmarkWhite; + resources.ApplyResources(this.benchmarkButton, "benchmarkButton"); + this.benchmarkButton.FlatAppearance.BorderSize = 0; + this.benchmarkButton.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); + this.benchmarkButton.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Black; + this.benchmarkButton.ForeColor = System.Drawing.Color.White; + this.benchmarkButton.Name = "benchmarkButton"; + this.benchmarkButton.UseVisualStyleBackColor = false; + this.benchmarkButton.Click += new System.EventHandler(this.benchmarkButton_Click); + // + // settingsButton + // + this.settingsButton.BackColor = System.Drawing.Color.Transparent; + this.settingsButton.BackgroundImage = global::FloatToolGUI.Properties.Resources.gearWhite; + resources.ApplyResources(this.settingsButton, "settingsButton"); + this.settingsButton.FlatAppearance.BorderSize = 0; + this.settingsButton.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); + this.settingsButton.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Black; + this.settingsButton.ForeColor = System.Drawing.Color.White; + this.settingsButton.Name = "settingsButton"; + this.settingsButton.UseVisualStyleBackColor = false; + this.settingsButton.Click += new System.EventHandler(this.settingsButton_Click); // // MaximizeButton // @@ -325,17 +298,17 @@ private void InitializeComponent() // panel3 // this.panel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(37)))), ((int)(((byte)(37)))), ((int)(((byte)(37))))); - this.panel3.Controls.Add(this.label9); + this.panel3.Controls.Add(this.versionLabel); this.panel3.Controls.Add(this.label8); resources.ApplyResources(this.panel3, "panel3"); this.panel3.Name = "panel3"; this.panel3.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel3_MouseDown); // - // label9 + // versionLabel // - resources.ApplyResources(this.label9, "label9"); - this.label9.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); - this.label9.Name = "label9"; + resources.ApplyResources(this.versionLabel, "versionLabel"); + this.versionLabel.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); + this.versionLabel.Name = "versionLabel"; // // label8 // @@ -352,6 +325,7 @@ private void InitializeComponent() this.panel6.Controls.Add(this.label3); this.panel6.Controls.Add(this.outcomeSelectorComboBox); this.panel6.Controls.Add(this.weaponQualityBox); + this.panel6.Controls.Add(this.label12); this.panel6.Controls.Add(this.label1); this.panel6.Controls.Add(this.label4); this.panel6.Controls.Add(this.weaponTypeBox); @@ -364,11 +338,13 @@ private void InitializeComponent() // // stattrackCheckBox // - resources.ApplyResources(this.stattrackCheckBox, "stattrackCheckBox"); + this.stattrackCheckBox.Checked = false; this.stattrackCheckBox.ForeColor = System.Drawing.Color.White; + resources.ApplyResources(this.stattrackCheckBox, "stattrackCheckBox"); this.stattrackCheckBox.Name = "stattrackCheckBox"; - this.stattrackCheckBox.UseVisualStyleBackColor = true; - this.stattrackCheckBox.CheckedChanged += new System.EventHandler(this.checkBox1_CheckedChanged); + this.stattrackCheckBox.TurnedOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.stattrackCheckBox.TurnedOnColor = System.Drawing.Color.Green; + this.stattrackCheckBox.OnToggled += new System.EventHandler(this.checkBox1_CheckedChanged); // // checkPossibilityBtn // @@ -388,6 +364,19 @@ private void InitializeComponent() this.label3.ForeColor = System.Drawing.Color.White; this.label3.Name = "label3"; // + // outcomeSelectorComboBox + // + resources.ApplyResources(this.outcomeSelectorComboBox, "outcomeSelectorComboBox"); + this.outcomeSelectorComboBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.outcomeSelectorComboBox.Cursor = System.Windows.Forms.Cursors.Hand; + this.outcomeSelectorComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); + this.outcomeSelectorComboBox.FormattingEnabled = true; + this.outcomeSelectorComboBox.Items.AddRange(new object[] { + resources.GetString("outcomeSelectorComboBox.Items"), + resources.GetString("outcomeSelectorComboBox.Items1"), + resources.GetString("outcomeSelectorComboBox.Items2")}); + this.outcomeSelectorComboBox.Name = "outcomeSelectorComboBox"; + // // weaponQualityBox // resources.ApplyResources(this.weaponQualityBox, "weaponQualityBox"); @@ -404,6 +393,12 @@ private void InitializeComponent() this.weaponQualityBox.Name = "weaponQualityBox"; this.weaponQualityBox.SelectedIndexChanged += new System.EventHandler(this.comboBox3_SelectedIndexChanged); // + // label12 + // + resources.ApplyResources(this.label12, "label12"); + this.label12.ForeColor = System.Drawing.Color.White; + this.label12.Name = "label12"; + // // label1 // resources.ApplyResources(this.label1, "label1"); @@ -416,6 +411,57 @@ private void InitializeComponent() this.label4.ForeColor = System.Drawing.Color.White; this.label4.Name = "label4"; // + // weaponTypeBox + // + resources.ApplyResources(this.weaponTypeBox, "weaponTypeBox"); + this.weaponTypeBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.weaponTypeBox.Cursor = System.Windows.Forms.Cursors.Hand; + this.weaponTypeBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); + this.weaponTypeBox.FormattingEnabled = true; + this.weaponTypeBox.Items.AddRange(new object[] { + resources.GetString("weaponTypeBox.Items"), + resources.GetString("weaponTypeBox.Items1"), + resources.GetString("weaponTypeBox.Items2"), + resources.GetString("weaponTypeBox.Items3"), + resources.GetString("weaponTypeBox.Items4"), + resources.GetString("weaponTypeBox.Items5"), + resources.GetString("weaponTypeBox.Items6"), + resources.GetString("weaponTypeBox.Items7"), + resources.GetString("weaponTypeBox.Items8"), + resources.GetString("weaponTypeBox.Items9"), + resources.GetString("weaponTypeBox.Items10"), + resources.GetString("weaponTypeBox.Items11"), + resources.GetString("weaponTypeBox.Items12"), + resources.GetString("weaponTypeBox.Items13"), + resources.GetString("weaponTypeBox.Items14"), + resources.GetString("weaponTypeBox.Items15"), + resources.GetString("weaponTypeBox.Items16"), + resources.GetString("weaponTypeBox.Items17"), + resources.GetString("weaponTypeBox.Items18"), + resources.GetString("weaponTypeBox.Items19"), + resources.GetString("weaponTypeBox.Items20"), + resources.GetString("weaponTypeBox.Items21"), + resources.GetString("weaponTypeBox.Items22"), + resources.GetString("weaponTypeBox.Items23"), + resources.GetString("weaponTypeBox.Items24"), + resources.GetString("weaponTypeBox.Items25"), + resources.GetString("weaponTypeBox.Items26"), + resources.GetString("weaponTypeBox.Items27"), + resources.GetString("weaponTypeBox.Items28"), + resources.GetString("weaponTypeBox.Items29"), + resources.GetString("weaponTypeBox.Items30"), + resources.GetString("weaponTypeBox.Items31"), + resources.GetString("weaponTypeBox.Items32"), + resources.GetString("weaponTypeBox.Items33")}); + this.weaponTypeBox.Name = "weaponTypeBox"; + this.weaponTypeBox.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); + // + // label11 + // + resources.ApplyResources(this.label11, "label11"); + this.label11.ForeColor = System.Drawing.Color.White; + this.label11.Name = "label11"; + // // label2 // resources.ApplyResources(this.label2, "label2"); @@ -468,6 +514,18 @@ private void InitializeComponent() resources.ApplyResources(this.panel16, "panel16"); this.panel16.Name = "panel16"; // + // downloadProgressBar + // + resources.ApplyResources(this.downloadProgressBar, "downloadProgressBar"); + this.downloadProgressBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); + this.downloadProgressBar.ForeColor = System.Drawing.Color.White; + this.downloadProgressBar.Maximum = 100; + this.downloadProgressBar.Minimum = 0; + this.downloadProgressBar.Name = "downloadProgressBar"; + this.downloadProgressBar.ProgressColor = System.Drawing.Color.Green; + this.downloadProgressBar.ProgressFont = new System.Drawing.Font("Microsoft JhengHei UI", 11.25F, System.Drawing.FontStyle.Bold); + this.downloadProgressBar.Value = 0F; + // // searchmodeGreater_btn // resources.ApplyResources(this.searchmodeGreater_btn, "searchmodeGreater_btn"); @@ -603,7 +661,6 @@ private void InitializeComponent() this.panel15.Controls.Add(this.gpuSearch_btn); this.panel15.Controls.Add(this.label10); this.panel15.Controls.Add(this.threadCountInput); - this.panel15.Controls.Add(this.multithreadCheckBox); resources.ApplyResources(this.panel15, "panel15"); this.panel15.Name = "panel15"; // @@ -647,7 +704,7 @@ private void InitializeComponent() 0, 0}); this.threadCountInput.Minimum = new decimal(new int[] { - 2, + 1, 0, 0, 0}); @@ -658,16 +715,6 @@ private void InitializeComponent() 0, 0}); // - // multithreadCheckBox - // - resources.ApplyResources(this.multithreadCheckBox, "multithreadCheckBox"); - this.multithreadCheckBox.Checked = true; - this.multithreadCheckBox.CheckState = System.Windows.Forms.CheckState.Checked; - this.multithreadCheckBox.ForeColor = System.Drawing.Color.White; - this.multithreadCheckBox.Name = "multithreadCheckBox"; - this.multithreadCheckBox.UseVisualStyleBackColor = true; - this.multithreadCheckBox.CheckedChanged += new System.EventHandler(this.MultithreadSwitched); - // // panel2 // this.panel2.Controls.Add(this.panel5); @@ -688,102 +735,6 @@ private void InitializeComponent() this.WorkStatusUpdater.Interval = 250; this.WorkStatusUpdater.Tick += new System.EventHandler(this.timer2_Tick); // - // openGithubButton - // - this.openGithubButton.Image = global::FloatToolGUI.Properties.Resources.github; - this.openGithubButton.Name = "openGithubButton"; - resources.ApplyResources(this.openGithubButton, "openGithubButton"); - this.openGithubButton.Click += new System.EventHandler(this.OpenGithubButton_Click); - // - // soundBtnSwitch - // - this.soundBtnSwitch.BackColor = System.Drawing.Color.Transparent; - this.soundBtnSwitch.FlatAppearance.BorderSize = 0; - this.soundBtnSwitch.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); - this.soundBtnSwitch.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Black; - resources.ApplyResources(this.soundBtnSwitch, "soundBtnSwitch"); - this.soundBtnSwitch.ForeColor = System.Drawing.Color.White; - this.soundBtnSwitch.Image = global::FloatToolGUI.Properties.Resources.unmutedWhite; - this.soundBtnSwitch.Name = "soundBtnSwitch"; - this.soundBtnSwitch.UseVisualStyleBackColor = false; - this.soundBtnSwitch.Click += new System.EventHandler(this.SoundSwitchButton_Click); - // - // outcomeSelectorComboBox - // - resources.ApplyResources(this.outcomeSelectorComboBox, "outcomeSelectorComboBox"); - this.outcomeSelectorComboBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); - this.outcomeSelectorComboBox.Cursor = System.Windows.Forms.Cursors.Hand; - this.outcomeSelectorComboBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); - this.outcomeSelectorComboBox.FormattingEnabled = true; - this.outcomeSelectorComboBox.Items.AddRange(new object[] { - resources.GetString("outcomeSelectorComboBox.Items"), - resources.GetString("outcomeSelectorComboBox.Items1"), - resources.GetString("outcomeSelectorComboBox.Items2")}); - this.outcomeSelectorComboBox.Name = "outcomeSelectorComboBox"; - // - // label11 - // - resources.ApplyResources(this.label11, "label11"); - this.label11.ForeColor = System.Drawing.Color.White; - this.label11.Name = "label11"; - // - // weaponTypeBox - // - resources.ApplyResources(this.weaponTypeBox, "weaponTypeBox"); - this.weaponTypeBox.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); - this.weaponTypeBox.Cursor = System.Windows.Forms.Cursors.Hand; - this.weaponTypeBox.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); - this.weaponTypeBox.FormattingEnabled = true; - this.weaponTypeBox.Items.AddRange(new object[] { - resources.GetString("weaponTypeBox.Items"), - resources.GetString("weaponTypeBox.Items1"), - resources.GetString("weaponTypeBox.Items2"), - resources.GetString("weaponTypeBox.Items3"), - resources.GetString("weaponTypeBox.Items4"), - resources.GetString("weaponTypeBox.Items5"), - resources.GetString("weaponTypeBox.Items6"), - resources.GetString("weaponTypeBox.Items7"), - resources.GetString("weaponTypeBox.Items8"), - resources.GetString("weaponTypeBox.Items9"), - resources.GetString("weaponTypeBox.Items10"), - resources.GetString("weaponTypeBox.Items11"), - resources.GetString("weaponTypeBox.Items12"), - resources.GetString("weaponTypeBox.Items13"), - resources.GetString("weaponTypeBox.Items14"), - resources.GetString("weaponTypeBox.Items15"), - resources.GetString("weaponTypeBox.Items16"), - resources.GetString("weaponTypeBox.Items17"), - resources.GetString("weaponTypeBox.Items18"), - resources.GetString("weaponTypeBox.Items19"), - resources.GetString("weaponTypeBox.Items20"), - resources.GetString("weaponTypeBox.Items21"), - resources.GetString("weaponTypeBox.Items22"), - resources.GetString("weaponTypeBox.Items23"), - resources.GetString("weaponTypeBox.Items24"), - resources.GetString("weaponTypeBox.Items25"), - resources.GetString("weaponTypeBox.Items26"), - resources.GetString("weaponTypeBox.Items27"), - resources.GetString("weaponTypeBox.Items28"), - resources.GetString("weaponTypeBox.Items29"), - resources.GetString("weaponTypeBox.Items30"), - resources.GetString("weaponTypeBox.Items31"), - resources.GetString("weaponTypeBox.Items32"), - resources.GetString("weaponTypeBox.Items33")}); - this.weaponTypeBox.Name = "weaponTypeBox"; - this.weaponTypeBox.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged); - // - // downloadProgressBar - // - resources.ApplyResources(this.downloadProgressBar, "downloadProgressBar"); - this.downloadProgressBar.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(32)))), ((int)(((byte)(32)))), ((int)(((byte)(32))))); - this.downloadProgressBar.ForeColor = System.Drawing.Color.White; - this.downloadProgressBar.Maximum = 100; - this.downloadProgressBar.Minimum = 0; - this.downloadProgressBar.Name = "downloadProgressBar"; - this.downloadProgressBar.ProgressColor = System.Drawing.Color.Green; - this.downloadProgressBar.ProgressFont = new System.Drawing.Font("Microsoft JhengHei UI", 11.25F, System.Drawing.FontStyle.Bold); - this.downloadProgressBar.Value = 0F; - // // FloatTool // this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; @@ -804,7 +755,6 @@ private void InitializeComponent() this.panel11.PerformLayout(); this.panel7.ResumeLayout(false); this.panel9.ResumeLayout(false); - this.helpContextMenu.ResumeLayout(false); this.panel3.ResumeLayout(false); this.panel3.PerformLayout(); this.panel6.ResumeLayout(false); @@ -831,7 +781,6 @@ private void InitializeComponent() private System.Windows.Forms.Panel panel8; private System.Windows.Forms.Panel panel3; private System.Windows.Forms.Panel panel6; - private System.Windows.Forms.CheckBox stattrackCheckBox; private System.Windows.Forms.Button checkPossibilityBtn; private System.Windows.Forms.Label label3; private System.Windows.Forms.ComboBox weaponQualityBox; @@ -864,16 +813,10 @@ private void InitializeComponent() private System.Windows.Forms.Panel panel11; private System.Windows.Forms.Panel panel12; private System.Windows.Forms.Panel panel10; - private System.Windows.Forms.Button soundBtnSwitch; - private System.Windows.Forms.Button helpBtn; - private System.Windows.Forms.ContextMenuStrip helpContextMenu; - private System.Windows.Forms.ToolStripMenuItem openGithubButton; - private System.Windows.Forms.ToolStripMenuItem openAboutBox; - private System.Windows.Forms.Label label9; - private System.Windows.Forms.Button darkModeSwitchBtn; + private System.Windows.Forms.Button settingsButton; + private System.Windows.Forms.Label versionLabel; private System.Windows.Forms.Panel panel16; private System.Windows.Forms.Panel panel15; - private System.Windows.Forms.CheckBox multithreadCheckBox; private System.Windows.Forms.Label label10; private System.Windows.Forms.NumericUpDown threadCountInput; private System.Windows.Forms.Button gpuSearch_btn; @@ -883,12 +826,14 @@ private void InitializeComponent() private System.Windows.Forms.Button searchmodeGreater_btn; private System.Windows.Forms.Button searchmodeEqual_btn; private System.Windows.Forms.Button searchmodeLess_btn; - private System.Windows.Forms.ToolStripMenuItem openWebsiteButton; private System.Windows.Forms.Label searchModeLabel; private System.Windows.Forms.Button MaximizeButton; private CustomProgressBar downloadProgressBar; private System.Windows.Forms.ComboBox outcomeSelectorComboBox; private System.Windows.Forms.Label label11; + private CustomControls.CustomToggleSwitch stattrackCheckBox; + private System.Windows.Forms.Label label12; + private System.Windows.Forms.Button benchmarkButton; } } diff --git a/FloatToolGUI/Main.cs b/FloatToolGUI/Main.cs index 5f6364c..3b99cc1 100644 --- a/FloatToolGUI/Main.cs +++ b/FloatToolGUI/Main.cs @@ -1,4 +1,6 @@ using DiscordRPC; +using FloatToolGUI.Resources; +using static FloatToolGUI.Utils; using Newtonsoft.Json; using System; using System.Collections; @@ -11,14 +13,14 @@ using System.Linq; using System.Media; using System.Net; -using System.Numerics; using System.Reflection; using System.Runtime.InteropServices; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows.Forms; - +using Microsoft.Win32; +using System.Numerics; namespace FloatToolGUI { @@ -36,9 +38,8 @@ public partial class FloatTool : Form { Thread thread1; public bool muteSound = false; - + string newLine; public StringBuilder ConsoleBuffer; - public enum SearchMode { Less, @@ -161,7 +162,7 @@ static public string getSkinData(string name) } - public void parseCraft(double[] inputs, List outputs, string want, bool wasSort, bool asc) + public void parseCraft(double[] inputs, List outputs, string want) { //List results = new List(); decimal wantFloat; @@ -180,10 +181,10 @@ public void parseCraft(double[] inputs, List outputs, string want, bool wa { this.Invoke((MethodInvoker)(() => { - ConsoleBuffer.Append($"[{DateTime.Now.ToString("HH:mm:ss")}] Коомбинация найдена!{Environment.NewLine}"); - ConsoleBuffer.Append($"Возможный флоат: {flotOrigin}{Environment.NewLine}"); - ConsoleBuffer.Append($"Проверочный флоат: {flot}{Environment.NewLine}"); - ConsoleBuffer.Append("Список флоатов: ["); + ConsoleBuffer.Append($"[{DateTime.Now.ToString("HH:mm:ss")}] {strings.CombinationFound}{newLine}"); + ConsoleBuffer.Append($"{strings.PossibleFloat}: {flotOrigin}{newLine}"); + ConsoleBuffer.Append($"{strings.TestFloat}: {flot}{newLine}"); + ConsoleBuffer.Append($"{strings.FloatList}: "); if (!muteSound) { //play sound @@ -200,22 +201,13 @@ public void parseCraft(double[] inputs, List outputs, string want, bool wa LargeImageText = "FloatTool" } }); - for (int i = 0; i < 10; i++) - { - ConsoleBuffer.Append(Math.Round(inputs[i], 14).ToString().Replace(",",".")); - if (i != 9) - { - ConsoleBuffer.Append(", "); - } - else - { - ConsoleBuffer.Append("]" + Environment.NewLine + "=====================================" + Environment.NewLine); - } - } + List floatStrings = new List(); + foreach (var fl in inputs) floatStrings.Add(Math.Round(fl, 14).ToString().Replace(",", ".")); + ConsoleBuffer.Append($"[{String.Join(", ", floatStrings)}]{newLine}====================================={newLine}"); } )); - //textBox2.AppendText( "IEEE754: " + flot + Environment.NewLine; + //textBox2.AppendText( "IEEE754: " + flot + newLine; return; } } @@ -233,10 +225,8 @@ public void SwitchEnabled() stattrackCheckBox.Enabled = !stattrackCheckBox.Enabled; sortCheckBox.Enabled = !sortCheckBox.Enabled; ascendingCheckBox.Enabled = !ascendingCheckBox.Enabled; - multithreadCheckBox.Enabled = !multithreadCheckBox.Enabled; outcomeSelectorComboBox.Enabled = !outcomeSelectorComboBox.Enabled; - if (threadCountInput.Enabled && !multithreadCheckBox.Enabled) - threadCountInput.Enabled = false; + threadCountInput.Enabled = !threadCountInput.Enabled; } public void UpdateOutcomes() @@ -287,14 +277,49 @@ public void updateSearchStr() fullSkinName.Text = search; UpdateOutcomes(); } + + RegistryKey registryData; public FloatTool() { InitializeComponent(); SetStyle(ControlStyles.ResizeRedraw | ControlStyles.AllPaintingInWmPaint | ControlStyles.UserPaint | ControlStyles.DoubleBuffer, true); ConsoleBuffer = new StringBuilder(); + newLine = Environment.NewLine; + registryData = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\FloatTool"); + if (registryData == null) + { + registryData = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\FloatTool"); + registryData.SetValue("darkMode", true); + registryData.SetValue("sound", true); + registryData.SetValue("updateCheck", true); + registryData.SetValue("bufferSpeed", 250); + registryData.Close(); + } + else + { + ChangeTheme(Convert.ToBoolean(registryData.GetValue("darkMode"))); + muteSound = !Convert.ToBoolean(registryData.GetValue("sound")); + WorkStatusUpdater.Interval = (int)registryData.GetValue("bufferSpeed"); + if (Convert.ToBoolean(registryData.GetValue("updateCheck"))) + { + string ver = CheckUpdates(); + if (ver != versionLabel.Text) + { + DialogResult result = MessageBox.Show( + $"Доступна версия {ver}! Хотите открыть страницу загрузки?", + "Обновление", + MessageBoxButtons.YesNo, + MessageBoxIcon.Information, + MessageBoxDefaultButton.Button1, + MessageBoxOptions.DefaultDesktopOnly); + + if (result == DialogResult.Yes) + System.Diagnostics.Process.Start("https://github.com/Nemeshio/FloatTool-GUI/releases/latest"); + } + } + } } public DiscordRpcClient client; - private bool darkTheme = true; private void Form1_Load(object sender, EventArgs e) { @@ -315,8 +340,9 @@ private void Form1_Load(object sender, EventArgs e) } updateSearchStr(); - darkModeSwitchBtn.Text = darkTheme ? "🌙" : "☀"; - client = new DiscordRpcClient("824349399688937543"); + //dev = 824349399688937543 + //main = 734042978246721537 + client = new DiscordRpcClient("734042978246721537"); //Subscribe to events client.OnReady += (sender2, e2) => @@ -440,7 +466,7 @@ public void secndThread(List craftList, string wanted, double[] pool, int { foreach (IEnumerable pair in Combinations(pool, 10, start, skip)) { - parseCraft(pair.ToArray(), craftList, wanted, sortCheckBox.Checked, ascendingCheckBox.Checked); + parseCraft(pair.ToArray(), craftList, wanted); currComb++; //Console.WriteLine(currComb); } @@ -476,8 +502,8 @@ private void StartCalculation() currComb = 0; this.Invoke((MethodInvoker)(() => { - outputConsoleBox.Text = "Добро пожаловать в FloatTool!" + Environment.NewLine + "Инструмент для создания флоатов при помощи крафтов CS:GO" + Environment.NewLine; - outputConsoleBox.AppendText( "Время начала процесса: " + DateTime.Now.ToString("HH:mm:ss tt") + Environment.NewLine); + outputConsoleBox.Text = "Добро пожаловать в FloatTool!" + newLine + "Инструмент для создания флоатов при помощи крафтов CS:GO" + newLine; + outputConsoleBox.AppendText( "Время начала процесса: " + DateTime.Now.ToString("HH:mm:ss tt") + newLine); startBtn.Text = "Стоп"; fullSkinName.SelectionStart = fullSkinName.Text.Length; outputConsoleBox.ScrollToCaret(); @@ -493,7 +519,7 @@ private void StartCalculation() this.Invoke((MethodInvoker)(() => { - outputConsoleBox.AppendText( "Загрузка скинов с торговой площадки..." + Environment.NewLine); + outputConsoleBox.AppendText( "Загрузка скинов с торговой площадки..." + newLine); downloadProgressBar.Maximum = int.Parse(count); downloadProgressBar.Value = 0; fullSkinName.SelectionStart = fullSkinName.Text.Length; @@ -510,7 +536,7 @@ private void StartCalculation() dynamic r = JsonConvert.DeserializeObject(json); this.Invoke((MethodInvoker)(() => { - outputConsoleBox.AppendText( "Получение флоатов..." + Environment.NewLine); + outputConsoleBox.AppendText( "Получение флоатов..." + newLine); fullSkinName.SelectionStart = fullSkinName.Text.Length; outputConsoleBox.ScrollToCaret(); } @@ -563,13 +589,13 @@ private void StartCalculation() //} this.Invoke((MethodInvoker)(() => { - outputConsoleBox.AppendText( "Поиск ауткамов..." + Environment.NewLine); + outputConsoleBox.AppendText( "Поиск ауткамов..." + newLine); outputConsoleBox.SelectionStart = fullSkinName.Text.Length; /*string line = "["; foreach(var i in floats) line += $"{i.ToString().Replace(',','.')}, "; line = line.Remove(line.Length - 2); - textBox2.AppendText("Список флоатов:" + Environment.NewLine + line + "]" + Environment.NewLine);*/ + textBox2.AppendText("Список флоатов:" + newLine + line + "]" + newLine);*/ outputConsoleBox.ScrollToCaret(); } @@ -611,7 +637,7 @@ private void StartCalculation() this.Invoke((MethodInvoker)(() => { - outputConsoleBox.AppendText( "Ауткамы найдены! Начинаю подбор..." + Environment.NewLine + "Выбрано для поиска:" + Environment.NewLine + String.Join(Environment.NewLine, outcomes) + Environment.NewLine + Environment.NewLine); + outputConsoleBox.AppendText( "Ауткамы найдены! Начинаю подбор..." + newLine + "Выбрано для поиска:" + newLine + String.Join(newLine, outcomes) + newLine + newLine); fullSkinName.SelectionStart = fullSkinName.Text.Length; outputConsoleBox.ScrollToCaret(); downloadProgressBar.Value = 0; @@ -623,28 +649,24 @@ private void StartCalculation() Searching = true; - var threads = 1; - if (multithreadCheckBox.Checked) + int threads = (int)threadCountInput.Value; + try { - threads = (int)threadCountInput.Value; - try - { - for (int i = 1; i < threads; i++) - { - Thread newThread = new Thread(() => secndThread(outcomes, wanted, pool, i, threads)); - newThread.Start(); - t2.Add(newThread); - } - } - catch (Exception ex) + for (int i = 1; i < threads; i++) { - Console.WriteLine(ex.Message); + Thread newThread = new Thread(() => secndThread(outcomes, wanted, pool, i, threads)); + newThread.Start(); + t2.Add(newThread); } } + catch (Exception ex) + { + Console.WriteLine(ex.Message); + } foreach (IEnumerable pair in Combinations(pool, 10, 0, threads)) { - parseCraft(pair.ToArray(), outcomes, wanted, sortCheckBox.Checked, ascendingCheckBox.Checked); + parseCraft(pair.ToArray(), outcomes, wanted); currComb++; } Console.WriteLine("Next group"); @@ -668,7 +690,7 @@ private void StartCalculation() this.Invoke((MethodInvoker)(() => { - outputConsoleBox.AppendText( "Программа завершила проверку всех комбинаций!" + Environment.NewLine); + outputConsoleBox.AppendText( "Программа завершила проверку всех комбинаций!" + newLine); fullSkinName.SelectionStart = fullSkinName.Text.Length; outputConsoleBox.ScrollToCaret(); thread1.Abort(); @@ -750,9 +772,9 @@ private void button1_Click(object sender, EventArgs e) foreach (var skinRange in GroupOutcomes(craftList)) { - ConsoleBuffer.Append($"{Environment.NewLine}--------Length: {skinRange.Count}--------"); + ConsoleBuffer.Append($"{newLine}--------Length: {skinRange.Count}--------"); foreach (var skinObj in skinRange) - ConsoleBuffer.Append(Environment.NewLine+skinObj.ToString()); + ConsoleBuffer.Append(newLine+skinObj.ToString()); } */ #endregion @@ -927,7 +949,7 @@ protected override void WndProc(ref Message message) } } - private void panel3_MouseDown(object sender, MouseEventArgs e) + private void panel3_MouseDown(object sender, MouseEventArgs e) { if (e.Button == MouseButtons.Left) { @@ -945,66 +967,32 @@ private void panel9_MouseDown(object sender, MouseEventArgs e) } } - void updateMuteIcon() - { - if (!muteSound) - { - if (darkTheme) - { - soundBtnSwitch.Image = FloatToolGUI.Properties.Resources.unmutedWhite; - } - else - { - soundBtnSwitch.Image = FloatToolGUI.Properties.Resources.unmutedBlack; - } - } - else - { - if (darkTheme) - { - soundBtnSwitch.Image = FloatToolGUI.Properties.Resources.mutedWhite; - } - else - { - soundBtnSwitch.Image = FloatToolGUI.Properties.Resources.mutedBlack; - } - } - } - - private void SoundSwitchButton_Click(object sender, EventArgs e) + private void settingsButton_Click(object sender, EventArgs e) { - if (muteSound) + SettingsForm settings = new SettingsForm(); + settings.ShowDialog(); + registryData = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\FloatTool"); + if (registryData == null) { - muteSound = false; - SoundPlayer player = new SoundPlayer(Properties.Resources.notification); - player.Play(); + registryData = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\FloatTool"); + registryData.SetValue("darkMode", true); + registryData.SetValue("sound", true); + registryData.SetValue("updateCheck", true); + registryData.SetValue("bufferSpeed", 250); + registryData.Close(); } else { - muteSound = true; + ChangeTheme(Convert.ToBoolean(registryData.GetValue("darkMode"))); + muteSound = !Convert.ToBoolean(registryData.GetValue("sound")); + WorkStatusUpdater.Interval = (int)registryData.GetValue("bufferSpeed"); } - updateMuteIcon(); - } - - private void OpenWikiButton_Click(object sender, EventArgs e) - { - System.Diagnostics.Process.Start("https://nemeshio.github.io/FloatTool-GUI/"); //https://github.com/Nemeshio/FloatTool-GUI/wiki/%D0%93%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F - } - - private void OpenGithubButton_Click(object sender, EventArgs e) - { - System.Diagnostics.Process.Start("https://github.com/Nemeshio/FloatTool-GUI/"); } - private void OpenWebsiteButton_Click(object sender, EventArgs e) + private void benchmarkButton_Click(object sender, EventArgs e) { - System.Diagnostics.Process.Start("https://nemeshio.github.io/FloatTool-GUI/"); - } - - private void OpenAboutButton_Click(object sender, EventArgs e) - { - About aboutForm = new About(); - aboutForm.Show(); + Benchmark benchmark = new Benchmark(versionLabel.Text); + benchmark.ShowDialog(); } void ChangeTheme(bool dark) @@ -1028,6 +1016,8 @@ void ChangeTheme(bool dark) label6.ForeColor = Color.FromArgb(255, 255, 255); label7.ForeColor = Color.FromArgb(255, 255, 255); label8.ForeColor = Color.FromArgb(255, 255, 255); + label11.ForeColor = Color.FromArgb(255, 255, 255); + label12.ForeColor = Color.FromArgb(255, 255, 255); panel5.BackColor = Color.FromArgb(44, 44, 44); panel6.BackColor = Color.FromArgb(44, 44, 44); @@ -1039,21 +1029,25 @@ void ChangeTheme(bool dark) weaponQualityBox.BackColor = Color.FromArgb(32, 32, 32); weaponQualityBox.ForeColor = Color.FromArgb(150, 150, 150); + outcomeSelectorComboBox.BackColor = Color.FromArgb(32, 32, 32); + outcomeSelectorComboBox.ForeColor = Color.FromArgb(150, 150, 150); + + stattrackCheckBox.TurnedOffColor = Color.FromArgb(56, 56, 56); + stattrackCheckBox.TurnedOnColor = Color.Green; + minimizeBtn.ForeColor = Color.FromArgb(255, 255, 255); - updateMuteIcon(); closeBtn.ForeColor = Color.FromArgb(255, 255, 255); MaximizeButton.ForeColor = Color.FromArgb(255, 255, 255); - helpBtn.ForeColor = Color.FromArgb(255, 255, 255); - darkModeSwitchBtn.ForeColor = Color.FromArgb(255, 255, 255); + settingsButton.BackgroundImage = Properties.Resources.gearWhite; + benchmarkButton.BackgroundImage = Properties.Resources.benchmarkWhite; minimizeBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); - soundBtnSwitch.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); + settingsButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); closeBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); MaximizeButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); - helpBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); - darkModeSwitchBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); + settingsButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); + benchmarkButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(0, 0, 0); - stattrackCheckBox.ForeColor = Color.FromArgb(255, 255, 255); sortCheckBox.ForeColor = Color.FromArgb(255, 255, 255); ascendingCheckBox.ForeColor = Color.FromArgb(255, 255, 255); @@ -1075,7 +1069,6 @@ void ChangeTheme(bool dark) skipValueInput.BackColor = Color.FromArgb(32, 32, 32); skipValueInput.ForeColor = Color.FromArgb(150, 150, 150); - multithreadCheckBox.ForeColor = Color.FromName("White"); label10.ForeColor = Color.FromName("White"); threadCountInput.BackColor = Color.FromArgb(32, 32, 32); threadCountInput.ForeColor = Color.FromArgb(150, 150, 150); @@ -1117,6 +1110,8 @@ void ChangeTheme(bool dark) label6.ForeColor = Color.FromArgb(0, 0, 0); label7.ForeColor = Color.FromArgb(0, 0, 0); label8.ForeColor = Color.FromArgb(0, 0, 0); + label11.ForeColor = Color.FromArgb(0, 0, 0); + label12.ForeColor = Color.FromArgb(0, 0, 0); panel5.BackColor = Color.FromArgb(222, 222, 222); panel6.BackColor = Color.FromArgb(222, 222, 222); @@ -1127,22 +1122,25 @@ void ChangeTheme(bool dark) weaponSkinBox.ForeColor = Color.FromArgb(10, 10, 10); weaponQualityBox.BackColor = Color.FromArgb(255, 255, 255); weaponQualityBox.ForeColor = Color.FromArgb(10, 10, 10); + outcomeSelectorComboBox.BackColor = Color.FromArgb(255, 255, 255); + outcomeSelectorComboBox.ForeColor = Color.FromArgb(10, 10, 10); + + stattrackCheckBox.TurnedOffColor = Color.FromArgb(200, 200, 200); + stattrackCheckBox.TurnedOnColor = Color.LimeGreen; minimizeBtn.ForeColor = Color.FromArgb(0, 0, 0); - updateMuteIcon(); closeBtn.ForeColor = Color.FromArgb(0, 0, 0); MaximizeButton.ForeColor = Color.FromArgb(0, 0, 0); - helpBtn.ForeColor = Color.FromArgb(0, 0, 0); - darkModeSwitchBtn.ForeColor = Color.FromArgb(0, 0, 0); + settingsButton.BackgroundImage = Properties.Resources.gearBlack; + benchmarkButton.BackgroundImage = Properties.Resources.benchmarkBlack; minimizeBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); - soundBtnSwitch.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); + settingsButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); closeBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); MaximizeButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); - helpBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); - darkModeSwitchBtn.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); + settingsButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); + benchmarkButton.FlatAppearance.MouseOverBackColor = Color.FromArgb(230, 230, 230); - stattrackCheckBox.ForeColor = Color.FromArgb(0, 0, 0); sortCheckBox.ForeColor = Color.FromArgb(0, 0, 0); ascendingCheckBox.ForeColor = Color.FromArgb(0, 0, 0); @@ -1164,7 +1162,6 @@ void ChangeTheme(bool dark) skipValueInput.BackColor = Color.FromArgb(255, 255, 255); skipValueInput.ForeColor = Color.FromArgb(10, 10, 10); - multithreadCheckBox.ForeColor = Color.FromName("Black"); label10.ForeColor = Color.FromName("Black"); threadCountInput.BackColor = Color.FromArgb(255, 255, 255); threadCountInput.ForeColor = Color.FromArgb(10, 10, 10); @@ -1189,18 +1186,6 @@ void ChangeTheme(bool dark) } } - private void DarkModeSwitchButton_Click(object sender, EventArgs e) - { - darkTheme = !darkTheme; - ChangeTheme(darkTheme); - darkModeSwitchBtn.Text = darkTheme ? "🌙" : "☀"; - } - - private void MultithreadSwitched(object sender, EventArgs e) - { - threadCountInput.Enabled = multithreadCheckBox.Checked; - } - private void gpuSearch_btn_Click(object sender, EventArgs e) { double[] floats = { diff --git a/FloatToolGUI/Main.resx b/FloatToolGUI/Main.resx index c9278cb..2d9767d 100644 --- a/FloatToolGUI/Main.resx +++ b/FloatToolGUI/Main.resx @@ -283,152 +283,83 @@ 0 - - Top, Right + + Zoom - + Flat - - Microsoft JhengHei Light, 16pt + + Microsoft JhengHei Light, 40px - + NoControl - - 269, 1 + + 40, 0 - - 1, 1, 1, 1 + + 0, 0, 0, 0 - - 40, 40 + + Yes - - 5 + + 40, 40 - - L + + 3 - - darkModeSwitchBtn + + benchmarkButton - + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + panel9 - + 0 - - Top, Right - - - 219, 17 - - - 149, 22 - - - Сайт - - - 149, 22 - - - О программе - - - Информация о разработчике - - - 149, 22 + + Zoom - - GitHub - - - Ссылка на репозиторий проекта - - - 150, 70 - - - helpContextMenu - - - System.Windows.Forms.ContextMenuStrip, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - + Flat - - Microsoft JhengHei Light, 16pt - - - NoControl - - - 309, 1 - - - 40, 39 - - - 4 - - - ? - - - helpBtn - - - System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel9 - - - 1 - - - Flat - - + Microsoft JhengHei Light, 40px - + NoControl - - 0, 1 + + 0, 0 - - 1, 1, 1, 1 + + 0, 0, 0, 0 - + Yes - + 40, 40 - + 3 - - soundBtnSwitch + + settingsButton - + System.Windows.Forms.Button, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + panel9 - - 2 + + 1 Top, Right @@ -464,7 +395,7 @@ panel9 - 3 + 2 Top, Right @@ -500,7 +431,7 @@ panel9 - 4 + 3 Top, Right @@ -536,7 +467,7 @@ panel9 - 5 + 4 Top @@ -718,34 +649,34 @@ 0 - + True - + NoControl - - 207, 20 + + 138, 20 - - 64, 15 + + 36, 15 - + 1 - - v.0.5.0 beta + + v.0.5.1 - - label9 + + versionLabel - + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - + panel3 - + 0 @@ -761,13 +692,13 @@ 5, 2 - 207, 38 + 140, 38 0 - FloatTool DEV + FloatTool label8 @@ -805,41 +736,20 @@ 2 - - None - - - True - - - Microsoft JhengHei Light, 10pt - - - NoControl - - 9, 64 - - - Yes + 79, 61 - 88, 22 + 38, 24 - 8 - - - :StatTrack - - - MiddleCenter + 2 stattrackCheckBox - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + FloatToolGUI.CustomControls.CustomToggleSwitch, FloatTool, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null panel6 @@ -938,10 +848,10 @@ * Искать всё * - 186, 61 + 203, 61 - 231, 24 + 214, 24 6 @@ -1009,6 +919,42 @@ 4 + + None + + + True + + + Microsoft JhengHei Light, 10pt + + + NoControl + + + 9, 64 + + + 70, 18 + + + 3 + + + StatTrack: + + + label12 + + + System.Windows.Forms.Label, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + panel6 + + + 5 + None @@ -1043,7 +989,7 @@ panel6 - 5 + 6 Bottom, Left @@ -1082,7 +1028,7 @@ panel6 - 6 + 7 None @@ -1217,7 +1163,7 @@ panel6 - 7 + 8 None @@ -1232,7 +1178,7 @@ NoControl - 108, 65 + 129, 64 68, 18 @@ -1253,7 +1199,7 @@ panel6 - 8 + 9 None @@ -1289,7 +1235,7 @@ panel6 - 9 + 10 Bottom @@ -1328,7 +1274,7 @@ panel6 - 10 + 11 None @@ -1361,7 +1307,7 @@ panel6 - 11 + 12 Top @@ -1955,10 +1901,10 @@ NoControl - 231, 37 + 261, 6 - 186, 29 + 160, 60 3 @@ -1988,7 +1934,7 @@ NoControl - 216, 10 + 9, 2 72, 18 @@ -2012,7 +1958,7 @@ 3 - 297, 9 + 87, 2 120, 21 @@ -2032,36 +1978,6 @@ 4 - - True - - - NoControl - - - 12, 8 - - - 148, 22 - - - 0 - - - Многопоточность - - - multithreadCheckBox - - - System.Windows.Forms.CheckBox, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - panel15 - - - 5 - Bottom @@ -2135,7 +2051,7 @@ $this - 2 + 1 Fill @@ -2159,10 +2075,10 @@ $this - 1 + 0 - 374, 17 + 198, 16 True @@ -2443,30 +2359,12 @@ System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - openWebsiteButton - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - openAboutBox - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - WorkStatusUpdater System.Windows.Forms.Timer, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - openGithubButton - - - System.Windows.Forms.ToolStripMenuItem, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - FloatTool diff --git a/FloatToolGUI/Properties/Resources.Designer.cs b/FloatToolGUI/Properties/Resources.Designer.cs index ff310cf..65c0a30 100644 --- a/FloatToolGUI/Properties/Resources.Designer.cs +++ b/FloatToolGUI/Properties/Resources.Designer.cs @@ -60,6 +60,46 @@ internal Resources() { } } + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap benchmarkBlack { + get { + object obj = ResourceManager.GetObject("benchmarkBlack", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap benchmarkWhite { + get { + object obj = ResourceManager.GetObject("benchmarkWhite", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap gearBlack { + get { + object obj = ResourceManager.GetObject("gearBlack", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + + /// + /// Поиск локализованного ресурса типа System.Drawing.Bitmap. + /// + internal static System.Drawing.Bitmap gearWhite { + get { + object obj = ResourceManager.GetObject("gearWhite", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + /// /// Поиск локализованного ресурса типа System.Drawing.Bitmap. /// diff --git a/FloatToolGUI/Properties/Resources.resx b/FloatToolGUI/Properties/Resources.resx index 5406c82..257ea90 100644 --- a/FloatToolGUI/Properties/Resources.resx +++ b/FloatToolGUI/Properties/Resources.resx @@ -118,22 +118,34 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + ..\Resources\benchmarkBlack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\benchmarkWhite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\gearBlack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\gearWhite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + - ..\github.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\github.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\mutedBlack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\mutedBlack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\mutedWhite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\mutedWhite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\notification.wav;System.IO.MemoryStream, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - ..\unmutedBlack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\unmutedBlack.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\unmutedWhite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\unmutedWhite.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a \ No newline at end of file diff --git a/FloatToolGUI/Resources/benchmarkBlack.png b/FloatToolGUI/Resources/benchmarkBlack.png new file mode 100644 index 0000000..9bbee40 Binary files /dev/null and b/FloatToolGUI/Resources/benchmarkBlack.png differ diff --git a/FloatToolGUI/Resources/benchmarkWhite.png b/FloatToolGUI/Resources/benchmarkWhite.png new file mode 100644 index 0000000..bd3d5bd Binary files /dev/null and b/FloatToolGUI/Resources/benchmarkWhite.png differ diff --git a/FloatToolGUI/Resources/floattool.ico b/FloatToolGUI/Resources/floattool.ico new file mode 100644 index 0000000..5c5c73c Binary files /dev/null and b/FloatToolGUI/Resources/floattool.ico differ diff --git a/FloatToolGUI/Resources/gearBlack.png b/FloatToolGUI/Resources/gearBlack.png new file mode 100644 index 0000000..fb32656 Binary files /dev/null and b/FloatToolGUI/Resources/gearBlack.png differ diff --git a/FloatToolGUI/Resources/gearWhite.png b/FloatToolGUI/Resources/gearWhite.png new file mode 100644 index 0000000..dfcbf80 Binary files /dev/null and b/FloatToolGUI/Resources/gearWhite.png differ diff --git a/FloatToolGUI/github.png b/FloatToolGUI/Resources/github.png similarity index 100% rename from FloatToolGUI/github.png rename to FloatToolGUI/Resources/github.png diff --git a/FloatToolGUI/Resources/itemData.json b/FloatToolGUI/Resources/itemData.json new file mode 100644 index 0000000..d557cc0 --- /dev/null +++ b/FloatToolGUI/Resources/itemData.json @@ -0,0 +1,7355 @@ +[ + { + "name": "M4A1-S | Printstream", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Operation Broken Fang Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | The Prince", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MAG-7 | Cinquedea", + "rarity": "Classified Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Stained Glass", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Red Filigree", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Baroque Orange", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Baroque Red", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Emerald", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Orange Filigree", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Violet Murano", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Baroque Purple", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Candy Apple", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Orange Murano", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Dark Filigree", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Indigo", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Canals Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Stone Mosaico", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.50", + "case": "The Canals Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Navy Murano", + "rarity": "Consumer Grade Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Canals Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Boroque Sand", + "rarity": "Consumer Grade Machine Gun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Canals Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Containment Breach", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MAC-10 | Stalker", + "rarity": "Covert SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "SSG 08 | Bloodshot", + "rarity": "Classified Sniper Rifle", + "minWear": "0.14", + "maxWear": "0.60", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Colony IV", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Decimator", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.75", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Rat Rod", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Arctic Wolf", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Neon Ply", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Obsidian", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Embargo", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Balance", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Shattered Web Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP5-SD | Acid Wash", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.68", + "case": "The Shattered Web Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Torn", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.45", + "case": "The Shattered Web Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "R8 Revolver | Momento", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Shattered Web Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Black Sand", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Shattered Web Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M249 | Warbird", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.05", + "maxWear": "0.65", + "case": "The Shattered Web Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Plume", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Shattered Web Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Wildfire", + "rarity": "Covert Sniper Rifle", + "minWear": "0.01", + "maxWear": "0.70", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "FAMAS | Commemoration", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MP9 | Hydra", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Death by Puppy", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Nostalgia", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.57", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP5-SD | Agent", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Inferno", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.68", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Plastique", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Buddy", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.55", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | Aztec", + "rarity": "Restricted Machine Gun", + "minWear": "0.00", + "maxWear": "0.75", + "case": "The CS20 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Sacrifice", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The CS20 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "FAMAS | Decommissioned", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The CS20 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Classic Crate", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The CS20 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Popdog", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The CS20 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Flash Out", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The CS20 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Elite 1.6", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The CS20 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Assault", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.62", + "case": "The CS20 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-Seven | Angry Mob", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | The Emperor", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "XM1014 | Incinegator", + "rarity": "Classified Shotgun", + "minWear": "0.14", + "maxWear": "0.65", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "R8 Revolver | Skull Crusher", + "rarity": "Classified Pistol", + "minWear": "0.25", + "maxWear": "0.80", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Momentum", + "rarity": "Classified Rifle", + "minWear": "0.05", + "maxWear": "1.00", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Atheris", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Bamboozle", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Light Rail", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.90", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP5-SD | Gauss", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Moonrise", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Prisma Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Crypsis", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "The Prisma Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Uncharted", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.75", + "case": "The Prisma Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Whitefish", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Prisma Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Mischief", + "rarity": "Mil-Spec SMG", + "minWear": "0.10", + "maxWear": "1.00", + "case": "The Prisma Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Verdigris", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Prisma Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP5-SD | Lab Rats", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.35", + "case": "The Blacksite Collection", + "lowestRarity": true, + "highestRarity": true + }, + { + "name": "AK-47 | Asiimov", + "rarity": "Covert Rifle", + "minWear": "0.05", + "maxWear": "0.70", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Neo-Noir", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MP5-SD | Phosphor", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Mecha Industries", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Momentum", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Pipe Down", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Flashback", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Nevermore", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Signal", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Scavenger", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.65", + "case": "Danger Zone Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Magnesium", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Danger Zone Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Fubar", + "rarity": "Mil-Spec Pistol", + "minWear": "0.14", + "maxWear": "1.00", + "case": "Danger Zone Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Glock-18 | Oxide Blaze", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.85", + "case": "Danger Zone Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SG 553 | Danger Close", + "rarity": "Mil-Spec Rifle", + "minWear": "0.02", + "maxWear": "0.80", + "case": "Danger Zone Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Modest Threat", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Danger Zone Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Black Sand", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Danger Zone Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Wood Fired", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Danger Zone Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Neon Rider", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Desert Eagle | Code Red", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A1-S | Nightmare", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Devourer", + "rarity": "Classified Shotgun", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Eye of Athena", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | PAW", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Eco", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | High Seas", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Toy Soldier", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Powercore", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Horizon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Warhawk", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Horizon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P90 | Traction", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Horizon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Amber Slipstream", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Horizon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Snek-9", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Horizon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Capillary", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Horizon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "R8 Revolver | Survivalist", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Horizon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Shred", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Horizon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A4 | Neo-Noir", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MP7 | Bloodsport", + "rarity": "Covert SMG", + "minWear": "0.00", + "maxWear": "0.65", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "USP-S | Cortex", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Mortis", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.64", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Stymphalian", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.63", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Moonrise", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.65", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Arctic Wolf", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | SWAG-7", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.92", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Wild Six", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Negev | Lionfish", + "rarity": "Restricted Machine Gun", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Clutch Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Aloha", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Clutch Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Flame Test", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.65", + "case": "Clutch Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "R8 Revolver | Grip", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Clutch Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P2000 | Urban Hazard", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Clutch Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Black Sand", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Clutch Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "XM1014 | Oxide Blaze", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Clutch Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Night Riot", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Clutch Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | The Empress", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P250 | See Ya Later", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A1-S | Leaded Glass", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "R8 Revolver | Llama Cannon", + "rarity": "Classified Pistol", + "minWear": "0.03", + "maxWear": "0.70", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | High Roller", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Tacticat", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Phantom", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Exposure", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Ziggy", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.72", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Goo", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Spectrum 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Off World", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Triqua", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Cracked Opal", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Oceanic", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Spectrum 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Hunter", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Morris", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Jungle Slipstream", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Spectrum 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Mecha Industries", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Glock-18 | Wasteland Rebel", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.54", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Desolate Space", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Bloodsport", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Imperial Dragon", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.63", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Phobos", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Aristocrat", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.66", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "R8 Revolver | Reboot", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Chopper", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Limelight", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Violent Daimyo", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Gamma Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SG 553 | Aerial", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Gamma Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Iron Clad", + "rarity": "Mil-Spec Pistol", + "minWear": "0.05", + "maxWear": "0.80", + "case": "Gamma Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Ice Cap", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Gamma Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Carnivore", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Exo", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Gamma Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Harvester", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Neon Revolution", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "FAMAS | Roll Cage", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AUG | Syd Mead", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Airlock", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Fuel Injector", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Directive", + "rarity": "Restricted Pistol", + "minWear": "0.06", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Weasel", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Triarch", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Powercore", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Petroglyph", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.44", + "case": "Gamma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Grim", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Gamma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Briefing", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Imprint", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Dazzle", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.10", + "maxWear": "0.65", + "case": "Gamma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Scumbria", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Gamma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "XM1014 | Slipstream", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Gamma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Ventilator", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Gamma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A4 | Buzz Kill", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "SSG 08 | Dragonfire", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P90 | Shallow Grave", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Mecha Industries", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Wasteland Princess", + "rarity": "Classified Shotgun", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Cyrex", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Flashback", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Royal Consorts", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Gila", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.30", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Stinger", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Glove Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Ironwork", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Glove Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Cirrus", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Glove Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P2000 | Turf", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Glove Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Black Sand", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Glove Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Polymer", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Glove Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Sonar", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Glove Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Sand Scale", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Glove Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Bloodsport", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "USP-S | Neo-Noir", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Fever Dream", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Decimator", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.85", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Xiangliu", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.56", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Scaffold", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Seasons", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | Emerald Poison Dart", + "rarity": "Restricted Machine Gun", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Crimson Tsunami", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Last Dive", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.52", + "case": "Spectrum Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Oxide Blaze", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Spectrum Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Capillary", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Spectrum Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Ripple", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Spectrum Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Zander", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.05", + "maxWear": "1.00", + "case": "Spectrum Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Blueprint", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Spectrum Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Jungle Slipstream", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Spectrum Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Akoben", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Spectrum Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Lightning Strike", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.08", + "case": "CS:GO Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Case Hardened", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "CS:GO Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Hypnotic", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "CS:GO Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Dragon Tattoo", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "CS:GO Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Dark Water", + "rarity": "Restricted Pistol", + "minWear": "0.10", + "maxWear": "0.26", + "case": "CS:GO Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Dark Water", + "rarity": "Restricted Rifle", + "minWear": "0.10", + "maxWear": "0.26", + "case": "CS:GO Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Ultraviolet", + "rarity": "Mil-Spec Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "CS:GO Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Wings", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.14", + "case": "CS:GO Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Skulls", + "rarity": "Mil-Spec SMG", + "minWear": "0.10", + "maxWear": "0.26", + "case": "CS:GO Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SSG 08 | Blood in the Water", + "rarity": "Covert Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.20", + "case": "CS:GO Weapon Case 2", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P90 | Cold Blooded", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "CS:GO Weapon Case 2", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Serum", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.25", + "case": "CS:GO Weapon Case 2", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Case Hardened", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "CS:GO Weapon Case 2", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Hypnotic", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "CS:GO Weapon Case 2", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Hemoglobin", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "CS:GO Weapon Case 2", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Graphite", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.12", + "case": "CS:GO Weapon Case 2", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Crimson Web", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "CS:GO Weapon Case 2", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Blood Tiger", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.30", + "case": "CS:GO Weapon Case 2", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "FAMAS | Hexane", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "CS:GO Weapon Case 2", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Hive", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.30", + "case": "CS:GO Weapon Case 2", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Blue Titanium", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.04", + "case": "CS:GO Weapon Case 2", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Victoria", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.75", + "case": "CS:GO Weapon Case 3", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "CZ75-Auto | The Fuschia Is Now", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "CS:GO Weapon Case 3", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Undertow", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "CS:GO Weapon Case 3", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Heirloom", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "CS:GO Weapon Case 3", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Copper Galaxy", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "CS:GO Weapon Case 3", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Tread Plate", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "CS:GO Weapon Case 3", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Titanium Bit", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "CS:GO Weapon Case 3", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Crimson Web", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "CS:GO Weapon Case 3", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "USP-S | Stainless", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "CS:GO Weapon Case 3", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Glock-18 | Blue Fissure", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.58", + "case": "CS:GO Weapon Case 3", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Panther", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.58", + "case": "CS:GO Weapon Case 3", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P2000 | Red FragCam", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "CS:GO Weapon Case 3", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Chatterbox", + "rarity": "Covert Rifle", + "minWear": "0.35", + "maxWear": "0.85", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Man-o'-war", + "rarity": "Covert Sniper Rifle", + "minWear": "0.10", + "maxWear": "0.20", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | 龍王 (Dragon King)", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Cartel", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Muertos", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Naga", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Serenity", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Malachite", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Urban Shock", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.47", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Catacombs", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Deadly Poison", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | System Lock", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Quicksilver", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Grotto", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Hyper Beast", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MAC-10 | Neon Rider", + "rarity": "Covert SMG", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Five-SeveN | Monkey Business", + "rarity": "Classified Pistol", + "minWear": "0.10", + "maxWear": "0.90", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Djinn", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Eco", + "rarity": "Classified Rifle", + "minWear": "0.10", + "maxWear": "0.85", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Worm God", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Heat", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Pole Position", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Grand Prix", + "rarity": "Restricted SMG", + "minWear": "0.25", + "maxWear": "0.35", + "case": "Chroma 2 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Elite Build", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Desert Eagle | Bronze Deco", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.46", + "case": "Chroma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Valence", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Chroma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Origami", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Chroma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Armor Core", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Man-o'-war", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.10", + "maxWear": "0.20", + "case": "Chroma 2 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Chantico's Fire", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.99", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "PP-Bizon | Judgement of Anubis", + "rarity": "Covert SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P250 | Asiimov", + "rarity": "Classified Pistol", + "minWear": "0.10", + "maxWear": "1.00", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Primal Saber", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.77", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Fleet Flock", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Ghost Crusader", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Red Astor", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Black Tie", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Firefight", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Re-Entry", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.43", + "case": "Chroma 3 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Atlas", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.81", + "case": "Chroma 3 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Bioleak", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma 3 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P2000 | Oceanic", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Chroma 3 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Ventilators", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Chroma 3 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M249 | Spectre", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Chroma 3 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Orange Crash", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.52", + "case": "Chroma 3 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Fubar", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.40", + "maxWear": "1.00", + "case": "Chroma 3 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P90 | Death by Kitty", + "rarity": "Covert SMG", + "minWear": "0.08", + "maxWear": "0.32", + "case": "eSports 2013 Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Red Laminate", + "rarity": "Classified Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2013 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | BOOM", + "rarity": "Classified Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.28", + "case": "eSports 2013 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Orange DDPAT", + "rarity": "Restricted Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2013 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Orange DDPAT", + "rarity": "Restricted Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2013 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Splash", + "rarity": "Restricted Pistol", + "minWear": "0.06", + "maxWear": "0.18", + "case": "eSports 2013 Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Faded Zebra", + "rarity": "Mil-Spec Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2013 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Memento", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.02", + "maxWear": "0.18", + "case": "eSports 2013 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "FAMAS | Doomkitty", + "rarity": "Mil-Spec Rifle", + "minWear": "0.08", + "maxWear": "0.22", + "case": "eSports 2013 Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A4 | X-Ray", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.30", + "case": "eSports 2013 Winter Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Electric Hive", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "eSports 2013 Winter Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Cobalt Disruption", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "eSports 2013 Winter Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Afterimage", + "rarity": "Classified Rifle", + "minWear": "0.02", + "maxWear": "0.40", + "case": "eSports 2013 Winter Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Blue Laminate", + "rarity": "Restricted Rifle", + "minWear": "0.02", + "maxWear": "0.40", + "case": "eSports 2013 Winter Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Blind Spot", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "eSports 2013 Winter Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Ghost Camo", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.40", + "case": "eSports 2013 Winter Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Blue Titanium", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.04", + "case": "eSports 2013 Winter Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Steel Disruption", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "eSports 2013 Winter Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Nightshade", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "eSports 2013 Winter Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Water Sigil", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "eSports 2013 Winter Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Azure Zebra", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.28", + "case": "eSports 2013 Winter Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Jaguar", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Bullet Rain", + "rarity": "Covert Rifle", + "minWear": "0.02", + "maxWear": "0.46", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Corticera", + "rarity": "Classified Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.30", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Bengal Tiger", + "rarity": "Classified Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Bloomstick", + "rarity": "Classified Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Corticera", + "rarity": "Classified Pistol", + "minWear": "0.06", + "maxWear": "0.30", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Crimson Web", + "rarity": "Restricted Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Blue Streak", + "rarity": "Restricted SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Virus", + "rarity": "Restricted SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Ocean Foam", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Steel Disruption", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "eSports 2014 Summer Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Ultraviolet", + "rarity": "Mil-Spec SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "eSports 2014 Summer Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "USP-S | Blood Tiger", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.30", + "case": "eSports 2014 Summer Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Bratatat", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "eSports 2014 Summer Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Hexane", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "eSports 2014 Summer Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SSG 08 | Dark Water", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.10", + "maxWear": "0.26", + "case": "eSports 2014 Summer Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "XM1014 | Red Python", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.08", + "maxWear": "0.50", + "case": "eSports 2014 Summer Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Hyper Beast", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Aquamarine Revenge", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "SG 553 | Cyrex", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Nemesis", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "0.32", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Yellow Jacket", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Evil Daimyo", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.52", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Negev | Loudmouth", + "rarity": "Restricted Machine Gun", + "minWear": "0.14", + "maxWear": "0.65", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Handgun", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Neural Net", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Ruby Poison Dart", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Falchion Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Torque", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.46", + "case": "Falchion Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Rocket Pop", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Glock-18 | Bunsen Burner", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Falchion Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P90 | Elite Build", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Riot", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Falchion Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Ranger", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Falchion Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A4 | Howl", + "rarity": "Contraband Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "", + "lowestRarity": true, + "highestRarity": true + }, + { + "name": "USP-S | Orion", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Huntsman Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Curse", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Huntsman Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Poison Dart", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Huntsman Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Retribution", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.45", + "case": "The Huntsman Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Desert Warfare", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Huntsman Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Desert-Strike", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Vulcan", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "USP-S | Caiman", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Atomic Alloy", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Cyrex", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Tatter", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Torque", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Heaven Guard", + "rarity": "Restricted Shotgun", + "minWear": "0.03", + "maxWear": "0.50", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Antique", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Huntsman Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Module", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.35", + "case": "Huntsman Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Twist", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Huntsman Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P2000 | Pulse", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Huntsman Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Isaac", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Huntsman Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SSG 08 | Slashed", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.15", + "maxWear": "0.80", + "case": "Huntsman Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Kami", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Huntsman Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Fire Serpent", + "rarity": "Covert Rifle", + "minWear": "0.06", + "maxWear": "0.76", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Desert Eagle | Golden Koi", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.12", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P90 | Emerald Dragon", + "rarity": "Classified SMG", + "minWear": "0.06", + "maxWear": "0.52", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Ocean Foam", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.12", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Graphite", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.12", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Overgrowth", + "rarity": "Restricted Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Zirka", + "rarity": "Restricted Rifle", + "minWear": "0.06", + "maxWear": "0.42", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Graven", + "rarity": "Restricted SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Bright Water", + "rarity": "Restricted Rifle", + "minWear": "0.10", + "maxWear": "0.22", + "case": "Operation Bravo Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Shattered", + "rarity": "Mil-Spec Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "Operation Bravo Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Bone Pile", + "rarity": "Mil-Spec SMG", + "minWear": "0.06", + "maxWear": "0.34", + "case": "Operation Bravo Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Tempest", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.06", + "maxWear": "0.22", + "case": "Operation Bravo Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Black Limba", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "Operation Bravo Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SG 553 | Wave Spray", + "rarity": "Mil-Spec Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "Operation Bravo Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Demeter", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "Operation Bravo Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P90 | Asiimov", + "rarity": "Covert SMG", + "minWear": "0.00", + "maxWear": "0.92", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A1-S | Cyrex", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Glock-18 | Water Elemental", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Conspiracy", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.30", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Fowl Play", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Tigris", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Supernova", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Koi", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.30", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Osiris", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Breakout Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Abyss", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Breakout Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P2000 | Ivory", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Breakout Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Labyrinth", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Operation Breakout Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Urban Hazard", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Breakout Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Desert-Strike", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Breakout Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Oni Taiji", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Five-SeveN | Hyper Beast", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Hellfire", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Sugar Rush", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Cobra Strike", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Orbit Mk01", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Death's Head", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.51", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Death Grip", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Red Rock", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Woodsman", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Operation Hydra Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Blueprint", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.86", + "case": "Operation Hydra Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Briefing", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Operation Hydra Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Hard Water", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Operation Hydra Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Metal Flowers", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Operation Hydra Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Cut Out", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Hydra Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "FAMAS | Macabre", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Operation Hydra Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Aloha", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.65", + "case": "Operation Hydra Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Asiimov", + "rarity": "Covert Sniper Rifle", + "minWear": "0.18", + "maxWear": "1.00", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AUG | Chameleon", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Redline", + "rarity": "Classified Rifle", + "minWear": "0.10", + "maxWear": "0.70", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Antique", + "rarity": "Classified Shotgun", + "minWear": "0.00", + "maxWear": "0.30", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Trigon", + "rarity": "Classified SMG", + "minWear": "0.08", + "maxWear": "0.75", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Guardian", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.38", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Pulse", + "rarity": "Restricted Rifle", + "minWear": "0.10", + "maxWear": "0.60", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Heat", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Sergeant", + "rarity": "Restricted Rifle", + "minWear": "0.10", + "maxWear": "1.00", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Corporal", + "rarity": "Mil-Spec SMG", + "minWear": "0.05", + "maxWear": "0.75", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Sandstorm", + "rarity": "Mil-Spec Pistol", + "minWear": "0.10", + "maxWear": "0.70", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Heaven Guard", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Terrain", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Operation Phoenix Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Wasteland Rebel", + "rarity": "Covert Rifle", + "minWear": "0.05", + "maxWear": "0.70", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P2000 | Fire Elemental", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P250 | Cartel", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.75", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Tranquility", + "rarity": "Classified Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Cardiac", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Griffin", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Basilisk", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.68", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Grinder", + "rarity": "Restricted Pistol", + "minWear": "0.02", + "maxWear": "0.25", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Highwayman", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Firestarter", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.06", + "maxWear": "0.49", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Dart", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.46", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Delusion", + "rarity": "Mil-Spec SMG", + "minWear": "0.06", + "maxWear": "0.35", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Urban Hazard", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.25", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Murky", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.25", + "case": "Operation Vanguard Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Fuel Injector", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | The Battlestar", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.64", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Desert Eagle | Kumicho Dragon", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.76", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Hyper Beast", + "rarity": "Classified Shotgun", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Elite Build", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Royal Legion", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Valence", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Triumvirate", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.61", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Impire", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Praetorian", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.45", + "case": "Operation Wildfire Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Lead Conduit", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SSG 08 | Necropos", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Photic Zone", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Cartel", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Jambiya", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Operation Wildfire Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Lapis Gator", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Operation Wildfire Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A4 | Royal Paladin", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "R8 Revolver | Fade", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "G3SG1 | The Executioner", + "rarity": "Classified Sniper Rifle", + "minWear": "0.14", + "maxWear": "0.85", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Point Disarray", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.67", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Shapewood", + "rarity": "Classified SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Negev | Power Loader", + "rarity": "Restricted Machine Gun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Tiger Moth", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Retrobution", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Teclu Burner", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.65", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Avalanche", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Fuel Rod", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Revolver Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Corinthian", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.44", + "case": "Revolver Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "R8 Revolver | Crimson Web", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "Revolver Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Ricochet", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Revolver Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P2000 | Imperial", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "Revolver Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Yorick", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Revolver Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Outbreak", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Revolver Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "USP-S | Kill Confirmed", + "rarity": "Covert Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A1-S | Golden Coil", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Frontside Misty", + "rarity": "Classified Rifle", + "minWear": "0.02", + "maxWear": "0.87", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Flux", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Big Iron", + "rarity": "Classified Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.64", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Wingshot", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Stone Cold", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.90", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | Nebula Crusader", + "rarity": "Restricted Machine Gun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Special Delivery", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.62", + "case": "Shadow Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Wraiths", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Shadow Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Dualing Dragons", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Shadow Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "FAMAS | Survivor Z", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "Shadow Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Rangeen", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Shadow Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Cobalt Core", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Shadow Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Green Marine", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "Shadow Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "XM1014 | Scumbria", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Shadow Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A4 | Asiimov", + "rarity": "Covert Rifle", + "minWear": "0.18", + "maxWear": "1.00", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Sawed-Off | The Kraken", + "rarity": "Covert Shotgun", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Redline", + "rarity": "Classified Sniper Rifle", + "minWear": "0.10", + "maxWear": "0.40", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Mehndi", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Guardian", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Marina", + "rarity": "Restricted Pistol", + "minWear": "0.05", + "maxWear": "0.50", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Rose Iron", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.30", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Pulse", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Rising Skull", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "Winter Offensive Weapon Case", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Sandstorm", + "rarity": "Mil-Spec Rifle", + "minWear": "0.10", + "maxWear": "0.60", + "case": "Winter Offensive Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Cobalt Halftone", + "rarity": "Mil-Spec SMG", + "minWear": "0.05", + "maxWear": "0.45", + "case": "Winter Offensive Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Kami", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.30", + "case": "Winter Offensive Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M249 | Magma", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.00", + "maxWear": "0.70", + "case": "Winter Offensive Weapon Case", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP5-SD | Lab Rats", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.35", + "case": "The Blacksite Collection", + "lowestRarity": true, + "highestRarity": true + }, + { + "name": "SG 553 | Integrale", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Dual Berettas | Twin Turbo", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Safety Net", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Fade", + "rarity": "Restricted SMG", + "minWear": "0.00", + "maxWear": "0.25", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Vino Primo", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Converter", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Check Engine", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Hand Brake", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Brake Light", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | High Beam", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "R8 Revolver | Nitro", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Calf Skin", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Candy Apple", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The 2018 Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP5-SD | Dirt Drop", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The 2018 Inferno Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Slide", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The 2018 Inferno Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Sweeper", + "rarity": "Consumer Grade Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The 2018 Inferno Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Mudder", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The 2018 Inferno Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Rust Coat", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Inferno Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Control Panel", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Tec-9 | Remote Control", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Glock-18 | Nuclear Garden", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Random Access", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Core Breach", + "rarity": "Restricted Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Acheron", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.83", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP5-SD | Co-Processor", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Facility Negative", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Exchanger", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Mainframe", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Cold Fusion", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.83", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Negev | Bulkhead", + "rarity": "Industrial Grade Machine Gun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Motherboard", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Facility Draft", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Coolant", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Facility Dark", + "rarity": "Consumer Grade SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Facility Sketch", + "rarity": "Consumer Grade SMG", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Mandrel", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The 2018 Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "FAMAS | Spitfire", + "rarity": "Restricted Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "SCAR-20 | Emerald", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MAG-7 | Hazard", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Anodized Navy", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Rust Coat", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Facets", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Sand Dune", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Mayan Dreams", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Negev | Palm", + "rarity": "Industrial Grade Machine Gun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Mosaico", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Dry Season", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M249 | Jungle DDPAT", + "rarity": "Consumer Grade Machine Gun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Tornado", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Groundwater", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "XM1014 | Jungle", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Alpha Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Anodized Gunmetal", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Alpha Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Glock-18 | Fade", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Assault Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MP9 | Bulldozer", + "rarity": "Restricted SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Assault Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AUG | Hot Rod", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Assault Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Negev | Anodized Navy", + "rarity": "Mil-Spec Machine Gun", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Assault Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Candy Apple", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Assault Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Caramel", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Assault Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Tornado", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Assault Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Ossified", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Aztec Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Jungle Tiger", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Aztec Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Jungle Spray", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Aztec Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Lichen Dashed", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Aztec Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Jungle", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Aztec Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Forest Leaves", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Aztec Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Jet Set", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Desert Eagle | Pilot", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | First Class", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | First Class", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Business Class", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Red Leather", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.56", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Traveler", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Commuter", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Leather", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Coach Class", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Baggage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Sand Dune", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Baggage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Olive Plaid", + "rarity": "Consumer Grade SMG", + "minWear": "0.00", + "maxWear": "0.58", + "case": "The Baggage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Contractor", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Baggage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Green Plaid", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.58", + "case": "The Baggage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Green Plaid", + "rarity": "Consumer Grade SMG", + "minWear": "0.00", + "maxWear": "0.58", + "case": "The Baggage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Franklin", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Emerald Pinstripe", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Meteorite", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.18", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Tuxedo", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Tuxedo", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Silver", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Death Rattle", + "rarity": "Industrial Grade Pistol", + "minWear": "0.08", + "maxWear": "0.50", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Carbon Fiber", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.12", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Green Apple", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Caged Steel", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.20", + "case": "The Bank Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "R8 Revolver | Bone Mask", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Bank Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Urban DDPAT", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Bank Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Forest DDPAT", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Bank Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Forest DDPAT", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Bank Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Army Sheen", + "rarity": "Consumer Grade Machine Gun", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Bank Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SG 553 | Army Sheen", + "rarity": "Consumer Grade Rifle", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Bank Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Cerberus", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.90", + "case": "The Cache Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "FAMAS | Styx", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Cache Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Glock-18 | Reactor", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Cache Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Setting Sun", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Cache Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Toxic", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Cache Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Nuclear Garden", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Cache Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Bone Machine", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Cache Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Radiation Hazard", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "The Cache Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SG 553 | Fallout Warning", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Cache Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Hot Shot", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Cache Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Contamination", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.83", + "case": "The Cache Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Chemical Green", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.90", + "case": "The Cache Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Negev | Nuclear Waste", + "rarity": "Industrial Grade Machine Gun", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Cache Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Hot Rod", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Glock-18 | Twilight Galaxy", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.20", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "SG 553 | Bulldozer", + "rarity": "Restricted Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Duelist", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Whiteout", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Fade", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Emerald", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Nitro", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Full Stop", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Night", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Para Green", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Urban Rubble", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Chop Shop Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | Impact Drill", + "rarity": "Consumer Grade Machine Gun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Chop Shop Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Seabird", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Chop Shop Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Army Sheen", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Chop Shop Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Army Sheen", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Chop Shop Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Dragon Lore", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A1-S | Knight", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.10", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Hand Cannon", + "rarity": "Restricted Pistol", + "minWear": "0.01", + "maxWear": "0.70", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Chalice", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.10", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Dark Age", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.22", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Chainmail", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.22", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Royal Blue", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Silver", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Green Apple", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Rust Coat", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Cobblestone Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Indigo", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Cobblestone Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Indigo", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Cobblestone Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P90 | Storm", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Cobblestone Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Storm", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Cobblestone Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Briar", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.22", + "case": "The Cobblestone Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Desert Eagle | Blaze", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Dust Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Glock-18 | Brass", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Dust Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P2000 | Scorpion", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Dust Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Snake Camo", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Copper", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Dust Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Copperhead", + "rarity": "Mil-Spec Rifle", + "minWear": "0.12", + "maxWear": "0.38", + "case": "The Dust Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Desert Storm", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AK-47 | Predator", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Palm", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "R8 Revolver | Amber Fade", + "rarity": "Classified Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P2000 | Amber Fade", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Damascus Steel", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | VariCamo", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Brass", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AK-47 | Safari Mesh", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Orange Peel", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Palm", + "rarity": "Industrial Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Snake Camo", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | VariCamo", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Dust 2 Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Sand Dune", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Desert Storm", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP9 | Sand Dashed", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P90 | Sand Spray", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Predator", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Sand Mesh", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Dust 2 Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Medusa", + "rarity": "Covert Sniper Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Poseidon", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.33", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Chronos", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Icarus Fell", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.10", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Minotaur's Labyrinth", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.39", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Pandora's Box", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Sun in Leo", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Pathfinder", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.35", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Hades", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | Shipping Forecast", + "rarity": "Industrial Grade Machine Gun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Gods and Monsters Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Moon in Libra", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Gods and Monsters Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Moon in Libra", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Gods and Monsters Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Daedalus", + "rarity": "Consumer Grade Rifle", + "minWear": "0.00", + "maxWear": "0.55", + "case": "The Gods and Monsters Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Asterion", + "rarity": "Consumer Grade SMG", + "minWear": "0.00", + "maxWear": "0.55", + "case": "The Gods and Monsters Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Brass", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Inferno Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Dual Berettas | Anodized Navy", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Inferno Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Tornado", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Gunsmoke", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Inferno Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Walnut", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Inferno Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Sand Dune", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Inferno Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AWP | Pit Viper", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.08", + "maxWear": "0.50", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "MP7 | Anodized Navy", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Full Stop", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Candy Apple", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Candy Apple", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A1-S | Boreal Forest", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | CaliCamo", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Gunsmoke", + "rarity": "Industrial Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Dual Berettas | Stained", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Granite Marbleized", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Colony", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Contractor", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Sand Dashed", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Sand Dune", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Groundwater", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Italy Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Cobalt Quartz", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "USP-S | Night Ops", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Teardown", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Anodized Navy", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AWP | Safari Mesh", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Mudder", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Night Ops", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Blue Steel", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Cyanospatter", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Jungle Dashed", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Sage Spray", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Storm", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SG 553 | Waves Perforated", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Boreal Forest", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "XM1014 | Blue Spruce", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Lake Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SCAR-20 | Splash Jam", + "rarity": "Classified Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Modern Hunter", + "rarity": "Restricted Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Modern Hunter", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Modern Hunter", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Nova | Blaze Orange", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Modern Hunter", + "rarity": "Mil-Spec SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Blaze Orange", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Grassland Leaves", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Tornado", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "XM1014 | Grassland", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Forest Leaves", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Militia Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Bulldozer", + "rarity": "Restricted Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "UMP-45 | Blaze", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Hot Rod", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Amber Fade", + "rarity": "Mil-Spec SMG", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Groundwater", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Tropical Storm", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Orange Peel", + "rarity": "Industrial Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SG 553 | Gator Mesh", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Negev | CaliCamo", + "rarity": "Industrial Grade Machine Gun", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Mirage Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Safari Mesh", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P90 | Scorched", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Contractor", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Colony", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "P250 | Bone Mask", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Mirage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Galil AR | Hunting Blind", + "rarity": "Consumer Grade Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Mirage Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Nuclear Threat", + "rarity": "Restricted Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P250 | Nuclear Threat", + "rarity": "Restricted Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "M4A4 | Radiation Hazard", + "rarity": "Mil-Spec Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Fallout Warning", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "UMP-45 | Fallout Warning", + "rarity": "Industrial Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Fallout Warning", + "rarity": "Industrial Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Irradiated Alert", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Irradiated Alert", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Irradiated Alert", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Nuke Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Whiteout", + "rarity": "Mil-Spec SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Office Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "P2000 | Silver", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Office Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "G3SG1 | Arctic Camo", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Office Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | Blizzard Marbleized", + "rarity": "Industrial Grade Machine Gun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Office Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Winter Forest", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Office Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Contrast Spray", + "rarity": "Consumer Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Office Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Master Piece", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AWP | Pink DDPAT", + "rarity": "Restricted Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Road Rash", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "CZ75-Auto | Nitro", + "rarity": "Mil-Spec Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SSG 08 | Detour", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.43", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | VariCamo Blue", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Glock-18 | Night", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Urban DDPAT", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP7 | Gunsmoke", + "rarity": "Industrial Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P2000 | Grassland", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Storm", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Scorched", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M249 | Contrast Spray", + "rarity": "Consumer Grade Machine Gun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAG-7 | Storm", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Sage Spray", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Overpass Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "AUG | Akihabara Accept", + "rarity": "Covert Rifle", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Hydroponic", + "rarity": "Classified Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Sunset Storm 弐", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.75", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Sunset Storm 壱", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.75", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Neon Kimono", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Daybreak", + "rarity": "Restricted Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Tec-9 | Terrace", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "1.00", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Counter Terrace", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.65", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | Aqua Terrace", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.70", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Desert Eagle | Midnight Storm", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.75", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Crimson Kimono", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Rising Sun Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Mint Kimono", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Rising Sun Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "G3SG1 | Orange Kimono", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Rising Sun Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Bamboo Forest", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Rising Sun Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Bamboo Print", + "rarity": "Consumer Grade SMG", + "minWear": "0.00", + "maxWear": "0.80", + "case": "The Rising Sun Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Sawed-Off | Bamboo Shadow", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Rising Sun Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "M4A1-S | Nitro", + "rarity": "Restricted Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "SSG 08 | Acid Fade", + "rarity": "Mil-Spec Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.03", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "FAMAS | Teardown", + "rarity": "Mil-Spec Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Five-SeveN | Silver Quartz", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M249 | Gator Mesh", + "rarity": "Industrial Grade Machine Gun", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "USP-S | Forest Leaves", + "rarity": "Industrial Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "AUG | Condemned", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Galil AR | VariCamo", + "rarity": "Industrial Grade Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | VariCamo", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MP9 | Orange Peel", + "rarity": "Industrial Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Contractor", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Contractor", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "SSG 08 | Blue Spruce", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Army Mesh", + "rarity": "Consumer Grade Pistol", + "minWear": "0.00", + "maxWear": "0.60", + "case": "The Safehouse Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MP7 | Army Recon", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Safehouse Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Tec-9 | Red Quartz", + "rarity": "Restricted Pistol", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "Desert Eagle | Urban Rubble", + "rarity": "Mil-Spec Pistol", + "minWear": "0.00", + "maxWear": "0.50", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "Sawed-Off | Amber Fade", + "rarity": "Mil-Spec Shotgun", + "minWear": "0.00", + "maxWear": "0.40", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "M4A4 | Urban DDPAT", + "rarity": "Industrial Grade Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P250 | Metallic DDPAT", + "rarity": "Industrial Grade Pistol", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAC-10 | Candy Apple", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.30", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "SCAR-20 | Carbon Fiber", + "rarity": "Industrial Grade Sniper Rifle", + "minWear": "0.00", + "maxWear": "0.12", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "MAG-7 | Metallic DDPAT", + "rarity": "Industrial Grade Shotgun", + "minWear": "0.00", + "maxWear": "0.08", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Ash Wood", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.45", + "case": "The Train Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "G3SG1 | Polar Camo", + "rarity": "Consumer Grade Sniper Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Train Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "UMP-45 | Urban DDPAT", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Train Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Five-SeveN | Forest Night", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Train Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Colony", + "rarity": "Consumer Grade Pistol", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Train Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Nova | Polar Mesh", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Train Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "PP-Bizon | Urban Dashed", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Train Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "Dual Berettas | Demolition", + "rarity": "Restricted Pistol", + "minWear": "0.26", + "maxWear": "0.60", + "case": "The Vertigo Collection", + "lowestRarity": false, + "highestRarity": true + }, + { + "name": "AK-47 | Black Laminate", + "rarity": "Mil-Spec Rifle", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Vertigo Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "P90 | Glacier Mesh", + "rarity": "Mil-Spec SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Vertigo Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "PP-Bizon | Carbon Fiber", + "rarity": "Industrial Grade SMG", + "minWear": "0.00", + "maxWear": "0.12", + "case": "The Vertigo Collection", + "lowestRarity": false, + "highestRarity": false + }, + { + "name": "XM1014 | Urban Perforated", + "rarity": "Consumer Grade Shotgun", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Vertigo Collection", + "lowestRarity": true, + "highestRarity": false + }, + { + "name": "MAC-10 | Urban DDPAT", + "rarity": "Consumer Grade SMG", + "minWear": "0.06", + "maxWear": "0.80", + "case": "The Vertigo Collection", + "lowestRarity": true, + "highestRarity": false + } +] diff --git a/FloatToolGUI/mutedBlack.png b/FloatToolGUI/Resources/mutedBlack.png similarity index 100% rename from FloatToolGUI/mutedBlack.png rename to FloatToolGUI/Resources/mutedBlack.png diff --git a/FloatToolGUI/mutedWhite.png b/FloatToolGUI/Resources/mutedWhite.png similarity index 100% rename from FloatToolGUI/mutedWhite.png rename to FloatToolGUI/Resources/mutedWhite.png diff --git a/FloatToolGUI/Resources/strings.Designer.cs b/FloatToolGUI/Resources/strings.Designer.cs new file mode 100644 index 0000000..3588872 --- /dev/null +++ b/FloatToolGUI/Resources/strings.Designer.cs @@ -0,0 +1,99 @@ +//------------------------------------------------------------------------------ +// +// Этот код создан программой. +// Исполняемая версия:4.0.30319.42000 +// +// Изменения в этом файле могут привести к неправильной работе и будут потеряны в случае +// повторной генерации кода. +// +//------------------------------------------------------------------------------ + +namespace FloatToolGUI.Resources { + using System; + + + /// + /// Класс ресурса со строгой типизацией для поиска локализованных строк и т.д. + /// + // Этот класс создан автоматически классом StronglyTypedResourceBuilder + // с помощью такого средства, как ResGen или Visual Studio. + // Чтобы добавить или удалить член, измените файл .ResX и снова запустите ResGen + // с параметром /str или перестройте свой проект VS. + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")] + [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + public class strings { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal strings() { + } + + /// + /// Возвращает кэшированный экземпляр ResourceManager, использованный этим классом. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Resources.ResourceManager ResourceManager { + get { + if (object.ReferenceEquals(resourceMan, null)) { + global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("FloatToolGUI.Resources.strings", typeof(strings).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Перезаписывает свойство CurrentUICulture текущего потока для всех + /// обращений к ресурсу с помощью этого класса ресурса со строгой типизацией. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + public static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Ищет локализованную строку, похожую на Коомбинация найдена!. + /// + public static string CombinationFound { + get { + return ResourceManager.GetString("CombinationFound", resourceCulture); + } + } + + /// + /// Ищет локализованную строку, похожую на Список флоатов. + /// + public static string FloatList { + get { + return ResourceManager.GetString("FloatList", resourceCulture); + } + } + + /// + /// Ищет локализованную строку, похожую на Возможный флоат. + /// + public static string PossibleFloat { + get { + return ResourceManager.GetString("PossibleFloat", resourceCulture); + } + } + + /// + /// Ищет локализованную строку, похожую на Проверочный флоат. + /// + public static string TestFloat { + get { + return ResourceManager.GetString("TestFloat", resourceCulture); + } + } + } +} diff --git a/FloatToolGUI/CustomProgressBar.resx b/FloatToolGUI/Resources/strings.en.resx similarity index 93% rename from FloatToolGUI/CustomProgressBar.resx rename to FloatToolGUI/Resources/strings.en.resx index 1af7de1..4f6623e 100644 --- a/FloatToolGUI/CustomProgressBar.resx +++ b/FloatToolGUI/Resources/strings.en.resx @@ -117,4 +117,16 @@ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + Combination found! + + + Float list + + + Possible float + + + Test float + \ No newline at end of file diff --git a/FloatToolGUI/Resources/strings.resx b/FloatToolGUI/Resources/strings.resx new file mode 100644 index 0000000..bab157a --- /dev/null +++ b/FloatToolGUI/Resources/strings.resx @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + Коомбинация найдена! + + + Список флоатов + + + Возможный флоат + + + Проверочный флоат + + \ No newline at end of file diff --git a/FloatToolGUI/unmutedBlack.png b/FloatToolGUI/Resources/unmutedBlack.png similarity index 100% rename from FloatToolGUI/unmutedBlack.png rename to FloatToolGUI/Resources/unmutedBlack.png diff --git a/FloatToolGUI/unmutedWhite.png b/FloatToolGUI/Resources/unmutedWhite.png similarity index 100% rename from FloatToolGUI/unmutedWhite.png rename to FloatToolGUI/Resources/unmutedWhite.png diff --git a/FloatToolGUI/SettingsForm.Designer.cs b/FloatToolGUI/SettingsForm.Designer.cs new file mode 100644 index 0000000..c3142b2 --- /dev/null +++ b/FloatToolGUI/SettingsForm.Designer.cs @@ -0,0 +1,281 @@ +namespace FloatToolGUI +{ + partial class SettingsForm + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(SettingsForm)); + this.panel3 = new System.Windows.Forms.Panel(); + this.closeBtn = new System.Windows.Forms.Button(); + this.label8 = new System.Windows.Forms.Label(); + this.label1 = new System.Windows.Forms.Label(); + this.label2 = new System.Windows.Forms.Label(); + this.label3 = new System.Windows.Forms.Label(); + this.saveChangesBtn = new System.Windows.Forms.Button(); + this.resetChangesBtn = new System.Windows.Forms.Button(); + this.bufferSpeedNUP = new System.Windows.Forms.NumericUpDown(); + this.label4 = new System.Windows.Forms.Label(); + this.checkUpdatesToggle = new FloatToolGUI.CustomControls.CustomToggleSwitch(); + this.soundToggle = new FloatToolGUI.CustomControls.CustomToggleSwitch(); + this.darkModeToggle = new FloatToolGUI.CustomControls.CustomToggleSwitch(); + this.panel3.SuspendLayout(); + ((System.ComponentModel.ISupportInitialize)(this.bufferSpeedNUP)).BeginInit(); + this.SuspendLayout(); + // + // panel3 + // + this.panel3.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(37)))), ((int)(((byte)(37)))), ((int)(((byte)(37))))); + this.panel3.Controls.Add(this.closeBtn); + this.panel3.Controls.Add(this.label8); + this.panel3.Dock = System.Windows.Forms.DockStyle.Top; + this.panel3.Location = new System.Drawing.Point(0, 0); + this.panel3.Name = "panel3"; + this.panel3.Size = new System.Drawing.Size(390, 40); + this.panel3.TabIndex = 1; + this.panel3.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DragWindowMouseDown); + // + // closeBtn + // + this.closeBtn.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.closeBtn.BackColor = System.Drawing.Color.Transparent; + this.closeBtn.FlatAppearance.BorderSize = 0; + this.closeBtn.FlatAppearance.MouseDownBackColor = System.Drawing.Color.FromArgb(((int)(((byte)(50)))), ((int)(((byte)(50)))), ((int)(((byte)(50))))); + this.closeBtn.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Black; + this.closeBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.closeBtn.Font = new System.Drawing.Font("Microsoft JhengHei Light", 16F); + this.closeBtn.ForeColor = System.Drawing.Color.White; + this.closeBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.closeBtn.Location = new System.Drawing.Point(350, 0); + this.closeBtn.Name = "closeBtn"; + this.closeBtn.Size = new System.Drawing.Size(40, 40); + this.closeBtn.TabIndex = 3; + this.closeBtn.Text = "X"; + this.closeBtn.UseVisualStyleBackColor = false; + this.closeBtn.Click += new System.EventHandler(this.CloseForm); + // + // label8 + // + this.label8.AutoSize = true; + this.label8.BackColor = System.Drawing.Color.Transparent; + this.label8.Font = new System.Drawing.Font("Microsoft JhengHei Light", 22F); + this.label8.ForeColor = System.Drawing.Color.White; + this.label8.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.label8.Location = new System.Drawing.Point(1, 0); + this.label8.Name = "label8"; + this.label8.Size = new System.Drawing.Size(167, 38); + this.label8.TabIndex = 0; + this.label8.Text = "Настройки"; + this.label8.MouseDown += new System.Windows.Forms.MouseEventHandler(this.DragWindowMouseDown); + // + // label1 + // + this.label1.AutoSize = true; + this.label1.Font = new System.Drawing.Font("Microsoft JhengHei Light", 14F); + this.label1.ForeColor = System.Drawing.Color.White; + this.label1.Location = new System.Drawing.Point(75, 52); + this.label1.Name = "label1"; + this.label1.Size = new System.Drawing.Size(122, 24); + this.label1.TabIndex = 3; + this.label1.Text = "Тёмная тема"; + // + // label2 + // + this.label2.AutoSize = true; + this.label2.Font = new System.Drawing.Font("Microsoft JhengHei Light", 14F); + this.label2.ForeColor = System.Drawing.Color.White; + this.label2.Location = new System.Drawing.Point(75, 95); + this.label2.Name = "label2"; + this.label2.Size = new System.Drawing.Size(205, 24); + this.label2.TabIndex = 3; + this.label2.Text = "Звук при нахождении"; + // + // label3 + // + this.label3.AutoSize = true; + this.label3.Font = new System.Drawing.Font("Microsoft JhengHei Light", 14F); + this.label3.ForeColor = System.Drawing.Color.White; + this.label3.Location = new System.Drawing.Point(75, 137); + this.label3.Name = "label3"; + this.label3.Size = new System.Drawing.Size(214, 24); + this.label3.TabIndex = 3; + this.label3.Text = "Проверка обновлений"; + // + // saveChangesBtn + // + this.saveChangesBtn.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.saveChangesBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.saveChangesBtn.Enabled = false; + this.saveChangesBtn.FlatAppearance.BorderSize = 0; + this.saveChangesBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.saveChangesBtn.Font = new System.Drawing.Font("Microsoft JhengHei Light", 14F); + this.saveChangesBtn.ForeColor = System.Drawing.Color.White; + this.saveChangesBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.saveChangesBtn.Location = new System.Drawing.Point(8, 250); + this.saveChangesBtn.Name = "saveChangesBtn"; + this.saveChangesBtn.Size = new System.Drawing.Size(185, 32); + this.saveChangesBtn.TabIndex = 4; + this.saveChangesBtn.Text = "Применить"; + this.saveChangesBtn.UseVisualStyleBackColor = false; + this.saveChangesBtn.Click += new System.EventHandler(this.saveChangesBtn_Click); + // + // resetChangesBtn + // + this.resetChangesBtn.Anchor = System.Windows.Forms.AnchorStyles.Bottom; + this.resetChangesBtn.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.resetChangesBtn.FlatAppearance.BorderSize = 0; + this.resetChangesBtn.FlatStyle = System.Windows.Forms.FlatStyle.Flat; + this.resetChangesBtn.Font = new System.Drawing.Font("Microsoft JhengHei Light", 14F); + this.resetChangesBtn.ForeColor = System.Drawing.Color.White; + this.resetChangesBtn.ImeMode = System.Windows.Forms.ImeMode.NoControl; + this.resetChangesBtn.Location = new System.Drawing.Point(199, 250); + this.resetChangesBtn.Name = "resetChangesBtn"; + this.resetChangesBtn.Size = new System.Drawing.Size(185, 32); + this.resetChangesBtn.TabIndex = 4; + this.resetChangesBtn.Text = "Отмена"; + this.resetChangesBtn.UseVisualStyleBackColor = false; + this.resetChangesBtn.Click += new System.EventHandler(this.resetChangesBtn_Click); + // + // bufferSpeedNUP + // + this.bufferSpeedNUP.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(24)))), ((int)(((byte)(24)))), ((int)(((byte)(24))))); + this.bufferSpeedNUP.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle; + this.bufferSpeedNUP.Font = new System.Drawing.Font("Microsoft JhengHei Light", 14F); + this.bufferSpeedNUP.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(150)))), ((int)(((byte)(150)))), ((int)(((byte)(150))))); + this.bufferSpeedNUP.Location = new System.Drawing.Point(12, 207); + this.bufferSpeedNUP.Maximum = new decimal(new int[] { + 5000, + 0, + 0, + 0}); + this.bufferSpeedNUP.Minimum = new decimal(new int[] { + 100, + 0, + 0, + 0}); + this.bufferSpeedNUP.Name = "bufferSpeedNUP"; + this.bufferSpeedNUP.Size = new System.Drawing.Size(366, 32); + this.bufferSpeedNUP.TabIndex = 5; + this.bufferSpeedNUP.Value = new decimal(new int[] { + 250, + 0, + 0, + 0}); + this.bufferSpeedNUP.ValueChanged += new System.EventHandler(this.bufferSpeedNUP_ValueChanged); + // + // label4 + // + this.label4.AutoSize = true; + this.label4.Font = new System.Drawing.Font("Microsoft JhengHei Light", 14F); + this.label4.ForeColor = System.Drawing.Color.White; + this.label4.Location = new System.Drawing.Point(8, 180); + this.label4.Name = "label4"; + this.label4.Size = new System.Drawing.Size(320, 24); + this.label4.TabIndex = 3; + this.label4.Text = "Скорость обновления буфера (мс)"; + // + // checkUpdatesToggle + // + this.checkUpdatesToggle.Checked = true; + this.checkUpdatesToggle.ForeColor = System.Drawing.Color.White; + this.checkUpdatesToggle.Location = new System.Drawing.Point(8, 131); + this.checkUpdatesToggle.Name = "checkUpdatesToggle"; + this.checkUpdatesToggle.Size = new System.Drawing.Size(64, 36); + this.checkUpdatesToggle.TabIndex = 2; + this.checkUpdatesToggle.TurnedOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.checkUpdatesToggle.TurnedOnColor = System.Drawing.Color.Green; + this.checkUpdatesToggle.OnToggled += new System.EventHandler(this.checkUpdatesToggle_OnToggled); + // + // soundToggle + // + this.soundToggle.Checked = true; + this.soundToggle.ForeColor = System.Drawing.Color.White; + this.soundToggle.Location = new System.Drawing.Point(8, 89); + this.soundToggle.Name = "soundToggle"; + this.soundToggle.Size = new System.Drawing.Size(64, 36); + this.soundToggle.TabIndex = 2; + this.soundToggle.TurnedOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.soundToggle.TurnedOnColor = System.Drawing.Color.Green; + this.soundToggle.OnToggled += new System.EventHandler(this.soundToggle_OnToggled); + // + // darkModeToggle + // + this.darkModeToggle.Checked = true; + this.darkModeToggle.ForeColor = System.Drawing.Color.White; + this.darkModeToggle.Location = new System.Drawing.Point(8, 46); + this.darkModeToggle.Name = "darkModeToggle"; + this.darkModeToggle.Size = new System.Drawing.Size(64, 36); + this.darkModeToggle.TabIndex = 2; + this.darkModeToggle.TurnedOffColor = System.Drawing.Color.FromArgb(((int)(((byte)(56)))), ((int)(((byte)(56)))), ((int)(((byte)(56))))); + this.darkModeToggle.TurnedOnColor = System.Drawing.Color.Green; + this.darkModeToggle.OnToggled += new System.EventHandler(this.darkModeToggle_OnToggled); + // + // SettingsForm + // + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None; + this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(31)))), ((int)(((byte)(31)))), ((int)(((byte)(31))))); + this.ClientSize = new System.Drawing.Size(390, 294); + this.Controls.Add(this.bufferSpeedNUP); + this.Controls.Add(this.resetChangesBtn); + this.Controls.Add(this.saveChangesBtn); + this.Controls.Add(this.label4); + this.Controls.Add(this.label3); + this.Controls.Add(this.label2); + this.Controls.Add(this.checkUpdatesToggle); + this.Controls.Add(this.soundToggle); + this.Controls.Add(this.label1); + this.Controls.Add(this.darkModeToggle); + this.Controls.Add(this.panel3); + this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None; + this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon"))); + this.Name = "SettingsForm"; + this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; + this.Text = "Настройки"; + this.panel3.ResumeLayout(false); + this.panel3.PerformLayout(); + ((System.ComponentModel.ISupportInitialize)(this.bufferSpeedNUP)).EndInit(); + this.ResumeLayout(false); + this.PerformLayout(); + + } + + #endregion + + private System.Windows.Forms.Panel panel3; + private System.Windows.Forms.Label label8; + private System.Windows.Forms.Button closeBtn; + private CustomControls.CustomToggleSwitch darkModeToggle; + private System.Windows.Forms.Label label1; + private CustomControls.CustomToggleSwitch soundToggle; + private System.Windows.Forms.Label label2; + private CustomControls.CustomToggleSwitch checkUpdatesToggle; + private System.Windows.Forms.Label label3; + private System.Windows.Forms.Button saveChangesBtn; + private System.Windows.Forms.Button resetChangesBtn; + private System.Windows.Forms.NumericUpDown bufferSpeedNUP; + private System.Windows.Forms.Label label4; + } +} \ No newline at end of file diff --git a/FloatToolGUI/SettingsForm.cs b/FloatToolGUI/SettingsForm.cs new file mode 100644 index 0000000..4ea3f70 --- /dev/null +++ b/FloatToolGUI/SettingsForm.cs @@ -0,0 +1,128 @@ +using Microsoft.Win32; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Data; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace FloatToolGUI +{ + public partial class SettingsForm : Form + { + RegistryKey registryData; + + public SettingsForm() + { + InitializeComponent(); + registryData = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\FloatTool"); + if (registryData == null) + { + registryData = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\FloatTool"); + registryData.SetValue("darkMode", true); + registryData.SetValue("sound", true); + registryData.SetValue("updateCheck", true); + registryData.SetValue("bufferSpeed", 250); + registryData.Close(); + } + else + { + darkModeToggle.Checked = Convert.ToBoolean(registryData.GetValue("darkMode")); + soundToggle.Checked = Convert.ToBoolean(registryData.GetValue("sound")); + checkUpdatesToggle.Checked = Convert.ToBoolean(registryData.GetValue("updateCheck")); + bufferSpeedNUP.Value = (int)registryData.GetValue("bufferSpeed"); + } + } + + private void CloseForm(object sender, EventArgs e) + { + Close(); + } + + public const int WM_NCLBUTTONDOWN = 0xA1; + public const int HT_CAPTION = 0x2; + + [System.Runtime.InteropServices.DllImport("user32.dll")] + public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); + [System.Runtime.InteropServices.DllImport("user32.dll")] + public static extern bool ReleaseCapture(); + + + private void DragWindowMouseDown(object sender, MouseEventArgs e) + { + if (e.Button == MouseButtons.Left) + { + ReleaseCapture(); + SendMessage(Handle, WM_NCLBUTTONDOWN, HT_CAPTION, 0); + } + } + + private void darkModeToggle_OnToggled(object sender, EventArgs e) + { + saveChangesBtn.Enabled = true; + } + + private void soundToggle_OnToggled(object sender, EventArgs e) + { + saveChangesBtn.Enabled = true; + } + + private void checkUpdatesToggle_OnToggled(object sender, EventArgs e) + { + saveChangesBtn.Enabled = true; + } + + private void bufferSpeedNUP_ValueChanged(object sender, EventArgs e) + { + saveChangesBtn.Enabled = true; + } + + private void saveChangesBtn_Click(object sender, EventArgs e) + { + registryData = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\FloatTool", true); + if (registryData == null) + { + registryData = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\FloatTool"); + registryData.SetValue("darkMode", darkModeToggle.Checked); + registryData.SetValue("sound", soundToggle.Checked); + registryData.SetValue("updateCheck", checkUpdatesToggle.Checked); + registryData.SetValue("bufferSpeed", bufferSpeedNUP.Value); + registryData.Close(); + } + else + { + registryData.SetValue("darkMode", darkModeToggle.Checked); + registryData.SetValue("sound", soundToggle.Checked); + registryData.SetValue("updateCheck", checkUpdatesToggle.Checked); + registryData.SetValue("bufferSpeed", (int)bufferSpeedNUP.Value); + registryData.Close(); + } + saveChangesBtn.Enabled = false; + } + + private void resetChangesBtn_Click(object sender, EventArgs e) + { + registryData = Registry.CurrentUser.OpenSubKey(@"SOFTWARE\FloatTool"); + if (registryData == null) + { + registryData = Registry.CurrentUser.CreateSubKey(@"SOFTWARE\FloatTool"); + registryData.SetValue("darkMode", true); + registryData.SetValue("sound", true); + registryData.SetValue("updateCheck", true); + registryData.SetValue("bufferSpeed", 250); + registryData.Close(); + } + else + { + darkModeToggle.Checked = Convert.ToBoolean(registryData.GetValue("darkMode")); + soundToggle.Checked = Convert.ToBoolean(registryData.GetValue("sound")); + checkUpdatesToggle.Checked = Convert.ToBoolean(registryData.GetValue("updateCheck")); + bufferSpeedNUP.Value = (int)registryData.GetValue("bufferSpeed"); + } + saveChangesBtn.Enabled = false; + } + } +} diff --git a/FloatToolGUI/SettingsForm.resx b/FloatToolGUI/SettingsForm.resx new file mode 100644 index 0000000..d6bb1e0 --- /dev/null +++ b/FloatToolGUI/SettingsForm.resx @@ -0,0 +1,367 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + + 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 + + + \ No newline at end of file diff --git a/FloatToolGUI/Utils.cs b/FloatToolGUI/Utils.cs new file mode 100644 index 0000000..c0473dd --- /dev/null +++ b/FloatToolGUI/Utils.cs @@ -0,0 +1,29 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using Newtonsoft.Json; + +namespace FloatToolGUI +{ + class Utils + { + public static string CheckUpdates() + { + using (var client = new HttpClient()) + { + client.DefaultRequestHeaders.Add("User-Agent", + "Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)"); + using (var response = client.GetAsync("https://api.github.com/repos/nemeshio/FloatTool-GUI/releases/latest").Result) + { + var json = response.Content.ReadAsStringAsync().Result; + + dynamic release = JsonConvert.DeserializeObject(json); + return release["tag_name"]; + } + } + } + } +}