AdvancedLogParser.ServerView.ServerView_Paint C# (CSharp) Method

ServerView_Paint() private method

private ServerView_Paint ( object Sender, PaintEventArgs e ) : void
Sender object
e PaintEventArgs
return void
        private void ServerView_Paint(object Sender, PaintEventArgs e)
        {
            int lawfulGood = 0;
            float lawfulGoodTime = 0.0f;
            int neutralGood = 0;
            float neutralGoodTime = 0.0f;
            int chaoticGood = 0;
            float chaoticGoodTime = 0.0f;
            int lawfulNeutral = 0;
            float lawfulNeutralTime = 0.0f;
            int trueNeutral = 0;
            float trueNeutralTime = 0.0f;
            int chaoticNeutral = 0;
            float chaoticNeutralTime = 0.0f;
            int lawfulEvil = 0;
            float lawfulEvilTime = 0.0f;
            int neutralEvil = 0;
            float neutralEvilTime = 0.0f;
            int chaoticEvil = 0;
            float chaoticEvilTime = 0.0f;

            float totalTime = 0.0f;

            int veryPoor = 0;
            int poor = 0;
            int target = 0;
            int rich = 0;
            int veryRich = 0;
            int cutoffRich = 0;

            int dmed = 0;
            int unDMed = 0;

            if (pieType <= 2)
            {
                foreach (Character ch in savedServer.RecentCharacters)
                {
                    switch (ch.Alignment)
                    {
                        case Alignment.LawfulGood:
                            lawfulGood++;
                            lawfulGoodTime += ch.DMTime;
                            break;
                        case Alignment.NeutralGood:
                            neutralGood++;
                            neutralGoodTime += ch.DMTime;
                            break;
                        case Alignment.ChaoticGood:
                            chaoticGood++;
                            chaoticGoodTime += ch.DMTime;
                            break;
                        case Alignment.LawfulNeutral:
                            lawfulNeutral++;
                            lawfulNeutralTime += ch.DMTime;
                            break;
                        case Alignment.TrueNeutral:
                            trueNeutral++;
                            trueNeutralTime += ch.DMTime;
                            break;
                        case Alignment.ChaoticNeutral:
                            chaoticNeutral++;
                            chaoticNeutralTime += ch.DMTime;
                            break;
                        case Alignment.LawfulEvil:
                            lawfulEvil++;
                            lawfulEvilTime += ch.DMTime;
                            break;
                        case Alignment.NeutralEvil:
                            neutralEvil++;
                            neutralEvilTime += ch.DMTime;
                            break;
                        case Alignment.ChaoticEvil:
                            chaoticEvil++;
                            chaoticEvilTime += ch.DMTime;
                            break;
                    }
                    totalTime += ch.DMTime;
                }
            }
            else if (pieType == 3)
            {
                foreach (Character character in savedServer.RecentCharacters)
                {
                    WealthLevel lvl = InfoGather.GetWealthLevel(character);
                    switch (lvl)
                    {
                        case WealthLevel.VeryPoor:
                            veryPoor++;
                            break;
                        case WealthLevel.Poor:
                            poor++;
                            break;
                        case WealthLevel.Target:
                            target++;
                            break;
                        case WealthLevel.Rich:
                            rich++;
                            break;
                        case WealthLevel.VeryRich:
                            veryRich++;
                            break;
                        case WealthLevel.Cutoff:
                            cutoffRich++;
                            break;
                    }
                    if (character.DMTime <= 0.25)
                    {
                        unDMed++;
                    }
                    else
                    {
                        dmed++;
                    }
                }
            }

            Pen blackPen = new Pen(Color.Black, 2.0f);
            Brush blackBrush = new SolidBrush(Color.Black);
            Brush greyBrush = new SolidBrush(Color.Gray);
            Brush whiteBrush = new SolidBrush(Color.White);
            Brush lightBlueBrush = new SolidBrush(Color.LightBlue);
            Brush blueBrush = new SolidBrush(Color.Blue);
            Brush darkBlueBrush = new SolidBrush(Color.DarkBlue);
            Brush lightOrangeBrush = new SolidBrush(Color.Orange);
            Brush orangeBrush = new SolidBrush(Color.DarkOrange);
            Brush darkOrangeBrush = new SolidBrush(Color.OrangeRed);

            Graphics g = e.Graphics;
            g.Clear(this.BackColor);

            if (pieType == 0)
            {
                int locY = alignmentPieLabel.Location.Y + alignmentPieLabel.Height;
                Rectangle rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(lightBlueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(whiteBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(lightOrangeBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(greyBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(orangeBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(darkBlueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blackBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(darkOrangeBrush, rect);

                float oldSweep = 0.0f;
                float currentSweep = (((float)neutralGood) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(whiteBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)chaoticGood) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(lightOrangeBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)chaoticNeutral) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(orangeBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)trueNeutral) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(greyBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)lawfulNeutral) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(blueBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)chaoticEvil) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(darkOrangeBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)neutralEvil) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(blackBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)lawfulEvil) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(darkBlueBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)lawfulGood) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(lightBlueBrush, alignmentPie, oldSweep, currentSweep);

                locY = dmTimePieLabel.Location.Y + dmTimePieLabel.Height;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(lightBlueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(whiteBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(lightOrangeBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(greyBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(orangeBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(darkBlueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blackBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(darkOrangeBrush, rect);

                oldSweep = 0.0f;
                currentSweep = (neutralGoodTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(whiteBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (chaoticGoodTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(lightOrangeBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (chaoticNeutralTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(orangeBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (trueNeutralTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(greyBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (lawfulNeutralTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(blueBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (chaoticEvilTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(darkOrangeBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (neutralEvilTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(blackBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (lawfulEvilTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(darkBlueBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (lawfulGoodTime * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(lightBlueBrush, dmTimePie, oldSweep, currentSweep);
            }
            else if (pieType == 1)
            {
                int locY = alignmentPieLabel.Location.Y + alignmentPieLabel.Height;
                Rectangle rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(whiteBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(greyBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blackBrush, rect);

                float oldSweep = 0.0f;
                float currentSweep = (((float)neutralGood + (float)chaoticGood + (float)lawfulGood) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(whiteBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)trueNeutral + (float)chaoticNeutral + (float)lawfulNeutral) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(greyBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)neutralEvil + (float)chaoticEvil + (float)lawfulEvil) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(blackBrush, alignmentPie, oldSweep, currentSweep);

                locY = dmTimePieLabel.Location.Y + dmTimePieLabel.Height;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(whiteBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(greyBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blackBrush, rect);

                oldSweep = 0.0f;
                currentSweep = ((neutralGoodTime + chaoticGoodTime + lawfulGoodTime) * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(whiteBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = ((trueNeutralTime + chaoticNeutralTime + lawfulNeutralTime) * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(greyBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = ((neutralEvilTime + chaoticEvilTime + lawfulEvilTime) * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(blackBrush, dmTimePie, oldSweep, currentSweep);
            }
            else if (pieType == 2)
            {
                int locY = alignmentPieLabel.Location.Y + alignmentPieLabel.Height;
                Rectangle rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(greyBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(orangeBrush, rect);

                float oldSweep = 0.0f;
                float currentSweep = (((float)lawfulEvil + (float)lawfulNeutral + (float)lawfulGood) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(blueBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)trueNeutral + (float)neutralGood + (float)neutralEvil) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(greyBrush, alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)chaoticGood + (float)chaoticNeutral + (float)chaoticEvil) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(orangeBrush, alignmentPie, oldSweep, currentSweep);

                locY = dmTimePieLabel.Location.Y + dmTimePieLabel.Height;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(blueBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(greyBrush, rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(orangeBrush, rect);

                oldSweep = 0.0f;
                currentSweep = ((lawfulEvilTime + lawfulNeutralTime + lawfulGoodTime) * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(blueBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = ((trueNeutralTime + neutralEvilTime + neutralGoodTime) * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(greyBrush, dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = ((chaoticGoodTime + chaoticEvilTime + chaoticNeutralTime) * 360) / totalTime;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(orangeBrush, dmTimePie, oldSweep, currentSweep);
            }
            else if (pieType == 3)
            {
                int locY = alignmentPieLabel.Location.Y + alignmentPieLabel.Height;
                Rectangle rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Purple), rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Blue), rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Green), rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Yellow), rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Orange), rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Red), rect);

                float oldSweep = 0.0f;
                float currentSweep = (((float)veryPoor) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Purple), alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)poor) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Blue), alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)target) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Green), alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)rich) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Yellow), alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)veryRich) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Orange), alignmentPie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)cutoffRich) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, alignmentPie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Red), alignmentPie, oldSweep, currentSweep);


                locY = dmTimePieLabel.Location.Y + dmTimePieLabel.Height;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Green), rect);

                locY += alignmentPieLabel.Height * 2;
                rect = new Rectangle(alignmentPie.Location.X + alignmentPie.Width + 30, locY, alignmentPieLabel.Height, alignmentPieLabel.Height);
                g.DrawRectangle(blackPen, rect);
                g.FillRectangle(new SolidBrush(Color.Red), rect);

                oldSweep = 0.0f;
                currentSweep = (((float)dmed) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Green), dmTimePie, oldSweep, currentSweep);
                oldSweep += currentSweep;
                currentSweep = (((float)unDMed) * 360) / savedServer.RecentCharacters.Count;
                g.DrawPie(blackPen, dmTimePie, oldSweep, currentSweep);
                g.FillPie(new SolidBrush(Color.Red), dmTimePie, oldSweep, currentSweep);
            }
        }