var interval = 1000; var autoBuy = true; var autoBuyTxt = "on"; document.addEventListener('keydown', function(event) { if(event.keyCode == 65) { autoBuy = !autoBuy; autoBuyTxt = autoBuy ? "on" : "off"; } }); function OptimalItem() { var cpc = Number.MAX_VALUE; var CurrentCps = Game.cookiesPs; var sel; var name; var price; var cpsItem; for(i = Game.UpgradesInStore.length-1; i >= 0; i--) { var cps1 = 0; var me = Game.UpgradesInStore[i]; var x = Game.UpgradesInStore[i].id; if (x != 64 && x != 74 && x != 84 && x != 85) { Game.UpgradesById[x].toggle(); Game.CalculateGains(); for(j = Game.ObjectsById.length-1; j >= 0; j--){ cps1 += Game.ObjectsById[j].cps()*Game.ObjectsById[j].amount; } var cps2 = cps1 * Game.globalCpsMult; Game.UpgradesById[x].toggle(); Game.CalculateGains(); var myCps = cps2 - CurrentCps; var cpsUpgrade = me.basePrice *(Game.cookiesPs + myCps) / myCps; if (cpsUpgrade < cpc && myCps >= 0.1) { cpc = cpsUpgrade; sel = me; cpsItem = myCps; name = me.name; price = Math.round(me.basePrice); } } } for(i = Game.ObjectsById.length-1; i >= 0; i--){ var cps1=0; var me = Game.ObjectsById[i]; me.amount++; Game.CalculateGains(); for(j = Game.ObjectsById.length-1; j >= 0; j--){ cps1 += Game.ObjectsById[j].cps()*Game.ObjectsById[j].amount;} var cps2 = cps1 * Game.globalCpsMult; me.amount--; Game.CalculateGains(); var myCps = cps2 - CurrentCps; var cpsBuilding = me.price *(Game.cookiesPs + myCps) / myCps; if (cpsBuilding < cpc && myCps >= 0.1) { cpc = cpsBuilding; sel = me; cpsItem = myCps; name = me.name; price = Math.round(me.price); } } var time = (price - Game.cookies) / Game.cookiesPs; time = time < 0 ? 0 : Beautify(time); var numb = (Math.abs(Game.computedMouseCps / Game.cookiesPs)); numb = numb.toFixed(3); Game.Ticker = "Buying " + name + " for " + Beautify(price) + " at " + Beautify(Math.round(price / (cpsItem*Game.globalCpsMult))) + " cookies per CPS!" + "
This will take " + time + " seconds without manually clicking." + "
Each click would save you " + numb + " seconds." + "
Click A to toggle auto-buy. Auto-buy is currently " + autoBuyTxt; Game.TickerAge = interval; return sel; } var cookieBot = setInterval(function () { if(autoBuy){OptimalItem().buy()} else{OptimalItem()}}, interval );