public static float AvoidanceChance(Player player, HitResult avoidanceType) { switch (avoidanceType) { case HitResult.Crit: return(StatConversion.GetDRAvoidanceChance(player.Character, player.Stats, avoidanceType, player.BossOpts.Level) + (player.Talents.BastionOfDefense * 0.03f)); case HitResult.CritBlock: return(Lookup.BonusMasteryBlockPercentage(player) + player.Stats.CriticalBlock); default: return(Math.Max(0.0f, StatConversion.GetDRAvoidanceChance(player.Character, player.Stats, avoidanceType, player.BossOpts.Level))); } }