public PetSkillInstance(PetSkillPriorityRotation priorityRotation, PetAttacks skillType, PetSkill skillData) { this.priorityRotation = priorityRotation; this.skillType = skillType; this.skillData = skillData; }
private void CalculateTimings() { #region Focus Regen float focusRegenBasePer4 = 20f; float focusRegenBestialDiscipline = focusRegenBasePer4 * 0.5f * Talents.BestialDiscipline; float critHitsPer4 = 0f; /*calculatedStats.shotsPerSecondCritting * */ //calculatedStats.priorityRotation.critsCompositeSum * 4f; float goForTheThroatPerCrit = 25 * Talents.GoForTheThroat; float focusRegenGoForTheThroat = critHitsPer4 * goForTheThroatPerCrit; float focusRegenPerSecond = (focusRegenBasePer4 + focusRegenBestialDiscipline + focusRegenGoForTheThroat) / 4f; float owlsFocusEffect = 0f; if (PetTalents.OwlsFocus > 0) { owlsFocusEffect = 1f / (1f / (PetTalents.OwlsFocus * 0.15f) + 1f); } #endregion if (priorityRotation == null) { priorityRotation = new PetSkillPriorityRotation(character, CalcOpts); priorityRotation.AddSkill(CalcOpts.PetPriority1); priorityRotation.AddSkill(CalcOpts.PetPriority2); priorityRotation.AddSkill(CalcOpts.PetPriority3); priorityRotation.AddSkill(CalcOpts.PetPriority4); priorityRotation.AddSkill(CalcOpts.PetPriority5); priorityRotation.AddSkill(CalcOpts.PetPriority6); priorityRotation.AddSkill(CalcOpts.PetPriority7); } priorityRotation.owlsFocus = owlsFocusEffect; priorityRotation.fpsGained = focusRegenPerSecond; priorityRotation.calculateTimings(); }