public void AlignChances() { if (PosibleBonuses.Count == 0) { return; } int num1 = 1000000000 / PosibleBonuses.Sum(pb => pb.Chance); foreach (ItemStatBonus posibleBonuse in PosibleBonuses) { posibleBonuse.Chance *= num1; } int num2 = PosibleBonuses.Sum(pb => pb.Chance); if (num2 != 1000000000) { int num3 = 1000000000 - num2; ItemStatBonus itemStatBonus = PosibleBonuses[0]; foreach (ItemStatBonus posibleBonuse in PosibleBonuses) { if (itemStatBonus.Chance < posibleBonuse.Chance) { itemStatBonus = posibleBonuse; } } itemStatBonus.Chance += num3; } if (PosibleBonuses.Sum(pb => pb.Chance) == 1000000000) { return; } LogUtil.ErrorException("FAILED TO ALIGN CHANCES!!!!!!!!!!!!!!!!!!!"); }
public void AlignChances() { if (this.PosibleBonuses.Count == 0) { return; } int num1 = 1000000000 / this.PosibleBonuses.Sum <ItemStatBonus>((Func <ItemStatBonus, int>)(pb => pb.Chance)); foreach (ItemStatBonus posibleBonuse in this.PosibleBonuses) { posibleBonuse.Chance *= num1; } int num2 = this.PosibleBonuses.Sum <ItemStatBonus>((Func <ItemStatBonus, int>)(pb => pb.Chance)); if (num2 != 1000000000) { int num3 = 1000000000 - num2; ItemStatBonus itemStatBonus = this.PosibleBonuses[0]; foreach (ItemStatBonus posibleBonuse in this.PosibleBonuses) { if (itemStatBonus.Chance < posibleBonuse.Chance) { itemStatBonus = posibleBonuse; } } itemStatBonus.Chance += num3; } if (this.PosibleBonuses.Sum <ItemStatBonus>((Func <ItemStatBonus, int>)(pb => pb.Chance)) == 1000000000) { return; } LogUtil.ErrorException("FAILED TO ALIGN CHANCES!!!!!!!!!!!!!!!!!!!", new object[0]); }