/// <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); }
/// <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)); }
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); }
protected abstract GetRivalResult TryFind(RivalSourceSettings settings);
/// <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)); }
/// <summary> /// Tries the find. /// </summary> /// <param name="settings">The settings.</param> protected override GetRivalResult TryFind(RivalSourceSettings settings) { return(Controller.SearchRandomRival(mode)); }