public static void solve(CharacterCalculationsShadowPriest calculatedStats, CalculationOptionsShadowPriest calcOpts, BossOptions bossOpts) { Stats stats = calculatedStats.BasicStats; Character character = calculatedStats.LocalCharacter; PriestTalents talents = character.PriestTalents; Solver e; Rotation rot; float FightDuration = bossOpts.BerserkTimer; // WITHOUT PROCS e = new Solver(stats, new Stats{}, talents, calcOpts); rot = e.getPriorityRotation(); calculatedStats.DpsPoints = rot.DPS; calculatedStats.SurvivalPoints = stats.Stamina / FightDuration; //TODO: meaningful surv points calculatedStats.CombatStats = stats.Clone(); calculatedStats.DevouringPlauge = rot.DP; calculatedStats.MindBlast = rot.MB; calculatedStats.MindFlay = rot.MF; calculatedStats.MindSpike = rot.Spike; //calculatedStats.PowerWordShield = rot.shield; calculatedStats.ShadowFiend = rot.Fiend; calculatedStats.ShadowWordDeath = rot.SWD; calculatedStats.ShadowWordPain = rot.SWP; calculatedStats.VampiricTouch = rot.VT; calculatedStats.Rotation = rot.ToString(); calculatedStats.RotationDetails = rot.ToDetailedString(); }