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[] {}); }
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[] {}; }
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 }); }