public Aggro dangerest(List <Aggro> targets) //Поиск самого опасного врага в списке { Aggro Target = targets.First(); foreach (Aggro target in targets) { if (target.TakedDamage > Target.TakedDamage) { Target = target; } } return(Target); }
public void Fight() //Нанесение урона врагу в радиусе атаки { if (targets.Count > 0) //Если есть цели { Aggro Target = dangerest(targets); MoveTo(Target.Agressor.x, Target.Agressor.y); if (Math.Abs(Target.Agressor.x - Man.x) + Math.Abs(Target.Agressor.y - Man.y) == 1) { if (Target.Agressor.CurHealth > 0 && Man.CurHealth > 0) { Program.CurrentMap.GetHit(Man, Man.GetDamage(), Target.Agressor.x, Target.Agressor.y); //переделать в Man.Hit } else { targets.Remove(Target); } } } }