Пример #1
0
        public override ComparisonCalculationBase[] GetCustomChartData(Character character, string chartName)
        {
            if (chartName == "Mana Pool Breakdown")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null)
                {
                    calc = new CharacterCalculationsHealadin();
                }

                ComparisonCalculationHealadin Base          = new ComparisonCalculationHealadin("Base");
                ComparisonCalculationHealadin Mp5           = new ComparisonCalculationHealadin("Mp5");
                ComparisonCalculationHealadin Replenishment = new ComparisonCalculationHealadin("Replenishment");
                ComparisonCalculationHealadin ArcaneTorrent = new ComparisonCalculationHealadin("Arcane Torrent");
                ComparisonCalculationHealadin DivinePlea    = new ComparisonCalculationHealadin("Divine Plea");
                ComparisonCalculationHealadin LoH           = new ComparisonCalculationHealadin("Lay on Hands");
                ComparisonCalculationHealadin Other         = new ComparisonCalculationHealadin("Potion & Other");

                Base.OverallPoints          = Base.ThroughputPoints = calc.ManaBase;
                Mp5.OverallPoints           = Mp5.ThroughputPoints = calc.ManaMp5;
                LoH.OverallPoints           = LoH.ThroughputPoints = calc.ManaLayOnHands;
                Replenishment.OverallPoints = Replenishment.ThroughputPoints = calc.ManaReplenishment;
                ArcaneTorrent.OverallPoints = ArcaneTorrent.ThroughputPoints = calc.ManaArcaneTorrent;
                DivinePlea.OverallPoints    = DivinePlea.ThroughputPoints = calc.ManaDivinePlea;
                Other.OverallPoints         = Other.ThroughputPoints = calc.ManaOther;

                return(new ComparisonCalculationBase[] { Base, Mp5, Replenishment, LoH, ArcaneTorrent, DivinePlea, Other });
            }
            else if (chartName == "Mana Usage Breakdown")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null)
                {
                    calc = new CharacterCalculationsHealadin();
                }

                ComparisonCalculationHealadin FoL  = new ComparisonCalculationHealadin("Flash of Light");
                ComparisonCalculationHealadin HL   = new ComparisonCalculationHealadin("Holy Light");
                ComparisonCalculationHealadin HS   = new ComparisonCalculationHealadin("Holy Shock");
                ComparisonCalculationHealadin JotP = new ComparisonCalculationHealadin("Judgements and Seals");
                ComparisonCalculationHealadin BoL  = new ComparisonCalculationHealadin("Beacon of Light");
                ComparisonCalculationHealadin SS   = new ComparisonCalculationHealadin("Sacred Shield");

                FoL.OverallPoints  = FoL.ThroughputPoints = calc.UsageFoL;
                HL.OverallPoints   = HL.ThroughputPoints = calc.UsageHL;
                HS.OverallPoints   = HS.ThroughputPoints = calc.UsageHS;
                JotP.OverallPoints = JotP.ThroughputPoints = calc.UsageJotP;
                BoL.OverallPoints  = BoL.ThroughputPoints = calc.UsageBoL;
                SS.OverallPoints   = SS.ThroughputPoints = calc.UsageSS;

                return(new ComparisonCalculationBase[] { FoL, HL, HS, JotP, BoL, SS });
            }
            else if (chartName == "Healing Breakdown")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null)
                {
                    calc = new CharacterCalculationsHealadin();
                }

                ComparisonCalculationHealadin FoL = new ComparisonCalculationHealadin("Flash of Light");
                ComparisonCalculationHealadin HL  = new ComparisonCalculationHealadin("Holy Light");
                ComparisonCalculationHealadin HS  = new ComparisonCalculationHealadin("Holy Shock");
                ComparisonCalculationHealadin GHL = new ComparisonCalculationHealadin("Glyph of Holy Light");
                ComparisonCalculationHealadin BoL = new ComparisonCalculationHealadin("Beacon of Light");
                ComparisonCalculationHealadin SS  = new ComparisonCalculationHealadin("Sacred Shield");

                FoL.OverallPoints = FoL.ThroughputPoints = calc.HealedFoL / calc.FightLength;
                HL.OverallPoints  = HL.ThroughputPoints = calc.HealedHL / calc.FightLength;
                HS.OverallPoints  = HS.ThroughputPoints = calc.HealedHS / calc.FightLength;
                GHL.OverallPoints = GHL.ThroughputPoints = calc.HealedGHL / calc.FightLength;
                BoL.OverallPoints = BoL.ThroughputPoints = calc.HealedBoL / calc.FightLength;
                SS.OverallPoints  = SS.ThroughputPoints = calc.HealedSS / calc.FightLength;

                return(new ComparisonCalculationBase[] { FoL, HL, HS, GHL, BoL, SS });
            }
            else if (chartName == "Rotation Breakdown")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null)
                {
                    calc = new CharacterCalculationsHealadin();
                }

                ComparisonCalculationHealadin FoL  = new ComparisonCalculationHealadin("Flash of Light");
                ComparisonCalculationHealadin HL   = new ComparisonCalculationHealadin("Holy Light");
                ComparisonCalculationHealadin HS   = new ComparisonCalculationHealadin("Holy Shock");
                ComparisonCalculationHealadin JotP = new ComparisonCalculationHealadin("Judgements and Seals");
                ComparisonCalculationHealadin BoL  = new ComparisonCalculationHealadin("Beacon of Light");
                ComparisonCalculationHealadin SS   = new ComparisonCalculationHealadin("Sacred Shield");

                FoL.OverallPoints  = FoL.ThroughputPoints = calc.RotationFoL;
                HL.OverallPoints   = HL.ThroughputPoints = calc.RotationHL;
                HS.OverallPoints   = HS.ThroughputPoints = calc.RotationHS;
                JotP.OverallPoints = JotP.ThroughputPoints = calc.RotationJotP;
                BoL.OverallPoints  = BoL.ThroughputPoints = calc.RotationBoL;
                SS.OverallPoints   = SS.ThroughputPoints = calc.RotationSS;

                return(new ComparisonCalculationBase[] { FoL, HL, HS, JotP, BoL, SS });
            }
            return(new ComparisonCalculationBase[] {});
        }
Пример #2
0
        public override ComparisonCalculationBase[] GetCustomChartData(Character character, string chartName)

        {
            if (chartName == "Mana Pool Breakdown (needs updating)")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null) calc = new CharacterCalculationsHealadin();

                ComparisonCalculationHealadin Base = new ComparisonCalculationHealadin("Base");
                ComparisonCalculationHealadin Mp5 = new ComparisonCalculationHealadin("Mp5");
                ComparisonCalculationHealadin Replenishment = new ComparisonCalculationHealadin("Replenishment");
                ComparisonCalculationHealadin ArcaneTorrent = new ComparisonCalculationHealadin("Arcane Torrent");
                ComparisonCalculationHealadin DivinePlea = new ComparisonCalculationHealadin("Divine Plea");
                ComparisonCalculationHealadin LoH = new ComparisonCalculationHealadin("Lay on Hands");
                ComparisonCalculationHealadin Other = new ComparisonCalculationHealadin("Potion & Other");

                Base.OverallPoints = Base.ThroughputPoints = calc.ManaBase;
                Mp5.OverallPoints = Mp5.ThroughputPoints = calc.ManaMp5;
                LoH.OverallPoints = LoH.ThroughputPoints = calc.ManaLayOnHands;
                Replenishment.OverallPoints = Replenishment.ThroughputPoints = calc.ManaReplenishment;
                ArcaneTorrent.OverallPoints = ArcaneTorrent.ThroughputPoints = calc.ManaArcaneTorrent;
                DivinePlea.OverallPoints = DivinePlea.ThroughputPoints = calc.ManaDivinePlea;
                Other.OverallPoints = Other.ThroughputPoints = calc.ManaOther;

                return new ComparisonCalculationBase[] { Base, Mp5, Replenishment, LoH, ArcaneTorrent, DivinePlea, Other };
            }
            else if (chartName == "Mana Usage Breakdown (needs updating)")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null) calc = new CharacterCalculationsHealadin();

                ComparisonCalculationHealadin FoL = new ComparisonCalculationHealadin("Flash of Light");
                ComparisonCalculationHealadin HL = new ComparisonCalculationHealadin("Holy Light");
                ComparisonCalculationHealadin HS = new ComparisonCalculationHealadin("Holy Shock");
                ComparisonCalculationHealadin JotP = new ComparisonCalculationHealadin("Judgements and Seals");
                ComparisonCalculationHealadin BoL = new ComparisonCalculationHealadin("Beacon of Light");

                FoL.OverallPoints = FoL.ThroughputPoints = calc.UsageFoL;
                HL.OverallPoints = HL.ThroughputPoints = calc.UsageHL;
                HS.OverallPoints = HS.ThroughputPoints = calc.UsageHS;
                JotP.OverallPoints = JotP.ThroughputPoints = calc.UsageJudge;
                BoL.OverallPoints = BoL.ThroughputPoints = calc.UsageBoL;

                return new ComparisonCalculationBase[] { FoL, HL, HS, JotP, BoL };
            }
            else if (chartName == "Healing Breakdown (needs updating)")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null) calc = new CharacterCalculationsHealadin();

                ComparisonCalculationHealadin FoL = new ComparisonCalculationHealadin("Flash of Light");
                ComparisonCalculationHealadin HL = new ComparisonCalculationHealadin("Holy Light");
                ComparisonCalculationHealadin HS = new ComparisonCalculationHealadin("Holy Shock");
                ComparisonCalculationHealadin GHL = new ComparisonCalculationHealadin("Glyph of Holy Light");
                ComparisonCalculationHealadin BoL = new ComparisonCalculationHealadin("Beacon of Light");

                FoL.OverallPoints = FoL.ThroughputPoints = calc.HealedFoL / calc.FightLength;
                HL.OverallPoints = HL.ThroughputPoints = calc.HealedHL / calc.FightLength;
                HS.OverallPoints = HS.ThroughputPoints = calc.HealedHS / calc.FightLength;
                GHL.OverallPoints = GHL.ThroughputPoints = calc.HealedGHL / calc.FightLength;
                BoL.OverallPoints = BoL.ThroughputPoints = calc.HealedBoL / calc.FightLength;

                return new ComparisonCalculationBase[] { FoL, HL, HS, GHL, BoL };
            }
            else if (chartName == "Rotation Breakdown (needs updating)")
            {
                CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;
                if (calc == null) calc = new CharacterCalculationsHealadin();

                ComparisonCalculationHealadin FoL = new ComparisonCalculationHealadin("Flash of Light");
                ComparisonCalculationHealadin HL = new ComparisonCalculationHealadin("Holy Light");
                ComparisonCalculationHealadin HS = new ComparisonCalculationHealadin("Holy Shock");
                ComparisonCalculationHealadin JotP = new ComparisonCalculationHealadin("Judgements and Seals");
                ComparisonCalculationHealadin BoL = new ComparisonCalculationHealadin("Beacon of Light");

                FoL.OverallPoints = FoL.ThroughputPoints = calc.RotationFoL;
                HL.OverallPoints = HL.ThroughputPoints = calc.RotationHL;
                HS.OverallPoints = HS.ThroughputPoints = calc.RotationHS;
                JotP.OverallPoints = JotP.ThroughputPoints = calc.RotationJudge;
                BoL.OverallPoints = BoL.ThroughputPoints = calc.RotationBoL;

                return new ComparisonCalculationBase[] { FoL, HL, HS, JotP, BoL };
            }
            
            return new ComparisonCalculationBase[] {};
        }
Пример #3
0
        public override ComparisonCalculationBase[] GetCustomChartData(Character character, string chartName)
        {
            CharacterCalculationsHealadin calc = GetCharacterCalculations(character) as CharacterCalculationsHealadin;

            if (calc == null)
            {
                calc = new CharacterCalculationsHealadin();
            }
            ComparisonCalculationHealadin FoL  = new ComparisonCalculationHealadin("Flash of Light");
            ComparisonCalculationHealadin HL11 = new ComparisonCalculationHealadin("Holy Light 11");
            ComparisonCalculationHealadin HL10 = new ComparisonCalculationHealadin("Holy Light 10");
            ComparisonCalculationHealadin HL9  = new ComparisonCalculationHealadin("Holy Light 9");
            ComparisonCalculationHealadin HL8  = new ComparisonCalculationHealadin("Holy Light 8");
            ComparisonCalculationHealadin HL7  = new ComparisonCalculationHealadin("Holy Light 7");
            ComparisonCalculationHealadin HL6  = new ComparisonCalculationHealadin("Holy Light 6");
            ComparisonCalculationHealadin HL5  = new ComparisonCalculationHealadin("Holy Light 5");
            ComparisonCalculationHealadin HL4  = new ComparisonCalculationHealadin("Holy Light 4");

            CalculationOptionsHealadin calcOpts = character.CalculationOptions as CalculationOptionsHealadin;

            if (calcOpts == null)
            {
                calcOpts = new CalculationOptionsHealadin();
            }

            calc[0] = new Spell("Flash of Light", 7, calcOpts.BoL);
            calc[1] = new Spell("Holy Light", 11, calcOpts.BoL);
            calc[2] = new Spell("Holy Light", 10, calcOpts.BoL);
            calc[3] = new Spell("Holy Light", 9, calcOpts.BoL);
            calc[4] = new Spell("Holy Light", 8, calcOpts.BoL);
            calc[5] = new Spell("Holy Light", 7, calcOpts.BoL);
            calc[6] = new Spell("Holy Light", 6, calcOpts.BoL);
            calc[7] = new Spell("Holy Light", 5, calcOpts.BoL);
            calc[8] = new Spell("Holy Light", 4, calcOpts.BoL);

            switch (chartName)
            {
            case "Healing per second":
                FoL.OverallPoints  = FoL.ThroughputPoints = calc[0].Hps;
                HL11.OverallPoints = HL11.ThroughputPoints = calc[1].Hps;
                HL10.OverallPoints = HL10.ThroughputPoints = calc[2].Hps;
                HL9.OverallPoints  = HL9.ThroughputPoints = calc[3].Hps;
                HL8.OverallPoints  = HL8.ThroughputPoints = calc[4].Hps;
                HL7.OverallPoints  = HL7.ThroughputPoints = calc[5].Hps;
                HL6.OverallPoints  = HL6.ThroughputPoints = calc[6].Hps;
                HL5.OverallPoints  = HL5.ThroughputPoints = calc[7].Hps;
                HL4.OverallPoints  = HL4.ThroughputPoints = calc[8].Hps;
                break;

            case "Average heal":
                FoL.OverallPoints  = FoL.ThroughputPoints = calc[0].AverageHeal;
                HL11.OverallPoints = HL11.ThroughputPoints = calc[1].AverageHeal;
                HL10.OverallPoints = HL10.ThroughputPoints = calc[2].AverageHeal;
                HL9.OverallPoints  = HL9.ThroughputPoints = calc[3].AverageHeal;
                HL8.OverallPoints  = HL8.ThroughputPoints = calc[4].AverageHeal;
                HL7.OverallPoints  = HL7.ThroughputPoints = calc[5].AverageHeal;
                HL6.OverallPoints  = HL6.ThroughputPoints = calc[6].AverageHeal;
                HL5.OverallPoints  = HL5.ThroughputPoints = calc[7].AverageHeal;
                HL4.OverallPoints  = HL4.ThroughputPoints = calc[8].AverageHeal;
                break;

            case "Healing per mana":
                FoL.OverallPoints  = FoL.LongevityPoints = calc[0].Hpm;
                HL11.OverallPoints = HL11.LongevityPoints = calc[1].Hpm;
                HL10.OverallPoints = HL10.LongevityPoints = calc[2].Hpm;
                HL9.OverallPoints  = HL9.LongevityPoints = calc[3].Hpm;
                HL8.OverallPoints  = HL8.LongevityPoints = calc[4].Hpm;
                HL7.OverallPoints  = HL7.LongevityPoints = calc[5].Hpm;
                HL6.OverallPoints  = HL6.LongevityPoints = calc[6].Hpm;
                HL5.OverallPoints  = HL5.LongevityPoints = calc[7].Hpm;
                HL4.OverallPoints  = HL4.LongevityPoints = calc[8].Hpm;
                break;

            case "Mana per second":
                FoL.OverallPoints  = FoL.LongevityPoints = calc[0].Mps;
                HL11.OverallPoints = HL11.LongevityPoints = calc[1].Mps;
                HL10.OverallPoints = HL10.LongevityPoints = calc[2].Mps;
                HL9.OverallPoints  = HL9.LongevityPoints = calc[3].Mps;
                HL8.OverallPoints  = HL8.LongevityPoints = calc[4].Mps;
                HL7.OverallPoints  = HL7.LongevityPoints = calc[5].Mps;
                HL6.OverallPoints  = HL6.LongevityPoints = calc[6].Mps;
                HL5.OverallPoints  = HL5.LongevityPoints = calc[7].Mps;
                HL4.OverallPoints  = HL4.LongevityPoints = calc[8].Mps;
                break;
            }

            return(new ComparisonCalculationBase[] { FoL, HL11, HL10, HL9, HL8, HL7, HL6, HL5, HL4 });
        }