Пример #1
0
        /// <summary>
        /// Tries the find.
        /// </summary>
        /// <param name="settings">The settings.</param>
        /// <returns></returns>
        protected override GetRivalResult TryFind(RivalSourceSettings settings)
        {
            if (Attempt > Machine.TopKills.Count)
            {
                return(GetRivalResult.System);
            }

            var userName = Machine.TopKills[Attempt - 1];
            var cow      = Machine.Farm.FindCow(userName);

            var result = cow == null?GetRivalToFight(userName) : GetRivalToFight(cow);

            switch (result)
            {
            case GetRivalResult.Holiday:
            case GetRivalResult.ManyFights:
            case GetRivalResult.System:
            case GetRivalResult.ToDelete:
            case GetRivalResult.WasBlocked:
            case GetRivalResult.InWhiteList:
            case GetRivalResult.OK:
                Machine.TopKills.Remove(userName);
                break;
            }
            return(result);
        }
Пример #2
0
 /// <summary>
 /// Determines whether this instance [can kill rival] the specified rival.
 /// </summary>
 /// <param name="rival">The rival.</param>
 /// <param name="settings">The settings.</param>
 /// <returns>
 ///     <c>true</c> if this instance [can kill rival] the specified rival; otherwise, <c>false</c>.
 /// </returns>
 protected bool CanKillRival(Rival rival, RivalSourceSettings settings)
 {
     if (!settings.LevelFilter.CreateFull(Player.Level).IsInRange(rival.Level))
     {
         AppCore.LogFights.Debug(string.Format("Противник {0} негодиться для атаки.", rival.Name),
                                 "Не подходит по уровню", rival);
         return(false);
     }
     return(Player.CanKill(rival) &&
            Controller.CanKillRival(rival));
 }
Пример #3
0
        protected override GetRivalResult TryFind(RivalSourceSettings settings)
        {
            _cow = _farm.GetBestCow();
            if (_cow == null)
            {
                return(GetRivalResult.System);
            }

            var result = GetRivalToFight(_cow);

            _farm.Process(_cow, result);


            return(result);
        }
Пример #4
0
 protected abstract GetRivalResult TryFind(RivalSourceSettings settings);
Пример #5
0
 /// <summary>
 /// Finds the rival.
 /// </summary>
 /// <returns></returns>
 protected override GetRivalResult TryFind(RivalSourceSettings settings)
 {
     return(AppCore.AcountSettings.CoolStatus ?
            Controller.SearchRival(settings.LevelFilter.CreateFull(Player.Level)) :
            Controller.SearchRandomRival(RandomSearchMode.Equal));
 }
Пример #6
0
 /// <summary>
 /// Tries the find.
 /// </summary>
 /// <param name="settings">The settings.</param>
 protected override GetRivalResult TryFind(RivalSourceSettings settings)
 {
     return(Controller.SearchRandomRival(mode));
 }