From 25fbc3b7678a78df62963c1422b804b9b4d746a4 Mon Sep 17 00:00:00 2001 From: Knut Ahlers Date: Fri, 20 Apr 2018 08:51:57 +0200 Subject: [PATCH] Recover method to get max buy Signed-off-by: Knut Ahlers --- autocookieclicker.user.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/autocookieclicker.user.js b/autocookieclicker.user.js index e661781..9bf3b48 100644 --- a/autocookieclicker.user.js +++ b/autocookieclicker.user.js @@ -1,7 +1,7 @@ // ==UserScript== // @name Automate CookieClicker // @namespace https://luzifer.io/ -// @version 0.17.0 +// @version 0.17.1 // @description Automate everything! // @author Knut Ahlers // @source https://github.com/Luzifer/automate-cookie-clicker @@ -53,7 +53,7 @@ function executeAutoActions() { } // Get the top enabled purchase to be made - let availableProducts = Game.ObjectsById.filter(obj => obj.price < Game.cookies && obj.amount < purchaseSteps); + let availableProducts = Game.ObjectsById.filter(obj => obj.price < Game.cookies && obj.amount < getMaxBuy()); while (availableProducts.length > 0 && Game.buyMode === 1) { // buyMode 1 = buy, -1 = sell let product = availableProducts[availableProducts.length - 1]; @@ -65,7 +65,7 @@ function executeAutoActions() { } product.buy(buyAmount); - availableProducts = Game.ObjectsById.filter(obj => obj.price < Game.cookies && obj.amount < purchaseSteps); + availableProducts = Game.ObjectsById.filter(obj => obj.price < Game.cookies && obj.amount < getMaxBuy()); } manageDragon(); @@ -85,6 +85,12 @@ function controlAutoClicker() { } } +function getMaxBuy() { + let topPurchaseCount = Game.ObjectsById[Game.ObjectsN - 1].amount; + + return Math.max(Math.ceil((topPurchaseCount + 1) / purchaseSteps), 1) * purchaseSteps; +} + function hasActiveClickBuff() { let hasBuff = false; for (let key in Game.buffs) {