From 2f5dc8b1916d5f7e9ecae6a4e1a995e9274e813e Mon Sep 17 00:00:00 2001 From: JustArchi Date: Mon, 14 Nov 2016 13:07:02 +0100 Subject: [PATCH] Fix GamesPlayedWhileIdle for limited accounts --- ArchiSteamFarm/Bot.cs | 7 +++---- ArchiSteamFarm/CardsFarmer.cs | 12 +++++++++--- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/ArchiSteamFarm/Bot.cs b/ArchiSteamFarm/Bot.cs index fe8f34ee9..c5b86dd85 100755 --- a/ArchiSteamFarm/Bot.cs +++ b/ArchiSteamFarm/Bot.cs @@ -89,16 +89,15 @@ namespace ArchiSteamFarm { [JsonProperty] internal bool KeepRunning { get; private set; } + internal bool IsLimitedUser { get; private set; } internal BotConfig BotConfig { get; private set; } internal bool HasMobileAuthenticator => BotDatabase.MobileAuthenticator != null; internal bool IsConnectedAndLoggedOn => SteamClient.IsConnected && (SteamClient.SteamID != null); - internal bool IsFarmingPossible => !IsLimitedUser && IsPlayingPossible; + internal bool IsPlayingPossible => !PlayingBlocked && (LibraryLockedBySteamID == 0); internal ulong SteamID => SteamClient.SteamID; - private bool IsPlayingPossible => !PlayingBlocked && (LibraryLockedBySteamID == 0); - - private bool FirstTradeSent, IsLimitedUser, PlayingBlocked, SkipFirstShutdown; + private bool FirstTradeSent, PlayingBlocked, SkipFirstShutdown; private string AuthCode, TwoFactorCode; private ulong LibraryLockedBySteamID; private EResult LastLogOnResult; diff --git a/ArchiSteamFarm/CardsFarmer.cs b/ArchiSteamFarm/CardsFarmer.cs index 3d41d2c2d..058a69612 100755 --- a/ArchiSteamFarm/CardsFarmer.cs +++ b/ArchiSteamFarm/CardsFarmer.cs @@ -143,14 +143,19 @@ namespace ArchiSteamFarm { } internal async Task StartFarming() { - if (NowFarming || Paused || !Bot.IsFarmingPossible) { + if (NowFarming || Paused || !Bot.IsPlayingPossible) { + return; + } + + if (Bot.IsLimitedUser) { + await Bot.OnFarmingFinished(false).ConfigureAwait(false); return; } await FarmingSemaphore.WaitAsync().ConfigureAwait(false); try { - if (NowFarming || Paused || !Bot.IsFarmingPossible) { + if (NowFarming || Paused || !Bot.IsPlayingPossible) { return; } @@ -163,7 +168,7 @@ namespace ArchiSteamFarm { Bot.ArchiLogger.LogGenericInfo("We have a total of " + GamesToFarm.Count + " games (" + GamesToFarm.Sum(game => game.CardsRemaining) + " cards) to farm on this account..."); // This is the last moment for final check if we can farm - if (!Bot.IsFarmingPossible) { + if (!Bot.IsPlayingPossible) { Bot.ArchiLogger.LogGenericInfo("But farming is currently unavailable, we'll try later!"); return; } @@ -242,6 +247,7 @@ namespace ArchiSteamFarm { if (NowFarming) { Bot.ArchiLogger.LogGenericWarning("Timed out!"); + NowFarming = !NowFarming; } Bot.ArchiLogger.LogGenericInfo("Farming stopped!");