public RaceBonus(double attackpowerFlat = 0, double spelldamageFlat = 0, double percentOfManaPer5 = 0, double energyPer5 = 0, double runicPowerPer5 = 0, int gunCritPercent = 0, int bowCritPercent = 0, int throwingCritPercent = 0, int maceExpertise = 0, int sword1HExpertise = 0, int sword2HExpertise = 0, int fistExpertise = 0, int axeExpertise = 0, int daggerExpertise = 0, int intelectPercent = 0, int spiritPercent = 0, HasteBuff hastePercent = default(HasteBuff), int hitFlatPercent = 0, int petDamagePercent = 0, int damagePercentAgainstBeast = 0) { this.attackpowerFlat = attackpowerFlat; this.spelldamageFlat = spelldamageFlat; this.percentOfManaPer5 = percentOfManaPer5; this.energyPer5 = energyPer5; this.runicPowerPer5 = runicPowerPer5; this.gunCritPercent = gunCritPercent; this.bowCritPercent = bowCritPercent; this.throwingCritPercent = throwingCritPercent; this.maceExpertise = maceExpertise; this.sword1HExpertise = sword1HExpertise; this.sword2HExpertise = sword2HExpertise; this.fistExpertise = fistExpertise; this.axeExpertise = axeExpertise; this.daggerExpertise = daggerExpertise; this.intelectPercent = intelectPercent; this.spiritPercent = spiritPercent; this.hastePercent = hastePercent; this.hitFlatPercent = hitFlatPercent; this.petDamagePercent = petDamagePercent; this.damagePercentAgainstBeast = damagePercentAgainstBeast; }
public double getEffectiveHastePercentageForSpell(List <HasteBuff> hasteBuffList, HasteBuff current, Spell spell) { double maxPercentage = hasteToGCD(spell); double totalPercentage = 0; foreach (HasteBuff hastebuff in hasteBuffList) { totalPercentage += hastebuff.percentage; } if (maxPercentage > totalPercentage) { return(current.percentage); } else { return((maxPercentage / totalPercentage) * current.percentage); } }
public double getEffectiveHastePercentageForSpell(List<HasteBuff> hasteBuffList, HasteBuff current, Spell spell) { double maxPercentage = hasteToGCD(spell); double totalPercentage = 0; foreach (HasteBuff hastebuff in hasteBuffList) { totalPercentage += hastebuff.percentage; } if (maxPercentage > totalPercentage) return current.percentage; else return (maxPercentage / totalPercentage) * current.percentage; }