Example #1
0
 public CombatStats(Character character, Stats stats, CalculationOptionsEnhance calcOpts, BossOptions bossOpts)
 {
     _stats          = stats;
     _character      = character;
     _calcOpts       = calcOpts;
     _bossOpts       = bossOpts;
     _talents        = _character.ShamanTalents;
     fightLength     = _bossOpts.BerserkTimer;
     levelDifference = _bossOpts.Level - _character.Level;
     if (levelDifference > 3)
     {
         levelDifference = 3;
     }
     else if (levelDifference < 0)
     {
         levelDifference = 0;
     }
     whiteCritDepression  = StatConversion.NPC_LEVEL_CRIT_MOD[levelDifference]; // 0.03f + 0.006f * levelDifference;
     yellowCritDepression = StatConversion.NPC_LEVEL_CRIT_MOD[levelDifference]; // 0.006f * levelDifference;
     UpdateCalcs(true);
     SetManaRegen();
     _rotation = new Priorities(this, _calcOpts, _bossOpts, _character, _stats, _talents);
     _rotation.CalculateAbilities();
     UpdateCalcs(false); // second pass to revise calcs based on new ability cooldowns
 }
Example #2
0
 public CombatStats(Character character, Stats stats, CalculationOptionsEnhance calcOpts)
 {
     _stats          = stats;
     _character      = character;
     _calcOpts       = calcOpts;
     _talents        = _character.ShamanTalents;
     fightLength     = _calcOpts.FightLength * 60f;
     levelDifference = _calcOpts.TargetLevel - _character.Level;
     if (levelDifference > 3)
     {
         levelDifference = 3;
     }
     if (levelDifference < 0)
     {
         levelDifference = 0;
     }
     whiteCritDepression  = 0.03f + 0.006f * levelDifference;
     yellowCritDepression = 0.006f * levelDifference;
     SetManaRegen();
     UpdateCalcs(true);
     _rotation = new Priorities(this, _calcOpts, _character, _stats, _talents);
     _rotation.CalculateAbilities();
     UpdateCalcs(false); // second pass to revise calcs based on new ability cooldowns
 }