public void SetDPS(CharacterCalculationsRetribution calc) { calc.WhiteSkill = White; calc.SealSkill = Seal; calc.SealDotSkill = SealDot; calc.CommandSkill = SoC; calc.JudgementSkill = Judge; calc.TemplarsVerdictSkill = TV; calc.CrusaderStrikeSkill = CS; calc.ConsecrationSkill = Cons; calc.ExorcismSkill = Exo; calc.HolyWrathSkill = HW; calc.HammerOfWrathSkill = HoW; calc.GoakSkill = GoaK; calc.DPSPoints = White.GetDPS() + Seal.GetDPS() + SealDot.GetDPS() + SoC.GetDPS() + Judge.GetDPS() + CS.GetDPS() + TV.GetDPS() + Exo.GetDPS() + HW.GetDPS() + Cons.GetDPS() + HoW.GetDPS() + GoaK.GetDPS() + calc.OtherDPS; }
public float DPS() { return (White.WhiteDPS() + SealDPS(Seal, SealDot) + GetAbilityDps(Judge) + GetAbilityDps(DS) + GetAbilityDps(CS) + GetAbilityDps(Cons) + GetAbilityDps(Exo) + GetAbilityDps(HoW) + HandOfReckoningDPS(HoR)); }
protected Rotation(CombatStats combats) { if (combats == null) { throw new ArgumentNullException("combats"); } Combats = combats; CS = combats.Talents.CrusaderStrike == 0 ? (Skill) new NullCrusaderStrike(combats) : (Skill) new CrusaderStrike(combats); DS = combats.Talents.DivineStorm == 0 ? (Skill) new NullCrusaderStrike(combats) : (Skill) new DivineStorm(combats); Exo = new Exorcism(combats); HoW = new HammerOfWrath(combats); Cons = new Consecration(combats); White = new White(combats); HoR = new HandOfReckoning(combats); switch (combats.CalcOpts.Seal) { case SealOf.Righteousness: Seal = new SealOfRighteousness(combats); SealDot = new NullSealDoT(combats); Judge = new JudgementOfRighteousness(combats); break; case SealOf.Command: if (combats.Talents.SealOfCommand == 0) { goto default; } Seal = new SealOfCommand(combats); SealDot = new NullSealDoT(combats); Judge = new JudgementOfCommand(combats); break; case SealOf.Vengeance: float stack = AverageSoVStackSize(); Seal = new SealOfVengeance(combats, stack); SealDot = new SealOfVengeanceDoT(combats, stack); Judge = new JudgementOfVengeance(combats, stack); break; default: Seal = new NullSeal(combats); SealDot = new NullSealDoT(combats); Judge = new NullJudgement(combats); break; } }
public float GetMeleeCritsPerSec() { // Melee crit procs can be triggered by: // - Crusader Strike crits // - Divine Storm crits on each target // - Weapon swing crits // - Tiny Abomination in a Jar releasing attack crits // (2 multiplier needs to be moved to another place) // - Judgement crits return (GetAbilityCritsPerSecond(CS) + GetAbilityCritsPerSecond(DS) + White.ChanceToCrit() / Combats.AttackSpeed + Combats.Stats.MoteOfAnger * 2 * White.ChanceToCrit() + GetAbilityCritsPerSecond(Judge)); }
public float GetPhysicalAttacksPerSec() { // Physical hit procs can be triggered by: // - Crusader Strike hits // - Divine Storm hits // - Weapon swing hits // - Tiny Abomination in a Jar releasing attack hits // (2 multiplier needs to be moved to another place) // - Judgement hits // - Hammer of Wrath hits return (GetAbilityHitsPerSecond(CS) + GetAbilityHitsPerSecond(DS) + White.ChanceToLand() / Combats.AttackSpeed + Combats.Stats.MoteOfAnger * 2 * White.ChanceToLand() + GetAbilityHitsPerSecond(Judge) + GetAbilityHitsPerSecond(HoW)); }
public void SetDPS(CharacterCalculationsRetribution calc) { SetCharacterCalculations(calc); calc.AverageSoVStack = AverageSoVStackSize(); calc.SoVOvertake = SoVOvertakeTime(); calc.WhiteDPS = White.WhiteDPS(); calc.SealDPS = SealDPS(Seal, SealDot); calc.JudgementDPS = GetAbilityDps(Judge); calc.DivineStormDPS = GetAbilityDps(DS); calc.CrusaderStrikeDPS = GetAbilityDps(CS); calc.ConsecrationDPS = GetAbilityDps(Cons); calc.ExorcismDPS = GetAbilityDps(Exo); calc.HammerOfWrathDPS = GetAbilityDps(HoW); calc.HandOfReckoningDPS = HandOfReckoningDPS(HoR); calc.WhiteSkill = White; calc.SealSkill = Seal; calc.JudgementSkill = Judge; calc.DivineStormSkill = DS; calc.CrusaderStrikeSkill = CS; calc.ConsecrationSkill = Cons; calc.ExorcismSkill = Exo; calc.HammerOfWrathSkill = HoW; calc.HandOfReckoningSkill = HoR; calc.DPSPoints = calc.WhiteDPS + calc.SealDPS + calc.JudgementDPS + calc.CrusaderStrikeDPS + calc.DivineStormDPS + calc.ExorcismDPS + calc.HandOfReckoningDPS + calc.ConsecrationDPS + calc.HammerOfWrathDPS + calc.OtherDPS; }