/// <summary> /// 触发格挡概率 /// </summary> /// <param name="tagetGeneral"></param> /// <param name="gedangPercent"></param> /// <returns></returns> public bool TriggerGeDangPercent(CombatGeneral tagetGeneral, out decimal gedangPercent) { decimal tpLvPercent = GetLvPercent(tagetGeneral); gedangPercent = this.GedangNum + TriggerAbilityEffectNum(AbilityType.GeDang, 1); decimal pojiNumPercent = tagetGeneral.PojiNum + tagetGeneral.TriggerAbilityEffectNum(AbilityType.PoJi, 1); gedangPercent = gedangPercent.Subtraction(pojiNumPercent, 0).Subtraction(tpLvPercent, 0); return(RandomHelper.IsHit(gedangPercent)); }
/// <summary> /// 触发爆击概率 /// </summary> /// <param name="tagetGeneral"></param> /// <param name="baojiPercent"></param> /// <returns></returns> public bool TriggerBaojiPercent(CombatGeneral tagetGeneral, out decimal baojiPercent) { decimal tpLvPercent = GetLvPercent(tagetGeneral); baojiPercent = this.BaojiNum + TriggerAbilityEffectNum(AbilityType.BaoJi, 1); decimal renxingPercent = tagetGeneral.RenxingNum + tagetGeneral.TriggerAbilityEffectNum(AbilityType.RenXing, 1); baojiPercent = baojiPercent.Subtraction(renxingPercent, 0).Subtraction(tpLvPercent, 0); return(RandomHelper.IsHit(baojiPercent)); }
/// <summary> /// 触发命中概率 /// </summary> /// <param name="general"></param> /// <param name="tpLvPercent"></param> /// <param name="percent"></param> /// <returns></returns> public bool TriggerHitPercent(CombatGeneral tagetGeneral, out decimal hitPercent) { decimal tpLvPercent = GetLvPercent(tagetGeneral); hitPercent = HitNum + TriggerAbilityEffectNum(AbilityType.MingZhong, 1); decimal shanbiPercent = tagetGeneral.ShanbiNum + tagetGeneral.TriggerAbilityEffectNum(AbilityType.ShanBi, 1); hitPercent = hitPercent.Subtraction(shanbiPercent, 0).Subtraction(tpLvPercent, 0); return(RandomHelper.IsHit(hitPercent)); }