/// <summary> /// 判定伤害技能影响 /// </summary> /// <param name="src">攻击者</param> /// <param name="dest">受击者</param> /// <param name="isActive">是否主动</param> /// <param name="damage">伤害值</param> /// <param name="nodef">无视防御</param> public void CheckDamage(LiveMonster src, LiveMonster dest, bool isActive, HitDamage damage, ref bool nodef) { foreach (var skill in Skills.ToArray()) { var key = MemBaseSkill.GetBurstKey(src.Id, dest.Id); if (skill.IsBurst(key)) { skill.CheckDamage(src, dest, isActive, damage, ref nodef, key); } } }
/// <summary> /// 判定伤害后技能影响 /// </summary> /// <param name="src">攻击者</param> /// <param name="dest">受击者</param> /// <param name="damage">伤害值</param> public void CheckHitEffectAfter(LiveMonster src, LiveMonster dest, HitDamage damage) { foreach (var skill in Skills.ToArray()) { var key = MemBaseSkill.GetBurstKey(src.Id, dest.Id); if (skill.IsBurst(key)) { skill.CheckHitEffectAfter(src, dest, damage, key); } } }
/// <summary> /// 判定hit技能影响 /// </summary> /// <param name="src">攻击者</param> /// <param name="dest">受击者</param> /// <param name="rhit">命中</param> public void CheckHit(LiveMonster src, LiveMonster dest, ref int rhit) { foreach (var skill in Skills.ToArray()) { var key = MemBaseSkill.GetBurstKey(src.Id, dest.Id); if (skill.IsBurst(key)) { skill.CheckHit(src, dest, ref rhit, key); } } }