var interval = 250; var autoBuy = true; var autoBuyTxt = "on"; var name; var price; var cpsItem; var selected=0; var currentCps=Game.cookiesPs; var selectedItem document.addEventListener('keydown', function(event) { if(event.keyCode == 65) { autoBuy = !autoBuy; autoBuyTxt = autoBuy ? "on" : "off"; } }); function OptimalItem() { var cpc = Number.MAX_VALUE; var sel; 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); } } currentCps = Game.cookiesPs; selected=1; selectedItem=sel; } function Display() { 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; } var cookieBot = setInterval(function () { if(autoBuy && Game.cookies >= price && selected==1){selectedItem.buy(); Display; selected=0;} else if(selected==0 || currentCps!=Game.cookiesPs){OptimalItem(); Display();} else if(selected==1){Display();}}, interval );