var interval = 250; var autoBuy = true; var autoBuyTxt = "on"; var keepForGolden = true; var keepForGoldenTxt = "on"; var name; var price; var cpsItem; var selected=0; var currentCps=Game.cookiesPs; document.addEventListener('keydown', function(event) { if(event.keyCode == 65) { autoBuy = !autoBuy; autoBuyTxt = autoBuy ? "on" : "off"; } else if(event.keyCode == 71) { keepForGolden = !keepForGolden; keepForGoldenTxt = keepForGolden ? "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; return sel; } function Display() { var mult = 1; if (Game.frenzy>0) mult=Game.frenzyPower; var time; if(!keepForGolden){time = (price - Game.cookies) / Game.cookiesPs;} else if(Game.UpgradesById[86].bought) {time = 84000/mult + (price - Game.cookies) / Game.cookiesPs;} else {time = 12000/mult + (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 + "
Click G to toggle the golden cookie maximisation. Maximisation is currently " + keepForGoldenTxt; Game.TickerAge = interval; } var cookieBot = setInterval(function () { var mult = 1; if (Game.frenzy>0) mult=Game.frenzyPower; if(autoBuy && selected==1 && !keepForGolden && Game.cookies >= price) {OptimalItem().buy(); selected=0;} else if(autoBuy && selected==1 && keepForGolden && Game.UpgradesById[86].bought && Game.cookies >= (price + Game.cookiesPs*84000/mult)) {OptimalItem().buy(); selected=0;} else if(autoBuy && selected==1 && keepForGolden && !Game.UpgradesById[86].bought && Game.cookies >= (price + Game.cookiesPs*12000/mult)) {OptimalItem().buy(); selected=0;} else if(selected==0 || currentCps!=Game.cookiesPs){OptimalItem();} Display();}, interval );