예제 #1
0
        public Aggro dangerest(List <Aggro> targets) //Поиск самого опасного врага в списке
        {
            Aggro Target = targets.First();

            foreach (Aggro target in targets)
            {
                if (target.TakedDamage > Target.TakedDamage)
                {
                    Target = target;
                }
            }
            return(Target);
        }
예제 #2
0
        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);
                    }
                }
            }
        }